FCKeditor 2.6.6
authormark <mark>
Tue, 16 Mar 2010 07:49:38 +0000 (07:49 +0000)
committermark <mark>
Tue, 16 Mar 2010 07:49:38 +0000 (07:49 +0000)
193 files changed:
httemplate/elements/fckeditor/editor/css/fck_editorarea.css
httemplate/elements/fckeditor/editor/css/fck_internal.css
httemplate/elements/fckeditor/editor/css/fck_showtableborders_gecko.css
httemplate/elements/fckeditor/editor/css/images/block_address.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/css/images/block_blockquote.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/css/images/block_div.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/css/images/block_h1.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/css/images/block_h2.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/css/images/block_h3.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/css/images/block_h4.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/css/images/block_h5.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/css/images/block_h6.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/css/images/block_p.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/css/images/block_pre.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/css/images/fck_plugin.gif [new file with mode: 0644]
httemplate/elements/fckeditor/editor/dialog/common/fck_dialog_common.css
httemplate/elements/fckeditor/editor/dialog/common/fck_dialog_common.js
httemplate/elements/fckeditor/editor/dialog/fck_about.html
httemplate/elements/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif [new file with mode: 0644]
httemplate/elements/fckeditor/editor/dialog/fck_anchor.html
httemplate/elements/fckeditor/editor/dialog/fck_button.html
httemplate/elements/fckeditor/editor/dialog/fck_checkbox.html
httemplate/elements/fckeditor/editor/dialog/fck_colorselector.html
httemplate/elements/fckeditor/editor/dialog/fck_div.html [new file with mode: 0644]
httemplate/elements/fckeditor/editor/dialog/fck_docprops.html
httemplate/elements/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html
httemplate/elements/fckeditor/editor/dialog/fck_flash.html
httemplate/elements/fckeditor/editor/dialog/fck_flash/fck_flash.js
httemplate/elements/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html
httemplate/elements/fckeditor/editor/dialog/fck_form.html
httemplate/elements/fckeditor/editor/dialog/fck_hiddenfield.html
httemplate/elements/fckeditor/editor/dialog/fck_image.html
httemplate/elements/fckeditor/editor/dialog/fck_image/fck_image.js
httemplate/elements/fckeditor/editor/dialog/fck_image/fck_image_preview.html
httemplate/elements/fckeditor/editor/dialog/fck_link.html
httemplate/elements/fckeditor/editor/dialog/fck_link/fck_link.js
httemplate/elements/fckeditor/editor/dialog/fck_listprop.html
httemplate/elements/fckeditor/editor/dialog/fck_paste.html
httemplate/elements/fckeditor/editor/dialog/fck_radiobutton.html
httemplate/elements/fckeditor/editor/dialog/fck_replace.html
httemplate/elements/fckeditor/editor/dialog/fck_scayt.html [new file with mode: 0644]
httemplate/elements/fckeditor/editor/dialog/fck_scayt/scayt_dialog.css [new file with mode: 0644]
httemplate/elements/fckeditor/editor/dialog/fck_select.html
httemplate/elements/fckeditor/editor/dialog/fck_select/fck_select.js
httemplate/elements/fckeditor/editor/dialog/fck_smiley.html
httemplate/elements/fckeditor/editor/dialog/fck_source.html
httemplate/elements/fckeditor/editor/dialog/fck_specialchar.html
httemplate/elements/fckeditor/editor/dialog/fck_spellerpages.html
httemplate/elements/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl
httemplate/elements/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js
httemplate/elements/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css
httemplate/elements/fckeditor/editor/dialog/fck_table.html
httemplate/elements/fckeditor/editor/dialog/fck_tablecell.html
httemplate/elements/fckeditor/editor/dialog/fck_template.html
httemplate/elements/fckeditor/editor/dialog/fck_textarea.html
httemplate/elements/fckeditor/editor/dialog/fck_textfield.html
httemplate/elements/fckeditor/editor/dtd/fck_dtd_test.html [new file with mode: 0644]
httemplate/elements/fckeditor/editor/dtd/fck_xhtml10strict.js [new file with mode: 0644]
httemplate/elements/fckeditor/editor/dtd/fck_xhtml10transitional.js [new file with mode: 0644]
httemplate/elements/fckeditor/editor/fckdebug.html
httemplate/elements/fckeditor/editor/fckdialog.html
httemplate/elements/fckeditor/editor/fckeditor.html
httemplate/elements/fckeditor/editor/fckeditor.original.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/browser.css
httemplate/elements/fckeditor/editor/filemanager/browser/default/browser.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/frmactualfolder.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/frmfolders.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/frmresourceslist.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/frmresourcetype.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/frmupload.html
httemplate/elements/fckeditor/editor/filemanager/browser/default/js/common.js
httemplate/elements/fckeditor/editor/filemanager/browser/default/js/fckxml.js
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/basexml.pl [new file with mode: 0644]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/commands.pl [new file with mode: 0644]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/config.pl [new file with mode: 0644]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/connector.cgi [new file with mode: 0644]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/io.pl [new file with mode: 0644]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/upload.cgi [new file with mode: 0644]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/upload_fck.pl [new file with mode: 0644]
httemplate/elements/fckeditor/editor/filemanager/connectors/perl/util.pl [new file with mode: 0644]
httemplate/elements/fckeditor/editor/filemanager/connectors/test.html [new file with mode: 0644]
httemplate/elements/fckeditor/editor/filemanager/connectors/uploadtest.html [new file with mode: 0644]
httemplate/elements/fckeditor/editor/js/fckadobeair.js [new file with mode: 0644]
httemplate/elements/fckeditor/editor/js/fckeditorcode_gecko.js
httemplate/elements/fckeditor/editor/js/fckeditorcode_ie.js
httemplate/elements/fckeditor/editor/lang/_translationstatus.txt
httemplate/elements/fckeditor/editor/lang/af.js
httemplate/elements/fckeditor/editor/lang/ar.js
httemplate/elements/fckeditor/editor/lang/bg.js
httemplate/elements/fckeditor/editor/lang/bn.js
httemplate/elements/fckeditor/editor/lang/bs.js
httemplate/elements/fckeditor/editor/lang/ca.js
httemplate/elements/fckeditor/editor/lang/cs.js
httemplate/elements/fckeditor/editor/lang/da.js
httemplate/elements/fckeditor/editor/lang/de.js
httemplate/elements/fckeditor/editor/lang/el.js
httemplate/elements/fckeditor/editor/lang/en-au.js
httemplate/elements/fckeditor/editor/lang/en-ca.js
httemplate/elements/fckeditor/editor/lang/en-uk.js
httemplate/elements/fckeditor/editor/lang/en.js
httemplate/elements/fckeditor/editor/lang/eo.js
httemplate/elements/fckeditor/editor/lang/es.js
httemplate/elements/fckeditor/editor/lang/et.js
httemplate/elements/fckeditor/editor/lang/eu.js
httemplate/elements/fckeditor/editor/lang/fa.js
httemplate/elements/fckeditor/editor/lang/fi.js
httemplate/elements/fckeditor/editor/lang/fo.js
httemplate/elements/fckeditor/editor/lang/fr-ca.js [new file with mode: 0644]
httemplate/elements/fckeditor/editor/lang/fr.js
httemplate/elements/fckeditor/editor/lang/gl.js
httemplate/elements/fckeditor/editor/lang/gu.js [new file with mode: 0644]
httemplate/elements/fckeditor/editor/lang/he.js
httemplate/elements/fckeditor/editor/lang/hi.js
httemplate/elements/fckeditor/editor/lang/hr.js
httemplate/elements/fckeditor/editor/lang/hu.js
httemplate/elements/fckeditor/editor/lang/is.js [new file with mode: 0644]
httemplate/elements/fckeditor/editor/lang/it.js
httemplate/elements/fckeditor/editor/lang/ja.js
httemplate/elements/fckeditor/editor/lang/km.js
httemplate/elements/fckeditor/editor/lang/ko.js
httemplate/elements/fckeditor/editor/lang/lt.js
httemplate/elements/fckeditor/editor/lang/lv.js
httemplate/elements/fckeditor/editor/lang/mn.js
httemplate/elements/fckeditor/editor/lang/ms.js
httemplate/elements/fckeditor/editor/lang/nb.js
httemplate/elements/fckeditor/editor/lang/nl.js
httemplate/elements/fckeditor/editor/lang/no.js
httemplate/elements/fckeditor/editor/lang/pl.js
httemplate/elements/fckeditor/editor/lang/pt-br.js
httemplate/elements/fckeditor/editor/lang/pt.js
httemplate/elements/fckeditor/editor/lang/ro.js
httemplate/elements/fckeditor/editor/lang/ru.js
httemplate/elements/fckeditor/editor/lang/sk.js
httemplate/elements/fckeditor/editor/lang/sl.js
httemplate/elements/fckeditor/editor/lang/sr-latn.js
httemplate/elements/fckeditor/editor/lang/sr.js
httemplate/elements/fckeditor/editor/lang/sv.js
httemplate/elements/fckeditor/editor/lang/th.js
httemplate/elements/fckeditor/editor/lang/tr.js
httemplate/elements/fckeditor/editor/lang/uk.js
httemplate/elements/fckeditor/editor/lang/vi.js
httemplate/elements/fckeditor/editor/lang/zh-cn.js
httemplate/elements/fckeditor/editor/lang/zh.js
httemplate/elements/fckeditor/editor/plugins/autogrow/fckplugin.js
httemplate/elements/fckeditor/editor/plugins/bbcode/fckplugin.js [new file with mode: 0644]
httemplate/elements/fckeditor/editor/plugins/dragresizetable/fckplugin.js [new file with mode: 0644]
httemplate/elements/fckeditor/editor/plugins/placeholder/fck_placeholder.html
httemplate/elements/fckeditor/editor/plugins/placeholder/fckplugin.js
httemplate/elements/fckeditor/editor/plugins/placeholder/lang/de.js
httemplate/elements/fckeditor/editor/plugins/placeholder/lang/en.js
httemplate/elements/fckeditor/editor/plugins/placeholder/lang/es.js [new file with mode: 0644]
httemplate/elements/fckeditor/editor/plugins/placeholder/lang/fr.js
httemplate/elements/fckeditor/editor/plugins/placeholder/lang/it.js
httemplate/elements/fckeditor/editor/plugins/placeholder/lang/pl.js
httemplate/elements/fckeditor/editor/plugins/simplecommands/fckplugin.js
httemplate/elements/fckeditor/editor/plugins/tablecommands/fckplugin.js
httemplate/elements/fckeditor/editor/skins/_fckviewstrips.html
httemplate/elements/fckeditor/editor/skins/default/fck_dialog.css
httemplate/elements/fckeditor/editor/skins/default/fck_dialog_ie6.js [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/default/fck_editor.css
httemplate/elements/fckeditor/editor/skins/default/fck_strip.gif
httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.gif [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.rtl.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/default/images/sprites.gif [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/default/images/sprites.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/office2003/fck_dialog.css
httemplate/elements/fckeditor/editor/skins/office2003/fck_dialog_ie6.js [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/office2003/fck_editor.css
httemplate/elements/fckeditor/editor/skins/office2003/fck_strip.gif
httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.gif [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.gif [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/silver/fck_dialog.css
httemplate/elements/fckeditor/editor/skins/silver/fck_dialog_ie6.js [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/silver/fck_editor.css
httemplate/elements/fckeditor/editor/skins/silver/fck_strip.gif
httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.gif [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/silver/images/sprites.gif [new file with mode: 0644]
httemplate/elements/fckeditor/editor/skins/silver/images/sprites.png [new file with mode: 0644]
httemplate/elements/fckeditor/editor/wsc/ciframe.html [new file with mode: 0644]
httemplate/elements/fckeditor/editor/wsc/tmpFrameset.html [new file with mode: 0644]
httemplate/elements/fckeditor/editor/wsc/w.html [new file with mode: 0644]
httemplate/elements/fckeditor/fckconfig.js
httemplate/elements/fckeditor/fckeditor.js
httemplate/elements/fckeditor/fckpackager.xml
httemplate/elements/fckeditor/fckstyles.xml
httemplate/elements/fckeditor/fcktemplates.xml

index 8539aa4..50cfe0e 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * file.\r
  */\r
 \r
-/*\r
   The "body" styles should match your editor web site, mainly regarding\r
   background color and font family and size.\r
-*/\r
+/**\r
* The "body" styles should match your editor web site, mainly regarding\r
* background color and font family and size.\r
+ */\r
 \r
 body\r
 {\r
@@ -40,19 +40,20 @@ body
 \r
 body, td\r
 {\r
-       font-family: Arial, Verdana, Sans-Serif;\r
+       font-family: Arial, Verdana, sans-serif;\r
        font-size: 12px;\r
 }\r
 \r
 a[href]\r
 {\r
-       color: #0000FF !important;      /* For Firefox... mark as important, otherwise it becomes black */\r
+       color: -moz-hyperlinktext !important;           /* For Firefox... mark as important, otherwise it becomes black */\r
+       text-decoration: -moz-anchor-decoration;        /* For Firefox 3, otherwise no underline will be used */\r
 }\r
 \r
-/*\r
      Just uncomment the following block if you want to avoid spaces between\r
      paragraphs. Remember to apply the same style in your output front end page.\r
-*/\r
+/**\r
* Just uncomment the following block if you want to avoid spaces between\r
* paragraphs. Remember to apply the same style in your output front end page.\r
+ */\r
 \r
 /*\r
 p, ul, li\r
@@ -62,12 +63,30 @@ p, ul, li
 }\r
 */\r
 \r
+/**\r
+ * Uncomment the following block, or only selected lines if appropriate,\r
+ * if you have some style items that would break the styles combo box.\r
+ * You can also write other CSS overrides inside the style block below\r
+ * as needed and they will be applied to inside the style combo only.\r
+ */\r
+\r
 /*\r
-    The following are some sample styles used in the "Styles" toolbar command.\r
-    You should instead remove them, and include the styles used by the site\r
-    you are using the editor in.\r
+.SC_Item *, .SC_ItemSelected *\r
+{\r
+       margin: 0px !important;\r
+       padding: 0px !important;\r
+       text-indent: 0px !important;\r
+       clip: auto !important;\r
+       position: static !important;\r
+}\r
 */\r
 \r
+/**\r
+ * The following are some sample styles used in the "Styles" toolbar command.\r
+ * You should instead remove them, and include the styles used by the site\r
+ * you are using the editor in.\r
+ */\r
+\r
 .Bold\r
 {\r
        font-weight: bold;\r
@@ -88,4 +107,4 @@ p, ul, li
        color: #000066;\r
        font-family: 'Courier New' , Monospace;\r
        background-color: #ff9933;\r
-}
\ No newline at end of file
+}\r
index e686560..d92c75e 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * This CSS Style Sheet defines rules used by the editor for its internal use.\r
  */\r
 \r
-/* Fix to allow putting the caret at the end of the\r
-content in Firefox if clicking below the content */\r
+/* #########\r
+ *  WARNING\r
+ * #########\r
+ * When changing this file, the minified version of it must be updated in the\r
+ * fckeditor.html file (see FCK_InternalCSS).\r
+ */\r
+\r
+/* Fix to allow putting the caret at the end of the content in Firefox if\r
+   clicking below the content. */\r
 html\r
 {\r
        min-height: 100%;\r
 }\r
 \r
-\r
 table.FCK__ShowTableBorders, table.FCK__ShowTableBorders td, table.FCK__ShowTableBorders th\r
 {\r
        border: #d3d3d3 1px solid;\r
@@ -50,6 +56,16 @@ form
        height: 80px;\r
 }\r
 \r
+.FCK__UnknownObject\r
+{\r
+       border: #a9a9a9 1px solid;\r
+       background-position: center center;\r
+       background-image: url(images/fck_plugin.gif);\r
+       background-repeat: no-repeat;\r
+       width: 80px;\r
+       height: 80px;\r
+}\r
+\r
 /* Empty anchors images */\r
 .FCK__Anchor\r
 {\r
@@ -72,8 +88,7 @@ form
        padding-left: 18px;\r
 }\r
 \r
-/* Any anchor for non-IE, if we combine it\r
-   with the previous rule IE ignores all. */\r
+/* Any anchor for non-IE, if we combine it with the previous rule IE ignores all. */\r
 a[name]\r
 {\r
        border: 1px dotted #00F;\r
@@ -109,3 +124,76 @@ a[name]
        vertical-align: text-bottom;\r
        background-position: center center;\r
 }\r
+\r
+.FCK__ShowBlocks p,\r
+.FCK__ShowBlocks div,\r
+.FCK__ShowBlocks pre,\r
+.FCK__ShowBlocks address,\r
+.FCK__ShowBlocks blockquote,\r
+.FCK__ShowBlocks h1,\r
+.FCK__ShowBlocks h2,\r
+.FCK__ShowBlocks h3,\r
+.FCK__ShowBlocks h4,\r
+.FCK__ShowBlocks h5,\r
+.FCK__ShowBlocks h6\r
+{\r
+       background-repeat: no-repeat;\r
+       border: 1px dotted gray;\r
+       padding-top: 8px;\r
+       padding-left: 8px;\r
+}\r
+\r
+.FCK__ShowBlocks p\r
+{\r
+       background-image: url(images/block_p.png);\r
+}\r
+\r
+.FCK__ShowBlocks div\r
+{\r
+       background-image: url(images/block_div.png);\r
+}\r
+\r
+.FCK__ShowBlocks pre\r
+{\r
+       background-image: url(images/block_pre.png);\r
+}\r
+\r
+.FCK__ShowBlocks address\r
+{\r
+       background-image: url(images/block_address.png);\r
+}\r
+\r
+.FCK__ShowBlocks blockquote\r
+{\r
+       background-image: url(images/block_blockquote.png);\r
+}\r
+\r
+.FCK__ShowBlocks h1\r
+{\r
+       background-image: url(images/block_h1.png);\r
+}\r
+\r
+.FCK__ShowBlocks h2\r
+{\r
+       background-image: url(images/block_h2.png);\r
+}\r
+\r
+.FCK__ShowBlocks h3\r
+{\r
+       background-image: url(images/block_h3.png);\r
+}\r
+\r
+.FCK__ShowBlocks h4\r
+{\r
+       background-image: url(images/block_h4.png);\r
+}\r
+\r
+.FCK__ShowBlocks h5\r
+{\r
+       background-image: url(images/block_h5.png);\r
+}\r
+\r
+.FCK__ShowBlocks h6\r
+{\r
+       background-image: url(images/block_h6.png);\r
+}\r
index 5947114..333161f 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * This CSS Style Sheet defines the rules to show table borders on Gecko.\r
  */\r
 \r
+/* #########\r
+ *  WARNING\r
+ * #########\r
+ * When changing this file, the minified version of it must be updated in the\r
+ * fckeditor.html file (see FCK_ShowTableBordersCSS).\r
+ */\r
+\r
 /* For tables with the "border" attribute set to "0" */\r
 table[border="0"],\r
 table[border="0"] > tr > td, table[border="0"] > tr > th,\r
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_address.png b/httemplate/elements/fckeditor/editor/css/images/block_address.png
new file mode 100644 (file)
index 0000000..8bbae6e
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/css/images/block_address.png differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_blockquote.png b/httemplate/elements/fckeditor/editor/css/images/block_blockquote.png
new file mode 100644 (file)
index 0000000..cf065ba
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/css/images/block_blockquote.png differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_div.png b/httemplate/elements/fckeditor/editor/css/images/block_div.png
new file mode 100644 (file)
index 0000000..a2806b1
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/css/images/block_div.png differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_h1.png b/httemplate/elements/fckeditor/editor/css/images/block_h1.png
new file mode 100644 (file)
index 0000000..d43fbdb
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/css/images/block_h1.png differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_h2.png b/httemplate/elements/fckeditor/editor/css/images/block_h2.png
new file mode 100644 (file)
index 0000000..27b5475
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/css/images/block_h2.png differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_h3.png b/httemplate/elements/fckeditor/editor/css/images/block_h3.png
new file mode 100644 (file)
index 0000000..3c3034f
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/css/images/block_h3.png differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_h4.png b/httemplate/elements/fckeditor/editor/css/images/block_h4.png
new file mode 100644 (file)
index 0000000..ab3f64d
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/css/images/block_h4.png differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_h5.png b/httemplate/elements/fckeditor/editor/css/images/block_h5.png
new file mode 100644 (file)
index 0000000..93477d0
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/css/images/block_h5.png differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_h6.png b/httemplate/elements/fckeditor/editor/css/images/block_h6.png
new file mode 100644 (file)
index 0000000..11ea1c2
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/css/images/block_h6.png differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_p.png b/httemplate/elements/fckeditor/editor/css/images/block_p.png
new file mode 100644 (file)
index 0000000..d055c51
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/css/images/block_p.png differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/block_pre.png b/httemplate/elements/fckeditor/editor/css/images/block_pre.png
new file mode 100644 (file)
index 0000000..be8ad26
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/css/images/block_pre.png differ
diff --git a/httemplate/elements/fckeditor/editor/css/images/fck_plugin.gif b/httemplate/elements/fckeditor/editor/css/images/fck_plugin.gif
new file mode 100644 (file)
index 0000000..7d58463
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/css/images/fck_plugin.gif differ
index c1db114..1119e44 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * windows.\r
  */\r
 \r
+/* #########\r
+ *  WARNING\r
+ * #########\r
+ * When changing this file, the minified version of it must be updated in the\r
+ * fck_dialog_common.js file (see GetCommonDialogCss).\r
+ */\r
+\r
 .ImagePreviewArea\r
 {\r
        border: #000000 1px solid;\r
@@ -76,8 +83,3 @@
        cursor: pointer;\r
        cursor: hand;\r
 }\r
-\r
-.FCK__FieldNumeric\r
-{\r
-       behavior: url(common/fcknumericfield.htc) ;\r
-}
\ No newline at end of file
index 26b5628..478d3d5 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * == END LICENSE ==\r
  *\r
  * Useful functions used by almost all dialog window pages.\r
+ * Dialogs should link to this file as the very first script on the page.\r
  */\r
 \r
-var GECKO_BOGUS = '<br type="_moz">' ;\r
+// Automatically detect the correct document.domain (#123).\r
+(function()\r
+{\r
+       var d = document.domain ;\r
+\r
+       while ( true )\r
+       {\r
+               // Test if we can access a parent property.\r
+               try\r
+               {\r
+                       var test = window.parent.document.domain ;\r
+                       break ;\r
+               }\r
+               catch( e ) {}\r
+\r
+               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
+               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
+\r
+               if ( d.length == 0 )\r
+                       break ;         // It was not able to detect the domain.\r
+\r
+               try\r
+               {\r
+                       document.domain = d ;\r
+               }\r
+               catch (e)\r
+               {\r
+                       break ;\r
+               }\r
+       }\r
+})() ;\r
+\r
+// Attention: FCKConfig must be available in the page.\r
+function GetCommonDialogCss( prefix )\r
+{\r
+       // CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).\r
+       return FCKConfig.BasePath + 'dialog/common/' + '|.ImagePreviewArea{border:#000 1px solid;overflow:auto;width:100%;height:170px;background-color:#fff}.FlashPreviewArea{border:#000 1px solid;padding:5px;overflow:auto;width:100%;height:170px;background-color:#fff}.BtnReset{float:left;background-position:center center;background-image:url(images/reset.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px}.BtnLocked,.BtnUnlocked{float:left;background-position:center center;background-image:url(images/locked.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.BtnUnlocked{background-image:url(images/unlocked.gif)}.BtnOver{border:outset 1px;cursor:pointer;cursor:hand}' ;\r
+}\r
 \r
 // Gets a element by its Id. Used for shorter coding.\r
 function GetE( elementId )\r
@@ -59,22 +97,48 @@ function GetAttribute( element, attName, valueIfNull )
        return ( oValue == null ? valueIfNull : oValue ) ;\r
 }\r
 \r
-// Functions used by text fiels to accept numbers only.\r
-function IsDigit( e )\r
+function SelectField( elementId )\r
 {\r
-       if ( !e )\r
-               e = event ;\r
+       var element = GetE( elementId ) ;\r
+       element.focus() ;\r
 \r
-       var iCode = ( e.keyCode || e.charCode ) ;\r
-\r
-       return (\r
-                       ( iCode >= 48 && iCode <= 57 )          // Numbers\r
-                       || (iCode >= 37 && iCode <= 40)         // Arrows\r
-                       || iCode == 8                                           // Backspace\r
-                       || iCode == 46                                          // Delete\r
-       ) ;\r
+       // element.select may not be available for some fields (like <select>).\r
+       if ( element.select )\r
+               element.select() ;\r
 }\r
 \r
+// Functions used by text fields to accept numbers only.\r
+var IsDigit = ( function()\r
+       {\r
+               var KeyIdentifierMap =\r
+               {\r
+                       End                     : 35,\r
+                       Home            : 36,\r
+                       Left            : 37,\r
+                       Right           : 39,\r
+                       'U+00007F'      : 46            // Delete\r
+               } ;\r
+\r
+               return function ( e )\r
+                       {\r
+                               if ( !e )\r
+                                       e = event ;\r
+\r
+                               var iCode = ( e.keyCode || e.charCode ) ;\r
+\r
+                               if ( !iCode && e.keyIdentifier && ( e.keyIdentifier in KeyIdentifierMap ) )\r
+                                               iCode = KeyIdentifierMap[ e.keyIdentifier ] ;\r
+\r
+                               return (\r
+                                               ( iCode >= 48 && iCode <= 57 )          // Numbers\r
+                                               || (iCode >= 35 && iCode <= 40)         // Arrows, Home, End\r
+                                               || iCode == 8                                           // Backspace\r
+                                               || iCode == 46                                          // Delete\r
+                                               || iCode == 9                                           // Tab\r
+                               ) ;\r
+                       }\r
+       } )() ;\r
+\r
 String.prototype.Trim = function()\r
 {\r
        return this.replace( /(^\s*)|(\s*$)/g, '' ) ;\r
@@ -123,32 +187,161 @@ function OpenFileBrowser( url, width, height )
        sOptions += ",left=" + iLeft ;\r
        sOptions += ",top=" + iTop ;\r
 \r
-       // The "PreserveSessionOnFileBrowser" because the above code could be\r
-       // blocked by popup blockers.\r
-       if ( oEditor.FCKConfig.PreserveSessionOnFileBrowser && oEditor.FCKBrowserInfo.IsIE )\r
+       window.open( url, 'FCKBrowseWindow', sOptions ) ;\r
+}\r
+\r
+/**\r
+ Utility function to create/update an element with a name attribute in IE, so it behaves properly when moved around\r
+ It also allows to change the name or other special attributes in an existing node\r
+       oEditor : instance of FCKeditor where the element will be created\r
+       oOriginal : current element being edited or null if it has to be created\r
+       nodeName : string with the name of the element to create\r
+       oAttributes : Hash object with the attributes that must be set at creation time in IE\r
+                                                               Those attributes will be set also after the element has been\r
+                                                               created for any other browser to avoid redudant code\r
+*/\r
+function CreateNamedElement( oEditor, oOriginal, nodeName, oAttributes )\r
+{\r
+       var oNewNode ;\r
+\r
+       // IE doesn't allow easily to change properties of an existing object,\r
+       // so remove the old and force the creation of a new one.\r
+       var oldNode = null ;\r
+       if ( oOriginal && oEditor.FCKBrowserInfo.IsIE )\r
        {\r
-               // The following change has been made otherwise IE will open the file\r
-               // browser on a different server session (on some cases):\r
-               // http://support.microsoft.com/default.aspx?scid=kb;en-us;831678\r
-               // by Simone Chiaretta.\r
-               var oWindow = oEditor.window.open( url, 'FCKBrowseWindow', sOptions ) ;\r
+               // Force the creation only if some of the special attributes have changed:\r
+               var bChanged = false;\r
+               for( var attName in oAttributes )\r
+                       bChanged |= ( oOriginal.getAttribute( attName, 2) != oAttributes[attName] ) ;\r
+\r
+               if ( bChanged )\r
+               {\r
+                       oldNode = oOriginal ;\r
+                       oOriginal = null ;\r
+               }\r
+       }\r
 \r
-               if ( oWindow )\r
+       // If the node existed (and it's not IE), then we just have to update its attributes\r
+       if ( oOriginal )\r
+       {\r
+               oNewNode = oOriginal ;\r
+       }\r
+       else\r
+       {\r
+               // #676, IE doesn't play nice with the name or type attribute\r
+               if ( oEditor.FCKBrowserInfo.IsIE )\r
                {\r
-                       // Detect Yahoo popup blocker.\r
-                       try\r
+                       var sbHTML = [] ;\r
+                       sbHTML.push( '<' + nodeName ) ;\r
+                       for( var prop in oAttributes )\r
                        {\r
-                               var sTest = oWindow.name ; // Yahoo returns "something", but we can't access it, so detect that and avoid strange errors for the user.\r
-                               oWindow.opener = window ;\r
+                               sbHTML.push( ' ' + prop + '="' + oAttributes[prop] + '"' ) ;\r
                        }\r
-                       catch(e)\r
+                       sbHTML.push( '>' ) ;\r
+                       if ( !oEditor.FCKListsLib.EmptyElements[nodeName.toLowerCase()] )\r
+                               sbHTML.push( '</' + nodeName + '>' ) ;\r
+\r
+                       oNewNode = oEditor.FCK.EditorDocument.createElement( sbHTML.join('') ) ;\r
+                       // Check if we are just changing the properties of an existing node: copy its properties\r
+                       if ( oldNode )\r
                        {\r
-                               alert( oEditor.FCKLang.BrowseServerBlocked ) ;\r
+                               CopyAttributes( oldNode, oNewNode, oAttributes ) ;\r
+                               oEditor.FCKDomTools.MoveChildren( oldNode, oNewNode ) ;\r
+                               oldNode.parentNode.removeChild( oldNode ) ;\r
+                               oldNode = null ;\r
+\r
+                               if ( oEditor.FCK.Selection.SelectionData )\r
+                               {\r
+                                       // Trick to refresh the selection object and avoid error in\r
+                                       // fckdialog.html Selection.EnsureSelection\r
+                                       var oSel = oEditor.FCK.EditorDocument.selection ;\r
+                                       oEditor.FCK.Selection.SelectionData = oSel.createRange() ; // Now oSel.type will be 'None' reflecting the real situation\r
+                               }\r
+                       }\r
+                       oNewNode = oEditor.FCK.InsertElement( oNewNode ) ;\r
+\r
+                       // FCK.Selection.SelectionData is broken by now since we've\r
+                       // deleted the previously selected element. So we need to reassign it.\r
+                       if ( oEditor.FCK.Selection.SelectionData )\r
+                       {\r
+                               var range = oEditor.FCK.EditorDocument.body.createControlRange() ;\r
+                               range.add( oNewNode ) ;\r
+                               oEditor.FCK.Selection.SelectionData = range ;\r
                        }\r
                }\r
                else\r
-                       alert( oEditor.FCKLang.BrowseServerBlocked ) ;\r
-    }\r
-    else\r
-               window.open( url, 'FCKBrowseWindow', sOptions ) ;\r
-}
\ No newline at end of file
+               {\r
+                       oNewNode = oEditor.FCK.InsertElement( nodeName ) ;\r
+               }\r
+       }\r
+\r
+       // Set the basic attributes\r
+       for( var attName in oAttributes )\r
+               oNewNode.setAttribute( attName, oAttributes[attName], 0 ) ;     // 0 : Case Insensitive\r
+\r
+       return oNewNode ;\r
+}\r
+\r
+// Copy all the attributes from one node to the other, kinda like a clone\r
+// But oSkipAttributes is an object with the attributes that must NOT be copied\r
+function CopyAttributes( oSource, oDest, oSkipAttributes )\r
+{\r
+       var aAttributes = oSource.attributes ;\r
+\r
+       for ( var n = 0 ; n < aAttributes.length ; n++ )\r
+       {\r
+               var oAttribute = aAttributes[n] ;\r
+\r
+               if ( oAttribute.specified )\r
+               {\r
+                       var sAttName = oAttribute.nodeName ;\r
+                       // We can set the type only once, so do it with the proper value, not copying it.\r
+                       if ( sAttName in oSkipAttributes )\r
+                               continue ;\r
+\r
+                       var sAttValue = oSource.getAttribute( sAttName, 2 ) ;\r
+                       if ( sAttValue == null )\r
+                               sAttValue = oAttribute.nodeValue ;\r
+\r
+                       oDest.setAttribute( sAttName, sAttValue, 0 ) ;  // 0 : Case Insensitive\r
+               }\r
+       }\r
+       // The style:\r
+       if ( oSource.style.cssText !== '' )\r
+               oDest.style.cssText = oSource.style.cssText ;\r
+}\r
+\r
+/**\r
+* Replaces a tag with another one, keeping its contents:\r
+* for example TD --> TH, and TH --> TD.\r
+* input: the original node, and the new tag name\r
+* http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-renameNode\r
+*/\r
+function RenameNode( oNode , newTag )\r
+{\r
+       // TODO: if the browser natively supports document.renameNode call it.\r
+       // does any browser currently support it in order to test?\r
+\r
+       // Only rename element nodes.\r
+       if ( oNode.nodeType != 1 )\r
+               return null ;\r
+\r
+       // If it's already correct exit here.\r
+       if ( oNode.nodeName == newTag )\r
+               return oNode ;\r
+\r
+       var oDoc = oNode.ownerDocument ;\r
+       // Create the new node\r
+       var newNode = oDoc.createElement( newTag ) ;\r
+\r
+       // Copy all attributes\r
+       CopyAttributes( oNode, newNode, {} ) ;\r
+\r
+       // Move children to the new node\r
+       FCKDomTools.MoveChildren( oNode, newNode ) ;\r
+\r
+       // Finally replace the node and return the new one\r
+       oNode.parentNode.replaceChild( newNode, oNode ) ;\r
+\r
+       return newNode ;\r
+}\r
index a5825ce..7e22d7b 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -70,7 +70,7 @@ window.onload = function()
        <div id="divAbout">\r
                <table cellpadding="0" cellspacing="0" border="0" width="100%" style="height: 100%">\r
                        <tr>\r
-                               <td>\r
+                               <td colspan="2">\r
                                        <img alt="" src="fck_about/logo_fckeditor.gif" width="236" height="41" align="left" />\r
                                        <table width="80" border="0" cellspacing="0" cellpadding="5" bgcolor="#ffffff" align="right">\r
                                                <tr>\r
@@ -78,31 +78,37 @@ window.onload = function()
                                                                border-left: #000000 1px solid; border-bottom: #000000 1px solid">\r
                                                                <span fcklang="DlgAboutVersion">version</span>\r
                                                                <br />\r
-                                                               <b>2.4.3</b><br />\r
-                                                               Build 15657</td>\r
+                                                               <b>2.6.6</b><br />\r
+                                                               Build 25427</td>\r
                                                </tr>\r
                                        </table>\r
                                </td>\r
                        </tr>\r
                        <tr style="height: 100%">\r
-                               <td align="center">\r
-                                       &nbsp;<br />\r
+                               <td align="center" valign="middle">\r
                                        <span style="font-size: 14px" dir="ltr">\r
-                                               <br />\r
                                                <b><a href="http://www.fckeditor.net/?about" target="_blank" title="Visit the FCKeditor web site">\r
                                                        Support <b>Open Source</b> Software</a></b> </span>\r
-                                       <br />\r
-                                       <br />\r
-                                       <br />\r
+                                       <div style="padding-top:15px">\r
+                                               <img alt="" src="fck_about/logo_fredck.gif" width="87" height="36" />\r
+                                       </div>\r
+                               </td>\r
+                               <td align="center" nowrap="nowrap" valign="middle">\r
+                                       <div>\r
+                                               <div style="margin-bottom:5px" dir="ltr">Selected Sponsor</div>\r
+                                               <a href="http://www.spellchecker.net/fckeditor/" target="_blank"><img alt="Selected Sponsor" border="0" src="fck_about/sponsors/spellchecker_net.gif" width="75" height="75" /></a>\r
+                                       </div>\r
+                               </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td width="100%" nowrap="nowrap">\r
                                        <span fcklang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/?About"\r
                                                target="_blank">http://www.fckeditor.net/</a>.\r
                                        <br />\r
-                                       Copyright &copy; 2003-2007 <a href="#" onclick="SendEMail();">Frederico Caldeira Knabben</a>\r
+                                       Copyright &copy; 2003-2010 <a href="#" onclick="SendEMail();">Frederico Caldeira Knabben</a>\r
                                </td>\r
-                       </tr>\r
-                       <tr>\r
                                <td align="center">\r
-                                       <img alt="" src="fck_about/logo_fredck.gif" width="87" height="36" />\r
+                                       <a href="http://www.fckeditor.net/sponsors/apply" target="_blank">Become a Sponsor</a>\r
                                </td>\r
                        </tr>\r
                </table>\r
@@ -140,11 +146,11 @@ document.write( '<b>Platform<\/b><br />' + window.navigator.platform + '<br /><b
 var sUserLang = '?' ;\r
 \r
 if ( window.navigator.language )\r
-       sUserLang = window.navigator.language.toLowerCase() ;\r
+       sUserLang = window.navigator.language ;\r
 else if ( window.navigator.userLanguage )\r
-       sUserLang = window.navigator.userLanguage.toLowerCase() ;\r
+       sUserLang = window.navigator.userLanguage ;\r
 \r
-document.write( '<b>User Language<\/b><br />' + sUserLang ) ;\r
+document.write( '<b>Language<\/b><br />' + sUserLang ) ;\r
 //-->\r
                                        </script>\r
                                </td>\r
diff --git a/httemplate/elements/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif b/httemplate/elements/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif
new file mode 100644 (file)
index 0000000..f8586f9
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif differ
index a9f2f50..0f08faa 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script type="text/javascript">\r
 \r
-var oEditor    = window.parent.InnerDialogLoaded() ;\r
-var FCK                = oEditor.FCK ;\r
-var FCKBrowserInfo = oEditor.FCKBrowserInfo ;\r
-var FCKTools = oEditor.FCKTools ;\r
-var FCKRegexLib = oEditor.FCKRegexLib ;\r
+var dialog                     = window.parent ;\r
+var oEditor                    = dialog.InnerDialogLoaded() ;\r
 \r
-// Gets the document DOM\r
-var oDOM = oEditor.FCK.EditorDocument ;\r
+var FCK                                = oEditor.FCK ;\r
+var FCKBrowserInfo     = oEditor.FCKBrowserInfo ;\r
+var FCKTools           = oEditor.FCKTools ;\r
+var FCKRegexLib                = oEditor.FCKRegexLib ;\r
+\r
+var oDOM                       = FCK.EditorDocument ;\r
+\r
+var oFakeImage = dialog.Selection.GetSelectedElement() ;\r
 \r
-var oFakeImage = FCK.Selection.GetSelectedElement() ;\r
 var oAnchor ;\r
 \r
 if ( oFakeImage )\r
@@ -68,6 +70,9 @@ window.onload = function()
                oAnchor = null ;\r
 \r
        window.parent.SetOkButton( true ) ;\r
+       window.parent.SetAutoSize( true ) ;\r
+\r
+       SelectField( 'txtName' ) ;\r
 }\r
 \r
 function Ok()\r
@@ -83,7 +88,8 @@ function Ok()
                // Remove the anchor if the user leaves the name blank\r
                if ( oAnchor )\r
                {\r
-                       RemoveAnchor() ;\r
+                       // Removes the current anchor from the document using the new command\r
+                       FCK.Commands.GetCommand( 'AnchorDelete' ).Execute() ;\r
                        return true ;\r
                }\r
 \r
@@ -113,10 +119,7 @@ function Ok()
        var aNewAnchors = oEditor.FCK.CreateLink( '#' ) ;\r
 \r
        if ( aNewAnchors.length == 0 )\r
-       {\r
-               // Nothing was selected, so now just create a normal A\r
-               aNewAnchors.push( oEditor.FCK.CreateElement( 'a' ) ) ;\r
-       }\r
+                       aNewAnchors.push( oEditor.FCK.InsertElement( 'a' ) ) ;\r
        else\r
        {\r
                // Remove the fake href\r
@@ -130,7 +133,18 @@ function Ok()
                oAnchor = aNewAnchors[i] ;\r
 \r
                // Set the name\r
-               oAnchor.name = sNewName ;\r
+               if ( FCKBrowserInfo.IsIE )\r
+               {\r
+                       // Setting anchor names directly in IE will trash the HTML code stored\r
+                       // in FCKTempBin after undos. See #2263.\r
+                       var replaceAnchor = oEditor.FCK.EditorDocument.createElement( '<a name="' +\r
+                                       FCKTools.HTMLEncode( sNewName ).replace( '"', '&quot;' ) + '">' ) ;\r
+                       oEditor.FCKDomTools.MoveChildren( oAnchor, replaceAnchor ) ;\r
+                       oAnchor.parentNode.replaceChild( replaceAnchor, oAnchor ) ;\r
+                       oAnchor = replaceAnchor ;\r
+               }\r
+               else\r
+                       oAnchor.name = sNewName ;\r
 \r
                // IE does require special processing to show the Anchor's image\r
                // Opera doesn't allow to select empty anchors\r
@@ -157,36 +171,6 @@ function Ok()
        return true ;\r
 }\r
 \r
-// Removes the current anchor from the document\r
-function RemoveAnchor()\r
-{\r
-       // If it's also a link, then just remove the name and exit\r
-       if ( oAnchor.href.length != 0 )\r
-       {\r
-               oAnchor.removeAttribute( 'name' ) ;\r
-               // Remove temporary class for IE\r
-               if ( FCKBrowserInfo.IsIE )\r
-                       oAnchor.className = oAnchor.className.replace( FCKRegexLib.FCK_Class, '' ) ;\r
-               return ;\r
-       }\r
-\r
-       // We need to remove the anchor\r
-       // If we got a fake image, then just remove it and we're done\r
-       if ( oFakeImage )\r
-       {\r
-               oFakeImage.parentNode.removeChild( oFakeImage ) ;\r
-               return ;\r
-       }\r
-       // Empty anchor, so just remove it\r
-       if ( oAnchor.innerHTML.length == 0 )\r
-       {\r
-               oAnchor.parentNode.removeChild( oAnchor ) ;\r
-               return ;\r
-       }\r
-       // Anchor with content, leave the content\r
-       FCKTools.RemoveOuterTags( oAnchor ) ;\r
-}\r
-\r
 // Checks all the links in the current page pointing to the current name and changes them to the new name\r
 function ReadjustLinksToAnchor( sCurrent, sNew )\r
 {\r
@@ -217,7 +201,7 @@ function ReadjustLinksToAnchor( sCurrent, sNew )
 \r
                </script>\r
        </head>\r
-       <body style="OVERFLOW: hidden" scroll="no">\r
+       <body style="overflow: hidden">\r
                <table height="100%" width="100%">\r
                        <tr>\r
                                <td align="center">\r
index 6e5c2bb..9351013 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor    = dialog.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;\r
+var oActiveEl = dialog.Selection.GetSelectedElement() ;\r
 \r
 window.onload = function()\r
 {\r
@@ -46,25 +47,21 @@ window.onload = function()
                GetE('txtName').value   = oActiveEl.name ;\r
                GetE('txtValue').value  = oActiveEl.value ;\r
                GetE('txtType').value   = oActiveEl.type ;\r
-\r
-               GetE('txtType').disabled = true ;\r
        }\r
        else\r
                oActiveEl = null ;\r
 \r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
+       SelectField( 'txtName' ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
-       if ( !oActiveEl )\r
-       {\r
-               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;\r
-               oActiveEl.type = GetE('txtType').value ;\r
-               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
-       }\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
+\r
+       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: GetE('txtType').value } ) ;\r
 \r
-       oActiveEl.name = GetE('txtName').value ;\r
        SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;\r
 \r
        return true ;\r
index ac7b4f3..624c7df 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor    = dialog.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;\r
+var oActiveEl = dialog.Selection.GetSelectedElement() ;\r
 \r
 window.onload = function()\r
 {\r
@@ -50,20 +51,16 @@ window.onload = function()
        else\r
                oActiveEl = null ;\r
 \r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
+       SelectField( 'txtName' ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
-       if ( !oActiveEl )\r
-       {\r
-               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;\r
-               oActiveEl.type = 'checkbox' ;\r
-               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
-       }\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
-       if ( GetE('txtName').value.length > 0 )\r
-               oActiveEl.name = GetE('txtName').value ;\r
+       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: 'checkbox' } ) ;\r
 \r
        if ( oEditor.FCKBrowserInfo.IsIE )\r
                oActiveEl.value = GetE('txtValue').value ;\r
index 1778f51..0f2aaac 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -34,6 +34,7 @@
                        #btnClear               { width: 75px ; height: 22px ; margin-bottom: 6px ; }\r
                        .ColorCell              { height: 15px ; width: 15px ; }\r
                </style>\r
+               <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script type="text/javascript">\r
 \r
 var oEditor = window.parent.InnerDialogLoaded() ;\r
@@ -135,8 +136,8 @@ function UpdateColor()
 \r
 function Ok()\r
 {\r
-       if ( typeof(window.parent.dialogArguments.CustomValue) == 'function' )\r
-               window.parent.dialogArguments.CustomValue( document.getElementById('selcolor').value ) ;\r
+       if ( typeof(window.parent.Args().CustomValue) == 'function' )\r
+               window.parent.Args().CustomValue( document.getElementById('selcolor').value ) ;\r
 \r
        return true ;\r
 }\r
diff --git a/httemplate/elements/fckeditor/editor/dialog/fck_div.html b/httemplate/elements/fckeditor/editor/dialog/fck_div.html
new file mode 100644 (file)
index 0000000..524c66a
--- /dev/null
@@ -0,0 +1,396 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
+<!--\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ *\r
+ * Form dialog window.\r
+-->\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
+<head>\r
+       <title></title>\r
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
+       <meta content="noindex, nofollow" name="robots" />\r
+       <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
+       <script type="text/javascript">\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
+var FCK = oEditor.FCK ;\r
+var FCKLang = oEditor.FCKLang ;\r
+var FCKBrowserInfo = oEditor.FCKBrowserInfo ;\r
+var FCKStyles = oEditor.FCKStyles ;\r
+var FCKElementPath = oEditor.FCKElementPath ;\r
+var FCKDomRange = oEditor.FCKDomRange ;\r
+var FCKDomTools = oEditor.FCKDomTools ;\r
+var FCKDomRangeIterator = oEditor.FCKDomRangeIterator ;\r
+var FCKListsLib = oEditor.FCKListsLib ;\r
+var AlwaysCreate = dialog.Args().CustomValue ;\r
+\r
+String.prototype.IEquals = function()\r
+{\r
+       var thisUpper = this.toUpperCase() ;\r
+\r
+       var aArgs = arguments ;\r
+\r
+       // The arguments could also be a single array.\r
+       if ( aArgs.length == 1 && aArgs[0].pop )\r
+               aArgs = aArgs[0] ;\r
+\r
+       for ( var i = 0 ; i < aArgs.length ; i++ )\r
+       {\r
+               if ( thisUpper == aArgs[i].toUpperCase() )\r
+                       return true ;\r
+       }\r
+       return false ;\r
+}\r
+\r
+var CurrentContainers = [] ;\r
+if ( !AlwaysCreate )\r
+{\r
+       dialog.Selection.EnsureSelection() ;\r
+       CurrentContainers = FCKDomTools.GetSelectedDivContainers() ;\r
+}\r
+\r
+// Add some tabs\r
+dialog.AddTab( 'General', FCKLang.DlgDivGeneralTab );\r
+dialog.AddTab( 'Advanced', FCKLang.DlgDivAdvancedTab ) ;\r
+\r
+function AddStyleOption( styleName )\r
+{\r
+       var el = GetE( 'selStyle' ) ;\r
+       var opt = document.createElement( 'option' ) ;\r
+       opt.text = opt.value = styleName ;\r
+\r
+       if ( FCKBrowserInfo.IsIE )\r
+               el.add( opt ) ;\r
+       else\r
+               el.add( opt, null ) ;\r
+}\r
+\r
+function OnDialogTabChange( tabCode )\r
+{\r
+       ShowE( 'divGeneral', tabCode == 'General' ) ;\r
+       ShowE( 'divAdvanced', tabCode == 'Advanced' ) ;\r
+       dialog.SetAutoSize( true ) ;\r
+}\r
+\r
+function GetNearestAncestorDirection( node )\r
+{\r
+       var dir = 'ltr' ;       // HTML default.\r
+       while ( ( node = node.parentNode ) )\r
+       {\r
+               if ( node.dir )\r
+                       dir = node.dir ;\r
+       }\r
+       return dir ;\r
+}\r
+\r
+window.onload = function()\r
+{\r
+       // First of all, translate the dialog box texts\r
+       oEditor.FCKLanguageManager.TranslatePage(document) ;\r
+\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
+\r
+       // Popuplate the style menu\r
+       var styles = FCKStyles.GetStyles() ;\r
+       var selectableStyles = {} ;\r
+       for ( var i in styles )\r
+       {\r
+               if ( ! /^_FCK_/.test( i ) && styles[i].Element == 'div' )\r
+                       selectableStyles[i] = styles[i] ;\r
+       }\r
+       if ( CurrentContainers.length <= 1 )\r
+       {\r
+               var target = CurrentContainers[0] ;\r
+               var match = null ;\r
+               for ( var i in selectableStyles )\r
+               {\r
+                       if ( target && styles[i].CheckElementRemovable( target, true ) )\r
+                               match = i ;\r
+               }\r
+               if ( !match )\r
+                       AddStyleOption( "" ) ;\r
+               for ( var i in selectableStyles )\r
+                       AddStyleOption( i ) ;\r
+               if ( match )\r
+                       GetE( 'selStyle' ).value = match ;\r
+\r
+               // Set the value for other inputs\r
+               if ( target )\r
+               {\r
+                       GetE( 'txtClass' ).value = target.className ;\r
+                       GetE( 'txtId' ).value = target.id ;\r
+                       GetE( 'txtLang' ).value = target.lang ;\r
+                       GetE( 'txtInlineStyle').value = target.style.cssText ;\r
+                       GetE( 'txtTitle' ).value = target.title ;\r
+                       GetE( 'selLangDir').value = target.dir || GetNearestAncestorDirection( target ) ;\r
+               }\r
+       }\r
+       else\r
+       {\r
+               GetE( 'txtId' ).disabled = true ;\r
+               AddStyleOption( "" ) ;\r
+               for ( var i in selectableStyles )\r
+                       AddStyleOption( i ) ;\r
+       }\r
+}\r
+\r
+function CreateDiv()\r
+{\r
+       var newBlocks = [] ;\r
+       var range = new FCKDomRange( FCK.EditorWindow ) ;\r
+       range.MoveToSelection() ;\r
+\r
+       var bookmark = range.CreateBookmark() ;\r
+\r
+       // Kludge for #1592: if the bookmark nodes are in the beginning of\r
+       // $tagName, then move them to the nearest block element in the\r
+       // $tagName.\r
+       if ( FCKBrowserInfo.IsIE )\r
+       {\r
+               var bStart      = range.GetBookmarkNode( bookmark, true ) ;\r
+               var bEnd        = range.GetBookmarkNode( bookmark, false ) ;\r
+\r
+               var cursor ;\r
+\r
+               if ( bStart\r
+                               && bStart.parentNode.nodeName.IEquals( 'div' )\r
+                               && !bStart.previousSibling )\r
+               {\r
+                       cursor = bStart ;\r
+                       while ( ( cursor = cursor.nextSibling ) )\r
+                       {\r
+                               if ( FCKListsLib.BlockElements[ cursor.nodeName.toLowerCase() ] )\r
+                                       FCKDomTools.MoveNode( bStart, cursor, true ) ;\r
+                       }\r
+               }\r
+\r
+               if ( bEnd\r
+                               && bEnd.parentNode.nodeName.IEquals( 'div' )\r
+                               && !bEnd.previousSibling )\r
+               {\r
+                       cursor = bEnd ;\r
+                       while ( ( cursor = cursor.nextSibling ) )\r
+                       {\r
+                               if ( FCKListsLib.BlockElements[ cursor.nodeName.toLowerCase() ] )\r
+                               {\r
+                                       if ( cursor.firstChild == bStart )\r
+                                               FCKDomTools.InsertAfterNode( bStart, bEnd ) ;\r
+                                       else\r
+                                               FCKDomTools.MoveNode( bEnd, cursor, true ) ;\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+       var iterator = new FCKDomRangeIterator( range ) ;\r
+       var block ;\r
+\r
+       var paragraphs = [] ;\r
+       while ( ( block = iterator.GetNextParagraph() ) )\r
+               paragraphs.push( block ) ;\r
+\r
+       // Make sure all paragraphs have the same parent.\r
+       var commonParent = paragraphs[0].parentNode ;\r
+       var tmp = [] ;\r
+       for ( var i = 0 ; i < paragraphs.length ; i++ )\r
+       {\r
+               block = paragraphs[i] ;\r
+               commonParent = FCKDomTools.GetCommonParents( block.parentNode, commonParent ).pop() ;\r
+       }\r
+\r
+       // The common parent must not be the following tags: table, tbody, tr, ol, ul.\r
+       while ( commonParent.nodeName.IEquals( 'table', 'tbody', 'tr', 'ol', 'ul' ) )\r
+               commonParent = commonParent.parentNode ;\r
+\r
+       // Reconstruct the block list to be processed such that all resulting blocks\r
+       // satisfy parentNode == commonParent.\r
+       var lastBlock = null ;\r
+       while ( paragraphs.length > 0 )\r
+       {\r
+               block = paragraphs.shift() ;\r
+               while ( block.parentNode != commonParent )\r
+                       block = block.parentNode ;\r
+               if ( block != lastBlock )\r
+                       tmp.push( block ) ;\r
+               lastBlock = block ;\r
+       }\r
+       paragraphs = tmp ;\r
+\r
+       // Split the paragraphs into groups depending on their BlockLimit element.\r
+       var groups = [] ;\r
+       var lastBlockLimit = null ;\r
+       for ( var i = 0 ; i < paragraphs.length ; i++ )\r
+       {\r
+               block = paragraphs[i] ;\r
+               var elementPath = new FCKElementPath( block ) ;\r
+               if ( elementPath.BlockLimit != lastBlockLimit )\r
+               {\r
+                       groups.push( [] ) ;\r
+                       lastBlockLimit = elementPath.BlockLimit ;\r
+               }\r
+               groups[groups.length - 1].push( block ) ;\r
+       }\r
+\r
+       // Create a DIV container for each group.\r
+       for ( var i = 0 ; i < groups.length ; i++ )\r
+       {\r
+               var divNode = FCK.EditorDocument.createElement( 'div' ) ;\r
+               groups[i][0].parentNode.insertBefore( divNode, groups[i][0] ) ;\r
+               for ( var j = 0 ; j < groups[i].length ; j++ )\r
+                       FCKDomTools.MoveNode( groups[i][j], divNode ) ;\r
+               newBlocks.push( divNode ) ;\r
+       }\r
+\r
+       range.MoveToBookmark( bookmark ) ;\r
+       range.Select() ;\r
+\r
+       FCK.Focus() ;\r
+       FCK.Events.FireEvent( 'OnSelectionChange' ) ;\r
+\r
+       return newBlocks ;\r
+}\r
+\r
+function Ok()\r
+{\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
+\r
+       if ( CurrentContainers.length < 1 )\r
+               CurrentContainers = CreateDiv();\r
+\r
+       var setValue = function( attrName, inputName )\r
+       {\r
+               var val = GetE( inputName ).value ;\r
+               for ( var i = 0 ; i < CurrentContainers.length ; i++ )\r
+               {\r
+                       if ( val == '' )\r
+                               CurrentContainers[i].removeAttribute( attrName ) ;\r
+                       else\r
+                               CurrentContainers[i].setAttribute( attrName, val ) ;\r
+               }\r
+       }\r
+\r
+       // Apply modifications to the DIV container according to dialog inputs.\r
+       if ( CurrentContainers.length == 1 )\r
+       {\r
+               setValue( 'class', 'txtClass' ) ;\r
+               setValue( 'id', 'txtId' ) ;\r
+       }\r
+       setValue( 'lang', 'txtLang' ) ;\r
+       if ( FCKBrowserInfo.IsIE )\r
+       {\r
+               for ( var i = 0 ; i < CurrentContainers.length ; i++ )\r
+                       CurrentContainers[i].style.cssText = GetE( 'txtInlineStyle' ).value ;\r
+       }\r
+       else\r
+               setValue( 'style', 'txtInlineStyle' ) ;\r
+       setValue( 'title', 'txtTitle' ) ;\r
+       for ( var i = 0 ; i < CurrentContainers.length ; i++ )\r
+       {\r
+               var dir = GetE( 'selLangDir' ).value ;\r
+               var styleName = GetE( 'selStyle' ).value ;\r
+               if ( GetNearestAncestorDirection( CurrentContainers[i] ) != dir )\r
+                       CurrentContainers[i].dir = dir ;\r
+               else\r
+                       CurrentContainers[i].removeAttribute( 'dir' ) ;\r
+\r
+               if ( styleName )\r
+                       FCKStyles.GetStyle( styleName ).ApplyToObject( CurrentContainers[i] ) ;\r
+       }\r
+\r
+       return true ;\r
+}\r
+\r
+       </script>\r
+</head>\r
+<body style="overflow: hidden">\r
+       <div id="divGeneral">\r
+               <table cellspacing="0" cellpadding="0" width="100%" border="0">\r
+                       <colgroup span="2">\r
+                               <col width="49%" />\r
+                               <col width="2%" />\r
+                               <col width="49%" />\r
+                       </colgroup>\r
+                       <tr>\r
+                               <td>\r
+                                       <span fcklang="DlgDivStyle">Style</span><br />\r
+                                       <select id="selStyle" style="width: 100%;">\r
+                                       </select>\r
+                               </td>\r
+                               <td>&nbsp;</td>\r
+                               <td>\r
+                                       <span fcklang="DlgGenClass">Stylesheet Classes</span><br />\r
+                                       <input id="txtClass" style="width: 100%" type="text" />\r
+                               </td>\r
+                       </tr>\r
+               </table>\r
+       </div>\r
+       <div id="divAdvanced" style="display: none">\r
+               <table cellspacing="0" cellpadding="0" width="100%" border="0">\r
+                       <colgroup span="2">\r
+                               <col width="49%" />\r
+                               <col width="2%" />\r
+                               <col width="49%" />\r
+                       </colgroup>\r
+                       <tr>\r
+                               <td>\r
+                                       <span fcklang="DlgGenId">Id</span><br />\r
+                                       <input style="width: 100%" type="text" id="txtId" />\r
+                               </td>\r
+                               <td>&nbsp;</td>\r
+                               <td>\r
+                                       <span fcklang="DlgGenLangCode">Language Code</span><br />\r
+                                       <input style="width: 100%" type="text" id="txtLang" />\r
+                               </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td colspan="3">&nbsp;</td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td colspan="3">\r
+                                       <span fcklang="DlgDivInlineStyle">Inline Style</span><br />\r
+                                       <input style="width: 100%" type="text" id="txtInlineStyle" />\r
+                               </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td colspan="3">&nbsp;</td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td colspan="3">\r
+                                       <span fcklang="DlgGenTitle">Advisory Title</span><br />\r
+                                       <input style="width: 100%" type="text" id="txtTitle" />\r
+                               </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td>&nbsp;</td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td>\r
+                                       <span fcklang="DlgGenLangDir">Language Direction</span><br />\r
+                                       <select id="selLangDir">\r
+                                               <option fcklang="DlgGenLangDirLtr" value="ltr">Left to Right (LTR)\r
+                                               <option fcklang="DlgGenLangDirRtl" value="rtl">Right to Left (RTL)\r
+                                       </select>\r
+                               </td>\r
+                       </tr>\r
+               </table>\r
+       </div>\r
+</body>\r
+</html>\r
index 3083466..935580d 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  *\r
  * Link dialog window.\r
 -->\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
+<html>\r
 <head>\r
        <title></title>\r
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
-       <meta content="noindex, nofollow" name="robots" />\r
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >\r
+       <meta content="noindex, nofollow" name="robots" >\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
@@ -282,7 +282,7 @@ function Ok()
                if ( sCharSet.length == 0 )\r
                        sCharSet = 'utf-8' ;\r
 \r
-               FCK.XmlDeclaration = '<?xml version="1.0" encoding="' + sCharSet + '"?>' ;\r
+               FCK.XmlDeclaration = '<' + '?xml version="1.0" encoding="' + sCharSet + '"?>' ;\r
 \r
                SetAttribute( oHTML, 'xmlns', 'http://www.w3.org/1999/xhtml' ) ;\r
        }\r
@@ -374,11 +374,11 @@ function SelectColor( wich )
 {\r
        switch ( wich )\r
        {\r
-               case 'Back'                     : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectBackColor, window ) ; return ;\r
-               case 'ColorText'        : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorText, window ) ; return ;\r
-               case 'ColorLink'        : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorLink, window ) ; return ;\r
-               case 'ColorVisited'     : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorVisited, window ) ; return ;\r
-               case 'ColorActive'      : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorActive, window ) ; return ;\r
+               case 'Back'                     : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectBackColor ) ; return ;\r
+               case 'ColorText'        : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorText ) ; return ;\r
+               case 'ColorLink'        : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorLink ) ; return ;\r
+               case 'ColorVisited'     : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorVisited ) ; return ;\r
+               case 'ColorActive'      : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorActive ) ; return ;\r
        }\r
 }\r
 \r
@@ -456,24 +456,24 @@ function SetUrl( url )
                                                <tr>\r
                                                        <td nowrap="nowrap">\r
                                                                <span fcklang="DlgDocDocType">Document Type Heading</span><br />\r
-                                                               <select id="selDocType" name="selDocType" onchange="CheckOther( this, 'txtDocType' );">\r
+                                                               <select id="selDocType" onchange="CheckOther( this, 'txtDocType' );">\r
                                                                        <option value="" selected="selected"></option>\r
-                                                                       <option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'>HTML\r
+                                                                       <option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;'>HTML\r
                                                                                4.01 Transitional</option>\r
-                                                                       <option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">'>\r
+                                                                       <option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;'>\r
                                                                                HTML 4.01 Strict</option>\r
-                                                                       <option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">'>\r
+                                                                       <option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"&gt;'>\r
                                                                                HTML 4.01 Frameset</option>\r
-                                                                       <option value='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'>\r
+                                                                       <option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;'>\r
                                                                                XHTML 1.0 Transitional</option>\r
-                                                                       <option value='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'>\r
+                                                                       <option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;'>\r
                                                                                XHTML 1.0 Strict</option>\r
-                                                                       <option value='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">'>\r
+                                                                       <option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"&gt;'>\r
                                                                                XHTML 1.0 Frameset</option>\r
-                                                                       <option value='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">'>\r
+                                                                       <option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;'>\r
                                                                                XHTML 1.1</option>\r
-                                                                       <option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">'>HTML 3.2</option>\r
-                                                                       <option value='<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">'>HTML 2.0</option>\r
+                                                                       <option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"&gt;'>HTML 3.2</option>\r
+                                                                       <option value='&lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"&gt;'>HTML 2.0</option>\r
                                                                        <option value="..." fcklang="DlgOpOther">&lt;Other&gt;</option>\r
                                                                </select>\r
                                                        </td>\r
index 2092775..1df5732 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -26,7 +26,7 @@
                <title>Document Properties - Preview</title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <meta name="robots" content="noindex, nofollow">\r
-               <script language="javascript">\r
+               <script type="text/javascript">\r
 \r
 var eBase = parent.FCK.EditorDocument.getElementsByTagName( 'BASE' ) ;\r
 if ( eBase.length > 0 && eBase[0].href.length > 0 )\r
index be529e3..3428826 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <meta content="noindex, nofollow" name="robots">\r
                <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script src="fck_flash/fck_flash.js" type="text/javascript"></script>\r
-               <link href="common/fck_dialog_common.css" type="text/css" rel="stylesheet">\r
+               <script type="text/javascript">\r
+\r
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;\r
+\r
+               </script>\r
        </head>\r
        <body scroll="no" style="OVERFLOW: hidden">\r
                <div id="divInfo">\r
                                                        <TR>\r
                                                                <TD nowrap>\r
                                                                        <span fckLang="DlgImgWidth">Width</span><br>\r
-                                                                       <input id="txtWidth" class="FCK__FieldNumeric" type="text" size="3">\r
+                                                                       <input id="txtWidth" onkeypress="return IsDigit(event);" type="text" size="3">\r
                                                                </TD>\r
                                                                <TD>&nbsp;</TD>\r
                                                                <TD>\r
                                                                        <span fckLang="DlgImgHeight">Height</span><br>\r
-                                                                       <input id="txtHeight" class="FCK__FieldNumeric" type="text" size="3">\r
+                                                                       <input id="txtHeight" onkeypress="return IsDigit(event);" type="text" size="3">\r
                                                                </TD>\r
                                                        </TR>\r
                                                </table>\r
@@ -92,7 +96,9 @@
                                <input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />\r
                                <br />\r
                                <input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />\r
-                               <iframe name="UploadWindow" style="DISPLAY: none" src="javascript:void(0)"></iframe>\r
+                               <script type="text/javascript">\r
+                                       document.write( '<iframe name="UploadWindow" style="DISPLAY: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;\r
+                               </script>\r
                        </form>\r
                </div>\r
                <div id="divAdvanced" style="DISPLAY: none">\r
index ee97bc5..cb28d43 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Scripts related to the Flash dialog window (see fck_flash.html).\r
  */\r
 \r
-var oEditor            = window.parent.InnerDialogLoaded() ;\r
+var dialog             = window.parent ;\r
+var oEditor            = dialog.InnerDialogLoaded() ;\r
 var FCK                        = oEditor.FCK ;\r
 var FCKLang            = oEditor.FCKLang ;\r
 var FCKConfig  = oEditor.FCKConfig ;\r
+var FCKTools   = oEditor.FCKTools ;\r
 \r
 //#### Dialog Tabs\r
 \r
 // Set the dialog tabs.\r
-window.parent.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;\r
+dialog.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;\r
 \r
 if ( FCKConfig.FlashUpload )\r
-       window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;\r
+       dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;\r
 \r
 if ( !FCKConfig.FlashDlgHideAdvanced )\r
-       window.parent.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;\r
+       dialog.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;\r
 \r
 // Function called when a dialog tag is selected.\r
 function OnDialogTabChange( tabCode )\r
@@ -46,7 +48,7 @@ function OnDialogTabChange( tabCode )
 }\r
 \r
 // Get the selected flash embed (if available).\r
-var oFakeImage = FCK.Selection.GetSelectedElement() ;\r
+var oFakeImage = dialog.Selection.GetSelectedElement() ;\r
 var oEmbed ;\r
 \r
 if ( oFakeImage )\r
@@ -72,10 +74,12 @@ window.onload = function()
        if ( FCKConfig.FlashUpload )\r
                GetE('frmUpload').action = FCKConfig.FlashUploadURL ;\r
 \r
-       window.parent.SetAutoSize( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
 \r
        // Activate the "OK" button.\r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+\r
+       SelectField( 'txtUrl' ) ;\r
 }\r
 \r
 function LoadSelection()\r
@@ -114,7 +118,7 @@ function Ok()
 {\r
        if ( GetE('txtUrl').value.length == 0 )\r
        {\r
-               window.parent.SetSelectedTab( 'Info' ) ;\r
+               dialog.SetSelectedTab( 'Info' ) ;\r
                GetE('txtUrl').focus() ;\r
 \r
                alert( oEditor.FCKLang.DlgAlertUrl ) ;\r
@@ -122,6 +126,7 @@ function Ok()
                return false ;\r
        }\r
 \r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
        if ( !oEmbed )\r
        {\r
                oEmbed          = FCK.EditorDocument.createElement( 'EMBED' ) ;\r
@@ -133,12 +138,10 @@ function Ok()
        {\r
                oFakeImage      = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__Flash', oEmbed ) ;\r
                oFakeImage.setAttribute( '_fckflash', 'true', 0 ) ;\r
-               oFakeImage      = FCK.InsertElementAndGetIt( oFakeImage ) ;\r
+               oFakeImage      = FCK.InsertElement( oFakeImage ) ;\r
        }\r
-       else\r
-               oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
-       oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oEmbed ) ;\r
+       oEditor.FCKEmbedAndObjectProcessor.RefreshView( oFakeImage, oEmbed ) ;\r
 \r
        return true ;\r
 }\r
@@ -228,11 +231,15 @@ function SetUrl( url, width, height )
 \r
        UpdatePreview() ;\r
 \r
-       window.parent.SetSelectedTab( 'Info' ) ;\r
+       dialog.SetSelectedTab( 'Info' ) ;\r
 }\r
 \r
 function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )\r
 {\r
+       // Remove animation\r
+       window.parent.Throbber.Hide() ;\r
+       GetE( 'divUpload' ).style.display  = '' ;\r
+\r
        switch ( errorNumber )\r
        {\r
                case 0 :        // No errors\r
@@ -253,6 +260,9 @@ function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
                case 203 :\r
                        alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;\r
                        return ;\r
+               case 500 :\r
+                       alert( 'The connector is disabled' ) ;\r
+                       break ;\r
                default :\r
                        alert( 'Error on file upload. Error number: ' + errorNumber ) ;\r
                        return ;\r
@@ -282,5 +292,9 @@ function CheckUpload()
                return false ;\r
        }\r
 \r
+       // Show animation\r
+       window.parent.Throbber.Show( 100 ) ;\r
+       GetE( 'divUpload' ).style.display  = 'none' ;\r
+\r
        return true ;\r
-}
\ No newline at end of file
+}\r
index ad3a0a1..68a4c79 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <title></title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <meta name="robots" content="noindex, nofollow">\r
-               <link href="../common/fck_dialog_common.css" rel="stylesheet" type="text/css" />\r
+               <script src="../common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script language="javascript">\r
 \r
+var FCKTools   = window.parent.FCKTools ;\r
+var FCKConfig  = window.parent.FCKConfig ;\r
+\r
 // Sets the Skin CSS\r
-document.write( '<link href="' + window.parent.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;\r
+document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;\r
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss( '../' ) ) ) ;\r
 \r
 if ( window.parent.FCKConfig.BaseHref.length > 0 )\r
        document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ;\r
index 66e56d9..0284527 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = oEditor.FCKSelection.MoveToAncestorNode( 'FORM' ) ;\r
+var oActiveEl = dialog.Selection.GetSelection().MoveToAncestorNode( 'FORM' ) ;\r
 \r
 window.onload = function()\r
 {\r
@@ -50,20 +51,23 @@ window.onload = function()
        else\r
                oActiveEl = null ;\r
 \r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
+       SelectField( 'txtName' ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
        if ( !oActiveEl )\r
        {\r
-               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'FORM' ) ;\r
-               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
-               oActiveEl.innerHTML = '&nbsp;' ;\r
+               oActiveEl = oEditor.FCK.InsertElement( 'form' ) ;\r
+\r
+               if ( oEditor.FCKBrowserInfo.IsGeckoLike )\r
+                       oEditor.FCKTools.AppendBogusBr( oActiveEl ) ;\r
        }\r
 \r
        oActiveEl.name = GetE('txtName').value ;\r
-       SetAttribute( oActiveEl, 'action'       , GetE('txtAction').value ) ;\r
+       SetAttribute( oActiveEl, 'action', GetE('txtAction').value ) ;\r
        oActiveEl.method = GetE('txtMethod').value ;\r
 \r
        return true ;\r
index 1ae8ae6..f9bfb74 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
+\r
 var FCK = oEditor.FCK ;\r
 \r
 // Gets the document DOM\r
 var oDOM = FCK.EditorDocument ;\r
 \r
 // Get the selected flash embed (if available).\r
-var oFakeImage = FCK.Selection.GetSelectedElement() ;\r
+var oFakeImage = dialog.Selection.GetSelectedElement() ;\r
 var oActiveEl ;\r
 \r
 if ( oFakeImage )\r
@@ -58,34 +60,31 @@ window.onload = function()
                GetE('txtValue').value          = oActiveEl.value ;\r
        }\r
 \r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
+       SelectField( 'txtName' ) ;\r
 }\r
 \r
 \r
 function Ok()\r
 {\r
-       if ( !oActiveEl )\r
-       {\r
-               oActiveEl = FCK.EditorDocument.createElement( 'INPUT' ) ;\r
-               oActiveEl.type = 'hidden' ;\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
-               oFakeImage = null ;\r
-       }\r
+       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: 'hidden' } ) ;\r
 \r
-       oActiveEl.name = GetE('txtName').value ;\r
        SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;\r
 \r
        if ( !oFakeImage )\r
        {\r
                oFakeImage      = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__InputHidden', oActiveEl ) ;\r
                oFakeImage.setAttribute( '_fckinputhidden', 'true', 0 ) ;\r
-               oFakeImage      = FCK.InsertElementAndGetIt( oFakeImage ) ;\r
+\r
+               oActiveEl.parentNode.insertBefore( oFakeImage, oActiveEl ) ;\r
+               oActiveEl.parentNode.removeChild( oActiveEl ) ;\r
        }\r
        else\r
                oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
-       oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oActiveEl ) ;\r
-\r
        return true ;\r
 }\r
 \r
index e4a8b03..b082b2b 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <meta name="robots" content="noindex, nofollow" />\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script src="fck_image/fck_image.js" type="text/javascript"></script>\r
-       <link href="common/fck_dialog_common.css" rel="stylesheet" type="text/css" />\r
+               <script type="text/javascript">\r
+\r
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;\r
+\r
+               </script>\r
 </head>\r
 <body scroll="no" style="overflow: hidden">\r
        <div id="divInfo">\r
                        <input id="txtUploadFile" style="width: 100%" type="file" size="40" name="NewFile" /><br />\r
                        <br />\r
                        <input id="btnUpload" type="submit" value="Send it to the Server" fcklang="DlgLnkBtnUpload" />\r
-                       <iframe name="UploadWindow" style="display: none" src="javascript:void(0)"></iframe>\r
+                       <script type="text/javascript">\r
+                               document.write( '<iframe name="UploadWindow" style="display: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;\r
+                       </script>\r
                </form>\r
        </div>\r
        <div id="divLink" style="display: none">\r
index 89b0f95..c341faa 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Scripts related to the Image dialog window (see fck_image.html).\r
  */\r
 \r
-var oEditor            = window.parent.InnerDialogLoaded() ;\r
+var dialog             = window.parent ;\r
+var oEditor            = dialog.InnerDialogLoaded() ;\r
 var FCK                        = oEditor.FCK ;\r
 var FCKLang            = oEditor.FCKLang ;\r
 var FCKConfig  = oEditor.FCKConfig ;\r
 var FCKDebug   = oEditor.FCKDebug ;\r
+var FCKTools   = oEditor.FCKTools ;\r
 \r
 var bImageButton = ( document.location.search.length > 0 && document.location.search.substr(1) == 'ImageButton' ) ;\r
 \r
 //#### Dialog Tabs\r
 \r
 // Set the dialog tabs.\r
-window.parent.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ;\r
+dialog.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ;\r
 \r
 if ( !bImageButton && !FCKConfig.ImageDlgHideLink )\r
-       window.parent.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;\r
+       dialog.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;\r
 \r
 if ( FCKConfig.ImageUpload )\r
-       window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;\r
+       dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;\r
 \r
 if ( !FCKConfig.ImageDlgHideAdvanced )\r
-       window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;\r
+       dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;\r
 \r
 // Function called when a dialog tag is selected.\r
 function OnDialogTabChange( tabCode )\r
@@ -53,13 +55,13 @@ function OnDialogTabChange( tabCode )
 }\r
 \r
 // Get the selected image (if available).\r
-var oImage = FCK.Selection.GetSelectedElement() ;\r
+var oImage = dialog.Selection.GetSelectedElement() ;\r
 \r
 if ( oImage && oImage.tagName != 'IMG' && !( oImage.tagName == 'INPUT' && oImage.type == 'image' ) )\r
        oImage = null ;\r
 \r
 // Get the active link.\r
-var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;\r
+var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ;\r
 \r
 var oImageOriginal ;\r
 \r
@@ -111,10 +113,12 @@ window.onload = function()
        if ( FCKConfig.ImageUpload )\r
                GetE('frmUpload').action = FCKConfig.ImageUploadURL ;\r
 \r
-       window.parent.SetAutoSize( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
 \r
        // Activate the "OK" button.\r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+\r
+       SelectField( 'txtUrl' ) ;\r
 }\r
 \r
 function LoadSelection()\r
@@ -197,7 +201,7 @@ function Ok()
 {\r
        if ( GetE('txtUrl').value.length == 0 )\r
        {\r
-               window.parent.SetSelectedTab( 'Info' ) ;\r
+               dialog.SetSelectedTab( 'Info' ) ;\r
                GetE('txtUrl').focus() ;\r
 \r
                alert( FCKLang.DlgImgAlertUrl ) ;\r
@@ -218,19 +222,18 @@ function Ok()
                        oImage = null ;\r
        }\r
 \r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
        if ( !bHasImage )\r
        {\r
                if ( bImageButton )\r
                {\r
-                       oImage = FCK.EditorDocument.createElement( 'INPUT' ) ;\r
+                       oImage = FCK.EditorDocument.createElement( 'input' ) ;\r
                        oImage.type = 'image' ;\r
-                       oImage = FCK.InsertElementAndGetIt( oImage ) ;\r
+                       oImage = FCK.InsertElement( oImage ) ;\r
                }\r
                else\r
-                       oImage = FCK.CreateElement( 'IMG' ) ;\r
+                       oImage = FCK.InsertElement( 'img' ) ;\r
        }\r
-       else\r
-               oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
        UpdateImage( oImage ) ;\r
 \r
@@ -354,7 +357,7 @@ function SwitchLock( lockButton )
 // Fired when the width or height input texts change\r
 function OnSizeChanged( dimension, value )\r
 {\r
-       // Verifies if the aspect ration has to be mantained\r
+       // Verifies if the aspect ration has to be maintained\r
        if ( oImageOriginal && bLockRatio )\r
        {\r
                var e = dimension == 'Width' ? GetE('txtHeight') : GetE('txtWidth') ;\r
@@ -381,6 +384,11 @@ function OnSizeChanged( dimension, value )
 function ResetSizes()\r
 {\r
        if ( ! oImageOriginal ) return ;\r
+       if ( oEditor.FCKBrowserInfo.IsGecko && !oImageOriginal.complete )\r
+       {\r
+               setTimeout( ResetSizes, 50 ) ;\r
+               return ;\r
+       }\r
 \r
        GetE('txtWidth').value  = oImageOriginal.width ;\r
        GetE('txtHeight').value = oImageOriginal.height ;\r
@@ -434,11 +442,15 @@ function SetUrl( url, width, height, alt )
                UpdateOriginal( true ) ;\r
        }\r
 \r
-       window.parent.SetSelectedTab( 'Info' ) ;\r
+       dialog.SetSelectedTab( 'Info' ) ;\r
 }\r
 \r
 function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )\r
 {\r
+       // Remove animation\r
+       window.parent.Throbber.Hide() ;\r
+       GetE( 'divUpload' ).style.display  = '' ;\r
+\r
        switch ( errorNumber )\r
        {\r
                case 0 :        // No errors\r
@@ -459,6 +471,9 @@ function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
                case 203 :\r
                        alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;\r
                        return ;\r
+               case 500 :\r
+                       alert( 'The connector is disabled' ) ;\r
+                       break ;\r
                default :\r
                        alert( 'Error on file upload. Error number: ' + errorNumber ) ;\r
                        return ;\r
@@ -489,5 +504,9 @@ function CheckUpload()
                return false ;\r
        }\r
 \r
+       // Show animation\r
+       window.parent.Throbber.Show( 100 ) ;\r
+       GetE( 'divUpload' ).style.display  = 'none' ;\r
+\r
        return true ;\r
-}
\ No newline at end of file
+}\r
index 21bdc25..db0d2e0 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <title></title>\r
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
        <meta name="robots" content="noindex, nofollow" />\r
-       <link href="../common/fck_dialog_common.css" rel="stylesheet" type="text/css" />\r
+       <script src="../common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-// Sets the Skin CSS\r
-document.write( '<link href="' + window.parent.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;\r
+var FCKTools   = window.parent.FCKTools ;\r
+var FCKConfig  = window.parent.FCKConfig ;\r
+\r
+// Set the preview CSS\r
+document.write( FCKTools.GetStyleHtml( FCKConfig.EditorAreaCSS ) ) ;\r
+document.write( FCKTools.GetStyleHtml( FCKConfig.EditorAreaStyles ) ) ;\r
 \r
 if ( window.parent.FCKConfig.BaseHref.length > 0 )\r
        document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ;\r
@@ -46,21 +50,23 @@ window.onload = function()
 \r
        </script>\r
 </head>\r
-<body style="color: #000000; background-color: #ffffff">\r
-       <a id="lnkPreview" onclick="return false;" style="cursor: default">\r
-               <img id="imgPreview" onload="window.parent.UpdateOriginal();" style="display: none" /></a>Lorem\r
-       ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam.\r
-       Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla.\r
-       Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis\r
-       euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce\r
-       mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie.\r
-       Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque\r
-       egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem,\r
-       in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut\r
-       placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy\r
-       metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices,\r
-       ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris\r
-       non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas\r
-       elementum. Nunc imperdiet gravida mauris.\r
+<body>\r
+       <div>\r
+               <a id="lnkPreview" onclick="return false;" style="cursor: default">\r
+                       <img id="imgPreview" onload="window.parent.UpdateOriginal();"\r
+                               style="display: none" alt="" /></a>Lorem ipsum dolor sit amet, consectetuer adipiscing\r
+               elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus\r
+               a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis,\r
+               nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed\r
+               velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper\r
+               nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices\r
+               a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus\r
+               faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget\r
+               tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit,\r
+               tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis\r
+               id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus,\r
+               eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur\r
+               ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.\r
+       </div>\r
 </body>\r
 </html>\r
index c8f37b6..b57e1f0 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                                <input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />\r
                                <br />\r
                                <input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />\r
-                               <iframe name="UploadWindow" style="DISPLAY: none" src="javascript:void(0)"></iframe>\r
+                               <script type="text/javascript">\r
+                                       document.write( '<iframe name="UploadWindow" style="display: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;\r
+                               </script>\r
                        </form>\r
                </div>\r
                <div id="divTarget" style="DISPLAY: none">\r
index 6d96499..449e13f 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Scripts related to the Link dialog window (see fck_link.html).\r
  */\r
 \r
-var oEditor            = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
+\r
 var FCK                        = oEditor.FCK ;\r
 var FCKLang            = oEditor.FCKLang ;\r
 var FCKConfig  = oEditor.FCKConfig ;\r
 var FCKRegexLib        = oEditor.FCKRegexLib ;\r
+var FCKTools   = oEditor.FCKTools ;\r
 \r
 //#### Dialog Tabs\r
 \r
 // Set the dialog tabs.\r
-window.parent.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ;\r
+dialog.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ;\r
 \r
 if ( !FCKConfig.LinkDlgHideTarget )\r
-       window.parent.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ;\r
+       dialog.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ;\r
 \r
 if ( FCKConfig.LinkUpload )\r
-       window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload, true ) ;\r
+       dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload, true ) ;\r
 \r
 if ( !FCKConfig.LinkDlgHideAdvanced )\r
-       window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;\r
+       dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;\r
 \r
 // Function called when a dialog tag is selected.\r
 function OnDialogTabChange( tabCode )\r
@@ -49,7 +52,7 @@ function OnDialogTabChange( tabCode )
        ShowE('divUpload'       , ( tabCode == 'Upload' ) ) ;\r
        ShowE('divAttribs'      , ( tabCode == 'Advanced' ) ) ;\r
 \r
-       window.parent.SetAutoSize( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
 }\r
 \r
 //#### Regular Expressions library.\r
@@ -74,36 +77,187 @@ oRegex.PopupFeatures = /(?:^|,)([^=]+)=(\d+|yes|no)/gi ;
 \r
 var oParser = new Object() ;\r
 \r
-oParser.ParseEMailUrl = function( emailUrl )\r
+// This method simply returns the two inputs in numerical order. You can even\r
+// provide strings, as the method would parseInt() the values.\r
+oParser.SortNumerical = function(a, b)\r
+{\r
+       return parseInt( a, 10 ) - parseInt( b, 10 ) ;\r
+}\r
+\r
+oParser.ParseEMailParams = function(sParams)\r
+{\r
+       // Initialize the oEMailParams object.\r
+       var oEMailParams = new Object() ;\r
+       oEMailParams.Subject = '' ;\r
+       oEMailParams.Body = '' ;\r
+\r
+       var aMatch = sParams.match( /(^|^\?|&)subject=([^&]+)/i ) ;\r
+       if ( aMatch ) oEMailParams.Subject = decodeURIComponent( aMatch[2] ) ;\r
+\r
+       aMatch = sParams.match( /(^|^\?|&)body=([^&]+)/i ) ;\r
+       if ( aMatch ) oEMailParams.Body = decodeURIComponent( aMatch[2] ) ;\r
+\r
+       return oEMailParams ;\r
+}\r
+\r
+// This method returns either an object containing the email info, or FALSE\r
+// if the parameter is not an email link.\r
+oParser.ParseEMailUri = function( sUrl )\r
 {\r
        // Initializes the EMailInfo object.\r
        var oEMailInfo = new Object() ;\r
-       oEMailInfo.Address      = '' ;\r
-       oEMailInfo.Subject      = '' ;\r
-       oEMailInfo.Body         = '' ;\r
+       oEMailInfo.Address = '' ;\r
+       oEMailInfo.Subject = '' ;\r
+       oEMailInfo.Body = '' ;\r
 \r
-       var oParts = emailUrl.match( /^([^\?]+)\??(.+)?/ ) ;\r
-       if ( oParts )\r
+       var aLinkInfo = sUrl.match( /^(\w+):(.*)$/ ) ;\r
+       if ( aLinkInfo && aLinkInfo[1] == 'mailto' )\r
        {\r
-               // Set the e-mail address.\r
-               oEMailInfo.Address = oParts[1] ;\r
-\r
-               // Look for the optional e-mail parameters.\r
-               if ( oParts[2] )\r
+               // This seems to be an unprotected email link.\r
+               var aParts = aLinkInfo[2].match( /^([^\?]+)\??(.+)?/ ) ;\r
+               if ( aParts )\r
                {\r
-                       var oMatch = oParts[2].match( /(^|&)subject=([^&]+)/i ) ;\r
-                       if ( oMatch ) oEMailInfo.Subject = decodeURIComponent( oMatch[2] ) ;\r
+                       // Set the e-mail address.\r
+                       oEMailInfo.Address = aParts[1] ;\r
 \r
-                       oMatch = oParts[2].match( /(^|&)body=([^&]+)/i ) ;\r
-                       if ( oMatch ) oEMailInfo.Body = decodeURIComponent( oMatch[2] ) ;\r
+                       // Look for the optional e-mail parameters.\r
+                       if ( aParts[2] )\r
+                       {\r
+                               var oEMailParams = oParser.ParseEMailParams( aParts[2] ) ;\r
+                               oEMailInfo.Subject = oEMailParams.Subject ;\r
+                               oEMailInfo.Body = oEMailParams.Body ;\r
+                       }\r
                }\r
+               return oEMailInfo ;\r
        }\r
+       else if ( aLinkInfo && aLinkInfo[1] == 'javascript' )\r
+       {\r
+               // This may be a protected email.\r
+\r
+               // Try to match the url against the EMailProtectionFunction.\r
+               var func = FCKConfig.EMailProtectionFunction ;\r
+               if ( func != null )\r
+               {\r
+                       try\r
+                       {\r
+                               // Escape special chars.\r
+                               func = func.replace( /([\/^$*+.?()\[\]])/g, '\\$1' ) ;\r
+\r
+                               // Define the possible keys.\r
+                               var keys = new Array('NAME', 'DOMAIN', 'SUBJECT', 'BODY') ;\r
+\r
+                               // Get the order of the keys (hold them in the array <pos>) and\r
+                               // the function replaced by regular expression patterns.\r
+                               var sFunc = func ;\r
+                               var pos = new Array() ;\r
+                               for ( var i = 0 ; i < keys.length ; i ++ )\r
+                               {\r
+                                       var rexp = new RegExp( keys[i] ) ;\r
+                                       var p = func.search( rexp ) ;\r
+                                       if ( p >= 0 )\r
+                                       {\r
+                                               sFunc = sFunc.replace( rexp, '\'([^\']*)\'' ) ;\r
+                                               pos[pos.length] = p + ':' + keys[i] ;\r
+                                       }\r
+                               }\r
+\r
+                               // Sort the available keys.\r
+                               pos.sort( oParser.SortNumerical ) ;\r
+\r
+                               // Replace the excaped single quotes in the url, such they do\r
+                               // not affect the regexp afterwards.\r
+                               aLinkInfo[2] = aLinkInfo[2].replace( /\\'/g, '###SINGLE_QUOTE###' ) ;\r
+\r
+                               // Create the regexp and execute it.\r
+                               var rFunc = new RegExp( '^' + sFunc + '$' ) ;\r
+                               var aMatch = rFunc.exec( aLinkInfo[2] ) ;\r
+                               if ( aMatch )\r
+                               {\r
+                                       var aInfo = new Array();\r
+                                       for ( var i = 1 ; i < aMatch.length ; i ++ )\r
+                                       {\r
+                                               var k = pos[i-1].match(/^\d+:(.+)$/) ;\r
+                                               aInfo[k[1]] = aMatch[i].replace(/###SINGLE_QUOTE###/g, '\'') ;\r
+                                       }\r
+\r
+                                       // Fill the EMailInfo object that will be returned\r
+                                       oEMailInfo.Address = aInfo['NAME'] + '@' + aInfo['DOMAIN'] ;\r
+                                       oEMailInfo.Subject = decodeURIComponent( aInfo['SUBJECT'] ) ;\r
+                                       oEMailInfo.Body = decodeURIComponent( aInfo['BODY'] ) ;\r
+\r
+                                       return oEMailInfo ;\r
+                               }\r
+                       }\r
+                       catch (e)\r
+                       {\r
+                       }\r
+               }\r
 \r
-       return oEMailInfo ;\r
+               // Try to match the email against the encode protection.\r
+               var aMatch = aLinkInfo[2].match( /^(?:void\()?location\.href='mailto:'\+(String\.fromCharCode\([\d,]+\))\+'(.*)'\)?$/ ) ;\r
+               if ( aMatch )\r
+               {\r
+                       // The link is encoded\r
+                       oEMailInfo.Address = eval( aMatch[1] ) ;\r
+                       if ( aMatch[2] )\r
+                       {\r
+                               var oEMailParams = oParser.ParseEMailParams( aMatch[2] ) ;\r
+                               oEMailInfo.Subject = oEMailParams.Subject ;\r
+                               oEMailInfo.Body = oEMailParams.Body ;\r
+                       }\r
+                       return oEMailInfo ;\r
+               }\r
+       }\r
+       return false;\r
 }\r
 \r
 oParser.CreateEMailUri = function( address, subject, body )\r
 {\r
+       // Switch for the EMailProtection setting.\r
+       switch ( FCKConfig.EMailProtection )\r
+       {\r
+               case 'function' :\r
+                       var func = FCKConfig.EMailProtectionFunction ;\r
+                       if ( func == null )\r
+                       {\r
+                               if ( FCKConfig.Debug )\r
+                               {\r
+                                       alert('EMailProtection alert!\nNo function defined. Please set "FCKConfig.EMailProtectionFunction"') ;\r
+                               }\r
+                               return '';\r
+                       }\r
+\r
+                       // Split the email address into name and domain parts.\r
+                       var aAddressParts = address.split( '@', 2 ) ;\r
+                       if ( aAddressParts[1] == undefined )\r
+                       {\r
+                               aAddressParts[1] = '' ;\r
+                       }\r
+\r
+                       // Replace the keys by their values (embedded in single quotes).\r
+                       func = func.replace(/NAME/g, "'" + aAddressParts[0].replace(/'/g, '\\\'') + "'") ;\r
+                       func = func.replace(/DOMAIN/g, "'" + aAddressParts[1].replace(/'/g, '\\\'') + "'") ;\r
+                       func = func.replace(/SUBJECT/g, "'" + encodeURIComponent( subject ).replace(/'/g, '\\\'') + "'") ;\r
+                       func = func.replace(/BODY/g, "'" + encodeURIComponent( body ).replace(/'/g, '\\\'') + "'") ;\r
+\r
+                       return 'javascript:' + func ;\r
+\r
+               case 'encode' :\r
+                       var aParams = [] ;\r
+                       var aAddressCode = [] ;\r
+\r
+                       if ( subject.length > 0 )\r
+                               aParams.push( 'subject='+ encodeURIComponent( subject ) ) ;\r
+                       if ( body.length > 0 )\r
+                               aParams.push( 'body=' + encodeURIComponent( body ) ) ;\r
+                       for ( var i = 0 ; i < address.length ; i++ )\r
+                               aAddressCode.push( address.charCodeAt( i ) ) ;\r
+\r
+                       return 'javascript:void(location.href=\'mailto:\'+String.fromCharCode(' + aAddressCode.join( ',' ) + ')+\'?' + aParams.join( '&' ) + '\')' ;\r
+       }\r
+\r
+       // EMailProtection 'none'\r
+\r
        var sBaseUri = 'mailto:' + address ;\r
 \r
        var sParams = '' ;\r
@@ -123,7 +277,7 @@ oParser.CreateEMailUri = function( address, subject, body )
 //#### Initialization Code\r
 \r
 // oLink: The actual selected link in the editor.\r
-var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;\r
+var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ;\r
 if ( oLink )\r
        FCK.Selection.SelectNode( oLink ) ;\r
 \r
@@ -155,7 +309,23 @@ window.onload = function()
        SetDefaultTarget() ;\r
 \r
        // Activate the "OK" button.\r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+\r
+       // Select the first field.\r
+       switch( GetE('cmbLinkType').value )\r
+       {\r
+               case 'url' :\r
+                       SelectField( 'txtUrl' ) ;\r
+                       break ;\r
+               case 'email' :\r
+                       SelectField( 'txtEMailAddress' ) ;\r
+                       break ;\r
+               case 'anchor' :\r
+                       if ( GetE('divSelAnchor').style.display != 'none' )\r
+                               SelectField( 'cmbAnchorName' ) ;\r
+                       else\r
+                               SelectField( 'cmbLinkType' ) ;\r
+       }\r
 }\r
 \r
 var bHasAnchors ;\r
@@ -181,7 +351,7 @@ function LoadAnchorNamesAndIds()
                        aAnchors[ aAnchors.length ] = oLinks[i] ;\r
        }\r
 \r
-       var aIds = oEditor.FCKTools.GetAllChildrenIds( oEditor.FCK.EditorDocument.body ) ;\r
+       var aIds = FCKTools.GetAllChildrenIds( oEditor.FCK.EditorDocument.body ) ;\r
 \r
        bHasAnchors = ( aAnchors.length > 0 || aIds.length > 0 ) ;\r
 \r
@@ -189,12 +359,12 @@ function LoadAnchorNamesAndIds()
        {\r
                var sName = aAnchors[i].name ;\r
                if ( sName && sName.length > 0 )\r
-                       oEditor.FCKTools.AddSelectOption( GetE('cmbAnchorName'), sName, sName ) ;\r
+                       FCKTools.AddSelectOption( GetE('cmbAnchorName'), sName, sName ) ;\r
        }\r
 \r
        for ( i = 0 ; i < aIds.length ; i++ )\r
        {\r
-               oEditor.FCKTools.AddSelectOption( GetE('cmbAnchorId'), aIds[i], aIds[i] ) ;\r
+               FCKTools.AddSelectOption( GetE('cmbAnchorId'), aIds[i], aIds[i] ) ;\r
        }\r
 \r
        ShowE( 'divSelAnchor'   , bHasAnchors ) ;\r
@@ -222,43 +392,48 @@ function LoadSelection()
                SetTarget( 'popup' ) ;\r
        }\r
 \r
-       // Accesible popups, the popup data is in the onclick attribute\r
-       if ( !oPopupMatch ) {\r
+       // Accessible popups, the popup data is in the onclick attribute\r
+       if ( !oPopupMatch )\r
+       {\r
                var onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ;\r
-               oPopupMatch = oRegex.OnClickPopup.exec( onclick ) ;\r
-               if( oPopupMatch )\r
+               if ( onclick )\r
                {\r
-                       GetE( 'cmbTarget' ).value = 'popup' ;\r
-                       FillPopupFields( oPopupMatch[1], oPopupMatch[2] ) ;\r
-                       SetTarget( 'popup' ) ;\r
+                       // Decode the protected string\r
+                       onclick = decodeURIComponent( onclick ) ;\r
+\r
+                       oPopupMatch = oRegex.OnClickPopup.exec( onclick ) ;\r
+                       if( oPopupMatch )\r
+                       {\r
+                               GetE( 'cmbTarget' ).value = 'popup' ;\r
+                               FillPopupFields( oPopupMatch[1], oPopupMatch[2] ) ;\r
+                               SetTarget( 'popup' ) ;\r
+                       }\r
                }\r
        }\r
 \r
        // Search for the protocol.\r
        var sProtocol = oRegex.UriProtocol.exec( sHRef ) ;\r
 \r
-       if ( sProtocol )\r
+       // Search for a protected email link.\r
+       var oEMailInfo = oParser.ParseEMailUri( sHRef );\r
+\r
+       if ( oEMailInfo )\r
+       {\r
+               sType = 'email' ;\r
+\r
+               GetE('txtEMailAddress').value = oEMailInfo.Address ;\r
+               GetE('txtEMailSubject').value = oEMailInfo.Subject ;\r
+               GetE('txtEMailBody').value    = oEMailInfo.Body ;\r
+       }\r
+       else if ( sProtocol )\r
        {\r
                sProtocol = sProtocol[0].toLowerCase() ;\r
                GetE('cmbLinkProtocol').value = sProtocol ;\r
 \r
-               // Remove the protocol and get the remainig URL.\r
+               // Remove the protocol and get the remaining URL.\r
                var sUrl = sHRef.replace( oRegex.UriProtocol, '' ) ;\r
-\r
-               if ( sProtocol == 'mailto:' )   // It is an e-mail link.\r
-               {\r
-                       sType = 'email' ;\r
-\r
-                       var oEMailInfo = oParser.ParseEMailUrl( sUrl ) ;\r
-                       GetE('txtEMailAddress').value   = oEMailInfo.Address ;\r
-                       GetE('txtEMailSubject').value   = oEMailInfo.Subject ;\r
-                       GetE('txtEMailBody').value              = oEMailInfo.Body ;\r
-               }\r
-               else                            // It is a normal link.\r
-               {\r
-                       sType = 'url' ;\r
-                       GetE('txtUrl').value = sUrl ;\r
-               }\r
+               sType = 'url' ;\r
+               GetE('txtUrl').value = sUrl ;\r
        }\r
        else if ( sHRef.substr(0,1) == '#' && sHRef.length > 1 )        // It is an anchor link.\r
        {\r
@@ -330,16 +505,16 @@ function SetLinkType( linkType )
        ShowE('divLinkTypeEMail'        , (linkType == 'email') ) ;\r
 \r
        if ( !FCKConfig.LinkDlgHideTarget )\r
-               window.parent.SetTabVisibility( 'Target'        , (linkType == 'url') ) ;\r
+               dialog.SetTabVisibility( 'Target'       , (linkType == 'url') ) ;\r
 \r
        if ( FCKConfig.LinkUpload )\r
-               window.parent.SetTabVisibility( 'Upload'        , (linkType == 'url') ) ;\r
+               dialog.SetTabVisibility( 'Upload'       , (linkType == 'url') ) ;\r
 \r
        if ( !FCKConfig.LinkDlgHideAdvanced )\r
-               window.parent.SetTabVisibility( 'Advanced'      , (linkType != 'anchor' || bHasAnchors) ) ;\r
+               dialog.SetTabVisibility( 'Advanced'     , (linkType != 'anchor' || bHasAnchors) ) ;\r
 \r
        if ( linkType == 'email' )\r
-               window.parent.SetAutoSize( true ) ;\r
+               dialog.SetAutoSize( true ) ;\r
 }\r
 \r
 //#### Target type selection.\r
@@ -347,7 +522,7 @@ function SetTarget( targetType )
 {\r
        GetE('tdTargetFrame').style.display     = ( targetType == 'popup' ? 'none' : '' ) ;\r
        GetE('tdPopupName').style.display       =\r
-               GetE('tablePopupFeatures').style.display = ( targetType == 'popup' ? '' : 'none' ) ;\r
+       GetE('tablePopupFeatures').style.display = ( targetType == 'popup' ? '' : 'none' ) ;\r
 \r
        switch ( targetType )\r
        {\r
@@ -363,7 +538,7 @@ function SetTarget( targetType )
        }\r
 \r
        if ( targetType == 'popup' )\r
-               window.parent.SetAutoSize( true ) ;\r
+               dialog.SetAutoSize( true ) ;\r
 }\r
 \r
 //#### Called while the user types the URL.\r
@@ -397,7 +572,7 @@ function OnTargetNameChange()
                GetE('cmbTarget').value = 'frame' ;\r
 }\r
 \r
-// Accesible popups\r
+// Accessible popups\r
 function BuildOnClickPopup()\r
 {\r
        var sWindowName = "'" + GetE('txtPopupName').value.replace(/\W/gi, "") + "'" ;\r
@@ -457,6 +632,7 @@ function FillPopupFields( windowName, features )
 function Ok()\r
 {\r
        var sUri, sInnerHtml ;\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
        switch ( GetE('cmbLinkType').value )\r
        {\r
@@ -503,7 +679,7 @@ function Ok()
        }\r
 \r
        // If no link is selected, create a new one (it may result in more than one link creation - #220).\r
-       var aLinks = oLink ? [ oLink ] : oEditor.FCK.CreateLink( sUri ) ;\r
+       var aLinks = oLink ? [ oLink ] : oEditor.FCK.CreateLink( sUri, true ) ;\r
 \r
        // If no selection, no links are created, so use the uri as the link text (by dom, 2006-05-26)\r
        var aHasSelection = ( aLinks.length > 0 ) ;\r
@@ -534,11 +710,9 @@ function Ok()
                }\r
 \r
                // Create a new (empty) anchor.\r
-               aLinks = [ oEditor.FCK.CreateElement( 'a' ) ] ;\r
+               aLinks = [ oEditor.FCK.InsertElement( 'a' ) ] ;\r
        }\r
 \r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
-\r
        for ( var i = 0 ; i < aLinks.length ; i++ )\r
        {\r
                oLink = aLinks[i] ;\r
@@ -549,18 +723,28 @@ function Ok()
                oLink.href = sUri ;\r
                SetAttribute( oLink, '_fcksavedurl', sUri ) ;\r
 \r
-               // Accesible popups\r
+               var onclick;\r
+               // Accessible popups\r
                if( GetE('cmbTarget').value == 'popup' )\r
                {\r
-                       SetAttribute( oLink, 'onclick_fckprotectedatt', " onclick=\"" + BuildOnClickPopup() + "\"") ;\r
+                       onclick = BuildOnClickPopup() ;\r
+                       // Encode the attribute\r
+                       onclick = encodeURIComponent( " onclick=\"" + onclick + "\"" )  ;\r
+                       SetAttribute( oLink, 'onclick_fckprotectedatt', onclick ) ;\r
                }\r
                else\r
                {\r
                        // Check if the previous onclick was for a popup:\r
                        // In that case remove the onclick handler.\r
-                       var onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ;\r
-                       if( oRegex.OnClickPopup.test( onclick ) )\r
-                               SetAttribute( oLink, 'onclick_fckprotectedatt', '' ) ;\r
+                       onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ;\r
+                       if ( onclick )\r
+                       {\r
+                               // Decode the protected string\r
+                               onclick = decodeURIComponent( onclick ) ;\r
+\r
+                               if( oRegex.OnClickPopup.test( onclick ) )\r
+                                       SetAttribute( oLink, 'onclick_fckprotectedatt', '' ) ;\r
+                       }\r
                }\r
 \r
                oLink.innerHTML = sInnerHtml ;          // Set (or restore) the innerHTML\r
@@ -615,13 +799,17 @@ function BrowseServer()
 \r
 function SetUrl( url )\r
 {\r
-       document.getElementById('txtUrl').value = url ;\r
+       GetE('txtUrl').value = url ;\r
        OnUrlChange() ;\r
-       window.parent.SetSelectedTab( 'Info' ) ;\r
+       dialog.SetSelectedTab( 'Info' ) ;\r
 }\r
 \r
 function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )\r
 {\r
+       // Remove animation\r
+       window.parent.Throbber.Hide() ;\r
+       GetE( 'divUpload' ).style.display  = '' ;\r
+\r
        switch ( errorNumber )\r
        {\r
                case 0 :        // No errors\r
@@ -642,6 +830,9 @@ function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
                case 203 :\r
                        alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;\r
                        return ;\r
+               case 500 :\r
+                       alert( 'The connector is disabled' ) ;\r
+                       break ;\r
                default :\r
                        alert( 'Error on file upload. Error number: ' + errorNumber ) ;\r
                        return ;\r
@@ -671,13 +862,17 @@ function CheckUpload()
                return false ;\r
        }\r
 \r
+       // Show animation\r
+       window.parent.Throbber.Show( 100 ) ;\r
+       GetE( 'divUpload' ).style.display  = 'none' ;\r
+\r
        return true ;\r
 }\r
 \r
 function SetDefaultTarget()\r
 {\r
-       var target = FCKConfig.DefaultLinkTarget + '' ;\r
-       \r
+       var target = FCKConfig.DefaultLinkTarget || '' ;\r
+\r
        if ( oLink || target.length == 0 )\r
                return ;\r
 \r
@@ -693,6 +888,6 @@ function SetDefaultTarget()
                        GetE('cmbTarget').value = 'frame' ;\r
                        break ;\r
        }\r
-       \r
+\r
        GetE('txtTargetFrame').value = target ;\r
 }\r
index a0a927e..a67af18 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 var sListType = ( location.search == '?OL' ? 'OL' : 'UL' ) ;\r
 \r
-var oActiveEl = oEditor.FCKSelection.MoveToAncestorNode( sListType ) ;\r
+var oActiveEl = dialog.Selection.GetSelection().MoveToAncestorNode( sListType ) ;\r
 var oActiveSel ;\r
 \r
 window.onload = function()\r
@@ -63,7 +64,10 @@ window.onload = function()
                        oActiveSel.value = oActiveEl.getAttribute('type') ;\r
        }\r
 \r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
+\r
+       SelectField( sListType == 'OL' ? 'txtStartPosition' : 'selBulleted' ) ;\r
 }\r
 \r
 function Ok()\r
index fd16c31..3e11da1 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <title></title>\r
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
        <meta name="robots" content="noindex, nofollow" />\r
-\r
+       <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
 var FCK = oEditor.FCK;\r
 var FCKTools   = oEditor.FCKTools ;\r
 var FCKConfig  = oEditor.FCKConfig ;\r
+var FCKBrowserInfo = oEditor.FCKBrowserInfo ;\r
 \r
 window.onload = function ()\r
 {\r
        // First of all, translate the dialog box texts\r
        oEditor.FCKLanguageManager.TranslatePage(document) ;\r
-       \r
-       var sPastingType = window.parent.dialogArguments.CustomValue ;\r
+\r
+       var sPastingType = dialog.Args().CustomValue ;\r
 \r
        if ( sPastingType == 'Word' || sPastingType == 'Security' )\r
        {\r
                if ( sPastingType == 'Security' )\r
                        document.getElementById( 'xSecurityMsg' ).style.display = '' ;\r
 \r
-               var oFrame = document.getElementById('frmData') ;\r
-               oFrame.style.display = '' ;\r
+               // For document.domain compatibility (#123) we must do all the magic in\r
+               // the URL for IE.\r
+               var sFrameUrl = !oEditor.FCK_IS_CUSTOM_DOMAIN || !FCKBrowserInfo.IsIE ?\r
+                       'javascript:void(0)' :\r
+                       'javascript:void( (function(){' +\r
+                               'document.open() ;' +\r
+                               'document.domain=\'' + document.domain + '\' ;' +\r
+                               'document.write(\'<html><head><scr' + 'ipt>window.onerror = function() { return true ; };<\/script><\/head><body><\/body><\/html>\') ;' +\r
+                               'document.close() ;' +\r
+                               'document.body.contentEditable = true ;' +\r
+                               'window.focus() ;' +\r
+                               '})() )' ;\r
+\r
+               var eFrameSpace = document.getElementById( 'xFrameSpace' ) ;\r
+               eFrameSpace.innerHTML = '<iframe id="frmData" src="' + sFrameUrl + '" ' +\r
+                                       'height="98%" width="99%" frameborder="0" style="border: #000000 1px; background-color: #ffffff"><\/iframe>' ;\r
+\r
+               var oFrame = eFrameSpace.firstChild ;\r
+\r
+               if ( !oEditor.FCK_IS_CUSTOM_DOMAIN || !FCKBrowserInfo.IsIE )\r
+               {\r
+                       // Avoid errors if the pasted content has any script that fails: #389\r
+                       var oDoc = oFrame.contentWindow.document ;\r
+                       oDoc.open() ;\r
+                       oDoc.write('<html><head><scr' + 'ipt>window.onerror = function() { return true ; };<\/script><\/head><body><\/body><\/html>') ;\r
+                       oDoc.close() ;\r
+\r
+                       if ( FCKBrowserInfo.IsIE )\r
+                               oDoc.body.contentEditable = true ;\r
+                       else\r
+                               oDoc.designMode = 'on' ;\r
 \r
-               if ( oFrame.contentDocument )\r
-                       oFrame.contentDocument.designMode = 'on' ;\r
-               else\r
-                       oFrame.contentWindow.document.body.contentEditable = true ;\r
+                       oFrame.contentWindow.focus();\r
+               }\r
        }\r
        else\r
        {\r
                document.getElementById('txtData').style.display = '' ;\r
+               SelectField( 'txtData' ) ;\r
        }\r
 \r
        if ( sPastingType != 'Word' )\r
                document.getElementById('oWordCommands').style.display = 'none' ;\r
 \r
-       window.parent.SetOkButton( true ) ;\r
-       window.parent.SetAutoSize( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
+       // Before doing anything, save undo snapshot.\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
+\r
        var sHtml ;\r
 \r
-       var sPastingType = window.parent.dialogArguments.CustomValue ;\r
+       var sPastingType = dialog.Args().CustomValue ;\r
 \r
        if ( sPastingType == 'Word' || sPastingType == 'Security' )\r
        {\r
@@ -101,7 +134,44 @@ function Ok()
        else\r
        {\r
                sHtml = oEditor.FCKTools.HTMLEncode( document.getElementById('txtData').value )  ;\r
-               sHtml = sHtml.replace( /\n/g, '<BR>' ) ;\r
+               sHtml = FCKTools.ProcessLineBreaks( oEditor, FCKConfig, sHtml ) ;\r
+\r
+               // FCK.InsertHtml() does not work for us, since document fragments cannot contain node fragments. :(\r
+               // Use the marker method instead. It's primitive, but it works.\r
+               var range = new oEditor.FCKDomRange( oEditor.FCK.EditorWindow ) ;\r
+               var oDoc = oEditor.FCK.EditorDocument ;\r
+               dialog.Selection.EnsureSelection() ;\r
+               range.MoveToSelection() ;\r
+               range.DeleteContents() ;\r
+               var marker = [] ;\r
+               for ( var i = 0 ; i < 5 ; i++ )\r
+                       marker.push( parseInt(Math.random() * 100000, 10 ) ) ;\r
+               marker = marker.join( "" ) ;\r
+               range.InsertNode ( oDoc.createTextNode( marker ) ) ;\r
+               var bookmark = range.CreateBookmark() ;\r
+\r
+               // Now we've got a marker indicating the paste position in the editor document.\r
+               // Find its position in the HTML code.\r
+               var htmlString = oDoc.body.innerHTML ;\r
+               var index = htmlString.indexOf( marker ) ;\r
+\r
+               // Split it the HTML code up, add the code we generated, and put them back together.\r
+               var htmlList = [] ;\r
+               htmlList.push( htmlString.substr( 0, index ) ) ;\r
+               htmlList.push( sHtml ) ;\r
+               htmlList.push( htmlString.substr( index + marker.length ) ) ;\r
+               htmlString = htmlList.join( "" ) ;\r
+\r
+               if ( oEditor.FCKBrowserInfo.IsIE )\r
+                       oEditor.FCK.SetInnerHtml( htmlString ) ;\r
+               else\r
+                       oDoc.body.innerHTML = htmlString ;\r
+\r
+               range.MoveToBookmark( bookmark ) ;\r
+               range.Collapse( false ) ;\r
+               range.Select() ;\r
+               range.Release() ;\r
+               return true ;\r
        }\r
 \r
        oEditor.FCK.InsertHtml( sHtml ) ;\r
@@ -109,17 +179,6 @@ function Ok()
        return true ;\r
 }\r
 \r
-function CleanUpBox()\r
-{\r
-       var oFrame = document.getElementById('frmData') ;\r
-\r
-       if ( oFrame.contentDocument )\r
-               oFrame.contentDocument.body.innerHTML = '' ;\r
-       else\r
-               oFrame.contentWindow.document.body.innerHTML = '' ;\r
-}\r
-\r
-\r
 // This function will be called from the PasteFromWord dialog (fck_paste.html)\r
 // Input: oNode a DOM node that contains the raw paste from the clipboard\r
 // bIgnoreFont, bRemoveStyles booleans according to the values set in the dialog\r
@@ -129,17 +188,17 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
        var html = oNode.innerHTML ;\r
 \r
        html = html.replace(/<o:p>\s*<\/o:p>/g, '') ;\r
-       html = html.replace(/<o:p>.*?<\/o:p>/g, '&nbsp;') ;\r
+       html = html.replace(/<o:p>[\s\S]*?<\/o:p>/g, '&nbsp;') ;\r
 \r
        // Remove mso-xxx styles.\r
        html = html.replace( /\s*mso-[^:]+:[^;"]+;?/gi, '' ) ;\r
 \r
        // Remove margin styles.\r
-       html = html.replace( /\s*MARGIN: 0cm 0cm 0pt\s*;/gi, '' ) ;\r
-       html = html.replace( /\s*MARGIN: 0cm 0cm 0pt\s*"/gi, "\"" ) ;\r
+       html = html.replace( /\s*MARGIN: 0(?:cm|in) 0(?:cm|in) 0pt\s*;/gi, '' ) ;\r
+       html = html.replace( /\s*MARGIN: 0(?:cm|in) 0(?:cm|in) 0pt\s*"/gi, "\"" ) ;\r
 \r
-       html = html.replace( /\s*TEXT-INDENT: 0cm\s*;/gi, '' ) ;\r
-       html = html.replace( /\s*TEXT-INDENT: 0cm\s*"/gi, "\"" ) ;\r
+       html = html.replace( /\s*TEXT-INDENT: 0(?:cm|in)\s*;/gi, '' ) ;\r
+       html = html.replace( /\s*TEXT-INDENT: 0(?:cm|in)\s*"/gi, "\"" ) ;\r
 \r
        html = html.replace( /\s*TEXT-ALIGN: [^\s;]+;?"/gi, "\"" ) ;\r
 \r
@@ -166,6 +225,10 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
        if ( bRemoveStyles )\r
                html = html.replace( /<(\w[^>]*) style="([^\"]*)"([^>]*)/gi, "<$1$3" ) ;\r
 \r
+       // Remove style, meta and link tags\r
+       html = html.replace( /<STYLE[^>]*>[\s\S]*?<\/STYLE[^>]*>/gi, '' ) ;\r
+       html = html.replace( /<(?:META|LINK)[^>]*>\s*/gi, '' ) ;\r
+\r
        // Remove empty styles.\r
        html =  html.replace( /\s*style="\s*"/gi, '' ) ;\r
 \r
@@ -176,25 +239,35 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
        // Remove Lang attributes\r
        html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;\r
 \r
-       html = html.replace( /<SPAN\s*>(.*?)<\/SPAN>/gi, '$1' ) ;\r
+       html = html.replace( /<SPAN\s*>([\s\S]*?)<\/SPAN>/gi, '$1' ) ;\r
 \r
-       html = html.replace( /<FONT\s*>(.*?)<\/FONT>/gi, '$1' ) ;\r
+       html = html.replace( /<FONT\s*>([\s\S]*?)<\/FONT>/gi, '$1' ) ;\r
 \r
        // Remove XML elements and declarations\r
        html = html.replace(/<\\?\?xml[^>]*>/gi, '' ) ;\r
 \r
+       // Remove w: tags with contents.\r
+       html = html.replace( /<w:[^>]*>[\s\S]*?<\/w:[^>]*>/gi, '' ) ;\r
+\r
        // Remove Tags with XML namespace declarations: <o:p><\/o:p>\r
        html = html.replace(/<\/?\w+:[^>]*>/gi, '' ) ;\r
 \r
        // Remove comments [SF BUG-1481861].\r
-       html = html.replace(/<\!--.*-->/g, '' ) ;\r
+       html = html.replace(/<\!--[\s\S]*?-->/g, '' ) ;\r
 \r
        html = html.replace( /<(U|I|STRIKE)>&nbsp;<\/\1>/g, '&nbsp;' ) ;\r
 \r
        html = html.replace( /<H\d>\s*<\/H\d>/gi, '' ) ;\r
 \r
        // Remove "display:none" tags.\r
-       html = html.replace( /<(\w+)[^>]*\sstyle="[^"]*DISPLAY\s?:\s?none(.*?)<\/\1>/ig, '' ) ;\r
+       html = html.replace( /<(\w+)[^>]*\sstyle="[^"]*DISPLAY\s?:\s?none[\s\S]*?<\/\1>/ig, '' ) ;\r
+\r
+       // Remove language tags\r
+       html = html.replace( /<(\w[^>]*) language=([^ |>]*)([^>]*)/gi, "<$1$3") ;\r
+\r
+       // Remove onmouseover and onmouseout events (from MS Word comments effect)\r
+       html = html.replace( /<(\w[^>]*) onmouseover="([^\"]*)"([^>]*)/gi, "<$1$3") ;\r
+       html = html.replace( /<(\w[^>]*) onmouseout="([^\"]*)"([^>]*)/gi, "<$1$3") ;\r
 \r
        if ( FCKConfig.CleanWordKeepsStructure )\r
        {\r
@@ -202,8 +275,8 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
                html = html.replace( /<H(\d)([^>]*)>/gi, '<h$1>' ) ;\r
 \r
                // Word likes to insert extra <font> tags, when using MSIE. (Wierd).\r
-               html = html.replace( /<(H\d)><FONT[^>]*>(.*?)<\/FONT><\/\1>/gi, '<$1>$2<\/$1>' );\r
-               html = html.replace( /<(H\d)><EM>(.*?)<\/EM><\/\1>/gi, '<$1>$2<\/$1>' );\r
+               html = html.replace( /<(H\d)><FONT[^>]*>([\s\S]*?)<\/FONT><\/\1>/gi, '<$1>$2<\/$1>' );\r
+               html = html.replace( /<(H\d)><EM>([\s\S]*?)<\/EM><\/\1>/gi, '<$1>$2<\/$1>' );\r
        }\r
        else\r
        {\r
@@ -217,7 +290,7 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
                html = html.replace( /<\/H\d>/gi, '<\/font><\/b><\/div>' ) ;\r
 \r
                // Transform <P> to <DIV>\r
-               var re = new RegExp( '(<P)([^>]*>.*?)(<\/P>)', 'gi' ) ; // Different because of a IE 5.0 error\r
+               var re = new RegExp( '(<P)([^>]*>[\\s\\S]*?)(<\/P>)', 'gi' ) ;  // Different because of a IE 5.0 error\r
                html = html.replace( re, '<div$2<\/div>' ) ;\r
 \r
                // Remove empty tags (three times, just to be sure).\r
@@ -251,33 +324,22 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
                        </td>\r
                </tr>\r
                <tr>\r
-                       <td valign="top" height="100%" style="border-right: #000000 1px solid; border-top: #000000 1px solid;\r
-                               border-left: #000000 1px solid; border-bottom: #000000 1px solid">\r
+                       <td id="xFrameSpace" valign="top" height="100%" style="border: #000000 1px solid">\r
                                <textarea id="txtData" cols="80" rows="5" style="border: #000000 1px; display: none;\r
                                        width: 99%; height: 98%"></textarea>\r
-                               <iframe id="frmData" src="javascript:void(0)" height="98%" width="99%" frameborder="0"\r
-                                       style="border-right: #000000 1px; border-top: #000000 1px; display: none; border-left: #000000 1px;\r
-                                       border-bottom: #000000 1px; background-color: #ffffff"></iframe>\r
                        </td>\r
                </tr>\r
                <tr id="oWordCommands">\r
                        <td>\r
-                               <table border="0" cellpadding="0" cellspacing="0" width="100%">\r
-                                       <tr>\r
-                                               <td nowrap="nowrap">\r
-                                                       <input id="chkRemoveFont" type="checkbox" checked="checked" />\r
-                                                       <label for="chkRemoveFont" fcklang="DlgPasteIgnoreFont">\r
-                                                               Ignore Font Face definitions</label>\r
-                                                       <br />\r
-                                                       <input id="chkRemoveStyles" type="checkbox" />\r
-                                                       <label for="chkRemoveStyles" fcklang="DlgPasteRemoveStyles">\r
-                                                               Remove Styles definitions</label>\r
-                                               </td>\r
-                                               <td align="right" valign="top">\r
-                                                       <input type="button" fcklang="DlgPasteCleanBox" value="Clean Up Box" onclick="CleanUpBox()" />\r
-                                               </td>\r
-                                       </tr>\r
-                               </table>\r
+\r
+                                       <input id="chkRemoveFont" type="checkbox" checked="checked" />\r
+                                       <label for="chkRemoveFont" fcklang="DlgPasteIgnoreFont">\r
+                                               Ignore Font Face definitions</label>\r
+                                       <br />\r
+                                       <input id="chkRemoveStyles" type="checkbox" />\r
+                                       <label for="chkRemoveStyles" fcklang="DlgPasteRemoveStyles">\r
+                                               Remove Styles definitions</label>\r
+\r
                        </td>\r
                </tr>\r
        </table>\r
index f239ad3..556890f 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;\r
+var oActiveEl = dialog.Selection.GetSelectedElement() ;\r
 \r
 window.onload = function()\r
 {\r
@@ -50,20 +51,16 @@ window.onload = function()
        else\r
                oActiveEl = null ;\r
 \r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
+       SelectField( 'txtName' ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
-       if ( !oActiveEl )\r
-       {\r
-               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;\r
-               oActiveEl.type = 'radio' ;\r
-               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
-       }\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
-       if ( GetE('txtName').value.length > 0 )\r
-               oActiveEl.name = GetE('txtName').value ;\r
+       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: 'radio' } ) ;\r
 \r
        if ( oEditor.FCKBrowserInfo.IsIE )\r
                oActiveEl.value = GetE('txtValue').value ;\r
index fe5a788..2c574d2 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  *\r
  * == END LICENSE ==\r
  *\r
- * "Replace" dialog box window.\r
+ * "Find" and "Replace" dialog box window.\r
 -->\r
 <html xmlns="http://www.w3.org/1999/xhtml">\r
 <head>\r
        <title></title>\r
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
        <meta content="noindex, nofollow" name="robots" />\r
+       <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
+var dialogArguments = dialog.Args() ;\r
 \r
-function OnLoad()\r
+var FCKLang = oEditor.FCKLang ;\r
+var FCKDomTools = oEditor.FCKDomTools ;\r
+var FCKDomRange = oEditor.FCKDomRange ;\r
+var FCKListsLib = oEditor.FCKListsLib ;\r
+var FCKTools = oEditor.FCKTools ;\r
+var EditorDocument = oEditor.FCK.EditorDocument ;\r
+var HighlightStyle = oEditor.FCKStyles.GetStyle( '_FCK_SelectionHighlight' )  ;\r
+\r
+dialog.AddTab( 'Find', FCKLang.DlgFindTitle ) ;\r
+dialog.AddTab( 'Replace', FCKLang.DlgReplaceTitle ) ;\r
+var idMap = {} ;\r
+\r
+function OnDialogTabChange( tabCode )\r
 {\r
-       // First of all, translate the dialog box texts\r
-       oEditor.FCKLanguageManager.TranslatePage( document ) ;\r
+       ShowE( 'divFind', ( tabCode == 'Find' ) ) ;\r
+       ShowE( 'divReplace', ( tabCode == 'Replace' ) ) ;\r
+       idMap['FindText'] = 'txtFind' + tabCode ;\r
+       idMap['CheckCase'] = 'chkCase' + tabCode ;\r
+       idMap['CheckWord'] = 'chkWord' + tabCode ;\r
 \r
-       window.parent.SetAutoSize( true ) ;\r
+       if ( tabCode == 'Replace' )\r
+               dialog.SetAutoSize( true ) ;\r
+}\r
 \r
-       oEditor.FCKUndo.SaveUndoStep() ;\r
+GetNextNonEmptyTextNode = function( node, stopNode )\r
+{\r
+       while ( ( node = FCKDomTools.GetNextSourceNode( node, false, 3, stopNode ) ) && node && node.length < 1 )\r
+               1 ;\r
+       return node ;\r
 }\r
 \r
-function btnStat(frm)\r
+CharacterCursor = function( arg )\r
 {\r
-       document.getElementById('btnReplace').disabled =\r
-               document.getElementById('btnReplaceAll').disabled =\r
-                       ( document.getElementById('txtFind').value.length == 0 ) ;\r
+       if ( arg.nodeType && arg.nodeType == 9 )\r
+       {\r
+               this._textNode = GetNextNonEmptyTextNode( arg.body, arg.documentElement ) ;\r
+               this._offset = 0 ;\r
+               this._doc = arg ;\r
+       }\r
+       else\r
+       {\r
+               this._textNode = arguments[0] ;\r
+               this._offset = arguments[1] ;\r
+               this._doc = FCKTools.GetElementDocument( arguments[0] ) ;\r
+       }\r
 }\r
+CharacterCursor.prototype =\r
+{\r
+       GetCharacter : function()\r
+       {\r
+               return ( this._textNode && this._textNode.nodeValue.charAt( this._offset ) ) || null ;\r
+       },\r
+\r
+       // Non-normalized.\r
+       GetTextNode : function()\r
+       {\r
+               return this._textNode ;\r
+       },\r
 \r
-function ReplaceTextNodes( parentNode, regex, replaceValue, replaceAll, hasFound )\r
+       // Non-normalized.\r
+       GetIndex : function()\r
+       {\r
+               return this._offset ;\r
+       },\r
+\r
+       // Return value means whehther we've crossed a line break or a paragraph boundary.\r
+       MoveNext : function()\r
+       {\r
+               if ( this._offset < this._textNode.length - 1 )\r
+               {\r
+                       this._offset++ ;\r
+                       return false ;\r
+               }\r
+\r
+               var crossed = false ;\r
+               var curNode = this._textNode ;\r
+               while ( ( curNode = FCKDomTools.GetNextSourceNode( curNode ) )\r
+                               && curNode && ( curNode.nodeType != 3 || curNode.length < 1 ) )\r
+               {\r
+                       var tag = curNode.nodeName.toLowerCase() ;\r
+                       if ( FCKListsLib.BlockElements[tag] || tag == 'br' )\r
+                               crossed = true ;\r
+               }\r
+\r
+               this._textNode = curNode ;\r
+               this._offset = 0 ;\r
+               return crossed ;\r
+       },\r
+\r
+       // Return value means whehther we've crossed a line break or a paragraph boundary.\r
+       MoveBack : function()\r
+       {\r
+               if ( this._offset > 0 && this._textNode.length > 0 )\r
+               {\r
+                       this._offset = Math.min( this._offset - 1, this._textNode.length - 1 ) ;\r
+                       return false ;\r
+               }\r
+\r
+               var crossed = false ;\r
+               var curNode = this._textNode ;\r
+               while ( ( curNode = FCKDomTools.GetPreviousSourceNode( curNode ) )\r
+                               && curNode && ( curNode.nodeType != 3 || curNode.length < 1 ) )\r
+               {\r
+                       var tag = curNode.nodeName.toLowerCase() ;\r
+                       if ( FCKListsLib.BlockElements[tag] || tag == 'br' )\r
+                               crossed = true ;\r
+               }\r
+\r
+               this._textNode = curNode ;\r
+               this._offset = curNode && curNode.length - 1 ;\r
+               return crossed ;\r
+       },\r
+\r
+       Clone : function()\r
+       {\r
+               return new CharacterCursor( this._textNode, this._offset ) ;\r
+       }\r
+} ;\r
+\r
+CharacterRange = function( initCursor, maxLength )\r
+{\r
+       this._cursors = initCursor.push ? initCursor : [initCursor] ;\r
+       this._maxLength = maxLength ;\r
+       this._highlightRange = null ;\r
+}\r
+CharacterRange.prototype =\r
 {\r
-       for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )\r
+       ToDomRange : function()\r
        {\r
-               var oNode = parentNode.childNodes[i] ;\r
-               if ( oNode.nodeType == 3 )\r
+               var firstCursor = this._cursors[0] ;\r
+               var lastCursor = this._cursors[ this._cursors.length - 1 ] ;\r
+               var domRange = new FCKDomRange( FCKTools.GetElementWindow( firstCursor.GetTextNode() ) ) ;\r
+               var w3cRange = domRange._Range = domRange.CreateRange() ;\r
+               w3cRange.setStart( firstCursor.GetTextNode(), firstCursor.GetIndex() ) ;\r
+               w3cRange.setEnd( lastCursor.GetTextNode(), lastCursor.GetIndex() + 1 ) ;\r
+               domRange._UpdateElementInfo() ;\r
+               return domRange ;\r
+       },\r
+\r
+       Highlight : function()\r
+       {\r
+               if ( this._cursors.length < 1 )\r
+                       return ;\r
+\r
+               var domRange = this.ToDomRange() ;\r
+               HighlightStyle.ApplyToRange( domRange, false, true ) ;\r
+               this._highlightRange = domRange ;\r
+\r
+               var charRange = CharacterRange.CreateFromDomRange( domRange ) ;\r
+               var focusNode = domRange.StartNode ;\r
+               if ( focusNode.nodeType != 1 )\r
+                       focusNode = focusNode.parentNode ;\r
+               FCKDomTools.ScrollIntoView( focusNode, false ) ;\r
+               this._cursors = charRange._cursors ;\r
+       },\r
+\r
+       RemoveHighlight : function()\r
+       {\r
+               if ( this._highlightRange )\r
+               {\r
+                       HighlightStyle.RemoveFromRange( this._highlightRange, false, true ) ;\r
+                       var charRange = CharacterRange.CreateFromDomRange( this._highlightRange ) ;\r
+                       this._cursors = charRange._cursors ;\r
+                       this._highlightRange = null ;\r
+               }\r
+       },\r
+\r
+       GetHighlightDomRange : function()\r
+       {\r
+               return this._highlightRange;\r
+       },\r
+\r
+       MoveNext : function()\r
+       {\r
+               var next = this._cursors[ this._cursors.length - 1 ].Clone() ;\r
+               var retval = next.MoveNext() ;\r
+               if ( retval )\r
+                       this._cursors = [] ;\r
+               this._cursors.push( next ) ;\r
+               if ( this._cursors.length > this._maxLength )\r
+                       this._cursors.shift() ;\r
+               return retval ;\r
+       },\r
+\r
+       MoveBack : function()\r
+       {\r
+               var prev = this._cursors[0].Clone() ;\r
+               var retval = prev.MoveBack() ;\r
+               if ( retval )\r
+                       this._cursors = [] ;\r
+               this._cursors.unshift( prev ) ;\r
+               if ( this._cursors.length > this._maxLength )\r
+                       this._cursors.pop() ;\r
+               return retval ;\r
+       },\r
+\r
+       GetEndCharacter : function()\r
+       {\r
+               if ( this._cursors.length < 1 )\r
+                       return null ;\r
+               var retval = this._cursors[ this._cursors.length - 1 ].GetCharacter() ;\r
+               return retval ;\r
+       },\r
+\r
+       GetNextRange : function( len )\r
+       {\r
+               if ( this._cursors.length == 0 )\r
+                       return null ;\r
+               var cur = this._cursors[ this._cursors.length - 1 ].Clone() ;\r
+               cur.MoveNext() ;\r
+               return new CharacterRange( cur, len ) ;\r
+       },\r
+\r
+       GetCursors : function()\r
+       {\r
+               return this._cursors ;\r
+       }\r
+} ;\r
+\r
+CharacterRange.CreateFromDomRange = function( domRange )\r
+{\r
+       var w3cRange = domRange._Range ;\r
+       var startContainer = w3cRange.startContainer ;\r
+       var endContainer = w3cRange.endContainer ;\r
+       var startTextNode, startIndex, endTextNode, endIndex ;\r
+\r
+       if ( startContainer.nodeType == 3 )\r
+       {\r
+               startTextNode = startContainer ;\r
+               startIndex = w3cRange.startOffset ;\r
+       }\r
+       else if ( domRange.StartNode.nodeType == 3 )\r
+       {\r
+               startTextNode = domRange.StartNode ;\r
+               startIndex = 0 ;\r
+       }\r
+       else\r
+       {\r
+               startTextNode = GetNextNonEmptyTextNode( domRange.StartNode, domRange.StartNode.parentNode ) ;\r
+               if ( !startTextNode )\r
+                       return null ;\r
+               startIndex = 0 ;\r
+       }\r
+\r
+       if ( endContainer.nodeType == 3 && w3cRange.endOffset > 0 )\r
+       {\r
+               endTextNode = endContainer ;\r
+               endIndex = w3cRange.endOffset - 1 ;\r
+       }\r
+       else\r
+       {\r
+               endTextNode = domRange.EndNode ;\r
+               while ( endTextNode.nodeType != 3 )\r
+                       endTextNode = endTextNode.lastChild ;\r
+               endIndex = endTextNode.length - 1 ;\r
+       }\r
+\r
+       var cursors = [] ;\r
+       var current = new CharacterCursor( startTextNode, startIndex ) ;\r
+       cursors.push( current ) ;\r
+       if ( !( current.GetTextNode() == endTextNode && current.GetIndex() == endIndex ) && !domRange.CheckIsEmpty() )\r
+       {\r
+               do\r
                {\r
-                       var sReplaced = oNode.nodeValue.replace( regex, replaceValue ) ;\r
-                       if ( oNode.nodeValue != sReplaced )\r
+                       current = current.Clone() ;\r
+                       current.MoveNext() ;\r
+                       cursors.push( current ) ;\r
+               }\r
+               while ( !( current.GetTextNode() == endTextNode && current.GetIndex() == endIndex ) ) ;\r
+       }\r
+\r
+       return new CharacterRange( cursors, cursors.length ) ;\r
+}\r
+\r
+// Knuth-Morris-Pratt Algorithm for stream input\r
+KMP_NOMATCH = 0 ;\r
+KMP_ADVANCED = 1 ;\r
+KMP_MATCHED = 2 ;\r
+KmpMatch = function( pattern, ignoreCase )\r
+{\r
+       var overlap = [ -1 ] ;\r
+       for ( var i = 0 ; i < pattern.length ; i++ )\r
+       {\r
+               overlap.push( overlap[i] + 1 ) ;\r
+               while ( overlap[ i + 1 ] > 0 && pattern.charAt( i ) != pattern.charAt( overlap[ i + 1 ] - 1 ) )\r
+                       overlap[ i + 1 ] = overlap[ overlap[ i + 1 ] - 1 ] + 1 ;\r
+       }\r
+       this._Overlap = overlap ;\r
+       this._State = 0 ;\r
+       this._IgnoreCase = ( ignoreCase === true ) ;\r
+       if ( ignoreCase )\r
+               this.Pattern = pattern.toLowerCase();\r
+       else\r
+               this.Pattern = pattern ;\r
+}\r
+KmpMatch.prototype = {\r
+       FeedCharacter : function( c )\r
+       {\r
+               if ( this._IgnoreCase )\r
+                       c = c.toLowerCase();\r
+\r
+               while ( true )\r
+               {\r
+                       if ( c == this.Pattern.charAt( this._State ) )\r
                        {\r
-                               oNode.nodeValue = sReplaced ;\r
-                               if ( ! replaceAll )\r
-                                       return true ;\r
-                               hasFound = true ;\r
+                               this._State++ ;\r
+                               if ( this._State == this.Pattern.length )\r
+                               {\r
+                                       // found a match, start over, don't care about partial matches involving the current match\r
+                                       this._State = 0;\r
+                                       return KMP_MATCHED;\r
+                               }\r
+                               return KMP_ADVANCED ;\r
                        }\r
+                       else if ( this._State == 0 )\r
+                               return KMP_NOMATCH;\r
+                       else\r
+                               this._State = this._Overlap[ this._State ];\r
                }\r
 \r
-               hasFound = ReplaceTextNodes( oNode, regex, replaceValue, replaceAll, hasFound ) ;\r
-               if ( ! replaceAll && hasFound )\r
-                       return true ;\r
+               return null ;\r
+       },\r
+\r
+       Reset : function()\r
+       {\r
+               this._State = 0 ;\r
+       }\r
+};\r
+\r
+// Place a range at the start of document.\r
+function OnLoad()\r
+{\r
+       // First of all, translate the dialog box texts.\r
+       oEditor.FCKLanguageManager.TranslatePage( document ) ;\r
+\r
+       // Show the appropriate tab at startup.\r
+       if ( dialogArguments.CustomValue == 'Find' )\r
+       {\r
+               dialog.SetSelectedTab( 'Find' ) ;\r
+               dialog.SetAutoSize( true ) ;\r
        }\r
+       else\r
+               dialog.SetSelectedTab( 'Replace' ) ;\r
 \r
-       return hasFound ;\r
+       SelectField( 'txtFind' + dialogArguments.CustomValue ) ;\r
 }\r
 \r
-function GetRegexExpr()\r
+function btnStat()\r
 {\r
-       var sExpr = EscapeRegexString( document.getElementById('txtFind').value ) ;\r
+       GetE('btnReplace').disabled =\r
+               GetE('btnReplaceAll').disabled =\r
+                       GetE('btnFind').disabled =\r
+                               ( GetE(idMap["FindText"]).value.length == 0 ) ;\r
+}\r
+\r
+function btnStatDelayed()\r
+{\r
+       setTimeout( btnStat, 1 ) ;\r
+}\r
 \r
-       if ( document.getElementById('chkWord').checked )\r
-               sExpr = '\\b' + sExpr + '\\b' ;\r
+function GetSearchString()\r
+{\r
+       return GetE(idMap['FindText']).value ;\r
+}\r
 \r
-       return sExpr ;\r
+function GetReplaceString()\r
+{\r
+       return GetE("txtReplace").value ;\r
 }\r
 \r
-function GetCase()\r
+function GetCheckCase()\r
 {\r
-       return ( document.getElementById('chkCase').checked ? '' : 'i' ) ;\r
+       return !! ( GetE(idMap['CheckCase']).checked ) ;\r
 }\r
 \r
-function GetReplacement()\r
+function GetMatchWord()\r
 {\r
-       return document.getElementById('txtReplace').value.replace( /\$/g, '$$$$' ) ;\r
+       return !! ( GetE(idMap['CheckWord']).checked ) ;\r
+}\r
+\r
+/* Is this character a unicode whitespace or a punctuation mark?\r
+ * References:\r
+ * http://unicode.org/Public/UNIDATA/PropList.txt (whitespaces)\r
+ * http://php.chinaunix.net/manual/tw/ref.regex.php (punctuation marks)\r
+ */\r
+function CheckIsWordSeparator( c )\r
+{\r
+       if ( !c )\r
+               return true;\r
+       var code = c.charCodeAt( 0 );\r
+       if ( code >= 9 && code <= 0xd )\r
+               return true;\r
+       if ( code >= 0x2000 && code <= 0x200a )\r
+               return true;\r
+       switch ( code )\r
+       {\r
+               case 0x20:\r
+               case 0x85:\r
+               case 0xa0:\r
+               case 0x1680:\r
+               case 0x180e:\r
+               case 0x2028:\r
+               case 0x2029:\r
+               case 0x202f:\r
+               case 0x205f:\r
+               case 0x3000:\r
+                       return true;\r
+               default:\r
+       }\r
+       return /[.,"'?!;:]/.test( c ) ;\r
+}\r
+\r
+FindRange = null ;\r
+function _Find()\r
+{\r
+       var searchString = GetSearchString() ;\r
+       if ( !FindRange )\r
+               FindRange = new CharacterRange( new CharacterCursor( EditorDocument ), searchString.length ) ;\r
+       else\r
+       {\r
+               FindRange.RemoveHighlight() ;\r
+               FindRange = FindRange.GetNextRange( searchString.length ) ;\r
+       }\r
+       var matcher = new KmpMatch( searchString, ! GetCheckCase() ) ;\r
+       var matchState = KMP_NOMATCH ;\r
+       var character = '%' ;\r
+\r
+       while ( character != null )\r
+       {\r
+               while ( ( character = FindRange.GetEndCharacter() ) )\r
+               {\r
+                       matchState = matcher.FeedCharacter( character ) ;\r
+                       if ( matchState == KMP_MATCHED )\r
+                               break ;\r
+                       if ( FindRange.MoveNext() )\r
+                               matcher.Reset() ;\r
+               }\r
+\r
+               if ( matchState == KMP_MATCHED )\r
+               {\r
+                       if ( GetMatchWord() )\r
+                       {\r
+                               var cursors = FindRange.GetCursors() ;\r
+                               var head = cursors[ cursors.length - 1 ].Clone() ;\r
+                               var tail = cursors[0].Clone() ;\r
+                               if ( !head.MoveNext() && !CheckIsWordSeparator( head.GetCharacter() ) )\r
+                                       continue ;\r
+                               if ( !tail.MoveBack() && !CheckIsWordSeparator( tail.GetCharacter() ) )\r
+                                       continue ;\r
+                       }\r
+\r
+                       FindRange.Highlight() ;\r
+                       return true ;\r
+               }\r
+       }\r
+\r
+       FindRange = null ;\r
+       return false ;\r
 }\r
 \r
-function EscapeRegexString( str )\r
+function Find()\r
 {\r
-       return str.replace( /[\\\^\$\*\+\?\{\}\.\(\)\!\|\[\]\-]/g, '\\$&' ) ;\r
+       if ( ! _Find() )\r
+               alert( FCKLang.DlgFindNotFoundMsg ) ;\r
 }\r
 \r
 function Replace()\r
 {\r
-       var oRegex = new RegExp( GetRegexExpr(), GetCase() ) ;\r
-       if ( !ReplaceTextNodes( oEditor.FCK.EditorDocument.body, oRegex, GetReplacement(), false, false ) )\r
-               alert( oEditor.FCKLang.DlgFindNotFoundMsg ) ;\r
+       var saveUndoStep = function( selectRange )\r
+       {\r
+               var ieRange ;\r
+               if ( oEditor.FCKBrowserInfo.IsIE )\r
+                       ieRange = document.selection.createRange() ;\r
+\r
+               selectRange.Select() ;\r
+               oEditor.FCKUndo.SaveUndoStep() ;\r
+               var cloneRange = selectRange.Clone() ;\r
+               cloneRange.Collapse( false ) ;\r
+               cloneRange.Select() ;\r
+\r
+               if ( ieRange )\r
+                       setTimeout( function(){ ieRange.select() ; }, 1 ) ;\r
+       }\r
+\r
+       if ( FindRange && FindRange.GetHighlightDomRange() )\r
+       {\r
+               var range = FindRange.GetHighlightDomRange() ;\r
+               var bookmark = range.CreateBookmark() ;\r
+               FindRange.RemoveHighlight() ;\r
+               range.MoveToBookmark( bookmark ) ;\r
+\r
+               saveUndoStep( range ) ;\r
+               range.DeleteContents() ;\r
+               range.InsertNode( EditorDocument.createTextNode( GetReplaceString() ) ) ;\r
+               range._UpdateElementInfo() ;\r
+\r
+               FindRange = CharacterRange.CreateFromDomRange( range ) ;\r
+       }\r
+       else\r
+       {\r
+               if ( ! _Find() )\r
+               {\r
+                       FindRange && FindRange.RemoveHighlight() ;\r
+                       alert( FCKLang.DlgFindNotFoundMsg ) ;\r
+               }\r
+       }\r
 }\r
 \r
 function ReplaceAll()\r
 {\r
-       var oRegex = new RegExp( GetRegexExpr(), GetCase() + 'g' ) ;\r
-       if ( !ReplaceTextNodes( oEditor.FCK.EditorDocument.body, oRegex, GetReplacement(), true, false ) )\r
-               alert( oEditor.FCKLang.DlgFindNotFoundMsg ) ;\r
-       window.parent.Cancel() ;\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
+       var replaceCount = 0 ;\r
+\r
+       while ( _Find() )\r
+       {\r
+               var range = FindRange.GetHighlightDomRange() ;\r
+               var bookmark = range.CreateBookmark() ;\r
+               FindRange.RemoveHighlight() ;\r
+               range.MoveToBookmark( bookmark) ;\r
+\r
+               range.DeleteContents() ;\r
+               range.InsertNode( EditorDocument.createTextNode( GetReplaceString() ) ) ;\r
+               range._UpdateElementInfo() ;\r
+\r
+               FindRange = CharacterRange.CreateFromDomRange( range ) ;\r
+               replaceCount++ ;\r
+       }\r
+       if ( replaceCount == 0 )\r
+       {\r
+               FindRange && FindRange.RemoveHighlight() ;\r
+               alert( FCKLang.DlgFindNotFoundMsg ) ;\r
+       }\r
+       dialog.Cancel() ;\r
+}\r
+\r
+window.onunload = function()\r
+{\r
+       if ( FindRange )\r
+       {\r
+               FindRange.RemoveHighlight() ;\r
+               FindRange.ToDomRange().Select() ;\r
+       }\r
 }\r
        </script>\r
 </head>\r
 <body onload="OnLoad()" style="overflow: hidden">\r
-       <table cellspacing="3" cellpadding="2" width="100%" border="0">\r
-               <tr>\r
-                       <td nowrap="nowrap">\r
-                               <label for="txtFind" fcklang="DlgReplaceFindLbl">\r
-                                       Find what:</label>\r
-                       </td>\r
-                       <td width="100%">\r
-                               <input id="txtFind" onkeyup="btnStat(this.form)" style="width: 100%" tabindex="1"\r
-                                       type="text" />\r
-                       </td>\r
-                       <td>\r
-                               <input id="btnReplace" style="width: 100%" disabled="disabled" onclick="Replace();"\r
-                                       type="button" value="Replace" fcklang="DlgReplaceReplaceBtn" />\r
-                       </td>\r
-               </tr>\r
-               <tr>\r
-                       <td valign="top" nowrap="nowrap">\r
-                               <label for="txtReplace" fcklang="DlgReplaceReplaceLbl">\r
-                                       Replace with:</label>\r
-                       </td>\r
-                       <td valign="top">\r
-                               <input id="txtReplace" style="width: 100%" tabindex="2" type="text" />\r
-                       </td>\r
-                       <td>\r
-                               <input id="btnReplaceAll" disabled="disabled" onclick="ReplaceAll()" type="button"\r
-                                       value="Replace All" fcklang="DlgReplaceReplAllBtn" />\r
-                       </td>\r
-               </tr>\r
-               <tr>\r
-                       <td valign="bottom" colspan="3">\r
-                               &nbsp;<input id="chkCase" tabindex="3" type="checkbox" /><label for="chkCase" fcklang="DlgReplaceCaseChk">Match\r
-                                       case</label>\r
-                               <br />\r
-                               &nbsp;<input id="chkWord" tabindex="4" type="checkbox" /><label for="chkWord" fcklang="DlgReplaceWordChk">Match\r
-                                       whole word</label>\r
-                       </td>\r
-               </tr>\r
-       </table>\r
+       <div id="divFind" style="display: none">\r
+               <table cellspacing="3" cellpadding="2" width="100%" border="0">\r
+                       <tr>\r
+                               <td nowrap="nowrap">\r
+                                       <label for="txtFindFind" fcklang="DlgReplaceFindLbl">\r
+                                               Find what:</label>\r
+                               </td>\r
+                               <td width="100%">\r
+                                       <input id="txtFindFind" onkeyup="btnStat()" oninput="btnStat()" onpaste="btnStatDelayed()" style="width: 100%" tabindex="1"\r
+                                               type="text" />\r
+                               </td>\r
+                               <td>\r
+                                       <input id="btnFind" style="width: 80px" disabled="disabled" onclick="Find();"\r
+                                               type="button" value="Find" fcklang="DlgFindFindBtn" />\r
+                               </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td valign="bottom" colspan="3">\r
+                                       &nbsp;<input id="chkCaseFind" tabindex="3" type="checkbox" /><label for="chkCaseFind" fcklang="DlgReplaceCaseChk">Match\r
+                                               case</label>\r
+                                       <br />\r
+                                       &nbsp;<input id="chkWordFind" tabindex="4" type="checkbox" /><label for="chkWordFind" fcklang="DlgReplaceWordChk">Match\r
+                                               whole word</label>\r
+                               </td>\r
+                       </tr>\r
+               </table>\r
+       </div>\r
+       <div id="divReplace" style="display:none">\r
+               <table cellspacing="3" cellpadding="2" width="100%" border="0">\r
+                       <tr>\r
+                               <td nowrap="nowrap">\r
+                                       <label for="txtFindReplace" fcklang="DlgReplaceFindLbl">\r
+                                               Find what:</label>\r
+                               </td>\r
+                               <td width="100%">\r
+                                       <input id="txtFindReplace" onkeyup="btnStat()" oninput="btnStat()" onpaste="btnStatDelayed()" style="width: 100%" tabindex="1"\r
+                                               type="text" />\r
+                               </td>\r
+                               <td>\r
+                                       <input id="btnReplace" style="width: 80px" disabled="disabled" onclick="Replace();"\r
+                                               type="button" value="Replace" fcklang="DlgReplaceReplaceBtn" />\r
+                               </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td valign="top" nowrap="nowrap">\r
+                                       <label for="txtReplace" fcklang="DlgReplaceReplaceLbl">\r
+                                               Replace with:</label>\r
+                               </td>\r
+                               <td valign="top">\r
+                                       <input id="txtReplace" style="width: 100%" tabindex="2" type="text" />\r
+                               </td>\r
+                               <td>\r
+                                       <input id="btnReplaceAll" style="width: 80px" disabled="disabled" onclick="ReplaceAll()" type="button"\r
+                                               value="Replace All" fcklang="DlgReplaceReplAllBtn" />\r
+                               </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td valign="bottom" colspan="3">\r
+                                       &nbsp;<input id="chkCaseReplace" tabindex="3" type="checkbox" /><label for="chkCaseReplace" fcklang="DlgReplaceCaseChk">Match\r
+                                               case</label>\r
+                                       <br />\r
+                                       &nbsp;<input id="chkWordReplace" tabindex="4" type="checkbox" /><label for="chkWordReplace" fcklang="DlgReplaceWordChk">Match\r
+                                               whole word</label>\r
+                               </td>\r
+                       </tr>\r
+               </table>\r
+       </div>\r
 </body>\r
 </html>\r
diff --git a/httemplate/elements/fckeditor/editor/dialog/fck_scayt.html b/httemplate/elements/fckeditor/editor/dialog/fck_scayt.html
new file mode 100644 (file)
index 0000000..f8ef9b4
--- /dev/null
@@ -0,0 +1,746 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
+<!--\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+-->\r
+<html>\r
+       <head>\r
+               <title>SCAYT Properties</title>\r
+               <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
+               <meta content="noindex, nofollow" name="robots">\r
+               <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
+               <link type="text/css" href="fck_scayt/scayt_dialog.css" rel="stylesheet" />\r
+               <script type="text/javascript">\r
+\r
+                       var dialog      = window.parent ;\r
+                       var oEditor     = dialog.InnerDialogLoaded() ;\r
+                       var FCKLang = oEditor.FCKLang;\r
+                       var scayt = oEditor.scayt;\r
+                       var scayt_control = oEditor.scayt_control;\r
+                       var lang_list = {};\r
+            var        sLang;\r
+                       var     fckLang;\r
+            var chosed_lang;\r
+                       var options;\r
+                       var     tabs = scayt_control.uiTags || [1,1,0,1];\r
+                       var     userDicActive = tabs[2] == 1;\r
+                       var     captions;\r
+                       var dic_buttons = [\r
+                               // [0] contains buttons for creating\r
+                               "dic_create,dic_restore",\r
+                               // [1] contains buton for manipulation\r
+                               "dic_rename,dic_delete"\r
+                       ];\r
+\r
+                       var get =\r
+                               new function(){\r
+\r
+                                       var mergeObjs = function(obj1, obj2)\r
+                                       {\r
+                                               for (var k in obj1)\r
+                                                       obj2[k] = obj1[k];\r
+\r
+                                               return obj2;\r
+                                       };\r
+\r
+                                       var removeWhitespaces = function( s )\r
+                                       {\r
+                                               s = s.replace( new RegExp("^ +| +$"), '' ) ;\r
+                                               return s ;\r
+                                       };\r
+\r
+                                       var addEvent = function( el ,sEventName, fTodo )\r
+                                       {\r
+                                               if (el.addEventListener) {\r
+                                                       el.addEventListener (sEventName,fTodo,false);\r
+\r
+                                               } else if (el.attachEvent) {\r
+                                                       el.attachEvent ("on"+sEventName,fTodo);\r
+\r
+                                               } else {\r
+                                                       el["on"+sEventName] = fTodo;\r
+                                               }\r
+                                       };\r
+\r
+                                       var getElementsByClassName = function (node,classname ,strTag) {\r
+                                               strTag = strTag || "*";\r
+                                               node = node || document;\r
+                                               if (node.getElementsByClassName)\r
+                                                       return node.getElementsByClassName(classname);\r
+                                               else {\r
+                                                       var objColl = node.getElementsByTagName(strTag);\r
+                                                       if (!objColl.length &&  strTag == "*" &&  node.all) objColl = node.all;\r
+                                                       var arr = new Array();\r
+                                                       var delim = classname.indexOf('|') != -1  ? '|' : ' ';\r
+                                                       var arrClass = classname.split(delim);\r
+                                                       for (var i = 0, j = objColl.length; i < j; i++) {\r
+                                                               var arrObjClass = objColl[i].className.split(' ');\r
+                                                               if (delim == ' ' && arrClass.length > arrObjClass.length) continue;\r
+                                                               var c = 0;\r
+                                                               comparisonLoop:\r
+                                                                       for ( var k = 0, l = arrObjClass.length ; k < l ; k++ )\r
+                                                                       {\r
+                                                                               for ( var m = 0, n = arrClass.length ; m < n ; m++ )\r
+                                                                               {\r
+                                                                                       if ( arrClass[m] == arrObjClass[k] )\r
+                                                                                               c++ ;\r
+\r
+                                                                                       if ( ( delim == '|' && c == 1 ) || ( delim == ' ' && c == arrClass.length ) )\r
+                                                                                       {\r
+                                                                                               arr.push( objColl[i] ) ;\r
+                                                                                               break comparisonLoop ;\r
+                                                                                       }\r
+                                                                               }\r
+                                                                       }\r
+                                                       }\r
+                                                       return arr;\r
+                                               }\r
+                                       };\r
+\r
+                                       var hasClassName = function ( sClassName, elem ) {\r
+                                               //.split(/\s+/);\r
+                                               var aCnames = elem.className.split(/\s+/) || [];\r
+                                               for (var i=0, l=aCnames.length; i<l ; i++){\r
+                                                       if (sClassName == aCnames[i])\r
+                                                               return true;\r
+                                               }\r
+                                               return false;\r
+                                       }\r
+\r
+                                       var single = {\r
+                                               addClass        : function ( sClassName ) {\r
+                                                       //console.info( sClassName, this.className, );\r
+                                                       if ( hasClassName(sClassName , this) )\r
+                                                               return this;\r
+                                                       var s = removeWhitespaces(this.className + " " +sClassName);\r
+                                                       this.className = s;\r
+                                                       return this;\r
+\r
+                                               },\r
+                                               removeClass : function ( sClassName ) {\r
+                                                       var s = removeWhitespaces(this.className.replace(sClassName,""));\r
+                                                       this.className = s;\r
+                                                       return this;\r
+                                               },\r
+                                               setStyle : function( oStyles )\r
+                                               {\r
+                                                       for ( var style in oStyles )\r
+                                                       {\r
+                                                               this.style[style] = oStyles[style] ;\r
+                                                       }\r
+                                                       return this ;\r
+                                               },\r
+                                               bindOnclick             : function ( handler ) {\r
+                                                       //addEvent( this, "click" , handler);\r
+                                                       this.onclick = handler;\r
+                                                       return this;\r
+                                               },\r
+                                               bindOnchange    : function ( handler ) {\r
+                                                       //addEvent( this, "change" , handler);\r
+                                                       this.onchange = handler;\r
+                                                       return this;\r
+                                               },\r
+                                               getAttr : function ( sAttrName )\r
+                                               {\r
+                                                       if ( !sAttrName )\r
+                                                               return null;\r
+\r
+                                                       return this[sAttrName];\r
+                                               },\r
+                                               setAttr : function ( sAttrName , attrVal )\r
+                                               {\r
+                                                       if ( !sAttrName || !attrVal )\r
+                                                               return null;\r
+\r
+                                                       this[sAttrName] = attrVal;\r
+\r
+                                                       return this;\r
+                                               },\r
+                                               remAttr : function ( sAttrName )\r
+                                               {\r
+                                                       if ( !sAttrName )\r
+                                                               return null;\r
+                                               }\r
+                                       };\r
+\r
+                                       var singleCaller = function ( sMethod,args ) {\r
+                                               for ( var i=0, l=this.length; i<l ; i++ ){\r
+                                                       var oItem = mergeObjs( single, this[i] );\r
+                                                       oItem[sMethod].apply(this[i],args);\r
+                                               }\r
+                                       };\r
+\r
+\r
+                                       var collection = {\r
+\r
+                                               addClass        : function ( sClassName ){\r
+                                                       singleCaller.call(this, "addClass", [sClassName])\r
+                                                       return this;\r
+                                               },\r
+                                               removeClass     : function ( sClassName ) {\r
+                                                       singleCaller.call(this, "removeClass", [sClassName])\r
+                                                       return this;\r
+                                               },\r
+                                               setStyle                : function ( oStyles ) {\r
+                                                       singleCaller.call(this, "setStyle", [oStyles])\r
+                                                       return this;\r
+                                               },\r
+                                               bindOnclick             : function ( f ) {\r
+                                                       singleCaller.call(this, "bindOnclick", [f])\r
+                                                       return this;\r
+                                               },\r
+                                               bindOnchange    : function ( f ) {\r
+                                                       singleCaller.call(this, "bindOnchange", [f])\r
+                                                       return this;\r
+                                               },\r
+\r
+                                               forEach : function ( fTodo ) {\r
+                                                       //el,i\r
+                                                       for (var i=0, l=this.length; i<l ; i++){\r
+                                                               fTodo.apply(this[i], [this[i],i ]);\r
+                                                       }\r
+                                                       return this;\r
+                                               }\r
+\r
+                                       };\r
+\r
+\r
+\r
+                                       this.byClass = function( sClassName ){\r
+                                               var o = getElementsByClassName(document, sClassName );\r
+                                               return o ? mergeObjs( collection, o ) : o;\r
+                                       };\r
+\r
+                                       this.byId = function( sId ){\r
+                                               var o = document.getElementById( sId );\r
+                                               return o ? mergeObjs( single, o ) : o;\r
+                                       };\r
+\r
+                                       this.gup = function ( name ){\r
+                                       name = name.replace( /[\[]/, '\\\[' ).replace( /[\]]/, '\\\]' ) ;\r
+                                       var regexS = '[\\?&]' + name + '=([^&#]*)' ;\r
+                                       var regex = new RegExp( regexS ) ;\r
+                                       var results = regex.exec( window.location.href ) ;\r
+\r
+                                       if( results == null )\r
+                                           return '' ;\r
+                                       else\r
+                                           return results[ 1 ] ;\r
+                                       };\r
+                                       this.wrap = function ( o ) {\r
+                                               return o ? mergeObjs( single, o ) : o;\r
+                                       };\r
+                                       this.forEach = function ( oScope, fTodo ){\r
+                                               collection.forEach.apply( oScope,[fTodo] );\r
+                                       };\r
+\r
+                                };\r
+\r
+\r
+\r
+                       // Add the dialog tabs.\r
+                       tabs[0] == 1 && dialog.AddTab( 'options', 'Options' ) ;\r
+                       tabs[1] == 1 && dialog.AddTab( 'langs', 'Languages' ) ;\r
+                       tabs[2] == 1 && dialog.AddTab( 'dictionary', 'Dictionary' ) ;\r
+                       tabs[3] == 1 && dialog.AddTab( 'about', 'About' ) ;\r
+\r
+                       // Function called when a dialog tab is selected.\r
+                       function OnDialogTabChange( tabCode )\r
+                       {\r
+                               ShowE('inner_options'   , ( tabCode == 'options' ) ) ;\r
+                               ShowE('inner_langs'     , ( tabCode == 'langs' ) ) ;\r
+                               ShowE('inner_dictionary'                , ( tabCode == 'dictionary' ) ) ;\r
+                               ShowE('inner_about'     , ( tabCode == 'about' ) ) ;\r
+                       }\r
+\r
+\r
+\r
+\r
+\r
+                       window.onload = function()\r
+                       {\r
+                               // Things to do when the page is loaded.\r
+\r
+                               if ( document.location.search.length )\r
+                                       dialog.SetSelectedTab( document.location.search.substr(1) ) ;\r
+\r
+                               dialog.SetOkButton( true ) ;\r
+\r
+\r
+                       if (!scayt) throw "SCAYT is undefined";\r
+                       if (!scayt_control) throw "SCAYT_CONTROL is undefined";\r
+\r
+                                       // show alowed tabs\r
+                                       tabs = scayt_control.uiTags || [1,1,1,0];\r
+\r
+\r
+                                       sLang = scayt_control.getLang();\r
+                       fckLang = "en";\r
+                                       options = scayt_control.option();\r
+                                       // apply captions\r
+                                       scayt.getCaption( fckLang, function( caps )\r
+                                       {\r
+                                               //console.info( "scayt.getCaption runned" )\r
+                                               captions = caps;\r
+                                               apllyCaptions();\r
+                                               //lang_list = scayt.getLangList();\r
+                               lang_list = scayt.getLangList() ;//|| {ltr: {"en_US" : "English","en_GB" : "British English","pt_BR" : "Brazilian Portuguese","da_DK" : "Danish","nl_NL" : "Dutch","en_CA" : "English Canadian","fi_FI" : "Finnish","fr_FR" : "French","fr_CA" : "French Canadian","de_DE" : "German","el_GR" : "Greek","hu_HU" : "Hungarian","it_IT" : "Italian","nb_NO" : "Norwegian","pl_PL" : "Polish","pt_PT" : "Portuguese","ru_RU" : "Russian","es_ES" : "Spanish","sv_SE" : "Swedish","tr_TR" : "Turkish","uk_UA" : "Ukrainian","cy_GB" : "Welsh"},rtl: {"ar_EG" : "Arabic"}};\r
+\r
+\r
+\r
+\r
+                               // ** animate options\r
+                               get.byClass("_scayt_option").forEach(function(el,i){\r
+\r
+                                                       if ('undefined' != typeof(options[el.name])) {\r
+                                       // *** set default values\r
+\r
+                                       if ( 1 == options[ el.name ] ){\r
+                                          //el.setAttribute("checked","true");\r
+                                                                  get.wrap(el).setAttr("checked" ,true)\r
+                                                                  //document.all_options[el.name].checked = "true";\r
+                                                                  //el.checked = true;\r
+                                                                  //alert( options[ dojo.attr(el ,'name') ] + " el " )\r
+                                       }\r
+                                                               //console.info(options)\r
+                                       // *** bind events\r
+                                       get.wrap(el).bindOnclick( function(ev){\r
+\r
+                                                                       var that = get.wrap(this);\r
+                                                                       var isCheck = that.getAttr("checked");\r
+                                                                       //console.info(isCheck)\r
+                                           if ( isCheck == false ) {\r
+\r
+                                                                               //that.setAttr("checked",false);\r
+                                                                               options[ this.name ] = 0;\r
+                                           }else{\r
+                                               //that.setAttr("checked",true);\r
+                                                                               options[ this.name ] = 1;\r
+                                           }\r
+                                                                       //console.info(options)\r
+                                       });\r
+                                   }\r
+                               });\r
+\r
+\r
+                               // * Create languages tab\r
+                               // ** convert langs obj to array\r
+                               var lang_arr = [];\r
+\r
+                               for (var k in lang_list.rtl){\r
+                                   // find curent lang\r
+                                   if ( k == sLang)\r
+                                       chosed_lang = lang_list.rtl[k] + "::" + k;\r
+                                   lang_arr[lang_arr.length] = lang_list.rtl[k] + "::" + k;\r
+\r
+                               }\r
+                               for (var k in lang_list.ltr){\r
+                                    // find curent lang\r
+                                    if ( k == sLang)\r
+                                       chosed_lang = lang_list.ltr[k] + "::" + k;\r
+                                   lang_arr[lang_arr.length] = lang_list.ltr[k] + "::" + k;\r
+                               }\r
+                               lang_arr.sort();\r
+\r
+                               // ** find lang containers\r
+\r
+                               var lcol = get.byId("lcolid");\r
+                               var rcol = get.byId("rcolid");\r
+                               // ** place langs in DOM\r
+\r
+                               get.forEach(lang_arr , function( l , i ){\r
+\r
+                                                       //console.info( l,i );\r
+\r
+                                                       var l_arr = l.split('::');\r
+                                   var l_name = l_arr[0];\r
+                                   var l_code = l_arr[1];\r
+                                   var row = document.createElement('div');\r
+                                   row.id = l_code;\r
+                                   row.className = "li";\r
+                                   // split langs on half\r
+                                   var col = ( i < lang_arr.length/2 ) ? lcol:rcol ;\r
+\r
+                                   // append row\r
+                                   //console.dir( col )\r
+                                   col.appendChild(row);\r
+                                   var row_dom = get.byId( l_code )\r
+                                   row_dom.innerHTML = l_name;\r
+\r
+                                   var checkActiveLang = function( id ){\r
+                                       return chosed_lang.split("::")[1] == id;\r
+                                   };\r
+                                   // bind click\r
+                                   row_dom.bindOnclick(function(ev){\r
+\r
+                                       if ( checkActiveLang(this.id) ) return false;\r
+                                       var elId = this.id;\r
+                                                               get.byId(this.id)\r
+                                       .addClass("Button")\r
+                                       .removeClass("DarkBackground");\r
+\r
+                                       window.setTimeout( function (){ get.byId(elId).setStyle({opacity:"0.5",cursor:"no-drop"});  } ,300 );\r
+\r
+                                       get.byId(chosed_lang.split("::")[1])\r
+                                           .addClass("DarkBackground")\r
+                                           .removeClass("Button")\r
+                                           .setStyle({opacity:"1",cursor:"pointer"});\r
+\r
+                                       chosed_lang = this.innerHTML + "::" + this.id;\r
+                                       return true;\r
+                                   })\r
+                                                       .setStyle({\r
+                                       cursor:"pointer"\r
+                                   });\r
+                                   // select current lang\r
+                                   if (l == chosed_lang)\r
+                                       row_dom.addClass("Button").setStyle({opacity:"0.5",cursor:"no-drop"});\r
+                                   else\r
+                                       row_dom.addClass("DarkBackground").setStyle({opacity:"1"});\r
+\r
+                               });\r
+                                               // * user dictionary\r
+                                               if ( userDicActive ){\r
+                                                       initUserDictionary()\r
+\r
+                                               }\r
+                                       });\r
+\r
+\r
+\r
+                       }\r
+\r
+\r
+\r
+\r
+                       var buttons = [ 'dic_create','dic_delete','dic_rename','dic_restore' ];\r
+                       var labels  = [ 'mixedCase','mixedWithDigits','allCaps','ignoreDomainNames' ];\r
+\r
+\r
+                       function apllyCaptions ( )\r
+                       {\r
+\r
+                               // fill tabs headers\r
+                               // add missing captions\r
+\r
+                               get.byClass("PopupTab").forEach(function(el,i){\r
+\r
+                                       if ( tabs[i] == 1 ){\r
+                                               el.style.display = "block";\r
+                                       }\r
+                                       el.innerHTML = captions['tab_'+el.id];\r
+\r
+                               });\r
+\r
+                               // Fill options labels.\r
+                               for ( i in labels )\r
+                               {\r
+                                       var label = 'label_' + labels[ i ],\r
+                                               labelElement = document.getElementById( label );\r
+\r
+                                       if (  'undefined' != typeof labelElement\r
+                                          && 'undefined' != typeof captions[ label ] && captions[ label ] !== ""\r
+                                          && 'undefined' != typeof options[labels[ i ]] )\r
+                                       {\r
+                                               labelElement.innerHTML = captions[ label ];\r
+                                               var labelParent = labelElement.parentNode;\r
+                                               labelParent.style.display = "block";\r
+                                       }\r
+                               }\r
+                               // fill dictionary section\r
+                               for ( var i in buttons )\r
+                               {\r
+                                       var button = buttons[ i ];\r
+                                       get.byId( button ).innerHTML = '<span>' + captions[ 'button_' + button]  +'</span>' ;\r
+                               }\r
+                               get.byId("dname").innerHTML = captions['label_dname'];\r
+                               get.byId( 'dic_info' ).innerHTML = captions[ 'dic_info' ];\r
+\r
+                               // fill about tab\r
+                               var about = '<p>' + captions[ 'about_throwt_image' ] + '</p>'+\r
+                                       '<p>' + captions[ 'version' ]  + scayt.version.toString() + '</p>' +\r
+                                       '<p>' + captions[ 'about_throwt_copy' ] + '</p>';\r
+\r
+                               get.byId( 'scayt_about' ).innerHTML = about;\r
+\r
+                       }\r
+\r
+\r
+                       function initUserDictionary () {\r
+\r
+                               scayt.getNameUserDictionary(\r
+                                       function( o )\r
+                                       {\r
+                                               var dic_name = o.dname;\r
+                                               if ( dic_name )\r
+                                               {\r
+                                                       get.byId( 'dic_name' ).value = dic_name;\r
+                                                       display_dic_buttons( dic_buttons[1] );\r
+                                               }\r
+                                               else\r
+                                                       display_dic_buttons( dic_buttons[0] );\r
+\r
+                                       },\r
+                                       function ()\r
+                                       {\r
+                                               get.byId( 'dic_name' ).value("");\r
+                                               dic_error_message(captions["err_dic_enable"] || "Used dictionary are unaveilable now.")\r
+                                       }\r
+                               );\r
+\r
+                               dic_success_message("");\r
+\r
+                                // ** bind event listeners\r
+                get.byClass("button").bindOnclick(function( ){\r
+\r
+                                       // get dic name\r
+                                       var dic_name = get.byId('dic_name').value ;\r
+                                       // check common dictionary rules\r
+                                       if (!dic_name) {\r
+                                               dic_error_message(" Dictionary name should not be empty. ");\r
+                                               return false;\r
+                                       }\r
+                                       //apply handler\r
+                                       window[this.id].apply( window, [this, dic_name, dic_buttons ] );\r
+\r
+                                       //console.info( typeof window[this.id], window[this.id].calle )\r
+                                       return false;\r
+                               });\r
+\r
+                       }\r
+\r
+                       dic_create = function( el, dic_name , dic_buttons )\r
+                       {\r
+                               // comma separated button's ids include repeats if exists\r
+                               var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
+\r
+                               var err_massage = captions["err_dic_create"];\r
+                               var suc_massage = captions["succ_dic_create"];\r
+                               //console.info("--plugin ");\r
+\r
+                               scayt.createUserDictionary(dic_name,\r
+                                       function(arg)\r
+                                               {\r
+                                                       //console.info( "dic_create callback called with args" , arg );\r
+                                                       hide_dic_buttons ( all_buttons );\r
+                                                       display_dic_buttons ( dic_buttons[1] );\r
+                                                       suc_massage = suc_massage.replace("%s" , arg.dname );\r
+                                                       dic_success_message (suc_massage);\r
+                                               },\r
+                                       function(arg)\r
+                                               {\r
+                                                       //console.info( "dic_create errorback called with args" , arg )\r
+                                                       err_massage = err_massage.replace("%s" ,arg.dname );\r
+                                                       dic_error_message ( err_massage + "( "+ (arg.message || "") +")");\r
+                                               });\r
+\r
+                       };\r
+\r
+                       dic_rename = function( el, dic_name , dic_buttons )\r
+                       {\r
+                               //\r
+                               // try to rename dictionary\r
+                               // @TODO: rename dict\r
+                               //console.info ( captions["err_dic_rename"] )\r
+                               var err_massage = captions["err_dic_rename"] || "";\r
+                               var suc_massage = captions["succ_dic_rename"] || "";\r
+                               scayt.renameUserDictionary(dic_name,\r
+                                       function(arg)\r
+                                               {\r
+                                                       //console.info( "dic_rename callback called with args" , arg );\r
+                                                       suc_massage = suc_massage.replace("%s" , arg.dname );\r
+                                                       set_dic_name( dic_name );\r
+                                                       dic_success_message ( suc_massage );\r
+                                               },\r
+                                       function(arg)\r
+                                               {\r
+                                                       //console.info( "dic_rename errorback called with args" , arg )\r
+                                                       err_massage = err_massage.replace("%s" , arg.dname  );\r
+                                                       set_dic_name( dic_name );\r
+                                                       dic_error_message( err_massage + "( " + ( arg.message || "" ) + " )" );\r
+                                               });\r
+                       };\r
+\r
+                       dic_delete = function ( el, dic_name , dic_buttons )\r
+                       {\r
+                               var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
+                               var err_massage = captions["err_dic_delete"];\r
+                               var suc_massage = captions["succ_dic_delete"];\r
+\r
+                               // try to delete dictionary\r
+                               // @TODO: delete dict\r
+                               scayt.deleteUserDictionary(\r
+                                       function(arg)\r
+                                               {\r
+                                                       //console.info( "dic_delete callback " , dic_name ,arg );\r
+                                                       suc_massage = suc_massage.replace("%s" , arg.dname );\r
+                                                       hide_dic_buttons ( all_buttons );\r
+                                                       display_dic_buttons ( dic_buttons[0] );\r
+                                                       set_dic_name( "" ); // empty input field\r
+                                                       dic_success_message( suc_massage );\r
+                                               },\r
+                                       function(arg)\r
+                                               {\r
+                                                       //console.info( " dic_delete errorback called with args" , arg )\r
+                                                       err_massage = err_massage.replace("%s" , arg.dname );\r
+                                                       dic_error_message(err_massage);\r
+                                               });\r
+                       };\r
+\r
+                       dic_restore = dialog.dic_restore || function ( el, dic_name , dic_buttons )\r
+                       {\r
+                               // try to restore existing dictionary\r
+                               var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
+                               var err_massage = captions["err_dic_restore"];\r
+                               var suc_massage = captions["succ_dic_restore"];\r
+\r
+                               scayt.restoreUserDictionary(dic_name,\r
+                                       function(arg)\r
+                                               {\r
+                                                       //console.info( "dic_restore callback called with args" , arg );\r
+                                                       suc_massage = suc_massage.replace("%s" , arg.dname );\r
+                                                       hide_dic_buttons ( all_buttons );\r
+                                                       display_dic_buttons(dic_buttons[1]);\r
+                                                       dic_success_message( suc_massage );\r
+                                               },\r
+                                       function(arg)\r
+                                               {\r
+                                                       //console.info( " dic_restore errorback called with args" , arg )\r
+                                                       err_massage = err_massage.replace("%s" , arg.dname );\r
+                                                       dic_error_message( err_massage );\r
+                                               });\r
+                       };\r
+\r
+                       function dic_error_message( m )\r
+                       {\r
+                               if ( !m )\r
+                                       return ;\r
+\r
+                               get.byId('dic_message').innerHTML =  '<span class="error">' + m + '</span>' ;\r
+                       }\r
+\r
+            function dic_success_message( m )\r
+            {\r
+                               if ( !m )\r
+                                       return ;\r
+\r
+                               get.byId('dic_message').innerHTML = '<span class="success">' + m + '</span>' ;\r
+                       }\r
+\r
+                       function display_dic_buttons ( sIds ){\r
+                               sIds = new String( sIds );\r
+                               get.forEach( sIds.split(','), function ( id,i) {\r
+                                       get.byId(id).setStyle({display:"inline"});\r
+                               });\r
+                       }\r
+                       function hide_dic_buttons ( sIds ){\r
+                               sIds = new String( sIds );\r
+                               get.forEach( sIds.split(','), function ( id,i) {\r
+                                       get.byId(id).setStyle({display:"none"});\r
+                               });\r
+                       }\r
+                       function set_dic_name ( dic_name ) {\r
+                               get.byId('dic_name').value = dic_name;\r
+                       }\r
+                       function display_dic_tab () {\r
+                               get.byId("dic_tab").style.display = "block";\r
+                       }\r
+\r
+                       function Ok()\r
+                       {\r
+                               // Things to do when the Ok button is clicked.\r
+                               var c = 0;\r
+                           // set upp options if any was set\r
+                           var o = scayt_control.option();\r
+                               //console.info(options)\r
+                           for ( var oN in options ) {\r
+\r
+                               if ( o[oN] != options[oN] && c == 0){\r
+                                               //console.info( "set option " )\r
+                                   scayt_control.option( options );\r
+                                   c++;\r
+                               }\r
+                           }\r
+                           //setup languge if it was change\r
+                           var csLang = chosed_lang.split("::")[1];\r
+                           if ( csLang && sLang != csLang ){\r
+                               scayt_control.setLang( csLang );\r
+                                       //console.info(sLang+" -> "+csLang , scayt_control)\r
+                               c++;\r
+                           }\r
+\r
+                           if ( c > 0 )  scayt_control.refresh();\r
+\r
+                           return dialog.Cancel();\r
+\r
+                       }\r
+\r
+               </script>\r
+       </head>\r
+       <body style="OVERFLOW: hidden" scroll="no">\r
+               <div class="tab_container" id="inner_options">\r
+\r
+           <ul id="scayt_options">\r
+               <li class="_scayt_options">\r
+                   <input class="_scayt_option" type="checkbox" value="0" name="allCaps" />\r
+                   <label for="allCaps" id="label_allCaps"></label>\r
+               </li>\r
+               <li>\r
+                   <input class="_scayt_option" type="checkbox" value="0" name="ignoreDomainNames" />\r
+                   <label for="ignoreDomainNames" id="label_ignoreDomainNames"></label>\r
+               </li>\r
+               <li>\r
+                   <input class="_scayt_option" type="checkbox" value="0" name="mixedCase" />\r
+                   <label for="mixedCase" id="label_mixedCase"></label>\r
+               </li>\r
+               <li>\r
+                   <input class="_scayt_option" type="checkbox" value="0" name="mixedWithDigits" />\r
+                   <label for="mixedWithDigits" id="label_mixedWithDigits"></label>\r
+               </li>\r
+           </ul>\r
+               </div>\r
+               <div class="tab_container" id="inner_langs">\r
+\r
+                  <div class="lcol" id="lcolid"></div>\r
+           <div class="rcol" id="rcolid"></div>\r
+               </div>\r
+               <div class="tab_container" id="inner_dictionary">\r
+\r
+                  <div id="dic_message"></div>\r
+                       <div id="_off_dic_tab" class="dictionary" >\r
+                               <div style="padding-left:10px;">\r
+                                                       <label id="dname" for="dname"></label>\r
+                                                       <input type="text" size="14" maxlength="15" value="" id="dic_name" name="dic_name"/>\r
+                                               </div>\r
+                                               <div class="dic_buttons">\r
+                                                       <a href="#" id="dic_create" class="button">  </a>\r
+                                                       <a href="#" id="dic_delete" class="button">  </a>\r
+                                                       <a href="#" id="dic_rename" class="button">  </a>\r
+                                                       <a href="#" id="dic_restore" class="button">  </a>\r
+                                               </div>\r
+\r
+                                               <div id="dic_info"></div>\r
+\r
+                       </div>\r
+               </div>\r
+               <div id="inner_about" class="tab_container">\r
+                  <div id="scayt_about"></div>\r
+               </div>\r
+       </body>\r
+</html>\r
diff --git a/httemplate/elements/fckeditor/editor/dialog/fck_scayt/scayt_dialog.css b/httemplate/elements/fckeditor/editor/dialog/fck_scayt/scayt_dialog.css
new file mode 100644 (file)
index 0000000..c2eeb75
--- /dev/null
@@ -0,0 +1,169 @@
+html, body\r
+{\r
+       background-color: transparent;\r
+       margin: 0px;\r
+       padding: 0px;\r
+}\r
+\r
+body\r
+{\r
+       padding: 10px;\r
+}\r
+\r
+body, td, input, select, textarea\r
+{\r
+       font-size: 11px;\r
+       font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;\r
+}\r
+\r
+.midtext\r
+{\r
+       padding:0px;\r
+       margin:10px;\r
+}\r
+\r
+.midtext p\r
+{\r
+       padding:0px;\r
+       margin:10px;\r
+}\r
+\r
+.Button\r
+{\r
+       border: #737357 1px solid;\r
+       color: #3b3b1f;\r
+       background-color: #c7c78f;\r
+}\r
+\r
+.PopupTabArea , .button\r
+{\r
+       color: #737357;\r
+       background-color: #e3e3c7;\r
+}\r
+\r
+.PopupTitleBorder\r
+{\r
+       border-bottom: #d5d59d 1px solid;\r
+}\r
+.PopupTabEmptyArea\r
+{\r
+       padding-left: 10px;\r
+       border-bottom: #d5d59d 1px solid;\r
+}\r
+\r
+.PopupTab, .PopupTabSelected\r
+{\r
+       border-right: #d5d59d 1px solid;\r
+       border-top: #d5d59d 1px solid;\r
+       border-left: #d5d59d 1px solid;\r
+       padding: 3px 5px 3px 5px;\r
+       color: #737357;\r
+}\r
+\r
+.PopupTab\r
+{\r
+       margin-top: 1px;\r
+       border-bottom: #d5d59d 1px solid;\r
+       cursor: pointer;\r
+       cursor: hand;\r
+}\r
+\r
+.PopupTabSelected\r
+{\r
+       font-weight: bold;\r
+       cursor: default;\r
+       padding-top: 4px;\r
+       border-bottom: #f1f1e3 1px solid;\r
+       background-color: #f1f1e3;\r
+}\r
+\r
+ul {\r
+    padding:0;\r
+    margin:0px 0px 12px 0px;\r
+    list-style-type:none;\r
+}\r
+ul.tabs {\r
+    height:20px;\r
+    margin:10px 0px;\r
+}\r
+ul.tabs li {\r
+    float: left;\r
+       display:none;\r
+}\r
+div.tab_container {\r
+    /*display:none;*/\r
+    padding: 0px 5px ;\r
+}\r
+.lcol {\r
+    float:left;\r
+    width:47%;\r
+    margin-left:5px;\r
+}\r
+.rcol {\r
+    float:right;\r
+    width:47%;\r
+    margin-right:5px;\r
+}\r
+div.tabs-container{\r
+       height:220px;\r
+       overflow-x:hidden;\r
+       overflow-y:auto;\r
+}\r
+\r
+div.tabs-container h3{\r
+    margin:5px 15px 7px 15px;\r
+    background-color:transparent;\r
+    font-size: 14px ;\r
+}\r
+\r
+.li {\r
+    border: 1px solid transparent;\r
+}\r
+\r
+#dic_message{\r
+       height: 24px;\r
+}\r
+#dic_message .error{\r
+       color: red ;\r
+}\r
+#dic_message .success{\r
+       color: blue ;\r
+}\r
+\r
+.dic_buttons {\r
+       margin-top: 5px;\r
+       padding-left:10px;\r
+}\r
+.dic_buttons a {\r
+       display: none;\r
+}\r
+a.button {\r
+       border: #d5d59d 1px solid;\r
+       padding: 2px 4px;\r
+       margin-right: 4px;\r
+       text-decoration: none;\r
+}\r
+\r
+a.button:hover,\r
+a.button:active,\r
+a.button:visited{\r
+       padding: 2px 4px;\r
+       margin-right: 4px;\r
+       text-decoration: none;\r
+}\r
+a.button:hover {\r
+       border: #d5d59d 1px solid;\r
+       color: #e3e3c7;\r
+       background-color: #737357;\r
+}\r
+\r
+#scayt_options li {\r
+       display: none;\r
+}\r
+\r
+#dic_info {\r
+       margin:10px;\r
+}\r
+#dic_tab {\r
+       display:none;\r
+}\r
index cb48b50..2f28da6 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <script type="text/javascript" src="fck_select/fck_select.js"></script>\r
                <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;\r
+var oActiveEl = dialog.Selection.GetSelectedElement() ;\r
 \r
 var oListText ;\r
 var oListValue ;\r
@@ -48,6 +49,10 @@ window.onload = function()
        oListText       = document.getElementById( 'cmbText' ) ;\r
        oListValue      = document.getElementById( 'cmbValue' ) ;\r
 \r
+       // Fix the lists widths. (Bug #970)\r
+       oListText.style.width = oListText.offsetWidth ;\r
+       oListValue.style.width = oListValue.offsetWidth ;\r
+\r
        if ( oActiveEl && oActiveEl.tagName == 'SELECT' )\r
        {\r
                GetE('txtName').value           = oActiveEl.name ;\r
@@ -68,22 +73,21 @@ window.onload = function()
        else\r
                oActiveEl = null ;\r
 \r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
+       SelectField( 'txtName' ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
+\r
        var sSize = GetE('txtLines').value ;\r
        if ( sSize == null || isNaN( sSize ) || sSize <= 1 )\r
                sSize = '' ;\r
 \r
-       if ( !oActiveEl )\r
-       {\r
-               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'SELECT' ) ;\r
-               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
-       }\r
+       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'SELECT', {name: GetE('txtName').value} ) ;\r
 \r
-       SetAttribute( oActiveEl, 'name' , GetE('txtName').value ) ;\r
        SetAttribute( oActiveEl, 'size' , sSize ) ;\r
        oActiveEl.multiple = ( sSize.length > 0 && GetE('chkMultiple').checked ) ;\r
 \r
@@ -112,7 +116,7 @@ function Ok()
 \r
                </script>\r
        </head>\r
-       <body style='OVERFLOW: hidden' scroll='no'>\r
+       <body style="overflow: hidden">\r
                <table width="100%" height="100%">\r
                        <tr>\r
                                <td>\r
@@ -128,7 +132,7 @@ function Ok()
                                                <tr>\r
                                                        <td nowrap><span fckLang="DlgSelectSize">Size</span>&nbsp;</td>\r
                                                        <td nowrap><input id="txtLines" type="text" size="2" value="">&nbsp;<span fckLang="DlgSelectLines">lines</span></td>\r
-                                                       <td nowrap align="right"><input id="chkMultiple" name="chkMultiple" type="checkbox"><label for="chkMultiple" fckLang="DlgSelectChkMulti">Allow\r
+                                                       <td nowrap align="right"><input id="chkMultiple" type="checkbox"><label for="chkMultiple" fckLang="DlgSelectChkMulti">Allow\r
                                                                        multiple selections</label></td>\r
                                                </tr>\r
                                        </table>\r
@@ -139,20 +143,20 @@ function Ok()
                                        <table width="100%">\r
                                                <tr>\r
                                                        <td width="50%"><span fckLang="DlgSelectOpText">Text</span><br>\r
-                                                               <input id="txtText" style="WIDTH: 100%" type="text" name="txtText">\r
+                                                               <input id="txtText" style="WIDTH: 100%" type="text">\r
                                                        </td>\r
                                                        <td width="50%"><span fckLang="DlgSelectOpValue">Value</span><br>\r
-                                                               <input id="txtValue" style="WIDTH: 100%" type="text" name="txtValue">\r
+                                                               <input id="txtValue" style="WIDTH: 100%" type="text">\r
                                                        </td>\r
                                                        <td vAlign="bottom"><input onclick="Add();" type="button" fckLang="DlgSelectBtnAdd" value="Add"></td>\r
                                                        <td vAlign="bottom"><input onclick="Modify();" type="button" fckLang="DlgSelectBtnModify" value="Modify"></td>\r
                                                </tr>\r
                                                <tr>\r
                                                        <td rowSpan="2"><select id="cmbText" style="WIDTH: 100%" onchange="GetE('cmbValue').selectedIndex = this.selectedIndex;Select(this);"\r
-                                                                       size="5" name="cmbText"></select>\r
+                                                                       size="5"></select>\r
                                                        </td>\r
                                                        <td rowSpan="2"><select id="cmbValue" style="WIDTH: 100%" onchange="GetE('cmbText').selectedIndex = this.selectedIndex;Select(this);"\r
-                                                                       size="5" name="cmbValue"></select>\r
+                                                                       size="5"></select>\r
                                                        </td>\r
                                                        <td vAlign="top" colSpan="2">\r
                                                        </td>\r
index 181b666..3120bb3 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -191,4 +191,4 @@ function HTMLDecode( text )
        text = text.replace( /&amp;/g, '&' ) ;\r
 \r
        return text ;\r
-}
\ No newline at end of file
+}\r
index c8efd0c..ba3a302 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                        cursor: hand;\r
                }\r
        </style>\r
+       <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
 \r
 window.onload = function ()\r
 {\r
        // First of all, translate the dialog box texts\r
        oEditor.FCKLanguageManager.TranslatePage(document) ;\r
+\r
+       dialog.SetAutoSize( true ) ;\r
 }\r
 \r
 function InsertSmiley( url )\r
 {\r
-       var oImg = oEditor.FCK.CreateElement( 'IMG' ) ;\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
+\r
+       var oImg = oEditor.FCK.InsertElement( 'img' ) ;\r
        oImg.src = url ;\r
        oImg.setAttribute( '_fcksavedurl', url ) ;\r
 \r
@@ -54,7 +60,7 @@ function InsertSmiley( url )
        // everything before closing.\r
        document.body.innerHTML = '' ;\r
 \r
-       window.parent.Cancel() ;\r
+       dialog.Cancel() ;\r
 }\r
 \r
 function over(td)\r
@@ -68,7 +74,7 @@ function out(td)
 }\r
        </script>\r
 </head>\r
-<body scroll="no">\r
+<body style="overflow: hidden">\r
        <table cellpadding="2" cellspacing="2" align="center" border="0" width="100%" height="100%">\r
                <script type="text/javascript">\r
 \r
index aba9b39..0782c65 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <title>Source</title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <meta name="robots" content="noindex, nofollow">\r
-               <link href="common/fck_dialog_common.css" rel="stylesheet" type="text/css" />\r
+               <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script language="javascript">\r
 \r
 var oEditor            = window.parent.InnerDialogLoaded() ;\r
 var FCK                        = oEditor.FCK ;\r
 var FCKConfig  = oEditor.FCKConfig ;\r
+var FCKTools   = oEditor.FCKTools ;\r
+\r
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;\r
 \r
 window.onload = function()\r
 {\r
@@ -49,7 +52,7 @@ function Ok()
        if ( oEditor.FCKBrowserInfo.IsIE )\r
                oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
-       FCK.SetHTML( document.getElementById('txtSource').value, false ) ;\r
+       FCK.SetData( document.getElementById('txtSource').value, false ) ;\r
 \r
        return true ;\r
 }\r
index e6d0a5a..9a8ba77 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -33,6 +33,7 @@
                                }\r
                                .Sample { font-size: 24px; }\r
                </style>\r
+               <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script type="text/javascript">\r
 \r
 var oEditor = window.parent.InnerDialogLoaded() ;\r
@@ -41,18 +42,23 @@ var oSample ;
 \r
 function insertChar(charValue)\r
 {\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
        oEditor.FCK.InsertHtml( charValue || "" ) ;\r
        window.parent.Cancel() ;\r
 }\r
 \r
 function over(td)\r
 {\r
+       if ( ! oSample )\r
+               return ;\r
        oSample.innerHTML = td.innerHTML ;\r
        td.className = 'LightBackground SpecialCharsOver Hand' ;\r
 }\r
 \r
 function out(td)\r
 {\r
+       if ( ! oSample )\r
+               return ;\r
        oSample.innerHTML = "&nbsp;" ;\r
        td.className = 'DarkBackground SpecialCharsOut Hand' ;\r
 }\r
@@ -64,17 +70,19 @@ function setDefaults()
 \r
        // First of all, translates the dialog box texts.\r
        oEditor.FCKLanguageManager.TranslatePage(document) ;\r
+\r
+       window.parent.SetAutoSize( true ) ;\r
 }\r
 \r
                </script>\r
-       </HEAD>\r
-       <BODY onload="setDefaults()" scroll="no">\r
+       </head>\r
+       <body onload="setDefaults()" style="overflow: hidden">\r
                <table cellpadding="0" cellspacing="0" width="100%" height="100%">\r
                        <tr>\r
                                <td width="100%">\r
                                        <table cellpadding="1" cellspacing="1" align="center" border="0" width="100%" height="100%">\r
                                                <script type="text/javascript">\r
-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;","&OElig;","&oelig;","&sbquo;","&#8219;","&bdquo;","&hellip;","&trade;","&#9658;","&bull;","&rarr;","&rArr;","&hArr;","&diams;","&asymp;"] ;\r
+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;","&OElig;","&oelig;","&#372;","&#374","&#373","&#375;","&sbquo;","&#8219;","&bdquo;","&hellip;","&trade;","&#9658;","&bull;","&rarr;","&rArr;","&hArr;","&diams;","&asymp;"] ;\r
 \r
 var cols = 20 ;\r
 \r
@@ -109,5 +117,5 @@ while (i < aChars.length)
                                </td>\r
                        </tr>\r
                </table>\r
-       </BODY>\r
-</HTML>
\ No newline at end of file
+       </body>\r
+</html>\r
index 66596e1..c3b7409 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -26,6 +26,7 @@
                <title>Spell Check</title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <meta content="noindex, nofollow" name="robots">\r
+               <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script src="fck_spellerpages/spellerpages/spellChecker.js"></script>\r
                <script type="text/javascript">\r
 \r
@@ -51,7 +52,12 @@ function OnSpellerControlsLoad( controlsWindow )
 function oSpeller_OnFinished( numberOCorrections )\r
 {\r
        if ( numberOCorrections > 0 )\r
-               oEditor.FCK.SetHTML( document.getElementById('txtHtml').value ) ;\r
+       {\r
+               oEditor.FCKUndo.SaveUndoStep() ;\r
+               oEditor.FCK.EditorDocument.body.innerHTML = document.getElementById('txtHtml').value ;\r
+               if ( oEditor.FCKBrowserInfo.IsIE )\r
+                       oEditor.FCKSelection.Collapse( true ) ;\r
+       }\r
        window.parent.Cancel() ;\r
 }\r
 \r
index 8d3df65..fae010d 100644 (file)
@@ -58,6 +58,8 @@ sub printCheckerResults {
        # open temp file, add the submitted text.\r
        for( my $i = 0; $i <= $#textinputs; $i++ ) {\r
                $text = url_decode( $textinputs[$i] );\r
+               # Strip all tags for the text. (by FredCK - #339 / #681)\r
+               $text =~ s/<[^>]+>/ /g;\r
                @lines = split( /\n/, $text );\r
                print $fh "\%\n"; # exit terse mode\r
                print $fh "^$input_separator\n";\r
@@ -177,4 +179,3 @@ wordWindowObj.writeBody();
 </body>\r
 </html>\r
 EOF\r
-\r
index 6bb9d11..3eb85b4 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
 \r
-// Gets the document DOM\r
-var oDOM = oEditor.FCK.EditorDocument ;\r
+var FCKDomTools = oEditor.FCKDomTools ;\r
 \r
 // Gets the table if there is one selected.\r
 var table ;\r
-var e = oEditor.FCKSelection.GetSelectedElement() ;\r
+var e = dialog.Selection.GetSelectedElement() ;\r
+var hasColumnHeaders ;\r
 \r
 if ( ( !e && document.location.search.substr(1) == 'Parent' ) || ( e && e.tagName != 'TABLE' ) )\r
        e = oEditor.FCKSelection.MoveToAncestorNode( 'TABLE' ) ;\r
@@ -83,14 +84,48 @@ window.onload = function()
                document.getElementById('txtSummary').value     = GetAttribute( table, 'summary', '' ) ;\r
 //             document.getElementById('cmbFontStyle').value   = table.className ;\r
 \r
-               if (table.caption) document.getElementById('txtCaption').value = table.caption.innerHTML ;\r
+               var eCaption = oEditor.FCKDomTools.GetFirstChild( table, 'CAPTION' ) ;\r
+               if ( eCaption ) document.getElementById('txtCaption').value = eCaption.innerHTML ;\r
+\r
+               hasColumnHeaders = true ;\r
+               // Check if all the first cells in every row are TH\r
+               for (var row=0; row<table.rows.length; row++)\r
+               {\r
+                       // If just one cell isn't a TH then it isn't a header column\r
+                       if ( table.rows[row].cells[0].nodeName != 'TH' )\r
+                       {\r
+                               hasColumnHeaders = false ;\r
+\r
+                               break;\r
+                       }\r
+               }\r
+\r
+               // Check if the table contains <thead>\r
+               if ((table.tHead !== null) )\r
+               {\r
+                       if (hasColumnHeaders)\r
+                               GetE('selHeaders').value = 'both' ;\r
+                       else\r
+                               GetE('selHeaders').value = 'row' ;\r
+               }\r
+               else\r
+               {\r
+                       if (hasColumnHeaders)\r
+                               GetE('selHeaders').value = 'col' ;\r
+                       else\r
+                               GetE('selHeaders').value = '' ;\r
+               }\r
+\r
 \r
                document.getElementById('txtRows').disabled    = true ;\r
                document.getElementById('txtColumns').disabled = true ;\r
+               SelectField( 'txtWidth' ) ;\r
        }\r
+       else\r
+               SelectField( 'txtRows' ) ;\r
 \r
-       window.parent.SetOkButton( true ) ;\r
-       window.parent.SetAutoSize( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
 }\r
 \r
 // Fired when the user press the OK button\r
@@ -98,8 +133,11 @@ function Ok()
 {\r
        var bExists = ( table != null ) ;\r
 \r
+       var oDoc = oEditor.FCK.EditorDocument ;\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
+\r
        if ( ! bExists )\r
-               table = oEditor.FCK.EditorDocument.createElement( "TABLE" ) ;\r
+               table = oDoc.createElement( "TABLE" ) ;\r
 \r
        // Removes the Width and Height styles\r
        if ( bExists && table.style.width )             table.style.width = null ; //.removeAttribute("width") ;\r
@@ -117,48 +155,159 @@ function Ok()
        SetAttribute( table, 'cellSpacing'      , GetE('txtCellSpacing').value ) ;\r
        SetAttribute( table, 'summary'          , GetE('txtSummary').value ) ;\r
 \r
-       var eCaption = oEditor.FCKDomTools.GetFirstChild( table, 'CAPTION' ) ;\r
-\r
-       if ( document.getElementById('txtCaption').value != '')\r
+       var headers = GetE('selHeaders').value ;\r
+       if ( bExists )\r
        {\r
-               if ( !eCaption )\r
+               // Should we make a <thead>?\r
+               if ( table.tHead==null && (headers=='row' || headers=='both') )\r
                {\r
-                       eCaption = oEditor.FCK.EditorDocument.createElement( 'CAPTION' ) ;\r
-                       table.insertBefore( eCaption, table.firstChild ) ;\r
+                       var oThead = table.createTHead() ;\r
+                       var tbody = FCKDomTools.GetFirstChild( table, 'TBODY' ) ;\r
+                       var theRow= FCKDomTools.GetFirstChild( tbody, 'TR' ) ;\r
+\r
+                       //now change TD to TH:\r
+                       for (var i = 0; i<theRow.childNodes.length ; i++)\r
+                       {\r
+                               var th = RenameNode(theRow.childNodes[i], 'TH') ;\r
+                               if (th != null)\r
+                                       th.scope='col' ;\r
+                       }\r
+                       oThead.appendChild( theRow ) ;\r
                }\r
 \r
-               eCaption.innerHTML = document.getElementById('txtCaption').value ;\r
-       }\r
-       else if ( bExists && eCaption )\r
-       {\r
-               if ( oEditor.FCKBrowserInfo.IsIE )\r
-                       eCaption.innerHTML = '' ;       // TODO: It causes an IE internal error if using removeChild or table.deleteCaption().\r
-               else\r
-                       eCaption.parentNode.removeChild( eCaption ) ;\r
+               if ( table.tHead!==null && !(headers=='row' || headers=='both') )\r
+               {\r
+                       // Move the row out of the THead and put it in the TBody:\r
+                       var tHead = table.tHead ;\r
+                       var tbody = FCKDomTools.GetFirstChild( table, 'TBODY' ) ;\r
+\r
+                       var previousFirstRow = tbody.firstChild ;\r
+                       while ( tHead.firstChild )\r
+                       {\r
+                               var theRow = tHead.firstChild ;\r
+                               for (var i = 0; i < theRow.childNodes.length ; i++ )\r
+                               {\r
+                                       var newCell = RenameNode( theRow.childNodes[i], 'TD' ) ;\r
+                                       if ( newCell != null )\r
+                                               newCell.removeAttribute( 'scope' ) ;\r
+                               }\r
+                               tbody.insertBefore( theRow, previousFirstRow ) ;\r
+                       }\r
+                       table.removeChild( tHead ) ;\r
+               }\r
+\r
+               // Should we make all first cells in a row TH?\r
+               if ( (!hasColumnHeaders)  && (headers=='col' || headers=='both') )\r
+               {\r
+                       for( var row=0 ; row < table.rows.length ; row++ )\r
+                       {\r
+                               var newCell = RenameNode(table.rows[row].cells[0], 'TH') ;\r
+                               if ( newCell != null )\r
+                                       newCell.scope = 'row' ;\r
+                       }\r
+               }\r
+\r
+               // Should we make all first TH-cells in a row make TD? If 'yes' we do it the other way round :-)\r
+               if ( (hasColumnHeaders)  && !(headers=='col' || headers=='both') )\r
+               {\r
+                       for( var row=0 ; row < table.rows.length ; row++ )\r
+                       {\r
+                               var oRow = table.rows[row] ;\r
+                               if ( oRow.parentNode.nodeName == 'TBODY' )\r
+                               {\r
+                                       var newCell = RenameNode(oRow.cells[0], 'TD') ;\r
+                                       if (newCell != null)\r
+                                               newCell.removeAttribute( 'scope' ) ;\r
+                               }\r
+                       }\r
+               }\r
        }\r
 \r
        if (! bExists)\r
        {\r
-               var iRows = document.getElementById('txtRows').value ;\r
-               var iCols = document.getElementById('txtColumns').value ;\r
+               var iRows = GetE('txtRows').value ;\r
+               var iCols = GetE('txtColumns').value ;\r
 \r
-               for ( var r = 0 ; r < iRows ; r++ )\r
+               var startRow = 0 ;\r
+               // Should we make a <thead> ?\r
+               if (headers=='row' || headers=='both')\r
                {\r
+                       startRow++ ;\r
+                       var oThead = table.createTHead() ;\r
                        var oRow = table.insertRow(-1) ;\r
+                       oThead.appendChild(oRow);\r
+\r
                        for ( var c = 0 ; c < iCols ; c++ )\r
                        {\r
-                               var oCell = oRow.insertCell(-1) ;\r
+                               var oThcell = oDoc.createElement( 'TH' ) ;\r
+                               oThcell.scope = 'col' ;\r
+                               oRow.appendChild( oThcell ) ;\r
                                if ( oEditor.FCKBrowserInfo.IsGeckoLike )\r
-                                       oCell.innerHTML = GECKO_BOGUS ;\r
-                               //oCell.innerHTML = "&nbsp;" ;\r
+                                       oEditor.FCKTools.AppendBogusBr( oThcell ) ;\r
                        }\r
                }\r
 \r
-               oEditor.FCKUndo.SaveUndoStep() ;\r
+               // Opera automatically creates a tbody when a thead has been added\r
+               var oTbody = FCKDomTools.GetFirstChild( table, 'TBODY' ) ;\r
+               if ( !oTbody )\r
+               {\r
+                       // make TBODY if it doesn't exist\r
+                       oTbody = oDoc.createElement( 'TBODY' ) ;\r
+                       table.appendChild( oTbody ) ;\r
+               }\r
+               for ( var r = startRow ; r < iRows; r++ )\r
+               {\r
+                       var oRow = oDoc.createElement( 'TR' ) ;\r
+                       oTbody.appendChild(oRow) ;\r
+\r
+                       var startCol = 0 ;\r
+                       // Is the first column a header?\r
+                       if (headers=='col' || headers=='both')\r
+                       {\r
+                               var oThcell = oDoc.createElement( 'TH' ) ;\r
+                               oThcell.scope = 'row' ;\r
+                               oRow.appendChild( oThcell ) ;\r
+                               if ( oEditor.FCKBrowserInfo.IsGeckoLike )\r
+                                       oEditor.FCKTools.AppendBogusBr( oThcell ) ;\r
+\r
+                               startCol++ ;\r
+                       }\r
+                       for ( var c = startCol ; c < iCols ; c++ )\r
+                       {\r
+                               // IE will leave the TH at the end of the row if we use now oRow.insertCell(-1)\r
+                               var oCell = oDoc.createElement( 'TD' ) ;\r
+                               oRow.appendChild( oCell ) ;\r
+                               if ( oEditor.FCKBrowserInfo.IsGeckoLike )\r
+                                       oEditor.FCKTools.AppendBogusBr( oCell ) ;\r
+                       }\r
+               }\r
 \r
                oEditor.FCK.InsertElement( table ) ;\r
        }\r
 \r
+       var eCaption = oEditor.FCKDomTools.GetFirstChild( table, 'CAPTION' ) ;\r
+\r
+       if ( eCaption && !oEditor.FCKBrowserInfo.IsIE )\r
+               eCaption.parentNode.removeChild( eCaption ) ;\r
+\r
+       if ( document.getElementById('txtCaption').value != '' )\r
+       {\r
+               if ( !eCaption || !oEditor.FCKBrowserInfo.IsIE )\r
+               {\r
+                       eCaption = oDoc.createElement( 'CAPTION' ) ;\r
+                       table.insertBefore( eCaption, table.firstChild ) ;\r
+               }\r
+\r
+               eCaption.innerHTML = document.getElementById('txtCaption').value ;\r
+       }\r
+       else if ( bExists && eCaption )\r
+       {\r
+               // TODO: It causes an IE internal error if using removeChild or\r
+               // table.deleteCaption() (see #505).\r
+               if ( oEditor.FCKBrowserInfo.IsIE )\r
+                       eCaption.innerHTML = '' ;\r
+       }\r
+\r
        return true ;\r
 }\r
 \r
@@ -171,39 +320,44 @@ function Ok()
                                <table cellspacing="1" cellpadding="1" width="100%" border="0">\r
                                        <tr>\r
                                                <td valign="top">\r
-                                                       <table cellspacing="0" cellpadding="0" border="0">\r
+                                                       <table cellspacing="1" cellpadding="0" border="0">\r
                                                                <tr>\r
                                                                        <td>\r
                                                                                <span fcklang="DlgTableRows">Rows</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtRows" type="text" maxlength="3" size="2" value="3" name="txtRows"\r
+                                                                               &nbsp;<input id="txtRows" type="text" maxlength="3" size="2" value="3"\r
                                                                                        onkeypress="return IsDigit(event);" /></td>\r
                                                                </tr>\r
                                                                <tr>\r
                                                                        <td>\r
                                                                                <span fcklang="DlgTableColumns">Columns</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtColumns" type="text" maxlength="2" size="2" value="2" name="txtColumns"\r
+                                                                               &nbsp;<input id="txtColumns" type="text" maxlength="2" size="2" value="2"\r
                                                                                        onkeypress="return IsDigit(event);" /></td>\r
                                                                </tr>\r
                                                                <tr>\r
+                                                                       <td><span fcklang="DlgTableHeaders">Headers</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;</td>\r
-                                                                       <td>\r
-                                                                               &nbsp;</td>\r
+                                                                               &nbsp;<select id="selHeaders">\r
+                                                                                       <option fcklang="DlgTableHeadersNone" value="">None</option>\r
+                                                                                       <option fcklang="DlgTableHeadersRow" value="row">First row</option>\r
+                                                                                       <option fcklang="DlgTableHeadersColumn" value="col">First column</option>\r
+                                                                                       <option fcklang="DlgTableHeadersBoth" value="both">Both</option>\r
+                                                                               </select>\r
+                                                                       </td>\r
                                                                </tr>\r
                                                                <tr>\r
                                                                        <td>\r
                                                                                <span fcklang="DlgTableBorder">Border size</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtBorder" type="text" maxlength="2" size="2" value="1" name="txtBorder"\r
+                                                                               &nbsp;<input id="txtBorder" type="text" maxlength="2" size="2" value="1"\r
                                                                                        onkeypress="return IsDigit(event);" /></td>\r
                                                                </tr>\r
                                                                <tr>\r
                                                                        <td>\r
                                                                                <span fcklang="DlgTableAlign">Alignment</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<select id="selAlignment" name="selAlignment">\r
+                                                                               &nbsp;<select id="selAlignment">\r
                                                                                        <option fcklang="DlgTableAlignNotSet" value="" selected="selected">&lt;Not set&gt;</option>\r
                                                                                        <option fcklang="DlgTableAlignLeft" value="left">Left</option>\r
                                                                                        <option fcklang="DlgTableAlignCenter" value="center">Center</option>\r
@@ -220,10 +374,10 @@ function Ok()
                                                                        <td>\r
                                                                                <span fcklang="DlgTableWidth">Width</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtWidth" type="text" maxlength="4" size="3" value="200" name="txtWidth"\r
+                                                                               &nbsp;<input id="txtWidth" type="text" maxlength="4" size="3" value="200"\r
                                                                                        onkeypress="return IsDigit(event);" /></td>\r
                                                                        <td>\r
-                                                                               &nbsp;<select id="selWidthType" name="selWidthType">\r
+                                                                               &nbsp;<select id="selWidthType">\r
                                                                                        <option fcklang="DlgTableWidthPx" value="pixels" selected="selected">pixels</option>\r
                                                                                        <option fcklang="DlgTableWidthPc" value="percent">percent</option>\r
                                                                                </select></td>\r
@@ -232,23 +386,18 @@ function Ok()
                                                                        <td>\r
                                                                                <span fcklang="DlgTableHeight">Height</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtHeight" type="text" maxlength="4" size="3" name="txtHeight" onkeypress="return IsDigit(event);" /></td>\r
+                                                                               &nbsp;<input id="txtHeight" type="text" maxlength="4" size="3" onkeypress="return IsDigit(event);" /></td>\r
                                                                        <td>\r
                                                                                &nbsp;<span fcklang="DlgTableWidthPx">pixels</span></td>\r
                                                                </tr>\r
                                                                <tr>\r
-                                                                       <td>\r
-                                                                               &nbsp;</td>\r
-                                                                       <td>\r
-                                                                               &nbsp;</td>\r
-                                                                       <td>\r
-                                                                               &nbsp;</td>\r
+                                                                       <td colspan="3">&nbsp;</td>\r
                                                                </tr>\r
                                                                <tr>\r
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgTableCellSpace">Cell spacing</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtCellSpacing" type="text" maxlength="2" size="2" value="1" name="txtCellSpacing"\r
+                                                                               &nbsp;<input id="txtCellSpacing" type="text" maxlength="2" size="2" value="1"\r
                                                                                        onkeypress="return IsDigit(event);" /></td>\r
                                                                        <td>\r
                                                                                &nbsp;</td>\r
@@ -257,7 +406,7 @@ function Ok()
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgTableCellPad">Cell padding</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtCellPadding" type="text" maxlength="2" size="2" value="1" name="txtCellPadding"\r
+                                                                               &nbsp;<input id="txtCellPadding" type="text" maxlength="2" size="2" value="1"\r
                                                                                        onkeypress="return IsDigit(event);" /></td>\r
                                                                        <td>\r
                                                                                &nbsp;</td>\r
index b7c536b..a4d1c97 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
 \r
-// Gets the document DOM\r
-var oDOM = oEditor.FCK.EditorDocument ;\r
+var FCKDomTools = oEditor.FCKDomTools ;\r
 \r
 // Array of selected Cells\r
 var aCells = oEditor.FCKTableHandler.GetSelectedCells() ;\r
@@ -44,8 +44,9 @@ window.onload = function()
 \r
        SetStartupValue() ;\r
 \r
-       window.parent.SetOkButton( true ) ;\r
-       window.parent.SetAutoSize( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
+       SelectField( 'txtWidth' ) ;\r
 }\r
 \r
 function SetStartupValue()\r
@@ -72,13 +73,15 @@ function SetStartupValue()
                GetE('txtCollSpan').value               = GetAttribute( oCell, 'colSpan' ) ;\r
                GetE('txtBackColor').value              = GetAttribute( oCell, 'bgColor' ) ;\r
                GetE('txtBorderColor').value    = GetAttribute( oCell, 'borderColor' ) ;\r
-//             GetE('cmbFontStyle').value              = oCell.className ;\r
+               GetE('selCellType').value     = oCell.nodeName.toLowerCase() ;\r
        }\r
 }\r
 \r
 // Fired when the user press the OK button\r
 function Ok()\r
 {\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
+\r
        for( i = 0 ; i < aCells.length ; i++ )\r
        {\r
                if ( GetE('txtWidth').value.length > 0 )\r
@@ -87,7 +90,7 @@ function Ok()
                        aCells[i].removeAttribute( 'width', 0 ) ;\r
 \r
                if ( GetE('selWordWrap').value == 'false' )\r
-                       aCells[i].noWrap = true ;\r
+                       SetAttribute( aCells[i], 'noWrap', 'nowrap' ) ;\r
                else\r
                        aCells[i].removeAttribute( 'noWrap' ) ;\r
 \r
@@ -98,7 +101,25 @@ function Ok()
                SetAttribute( aCells[i], 'colSpan'              , GetE('txtCollSpan').value ) ;\r
                SetAttribute( aCells[i], 'bgColor'              , GetE('txtBackColor').value ) ;\r
                SetAttribute( aCells[i], 'borderColor'  , GetE('txtBorderColor').value ) ;\r
-//             SetAttribute( aCells[i], 'className'    , GetE('cmbFontStyle').value ) ;\r
+\r
+               var cellType = GetE('selCellType').value ;\r
+               if ( aCells[i].nodeName.toLowerCase() != cellType )\r
+                       aCells[i] = RenameNode( aCells[i], cellType ) ;\r
+       }\r
+\r
+       // The cells need to be reselected, otherwise the caret will appear inside the table borders (Gecko)\r
+       // or sent back to the beginning of the document (Opera and Safari).\r
+       // Strangely, IE works ok so no change is needed for IE.\r
+       if ( !oEditor.FCKBrowserInfo.IsIE )\r
+       {\r
+               var selection = oEditor.FCK.EditorWindow.getSelection() ;\r
+               selection.removeAllRanges() ;\r
+               for ( var i = 0 ; i < aCells.length ; i++ )\r
+               {\r
+                       var range = oEditor.FCK.EditorDocument.createRange() ;\r
+                       range.selectNode( aCells[i] ) ;\r
+                       selection.addRange( range ) ;\r
+               }\r
        }\r
 \r
        return true ;\r
@@ -118,7 +139,7 @@ function SelectBorderColor( color )
 \r
 function SelectColor( wich )\r
 {\r
-       oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, wich == 'Back' ? SelectBackColor : SelectBorderColor, window ) ;\r
+       oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, wich == 'Back' ? SelectBackColor : SelectBorderColor ) ;\r
 }\r
 \r
        </script>\r
@@ -136,7 +157,7 @@ function SelectColor( wich )
                                                                                <span fcklang="DlgCellWidth">Width</span>:</td>\r
                                                                        <td>\r
                                                                                &nbsp;<input onkeypress="return IsDigit(event);" id="txtWidth" type="text" maxlength="4"\r
-                                                                                       size="3" name="txtWidth" />&nbsp;<select id="selWidthType" name="selWidthType">\r
+                                                                                       size="3" />&nbsp;<select id="selWidthType">\r
                                                                                                <option fcklang="DlgCellWidthPx" value="pixels" selected="selected">pixels</option>\r
                                                                                                <option fcklang="DlgCellWidthPc" value="percent">percent</option>\r
                                                                                        </select></td>\r
@@ -145,7 +166,7 @@ function SelectColor( wich )
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellHeight">Height</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtHeight" type="text" maxlength="4" size="3" name="txtHeight" onkeypress="return IsDigit(event);" />&nbsp;<span\r
+                                                                               &nbsp;<input id="txtHeight" type="text" maxlength="4" size="3" onkeypress="return IsDigit(event);" />&nbsp;<span\r
                                                                                        fcklang="DlgCellWidthPx">pixels</span></td>\r
                                                                </tr>\r
                                                                <tr>\r
@@ -158,7 +179,7 @@ function SelectColor( wich )
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellWordWrap">Word Wrap</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<select id="selWordWrap" name="selAlignment">\r
+                                                                               &nbsp;<select id="selWordWrap">\r
                                                                                        <option fcklang="DlgCellWordWrapYes" value="true" selected="selected">Yes</option>\r
                                                                                        <option fcklang="DlgCellWordWrapNo" value="false">No</option>\r
                                                                                </select></td>\r
@@ -173,7 +194,7 @@ function SelectColor( wich )
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellHorAlign">Horizontal Alignment</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<select id="selHAlign" name="selAlignment">\r
+                                                                               &nbsp;<select id="selHAlign">\r
                                                                                        <option fcklang="DlgCellHorAlignNotSet" value="" selected>&lt;Not set&gt;</option>\r
                                                                                        <option fcklang="DlgCellHorAlignLeft" value="left">Left</option>\r
                                                                                        <option fcklang="DlgCellHorAlignCenter" value="center">Center</option>\r
@@ -184,7 +205,7 @@ function SelectColor( wich )
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellVerAlign">Vertical Alignment</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<select id="selVAlign" name="selAlignment">\r
+                                                                               &nbsp;<select id="selVAlign">\r
                                                                                        <option fcklang="DlgCellVerAlignNotSet" value="" selected>&lt;Not set&gt;</option>\r
                                                                                        <option fcklang="DlgCellVerAlignTop" value="top">Top</option>\r
                                                                                        <option fcklang="DlgCellVerAlignMiddle" value="middle">Middle</option>\r
@@ -200,11 +221,28 @@ function SelectColor( wich )
                                                        <table cellspacing="0" cellpadding="0" border="0">\r
                                                                <tr>\r
                                                                        <td nowrap="nowrap">\r
+                                                                        <span fcklang="DlgCellType">Cell Type</span>:</td>\r
+                                                                       <td colspan="2">\r
+                                                                               &nbsp; <select id="selCellType">\r
+                                                                                       <option fcklang="DlgCellTypeData" value="td">Data</option>\r
+                                                                                       <option fcklang="DlgCellTypeHeader" value="th">Header</option>\r
+                                                                               </select>\r
+                                                               </tr>\r
+                                                               <tr>\r
+                                                                       <td>\r
+                                                                               &nbsp;</td>\r
+                                                                       <td>\r
+                                                                               &nbsp;</td>\r
+                                                                       <td>\r
+                                                                               &nbsp;</td>\r
+                                                               </tr>\r
+                                                               <tr>\r
+                                                                       <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellRowSpan">Rows Span</span>:</td>\r
                                                                        <td>\r
                                                                                &nbsp;\r
                                                                                <input onkeypress="return IsDigit(event);" id="txtRowSpan" type="text" maxlength="3" size="2"\r
-                                                                                       name="txtRows"></td>\r
+                                                                                       ></td>\r
                                                                        <td>\r
                                                                        </td>\r
                                                                </tr>\r
@@ -214,7 +252,7 @@ function SelectColor( wich )
                                                                        <td>\r
                                                                                &nbsp;\r
                                                                                <input onkeypress="return IsDigit(event);" id="txtCollSpan" type="text" maxlength="2"\r
-                                                                                       size="2" name="txtColumns"></td>\r
+                                                                                       size="2"></td>\r
                                                                        <td>\r
                                                                        </td>\r
                                                                </tr>\r
@@ -230,7 +268,7 @@ function SelectColor( wich )
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellBackColor">Background Color</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtBackColor" type="text" size="8" name="txtCellSpacing"></td>\r
+                                                                               &nbsp;<input id="txtBackColor" type="text" size="8" /></td>\r
                                                                        <td>\r
                                                                                &nbsp;\r
                                                                                <input type="button" fcklang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Back' )"></td>\r
@@ -239,7 +277,7 @@ function SelectColor( wich )
                                                                        <td nowrap="nowrap">\r
                                                                                <span fcklang="DlgCellBorderColor">Border Color</span>:</td>\r
                                                                        <td>\r
-                                                                               &nbsp;<input id="txtBorderColor" type="text" size="8" name="txtCellPadding" /></td>\r
+                                                                               &nbsp;<input id="txtBorderColor" type="text" size="8" /></td>\r
                                                                        <td>\r
                                                                                &nbsp;\r
                                                                                <input type="button" fcklang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Border' )" /></td>\r
index 418e9df..e7c1292 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -191,7 +191,7 @@ function SelectTemplate( index )
        oEditor.FCKUndo.SaveUndoStep() ;\r
 \r
        if ( GetE('xChkReplaceAll').checked )\r
-               FCK.SetHTML( FCK._Templates[index].Html ) ;\r
+               FCK.SetData( FCK._Templates[index].Html ) ;\r
        else\r
                FCK.InsertHtml( FCK._Templates[index].Html ) ;\r
 \r
index b7de33a..631fe27 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;\r
+var oActiveEl = dialog.Selection.GetSelectedElement() ;\r
 \r
 window.onload = function()\r
 {\r
@@ -50,18 +51,17 @@ window.onload = function()
        else\r
                oActiveEl = null ;\r
 \r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
+       SelectField( 'txtName' ) ;\r
 }\r
 \r
 function Ok()\r
 {\r
-       if ( !oActiveEl )\r
-       {\r
-               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'TEXTAREA' ) ;\r
-               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
-       }\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
+\r
+       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'TEXTAREA', {name: GetE('txtName').value} ) ;\r
 \r
-       oActiveEl.name = GetE('txtName').value ;\r
        SetAttribute( oActiveEl, 'cols', GetE('txtCols').value ) ;\r
        SetAttribute( oActiveEl, 'rows', GetE('txtRows').value ) ;\r
 \r
@@ -70,7 +70,7 @@ function Ok()
 \r
                </script>\r
        </head>\r
-       <body style='OVERFLOW: hidden' scroll='no'>\r
+       <body style="overflow: hidden">\r
                <table height="100%" width="100%">\r
                        <tr>\r
                                <td align="center">\r
index 7b4c8ef..43f91a6 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
        <script src="common/fck_dialog_common.js" type="text/javascript"></script>\r
        <script type="text/javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog     = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
 \r
 // Gets the document DOM\r
 var oDOM = oEditor.FCK.EditorDocument ;\r
 \r
-var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;\r
+var oActiveEl = dialog.Selection.GetSelectedElement() ;\r
 \r
 window.onload = function()\r
 {\r
@@ -48,13 +49,13 @@ window.onload = function()
                GetE('txtSize').value   = GetAttribute( oActiveEl, 'size' ) ;\r
                GetE('txtMax').value    = GetAttribute( oActiveEl, 'maxLength' ) ;\r
                GetE('txtType').value   = oActiveEl.type ;\r
-\r
-               GetE('txtType').disabled = true ;\r
        }\r
        else\r
                oActiveEl = null ;\r
 \r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+       dialog.SetAutoSize( true ) ;\r
+       SelectField( 'txtName' ) ;\r
 }\r
 \r
 function Ok()\r
@@ -72,14 +73,10 @@ function Ok()
                return false ;\r
        }\r
 \r
-       if ( !oActiveEl )\r
-       {\r
-               oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;\r
-               oActiveEl.type = GetE('txtType').value ;\r
-               oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;\r
-       }\r
+       oEditor.FCKUndo.SaveUndoStep() ;\r
+\r
+       oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: GetE('txtType').value } ) ;\r
 \r
-       oActiveEl.name = GetE('txtName').value ;\r
        SetAttribute( oActiveEl, 'value'        , GetE('txtValue').value ) ;\r
        SetAttribute( oActiveEl, 'size'         , GetE('txtSize').value ) ;\r
        SetAttribute( oActiveEl, 'maxlength', GetE('txtMax').value ) ;\r
diff --git a/httemplate/elements/fckeditor/editor/dtd/fck_dtd_test.html b/httemplate/elements/fckeditor/editor/dtd/fck_dtd_test.html
new file mode 100644 (file)
index 0000000..c149d15
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
+<head>\r
+       <title>DTD Test Page</title>\r
+       <script type="text/javascript">\r
+\r
+       // Define an object for this test page, so the assignment to FCK.DTD works\r
+       var FCK = {} ;\r
+       </script>\r
+       <script type="text/javascript" src="../_source/internals/fcktools.js"></script>\r
+       <script type="text/javascript" src="fck_xhtml10transitional.js"></script>\r
+</head>\r
+<body>\r
+       <h1>\r
+               DTD Contents\r
+       </h1>\r
+       <table border="1">\r
+               <script type="text/javascript">\r
+\r
+for ( var p in FCK.DTD )\r
+{\r
+       document.write( '<tr><td><b>' + p + '</b></td><td>' ) ;\r
+\r
+       var isFirst = true ;\r
+\r
+       for ( var c in FCK.DTD[p] )\r
+       {\r
+               if ( !isFirst )\r
+                       document.write( ', ' ) ;\r
+               isFirst = false ;\r
+\r
+               document.write( c ) ;\r
+       }\r
+\r
+\r
+       document.write( '</td></tr>' ) ;\r
+}\r
+               </script>\r
+       </table>\r
+</body>\r
+</html>\r
diff --git a/httemplate/elements/fckeditor/editor/dtd/fck_xhtml10strict.js b/httemplate/elements/fckeditor/editor/dtd/fck_xhtml10strict.js
new file mode 100644 (file)
index 0000000..a39fcfc
--- /dev/null
@@ -0,0 +1,116 @@
+/*\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ *\r
+ * Contains the DTD mapping for XHTML 1.0 Strict.\r
+ * This file was automatically generated from the file: xhtml10-strict.dtd\r
+ */\r
+FCK.DTD = (function()\r
+{\r
+    var X = FCKTools.Merge ;\r
+\r
+    var H,I,J,K,C,L,M,A,B,D,E,G,N,F ;\r
+    A = {ins:1, del:1, script:1} ;\r
+    B = {hr:1, ul:1, div:1, blockquote:1, noscript:1, table:1, address:1, pre:1, p:1, h5:1, dl:1, h4:1, ol:1, h6:1, h1:1, h3:1, h2:1} ;\r
+    C = X({fieldset:1}, B) ;\r
+    D = X({sub:1, bdo:1, 'var':1, sup:1, br:1, kbd:1, map:1, samp:1, b:1, acronym:1, '#':1, abbr:1, code:1, i:1, cite:1, tt:1, strong:1, q:1, em:1, big:1, small:1, span:1, dfn:1}, A) ;\r
+    E = X({img:1, object:1}, D) ;\r
+    F = {input:1, button:1, textarea:1, select:1, label:1} ;\r
+    G = X({a:1}, F) ;\r
+    H = {img:1, noscript:1, br:1, kbd:1, button:1, h5:1, h4:1, samp:1, h6:1, ol:1, h1:1, h3:1, h2:1, form:1, select:1, '#':1, ins:1, abbr:1, label:1, code:1, table:1, script:1, cite:1, input:1, strong:1, textarea:1, big:1, small:1, span:1, hr:1, sub:1, bdo:1, 'var':1, div:1, object:1, sup:1, map:1, dl:1, del:1, fieldset:1, ul:1, b:1, acronym:1, a:1, blockquote:1, i:1, address:1, tt:1, q:1, pre:1, p:1, em:1, dfn:1} ;\r
+\r
+    I = X({form:1, fieldset:1}, B, E, G) ;\r
+    J = {tr:1} ;\r
+    K = {'#':1} ;\r
+    L = X(E, G) ;\r
+    M = {li:1} ;\r
+    N = X({form:1}, A, C) ;\r
+\r
+    return {\r
+        col: {},\r
+        tr: {td:1, th:1},\r
+        img: {},\r
+        colgroup: {col:1},\r
+        noscript: N,\r
+        td: I,\r
+        br: {},\r
+        th: I,\r
+        kbd: L,\r
+        button: X(B, E),\r
+        h5: L,\r
+        h4: L,\r
+        samp: L,\r
+        h6: L,\r
+        ol: M,\r
+        h1: L,\r
+        h3: L,\r
+        option: K,\r
+        h2: L,\r
+        form: X(A, C),\r
+        select: {optgroup:1, option:1},\r
+        ins: I,\r
+        abbr: L,\r
+        label: L,\r
+        code: L,\r
+        table: {thead:1, col:1, tbody:1, tr:1, colgroup:1, caption:1, tfoot:1},\r
+        script: K,\r
+        tfoot: J,\r
+        cite: L,\r
+        li: I,\r
+        input: {},\r
+        strong: L,\r
+        textarea: K,\r
+        big: L,\r
+        small: L,\r
+        span: L,\r
+        dt: L,\r
+        hr: {},\r
+        sub: L,\r
+        optgroup: {option:1},\r
+        bdo: L,\r
+        param: {},\r
+        'var': L,\r
+        div: I,\r
+        object: X({param:1}, H),\r
+        sup: L,\r
+        dd: I,\r
+        area: {},\r
+        map: X({form:1, area:1}, A, C),\r
+        dl: {dt:1, dd:1},\r
+        del: I,\r
+        fieldset: X({legend:1}, H),\r
+        thead: J,\r
+        ul: M,\r
+        acronym: L,\r
+        b: L,\r
+        a: X({img:1, object:1}, D, F),\r
+        blockquote: N,\r
+        caption: L,\r
+        i: L,\r
+        tbody: J,\r
+        address: L,\r
+        tt: L,\r
+        legend: L,\r
+        q: L,\r
+        pre: X({a:1}, D, F),\r
+        p: L,\r
+        em: L,\r
+        dfn: L\r
+    } ;\r
+})() ;\r
diff --git a/httemplate/elements/fckeditor/editor/dtd/fck_xhtml10transitional.js b/httemplate/elements/fckeditor/editor/dtd/fck_xhtml10transitional.js
new file mode 100644 (file)
index 0000000..53617bd
--- /dev/null
@@ -0,0 +1,140 @@
+/*\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ *\r
+ * Contains the DTD mapping for XHTML 1.0 Transitional.\r
+ * This file was automatically generated from the file: xhtml10-transitional.dtd\r
+ */\r
+FCK.DTD = (function()\r
+{\r
+    var X = FCKTools.Merge ;\r
+\r
+    var A,L,J,M,N,O,D,H,P,K,Q,F,G,C,B,E,I ;\r
+    A = {isindex:1, fieldset:1} ;\r
+    B = {input:1, button:1, select:1, textarea:1, label:1} ;\r
+    C = X({a:1}, B) ;\r
+    D = X({iframe:1}, C) ;\r
+    E = {hr:1, ul:1, menu:1, div:1, blockquote:1, noscript:1, table:1, center:1, address:1, dir:1, pre:1, h5:1, dl:1, h4:1, noframes:1, h6:1, ol:1, h1:1, h3:1, h2:1} ;\r
+    F = {ins:1, del:1, script:1} ;\r
+    G = X({b:1, acronym:1, bdo:1, 'var':1, '#':1, abbr:1, code:1, br:1, i:1, cite:1, kbd:1, u:1, strike:1, s:1, tt:1, strong:1, q:1, samp:1, em:1, dfn:1, span:1}, F) ;\r
+    H = X({sub:1, img:1, object:1, sup:1, basefont:1, map:1, applet:1, font:1, big:1, small:1}, G) ;\r
+    I = X({p:1}, H) ;\r
+    J = X({iframe:1}, H, B) ;\r
+    K = {img:1, noscript:1, br:1, kbd:1, center:1, button:1, basefont:1, h5:1, h4:1, samp:1, h6:1, ol:1, h1:1, h3:1, h2:1, form:1, font:1, '#':1, select:1, menu:1, ins:1, abbr:1, label:1, code:1, table:1, script:1, cite:1, input:1, iframe:1, strong:1, textarea:1, noframes:1, big:1, small:1, span:1, hr:1, sub:1, bdo:1, 'var':1, div:1, object:1, sup:1, strike:1, dir:1, map:1, dl:1, applet:1, del:1, isindex:1, fieldset:1, ul:1, b:1, acronym:1, a:1, blockquote:1, i:1, u:1, s:1, tt:1, address:1, q:1, pre:1, p:1, em:1, dfn:1} ;\r
+\r
+    L = X({a:1}, J) ;\r
+    M = {tr:1} ;\r
+    N = {'#':1} ;\r
+    O = X({param:1}, K) ;\r
+    P = X({form:1}, A, D, E, I) ;\r
+    Q = {li:1} ;\r
+\r
+    return {\r
+        col: {},\r
+        tr: {td:1, th:1},\r
+        img: {},\r
+        colgroup: {col:1},\r
+        noscript: P,\r
+        td: P,\r
+        br: {},\r
+        th: P,\r
+        center: P,\r
+        kbd: L,\r
+        button: X(I, E),\r
+        basefont: {},\r
+        h5: L,\r
+        h4: L,\r
+        samp: L,\r
+        h6: L,\r
+        ol: Q,\r
+        h1: L,\r
+        h3: L,\r
+        option: N,\r
+        h2: L,\r
+        form: X(A, D, E, I),\r
+        select: {optgroup:1, option:1},\r
+        font: J,               // Changed from L to J (see (1))\r
+        ins: P,\r
+        menu: Q,\r
+        abbr: L,\r
+        label: L,\r
+        table: {thead:1, col:1, tbody:1, tr:1, colgroup:1, caption:1, tfoot:1},\r
+        code: L,\r
+        script: N,\r
+        tfoot: M,\r
+        cite: L,\r
+        li: P,\r
+        input: {},\r
+        iframe: P,\r
+        strong: J,             // Changed from L to J (see (1))\r
+        textarea: N,\r
+        noframes: P,\r
+        big: J,                        // Changed from L to J (see (1))\r
+        small: J,              // Changed from L to J (see (1))\r
+        span: J,               // Changed from L to J (see (1))\r
+        hr: {},\r
+        dt: L,\r
+        sub: J,                        // Changed from L to J (see (1))\r
+        optgroup: {option:1},\r
+        param: {},\r
+        bdo: L,\r
+        'var': J,              // Changed from L to J (see (1))\r
+        div: P,\r
+        object: O,\r
+        sup: J,                        // Changed from L to J (see (1))\r
+        dd: P,\r
+        strike: J,             // Changed from L to J (see (1))\r
+        area: {},\r
+        dir: Q,\r
+        map: X({area:1, form:1, p:1}, A, F, E),\r
+        applet: O,\r
+        dl: {dt:1, dd:1},\r
+        del: P,\r
+        isindex: {},\r
+        fieldset: X({legend:1}, K),\r
+        thead: M,\r
+        ul: Q,\r
+        acronym: L,\r
+        b: J,                  // Changed from L to J (see (1))\r
+        a: J,\r
+        blockquote: P,\r
+        caption: L,\r
+        i: J,                  // Changed from L to J (see (1))\r
+        u: J,                  // Changed from L to J (see (1))\r
+        tbody: M,\r
+        s: L,\r
+        address: X(D, I),\r
+        tt: J,                 // Changed from L to J (see (1))\r
+        legend: L,\r
+        q: L,\r
+        pre: X(G, C),\r
+        p: L,\r
+        em: J,                 // Changed from L to J (see (1))\r
+        dfn: L\r
+    } ;\r
+})() ;\r
+\r
+/*\r
+       Notes:\r
+       (1) According to the DTD, many elements, like <b> accept <a> elements\r
+           inside of them. But, to produce better output results, we have manually\r
+           changed the map to avoid breaking the links on pieces, having\r
+           "<b>this is a </b><a><b>link</b> test</a>", instead of\r
+           "<b>this is a <a>link</a></b><a> test</a>".\r
+*/\r
index db99d60..e3b3420 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
index 7f26822..0770c89 100644 (file)
@@ -1,7 +1,7 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 -->\r
 <html xmlns="http://www.w3.org/1999/xhtml">\r
        <head>\r
+               <title></title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
                <meta name="robots" content="noindex, nofollow" />\r
                <script type="text/javascript">\r
+// <![CDATA[\r
 \r
-// On some Gecko browsers (probably over slow connections) the\r
-// "dialogArguments" are not set so we must get it from the opener window.\r
-if ( !window.dialogArguments )\r
-       window.dialogArguments = window.opener.FCKLastDialogInfo ;\r
+// Domain relaxation logic.\r
+(function()\r
+{\r
+       var d = document.domain ;\r
 \r
-// Sets the Skin CSS\r
-document.write( '<link href="' + window.dialogArguments.Editor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;\r
+       while ( true )\r
+       {\r
+               // Test if we can access a parent property.\r
+               try\r
+               {\r
+                       var parentDomain = ( Args().TopWindow || E ).document.domain ;\r
 \r
-// Sets the language direction.\r
-window.document.dir = window.dialogArguments.Editor.FCKLang.Dir ;\r
+                       if ( document.domain != parentDomain )\r
+                               document.domain = parentDomain ;\r
 \r
-var sTitle = window.dialogArguments.Title ;\r
-document.write( '<title>' + sTitle + '<\/title>' ) ;\r
+                       break ;\r
+               }\r
+               catch( e ) {}\r
 \r
-function LoadInnerDialog()\r
-{\r
-       if ( window.onresize )\r
-               window.onresize() ;\r
+               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
+               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
 \r
-       // First of all, translate the dialog box contents.\r
-       window.dialogArguments.Editor.FCKLanguageManager.TranslatePage( document ) ;\r
+               if ( d.length == 0 )\r
+                       break ;         // It was not able to detect the domain.\r
 \r
-       window.frames["frmMain"].document.location.href = window.dialogArguments.Page ;\r
+               document.domain = d ;\r
+       }\r
+})() ;\r
+\r
+var E = frameElement._DialogArguments.Editor ;\r
+\r
+// It seems referencing to frameElement._DialogArguments directly would lead to memory leaks in IE.\r
+// So let's use functions to access its members instead.\r
+function Args()\r
+{\r
+       return frameElement._DialogArguments ;\r
 }\r
 \r
-function InnerDialogLoaded()\r
+function ParentDialog( dialog )\r
 {\r
-       var oInnerDoc = document.getElementById('frmMain').contentWindow.document ;\r
+       return dialog ? dialog._ParentDialog : frameElement._ParentDialog ;\r
+}\r
 \r
-       // Set the language direction.\r
-       oInnerDoc.dir = window.dialogArguments.Editor.FCKLang.Dir ;\r
+var FCK                                = E.FCK ;\r
+var FCKTools           = E.FCKTools ;\r
+var FCKDomTools                = E.FCKDomTools ;\r
+var FCKDialog          = E.FCKDialog ;\r
+var FCKBrowserInfo     = E.FCKBrowserInfo ;\r
+var FCKConfig          = E.FCKConfig ;\r
 \r
-       // Sets the Skin CSS.\r
-       oInnerDoc.write( '<link href="' + window.dialogArguments.Editor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;\r
+// Steal the focus so that the caret would no longer stay in the editor iframe.\r
+window.focus() ;\r
 \r
-       SetOnKeyDown( oInnerDoc ) ;\r
-       DisableContextMenu( oInnerDoc ) ;\r
+// Sets the Skin CSS\r
+document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;\r
 \r
-       return window.dialogArguments.Editor ;\r
-}\r
+// Sets the language direction.\r
+var langDir = E.FCKLang.Dir ;\r
 \r
-function SetOkButton( showIt )\r
-{\r
-       document.getElementById('btnOk').style.visibility = ( showIt ? '' : 'hidden' ) ;\r
-}\r
+// For IE6-, the fck_dialog_ie6.js is loaded, used to fix limitations in the browser.\r
+if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )\r
+       document.write( '<' + 'script type="text/javascript" src="' + FCKConfig.SkinPath + 'fck_dialog_ie6.js"><' + '\/script>' ) ;\r
 \r
-var bAutoSize = false ;\r
+FCKTools.RegisterDollarFunction( window ) ;\r
 \r
-function SetAutoSize( autoSize )\r
+// Resize related functions.\r
+var Sizer = function()\r
 {\r
-       bAutoSize = autoSize ;\r
-       RefreshSize() ;\r
-}\r
+       var bAutoSize = false ;\r
 \r
-function RefreshSize()\r
-{\r
-       if ( bAutoSize )\r
-       {\r
-               var oInnerDoc = document.getElementById('frmMain').contentWindow.document ;\r
+       var retval = {\r
+               // Sets whether the dialog should auto-resize according to its content's height.\r
+               SetAutoSize : function( autoSize )\r
+               {\r
+                       bAutoSize = autoSize ;\r
+                       this.RefreshSize() ;\r
+               },\r
 \r
-               var iFrameHeight ;\r
-               if ( document.all )\r
-                       iFrameHeight = oInnerDoc.body.offsetHeight ;\r
-               else\r
-                       iFrameHeight = document.getElementById('frmMain').contentWindow.innerHeight ;\r
+               // Fit the dialog container's layout to the inner iframe's external size.\r
+               RefreshContainerSize : function()\r
+               {\r
+                       var frmMain = $( 'frmMain' ) ;\r
 \r
-               var iInnerHeight = oInnerDoc.body.scrollHeight ;\r
+                       if ( frmMain )\r
+                       {\r
+                               // Get the container size.\r
+                               var height = $( 'contents' ).offsetHeight ;\r
 \r
-               var iDiff = iInnerHeight - iFrameHeight ;\r
+                               // Subtract the size of other elements.\r
+                               height -= $( 'TitleArea' ).offsetHeight ;\r
+                               height -= $( 'TabsRow' ).offsetHeight ;\r
+                               height -= $( 'PopupButtons' ).offsetHeight ;\r
 \r
-               if ( iDiff > 0 )\r
+                               frmMain.style.height = Math.max( height, 0 ) + 'px' ;\r
+                       }\r
+               },\r
+\r
+               // Resize and re-layout the dialog.\r
+               // Triggers the onresize event for the layout logic.\r
+               ResizeDialog : function( width, height )\r
                {\r
-                       if ( document.all )\r
-                               window.dialogHeight = ( parseInt( window.dialogHeight, 10 ) + iDiff ) + 'px' ;\r
-                       else\r
-                               window.resizeBy( 0, iDiff ) ;\r
+                       FCKDomTools.SetElementStyles( window.frameElement,\r
+                                       {\r
+                                               'width' : width + 'px',\r
+                                               'height' : height + 'px'\r
+                                       } ) ;\r
+\r
+                       // If the skin have defined a function for resize fixes, call it now.\r
+                       if ( typeof window.DoResizeFixes == 'function' )\r
+                               window.DoResizeFixes() ;\r
+               },\r
+\r
+               // if bAutoSize is true, automatically fit the dialog size and layout to\r
+               // accomodate the inner iframe's internal height.\r
+               // if bAutoSize is false, then only the layout logic for the dialog decorations\r
+               // is run to accomodate the inner iframe's external height.\r
+               RefreshSize : function()\r
+               {\r
+                       if ( bAutoSize )\r
+                       {\r
+                               var frmMain             = $( 'frmMain' ) ;\r
+                               var innerDoc    = frmMain.contentWindow.document ;\r
+                               var isStrict    = FCKTools.IsStrictMode( innerDoc ) ;\r
+\r
+                               // Get the size of the frame contents.\r
+                               var innerWidth  = isStrict ? innerDoc.documentElement.scrollWidth : innerDoc.body.scrollWidth ;\r
+                               var innerHeight = isStrict ? innerDoc.documentElement.scrollHeight : innerDoc.body.scrollHeight ;\r
+\r
+                               // Get the current frame size.\r
+                               var frameSize = FCKTools.GetViewPaneSize( frmMain.contentWindow ) ;\r
+\r
+                               var deltaWidth  = innerWidth - frameSize.Width ;\r
+                               var deltaHeight = innerHeight - frameSize.Height ;\r
+\r
+                               // If the contents fits the current size.\r
+                               if ( deltaWidth <= 0 && deltaHeight <= 0 )\r
+                                       return ;\r
+\r
+                               var dialogWidth         = frameElement.offsetWidth + Math.max( deltaWidth, 0 ) ;\r
+                               var dialogHeight        = frameElement.offsetHeight + Math.max( deltaHeight, 0 ) ;\r
+\r
+                               this.ResizeDialog( dialogWidth, dialogHeight ) ;\r
+                       }\r
+                       this.RefreshContainerSize() ;\r
                }\r
        }\r
-}\r
 \r
-function Ok()\r
-{\r
-       if ( window.frames["frmMain"].Ok && window.frames["frmMain"].Ok() )\r
-               Cancel() ;\r
-}\r
+       /**\r
+        * Safari seems to have a bug with the time when RefreshSize() is executed - it\r
+        * thinks frmMain's innerHeight is 0 if we query the value too soon after the\r
+        * page is loaded in some circumstances. (#1316)\r
+        * TODO : Maybe this is not needed anymore after #35.\r
+        */\r
+       if ( FCKBrowserInfo.IsSafari )\r
+       {\r
+               var originalRefreshSize = retval.RefreshSize ;\r
 \r
-function Cancel( dontFireChange )\r
-{\r
-       if ( !dontFireChange )\r
+               retval.RefreshSize = function()\r
+               {\r
+                       FCKTools.SetTimeout( originalRefreshSize, 1, retval ) ;\r
+               }\r
+       }\r
+\r
+       /**\r
+        * IE6 has a similar bug where it sometimes thinks $('contents') has an\r
+        * offsetHeight of 0 (#2114).\r
+        */\r
+       if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )\r
        {\r
-               // All dialog windows, by default, will fire the "OnSelectionChange"\r
-               // event, no matter the Ok or Cancel button has been pressed.\r
-               window.dialogArguments.Editor.FCK.Events.FireEvent( 'OnSelectionChange' ) ;\r
+               var originalRefreshContainerSize = retval.RefreshContainerSize ;\r
+               retval.RefreshContainerSize = function()\r
+               {\r
+                       FCKTools.SetTimeout( originalRefreshContainerSize, 1, retval ) ;\r
+               }\r
+       }\r
+\r
+       window.onresize = function()\r
+       {\r
+               retval.RefreshContainerSize() ;\r
        }\r
-       window.close() ;\r
-}\r
 \r
-// Object that holds all available tabs.\r
-var oTabs = new Object() ;\r
+       window.SetAutoSize = FCKTools.Bind( retval, retval.SetAutoSize ) ;\r
 \r
-function TabDiv_OnClick()\r
-{\r
-       SetSelectedTab( this.TabCode ) ;\r
-}\r
+       return retval ;\r
+}() ;\r
 \r
-function AddTab( tabCode, tabText, startHidden )\r
+// Manages the throbber image that appears if the inner part of dialog is taking too long to load.\r
+var Throbber = function()\r
 {\r
-       if ( typeof( oTabs[ tabCode ] ) != 'undefined' )\r
-               return ;\r
+       var timer ;\r
 \r
-       var eTabsRow = document.getElementById( 'Tabs' ) ;\r
+       var updateThrobber = function()\r
+       {\r
+               var throbberParent = $( 'throbberBlock' ) ;\r
+               var throbberBlocks = throbberParent.childNodes ;\r
+               var lastClass = throbberParent.lastChild.className ;\r
 \r
-       var oCell = eTabsRow.insertCell(  eTabsRow.cells.length - 1 ) ;\r
-       oCell.noWrap = true ;\r
+               // From the last to the second one, copy the class from the previous one.\r
+               for ( var i = throbberBlocks.length - 1 ; i > 0 ; i-- )\r
+                       throbberBlocks[i].className = throbberBlocks[i-1].className ;\r
 \r
-       var oDiv = document.createElement( 'DIV' ) ;\r
-       oDiv.className = 'PopupTab' ;\r
-       oDiv.innerHTML = tabText ;\r
-       oDiv.TabCode = tabCode ;\r
-       oDiv.onclick = TabDiv_OnClick ;\r
+               // For the first one, copy the last class (rotation).\r
+               throbberBlocks[0].className = lastClass ;\r
+       }\r
 \r
-       if ( startHidden )\r
-               oDiv.style.display = 'none' ;\r
+       return {\r
+               Show : function( waitMilliseconds )\r
+               {\r
+                       // Auto-setup the Show function to be called again after the\r
+                       // requested amount of time.\r
+                       if ( waitMilliseconds && waitMilliseconds > 0 )\r
+                       {\r
+                               timer = FCKTools.SetTimeout( this.Show, waitMilliseconds, this, null, window ) ;\r
+                               return ;\r
+                       }\r
 \r
-       eTabsRow = document.getElementById( 'TabsRow' ) ;\r
+                       var throbberParent = $( 'throbberBlock' ) ;\r
 \r
-       oCell.appendChild( oDiv ) ;\r
+                       if (throbberParent.childNodes.length == 0)\r
+                       {\r
+                               // Create the throbber blocks.\r
+                               var classIds = [ 1,2,3,4,5,4,3,2 ] ;\r
+                               while ( classIds.length > 0 )\r
+                                       throbberParent.appendChild( document.createElement( 'div' ) ).className = ' throbber_' + classIds.shift() ;\r
+                       }\r
 \r
-       if ( eTabsRow.style.display == 'none' )\r
-       {\r
-               var eTitleArea = document.getElementById( 'TitleArea' ) ;\r
-               eTitleArea.className = 'PopupTitle' ;\r
+                       // Center the throbber.\r
+                       var frm = $( 'contents' ) ;\r
+                       var frmCoords = FCKTools.GetDocumentPosition( window, frm ) ;\r
+                       var x = frmCoords.x + ( frm.offsetWidth - throbberParent.offsetWidth ) / 2 ;\r
+                       var y = frmCoords.y + ( frm.offsetHeight - throbberParent.offsetHeight ) / 2 ;\r
+                       throbberParent.style.left = parseInt( x, 10 ) + 'px' ;\r
+                       throbberParent.style.top = parseInt( y, 10 ) + 'px' ;\r
 \r
-               oDiv.className = 'PopupTabSelected' ;\r
-               eTabsRow.style.display = '' ;\r
+                       // Show it.\r
+                       throbberParent.style.visibility = ''  ;\r
 \r
-               if ( ! window.dialogArguments.Editor.FCKBrowserInfo.IsIE )\r
-                       window.onresize() ;\r
-       }\r
+                       // Hide tabs and buttons:\r
+                       $( 'Tabs' ).style.visibility = 'hidden' ;\r
+                       $( 'PopupButtons' ).style.visibility = 'hidden' ;\r
 \r
-       oTabs[ tabCode ] = oDiv ;\r
-}\r
+                       // Setup the animation interval.\r
+                       timer = setInterval( updateThrobber, 100 ) ;\r
+               },\r
+\r
+               Hide : function()\r
+               {\r
+                       if ( timer )\r
+                       {\r
+                               clearInterval( timer ) ;\r
+                               timer = null ;\r
+                       }\r
 \r
-function SetSelectedTab( tabCode )\r
+                       $( 'throbberBlock' ).style.visibility = 'hidden' ;\r
+\r
+                       // Show tabs and buttons:\r
+                       $( 'Tabs' ).style.visibility = '' ;\r
+                       $( 'PopupButtons' ).style.visibility = '' ;\r
+               }\r
+       } ;\r
+}() ;\r
+\r
+// Drag and drop handlers.\r
+var DragAndDrop = function()\r
 {\r
-       for ( var sCode in oTabs )\r
+       var registeredWindows = [] ;\r
+       var lastCoords ;\r
+       var currentPos ;\r
+\r
+       var cleanUpHandlers = function()\r
        {\r
-               if ( sCode == tabCode )\r
-                       oTabs[sCode].className = 'PopupTabSelected' ;\r
-               else\r
-                       oTabs[sCode].className = 'PopupTab' ;\r
+               for ( var i = 0 ; i < registeredWindows.length ; i++ )\r
+               {\r
+                       FCKTools.RemoveEventListener( registeredWindows[i].document, 'mousemove', dragMouseMoveHandler ) ;\r
+                       FCKTools.RemoveEventListener( registeredWindows[i].document, 'mouseup', dragMouseUpHandler ) ;\r
+               }\r
        }\r
 \r
-       if ( typeof( window.frames["frmMain"].OnDialogTabChange ) == 'function' )\r
-               window.frames["frmMain"].OnDialogTabChange( tabCode ) ;\r
-}\r
+       var dragMouseMoveHandler = function( evt )\r
+       {\r
+               if ( !lastCoords )\r
+                       return ;\r
 \r
-function SetTabVisibility( tabCode, isVisible )\r
-{\r
-       var oTab = oTabs[ tabCode ] ;\r
-       oTab.style.display = isVisible ? '' : 'none' ;\r
+               if ( !evt )\r
+                       evt = FCKTools.GetElementDocument( this ).parentWindow.event ;\r
+\r
+               // Updated the last coordinates.\r
+               var currentCoords =\r
+               {\r
+                       x : evt.screenX,\r
+                       y : evt.screenY\r
+               } ;\r
+\r
+               currentPos =\r
+               {\r
+                       x : currentPos.x + ( currentCoords.x - lastCoords.x ),\r
+                       y : currentPos.y + ( currentCoords.y - lastCoords.y )\r
+               } ;\r
 \r
-       if ( ! isVisible && oTab.className == 'PopupTabSelected' )\r
+               lastCoords = currentCoords ;\r
+\r
+               frameElement.style.left = currentPos.x + 'px' ;\r
+               frameElement.style.top  = currentPos.y + 'px' ;\r
+\r
+               if ( evt.preventDefault )\r
+                       evt.preventDefault() ;\r
+               else\r
+                       evt.returnValue = false ;\r
+       }\r
+\r
+       var dragMouseUpHandler = function( evt )\r
        {\r
-               for ( var sCode in oTabs )\r
+               if ( !lastCoords )\r
+                       return ;\r
+               if ( !evt )\r
+                       evt = FCKTools.GetElementDocument( this ).parentWindow.event ;\r
+               cleanUpHandlers() ;\r
+               lastCoords = null ;\r
+       }\r
+\r
+       return {\r
+\r
+               MouseDownHandler : function( evt )\r
                {\r
-                       if ( oTabs[sCode].style.display != 'none' )\r
+                       var view = null ;\r
+                       if ( !evt )\r
                        {\r
-                               SetSelectedTab( sCode ) ;\r
-                               break ;\r
+                               view = FCKTools.GetElementDocument( this ).parentWindow ;\r
+                               evt = view.event ;\r
                        }\r
+                       else\r
+                               view = evt.view ;\r
+\r
+                       var target = evt.srcElement || evt.target ;\r
+                       if ( target.id == 'closeButton' || target.className == 'PopupTab' || target.className == 'PopupTabSelected' )\r
+                               return ;\r
+\r
+                       lastCoords =\r
+                       {\r
+                               x : evt.screenX,\r
+                               y : evt.screenY\r
+                       } ;\r
+\r
+                       // Save the current IFRAME position.\r
+                       currentPos =\r
+                       {\r
+                               x : parseInt( FCKDomTools.GetCurrentElementStyle( frameElement, 'left' ), 10 ),\r
+                               y : parseInt( FCKDomTools.GetCurrentElementStyle( frameElement, 'top' ), 10 )\r
+                       } ;\r
+\r
+                       for ( var i = 0 ; i < registeredWindows.length ; i++ )\r
+                       {\r
+                               FCKTools.AddEventListener( registeredWindows[i].document, 'mousemove', dragMouseMoveHandler ) ;\r
+                               FCKTools.AddEventListener( registeredWindows[i].document, 'mouseup', dragMouseUpHandler ) ;\r
+                       }\r
+\r
+                       if ( evt.preventDefault )\r
+                               evt.preventDefault() ;\r
+                       else\r
+                               evt.returnValue = false ;\r
+               },\r
+\r
+               RegisterHandlers : function( w )\r
+               {\r
+                       registeredWindows.push( w ) ;\r
                }\r
        }\r
+}() ;\r
+\r
+// Selection related functions.\r
+//(Became simple shortcuts after the fix for #1990)\r
+var Selection =\r
+{\r
+       /**\r
+        * Ensures that the editing area contains an active selection. This is a\r
+        * requirement for IE, as it looses the selection when the focus moves to other\r
+        * frames.\r
+        */\r
+       EnsureSelection : function()\r
+       {\r
+               // Move the focus to the Cancel button so even if the dialog contains a\r
+               // contentEditable element the selection is properly restored in the editor #2496\r
+               window.focus() ;\r
+               $( 'btnCancel' ).focus() ;\r
+\r
+               FCK.Selection.Restore() ;\r
+       },\r
+\r
+       /**\r
+        * Get the FCKSelection object for the editor instance.\r
+        */\r
+       GetSelection : function()\r
+       {\r
+               return FCK.Selection ;\r
+       },\r
+\r
+       /**\r
+        * Get the selected element in the editing area (for object selections).\r
+        */\r
+       GetSelectedElement : function()\r
+       {\r
+               return FCK.Selection.GetSelectedElement() ;\r
+       }\r
 }\r
 \r
-function SetOnKeyDown( targetDocument )\r
+// Tab related functions.\r
+var Tabs = function()\r
 {\r
-       targetDocument.onkeydown = function ( e )\r
+       // Only element ids should be stored here instead of element references since setSelectedTab and TabDiv_OnClick\r
+       // would build circular references with the element references inside and cause memory leaks in IE6.\r
+       var oTabs = new Object() ;\r
+\r
+       var setSelectedTab = function( tabCode )\r
        {\r
-               e = e || event || this.parentWindow.event ;\r
-               switch ( e.keyCode )\r
+               for ( var sCode in oTabs )\r
                {\r
-                       case 13 :               // ENTER\r
-                               var oTarget = e.srcElement || e.target ;\r
-                               if ( oTarget.tagName == 'TEXTAREA' )\r
-                                       return true ;\r
-                               Ok() ;\r
-                               return false ;\r
-                       case 27 :               // ESC\r
-                               Cancel() ;\r
-                               return false ;\r
-                               break ;\r
+                       if ( sCode == tabCode )\r
+                               $( oTabs[sCode] ).className = 'PopupTabSelected' ;\r
+                       else\r
+                               $( oTabs[sCode] ).className = 'PopupTab' ;\r
                }\r
-               return true ;\r
+\r
+               if ( typeof( window.frames["frmMain"].OnDialogTabChange ) == 'function' )\r
+                       window.frames["frmMain"].OnDialogTabChange( tabCode ) ;\r
        }\r
-}\r
-SetOnKeyDown( document ) ;\r
 \r
-function DisableContextMenu( targetDocument )\r
+       function TabDiv_OnClick()\r
+       {\r
+               setSelectedTab( this.TabCode ) ;\r
+       }\r
+\r
+       window.AddTab = function( tabCode, tabText, startHidden )\r
+       {\r
+               if ( typeof( oTabs[ tabCode ] ) != 'undefined' )\r
+                       return ;\r
+\r
+               var eTabsRow = $( 'Tabs' ) ;\r
+\r
+               var oCell = eTabsRow.insertCell(  eTabsRow.cells.length - 1 ) ;\r
+               oCell.noWrap = true ;\r
+\r
+               var oDiv = document.createElement( 'DIV' ) ;\r
+               oDiv.className = 'PopupTab' ;\r
+               oDiv.innerHTML = tabText ;\r
+               oDiv.TabCode = tabCode ;\r
+               oDiv.onclick = TabDiv_OnClick ;\r
+               oDiv.id = Math.random() ;\r
+\r
+               if ( startHidden )\r
+                       oDiv.style.display = 'none' ;\r
+\r
+               eTabsRow = $( 'TabsRow' ) ;\r
+\r
+               oCell.appendChild( oDiv ) ;\r
+\r
+               if ( eTabsRow.style.display == 'none' )\r
+               {\r
+                       var eTitleArea = $( 'TitleArea' ) ;\r
+                       eTitleArea.className = 'PopupTitle' ;\r
+\r
+                       oDiv.className = 'PopupTabSelected' ;\r
+                       eTabsRow.style.display = '' ;\r
+\r
+                       if ( window.onresize )\r
+                               window.onresize() ;\r
+               }\r
+\r
+               oTabs[ tabCode ] = oDiv.id ;\r
+\r
+               FCKTools.DisableSelection( oDiv ) ;\r
+       } ;\r
+\r
+       window.SetSelectedTab = setSelectedTab ;\r
+\r
+       window.SetTabVisibility = function( tabCode, isVisible )\r
+       {\r
+               var oTab = $( oTabs[ tabCode ] ) ;\r
+               oTab.style.display = isVisible ? '' : 'none' ;\r
+\r
+               if ( ! isVisible && oTab.className == 'PopupTabSelected' )\r
+               {\r
+                       for ( var sCode in oTabs )\r
+                       {\r
+                               if ( $( oTabs[sCode] ).style.display != 'none' )\r
+                               {\r
+                                       setSelectedTab( sCode ) ;\r
+                                       break ;\r
+                               }\r
+                       }\r
+               }\r
+       } ;\r
+}() ;\r
+\r
+// readystatechange handler for registering drag and drop handlers in cover\r
+// iframes, defined out here to avoid memory leak.\r
+// Do NOT put this function as a private function as it will induce memory leak\r
+// in IE and it's not detectable with Drip or sIEve and undetectable leaks are\r
+// really nasty (sigh).\r
+var onReadyRegister = function()\r
+{\r
+       if ( this.readyState != 'complete' )\r
+               return ;\r
+       DragAndDrop.RegisterHandlers( this.contentWindow ) ;\r
+} ;\r
+\r
+// The business logic of the dialog, dealing with operational things like\r
+// dialog open/dialog close/enable/disable/etc.\r
+(function()\r
 {\r
-       if ( window.dialogArguments.Editor.FCKBrowserInfo.IsIE ) return ;\r
+       var setOnKeyDown = function( targetDocument )\r
+       {\r
+               targetDocument.onkeydown = function ( e )\r
+               {\r
+                       e = e || event || this.parentWindow.event ;\r
+                       switch ( e.keyCode )\r
+                       {\r
+                               case 13 :               // ENTER\r
+                                       var oTarget = e.srcElement || e.target ;\r
+                                       if ( oTarget.tagName == 'TEXTAREA' )\r
+                                               return true ;\r
+                                       Ok() ;\r
+                                       return false ;\r
+\r
+                               case 27 :               // ESC\r
+                                       Cancel() ;\r
+                                       return false ;\r
+                       }\r
+                       return true ;\r
+               }\r
+       } ;\r
 \r
-       // Disable Right-Click\r
-       var oOnContextMenu = function( e )\r
+       var contextMenuBlocker = function( e )\r
        {\r
                var sTagName = e.target.tagName ;\r
                if ( ! ( ( sTagName == "INPUT" && e.target.type == "text" ) || sTagName == "TEXTAREA" ) )\r
                        e.preventDefault() ;\r
-       }\r
-       targetDocument.addEventListener( 'contextmenu', oOnContextMenu, true ) ;\r
-}\r
-DisableContextMenu( document ) ;\r
+       } ;\r
 \r
-if ( ! window.dialogArguments.Editor.FCKBrowserInfo.IsIE )\r
-{\r
-       window.onresize = function()\r
+       var disableContextMenu = function( targetDocument )\r
        {\r
-               var oFrame = document.getElementById("frmMain") ;\r
+               if ( FCKBrowserInfo.IsIE )\r
+                       return ;\r
 \r
-               if ( ! oFrame )\r
-               return ;\r
+               targetDocument.addEventListener( 'contextmenu', contextMenuBlocker, true ) ;\r
+       } ;\r
 \r
-               oFrame.height = 0 ;\r
+       // Program entry point.\r
+       window.Init = function()\r
+       {\r
+               $( 'contents' ).dir = langDir;\r
 \r
-               var oCell = document.getElementById("FrameCell") ;\r
-               var iHeight = oCell.offsetHeight ;\r
+               // Start the throbber timer.\r
+               Throbber.Show( 1000 ) ;\r
 \r
-               oFrame.height = iHeight - 2 ;\r
-       }\r
-}\r
+               Sizer.RefreshContainerSize() ;\r
+               LoadInnerDialog() ;\r
 \r
-if ( window.dialogArguments.Editor.FCKBrowserInfo.IsIE )\r
-{\r
-       function Window_OnBeforeUnload()\r
+               FCKTools.DisableSelection( document.body ) ;\r
+\r
+               // Make the title area draggable.\r
+               var titleElement = $( 'header' ) ;\r
+               titleElement.onmousedown = DragAndDrop.MouseDownHandler ;\r
+\r
+               // Connect mousemove and mouseup events from dialog frame and outer window to dialog dragging logic.\r
+               DragAndDrop.RegisterHandlers( window ) ;\r
+               DragAndDrop.RegisterHandlers( Args().TopWindow ) ;\r
+\r
+               // Disable the previous dialog if it exists.\r
+               if ( ParentDialog() )\r
+               {\r
+                       ParentDialog().contentWindow.SetEnabled( false ) ;\r
+                       if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )\r
+                       {\r
+                               var currentParent = ParentDialog() ;\r
+                               while ( currentParent )\r
+                               {\r
+                                       var blockerFrame = currentParent.contentWindow.$( 'blocker' ) ;\r
+                                       if ( blockerFrame.readyState == 'complete' )\r
+                                               DragAndDrop.RegisterHandlers( blockerFrame.contentWindow ) ;\r
+                                       else\r
+                                               blockerFrame.onreadystatechange = onReadyRegister ;\r
+                                       currentParent = ParentDialog( currentParent ) ;\r
+                               }\r
+                       }\r
+                       else\r
+                       {\r
+                               var currentParent = ParentDialog() ;\r
+                               while ( currentParent )\r
+                               {\r
+                                       DragAndDrop.RegisterHandlers( currentParent.contentWindow ) ;\r
+                                       currentParent = ParentDialog( currentParent ) ;\r
+                               }\r
+                       }\r
+               }\r
+\r
+               // If this is the only dialog on screen, enable the background cover.\r
+               if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )\r
+               {\r
+                       var blockerFrame = FCKDialog.GetCover().firstChild ;\r
+                       if ( blockerFrame.readyState == 'complete' )\r
+                               DragAndDrop.RegisterHandlers( blockerFrame.contentWindow ) ;\r
+                       else\r
+                               blockerFrame.onreadystatechange = onReadyRegister;\r
+               }\r
+\r
+               // Add Enter/Esc hotkeys and disable context menu for the dialog.\r
+               setOnKeyDown( document ) ;\r
+               disableContextMenu( document ) ;\r
+       } ;\r
+\r
+       window.LoadInnerDialog = function()\r
        {\r
-               for ( var t in oTabs )\r
-                       oTabs[t] = null ;\r
+               if ( window.onresize )\r
+                       window.onresize() ;\r
 \r
-               window.dialogArguments.Editor = null ;\r
-       }\r
-       window.attachEvent( "onbeforeunload", Window_OnBeforeUnload ) ;\r
-}\r
+               // First of all, translate the dialog box contents.\r
+               E.FCKLanguageManager.TranslatePage( document ) ;\r
 \r
-function Window_OnClose()\r
-{\r
-       window.dialogArguments.Editor.FCKFocusManager.Unlock() ;\r
-}\r
+               // Create the IFRAME that holds the dialog contents.\r
+               $( 'innerContents' ).innerHTML = '<iframe id="frmMain" src="' + Args().Page + '" name="frmMain" frameborder="0" width="100%" height="100%" scrolling="auto" style="visibility: hidden;" allowtransparency="true"><\/iframe>' ;\r
+       } ;\r
+\r
+       window.InnerDialogLoaded = function()\r
+       {\r
+               // If the dialog has been closed before the iframe is loaded, do nothing.\r
+               if ( !frameElement.parentNode )\r
+                       return null ;\r
+\r
+               Throbber.Hide() ;\r
+\r
+               var frmMain = $('frmMain') ;\r
+               var innerWindow = frmMain.contentWindow ;\r
+               var innerDoc = innerWindow.document ;\r
+\r
+               // Show the loaded iframe.\r
+               frmMain.style.visibility = '' ;\r
+\r
+               // Set the language direction.\r
+               innerDoc.documentElement.dir = langDir ;\r
 \r
-if ( window.addEventListener )\r
-       window.addEventListener( 'unload', Window_OnClose, false ) ;\r
+               // Sets the Skin CSS.\r
+               innerDoc.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;\r
+\r
+               setOnKeyDown( innerDoc ) ;\r
+               disableContextMenu( innerDoc ) ;\r
+\r
+               Sizer.RefreshContainerSize();\r
+\r
+               DragAndDrop.RegisterHandlers( innerWindow ) ;\r
+\r
+               innerWindow.focus() ;\r
+\r
+               return E ;\r
+       } ;\r
+\r
+       window.SetOkButton = function( showIt )\r
+       {\r
+               $('btnOk').style.visibility = ( showIt ? '' : 'hidden' ) ;\r
+       } ;\r
 \r
+       window.Ok = function()\r
+       {\r
+               Selection.EnsureSelection() ;\r
+\r
+               var frmMain = window.frames["frmMain"] ;\r
+\r
+               if ( frmMain.Ok && frmMain.Ok() )\r
+                       CloseDialog() ;\r
+               else\r
+                       frmMain.focus() ;\r
+       } ;\r
+\r
+       window.Cancel = function( dontFireChange )\r
+       {\r
+               Selection.EnsureSelection() ;\r
+               return CloseDialog( dontFireChange ) ;\r
+       } ;\r
+\r
+       window.CloseDialog = function( dontFireChange )\r
+       {\r
+               Throbber.Hide() ;\r
+\r
+               // Points the src to a non-existent location to avoid loading errors later, in case the dialog\r
+               // haven't been completed loaded at this point.\r
+               if ( $( 'frmMain' ) )\r
+                       $( 'frmMain' ).src = FCKTools.GetVoidUrl() ;\r
+\r
+               if ( !dontFireChange && !FCK.EditMode )\r
+               {\r
+                       // All dialog windows, by default, will fire the "OnSelectionChange"\r
+                       // event, no matter the Ok or Cancel button has been pressed.\r
+                       // It seems that OnSelectionChange may enter on a concurrency state\r
+                       // on some situations (#1965), so we should put the event firing in\r
+                       // the execution queue instead of executing it immediately.\r
+                       setTimeout( function()\r
+                               {\r
+                                       FCK.Events.FireEvent( 'OnSelectionChange' ) ;\r
+                               }, 0 ) ;\r
+               }\r
+\r
+               FCKDialog.OnDialogClose( window ) ;\r
+       } ;\r
+\r
+       window.SetEnabled = function( isEnabled )\r
+       {\r
+               var cover = $( 'cover' ) ;\r
+               cover.style.display = isEnabled ? 'none' : '' ;\r
+\r
+               if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )\r
+               {\r
+                       if ( !isEnabled )\r
+                       {\r
+                               // Inser the blocker IFRAME before the cover.\r
+                               var blocker = document.createElement( 'iframe' ) ;\r
+                               blocker.src = FCKTools.GetVoidUrl() ;\r
+                               blocker.hideFocus = true ;\r
+                               blocker.frameBorder = 0 ;\r
+                               blocker.id = blocker.className = 'blocker' ;\r
+                               cover.appendChild( blocker ) ;\r
+                       }\r
+                       else\r
+                       {\r
+                               var blocker = $( 'blocker' ) ;\r
+                               if ( blocker && blocker.parentNode )\r
+                                       blocker.parentNode.removeChild( blocker ) ;\r
+                       }\r
+               }\r
+       } ;\r
+})() ;\r
+// ]]>\r
                </script>\r
        </head>\r
-       <body onload="LoadInnerDialog();" class="PopupBody">\r
-               <table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">\r
-                       <tr>\r
-                               <td id="TitleArea" class="PopupTitle PopupTitleBorder">\r
+       <body onload="Init();" class="PopupBody">\r
+               <div class="contents" id="contents">\r
+                       <div id="header">\r
+                               <div id="TitleArea" class="PopupTitle PopupTitleBorder">\r
                                        <script type="text/javascript">\r
-document.write( sTitle ) ;\r
+// <![CDATA[\r
+document.write( Args().Title ) ;\r
+// ]]>\r
                                        </script>\r
-                               </td>\r
-                       </tr>\r
-                       <tr id="TabsRow" style="DISPLAY: none">\r
-                               <td class="PopupTabArea">\r
+                                       <div id="closeButton" onclick="Cancel();"></div>\r
+                               </div>\r
+                               <div id="TabsRow" class="PopupTabArea" style="display: none">\r
                                        <table border="0" cellpadding="0" cellspacing="0" width="100%">\r
-                                               <tr id="Tabs" onselectstart="return false;">\r
+                                               <tr id="Tabs">\r
                                                        <td class="PopupTabEmptyArea">&nbsp;</td>\r
                                                        <td class="PopupTabEmptyArea" width="100%">&nbsp;</td>\r
                                                </tr>\r
                                        </table>\r
-                               </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td id="FrameCell" height="100%" valign="top">\r
-                                       <iframe id="frmMain" src="javascript:void(0)" name="frmMain" frameborder="0" height="100%" width="100%" scrolling="auto">\r
-                                       </iframe>\r
-                               </td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td class="PopupButtons">\r
-                                       <table border="0" cellpadding="0" cellspacing="0">\r
-                                               <tr>\r
-                                                       <td width="100%">&nbsp;</td>\r
-                                                       <td nowrap="nowrap">\r
-                                                               <input id="btnOk" style="VISIBILITY: hidden;" type="button" value="Ok" class="Button" onclick="Ok();" fckLang="DlgBtnOK" />\r
-                                                               &nbsp; \r
-                                                               <input id="btnCancel" type="button" value="Cancel" class="Button" onclick="Cancel();" fckLang="DlgBtnCancel" />\r
-                                                       </td>\r
-                                               </tr>\r
-                                       </table>\r
-                               </td>\r
-                       </tr>\r
-               </table>\r
+                               </div>\r
+                       </div>\r
+                       <div id="innerContents"></div>\r
+                       <div id="PopupButtons" class="PopupButtons">\r
+                               <table border="0" cellpadding="0" cellspacing="0">\r
+                                       <tr>\r
+                                               <td width="100%">&nbsp;</td>\r
+                                               <td nowrap="nowrap">\r
+                                                       <input id="btnOk" style="visibility: hidden;" type="button" value="Ok" class="Button" onclick="Ok();" fckLang="DlgBtnOK" />\r
+                                                       &nbsp;\r
+                                                       <input id="btnCancel" type="button" value="Cancel" class="Button" onclick="Cancel();" fckLang="DlgBtnCancel" />\r
+                                               </td>\r
+                                       </tr>\r
+                               </table>\r
+                       </div>\r
+               </div>\r
+               <div class="tl"></div>\r
+               <div class="tc"></div>\r
+               <div class="tr"></div>\r
+               <div class="ml"></div>\r
+               <div class="mr"></div>\r
+               <div class="bl"></div>\r
+               <div class="bc"></div>\r
+               <div class="br"></div>\r
+               <div class="cover" id="cover" style="display:none"></div>\r
+               <div id="throbberBlock" style="position: absolute; visibility: hidden"></div>\r
+               <script type="text/javascript">\r
+// <![CDATA[\r
+                       // Set the class name for language direction.\r
+                       document.body.className += ' ' + langDir ;\r
+\r
+                       var cover = $( 'cover' ) ;\r
+                       cover.style.backgroundColor = FCKConfig.BackgroundBlockerColor ;\r
+                       FCKDomTools.SetOpacity( cover, FCKConfig.BackgroundBlockerOpacity ) ;\r
+// ]]>\r
+               </script>\r
        </body>\r
-</html>
\ No newline at end of file
+</html>\r
index 25ad37e..5f90c3d 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  *\r
  * Main page that holds the editor.\r
 -->\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
+<html>\r
 <head>\r
        <title>FCKeditor</title>\r
-       <meta name="robots" content="noindex, nofollow" />\r
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
-       <meta http-equiv="Cache-Control" content="public" />\r
+       <meta name="robots" content="noindex, nofollow">\r
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
+       <meta http-equiv="Cache-Control" content="public">\r
        <script type="text/javascript">\r
 \r
+// #1645: Alert the user if opening FCKeditor in FF3 from local filesystem\r
+// without security.fileuri.strict_origin_policy disabled.\r
+if ( document.location.protocol == 'file:' )\r
+{\r
+       try\r
+       {\r
+               window.parent.document.domain ;\r
+       }\r
+       catch ( e )\r
+       {\r
+               window.addEventListener( 'load', function()\r
+                       {\r
+                               document.body.innerHTML = '\\r
+                                       <div style="border: 1px red solid; font-family: arial; font-size: 12px; color: red; padding:10px;">\\r
+                                               <p>\\r
+                                                       <b>Your browser security settings don\'t allow FCKeditor to be opened from\\r
+                                                       the local filesystem.<\/b>\\r
+                                               <\/p>\\r
+                                               <p>\\r
+                                                       Please open the <b>about:config<\/b> page and disable the\\r
+                                                       &quot;security.fileuri.strict_origin_policy&quot; option; then load this page again.\\r
+                                               <\/p>\\r
+                                               <p>\\r
+                                                       Check our <a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/FAQ#ff3perms">FAQ<\/a>\\r
+                                                       for more information.\\r
+                                               <\/p>\\r
+                                       <\/div>' ;\r
+                       }, false ) ;\r
+       }\r
+}\r
+\r
+// Save a reference to the default domain.\r
+var FCK_ORIGINAL_DOMAIN ;\r
+\r
+// Automatically detect the correct document.domain (#123).\r
+(function()\r
+{\r
+       var d = FCK_ORIGINAL_DOMAIN = document.domain ;\r
+\r
+       while ( true )\r
+       {\r
+               // Test if we can access a parent property.\r
+               try\r
+               {\r
+                       var test = window.parent.document.domain ;\r
+                       break ;\r
+               }\r
+               catch( e ) {}\r
+\r
+               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
+               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
+\r
+               if ( d.length == 0 )\r
+                       break ;         // It was not able to detect the domain.\r
+\r
+               try\r
+               {\r
+                       document.domain = d ;\r
+               }\r
+               catch (e)\r
+               {\r
+                       break ;\r
+               }\r
+       }\r
+})() ;\r
+\r
+// Save a reference to the detected runtime domain.\r
+var FCK_RUNTIME_DOMAIN = document.domain ;\r
+\r
+var FCK_IS_CUSTOM_DOMAIN = ( FCK_ORIGINAL_DOMAIN != FCK_RUNTIME_DOMAIN ) ;\r
+\r
 // Instead of loading scripts and CSSs using inline tags, all scripts are\r
 // loaded by code. In this way we can guarantee the correct processing order,\r
 // otherwise external scripts and inline scripts could be executed in an\r
 \r
 function LoadScript( url )\r
 {\r
-       document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '" onerror="alert(\'Error loading \' + this.src);"><\/scr' + 'ipt>' ) ;\r
-}\r
-\r
-function LoadCss( url )\r
-{\r
-       document.write( '<link href="' + url + '" type="text/css" rel="stylesheet" onerror="alert(\'Error loading \' + this.src);" />' ) ;\r
+       document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '"><\/scr' + 'ipt>' ) ;\r
 }\r
 \r
 // Main editor scripts.\r
-var sSuffix = /msie/.test( navigator.userAgent.toLowerCase() ) ? 'ie' : 'gecko' ;\r
+var sSuffix = ( /*@cc_on!@*/false ) ? 'ie' : 'gecko' ;\r
 \r
 LoadScript( 'js/fckeditorcode_' + sSuffix + '.js' ) ;\r
 \r
@@ -55,6 +121,10 @@ LoadScript( '../fckconfig.js' ) ;
        </script>\r
        <script type="text/javascript">\r
 \r
+// Adobe AIR compatibility file.\r
+if ( FCKBrowserInfo.IsAIR )\r
+       LoadScript( 'js/fckadobeair.js' ) ;\r
+\r
 if ( FCKBrowserInfo.IsIE )\r
 {\r
        // Remove IE mouse flickering.\r
@@ -74,6 +144,11 @@ if ( FCKBrowserInfo.IsIE )
        FCK.IECleanup.AddItem( FCK, FCK_Cleanup ) ;\r
 }\r
 \r
+// The first function to be called on selection change must the the styles\r
+// change checker, because the result of its processing may be used by another\r
+// functions listening to the same event.\r
+FCK.Events.AttachEvent( 'OnSelectionChange', function() { FCKStyles.CheckSelectionChanges() ; } ) ;\r
+\r
 // The config hidden field is processed immediately, because\r
 // CustomConfigurationsPath may be set in the page.\r
 FCKConfig.ProcessHiddenField() ;\r
@@ -90,8 +165,24 @@ FCKConfig_LoadPageConfig() ;
 \r
 FCKConfig_PreProcess() ;\r
 \r
+// Load the full debug script.\r
+if ( FCKConfig.Debug )\r
+       LoadScript( '_source/internals/fckdebug.js' ) ;\r
+\r
+       </script>\r
+       <script type="text/javascript">\r
+\r
+// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).\r
+var FCK_InternalCSS                    = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'html{min-height:100%}table.FCK__ShowTableBorders,table.FCK__ShowTableBorders td,table.FCK__ShowTableBorders th{border:#d3d3d3 1px solid}form{border:1px dotted #F00;padding:2px}.FCK__Flash{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_flashlogo.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__UnknownObject{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_plugin.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__Anchor{border:1px dotted #00F;background-position:center center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;width:16px;height:15px;vertical-align:middle}.FCK__AnchorC{border:1px dotted #00F;background-position:1px center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}a[name]{border:1px dotted #00F;background-position:0 center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}.FCK__PageBreak{background-position:center center;background-image:url(images/fck_pagebreak.gif);background-repeat:no-repeat;clear:both;display:block;float:none;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;border-right:0;border-left:0;height:5px}.FCK__InputHidden{width:19px;height:18px;background-image:url(images/fck_hiddenfield.gif);background-repeat:no-repeat;vertical-align:text-bottom;background-position:center center}.FCK__ShowBlocks p,.FCK__ShowBlocks div,.FCK__ShowBlocks pre,.FCK__ShowBlocks address,.FCK__ShowBlocks blockquote,.FCK__ShowBlocks h1,.FCK__ShowBlocks h2,.FCK__ShowBlocks h3,.FCK__ShowBlocks h4,.FCK__ShowBlocks h5,.FCK__ShowBlocks h6{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px;padding-left:8px}.FCK__ShowBlocks p{background-image:url(images/block_p.png)}.FCK__ShowBlocks div{background-image:url(images/block_div.png)}.FCK__ShowBlocks pre{background-image:url(images/block_pre.png)}.FCK__ShowBlocks address{background-image:url(images/block_address.png)}.FCK__ShowBlocks blockquote{background-image:url(images/block_blockquote.png)}.FCK__ShowBlocks h1{background-image:url(images/block_h1.png)}.FCK__ShowBlocks h2{background-image:url(images/block_h2.png)}.FCK__ShowBlocks h3{background-image:url(images/block_h3.png)}.FCK__ShowBlocks h4{background-image:url(images/block_h4.png)}.FCK__ShowBlocks h5{background-image:url(images/block_h5.png)}.FCK__ShowBlocks h6{background-image:url(images/block_h6.png)}' ) ;\r
+var FCK_ShowTableBordersCSS    = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'table:not([border]),table:not([border]) > tr > td,table:not([border]) > tr > th,table:not([border]) > tbody > tr > td,table:not([border]) > tbody > tr > th,table:not([border]) > thead > tr > td,table:not([border]) > thead > tr > th,table:not([border]) > tfoot > tr > td,table:not([border]) > tfoot > tr > th,table[border=\"0\"],table[border=\"0\"] > tr > td,table[border=\"0\"] > tr > th,table[border=\"0\"] > tbody > tr > td,table[border=\"0\"] > tbody > tr > th,table[border=\"0\"] > thead > tr > td,table[border=\"0\"] > thead > tr > th,table[border=\"0\"] > tfoot > tr > td,table[border=\"0\"] > tfoot > tr > th{border:#d3d3d3 1px dotted}' ) ;\r
+\r
+// Popup the debug window if debug mode is set to true. It guarantees that the\r
+// first debug message will not be lost.\r
+if ( FCKConfig.Debug )\r
+       FCKDebug._GetWindow() ;\r
+\r
 // Load the active skin CSS.\r
-LoadCss( FCKConfig.SkinPath + 'fck_editor.css' ) ;\r
+document.write( FCKTools.GetStyleHtml( FCKConfig.SkinEditorCSS ) ) ;\r
 \r
 // Load the language file.\r
 FCKLanguageManager.Initialize() ;\r
@@ -111,10 +202,6 @@ FCKPlugins.Load() ;
 // Set the editor interface direction.\r
 window.document.dir = FCKLang.Dir ;\r
 \r
-// Activate pasting operations.\r
-if ( FCKConfig.ForcePasteAsPlainText || FCKConfig.AutoDetectPasteFromWord )\r
-       FCK.Events.AttachEvent( 'OnPaste', FCK.Paste ) ;\r
-\r
        </script>\r
        <script type="text/javascript">\r
 \r
@@ -166,7 +253,8 @@ function WaitForActive( editorInstance, newStatus )
                if ( FCKBrowserInfo.IsGecko )\r
                        FCKTools.RunFunction( window.onresize ) ;\r
 \r
-               _AttachFormSubmitToAPI() ;\r
+               if ( !FCKConfig.PreventSubmitHandler )\r
+                       _AttachFormSubmitToAPI() ;\r
 \r
                FCK.SetStatus( FCK_STATUS_COMPLETE ) ;\r
 \r
@@ -177,13 +265,16 @@ function WaitForActive( editorInstance, newStatus )
        }\r
 }\r
 \r
-// Gecko browsers doens't calculate well that IFRAME size so we must\r
+// Gecko and Webkit browsers don't calculate well the IFRAME size so we must\r
 // recalculate it every time the window size changes.\r
-if ( FCKBrowserInfo.IsGecko )\r
+if ( FCKBrowserInfo.IsGecko || ( FCKBrowserInfo.IsSafari && !FCKBrowserInfo.IsSafari3 ) )\r
 {\r
-       function Window_OnResize()\r
+       window.onresize = function( e )\r
        {\r
-               if ( FCKBrowserInfo.IsOpera )\r
+               // Running in Firefox's chrome makes the window receive the event including subframes.\r
+               // we care only about this window. Ticket #1642.\r
+               // #2002: The originalTarget from the event can be the current document, the window, or the editing area.\r
+               if ( e && e.originalTarget && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document ))\r
                        return ;\r
 \r
                var oCell = document.getElementById( 'xEditingArea' ) ;\r
@@ -191,11 +282,10 @@ if ( FCKBrowserInfo.IsGecko )
                var eInnerElement = oCell.firstChild ;\r
                if ( eInnerElement )\r
                {\r
-                       eInnerElement.style.height = 0 ;\r
-                       eInnerElement.style.height = oCell.scrollHeight - 2 ;\r
+                       eInnerElement.style.height = '0px' ;\r
+                       eInnerElement.style.height = ( oCell.scrollHeight - 2 ) + 'px' ;\r
                }\r
        }\r
-       window.onresize = Window_OnResize ;\r
 }\r
 \r
        </script>\r
index 846eed9..34d76ca 100644 (file)
@@ -1,7 +1,7 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  *\r
  * Main page that holds the editor.\r
 -->\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
+<html>\r
 <head>\r
        <title>FCKeditor</title>\r
-       <meta name="robots" content="noindex, nofollow" />\r
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
+       <meta name="robots" content="noindex, nofollow">\r
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
        <!-- @Packager.RemoveLine\r
-       <meta http-equiv="Cache-Control" content="public" />\r
+       <meta http-equiv="Cache-Control" content="public">\r
        @Packager.RemoveLine -->\r
        <script type="text/javascript">\r
 \r
+// #1645: Alert the user if opening FCKeditor in FF3 from local filesystem\r
+// without security.fileuri.strict_origin_policy disabled.\r
+if ( document.location.protocol == 'file:' )\r
+{\r
+       try\r
+       {\r
+               window.parent.document.domain ;\r
+       }\r
+       catch ( e )\r
+       {\r
+               window.addEventListener( 'load', function()\r
+                       {\r
+                               document.body.innerHTML = '\\r
+                                       <div style="border: 1px red solid; font-family: arial; font-size: 12px; color: red; padding:10px;">\\r
+                                               <p>\\r
+                                                       <b>Your browser security settings don\'t allow FCKeditor to be opened from\\r
+                                                       the local filesystem.<\/b>\\r
+                                               <\/p>\\r
+                                               <p>\\r
+                                                       Please open the <b>about:config<\/b> page and disable the\\r
+                                                       &quot;security.fileuri.strict_origin_policy&quot; option; then load this page again.\\r
+                                               <\/p>\\r
+                                               <p>\\r
+                                                       Check our <a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/FAQ#ff3perms">FAQ<\/a>\\r
+                                                       for more information.\\r
+                                               <\/p>\\r
+                                       <\/div>' ;\r
+                       }, false ) ;\r
+       }\r
+}\r
+\r
+// Save a reference to the default domain.\r
+var FCK_ORIGINAL_DOMAIN ;\r
+\r
+// Automatically detect the correct document.domain (#123).\r
+(function()\r
+{\r
+       var d = FCK_ORIGINAL_DOMAIN = document.domain ;\r
+\r
+       while ( true )\r
+       {\r
+               // Test if we can access a parent property.\r
+               try\r
+               {\r
+                       var test = window.parent.document.domain ;\r
+                       break ;\r
+               }\r
+               catch( e ) {}\r
+\r
+               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
+               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
+\r
+               if ( d.length == 0 )\r
+                       break ;         // It was not able to detect the domain.\r
+\r
+               try\r
+               {\r
+                       document.domain = d ;\r
+               }\r
+               catch (e)\r
+               {\r
+                       break ;\r
+               }\r
+       }\r
+})() ;\r
+\r
+// Save a reference to the detected runtime domain.\r
+var FCK_RUNTIME_DOMAIN = document.domain ;\r
+\r
+var FCK_IS_CUSTOM_DOMAIN = ( FCK_ORIGINAL_DOMAIN != FCK_RUNTIME_DOMAIN ) ;\r
+\r
 // Instead of loading scripts and CSSs using inline tags, all scripts are\r
 // loaded by code. In this way we can guarantee the correct processing order,\r
 // otherwise external scripts and inline scripts could be executed in an\r
 \r
 function LoadScript( url )\r
 {\r
-       document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '" onerror="alert(\'Error loading \' + this.src);"><\/scr' + 'ipt>' ) ;\r
-}\r
-\r
-function LoadCss( url )\r
-{\r
-       document.write( '<link href="' + url + '" type="text/css" rel="stylesheet" onerror="alert(\'Error loading \' + this.src);" />' ) ;\r
+       document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '"><\/scr' + 'ipt>' ) ;\r
 }\r
 \r
 // Main editor scripts.\r
-var sSuffix = /msie/.test( navigator.userAgent.toLowerCase() ) ? 'ie' : 'gecko' ;\r
+var sSuffix = ( /*@cc_on!@*/false ) ? 'ie' : 'gecko' ;\r
 \r
 /* @Packager.RemoveLine\r
 LoadScript( 'js/fckeditorcode_' + sSuffix + '.js' ) ;\r
@@ -63,11 +129,12 @@ if ( sSuffix == 'ie' )
 LoadScript( '_source/internals/fckbrowserinfo.js' ) ;\r
 LoadScript( '_source/internals/fckurlparams.js' ) ;\r
 LoadScript( '_source/classes/fckevents.js' ) ;\r
+LoadScript( '_source/classes/fckdataprocessor.js' ) ;\r
 LoadScript( '_source/internals/fck.js' ) ;\r
 LoadScript( '_source/internals/fck_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/internals/fckconfig.js' ) ;\r
 \r
-LoadScript( '_source/internals/fckdebug.js' ) ;\r
+LoadScript( '_source/internals/fckdebug_empty.js' ) ;\r
 LoadScript( '_source/internals/fckdomtools.js' ) ;\r
 LoadScript( '_source/internals/fcktools.js' ) ;\r
 LoadScript( '_source/internals/fcktools_' + sSuffix + '.js' ) ;\r
@@ -80,16 +147,21 @@ LoadScript( '_source/internals/fckxhtmlentities.js' ) ;
 LoadScript( '_source/internals/fckxhtml.js' ) ;\r
 LoadScript( '_source/internals/fckxhtml_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/internals/fckcodeformatter.js' ) ;\r
-LoadScript( '_source/internals/fckundo_' + sSuffix + '.js' ) ;\r
+LoadScript( '_source/internals/fckundo.js' ) ;\r
 LoadScript( '_source/classes/fckeditingarea.js' ) ;\r
 LoadScript( '_source/classes/fckkeystrokehandler.js' ) ;\r
 \r
+LoadScript( 'dtd/fck_xhtml10transitional.js' ) ;\r
+LoadScript( '_source/classes/fckstyle.js' ) ;\r
+LoadScript( '_source/internals/fckstyles.js' ) ;\r
+\r
 LoadScript( '_source/internals/fcklisthandler.js' ) ;\r
 LoadScript( '_source/classes/fckelementpath.js' ) ;\r
 LoadScript( '_source/classes/fckdomrange.js' ) ;\r
 LoadScript( '_source/classes/fckdocumentfragment_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/classes/fckw3crange.js' ) ;\r
 LoadScript( '_source/classes/fckdomrange_' + sSuffix + '.js' ) ;\r
+LoadScript( '_source/classes/fckdomrangeiterator.js' ) ;\r
 LoadScript( '_source/classes/fckenterkey.js' ) ;\r
 \r
 LoadScript( '_source/internals/fckdocumentprocessor.js' ) ;\r
@@ -98,20 +170,25 @@ LoadScript( '_source/internals/fckselection_' + sSuffix + '.js' ) ;
 \r
 LoadScript( '_source/internals/fcktablehandler.js' ) ;\r
 LoadScript( '_source/internals/fcktablehandler_' + sSuffix + '.js' ) ;\r
+LoadScript( '_source/classes/fckxml.js' ) ;\r
 LoadScript( '_source/classes/fckxml_' + sSuffix + '.js' ) ;\r
-LoadScript( '_source/classes/fckstyledef.js' ) ;\r
-LoadScript( '_source/classes/fckstyledef_' + sSuffix + '.js' ) ;\r
-LoadScript( '_source/classes/fckstylesloader.js' ) ;\r
 \r
 LoadScript( '_source/commandclasses/fcknamedcommand.js' ) ;\r
+LoadScript( '_source/commandclasses/fckstylecommand.js' ) ;\r
 LoadScript( '_source/commandclasses/fck_othercommands.js' ) ;\r
+LoadScript( '_source/commandclasses/fckshowblocks.js' ) ;\r
 LoadScript( '_source/commandclasses/fckspellcheckcommand_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/commandclasses/fcktextcolorcommand.js' ) ;\r
 LoadScript( '_source/commandclasses/fckpasteplaintextcommand.js' ) ;\r
 LoadScript( '_source/commandclasses/fckpastewordcommand.js' ) ;\r
 LoadScript( '_source/commandclasses/fcktablecommand.js' ) ;\r
-LoadScript( '_source/commandclasses/fckstylecommand.js' ) ;\r
 LoadScript( '_source/commandclasses/fckfitwindow.js' ) ;\r
+LoadScript( '_source/commandclasses/fcklistcommands.js' ) ;\r
+LoadScript( '_source/commandclasses/fckjustifycommands.js' ) ;\r
+LoadScript( '_source/commandclasses/fckindentcommands.js' ) ;\r
+LoadScript( '_source/commandclasses/fckblockquotecommand.js' ) ;\r
+LoadScript( '_source/commandclasses/fckcorestylecommand.js' ) ;\r
+LoadScript( '_source/commandclasses/fckremoveformatcommand.js' ) ;\r
 LoadScript( '_source/internals/fckcommands.js' ) ;\r
 \r
 LoadScript( '_source/classes/fckpanel.js' ) ;\r
@@ -120,22 +197,23 @@ LoadScript( '_source/classes/fcktoolbarbuttonui.js' ) ;
 LoadScript( '_source/classes/fcktoolbarbutton.js' ) ;\r
 LoadScript( '_source/classes/fckspecialcombo.js' ) ;\r
 LoadScript( '_source/classes/fcktoolbarspecialcombo.js' ) ;\r
+LoadScript( '_source/classes/fcktoolbarstylecombo.js' ) ;\r
+LoadScript( '_source/classes/fcktoolbarfontformatcombo.js' ) ;\r
 LoadScript( '_source/classes/fcktoolbarfontscombo.js' ) ;\r
 LoadScript( '_source/classes/fcktoolbarfontsizecombo.js' ) ;\r
-LoadScript( '_source/classes/fcktoolbarfontformatcombo.js' ) ;\r
-LoadScript( '_source/classes/fcktoolbarstylecombo.js' ) ;\r
 LoadScript( '_source/classes/fcktoolbarpanelbutton.js' ) ;\r
+LoadScript( '_source/internals/fckscayt.js' ) ;\r
 LoadScript( '_source/internals/fcktoolbaritems.js' ) ;\r
 LoadScript( '_source/classes/fcktoolbar.js' ) ;\r
 LoadScript( '_source/classes/fcktoolbarbreak_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/internals/fcktoolbarset.js' ) ;\r
 LoadScript( '_source/internals/fckdialog.js' ) ;\r
-LoadScript( '_source/internals/fckdialog_' + sSuffix + '.js' ) ;\r
 LoadScript( '_source/classes/fckmenuitem.js' ) ;\r
 LoadScript( '_source/classes/fckmenublock.js' ) ;\r
 LoadScript( '_source/classes/fckmenublockpanel.js' ) ;\r
 LoadScript( '_source/classes/fckcontextmenu.js' ) ;\r
 LoadScript( '_source/internals/fck_contextmenu.js' ) ;\r
+LoadScript( '_source/classes/fckhtmliterator.js' ) ;\r
 LoadScript( '_source/classes/fckplugin.js' ) ;\r
 LoadScript( '_source/internals/fckplugins.js' ) ;\r
 \r
@@ -147,6 +225,10 @@ LoadScript( '../fckconfig.js' ) ;
        </script>\r
        <script type="text/javascript">\r
 \r
+// Adobe AIR compatibility file.\r
+if ( FCKBrowserInfo.IsAIR )\r
+       LoadScript( 'js/fckadobeair.js' ) ;\r
+\r
 if ( FCKBrowserInfo.IsIE )\r
 {\r
        // Remove IE mouse flickering.\r
@@ -166,6 +248,11 @@ if ( FCKBrowserInfo.IsIE )
        FCK.IECleanup.AddItem( FCK, FCK_Cleanup ) ;\r
 }\r
 \r
+// The first function to be called on selection change must the the styles\r
+// change checker, because the result of its processing may be used by another\r
+// functions listening to the same event.\r
+FCK.Events.AttachEvent( 'OnSelectionChange', function() { FCKStyles.CheckSelectionChanges() ; } ) ;\r
+\r
 // The config hidden field is processed immediately, because\r
 // CustomConfigurationsPath may be set in the page.\r
 FCKConfig.ProcessHiddenField() ;\r
@@ -182,8 +269,28 @@ FCKConfig_LoadPageConfig() ;
 \r
 FCKConfig_PreProcess() ;\r
 \r
+// Load the full debug script.\r
+if ( FCKConfig.Debug )\r
+       LoadScript( '_source/internals/fckdebug.js' ) ;\r
+\r
+       </script>\r
+       <script type="text/javascript">\r
+\r
+var FCK_InternalCSS                    = FCKConfig.BasePath + 'css/fck_internal.css' ;                                 // @Packager.RemoveLine\r
+var FCK_ShowTableBordersCSS    = FCKConfig.BasePath + 'css/fck_showtableborders_gecko.css' ;   // @Packager.RemoveLine\r
+/* @Packager.RemoveLine\r
+// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).\r
+var FCK_InternalCSS                    = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'html{min-height:100%}table.FCK__ShowTableBorders,table.FCK__ShowTableBorders td,table.FCK__ShowTableBorders th{border:#d3d3d3 1px solid}form{border:1px dotted #F00;padding:2px}.FCK__Flash{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_flashlogo.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__UnknownObject{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_plugin.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__Anchor{border:1px dotted #00F;background-position:center center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;width:16px;height:15px;vertical-align:middle}.FCK__AnchorC{border:1px dotted #00F;background-position:1px center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}a[name]{border:1px dotted #00F;background-position:0 center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}.FCK__PageBreak{background-position:center center;background-image:url(images/fck_pagebreak.gif);background-repeat:no-repeat;clear:both;display:block;float:none;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;border-right:0;border-left:0;height:5px}.FCK__InputHidden{width:19px;height:18px;background-image:url(images/fck_hiddenfield.gif);background-repeat:no-repeat;vertical-align:text-bottom;background-position:center center}.FCK__ShowBlocks p,.FCK__ShowBlocks div,.FCK__ShowBlocks pre,.FCK__ShowBlocks address,.FCK__ShowBlocks blockquote,.FCK__ShowBlocks h1,.FCK__ShowBlocks h2,.FCK__ShowBlocks h3,.FCK__ShowBlocks h4,.FCK__ShowBlocks h5,.FCK__ShowBlocks h6{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px;padding-left:8px}.FCK__ShowBlocks p{background-image:url(images/block_p.png)}.FCK__ShowBlocks div{background-image:url(images/block_div.png)}.FCK__ShowBlocks pre{background-image:url(images/block_pre.png)}.FCK__ShowBlocks address{background-image:url(images/block_address.png)}.FCK__ShowBlocks blockquote{background-image:url(images/block_blockquote.png)}.FCK__ShowBlocks h1{background-image:url(images/block_h1.png)}.FCK__ShowBlocks h2{background-image:url(images/block_h2.png)}.FCK__ShowBlocks h3{background-image:url(images/block_h3.png)}.FCK__ShowBlocks h4{background-image:url(images/block_h4.png)}.FCK__ShowBlocks h5{background-image:url(images/block_h5.png)}.FCK__ShowBlocks h6{background-image:url(images/block_h6.png)}' ) ;\r
+var FCK_ShowTableBordersCSS    = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'table:not([border]),table:not([border]) > tr > td,table:not([border]) > tr > th,table:not([border]) > tbody > tr > td,table:not([border]) > tbody > tr > th,table:not([border]) > thead > tr > td,table:not([border]) > thead > tr > th,table:not([border]) > tfoot > tr > td,table:not([border]) > tfoot > tr > th,table[border=\"0\"],table[border=\"0\"] > tr > td,table[border=\"0\"] > tr > th,table[border=\"0\"] > tbody > tr > td,table[border=\"0\"] > tbody > tr > th,table[border=\"0\"] > thead > tr > td,table[border=\"0\"] > thead > tr > th,table[border=\"0\"] > tfoot > tr > td,table[border=\"0\"] > tfoot > tr > th{border:#d3d3d3 1px dotted}' ) ;\r
+@Packager.RemoveLine */\r
+\r
+// Popup the debug window if debug mode is set to true. It guarantees that the\r
+// first debug message will not be lost.\r
+if ( FCKConfig.Debug )\r
+       FCKDebug._GetWindow() ;\r
+\r
 // Load the active skin CSS.\r
-LoadCss( FCKConfig.SkinPath + 'fck_editor.css' ) ;\r
+document.write( FCKTools.GetStyleHtml( FCKConfig.SkinEditorCSS ) ) ;\r
 \r
 // Load the language file.\r
 FCKLanguageManager.Initialize() ;\r
@@ -203,10 +310,6 @@ FCKPlugins.Load() ;
 // Set the editor interface direction.\r
 window.document.dir = FCKLang.Dir ;\r
 \r
-// Activate pasting operations.\r
-if ( FCKConfig.ForcePasteAsPlainText || FCKConfig.AutoDetectPasteFromWord )\r
-       FCK.Events.AttachEvent( 'OnPaste', FCK.Paste ) ;\r
-\r
        </script>\r
        <script type="text/javascript">\r
 \r
@@ -258,7 +361,8 @@ function WaitForActive( editorInstance, newStatus )
                if ( FCKBrowserInfo.IsGecko )\r
                        FCKTools.RunFunction( window.onresize ) ;\r
 \r
-               _AttachFormSubmitToAPI() ;\r
+               if ( !FCKConfig.PreventSubmitHandler )\r
+                       _AttachFormSubmitToAPI() ;\r
 \r
                FCK.SetStatus( FCK_STATUS_COMPLETE ) ;\r
 \r
@@ -269,13 +373,16 @@ function WaitForActive( editorInstance, newStatus )
        }\r
 }\r
 \r
-// Gecko browsers doens't calculate well that IFRAME size so we must\r
+// Gecko and Webkit browsers don't calculate well the IFRAME size so we must\r
 // recalculate it every time the window size changes.\r
-if ( FCKBrowserInfo.IsGecko )\r
+if ( FCKBrowserInfo.IsGecko || ( FCKBrowserInfo.IsSafari && !FCKBrowserInfo.IsSafari3 ) )\r
 {\r
-       function Window_OnResize()\r
+       window.onresize = function( e )\r
        {\r
-               if ( FCKBrowserInfo.IsOpera )\r
+               // Running in Firefox's chrome makes the window receive the event including subframes.\r
+               // we care only about this window. Ticket #1642.\r
+               // #2002: The originalTarget from the event can be the current document, the window, or the editing area.\r
+               if ( e && e.originalTarget && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document ))\r
                        return ;\r
 \r
                var oCell = document.getElementById( 'xEditingArea' ) ;\r
@@ -283,11 +390,10 @@ if ( FCKBrowserInfo.IsGecko )
                var eInnerElement = oCell.firstChild ;\r
                if ( eInnerElement )\r
                {\r
-                       eInnerElement.style.height = 0 ;\r
-                       eInnerElement.style.height = oCell.scrollHeight - 2 ;\r
+                       eInnerElement.style.height = '0px' ;\r
+                       eInnerElement.style.height = ( oCell.scrollHeight - 2 ) + 'px' ;\r
                }\r
        }\r
-       window.onresize = Window_OnResize ;\r
 }\r
 \r
        </script>\r
index ba464ba..8325a88 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 body\r
 {\r
        background-color: #f1f1e3;\r
+       margin-top:0;\r
+       margin-bottom:0;\r
 }\r
 \r
 form\r
 {\r
-       margin: 0px 0px 0px 0px ;\r
-       padding: 0px 0px 0px 0px ;\r
+       margin: 0;\r
+       padding: 0;\r
 }\r
 \r
 .Frame\r
 {\r
        background-color: #f1f1e3;\r
-       border-color: #f1f1e3;\r
-       border-right: thin inset;\r
-       border-top: thin inset;\r
-       border-left: thin inset;\r
-       border-bottom: thin inset;\r
+       border: thin inset #f1f1e3;\r
 }\r
 \r
 body.FileArea\r
 {\r
-\r
        background-color: #ffffff;\r
+       margin: 10px;\r
 }\r
 \r
 body, td, input, select\r
@@ -69,11 +67,8 @@ body, td, input, select
 \r
 .Button, button\r
 {\r
-       border-right: #737357 1px solid;\r
-       border-top: #737357 1px solid;\r
-       border-left: #737357 1px solid;\r
        color: #3b3b1f;\r
-       border-bottom: #737357 1px solid;\r
+       border: #737357 1px solid;\r
        background-color: #c7c78f;\r
 }\r
 \r
@@ -85,4 +80,8 @@ body, td, input, select
 .FolderListFolder img\r
 {\r
        background-image: url(images/Folder.gif);\r
-}
\ No newline at end of file
+}\r
+\r
+.fullHeight {\r
+       height: 100%;\r
+}\r
index 8b776a2..d5e773b 100644 (file)
@@ -1,7 +1,8 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"\r
+   "http://www.w3.org/TR/html4/frameset.dtd">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 <html>\r
        <head>\r
                <title>FCKeditor - Resources Browser</title>\r
+               <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <link href="browser.css" type="text/css" rel="stylesheet">\r
                <script type="text/javascript" src="js/fckxml.js"></script>\r
-               <script language="javascript">\r
+               <script type="text/javascript">\r
+// Automatically detect the correct document.domain (#1919).\r
+(function()\r
+{\r
+       var d = document.domain ;\r
+\r
+       while ( true )\r
+       {\r
+               // Test if we can access a parent property.\r
+               try\r
+               {\r
+                       var test = window.opener.document.domain ;\r
+                       break ;\r
+               }\r
+               catch( e )\r
+               {}\r
+\r
+               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
+               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
+\r
+               if ( d.length == 0 )\r
+                       break ;         // It was not able to detect the domain.\r
+\r
+               try\r
+               {\r
+                       document.domain = d ;\r
+               }\r
+               catch (e)\r
+               {\r
+                       break ;\r
+               }\r
+       }\r
+})() ;\r
 \r
 function GetUrlParam( paramName )\r
 {\r
@@ -68,6 +102,9 @@ oConnector.SendCommand = function( command, params, callBackFunction )
 \r
        if ( params ) sUrl += '&' + params ;\r
 \r
+       // Add a random salt to avoid getting a cached version of the command execution\r
+       sUrl += '&uuid=' + new Date().getTime() ;\r
+\r
        var oXML = new FCKXml() ;\r
 \r
        if ( callBackFunction )\r
@@ -134,6 +171,15 @@ oIcons.GetIcon = function( fileName )
        else\r
                return 'default.icon' ;\r
 }\r
+\r
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )\r
+{\r
+       if (errorNumber == "1")\r
+               window.frames['frmUpload'].OnUploadCompleted( errorNumber, customMsg ) ;\r
+       else\r
+               window.frames['frmUpload'].OnUploadCompleted( errorNumber, fileName ) ;\r
+}\r
+\r
                </script>\r
        </head>\r
        <frameset cols="150,*" class="Frame" framespacing="3" bordercolor="#f1f1e3" frameborder="1">\r
index 90653d6..dc1f517 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 -->\r
 <html>\r
        <head>\r
+               <title>Folder path</title>\r
+               <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <link href="browser.css" type="text/css" rel="stylesheet">\r
                <script type="text/javascript">\r
-\r
-function OnResize()\r
+// Automatically detect the correct document.domain (#1919).\r
+(function()\r
 {\r
-       divName.style.width = "1px" ;\r
-       divName.style.width = tdName.offsetWidth + "px" ;\r
-}\r
+       var d = document.domain ;\r
+\r
+       while ( true )\r
+       {\r
+               // Test if we can access a parent property.\r
+               try\r
+               {\r
+                       var test = window.top.opener.document.domain ;\r
+                       break ;\r
+               }\r
+               catch( e )\r
+               {}\r
+\r
+               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
+               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
+\r
+               if ( d.length == 0 )\r
+                       break ;         // It was not able to detect the domain.\r
+\r
+               try\r
+               {\r
+                       document.domain = d ;\r
+               }\r
+               catch (e)\r
+               {\r
+                       break ;\r
+               }\r
+       }\r
+})() ;\r
 \r
 function SetCurrentFolder( resourceType, folderPath )\r
 {\r
@@ -44,8 +72,8 @@ window.onload = function()
 \r
                </script>\r
        </head>\r
-       <body bottomMargin="0" topMargin="0">\r
-               <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
+       <body>\r
+               <table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
                        <tr>\r
                                <td>\r
                                        <button style="WIDTH: 100%" type="button">\r
@@ -55,7 +83,7 @@ window.onload = function()
                                                                <td>&nbsp;</td>\r
                                                                <td id="tdName" width="100%" nowrap class="ActualFolder">/</td>\r
                                                                <td>&nbsp;</td>\r
-                                                               <td><img height="8" src="images/ButtonArrow.gif" width="12"></td>\r
+                                                               <td><img height="8" src="images/ButtonArrow.gif" width="12" alt=""></td>\r
                                                                <td>&nbsp;</td>\r
                                                        </tr>\r
                                                </table>\r
index 8f72ff5..390eb49 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 -->\r
 <html>\r
        <head>\r
+               <title>Create Folder</title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <link href="browser.css" type="text/css" rel="stylesheet">\r
                <script type="text/javascript" src="js/common.js"></script>\r
-               <script language="javascript">\r
+               <script type="text/javascript">\r
 \r
 function SetCurrentFolder( resourceType, folderPath )\r
 {\r
@@ -93,8 +94,8 @@ window.onload = function()
 }\r
                </script>\r
        </head>\r
-       <body bottomMargin="0" topMargin="0">\r
-               <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
+       <body>\r
+               <table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
                        <tr>\r
                                <td>\r
                                        <button type="button" style="WIDTH: 100%" onclick="CreateFolder();">\r
index 2dc0eb0..d4b3b3d 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 -->\r
 <html>\r
        <head>\r
+               <title>Folders</title>\r
                <link href="browser.css" type="text/css" rel="stylesheet">\r
+               <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <script type="text/javascript" src="js/common.js"></script>\r
-               <script language="javascript">\r
+               <script type="text/javascript">\r
 \r
 var sActiveFolder ;\r
 \r
@@ -65,12 +67,12 @@ oListManager.AddItem = function( folderName, folderPath )
        // Add the folder icon cell.\r
        var oCell = oRow.insertCell(-1) ;\r
        oCell.width = 16 ;\r
-       oCell.innerHTML = sLink + '<img alt="" src="images/spacer.gif" width="16" height="16" border="0"></a>' ;\r
+       oCell.innerHTML = sLink + '<img alt="" src="images/spacer.gif" width="16" height="16" border="0"><\/a>' ;\r
 \r
        // Add the folder name cell.\r
        oCell = oRow.insertCell(-1) ;\r
        oCell.noWrap = true ;\r
-       oCell.innerHTML = '&nbsp;' + sLink + folderName + '</a>' ;\r
+       oCell.innerHTML = '&nbsp;' + sLink + folderName + '<\/a>' ;\r
 \r
        this.TableRows[ folderPath ] = oRow ;\r
 }\r
@@ -166,7 +168,7 @@ function GetFoldersCallBack( fckXml )
        for ( var i = 0 ; i < oNodes.length ; i++ )\r
        {\r
                var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;\r
-               oListManager.AddItem( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ;\r
+               oListManager.AddItem( sFolderName, sCurrentFolderPath + sFolderName + '/' ) ;\r
        }\r
 \r
        OpenFolder( sActiveFolder ) ;\r
@@ -185,7 +187,7 @@ window.onload = function()
 }\r
                </script>\r
        </head>\r
-       <body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">\r
+       <body class="FileArea">\r
                <table id="tableFiles" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
                        <tr id="trUp" style="DISPLAY: none">\r
                                <td width="16"><a id="linkUpIcon" href="#"><img alt="" src="images/FolderUp.gif" width="16" height="16" border="0"></a></td>\r
index 3f041f7..3e2771d 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  *\r
  * This page shows all resources available in a folder in the File Browser.\r
 -->\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
+<html>\r
 <head>\r
-       <link href="browser.css" type="text/css" rel="stylesheet" />\r
+       <title>Resources</title>\r
+       <link href="browser.css" type="text/css" rel="stylesheet">\r
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
        <script type="text/javascript" src="js/common.js"></script>\r
        <script type="text/javascript">\r
 \r
@@ -34,26 +36,33 @@ oListManager.Clear = function()
        document.body.innerHTML = '' ;\r
 }\r
 \r
+function ProtectPath(path)\r
+{\r
+       path = path.replace( /\\/g, '\\\\') ;\r
+       path = path.replace( /'/g, '\\\'') ;\r
+       return path ;\r
+}\r
+\r
 oListManager.GetFolderRowHtml = function( folderName, folderPath )\r
 {\r
        // Build the link to view the folder.\r
-       var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath.replace( /'/g, '\\\'') + '\');return false;">' ;\r
+       var sLink = '<a href="#" onclick="OpenFolder(\'' + ProtectPath( folderPath ) + '\');return false;">' ;\r
 \r
        return '<tr>' +\r
                        '<td width="16">' +\r
                                sLink +\r
-                               '<img alt="" src="images/Folder.gif" width="16" height="16" border="0"></a>' +\r
-                       '</td><td nowrap colspan="2">&nbsp;' +\r
+                               '<img alt="" src="images/Folder.gif" width="16" height="16" border="0"><\/a>' +\r
+                       '<\/td><td nowrap colspan="2">&nbsp;' +\r
                                sLink +\r
                                folderName +\r
-                               '</a>' +\r
-               '</td></tr>' ;\r
+                               '<\/a>' +\r
+               '<\/td><\/tr>' ;\r
 }\r
 \r
 oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )\r
 {\r
        // Build the link to view the folder.\r
-       var sLink = '<a href="#" onclick="OpenFile(\'' + fileUrl.replace( /'/g, '\\\'') + '\');return false;">' ;\r
+       var sLink = '<a href="#" onclick="OpenFile(\'' + ProtectPath( fileUrl ) + '\');return false;">' ;\r
 \r
        // Get the file icon.\r
        var sIcon = oIcons.GetIcon( fileName ) ;\r
@@ -61,15 +70,15 @@ oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )
        return '<tr>' +\r
                        '<td width="16">' +\r
                                sLink +\r
-                               '<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"></a>' +\r
-                       '</td><td>&nbsp;' +\r
+                               '<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"><\/a>' +\r
+                       '<\/td><td>&nbsp;' +\r
                                sLink +\r
                                fileName +\r
-                               '</a>' +\r
-                       '</td><td align="right" nowrap>&nbsp;' +\r
+                               '<\/a>' +\r
+                       '<\/td><td align="right" nowrap>&nbsp;' +\r
                                fileSize +\r
                                ' KB' +\r
-               '</td></tr>' ;\r
+               '<\/td><\/tr>' ;\r
 }\r
 \r
 function OpenFolder( folderPath )\r
@@ -80,7 +89,7 @@ function OpenFolder( folderPath )
 \r
 function OpenFile( fileUrl )\r
 {\r
-       window.top.opener.SetUrl( encodeURI( fileUrl ) ) ;\r
+       window.top.opener.SetUrl( fileUrl ) ;\r
        window.top.close() ;\r
        window.top.opener.focus() ;\r
 }\r
@@ -136,7 +145,7 @@ function GetFoldersAndFilesCallBack( fckXml )
 \r
                // Get the optional "url" attribute. If not available, build the url.\r
                var oFileUrlAtt = oNodes[j].attributes.getNamedItem('url') ;\r
-               var sFileUrl = oFileUrlAtt != null ? oFileUrlAtt.value : sCurrentFolderUrl + sFileName ;\r
+               var sFileUrl = oFileUrlAtt != null ? oFileUrlAtt.value : encodeURI( sCurrentFolderUrl + sFileName ).replace( /#/g, '%23' ) ;\r
 \r
                oHtml.Append( oListManager.GetFileRowHtml( sFileName, sFileUrl, sFileSize ) ) ;\r
        }\r
@@ -155,6 +164,6 @@ window.onload = function()
 }\r
        </script>\r
 </head>\r
-<body class="FileArea" bottommargin="10" leftmargin="10" topmargin="10" rightmargin="10">\r
+<body class="FileArea">\r
 </body>\r
 </html>\r
index 933e855..e918f9f 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 -->\r
 <html>\r
        <head>\r
+               <title>Available types</title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <link href="browser.css" type="text/css" rel="stylesheet">\r
                <script type="text/javascript" src="js/common.js"></script>\r
-               <script language="javascript">\r
+               <script type="text/javascript">\r
 \r
 function SetResourceType( type )\r
 {\r
@@ -42,21 +43,24 @@ var aTypes = [
 \r
 window.onload = function()\r
 {\r
+       var oCombo = document.getElementById('cmbType') ;\r
+       oCombo.innerHTML = '' ;\r
        for ( var i = 0 ; i < aTypes.length ; i++ )\r
        {\r
                if ( oConnector.ShowAllTypes || aTypes[i][0] == oConnector.ResourceType )\r
-                       AddSelectOption( document.getElementById('cmbType'), aTypes[i][1], aTypes[i][0] ) ;\r
+                       AddSelectOption( oCombo, aTypes[i][1], aTypes[i][0] ) ;\r
        }\r
 }\r
 \r
                </script>\r
        </head>\r
-       <body bottomMargin="0" topMargin="0">\r
-               <table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
+       <body>\r
+               <table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">\r
                        <tr>\r
                                <td nowrap>\r
                                        Resource Type<BR>\r
                                        <select id="cmbType" style="WIDTH: 100%" onchange="SetResourceType(this.value);">\r
+                                               <option>&nbsp;\r
                                        </select>\r
                                </td>\r
                        </tr>\r
index b84882d..e840c0a 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  *\r
  * Page used to upload new files in the current folder.\r
 -->\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
+<html>\r
        <head>\r
-               <link href="browser.css" type="text/css" rel="stylesheet" />\r
+               <title>File Upload</title>\r
+               <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
+               <link href="browser.css" type="text/css" rel="stylesheet" >\r
                <script type="text/javascript" src="js/common.js"></script>\r
                <script type="text/javascript">\r
 \r
@@ -56,7 +58,7 @@ function OnUploadCompleted( errorNumber, data )
        // Reset the Upload Worker Frame.\r
        window.parent.frames['frmUploadWorker'].location = 'javascript:void(0)' ;\r
 \r
-       // Reset the upload form (On IE we must do a little trick to avout problems).\r
+       // Reset the upload form (On IE we must do a little trick to avoid problems).\r
        if ( document.all )\r
                document.getElementById('NewFile').outerHTML = '<input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file">' ;\r
        else\r
@@ -93,9 +95,9 @@ window.onload = function()
 }\r
                </script>\r
        </head>\r
-       <body bottommargin="0" topmargin="0">\r
+       <body>\r
                <form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();">\r
-                       <table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">\r
+                       <table class="fullHeight" cellspacing="0" cellpadding="0" width="100%" border="0">\r
                                <tr>\r
                                        <td nowrap="nowrap">\r
                                                <span id="eUploadMessage">Upload a new file in this folder</span><br>\r
index 2f47217..98c4b90 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * File Browser dialog window.\r
  */\r
 \r
+// Automatically detect the correct document.domain (#1919).\r
+(function()\r
+{\r
+       var d = document.domain ;\r
+\r
+       while ( true )\r
+       {\r
+               // Test if we can access a parent property.\r
+               try\r
+               {\r
+                       var test = window.top.opener.document.domain ;\r
+                       break ;\r
+               }\r
+               catch( e )\r
+               {}\r
+\r
+               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
+               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
+\r
+               if ( d.length == 0 )\r
+                       break ;         // It was not able to detect the domain.\r
+\r
+               try\r
+               {\r
+                       document.domain = d ;\r
+               }\r
+               catch (e)\r
+               {\r
+                       break ;\r
+               }\r
+       }\r
+})() ;\r
+\r
 function AddSelectOption( selectElement, optionText, optionValue )\r
 {\r
        var oOption = document.createElement("OPTION") ;\r
@@ -52,4 +85,4 @@ StringBuilder.prototype.Append = function( value )
 StringBuilder.prototype.ToString = function()\r
 {\r
     return this._Strings.join( '' ) ;\r
-}
\ No newline at end of file
+}\r
index 043ca84..b7eddc6 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -31,8 +31,8 @@ var FCKXml = function()
 FCKXml.prototype.GetHttpRequest = function()\r
 {\r
        // Gecko / IE7\r
-       if ( typeof(XMLHttpRequest) != 'undefined' )\r
-               return new XMLHttpRequest() ;\r
+       try { return new XMLHttpRequest(); }\r
+       catch(e) {}\r
 \r
        // IE6\r
        try { return new ActiveXObject( 'Msxml2.XMLHTTP' ) ; }\r
@@ -61,7 +61,25 @@ FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
                {\r
                        if ( oXmlHttp.readyState == 4 )\r
                        {\r
-                               if ( ( oXmlHttp.status != 200 && oXmlHttp.status != 304 ) || oXmlHttp.responseXML == null || oXmlHttp.responseXML.firstChild == null )\r
+                               var oXml ;\r
+                               try\r
+                               {\r
+                                       // this is the same test for an FF2 bug as in fckxml_gecko.js\r
+                                       // but we've moved the responseXML assignment into the try{}\r
+                                       // so we don't even have to check the return status codes.\r
+                                       var test = oXmlHttp.responseXML.firstChild ;\r
+                                       oXml = oXmlHttp.responseXML ;\r
+                               }\r
+                               catch ( e )\r
+                               {\r
+                                       try\r
+                                       {\r
+                                               oXml = (new DOMParser()).parseFromString( oXmlHttp.responseText, 'text/xml' ) ;\r
+                                       }\r
+                                       catch ( e ) {}\r
+                               }\r
+\r
+                               if ( !oXml || !oXml.firstChild || oXml.firstChild.nodeName == 'parsererror' )\r
                                {\r
                                        alert( 'The server didn\'t send back a proper XML response. Please contact your system administrator.\n\n' +\r
                                                        'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')\n\n' +\r
@@ -70,7 +88,7 @@ FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
                                        return ;\r
                                }\r
 \r
-                               oFCKXml.DOMDocument = oXmlHttp.responseXML ;\r
+                               oFCKXml.DOMDocument = oXml ;\r
                                asyncFunctionPointer( oFCKXml ) ;\r
                        }\r
                }\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/basexml.pl b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/basexml.pl
new file mode 100644 (file)
index 0000000..e0835c3
--- /dev/null
@@ -0,0 +1,68 @@
+#####\r
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+#\r
+#  == BEGIN LICENSE ==\r
+#\r
+#  Licensed under the terms of any of the following licenses at your\r
+#  choice:\r
+#\r
+#   - GNU General Public License Version 2 or later (the "GPL")\r
+#     http://www.gnu.org/licenses/gpl.html\r
+#\r
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+#     http://www.gnu.org/licenses/lgpl.html\r
+#\r
+#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
+#     http://www.mozilla.org/MPL/MPL-1.1.html\r
+#\r
+#  == END LICENSE ==\r
+#\r
+#  This is the File Manager Connector for Perl.\r
+#####\r
+\r
+sub CreateXmlHeader\r
+{\r
+       local($command,$resourceType,$currentFolder) = @_;\r
+\r
+       # Create the XML document header.\r
+       print '<?xml version="1.0" encoding="utf-8" ?>';\r
+\r
+       # Create the main "Connector" node.\r
+       print '<Connector command="' . $command . '" resourceType="' . $resourceType . '">';\r
+\r
+       # Add the current folder node.\r
+       print '<CurrentFolder path="' . ConvertToXmlAttribute($currentFolder) . '" url="' . ConvertToXmlAttribute(GetUrlFromPath($resourceType,$currentFolder)) . '" />';\r
+}\r
+\r
+sub CreateXmlFooter\r
+{\r
+       print '</Connector>';\r
+}\r
+\r
+sub SendError\r
+{\r
+       local( $number, $text ) = @_;\r
+\r
+       print << "_HTML_HEAD_";\r
+Content-Type:text/xml; charset=utf-8\r
+Pragma: no-cache\r
+Cache-Control: no-cache\r
+Expires: Thu, 01 Dec 1994 16:00:00 GMT\r
+\r
+_HTML_HEAD_\r
+\r
+       # Create the XML document header\r
+       print '<?xml version="1.0" encoding="utf-8" ?>' ;\r
+\r
+       if ($text) {\r
+               print '<Connector><Error number="' . $number . '" text="' . &specialchar_cnv( $text ) . '" /></Connector>' ;\r
+       }\r
+       else {\r
+               print '<Connector><Error number="' . $number . '" /></Connector>' ;\r
+       }\r
+\r
+       exit ;\r
+}\r
+\r
+1;\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/commands.pl b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/commands.pl
new file mode 100644 (file)
index 0000000..66b4d6d
--- /dev/null
@@ -0,0 +1,200 @@
+#####\r
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+#\r
+#  == BEGIN LICENSE ==\r
+#\r
+#  Licensed under the terms of any of the following licenses at your\r
+#  choice:\r
+#\r
+#   - GNU General Public License Version 2 or later (the "GPL")\r
+#     http://www.gnu.org/licenses/gpl.html\r
+#\r
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+#     http://www.gnu.org/licenses/lgpl.html\r
+#\r
+#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
+#     http://www.mozilla.org/MPL/MPL-1.1.html\r
+#\r
+#  == END LICENSE ==\r
+#\r
+#  This is the File Manager Connector for Perl.\r
+#####\r
+\r
+sub GetFolders\r
+{\r
+\r
+       local($resourceType, $currentFolder) = @_;\r
+\r
+       # Map the virtual path to the local server path.\r
+       $sServerDir = &ServerMapFolder($resourceType, $currentFolder);\r
+       print "<Folders>";                      # Open the "Folders" node.\r
+\r
+       opendir(DIR,"$sServerDir");\r
+       @files = grep(!/^\.\.?$/,readdir(DIR));\r
+       closedir(DIR);\r
+\r
+       foreach $sFile (@files) {\r
+               if($sFile != '.' && $sFile != '..' && (-d "$sServerDir$sFile")) {\r
+                       $cnv_filename = &ConvertToXmlAttribute($sFile);\r
+                       print '<Folder name="' . $cnv_filename . '" />';\r
+               }\r
+       }\r
+       print "</Folders>";                     # Close the "Folders" node.\r
+}\r
+\r
+sub GetFoldersAndFiles\r
+{\r
+\r
+       local($resourceType, $currentFolder) = @_;\r
+       # Map the virtual path to the local server path.\r
+       $sServerDir = &ServerMapFolder($resourceType,$currentFolder);\r
+\r
+       # Initialize the output buffers for "Folders" and "Files".\r
+       $sFolders       = '<Folders>';\r
+       $sFiles         = '<Files>';\r
+\r
+       opendir(DIR,"$sServerDir");\r
+       @files = grep(!/^\.\.?$/,readdir(DIR));\r
+       closedir(DIR);\r
+\r
+       foreach $sFile (@files) {\r
+               if($sFile ne '.' && $sFile ne '..') {\r
+                       if(-d "$sServerDir$sFile") {\r
+                               $cnv_filename = &ConvertToXmlAttribute($sFile);\r
+                               $sFolders .= '<Folder name="' . $cnv_filename . '" />' ;\r
+                       } else {\r
+                               ($iFileSize,$refdate,$filedate,$fileperm) = (stat("$sServerDir$sFile"))[7,8,9,2];\r
+                               if($iFileSize > 0) {\r
+                                       $iFileSize = int($iFileSize / 1024);\r
+                                       if($iFileSize < 1) {\r
+                                               $iFileSize = 1;\r
+                                       }\r
+                               }\r
+                               $cnv_filename = &ConvertToXmlAttribute($sFile);\r
+                               $sFiles .= '<File name="' . $cnv_filename . '" size="' . $iFileSize . '" />' ;\r
+                       }\r
+               }\r
+       }\r
+       print $sFolders ;\r
+       print '</Folders>';                     # Close the "Folders" node.\r
+       print $sFiles ;\r
+       print '</Files>';                       # Close the "Files" node.\r
+}\r
+\r
+sub CreateFolder\r
+{\r
+\r
+       local($resourceType, $currentFolder) = @_;\r
+       $sErrorNumber   = '0' ;\r
+       $sErrorMsg              = '' ;\r
+\r
+       if($FORM{'NewFolderName'} ne "") {\r
+               $sNewFolderName = $FORM{'NewFolderName'};\r
+               $sNewFolderName =~ s/\.|\\|\/|\||\:|\?|\*|\"|<|>|[[:cntrl:]]/_/g;\r
+               # Map the virtual path to the local server path of the current folder.\r
+               $sServerDir = &ServerMapFolder($resourceType, $currentFolder);\r
+               if(-w $sServerDir) {\r
+                       $sServerDir .= $sNewFolderName;\r
+                       $sErrorMsg = &CreateServerFolder($sServerDir);\r
+                       if($sErrorMsg == 0) {\r
+                               $sErrorNumber = '0';\r
+                       } elsif($sErrorMsg eq 'Invalid argument' || $sErrorMsg eq 'No such file or directory') {\r
+                               $sErrorNumber = '102';          #// Path too long.\r
+                       } else {\r
+                               $sErrorNumber = '110';\r
+                       }\r
+               } else {\r
+                       $sErrorNumber = '103';\r
+               }\r
+       } else {\r
+               $sErrorNumber = '102' ;\r
+       }\r
+       # Create the "Error" node.\r
+       $cnv_errmsg = &ConvertToXmlAttribute($sErrorMsg);\r
+       print '<Error number="' . $sErrorNumber . '" />';\r
+}\r
+\r
+sub FileUpload\r
+{\r
+eval("use File::Copy;");\r
+\r
+       local($resourceType, $currentFolder) = @_;\r
+       $allowedExtensions = $allowedExtensions{$resourceType};\r
+\r
+       $sErrorNumber = '0' ;\r
+       $sFileName = '' ;\r
+       if($new_fname) {\r
+               # Map the virtual path to the local server path.\r
+               $sServerDir = &ServerMapFolder($resourceType,$currentFolder);\r
+\r
+               # Get the uploaded file name.\r
+               $sFileName = $new_fname;\r
+               $sFileName =~ s/\\|\/|\||\:|\?|\*|\"|<|>|[[:cntrl:]]/_/g;\r
+               $sFileName =~ s/\.(?![^.]*$)/_/g;\r
+\r
+               $ext = '';\r
+               if($sFileName =~ /([^\\\/]*)\.(.*)$/) {\r
+                       $ext  = $2;\r
+               }\r
+\r
+               $allowedRegex = qr/^($allowedExtensions)$/i;\r
+               if (!($ext =~ $allowedRegex)) {\r
+                       SendUploadResults('202', '', '', '');\r
+               }\r
+\r
+               $sOriginalFileName = $sFileName;\r
+\r
+               $iCounter = 0;\r
+               while(1) {\r
+                       $sFilePath = $sServerDir . $sFileName;\r
+                       if(-e $sFilePath) {\r
+                               $iCounter++ ;\r
+                               ($path,$BaseName,$ext) = &RemoveExtension($sOriginalFileName);\r
+                               $sFileName = $BaseName . '(' . $iCounter . ').' . $ext;\r
+                               $sErrorNumber = '201';\r
+                       } else {\r
+                               copy("$img_dir/$new_fname","$sFilePath");\r
+                               if (defined $CHMOD_ON_UPLOAD) {\r
+                                       if ($CHMOD_ON_UPLOAD) {\r
+                                               umask(000);\r
+                                               chmod($CHMOD_ON_UPLOAD,$sFilePath);\r
+                                       }\r
+                               }\r
+                               else {\r
+                                       umask(000);\r
+                                       chmod(0777,$sFilePath);\r
+                               }\r
+                               unlink("$img_dir/$new_fname");\r
+                               last;\r
+                       }\r
+               }\r
+       } else {\r
+               $sErrorNumber = '202' ;\r
+       }\r
+       $sFileName      =~ s/"/\\"/g;\r
+\r
+       SendUploadResults($sErrorNumber, $GLOBALS{'UserFilesPath'}.$resourceType.$currentFolder.$sFileName, $sFileName, '');\r
+}\r
+\r
+sub SendUploadResults\r
+{\r
+\r
+       local($sErrorNumber, $sFileUrl, $sFileName, $customMsg) = @_;\r
+\r
+       # Minified version of the document.domain automatic fix script (#1919).\r
+       # The original script can be found at _dev/domain_fix_template.js\r
+       # Note: in Perl replace \ with \\ and $ with \$\r
+       print <<EOF;\r
+Content-type: text/html\r
+\r
+<script type="text/javascript">\r
+(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|\$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\r
+\r
+EOF\r
+       print 'window.parent.OnUploadCompleted(' . $sErrorNumber . ',"' . JS_cnv($sFileUrl) . '","' . JS_cnv($sFileName) . '","' . JS_cnv($customMsg) . '") ;';\r
+       print '</script>';\r
+       exit ;\r
+}\r
+\r
+1;\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/config.pl b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/config.pl
new file mode 100644 (file)
index 0000000..de85c79
--- /dev/null
@@ -0,0 +1,39 @@
+#####\r
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+#\r
+#  == BEGIN LICENSE ==\r
+#\r
+#  Licensed under the terms of any of the following licenses at your\r
+#  choice:\r
+#\r
+#   - GNU General Public License Version 2 or later (the "GPL")\r
+#     http://www.gnu.org/licenses/gpl.html\r
+#\r
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+#     http://www.gnu.org/licenses/lgpl.html\r
+#\r
+#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
+#     http://www.mozilla.org/MPL/MPL-1.1.html\r
+#\r
+#  == END LICENSE ==\r
+#\r
+#  This is the File Manager Connector for Perl.\r
+#####\r
+\r
+##\r
+# SECURITY: REMOVE/COMMENT THE FOLLOWING LINE TO ENABLE THIS CONNECTOR.\r
+##\r
+&SendError( 1, 'This connector is disabled. Please check the "editor/filemanager/connectors/perl/config.cgi" file' ) ;\r
+\r
+$GLOBALS{'UserFilesPath'} = '/userfiles/';\r
+\r
+# Map the "UserFiles" path to a local directory.\r
+$rootpath = &GetRootPath();\r
+$GLOBALS{'UserFilesDirectory'} = $rootpath . $GLOBALS{'UserFilesPath'};\r
+\r
+%allowedExtensions =  ("File", "7z|aiff|asf|avi|bmp|csv|doc|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz|tif|tiff|txt|vsd|wav|wma|wmv|xls|xml|zip",\r
+"Image", "bmp|gif|jpeg|jpg|png",\r
+"Flash", "swf|flv",\r
+"Media", "aiff|asf|avi|bmp|fla|flv|gif|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|png|qt|ram|rm|rmi|rmvb|swf|tif|tiff|wav|wma|wmv"\r
+);\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/connector.cgi b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/connector.cgi
new file mode 100644 (file)
index 0000000..990a92e
--- /dev/null
@@ -0,0 +1,129 @@
+#!/usr/bin/env perl\r
+\r
+#####\r
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+#\r
+#  == BEGIN LICENSE ==\r
+#\r
+#  Licensed under the terms of any of the following licenses at your\r
+#  choice:\r
+#\r
+#   - GNU General Public License Version 2 or later (the "GPL")\r
+#     http://www.gnu.org/licenses/gpl.html\r
+#\r
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+#     http://www.gnu.org/licenses/lgpl.html\r
+#\r
+#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
+#     http://www.mozilla.org/MPL/MPL-1.1.html\r
+#\r
+#  == END LICENSE ==\r
+#\r
+#  This is the File Manager Connector for Perl.\r
+#####\r
+\r
+##\r
+# ATTENTION: To enable this connector, look for the "SECURITY" comment in config.pl.\r
+##\r
+\r
+## START: Hack for Windows (Not important to understand the editor code... Perl specific).\r
+if(Windows_check()) {\r
+       chdir(GetScriptPath($0));\r
+}\r
+\r
+sub Windows_check\r
+{\r
+       # IIS,PWS(NT/95)\r
+       $www_server_os = $^O;\r
+       # Win98 & NT(SP4)\r
+       if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }\r
+       # AnHTTPd/Omni/IIS\r
+       if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }\r
+       # Win Apache\r
+       if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }\r
+       if($www_server_os=~ /win/i) { return(1); }\r
+       return(0);\r
+}\r
+\r
+sub GetScriptPath {\r
+       local($path) = @_;\r
+       if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }\r
+       $path;\r
+}\r
+## END: Hack for IIS\r
+\r
+require 'util.pl';\r
+require 'io.pl';\r
+require 'basexml.pl';\r
+require 'commands.pl';\r
+require 'upload_fck.pl';\r
+require 'config.pl';\r
+\r
+&read_input();\r
+&DoResponse();\r
+\r
+sub DoResponse\r
+{\r
+\r
+       if($FORM{'Command'} eq "" || $FORM{'Type'} eq "" || $FORM{'CurrentFolder'} eq "") {\r
+               return ;\r
+       }\r
+       # Get the main request informaiton.\r
+       $sCommand               = &specialchar_cnv($FORM{'Command'});\r
+       $sResourceType  = &specialchar_cnv($FORM{'Type'});\r
+       $sCurrentFolder = $FORM{'CurrentFolder'};\r
+\r
+       if ( !($sCommand =~ /^(FileUpload|GetFolders|GetFoldersAndFiles|CreateFolder)$/) ) {\r
+               SendError( 1, "Command not allowed" ) ;\r
+       }\r
+\r
+       if ( !($sResourceType =~ /^(File|Image|Flash|Media)$/) ) {\r
+               SendError( 1, "Invalid type specified" ) ;\r
+       }\r
+\r
+       # Check the current folder syntax (must begin and start with a slash).\r
+       if(!($sCurrentFolder =~ /\/$/)) {\r
+               $sCurrentFolder .= '/';\r
+       }\r
+       if(!($sCurrentFolder =~ /^\//)) {\r
+               $sCurrentFolder = '/' . $sCurrentFolder;\r
+       }\r
+\r
+       # Check for invalid folder paths (..)\r
+       if ( $sCurrentFolder =~ /(?:\.\.|\\)/ ) {\r
+               SendError( 102, "" ) ;\r
+       }\r
+       if ( $sCurrentFolder =~ /(\/\.)|[[:cntrl:]]|(\/\/)|(\\\\)|([\:\*\?\"\<\>\|])/ ) {\r
+               SendError( 102, "" ) ;\r
+       }\r
+\r
+       # File Upload doesn't have to Return XML, so it must be intercepted before anything.\r
+       if($sCommand eq 'FileUpload') {\r
+               FileUpload($sResourceType,$sCurrentFolder);\r
+               return ;\r
+       }\r
+\r
+       print << "_HTML_HEAD_";\r
+Content-Type:text/xml; charset=utf-8\r
+Pragma: no-cache\r
+Cache-Control: no-cache\r
+Expires: Thu, 01 Dec 1994 16:00:00 GMT\r
+\r
+_HTML_HEAD_\r
+\r
+       &CreateXmlHeader($sCommand,$sResourceType,$sCurrentFolder);\r
+\r
+       # Execute the required command.\r
+       if($sCommand eq 'GetFolders') {\r
+               &GetFolders($sResourceType,$sCurrentFolder);\r
+       } elsif($sCommand eq 'GetFoldersAndFiles') {\r
+               &GetFoldersAndFiles($sResourceType,$sCurrentFolder);\r
+       } elsif($sCommand eq 'CreateFolder') {\r
+               &CreateFolder($sResourceType,$sCurrentFolder);\r
+       }\r
+\r
+       &CreateXmlFooter();\r
+\r
+       exit ;\r
+}\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/io.pl b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/io.pl
new file mode 100644 (file)
index 0000000..56e5481
--- /dev/null
@@ -0,0 +1,141 @@
+#####\r
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+#\r
+#  == BEGIN LICENSE ==\r
+#\r
+#  Licensed under the terms of any of the following licenses at your\r
+#  choice:\r
+#\r
+#   - GNU General Public License Version 2 or later (the "GPL")\r
+#     http://www.gnu.org/licenses/gpl.html\r
+#\r
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+#     http://www.gnu.org/licenses/lgpl.html\r
+#\r
+#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
+#     http://www.mozilla.org/MPL/MPL-1.1.html\r
+#\r
+#  == END LICENSE ==\r
+#\r
+#  This is the File Manager Connector for Perl.\r
+#####\r
+\r
+sub GetUrlFromPath\r
+{\r
+       local($resourceType, $folderPath) = @_;\r
+\r
+       if($resourceType eq '') {\r
+               $rmpath = &RemoveFromEnd($GLOBALS{'UserFilesPath'},'/');\r
+               return("$rmpath$folderPath");\r
+       } else {\r
+               return("$GLOBALS{'UserFilesPath'}$resourceType$folderPath");\r
+       }\r
+}\r
+\r
+sub RemoveExtension\r
+{\r
+       local($fileName) = @_;\r
+       local($path, $base, $ext);\r
+       if($fileName !~ /\./) {\r
+               $fileName .= '.';\r
+       }\r
+       if($fileName =~ /([^\\\/]*)\.(.*)$/) {\r
+               $base = $1;\r
+               $ext  = $2;\r
+               if($fileName =~ /(.*)$base\.$ext$/) {\r
+                       $path = $1;\r
+               }\r
+       }\r
+       return($path,$base,$ext);\r
+\r
+}\r
+\r
+sub ServerMapFolder\r
+{\r
+       local($resourceType,$folderPath) = @_;\r
+\r
+       # Get the resource type directory.\r
+       $sResourceTypePath = $GLOBALS{'UserFilesDirectory'} . $resourceType . '/';\r
+\r
+       # Ensure that the directory exists.\r
+       &CreateServerFolder($sResourceTypePath);\r
+\r
+       # Return the resource type directory combined with the required path.\r
+       $rmpath = &RemoveFromStart($folderPath,'/');\r
+       return("$sResourceTypePath$rmpath");\r
+}\r
+\r
+sub GetParentFolder\r
+{\r
+       local($folderPath) = @_;\r
+\r
+       $folderPath =~ s/[\/][^\/]+[\/]?$//g;\r
+       return $folderPath;\r
+}\r
+\r
+sub CreateServerFolder\r
+{\r
+       local($folderPath) = @_;\r
+\r
+       $sParent = &GetParentFolder($folderPath);\r
+       # Check if the parent exists, or create it.\r
+       if(!(-e $sParent)) {\r
+               $sErrorMsg = &CreateServerFolder($sParent);\r
+               if($sErrorMsg == 1) {\r
+                       return(1);\r
+               }\r
+       }\r
+       if(!(-e $folderPath)) {\r
+               if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) {\r
+                       mkdir("$folderPath");\r
+               }\r
+               else {\r
+                       umask(000);\r
+                       if (defined $CHMOD_ON_FOLDER_CREATE) {\r
+                               mkdir("$folderPath",$CHMOD_ON_FOLDER_CREATE);\r
+                       }\r
+                       else {\r
+                               mkdir("$folderPath",0777);\r
+                       }\r
+               }\r
+\r
+               return(0);\r
+       } else {\r
+               return(1);\r
+       }\r
+}\r
+\r
+sub GetRootPath\r
+{\r
+#use Cwd;\r
+\r
+#      my $dir = getcwd;\r
+#      print $dir;\r
+#      $dir  =~ s/$ENV{'DOCUMENT_ROOT'}//g;\r
+#      print $dir;\r
+#      return($dir);\r
+\r
+#      $wk = $0;\r
+#      $wk =~ s/\/connector\.cgi//g;\r
+#      if($wk) {\r
+#              $current_dir = $wk;\r
+#      } else {\r
+#              $current_dir = `pwd`;\r
+#      }\r
+#      return($current_dir);\r
+use Cwd;\r
+\r
+       if($ENV{'DOCUMENT_ROOT'}) {\r
+               $dir = $ENV{'DOCUMENT_ROOT'};\r
+       } else {\r
+               my $dir = getcwd;\r
+               $workdir =~ s/\/connector\.cgi//g;\r
+               $dir  =~ s/$workdir//g;\r
+       }\r
+       return($dir);\r
+\r
+\r
+\r
+}\r
+1;\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/upload.cgi b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/upload.cgi
new file mode 100644 (file)
index 0000000..38c5ea5
--- /dev/null
@@ -0,0 +1,87 @@
+#!/usr/bin/env perl\r
+\r
+#####\r
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+#\r
+#  == BEGIN LICENSE ==\r
+#\r
+#  Licensed under the terms of any of the following licenses at your\r
+#  choice:\r
+#\r
+#   - GNU General Public License Version 2 or later (the "GPL")\r
+#     http://www.gnu.org/licenses/gpl.html\r
+#\r
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+#     http://www.gnu.org/licenses/lgpl.html\r
+#\r
+#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
+#     http://www.mozilla.org/MPL/MPL-1.1.html\r
+#\r
+#  == END LICENSE ==\r
+#\r
+#  This is the File Manager Connector for Perl.\r
+#####\r
+\r
+##\r
+# ATTENTION: To enable this connector, look for the "SECURITY" comment in config.pl.\r
+##\r
+\r
+## START: Hack for Windows (Not important to understand the editor code... Perl specific).\r
+if(Windows_check()) {\r
+       chdir(GetScriptPath($0));\r
+}\r
+\r
+sub Windows_check\r
+{\r
+       # IIS,PWS(NT/95)\r
+       $www_server_os = $^O;\r
+       # Win98 & NT(SP4)\r
+       if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }\r
+       # AnHTTPd/Omni/IIS\r
+       if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }\r
+       # Win Apache\r
+       if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }\r
+       if($www_server_os=~ /win/i) { return(1); }\r
+       return(0);\r
+}\r
+\r
+sub GetScriptPath {\r
+       local($path) = @_;\r
+       if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }\r
+       $path;\r
+}\r
+## END: Hack for IIS\r
+\r
+require 'util.pl';\r
+require 'io.pl';\r
+require 'basexml.pl';\r
+require 'commands.pl';\r
+require 'upload_fck.pl';\r
+require 'config.pl';\r
+\r
+&read_input();\r
+&DoResponse();\r
+\r
+sub DoResponse\r
+{\r
+       # Get the main request information.\r
+       $sCommand               = 'FileUpload';\r
+       $sResourceType  = &specialchar_cnv($FORM{'Type'});\r
+       $sCurrentFolder = "/";\r
+\r
+       if ($sResourceType eq '') {\r
+               $sResourceType = 'File' ;\r
+       }\r
+\r
+       if ( !($sResourceType =~ /^(File|Image|Flash|Media)$/) ) {\r
+               SendError( 1, "Invalid type specified" ) ;\r
+       }\r
+\r
+       # File Upload doesn't have to Return XML, so it must be intercepted before anything.\r
+       if($sCommand eq 'FileUpload') {\r
+               FileUpload($sResourceType,$sCurrentFolder);\r
+               return ;\r
+       }\r
+\r
+}\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/upload_fck.pl b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/upload_fck.pl
new file mode 100644 (file)
index 0000000..debdad6
--- /dev/null
@@ -0,0 +1,686 @@
+#####\r
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+#\r
+#  == BEGIN LICENSE ==\r
+#\r
+#  Licensed under the terms of any of the following licenses at your\r
+#  choice:\r
+#\r
+#   - GNU General Public License Version 2 or later (the "GPL")\r
+#     http://www.gnu.org/licenses/gpl.html\r
+#\r
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+#     http://www.gnu.org/licenses/lgpl.html\r
+#\r
+#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
+#     http://www.mozilla.org/MPL/MPL-1.1.html\r
+#\r
+#  == END LICENSE ==\r
+#\r
+#  This is the File Manager Connector for Perl.\r
+#####\r
+\r
+# image data save dir\r
+$img_dir       = './temp/';\r
+\r
+\r
+# File size max(unit KB)\r
+$MAX_CONTENT_SIZE =  30000;\r
+\r
+# After file is uploaded, sometimes it is required to change its permissions\r
+# so that it was possible to access it at the later time.\r
+# If possible, it is recommended to set more restrictive permissions, like 0755.\r
+# Set to 0 to disable this feature.\r
+$CHMOD_ON_UPLOAD = 0777;\r
+\r
+# See comments above.\r
+# Used when creating folders that does not exist.\r
+$CHMOD_ON_FOLDER_CREATE = 0755;\r
+\r
+# Filelock (1=use,0=not use)\r
+$PM{'flock'}           = '1';\r
+\r
+\r
+# upload Content-Type list\r
+my %UPLOAD_CONTENT_TYPE_LIST = (\r
+       'image/(x-)?png'                                                =>      'png',  # PNG image\r
+       'image/p?jpe?g'                                                 =>      'jpg',  # JPEG image\r
+       'image/gif'                                                             =>      'gif',  # GIF image\r
+       'image/x-xbitmap'                                               =>      'xbm',  # XBM image\r
+\r
+       'image/(x-(MS-)?)?bmp'                                  =>      'bmp',  # Windows BMP image\r
+       'image/pict'                                                    =>      'pict', # Macintosh PICT image\r
+       'image/tiff'                                                    =>      'tif',  # TIFF image\r
+       'application/pdf'                                               =>      'pdf',  # PDF image\r
+       'application/x-shockwave-flash'                 =>      'swf',  # Shockwave Flash\r
+\r
+       'video/(x-)?msvideo'                                    =>      'avi',  # Microsoft Video\r
+       'video/quicktime'                                               =>      'mov',  # QuickTime Video\r
+       'video/mpeg'                                                    =>      'mpeg', # MPEG Video\r
+       'video/x-mpeg2'                                                 =>      'mpv2', # MPEG2 Video\r
+\r
+       'audio/(x-)?midi?'                                              =>      'mid',  # MIDI Audio\r
+       'audio/(x-)?wav'                                                =>      'wav',  # WAV Audio\r
+       'audio/basic'                                                   =>      'au',   # ULAW Audio\r
+       'audio/mpeg'                                                    =>      'mpga', # MPEG Audio\r
+\r
+       'application/(x-)?zip(-compressed)?'    =>      'zip',  # ZIP Compress\r
+\r
+       'text/html'                                                             =>      'html', # HTML\r
+       'text/plain'                                                    =>      'txt',  # TEXT\r
+       '(?:application|text)/(?:rtf|richtext)' =>      'rtf',  # RichText\r
+\r
+       'application/msword'                                    =>      'doc',  # Microsoft Word\r
+       'application/vnd.ms-excel'                              =>      'xls',  # Microsoft Excel\r
+\r
+       ''\r
+);\r
+\r
+# Upload is permitted.\r
+# A regular expression is possible.\r
+my %UPLOAD_EXT_LIST = (\r
+       'png'                                   =>      'PNG image',\r
+       'p?jpe?g|jpe|jfif|pjp'  =>      'JPEG image',\r
+       'gif'                                   =>      'GIF image',\r
+       'xbm'                                   =>      'XBM image',\r
+\r
+       'bmp|dib|rle'                   =>      'Windows BMP image',\r
+       'pi?ct'                                 =>      'Macintosh PICT image',\r
+       'tiff?'                                 =>      'TIFF image',\r
+       'pdf'                                   =>      'PDF image',\r
+       'swf'                                   =>      'Shockwave Flash',\r
+\r
+       'avi'                                   =>      'Microsoft Video',\r
+       'moo?v|qt'                              =>      'QuickTime Video',\r
+       'm(p(e?gv?|e|v)|1v)'    =>      'MPEG Video',\r
+       'mp(v2|2v)'                             =>      'MPEG2 Video',\r
+\r
+       'midi?|kar|smf|rmi|mff' =>      'MIDI Audio',\r
+       'wav'                                   =>      'WAVE Audio',\r
+       'au|snd'                                =>      'ULAW Audio',\r
+       'mp(e?ga|2|a|3)|abs'    =>      'MPEG Audio',\r
+\r
+       'zip'                                   =>      'ZIP Compress',\r
+       'lzh'                                   =>      'LZH Compress',\r
+       'cab'                                   =>      'CAB Compress',\r
+\r
+       'd?html?'                               =>      'HTML',\r
+       'rtf|rtx'                               =>      'RichText',\r
+       'txt|text'                              =>      'Text',\r
+\r
+       ''\r
+);\r
+\r
+\r
+# sjis or euc\r
+my $CHARCODE = 'sjis';\r
+\r
+$TRANS_2BYTE_CODE = 0;\r
+\r
+##############################################################################\r
+# Summary\r
+#\r
+# Form Read input\r
+#\r
+# Parameters\r
+# Returns\r
+# Memo\r
+##############################################################################\r
+sub read_input\r
+{\r
+eval("use File::Copy;");\r
+eval("use File::Path;");\r
+\r
+       my ($FORM) = @_;\r
+\r
+       if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) {\r
+               mkdir("$img_dir");\r
+       }\r
+       else {\r
+               umask(000);\r
+               if (defined $CHMOD_ON_FOLDER_CREATE) {\r
+                       mkdir("$img_dir",$CHMOD_ON_FOLDER_CREATE);\r
+               }\r
+               else {\r
+                       mkdir("$img_dir",0777);\r
+               }\r
+       }\r
+\r
+       undef $img_data_exists;\r
+       undef @NEWFNAMES;\r
+       undef @NEWFNAME_DATA;\r
+\r
+       if($ENV{'CONTENT_LENGTH'} > 10000000 || $ENV{'CONTENT_LENGTH'} > $MAX_CONTENT_SIZE * 1024) {\r
+               &upload_error(\r
+                       'Size Error',\r
+                       sprintf(\r
+                               "Transmitting size is too large.MAX <strong>%d KB</strong> Now Size <strong>%d KB</strong>(<strong>%d bytes</strong> Over)",\r
+                               $MAX_CONTENT_SIZE,\r
+                               int($ENV{'CONTENT_LENGTH'} / 1024),\r
+                               $ENV{'CONTENT_LENGTH'} - $MAX_CONTENT_SIZE * 1024\r
+                       )\r
+               );\r
+       }\r
+\r
+       my $Buffer;\r
+       if($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data/) {\r
+               # METHOD POST only\r
+               return  unless($ENV{'CONTENT_LENGTH'});\r
+\r
+               binmode(STDIN);\r
+               # STDIN A pause character is detected.'(MacIE3.0 boundary of $ENV{'CONTENT_TYPE'} cannot be trusted.)\r
+               my $Boundary = <STDIN>;\r
+               $Boundary =~ s/\x0D\x0A//;\r
+               $Boundary = quotemeta($Boundary);\r
+               while(<STDIN>) {\r
+                       if(/^\s*Content-Disposition:/i) {\r
+                               my($name,$ContentType,$FileName);\r
+                               # form data get\r
+                               if(/\bname="([^"]+)"/i || /\bname=([^\s:;]+)/i) {\r
+                                       $name = $1;\r
+                                       $name   =~ tr/+/ /;\r
+                                       $name   =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;\r
+                                       &Encode(\$name);\r
+                               }\r
+                               if(/\bfilename="([^"]*)"/i || /\bfilename=([^\s:;]*)/i) {\r
+                                       $FileName = $1 || 'unknown';\r
+                               }\r
+                               # head read\r
+                               while(<STDIN>) {\r
+                                       last    if(! /\w/);\r
+                                       if(/^\s*Content-Type:\s*"([^"]+)"/i || /^\s*Content-Type:\s*([^\s:;]+)/i) {\r
+                                               $ContentType = $1;\r
+                                       }\r
+                               }\r
+                               # body read\r
+                               $value = "";\r
+                               while(<STDIN>) {\r
+                                       last    if(/^$Boundary/o);\r
+                                       $value .= $_;\r
+                               };\r
+                               $lastline = $_;\r
+                               $value =~s /\x0D\x0A$//;\r
+                               if($value ne '') {\r
+                                       if($FileName || $ContentType) {\r
+                                               $img_data_exists = 1;\r
+                                               (\r
+                                                       $FileName,              #\r
+                                                       $Ext,                   #\r
+                                                       $Length,                #\r
+                                                       $ImageWidth,    #\r
+                                                       $ImageHeight,   #\r
+                                                       $ContentName    #\r
+                                               ) = &CheckContentType(\$value,$FileName,$ContentType);\r
+\r
+                                               $FORM{$name}    = $FileName;\r
+                                               $new_fname              = $FileName;\r
+                                               push(@NEWFNAME_DATA,"$FileName\t$Ext\t$Length\t$ImageWidth\t$ImageHeight\t$ContentName");\r
+\r
+                                               # Multi-upload correspondence\r
+                                               push(@NEWFNAMES,$new_fname);\r
+                                               open(OUT,">$img_dir/$new_fname");\r
+                                               binmode(OUT);\r
+                                               eval "flock(OUT,2);" if($PM{'flock'} == 1);\r
+                                               print OUT $value;\r
+                                               eval "flock(OUT,8);" if($PM{'flock'} == 1);\r
+                                               close(OUT);\r
+\r
+                                       } elsif($name) {\r
+                                               $value  =~ tr/+/ /;\r
+                                               $value  =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;\r
+                                               &Encode(\$value,'trans');\r
+                                               $FORM{$name} .= "\0"                    if(defined($FORM{$name}));\r
+                                               $FORM{$name} .= $value;\r
+                                       }\r
+                               }\r
+                       };\r
+                       last if($lastline =~ /^$Boundary\-\-/o);\r
+               }\r
+       } elsif($ENV{'CONTENT_LENGTH'}) {\r
+               read(STDIN,$Buffer,$ENV{'CONTENT_LENGTH'});\r
+       }\r
+       foreach(split(/&/,$Buffer),split(/&/,$ENV{'QUERY_STRING'})) {\r
+               my($name, $value) = split(/=/);\r
+               $name   =~ tr/+/ /;\r
+               $name   =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;\r
+               $value  =~ tr/+/ /;\r
+               $value  =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;\r
+\r
+               &Encode(\$name);\r
+               &Encode(\$value,'trans');\r
+               $FORM{$name} .= "\0"                    if(defined($FORM{$name}));\r
+               $FORM{$name} .= $value;\r
+\r
+       }\r
+\r
+}\r
+\r
+##############################################################################\r
+# Summary\r
+#\r
+#      CheckContentType\r
+#\r
+# Parameters\r
+# Returns\r
+# Memo\r
+##############################################################################\r
+sub CheckContentType\r
+{\r
+\r
+       my($DATA,$FileName,$ContentType) = @_;\r
+       my($Ext,$ImageWidth,$ImageHeight,$ContentName,$Infomation);\r
+       my $DataLength = length($$DATA);\r
+\r
+       # An unknown file type\r
+\r
+       $_ = $ContentType;\r
+       my $UnknownType = (\r
+               !$_\r
+               || /^application\/(x-)?macbinary$/i\r
+               || /^application\/applefile$/i\r
+               || /^application\/octet-stream$/i\r
+               || /^text\/plane$/i\r
+               || /^x-unknown-content-type/i\r
+       );\r
+\r
+       # MacBinary(Mac Unnecessary data are deleted.)\r
+       if($UnknownType || $ENV{'HTTP_USER_AGENT'} =~ /Macintosh|Mac_/) {\r
+               if($DataLength > 128 && !unpack("C",substr($$DATA,0,1)) && !unpack("C",substr($$DATA,74,1)) && !unpack("C",substr($$DATA,82,1)) ) {\r
+                       my $MacBinary_ForkLength = unpack("N", substr($$DATA, 83, 4));          # ForkLength Get\r
+                       my $MacBinary_FileName = quotemeta(substr($$DATA, 2, unpack("C",substr($$DATA, 1, 1))));\r
+                       if($MacBinary_FileName && $MacBinary_ForkLength && $DataLength >= $MacBinary_ForkLength + 128\r
+                                       && ($FileName =~ /$MacBinary_FileName/i || substr($$DATA,102,4) eq 'mBIN')) {   # DATA TOP 128byte MacBinary!!\r
+                               $$DATA                          = substr($$DATA,128,$MacBinary_ForkLength);\r
+                               my $ResourceLength      = $DataLength - $MacBinary_ForkLength - 128;\r
+                               $DataLength                     = $MacBinary_ForkLength;\r
+                       }\r
+               }\r
+       }\r
+\r
+       # A file name is changed into EUC.\r
+#      &jcode::convert(\$FileName,'euc',$FormCodeDefault);\r
+#      &jcode::h2z_euc(\$FileName);\r
+       $FileName =~ s/^.*\\//;                                 # Windows, Mac\r
+       $FileName =~ s/^.*\///;                                 # UNIX\r
+       $FileName =~ s/&/&amp;/g;\r
+       $FileName =~ s/"/&quot;/g;\r
+       $FileName =~ s/</&lt;/g;\r
+       $FileName =~ s/>/&gt;/g;\r
+#\r
+#      if($CHARCODE ne 'euc') {\r
+#              &jcode::convert(\$FileName,$CHARCODE,'euc');\r
+#      }\r
+\r
+       # An extension is extracted and it changes into a small letter.\r
+       my $FileExt;\r
+       if($FileName =~ /\.(\w+)$/) {\r
+               $FileExt = $1;\r
+               $FileExt =~ tr/A-Z/a-z/;\r
+       }\r
+\r
+       # Executable file detection (ban on upload)\r
+       if($$DATA =~ /^MZ/) {\r
+               $Ext = 'exe';\r
+       }\r
+       # text\r
+       if(!$Ext && ($UnknownType || $ContentType =~ /^text\//i || $ContentType =~ /^application\/(?:rtf|richtext)$/i || $ContentType =~ /^image\/x-xbitmap$/i)\r
+                               && ! $$DATA =~ /[\000-\006\177\377]/) {\r
+#              $$DATA =~ s/\x0D\x0A/\n/g;\r
+#              $$DATA =~ tr/\x0D\x0A/\n\n/;\r
+#\r
+#              if(\r
+#                      $$DATA =~ /<\s*SCRIPT(?:.|\n)*?>/i\r
+#                              || $$DATA =~ /<\s*(?:.|\n)*?\bONLOAD\s*=(?:.|\n)*?>/i\r
+#                              || $$DATA =~ /<\s*(?:.|\n)*?\bONCLICK\s*=(?:.|\n)*?>/i\r
+#                              ) {\r
+#                      $Infomation = '(JavaScript contains)';\r
+#              }\r
+#              if($$DATA =~ /<\s*TABLE(?:.|\n)*?>/i\r
+#                              || $$DATA =~ /<\s*BLINK(?:.|\n)*?>/i\r
+#                              || $$DATA =~ /<\s*MARQUEE(?:.|\n)*?>/i\r
+#                              || $$DATA =~ /<\s*OBJECT(?:.|\n)*?>/i\r
+#                              || $$DATA =~ /<\s*EMBED(?:.|\n)*?>/i\r
+#                              || $$DATA =~ /<\s*FRAME(?:.|\n)*?>/i\r
+#                              || $$DATA =~ /<\s*APPLET(?:.|\n)*?>/i\r
+#                              || $$DATA =~ /<\s*FORM(?:.|\n)*?>/i\r
+#                              || $$DATA =~ /<\s*(?:.|\n)*?\bSRC\s*=(?:.|\n)*?>/i\r
+#                              || $$DATA =~ /<\s*(?:.|\n)*?\bDYNSRC\s*=(?:.|\n)*?>/i\r
+#                              ) {\r
+#                      $Infomation = '(the HTML tag which is not safe is included)';\r
+#              }\r
+\r
+               if($FileExt =~ /^txt$/i || $FileExt =~ /^cgi$/i || $FileExt =~ /^pl$/i) {                                                               # Text File\r
+                       $Ext = 'txt';\r
+               } elsif($ContentType =~ /^text\/html$/i || $FileExt =~ /html?/i || $$DATA =~ /<\s*HTML(?:.|\n)*?>/i) {  # HTML File\r
+                       $Ext = 'html';\r
+               } elsif($ContentType =~ /^image\/x-xbitmap$/i || $FileExt =~ /^xbm$/i) {                                                                # XBM(x-BitMap) Image\r
+                       my $XbmName = $1;\r
+                       my ($XbmWidth, $XbmHeight);\r
+                       if($$DATA =~ /\#define\s*$XbmName\_width\s*(\d+)/i) {\r
+                               $XbmWidth = $1;\r
+                       }\r
+                       if($$DATA =~ /\#define\s*$XbmName\_height\s*(\d+)/i) {\r
+                               $XbmHeight = $1;\r
+                       }\r
+                       if($XbmWidth && $XbmHeight) {\r
+                               $Ext = 'xbm';\r
+                               $ImageWidth             = $XbmWidth;\r
+                               $ImageHeight    = $XbmHeight;\r
+                       }\r
+               } else {                #\r
+                       $Ext = 'txt';\r
+               }\r
+       }\r
+\r
+       # image\r
+       if(!$Ext && ($UnknownType || $ContentType =~ /^image\//i)) {\r
+               # PNG\r
+               if($$DATA =~ /^\x89PNG\x0D\x0A\x1A\x0A/) {\r
+                       if(substr($$DATA, 12, 4) eq 'IHDR') {\r
+                               $Ext = 'png';\r
+                               ($ImageWidth, $ImageHeight) = unpack("N2", substr($$DATA, 16, 8));\r
+                       }\r
+               } elsif($$DATA =~ /^GIF8(?:9|7)a/) {                                                                                                                    # GIF89a(modified), GIF89a, GIF87a\r
+                       $Ext = 'gif';\r
+                       ($ImageWidth, $ImageHeight) = unpack("v2", substr($$DATA, 6, 4));\r
+               } elsif($$DATA =~ /^II\x2a\x00\x08\x00\x00\x00/ || $$DATA =~ /^MM\x00\x2a\x00\x00\x00\x08/) {   # TIFF\r
+                       $Ext = 'tif';\r
+               } elsif($$DATA =~ /^BM/) {                                                                                                                                              # BMP\r
+                       $Ext = 'bmp';\r
+               } elsif($$DATA =~ /^\xFF\xD8\xFF/ || $$DATA =~ /JFIF/) {                                                                                # JPEG\r
+                       my $HeaderPoint = index($$DATA, "\xFF\xD8\xFF", 0);\r
+                       my $Point = $HeaderPoint + 2;\r
+                       while($Point < $DataLength) {\r
+                               my($Maker, $MakerType, $MakerLength) = unpack("C2n",substr($$DATA,$Point,4));\r
+                               if($Maker != 0xFF || $MakerType == 0xd9 || $MakerType == 0xda) {\r
+                                       last;\r
+                               } elsif($MakerType >= 0xC0 && $MakerType <= 0xC3) {\r
+                                       $Ext = 'jpg';\r
+                                       ($ImageHeight, $ImageWidth) = unpack("n2", substr($$DATA, $Point + 5, 4));\r
+                                       if($HeaderPoint > 0) {\r
+                                               $$DATA = substr($$DATA, $HeaderPoint);\r
+                                               $DataLength = length($$DATA);\r
+                                       }\r
+                                       last;\r
+                               } else {\r
+                                       $Point += $MakerLength + 2;\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+       # audio\r
+       if(!$Ext && ($UnknownType || $ContentType =~ /^audio\//i)) {\r
+               # MIDI Audio\r
+               if($$DATA =~ /^MThd/) {\r
+                       $Ext = 'mid';\r
+               } elsif($$DATA =~ /^\x2esnd/) {         # ULAW Audio\r
+                       $Ext = 'au';\r
+               } elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) {\r
+                       my $HeaderPoint = index($$DATA, "RIFF", 0);\r
+                       $_ = substr($$DATA, $HeaderPoint + 8, 8);\r
+                       if(/^WAVEfmt $/) {\r
+                               # WAVE\r
+                               if(unpack("V",substr($$DATA, $HeaderPoint + 16, 4)) == 16) {\r
+                                       $Ext = 'wav';\r
+                               } else {                                        # RIFF WAVE MP3\r
+                                       $Ext = 'mp3';\r
+                               }\r
+                       } elsif(/^RMIDdata$/) {                 # RIFF MIDI\r
+                               $Ext = 'rmi';\r
+                       } elsif(/^RMP3data$/) {                 # RIFF MP3\r
+                               $Ext = 'rmp';\r
+                       }\r
+                       if($ContentType =~ /^audio\//i) {\r
+                               $Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')';\r
+                       }\r
+               }\r
+       }\r
+\r
+       # a binary file\r
+       unless ($Ext) {\r
+               # PDF image\r
+               if($$DATA =~ /^\%PDF/) {\r
+                       # Picture size is not measured.\r
+                       $Ext = 'pdf';\r
+               } elsif($$DATA =~ /^FWS/) {             # Shockwave Flash\r
+                       $Ext = 'swf';\r
+               } elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) {\r
+                       my $HeaderPoint = index($$DATA, "RIFF", 0);\r
+                       $_ = substr($$DATA,$HeaderPoint + 8, 8);\r
+                       # AVI\r
+                       if(/^AVI LIST$/) {\r
+                               $Ext = 'avi';\r
+                       }\r
+                       if($ContentType =~ /^video\//i) {\r
+                               $Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')';\r
+                       }\r
+               } elsif($$DATA =~ /^PK/) {                      # ZIP Compress File\r
+                       $Ext = 'zip';\r
+               } elsif($$DATA =~ /^MSCF/) {            # CAB Compress File\r
+                       $Ext = 'cab';\r
+               } elsif($$DATA =~ /^Rar\!/) {           # RAR Compress File\r
+                       $Ext = 'rar';\r
+               } elsif(substr($$DATA, 2, 5) =~ /^\-lh(\d+|d)\-$/) {            # LHA Compress File\r
+                       $Infomation .= "(lh$1)";\r
+                       $Ext = 'lzh';\r
+               } 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") {\r
+                       # QuickTime\r
+                       $Ext = 'mov';\r
+               }\r
+       }\r
+\r
+       # Header analysis failure\r
+       unless ($Ext) {\r
+               # It will be followed if it applies for the MIME type from the browser.\r
+               foreach (keys %UPLOAD_CONTENT_TYPE_LIST) {\r
+                       next unless ($_);\r
+                       if($ContentType =~ /^$_$/i) {\r
+                               $Ext = $UPLOAD_CONTENT_TYPE_LIST{$_};\r
+                               $ContentName = &CheckContentExt($Ext);\r
+                               if(\r
+                                       grep {$_ eq $Ext;} (\r
+                                               'png',\r
+                                               'gif',\r
+                                               'jpg',\r
+                                               'xbm',\r
+                                               'tif',\r
+                                               'bmp',\r
+                                               'pdf',\r
+                                               'swf',\r
+                                               'mov',\r
+                                               'zip',\r
+                                               'cab',\r
+                                               'lzh',\r
+                                               'rar',\r
+                                               'mid',\r
+                                               'rmi',\r
+                                               'au',\r
+                                               'wav',\r
+                                               'avi',\r
+                                               'exe'\r
+                                       )\r
+                               ) {\r
+                                       $Infomation .= ' / Header analysis failure';\r
+                               }\r
+                               if($Ext ne $FileExt && &CheckContentExt($FileExt) eq $ContentName) {\r
+                                       $Ext = $FileExt;\r
+                               }\r
+                               last;\r
+                       }\r
+               }\r
+               # a MIME type is unknown--It judges from an extension.\r
+               unless ($Ext) {\r
+                       $ContentName = &CheckContentExt($FileExt);\r
+                       if($ContentName) {\r
+                               $Ext = $FileExt;\r
+                               $Infomation .= ' /      MIME type is unknown('. $ContentType. ')';\r
+                               last;\r
+                       }\r
+               }\r
+       }\r
+\r
+#      $ContentName = &CheckContentExt($Ext)   unless($ContentName);\r
+#      if($Ext && $ContentName) {\r
+#              $ContentName .=  $Infomation;\r
+#      } else {\r
+#              &upload_error(\r
+#                      'Extension Error',\r
+#                      "$FileName A not corresponding extension ($Ext)<BR>The extension which can be responded ". join(',', sort values(%UPLOAD_EXT_LIST))\r
+#              );\r
+#      }\r
+\r
+#      # SSI Tag Deletion\r
+#      if($Ext =~ /.?html?/ && $$DATA =~ /<\!/) {\r
+#              foreach (\r
+#                      'config',\r
+#                      'echo',\r
+#                      'exec',\r
+#                      'flastmod',\r
+#                      'fsize',\r
+#                      'include'\r
+#              ) {\r
+#                      $$DATA =~ s/\#\s*$_/\&\#35\;$_/ig\r
+#              }\r
+#      }\r
+\r
+       return (\r
+               $FileName,\r
+               $Ext,\r
+               int($DataLength / 1024 + 1),\r
+               $ImageWidth,\r
+               $ImageHeight,\r
+               $ContentName\r
+       );\r
+}\r
+\r
+##############################################################################\r
+# Summary\r
+#\r
+# Extension discernment\r
+#\r
+# Parameters\r
+# Returns\r
+# Memo\r
+##############################################################################\r
+\r
+sub CheckContentExt\r
+{\r
+\r
+       my($Ext) = @_;\r
+       my $ContentName;\r
+       foreach (keys %UPLOAD_EXT_LIST) {\r
+               next    unless ($_);\r
+               if($_ && $Ext =~ /^$_$/) {\r
+                       $ContentName = $UPLOAD_EXT_LIST{$_};\r
+                       last;\r
+               }\r
+       }\r
+       return $ContentName;\r
+\r
+}\r
+\r
+##############################################################################\r
+# Summary\r
+#\r
+# Form decode\r
+#\r
+# Parameters\r
+# Returns\r
+# Memo\r
+##############################################################################\r
+sub Encode\r
+{\r
+\r
+       my($value,$Trans) = @_;\r
+\r
+#      my $FormCode = &jcode::getcode($value) || $FormCodeDefault;\r
+#      $FormCodeDefault ||= $FormCode;\r
+#\r
+#      if($Trans && $TRANS_2BYTE_CODE) {\r
+#              if($FormCode ne 'euc') {\r
+#                      &jcode::convert($value, 'euc', $FormCode);\r
+#              }\r
+#              &jcode::tr(\r
+#                      $value,\r
+#                      "\xA3\xB0-\xA3\xB9\xA3\xC1-\xA3\xDA\xA3\xE1-\xA3\xFA",\r
+#                      '0-9A-Za-z'\r
+#              );\r
+#              if($CHARCODE ne 'euc') {\r
+#                      &jcode::convert($value,$CHARCODE,'euc');\r
+#              }\r
+#      } else {\r
+#              if($CHARCODE ne $FormCode) {\r
+#                      &jcode::convert($value,$CHARCODE,$FormCode);\r
+#              }\r
+#      }\r
+#      if($CHARCODE eq 'euc') {\r
+#              &jcode::h2z_euc($value);\r
+#      } elsif($CHARCODE eq 'sjis') {\r
+#              &jcode::h2z_sjis($value);\r
+#      }\r
+\r
+}\r
+\r
+##############################################################################\r
+# Summary\r
+#\r
+# Error Msg\r
+#\r
+# Parameters\r
+# Returns\r
+# Memo\r
+##############################################################################\r
+\r
+sub upload_error\r
+{\r
+\r
+       local($error_message)   = $_[0];\r
+       local($error_message2)  = $_[1];\r
+\r
+       print "Content-type: text/html\n\n";\r
+       print<<EOF;\r
+<HTML>\r
+<HEAD>\r
+<TITLE>Error Message</TITLE></HEAD>\r
+<BODY>\r
+<table border="1" cellspacing="10" cellpadding="10">\r
+       <TR bgcolor="#0000B0">\r
+       <TD bgcolor="#0000B0" NOWRAP><font size="-1" color="white"><B>Error Message</B></font></TD>\r
+       </TR>\r
+</table>\r
+<UL>\r
+<H4> $error_message </H4>\r
+$error_message2 <BR>\r
+</UL>\r
+</BODY>\r
+</HTML>\r
+EOF\r
+       &rm_tmp_uploaded_files;                 # Image Temporary deletion\r
+       exit;\r
+}\r
+\r
+##############################################################################\r
+# Summary\r
+#\r
+# Image Temporary deletion\r
+#\r
+# Parameters\r
+# Returns\r
+# Memo\r
+##############################################################################\r
+\r
+sub rm_tmp_uploaded_files\r
+{\r
+       if($img_data_exists == 1){\r
+               sleep 1;\r
+               foreach $fname_list(@NEWFNAMES) {\r
+                       if(-e "$img_dir/$fname_list") {\r
+                               unlink("$img_dir/$fname_list");\r
+                       }\r
+               }\r
+       }\r
+\r
+}\r
+1;\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/util.pl b/httemplate/elements/fckeditor/editor/filemanager/connectors/perl/util.pl
new file mode 100644 (file)
index 0000000..c245a04
--- /dev/null
@@ -0,0 +1,66 @@
+#####\r
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+#\r
+#  == BEGIN LICENSE ==\r
+#\r
+#  Licensed under the terms of any of the following licenses at your\r
+#  choice:\r
+#\r
+#   - GNU General Public License Version 2 or later (the "GPL")\r
+#     http://www.gnu.org/licenses/gpl.html\r
+#\r
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+#     http://www.gnu.org/licenses/lgpl.html\r
+#\r
+#   - Mozilla Public License Version 1.1 or later (the "MPL")\r
+#     http://www.mozilla.org/MPL/MPL-1.1.html\r
+#\r
+#  == END LICENSE ==\r
+#\r
+#  This is the File Manager Connector for Perl.\r
+#####\r
+\r
+sub RemoveFromStart\r
+{\r
+       local($sourceString, $charToRemove) = @_;\r
+       $sPattern = '^' . $charToRemove . '+' ;\r
+       $sourceString =~ s/^$charToRemove+//g;\r
+       return $sourceString;\r
+}\r
+\r
+sub RemoveFromEnd\r
+{\r
+       local($sourceString, $charToRemove) = @_;\r
+       $sPattern = $charToRemove . '+$' ;\r
+       $sourceString =~ s/$charToRemove+$//g;\r
+       return $sourceString;\r
+}\r
+\r
+sub ConvertToXmlAttribute\r
+{\r
+       local($value) = @_;\r
+       return(&specialchar_cnv($value));\r
+}\r
+\r
+sub specialchar_cnv\r
+{\r
+       local($ch) = @_;\r
+\r
+       $ch =~ s/&/&amp;/g;             # &\r
+       $ch =~ s/\"/&quot;/g;   #"\r
+       $ch =~ s/\'/&#39;/g;    # '\r
+       $ch =~ s/</&lt;/g;              # <\r
+       $ch =~ s/>/&gt;/g;              # >\r
+       return($ch);\r
+}\r
+\r
+sub JS_cnv\r
+{\r
+       local($ch) = @_;\r
+\r
+       $ch =~ s/\"/\\\"/g;     #"\r
+       return($ch);\r
+}\r
+\r
+1;\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/test.html b/httemplate/elements/fckeditor/editor/filemanager/connectors/test.html
new file mode 100644 (file)
index 0000000..a394750
--- /dev/null
@@ -0,0 +1,210 @@
+<!--\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ *\r
+ * Test page for the File Browser connectors.\r
+-->\r
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
+<head>\r
+       <title>FCKeditor - Connectors Tests</title>\r
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
+       <script type="text/javascript">\r
+\r
+// Automatically detect the correct document.domain (#1919).\r
+(function()\r
+{\r
+       var d = document.domain ;\r
+\r
+       while ( true )\r
+       {\r
+               // Test if we can access a parent property.\r
+               try\r
+               {\r
+                       var test = window.opener.document.domain ;\r
+                       break ;\r
+               }\r
+               catch( e ) {}\r
+\r
+               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
+               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
+\r
+               if ( d.length == 0 )\r
+                       break ;         // It was not able to detect the domain.\r
+\r
+               try\r
+               {\r
+                       document.domain = d ;\r
+               }\r
+               catch (e)\r
+               {\r
+                       break ;\r
+               }\r
+       }\r
+})() ;\r
+\r
+function BuildBaseUrl( command )\r
+{\r
+       var sUrl =\r
+               document.getElementById('cmbConnector').value +\r
+               '?Command=' + command +\r
+               '&Type=' + document.getElementById('cmbType').value +\r
+               '&CurrentFolder=' + encodeURIComponent(document.getElementById('txtFolder').value) ;\r
+\r
+       return sUrl ;\r
+}\r
+\r
+function SetFrameUrl( url )\r
+{\r
+       document.getElementById('eRunningFrame').src = url ;\r
+\r
+       document.getElementById('eUrl').innerHTML = url ;\r
+}\r
+\r
+function GetFolders()\r
+{\r
+       SetFrameUrl( BuildBaseUrl( 'GetFolders' ) ) ;\r
+       return false ;\r
+}\r
+\r
+function GetFoldersAndFiles()\r
+{\r
+       SetFrameUrl( BuildBaseUrl( 'GetFoldersAndFiles' ) ) ;\r
+       return false ;\r
+}\r
+\r
+function CreateFolder()\r
+{\r
+       var sFolder = prompt( 'Type the folder name:', 'Test Folder' ) ;\r
+\r
+       if ( ! sFolder )\r
+               return false ;\r
+\r
+       var sUrl = BuildBaseUrl( 'CreateFolder' ) ;\r
+       sUrl += '&NewFolderName=' + encodeURIComponent( sFolder ) ;\r
+\r
+       SetFrameUrl( sUrl ) ;\r
+       return false ;\r
+}\r
+\r
+function OnUploadCompleted( errorNumber, fileName )\r
+{\r
+       switch ( errorNumber )\r
+       {\r
+               case 0 :\r
+                       alert( 'File uploaded with no errors' ) ;\r
+                       break ;\r
+               case 201 :\r
+                       GetFoldersAndFiles() ;\r
+                       alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;\r
+                       break ;\r
+               case 202 :\r
+                       alert( 'Invalid file' ) ;\r
+                       break ;\r
+               default :\r
+                       alert( 'Error on file upload. Error number: ' + errorNumber ) ;\r
+                       break ;\r
+       }\r
+}\r
+\r
+this.frames.frmUpload = this ;\r
+\r
+function SetAction()\r
+{\r
+       var sUrl = BuildBaseUrl( 'FileUpload' ) ;\r
+       document.getElementById('eUrl').innerHTML = sUrl ;\r
+       document.getElementById('frmUpload').action = sUrl ;\r
+}\r
+\r
+       </script>\r
+</head>\r
+<body>\r
+       <table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">\r
+               <tr>\r
+                       <td>\r
+                               <table cellspacing="0" cellpadding="0" border="0">\r
+                                       <tr>\r
+                                               <td>\r
+                                                       Connector:<br />\r
+                                                       <select id="cmbConnector" name="cmbConnector">\r
+                                                               <option value="asp/connector.asp" selected="selected">ASP</option>\r
+                                                               <option value="aspx/connector.aspx">ASP.Net</option>\r
+                                                               <option value="cfm/connector.cfm">ColdFusion</option>\r
+                                                               <option value="lasso/connector.lasso">Lasso</option>\r
+                                                               <option value="perl/connector.cgi">Perl</option>\r
+                                                               <option value="php/connector.php">PHP</option>\r
+                                                               <option value="py/connector.py">Python</option>\r
+                                                       </select>\r
+                                               </td>\r
+                                               <td>\r
+                                                       &nbsp;&nbsp;&nbsp;</td>\r
+                                               <td>\r
+                                                       Current Folder<br />\r
+                                                       <input id="txtFolder" type="text" value="/" name="txtFolder" /></td>\r
+                                               <td>\r
+                                                       &nbsp;&nbsp;&nbsp;</td>\r
+                                               <td>\r
+                                                       Resource Type<br />\r
+                                                       <select id="cmbType" name="cmbType">\r
+                                                               <option value="File" selected="selected">File</option>\r
+                                                               <option value="Image">Image</option>\r
+                                                               <option value="Flash">Flash</option>\r
+                                                               <option value="Media">Media</option>\r
+                                                               <option value="Invalid">Invalid Type (for testing)</option>\r
+                                                       </select>\r
+                                               </td>\r
+                                       </tr>\r
+                               </table>\r
+                               <br />\r
+                               <table cellspacing="0" cellpadding="0" border="0">\r
+                                       <tr>\r
+                                               <td valign="top">\r
+                                                       <a href="#" onclick="GetFolders();">Get Folders</a></td>\r
+                                               <td>\r
+                                                       &nbsp;&nbsp;&nbsp;</td>\r
+                                               <td valign="top">\r
+                                                       <a href="#" onclick="GetFoldersAndFiles();">Get Folders and Files</a></td>\r
+                                               <td>\r
+                                                       &nbsp;&nbsp;&nbsp;</td>\r
+                                               <td valign="top">\r
+                                                       <a href="#" onclick="CreateFolder();">Create Folder</a></td>\r
+                                               <td>\r
+                                                       &nbsp;&nbsp;&nbsp;</td>\r
+                                               <td valign="top">\r
+                                                       <form id="frmUpload" action="" target="eRunningFrame" method="post" enctype="multipart/form-data">\r
+                                                               File Upload<br />\r
+                                                               <input id="txtFileUpload" type="file" name="NewFile" />\r
+                                                               <input type="submit" value="Upload" onclick="SetAction();" />\r
+                                                       </form>\r
+                                               </td>\r
+                                       </tr>\r
+                               </table>\r
+                               <br />\r
+                               URL: <span id="eUrl"></span>\r
+                       </td>\r
+               </tr>\r
+               <tr>\r
+                       <td height="100%" valign="top">\r
+                               <iframe id="eRunningFrame" src="javascript:void(0)" name="eRunningFrame" width="100%"\r
+                                       height="100%"></iframe>\r
+                       </td>\r
+               </tr>\r
+       </table>\r
+</body>\r
+</html>\r
diff --git a/httemplate/elements/fckeditor/editor/filemanager/connectors/uploadtest.html b/httemplate/elements/fckeditor/editor/filemanager/connectors/uploadtest.html
new file mode 100644 (file)
index 0000000..9d7b97b
--- /dev/null
@@ -0,0 +1,192 @@
+<!--\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ *\r
+ * Test page for the "File Uploaders".\r
+-->\r
+<html>\r
+       <head>\r
+               <title>FCKeditor - Uploaders Tests</title>\r
+               <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
+               <script type="text/javascript">\r
+\r
+// Automatically detect the correct document.domain (#1919).\r
+(function()\r
+{\r
+       var d = document.domain ;\r
+\r
+       while ( true )\r
+       {\r
+               // Test if we can access a parent property.\r
+               try\r
+               {\r
+                       var test = window.opener.document.domain ;\r
+                       break ;\r
+               }\r
+               catch( e ) {}\r
+\r
+               // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...\r
+               d = d.replace( /.*?(?:\.|$)/, '' ) ;\r
+\r
+               if ( d.length == 0 )\r
+                       break ;         // It was not able to detect the domain.\r
+\r
+               try\r
+               {\r
+                       document.domain = d ;\r
+               }\r
+               catch (e)\r
+               {\r
+                       break ;\r
+               }\r
+       }\r
+})() ;\r
+\r
+function SendFile()\r
+{\r
+       var sUploaderUrl = cmbUploaderUrl.value ;\r
+\r
+       if ( sUploaderUrl.length == 0 )\r
+               sUploaderUrl = txtCustomUrl.value ;\r
+\r
+       if ( sUploaderUrl.length == 0 )\r
+       {\r
+               alert( 'Please provide your custom URL or select a default one' ) ;\r
+               return ;\r
+       }\r
+\r
+       eURL.innerHTML = sUploaderUrl ;\r
+       txtUrl.value = '' ;\r
+\r
+       var date = new Date()\r
+\r
+       frmUpload.action = sUploaderUrl + '?time=' + date.getTime();\r
+       if (document.getElementById('cmbType').value) {\r
+               frmUpload.action = frmUpload.action + '&Type='+document.getElementById('cmbType').value;\r
+       }\r
+       if (document.getElementById('CurrentFolder').value) {\r
+               frmUpload.action = frmUpload.action + '&CurrentFolder='+document.getElementById('CurrentFolder').value;\r
+       }\r
+       frmUpload.submit() ;\r
+}\r
+\r
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )\r
+{\r
+       switch ( errorNumber )\r
+       {\r
+               case 0 :        // No errors\r
+                       txtUrl.value = fileUrl ;\r
+                       alert( 'File uploaded with no errors' ) ;\r
+                       break ;\r
+               case 1 :        // Custom error\r
+                       alert( customMsg ) ;\r
+                       break ;\r
+               case 10 :       // Custom warning\r
+                       txtUrl.value = fileUrl ;\r
+                       alert( customMsg ) ;\r
+                       break ;\r
+               case 201 :\r
+                       txtUrl.value = fileUrl ;\r
+                       alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;\r
+                       break ;\r
+               case 202 :\r
+                       alert( 'Invalid file' ) ;\r
+                       break ;\r
+               case 203 :\r
+                       alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;\r
+                       break ;\r
+               default :\r
+                       alert( 'Error on file upload. Error number: ' + errorNumber ) ;\r
+                       break ;\r
+       }\r
+}\r
+\r
+               </script>\r
+       </head>\r
+       <body>\r
+               <table cellSpacing="0" cellPadding="0" width="100%" border="0" height="100%">\r
+                       <tr>\r
+                               <td>\r
+                                       <table cellSpacing="0" cellPadding="0" width="100%" border="0">\r
+                                               <tr>\r
+                                                       <td nowrap>\r
+                                                               Select the "File Uploader" to use: <br>\r
+                                                               <select id="cmbUploaderUrl">\r
+                                                                       <option selected value="asp/upload.asp">ASP</option>\r
+                                                                       <option value="aspx/upload.aspx">ASP.Net</option>\r
+                                                                       <option value="cfm/upload.cfm">ColdFusion</option>\r
+                                                                       <option value="lasso/upload.lasso">Lasso</option>\r
+                                                                       <option value="perl/upload.cgi">Perl</option>\r
+                                                                       <option value="php/upload.php">PHP</option>\r
+                                                                       <option value="py/upload.py">Python</option>\r
+                                                                       <option value="">(Custom)</option>\r
+                                                               </select>\r
+                                                       </td>\r
+                                               <td>\r
+                                                       Resource Type<br />\r
+                                                       <select id="cmbType" name="cmbType">\r
+                                                               <option value="">None</option>\r
+                                                               <option value="File">File</option>\r
+                                                               <option value="Image">Image</option>\r
+                                                               <option value="Flash">Flash</option>\r
+                                                               <option value="Media">Media</option>\r
+                                                               <option value="Invalid">Invalid Type (for testing)</option>\r
+                                                       </select>\r
+                                               </td>\r
+                                               <td>\r
+                                               Current Folder: <br>\r
+                                               <input type="text" name="CurrentFolder" id="CurrentFolder" value="/">\r
+                                               </td>\r
+                                                       <td nowrap>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\r
+                                                       <td width="100%">\r
+                                                               Custom Uploader URL:<BR>\r
+                                                               <input id="txtCustomUrl" style="WIDTH: 100%; BACKGROUND-COLOR: #dcdcdc" disabled type="text">\r
+                                                       </td>\r
+                                               </tr>\r
+                                       </table>\r
+                                       <br>\r
+                                       <table cellSpacing="0" cellPadding="0" width="100%" border="0">\r
+                                               <tr>\r
+                                                       <td noWrap>\r
+                                                               <form id="frmUpload" target="UploadWindow" enctype="multipart/form-data" action="" method="post">\r
+                                                                       Upload a new file:<br>\r
+                                                                       <input type="file" name="NewFile"><br>\r
+\r
+                                                                       <input type="button" value="Send it to the Server" onclick="SendFile();">\r
+                                                               </form>\r
+                                                       </td>\r
+                                                       <td style="WIDTH: 16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\r
+                                                       <td vAlign="top" width="100%">\r
+                                                               Uploaded File URL:<br>\r
+                                                               <INPUT id="txtUrl" style="WIDTH: 100%" readonly type="text">\r
+                                                       </td>\r
+                                               </tr>\r
+                                       </table>\r
+                                       <br>\r
+                                       Post URL: <span id="eURL">&nbsp;</span>\r
+                               </td>\r
+                       </tr>\r
+                       <tr>\r
+                               <td height="100%">\r
+                                       <iframe name="UploadWindow" width="100%" height="100%" src="javascript:void(0)"></iframe>\r
+                               </td>\r
+                       </tr>\r
+               </table>\r
+       </body>\r
+</html>\r
diff --git a/httemplate/elements/fckeditor/editor/js/fckadobeair.js b/httemplate/elements/fckeditor/editor/js/fckadobeair.js
new file mode 100644 (file)
index 0000000..aea8fdc
--- /dev/null
@@ -0,0 +1,176 @@
+/*\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ *\r
+ * Compatibility code for Adobe AIR.\r
+ */\r
+\r
+if ( FCKBrowserInfo.IsAIR )\r
+{\r
+       var FCKAdobeAIR = (function()\r
+       {\r
+               /*\r
+                * ### Private functions.\r
+                */\r
+\r
+               var getDocumentHead = function( doc )\r
+               {\r
+                       var head ;\r
+                       var heads = doc.getElementsByTagName( 'head' ) ;\r
+\r
+                       if( heads && heads[0] )\r
+                               head = heads[0] ;\r
+                       else\r
+                       {\r
+                               head = doc.createElement( 'head' ) ;\r
+                               doc.documentElement.insertBefore( head, doc.documentElement.firstChild ) ;\r
+                       }\r
+\r
+                       return head ;\r
+               } ;\r
+\r
+               /*\r
+                * ### Public interface.\r
+                */\r
+               return {\r
+                       FCKeditorAPI_Evaluate : function( parentWindow, script )\r
+                       {\r
+                               // TODO : This one doesn't work always. The parent window will\r
+                               // point to an anonymous function in this window. If this\r
+                               // window is destroyied the parent window will be pointing to\r
+                               // an invalid reference.\r
+\r
+                               // Evaluate the script in this window.\r
+                               eval( script ) ;\r
+\r
+                               // Point the FCKeditorAPI property of the parent window to the\r
+                               // local reference.\r
+                               parentWindow.FCKeditorAPI = window.FCKeditorAPI ;\r
+                       },\r
+\r
+                       EditingArea_Start : function( doc, html )\r
+                       {\r
+                               // Get the HTML for the <head>.\r
+                               var headInnerHtml = html.match( /<head>([\s\S]*)<\/head>/i )[1] ;\r
+\r
+                               if ( headInnerHtml && headInnerHtml.length > 0 )\r
+                               {\r
+                                       // Inject the <head> HTML inside a <div>.\r
+                                       // Do that before getDocumentHead because WebKit moves\r
+                                       // <link css> elements to the <head> at this point.\r
+                                       var div = doc.createElement( 'div' ) ;\r
+                                       div.innerHTML = headInnerHtml ;\r
+\r
+                                       // Move the <div> nodes to <head>.\r
+                                       FCKDomTools.MoveChildren( div, getDocumentHead( doc ) ) ;\r
+                               }\r
+\r
+                               doc.body.innerHTML = html.match( /<body>([\s\S]*)<\/body>/i )[1] ;\r
+\r
+                               //prevent clicking on hyperlinks and navigating away\r
+                               doc.addEventListener('click', function( ev )\r
+                                       {\r
+                                               ev.preventDefault() ;\r
+                                               ev.stopPropagation() ;\r
+                                       }, true ) ;\r
+                       },\r
+\r
+                       Panel_Contructor : function( doc, baseLocation )\r
+                       {\r
+                               var head = getDocumentHead( doc ) ;\r
+\r
+                               // Set the <base> href.\r
+                               head.appendChild( doc.createElement('base') ).href = baseLocation ;\r
+\r
+                               doc.body.style.margin   = '0px' ;\r
+                               doc.body.style.padding  = '0px' ;\r
+                       },\r
+\r
+                       ToolbarSet_GetOutElement : function( win, outMatch )\r
+                       {\r
+                               var toolbarTarget = win.parent ;\r
+\r
+                               var targetWindowParts = outMatch[1].split( '.' ) ;\r
+                               while ( targetWindowParts.length > 0 )\r
+                               {\r
+                                       var part = targetWindowParts.shift() ;\r
+                                       if ( part.length > 0 )\r
+                                               toolbarTarget = toolbarTarget[ part ] ;\r
+                               }\r
+\r
+                               toolbarTarget = toolbarTarget.document.getElementById( outMatch[2] ) ;\r
+                       },\r
+\r
+                       ToolbarSet_InitOutFrame : function( doc )\r
+                       {\r
+                               var head = getDocumentHead( doc ) ;\r
+\r
+                               head.appendChild( doc.createElement('base') ).href = window.document.location ;\r
+\r
+                               var targetWindow = doc.defaultView;\r
+\r
+                               targetWindow.adjust = function()\r
+                               {\r
+                                       targetWindow.frameElement.height = doc.body.scrollHeight;\r
+                               } ;\r
+\r
+                               targetWindow.onresize = targetWindow.adjust ;\r
+                               targetWindow.setTimeout( targetWindow.adjust, 0 ) ;\r
+\r
+                               doc.body.style.overflow = 'hidden';\r
+                               doc.body.innerHTML = document.getElementById( 'xToolbarSpace' ).innerHTML ;\r
+                       }\r
+               } ;\r
+       })();\r
+\r
+       /*\r
+        * ### Overrides\r
+        */\r
+       ( function()\r
+       {\r
+               // Save references for override reuse.\r
+               var _Original_FCKPanel_Window_OnFocus   = FCKPanel_Window_OnFocus ;\r
+               var _Original_FCKPanel_Window_OnBlur    = FCKPanel_Window_OnBlur ;\r
+               var _Original_FCK_StartEditor                   = FCK.StartEditor ;\r
+\r
+               FCKPanel_Window_OnFocus = function( e, panel )\r
+               {\r
+                       // Call the original implementation.\r
+                       _Original_FCKPanel_Window_OnFocus.call( this, e, panel ) ;\r
+\r
+                       if ( panel._focusTimer )\r
+                               clearTimeout( panel._focusTimer ) ;\r
+               }\r
+\r
+               FCKPanel_Window_OnBlur = function( e, panel )\r
+               {\r
+                       // Delay the execution of the original function.\r
+                       panel._focusTimer = FCKTools.SetTimeout( _Original_FCKPanel_Window_OnBlur, 100, this, [ e, panel ] ) ;\r
+               }\r
+\r
+               FCK.StartEditor = function()\r
+               {\r
+                       // Force pointing to the CSS files instead of using the inline CSS cached styles.\r
+                       window.FCK_InternalCSS                  = FCKConfig.BasePath + 'css/fck_internal.css' ;\r
+                       window.FCK_ShowTableBordersCSS  = FCKConfig.BasePath + 'css/fck_showtableborders_gecko.css' ;\r
+\r
+                       _Original_FCK_StartEditor.apply( this, arguments ) ;\r
+               }\r
+       })();\r
+}\r
index 8d5d31a..fa57c15 100644 (file)
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
- * \r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
  * == BEGIN LICENSE ==\r
- * \r
+ *\r
  * Licensed under the terms of any of the following licenses at your\r
  * choice:\r
- * \r
+ *\r
  *  - GNU General Public License Version 2 or later (the "GPL")\r
  *    http://www.gnu.org/licenses/gpl.html\r
- * \r
+ *\r
  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
  *    http://www.gnu.org/licenses/lgpl.html\r
- * \r
+ *\r
  *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
  *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- * \r
+ *\r
  * == END LICENSE ==\r
- * \r
+ *\r
  * This file has been compressed for better performance. The original source\r
  * can be found at "editor/_source".\r
  */\r
 \r
-var FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;var FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;var FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;var FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;var FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;var FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;var FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-9;var FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYICON=0;var FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;var FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ICONTEXT=2;var FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;var FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;var FCK_IMAGES_PATH='images/';var FCK_SPACER_PATH='images/spacer.gif';var CTRL=1000;var SHIFT=2000;var ALT=4000;\r
-String.prototype.Contains=function(A){return (this.indexOf(A)>-1);};String.prototype.Equals=function(){var A=arguments;if (A.length==1&&A[0].pop) A=A[0];for (var i=0;i<A.length;i++){if (this==A[i]) return true;};return false;};String.prototype.IEquals=function(){var A=this.toUpperCase();var B=arguments;if (B.length==1&&B[0].pop) B=B[0];for (var i=0;i<B.length;i++){if (A==B[i].toUpperCase()) return true;};return false;};String.prototype.ReplaceAll=function(A,B){var C=this;for (var i=0;i<A.length;i++){C=C.replace(A[i],B[i]);};return C;};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(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g,'');};String.prototype.LTrim=function(){return this.replace(/^[ \t\n\r]*/g,'');};String.prototype.RTrim=function(){return this.replace(/[ \t\n\r]*$/g,'');};String.prototype.ReplaceNewLineChars=function(A){return this.replace(/\n/g,A);}\r
-var s=navigator.userAgent.toLowerCase();var FCKBrowserInfo={IsIE:s.Contains('msie'),IsIE7:s.Contains('msie 7'),IsGecko:s.Contains('gecko/'),IsSafari:s.Contains('safari'),IsOpera:s.Contains('opera'),IsMac:s.Contains('macintosh')};(function(A){A.IsGeckoLike=(A.IsGecko||A.IsSafari||A.IsOpera);if (A.IsGecko){var B=s.match(/gecko\/(\d+)/)[1];A.IsGecko10=((B<20051111)||(/rv:1\.7/.test(s)));}else A.IsGecko10=false;})(FCKBrowserInfo);\r
+var FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;var FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;var FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;var FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;var FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;var FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;var FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-9;var FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYICON=0;var FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;var FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ICONTEXT=2;var FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;var FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;var FCK_IMAGES_PATH='images/';var FCK_SPACER_PATH='images/spacer.gif';var CTRL=1000;var SHIFT=2000;var ALT=4000;var FCK_STYLE_BLOCK=0;var FCK_STYLE_INLINE=1;var FCK_STYLE_OBJECT=2;\r
+String.prototype.Contains=function(A){return (this.indexOf(A)>-1);};String.prototype.Equals=function(){var A=arguments;if (A.length==1&&A[0].pop) A=A[0];for (var i=0;i<A.length;i++){if (this==A[i]) return true;};return false;};String.prototype.IEquals=function(){var A=this.toUpperCase();var B=arguments;if (B.length==1&&B[0].pop) B=B[0];for (var i=0;i<B.length;i++){if (A==B[i].toUpperCase()) return true;};return false;};String.prototype.ReplaceAll=function(A,B){var C=this;for (var i=0;i<A.length;i++){C=C.replace(A[i],B[i]);};return C;};String.prototype.StartsWith=function(A){return (this.substr(0,A.length)==A);};String.prototype.EndsWith=function(A,B){var C=this.length;var D=A.length;if (D>C) return false;if (B){var E=new RegExp(A+'$','i');return E.test(this);}else return (D==0||this.substr(C-D,D)==A);};String.prototype.Remove=function(A,B){var s='';if (A>0) s=this.substring(0,A);if (A+B<this.length) s+=this.substring(A+B,this.length);return s;};String.prototype.Trim=function(){return this.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g,'');};String.prototype.LTrim=function(){return this.replace(/^[ \t\n\r]*/g,'');};String.prototype.RTrim=function(){return this.replace(/[ \t\n\r]*$/g,'');};String.prototype.ReplaceNewLineChars=function(A){return this.replace(/\n/g,A);};String.prototype.Replace=function(A,B,C){if (typeof B=='function'){return this.replace(A,function(){return B.apply(C||this,arguments);});}else return this.replace(A,B);};Array.prototype.IndexOf=function(A){for (var i=0;i<this.length;i++){if (this[i]==A) return i;};return-1;};\r
+var s=navigator.userAgent.toLowerCase();var FCKBrowserInfo={IsIE:/*@cc_on!@*/false,IsIE7:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=7),IsIE6:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=6),IsSafari:s.Contains(' applewebkit/'),IsOpera:!!window.opera,IsAIR:s.Contains(' adobeair/'),IsMac:s.Contains('macintosh')};(function(A){A.IsGecko=(navigator.product=='Gecko')&&!A.IsSafari&&!A.IsOpera;A.IsGeckoLike=(A.IsGecko||A.IsSafari||A.IsOpera);if (A.IsGecko){var B=s.match(/rv:(\d+\.\d+)/);var C=B&&parseFloat(B[1]);if (C){A.IsGecko10=(C<1.8);A.IsGecko19=(C>1.8);}};if (A.IsSafari) A.IsSafari3=(parseFloat(s.match(/ applewebkit\/(\d+)/)[1])<526);})(FCKBrowserInfo);\r
 var FCKURLParams={};(function(){var A=document.location.search.substr(1).split('&');for (var i=0;i<A.length;i++){var B=A[i].split('=');var C=decodeURIComponent(B[0]);var D=decodeURIComponent(B[1]);FCKURLParams[C]=D;}})();\r
-var FCKEvents=function(A){this.Owner=A;this._RegisteredEvents={};};FCKEvents.prototype.AttachEvent=function(A,B){var C;if (!(C=this._RegisteredEvents[A])) this._RegisteredEvents[A]=[B];else C.push(B);};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this._RegisteredEvents[A];if (D){for (var i=0;i<D.length;i++) C=(D[i](this.Owner,B)&&C);};return C;};\r
-var FCK={Name:FCKURLParams['InstanceName'],Status:0,EditMode:0,Toolbar:null,HasFocus:false,AttachToOnSelectionChange:function(A){this.Events.AttachEvent('OnSelectionChange',A);},GetLinkedFieldValue:function(){return this.LinkedField.value;},GetParentForm:function(){return this.LinkedField.form;},StartupValue:'',IsDirty:function(){if (this.EditMode==1) return (this.StartupValue!=this.EditingArea.Textarea.value);else return (this.StartupValue!=this.EditorDocument.body.innerHTML);},ResetIsDirty:function(){if (this.EditMode==1) this.StartupValue=this.EditingArea.Textarea.value;else if (this.EditorDocument.body) this.StartupValue=this.EditorDocument.body.innerHTML;},StartEditor:function(){this.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';var A=FCK.KeystrokeHandler=new FCKKeystrokeHandler();A.OnKeystroke=_FCK_KeystrokeHandler_OnKeystroke;A.SetKeystrokes(FCKConfig.Keystrokes);if (FCKBrowserInfo.IsIE7){if ((CTRL+86/*V*/) in A.Keystrokes) A.SetKeystrokes([CTRL+86,true]);if ((SHIFT+45/*INS*/) in A.Keystrokes) A.SetKeystrokes([SHIFT+45,true]);};this.EditingArea=new FCKEditingArea(document.getElementById('xEditingArea'));this.EditingArea.FFSpellChecker=FCKConfig.FirefoxSpellChecker;FCKListsLib.Setup();this.SetHTML(this.GetLinkedFieldValue(),true);},Focus:function(){FCK.EditingArea.Focus();},SetStatus:function(A){this.Status=A;if (A==1){FCKFocusManager.AddWindow(window,true);if (FCKBrowserInfo.IsIE) FCKFocusManager.AddWindow(window.frameElement,true);if (FCKConfig.StartupFocus) FCK.Focus();};this.Events.FireEvent('OnStatusChange',A);},FixBody:function(){var A=FCKConfig.EnterMode;if (A!='p'&&A!='div') return;var B=this.EditorDocument;if (!B) return;var C=B.body;if (!C) return;FCKDomTools.TrimNode(C);var D=C.firstChild;var E;while (D){var F=false;switch (D.nodeType){case 1:if (!FCKListsLib.BlockElements[D.nodeName.toLowerCase()]) F=true;break;case 3:if (E||D.nodeValue.Trim().length>0) F=true;};if (F){var G=D.parentNode;if (!E) E=G.insertBefore(B.createElement(A),D);E.appendChild(G.removeChild(D));D=E.nextSibling;}else{if (E){FCKDomTools.TrimNode(E);E=null;};D=D.nextSibling;}};if (E) FCKDomTools.TrimNode(E);},GetXHTML:function(A){if (FCK.EditMode==1) return FCK.EditingArea.Textarea.value;this.FixBody();var B;var C=FCK.EditorDocument;if (!C) return null;if (FCKConfig.FullPage){B=FCKXHtml.GetXHTML(C.getElementsByTagName('html')[0],true,A);if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) B=FCK.DocTypeDeclaration+'\n'+B;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) B=FCK.XmlDeclaration+'\n'+B;}else{B=FCKXHtml.GetXHTML(C.body,false,A);if (FCKConfig.IgnoreEmptyParagraphValue&&FCKRegexLib.EmptyOutParagraph.test(B)) B='';};B=FCK.ProtectEventsRestore(B);if (FCKBrowserInfo.IsIE) B=B.replace(FCKRegexLib.ToReplace,'$1');return FCKConfig.ProtectedSource.Revert(B);},UpdateLinkedField:function(){FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');},RegisteredDoubleClickHandlers:{},OnDoubleClick:function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName];if (B) B(A);},RegisterDoubleClickHandler:function(A,B){FCK.RegisteredDoubleClickHandlers[B.toUpperCase()]=A;},OnAfterSetHTML:function(){FCKDocumentProcessor.Process(FCK.EditorDocument);FCKUndo.SaveUndoStep();FCK.Events.FireEvent('OnSelectionChange');FCK.Events.FireEvent('OnAfterSetHTML');},ProtectUrls:function(A){A=A.replace(FCKRegexLib.ProtectUrlsA,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsImg,'$& _fcksavedurl=$1');return A;},ProtectEvents:function(A){return A.replace(FCKRegexLib.TagsWithEvent,_FCK_ProtectEvents_ReplaceTags);},ProtectEventsRestore:function(A){return A.replace(FCKRegexLib.ProtectedEvents,_FCK_ProtectEvents_RestoreEvents);},ProtectTags:function(A){var B=FCKConfig.ProtectedTags;if (FCKBrowserInfo.IsIE) B+=B.length>0?'|ABBR|XML':'ABBR|XML';var C;if (B.length>0){C=new RegExp('<('+B+')(?!\w|:)','gi');A=A.replace(C,'<FCK:$1');C=new RegExp('<\/('+B+')>','gi');A=A.replace(C,'<\/FCK:$1>');};B='META';if (FCKBrowserInfo.IsIE) B+='|HR';C=new RegExp('<(('+B+')(?=\\s|>|/)[\\s\\S]*?)/?>','gi');A=A.replace(C,'<FCK:$1 />');return A;},SetHTML:function(A,B){this.EditingArea.Mode=FCK.EditMode;if (FCK.EditMode==0){A=FCKConfig.ProtectedSource.Protect(A);A=A.replace(FCKRegexLib.InvalidSelfCloseTags,'$1></$2>');A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);if (FCKBrowserInfo.IsGecko){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>');};this._ForceResetIsDirty=(B===true);var C='';if (FCKConfig.FullPage){if (!FCKRegexLib.HeadOpener.test(A)){if (!FCKRegexLib.HtmlOpener.test(A)) A='<html dir="'+FCKConfig.ContentLangDirection+'">'+A+'</html>';A=A.replace(FCKRegexLib.HtmlOpener,'$&<head></head>');};FCK.DocTypeDeclaration=A.match(FCKRegexLib.DocTypeTag);if (FCKBrowserInfo.IsIE) C=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C='<link href="'+FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css" rel="stylesheet" type="text/css" _fcktemp="true" />';C+='<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css" rel="stylesheet" type="text/css" _fcktemp="true" />';C=A.replace(FCKRegexLib.HeadCloser,C+'$&');if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) C=C.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);}else{C=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"';if (FCKBrowserInfo.IsIE&&!FCKRegexLib.Html4DocType.test(FCKConfig.DocType)) C+=' style="overflow-y: scroll"';C+='><head><title></title>'+_FCK_GetEditorAreaStyleTags()+'<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css" rel="stylesheet" type="text/css" _fcktemp="true" />';if (FCKBrowserInfo.IsIE) C+=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C+='<link href="'+FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css" rel="stylesheet" type="text/css" _fcktemp="true" />';C+=FCK.TempBaseTag;var D='<body';if (FCKConfig.BodyId&&FCKConfig.BodyId.length>0) D+=' id="'+FCKConfig.BodyId+'"';if (FCKConfig.BodyClass&&FCKConfig.BodyClass.length>0) D+=' class="'+FCKConfig.BodyClass+'"';C+='</head>'+D+'>';if (FCKBrowserInfo.IsGecko&&(A.length==0||FCKRegexLib.EmptyParagraph.test(A))) C+=GECKO_BOGUS;else C+=A;C+='</body></html>';};this.EditingArea.OnLoad=_FCK_EditingArea_OnLoad;this.EditingArea.Start(C);}else{FCK.EditorWindow=null;FCK.EditorDocument=null;this.EditingArea.OnLoad=null;this.EditingArea.Start(A);this.EditingArea.Textarea._FCKShowContextMenu=true;FCK.EnterKeyHandler=null;if (B) this.ResetIsDirty();FCK.KeystrokeHandler.AttachToElement(this.EditingArea.Textarea);this.EditingArea.Textarea.focus();FCK.Events.FireEvent('OnAfterSetHTML');};if (FCKBrowserInfo.IsGecko) window.onresize();},HasFocus:false,RedirectNamedCommands:{},ExecuteNamedCommand:function(A,B,C){FCKUndo.SaveUndoStep();if (!C&&FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};FCKUndo.SaveUndoStep();},GetNamedCommandState:function(A){try{if (!FCK.EditorDocument.queryCommandEnabled(A)) return -1;else return FCK.EditorDocument.queryCommandState(A)?1:0;}catch (e){return 0;}},GetNamedCommandValue:function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==-1) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';},PasteFromWord:function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');},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.TempBaseTag+FCK.GetXHTML();else E=FCK.GetXHTML();}else{E=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"><head>'+FCK.TempBaseTag+'<title>'+FCKLang.Preview+'</title>'+_FCK_GetEditorAreaStyleTags()+'</head><body>'+FCK.GetXHTML()+'</body></html>';};D.document.write(E);D.document.close();},SwitchEditMode:function(A){var B=(FCK.EditMode==0);var C=FCK.IsDirty();var D;if (B){if (!A&&FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();D=FCK.GetXHTML(FCKConfig.FormatSource);if (D==null) return false;}else D=this.EditingArea.Textarea.value;FCK.EditMode=B?1:0;FCK.SetHTML(D,!C);FCK.Focus();FCKTools.RunFunction(FCK.ToolbarSet.RefreshModeState,FCK.ToolbarSet);return true;},CreateElement:function(A){var e=FCK.EditorDocument.createElement(A);return FCK.InsertElementAndGetIt(e);},InsertElementAndGetIt:function(e){e.setAttribute('FCKTempLabel','true');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.Events=new FCKEvents(FCK);FCK.GetHTML=FCK.GetXHTML;function _FCK_ProtectEvents_ReplaceTags(A){return A.replace(FCKRegexLib.EventAttributes,_FCK_ProtectEvents_ReplaceEvents);};function _FCK_ProtectEvents_ReplaceEvents(A,B){return ' '+B+'_fckprotectedatt="'+A.ReplaceAll([/&/g,/'/g,/"/g,/=/g,/</g,/>/g,/\r/g,/\n/g],['&apos;','&#39;','&quot;','&#61;','&lt;','&gt;','&#10;','&#13;'])+'"';};function _FCK_ProtectEvents_RestoreEvents(A,B){return B.ReplaceAll([/&#39;/g,/&quot;/g,/&#61;/g,/&lt;/g,/&gt;/g,/&#10;/g,/&#13;/g,/&apos;/g],["'",'"','=','<','>','\r','\n','&']);};function _FCK_EditingArea_OnLoad(){FCK.EditorWindow=FCK.EditingArea.Window;FCK.EditorDocument=FCK.EditingArea.Document;FCK.InitializeBehaviors();if (!FCKConfig.DisableEnterKeyHandler) FCK.EnterKeyHandler=new FCKEnterKey(FCK.EditorWindow,FCKConfig.EnterMode,FCKConfig.ShiftEnterMode);FCK.KeystrokeHandler.AttachToElement(FCK.EditorDocument);if (FCK._ForceResetIsDirty) FCK.ResetIsDirty();if (FCKBrowserInfo.IsIE&&FCK.HasFocus) FCK.EditorDocument.body.setActive();FCK.OnAfterSetHTML();if (FCK.Status!=0) return;FCK.SetStatus(1);};function _FCK_GetEditorAreaStyleTags(){var A='';var B=FCKConfig.EditorAreaCSS;for (var i=0;i<B.length;i++) A+='<link href="'+B[i]+'" rel="stylesheet" type="text/css" />';return A;};function _FCK_KeystrokeHandler_OnKeystroke(A,B){if (FCK.Status!=2) return false;if (FCK.EditMode==0){if (B=='Paste') return!FCK.Events.FireEvent('OnPaste');}else{if (B.Equals('Paste','Undo','Redo','SelectAll')) return false;};var C=FCK.Commands.GetCommand(B);return (C.Execute.apply(C,FCKTools.ArgumentsToArray(arguments,2))!==false);};(function(){var A=window.parent.document;var B=A.getElementById(FCK.Name);var i=0;while (B||i==0){if (B&&B.tagName.toLowerCase().Equals('input','textarea')){FCK.LinkedField=B;break;};B=A.getElementsByName(FCK.Name)[i++];}})();var FCKTempBin={Elements:[],AddElement:function(A){var B=this.Elements.length;this.Elements[B]=A;return B;},RemoveElement:function(A){var e=this.Elements[A];this.Elements[A]=null;return e;},Reset:function(){var i=0;while (i<this.Elements.length) this.Elements[i++]=null;this.Elements.length=0;}};var FCKFocusManager=FCK.FocusManager={IsLocked:false,AddWindow:function(A,B){var C;if (FCKBrowserInfo.IsIE) C=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else C=A.document;FCKTools.AddEventListener(C,'blur',FCKFocusManager_Win_OnBlur);FCKTools.AddEventListener(C,'focus',B?FCKFocusManager_Win_OnFocus_Area:FCKFocusManager_Win_OnFocus);},RemoveWindow:function(A){if (FCKBrowserInfo.IsIE) oTarget=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else oTarget=A.document;FCKTools.RemoveEventListener(oTarget,'blur',FCKFocusManager_Win_OnBlur);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus_Area);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus);},Lock:function(){this.IsLocked=true;},Unlock:function(){if (this._HasPendingBlur) FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);this.IsLocked=false;},_ResetTimer:function(){this._HasPendingBlur=false;if (this._Timer){window.clearTimeout(this._Timer);delete this._Timer;}}};function FCKFocusManager_Win_OnBlur(){if (typeof(FCK)!='undefined'&&FCK.HasFocus){FCKFocusManager._ResetTimer();FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);}};function FCKFocusManager_FireOnBlur(){if (FCKFocusManager.IsLocked) FCKFocusManager._HasPendingBlur=true;else{FCK.HasFocus=false;FCK.Events.FireEvent("OnBlur");}};function FCKFocusManager_Win_OnFocus_Area(){FCK.Focus();FCKFocusManager_Win_OnFocus();};function FCKFocusManager_Win_OnFocus(){FCKFocusManager._ResetTimer();if (!FCK.HasFocus&&!FCKFocusManager.IsLocked){FCK.HasFocus=true;FCK.Events.FireEvent("OnFocus");}};\r
-FCK.Description="FCKeditor for Gecko Browsers";FCK.InitializeBehaviors=function(){if (FCKBrowserInfo.IsGecko) Window_OnResize();FCKFocusManager.AddWindow(this.EditorWindow);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);FCK.ContextMenu._InnerContextMenu.SetMouseClickWindow(FCK.EditorWindow);FCK.ContextMenu._InnerContextMenu.AttachToElement(FCK.EditorDocument);};FCK.MakeEditable=function(){this.EditingArea.MakeEditable();};function Document_OnContextMenu(e){if (!e.target._FCKShowContextMenu) e.preventDefault();};document.oncontextmenu=Document_OnContextMenu;FCK._BaseGetNamedCommandState=FCK.GetNamedCommandState;FCK.GetNamedCommandState=function(A){switch (A){case 'Unlink':return FCKSelection.HasAncestorNode('A')?0:-1;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',null,true);}catch (e)        { FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.Paste,'dialog/fck_paste.html',400,330,'Security');};break;case 'Cut':try                       { FCK.ExecuteNamedCommand('Cut',null,true);}catch (e)   { alert(FCKLang.PasteErrorCut);};break;case 'Copy':try                  { FCK.ExecuteNamedCommand('Copy',null,true);}catch (e)  { alert(FCKLang.PasteErrorCopy);};break;default:FCK.ExecuteNamedCommand(A,B);}};FCK.Paste=function(){if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;};return true;};FCK.InsertHtml=function(A){A=FCKConfig.ProtectedSource.Protect(A);A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);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>');var B=FCKSelection.Delete();var C=B.getRangeAt(0);var D=C.createContextualFragment(A);var E=D.lastChild;C.insertNode(D);FCKSelection.SelectNode(E);FCKSelection.Collapse(false);this.Focus();};FCK.InsertElement=function(A){var B=FCKSelection.Delete();var C=B.getRangeAt(0);C.insertNode(A);FCKSelection.SelectNode(A);FCKSelection.Collapse(false);this.Focus();};FCK.PasteAsPlainText=function(){FCKTools.RunFunction(FCKDialog.OpenDialog,FCKDialog,['FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText']);};FCK.GetClipboardHTML=function(){return '';};FCK.CreateLink=function(A){var B=[];FCK.ExecuteNamedCommand('Unlink');if (A.length>0){var C='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',C);var D=this.EditorDocument.evaluate("//a[@href='"+C+"']",this.EditorDocument.body,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for (var i=0;i<D.snapshotLength;i++){var E=D.snapshotItem(i);E.href=A;B.push(E);}};return B;};\r
-var FCKConfig=FCK.Config={};if (document.location.protocol=='file:'){FCKConfig.BasePath=decodeURIComponent(document.location.pathname.substr(1));FCKConfig.BasePath=FCKConfig.BasePath.replace(/\\/gi, '/');FCKConfig.BasePath='file://'+FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1);FCKConfig.FullBasePath=FCKConfig.BasePath;}else{FCKConfig.BasePath=document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1);FCKConfig.FullBasePath=document.location.protocol+'//'+document.location.host+FCKConfig.BasePath;};FCKConfig.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={};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=decodeURIComponent(C[0]);var E=decodeURIComponent(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 (E.length>0&&!isNaN(E)) this.PageConfig[D]=parseInt(E,10);else this.PageConfig[D]=E;}};function FCKConfig_LoadPageConfig(){var A=FCKConfig.PageConfig;for (var B in A) FCKConfig[B]=A[B];};function FCKConfig_PreProcess(){var A=FCKConfig;if (A.AllowQueryStringDebug){try{if ((/fckdebug=true/i).test(window.top.location.search)) A.Debug=true;}catch (e) {/*Ignore it. Much probably we are inside a FRAME where the "top" is in another domain (security error).*/}};if (!A.PluginsPath.EndsWith('/')) A.PluginsPath+='/';if (typeof(A.EditorAreaCSS)=='string') A.EditorAreaCSS=[A.EditorAreaCSS];var B=A.ToolbarComboPreviewCSS;if (!B||B.length==0) A.ToolbarComboPreviewCSS=A.EditorAreaCSS;else if (typeof(B)=='string') A.ToolbarComboPreviewCSS=[B];};FCKConfig.ToolbarSets={};FCKConfig.Plugins={};FCKConfig.Plugins.Items=[];FCKConfig.Plugins.Add=function(A,B,C){FCKConfig.Plugins.Items.AddItem([A,B,C]);};FCKConfig.ProtectedSource={};FCKConfig.ProtectedSource.RegexEntries=[/<!--[\s\S]*?-->/g,/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi,/<object[\s\S]+?<\/object>/gi];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);}\r
-var FCKDebug={};FCKDebug._GetWindow=function(){if (!this.DebugWindow||this.DebugWindow.closed) this.DebugWindow=window.open(FCKConfig.BasePath+'fckdebug.html','FCKeditorDebug','menubar=no,scrollbars=yes,resizable=yes,location=no,toolbar=no,width=600,height=500',true);return this.DebugWindow;};FCKDebug.Output=function(A,B,C){if (!FCKConfig.Debug) return;try{this._GetWindow().Output(A,B);}catch (e) {}};FCKDebug.OutputObject=function(A,B){if (!FCKConfig.Debug) return;try{this._GetWindow().OutputObject(A,B);}catch (e) {}}\r
-var FCKDomTools={MoveChildren:function(A,B){if (A==B) return;var C;while ((C=A.firstChild)) B.appendChild(A.removeChild(C));},TrimNode:function(A,B){this.LTrimNode(A);this.RTrimNode(A,B);},LTrimNode:function(A){var B;while ((B=A.firstChild)){if (B.nodeType==3){var C=B.nodeValue.LTrim();var D=B.nodeValue.length;if (C.length==0){A.removeChild(B);continue;}else if (C.length<D){B.splitText(D-C.length);A.removeChild(A.firstChild);}};break;}},RTrimNode:function(A,B){var C;while ((C=A.lastChild)){switch (C.nodeType){case 1:if (C.nodeName.toUpperCase()=='BR'&&(B||C.getAttribute('type',2)=='_moz')){C.parentNode.removeChild(C);continue;};break;case 3:var D=C.nodeValue.RTrim();var E=C.nodeValue.length;if (D.length==0){C.parentNode.removeChild(C);continue;}else if (D.length<E){C.splitText(D.length);A.lastChild.parentNode.removeChild(A.lastChild);}};break;}},RemoveNode:function(A,B){if (B){var C;while ((C=A.firstChild)) A.parentNode.insertBefore(A.removeChild(C),A);};return A.parentNode.removeChild(A);},GetFirstChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.firstChild;while(C){if (C.nodeType==1&&C.tagName.Equals.apply(C.tagName,B)) return C;C=C.nextSibling;};return null;},GetLastChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.lastChild;while(C){if (C.nodeType==1&&(!B||C.tagName.Equals(B))) return C;C=C.previousSibling;};return null;},GetPreviousSourceElement:function(A,B,C,D){if (!A) return null;if (C&&A.nodeType==1&&A.nodeName.IEquals(C)) return null;if (A.previousSibling) A=A.previousSibling;else return this.GetPreviousSourceElement(A.parentNode,B,C,D);while (A){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (!D||!A.nodeName.IEquals(D)) return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;if (A.lastChild) A=A.lastChild;else return this.GetPreviousSourceElement(A,B,C,D);};return null;},GetNextSourceElement:function(A,B,C,D){if (!A) return null;if (A.nextSibling) A=A.nextSibling;else return this.GetNextSourceElement(A.parentNode,B,C,D);while (A){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (!D||!A.nodeName.IEquals(D)) return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;if (A.firstChild) A=A.firstChild;else return this.GetNextSourceElement(A,B,C,D);};return null;},InsertAfterNode:function(A,B){return A.parentNode.insertBefore(B,A.nextSibling);},GetParents:function(A){var B=[];while (A){B.splice(0,0,A);A=A.parentNode;};return B;},GetIndexOf:function(A){var B=A.parentNode?A.parentNode.firstChild:null;var C=-1;while (B){C++;if (B==A) return C;B=B.nextSibling;};return-1;}};\r
-var GECKO_BOGUS='<br type="_moz">';var FCKTools={};FCKTools.CreateBogusBR=function(A){var B=A.createElement('br');B.setAttribute('type','_moz');return B;};FCKTools.AppendStyleSheet=function(A,B){if (typeof(B)=='string') return this._AppendStyleSheet(A,B);else{var C=[];for (var i=0;i<B.length;i++) C.push(this._AppendStyleSheet(A,B[i]));return C;}};FCKTools.GetElementDocument=function (A){return A.ownerDocument||A.document;};FCKTools.GetElementWindow=function(A){return this.GetDocumentWindow(this.GetElementDocument(A));};FCKTools.GetDocumentWindow=function(A){if (FCKBrowserInfo.IsSafari&&!A.parentWindow) this.FixDocumentParentWindow(window.top);return A.parentWindow||A.defaultView;};FCKTools.FixDocumentParentWindow=function(A){A.document.parentWindow=A;for (var i=0;i<A.frames.length;i++) FCKTools.FixDocumentParentWindow(A.frames[i]);};FCKTools.HTMLEncode=function(A){if (!A) return '';A=A.replace(/&/g,'&amp;');A=A.replace(/</g,'&lt;');A=A.replace(/>/g,'&gt;');return A;};FCKTools.HTMLDecode=function(A){if (!A) return '';A=A.replace(/&gt;/g,'>');A=A.replace(/&lt;/g,'<');A=A.replace(/&amp;/g,'&');return A;};FCKTools.AddSelectOption=function(A,B,C){var D=FCKTools.GetElementDocument(A).createElement("OPTION");D.text=B;D.value=C;A.options.add(D);return D;};FCKTools.RunFunction=function(A,B,C,D){if (A) this.SetTimeout(A,0,B,C,D);};FCKTools.SetTimeout=function(A,B,C,D,E){return (E||window).setTimeout(function(){if (D) A.apply(C,[].concat(D));else A.apply(C);},B);};FCKTools.SetInterval=function(A,B,C,D,E){return (E||window).setInterval(function(){A.apply(C,D||[]);},B);};FCKTools.ConvertStyleSizeToHtml=function(A){return A.EndsWith('%')?A:parseInt(A,10);};FCKTools.ConvertHtmlSizeToStyle=function(A){return A.EndsWith('%')?A:(A+'px');};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.CreateEventListener=function(A,B){var f=function(){var C=[];for (var i=0;i<arguments.length;i++) C.push(arguments[i]);A.apply(this,C.concat(B));};return f;};FCKTools.IsStrictMode=function(A){return ('CSS1Compat'==(A.compatMode||'CSS1Compat'));};FCKTools.ArgumentsToArray=function(A,B,C){B=B||0;C=C||A.length;var D=[];for (var i=B;i<B+C&&i<A.length;i++) D.push(A[i]);return D;};FCKTools.CloneObject=function(A){var B=function() {};B.prototype=A;return new B;};FCKTools.GetLastItem=function(A){if (A.length>0) return A[A.length-1];return null;};\r
-FCKTools.CancelEvent=function(e){if (e) e.preventDefault();};FCKTools.DisableSelection=function(A){if (FCKBrowserInfo.IsGecko) A.style.MozUserSelect='none';else A.style.userSelect='none';};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=[];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].cloneNode(true));e.parentNode.replaceChild(A,e);};FCKTools.CreateXmlObject=function(A){switch (A){case 'XmlHttp':return new XMLHttpRequest();case 'DOMDocument':return document.implementation.createDocument('','',null);};return null;};FCKTools.GetScrollPosition=function(A){return { X:A.pageXOffset,Y:A.pageYOffset };};FCKTools.AddEventListener=function(A,B,C){A.addEventListener(B,C,false);};FCKTools.RemoveEventListener=function(A,B,C){A.removeEventListener(B,C,false);};FCKTools.AddEventListenerEx=function(A,B,C,D){A.addEventListener(B,function(e){C.apply(A,[e].concat(D||[]));},false);};FCKTools.GetViewPaneSize=function(A){return { Width:A.innerWidth,Height:A.innerHeight };};FCKTools.SaveStyles=function(A){var B={};if (A.className.length>0){B.Class=A.className;A.className='';};var C=A.getAttribute('style');if (C&&C.length>0){B.Inline=C;A.setAttribute('style','',0);};return B;};FCKTools.RestoreStyles=function(A,B){A.className=B.Class||'';if (B.Inline) A.setAttribute('style',B.Inline,0);else A.removeAttribute('style',0);};FCKTools.RegisterDollarFunction=function(A){A.$=function(id){return this.document.getElementById(id);};};FCKTools.AppendElement=function(A,B){return A.appendChild(A.ownerDocument.createElement(B));};FCKTools.GetElementPosition=function(A,B){var c={ X:0,Y:0 };var C=B||window;var D=FCKTools.GetElementWindow(A);while (A){var E=D.getComputedStyle(A,'').position;if (E&&E!='static'&&A.style.zIndex!=FCKConfig.FloatingPanelsZIndex) break;c.X+=A.offsetLeft-A.scrollLeft;c.Y+=A.offsetTop-A.scrollTop;if (A.offsetParent) A=A.offsetParent;else{if (D!=C){A=D.frameElement;if (A) D=FCKTools.GetElementWindow(A);}else{c.X+=A.scrollLeft;c.Y+=A.scrollTop;break;}}};return c;}\r
-var FCKeditorAPI;function InitializeAPI(){var A=window.parent;if (!(FCKeditorAPI=A.FCKeditorAPI)){var B='var FCKeditorAPI = {Version : "2.4.3",VersionBuild : "15657",__Instances : new Object(),GetInstance : function( name ){return this.__Instances[ name ];},_FormSubmit : function(){for ( var name in FCKeditorAPI.__Instances ){var oEditor = FCKeditorAPI.__Instances[ name ] ;if ( oEditor.GetParentForm && oEditor.GetParentForm() == this )oEditor.UpdateLinkedField() ;}this._FCKOriginalSubmit() ;},_FunctionQueue       : {Functions : new Array(),IsRunning : false,Add : function( f ){this.Functions.push( f );if ( !this.IsRunning )this.StartNext();},StartNext : function(){var aQueue = this.Functions ;if ( aQueue.length > 0 ){this.IsRunning = true;aQueue[0].call();}else this.IsRunning = false;},Remove : function( f ){var aQueue = this.Functions;var i = 0, fFunc;while( (fFunc = aQueue[ i ]) ){if ( fFunc == f )aQueue.splice( i,1 );i++ ;}this.StartNext();}}}';if (A.execScript) A.execScript(B,'JavaScript');else{if (FCKBrowserInfo.IsGecko10){eval.call(A,B);}else if (FCKBrowserInfo.IsSafari){var C=A.document;var D=C.createElement('script');D.appendChild(C.createTextNode(B));C.documentElement.appendChild(D);}else A.eval(B);};FCKeditorAPI=A.FCKeditorAPI;};FCKeditorAPI.__Instances[FCK.Name]=FCK;};function _AttachFormSubmitToAPI(){var A=FCK.GetParentForm();if (A){FCKTools.AddEventListener(A,'submit',FCK.UpdateLinkedField);if (!A._FCKOriginalSubmit&&(typeof(A.submit)=='function'||(!A.submit.tagName&&!A.submit.length))){A._FCKOriginalSubmit=A.submit;A.submit=FCKeditorAPI._FormSubmit;}}};function FCKeditorAPI_Cleanup(){delete FCKeditorAPI.__Instances[FCK.Name];};FCKTools.AddEventListener(window,'unload',FCKeditorAPI_Cleanup);\r
-var FCKImagePreloader=function(){this._Images=[];};FCKImagePreloader.prototype={AddImages:function(A){if (typeof(A)=='string') A=A.split(';');this._Images=this._Images.concat(A);},Start:function(){var A=this._Images;this._PreloadCount=A.length;for (var i=0;i<A.length;i++){var B=document.createElement('img');B.onload=B.onerror=_FCKImagePreloader_OnImage;B._FCKImagePreloader=this;B.src=A[i];_FCKImagePreloader_ImageCache.push(B);}}};var _FCKImagePreloader_ImageCache=[];function _FCKImagePreloader_OnImage(){var A=this._FCKImagePreloader;if ((--A._PreloadCount)==0&&A.OnComplete) A.OnComplete();this._FCKImagePreloader=null;}\r
-var FCKRegexLib={AposEntity:/&apos;/gi,ObjectElements:/^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i,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,BodyContents:/([\s\S]*\<body[^\>]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i,ToReplace:/___fcktoreplace:([\w]+)/ig,MetaHttpEquiv:/http-equiv\s*=\s*["']?([^"' ]+)/i,HasBaseTag:/<base /i,HtmlOpener:/<html\s?[^>]*>/i,HeadOpener:/<head\s?[^>]*>/i,HeadCloser:/<\/head\s*>/i,FCK_Class:/(\s*FCK__[A-Za-z]*\s*)/,ElementName:/(^[a-z_:][\w.\-:]*\w$)|(^[a-z_]$)/,ForceSimpleAmpersand:/___FCKAmp___/g,SpaceNoClose:/\/>/g,EmptyParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>\s*(<\/\1>)?$/,EmptyOutParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>(?:\s*|&nbsp;)(<\/\1>)?$/,TagBody:/></,StrongOpener:/<STRONG([ \>])/gi,StrongCloser:/<\/STRONG>/gi,EmOpener:/<EM([ \>])/gi,EmCloser:/<\/EM>/gi,GeckoEntitiesMarker:/#\?-\:/g,ProtectUrlsImg:/<img(?=\s).*?\ssrc=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,ProtectUrlsA:/<a(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,Html4DocType:/HTML 4\.0 Transitional/i,DocTypeTag:/<!DOCTYPE[^>]*>/i,TagsWithEvent:/<[^\>]+ on\w+[\s\r\n]*=[\s\r\n]*?('|")[\s\S]+?\>/g,EventAttributes:/\s(on\w+)[\s\r\n]*=[\s\r\n]*?('|")([\s\S]*?)\2/g,ProtectedEvents:/\s\w+_fckprotectedatt="([^"]+)"/g,StyleProperties:/\S+\s*:/g,InvalidSelfCloseTags:/(<(?!base|meta|link|hr|br|param|img|area|input)([a-zA-Z0-9:]+)[^>]*)\/>/gi};\r
-var FCKListsLib={BlockElements:{ address:1,blockquote:1,center:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,marquee:1,noscript:1,ol:1,p:1,pre:1,script:1,table:1,ul:1 },NonEmptyBlockElements:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,address:1,pre:1,ol:1,ul:1,li:1,td:1,th:1 },InlineChildReqElements:{ abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },EmptyElements:{ base:1,meta:1,link:1,hr:1,br:1,param:1,img:1,area:1,input:1 },PathBlockElements:{ address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1 },PathBlockLimitElements:{ body:1,td:1,th:1,caption:1,form:1 },Setup:function(){if (FCKConfig.EnterMode=='div') this.PathBlockElements.div=1;else this.PathBlockLimitElements.div=1;}};\r
-var FCKLanguageManager=FCK.Language={AvailableLanguages:{af:'Afrikaans',ar:'Arabic',bg:'Bulgarian',bn:'Bengali/Bangla',bs:'Bosnian',ca:'Catalan',cs:'Czech',da:'Danish',de:'German',el:'Greek',en:'English','en-au':'English (Australia)','en-ca':'English (Canadian)','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',hi:'Hindi',hr:'Croatian',hu:'Hungarian',it:'Italian',ja:'Japanese',km:'Khmer',ko:'Korean',lt:'Lithuanian',lv:'Latvian',mn:'Mongolian',ms:'Malay',nb:'Norwegian Bokmal',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'},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;},TranslateElements:function(A,B,C,D){var e=A.getElementsByTagName(B);var E,s;for (var i=0;i<e.length;i++){if ((E=e[i].getAttribute('fckLang'))){if ((s=FCKLang[E])){if (D) s=FCKTools.HTMLEncode(s);eval('e[i].'+C+' = s');}}}},TranslatePage:function(A){this.TranslateElements(A,'INPUT','value');this.TranslateElements(A,'SPAN','innerHTML');this.TranslateElements(A,'LABEL','innerHTML');this.TranslateElements(A,'OPTION','innerHTML',true);},Initialize:function(){if (this.AvailableLanguages[FCKConfig.DefaultLanguage]) this.DefaultLanguage=FCKConfig.DefaultLanguage;else this.DefaultLanguage='en';this.ActiveLanguage={};this.ActiveLanguage.Code=this.GetActiveLanguage();this.ActiveLanguage.Name=this.AvailableLanguages[this.ActiveLanguage.Code];}};\r
-var FCKXHtmlEntities={};FCKXHtmlEntities.Initialize=function(){if (FCKXHtmlEntities.Entities) return;var A='';var B,e;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'};for (e in FCKXHtmlEntities.Entities) A+=e;if (FCKConfig.IncludeLatinEntities){B={'À':'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 (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;};if (FCKConfig.IncludeGreekEntities){B={'Α':'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 (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;}}else{FCKXHtmlEntities.Entities={};A=' ';};var C='['+A+']';if (FCKConfig.ProcessNumericEntities) C='[^ -~]|'+C;var D=FCKConfig.AdditionalNumericEntities;if (D&&D.length>0) C+='|'+FCKConfig.AdditionalNumericEntities;FCKXHtmlEntities.EntitiesRegex=new RegExp(C,'g');}\r
-var FCKXHtml={};FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKXHtmlEntities.Initialize();this._NbspEntity=(FCKConfig.ProcessHTMLEntities?'nbsp':'#160');var D=FCK.IsDirty();this._CreateNode=FCKConfig.ForceStrongEm?FCKXHtml_CreateNode_StrongEm:FCKXHtml_CreateNode_Normal;FCKXHtml.SpecialBlocks=[];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 E=this._GetMainXmlString();this.XML=null;E=E.substr(7,E.length-15).Trim();if (FCKBrowserInfo.IsGecko) E=E.replace(/<br\/>$/,'');E=E.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) E=E.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) E=FCKCodeFormatter.Format(E);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var F=new RegExp('___FCKsi___'+i);E=E.replace(F,FCKXHtml.SpecialBlocks[i]);};E=E.replace(FCKRegexLib.GeckoEntitiesMarker,'&');if (!D) FCK.ResetIsDirty();return E;};FCKXHtml._AppendAttribute=function(A,B,C){try{if (C==undefined||C==null) C='';else if (C.replace){if (FCKConfig.ForceSimpleAmpersand) C=C.replace(/&/g,'___FCKAmp___');C=C.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity);};var D=this.XML.createAttribute(B);D.value=C;A.attributes.setNamedItem(D);}catch (e){}};FCKXHtml._AppendChildNodes=function(A,B,C){var D=B.firstChild;while (D){this._AppendNode(A,D);D=D.nextSibling;};if (C) FCKDomTools.TrimNode(A,true);if (A.childNodes.length==0){if (C&&FCKConfig.FillEmptyBlocks){this._AppendEntity(A,this._NbspEntity);return A;};var E=A.nodeName;if (FCKListsLib.InlineChildReqElements[E]) return null;if (!FCKListsLib.EmptyElements[E]) A.appendChild(this.XML.createTextNode(''));};return A;};FCKXHtml._AppendNode=function(A,B){if (!B) return false;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('_fcktemp')) return false;var C=B.tagName.toLowerCase();if (FCKBrowserInfo.IsIE){if (B.scopeName&&B.scopeName!='HTML'&&B.scopeName!='FCK') C=B.scopeName.toLowerCase()+':'+C;}else{if (C.StartsWith('fck:')) C=C.Remove(0,4);};if (!FCKRegexLib.ElementName.test(C)) return false;if (C=='br'&&B.getAttribute('type',2)=='_moz') return false;if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;var D=this._CreateNode(C);FCKXHtml._AppendAttributes(A,B,D,C);B._fckxhtmljob=FCKXHtml.CurrentJobNum;var E=FCKXHtml.TagProcessors[C];if (E) D=E(D,B,A);else D=this._AppendChildNodes(D,B,Boolean(FCKListsLib.NonEmptyBlockElements[C]));if (!D) return false;A.appendChild(D);break;case 3:return this._AppendTextNode(A,B.nodeValue.ReplaceNewLineChars(' '));case 8:if (FCKBrowserInfo.IsIE&&!B.innerHTML) break;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;};function FCKXHtml_CreateNode_StrongEm(A){switch (A){case 'b':A='strong';break;case 'i':A='em';break;};return this.XML.createElement(A);};function FCKXHtml_CreateNode_Normal(A){return this.XML.createElement(A);};FCKXHtml._AppendSpecialItem=function(A){return '___FCKsi___'+FCKXHtml.SpecialBlocks.AddItem(A);};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createTextNode('#?-:'+B+';'));};FCKXHtml._AppendTextNode=function(A,B){var C=B.length>0;if (C) A.appendChild(this.XML.createTextNode(B.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity)));return C;};function FCKXHtml_GetEntity(A){var B=FCKXHtmlEntities.Entities[A]||('#'+A.charCodeAt(0));return '#?-:'+B+';';};FCKXHtml._RemoveAttribute=function(A,B,C){var D=A.attributes.getNamedItem(C);if (D&&B.test(D.nodeValue)){var E=D.nodeValue.replace(B,'');if (E.length==0) A.attributes.removeNamedItem(C);else D.nodeValue=E;}};FCKXHtml.TagProcessors={img:function(A,B){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'src',C);return A;},a:function(A,B){if (B.innerHTML.Trim().length==0&&!B.name) return false;var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){FCKXHtml._RemoveAttribute(A,FCKRegexLib.FCK_Class,'class');if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);};A=FCKXHtml._AppendChildNodes(A,B,false);return A;},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;},style:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.innerHTML)));return A;},title:function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;},table:function(A,B){if (FCKBrowserInfo.IsIE) FCKXHtml._RemoveAttribute(A,FCKRegexLib.FCK_Class,'class');A=FCKXHtml._AppendChildNodes(A,B,false);return A;},ol:function(A,B,C){if (B.innerHTML.Trim().length==0) return false;var D=C.lastChild;if (D&&D.nodeType==3) D=D.previousSibling;if (D&&D.nodeName.toUpperCase()=='LI'){B._fckxhtmljob=null;FCKXHtml._AppendNode(D,B);return false;};A=FCKXHtml._AppendChildNodes(A,B);return A;},span:function(A,B){if (B.innerHTML.length==0) return false;A=FCKXHtml._AppendChildNodes(A,B,false);return A;},iframe:function(A,B){var C=B.innerHTML;if (FCKBrowserInfo.IsGecko) C=FCKTools.HTMLDecode(C);C=C.replace(/\s_fcksavedurl="[^"]*"/g,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;}};FCKXHtml.TagProcessors.ul=FCKXHtml.TagProcessors.ol;\r
-FCKXHtml._GetMainXmlString=function(){var A=new XMLSerializer();return A.serializeToString(this.MainNode);};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.StartsWith('_fck')) 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);this._AppendAttribute(C,F,G);}}}\r
-var FCKCodeFormatter={};FCKCodeFormatter.Init=function(){var A=this.Regex={};A.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.NewLineTags=/\<(BR|HR)[^\>]*\>/gi;A.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;A.LineSplitter=/\s*\n+\s*/g;A.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;A.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;A.FormatIndentatorRemove=new RegExp('^'+FCKConfig.FormatIndentator);A.ProtectedTags=/(<PRE[^>]*>)([\s\S]*?)(<\/PRE>)/gi;};FCKCodeFormatter._ProtectData=function(A,B,C,D){return B+'___FCKpd___'+FCKCodeFormatter.ProtectedData.AddItem(C)+D;};FCKCodeFormatter.Format=function(A){if (!this.Regex) this.Init();FCKCodeFormatter.ProtectedData=[];var B=A.replace(this.Regex.ProtectedTags,FCKCodeFormatter._ProtectData);B=B.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;};for (var j=0;j<FCKCodeFormatter.ProtectedData.length;j++){var F=new RegExp('___FCKpd___'+j);B=B.replace(F,FCKCodeFormatter.ProtectedData[j].replace(/\$/g,'$$$$'));};return B.Trim();}\r
-var FCKUndo={};FCKUndo.SaveUndoStep=function(){}\r
-var FCKEditingArea=function(A){this.TargetElement=A;this.Mode=0;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKEditingArea_Cleanup);};FCKEditingArea.prototype.Start=function(A,B){var C=this.TargetElement;var D=FCKTools.GetElementDocument(C);while(C.childNodes.length>0) C.removeChild(C.childNodes[0]);if (this.Mode==0){var E=this.IFrame=D.createElement('iframe');E.src='javascript:void(0)';E.frameBorder=0;E.width=E.height='100%';C.appendChild(E);if (FCKBrowserInfo.IsIE) A=A.replace(/(<base[^>]*?)\s*\/?>(?!\s*<\/base>)/gi,'$1></base>');else if (!B){if (FCKBrowserInfo.IsGecko) A=A.replace(/(<body[^>]*>)\s*(<\/body>)/i,'$1'+GECKO_BOGUS+'$2');var F=A.match(FCKRegexLib.BodyContents);if (F){A=F[1]+'&nbsp;'+F[3];this._BodyHTML=F[2];}else this._BodyHTML=A;};this.Window=E.contentWindow;var G=this.Document=this.Window.document;G.open();G.write(A);G.close();if (FCKBrowserInfo.IsGecko10&&!B){this.Start(A,true);return;};this.Window._FCKEditingArea=this;if (FCKBrowserInfo.IsGecko10) this.Window.setTimeout(FCKEditingArea_CompleteStart,500);else FCKEditingArea_CompleteStart.call(this.Window);}else{var H=this.Textarea=D.createElement('textarea');H.className='SourceField';H.dir='ltr';H.style.width=H.style.height='100%';H.style.border='none';C.appendChild(H);H.value=A;FCKTools.RunFunction(this.OnLoad);}};function FCKEditingArea_CompleteStart(){if (!this.document.body){this.setTimeout(FCKEditingArea_CompleteStart,50);return;};var A=this._FCKEditingArea;A.MakeEditable();FCKTools.RunFunction(A.OnLoad);};FCKEditingArea.prototype.MakeEditable=function(){var A=this.Document;if (FCKBrowserInfo.IsIE){A.body.contentEditable=true;}else{try{A.body.spellcheck=(this.FFSpellChecker!==false);if (this._BodyHTML){A.body.innerHTML=this._BodyHTML;this._BodyHTML=null;};A.designMode='on';try{A.execCommand('styleWithCSS',false,FCKConfig.GeckoUseSPAN);}catch (e){A.execCommand('useCSS',false,!FCKConfig.GeckoUseSPAN);};A.execCommand('enableObjectResizing',false,!FCKConfig.DisableObjectResizing);A.execCommand('enableInlineTableEditing',false,!FCKConfig.DisableFFTableHandles);}catch (e) {}}};FCKEditingArea.prototype.Focus=function(){try{if (this.Mode==0){if (FCKBrowserInfo.IsIE&&this.Document.hasFocus()) return;if (FCKBrowserInfo.IsSafari) this.IFrame.focus();else{this.Window.focus();}}else{var A=FCKTools.GetElementDocument(this.Textarea);if ((!A.hasFocus||A.hasFocus())&&A.activeElement==this.Textarea) return;this.Textarea.focus();}}catch(e) {}};function FCKEditingArea_Cleanup(){this.TargetElement=null;this.IFrame=null;this.Document=null;this.Textarea=null;if (this.Window){this.Window._FCKEditingArea=null;this.Window=null;}};\r
-var FCKKeystrokeHandler=function(A){this.Keystrokes={};this.CancelCtrlDefaults=(A!==false);};FCKKeystrokeHandler.prototype.AttachToElement=function(A){FCKTools.AddEventListenerEx(A,'keydown',_FCKKeystrokeHandler_OnKeyDown,this);if (FCKBrowserInfo.IsGecko10||FCKBrowserInfo.IsOpera||(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac)) FCKTools.AddEventListenerEx(A,'keypress',_FCKKeystrokeHandler_OnKeyPress,this);};FCKKeystrokeHandler.prototype.SetKeystrokes=function(){for (var i=0;i<arguments.length;i++){var A=arguments[i];if (typeof(A[0])=='object') this.SetKeystrokes.apply(this,A);else{if (A.length==1) delete this.Keystrokes[A[0]];else this.Keystrokes[A[0]]=A[1]===true?true:A;}}};function _FCKKeystrokeHandler_OnKeyDown(A,B){var C=A.keyCode||A.which;var D=0;if (A.ctrlKey||A.metaKey) D+=CTRL;if (A.shiftKey) D+=SHIFT;if (A.altKey) D+=ALT;var E=C+D;var F=B._CancelIt=false;var G=B.Keystrokes[E];if (G){if (G===true||!(B.OnKeystroke&&B.OnKeystroke.apply(B,G))) return true;F=true;};if (F||(B.CancelCtrlDefaults&&D==CTRL&&(C<33||C>40))){B._CancelIt=true;if (A.preventDefault) return A.preventDefault();A.returnValue=false;A.cancelBubble=true;return false;};return true;};function _FCKKeystrokeHandler_OnKeyPress(A,B){if (B._CancelIt){if (A.preventDefault) return A.preventDefault();return false;};return true;}\r
+var FCKEvents=function(A){this.Owner=A;this._RegisteredEvents={};};FCKEvents.prototype.AttachEvent=function(A,B){var C;if (!(C=this._RegisteredEvents[A])) this._RegisteredEvents[A]=[B];else{if (C.IndexOf(B)==-1) C.push(B);}};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this._RegisteredEvents[A];if (D){for (var i=0;i<D.length;i++){try{C=(D[i](this.Owner,B)&&C);}catch(e){if (e.number!=-2146823277) throw e;}}};return C;};\r
+var FCKDataProcessor=function(){};FCKDataProcessor.prototype={ConvertToHtml:function(A){if (FCKConfig.FullPage){FCK.DocTypeDeclaration=A.match(FCKRegexLib.DocTypeTag);if (!FCKRegexLib.HasBodyTag.test(A)) A='<body>'+A+'</body>';if (!FCKRegexLib.HtmlOpener.test(A)) A='<html dir="'+FCKConfig.ContentLangDirection+'">'+A+'</html>';if (!FCKRegexLib.HeadOpener.test(A)) A=A.replace(FCKRegexLib.HtmlOpener,'$&<head><title></title></head>');return A;}else{var B=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"';if (FCKBrowserInfo.IsIE&&FCKConfig.DocType.length>0&&!FCKRegexLib.Html4DocType.test(FCKConfig.DocType)) B+=' style="overflow-y: scroll"';B+='><head><title></title></head><body'+FCKConfig.GetBodyAttributes()+'>'+A+'</body></html>';return B;}},ConvertToDataFormat:function(A,B,C,D){var E=FCKXHtml.GetXHTML(A,!B,D);if (C&&FCKRegexLib.EmptyOutParagraph.test(E)) return '';return E;},FixHtml:function(A){return A;}};\r
+var FCK={Name:FCKURLParams['InstanceName'],Status:0,EditMode:0,Toolbar:null,HasFocus:false,DataProcessor:new FCKDataProcessor(),GetInstanceObject:(function(){var w=window;return function(name){return w[name];}})(),AttachToOnSelectionChange:function(A){this.Events.AttachEvent('OnSelectionChange',A);},GetLinkedFieldValue:function(){return this.LinkedField.value;},GetParentForm:function(){return this.LinkedField.form;},StartupValue:'',IsDirty:function(){if (this.EditMode==1) return (this.StartupValue!=this.EditingArea.Textarea.value);else{if (!this.EditorDocument) return false;return (this.StartupValue!=this.EditorDocument.body.innerHTML);}},ResetIsDirty:function(){if (this.EditMode==1) this.StartupValue=this.EditingArea.Textarea.value;else if (this.EditorDocument.body) this.StartupValue=this.EditorDocument.body.innerHTML;},StartEditor:function(){this.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';var A=FCK.KeystrokeHandler=new FCKKeystrokeHandler();A.OnKeystroke=_FCK_KeystrokeHandler_OnKeystroke;A.SetKeystrokes(FCKConfig.Keystrokes);if (FCKBrowserInfo.IsIE7){if ((CTRL+86) in A.Keystrokes) A.SetKeystrokes([CTRL+86,true]);if ((SHIFT+45) in A.Keystrokes) A.SetKeystrokes([SHIFT+45,true]);};A.SetKeystrokes([CTRL+8,true]);this.EditingArea=new FCKEditingArea(document.getElementById('xEditingArea'));this.EditingArea.FFSpellChecker=FCKConfig.FirefoxSpellChecker;this.SetData(this.GetLinkedFieldValue(),true);FCKTools.AddEventListener(document,"keydown",this._TabKeyHandler);this.AttachToOnSelectionChange(_FCK_PaddingNodeListener);if (FCKBrowserInfo.IsGecko) this.AttachToOnSelectionChange(this._ExecCheckEmptyBlock);},Focus:function(){FCK.EditingArea.Focus();},SetStatus:function(A){this.Status=A;if (A==1){FCKFocusManager.AddWindow(window,true);if (FCKBrowserInfo.IsIE) FCKFocusManager.AddWindow(window.frameElement,true);if (FCKConfig.StartupFocus) FCK.Focus();};this.Events.FireEvent('OnStatusChange',A);},FixBody:function(){var A=FCKConfig.EnterMode;if (A!='p'&&A!='div') return;var B=this.EditorDocument;if (!B) return;var C=B.body;if (!C) return;FCKDomTools.TrimNode(C);var D=C.firstChild;var E;while (D){var F=false;switch (D.nodeType){case 1:var G=D.nodeName.toLowerCase();if (!FCKListsLib.BlockElements[G]&&G!='li'&&!D.getAttribute('_fckfakelement')&&D.getAttribute('_moz_dirty')==null) F=true;break;case 3:if (E||D.nodeValue.Trim().length>0) F=true;break;case 8:if (E) F=true;break;};if (F){var H=D.parentNode;if (!E) E=H.insertBefore(B.createElement(A),D);E.appendChild(H.removeChild(D));D=E.nextSibling;}else{if (E){FCKDomTools.TrimNode(E);E=null;};D=D.nextSibling;}};if (E) FCKDomTools.TrimNode(E);},GetData:function(A){FCK.Events.FireEvent("OnBeforeGetData");if (FCK.EditMode==1) return FCK.EditingArea.Textarea.value;this.FixBody();var B=FCK.EditorDocument;if (!B) return null;var C=FCKConfig.FullPage;var D=FCK.DataProcessor.ConvertToDataFormat(C?B.documentElement:B.body,!C,FCKConfig.IgnoreEmptyParagraphValue,A);D=FCK.ProtectEventsRestore(D);if (FCKBrowserInfo.IsIE) D=D.replace(FCKRegexLib.ToReplace,'$1');if (C){if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) D=FCK.DocTypeDeclaration+'\n'+D;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) D=FCK.XmlDeclaration+'\n'+D;};D=FCKConfig.ProtectedSource.Revert(D);setTimeout(function() { FCK.Events.FireEvent("OnAfterGetData");},0);return D;},UpdateLinkedField:function(){var A=FCK.GetXHTML(FCKConfig.FormatOutput);if (FCKConfig.HtmlEncodeOutput) A=FCKTools.HTMLEncode(A);FCK.LinkedField.value=A;FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');},RegisteredDoubleClickHandlers:{},OnDoubleClick:function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName.toUpperCase()];if (B){for (var i=0;i<B.length;i++) B[i](A);};B=FCK.RegisteredDoubleClickHandlers['*'];if (B){for (var i=0;i<B.length;i++) B[i](A);}},RegisterDoubleClickHandler:function(A,B){var C=B||'*';C=C.toUpperCase();var D;if (!(D=FCK.RegisteredDoubleClickHandlers[C])) FCK.RegisteredDoubleClickHandlers[C]=[A];else{if (D.IndexOf(A)==-1) D.push(A);}},OnAfterSetHTML:function(){FCKDocumentProcessor.Process(FCK.EditorDocument);FCKUndo.SaveUndoStep();FCK.Events.FireEvent('OnSelectionChange');FCK.Events.FireEvent('OnAfterSetHTML');},ProtectUrls:function(A){A=A.replace(FCKRegexLib.ProtectUrlsA,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsImg,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsArea,'$& _fcksavedurl=$1');return A;},ProtectEvents:function(A){return A.replace(FCKRegexLib.TagsWithEvent,_FCK_ProtectEvents_ReplaceTags);},ProtectEventsRestore:function(A){return A.replace(FCKRegexLib.ProtectedEvents,_FCK_ProtectEvents_RestoreEvents);},ProtectTags:function(A){var B=FCKConfig.ProtectedTags;if (FCKBrowserInfo.IsIE) B+=B.length>0?'|ABBR|XML|EMBED|OBJECT':'ABBR|XML|EMBED|OBJECT';var C;if (B.length>0){C=new RegExp('<('+B+')(?!\w|:)','gi');A=A.replace(C,'<FCK:$1');C=new RegExp('<\/('+B+')>','gi');A=A.replace(C,'<\/FCK:$1>');};B='META';if (FCKBrowserInfo.IsIE) B+='|HR';C=new RegExp('<(('+B+')(?=\\s|>|/)[\\s\\S]*?)/?>','gi');A=A.replace(C,'<FCK:$1 />');return A;},SetData:function(A,B){this.EditingArea.Mode=FCK.EditMode;if (FCKBrowserInfo.IsIE&&FCK.EditorDocument){FCK.EditorDocument.detachEvent("onselectionchange",Doc_OnSelectionChange);};FCKTempBin.Reset();FCK.Selection.Release();if (FCK.EditMode==0){this._ForceResetIsDirty=(B===true);A=FCKConfig.ProtectedSource.Protect(A);A=FCK.DataProcessor.ConvertToHtml(A);A=A.replace(FCKRegexLib.InvalidSelfCloseTags,'$1></$2>');A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) A=A.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);var C='';if (!FCKConfig.FullPage) C+=_FCK_GetEditorAreaStyleTags();if (FCKBrowserInfo.IsIE) C+=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C+=FCKTools.GetStyleHtml(FCK_ShowTableBordersCSS,true);C+=FCKTools.GetStyleHtml(FCK_InternalCSS,true);A=A.replace(FCKRegexLib.HeadCloser,C+'$&');this.EditingArea.OnLoad=_FCK_EditingArea_OnLoad;this.EditingArea.Start(A);}else{FCK.EditorWindow=null;FCK.EditorDocument=null;FCKDomTools.PaddingNode=null;this.EditingArea.OnLoad=null;this.EditingArea.Start(A);this.EditingArea.Textarea._FCKShowContextMenu=true;FCK.EnterKeyHandler=null;if (B) this.ResetIsDirty();FCK.KeystrokeHandler.AttachToElement(this.EditingArea.Textarea);this.EditingArea.Textarea.focus();FCK.Events.FireEvent('OnAfterSetHTML');};if (window.onresize) window.onresize();},RedirectNamedCommands:{},ExecuteNamedCommand:function(A,B,C,D){if (!D) FCKUndo.SaveUndoStep();if (!C&&FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};if (!D) FCKUndo.SaveUndoStep();},GetNamedCommandState:function(A){try{if (FCKBrowserInfo.IsSafari&&FCK.EditorWindow&&A.IEquals('Paste')) return 0;if (!FCK.EditorDocument.queryCommandEnabled(A)) return -1;else{return FCK.EditorDocument.queryCommandState(A)?1:0;}}catch (e){return 0;}},GetNamedCommandValue:function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==-1) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';},Paste:function(A){if (FCK.Status!=2||!FCK.Events.FireEvent('OnPaste')) return false;return A||FCK._ExecPaste();},PasteFromWord:function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');},Preview:function(){var A;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) A=FCK.TempBaseTag+FCK.GetXHTML();else A=FCK.GetXHTML();}else{A=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"><head>'+FCK.TempBaseTag+'<title>'+FCKLang.Preview+'</title>'+_FCK_GetEditorAreaStyleTags()+'</head><body'+FCKConfig.GetBodyAttributes()+'>'+FCK.GetXHTML()+'</body></html>';};var B=FCKConfig.ScreenWidth*0.8;var C=FCKConfig.ScreenHeight*0.7;var D=(FCKConfig.ScreenWidth-B)/2;var E='';if (FCK_IS_CUSTOM_DOMAIN&&FCKBrowserInfo.IsIE){window._FCKHtmlToLoad=A;E='javascript:void( (function(){document.open() ;document.domain="'+document.domain+'" ;document.write( window.opener._FCKHtmlToLoad );document.close() ;window.opener._FCKHtmlToLoad = null ;})() )';};var F=window.open(E,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+B+',height='+C+',left='+D);if (!FCK_IS_CUSTOM_DOMAIN||!FCKBrowserInfo.IsIE){F.document.write(A);F.document.close();}},SwitchEditMode:function(A){var B=(FCK.EditMode==0);var C=FCK.IsDirty();var D;if (B){FCKCommands.GetCommand('ShowBlocks').SaveState();if (!A&&FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();D=FCK.GetXHTML(FCKConfig.FormatSource);if (FCKBrowserInfo.IsIE) FCKTempBin.ToHtml();if (D==null) return false;}else D=this.EditingArea.Textarea.value;FCK.EditMode=B?1:0;FCK.SetData(D,!C);FCK.Focus();FCKTools.RunFunction(FCK.ToolbarSet.RefreshModeState,FCK.ToolbarSet);return true;},InsertElement:function(A){if (typeof A=='string') A=this.EditorDocument.createElement(A);var B=A.nodeName.toLowerCase();FCKSelection.Restore();var C=new FCKDomRange(this.EditorWindow);C.MoveToSelection();C.DeleteContents();if (FCKListsLib.BlockElements[B]!=null){if (C.StartBlock){if (C.CheckStartOfBlock()) C.MoveToPosition(C.StartBlock,3);else if (C.CheckEndOfBlock()) C.MoveToPosition(C.StartBlock,4);else C.SplitBlock();};C.InsertNode(A);var D=FCKDomTools.GetNextSourceElement(A,false,null,['hr','br','param','img','area','input'],true);if (!D&&FCKConfig.EnterMode!='br'){D=this.EditorDocument.body.appendChild(this.EditorDocument.createElement(FCKConfig.EnterMode));if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(D);};if (FCKListsLib.EmptyElements[B]==null) C.MoveToElementEditStart(A);else if (D) C.MoveToElementEditStart(D);else C.MoveToPosition(A,4);if (FCKBrowserInfo.IsGeckoLike){if (D) FCKDomTools.ScrollIntoView(D,false);FCKDomTools.ScrollIntoView(A,false);}}else{C.InsertNode(A);C.SetStart(A,4);C.SetEnd(A,4);};C.Select();C.Release();this.Focus();return A;},_InsertBlockElement:function(A){},_IsFunctionKey:function(A){if (A>=16&&A<=20) return true;if (A==27||(A>=33&&A<=40)) return true;if (A==45) return true;return false;},_KeyDownListener:function(A){if (!A) A=FCK.EditorWindow.event;if (FCK.EditorWindow){if (!FCK._IsFunctionKey(A.keyCode)&&!(A.ctrlKey||A.metaKey)&&!(A.keyCode==46)) FCK._KeyDownUndo();};return true;},_KeyDownUndo:function(){if (!FCKUndo.Typing){FCKUndo.SaveUndoStep();FCKUndo.Typing=true;FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.TypesCount++;FCKUndo.Changed=1;if (FCKUndo.TypesCount>FCKUndo.MaxTypes){FCKUndo.TypesCount=0;FCKUndo.SaveUndoStep();}},_TabKeyHandler:function(A){if (!A) A=window.event;var B=A.keyCode;if (B==9&&FCK.EditMode!=0){if (FCKBrowserInfo.IsIE){var C=document.selection.createRange();if (C.parentElement()!=FCK.EditingArea.Textarea) return true;C.text='\t';C.select();}else{var a=[];var D=FCK.EditingArea.Textarea;var E=D.selectionStart;var F=D.selectionEnd;a.push(D.value.substr(0,E));a.push('\t');a.push(D.value.substr(F));D.value=a.join('');D.setSelectionRange(E+1,E+1);};if (A.preventDefault) return A.preventDefault();return A.returnValue=false;};return true;}};FCK.Events=new FCKEvents(FCK);FCK.GetHTML=FCK.GetXHTML=FCK.GetData;FCK.SetHTML=FCK.SetData;FCK.InsertElementAndGetIt=FCK.CreateElement=FCK.InsertElement;function _FCK_ProtectEvents_ReplaceTags(A){return A.replace(FCKRegexLib.EventAttributes,_FCK_ProtectEvents_ReplaceEvents);};function _FCK_ProtectEvents_ReplaceEvents(A,B){return ' '+B+'_fckprotectedatt="'+encodeURIComponent(A)+'"';};function _FCK_ProtectEvents_RestoreEvents(A,B){return decodeURIComponent(B);};function _FCK_MouseEventsListener(A){if (!A) A=window.event;if (A.type=='mousedown') FCK.MouseDownFlag=true;else if (A.type=='mouseup') FCK.MouseDownFlag=false;else if (A.type=='mousemove') FCK.Events.FireEvent('OnMouseMove',A);};function _FCK_PaddingNodeListener(){if (FCKConfig.EnterMode.IEquals('br')) return;FCKDomTools.EnforcePaddingNode(FCK.EditorDocument,FCKConfig.EnterMode);if (!FCKBrowserInfo.IsIE&&FCKDomTools.PaddingNode){var A=FCKSelection.GetSelection();if (A&&A.rangeCount==1){var B=A.getRangeAt(0);if (B.collapsed&&B.startContainer==FCK.EditorDocument.body&&B.startOffset==0){B.selectNodeContents(FCKDomTools.PaddingNode);B.collapse(true);A.removeAllRanges();A.addRange(B);}}}else if (FCKDomTools.PaddingNode){var C=FCKSelection.GetParentElement();var D=FCKDomTools.PaddingNode;if (C&&C.nodeName.IEquals('body')){if (FCK.EditorDocument.body.childNodes.length==1&&FCK.EditorDocument.body.firstChild==D){if (FCKSelection._GetSelectionDocument(FCK.EditorDocument.selection)!=FCK.EditorDocument) return;var B=FCK.EditorDocument.body.createTextRange();var F=false;if (!D.childNodes.firstChild){D.appendChild(FCKTools.GetElementDocument(D).createTextNode('\ufeff'));F=true;};B.moveToElementText(D);B.select();if (F) B.pasteHTML('');}}}};function _FCK_EditingArea_OnLoad(){FCK.EditorWindow=FCK.EditingArea.Window;FCK.EditorDocument=FCK.EditingArea.Document;if (FCKBrowserInfo.IsIE) FCKTempBin.ToElements();FCK.InitializeBehaviors();FCK.MouseDownFlag=false;FCKTools.AddEventListener(FCK.EditorDocument,'mousemove',_FCK_MouseEventsListener);FCKTools.AddEventListener(FCK.EditorDocument,'mousedown',_FCK_MouseEventsListener);FCKTools.AddEventListener(FCK.EditorDocument,'mouseup',_FCK_MouseEventsListener);if (FCKBrowserInfo.IsSafari){FCKTools.AddEventListener(FCK.EditorDocument,'paste',function(evt){var A=new FCKDomRange(FCK.EditorWindow);var B=FCK.EditorDocument.createTextNode('\ufeff');var C=FCK.EditorDocument.createElement('a');C.id='fck_paste_padding';C.innerHTML='&#65279;';A.MoveToSelection();A.DeleteContents();A.InsertNode(B);A.Collapse();A.InsertNode(C);A.MoveToPosition(C,3);A.Select();setTimeout(function(){B.parentNode.removeChild(B);C=FCK.EditorDocument.getElementById('fck_paste_padding');C.parentNode.removeChild(C);},0);});};if (FCKBrowserInfo.IsSafari){var D=function(evt){if (!(evt.ctrlKey||evt.metaKey)) return;if (FCK.EditMode!=0) return;switch (evt.keyCode){case 89:FCKUndo.Redo();break;case 90:FCKUndo.Undo();break;}};FCKTools.AddEventListener(FCK.EditorDocument,'keyup',D);};FCK.EnterKeyHandler=new FCKEnterKey(FCK.EditorWindow,FCKConfig.EnterMode,FCKConfig.ShiftEnterMode,FCKConfig.TabSpaces);FCK.KeystrokeHandler.AttachToElement(FCK.EditorDocument);if (FCK._ForceResetIsDirty) FCK.ResetIsDirty();if (FCKBrowserInfo.IsIE&&FCK.HasFocus) FCK.EditorDocument.body.setActive();FCK.OnAfterSetHTML();FCKCommands.GetCommand('ShowBlocks').RestoreState();if (FCK.Status!=0) return;FCK.SetStatus(1);};function _FCK_GetEditorAreaStyleTags(){return FCKTools.GetStyleHtml(FCKConfig.EditorAreaCSS)+FCKTools.GetStyleHtml(FCKConfig.EditorAreaStyles);};function _FCK_KeystrokeHandler_OnKeystroke(A,B){if (FCK.Status!=2) return false;if (FCK.EditMode==0){switch (B){case 'Paste':return!FCK.Paste();case 'Cut':FCKUndo.SaveUndoStep();return false;}}else{if (B.Equals('Paste','Undo','Redo','SelectAll','Cut')) return false;};var C=FCK.Commands.GetCommand(B);if (C.GetState()==-1) return false;return (C.Execute.apply(C,FCKTools.ArgumentsToArray(arguments,2))!==false);};(function(){var A=window.parent.document;var B=A.getElementById(FCK.Name);var i=0;while (B||i==0){if (B&&B.tagName.toLowerCase().Equals('input','textarea')){FCK.LinkedField=B;break;};B=A.getElementsByName(FCK.Name)[i++];}})();var FCKTempBin={Elements:[],AddElement:function(A){var B=this.Elements.length;this.Elements[B]=A;return B;},RemoveElement:function(A){var e=this.Elements[A];this.Elements[A]=null;return e;},Reset:function(){var i=0;while (i<this.Elements.length) this.Elements[i++]=null;this.Elements.length=0;},ToHtml:function(){for (var i=0;i<this.Elements.length;i++){this.Elements[i]='<div>&nbsp;'+this.Elements[i].outerHTML+'</div>';this.Elements[i].isHtml=true;}},ToElements:function(){var A=FCK.EditorDocument.createElement('div');for (var i=0;i<this.Elements.length;i++){if (this.Elements[i].isHtml){A.innerHTML=this.Elements[i];this.Elements[i]=A.firstChild.removeChild(A.firstChild.lastChild);}}}};var FCKFocusManager=FCK.FocusManager={IsLocked:false,AddWindow:function(A,B){var C;if (FCKBrowserInfo.IsIE) C=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else if (FCKBrowserInfo.IsSafari) C=A;else C=A.document;FCKTools.AddEventListener(C,'blur',FCKFocusManager_Win_OnBlur);FCKTools.AddEventListener(C,'focus',B?FCKFocusManager_Win_OnFocus_Area:FCKFocusManager_Win_OnFocus);},RemoveWindow:function(A){if (FCKBrowserInfo.IsIE) oTarget=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else oTarget=A.document;FCKTools.RemoveEventListener(oTarget,'blur',FCKFocusManager_Win_OnBlur);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus_Area);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus);},Lock:function(){this.IsLocked=true;},Unlock:function(){if (this._HasPendingBlur) FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);this.IsLocked=false;},_ResetTimer:function(){this._HasPendingBlur=false;if (this._Timer){window.clearTimeout(this._Timer);delete this._Timer;}}};function FCKFocusManager_Win_OnBlur(){if (typeof(FCK)!='undefined'&&FCK.HasFocus){FCKFocusManager._ResetTimer();FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);}};function FCKFocusManager_FireOnBlur(){if (FCKFocusManager.IsLocked) FCKFocusManager._HasPendingBlur=true;else{FCK.HasFocus=false;FCK.Events.FireEvent("OnBlur");}};function FCKFocusManager_Win_OnFocus_Area(){if (FCKFocusManager._IsFocusing) return;FCKFocusManager._IsFocusing=true;FCK.Focus();FCKFocusManager_Win_OnFocus();FCKTools.RunFunction(function(){delete FCKFocusManager._IsFocusing;});};function FCKFocusManager_Win_OnFocus(){FCKFocusManager._ResetTimer();if (!FCK.HasFocus&&!FCKFocusManager.IsLocked){FCK.HasFocus=true;FCK.Events.FireEvent("OnFocus");}};(function(){var A=window.frameElement;var B=A.width;var C=A.height;if (/^\d+$/.test(B)) B+='px';if (/^\d+$/.test(C)) C+='px';var D=A.style;D.border=D.padding=D.margin=0;D.backgroundColor='transparent';D.backgroundImage='none';D.width=B;D.height=C;})();\r
+FCK.Description="FCKeditor for Gecko Browsers";FCK.InitializeBehaviors=function(){if (window.onresize) window.onresize();FCKFocusManager.AddWindow(this.EditorWindow);this.ExecOnSelectionChange=function(){FCK.Events.FireEvent("OnSelectionChange");};this._ExecDrop=function(evt){if (FCK.MouseDownFlag){FCK.MouseDownFlag=false;return;};if (FCKConfig.ForcePasteAsPlainText){if (evt.dataTransfer){var A=evt.dataTransfer.getData('Text');A=FCKTools.HTMLEncode(A);A=FCKTools.ProcessLineBreaks(window,FCKConfig,A);FCK.InsertHtml(A);}else if (FCKConfig.ShowDropDialog) FCK.PasteAsPlainText();evt.preventDefault();evt.stopPropagation();}};this._ExecCheckCaret=function(evt){if (FCK.EditMode!=0) return;if (evt.type=='keypress'){var B=evt.keyCode;if (B<33||B>40) return;};var C=function(H){if (H.nodeType!=1) return false;var D=H.tagName.toLowerCase();return (FCKListsLib.BlockElements[D]||FCKListsLib.EmptyElements[D]);};var E=function(){var F=FCKSelection.GetSelection();var G=F.getRangeAt(0);if (!G||!G.collapsed) return;var H=G.endContainer;if (H.nodeType!=3) return;if (H.nodeValue.length!=G.endOffset) return;var I=H.parentNode.tagName.toLowerCase();if (!(I=='a'||(!FCKBrowserInfo.IsOpera&&String(H.parentNode.contentEditable)=='false')||(!(FCKListsLib.BlockElements[I]||FCKListsLib.NonEmptyBlockElements[I])&&B==35))) return;var J=FCKTools.GetNextTextNode(H,H.parentNode,C);if (J) return;G=FCK.EditorDocument.createRange();J=FCKTools.GetNextTextNode(H,H.parentNode.parentNode,C);if (J){if (FCKBrowserInfo.IsOpera&&B==37) return;G.setStart(J,0);G.setEnd(J,0);}else{while (H.parentNode&&H.parentNode!=FCK.EditorDocument.body&&H.parentNode!=FCK.EditorDocument.documentElement&&H==H.parentNode.lastChild&&(!FCKListsLib.BlockElements[H.parentNode.tagName.toLowerCase()]&&!FCKListsLib.NonEmptyBlockElements[H.parentNode.tagName.toLowerCase()])) H=H.parentNode;if (FCKListsLib.BlockElements[I]||FCKListsLib.EmptyElements[I]||H==FCK.EditorDocument.body){G.setStart(H,H.childNodes.length);G.setEnd(H,H.childNodes.length);}else{var K=H.nextSibling;while (K){if (K.nodeType!=1){K=K.nextSibling;continue;};var L=K.tagName.toLowerCase();if (FCKListsLib.BlockElements[L]||FCKListsLib.EmptyElements[L]||FCKListsLib.NonEmptyBlockElements[L]) break;K=K.nextSibling;};var M=FCK.EditorDocument.createTextNode('');if (K) H.parentNode.insertBefore(M,K);else H.parentNode.appendChild(M);G.setStart(M,0);G.setEnd(M,0);}};F.removeAllRanges();F.addRange(G);FCK.Events.FireEvent("OnSelectionChange");};setTimeout(E,1);};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.EditorDocument.addEventListener('keydown',this._KeyDownListener,false);if (FCKBrowserInfo.IsGecko){this.EditorWindow.addEventListener('dragdrop',this._ExecDrop,true);}else if (FCKBrowserInfo.IsSafari){this.EditorDocument.addEventListener('dragover',function (evt){ if (!FCK.MouseDownFlag&&FCK.Config.ForcePasteAsPlainText) evt.returnValue=false;},true);this.EditorDocument.addEventListener('drop',this._ExecDrop,true);this.EditorDocument.addEventListener('mousedown',function(ev){var N=ev.srcElement;if (N.nodeName.IEquals('IMG','HR','INPUT','TEXTAREA','SELECT')){FCKSelection.SelectNode(N);}},true);this.EditorDocument.addEventListener('mouseup',function(ev){if (ev.srcElement.nodeName.IEquals('INPUT','TEXTAREA','SELECT')) ev.preventDefault()},true);this.EditorDocument.addEventListener('click',function(ev){if (ev.srcElement.nodeName.IEquals('INPUT','TEXTAREA','SELECT')) ev.preventDefault()},true);};if (FCKBrowserInfo.IsGecko||FCKBrowserInfo.IsOpera){this.EditorDocument.addEventListener('keypress',this._ExecCheckCaret,false);this.EditorDocument.addEventListener('click',this._ExecCheckCaret,false);};FCK.ContextMenu._InnerContextMenu.SetMouseClickWindow(FCK.EditorWindow);FCK.ContextMenu._InnerContextMenu.AttachToElement(FCK.EditorDocument);};FCK.MakeEditable=function(){this.EditingArea.MakeEditable();};function Document_OnContextMenu(e){if (!e.target._FCKShowContextMenu) e.preventDefault();};document.oncontextmenu=Document_OnContextMenu;FCK._BaseGetNamedCommandState=FCK.GetNamedCommandState;FCK.GetNamedCommandState=function(A){switch (A){case 'Unlink':return FCKSelection.HasAncestorNode('A')?0:-1;default:return FCK._BaseGetNamedCommandState(A);}};FCK.RedirectNamedCommands={Print:true,Paste:true};FCK.ExecuteRedirectedNamedCommand=function(A,B){switch (A){case 'Print':FCK.EditorWindow.print();break;case 'Paste':try{if (FCKBrowserInfo.IsSafari) throw '';if (FCK.Paste()) FCK.ExecuteNamedCommand('Paste',null,true);}catch (e)  {if (FCKConfig.ForcePasteAsPlainText) FCK.PasteAsPlainText();else FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.Paste,'dialog/fck_paste.html',400,330,'Security');};break;default:FCK.ExecuteNamedCommand(A,B);}};FCK._ExecPaste=function(){FCKUndo.SaveUndoStep();if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;};return true;};FCK.InsertHtml=function(A){var B=FCK.EditorDocument,range;A=FCKConfig.ProtectedSource.Protect(A);A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);FCKUndo.SaveUndoStep();if (FCKBrowserInfo.IsGecko){A=A.replace(/&nbsp;$/,'$&<span _fcktemp="1"/>');var C=new FCKDocumentFragment(this.EditorDocument);C.AppendHtml(A);var D=C.RootNode.lastChild;range=new FCKDomRange(this.EditorWindow);range.MoveToSelection();var E=C.RootNode.firstChild;while (E&&E.nodeType!=1) E=E.nextSibling;if (E&&FCKListsLib.BlockElements[E.nodeName.toLowerCase()]) range.SplitBlock();range.DeleteContents();range.InsertNode(C.RootNode);range.MoveToPosition(D,4);}else B.execCommand('inserthtml',false,A);this.Focus();if (!range){range=new FCKDomRange(this.EditorWindow);range.MoveToSelection();};var F=range.CreateBookmark();FCKDocumentProcessor.Process(B);try{range.MoveToBookmark(F);range.Select();}catch (e) {};this.Events.FireEvent("OnSelectionChange");};FCK.PasteAsPlainText=function(){FCKTools.RunFunction(FCKDialog.OpenDialog,FCKDialog,['FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText']);};FCK.GetClipboardHTML=function(){return '';};FCK.CreateLink=function(A,B){var C=[];if (FCKSelection.GetSelection().isCollapsed) return C;FCK.ExecuteNamedCommand('Unlink',null,false,!!B);if (A.length>0){var D='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',D,false,!!B);var E=this.EditorDocument.evaluate("//a[@href='"+D+"']",this.EditorDocument.body,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for (var i=0;i<E.snapshotLength;i++){var F=E.snapshotItem(i);F.href=A;C.push(F);}};return C;};FCK._FillEmptyBlock=function(A){if (!A||A.nodeType!=1) return;var B=A.tagName.toLowerCase();if (B!='p'&&B!='div') return;if (A.firstChild) return;FCKTools.AppendBogusBr(A);};FCK._ExecCheckEmptyBlock=function(){FCK._FillEmptyBlock(FCK.EditorDocument.body.firstChild);var A=FCKSelection.GetSelection();if (!A||A.rangeCount<1) return;var B=A.getRangeAt(0);FCK._FillEmptyBlock(B.startContainer);};\r
+var FCKConfig=FCK.Config={};if (document.location.protocol=='file:'){FCKConfig.BasePath=decodeURIComponent(document.location.pathname.substr(1));FCKConfig.BasePath=FCKConfig.BasePath.replace(/\\/gi,'/');var sFullProtocol=document.location.href.match(/^(file\:\/{2,3})/)[1];if (FCKBrowserInfo.IsOpera) sFullProtocol+='localhost/';FCKConfig.BasePath=sFullProtocol+FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1);}else FCKConfig.BasePath=document.location.protocol+'//'+document.location.host+document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1);FCKConfig.FullBasePath=FCKConfig.BasePath;FCKConfig.EditorPath=FCKConfig.BasePath.replace(/editor\/$/,'');try{FCKConfig.ScreenWidth=screen.width;FCKConfig.ScreenHeight=screen.height;}catch (e){FCKConfig.ScreenWidth=800;FCKConfig.ScreenHeight=600;};FCKConfig.ProcessHiddenField=function(){this.PageConfig={};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=decodeURIComponent(C[0]);var E=decodeURIComponent(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 (E.length>0&&!isNaN(E)) this.PageConfig[D]=parseFloat(E);else this.PageConfig[D]=E;}};function FCKConfig_LoadPageConfig(){var A=FCKConfig.PageConfig;for (var B in A) FCKConfig[B]=A[B];};function FCKConfig_PreProcess(){var A=FCKConfig;if (A.AllowQueryStringDebug){try{if ((/fckdebug=true/i).test(window.top.location.search)) A.Debug=true;}catch (e) {  }};if (!A.PluginsPath.EndsWith('/')) A.PluginsPath+='/';var B=A.ToolbarComboPreviewCSS;if (!B||B.length==0) A.ToolbarComboPreviewCSS=A.EditorAreaCSS;A.RemoveAttributesArray=(A.RemoveAttributes||'').split(',');if (!FCKConfig.SkinEditorCSS||FCKConfig.SkinEditorCSS.length==0) FCKConfig.SkinEditorCSS=FCKConfig.SkinPath+'fck_editor.css';if (!FCKConfig.SkinDialogCSS||FCKConfig.SkinDialogCSS.length==0) FCKConfig.SkinDialogCSS=FCKConfig.SkinPath+'fck_dialog.css';};FCKConfig.ToolbarSets={};FCKConfig.Plugins={};FCKConfig.Plugins.Items=[];FCKConfig.Plugins.Add=function(A,B,C){FCKConfig.Plugins.Items.push([A,B,C]);};FCKConfig.ProtectedSource={};FCKConfig.ProtectedSource._CodeTag=(new Date()).valueOf();FCKConfig.ProtectedSource.RegexEntries=[/<!--[\s\S]*?-->/g,/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi];FCKConfig.ProtectedSource.Add=function(A){this.RegexEntries.push(A);};FCKConfig.ProtectedSource.Protect=function(A){var B=this._CodeTag;function _Replace(protectedSource){var C=FCKTempBin.AddElement(protectedSource);return '<!--{'+B+C+'}-->';};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);};var D=new RegExp("(<|&lt;)!--\\{"+this._CodeTag+"(\\d+)\\}--(>|&gt;)","g");return A.replace(D,_Replace);};FCKConfig.GetBodyAttributes=function(){var A='';if (this.BodyId&&this.BodyId.length>0) A+=' id="'+this.BodyId+'"';if (this.BodyClass&&this.BodyClass.length>0) A+=' class="'+this.BodyClass+'"';return A;};FCKConfig.ApplyBodyAttributes=function(A){if (this.BodyId&&this.BodyId.length>0) A.id=FCKConfig.BodyId;if (this.BodyClass&&this.BodyClass.length>0) A.className+=' '+FCKConfig.BodyClass;};\r
+var FCKDebug={Output:function(){},OutputObject:function(){}};\r
+var FCKDomTools={MoveChildren:function(A,B,C){if (A==B) return;var D;if (C){while ((D=A.lastChild)) B.insertBefore(A.removeChild(D),B.firstChild);}else{while ((D=A.firstChild)) B.appendChild(A.removeChild(D));}},MoveNode:function(A,B,C){if (C) B.insertBefore(FCKDomTools.RemoveNode(A),B.firstChild);else B.appendChild(FCKDomTools.RemoveNode(A));},TrimNode:function(A){this.LTrimNode(A);this.RTrimNode(A);},LTrimNode:function(A){var B;while ((B=A.firstChild)){if (B.nodeType==3){var C=B.nodeValue.LTrim();var D=B.nodeValue.length;if (C.length==0){A.removeChild(B);continue;}else if (C.length<D){B.splitText(D-C.length);A.removeChild(A.firstChild);}};break;}},RTrimNode:function(A){var B;while ((B=A.lastChild)){if (B.nodeType==3){var C=B.nodeValue.RTrim();var D=B.nodeValue.length;if (C.length==0){B.parentNode.removeChild(B);continue;}else if (C.length<D){B.splitText(C.length);A.lastChild.parentNode.removeChild(A.lastChild);}};break;};if (!FCKBrowserInfo.IsIE&&!FCKBrowserInfo.IsOpera){B=A.lastChild;if (B&&B.nodeType==1&&B.nodeName.toLowerCase()=='br'){B.parentNode.removeChild(B);}}},RemoveNode:function(A,B){if (B){var C;while ((C=A.firstChild)) A.parentNode.insertBefore(A.removeChild(C),A);};return A.parentNode.removeChild(A);},GetFirstChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.firstChild;while(C){if (C.nodeType==1&&C.tagName.Equals.apply(C.tagName,B)) return C;C=C.nextSibling;};return null;},GetLastChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.lastChild;while(C){if (C.nodeType==1&&(!B||C.tagName.Equals(B))) return C;C=C.previousSibling;};return null;},GetPreviousSourceElement:function(A,B,C,D){if (!A) return null;if (C&&A.nodeType==1&&A.nodeName.IEquals(C)) return null;if (A.previousSibling) A=A.previousSibling;else return this.GetPreviousSourceElement(A.parentNode,B,C,D);while (A){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (!D||!A.nodeName.IEquals(D)) return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;if (A.lastChild) A=A.lastChild;else return this.GetPreviousSourceElement(A,B,C,D);};return null;},GetNextSourceElement:function(A,B,C,D,E){while((A=this.GetNextSourceNode(A,E))){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (D&&A.nodeName.IEquals(D)) return this.GetNextSourceElement(A,B,C,D);return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;};return null;},GetNextSourceNode:function(A,B,C,D){if (!A) return null;var E;if (!B&&A.firstChild) E=A.firstChild;else{if (D&&A==D) return null;E=A.nextSibling;if (!E&&(!D||D!=A.parentNode)) return this.GetNextSourceNode(A.parentNode,true,C,D);};if (C&&E&&E.nodeType!=C) return this.GetNextSourceNode(E,false,C,D);return E;},GetPreviousSourceNode:function(A,B,C,D){if (!A) return null;var E;if (!B&&A.lastChild) E=A.lastChild;else{if (D&&A==D) return null;E=A.previousSibling;if (!E&&(!D||D!=A.parentNode)) return this.GetPreviousSourceNode(A.parentNode,true,C,D);};if (C&&E&&E.nodeType!=C) return this.GetPreviousSourceNode(E,false,C,D);return E;},InsertAfterNode:function(A,B){return A.parentNode.insertBefore(B,A.nextSibling);},GetParents:function(A){var B=[];while (A){B.unshift(A);A=A.parentNode;};return B;},GetCommonParents:function(A,B){var C=this.GetParents(A);var D=this.GetParents(B);var E=[];for (var i=0;i<C.length;i++){if (C[i]==D[i]) E.push(C[i]);};return E;},GetCommonParentNode:function(A,B,C){var D={};if (!C.pop) C=[C];while (C.length>0) D[C.pop().toLowerCase()]=1;var E=this.GetCommonParents(A,B);var F=null;while ((F=E.pop())){if (D[F.nodeName.toLowerCase()]) return F;};return null;},GetIndexOf:function(A){var B=A.parentNode?A.parentNode.firstChild:null;var C=-1;while (B){C++;if (B==A) return C;B=B.nextSibling;};return-1;},PaddingNode:null,EnforcePaddingNode:function(A,B){try{if (!A||!A.body) return;}catch (e){return;};this.CheckAndRemovePaddingNode(A,B,true);try{if (A.body.lastChild&&(A.body.lastChild.nodeType!=1||A.body.lastChild.tagName.toLowerCase()==B.toLowerCase())) return;}catch (e){return;};var C=A.createElement(B);if (FCKBrowserInfo.IsGecko&&FCKListsLib.NonEmptyBlockElements[B]) FCKTools.AppendBogusBr(C);this.PaddingNode=C;if (A.body.childNodes.length==1&&A.body.firstChild.nodeType==1&&A.body.firstChild.tagName.toLowerCase()=='br'&&(A.body.firstChild.getAttribute('_moz_dirty')!=null||A.body.firstChild.getAttribute('type')=='_moz')) A.body.replaceChild(C,A.body.firstChild);else A.body.appendChild(C);},CheckAndRemovePaddingNode:function(A,B,C){var D=this.PaddingNode;if (!D) return;try{if (D.parentNode!=A.body||D.tagName.toLowerCase()!=B||(D.childNodes.length>1)||(D.firstChild&&D.firstChild.nodeValue!='\xa0'&&String(D.firstChild.tagName).toLowerCase()!='br')){this.PaddingNode=null;return;}}catch (e){this.PaddingNode=null;return;};if (!C){if (D.parentNode.childNodes.length>1) D.parentNode.removeChild(D);this.PaddingNode=null;}},HasAttribute:function(A,B){if (A.hasAttribute) return A.hasAttribute(B);else{var C=A.attributes[B];return (C!=undefined&&C.specified);}},HasAttributes:function(A){var B=A.attributes;for (var i=0;i<B.length;i++){if (FCKBrowserInfo.IsIE){var C=B[i].nodeName;if (C.StartsWith('_fck')){continue;};if (C=='class'){if (A.className.length>0) return true;continue;}};if (B[i].specified) return true;};return false;},RemoveAttribute:function(A,B){if (FCKBrowserInfo.IsIE&&B.toLowerCase()=='class') B='className';return A.removeAttribute(B,0);},RemoveAttributes:function (A,B){for (var i=0;i<B.length;i++) this.RemoveAttribute(A,B[i]);},GetAttributeValue:function(A,B){var C=B;if (typeof B=='string') B=A.attributes[B];else C=B.nodeName;if (B&&B.specified){if (C=='style') return A.style.cssText;else if (C=='class'||C.indexOf('on')==0) return B.nodeValue;else{return A.getAttribute(C,2);}};return null;},Contains:function(A,B){if (A.contains&&B.nodeType==1) return A.contains(B);while ((B=B.parentNode)){if (B==A) return true;};return false;},BreakParent:function(A,B,C){var D=C||new FCKDomRange(FCKTools.GetElementWindow(A));D.SetStart(A,4);D.SetEnd(B,4);var E=D.ExtractContents();D.InsertNode(A.parentNode.removeChild(A));E.InsertAfterNode(A);D.Release(!!C);},GetNodeAddress:function(A,B){var C=[];while (A&&A!=FCKTools.GetElementDocument(A).documentElement){var D=A.parentNode;var E=-1;for(var i=0;i<D.childNodes.length;i++){var F=D.childNodes[i];if (B===true&&F.nodeType==3&&F.previousSibling&&F.previousSibling.nodeType==3) continue;E++;if (D.childNodes[i]==A) break;};C.unshift(E);A=A.parentNode;};return C;},GetNodeFromAddress:function(A,B,C){var D=A.documentElement;for (var i=0;i<B.length;i++){var E=B[i];if (!C){D=D.childNodes[E];continue;};var F=-1;for (var j=0;j<D.childNodes.length;j++){var G=D.childNodes[j];if (C===true&&G.nodeType==3&&G.previousSibling&&G.previousSibling.nodeType==3) continue;F++;if (F==E){D=G;break;}}};return D;},CloneElement:function(A){A=A.cloneNode(false);A.removeAttribute('id',false);return A;},ClearElementJSProperty:function(A,B){if (FCKBrowserInfo.IsIE) A.removeAttribute(B);else delete A[B];},SetElementMarker:function (A,B,C,D){var E=String(parseInt(Math.random()*0xffffffff,10));B._FCKMarkerId=E;B[C]=D;if (!A[E]) A[E]={ 'element':B,'markers':{} };A[E]['markers'][C]=D;},ClearElementMarkers:function(A,B,C){var D=B._FCKMarkerId;if (!D) return;this.ClearElementJSProperty(B,'_FCKMarkerId');for (var j in A[D]['markers']) this.ClearElementJSProperty(B,j);if (C) delete A[D];},ClearAllMarkers:function(A){for (var i in A) this.ClearElementMarkers(A,A[i]['element'],true);},ListToArray:function(A,B,C,D,E){if (!A.nodeName.IEquals(['ul','ol'])) return [];if (!D) D=0;if (!C) C=[];for (var i=0;i<A.childNodes.length;i++){var F=A.childNodes[i];if (!F.nodeName.IEquals('li')) continue;var G={ 'parent':A,'indent':D,'contents':[] };if (!E){G.grandparent=A.parentNode;if (G.grandparent&&G.grandparent.nodeName.IEquals('li')) G.grandparent=G.grandparent.parentNode;}else G.grandparent=E;if (B) this.SetElementMarker(B,F,'_FCK_ListArray_Index',C.length);C.push(G);for (var j=0;j<F.childNodes.length;j++){var H=F.childNodes[j];if (H.nodeName.IEquals(['ul','ol'])) this.ListToArray(H,B,C,D+1,G.grandparent);else G.contents.push(H);}};return C;},ArrayToList:function(A,B,C){if (C==undefined) C=0;if (!A||A.length<C+1) return null;var D=FCKTools.GetElementDocument(A[C].parent);var E=D.createDocumentFragment();var F=null;var G=C;var H=Math.max(A[C].indent,0);var I=null;while (true){var J=A[G];if (J.indent==H){if (!F||A[G].parent.nodeName!=F.nodeName){F=A[G].parent.cloneNode(false);E.appendChild(F);};I=D.createElement('li');F.appendChild(I);for (var i=0;i<J.contents.length;i++) I.appendChild(J.contents[i].cloneNode(true));G++;}else if (J.indent==Math.max(H,0)+1){var K=this.ArrayToList(A,null,G);I.appendChild(K.listNode);G=K.nextIndex;}else if (J.indent==-1&&C==0&&J.grandparent){var I;if (J.grandparent.nodeName.IEquals(['ul','ol'])) I=D.createElement('li');else{if (FCKConfig.EnterMode.IEquals(['div','p'])&&!J.grandparent.nodeName.IEquals('td')) I=D.createElement(FCKConfig.EnterMode);else I=D.createDocumentFragment();};for (var i=0;i<J.contents.length;i++) I.appendChild(J.contents[i].cloneNode(true));if (I.nodeType==11){if (I.lastChild&&I.lastChild.getAttribute&&I.lastChild.getAttribute('type')=='_moz') I.removeChild(I.lastChild);I.appendChild(D.createElement('br'));};if (I.nodeName.IEquals(FCKConfig.EnterMode)&&I.firstChild){this.TrimNode(I);if (FCKListsLib.BlockBoundaries[I.firstChild.nodeName.toLowerCase()]){var M=D.createDocumentFragment();while (I.firstChild) M.appendChild(I.removeChild(I.firstChild));I=M;}};if (FCKBrowserInfo.IsGeckoLike&&I.nodeName.IEquals(['div','p'])) FCKTools.AppendBogusBr(I);E.appendChild(I);F=null;G++;}else return null;if (A.length<=G||Math.max(A[G].indent,0)<H){break;}};if (B){var N=E.firstChild;while (N){if (N.nodeType==1) this.ClearElementMarkers(B,N);N=this.GetNextSourceNode(N);}};return { 'listNode':E,'nextIndex':G };},GetNextSibling:function(A,B){A=A.nextSibling;while (A&&!B&&A.nodeType!=1&&(A.nodeType!=3||A.nodeValue.length==0)) A=A.nextSibling;return A;},GetPreviousSibling:function(A,B){A=A.previousSibling;while (A&&!B&&A.nodeType!=1&&(A.nodeType!=3||A.nodeValue.length==0)) A=A.previousSibling;return A;},CheckIsEmptyElement:function(A,B){var C=A.firstChild;var D;while (C){if (C.nodeType==1){if (D||!FCKListsLib.InlineNonEmptyElements[C.nodeName.toLowerCase()]) return false;if (!B||B(C)===true) D=C;}else if (C.nodeType==3&&C.nodeValue.length>0) return false;C=C.nextSibling;};return D?this.CheckIsEmptyElement(D,B):true;},SetElementStyles:function(A,B){var C=A.style;for (var D in B) C[D]=B[D];},SetOpacity:function(A,B){if (FCKBrowserInfo.IsIE){B=Math.round(B*100);A.style.filter=(B>100?'':'progid:DXImageTransform.Microsoft.Alpha(opacity='+B+')');}else A.style.opacity=B;},GetCurrentElementStyle:function(A,B){if (FCKBrowserInfo.IsIE) return A.currentStyle[B];else return A.ownerDocument.defaultView.getComputedStyle(A,'').getPropertyValue(B);},GetPositionedAncestor:function(A){var B=A;while (B!=FCKTools.GetElementDocument(B).documentElement){if (this.GetCurrentElementStyle(B,'position')!='static') return B;if (B==FCKTools.GetElementDocument(B).documentElement&&currentWindow!=w) B=currentWindow.frameElement;else B=B.parentNode;};return null;},ScrollIntoView:function(A,B){var C=FCKTools.GetElementWindow(A);var D=FCKTools.GetViewPaneSize(C).Height;var E=D*-1;if (B===false){E+=A.offsetHeight||0;E+=parseInt(this.GetCurrentElementStyle(A,'marginBottom')||0,10)||0;};var F=FCKTools.GetDocumentPosition(C,A);E+=F.y;var G=FCKTools.GetScrollPosition(C).Y;if (E>0&&(E>G||E<G-D)) C.scrollTo(0,E);},CheckIsEditable:function(A){var B=A.nodeName.toLowerCase();var C=FCK.DTD[B]||FCK.DTD.span;return (C['#']&&!FCKListsLib.NonEditableElements[B]);},GetSelectedDivContainers:function(){var A=[];var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.GetTouchedStartNode();var D=B.GetTouchedEndNode();var E=C;if (C==D){while (D.nodeType==1&&D.lastChild) D=D.lastChild;D=FCKDomTools.GetNextSourceNode(D);}while (E&&E!=D){if (E.nodeType!=3||!/^[ \t\n]*$/.test(E.nodeValue)){var F=new FCKElementPath(E);var G=F.BlockLimit;if (G&&G.nodeName.IEquals('div')&&A.IndexOf(G)==-1) A.push(G);};E=FCKDomTools.GetNextSourceNode(E);};return A;}};\r
+var FCKTools={};FCKTools.CreateBogusBR=function(A){var B=A.createElement('br');B.setAttribute('type','_moz');return B;};FCKTools.FixCssUrls=function(A,B){if (!A||A.length==0) return B;return B.replace(/url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g,function(match,opener,path,closer){if (/^\/|^\w?:/.test(path)) return match;else return 'url('+opener+A+path+closer+')';});};FCKTools._GetUrlFixedCss=function(A,B){var C=A.match(/^([^|]+)\|([\s\S]*)/);if (C) return FCKTools.FixCssUrls(C[1],C[2]);else return A;};FCKTools.AppendStyleSheet=function(A,B){if (!B) return [];if (typeof(B)=='string'){if (/[\\\/\.][^{}]*$/.test(B)){return this.AppendStyleSheet(A,B.split(','));}else return [this.AppendStyleString(A,FCKTools._GetUrlFixedCss(B))];}else{var C=[];for (var i=0;i<B.length;i++) C.push(this._AppendStyleSheet(A,B[i]));return C;}};FCKTools.GetStyleHtml=(function(){var A=function(styleDef,markTemp){if (styleDef.length==0) return '';var B=markTemp?' _fcktemp="true"':'';return '<style type="text/css"'+B+'>'+styleDef+'</style>';};var C=function(cssFileUrl,markTemp){if (cssFileUrl.length==0) return '';var B=markTemp?' _fcktemp="true"':'';return '<link href="'+cssFileUrl+'" type="text/css" rel="stylesheet" '+B+'/>';};return function(cssFileOrArrayOrDef,markTemp){if (!cssFileOrArrayOrDef) return '';if (typeof(cssFileOrArrayOrDef)=='string'){if (/[\\\/\.][^{}]*$/.test(cssFileOrArrayOrDef)){return this.GetStyleHtml(cssFileOrArrayOrDef.split(','),markTemp);}else return A(this._GetUrlFixedCss(cssFileOrArrayOrDef),markTemp);}else{var E='';for (var i=0;i<cssFileOrArrayOrDef.length;i++) E+=C(cssFileOrArrayOrDef[i],markTemp);return E;}}})();FCKTools.GetElementDocument=function (A){return A.ownerDocument||A.document;};FCKTools.GetElementWindow=function(A){return this.GetDocumentWindow(this.GetElementDocument(A));};FCKTools.GetDocumentWindow=function(A){if (FCKBrowserInfo.IsSafari&&!A.parentWindow) this.FixDocumentParentWindow(window.top);return A.parentWindow||A.defaultView;};FCKTools.FixDocumentParentWindow=function(A){if (A.document) A.document.parentWindow=A;for (var i=0;i<A.frames.length;i++) FCKTools.FixDocumentParentWindow(A.frames[i]);};FCKTools.HTMLEncode=function(A){if (!A) return '';A=A.replace(/&/g,'&amp;');A=A.replace(/</g,'&lt;');A=A.replace(/>/g,'&gt;');return A;};FCKTools.HTMLDecode=function(A){if (!A) return '';A=A.replace(/&gt;/g,'>');A=A.replace(/&lt;/g,'<');A=A.replace(/&amp;/g,'&');return A;};FCKTools._ProcessLineBreaksForPMode=function(A,B,C,D,E){var F=0;var G="<p>";var H="</p>";var I="<br />";if (C){G="<li>";H="</li>";F=1;}while (D&&D!=A.FCK.EditorDocument.body){if (D.tagName.toLowerCase()=='p'){F=1;break;};D=D.parentNode;};for (var i=0;i<B.length;i++){var c=B.charAt(i);if (c=='\r') continue;if (c!='\n'){E.push(c);continue;};var n=B.charAt(i+1);if (n=='\r'){i++;n=B.charAt(i+1);};if (n=='\n'){i++;if (F) E.push(H);E.push(G);F=1;}else E.push(I);}};FCKTools._ProcessLineBreaksForDivMode=function(A,B,C,D,E){var F=0;var G="<div>";var H="</div>";if (C){G="<li>";H="</li>";F=1;}while (D&&D!=A.FCK.EditorDocument.body){if (D.tagName.toLowerCase()=='div'){F=1;break;};D=D.parentNode;};for (var i=0;i<B.length;i++){var c=B.charAt(i);if (c=='\r') continue;if (c!='\n'){E.push(c);continue;};if (F){if (E[E.length-1]==G){E.push("&nbsp;");};E.push(H);};E.push(G);F=1;};if (F) E.push(H);};FCKTools._ProcessLineBreaksForBrMode=function(A,B,C,D,E){var F=0;var G="<br />";var H="";if (C){G="<li>";H="</li>";F=1;};for (var i=0;i<B.length;i++){var c=B.charAt(i);if (c=='\r') continue;if (c!='\n'){E.push(c);continue;};if (F&&H.length) E.push (H);E.push(G);F=1;}};FCKTools.ProcessLineBreaks=function(A,B,C){var D=B.EnterMode.toLowerCase();var E=[];var F=0;var G=new A.FCKDomRange(A.FCK.EditorWindow);G.MoveToSelection();var H=G._Range.startContainer;while (H&&H.nodeType!=1) H=H.parentNode;if (H&&H.tagName.toLowerCase()=='li') F=1;if (D=='p') this._ProcessLineBreaksForPMode(A,C,F,H,E);else if (D=='div') this._ProcessLineBreaksForDivMode(A,C,F,H,E);else if (D=='br') this._ProcessLineBreaksForBrMode(A,C,F,H,E);return E.join("");};FCKTools.AddSelectOption=function(A,B,C){var D=FCKTools.GetElementDocument(A).createElement("OPTION");D.text=B;D.value=C;A.options.add(D);return D;};FCKTools.RunFunction=function(A,B,C,D){if (A) this.SetTimeout(A,0,B,C,D);};FCKTools.SetTimeout=function(A,B,C,D,E){return (E||window).setTimeout(function(){if (D) A.apply(C,[].concat(D));else A.apply(C);},B);};FCKTools.SetInterval=function(A,B,C,D,E){return (E||window).setInterval(function(){A.apply(C,D||[]);},B);};FCKTools.ConvertStyleSizeToHtml=function(A){return A.EndsWith('%')?A:parseInt(A,10);};FCKTools.ConvertHtmlSizeToStyle=function(A){return A.EndsWith('%')?A:(A+'px');};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.CreateEventListener=function(A,B){var f=function(){var C=[];for (var i=0;i<arguments.length;i++) C.push(arguments[i]);A.apply(this,C.concat(B));};return f;};FCKTools.IsStrictMode=function(A){return ('CSS1Compat'==(A.compatMode||(FCKBrowserInfo.IsSafari?'CSS1Compat':null)));};FCKTools.ArgumentsToArray=function(A,B,C){B=B||0;C=C||A.length;var D=[];for (var i=B;i<B+C&&i<A.length;i++) D.push(A[i]);return D;};FCKTools.CloneObject=function(A){var B=function() {};B.prototype=A;return new B;};FCKTools.AppendBogusBr=function(A){if (!A) return;var B=this.GetLastItem(A.getElementsByTagName('br'));if (!B||(B.getAttribute('type',2)!='_moz'&&B.getAttribute('_moz_dirty')==null)){var C=this.GetElementDocument(A);if (FCKBrowserInfo.IsOpera) A.appendChild(C.createTextNode(''));else A.appendChild(this.CreateBogusBR(C));}};FCKTools.GetLastItem=function(A){if (A.length>0) return A[A.length-1];return null;};FCKTools.GetDocumentPosition=function(w,A){var x=0;var y=0;var B=A;var C=null;var D=FCKTools.GetElementWindow(B);while (B&&!(D==w&&(B==w.document.body||B==w.document.documentElement))){x+=B.offsetLeft-B.scrollLeft;y+=B.offsetTop-B.scrollTop;if (!FCKBrowserInfo.IsOpera){var E=C;while (E&&E!=B){x-=E.scrollLeft;y-=E.scrollTop;E=E.parentNode;}};C=B;if (B.offsetParent) B=B.offsetParent;else{if (D!=w){B=D.frameElement;C=null;if (B) D=B.contentWindow.parent;}else B=null;}};if (FCKDomTools.GetCurrentElementStyle(w.document.body,'position')!='static'||(FCKBrowserInfo.IsIE&&FCKDomTools.GetPositionedAncestor(A)==null)){x+=w.document.body.offsetLeft;y+=w.document.body.offsetTop;};return { "x":x,"y":y };};FCKTools.GetWindowPosition=function(w,A){var B=this.GetDocumentPosition(w,A);var C=FCKTools.GetScrollPosition(w);B.x-=C.X;B.y-=C.Y;return B;};FCKTools.ProtectFormStyles=function(A){if (!A||A.nodeType!=1||A.tagName.toLowerCase()!='form') return [];var B=[];var C=['style','className'];for (var i=0;i<C.length;i++){var D=C[i];if (A.elements.namedItem(D)){var E=A.elements.namedItem(D);B.push([E,E.nextSibling]);A.removeChild(E);}};return B;};FCKTools.RestoreFormStyles=function(A,B){if (!A||A.nodeType!=1||A.tagName.toLowerCase()!='form') return;if (B.length>0){for (var i=B.length-1;i>=0;i--){var C=B[i][0];var D=B[i][1];if (D) A.insertBefore(C,D);else A.appendChild(C);}}};FCKTools.GetNextNode=function(A,B){if (A.firstChild) return A.firstChild;else if (A.nextSibling) return A.nextSibling;else{var C=A.parentNode;while (C){if (C==B) return null;if (C.nextSibling) return C.nextSibling;else C=C.parentNode;}};return null;};FCKTools.GetNextTextNode=function(A,B,C){node=this.GetNextNode(A,B);if (C&&node&&C(node)) return null;while (node&&node.nodeType!=3){node=this.GetNextNode(node,B);if (C&&node&&C(node)) return null;};return node;};FCKTools.Merge=function(){var A=arguments;var o=A[0];for (var i=1;i<A.length;i++){var B=A[i];for (var p in B) o[p]=B[p];};return o;};FCKTools.IsArray=function(A){return (A instanceof Array);};FCKTools.AppendLengthProperty=function(A,B){var C=0;for (var n in A) C++;return A[B||'length']=C;};FCKTools.NormalizeCssText=function(A){var B=document.createElement('span');B.style.cssText=A;return B.style.cssText;};FCKTools.Bind=function(A,B){return function(){ return B.apply(A,arguments);};};FCKTools.GetVoidUrl=function(){if (FCK_IS_CUSTOM_DOMAIN) return "javascript: void( function(){document.open();document.write('<html><head><title></title></head><body></body></html>');document.domain = '"+FCK_RUNTIME_DOMAIN+"';document.close();}() ) ;";if (FCKBrowserInfo.IsIE){if (FCKBrowserInfo.IsIE7||!FCKBrowserInfo.IsIE6) return "";else return "javascript: '';";};return "javascript: void(0);";};FCKTools.ResetStyles=function(A){A.style.cssText='margin:0;padding:0;border:0;background-color:transparent;background-image:none;';};\r
+FCKTools.CancelEvent=function(e){if (e) e.preventDefault();};FCKTools.DisableSelection=function(A){if (FCKBrowserInfo.IsGecko) A.style.MozUserSelect='none';else if (FCKBrowserInfo.IsSafari) A.style.KhtmlUserSelect='none';else A.style.userSelect='none';};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.AppendStyleString=function(A,B){if (!B) return null;var e=A.createElement("STYLE");e.appendChild(A.createTextNode(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=[];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].cloneNode(true));e.parentNode.replaceChild(A,e);};FCKTools.CreateXmlObject=function(A){switch (A){case 'XmlHttp':return new XMLHttpRequest();case 'DOMDocument':var B=(new DOMParser()).parseFromString('<tmp></tmp>','text/xml');FCKDomTools.RemoveNode(B.firstChild);return B;};return null;};FCKTools.GetScrollPosition=function(A){return { X:A.pageXOffset,Y:A.pageYOffset };};FCKTools.AddEventListener=function(A,B,C){A.addEventListener(B,C,false);};FCKTools.RemoveEventListener=function(A,B,C){A.removeEventListener(B,C,false);};FCKTools.AddEventListenerEx=function(A,B,C,D){A.addEventListener(B,function(e){C.apply(A,[e].concat(D||[]));},false);};FCKTools.GetViewPaneSize=function(A){return { Width:A.innerWidth,Height:A.innerHeight };};FCKTools.SaveStyles=function(A){var B=FCKTools.ProtectFormStyles(A);var C={};if (A.className.length>0){C.Class=A.className;A.className='';};var D=A.getAttribute('style');if (D&&D.length>0){C.Inline=D;A.setAttribute('style','',0);};FCKTools.RestoreFormStyles(A,B);return C;};FCKTools.RestoreStyles=function(A,B){var C=FCKTools.ProtectFormStyles(A);A.className=B.Class||'';if (B.Inline) A.setAttribute('style',B.Inline,0);else A.removeAttribute('style',0);FCKTools.RestoreFormStyles(A,C);};FCKTools.RegisterDollarFunction=function(A){A.$=function(id){return A.document.getElementById(id);};};FCKTools.AppendElement=function(A,B){return A.appendChild(A.ownerDocument.createElement(B));};FCKTools.GetElementPosition=function(A,B){var c={ X:0,Y:0 };var C=B||window;var D=FCKTools.GetElementWindow(A);var E=null;while (A){var F=D.getComputedStyle(A,'').position;if (F&&F!='static'&&A.style.zIndex!=FCKConfig.FloatingPanelsZIndex) break;c.X+=A.offsetLeft-A.scrollLeft;c.Y+=A.offsetTop-A.scrollTop;if (!FCKBrowserInfo.IsOpera){var G=E;while (G&&G!=A){c.X-=G.scrollLeft;c.Y-=G.scrollTop;G=G.parentNode;}};E=A;if (A.offsetParent) A=A.offsetParent;else{if (D!=C){A=D.frameElement;E=null;if (A) D=FCKTools.GetElementWindow(A);}else{c.X+=A.scrollLeft;c.Y+=A.scrollTop;break;}}};return c;};\r
+var FCKeditorAPI;function InitializeAPI(){var A=window.parent;if (!(FCKeditorAPI=A.FCKeditorAPI)){var B='window.FCKeditorAPI = {Version : "2.6.6",VersionBuild : "25427",Instances : window.FCKeditorAPI && window.FCKeditorAPI.Instances || {},GetInstance : function( name ){return this.Instances[ name ];},_FormSubmit : function(){for ( var name in FCKeditorAPI.Instances ){var oEditor = FCKeditorAPI.Instances[ name ] ;if ( oEditor.GetParentForm && oEditor.GetParentForm() == this )oEditor.UpdateLinkedField() ;}this._FCKOriginalSubmit() ;},_FunctionQueue      : window.FCKeditorAPI && window.FCKeditorAPI._FunctionQueue || {Functions : new Array(),IsRunning : false,Add : function( f ){this.Functions.push( f );if ( !this.IsRunning )this.StartNext();},StartNext : function(){var aQueue = this.Functions ;if ( aQueue.length > 0 ){this.IsRunning = true;aQueue[0].call();}else this.IsRunning = false;},Remove : function( f ){var aQueue = this.Functions;var i = 0, fFunc;while( (fFunc = aQueue[ i ]) ){if ( fFunc == f )aQueue.splice( i,1 );i++ ;}this.StartNext();}}}';if (A.execScript) A.execScript(B,'JavaScript');else{if (FCKBrowserInfo.IsGecko10){eval.call(A,B);}else if(FCKBrowserInfo.IsAIR){FCKAdobeAIR.FCKeditorAPI_Evaluate(A,B);}else if (FCKBrowserInfo.IsSafari){var C=A.document;var D=C.createElement('script');D.appendChild(C.createTextNode(B));C.documentElement.appendChild(D);}else A.eval(B);};FCKeditorAPI=A.FCKeditorAPI;FCKeditorAPI.__Instances=FCKeditorAPI.Instances;};FCKeditorAPI.Instances[FCK.Name]=FCK;};function _AttachFormSubmitToAPI(){var A=FCK.GetParentForm();if (A){FCKTools.AddEventListener(A,'submit',FCK.UpdateLinkedField);if (!A._FCKOriginalSubmit&&(typeof(A.submit)=='function'||(!A.submit.tagName&&!A.submit.length))){A._FCKOriginalSubmit=A.submit;A.submit=FCKeditorAPI._FormSubmit;}}};function FCKeditorAPI_Cleanup(){if (window.FCKConfig&&FCKConfig.MsWebBrowserControlCompat&&!window.FCKUnloadFlag) return;delete FCKeditorAPI.Instances[FCK.Name];};function FCKeditorAPI_ConfirmCleanup(){if (window.FCKConfig&&FCKConfig.MsWebBrowserControlCompat) window.FCKUnloadFlag=true;};FCKTools.AddEventListener(window,'unload',FCKeditorAPI_Cleanup);FCKTools.AddEventListener(window,'beforeunload',FCKeditorAPI_ConfirmCleanup);\r
+var FCKImagePreloader=function(){this._Images=[];};FCKImagePreloader.prototype={AddImages:function(A){if (typeof(A)=='string') A=A.split(';');this._Images=this._Images.concat(A);},Start:function(){var A=this._Images;this._PreloadCount=A.length;for (var i=0;i<A.length;i++){var B=document.createElement('img');FCKTools.AddEventListenerEx(B,'load',_FCKImagePreloader_OnImage,this);FCKTools.AddEventListenerEx(B,'error',_FCKImagePreloader_OnImage,this);B.src=A[i];_FCKImagePreloader_ImageCache.push(B);}}};var _FCKImagePreloader_ImageCache=[];function _FCKImagePreloader_OnImage(A,B){if ((--B._PreloadCount)==0&&B.OnComplete) B.OnComplete();};\r
+var FCKRegexLib={AposEntity:/&apos;/gi,ObjectElements:/^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i,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,BeforeBody:/(^[\s\S]*\<body[^\>]*\>)/i,AfterBody:/(\<\/body\>[\s\S]*$)/i,ToReplace:/___fcktoreplace:([\w]+)/ig,MetaHttpEquiv:/http-equiv\s*=\s*["']?([^"' ]+)/i,HasBaseTag:/<base /i,HasBodyTag:/<body[\s|>]/i,HtmlOpener:/<html\s?[^>]*>/i,HeadOpener:/<head\s?[^>]*>/i,HeadCloser:/<\/head\s*>/i,FCK_Class:/\s*FCK__[^ ]*(?=\s+|$)/,ElementName:/(^[a-z_:][\w.\-:]*\w$)|(^[a-z_]$)/,ForceSimpleAmpersand:/___FCKAmp___/g,SpaceNoClose:/\/>/g,EmptyParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>\s*(<\/\1>)?$/,EmptyOutParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>(?:\s*|&nbsp;|&#160;)(<\/\1>)?$/,TagBody:/></,GeckoEntitiesMarker:/#\?-\:/g,ProtectUrlsImg:/<img(?=\s).*?\ssrc=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,ProtectUrlsA:/<a(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,ProtectUrlsArea:/<area(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,Html4DocType:/HTML 4\.0 Transitional/i,DocTypeTag:/<!DOCTYPE[^>]*>/i,HtmlDocType:/DTD HTML/,TagsWithEvent:/<[^\>]+ on\w+[\s\r\n]*=[\s\r\n]*?('|")[\s\S]+?\>/g,EventAttributes:/\s(on\w+)[\s\r\n]*=[\s\r\n]*?('|")([\s\S]*?)\2/g,ProtectedEvents:/\s\w+_fckprotectedatt="([^"]+)"/g,StyleProperties:/\S+\s*:/g,InvalidSelfCloseTags:/(<(?!base|meta|link|hr|br|param|img|area|input)([a-zA-Z0-9:]+)[^>]*)\/>/gi,StyleVariableAttName:/#\(\s*("|')(.+?)\1[^\)]*\s*\)/g,RegExp:/^\/(.*)\/([gim]*)$/,HtmlTag:/<[^\s<>](?:"[^"]*"|'[^']*'|[^<])*>/};\r
+var FCKListsLib={BlockElements:{ address:1,blockquote:1,center:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,marquee:1,noscript:1,ol:1,p:1,pre:1,script:1,table:1,ul:1 },NonEmptyBlockElements:{ p:1,div:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,address:1,pre:1,ol:1,ul:1,li:1,td:1,th:1 },InlineChildReqElements:{ abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },InlineNonEmptyElements:{ a:1,abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },EmptyElements:{ base:1,col:1,meta:1,link:1,hr:1,br:1,param:1,img:1,area:1,input:1 },PathBlockElements:{ address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,li:1,dt:1,de:1 },PathBlockLimitElements:{ body:1,div:1,td:1,th:1,caption:1,form:1 },StyleBlockElements:{ address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1 },StyleObjectElements:{ img:1,hr:1,li:1,table:1,tr:1,td:1,embed:1,object:1,ol:1,ul:1 },NonEditableElements:{ button:1,option:1,script:1,iframe:1,textarea:1,object:1,embed:1,map:1,applet:1 },BlockBoundaries:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,address:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1,table:1,thead:1,tbody:1,tfoot:1,tr:1,th:1,td:1,caption:1,col:1,colgroup:1,blockquote:1,body:1 },ListBoundaries:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,address:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1,table:1,thead:1,tbody:1,tfoot:1,tr:1,th:1,td:1,caption:1,col:1,colgroup:1,blockquote:1,body:1,br:1 }};\r
+var FCKLanguageManager=FCK.Language={AvailableLanguages:{af:'Afrikaans',ar:'Arabic',bg:'Bulgarian',bn:'Bengali/Bangla',bs:'Bosnian',ca:'Catalan',cs:'Czech',da:'Danish',de:'German',el:'Greek',en:'English','en-au':'English (Australia)','en-ca':'English (Canadian)','en-uk':'English (United Kingdom)',eo:'Esperanto',es:'Spanish',et:'Estonian',eu:'Basque',fa:'Persian',fi:'Finnish',fo:'Faroese',fr:'French','fr-ca':'French (Canada)',gl:'Galician',gu:'Gujarati',he:'Hebrew',hi:'Hindi',hr:'Croatian',hu:'Hungarian',is:'Icelandic',it:'Italian',ja:'Japanese',km:'Khmer',ko:'Korean',lt:'Lithuanian',lv:'Latvian',mn:'Mongolian',ms:'Malay',nb:'Norwegian Bokmal',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'},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;},TranslateElements:function(A,B,C,D){var e=A.getElementsByTagName(B);var E,s;for (var i=0;i<e.length;i++){if ((E=e[i].getAttribute('fckLang'))){if ((s=FCKLang[E])){if (D) s=FCKTools.HTMLEncode(s);e[i][C]=s;}}}},TranslatePage:function(A){this.TranslateElements(A,'INPUT','value');this.TranslateElements(A,'SPAN','innerHTML');this.TranslateElements(A,'LABEL','innerHTML');this.TranslateElements(A,'OPTION','innerHTML',true);this.TranslateElements(A,'LEGEND','innerHTML');},Initialize:function(){if (this.AvailableLanguages[FCKConfig.DefaultLanguage]) this.DefaultLanguage=FCKConfig.DefaultLanguage;else this.DefaultLanguage='en';this.ActiveLanguage={};this.ActiveLanguage.Code=this.GetActiveLanguage();this.ActiveLanguage.Name=this.AvailableLanguages[this.ActiveLanguage.Code];}};\r
+var FCKXHtmlEntities={};FCKXHtmlEntities.Initialize=function(){if (FCKXHtmlEntities.Entities) return;var A='';var B,e;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','\u2308':'lceil','\u2309':'rceil','\u230a':'lfloor','\u230b':'rfloor','\u2329':'lang','\u232a':'rang','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','>':'gt','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};for (e in FCKXHtmlEntities.Entities) A+=e;if (FCKConfig.IncludeLatinEntities){B={'À':'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 (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;};if (FCKConfig.IncludeGreekEntities){B={'Α':'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','\u03d1':'thetasym','\u03d2':'upsih','\u03d6':'piv'};for (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;}}else{FCKXHtmlEntities.Entities={'>':'gt'};A='>';A+=' ';};var C='['+A+']';if (FCKConfig.ProcessNumericEntities) C='[^ -~]|'+C;var D=FCKConfig.AdditionalNumericEntities;if (D&&D.length>0) C+='|'+FCKConfig.AdditionalNumericEntities;FCKXHtmlEntities.EntitiesRegex=new RegExp(C,'g');};\r
+var FCKXHtml={};FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKDomTools.CheckAndRemovePaddingNode(FCKTools.GetElementDocument(A),FCKConfig.EnterMode);FCKXHtmlEntities.Initialize();this._NbspEntity=(FCKConfig.ProcessHTMLEntities?'nbsp':'#160');var D=FCK.IsDirty();FCKXHtml.SpecialBlocks=[];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);if (FCKBrowserInfo.IsIE) FCKXHtml._RemoveXHtmlJobProperties(A);var E=this._GetMainXmlString();this.XML=null;if (FCKBrowserInfo.IsSafari) E=E.replace(/^<xhtml.*?>/,'<xhtml>');E=E.substr(7,E.length-15).Trim();if (FCKConfig.DocType.length>0&&FCKRegexLib.HtmlDocType.test(FCKConfig.DocType)) E=E.replace(FCKRegexLib.SpaceNoClose,'>');else E=E.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) E=E.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) E=FCKCodeFormatter.Format(E);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var F=new RegExp('___FCKsi___'+i);E=E.replace(F,FCKXHtml.SpecialBlocks[i]);};E=E.replace(FCKRegexLib.GeckoEntitiesMarker,'&');if (!D) FCK.ResetIsDirty();FCKDomTools.EnforcePaddingNode(FCKTools.GetElementDocument(A),FCKConfig.EnterMode);return E;};FCKXHtml._AppendAttribute=function(A,B,C){try{if (C==undefined||C==null) C='';else if (C.replace){if (FCKConfig.ForceSimpleAmpersand) C=C.replace(/&/g,'___FCKAmp___');C=C.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity);};var D=this.XML.createAttribute(B);D.value=C;A.attributes.setNamedItem(D);}catch (e){}};FCKXHtml._AppendChildNodes=function(A,B,C){var D=B.firstChild;while (D){this._AppendNode(A,D);D=D.nextSibling;};if (C&&B.tagName&&B.tagName.toLowerCase()!='pre'){FCKDomTools.TrimNode(A);if (FCKConfig.FillEmptyBlocks){var E=A.lastChild;if (E&&E.nodeType==1&&E.nodeName=='br') this._AppendEntity(A,this._NbspEntity);}};if (A.childNodes.length==0){if (C&&FCKConfig.FillEmptyBlocks){this._AppendEntity(A,this._NbspEntity);return A;};var F=A.nodeName;if (FCKListsLib.InlineChildReqElements[F]) return null;if (!FCKListsLib.EmptyElements[F]) A.appendChild(this.XML.createTextNode(''));};return A;};FCKXHtml._AppendNode=function(A,B){if (!B) return false;switch (B.nodeType){case 1:if (FCKBrowserInfo.IsGecko&&B.tagName.toLowerCase()=='br'&&B.parentNode.tagName.toLowerCase()=='pre'){var C='\r';if (B==B.parentNode.firstChild) C+='\r';return FCKXHtml._AppendNode(A,this.XML.createTextNode(C));};if (B.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(A,FCK.GetRealElement(B));if (FCKBrowserInfo.IsGecko&&(B.hasAttribute('_moz_editor_bogus_node')||B.getAttribute('type')=='_moz')){if (B.nextSibling) return false;else{B.removeAttribute('_moz_editor_bogus_node');B.removeAttribute('type');}};if (B.getAttribute('_fcktemp')) return false;var D=B.tagName.toLowerCase();if (FCKBrowserInfo.IsIE){if (B.scopeName&&B.scopeName!='HTML'&&B.scopeName!='FCK') D=B.scopeName.toLowerCase()+':'+D;}else{if (D.StartsWith('fck:')) D=D.Remove(0,4);};if (!FCKRegexLib.ElementName.test(D)) return false;if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;var E=this.XML.createElement(D);FCKXHtml._AppendAttributes(A,B,E,D);B._fckxhtmljob=FCKXHtml.CurrentJobNum;var F=FCKXHtml.TagProcessors[D];if (F) E=F(E,B,A);else E=this._AppendChildNodes(E,B,Boolean(FCKListsLib.NonEmptyBlockElements[D]));if (!E) return false;A.appendChild(E);break;case 3:if (B.parentNode&&B.parentNode.nodeName.IEquals('pre')) return this._AppendTextNode(A,B.nodeValue);return this._AppendTextNode(A,B.nodeValue.ReplaceNewLineChars(' '));case 8:if (FCKBrowserInfo.IsIE&&!B.innerHTML) break;try { A.appendChild(this.XML.createComment(B.nodeValue));}catch (e) {};break;default:A.appendChild(this.XML.createComment("Element not supported - Type: "+B.nodeType+" Name: "+B.nodeName));break;};return true;};FCKXHtml._AppendSpecialItem=function(A){return '___FCKsi___'+(FCKXHtml.SpecialBlocks.push(A)-1);};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createTextNode('#?-:'+B+';'));};FCKXHtml._AppendTextNode=function(A,B){var C=B.length>0;if (C) A.appendChild(this.XML.createTextNode(B.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity)));return C;};function FCKXHtml_GetEntity(A){var B=FCKXHtmlEntities.Entities[A]||('#'+A.charCodeAt(0));return '#?-:'+B+';';};FCKXHtml.TagProcessors={a:function(A,B){if (B.innerHTML.Trim().length==0&&!B.name) return false;var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);};A=FCKXHtml._AppendChildNodes(A,B,false);return A;},area:function(A,B){var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){if (!A.attributes.getNamedItem('coords')){var D=B.getAttribute('coords',2);if (D&&D!='0,0,0') FCKXHtml._AppendAttribute(A,'coords',D);};if (!A.attributes.getNamedItem('shape')){var E=B.getAttribute('shape',2);if (E&&E.length>0) FCKXHtml._AppendAttribute(A,'shape',E.toLowerCase());}};return A;},body:function(A,B){A=FCKXHtml._AppendChildNodes(A,B,false);A.removeAttribute('spellcheck');return A;},iframe:function(A,B){var C=B.innerHTML;if (FCKBrowserInfo.IsGecko) C=FCKTools.HTMLDecode(C);C=C.replace(/\s_fcksavedurl="[^"]*"/g,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;},img:function(A,B){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'src',C);if (B.style.width) A.removeAttribute('width');if (B.style.height) A.removeAttribute('height');return A;},li:function(A,B,C){if (C.nodeName.IEquals(['ul','ol'])) return FCKXHtml._AppendChildNodes(A,B,true);var D=FCKXHtml.XML.createElement('ul');B._fckxhtmljob=null;do{FCKXHtml._AppendNode(D,B);do{B=FCKDomTools.GetNextSibling(B);} while (B&&B.nodeType==3&&B.nodeValue.Trim().length==0)}      while (B&&B.nodeName.toLowerCase()=='li') return D;},ol:function(A,B,C){if (B.innerHTML.Trim().length==0) return false;var D=C.lastChild;if (D&&D.nodeType==3) D=D.previousSibling;if (D&&D.nodeName.toUpperCase()=='LI'){B._fckxhtmljob=null;FCKXHtml._AppendNode(D,B);return false;};A=FCKXHtml._AppendChildNodes(A,B);return A;},pre:function (A,B){var C=B.firstChild;if (C&&C.nodeType==3) A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem('\r\n')));FCKXHtml._AppendChildNodes(A,B,true);return A;},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;},span:function(A,B){if (B.innerHTML.length==0) return false;A=FCKXHtml._AppendChildNodes(A,B,false);return A;},style:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');var C=B.innerHTML;if (FCKBrowserInfo.IsIE) C=C.replace(/^(\r\n|\n|\r)/,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;},title:function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;}};FCKXHtml.TagProcessors.ul=FCKXHtml.TagProcessors.ol;\r
+FCKXHtml._GetMainXmlString=function(){return (new XMLSerializer()).serializeToString(this.MainNode);};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.StartsWith('_fck')) continue;else if (F.indexOf('_moz')==0) continue;else if (F=='class'){G=E.nodeValue.replace(FCKRegexLib.FCK_Class,'');if (G.length==0) continue;}else if (E.nodeValue===true) G=F;else G=B.getAttribute(F,2);this._AppendAttribute(C,F,G);}}};if (FCKBrowserInfo.IsOpera){FCKXHtml.TagProcessors['head']=function(A,B){FCKXHtml.XML._HeadElement=A;A=FCKXHtml._AppendChildNodes(A,B,true);return A;};FCKXHtml.TagProcessors['meta']=function(A,B,C){if (B.parentNode.nodeName.toLowerCase()!='head'){var D=FCKXHtml.XML._HeadElement;if (D&&C!=D){delete B._fckxhtmljob;FCKXHtml._AppendNode(D,B);return null;}};return A;}};if (FCKBrowserInfo.IsGecko){FCKXHtml.TagProcessors['link']=function(A,B){if (B.href.substr(0,9).toLowerCase()=='chrome://') return false;return A;}};\r
+var FCKCodeFormatter={};FCKCodeFormatter.Init=function(){var A=this.Regex={};A.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DL|DT|DD|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DL|DT|DD|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.NewLineTags=/\<(BR|HR)[^\>]*\>/gi;A.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;A.LineSplitter=/\s*\n+\s*/g;A.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL|DL)[ \/\>]/i;A.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL|DL)[ \>]/i;A.FormatIndentatorRemove=new RegExp('^'+FCKConfig.FormatIndentator);A.ProtectedTags=/(<PRE[^>]*>)([\s\S]*?)(<\/PRE>)/gi;};FCKCodeFormatter._ProtectData=function(A,B,C,D){return B+'___FCKpd___'+(FCKCodeFormatter.ProtectedData.push(C)-1)+D;};FCKCodeFormatter.Format=function(A){if (!this.Regex) this.Init();FCKCodeFormatter.ProtectedData=[];var B=A.replace(this.Regex.ProtectedTags,FCKCodeFormatter._ProtectData);B=B.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;};for (var j=0;j<FCKCodeFormatter.ProtectedData.length;j++){var F=new RegExp('___FCKpd___'+j);B=B.replace(F,FCKCodeFormatter.ProtectedData[j].replace(/\$/g,'$$$$'));};return B.Trim();};\r
+var FCKUndo={};FCKUndo.SavedData=[];FCKUndo.CurrentIndex=-1;FCKUndo.TypesCount=0;FCKUndo.Changed=false;FCKUndo.MaxTypes=25;FCKUndo.Typing=false;FCKUndo.SaveLocked=false;FCKUndo._GetBookmark=function(){FCKSelection.Restore();var A=new FCKDomRange(FCK.EditorWindow);try{A.MoveToSelection();}catch (e){return null;};if (FCKBrowserInfo.IsIE){var B=A.CreateBookmark();var C=FCK.EditorDocument.body.innerHTML;A.MoveToBookmark(B);return [B,C];};return A.CreateBookmark2();};FCKUndo._SelectBookmark=function(A){if (!A) return;var B=new FCKDomRange(FCK.EditorWindow);if (A instanceof Object){if (FCKBrowserInfo.IsIE) B.MoveToBookmark(A[0]);else B.MoveToBookmark2(A);try{B.Select();}catch (e){B.MoveToPosition(FCK.EditorDocument.body,4);B.Select();}}};FCKUndo._CompareCursors=function(A,B){for (var i=0;i<Math.min(A.length,B.length);i++){if (A[i]<B[i]) return-1;else if (A[i]>B[i]) return 1;};if (A.length<B.length) return-1;else if (A.length>B.length) return 1;return 0;};FCKUndo._CheckIsBookmarksEqual=function(A,B){if (!(A&&B)) return false;if (FCKBrowserInfo.IsIE){var C=A[1].search(A[0].StartId);var D=B[1].search(B[0].StartId);var E=A[1].search(A[0].EndId);var F=B[1].search(B[0].EndId);return C==D&&E==F;}else{return this._CompareCursors(A.Start,B.Start)==0&&this._CompareCursors(A.End,B.End)==0;}};FCKUndo.SaveUndoStep=function(){if (FCK.EditMode!=0||this.SaveLocked) return;if (this.SavedData.length) this.Changed=true;var A=FCK.EditorDocument.body.innerHTML;var B=this._GetBookmark();this.SavedData=this.SavedData.slice(0,this.CurrentIndex+1);if (this.CurrentIndex>0&&A==this.SavedData[this.CurrentIndex][0]&&this._CheckIsBookmarksEqual(B,this.SavedData[this.CurrentIndex][1])) return;else if (this.CurrentIndex==0&&this.SavedData.length&&A==this.SavedData[0][0]){this.SavedData[0][1]=B;return;};if (this.CurrentIndex+1>=FCKConfig.MaxUndoLevels) this.SavedData.shift();else this.CurrentIndex++;this.SavedData[this.CurrentIndex]=[A,B];FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.CheckUndoState=function(){return (this.Changed||this.CurrentIndex>0);};FCKUndo.CheckRedoState=function(){return (this.CurrentIndex<(this.SavedData.length-1));};FCKUndo.Undo=function(){if (this.CheckUndoState()){if (this.CurrentIndex==(this.SavedData.length-1)){this.SaveUndoStep();};this._ApplyUndoLevel(--this.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo.Redo=function(){if (this.CheckRedoState()){this._ApplyUndoLevel(++this.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo._ApplyUndoLevel=function(A){var B=this.SavedData[A];if (!B) return;if (FCKBrowserInfo.IsIE){if (B[1]&&B[1][1]) FCK.SetInnerHtml(B[1][1]);else FCK.SetInnerHtml(B[0]);}else FCK.EditorDocument.body.innerHTML=B[0];this._SelectBookmark(B[1]);this.TypesCount=0;this.Changed=false;this.Typing=false;};\r
+var FCKEditingArea=function(A){this.TargetElement=A;this.Mode=0;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKEditingArea_Cleanup);};FCKEditingArea.prototype.Start=function(A,B){var C=this.TargetElement;var D=FCKTools.GetElementDocument(C);while(C.firstChild) C.removeChild(C.firstChild);if (this.Mode==0){if (FCK_IS_CUSTOM_DOMAIN) A='<script>document.domain="'+FCK_RUNTIME_DOMAIN+'";</script>'+A;if (FCKBrowserInfo.IsIE) A=A.replace(/(<base[^>]*?)\s*\/?>(?!\s*<\/base>)/gi,'$1></base>');else if (!B){var E=A.match(FCKRegexLib.BeforeBody);var F=A.match(FCKRegexLib.AfterBody);if (E&&F){var G=A.substr(E[1].length,A.length-E[1].length-F[1].length);A=E[1]+'&nbsp;'+F[1];if (FCKBrowserInfo.IsGecko&&(G.length==0||FCKRegexLib.EmptyParagraph.test(G))) G='<br type="_moz">';this._BodyHTML=G;}else this._BodyHTML=A;};var H=this.IFrame=D.createElement('iframe');var I='<script type="text/javascript" _fcktemp="true">window.onerror=function(){return true;};</script>';H.frameBorder=0;H.style.width=H.style.height='100%';if (FCK_IS_CUSTOM_DOMAIN&&FCKBrowserInfo.IsIE){window._FCKHtmlToLoad=A.replace(/<head>/i,'<head>'+I);H.src='javascript:void( (function(){document.open() ;document.domain="'+document.domain+'" ;document.write( window.parent._FCKHtmlToLoad );document.close() ;window.parent._FCKHtmlToLoad = null ;})() )';}else if (!FCKBrowserInfo.IsGecko){H.src='javascript:void(0)';};C.appendChild(H);this.Window=H.contentWindow;if (!FCK_IS_CUSTOM_DOMAIN||!FCKBrowserInfo.IsIE){var J=this.Window.document;J.open();J.write(A.replace(/<head>/i,'<head>'+I));J.close();};if (FCKBrowserInfo.IsAIR) FCKAdobeAIR.EditingArea_Start(J,A);if (FCKBrowserInfo.IsGecko10&&!B){this.Start(A,true);return;};if (H.readyState&&H.readyState!='completed'){var K=this;setTimeout(function(){try{K.Window.document.documentElement.doScroll("left");}catch(e){setTimeout(arguments.callee,0);return;};K.Window._FCKEditingArea=K;FCKEditingArea_CompleteStart.call(K.Window);},0);}else{this.Window._FCKEditingArea=this;if (FCKBrowserInfo.IsGecko10) this.Window.setTimeout(FCKEditingArea_CompleteStart,500);else FCKEditingArea_CompleteStart.call(this.Window);}}else{var L=this.Textarea=D.createElement('textarea');L.className='SourceField';L.dir='ltr';FCKDomTools.SetElementStyles(L,{width:'100%',height:'100%',border:'none',resize:'none',outline:'none'});C.appendChild(L);L.value=A;FCKTools.RunFunction(this.OnLoad);}};function FCKEditingArea_CompleteStart(){if (!this.document.body){this.setTimeout(FCKEditingArea_CompleteStart,50);return;};var A=this._FCKEditingArea;A.Document=A.Window.document;A.MakeEditable();FCKTools.RunFunction(A.OnLoad);};FCKEditingArea.prototype.MakeEditable=function(){var A=this.Document;if (FCKBrowserInfo.IsIE){A.body.disabled=true;A.body.contentEditable=true;A.body.removeAttribute("disabled");}else{try{A.body.spellcheck=(this.FFSpellChecker!==false);if (this._BodyHTML){A.body.innerHTML=this._BodyHTML;A.body.offsetLeft;this._BodyHTML=null;};A.designMode='on';A.execCommand('enableObjectResizing',false,!FCKConfig.DisableObjectResizing);A.execCommand('enableInlineTableEditing',false,!FCKConfig.DisableFFTableHandles);}catch (e){FCKTools.AddEventListener(this.Window.frameElement,'DOMAttrModified',FCKEditingArea_Document_AttributeNodeModified);}}};function FCKEditingArea_Document_AttributeNodeModified(A){var B=A.currentTarget.contentWindow._FCKEditingArea;if (B._timer) window.clearTimeout(B._timer);B._timer=FCKTools.SetTimeout(FCKEditingArea_MakeEditableByMutation,1000,B);};function FCKEditingArea_MakeEditableByMutation(){delete this._timer;FCKTools.RemoveEventListener(this.Window.frameElement,'DOMAttrModified',FCKEditingArea_Document_AttributeNodeModified);this.MakeEditable();};FCKEditingArea.prototype.Focus=function(){try{if (this.Mode==0){if (FCKBrowserInfo.IsIE) this._FocusIE();else this.Window.focus();}else{var A=FCKTools.GetElementDocument(this.Textarea);if ((!A.hasFocus||A.hasFocus())&&A.activeElement==this.Textarea) return;this.Textarea.focus();}}catch(e) {}};FCKEditingArea.prototype._FocusIE=function(){this.Document.body.setActive();this.Window.focus();var A=this.Document.selection.createRange();var B=A.parentElement();var C=B.nodeName.toLowerCase();if (B.childNodes.length>0||!(FCKListsLib.BlockElements[C]||FCKListsLib.NonEmptyBlockElements[C])){return;};A=new FCKDomRange(this.Window);A.MoveToElementEditStart(B);A.Select();};function FCKEditingArea_Cleanup(){if (this.Document){this.Document.selection.empty();this.Document.body.innerHTML="";};this.TargetElement=null;this.IFrame=null;this.Document=null;this.Textarea=null;if (this.Window){this.Window._FCKEditingArea=null;this.Window=null;}};\r
+var FCKKeystrokeHandler=function(A){this.Keystrokes={};this.CancelCtrlDefaults=(A!==false);};FCKKeystrokeHandler.prototype.AttachToElement=function(A){FCKTools.AddEventListenerEx(A,'keydown',_FCKKeystrokeHandler_OnKeyDown,this);if (FCKBrowserInfo.IsGecko10||FCKBrowserInfo.IsOpera||(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac)) FCKTools.AddEventListenerEx(A,'keypress',_FCKKeystrokeHandler_OnKeyPress,this);};FCKKeystrokeHandler.prototype.SetKeystrokes=function(){for (var i=0;i<arguments.length;i++){var A=arguments[i];if (!A) continue;if (typeof(A[0])=='object') this.SetKeystrokes.apply(this,A);else{if (A.length==1) delete this.Keystrokes[A[0]];else this.Keystrokes[A[0]]=A[1]===true?true:A;}}};function _FCKKeystrokeHandler_OnKeyDown(A,B){var C=A.keyCode||A.which;var D=0;if (A.ctrlKey||A.metaKey) D+=CTRL;if (A.shiftKey) D+=SHIFT;if (A.altKey) D+=ALT;var E=C+D;var F=B._CancelIt=false;var G=B.Keystrokes[E];if (G){if (G===true||!(B.OnKeystroke&&B.OnKeystroke.apply(B,G))) return true;F=true;};if (F||(B.CancelCtrlDefaults&&D==CTRL&&(C<33||C>40))){B._CancelIt=true;if (A.preventDefault) return A.preventDefault();A.returnValue=false;A.cancelBubble=true;return false;};return true;};function _FCKKeystrokeHandler_OnKeyPress(A,B){if (B._CancelIt){if (A.preventDefault) return A.preventDefault();return false;};return true;};\r
+FCK.DTD=(function(){var X=FCKTools.Merge;var A,L,J,M,N,O,D,H,P,K,Q,F,G,C,B,E,I;A={isindex:1,fieldset:1};B={input:1,button:1,select:1,textarea:1,label:1};C=X({a:1},B);D=X({iframe:1},C);E={hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1};F={ins:1,del:1,script:1};G=X({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},F);H=X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},G);I=X({p:1},H);J=X({iframe:1},H,B);K={img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1};L=X({a:1},J);M={tr:1};N={'#':1};O=X({param:1},K);P=X({form:1},A,D,E,I);Q={li:1};return {col:{},tr:{td:1,th:1},img:{},colgroup:{col:1},noscript:P,td:P,br:{},th:P,center:P,kbd:L,button:X(I,E),basefont:{},h5:L,h4:L,samp:L,h6:L,ol:Q,h1:L,h3:L,option:N,h2:L,form:X(A,D,E,I),select:{optgroup:1,option:1},font:J,ins:P,menu:Q,abbr:L,label:L,table:{thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},code:L,script:N,tfoot:M,cite:L,li:P,input:{},iframe:P,strong:J,textarea:N,noframes:P,big:J,small:J,span:J,hr:{},dt:L,sub:J,optgroup:{option:1},param:{},bdo:L,'var':J,div:P,object:O,sup:J,dd:P,strike:J,area:{},dir:Q,map:X({area:1,form:1,p:1},A,F,E),applet:O,dl:{dt:1,dd:1},del:P,isindex:{},fieldset:X({legend:1},K),thead:M,ul:Q,acronym:L,b:J,a:J,blockquote:P,caption:L,i:J,u:J,tbody:M,s:L,address:X(D,I),tt:J,legend:L,q:L,pre:X(G,C),p:L,em:J,dfn:L};})();\r
+var FCKStyle=function(A){this.Element=(A.Element||'span').toLowerCase();this._StyleDesc=A;};FCKStyle.prototype={GetType:function(){var A=this.GetType_$;if (A!=undefined) return A;var B=this.Element;if (B=='#'||FCKListsLib.StyleBlockElements[B]) A=0;else if (FCKListsLib.StyleObjectElements[B]) A=2;else A=1;return (this.GetType_$=A);},ApplyToSelection:function(A){var B=new FCKDomRange(A);B.MoveToSelection();this.ApplyToRange(B,true);},ApplyToRange:function(A,B,C){switch (this.GetType()){case 0:this.ApplyToRange=this._ApplyBlockStyle;break;case 1:this.ApplyToRange=this._ApplyInlineStyle;break;default:return;};this.ApplyToRange(A,B,C);},ApplyToObject:function(A){if (!A) return;this.BuildElement(null,A);},RemoveFromSelection:function(A){var B=new FCKDomRange(A);B.MoveToSelection();this.RemoveFromRange(B,true);},RemoveFromRange:function(A,B,C){var D;var E=this._GetAttribsForComparison();var F=this._GetOverridesForComparison();if (A.CheckIsCollapsed()){var D=A.CreateBookmark(true);var H=A.GetBookmarkNode(D,true);var I=new FCKElementPath(H.parentNode);var J=[];var K=!FCKDomTools.GetNextSibling(H);var L=K||!FCKDomTools.GetPreviousSibling(H);var M;var N=-1;for (var i=0;i<I.Elements.length;i++){var O=I.Elements[i];if (this.CheckElementRemovable(O)){if (L&&!FCKDomTools.CheckIsEmptyElement(O,function(el){return (el!=H);})){M=O;N=J.length-1;}else{var P=O.nodeName.toLowerCase();if (P==this.Element){for (var Q in E){if (FCKDomTools.HasAttribute(O,Q)){switch (Q){case 'style':this._RemoveStylesFromElement(O);break;case 'class':if (FCKDomTools.GetAttributeValue(O,Q)!=this.GetFinalAttributeValue(Q)) continue;default:FCKDomTools.RemoveAttribute(O,Q);}}}};this._RemoveOverrides(O,F[P]);if (this.GetType()==1) this._RemoveNoAttribElement(O);}}else if (L) J.push(O);L=L&&((K&&!FCKDomTools.GetNextSibling(O))||(!K&&!FCKDomTools.GetPreviousSibling(O)));if (M&&(!L||(i==I.Elements.length-1))){var R=FCKDomTools.RemoveNode(H);for (var j=0;j<=N;j++){var S=FCKDomTools.CloneElement(J[j]);S.appendChild(R);R=S;};if (K) FCKDomTools.InsertAfterNode(M,R);else M.parentNode.insertBefore(R,M);L=false;M=null;}};if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);return;};A.Expand('inline_elements');D=A.CreateBookmark(true);var T=A.GetBookmarkNode(D,true);var U=A.GetBookmarkNode(D,false);A.Release(true);var I=new FCKElementPath(T);var X=I.Elements;var O;for (var i=1;i<X.length;i++){O=X[i];if (O==I.Block||O==I.BlockLimit) break;if (this.CheckElementRemovable(O)) FCKDomTools.BreakParent(T,O,A);};I=new FCKElementPath(U);X=I.Elements;for (var i=1;i<X.length;i++){O=X[i];if (O==I.Block||O==I.BlockLimit) break;b=O.nodeName.toLowerCase();if (this.CheckElementRemovable(O)) FCKDomTools.BreakParent(U,O,A);};var Z=FCKDomTools.GetNextSourceNode(T,true);while (Z){var a=FCKDomTools.GetNextSourceNode(Z);if (Z.nodeType==1){var b=Z.nodeName.toLowerCase();var c=(b==this.Element);if (c){for (var Q in E){if (FCKDomTools.HasAttribute(Z,Q)){switch (Q){case 'style':this._RemoveStylesFromElement(Z);break;case 'class':if (FCKDomTools.GetAttributeValue(Z,Q)!=this.GetFinalAttributeValue(Q)) continue;default:FCKDomTools.RemoveAttribute(Z,Q);}}}}else c=!!F[b];if (c){this._RemoveOverrides(Z,F[b]);this._RemoveNoAttribElement(Z);}};if (a==U) break;Z=a;};this._FixBookmarkStart(T);if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);},CheckElementRemovable:function(A,B){if (!A) return false;var C=A.nodeName.toLowerCase();if (C==this.Element){if (!B&&!FCKDomTools.HasAttributes(A)) return true;var D=this._GetAttribsForComparison();var E=(D._length==0);for (var F in D){if (F=='_length') continue;if (this._CompareAttributeValues(F,FCKDomTools.GetAttributeValue(A,F),(this.GetFinalAttributeValue(F)||''))){E=true;if (!B) break;}else{E=false;if (B) return false;}};if (E) return true;};var G=this._GetOverridesForComparison()[C];if (G){if (!(D=G.Attributes)) return true;for (var i=0;i<D.length;i++){var H=D[i][0];if (FCKDomTools.HasAttribute(A,H)){var I=D[i][1];if (I==null||(typeof I=='string'&&FCKDomTools.GetAttributeValue(A,H)==I)||I.test(FCKDomTools.GetAttributeValue(A,H))) return true;}}};return false;},CheckActive:function(A){switch (this.GetType()){case 0:return this.CheckElementRemovable(A.Block||A.BlockLimit,true);case 1:var B=A.Elements;for (var i=0;i<B.length;i++){var C=B[i];if (C==A.Block||C==A.BlockLimit) continue;if (this.CheckElementRemovable(C,true)) return true;}};return false;},RemoveFromElement:function(A){var B=this._GetAttribsForComparison();var C=this._GetOverridesForComparison();var D=A.getElementsByTagName(this.Element);for (var i=D.length-1;i>=0;i--){var E=D[i];for (var F in B){if (FCKDomTools.HasAttribute(E,F)){switch (F){case 'style':this._RemoveStylesFromElement(E);break;case 'class':if (FCKDomTools.GetAttributeValue(E,F)!=this.GetFinalAttributeValue(F)) continue;default:FCKDomTools.RemoveAttribute(E,F);}}};this._RemoveOverrides(E,C[this.Element]);this._RemoveNoAttribElement(E);};for (var G in C){if (G!=this.Element){D=A.getElementsByTagName(G);for (var i=D.length-1;i>=0;i--){var E=D[i];this._RemoveOverrides(E,C[G]);this._RemoveNoAttribElement(E);}}}},_RemoveStylesFromElement:function(A){var B=A.style.cssText;var C=this.GetFinalStyleValue();if (B.length>0&&C.length==0) return;C='(^|;)\\s*('+C.replace(/\s*([^ ]+):.*?(;|$)/g,'$1|').replace(/\|$/,'')+'):[^;]+';var D=new RegExp(C,'gi');B=B.replace(D,'').Trim();if (B.length==0||B==';') FCKDomTools.RemoveAttribute(A,'style');else A.style.cssText=B.replace(D,'');},_RemoveOverrides:function(A,B){var C=B&&B.Attributes;if (C){for (var i=0;i<C.length;i++){var D=C[i][0];if (FCKDomTools.HasAttribute(A,D)){var E=C[i][1];if (E==null||(E.test&&E.test(FCKDomTools.GetAttributeValue(A,D)))||(typeof E=='string'&&FCKDomTools.GetAttributeValue(A,D)==E)) FCKDomTools.RemoveAttribute(A,D);}}}},_RemoveNoAttribElement:function(A){if (!FCKDomTools.HasAttributes(A)){var B=A.firstChild;var C=A.lastChild;FCKDomTools.RemoveNode(A,true);this._MergeSiblings(B);if (B!=C) this._MergeSiblings(C);}},BuildElement:function(A,B){var C=B||A.createElement(this.Element);var D=this._StyleDesc.Attributes;var E;if (D){for (var F in D){E=this.GetFinalAttributeValue(F);if (F.toLowerCase()=='class') C.className=E;else C.setAttribute(F,E);}};if (this._GetStyleText().length>0) C.style.cssText=this.GetFinalStyleValue();return C;},_CompareAttributeValues:function(A,B,C){if (A=='style'&&B&&C){B=B.replace(/;$/,'').toLowerCase();C=C.replace(/;$/,'').toLowerCase();};return (B==C||((B===null||B==='')&&(C===null||C==='')))},GetFinalAttributeValue:function(A){var B=this._StyleDesc.Attributes;var B=B?B[A]:null;if (!B&&A=='style') return this.GetFinalStyleValue();if (B&&this._Variables) B=B.Replace(FCKRegexLib.StyleVariableAttName,this._GetVariableReplace,this);return B;},GetFinalStyleValue:function(){var A=this._GetStyleText();if (A.length>0&&this._Variables){A=A.Replace(FCKRegexLib.StyleVariableAttName,this._GetVariableReplace,this);A=FCKTools.NormalizeCssText(A);};return A;},_GetVariableReplace:function(){return this._Variables[arguments[2]]||arguments[0];},SetVariable:function(A,B){var C=this._Variables;if (!C) C=this._Variables={};this._Variables[A]=B;},_FromPre:function(A,B,C){var D=B.innerHTML;D=D.replace(/(\r\n|\r)/g,'\n');D=D.replace(/^[ \t]*\n/,'');D=D.replace(/\n$/,'');D=D.replace(/^[ \t]+|[ \t]+$/g,function(match,offset,s){if (match.length==1) return '&nbsp;';else if (offset==0) return new Array(match.length).join('&nbsp;')+' ';else return ' '+new Array(match.length).join('&nbsp;');});var E=new FCKHtmlIterator(D);var F=[];E.Each(function(isTag,value){if (!isTag){value=value.replace(/\n/g,'<br>');value=value.replace(/[ \t]{2,}/g,function (match){return new Array(match.length).join('&nbsp;')+' ';});};F.push(value);});C.innerHTML=F.join('');return C;},_ToPre:function(A,B,C){var D=B.innerHTML.Trim();D=D.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,'<br />');var E=new FCKHtmlIterator(D);var F=[];E.Each(function(isTag,value){if (!isTag) value=value.replace(/([ \t\n\r]+|&nbsp;)/g,' ');else if (isTag&&value=='<br />') value='\n';F.push(value);});if (FCKBrowserInfo.IsIE){var G=A.createElement('div');G.appendChild(C);C.outerHTML='<pre>\n'+F.join('')+'</pre>';C=G.removeChild(G.firstChild);}else C.innerHTML=F.join('');return C;},_CheckAndMergePre:function(A,B){if (A!=FCKDomTools.GetPreviousSourceElement(B,true)) return;var C=A.innerHTML.replace(/\n$/,'')+'\n\n'+B.innerHTML.replace(/^\n/,'');if (FCKBrowserInfo.IsIE) B.outerHTML='<pre>'+C+'</pre>';else B.innerHTML=C;FCKDomTools.RemoveNode(A);},_CheckAndSplitPre:function(A){var B;var C=A.firstChild;C=C&&C.nextSibling;while (C){var D=C.nextSibling;if (D&&D.nextSibling&&C.nodeName.IEquals('br')&&D.nodeName.IEquals('br')){FCKDomTools.RemoveNode(C);C=D.nextSibling;FCKDomTools.RemoveNode(D);B=FCKDomTools.InsertAfterNode(B||A,FCKDomTools.CloneElement(A));continue;};if (B){C=C.previousSibling;FCKDomTools.MoveNode(C.nextSibling,B);};C=C.nextSibling;}},_ApplyBlockStyle:function(A,B,C){var D;if (B) D=A.CreateBookmark();var E=new FCKDomRangeIterator(A);E.EnforceRealBlocks=true;var F;var G=A.Window.document;var H;while((F=E.GetNextParagraph())){var I=this.BuildElement(G);var J=I.nodeName.IEquals('pre');var K=F.nodeName.IEquals('pre');var L=J&&!K;var M=!J&&K;if (L) I=this._ToPre(G,F,I);else if (M) I=this._FromPre(G,F,I);else FCKDomTools.MoveChildren(F,I);F.parentNode.insertBefore(I,F);FCKDomTools.RemoveNode(F);if (J){if (H) this._CheckAndMergePre(H,I);H=I;}else if (M) this._CheckAndSplitPre(I);};if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);},_ApplyInlineStyle:function(A,B,C){var D=A.Window.document;if (A.CheckIsCollapsed()){var E=this.BuildElement(D);A.InsertNode(E);A.MoveToPosition(E,2);A.Select();return;};var F=this.Element;var G=FCK.DTD[F]||FCK.DTD.span;var H=this._GetAttribsForComparison();var I;A.Expand('inline_elements');var J=A.CreateBookmark(true);var K=A.GetBookmarkNode(J,true);var L=A.GetBookmarkNode(J,false);A.Release(true);var M=FCKDomTools.GetNextSourceNode(K,true);while (M){var N=false;var O=M.nodeType;var P=O==1?M.nodeName.toLowerCase():null;if (!P||G[P]){if ((FCK.DTD[M.parentNode.nodeName.toLowerCase()]||FCK.DTD.span)[F]||!FCK.DTD[F]){if (!A.CheckHasRange()) A.SetStart(M,3);if (O!=1||M.childNodes.length==0){var Q=M;var R=Q.parentNode;while (Q==R.lastChild&&G[R.nodeName.toLowerCase()]){Q=R;};A.SetEnd(Q,4);if (Q==Q.parentNode.lastChild&&!G[Q.parentNode.nodeName.toLowerCase()]) N=true;}else{A.SetEnd(M,3);}}else N=true;}else N=true;M=FCKDomTools.GetNextSourceNode(M);if (M==L){M=null;N=true;};if (N&&A.CheckHasRange()&&!A.CheckIsCollapsed()){I=this.BuildElement(D);A.ExtractContents().AppendTo(I);if (I.innerHTML.RTrim().length>0){A.InsertNode(I);this.RemoveFromElement(I);this._MergeSiblings(I,this._GetAttribsForComparison());if (!FCKBrowserInfo.IsIE) I.normalize();};A.Release(true);}};this._FixBookmarkStart(K);if (B) A.SelectBookmark(J);if (C) A.MoveToBookmark(J);},_FixBookmarkStart:function(A){var B;while ((B=A.nextSibling)){if (B.nodeType==1&&FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){if (!B.firstChild) FCKDomTools.RemoveNode(B);else FCKDomTools.MoveNode(A,B,true);continue;};if (B.nodeType==3&&B.length==0){FCKDomTools.RemoveNode(B);continue;};break;}},_MergeSiblings:function(A,B){if (!A||A.nodeType!=1||!FCKListsLib.InlineNonEmptyElements[A.nodeName.toLowerCase()]) return;this._MergeNextSibling(A,B);this._MergePreviousSibling(A,B);},_MergeNextSibling:function(A,B){var C=A.nextSibling;var D=(C&&C.nodeType==1&&C.getAttribute('_fck_bookmark'));if (D) C=C.nextSibling;if (C&&C.nodeType==1&&C.nodeName==A.nodeName){if (!B) B=this._CreateElementAttribsForComparison(A);if (this._CheckAttributesMatch(C,B)){var E=A.lastChild;if (D) FCKDomTools.MoveNode(A.nextSibling,A);FCKDomTools.MoveChildren(C,A);FCKDomTools.RemoveNode(C);if (E) this._MergeNextSibling(E);}}},_MergePreviousSibling:function(A,B){var C=A.previousSibling;var D=(C&&C.nodeType==1&&C.getAttribute('_fck_bookmark'));if (D) C=C.previousSibling;if (C&&C.nodeType==1&&C.nodeName==A.nodeName){if (!B) B=this._CreateElementAttribsForComparison(A);if (this._CheckAttributesMatch(C,B)){var E=A.firstChild;if (D) FCKDomTools.MoveNode(A.previousSibling,A,true);FCKDomTools.MoveChildren(C,A,true);FCKDomTools.RemoveNode(C);if (E) this._MergePreviousSibling(E);}}},_GetStyleText:function(){var A=this._StyleDesc.Styles;var B=(this._StyleDesc.Attributes?this._StyleDesc.Attributes['style']||'':'');if (B.length>0) B+=';';for (var C in A) B+=C+':'+A[C]+';';if (B.length>0&&!(/#\(/.test(B))){B=FCKTools.NormalizeCssText(B);};return (this._GetStyleText=function() { return B;})();},_GetAttribsForComparison:function(){var A=this._GetAttribsForComparison_$;if (A) return A;A={};var B=this._StyleDesc.Attributes;if (B){for (var C in B){A[C.toLowerCase()]=B[C].toLowerCase();}};if (this._GetStyleText().length>0){A['style']=this._GetStyleText().toLowerCase();};FCKTools.AppendLengthProperty(A,'_length');return (this._GetAttribsForComparison_$=A);},_GetOverridesForComparison:function(){var A=this._GetOverridesForComparison_$;if (A) return A;A={};var B=this._StyleDesc.Overrides;if (B){if (!FCKTools.IsArray(B)) B=[B];for (var i=0;i<B.length;i++){var C=B[i];var D;var E;var F;if (typeof C=='string') D=C.toLowerCase();else{D=C.Element?C.Element.toLowerCase():this.Element;F=C.Attributes;};E=A[D]||(A[D]={});if (F){var G=(E.Attributes=E.Attributes||[]);for (var H in F){G.push([H.toLowerCase(),F[H]]);}}}};return (this._GetOverridesForComparison_$=A);},_CreateElementAttribsForComparison:function(A){var B={};var C=0;for (var i=0;i<A.attributes.length;i++){var D=A.attributes[i];if (D.specified){B[D.nodeName.toLowerCase()]=FCKDomTools.GetAttributeValue(A,D).toLowerCase();C++;}};B._length=C;return B;},_CheckAttributesMatch:function(A,B){var C=A.attributes;var D=0;for (var i=0;i<C.length;i++){var E=C[i];if (E.specified){var F=E.nodeName.toLowerCase();var G=B[F];if (!G) break;if (G!=FCKDomTools.GetAttributeValue(A,E).toLowerCase()) break;D++;}};return (D==B._length);}};\r
+var FCKStyles=FCK.Styles={_Callbacks:{},_ObjectStyles:{},ApplyStyle:function(A){if (typeof A=='string') A=this.GetStyles()[A];if (A){if (A.GetType()==2) A.ApplyToObject(FCKSelection.GetSelectedElement());else A.ApplyToSelection(FCK.EditorWindow);FCK.Events.FireEvent('OnSelectionChange');}},RemoveStyle:function(A){if (typeof A=='string') A=this.GetStyles()[A];if (A){A.RemoveFromSelection(FCK.EditorWindow);FCK.Events.FireEvent('OnSelectionChange');}},AttachStyleStateChange:function(A,B,C){var D=this._Callbacks[A];if (!D) D=this._Callbacks[A]=[];D.push([B,C]);},CheckSelectionChanges:function(){var A=FCKSelection.GetBoundaryParentElement(true);if (!A) return;var B=new FCKElementPath(A);var C=this.GetStyles();for (var D in C){var E=this._Callbacks[D];if (E){var F=C[D];var G=F.CheckActive(B);if (G!=(F._LastState||null)){F._LastState=G;for (var i=0;i<E.length;i++){var H=E[i][0];var I=E[i][1];H.call(I||window,D,G);}}}}},CheckStyleInSelection:function(A){return false;},_GetRemoveFormatTagsRegex:function (){var A=new RegExp('^(?:'+FCKConfig.RemoveFormatTags.replace(/,/g,'|')+')$','i');return (this._GetRemoveFormatTagsRegex=function(){return A;})&&A;},RemoveAll:function(){var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();if (A.CheckIsCollapsed()) return;A.Expand('inline_elements');var B=A.CreateBookmark(true);var C=A.GetBookmarkNode(B,true);var D=A.GetBookmarkNode(B,false);A.Release(true);var E=this._GetRemoveFormatTagsRegex();var F=new FCKElementPath(C);var G=F.Elements;var H;for (var i=1;i<G.length;i++){H=G[i];if (H==F.Block||H==F.BlockLimit) break;if (E.test(H.nodeName)) FCKDomTools.BreakParent(C,H,A);};F=new FCKElementPath(D);G=F.Elements;for (var i=1;i<G.length;i++){H=G[i];if (H==F.Block||H==F.BlockLimit) break;elementName=H.nodeName.toLowerCase();if (E.test(H.nodeName)) FCKDomTools.BreakParent(D,H,A);};var I=FCKDomTools.GetNextSourceNode(C,true,1);while (I){if (I==D) break;var J=FCKDomTools.GetNextSourceNode(I,false,1);if (E.test(I.nodeName)) FCKDomTools.RemoveNode(I,true);else FCKDomTools.RemoveAttributes(I,FCKConfig.RemoveAttributesArray);I=J;};A.SelectBookmark(B);FCK.Events.FireEvent('OnSelectionChange');},GetStyle:function(A){return this.GetStyles()[A];},GetStyles:function(){var A=this._GetStyles;if (!A){A=this._GetStyles=FCKTools.Merge(this._LoadStylesCore(),this._LoadStylesCustom(),this._LoadStylesXml());};return A;},CheckHasObjectStyle:function(A){return!!this._ObjectStyles[A];},_LoadStylesCore:function(){var A={};var B=FCKConfig.CoreStyles;for (var C in B){var D=A['_FCK_'+C]=new FCKStyle(B[C]);D.IsCore=true;};return A;},_LoadStylesCustom:function(){var A={};var B=FCKConfig.CustomStyles;if (B){for (var C in B){var D=A[C]=new FCKStyle(B[C]);D.Name=C;}};return A;},_LoadStylesXml:function(){var A={};var B=FCKConfig.StylesXmlPath;if (!B||B.length==0) return A;var C=new FCKXml();C.LoadUrl(B);var D=FCKXml.TransformToObject(C.SelectSingleNode('Styles'));var E=D.$Style;if (!E) return A;for (var i=0;i<E.length;i++){var F=E[i];var G=(F.element||'').toLowerCase();if (G.length==0) throw('The element name is required. Error loading "'+B+'"');var H={Element:G,Attributes:{},Styles:{},Overrides:[]};var I=F.$Attribute||[];for (var j=0;j<I.length;j++){H.Attributes[I[j].name]=I[j].value;};var J=F.$Style||[];for (j=0;j<J.length;j++){H.Styles[J[j].name]=J[j].value;};var K=F.$Override;if (K){for (j=0;j<K.length;j++){var L=K[j];var M={Element:L.element};var N=L.$Attribute;if (N){M.Attributes={};for (var k=0;k<N.length;k++){var O=N[k].value||null;if (O){var P=O&&FCKRegexLib.RegExp.exec(O);if (P) O=new RegExp(P[1],P[2]||'');};M.Attributes[N[k].name]=O;}};H.Overrides.push(M);}};var Q=new FCKStyle(H);Q.Name=F.name||G;if (Q.GetType()==2) this._ObjectStyles[G]=true;A[Q.Name]=Q;};return A;}};\r
 var FCKListHandler={OutdentListItem:function(A){var B=A.parentNode;if (B.tagName.toUpperCase().Equals('UL','OL')){var C=FCKTools.GetElementDocument(A);var D=new FCKDocumentFragment(C);var E=D.RootNode;var F=false;var G=FCKDomTools.GetFirstChild(A,['UL','OL']);if (G){F=true;var H;while ((H=G.firstChild)) E.appendChild(G.removeChild(H));FCKDomTools.RemoveNode(G);};var I;var J=false;while ((I=A.nextSibling)){if (!F&&I.nodeType==1&&I.nodeName.toUpperCase()=='LI') J=F=true;E.appendChild(I.parentNode.removeChild(I));if (!J&&I.nodeType==1&&I.nodeName.toUpperCase().Equals('UL','OL')) FCKDomTools.RemoveNode(I,true);};var K=B.parentNode.tagName.toUpperCase();var L=(K=='LI');if (L||K.Equals('UL','OL')){if (F){var G=B.cloneNode(false);D.AppendTo(G);A.appendChild(G);}else if (L) D.InsertAfterNode(B.parentNode);else D.InsertAfterNode(B);if (L) FCKDomTools.InsertAfterNode(B.parentNode,B.removeChild(A));else FCKDomTools.InsertAfterNode(B,B.removeChild(A));}else{if (F){var N=B.cloneNode(false);D.AppendTo(N);FCKDomTools.InsertAfterNode(B,N);};var O=C.createElement(FCKConfig.EnterMode=='p'?'p':'div');FCKDomTools.MoveChildren(B.removeChild(A),O);FCKDomTools.InsertAfterNode(B,O);if (FCKConfig.EnterMode=='br'){if (FCKBrowserInfo.IsGecko) O.parentNode.insertBefore(FCKTools.CreateBogusBR(C),O);else FCKDomTools.InsertAfterNode(O,FCKTools.CreateBogusBR(C));FCKDomTools.RemoveNode(O,true);}};if (this.CheckEmptyList(B)) FCKDomTools.RemoveNode(B,true);}},CheckEmptyList:function(A){return (FCKDomTools.GetFirstChild(A,'LI')==null);},CheckListHasContents:function(A){var B=A.firstChild;while (B){switch (B.nodeType){case 1:if (!B.nodeName.IEquals('UL','LI')) return true;break;case 3:if (B.nodeValue.Trim().length>0) return true;};B=B.nextSibling;};return false;}};\r
-var FCKElementPath=function(A){var B=null;var C=null;var D=[];var e=A;while (e){if (e.nodeType==1){if (!this.LastElement) this.LastElement=e;var E=e.nodeName.toLowerCase();if (!C){if (!B&&FCKListsLib.PathBlockElements[E]!=null) B=e;if (FCKListsLib.PathBlockLimitElements[E]!=null) C=e;};D.push(e);if (E=='body') break;};e=e.parentNode;};this.Block=B;this.BlockLimit=C;this.Elements=D;};\r
-var FCKDomRange=function(A){this.Window=A;};FCKDomRange.prototype={_UpdateElementInfo:function(){if (!this._Range) this.Release(true);else{var A=this._Range.startContainer;var B=this._Range.endContainer;var C=new FCKElementPath(A);this.StartContainer=C.LastElement;this.StartBlock=C.Block;this.StartBlockLimit=C.BlockLimit;if (A!=B) C=new FCKElementPath(B);this.EndContainer=C.LastElement;this.EndBlock=C.Block;this.EndBlockLimit=C.BlockLimit;}},CreateRange:function(){return new FCKW3CRange(this.Window.document);},DeleteContents:function(){if (this._Range){this._Range.deleteContents();this._UpdateElementInfo();}},ExtractContents:function(){if (this._Range){var A=this._Range.extractContents();this._UpdateElementInfo();return A;}},CheckIsCollapsed:function(){if (this._Range) return this._Range.collapsed;},Collapse:function(A){if (this._Range) this._Range.collapse(A);this._UpdateElementInfo();},Clone:function(){var A=FCKTools.CloneObject(this);if (this._Range) A._Range=this._Range.cloneRange();return A;},MoveToNodeContents:function(A){if (!this._Range) this._Range=this.CreateRange();this._Range.selectNodeContents(A);this._UpdateElementInfo();},MoveToElementStart:function(A){this.SetStart(A,1);this.SetEnd(A,1);},MoveToElementEditStart:function(A){var B;while ((B=A.firstChild)&&B.nodeType==1&&FCKListsLib.EmptyElements[B.nodeName.toLowerCase()]==null) A=B;this.MoveToElementStart(A);},InsertNode:function(A){if (this._Range) this._Range.insertNode(A);},CheckIsEmpty:function(A){if (this.CheckIsCollapsed()) return true;var B=this.Window.document.createElement('div');this._Range.cloneContents().AppendTo(B);FCKDomTools.TrimNode(B,A);return (B.innerHTML.length==0);},CheckStartOfBlock:function(){var A=this.Clone();A.Collapse(true);A.SetStart(A.StartBlock||A.StartBlockLimit,1);var B=A.CheckIsEmpty();A.Release();return B;},CheckEndOfBlock:function(A){var B=this.Clone();B.Collapse(false);B.SetEnd(B.EndBlock||B.EndBlockLimit,2);var C=B.CheckIsCollapsed();if (!C){var D=this.Window.document.createElement('div');B._Range.cloneContents().AppendTo(D);FCKDomTools.TrimNode(D,true);C=true;var E=D;while ((E=E.lastChild)){if (E.previousSibling||E.nodeType!=1||FCKListsLib.InlineChildReqElements[E.nodeName.toLowerCase()]==null){C=false;break;}}};B.Release();if (A) this.Select();return C;},CreateBookmark:function(){var A={StartId:'fck_dom_range_start_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000),EndId:'fck_dom_range_end_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000)};var B=this.Window.document;var C;var D;if (!this.CheckIsCollapsed()){C=B.createElement('span');C.id=A.EndId;C.innerHTML='&nbsp;';D=this.Clone();D.Collapse(false);D.InsertNode(C);};C=B.createElement('span');C.id=A.StartId;C.innerHTML='&nbsp;';D=this.Clone();D.Collapse(true);D.InsertNode(C);return A;},MoveToBookmark:function(A,B){var C=this.Window.document;var D=C.getElementById(A.StartId);var E=C.getElementById(A.EndId);this.SetStart(D,3);if (!B) FCKDomTools.RemoveNode(D);if (E){this.SetEnd(E,3);if (!B) FCKDomTools.RemoveNode(E);}else this.Collapse(true);},SetStart:function(A,B){var C=this._Range;if (!C) C=this._Range=this.CreateRange();switch(B){case 1:C.setStart(A,0);break;case 2:C.setStart(A,A.childNodes.length);break;case 3:C.setStartBefore(A);break;case 4:C.setStartAfter(A);};this._UpdateElementInfo();},SetEnd:function(A,B){var C=this._Range;if (!C) C=this._Range=this.CreateRange();switch(B){case 1:C.setEnd(A,0);break;case 2:C.setEnd(A,A.childNodes.length);break;case 3:C.setEndBefore(A);break;case 4:C.setEndAfter(A);};this._UpdateElementInfo();},Expand:function(A){var B,oSibling;switch (A){case 'block_contents':if (this.StartBlock) this.SetStart(this.StartBlock,1);else{B=this._Range.startContainer;if (B.nodeType==1){if (!(B=B.childNodes[this._Range.startOffset])) B=B.firstChild;};if (!B) return;while (true){oSibling=B.previousSibling;if (!oSibling){if (B.parentNode!=this.StartBlockLimit) B=B.parentNode;else break;}else if (oSibling.nodeType!=1||!(/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/).test(oSibling.nodeName.toUpperCase())){B=oSibling;}else break;};this._Range.setStartBefore(B);};if (this.EndBlock) this.SetEnd(this.EndBlock,2);else{B=this._Range.endContainer;if (B.nodeType==1) B=B.childNodes[this._Range.endOffset]||B.lastChild;if (!B) return;while (true){oSibling=B.nextSibling;if (!oSibling){if (B.parentNode!=this.EndBlockLimit) B=B.parentNode;else break;}else if (oSibling.nodeType!=1||!(/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/).test(oSibling.nodeName.toUpperCase())){B=oSibling;}else break;};this._Range.setEndAfter(B);};this._UpdateElementInfo();}},Release:function(A){if (!A) this.Window=null;this.StartContainer=null;this.StartBlock=null;this.StartBlockLimit=null;this.EndContainer=null;this.EndBlock=null;this.EndBlockLimit=null;this._Range=null;}};\r
-FCKDomRange.prototype.MoveToSelection=function(){this.Release(true);var A=this.Window.getSelection();if (A.rangeCount==1){this._Range=FCKW3CRange.CreateFromRange(this.Window.document,A.getRangeAt(0));this._UpdateElementInfo();}};FCKDomRange.prototype.Select=function(){var A=this._Range;if (A){var B=this.Window.document.createRange();B.setStart(A.startContainer,A.startOffset);try{B.setEnd(A.endContainer,A.endOffset);}catch (e){if (e.toString().Contains('NS_ERROR_ILLEGAL_VALUE')){A.collapse(true);B.setEnd(A.endContainer,A.endOffset);}else throw(e);};var C=this.Window.getSelection();C.removeAllRanges();C.addRange(B);}};\r
-var FCKDocumentFragment=function(A,B){this.RootNode=B||A.createDocumentFragment();};FCKDocumentFragment.prototype={AppendTo:function(A){A.appendChild(this.RootNode);},InsertAfterNode:function(A){FCKDomTools.InsertAfterNode(A,this.RootNode);}}\r
-var FCKW3CRange=function(A){this._Document=A;this.startContainer=null;this.startOffset=null;this.endContainer=null;this.endOffset=null;this.collapsed=true;};FCKW3CRange.CreateRange=function(A){return new FCKW3CRange(A);};FCKW3CRange.CreateFromRange=function(A,B){var C=FCKW3CRange.CreateRange(A);C.setStart(B.startContainer,B.startOffset);C.setEnd(B.endContainer,B.endOffset);return C;};FCKW3CRange.prototype={_UpdateCollapsed:function(){this.collapsed=(this.startContainer==this.endContainer&&this.startOffset==this.endOffset);},setStart:function(A,B){this.startContainer=A;this.startOffset=B;if (!this.endContainer){this.endContainer=A;this.endOffset=B;};this._UpdateCollapsed();},setEnd:function(A,B){this.endContainer=A;this.endOffset=B;if (!this.startContainer){this.startContainer=A;this.startOffset=B;};this._UpdateCollapsed();},setStartAfter:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setStartBefore:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A));},setEndAfter:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setEndBefore:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A));},collapse:function(A){if (A){this.endContainer=this.startContainer;this.endOffset=this.startOffset;}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset;};this.collapsed=true;},selectNodeContents:function(A){this.setStart(A,0);this.setEnd(A,A.nodeType==3?A.data.length:A.childNodes.length);},insertNode:function(A){var B=this.startContainer;var C=this.startOffset;if (B.nodeType==3){B.splitText(C);if (B==this.endContainer) this.setEnd(B.nextSibling,this.endOffset-this.startOffset);FCKDomTools.InsertAfterNode(B,A);return;}else{B.insertBefore(A,B.childNodes[C]||null);if (B==this.endContainer){this.endOffset++;this.collapsed=false;}}},deleteContents:function(){if (this.collapsed) return;this._ExecContentsAction(0);},extractContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(1,A);return A;},cloneContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(2,A);return A;},_ExecContentsAction:function(A,B){var C=this.startContainer;var D=this.endContainer;var E=this.startOffset;var F=this.endOffset;var G=false;var H=false;if (D.nodeType==3) D=D.splitText(F);else{if (D.childNodes.length>0){if (F>D.childNodes.length-1){D=FCKDomTools.InsertAfterNode(D.lastChild,this._Document.createTextNode(''));H=true;}else D=D.childNodes[F];}};if (C.nodeType==3){C.splitText(E);if (C==D) D=C.nextSibling;}else{if (C.childNodes.length>0&&E<=C.childNodes.length-1){if (E==0){C=C.insertBefore(this._Document.createTextNode(''),C.firstChild);G=true;}else C=C.childNodes[E].previousSibling;}};var I=FCKDomTools.GetParents(C);var J=FCKDomTools.GetParents(D);var i,topStart,topEnd;for (i=0;i<I.length;i++){topStart=I[i];topEnd=J[i];if (topStart!=topEnd) break;};var K,levelStartNode,levelClone,currentNode,currentSibling;if (B) K=B.RootNode;for (var j=i;j<I.length;j++){levelStartNode=I[j];if (K&&levelStartNode!=C) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==C));currentNode=levelStartNode.nextSibling;while(currentNode){if (currentNode==J[j]||currentNode==D) break;currentSibling=currentNode.nextSibling;if (A==2) K.appendChild(currentNode.cloneNode(true));else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.appendChild(currentNode);};currentNode=currentSibling;};if (K) K=levelClone;};if (B) K=B.RootNode;for (var k=i;k<J.length;k++){levelStartNode=J[k];if (A>0&&levelStartNode!=D) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==D));if (!I[k]||levelStartNode.parentNode!=I[k].parentNode){currentNode=levelStartNode.previousSibling;while(currentNode){if (currentNode==I[k]||currentNode==C) break;currentSibling=currentNode.previousSibling;if (A==2) K.insertBefore(currentNode.cloneNode(true),K.firstChild);else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.insertBefore(currentNode,K.firstChild);};currentNode=currentSibling;}};if (K) K=levelClone;};if (A==2){var L=this.startContainer;if (L.nodeType==3){L.data+=L.nextSibling.data;L.parentNode.removeChild(L.nextSibling);};var M=this.endContainer;if (M.nodeType==3&&M.nextSibling){M.data+=M.nextSibling.data;M.parentNode.removeChild(M.nextSibling);}}else{if (topStart&&topEnd&&(C.parentNode!=topStart.parentNode||D.parentNode!=topEnd.parentNode)) this.setStart(topEnd.parentNode,FCKDomTools.GetIndexOf(topEnd));this.collapse(true);};if(G) C.parentNode.removeChild(C);if(H&&D.parentNode) D.parentNode.removeChild(D);},cloneRange:function(){return FCKW3CRange.CreateFromRange(this._Document,this);},toString:function(){var A=this.cloneContents();var B=this._Document.createElement('div');A.AppendTo(B);return B.textContent||B.innerText;}};\r
-var FCKEnterKey=function(A,B,C){this.Window=A;this.EnterMode=B||'p';this.ShiftEnterMode=C||'br';var D=new FCKKeystrokeHandler(false);D._EnterKey=this;D.OnKeystroke=FCKEnterKey_OnKeystroke;D.SetKeystrokes([[13,'Enter'],[SHIFT+13,'ShiftEnter'],[8,'Backspace'],[46,'Delete']]);D.AttachToElement(A.document);};function FCKEnterKey_OnKeystroke(A,B){var C=this._EnterKey;try{switch (B){case 'Enter':return C.DoEnter();break;case 'ShiftEnter':return C.DoShiftEnter();break;case 'Backspace':return C.DoBackspace();break;case 'Delete':return C.DoDelete();}}catch (e){};return false;};FCKEnterKey.prototype.DoEnter=function(A,B){this._HasShift=(B===true);var C=A||this.EnterMode;if (C=='br') return this._ExecuteEnterBr();else return this._ExecuteEnterBlock(C);};FCKEnterKey.prototype.DoShiftEnter=function(){return this.DoEnter(this.ShiftEnterMode,true);};FCKEnterKey.prototype.DoBackspace=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (!B.CheckIsCollapsed()) return false;var C=B.StartBlock;var D=B.EndBlock;if (B.StartBlockLimit==B.EndBlockLimit&&C&&D){if (!B.CheckIsCollapsed()){var E=B.CheckEndOfBlock();B.DeleteContents();if (C!=D){B.SetStart(D,1);B.SetEnd(D,1);};B.Select();A=(C==D);};if (B.CheckStartOfBlock()){var F=B.StartBlock;var G=FCKDomTools.GetPreviousSourceElement(F,true,['BODY',B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,G,F);}else if (FCKBrowserInfo.IsGecko){B.Select();}};B.Release();return A;};FCKEnterKey.prototype._ExecuteBackspace=function(A,B,C){var D=false;if (!B&&C&&C.nodeName.IEquals('LI')&&C.parentNode.parentNode.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};if (B&&B.nodeName.IEquals('LI')){var E=FCKDomTools.GetLastChild(B,['UL','OL']);while (E){B=FCKDomTools.GetLastChild(E,'LI');E=FCKDomTools.GetLastChild(B,['UL','OL']);}};if (B&&C){if (C.nodeName.IEquals('LI')&&!B.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};var F=C.parentNode;var G=B.nodeName.toLowerCase();if (FCKListsLib.EmptyElements[G]!=null||G=='table'){FCKDomTools.RemoveNode(B);D=true;}else{FCKDomTools.RemoveNode(C);while (F.innerHTML.Trim().length==0){var H=F.parentNode;H.removeChild(F);F=H;};FCKDomTools.TrimNode(C);FCKDomTools.TrimNode(B);A.SetStart(B,2);A.Collapse(true);var I=A.CreateBookmark();FCKDomTools.MoveChildren(C,B);A.MoveToBookmark(I);A.Select();D=true;}};return D;};FCKEnterKey.prototype.DoDelete=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (B.CheckIsCollapsed()&&B.CheckEndOfBlock(FCKBrowserInfo.IsGeckoLike)){var C=B.StartBlock;var D=FCKDomTools.GetNextSourceElement(C,true,[B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,C,D);};B.Release();return A;};FCKEnterKey.prototype._ExecuteEnterBlock=function(A,B){var C=B||new FCKDomRange(this.Window);if (!B) C.MoveToSelection();if (C.StartBlockLimit==C.EndBlockLimit){if (!C.StartBlock) this._FixBlock(C,true,A);if (!C.EndBlock) this._FixBlock(C,false,A);var D=C.StartBlock;var E=C.EndBlock;if (!C.CheckIsEmpty()) C.DeleteContents();if (D==E){var F;var G=C.CheckStartOfBlock();var H=C.CheckEndOfBlock();if (G&&!H){F=D.cloneNode(false);if (FCKBrowserInfo.IsGeckoLike) F.innerHTML=GECKO_BOGUS;D.parentNode.insertBefore(F,D);if (FCKBrowserInfo.IsIE){C.MoveToNodeContents(F);C.Select();};C.MoveToElementEditStart(D);}else{if (H){var I=D.tagName.toUpperCase();if (G&&I=='LI'){this._OutdentWithSelection(D,C);C.Release();return true;}else{if ((/^H[1-6]$/).test(I)||this._HasShift) F=this.Window.document.createElement(A);else{F=D.cloneNode(false);this._RecreateEndingTree(D,F);};if (FCKBrowserInfo.IsGeckoLike){F.innerHTML=GECKO_BOGUS;if (G) D.innerHTML=GECKO_BOGUS;}}}else{C.SetEnd(D,2);var J=C.ExtractContents();F=D.cloneNode(false);FCKDomTools.TrimNode(J.RootNode);if (J.RootNode.firstChild.nodeType==1&&J.RootNode.firstChild.tagName.toUpperCase().Equals('UL','OL')) F.innerHTML=GECKO_BOGUS;J.AppendTo(F);if (FCKBrowserInfo.IsGecko){this._AppendBogusBr(D);this._AppendBogusBr(F);}};if (F){FCKDomTools.InsertAfterNode(D,F);C.MoveToElementEditStart(F);if (FCKBrowserInfo.IsGeckoLike) F.scrollIntoView(false);}}}else{C.MoveToElementEditStart(E);};C.Select();};C.Release();return true;};FCKEnterKey.prototype._ExecuteEnterBr=function(A){var B=new FCKDomRange(this.Window);B.MoveToSelection();if (B.StartBlockLimit==B.EndBlockLimit){B.DeleteContents();B.MoveToSelection();var C=B.CheckStartOfBlock();var D=B.CheckEndOfBlock();var E=B.StartBlock?B.StartBlock.tagName.toUpperCase():'';var F=this._HasShift;if (!F&&E=='LI') return this._ExecuteEnterBlock(null,B);if (!F&&D&&(/^H[1-6]$/).test(E)){FCKDebug.Output('BR - Header');FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createElement('br'));if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createTextNode(''));B.SetStart(B.StartBlock.nextSibling,FCKBrowserInfo.IsIE?3:1);}else{FCKDebug.Output('BR - No Header');var G=this.Window.document.createElement('br');B.InsertNode(G);if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(G,this.Window.document.createTextNode(''));if (D&&FCKBrowserInfo.IsGeckoLike) this._AppendBogusBr(G.parentNode);if (FCKBrowserInfo.IsIE) B.SetStart(G,4);else B.SetStart(G.nextSibling,1);};B.Collapse(true);B.Select();};B.Release();return true;};FCKEnterKey.prototype._FixBlock=function(A,B,C){var D=A.CreateBookmark();A.Collapse(B);A.Expand('block_contents');var E=this.Window.document.createElement(C);A.ExtractContents().AppendTo(E);FCKDomTools.TrimNode(E);A.InsertNode(E);A.MoveToBookmark(D);};FCKEnterKey.prototype._AppendBogusBr=function(A){if (!A) return;var B=FCKTools.GetLastItem(A.getElementsByTagName('br'));if (!B||B.getAttribute('type',2)!='_moz') A.appendChild(FCKTools.CreateBogusBR(this.Window.document));};FCKEnterKey.prototype._RecreateEndingTree=function(A,B){while ((A=A.lastChild)&&A.nodeType==1&&FCKListsLib.InlineChildReqElements[A.nodeName.toLowerCase()]!=null) B=B.insertBefore(A.cloneNode(false),B.firstChild);};FCKEnterKey.prototype._OutdentWithSelection=function(A,B){var C=B.CreateBookmark();FCKListHandler.OutdentListItem(A);B.MoveToBookmark(C);B.Select();}\r
-var FCKDocumentProcessor={};FCKDocumentProcessor._Items=[];FCKDocumentProcessor.AppendNew=function(){var A={};this._Items.AddItem(A);return A;};FCKDocumentProcessor.Process=function(A){var B,i=0;while((B=this._Items[i++])) B.ProcessDocument(A);};var FCKDocumentProcessor_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;};if (FCKBrowserInfo.IsIE||FCKBrowserInfo.IsOpera){var FCKAnchorsProcessor=FCKDocumentProcessor.AppendNew();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){if (C.innerHTML!==''){if (FCKBrowserInfo.IsIE) C.className+=' FCK__AnchorC';}else{var D=FCKDocumentProcessor_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}}};var FCKPageBreaksProcessor=FCKDocumentProcessor.AppendNew();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('DIV');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.childNodes.length==1&&C.childNodes[0].style&&C.childNodes[0].style.display=='none'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};var FCKFlashProcessor=FCKDocumentProcessor.AppendNew();FCKFlashProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('EMBED');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=C.attributes['type'];if ((C.src&&C.src.EndsWith('.swf',true))||(D&&D.nodeValue=='application/x-shockwave-flash')){var E=C.cloneNode(true);if (FCKBrowserInfo.IsIE){var F=['scale','play','loop','menu','wmode','quality'];for (var G=0;G<F.length;G++){var H=C.getAttribute(F[G]);if (H) E.setAttribute(F[G],H);};E.setAttribute('type',D.nodeValue);};var I=FCKDocumentProcessor_CreateFakeImage('FCK__Flash',E);I.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(I,C);C.parentNode.insertBefore(I,C);C.parentNode.removeChild(C);}}};FCKFlashProcessor.RefreshView=function(A,B){if (B.getAttribute('width')>0) A.style.width=FCKTools.ConvertHtmlSizeToStyle(B.getAttribute('width'));if (B.getAttribute('height')>0) A.style.height=FCKTools.ConvertHtmlSizeToStyle(B.getAttribute('height'));};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;};if (FCKBrowserInfo.IsIE){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('HR');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=A.createElement('hr');D.mergeAttributes(C,true);FCKDomTools.InsertAfterNode(C,D);C.parentNode.removeChild(C);}}};FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('INPUT');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.type=='hidden'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__InputHidden',C.cloneNode(true));D.setAttribute('_fckinputhidden','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}\r
-var FCKSelection=FCK.Selection={};\r
-FCKSelection.GetType=function(){this._Type='Text';var A;try { A=FCK.EditorWindow.getSelection();}catch (e) {};if (A&&A.rangeCount==1){var B=A.getRangeAt(0);if (B.startContainer==B.endContainer&&(B.endOffset-B.startOffset)==1&&B.startContainer.nodeType!=Node.TEXT_NODE) this._Type='Control';};return this._Type;};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var A=FCK.EditorWindow.getSelection();return A.anchorNode.childNodes[A.anchorOffset];};return null;};FCKSelection.GetParentElement=function(){if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentNode;else{var A=FCK.EditorWindow.getSelection();if (A){var B=A.anchorNode;while (B&&B.nodeType!=1) B=B.parentNode;return B;}};return null;};FCKSelection.SelectNode=function(A){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.nodeName==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;};\r
-var FCKTableHandler={};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.GetSelectedElement();if (!A||A.tagName!='TABLE') A=FCKSelection.MoveToAncestorNode('TABLE');};if (!A) return;FCKSelection.SelectNode(A);FCKSelection.Collapse();A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(){var A=FCKSelection.MoveToAncestorNode('TD')||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=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')||FCKSelection.MoveToAncestorNode('TH');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 null;var C=FCK.EditorDocument.createElement('TD');if (FCKBrowserInfo.IsGecko) C.innerHTML=GECKO_BOGUS;if (B.cellIndex==B.parentNode.cells.length-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='';var D=FCK.EditorDocument.createDocumentFragment();for (var i=A.length-1;i>=0;i--){var E=A[i];for (var c=E.childNodes.length-1;c>=0;c--){var F=E.removeChild(E.childNodes[c]);if ((F.hasAttribute&&F.hasAttribute('_moz_editor_bogus_node'))||(F.getAttribute&&F.getAttribute('type',2)=='_moz')) continue;D.insertBefore(F,D.firstChild);};if (i>0){B+=isNaN(E.colSpan)?1:E.colSpan;FCKTableHandler.DeleteCell(E);}};A[0].colSpan=B;if (FCKBrowserInfo.IsGecko&&D.childNodes.length==0) A[0].innerHTML=GECKO_BOGUS;else A[0].appendChild(D);};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=[];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=[];for (var i=0;i<B.length;i++){r++;if (!C[r]) C[r]=[];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]=[];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='';}};\r
-FCKTableHandler.GetSelectedCells=function(){var A=[];var B=FCK.EditorWindow.getSelection();if (B.rangeCount==1&&B.anchorNode.nodeType==3){var C=FCKTools.GetElementAscensor(B.anchorNode,'TD,TH');if (C){A[0]=C;return A;}};for (var i=0;i<B.rangeCount;i++){var D=B.getRangeAt(i);var E;if (D.startContainer.tagName.Equals('TD','TH')) E=D.startContainer;else E=D.startContainer.childNodes[D.startOffset];if (E.tagName.Equals('TD','TH')) A[A.length]=E;};return A;};\r
-var FCKXml=function(){};FCKXml.prototype.LoadUrl=function(A){this.Error=false;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 this.DOMDocument=null;if (this.DOMDocument==null||this.DOMDocument.firstChild==null){this.Error=true;if (window.confirm('Error loading "'+A+'"\r\nDo you want to see more info?')) alert('URL requested: "'+A+'"\r\nServer response:\r\nStatus: '+C.status+'\r\nResponse text:\r\n'+C.responseText);}};FCKXml.prototype.SelectNodes=function(A,B){if (this.Error) return [];var C=[];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){if (this.Error) return null;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;}\r
-var FCKStyleDef=function(A,B){this.Name=A;this.Element=B.toUpperCase();this.IsObjectElement=FCKRegexLib.ObjectElements.test(this.Element);this.Attributes={};};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(FCK.ToolbarSet.CurrentInstance.Selection.GetSelectedElement());else this._RemoveMe(FCK.ToolbarSet.CurrentInstance.Selection.GetParentElement());}\r
-FCKStyleDef.prototype.ApplyToSelection=function(){if (FCKSelection.GetType()=='Text'&&!this.IsObjectElement){var A=FCK.ToolbarSet.CurrentInstance.EditorWindow.getSelection();var e=FCK.ToolbarSet.CurrentInstance.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=FCK.ToolbarSet.CurrentInstance.Selection.GetSelectedElement();if (C.tagName==this.Element) this._AddAttributes(C);}};FCKStyleDef.prototype._AddAttributes=function(A){for (var a in this.Attributes){switch (a.toLowerCase()){case 'src':A.setAttribute('_fcksavedurl',this.Attributes[a],0);default: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);}\r
-var FCKStylesLoader=function(){this.Styles={};this.StyleGroups={};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]=[];J=this.StyleGroups[D];};J[J.length]=E;};this.Loaded=true;}\r
-var FCKNamedCommand=function(A){this.Name=A;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){return FCK.GetNamedCommandState(this.Name);};\r
-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;this.Resizable=false;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height,null,null,this.Resizable);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return 0;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return 0;};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,10);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 if (A=='div'&&FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('FormatBlock','div');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 0;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.GetParentForm();if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};if (typeof(A.submit)=='function') A.submit();else A.submit.click();};FCKSaveCommand.prototype.GetState=function(){return 0;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};FCKNewPageCommand.prototype.GetState=function(){return 0;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKConfig.SourcePopup){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==0?0:1);};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()?0:-1);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()?0:-1);else return FCK.GetNamedCommandState('Redo');};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){var e=FCK.EditorDocument.createElement('DIV');e.style.pageBreakAfter='always';e.innerHTML='<span style="DISPLAY:none">&nbsp;</span>';var A=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',e);A=FCK.InsertElement(A);};FCKPageBreakCommand.prototype.GetState=function(){return 0;};var FCKUnlinkCommand=function(){this.Name='Unlink';};FCKUnlinkCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var A=FCK.Selection.MoveToAncestorNode('A');if (A) FCKTools.RemoveOuterTags(A);return;};FCK.ExecuteNamedCommand(this.Name);};FCKUnlinkCommand.prototype.GetState=function(){var A=FCK.GetNamedCommandState(this.Name);if (A==0&&FCK.EditMode==0){var B=FCKSelection.MoveToAncestorNode('A');var C=(B&&B.name.length>0&&B.href.length==0);if (C) A=-1;};return A;};var FCKSelectAllCommand=function(){this.Name='SelectAll';};FCKSelectAllCommand.prototype.Execute=function(){if (FCK.EditMode==0){FCK.ExecuteNamedCommand('SelectAll');}else{var A=FCK.EditingArea.Textarea;if (FCKBrowserInfo.IsIE){A.createTextRange().execCommand('SelectAll');}else{A.selectionStart=0;A.selectionEnd=A.value.length;};A.focus();}};FCKSelectAllCommand.prototype.GetState=function(){return 0;};var FCKPasteCommand=function(){this.Name='Paste';};FCKPasteCommand.prototype={Execute:function(){if (FCKBrowserInfo.IsIE) FCK.Paste();else FCK.ExecuteNamedCommand('Paste');},GetState:function(){return FCK.GetNamedCommandState('Paste');}};\r
-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?0:-1;}\r
-var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;var B;if (FCKBrowserInfo.IsIE) B=window;else if (FCK.ToolbarSet._IFrame) B=FCKTools.GetElementWindow(FCK.ToolbarSet._IFrame);else B=window.parent;this._Panel=new FCKPanel(B);this._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');this._Panel.MainNode.className='FCK_Panel';this._CreatePanelBody(this._Panel.Document,this._Panel.MainNode);FCKTools.DisableSelection(this._Panel.Document.body);};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.IsGeckoLike){if (FCKBrowserInfo.IsGecko&&!FCKConfig.GeckoUseSPAN) FCK.EditorDocument.execCommand('useCSS',false,false);FCK.ExecuteNamedCommand('hilitecolor',A);if (FCKBrowserInfo.IsGecko&&!FCKConfig.GeckoUseSPAN) FCK.EditorDocument.execCommand('useCSS',false,true);}else FCK.ExecuteNamedCommand('BackColor',A);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return 0;};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.className='ForceBaseFont';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">\n                       <tr>\n                          <td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\n                             <td nowrap width="100%" align="center">'+FCKLang.ColorAutomatic+'</td>\n                        </tr>\n         </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;}\r
-var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){return FCK.GetNamedCommandState('Paste');};\r
-var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCKConfig.ForcePasteAsPlainText) return -1;else return FCK.GetNamedCommandState('Paste');};\r
-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;case 'TableDelete':FCKTableHandler.DeleteTable();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));}};FCKTableCommand.prototype.GetState=function(){return 0;}\r
-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(){if (!FCK.EditorDocument) return -1;var A=FCK.EditorDocument.selection;if (FCKSelection.GetType()=='Control'){var e=FCKSelection.GetSelectedElement();if (e) return this.StylesLoader.StyleGroups[e.tagName]?0:-1;};return 0;};FCKStyleCommand.prototype.GetActiveStyles=function(){var A=[];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);}\r
-var FCKFitWindow=function(){this.Name='FitWindow';};FCKFitWindow.prototype.Execute=function(){var A=window.frameElement;var B=A.style;var C=parent;var D=C.document.documentElement;var E=C.document.body;var F=E.style;var G;if (!this.IsMaximized){if(FCKBrowserInfo.IsIE) C.attachEvent('onresize',FCKFitWindow_Resize);else C.addEventListener('resize',FCKFitWindow_Resize,true);this._ScrollPos=FCKTools.GetScrollPosition(C);G=A;while((G=G.parentNode)){if (G.nodeType==1) G._fckSavedStyles=FCKTools.SaveStyles(G);};if (FCKBrowserInfo.IsIE){this.documentElementOverflow=D.style.overflow;D.style.overflow='hidden';F.overflow='hidden';}else{F.overflow='hidden';F.width='0px';F.height='0px';};this._EditorFrameStyles=FCKTools.SaveStyles(A);var H=FCKTools.GetViewPaneSize(C);B.position="absolute";B.zIndex=FCKConfig.FloatingPanelsZIndex-1;B.left="0px";B.top="0px";B.width=H.Width+"px";B.height=H.Height+"px";if (!FCKBrowserInfo.IsIE){B.borderRight=B.borderBottom="9999px solid white";B.backgroundColor="white";};C.scrollTo(0,0);this.IsMaximized=true;}else{if(FCKBrowserInfo.IsIE) C.detachEvent("onresize",FCKFitWindow_Resize);else C.removeEventListener("resize",FCKFitWindow_Resize,true);G=A;while((G=G.parentNode)){if (G._fckSavedStyles){FCKTools.RestoreStyles(G,G._fckSavedStyles);G._fckSavedStyles=null;}};if (FCKBrowserInfo.IsIE) D.style.overflow=this.documentElementOverflow;FCKTools.RestoreStyles(A,this._EditorFrameStyles);C.scrollTo(this._ScrollPos.X,this._ScrollPos.Y);this.IsMaximized=false;};FCKToolbarItems.GetItem('FitWindow').RefreshState();FCK.EditingArea.MakeEditable();FCK.Focus();};FCKFitWindow.prototype.GetState=function(){if (FCKConfig.ToolbarLocation!='In') return -1;else return (this.IsMaximized?1:0);};function FCKFitWindow_Resize(){var A=FCKTools.GetViewPaneSize(parent);var B=window.frameElement.style;B.width=A.Width+'px';B.height=A.Height+'px';};\r
-var FCKCommands=FCK.Commands={};FCKCommands.LoadedCommands={};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);break;case 'Unlink':B=new FCKUnlinkCommand();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?UL',370,170);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html?OL',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,320);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',450,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',550,250);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 'Paste':B=new FCKPasteCommand();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 'TableDelete':B=new FCKTableCommand('TableDelete');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 'FitWindow':B=new FCKFitWindow();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'SelectAll':B=new FCKSelectAllCommand();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?0:-1;};\r
-var FCKPanel=function(A){this.IsRTL=(FCKLang.Dir=='rtl');this.IsContextMenu=false;this._LockCounter=0;this._Window=A||window;var B;if (FCKBrowserInfo.IsIE){this._Popup=this._Window.createPopup();B=this.Document=this._Popup.document;FCK.IECleanup.AddItem(this,FCKPanel_Cleanup);}else{var C=this._IFrame=this._Window.document.createElement('iframe');C.src='javascript:void(0)';C.allowTransparency=true;C.frameBorder='0';C.scrolling='no';C.style.position='absolute';C.style.zIndex=FCKConfig.FloatingPanelsZIndex;C.width=C.height=0;if (this._Window==window.parent&&window.frameElement) window.frameElement.parentNode.insertBefore(C,window.frameElement);else this._Window.document.body.appendChild(C);var D=C.contentWindow;B=this.Document=D.document;var E='';if (FCKBrowserInfo.IsSafari) E='<base href="'+window.document.location+'">';B.open();B.write('<html><head>'+E+'<\/head><body style="margin:0px;padding:0px;"><\/body><\/html>');B.close();FCKTools.AddEventListenerEx(D,'focus',FCKPanel_Window_OnFocus,this);FCKTools.AddEventListenerEx(D,'blur',FCKPanel_Window_OnBlur,this);};B.dir=FCKLang.Dir;B.oncontextmenu=FCKTools.CancelEvent;this.MainNode=B.body.appendChild(B.createElement('DIV'));this.MainNode.style.cssFloat=this.IsRTL?'right':'left';};FCKPanel.prototype.AppendStyleSheet=function(A){FCKTools.AppendStyleSheet(this.Document,A);};FCKPanel.prototype.Preload=function(x,y,A){if (this._Popup) this._Popup.show(x,y,0,0,A);};FCKPanel.prototype.Show=function(x,y,A,B,C){var D;if (this._Popup){this._Popup.show(x,y,0,0,A);this.MainNode.style.width=B?B+'px':'';this.MainNode.style.height=C?C+'px':'';D=this.MainNode.offsetWidth;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=(x*-1)+A.offsetWidth-D;};this._Popup.show(x,y,D,this.MainNode.offsetHeight,A);if (this.OnHide){if (this._Timer) CheckPopupOnHide.call(this,true);this._Timer=FCKTools.SetInterval(CheckPopupOnHide,100,this);}}else{if (typeof(FCKFocusManager)!='undefined') FCKFocusManager.Lock();if (this.ParentPanel) this.ParentPanel.Lock();this.MainNode.style.width=B?B+'px':'';this.MainNode.style.height=C?C+'px':'';D=this.MainNode.offsetWidth;if (!B)  this._IFrame.width=1;if (!C)    this._IFrame.height=1;D=this.MainNode.offsetWidth;var E=FCKTools.GetElementPosition(A.nodeType==9?(FCKTools.IsStrictMode(A)?A.documentElement:A.body):A,this._Window);if (this.IsRTL&&!this.IsContextMenu) x=(x*-1);x+=E.X;y+=E.Y;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=x+A.offsetWidth-D;}else{var F=FCKTools.GetViewPaneSize(this._Window);var G=FCKTools.GetScrollPosition(this._Window);var H=F.Height+G.Y;var I=F.Width+G.X;if ((x+D)>I) x-=x+D-I;if ((y+this.MainNode.offsetHeight)>H) y-=y+this.MainNode.offsetHeight-H;};if (x<0) x=0;this._IFrame.style.left=x+'px';this._IFrame.style.top=y+'px';var J=D;var K=this.MainNode.offsetHeight;this._IFrame.width=J;this._IFrame.height=K;this._IFrame.contentWindow.focus();};this._IsOpened=true;FCKTools.RunFunction(this.OnShow,this);};FCKPanel.prototype.Hide=function(A){if (this._Popup) this._Popup.hide();else{if (!this._IsOpened) return;if (typeof(FCKFocusManager)!='undefined') FCKFocusManager.Unlock();this._IFrame.width=this._IFrame.height=0;this._IsOpened=false;if (this.ParentPanel) this.ParentPanel.Unlock();if (!A) FCKTools.RunFunction(this.OnHide,this);}};FCKPanel.prototype.CheckIsOpened=function(){if (this._Popup) return this._Popup.isOpen;else return this._IsOpened;};FCKPanel.prototype.CreateChildPanel=function(){var A=this._Popup?FCKTools.GetDocumentWindow(this.Document):this._Window;var B=new FCKPanel(A);B.ParentPanel=this;return B;};FCKPanel.prototype.Lock=function(){this._LockCounter++;};FCKPanel.prototype.Unlock=function(){if (--this._LockCounter==0&&!this.HasFocus) this.Hide();};function FCKPanel_Window_OnFocus(e,A){A.HasFocus=true;};function FCKPanel_Window_OnBlur(e,A){A.HasFocus=false;if (A._LockCounter==0) FCKTools.RunFunction(A.Hide,A);};function CheckPopupOnHide(A){if (A||!this._Popup.isOpen){window.clearInterval(this._Timer);this._Timer=null;FCKTools.RunFunction(this.OnHide,this);}};function FCKPanel_Cleanup(){this._Popup=null;this._Window=null;this.Document=null;this.MainNode=null;}\r
-var FCKIcon=function(A){var B=A?typeof(A):'undefined';switch (B){case 'number':this.Path=FCKConfig.SkinPath+'fck_strip.gif';this.Size=16;this.Position=A;break;case 'undefined':this.Path=FCK_SPACER_PATH;break;case 'string':this.Path=A;break;default:this.Path=A[0];this.Size=A[1];this.Position=A[2];}};FCKIcon.prototype.CreateIconElement=function(A){var B,eIconImage;if (this.Position){var C='-'+((this.Position-1)*this.Size)+'px';if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path;eIconImage.style.top=C;}else{B=A.createElement('IMG');B.src=FCK_SPACER_PATH;B.style.backgroundPosition='0px '+C;B.style.backgroundImage='url('+this.Path+')';}}else{if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path?this.Path:FCK_SPACER_PATH;}else{B=A.createElement('IMG');B.src=this.Path?this.Path:FCK_SPACER_PATH;}};B.className='TB_Button_Image';return B;}\r
-var FCKToolbarButtonUI=function(A,B,C,D,E,F){this.Name=A;this.Label=B||A;this.Tooltip=C||this.Label;this.Style=E||0;this.State=F||0;this.Icon=new FCKIcon(D);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarButtonUI_Cleanup);};FCKToolbarButtonUI.prototype._CreatePaddingElement=function(A){var B=A.createElement('IMG');B.className='TB_Button_Padding';B.src=FCK_SPACER_PATH;return B;};FCKToolbarButtonUI.prototype.Create=function(A){var B=this.MainElement;if (B){FCKToolbarButtonUI_Cleanup.call(this);if (B.parentNode) B.parentNode.removeChild(B);B=this.MainElement=null;};var C=FCKTools.GetElementDocument(A);B=this.MainElement=C.createElement('DIV');B._FCKButton=this;B.title=this.Tooltip;if (FCKBrowserInfo.IsGecko) B.onmousedown=FCKTools.CancelEvent;this.ChangeState(this.State,true);if (this.Style==0&&!this.ShowArrow){B.appendChild(this.Icon.CreateIconElement(C));}else{var D=B.appendChild(C.createElement('TABLE'));D.cellPadding=0;D.cellSpacing=0;var E=D.insertRow(-1);var F=E.insertCell(-1);if (this.Style==0||this.Style==2) F.appendChild(this.Icon.CreateIconElement(C));else F.appendChild(this._CreatePaddingElement(C));if (this.Style==1||this.Style==2){F=E.insertCell(-1);F.className='TB_Button_Text';F.noWrap=true;F.appendChild(C.createTextNode(this.Label));};if (this.ShowArrow){if (this.Style!=0){E.insertCell(-1).appendChild(this._CreatePaddingElement(C));};F=E.insertCell(-1);var G=F.appendChild(C.createElement('IMG'));G.src=FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif';G.width=5;G.height=3;};F=E.insertCell(-1);F.appendChild(this._CreatePaddingElement(C));};A.appendChild(B);};FCKToolbarButtonUI.prototype.ChangeState=function(A,B){if (!B&&this.State==A) return;var e=this.MainElement;switch (parseInt(A,10)){case 0:e.className='TB_Button_Off';e.onmouseover=FCKToolbarButton_OnMouseOverOff;e.onmouseout=FCKToolbarButton_OnMouseOutOff;e.onclick=FCKToolbarButton_OnClick;break;case 1:e.className='TB_Button_On';e.onmouseover=FCKToolbarButton_OnMouseOverOn;e.onmouseout=FCKToolbarButton_OnMouseOutOn;e.onclick=FCKToolbarButton_OnClick;break;case -1:e.className='TB_Button_Disabled';e.onmouseover=null;e.onmouseout=null;e.onclick=null;break;};this.State=A;};function FCKToolbarButtonUI_Cleanup(){if (this.MainElement){this.MainElement._FCKButton=null;this.MainElement=null;}};function FCKToolbarButton_OnMouseOverOn(){this.className='TB_Button_On_Over';};function FCKToolbarButton_OnMouseOutOn(){this.className='TB_Button_On';};function FCKToolbarButton_OnMouseOverOff(){this.className='TB_Button_Off_Over';};function FCKToolbarButton_OnMouseOutOff(){this.className='TB_Button_Off';};function FCKToolbarButton_OnClick(e){if (this._FCKButton.OnClick) this._FCKButton.OnClick(this._FCKButton);};\r
-var FCKToolbarButton=function(A,B,C,D,E,F,G){this.CommandName=A;this.Label=B;this.Tooltip=C;this.Style=D;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;if (G==null) this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(G)=='number') this.IconPath=[FCKConfig.SkinPath+'fck_strip.gif',16,G];};FCKToolbarButton.prototype.Create=function(A){this._UIButton=new FCKToolbarButtonUI(this.CommandName,this.Label,this.Tooltip,this.IconPath,this.Style);this._UIButton.OnClick=this.Click;this._UIButton._ToolbarButton=this;this._UIButton.Create(A);};FCKToolbarButton.prototype.RefreshState=function(){var A=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (A==this._UIButton.State) return;this._UIButton.ChangeState(A);};FCKToolbarButton.prototype.Click=function(){var A=this._ToolbarButton||this;FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(A.CommandName).Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this._UIButton.ChangeState(-1);}\r
-var FCKSpecialCombo=function(A,B,C,D,E){this.FieldWidth=B||100;this.PanelWidth=C||150;this.PanelMaxHeight=D||150;this.Label='&nbsp;';this.Caption=A;this.Tooltip=A;this.Style=2;this.Enabled=true;this.Items={};this._Panel=new FCKPanel(E||window);this._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');this._PanelBox=this._Panel.MainNode.appendChild(this._Panel.Document.createElement('DIV'));this._PanelBox.className='SC_Panel';this._PanelBox.style.width=this.PanelWidth+'px';this._PanelBox.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._PanelBox.getElementsByTagName('TD')[0];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKSpecialCombo_Cleanup);};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(){this.className=this.originalClass;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,D){var E=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));E.className=E.originalClass='SC_Item';E.innerHTML=B;E.FCKItemID=A;E.FCKItemLabel=C||A;E.FCKSpecialCombo=this;E.Selected=false;if (FCKBrowserInfo.IsIE) E.style.width='100%';if (D) E.style.backgroundColor=D;E.onmouseover=FCKSpecialCombo_ItemOnMouseOver;E.onmouseout=FCKSpecialCombo_ItemOnMouseOut;E.onclick=FCKSpecialCombo_ItemOnClick;this.Items[A.toString().toLowerCase()]=E;return E;};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.SelectItemByLabel=function(A,B){for (var C in this.Items){var D=this.Items[C];if (D.FCKItemLabel==A){D.className=D.originalClass='SC_ItemSelected';D.Selected=true;if (B) this.SetLabel(A);}}};FCKSpecialCombo.prototype.DeselectAll=function(A){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};if (A) this.SetLabel('');};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;FCKTools.DisableSelection(this._LabelEl);}};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this._OuterTable=A.appendChild(B.createElement('TABLE'));C.cellPadding=0;C.cellSpacing=0;C.insertRow(-1);var D;var E;switch (this.Style){case 0:D='TB_ButtonType_Icon';E=false;break;case 1:D='TB_ButtonType_Text';E=false;break;case 2:E=true;break;};if (this.Caption&&this.Caption.length>0&&E){var F=C.rows[0].insertCell(-1);F.innerHTML=this.Caption;F.className='SC_FieldCaption';};var G=FCKTools.AppendElement(C.rows[0].insertCell(-1),'div');if (E){G.className='SC_Field';G.style.width=this.FieldWidth+'px';G.innerHTML='<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>';this._LabelEl=G.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{G.className='TB_Button_Off';G.innerHTML='<table title="'+this.Tooltip+'" class="'+D+'" cellspacing="0" cellpadding="0" border="0"><tr><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_Text">'+this.Caption+'</td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_ButtonArrow"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td></tr></table>';};G.SpecialCombo=this;G.onmouseover=FCKSpecialCombo_OnMouseOver;G.onmouseout=FCKSpecialCombo_OnMouseOut;G.onclick=FCKSpecialCombo_OnClick;FCKTools.DisableSelection(this._Panel.Document.body);};function FCKSpecialCombo_Cleanup(){this._LabelEl=null;this._OuterTable=null;this._ItemsHolderEl=null;this._PanelBox=null;if (this.Items){for (var A in this.Items) this.Items[A]=null;}};function FCKSpecialCombo_OnMouseOver(){if (this.SpecialCombo.Enabled){switch (this.SpecialCombo.Style){case 0:this.className='TB_Button_On_Over';break;case 1:this.className='TB_Button_On_Over';break;case 2:this.className='SC_Field SC_FieldOver';break;}}};function FCKSpecialCombo_OnMouseOut(){switch (this.SpecialCombo.Style){case 0:this.className='TB_Button_Off';break;case 1:this.className='TB_Button_Off';break;case 2:this.className='SC_Field';break;}};function FCKSpecialCombo_OnClick(e){var A=this.SpecialCombo;if (A.Enabled){var B=A._Panel;var C=A._PanelBox;var D=A._ItemsHolderEl;var E=A.PanelMaxHeight;if (A.OnBeforeClick) A.OnBeforeClick(A);if (FCKBrowserInfo.IsIE) B.Preload(0,this.offsetHeight,this);if (D.offsetHeight>E) C.style.height=E+'px';else C.style.height='';B.Show(0,this.offsetHeight,this);}};\r
-var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;this._LastValue=null;};function FCKToolbarSpecialCombo_OnSelect(A,B){FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Execute(A,B);};FCKToolbarSpecialCombo.prototype.Create=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel(),this.FieldWidth,this.PanelWidth,this.PanelMaxHeight,FCKBrowserInfo.IsIE?window:FCKTools.GetElementWindow(A).parent);this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A);this._Combo.CommandName=this.CommandName;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(A,B){A.DeselectAll();A.SelectItem(B);A.SetLabelById(B);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B!=-1){A=1;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else{if (this._LastValue!=B){this._LastValue=B;FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}}}else A=-1;if (A==this.State) return;if (A==-1){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=-1);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=-1;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);};\r
-var FCKToolbarFontsCombo=function(A,B){this.CommandName='FontName';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;};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],'<font face="'+B[i]+'" style="font-size: 12px">'+B[i]+'</font>');}\r
-var FCKToolbarFontSizeCombo=function(A,B){this.CommandName='FontSize';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;};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]);}}\r
-var FCKToolbarFontFormatCombo=function(A,B){this.CommandName='FontFormat';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.NormalLabel='Normal';this.PanelWidth=190;};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);if (FCKConfig.BodyId&&FCKConfig.BodyId.length>0) B.body.id=FCKConfig.BodyId;if (FCKConfig.BodyClass&&FCKConfig.BodyClass.length>0) B.body.className+=' '+FCKConfig.BodyClass;var C=FCKLang['FontFormats'].split(';');var D={p:C[0],pre:C[1],address:C[2],h1:C[3],h2:C[4],h3:C[5],h4:C[6],h5:C[7],h6:C[8],div:C[9]};var E=FCKConfig.FontFormats.split(';');for (var i=0;i<E.length;i++){var F=E[i];var G=D[F];if (F=='p') this.NormalLabel=G;this._Combo.AddItem(F,'<div class="BaseFont"><'+F+'>'+G+'</'+F+'></div>',G);}};if (FCKBrowserInfo.IsIE){FCKToolbarFontFormatCombo.prototype.RefreshActiveItems=function(A,B){if (B==this.NormalLabel){if (A.Label!='&nbsp;') A.DeselectAll(true);}else{if (this._LastValue==B) return;A.SelectItemByLabel(B,true);};this._LastValue=B;}}\r
-var FCKToolbarStyleCombo=function(A,B){this.CommandName='Style';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);B.body.className+=' ForceBaseFont';if (FCKConfig.BodyId&&FCKConfig.BodyId.length>0) B.body.id=FCKConfig.BodyId;if (FCKConfig.BodyClass&&FCKConfig.BodyClass.length>0) B.body.className+=' '+FCKConfig.BodyClass;if (!(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsGecko10)) A.OnBeforeClick=this.RefreshVisibleItems;var C=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Styles;for (var s in C){var D=C[s];var E;if (D.IsObjectElement) E=A.AddItem(s,s);else E=A.AddItem(s,D.GetOpenerTag()+s+D.GetCloserTag());E.Style=D;}};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){A.DeselectAll();var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).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';}}\r
-var FCKToolbarPanelButton=function(A,B,C,D,E){this.CommandName=A;var F;if (E==null) F=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(E)=='number') F=[FCKConfig.SkinPath+'fck_strip.gif',16,E];var G=this._UIButton=new FCKToolbarButtonUI(A,B,C,F,D);G._FCKToolbarPanelButton=this;G.ShowArrow=true;G.OnClick=FCKToolbarPanelButton_OnButtonClick;};FCKToolbarPanelButton.prototype.TypeName='FCKToolbarPanelButton';FCKToolbarPanelButton.prototype.Create=function(A){A.className+='Menu';this._UIButton.Create(A);var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName)._Panel;B._FCKToolbarPanelButton=this;var C=B.Document.body.appendChild(B.Document.createElement('div'));C.style.position='absolute';C.style.top='0px';var D=this.LineImg=C.appendChild(B.Document.createElement('IMG'));D.className='TB_ConnectionLine';D.src=FCK_SPACER_PATH;B.OnHide=FCKToolbarPanelButton_OnPanelHide;};function FCKToolbarPanelButton_OnButtonClick(A){var B=this._FCKToolbarPanelButton;var e=B._UIButton.MainElement;B._UIButton.ChangeState(1);B.LineImg.style.width=(e.offsetWidth-2)+'px';FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(B.CommandName).Execute(0,e.offsetHeight-1,e);};function FCKToolbarPanelButton_OnPanelHide(){var A=this._FCKToolbarPanelButton;A._UIButton.ChangeState(0);};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable;\r
-var FCKToolbarItems={};FCKToolbarItems.LoadedItems={};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,2,true,true,1);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps,null,null,null,null,2);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true,null,3);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true,null,4);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true,null,5);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates,null,null,null,null,6);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true,null,47);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true,7);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true,8);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true,9);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true,10);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true,11);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true,12);break;case 'SpellCheck':B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck,null,null,null,null,13);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true,14);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true,15);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll,null,null,true,null,18);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true,19);break;case 'FitWindow':B=new FCKToolbarButton('FitWindow',FCKLang.FitWindow,null,null,true,true,66);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true,20);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true,21);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true,22);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true,23);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true,24);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true,25);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true,26);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true,27);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true,28);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true,29);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true,34);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true,35);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor,null,null,null,null,36);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage,null,false,true,37);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash,null,false,true,38);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable,null,false,true,39);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar,null,false,true,42);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley,null,false,true,41);break;case 'PageBreak':B=new FCKToolbarButton('PageBreak',FCKLang.PageBreakLbl,FCKLang.PageBreak,null,false,true,43);break;case 'Rule':B=new FCKToolbarButton('InsertHorizontalRule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true,40);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true,30);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true,31);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true,32);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true,33);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,null,null,45);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor,null,null,46);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find,null,null,null,null,16);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace,null,null,null,null,17);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form,null,null,null,null,48);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox,null,null,null,null,49);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton,null,null,null,null,50);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField,null,null,null,null,51);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea,null,null,null,null,52);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField,null,null,null,null,56);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button,null,null,null,null,54);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField,null,null,null,null,53);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton,null,null,null,null,55);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;}\r
-var FCKToolbar=function(){this.Items=[];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbar_Cleanup);};FCKToolbar.prototype.AddItem=function(A){return this.Items[this.Items.length]=A;};FCKToolbar.prototype.AddButton=function(A,B,C,D,E,F){if (typeof(D)=='number') D=[this.DefaultIconsStrip,this.DefaultIconSize,D];var G=new FCKToolbarButtonUI(A,B,C,D,E,F);G._FCKToolbar=this;G.OnClick=FCKToolbar_OnItemClick;return this.AddItem(G);};function FCKToolbar_OnItemClick(A){var B=A._FCKToolbar;if (B.OnItemClick) B.OnItemClick(B,A);};FCKToolbar.prototype.AddSeparator=function(){this.AddItem(new FCKToolbarSeparator());};FCKToolbar.prototype.Create=function(A){if (this.MainElement){if (this.MainElement.parentNode) this.MainElement.parentNode.removeChild(this.MainElement);this.MainElement=null;};var B=FCKTools.GetElementDocument(A);var e=this.MainElement=B.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=(FCKLang.Dir=='ltr'?'left':'right');e.dir=FCKLang.Dir;e.cellPadding=0;e.cellSpacing=0;this.RowElement=e.insertRow(-1);var C;if (!this.HideStart){C=this.RowElement.insertCell(-1);C.appendChild(B.createElement('div')).className='TB_Start';};for (var i=0;i<this.Items.length;i++){this.Items[i].Create(this.RowElement.insertCell(-1));};if (!this.HideEnd){C=this.RowElement.insertCell(-1);C.appendChild(B.createElement('div')).className='TB_End';};A.appendChild(e);};function FCKToolbar_Cleanup(){this.MainElement=null;this.RowElement=null;};var FCKToolbarSeparator=function(){};FCKToolbarSeparator.prototype.Create=function(A){FCKTools.AppendElement(A,'div').className='TB_Separator';}\r
-var FCKToolbarBreak=function(){};FCKToolbarBreak.prototype.Create=function(A){var B=A.ownerDocument.createElement('div');B.style.clear=B.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';A.appendChild(B);}\r
-function FCKToolbarSet_Create(A){var B;var C=A||FCKConfig.ToolbarLocation;switch (C){case 'In':document.getElementById('xToolbarRow').style.display='';B=new FCKToolbarSet(document);break;default:FCK.Events.AttachEvent('OnBlur',FCK_OnBlur);FCK.Events.AttachEvent('OnFocus',FCK_OnFocus);var D;var E=C.match(/^Out:(.+)\((\w+)\)$/);if (E){D=eval('parent.'+E[1]).document.getElementById(E[2]);}else{E=C.match(/^Out:(\w+)$/);if (E) D=parent.document.getElementById(E[1]);};if (!D){alert('Invalid value for "ToolbarLocation"');return this._Init('In');};B=D.__FCKToolbarSet;if (B) break;var F=FCKTools.GetElementDocument(D).createElement('iframe');F.src='javascript:void(0)';F.frameBorder=0;F.width='100%';F.height='10';D.appendChild(F);F.unselectable='on';var G=F.contentWindow.document;G.open();G.write('<html><head><script type="text/javascript"> window.onload = window.onresize = function() { window.frameElement.height = document.body.scrollHeight ; } </script></head><body style="overflow: hidden">'+document.getElementById('xToolbarSpace').innerHTML+'</body></html>');G.close();G.oncontextmenu=FCKTools.CancelEvent;FCKTools.AppendStyleSheet(G,FCKConfig.SkinPath+'fck_editor.css');B=D.__FCKToolbarSet=new FCKToolbarSet(G);B._IFrame=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(D,FCKToolbarSet_Target_Cleanup);};B.CurrentInstance=FCK;FCK.AttachToOnSelectionChange(B.RefreshItemsState);return B;};function FCK_OnBlur(A){var B=A.ToolbarSet;if (B.CurrentInstance==A) B.Disable();};function FCK_OnFocus(A){var B=A.ToolbarSet;var C=A||FCK;B.CurrentInstance.FocusManager.RemoveWindow(B._IFrame.contentWindow);B.CurrentInstance=C;C.FocusManager.AddWindow(B._IFrame.contentWindow,true);B.Enable();};function FCKToolbarSet_Cleanup(){this._TargetElement=null;this._IFrame=null;};function FCKToolbarSet_Target_Cleanup(){this.__FCKToolbarSet=null;};var FCKToolbarSet=function(A){this._Document=A;this._TargetElement=A.getElementById('xToolbar');var B=A.getElementById('xExpandHandle');var C=A.getElementById('xCollapseHandle');B.title=FCKLang.ToolbarExpand;B.onclick=FCKToolbarSet_Expand_OnClick;C.title=FCKLang.ToolbarCollapse;C.onclick=FCKToolbarSet_Collapse_OnClick;if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();C.style.display=FCKConfig.ToolbarCanCollapse?'':'none';if (FCKConfig.ToolbarCanCollapse) C.style.display='';else A.getElementById('xTBLeftBorder').style.display='';this.Toolbars=[];this.IsLoaded=false;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarSet_Cleanup);};function FCKToolbarSet_Expand_OnClick(){FCK.ToolbarSet.Expand();};function FCKToolbarSet_Collapse_OnClick(){FCK.ToolbarSet.Collapse();};FCKToolbarSet.prototype.Expand=function(){this._ChangeVisibility(false);};FCKToolbarSet.prototype.Collapse=function(){this._ChangeVisibility(true);};FCKToolbarSet.prototype._ChangeVisibility=function(A){this._Document.getElementById('xCollapsed').style.display=A?'':'none';this._Document.getElementById('xExpanded').style.display=A?'none':'';if (FCKBrowserInfo.IsGecko){FCKTools.RunFunction(window.onresize);}};FCKToolbarSet.prototype.Load=function(A){this.Name=A;this.Items=[];this.ItemsWysiwygOnly=[];this.ItemsContextSensitive=[];this._TargetElement.innerHTML='';var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=[];for (var x=0;x<B.length;x++){var C=B[x];if (!C) continue;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);this.Items.push(F);if (!F.SourceView) this.ItemsWysiwygOnly.push(F);if (F.ContextSensitive) this.ItemsContextSensitive.push(F);}}}};D.Create(this._TargetElement);this.Toolbars[this.Toolbars.length]=D;};FCKTools.DisableSelection(this._Document.getElementById('xCollapseHandle').parentNode);if (FCK.Status!=2) FCK.Events.AttachEvent('OnStatusChange',this.RefreshModeState);else this.RefreshModeState();this.IsLoaded=true;this.IsEnabled=true;FCKTools.RunFunction(this.OnLoad);};FCKToolbarSet.prototype.Enable=function(){if (this.IsEnabled) return;this.IsEnabled=true;var A=this.Items;for (var i=0;i<A.length;i++) A[i].RefreshState();};FCKToolbarSet.prototype.Disable=function(){if (!this.IsEnabled) return;this.IsEnabled=false;var A=this.Items;for (var i=0;i<A.length;i++) A[i].Disable();};FCKToolbarSet.prototype.RefreshModeState=function(A){if (FCK.Status!=2) return;var B=A?A.ToolbarSet:this;var C=B.ItemsWysiwygOnly;if (FCK.EditMode==0){for (var i=0;i<C.length;i++) C[i].Enable();B.RefreshItemsState(A);}else{B.RefreshItemsState(A);for (var j=0;j<C.length;j++) C[j].Disable();}};FCKToolbarSet.prototype.RefreshItemsState=function(A){var B=(A?A.ToolbarSet:this).ItemsContextSensitive;for (var i=0;i<B.length;i++) B[i].RefreshState();};\r
-var FCKDialog={};FCKDialog.OpenDialog=function(A,B,C,D,E,F,G,H){var I={};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);};\r
-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;FCKFocusManager.Lock();var K=F.open('','FCKeditorDialog_'+B,J,true);if (!K){alert(FCKLang.DialogBlocked);FCKFocusManager.Unlock();return;};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.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.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;};\r
-var FCKMenuItem=function(A,B,C,D,E){this.Name=B;this.Label=C||B;this.IsDisabled=E;this.Icon=new FCKIcon(D);this.SubMenu=new FCKMenuBlockPanel();this.SubMenu.Parent=A;this.SubMenu.OnClick=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnClick,this);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuItem_Cleanup);};FCKMenuItem.prototype.AddItem=function(A,B,C,D){this.HasSubMenu=true;return this.SubMenu.AddItem(A,B,C,D);};FCKMenuItem.prototype.AddSeparator=function(){this.SubMenu.AddSeparator();};FCKMenuItem.prototype.Create=function(A){var B=this.HasSubMenu;var C=FCKTools.GetElementDocument(A);var r=this.MainElement=A.insertRow(-1);r.className=this.IsDisabled?'MN_Item_Disabled':'MN_Item';if (!this.IsDisabled){FCKTools.AddEventListenerEx(r,'mouseover',FCKMenuItem_OnMouseOver,[this]);FCKTools.AddEventListenerEx(r,'click',FCKMenuItem_OnClick,[this]);if (!B) FCKTools.AddEventListenerEx(r,'mouseout',FCKMenuItem_OnMouseOut,[this]);};var D=r.insertCell(-1);D.className='MN_Icon';D.appendChild(this.Icon.CreateIconElement(C));D=r.insertCell(-1);D.className='MN_Label';D.noWrap=true;D.appendChild(C.createTextNode(this.Label));D=r.insertCell(-1);if (B){D.className='MN_Arrow';var E=D.appendChild(C.createElement('IMG'));E.src=FCK_IMAGES_PATH+'arrow_'+FCKLang.Dir+'.gif';E.width=4;E.height=7;this.SubMenu.Create();this.SubMenu.Panel.OnHide=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnHide,this);}};FCKMenuItem.prototype.Activate=function(){this.MainElement.className='MN_Item_Over';if (this.HasSubMenu){this.SubMenu.Show(this.MainElement.offsetWidth+2,-2,this.MainElement);};FCKTools.RunFunction(this.OnActivate,this);};FCKMenuItem.prototype.Deactivate=function(){this.MainElement.className='MN_Item';if (this.HasSubMenu) this.SubMenu.Hide();};function FCKMenuItem_SubMenu_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuItem_SubMenu_OnHide(A){A.Deactivate();};function FCKMenuItem_OnClick(A,B){if (B.HasSubMenu) B.Activate();else{B.Deactivate();FCKTools.RunFunction(B.OnClick,B,[B]);}};function FCKMenuItem_OnMouseOver(A,B){B.Activate();};function FCKMenuItem_OnMouseOut(A,B){B.Deactivate();};function FCKMenuItem_Cleanup(){this.MainElement=null;}\r
-var FCKMenuBlock=function(){this._Items=[];};FCKMenuBlock.prototype.Count=function(){return this._Items.length;};FCKMenuBlock.prototype.AddItem=function(A,B,C,D){var E=new FCKMenuItem(this,A,B,C,D);E.OnClick=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnClick,this);E.OnActivate=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnActivate,this);this._Items.push(E);return E;};FCKMenuBlock.prototype.AddSeparator=function(){this._Items.push(new FCKMenuSeparator());};FCKMenuBlock.prototype.RemoveAllItems=function(){this._Items=[];var A=this._ItemsTable;if (A){while (A.rows.length>0) A.deleteRow(0);}};FCKMenuBlock.prototype.Create=function(A){if (!this._ItemsTable){if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuBlock_Cleanup);this._Window=FCKTools.GetElementWindow(A);var B=FCKTools.GetElementDocument(A);var C=A.appendChild(B.createElement('table'));C.cellPadding=0;C.cellSpacing=0;FCKTools.DisableSelection(C);var D=C.insertRow(-1).insertCell(-1);D.className='MN_Menu';var E=this._ItemsTable=D.appendChild(B.createElement('table'));E.cellPadding=0;E.cellSpacing=0;};for (var i=0;i<this._Items.length;i++) this._Items[i].Create(this._ItemsTable);};function FCKMenuBlock_Item_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuBlock_Item_OnActivate(A){var B=A._ActiveItem;if (B&&B!=this){if (!FCKBrowserInfo.IsIE&&B.HasSubMenu&&!this.HasSubMenu) A._Window.focus();B.Deactivate();};A._ActiveItem=this;};function FCKMenuBlock_Cleanup(){this._Window=null;this._ItemsTable=null;};var FCKMenuSeparator=function(){};FCKMenuSeparator.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var r=A.insertRow(-1);var C=r.insertCell(-1);C.className='MN_Separator MN_Icon';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';}\r
-var FCKMenuBlockPanel=function(){FCKMenuBlock.call(this);};FCKMenuBlockPanel.prototype=new FCKMenuBlock();FCKMenuBlockPanel.prototype.Create=function(){var A=this.Panel=(this.Parent&&this.Parent.Panel?this.Parent.Panel.CreateChildPanel():new FCKPanel());A.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');FCKMenuBlock.prototype.Create.call(this,A.MainNode);};FCKMenuBlockPanel.prototype.Show=function(x,y,A){if (!this.Panel.CheckIsOpened()) this.Panel.Show(x,y,A);};FCKMenuBlockPanel.prototype.Hide=function(){if (this.Panel.CheckIsOpened()) this.Panel.Hide();}\r
-var FCKContextMenu=function(A,B){this.CtrlDisable=false;var C=this._Panel=new FCKPanel(A);C.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');C.IsContextMenu=true;if (FCKBrowserInfo.IsGecko) C.Document.addEventListener('draggesture',function(e) {e.preventDefault();return false;},true);var D=this._MenuBlock=new FCKMenuBlock();D.Panel=C;D.OnClick=FCKTools.CreateEventListener(FCKContextMenu_MenuBlock_OnClick,this);this._Redraw=true;};FCKContextMenu.prototype.SetMouseClickWindow=function(A){if (!FCKBrowserInfo.IsIE){this._Document=A.document;this._Document.addEventListener('contextmenu',FCKContextMenu_Document_OnContextMenu,false);}};FCKContextMenu.prototype.AddItem=function(A,B,C,D){var E=this._MenuBlock.AddItem(A,B,C,D);this._Redraw=true;return E;};FCKContextMenu.prototype.AddSeparator=function(){this._MenuBlock.AddSeparator();this._Redraw=true;};FCKContextMenu.prototype.RemoveAllItems=function(){this._MenuBlock.RemoveAllItems();this._Redraw=true;};FCKContextMenu.prototype.AttachToElement=function(A){if (FCKBrowserInfo.IsIE) FCKTools.AddEventListenerEx(A,'contextmenu',FCKContextMenu_AttachedElement_OnContextMenu,this);else A._FCKContextMenu=this;};function FCKContextMenu_Document_OnContextMenu(e){var A=e.target;while (A){if (A._FCKContextMenu){if (A._FCKContextMenu.CtrlDisable&&(e.ctrlKey||e.metaKey)) return true;FCKTools.CancelEvent(e);FCKContextMenu_AttachedElement_OnContextMenu(e,A._FCKContextMenu,A);};A=A.parentNode;}};function FCKContextMenu_AttachedElement_OnContextMenu(A,B,C){if (B.CtrlDisable&&(A.ctrlKey||A.metaKey)) return true;var D=C||this;if (B.OnBeforeOpen) B.OnBeforeOpen.call(B,D);if (B._MenuBlock.Count()==0) return false;if (B._Redraw){B._MenuBlock.Create(B._Panel.MainNode);B._Redraw=false;};FCKTools.DisableSelection(B._Panel.Document.body);B._Panel.Show(A.pageX||A.screenX,A.pageY||A.screenY,A.currentTarget||null);return false;};function FCKContextMenu_MenuBlock_OnClick(A,B){B._Panel.Hide();FCKTools.RunFunction(B.OnItemClick,B,A);}\r
-FCK.ContextMenu={};FCK.ContextMenu.Listeners=[];FCK.ContextMenu.RegisterListener=function(A){if (A) this.Listeners.push(A);};function FCK_ContextMenu_Init(){var A=FCK.ContextMenu._InnerContextMenu=new FCKContextMenu(FCKBrowserInfo.IsIE?window:window.parent,FCKLang.Dir);A.CtrlDisable=FCKConfig.BrowserContextMenuOnCtrl;A.OnBeforeOpen=FCK_ContextMenu_OnBeforeOpen;A.OnItemClick=FCK_ContextMenu_OnItemClick;var B=FCK.ContextMenu;for (var i=0;i<FCKConfig.ContextMenu.length;i++) B.RegisterListener(FCK_ContextMenu_GetListener(FCKConfig.ContextMenu[i]));};function FCK_ContextMenu_GetListener(A){switch (A){case 'Generic':return {AddItems:function(menu,tag,tagName){menu.AddItem('Cut',FCKLang.Cut,7,FCKCommands.GetCommand('Cut').GetState()==-1);menu.AddItem('Copy',FCKLang.Copy,8,FCKCommands.GetCommand('Copy').GetState()==-1);menu.AddItem('Paste',FCKLang.Paste,9,FCKCommands.GetCommand('Paste').GetState()==-1);}};case 'Table':return {AddItems:function(menu,tag,tagName){var B=(tagName=='TABLE');var C=(!B&&FCKSelection.HasAncestorNode('TABLE'));if (C){menu.AddSeparator();var D=menu.AddItem('Cell',FCKLang.CellCM);D.AddItem('TableInsertCell',FCKLang.InsertCell,58);D.AddItem('TableDeleteCells',FCKLang.DeleteCells,59);D.AddItem('TableMergeCells',FCKLang.MergeCells,60);D.AddItem('TableSplitCell',FCKLang.SplitCell,61);D.AddSeparator();D.AddItem('TableCellProp',FCKLang.CellProperties,57);menu.AddSeparator();D=menu.AddItem('Row',FCKLang.RowCM);D.AddItem('TableInsertRow',FCKLang.InsertRow,62);D.AddItem('TableDeleteRows',FCKLang.DeleteRows,63);menu.AddSeparator();D=menu.AddItem('Column',FCKLang.ColumnCM);D.AddItem('TableInsertColumn',FCKLang.InsertColumn,64);D.AddItem('TableDeleteColumns',FCKLang.DeleteColumns,65);};if (B||C){menu.AddSeparator();menu.AddItem('TableDelete',FCKLang.TableDelete);menu.AddItem('TableProp',FCKLang.TableProperties,39);}}};case 'Link':return {AddItems:function(menu,tag,tagName){var E=(tagName=='A'||FCKSelection.HasAncestorNode('A'));if (E||FCK.GetNamedCommandState('Unlink')!=-1){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0&&F.href.length==0);if (G) return;menu.AddSeparator();if (E) menu.AddItem('Link',FCKLang.EditLink,34);menu.AddItem('Unlink',FCKLang.RemoveLink,35);}}};case 'Image':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&!tag.getAttribute('_fckfakelement')){menu.AddSeparator();menu.AddItem('Image',FCKLang.ImageProperties,37);}}};case 'Anchor':return {AddItems:function(menu,tag,tagName){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0);if (G||(tagName=='IMG'&&tag.getAttribute('_fckanchor'))){menu.AddSeparator();menu.AddItem('Anchor',FCKLang.AnchorProp,36);}}};case 'Flash':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckflash')){menu.AddSeparator();menu.AddItem('Flash',FCKLang.FlashProperties,38);}}};case 'Form':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('FORM')){menu.AddSeparator();menu.AddItem('Form',FCKLang.FormProp,48);}}};case 'Checkbox':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='checkbox'){menu.AddSeparator();menu.AddItem('Checkbox',FCKLang.CheckboxProp,49);}}};case 'Radio':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='radio'){menu.AddSeparator();menu.AddItem('Radio',FCKLang.RadioButtonProp,50);}}};case 'TextField':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='text'||tag.type=='password')){menu.AddSeparator();menu.AddItem('TextField',FCKLang.TextFieldProp,51);}}};case 'HiddenField':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckinputhidden')){menu.AddSeparator();menu.AddItem('HiddenField',FCKLang.HiddenFieldProp,56);}}};case 'ImageButton':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='image'){menu.AddSeparator();menu.AddItem('ImageButton',FCKLang.ImageButtonProp,55);}}};case 'Button':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='button'||tag.type=='submit'||tag.type=='reset')){menu.AddSeparator();menu.AddItem('Button',FCKLang.ButtonProp,54);}}};case 'Select':return {AddItems:function(menu,tag,tagName){if (tagName=='SELECT'){menu.AddSeparator();menu.AddItem('Select',FCKLang.SelectionFieldProp,53);}}};case 'Textarea':return {AddItems:function(menu,tag,tagName){if (tagName=='TEXTAREA'){menu.AddSeparator();menu.AddItem('Textarea',FCKLang.TextareaProp,52);}}};case 'BulletedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('UL')){menu.AddSeparator();menu.AddItem('BulletedList',FCKLang.BulletedListProp,27);}}};case 'NumberedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('OL')){menu.AddSeparator();menu.AddItem('NumberedList',FCKLang.NumberedListProp,26);}}};};return null;};function FCK_ContextMenu_OnBeforeOpen(){FCK.Events.FireEvent('OnSelectionChange');var A,sTagName;if ((A=FCKSelection.GetSelectedElement())) sTagName=A.tagName;var B=FCK.ContextMenu._InnerContextMenu;B.RemoveAllItems();var C=FCK.ContextMenu.Listeners;for (var i=0;i<C.length;i++) C[i].AddItems(B,A,sTagName);};function FCK_ContextMenu_OnItemClick(A){FCK.Focus();FCKCommands.GetCommand(A.Name).Execute();};\r
-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=[];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];LoadScript(this.Path+'lang/'+A+'.js');};LoadScript(this.Path+'fckplugin.js');}\r
-var FCKPlugins=FCK.Plugins={};FCKPlugins.ItemsCount=0;FCKPlugins.Items={};FCKPlugins.Load=function(){var A=FCKPlugins.Items;for (var i=0;i<FCKConfig.Plugins.Items.length;i++){var B=FCKConfig.Plugins.Items[i];var C=A[B[0]]=new FCKPlugin(B[0],B[1],B[2]);FCKPlugins.ItemsCount++;};for (var s in A) A[s].Load();FCKPlugins.Load=null;}\r
+var FCKElementPath=function(A){var B=null;var C=null;var D=[];var e=A;while (e){if (e.nodeType==1){if (!this.LastElement) this.LastElement=e;var E=e.nodeName.toLowerCase();if (FCKBrowserInfo.IsIE&&e.scopeName!='HTML') E=e.scopeName.toLowerCase()+':'+E;if (!C){if (!B&&FCKListsLib.PathBlockElements[E]!=null) B=e;if (FCKListsLib.PathBlockLimitElements[E]!=null){if (!B&&E=='div'&&!FCKElementPath._CheckHasBlock(e)) B=e;else C=e;}};D.push(e);if (E=='body') break;};e=e.parentNode;};this.Block=B;this.BlockLimit=C;this.Elements=D;};FCKElementPath._CheckHasBlock=function(A){var B=A.childNodes;for (var i=0,count=B.length;i<count;i++){var C=B[i];if (C.nodeType==1&&FCKListsLib.BlockElements[C.nodeName.toLowerCase()]) return true;};return false;};\r
+var FCKDomRange=function(A){this.Window=A;this._Cache={};};FCKDomRange.prototype={_UpdateElementInfo:function(){var A=this._Range;if (!A) this.Release(true);else{var B=A.startContainer;var C=new FCKElementPath(B);this.StartNode=B.nodeType==3?B:B.childNodes[A.startOffset];this.StartContainer=B;this.StartBlock=C.Block;this.StartBlockLimit=C.BlockLimit;if (A.collapsed){this.EndNode=this.StartNode;this.EndContainer=this.StartContainer;this.EndBlock=this.StartBlock;this.EndBlockLimit=this.StartBlockLimit;}else{var D=A.endContainer;if (B!=D) C=new FCKElementPath(D);var E=D;if (A.endOffset==0){while (E&&!E.previousSibling) E=E.parentNode;if (E) E=E.previousSibling;}else if (E.nodeType==1) E=E.childNodes[A.endOffset-1];this.EndNode=E;this.EndContainer=D;this.EndBlock=C.Block;this.EndBlockLimit=C.BlockLimit;}};this._Cache={};},CreateRange:function(){return new FCKW3CRange(this.Window.document);},DeleteContents:function(){if (this._Range){this._Range.deleteContents();this._UpdateElementInfo();}},ExtractContents:function(){if (this._Range){var A=this._Range.extractContents();this._UpdateElementInfo();return A;};return null;},CheckIsCollapsed:function(){if (this._Range) return this._Range.collapsed;return false;},Collapse:function(A){if (this._Range) this._Range.collapse(A);this._UpdateElementInfo();},Clone:function(){var A=FCKTools.CloneObject(this);if (this._Range) A._Range=this._Range.cloneRange();return A;},MoveToNodeContents:function(A){if (!this._Range) this._Range=this.CreateRange();this._Range.selectNodeContents(A);this._UpdateElementInfo();},MoveToElementStart:function(A){this.SetStart(A,1);this.SetEnd(A,1);},MoveToElementEditStart:function(A){var B;while (A&&A.nodeType==1){if (FCKDomTools.CheckIsEditable(A)) B=A;else if (B) break;A=A.firstChild;};if (B) this.MoveToElementStart(B);},InsertNode:function(A){if (this._Range) this._Range.insertNode(A);},CheckIsEmpty:function(){if (this.CheckIsCollapsed()) return true;var A=this.Window.document.createElement('div');this._Range.cloneContents().AppendTo(A);FCKDomTools.TrimNode(A);return (A.innerHTML.length==0);},CheckStartOfBlock:function(){var A=this._Cache;var B=A.IsStartOfBlock;if (B!=undefined) return B;var C=this.StartBlock||this.StartBlockLimit;var D=this._Range.startContainer;var E=this._Range.startOffset;var F;if (E>0){if (D.nodeType==3){var G=D.nodeValue.substr(0,E).Trim();if (G.length!=0) return A.IsStartOfBlock=false;}else F=D.childNodes[E-1];};if (!F) F=FCKDomTools.GetPreviousSourceNode(D,true,null,C);while (F){switch (F.nodeType){case 1:if (!FCKListsLib.InlineChildReqElements[F.nodeName.toLowerCase()]) return A.IsStartOfBlock=false;break;case 3:if (F.nodeValue.Trim().length>0) return A.IsStartOfBlock=false;};F=FCKDomTools.GetPreviousSourceNode(F,false,null,C);};return A.IsStartOfBlock=true;},CheckEndOfBlock:function(A){var B=this._Cache.IsEndOfBlock;if (B!=undefined) return B;var C=this.EndBlock||this.EndBlockLimit;var D=this._Range.endContainer;var E=this._Range.endOffset;var F;if (D.nodeType==3){var G=D.nodeValue;if (E<G.length){G=G.substr(E);if (G.Trim().length!=0) return this._Cache.IsEndOfBlock=false;}}else F=D.childNodes[E];if (!F) F=FCKDomTools.GetNextSourceNode(D,true,null,C);var H=false;while (F){switch (F.nodeType){case 1:var I=F.nodeName.toLowerCase();if (FCKListsLib.InlineChildReqElements[I]) break;if (I=='br'&&!H){H=true;break;};return this._Cache.IsEndOfBlock=false;case 3:if (F.nodeValue.Trim().length>0) return this._Cache.IsEndOfBlock=false;};F=FCKDomTools.GetNextSourceNode(F,false,null,C);};if (A) this.Select();return this._Cache.IsEndOfBlock=true;},CreateBookmark:function(A){var B={StartId:(new Date()).valueOf()+Math.floor(Math.random()*1000)+'S',EndId:(new Date()).valueOf()+Math.floor(Math.random()*1000)+'E'};var C=this.Window.document;var D;var E;var F;if (!this.CheckIsCollapsed()){E=C.createElement('span');E.style.display='none';E.id=B.EndId;E.setAttribute('_fck_bookmark',true);E.innerHTML='&nbsp;';F=this.Clone();F.Collapse(false);F.InsertNode(E);};D=C.createElement('span');D.style.display='none';D.id=B.StartId;D.setAttribute('_fck_bookmark',true);D.innerHTML='&nbsp;';F=this.Clone();F.Collapse(true);F.InsertNode(D);if (A){B.StartNode=D;B.EndNode=E;};if (E){this.SetStart(D,4);this.SetEnd(E,3);}else this.MoveToPosition(D,4);return B;},GetBookmarkNode:function(A,B){var C=this.Window.document;if (B) return A.StartNode||C.getElementById(A.StartId);else return A.EndNode||C.getElementById(A.EndId);},MoveToBookmark:function(A,B){var C=this.GetBookmarkNode(A,true);var D=this.GetBookmarkNode(A,false);this.SetStart(C,3);if (!B) FCKDomTools.RemoveNode(C);if (D){this.SetEnd(D,3);if (!B) FCKDomTools.RemoveNode(D);}else this.Collapse(true);this._UpdateElementInfo();},CreateBookmark2:function(){if (!this._Range) return { "Start":0,"End":0 };var A={"Start":[this._Range.startOffset],"End":[this._Range.endOffset]};var B=this._Range.startContainer.previousSibling;var C=this._Range.endContainer.previousSibling;var D=this._Range.startContainer;var E=this._Range.endContainer;while (B&&B.nodeType==3&&D.nodeType==3){A.Start[0]+=B.length;D=B;B=B.previousSibling;}while (C&&C.nodeType==3&&E.nodeType==3){A.End[0]+=C.length;E=C;C=C.previousSibling;};if (D.nodeType==1&&D.childNodes[A.Start[0]]&&D.childNodes[A.Start[0]].nodeType==3){var F=D.childNodes[A.Start[0]];var G=0;while (F.previousSibling&&F.previousSibling.nodeType==3){F=F.previousSibling;G+=F.length;};D=F;A.Start[0]=G;};if (E.nodeType==1&&E.childNodes[A.End[0]]&&E.childNodes[A.End[0]].nodeType==3){var F=E.childNodes[A.End[0]];var G=0;while (F.previousSibling&&F.previousSibling.nodeType==3){F=F.previousSibling;G+=F.length;};E=F;A.End[0]=G;};A.Start=FCKDomTools.GetNodeAddress(D,true).concat(A.Start);A.End=FCKDomTools.GetNodeAddress(E,true).concat(A.End);return A;},MoveToBookmark2:function(A){var B=FCKDomTools.GetNodeFromAddress(this.Window.document,A.Start.slice(0,-1),true);var C=FCKDomTools.GetNodeFromAddress(this.Window.document,A.End.slice(0,-1),true);this.Release(true);this._Range=new FCKW3CRange(this.Window.document);var D=A.Start[A.Start.length-1];var E=A.End[A.End.length-1];while (B.nodeType==3&&D>B.length){if (!B.nextSibling||B.nextSibling.nodeType!=3) break;D-=B.length;B=B.nextSibling;}while (C.nodeType==3&&E>C.length){if (!C.nextSibling||C.nextSibling.nodeType!=3) break;E-=C.length;C=C.nextSibling;};this._Range.setStart(B,D);this._Range.setEnd(C,E);this._UpdateElementInfo();},MoveToPosition:function(A,B){this.SetStart(A,B);this.Collapse(true);},SetStart:function(A,B,C){var D=this._Range;if (!D) D=this._Range=this.CreateRange();switch(B){case 1:D.setStart(A,0);break;case 2:D.setStart(A,A.childNodes.length);break;case 3:D.setStartBefore(A);break;case 4:D.setStartAfter(A);};if (!C) this._UpdateElementInfo();},SetEnd:function(A,B,C){var D=this._Range;if (!D) D=this._Range=this.CreateRange();switch(B){case 1:D.setEnd(A,0);break;case 2:D.setEnd(A,A.childNodes.length);break;case 3:D.setEndBefore(A);break;case 4:D.setEndAfter(A);};if (!C) this._UpdateElementInfo();},Expand:function(A){var B,oSibling;switch (A){case 'inline_elements':if (this._Range.startOffset==0){B=this._Range.startContainer;if (B.nodeType!=1) B=B.previousSibling?null:B.parentNode;if (B){while (FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){this._Range.setStartBefore(B);if (B!=B.parentNode.firstChild) break;B=B.parentNode;}}};B=this._Range.endContainer;var C=this._Range.endOffset;if ((B.nodeType==3&&C>=B.nodeValue.length)||(B.nodeType==1&&C>=B.childNodes.length)||(B.nodeType!=1&&B.nodeType!=3)){if (B.nodeType!=1) B=B.nextSibling?null:B.parentNode;if (B){while (FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){this._Range.setEndAfter(B);if (B!=B.parentNode.lastChild) break;B=B.parentNode;}}};break;case 'block_contents':case 'list_contents':var D=FCKListsLib.BlockBoundaries;if (A=='list_contents'||FCKConfig.EnterMode=='br') D=FCKListsLib.ListBoundaries;if (this.StartBlock&&FCKConfig.EnterMode!='br'&&A=='block_contents') this.SetStart(this.StartBlock,1);else{B=this._Range.startContainer;if (B.nodeType==1){var E=B.childNodes[this._Range.startOffset];if (E) B=FCKDomTools.GetPreviousSourceNode(E,true);else B=B.lastChild||B;}while (B&&(B.nodeType!=1||(B!=this.StartBlockLimit&&!D[B.nodeName.toLowerCase()]))){this._Range.setStartBefore(B);B=B.previousSibling||B.parentNode;}};if (this.EndBlock&&FCKConfig.EnterMode!='br'&&A=='block_contents'&&this.EndBlock.nodeName.toLowerCase()!='li') this.SetEnd(this.EndBlock,2);else{B=this._Range.endContainer;if (B.nodeType==1) B=B.childNodes[this._Range.endOffset]||B.lastChild;while (B&&(B.nodeType!=1||(B!=this.StartBlockLimit&&!D[B.nodeName.toLowerCase()]))){this._Range.setEndAfter(B);B=B.nextSibling||B.parentNode;};if (B&&B.nodeName.toLowerCase()=='br') this._Range.setEndAfter(B);};this._UpdateElementInfo();}},SplitBlock:function(A){var B=A||FCKConfig.EnterMode;if (!this._Range) this.MoveToSelection();if (this.StartBlockLimit==this.EndBlockLimit){var C=this.StartBlock;var D=this.EndBlock;var E=null;if (B!='br'){if (!C){C=this.FixBlock(true,B);D=this.EndBlock;};if (!D) D=this.FixBlock(false,B);};var F=(C!=null&&this.CheckStartOfBlock());var G=(D!=null&&this.CheckEndOfBlock());if (!this.CheckIsEmpty()) this.DeleteContents();if (C&&D&&C==D){if (G){E=new FCKElementPath(this.StartContainer);this.MoveToPosition(D,4);D=null;}else if (F){E=new FCKElementPath(this.StartContainer);this.MoveToPosition(C,3);C=null;}else{this.SetEnd(C,2);var H=this.ExtractContents();D=C.cloneNode(false);D.removeAttribute('id',false);H.AppendTo(D);FCKDomTools.InsertAfterNode(C,D);this.MoveToPosition(C,4);if (FCKBrowserInfo.IsGecko&&!C.nodeName.IEquals(['ul','ol'])) FCKTools.AppendBogusBr(C);}};return {PreviousBlock:C,NextBlock:D,WasStartOfBlock:F,WasEndOfBlock:G,ElementPath:E};};return null;},FixBlock:function(A,B){var C=this.CreateBookmark();this.Collapse(A);this.Expand('block_contents');var D=this.Window.document.createElement(B);this.ExtractContents().AppendTo(D);FCKDomTools.TrimNode(D);if (FCKDomTools.CheckIsEmptyElement(D,function(element) { return element.getAttribute('_fck_bookmark')!='true';})&&FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(D);this.InsertNode(D);this.MoveToBookmark(C);return D;},Release:function(A){if (!A) this.Window=null;this.StartNode=null;this.StartContainer=null;this.StartBlock=null;this.StartBlockLimit=null;this.EndNode=null;this.EndContainer=null;this.EndBlock=null;this.EndBlockLimit=null;this._Range=null;this._Cache=null;},CheckHasRange:function(){return!!this._Range;},GetTouchedStartNode:function(){var A=this._Range;var B=A.startContainer;if (A.collapsed||B.nodeType!=1) return B;return B.childNodes[A.startOffset]||B;},GetTouchedEndNode:function(){var A=this._Range;var B=A.endContainer;if (A.collapsed||B.nodeType!=1) return B;return B.childNodes[A.endOffset-1]||B;}};\r
+FCKDomRange.prototype.MoveToSelection=function(){this.Release(true);var A=this.Window.getSelection();if (A&&A.rangeCount>0){this._Range=FCKW3CRange.CreateFromRange(this.Window.document,A.getRangeAt(0));this._UpdateElementInfo();}else if (this.Window.document) this.MoveToElementStart(this.Window.document.body);};FCKDomRange.prototype.Select=function(){var A=this._Range;if (A){var B=A.startContainer;if (A.collapsed&&B.nodeType==1&&B.childNodes.length==0) B.appendChild(A._Document.createTextNode(''));var C=this.Window.document.createRange();C.setStart(B,A.startOffset);try{C.setEnd(A.endContainer,A.endOffset);}catch (e){if (e.toString().Contains('NS_ERROR_ILLEGAL_VALUE')){A.collapse(true);C.setEnd(A.endContainer,A.endOffset);}else throw(e);};var D=this.Window.getSelection();D.removeAllRanges();D.addRange(C);}};FCKDomRange.prototype.SelectBookmark=function(A){var B=this.Window.document.createRange();var C=this.GetBookmarkNode(A,true);var D=this.GetBookmarkNode(A,false);B.setStart(C.parentNode,FCKDomTools.GetIndexOf(C));FCKDomTools.RemoveNode(C);if (D){B.setEnd(D.parentNode,FCKDomTools.GetIndexOf(D));FCKDomTools.RemoveNode(D);};var E=this.Window.getSelection();E.removeAllRanges();E.addRange(B);};\r
+var FCKDomRangeIterator=function(A){this.Range=A;this.ForceBrBreak=false;this.EnforceRealBlocks=false;};FCKDomRangeIterator.CreateFromSelection=function(A){var B=new FCKDomRange(A);B.MoveToSelection();return new FCKDomRangeIterator(B);};FCKDomRangeIterator.prototype={GetNextParagraph:function(){var A;var B;var C;var D;var E;var F=this.ForceBrBreak?FCKListsLib.ListBoundaries:FCKListsLib.BlockBoundaries;if (!this._LastNode){var B=this.Range.Clone();B.Expand(this.ForceBrBreak?'list_contents':'block_contents');this._NextNode=B.GetTouchedStartNode();this._LastNode=B.GetTouchedEndNode();B=null;};var H=this._NextNode;var I=this._LastNode;this._NextNode=null;while (H){var J=false;var K=(H.nodeType!=1);var L=false;if (!K){var M=H.nodeName.toLowerCase();if (F[M]&&(!FCKBrowserInfo.IsIE||H.scopeName=='HTML')){if (M=='br') K=true;else if (!B&&H.childNodes.length==0&&M!='hr'){A=H;C=H==I;break;};if (B){B.SetEnd(H,3,true);if (M!='br') this._NextNode=FCKDomTools.GetNextSourceNode(H,true,null,I)||H;};J=true;}else{if (H.firstChild){if (!B){B=new FCKDomRange(this.Range.Window);B.SetStart(H,3,true);};H=H.firstChild;continue;};K=true;}}else if (H.nodeType==3){if (/^[\r\n\t ]+$/.test(H.nodeValue)) K=false;};if (K&&!B){B=new FCKDomRange(this.Range.Window);B.SetStart(H,3,true);};C=((!J||K)&&H==I);if (B&&!J){while (!H.nextSibling&&!C){var N=H.parentNode;if (F[N.nodeName.toLowerCase()]){J=true;C=C||(N==I);break;};H=N;K=true;C=(H==I);L=true;}};if (K) B.SetEnd(H,4,true);if ((J||C)&&B){B._UpdateElementInfo();if (B.StartNode==B.EndNode&&B.StartNode.parentNode==B.StartBlockLimit&&B.StartNode.getAttribute&&B.StartNode.getAttribute('_fck_bookmark')) B=null;else break;};if (C) break;H=FCKDomTools.GetNextSourceNode(H,L,null,I);};if (!A){if (!B){this._NextNode=null;return null;};A=B.StartBlock;if (!A&&!this.EnforceRealBlocks&&B.StartBlockLimit.nodeName.IEquals('DIV','TH','TD')&&B.CheckStartOfBlock()&&B.CheckEndOfBlock()){A=B.StartBlockLimit;}else if (!A||(this.EnforceRealBlocks&&A.nodeName.toLowerCase()=='li')){A=this.Range.Window.document.createElement(FCKConfig.EnterMode=='p'?'p':'div');B.ExtractContents().AppendTo(A);FCKDomTools.TrimNode(A);B.InsertNode(A);D=true;E=true;}else if (A.nodeName.toLowerCase()!='li'){if (!B.CheckStartOfBlock()||!B.CheckEndOfBlock()){A=A.cloneNode(false);B.ExtractContents().AppendTo(A);FCKDomTools.TrimNode(A);var O=B.SplitBlock();D=!O.WasStartOfBlock;E=!O.WasEndOfBlock;B.InsertNode(A);}}else if (!C){this._NextNode=A==I?null:FCKDomTools.GetNextSourceNode(B.EndNode,true,null,I);return A;}};if (D){var P=A.previousSibling;if (P&&P.nodeType==1){if (P.nodeName.toLowerCase()=='br') P.parentNode.removeChild(P);else if (P.lastChild&&P.lastChild.nodeName.IEquals('br')) P.removeChild(P.lastChild);}};if (E){var Q=A.lastChild;if (Q&&Q.nodeType==1&&Q.nodeName.toLowerCase()=='br') A.removeChild(Q);};if (!this._NextNode) this._NextNode=(C||A==I)?null:FCKDomTools.GetNextSourceNode(A,true,null,I);return A;}};\r
+var FCKDocumentFragment=function(A,B){this.RootNode=B||A.createDocumentFragment();};FCKDocumentFragment.prototype={AppendTo:function(A){A.appendChild(this.RootNode);},AppendHtml:function(A){var B=this.RootNode.ownerDocument.createElement('div');B.innerHTML=A;FCKDomTools.MoveChildren(B,this.RootNode);},InsertAfterNode:function(A){FCKDomTools.InsertAfterNode(A,this.RootNode);}};\r
+var FCKW3CRange=function(A){this._Document=A;this.startContainer=null;this.startOffset=null;this.endContainer=null;this.endOffset=null;this.collapsed=true;};FCKW3CRange.CreateRange=function(A){return new FCKW3CRange(A);};FCKW3CRange.CreateFromRange=function(A,B){var C=FCKW3CRange.CreateRange(A);C.setStart(B.startContainer,B.startOffset);C.setEnd(B.endContainer,B.endOffset);return C;};FCKW3CRange.prototype={_UpdateCollapsed:function(){this.collapsed=(this.startContainer==this.endContainer&&this.startOffset==this.endOffset);},setStart:function(A,B){this.startContainer=A;this.startOffset=B;if (!this.endContainer){this.endContainer=A;this.endOffset=B;};this._UpdateCollapsed();},setEnd:function(A,B){this.endContainer=A;this.endOffset=B;if (!this.startContainer){this.startContainer=A;this.startOffset=B;};this._UpdateCollapsed();},setStartAfter:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setStartBefore:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A));},setEndAfter:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setEndBefore:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A));},collapse:function(A){if (A){this.endContainer=this.startContainer;this.endOffset=this.startOffset;}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset;};this.collapsed=true;},selectNodeContents:function(A){this.setStart(A,0);this.setEnd(A,A.nodeType==3?A.data.length:A.childNodes.length);},insertNode:function(A){var B=this.startContainer;var C=this.startOffset;if (B.nodeType==3){B.splitText(C);if (B==this.endContainer) this.setEnd(B.nextSibling,this.endOffset-this.startOffset);FCKDomTools.InsertAfterNode(B,A);return;}else{B.insertBefore(A,B.childNodes[C]||null);if (B==this.endContainer){this.endOffset++;this.collapsed=false;}}},deleteContents:function(){if (this.collapsed) return;this._ExecContentsAction(0);},extractContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(1,A);return A;},cloneContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(2,A);return A;},_ExecContentsAction:function(A,B){var C=this.startContainer;var D=this.endContainer;var E=this.startOffset;var F=this.endOffset;var G=false;var H=false;if (D.nodeType==3) D=D.splitText(F);else{if (D.childNodes.length>0){if (F>D.childNodes.length-1){D=FCKDomTools.InsertAfterNode(D.lastChild,this._Document.createTextNode(''));H=true;}else D=D.childNodes[F];}};if (C.nodeType==3){C.splitText(E);if (C==D) D=C.nextSibling;}else{if (E==0){C=C.insertBefore(this._Document.createTextNode(''),C.firstChild);G=true;}else if (E>C.childNodes.length-1){C=C.appendChild(this._Document.createTextNode(''));G=true;}else C=C.childNodes[E].previousSibling;};var I=FCKDomTools.GetParents(C);var J=FCKDomTools.GetParents(D);var i,topStart,topEnd;for (i=0;i<I.length;i++){topStart=I[i];topEnd=J[i];if (topStart!=topEnd) break;};var K,levelStartNode,levelClone,currentNode,currentSibling;if (B) K=B.RootNode;for (var j=i;j<I.length;j++){levelStartNode=I[j];if (K&&levelStartNode!=C) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==C));currentNode=levelStartNode.nextSibling;while(currentNode){if (currentNode==J[j]||currentNode==D) break;currentSibling=currentNode.nextSibling;if (A==2) K.appendChild(currentNode.cloneNode(true));else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.appendChild(currentNode);};currentNode=currentSibling;};if (K) K=levelClone;};if (B) K=B.RootNode;for (var k=i;k<J.length;k++){levelStartNode=J[k];if (A>0&&levelStartNode!=D) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==D));if (!I[k]||levelStartNode.parentNode!=I[k].parentNode){currentNode=levelStartNode.previousSibling;while(currentNode){if (currentNode==I[k]||currentNode==C) break;currentSibling=currentNode.previousSibling;if (A==2) K.insertBefore(currentNode.cloneNode(true),K.firstChild);else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.insertBefore(currentNode,K.firstChild);};currentNode=currentSibling;}};if (K) K=levelClone;};if (A==2){var L=this.startContainer;if (L.nodeType==3){L.data+=L.nextSibling.data;L.parentNode.removeChild(L.nextSibling);};var M=this.endContainer;if (M.nodeType==3&&M.nextSibling){M.data+=M.nextSibling.data;M.parentNode.removeChild(M.nextSibling);}}else{if (topStart&&topEnd&&(C.parentNode!=topStart.parentNode||D.parentNode!=topEnd.parentNode)){var N=FCKDomTools.GetIndexOf(topEnd);if (G&&topEnd.parentNode==C.parentNode) N--;this.setStart(topEnd.parentNode,N);};this.collapse(true);};if(G) C.parentNode.removeChild(C);if(H&&D.parentNode) D.parentNode.removeChild(D);},cloneRange:function(){return FCKW3CRange.CreateFromRange(this._Document,this);}};\r
+var FCKEnterKey=function(A,B,C,D){this.Window=A;this.EnterMode=B||'p';this.ShiftEnterMode=C||'br';var E=new FCKKeystrokeHandler(false);E._EnterKey=this;E.OnKeystroke=FCKEnterKey_OnKeystroke;E.SetKeystrokes([[13,'Enter'],[SHIFT+13,'ShiftEnter'],[8,'Backspace'],[CTRL+8,'CtrlBackspace'],[46,'Delete']]);this.TabText='';if (D>0||FCKBrowserInfo.IsSafari){while (D--) this.TabText+='\xa0';E.SetKeystrokes([9,'Tab']);};E.AttachToElement(A.document);};function FCKEnterKey_OnKeystroke(A,B){var C=this._EnterKey;try{switch (B){case 'Enter':return C.DoEnter();break;case 'ShiftEnter':return C.DoShiftEnter();break;case 'Backspace':return C.DoBackspace();break;case 'Delete':return C.DoDelete();break;case 'Tab':return C.DoTab();break;case 'CtrlBackspace':return C.DoCtrlBackspace();break;}}catch (e){};return false;};FCKEnterKey.prototype.DoEnter=function(A,B){FCKUndo.SaveUndoStep();this._HasShift=(B===true);var C=FCKSelection.GetParentElement();var D=new FCKElementPath(C);var E=A||this.EnterMode;if (E=='br'||D.Block&&D.Block.tagName.toLowerCase()=='pre') return this._ExecuteEnterBr();else return this._ExecuteEnterBlock(E);};FCKEnterKey.prototype.DoShiftEnter=function(){return this.DoEnter(this.ShiftEnterMode,true);};FCKEnterKey.prototype.DoBackspace=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(B,this.Window.document.body)){this._FixIESelectAllBug(B);return true;};var C=B.CheckIsCollapsed();if (!C){if (FCKBrowserInfo.IsIE&&this.Window.document.selection.type.toLowerCase()=="control"){var D=this.Window.document.selection.createRange();for (var i=D.length-1;i>=0;i--){var E=D.item(i);E.parentNode.removeChild(E);};return true;};return false;};if (FCKBrowserInfo.IsIE){var F=FCKDomTools.GetPreviousSourceElement(B.StartNode,true);if (F&&F.nodeName.toLowerCase()=='br'){var G=B.Clone();G.SetStart(F,4);if (G.CheckIsEmpty()){F.parentNode.removeChild(F);return true;}}};var H=B.StartBlock;var I=B.EndBlock;if (B.StartBlockLimit==B.EndBlockLimit&&H&&I){if (!C){var J=B.CheckEndOfBlock();B.DeleteContents();if (H!=I){B.SetStart(I,1);B.SetEnd(I,1);};B.Select();A=(H==I);};if (B.CheckStartOfBlock()){var K=B.StartBlock;var L=FCKDomTools.GetPreviousSourceElement(K,true,['BODY',B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,L,K);}else if (FCKBrowserInfo.IsGeckoLike){B.Select();}};B.Release();return A;};FCKEnterKey.prototype.DoCtrlBackspace=function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(this.Window);A.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(A,this.Window.document.body)){this._FixIESelectAllBug(A);return true;};return false;};FCKEnterKey.prototype._ExecuteBackspace=function(A,B,C){var D=false;if (!B&&C&&C.nodeName.IEquals('LI')&&C.parentNode.parentNode.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};if (B&&B.nodeName.IEquals('LI')){var E=FCKDomTools.GetLastChild(B,['UL','OL']);while (E){B=FCKDomTools.GetLastChild(E,'LI');E=FCKDomTools.GetLastChild(B,['UL','OL']);}};if (B&&C){if (C.nodeName.IEquals('LI')&&!B.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};var F=C.parentNode;var G=B.nodeName.toLowerCase();if (FCKListsLib.EmptyElements[G]!=null||G=='table'){FCKDomTools.RemoveNode(B);D=true;}else{FCKDomTools.RemoveNode(C);while (F.innerHTML.Trim().length==0){var H=F.parentNode;H.removeChild(F);F=H;};FCKDomTools.LTrimNode(C);FCKDomTools.RTrimNode(B);A.SetStart(B,2,true);A.Collapse(true);var I=A.CreateBookmark(true);if (!C.tagName.IEquals(['TABLE'])) FCKDomTools.MoveChildren(C,B);A.SelectBookmark(I);D=true;}};return D;};FCKEnterKey.prototype.DoDelete=function(){FCKUndo.SaveUndoStep();var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(B,this.Window.document.body)){this._FixIESelectAllBug(B);return true;};if (B.CheckIsCollapsed()&&B.CheckEndOfBlock(FCKBrowserInfo.IsGeckoLike)){var C=B.StartBlock;var D=FCKTools.GetElementAscensor(C,'td');var E=FCKDomTools.GetNextSourceElement(C,true,[B.StartBlockLimit.nodeName],['UL','OL','TR'],true);if (D){var F=FCKTools.GetElementAscensor(E,'td');if (F!=D) return true;};A=this._ExecuteBackspace(B,C,E);};B.Release();return A;};FCKEnterKey.prototype.DoTab=function(){var A=new FCKDomRange(this.Window);A.MoveToSelection();var B=A._Range.startContainer;while (B){if (B.nodeType==1){var C=B.tagName.toLowerCase();if (C=="tr"||C=="td"||C=="th"||C=="tbody"||C=="table") return false;else break;};B=B.parentNode;};if (this.TabText){A.DeleteContents();A.InsertNode(this.Window.document.createTextNode(this.TabText));A.Collapse(false);A.Select();};return true;};FCKEnterKey.prototype._ExecuteEnterBlock=function(A,B){var C=B||new FCKDomRange(this.Window);var D=C.SplitBlock(A);if (D){var E=D.PreviousBlock;var F=D.NextBlock;var G=D.WasStartOfBlock;var H=D.WasEndOfBlock;if (F){if (F.parentNode.nodeName.IEquals('li')){FCKDomTools.BreakParent(F,F.parentNode);FCKDomTools.MoveNode(F,F.nextSibling,true);}}else if (E&&E.parentNode.nodeName.IEquals('li')){FCKDomTools.BreakParent(E,E.parentNode);C.MoveToElementEditStart(E.nextSibling);FCKDomTools.MoveNode(E,E.previousSibling);};if (!G&&!H){if (F.nodeName.IEquals('li')&&F.firstChild&&F.firstChild.nodeName.IEquals(['ul','ol'])) F.insertBefore(FCKTools.GetElementDocument(F).createTextNode('\xa0'),F.firstChild);if (F) C.MoveToElementEditStart(F);}else{if (G&&H&&E.tagName.toUpperCase()=='LI'){C.MoveToElementStart(E);this._OutdentWithSelection(E,C);C.Release();return true;};var I;if (E){var J=E.tagName.toUpperCase();if (!this._HasShift&&!(/^H[1-6]$/).test(J)){I=FCKDomTools.CloneElement(E);}}else if (F) I=FCKDomTools.CloneElement(F);if (!I) I=this.Window.document.createElement(A);var K=D.ElementPath;if (K){for (var i=0,len=K.Elements.length;i<len;i++){var L=K.Elements[i];if (L==K.Block||L==K.BlockLimit) break;if (FCKListsLib.InlineChildReqElements[L.nodeName.toLowerCase()]){L=FCKDomTools.CloneElement(L);FCKDomTools.MoveChildren(I,L);I.appendChild(L);}}};if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(I);C.InsertNode(I);if (FCKBrowserInfo.IsIE){C.MoveToElementEditStart(I);C.Select();};C.MoveToElementEditStart(G&&!H?F:I);};if (FCKBrowserInfo.IsGeckoLike){if (F){var M=this.Window.document.createElement('span');M.innerHTML='&nbsp;';C.InsertNode(M);FCKDomTools.ScrollIntoView(M,false);C.DeleteContents();}else{FCKDomTools.ScrollIntoView(F||I,false);}};C.Select();};C.Release();return true;};FCKEnterKey.prototype._ExecuteEnterBr=function(A){var B=new FCKDomRange(this.Window);B.MoveToSelection();if (B.StartBlockLimit==B.EndBlockLimit){B.DeleteContents();B.MoveToSelection();var C=B.CheckStartOfBlock();var D=B.CheckEndOfBlock();var E=B.StartBlock?B.StartBlock.tagName.toUpperCase():'';var F=this._HasShift;var G=false;if (!F&&E=='LI') return this._ExecuteEnterBlock(null,B);if (!F&&D&&(/^H[1-6]$/).test(E)){FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createElement('br'));if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createTextNode(''));B.SetStart(B.StartBlock.nextSibling,FCKBrowserInfo.IsIE?3:1);}else{var H;G=E.IEquals('pre');if (G) H=this.Window.document.createTextNode(FCKBrowserInfo.IsIE?'\r':'\n');else H=this.Window.document.createElement('br');B.InsertNode(H);if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(H,this.Window.document.createTextNode(''));if (D&&FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(H.parentNode);if (FCKBrowserInfo.IsIE) B.SetStart(H,4);else B.SetStart(H.nextSibling,1);if (!FCKBrowserInfo.IsIE){var I=null;if (FCKBrowserInfo.IsOpera) I=this.Window.document.createElement('span');else I=this.Window.document.createElement('br');H.parentNode.insertBefore(I,H.nextSibling);FCKDomTools.ScrollIntoView(I,false);I.parentNode.removeChild(I);}};B.Collapse(true);B.Select(G);};B.Release();return true;};FCKEnterKey.prototype._OutdentWithSelection=function(A,B){var C=B.CreateBookmark();FCKListHandler.OutdentListItem(A);B.MoveToBookmark(C);B.Select();};FCKEnterKey.prototype._CheckIsAllContentsIncluded=function(A,B){var C=false;var D=false;if (A.StartContainer==B||A.StartContainer==B.firstChild) C=(A._Range.startOffset==0);if (A.EndContainer==B||A.EndContainer==B.lastChild){var E=A.EndContainer.nodeType==3?A.EndContainer.length:A.EndContainer.childNodes.length;D=(A._Range.endOffset==E);};return C&&D;};FCKEnterKey.prototype._FixIESelectAllBug=function(A){var B=this.Window.document;B.body.innerHTML='';var C;if (FCKConfig.EnterMode.IEquals(['div','p'])){C=B.createElement(FCKConfig.EnterMode);B.body.appendChild(C);}else C=B.body;A.MoveToNodeContents(C);A.Collapse(true);A.Select();A.Release();};\r
+var FCKDocumentProcessor={};FCKDocumentProcessor._Items=[];FCKDocumentProcessor.AppendNew=function(){var A={};this._Items.push(A);return A;};FCKDocumentProcessor.Process=function(A){var B=FCK.IsDirty();var C,i=0;while((C=this._Items[i++])) C.ProcessDocument(A);if (!B) FCK.ResetIsDirty();};var FCKDocumentProcessor_CreateFakeImage=function(A,B){var C=FCKTools.GetElementDocument(B).createElement('IMG');C.className=A;C.src=FCKConfig.BasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};if (FCKBrowserInfo.IsIE||FCKBrowserInfo.IsOpera){var FCKAnchorsProcessor=FCKDocumentProcessor.AppendNew();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){if (C.innerHTML!==''){if (FCKBrowserInfo.IsIE) C.className+=' FCK__AnchorC';}else{var D=FCKDocumentProcessor_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}}};var FCKPageBreaksProcessor=FCKDocumentProcessor.AppendNew();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('DIV');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.childNodes.length==1&&C.childNodes[0].style&&C.childNodes[0].style.display=='none'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};var FCKEmbedAndObjectProcessor=(function(){var A=[];var B=function(el){var C=el.cloneNode(true);var D;var E=D=FCKDocumentProcessor_CreateFakeImage('FCK__UnknownObject',C);FCKEmbedAndObjectProcessor.RefreshView(E,el);for (var i=0;i<A.length;i++) D=A[i](el,D)||D;if (D!=E) FCKTempBin.RemoveElement(E.getAttribute('_fckrealelement'));el.parentNode.replaceChild(D,el);};var F=function(elementName,doc){var G=doc.getElementsByTagName(elementName);for (var i=G.length-1;i>=0;i--) B(G[i]);};var H=function(doc){F('object',doc);F('embed',doc);};return FCKTools.Merge(FCKDocumentProcessor.AppendNew(),{ProcessDocument:function(doc){if (FCKBrowserInfo.IsGecko) FCKTools.RunFunction(H,this,[doc]);else H(doc);},RefreshView:function(placeHolder,original){if (original.getAttribute('width')>0) placeHolder.style.width=FCKTools.ConvertHtmlSizeToStyle(original.getAttribute('width'));if (original.getAttribute('height')>0) placeHolder.style.height=FCKTools.ConvertHtmlSizeToStyle(original.getAttribute('height'));},AddCustomHandler:function(func){A.push(func);}});})();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;};if (FCKBrowserInfo.IsIE){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('HR');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=A.createElement('hr');D.mergeAttributes(C,true);FCKDomTools.InsertAfterNode(C,D);C.parentNode.removeChild(C);}}};FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('INPUT');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.type=='hidden'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__InputHidden',C.cloneNode(true));D.setAttribute('_fckinputhidden','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};FCKEmbedAndObjectProcessor.AddCustomHandler(function(A,B){if (!(A.nodeName.IEquals('embed')&&(A.type=='application/x-shockwave-flash'||/\.swf($|#|\?)/i.test(A.src)))) return;B.className='FCK__Flash';B.setAttribute('_fckflash','true',0);});if (FCKBrowserInfo.IsSafari){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByClassName?A.getElementsByClassName('Apple-style-span'):Array.prototype.filter.call(A.getElementsByTagName('span'),function(item){ return item.className=='Apple-style-span';});for (var i=B.length-1;i>=0;i--) FCKDomTools.RemoveNode(B[i],true);}};\r
+var FCKSelection=FCK.Selection={GetParentBlock:function(){var A=this.GetParentElement();while (A){if (FCKListsLib.BlockBoundaries[A.nodeName.toLowerCase()]) break;A=A.parentNode;};return A;},ApplyStyle:function(A){FCKStyles.ApplyStyle(new FCKStyle(A));}};\r
+FCKSelection.GetType=function(){var A='Text';var B;try { B=this.GetSelection();} catch (e) {};if (B&&B.rangeCount==1){var C=B.getRangeAt(0);if (C.startContainer==C.endContainer&&(C.endOffset-C.startOffset)==1&&C.startContainer.nodeType==1&&FCKListsLib.StyleObjectElements[C.startContainer.childNodes[C.startOffset].nodeName.toLowerCase()]){A='Control';}};return A;};FCKSelection.GetSelectedElement=function(){var A=!!FCK.EditorWindow&&this.GetSelection();if (!A||A.rangeCount<1) return null;var B=A.getRangeAt(0);if (B.startContainer!=B.endContainer||B.startContainer.nodeType!=1||B.startOffset!=B.endOffset-1) return null;var C=B.startContainer.childNodes[B.startOffset];if (C.nodeType!=1) return null;return C;};FCKSelection.GetParentElement=function(){if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentNode;else{var A=this.GetSelection();if (A){if (A.anchorNode&&A.anchorNode==A.focusNode){var B=A.getRangeAt(0);if (B.collapsed||B.startContainer.nodeType==3) return A.anchorNode.parentNode;else return A.anchorNode;};var C=new FCKElementPath(A.anchorNode);var D=new FCKElementPath(A.focusNode);var E=null;var F=null;if (C.Elements.length>D.Elements.length){E=C.Elements;F=D.Elements;}else{E=D.Elements;F=C.Elements;};var G=E.length-F.length;for(var i=0;i<F.length;i++){if (E[G+i]==F[i]) return F[i];};return null;}};return null;};FCKSelection.GetBoundaryParentElement=function(A){if (!FCK.EditorWindow) return null;if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentNode;else{var B=this.GetSelection();if (B&&B.rangeCount>0){var C=B.getRangeAt(A?0:(B.rangeCount-1));var D=A?C.startContainer:C.endContainer;return (D.nodeType==1?D:D.parentNode);}};return null;};FCKSelection.SelectNode=function(A){var B=FCK.EditorDocument.createRange();B.selectNode(A);var C=this.GetSelection();C.removeAllRanges();C.addRange(B);};FCKSelection.Collapse=function(A){var B=this.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=this.GetSelection().getRangeAt(0).startContainer;}catch(e){}}while (B){if (B.nodeType==1&&B.nodeName.IEquals(A)) return true;B=B.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(A){var B;var C=this.GetSelectedElement();if (!C) C=this.GetSelection().getRangeAt(0).startContainer;while (C){if (C.nodeName.IEquals(A)) return C;C=C.parentNode;};return null;};FCKSelection.Delete=function(){var A=this.GetSelection();for (var i=0;i<A.rangeCount;i++){A.getRangeAt(i).deleteContents();};return A;};FCKSelection.GetSelection=function(){return FCK.EditorWindow.getSelection();};FCKSelection.Save=function(){};FCKSelection.Restore=function(){};FCKSelection.Release=function(){};\r
+var FCKTableHandler={};FCKTableHandler.InsertRow=function(A){var B=FCKSelection.MoveToAncestorNode('TR');if (!B) return;var C=B.cloneNode(true);B.parentNode.insertBefore(C,B);FCKTableHandler.ClearRow(A?C:B);};FCKTableHandler.DeleteRows=function(A){if (!A){var B=FCKTableHandler.GetSelectedCells();var C=[];for (var i=0;i<B.length;i++){var D=B[i].parentNode;C[D.rowIndex]=D;};for (var i=C.length;i>=0;i--){if (C[i]) FCKTableHandler.DeleteRows(C[i]);};return;};var E=FCKTools.GetElementAscensor(A,'TABLE');if (E.rows.length==1){FCKTableHandler.DeleteTable(E);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A){A=FCKSelection.GetSelectedElement();if (!A||A.tagName!='TABLE') A=FCKSelection.MoveToAncestorNode('TABLE');};if (!A) return;FCKSelection.SelectNode(A);FCKSelection.Collapse();if (A.parentNode.childNodes.length==1) A.parentNode.parentNode.removeChild(A.parentNode);else A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(A){var B=null;var C=this.GetSelectedCells();if (C&&C.length) B=C[A?0:(C.length-1)];if (!B) return;var D=FCKTools.GetElementAscensor(B,'TABLE');var E=B.cellIndex;for (var i=0;i<D.rows.length;i++){var F=D.rows[i];if (F.cells.length<(E+1)) continue;B=F.cells[E].cloneNode(false);if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(B);var G=F.cells[E];F.insertBefore(B,(A?G:G.nextSibling));}};FCKTableHandler.DeleteColumns=function(A){if (!A){var B=FCKTableHandler.GetSelectedCells();for (var i=B.length;i>=0;i--){if (B[i]) FCKTableHandler.DeleteColumns(B[i]);};return;};if (!A) return;var C=FCKTools.GetElementAscensor(A,'TABLE');var D=A.cellIndex;for (var i=C.rows.length-1;i>=0;i--){var E=C.rows[i];if (D==0&&E.cells.length==1){FCKTableHandler.DeleteRows(E);continue;};if (E.cells[D]) E.removeChild(E.cells[D]);}};FCKTableHandler.InsertCell=function(A,B){var C=null;var D=this.GetSelectedCells();if (D&&D.length) C=D[B?0:(D.length-1)];if (!C) return null;var E=FCK.EditorDocument.createElement('TD');if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(E);if (!B&&C.cellIndex==C.parentNode.cells.length-1) C.parentNode.appendChild(E);else C.parentNode.insertBefore(E,B?C:C.nextSibling);return E;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(A.parentNode);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._MarkCells=function(A,B){for (var i=0;i<A.length;i++) A[i][B]=true;};FCKTableHandler._UnmarkCells=function(A,B){for (var i=0;i<A.length;i++){FCKDomTools.ClearElementJSProperty(A[i],B);}};FCKTableHandler._ReplaceCellsByMarker=function(A,B,C){for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){if (A[i][j][B]) A[i][j]=C;}}};FCKTableHandler._GetMarkerGeometry=function(A,B,C,D){var E=0;var F=0;var G=0;var H=0;for (var i=C;A[B][i]&&A[B][i][D];i++) E++;for (var i=C-1;A[B][i]&&A[B][i][D];i--){E++;G++;};for (var i=B;A[i]&&A[i][C]&&A[i][C][D];i++) F++;for (var i=B-1;A[i]&&A[i][C]&&A[i][C][D];i--){F++;H++;};return { 'width':E,'height':F,'x':G,'y':H };};FCKTableHandler.CheckIsSelectionRectangular=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<1) return false;for (var i=0;i<A.length;i++){if (A[i].parentNode.parentNode!=A[0].parentNode.parentNode) return false;};this._MarkCells(A,'_CellSelected');var B=this._CreateTableMap(A[0]);var C=A[0].parentNode.rowIndex;var D=this._GetCellIndexSpan(B,C,A[0]);var E=this._GetMarkerGeometry(B,C,D,'_CellSelected');var F=D-E.x;var G=C-E.y;if (E.width>=E.height){for (D=F;D<F+E.width;D++){C=G+(D-F) % E.height;if (!B[C]||!B[C][D]){this._UnmarkCells(A,'_CellSelected');return false;};var g=this._GetMarkerGeometry(B,C,D,'_CellSelected');if (g.width!=E.width||g.height!=E.height){this._UnmarkCells(A,'_CellSelected');return false;}}}else{for (C=G;C<G+E.height;C++){D=F+(C-G) % E.width;if (!B[C]||!B[C][D]){this._UnmarkCells(A,'_CellSelected');return false;};var g=this._GetMarkerGeometry(B,C,D,'_CellSelected');if (g.width!=E.width||g.height!=E.height){this._UnmarkCells(A,'_CellSelected');return false;}}};this._UnmarkCells(A,'_CellSelected');return true;};FCKTableHandler.MergeCells=function(){var A=this.GetSelectedCells();if (A.length<2) return;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=this._GetCellIndexSpan(C,D,B);this._MarkCells(A,'_SelectedCells');var F=this._GetMarkerGeometry(C,D,E,'_SelectedCells');var G=E-F.x;var H=D-F.y;var I=FCKTools.GetElementDocument(B).createDocumentFragment();for (var i=0;i<F.height;i++){var J=0;for (var j=0;j<F.width;j++){var K=C[H+i][G+j];while (K.childNodes.length>0){var L=K.removeChild(K.firstChild);if (L.nodeType!=1||(L.getAttribute('type',2)!='_moz'&&L.getAttribute('_moz_dirty')!=null)){I.appendChild(L);J++;}}};if (J>0) I.appendChild(FCK.EditorDocument.createElement('br'));};this._ReplaceCellsByMarker(C,'_SelectedCells',B);this._UnmarkCells(A,'_SelectedCells');this._InstallTableMap(C,B.parentNode.parentNode.parentNode);B.appendChild(I);if (FCKBrowserInfo.IsGeckoLike&&(!B.firstChild)) FCKTools.AppendBogusBr(B);this._MoveCaretToCell(B,false);};FCKTableHandler.MergeRight=function(){var A=this.GetMergeRightTarget();if (A==null) return;var B=A.refCell;var C=A.tableMap;var D=A.nextCell;var E=FCK.EditorDocument.createDocumentFragment();while (D&&D.childNodes&&D.childNodes.length>0) E.appendChild(D.removeChild(D.firstChild));D.parentNode.removeChild(D);B.appendChild(E);this._MarkCells([D],'_Replace');this._ReplaceCellsByMarker(C,'_Replace',B);this._InstallTableMap(C,B.parentNode.parentNode.parentNode);this._MoveCaretToCell(B,false);};FCKTableHandler.MergeDown=function(){var A=this.GetMergeDownTarget();if (A==null) return;var B=A.refCell;var C=A.tableMap;var D=A.nextCell;var E=FCKTools.GetElementDocument(B).createDocumentFragment();while (D&&D.childNodes&&D.childNodes.length>0) E.appendChild(D.removeChild(D.firstChild));if (E.firstChild) E.insertBefore(FCK.EditorDocument.createElement('br'),E.firstChild);B.appendChild(E);this._MarkCells([D],'_Replace');this._ReplaceCellsByMarker(C,'_Replace',B);this._InstallTableMap(C,B.parentNode.parentNode.parentNode);this._MoveCaretToCell(B,false);};FCKTableHandler.HorizontalSplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=FCKTableHandler._GetCellIndexSpan(C,D,B);var F=isNaN(B.colSpan)?1:B.colSpan;if (F>1){var G=Math.ceil(F/2);var H=FCK.EditorDocument.createElement(B.nodeName);if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(H);var I=E+G;var J=E+F;var K=isNaN(B.rowSpan)?1:B.rowSpan;for (var r=D;r<D+K;r++){for (var i=I;i<J;i++) C[r][i]=H;}}else{var L=[];for (var i=0;i<C.length;i++){var M=C[i].slice(0,E);if (C[i].length<=E){L.push(M);continue;};if (C[i][E]==B){M.push(B);M.push(FCK.EditorDocument.createElement(B.nodeName));if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(M[M.length-1]);}else{M.push(C[i][E]);M.push(C[i][E]);};for (var j=E+1;j<C[i].length;j++) M.push(C[i][j]);L.push(M);};C=L;};this._InstallTableMap(C,B.parentNode.parentNode.parentNode);};FCKTableHandler.VerticalSplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=FCKTableHandler._GetCellIndexSpan(C,D,B);var F=isNaN(B.colSpan)?1:B.colSpan;var G=B.rowSpan;if (isNaN(G)) G=1;if (G>1){B.rowSpan=Math.ceil(G/2);var H=D+Math.ceil(G/2);var I=C[H];var J=null;for (var i=E+1;i<I.length;i++){if (I[i].parentNode.rowIndex==H){J=I[i];break;}};var K=FCK.EditorDocument.createElement(B.nodeName);K.rowSpan=Math.floor(G/2);if (F>1) K.colSpan=F;if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(K);B.parentNode.parentNode.parentNode.rows[H].insertBefore(K,J);}else{var L=B.parentNode.sectionRowIndex+1;var M=FCK.EditorDocument.createElement('tr');var N=B.parentNode.parentNode;if (N.rows.length>L) N.insertBefore(M,N.rows[L]);else N.appendChild(M);for (var i=0;i<C[D].length;){var O=C[D][i].colSpan;if (isNaN(O)||O<1) O=1;if (i==E){i+=O;continue;};var P=C[D][i].rowSpan;if (isNaN(P)) P=1;C[D][i].rowSpan=P+1;i+=O;};var K=FCK.EditorDocument.createElement(B.nodeName);if (F>1) K.colSpan=F;if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(K);M.appendChild(K);}};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._GetCellLocation=function(A,B){for (var i=0;i<A.length;i++){for (var c=0;c<A[i].length;c++){if (A[i][c]==B) return [i,c];}};return null;};FCKTableHandler._CreateTableMap=function(A){var B=(A.nodeName=='TABLE'?A:A.parentNode.parentNode.parentNode);var C=B.rows;var r=-1;var D=[];for (var i=0;i<C.length;i++){r++;if (!D[r]) D[r]=[];var c=-1;for (var j=0;j<C[i].cells.length;j++){var E=C[i].cells[j];c++;while (D[r][c]) c++;var F=isNaN(E.colSpan)?1:E.colSpan;var G=isNaN(E.rowSpan)?1:E.rowSpan;for (var H=0;H<G;H++){if (!D[r+H]) D[r+H]=[];for (var I=0;I<F;I++){D[r+H][c+I]=C[i].cells[j];}};c+=F-1;}};return D;};FCKTableHandler._InstallTableMap=function(A,B){var C=FCKBrowserInfo.IsIE?"_fckrowspan":"rowSpan";for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){var D=A[i][j];if (D.parentNode) D.parentNode.removeChild(D);D.colSpan=D[C]=1;}};var E=0;for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){var D=A[i][j];if (!D) continue;if (j>E) E=j;if (D._colScanned===true) continue;if (A[i][j-1]==D) D.colSpan++;if (A[i][j+1]!=D) D._colScanned=true;}};for (var i=0;i<=E;i++){for (var j=0;j<A.length;j++){if (!A[j]) continue;var D=A[j][i];if (!D||D._rowScanned===true) continue;if (A[j-1]&&A[j-1][i]==D) D[C]++;if (!A[j+1]||A[j+1][i]!=D) D._rowScanned=true;}};for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){var D=A[i][j];FCKDomTools.ClearElementJSProperty(D,'_colScanned');FCKDomTools.ClearElementJSProperty(D,'_rowScanned');}};for (var i=0;i<A.length;i++){var I=FCK.EditorDocument.createElement('tr');for (var j=0;j<A[i].length;){var D=A[i][j];if (A[i-1]&&A[i-1][j]==D){j+=D.colSpan;continue;};I.appendChild(D);if (C!='rowSpan'){D.rowSpan=D[C];D.removeAttribute(C);};j+=D.colSpan;if (D.colSpan==1) D.removeAttribute('colspan');if (D.rowSpan==1) D.removeAttribute('rowspan');};if (FCKBrowserInfo.IsIE){B.rows[i].replaceNode(I);}else{B.rows[i].innerHTML='';FCKDomTools.MoveChildren(I,B.rows[i]);}}};FCKTableHandler._MoveCaretToCell=function (A,B){var C=new FCKDomRange(FCK.EditorWindow);C.MoveToNodeContents(A);C.Collapse(B);C.Select();};FCKTableHandler.ClearRow=function(A){var B=A.cells;for (var i=0;i<B.length;i++){B[i].innerHTML='';if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(B[i]);}};FCKTableHandler.GetMergeRightTarget=function(){var A=this.GetSelectedCells();if (A.length!=1) return null;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=this._GetCellIndexSpan(C,D,B);var F=E+(isNaN(B.colSpan)?1:B.colSpan);var G=C[D][F];if (!G) return null;this._MarkCells([B,G],'_SizeTest');var H=this._GetMarkerGeometry(C,D,E,'_SizeTest');var I=this._GetMarkerGeometry(C,D,F,'_SizeTest');this._UnmarkCells([B,G],'_SizeTest');if (H.height!=I.height||H.y!=I.y) return null;return { 'refCell':B,'nextCell':G,'tableMap':C };};FCKTableHandler.GetMergeDownTarget=function(){var A=this.GetSelectedCells();if (A.length!=1) return null;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=this._GetCellIndexSpan(C,D,B);var F=D+(isNaN(B.rowSpan)?1:B.rowSpan);if (!C[F]) return null;var G=C[F][E];if (!G) return null;if (B.parentNode.parentNode!=G.parentNode.parentNode) return null;this._MarkCells([B,G],'_SizeTest');var H=this._GetMarkerGeometry(C,D,E,'_SizeTest');var I=this._GetMarkerGeometry(C,F,E,'_SizeTest');this._UnmarkCells([B,G],'_SizeTest');if (H.width!=I.width||H.x!=I.x) return null;return { 'refCell':B,'nextCell':G,'tableMap':C };};\r
+FCKTableHandler.GetSelectedCells=function(){var A=[];var B=FCKSelection.GetSelection();if (B.rangeCount==1&&B.anchorNode.nodeType==3){var C=FCKTools.GetElementAscensor(B.anchorNode,'TD,TH');if (C) A[0]=C;return A;};for (var i=0;i<B.rangeCount;i++){var D=B.getRangeAt(i);var E;if (D.startContainer.tagName.Equals('TD','TH')) E=D.startContainer;else E=D.startContainer.childNodes[D.startOffset];if (E.nodeName.Equals('TD','TH')) A[A.length]=E;};return A;};\r
+var FCKXml=function(){this.Error=false;};FCKXml.GetAttribute=function(A,B,C){var D=A.attributes.getNamedItem(B);return D?D.value:C;};FCKXml.TransformToObject=function(A){if (!A) return null;var B={};var C=A.attributes;for (var i=0;i<C.length;i++){var D=C[i];B[D.name]=D.value;};var E=A.childNodes;for (i=0;i<E.length;i++){var F=E[i];if (F.nodeType==1){var G='$'+F.nodeName;var H=B[G];if (!H) H=B[G]=[];H.push(this.TransformToObject(F));}};return B;};\r
+FCKXml.prototype={LoadUrl:function(A){this.Error=false;var B;var C=FCKTools.CreateXmlObject('XmlHttp');C.open('GET',A,false);C.send(null);if (C.status==200||C.status==304||(C.status==0&&C.readyState==4)){B=C.responseXML;if (!B) B=(new DOMParser()).parseFromString(C.responseText,'text/xml');}else B=null;if (B){try{var D=B.firstChild;}catch (e){B=(new DOMParser()).parseFromString(C.responseText,'text/xml');}};if (!B||!B.firstChild){this.Error=true;if (window.confirm('Error loading "'+A+'" (HTTP Status: '+C.status+').\r\nDo you want to see the server response dump?')) alert(C.responseText);};this.DOMDocument=B;},SelectNodes:function(A,B){if (this.Error) return [];var C=[];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;},SelectSingleNode:function(A,B){if (this.Error) return null;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;}};\r
+var FCKNamedCommand=function(A){this.Name=A;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState(this.Name);};\r
+var FCKStyleCommand=function(){};FCKStyleCommand.prototype={Name:'Style',Execute:function(A,B){FCKUndo.SaveUndoStep();if (B.Selected) FCK.Styles.RemoveStyle(B.Style);else FCK.Styles.ApplyStyle(B.Style);FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorDocument) return -1;if (FCKSelection.GetType()=='Control'){var A=FCKSelection.GetSelectedElement();if (!A||!FCKStyles.CheckHasObjectStyle(A.nodeName.toLowerCase())) return -1;};return 0;}};\r
+var FCKDialogCommand=function(A,B,C,D,E,F,G,H){this.Name=A;this.Title=B;this.Url=C;this.Width=D;this.Height=E;this.CustomValue=H;this.GetStateFunction=F;this.GetStateParam=G;this.Resizable=false;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height,this.CustomValue,this.Resizable);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK.EditMode==0?0:-1;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return 0;};var FCKFormatBlockCommand=function(){};FCKFormatBlockCommand.prototype={Name:'FormatBlock',Execute:FCKStyleCommand.prototype.Execute,GetState:function(){return FCK.EditorDocument?0:-1;}};var FCKFontNameCommand=function(){};FCKFontNameCommand.prototype={Name:'FontName',Execute:FCKStyleCommand.prototype.Execute,GetState:FCKFormatBlockCommand.prototype.GetState};var FCKFontSizeCommand=function(){};FCKFontSizeCommand.prototype={Name:'FontSize',Execute:FCKStyleCommand.prototype.Execute,GetState:FCKFormatBlockCommand.prototype.GetState};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return 0;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.GetParentForm();if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};if (typeof(A.submit)=='function') A.submit();else A.submit.click();};FCKSaveCommand.prototype.GetState=function(){return 0;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetData('');FCKUndo.Typing=true;FCK.Focus();};FCKNewPageCommand.prototype.GetState=function(){return 0;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKConfig.SourcePopup){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,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==0?0:1);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){FCKUndo.Undo();};FCKUndoCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return (FCKUndo.CheckUndoState()?0:-1);};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){FCKUndo.Redo();};FCKRedoCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return (FCKUndo.CheckRedoState()?0:-1);};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();var e=FCK.EditorDocument.createElement('DIV');e.style.pageBreakAfter='always';e.innerHTML='<span style="DISPLAY:none">&nbsp;</span>';var A=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',e);var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.SplitBlock();B.InsertNode(A);FCK.Events.FireEvent('OnSelectionChange');};FCKPageBreakCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};var FCKUnlinkCommand=function(){this.Name='Unlink';};FCKUnlinkCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();if (FCKBrowserInfo.IsGeckoLike){var A=FCK.Selection.MoveToAncestorNode('A');if (A) FCKTools.RemoveOuterTags(A);return;};FCK.ExecuteNamedCommand(this.Name);};FCKUnlinkCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;var A=FCK.GetNamedCommandState(this.Name);if (A==0&&FCK.EditMode==0){var B=FCKSelection.MoveToAncestorNode('A');var C=(B&&B.name.length>0&&B.href.length==0);if (C) A=-1;};return A;};var FCKVisitLinkCommand=function(){this.Name='VisitLink';};FCKVisitLinkCommand.prototype={GetState:function(){if (FCK.EditMode!=0) return -1;var A=FCK.GetNamedCommandState('Unlink');if (A==0){var B=FCKSelection.MoveToAncestorNode('A');if (!B.href) A=-1;};return A;},Execute:function(){var A=FCKSelection.MoveToAncestorNode('A');var B=A.getAttribute('_fcksavedurl')||A.getAttribute('href',2);if (!/:\/\//.test(B)){var C=FCKConfig.BaseHref;var D=FCK.GetInstanceObject('parent');if (!C){C=D.document.location.href;C=C.substring(0,C.lastIndexOf('/')+1);};if (/^\//.test(B)){try{C=C.match(/^.*:\/\/+[^\/]+/)[0];}catch (e){C=D.document.location.protocol+'://'+D.parent.document.location.host;}};B=C+B;};if (!window.open(B,'_blank')) alert(FCKLang.VisitLinkBlocked);}};var FCKSelectAllCommand=function(){this.Name='SelectAll';};FCKSelectAllCommand.prototype.Execute=function(){if (FCK.EditMode==0){FCK.ExecuteNamedCommand('SelectAll');}else{var A=FCK.EditingArea.Textarea;if (FCKBrowserInfo.IsIE){A.createTextRange().execCommand('SelectAll');}else{A.selectionStart=0;A.selectionEnd=A.value.length;};A.focus();}};FCKSelectAllCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};var FCKPasteCommand=function(){this.Name='Paste';};FCKPasteCommand.prototype={Execute:function(){if (FCKBrowserInfo.IsIE) FCK.Paste();else FCK.ExecuteNamedCommand('Paste');},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Paste');}};var FCKRuleCommand=function(){this.Name='Rule';};FCKRuleCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();FCK.InsertElement('hr');},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('InsertHorizontalRule');}};var FCKCutCopyCommand=function(A){this.Name=A?'Cut':'Copy';};FCKCutCopyCommand.prototype={Execute:function(){var A=false;if (FCKBrowserInfo.IsIE){var B=function(){A=true;};var C='on'+this.Name.toLowerCase();FCK.EditorDocument.body.attachEvent(C,B);FCK.ExecuteNamedCommand(this.Name);FCK.EditorDocument.body.detachEvent(C,B);}else{try{FCK.ExecuteNamedCommand(this.Name);A=true;}catch(e){}};if (!A) alert(FCKLang['PasteError'+this.Name]);},GetState:function(){return FCK.EditMode!=0?-1:FCK.GetNamedCommandState('Cut');}};var FCKAnchorDeleteCommand=function(){this.Name='AnchorDelete';};FCKAnchorDeleteCommand.prototype={Execute:function(){if (FCK.Selection.GetType()=='Control'){FCK.Selection.Delete();}else{var A=FCK.Selection.GetSelectedElement();if (A){if (A.tagName=='IMG'&&A.getAttribute('_fckanchor')) oAnchor=FCK.GetRealElement(A);else A=null;};if (!A){oAnchor=FCK.Selection.MoveToAncestorNode('A');if (oAnchor) FCK.Selection.SelectNode(oAnchor);};if (oAnchor.href.length!=0){oAnchor.removeAttribute('name');if (FCKBrowserInfo.IsIE) oAnchor.className=oAnchor.className.replace(FCKRegexLib.FCK_Class,'');return;};if (A){A.parentNode.removeChild(A);return;};if (oAnchor.innerHTML.length==0){oAnchor.parentNode.removeChild(oAnchor);return;};FCKTools.RemoveOuterTags(oAnchor);};if (FCKBrowserInfo.IsGecko) FCK.Selection.Collapse(true);},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Unlink');}};var FCKDeleteDivCommand=function(){};FCKDeleteDivCommand.prototype={GetState:function(){if (FCK.EditMode!=0) return -1;var A=FCKSelection.GetParentElement();var B=new FCKElementPath(A);return B.BlockLimit&&B.BlockLimit.nodeName.IEquals('div')?0:-1;},Execute:function(){FCKUndo.SaveUndoStep();var A=FCKDomTools.GetSelectedDivContainers();var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.CreateBookmark();for (var i=0;i<A.length;i++) FCKDomTools.RemoveNode(A[i],true);B.MoveToBookmark(C);B.Select();}};var FCKNbsp=function(){this.Name='Non Breaking Space';};FCKNbsp.prototype={Execute:function(){FCK.InsertHtml('&nbsp;');},GetState:function(){return (FCK.EditMode!=0?-1:0);}};\r
+var FCKShowBlockCommand=function(A,B){this.Name=A;if (B!=undefined) this._SavedState=B;else this._SavedState=null;};FCKShowBlockCommand.prototype.Execute=function(){var A=this.GetState();if (A==-1) return;var B=FCK.EditorDocument.body;if (A==1) B.className=B.className.replace(/(^| )FCK__ShowBlocks/g,'');else B.className+=' FCK__ShowBlocks';if (FCKBrowserInfo.IsIE){try{FCK.EditorDocument.selection.createRange().select();}catch (e){}}else{var C=FCK.EditorWindow.getSelection().focusNode;if (C){if (C.nodeType!=1) C=C.parentNode;FCKDomTools.ScrollIntoView(C,false);}};FCK.Events.FireEvent('OnSelectionChange');};FCKShowBlockCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;if (!FCK.EditorDocument) return 0;if (/FCK__ShowBlocks(?:\s|$)/.test(FCK.EditorDocument.body.className)) return 1;return 0;};FCKShowBlockCommand.prototype.SaveState=function(){this._SavedState=this.GetState();};FCKShowBlockCommand.prototype.RestoreState=function(){if (this._SavedState!=null&&this.GetState()!=this._SavedState) this.Execute();};\r
+var FCKSpellCheckCommand=function(){this.Name='SpellCheck';this.IsEnabled=(FCKConfig.SpellChecker!='ieSpell');};FCKSpellCheckCommand.prototype.Execute=function(){switch (FCKConfig.SpellChecker){case 'SpellerPages':FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','dialog/fck_spellerpages.html',440,480);break;case 'WSC':FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','wsc/w.html',530,480);}};FCKSpellCheckCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return this.IsEnabled?0:-1;};\r
+var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;var B;if (FCKBrowserInfo.IsIE) B=window;else if (FCK.ToolbarSet._IFrame) B=FCKTools.GetElementWindow(FCK.ToolbarSet._IFrame);else B=window.parent;this._Panel=new FCKPanel(B);this._Panel.AppendStyleSheet(FCKConfig.SkinEditorCSS);this._Panel.MainNode.className='FCK_Panel';this._CreatePanelBody(this._Panel.Document,this._Panel.MainNode);FCK.ToolbarSet.ToolbarItems.GetItem(this.Name).RegisterPanel(this._Panel);FCKTools.DisableSelection(this._Panel.Document.body);};FCKTextColorCommand.prototype.Execute=function(A,B,C){this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){FCKUndo.SaveUndoStep();var B=FCKStyles.GetStyle('_FCK_'+(this.Type=='ForeColor'?'Color':'BackColor'));if (!A||A.length==0) FCK.Styles.RemoveStyle(B);else{B.SetVariable('Color',A);FCKStyles.ApplyStyle(B);};FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');};FCKTextColorCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};function FCKTextColorCommand_OnMouseOver(){this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut(){this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(A,B,C){this.className='ColorDeselected';B.SetColor(C);B._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(A,B){this.className='ColorDeselected';B.SetColor('');B._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(A,B){this.className='ColorDeselected';B._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',410,320,FCKTools.Bind(B,B.SetColor));};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';FCKTools.AddEventListenerEx(C,'mouseover',FCKTextColorCommand_OnMouseOver);FCKTools.AddEventListenerEx(C,'mouseout',FCKTextColorCommand_OnMouseOut);return C;};var D=B.appendChild(A.createElement("TABLE"));D.className='ForceBaseFont';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">\n                        <tr>\n                          <td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\n                             <td nowrap width="100%" align="center">'+FCKLang.ColorAutomatic+'</td>\n                        </tr>\n         </table>';FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_AutoOnClick,this);if (!FCKBrowserInfo.IsIE) C.style.width='96%';var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H<G.length){var I=D.insertRow(-1);for (var i=0;i<8;i++,H++){if (H<G.length){var J=G[H].split('/');var K='#'+J[0];var L=J[1]||K;};C=I.insertCell(-1).appendChild(CreateSelectionDiv());C.innerHTML='<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: '+K+'"></div></div>';if (H>=G.length) C.style.visibility='hidden';else FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_OnClick,[this,L]);}};if (FCKConfig.EnableMoreFontColors){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>';FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_MoreOnClick,this);if (!FCKBrowserInfo.IsIE) C.style.width='96%';}};\r
+var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Paste');};\r
+var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCK.EditMode!=0||FCKConfig.ForcePasteAsPlainText) return -1;else return FCK.GetNamedCommandState('Paste');};\r
+var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();if (!FCKBrowserInfo.IsGecko){switch (this.Name){case 'TableMergeRight':return FCKTableHandler.MergeRight();case 'TableMergeDown':return FCKTableHandler.MergeDown();}};switch (this.Name){case 'TableInsertRowAfter':return FCKTableHandler.InsertRow(false);case 'TableInsertRowBefore':return FCKTableHandler.InsertRow(true);case 'TableDeleteRows':return FCKTableHandler.DeleteRows();case 'TableInsertColumnAfter':return FCKTableHandler.InsertColumn(false);case 'TableInsertColumnBefore':return FCKTableHandler.InsertColumn(true);case 'TableDeleteColumns':return FCKTableHandler.DeleteColumns();case 'TableInsertCellAfter':return FCKTableHandler.InsertCell(null,false);case 'TableInsertCellBefore':return FCKTableHandler.InsertCell(null,true);case 'TableDeleteCells':return FCKTableHandler.DeleteCells();case 'TableMergeCells':return FCKTableHandler.MergeCells();case 'TableHorizontalSplitCell':return FCKTableHandler.HorizontalSplitCell();case 'TableVerticalSplitCell':return FCKTableHandler.VerticalSplitCell();case 'TableDelete':return FCKTableHandler.DeleteTable();default:return alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));}};FCKTableCommand.prototype.GetState=function(){if (FCK.EditorDocument!=null&&FCKSelection.HasAncestorNode('TABLE')){switch (this.Name){case 'TableHorizontalSplitCell':case 'TableVerticalSplitCell':if (FCKTableHandler.GetSelectedCells().length==1) return 0;else return -1;case 'TableMergeCells':if (FCKTableHandler.CheckIsSelectionRectangular()&&FCKTableHandler.GetSelectedCells().length>1) return 0;else return -1;case 'TableMergeRight':return FCKTableHandler.GetMergeRightTarget()?0:-1;case 'TableMergeDown':return FCKTableHandler.GetMergeDownTarget()?0:-1;default:return 0;}}else return -1;};\r
+var FCKFitWindow=function(){this.Name='FitWindow';};FCKFitWindow.prototype.Execute=function(){var A=window.frameElement;var B=A.style;var C=parent;var D=C.document.documentElement;var E=C.document.body;var F=E.style;var G;var H,oEditorScrollPos;if (FCK.EditMode==0){H=new FCKDomRange(FCK.EditorWindow);H.MoveToSelection();oEditorScrollPos=FCKTools.GetScrollPosition(FCK.EditorWindow);}else{var I=FCK.EditingArea.Textarea;H=!FCKBrowserInfo.IsIE&&[I.selectionStart,I.selectionEnd];oEditorScrollPos=[I.scrollLeft,I.scrollTop];};if (!this.IsMaximized){if(FCKBrowserInfo.IsIE) C.attachEvent('onresize',FCKFitWindow_Resize);else C.addEventListener('resize',FCKFitWindow_Resize,true);this._ScrollPos=FCKTools.GetScrollPosition(C);G=A;while((G=G.parentNode)){if (G.nodeType==1){G._fckSavedStyles=FCKTools.SaveStyles(G);G.style.zIndex=FCKConfig.FloatingPanelsZIndex-1;}};if (FCKBrowserInfo.IsIE){this.documentElementOverflow=D.style.overflow;D.style.overflow='hidden';F.overflow='hidden';}else{F.overflow='hidden';F.width='0px';F.height='0px';};this._EditorFrameStyles=FCKTools.SaveStyles(A);var J=FCKTools.GetViewPaneSize(C);B.position="absolute";A.offsetLeft;B.zIndex=FCKConfig.FloatingPanelsZIndex-1;B.left="0px";B.top="0px";B.width=J.Width+"px";B.height=J.Height+"px";if (!FCKBrowserInfo.IsIE){B.borderRight=B.borderBottom="9999px solid white";B.backgroundColor="white";};C.scrollTo(0,0);var K=FCKTools.GetWindowPosition(C,A);if (K.x!=0) B.left=(-1*K.x)+"px";if (K.y!=0) B.top=(-1*K.y)+"px";this.IsMaximized=true;}else{if(FCKBrowserInfo.IsIE) C.detachEvent("onresize",FCKFitWindow_Resize);else C.removeEventListener("resize",FCKFitWindow_Resize,true);G=A;while((G=G.parentNode)){if (G._fckSavedStyles){FCKTools.RestoreStyles(G,G._fckSavedStyles);G._fckSavedStyles=null;}};if (FCKBrowserInfo.IsIE) D.style.overflow=this.documentElementOverflow;FCKTools.RestoreStyles(A,this._EditorFrameStyles);C.scrollTo(this._ScrollPos.X,this._ScrollPos.Y);this.IsMaximized=false;};FCKToolbarItems.GetItem('FitWindow').RefreshState();if (FCK.EditMode==0) FCK.EditingArea.MakeEditable();FCK.Focus();if (FCK.EditMode==0){H.Select();FCK.EditorWindow.scrollTo(oEditorScrollPos.X,oEditorScrollPos.Y);}else{if (!FCKBrowserInfo.IsIE){I.selectionStart=H[0];I.selectionEnd=H[1];};I.scrollLeft=oEditorScrollPos[0];I.scrollTop=oEditorScrollPos[1];}};FCKFitWindow.prototype.GetState=function(){if (FCKConfig.ToolbarLocation!='In') return -1;else return (this.IsMaximized?1:0);};function FCKFitWindow_Resize(){var A=FCKTools.GetViewPaneSize(parent);var B=window.frameElement.style;B.width=A.Width+'px';B.height=A.Height+'px';};\r
+var FCKListCommand=function(A,B){this.Name=A;this.TagName=B;};FCKListCommand.prototype={GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=FCKSelection.GetBoundaryParentElement(true);var B=A;while (B){if (B.nodeName.IEquals(['ul','ol'])) break;B=B.parentNode;};if (B&&B.nodeName.IEquals(this.TagName)) return 1;else return 0;},Execute:function(){FCKUndo.SaveUndoStep();var A=FCK.EditorDocument;var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=this.GetState();if (C==0){FCKDomTools.TrimNode(A.body);if (!A.body.firstChild){var D=A.createElement('p');A.body.appendChild(D);B.MoveToNodeContents(D);}};var E=B.CreateBookmark();var F=[];var G={};var H=new FCKDomRangeIterator(B);var I;H.ForceBrBreak=(C==0);var J=true;var K=null;while (J){while ((I=H.GetNextParagraph())){var L=new FCKElementPath(I);var M=null;var N=false;var O=L.BlockLimit;for (var i=L.Elements.length-1;i>=0;i--){var P=L.Elements[i];if (P.nodeName.IEquals(['ol','ul'])){if (O._FCK_ListGroupObject) O._FCK_ListGroupObject=null;var Q=P._FCK_ListGroupObject;if (Q) Q.contents.push(I);else{Q={ 'root':P,'contents':[I] };F.push(Q);FCKDomTools.SetElementMarker(G,P,'_FCK_ListGroupObject',Q);};N=true;break;}};if (N) continue;var R=O;if (R._FCK_ListGroupObject) R._FCK_ListGroupObject.contents.push(I);else{var Q={ 'root':R,'contents':[I] };FCKDomTools.SetElementMarker(G,R,'_FCK_ListGroupObject',Q);F.push(Q);}};if (FCKBrowserInfo.IsIE) J=false;else{if (K==null){K=[];var T=FCKSelection.GetSelection();if (T&&F.length==0) K.push(T.getRangeAt(0));for (var i=1;T&&i<T.rangeCount;i++) K.push(T.getRangeAt(i));};if (K.length<1) J=false;else{var U=FCKW3CRange.CreateFromRange(A,K.shift());B._Range=U;B._UpdateElementInfo();if (B.StartNode.nodeName.IEquals('td')) B.SetStart(B.StartNode,1);if (B.EndNode.nodeName.IEquals('td')) B.SetEnd(B.EndNode,2);H=new FCKDomRangeIterator(B);H.ForceBrBreak=(C==0);}}};var W=[];while (F.length>0){var Q=F.shift();if (C==0){if (Q.root.nodeName.IEquals(['ul','ol'])) this._ChangeListType(Q,G,W);else this._CreateList(Q,W);}else if (C==1&&Q.root.nodeName.IEquals(['ul','ol'])) this._RemoveList(Q,G);};for (var i=0;i<W.length;i++){var M=W[i];var Z=false;var a=M;while (!Z){a=a.nextSibling;if (a&&a.nodeType==3&&a.nodeValue.search(/^[\n\r\t ]*$/)==0) continue;Z=true;};if (a&&a.nodeName.IEquals(this.TagName)){a.parentNode.removeChild(a);while (a.firstChild) M.appendChild(a.removeChild(a.firstChild));};Z=false;a=M;while (!Z){a=a.previousSibling;if (a&&a.nodeType==3&&a.nodeValue.search(/^[\n\r\t ]*$/)==0) continue;Z=true;};if (a&&a.nodeName.IEquals(this.TagName)){a.parentNode.removeChild(a);while (a.lastChild) M.insertBefore(a.removeChild(a.lastChild),M.firstChild);}};FCKDomTools.ClearAllMarkers(G);B.MoveToBookmark(E);B.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},_ChangeListType:function(A,B,C){var D=FCKDomTools.ListToArray(A.root,B);var E=[];for (var i=0;i<A.contents.length;i++){var F=A.contents[i];F=FCKTools.GetElementAscensor(F,'li');if (!F||F._FCK_ListItem_Processed) continue;E.push(F);FCKDomTools.SetElementMarker(B,F,'_FCK_ListItem_Processed',true);};var G=FCKTools.GetElementDocument(A.root).createElement(this.TagName);for (var i=0;i<E.length;i++){var H=E[i]._FCK_ListArray_Index;D[H].parent=G;};var I=FCKDomTools.ArrayToList(D,B);for (var i=0;i<I.listNode.childNodes.length;i++){if (I.listNode.childNodes[i].nodeName.IEquals(this.TagName)) C.push(I.listNode.childNodes[i]);};A.root.parentNode.replaceChild(I.listNode,A.root);},_CreateList:function(A,B){var C=A.contents;var D=FCKTools.GetElementDocument(A.root);var E=[];if (C.length==1&&C[0]==A.root){var F=D.createElement('div');while (C[0].firstChild) F.appendChild(C[0].removeChild(C[0].firstChild));C[0].appendChild(F);C[0]=F;};var G=A.contents[0].parentNode;for (var i=0;i<C.length;i++) G=FCKDomTools.GetCommonParents(G,C[i].parentNode).pop();for (var i=0;i<C.length;i++){var H=C[i];while (H.parentNode){if (H.parentNode==G){E.push(H);break;};H=H.parentNode;}};if (E.length<1) return;var I=E[E.length-1].nextSibling;var J=D.createElement(this.TagName);B.push(J);while (E.length){var K=E.shift();var L=D.createDocumentFragment();while (K.firstChild) L.appendChild(K.removeChild(K.firstChild));K.parentNode.removeChild(K);var M=D.createElement('li');M.appendChild(L);J.appendChild(M);};G.insertBefore(J,I);},_RemoveList:function(A,B){var C=FCKDomTools.ListToArray(A.root,B);var D=[];for (var i=0;i<A.contents.length;i++){var E=A.contents[i];E=FCKTools.GetElementAscensor(E,'li');if (!E||E._FCK_ListItem_Processed) continue;D.push(E);FCKDomTools.SetElementMarker(B,E,'_FCK_ListItem_Processed',true);};var F=null;for (var i=0;i<D.length;i++){var G=D[i]._FCK_ListArray_Index;C[G].indent=-1;F=G;};for (var i=F+1;i<C.length;i++){if (C[i].indent>C[i-1].indent+1){var H=C[i-1].indent+1-C[i].indent;var I=C[i].indent;while (C[i]&&C[i].indent>=I){C[i].indent+=H;i++;};i--;}};var J=FCKDomTools.ArrayToList(C,B);if (A.root.nextSibling==null||A.root.nextSibling.nodeName.IEquals('br')){if (J.listNode.lastChild.nodeName.IEquals('br')) J.listNode.removeChild(J.listNode.lastChild);};A.root.parentNode.replaceChild(J.listNode,A.root);}};\r
+var FCKJustifyCommand=function(A){this.AlignValue=A;var B=FCKConfig.ContentLangDirection.toLowerCase();this.IsDefaultAlign=(A=='left'&&B=='ltr')||(A=='right'&&B=='rtl');var C=this._CssClassName=(function(){var D=FCKConfig.JustifyClasses;if (D){switch (A){case 'left':return D[0]||null;case 'center':return D[1]||null;case 'right':return D[2]||null;case 'justify':return D[3]||null;}};return null;})();if (C&&C.length>0) this._CssClassRegex=new RegExp('(?:^|\\s+)'+C+'(?=$|\\s)');};FCKJustifyCommand._GetClassNameRegex=function(){var A=FCKJustifyCommand._ClassRegex;if (A!=undefined) return A;var B=[];var C=FCKConfig.JustifyClasses;if (C){for (var i=0;i<4;i++){var D=C[i];if (D&&D.length>0) B.push(D);}};if (B.length>0) A=new RegExp('(?:^|\\s+)(?:'+B.join('|')+')(?=$|\\s)');else A=null;return FCKJustifyCommand._ClassRegex=A;};FCKJustifyCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();var B=this.GetState();if (B==-1) return;var C=A.CreateBookmark();var D=this._CssClassName;var E=new FCKDomRangeIterator(A);var F;while ((F=E.GetNextParagraph())){F.removeAttribute('align');if (D){var G=F.className.replace(FCKJustifyCommand._GetClassNameRegex(),'');if (B==0){if (G.length>0) G+=' ';F.className=G+D;}else if (G.length==0) FCKDomTools.RemoveAttribute(F,'class');}else{var H=F.style;if (B==0) H.textAlign=this.AlignValue;else{H.textAlign='';if (H.cssText.length==0) F.removeAttribute('style');}}};A.MoveToBookmark(C);A.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=new FCKElementPath(FCKSelection.GetBoundaryParentElement(true));var B=A.Block||A.BlockLimit;if (!B||B.nodeName.toLowerCase()=='body') return 0;var C;if (FCKBrowserInfo.IsIE) C=B.currentStyle.textAlign;else C=FCK.EditorWindow.getComputedStyle(B,'').getPropertyValue('text-align');C=C.replace(/(-moz-|-webkit-|start|auto)/i,'');if ((!C&&this.IsDefaultAlign)||C==this.AlignValue) return 1;return 0;}};\r
+var FCKIndentCommand=function(A,B){this.Name=A;this.Offset=B;this.IndentCSSProperty=FCKConfig.ContentLangDirection.IEquals('ltr')?'marginLeft':'marginRight';};FCKIndentCommand._InitIndentModeParameters=function(){if (FCKConfig.IndentClasses&&FCKConfig.IndentClasses.length>0){this._UseIndentClasses=true;this._IndentClassMap={};for (var i=0;i<FCKConfig.IndentClasses.length;i++) this._IndentClassMap[FCKConfig.IndentClasses[i]]=i+1;this._ClassNameRegex=new RegExp('(?:^|\\s+)('+FCKConfig.IndentClasses.join('|')+')(?=$|\\s)');}else this._UseIndentClasses=false;};FCKIndentCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();var B=A.CreateBookmark();var C=FCKDomTools.GetCommonParentNode(A.StartNode||A.StartContainer,A.EndNode||A.EndContainer,['ul','ol']);if (C) this._IndentList(A,C);else this._IndentBlock(A);A.MoveToBookmark(B);A.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;if (FCKIndentCommand._UseIndentClasses==undefined) FCKIndentCommand._InitIndentModeParameters();var A=FCKSelection.GetBoundaryParentElement(true);var B=FCKSelection.GetBoundaryParentElement(false);var C=FCKDomTools.GetCommonParentNode(A,B,['ul','ol']);if (C){if (this.Name.IEquals('outdent')) return 0;var D=FCKTools.GetElementAscensor(A,'li');if (!D||!D.previousSibling) return -1;return 0;};if (!FCKIndentCommand._UseIndentClasses&&this.Name.IEquals('indent')) return 0;var E=new FCKElementPath(A);var F=E.Block||E.BlockLimit;if (!F) return -1;if (FCKIndentCommand._UseIndentClasses){var G=F.className.match(FCKIndentCommand._ClassNameRegex);var H=0;if (G!=null){G=G[1];H=FCKIndentCommand._IndentClassMap[G];};if ((this.Name=='outdent'&&H==0)||(this.Name=='indent'&&H==FCKConfig.IndentClasses.length)) return -1;return 0;}else{var I=parseInt(F.style[this.IndentCSSProperty],10);if (isNaN(I)) I=0;if (I<=0) return -1;return 0;}},_IndentBlock:function(A){var B=new FCKDomRangeIterator(A);B.EnforceRealBlocks=true;A.Expand('block_contents');var C=FCKDomTools.GetCommonParents(A.StartContainer,A.EndContainer);var D=C[C.length-1];var E;while ((E=B.GetNextParagraph())){if (!(E==D||E.parentNode==D)) continue;if (FCKIndentCommand._UseIndentClasses){var F=E.className.match(FCKIndentCommand._ClassNameRegex);var G=0;if (F!=null){F=F[1];G=FCKIndentCommand._IndentClassMap[F];};if (this.Name.IEquals('outdent')) G--;else if (this.Name.IEquals('indent')) G++;G=Math.min(G,FCKConfig.IndentClasses.length);G=Math.max(G,0);var H=E.className.replace(FCKIndentCommand._ClassNameRegex,'');if (G<1) E.className=H;else E.className=(H.length>0?H+' ':'')+FCKConfig.IndentClasses[G-1];}else{var I=parseInt(E.style[this.IndentCSSProperty],10);if (isNaN(I)) I=0;I+=this.Offset;I=Math.max(I,0);I=Math.ceil(I/this.Offset)*this.Offset;E.style[this.IndentCSSProperty]=I?I+FCKConfig.IndentUnit:'';if (E.getAttribute('style')=='') E.removeAttribute('style');}}},_IndentList:function(A,B){var C=A.StartContainer;var D=A.EndContainer;while (C&&C.parentNode!=B) C=C.parentNode;while (D&&D.parentNode!=B) D=D.parentNode;if (!C||!D) return;var E=C;var F=[];var G=false;while (G==false){if (E==D) G=true;F.push(E);E=E.nextSibling;};if (F.length<1) return;var H=FCKDomTools.GetParents(B);for (var i=0;i<H.length;i++){if (H[i].nodeName.IEquals(['ul','ol'])){B=H[i];break;}};var I=this.Name.IEquals('indent')?1:-1;var J=F[0];var K=F[F.length-1];var L={};var M=FCKDomTools.ListToArray(B,L);var N=M[K._FCK_ListArray_Index].indent;for (var i=J._FCK_ListArray_Index;i<=K._FCK_ListArray_Index;i++) M[i].indent+=I;for (var i=K._FCK_ListArray_Index+1;i<M.length&&M[i].indent>N;i++) M[i].indent+=I;var O=FCKDomTools.ArrayToList(M);if (O) B.parentNode.replaceChild(O.listNode,B);FCKDomTools.ClearAllMarkers(L);}};\r
+var FCKBlockQuoteCommand=function(){};FCKBlockQuoteCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=this.GetState();var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.CreateBookmark();if (FCKBrowserInfo.IsIE){var D=B.GetBookmarkNode(C,true);var E=B.GetBookmarkNode(C,false);var F;if (D&&D.parentNode.nodeName.IEquals('blockquote')&&!D.previousSibling){F=D;while ((F=F.nextSibling)){if (FCKListsLib.BlockElements[F.nodeName.toLowerCase()]) FCKDomTools.MoveNode(D,F,true);}};if (E&&E.parentNode.nodeName.IEquals('blockquote')&&!E.previousSibling){F=E;while ((F=F.nextSibling)){if (FCKListsLib.BlockElements[F.nodeName.toLowerCase()]){if (F.firstChild==D) FCKDomTools.InsertAfterNode(D,E);else FCKDomTools.MoveNode(E,F,true);}}}};var G=new FCKDomRangeIterator(B);var H;if (A==0){var I=[];while ((H=G.GetNextParagraph())) I.push(H);if (I.length<1){para=B.Window.document.createElement(FCKConfig.EnterMode.IEquals('p')?'p':'div');B.InsertNode(para);para.appendChild(B.Window.document.createTextNode('\ufeff'));B.MoveToBookmark(C);B.MoveToNodeContents(para);B.Collapse(true);C=B.CreateBookmark();I.push(para);};var J=I[0].parentNode;var K=[];for (var i=0;i<I.length;i++){H=I[i];J=FCKDomTools.GetCommonParents(H.parentNode,J).pop();}while (J.nodeName.IEquals('table','tbody','tr','ol','ul')) J=J.parentNode;var L=null;while (I.length>0){H=I.shift();while (H.parentNode!=J) H=H.parentNode;if (H!=L) K.push(H);L=H;}while (K.length>0){H=K.shift();if (H.nodeName.IEquals('blockquote')){var M=FCKTools.GetElementDocument(H).createDocumentFragment();while (H.firstChild){M.appendChild(H.removeChild(H.firstChild));I.push(M.lastChild);};H.parentNode.replaceChild(M,H);}else I.push(H);};var N=B.Window.document.createElement('blockquote');J.insertBefore(N,I[0]);while (I.length>0){H=I.shift();N.appendChild(H);}}else if (A==1){var O=[];var P={};while ((H=G.GetNextParagraph())){var Q=null;var R=null;while (H.parentNode){if (H.parentNode.nodeName.IEquals('blockquote')){Q=H.parentNode;R=H;break;};H=H.parentNode;};if (Q&&R&&!R._fckblockquotemoveout){O.push(R);FCKDomTools.SetElementMarker(P,R,'_fckblockquotemoveout',true);}};FCKDomTools.ClearAllMarkers(P);var S=[];var T=[],P={};var U=function(N){for (var i=0;i<N.childNodes.length;i++){if (FCKListsLib.BlockElements[N.childNodes[i].nodeName.toLowerCase()]) return false;};return true;};while (O.length>0){var W=O.shift();var N=W.parentNode;if (W==W.parentNode.firstChild) N.parentNode.insertBefore(N.removeChild(W),N);else if (W==W.parentNode.lastChild) N.parentNode.insertBefore(N.removeChild(W),N.nextSibling);else FCKDomTools.BreakParent(W,W.parentNode,B);if (!N._fckbqprocessed){T.push(N);FCKDomTools.SetElementMarker(P,N,'_fckbqprocessed',true);};S.push(W);};for (var i=T.length-1;i>=0;i--){var N=T[i];if (U(N)) FCKDomTools.RemoveNode(N);};FCKDomTools.ClearAllMarkers(P);if (FCKConfig.EnterMode.IEquals('br')){while (S.length){var W=S.shift();var a=true;if (W.nodeName.IEquals('div')){var M=FCKTools.GetElementDocument(W).createDocumentFragment();var c=a&&W.previousSibling&&!FCKListsLib.BlockBoundaries[W.previousSibling.nodeName.toLowerCase()];if (a&&c) M.appendChild(FCKTools.GetElementDocument(W).createElement('br'));var d=W.nextSibling&&!FCKListsLib.BlockBoundaries[W.nextSibling.nodeName.toLowerCase()];while (W.firstChild) M.appendChild(W.removeChild(W.firstChild));if (d) M.appendChild(FCKTools.GetElementDocument(W).createElement('br'));W.parentNode.replaceChild(M,W);a=false;}}}};B.MoveToBookmark(C);B.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=new FCKElementPath(FCKSelection.GetBoundaryParentElement(true));var B=A.Block||A.BlockLimit;if (!B||B.nodeName.toLowerCase()=='body') return 0;for (var i=0;i<A.Elements.length;i++){if (A.Elements[i].nodeName.IEquals('blockquote')) return 1;};return 0;}};\r
+var FCKCoreStyleCommand=function(A){this.Name='CoreStyle';this.StyleName='_FCK_'+A;this.IsActive=false;FCKStyles.AttachStyleStateChange(this.StyleName,this._OnStyleStateChange,this);};FCKCoreStyleCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();if (this.IsActive) FCKStyles.RemoveStyle(this.StyleName);else FCKStyles.ApplyStyle(this.StyleName);FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0) return -1;return this.IsActive?1:0;},_OnStyleStateChange:function(A,B){this.IsActive=B;}};\r
+var FCKRemoveFormatCommand=function(){this.Name='RemoveFormat';};FCKRemoveFormatCommand.prototype={Execute:function(){FCKStyles.RemoveAll();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){return FCK.EditorWindow?0:-1;}};\r
+var FCKCommands=FCK.Commands={};FCKCommands.LoadedCommands={};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 'Bold':case 'Italic':case 'Underline':case 'StrikeThrough':case 'Subscript':case 'Superscript':B=new FCKCoreStyleCommand(A);break;case 'RemoveFormat':B=new FCKRemoveFormatCommand();break;case 'DocProps':B=new FCKDialogCommand('DocProps',FCKLang.DocProps,'dialog/fck_docprops.html',400,380,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,300);break;case 'Unlink':B=new FCKUnlinkCommand();break;case 'VisitLink':B=new FCKVisitLinkCommand();break;case 'Anchor':B=new FCKDialogCommand('Anchor',FCKLang.DlgAnchorTitle,'dialog/fck_anchor.html',370,160);break;case 'AnchorDelete':B=new FCKAnchorDeleteCommand();break;case 'BulletedList':B=new FCKDialogCommand('BulletedList',FCKLang.BulletedListProp,'dialog/fck_listprop.html?UL',370,160);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html?OL',370,160);break;case 'About':B=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',420,330,function(){ return 0;});break;case 'Find':B=new FCKDialogCommand('Find',FCKLang.DlgFindAndReplaceTitle,'dialog/fck_replace.html',340,230,null,null,'Find');break;case 'Replace':B=new FCKDialogCommand('Replace',FCKLang.DlgFindAndReplaceTitle,'dialog/fck_replace.html',340,230,null,null,'Replace');break;case 'Image':B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,390);break;case 'Flash':B=new FCKDialogCommand('Flash',FCKLang.DlgFlashTitle,'dialog/fck_flash.html',450,390);break;case 'SpecialChar':B=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,290);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',480,250);break;case 'TableProp':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',480,250);break;case 'TableCellProp':B=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',550,240);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 'Rule':B=new FCKRuleCommand();break;case 'Nbsp':B=new FCKNbsp();break;case 'TextColor':B=new FCKTextColorCommand('ForeColor');break;case 'BGColor':B=new FCKTextColorCommand('BackColor');break;case 'Paste':B=new FCKPasteCommand();break;case 'PasteText':B=new FCKPastePlainTextCommand();break;case 'PasteWord':B=new FCKPasteWordCommand();break;case 'JustifyLeft':B=new FCKJustifyCommand('left');break;case 'JustifyCenter':B=new FCKJustifyCommand('center');break;case 'JustifyRight':B=new FCKJustifyCommand('right');break;case 'JustifyFull':B=new FCKJustifyCommand('justify');break;case 'Indent':B=new FCKIndentCommand('indent',FCKConfig.IndentLength);break;case 'Outdent':B=new FCKIndentCommand('outdent',FCKConfig.IndentLength*-1);break;case 'Blockquote':B=new FCKBlockQuoteCommand();break;case 'CreateDiv':B=new FCKDialogCommand('CreateDiv',FCKLang.CreateDiv,'dialog/fck_div.html',380,210,null,null,true);break;case 'EditDiv':B=new FCKDialogCommand('EditDiv',FCKLang.EditDiv,'dialog/fck_div.html',380,210,null,null,false);break;case 'DeleteDiv':B=new FCKDeleteDivCommand();break;case 'TableInsertRowAfter':B=new FCKTableCommand('TableInsertRowAfter');break;case 'TableInsertRowBefore':B=new FCKTableCommand('TableInsertRowBefore');break;case 'TableDeleteRows':B=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumnAfter':B=new FCKTableCommand('TableInsertColumnAfter');break;case 'TableInsertColumnBefore':B=new FCKTableCommand('TableInsertColumnBefore');break;case 'TableDeleteColumns':B=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCellAfter':B=new FCKTableCommand('TableInsertCellAfter');break;case 'TableInsertCellBefore':B=new FCKTableCommand('TableInsertCellBefore');break;case 'TableDeleteCells':B=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':B=new FCKTableCommand('TableMergeCells');break;case 'TableMergeRight':B=new FCKTableCommand('TableMergeRight');break;case 'TableMergeDown':B=new FCKTableCommand('TableMergeDown');break;case 'TableHorizontalSplitCell':B=new FCKTableCommand('TableHorizontalSplitCell');break;case 'TableVerticalSplitCell':B=new FCKTableCommand('TableVerticalSplitCell');break;case 'TableDelete':B=new FCKTableCommand('TableDelete');break;case 'Form':B=new FCKDialogCommand('Form',FCKLang.Form,'dialog/fck_form.html',380,210);break;case 'Checkbox':B=new FCKDialogCommand('Checkbox',FCKLang.Checkbox,'dialog/fck_checkbox.html',380,200);break;case 'Radio':B=new FCKDialogCommand('Radio',FCKLang.RadioButton,'dialog/fck_radiobutton.html',380,200);break;case 'TextField':B=new FCKDialogCommand('TextField',FCKLang.TextField,'dialog/fck_textfield.html',380,210);break;case 'Textarea':B=new FCKDialogCommand('Textarea',FCKLang.Textarea,'dialog/fck_textarea.html',380,210);break;case 'HiddenField':B=new FCKDialogCommand('HiddenField',FCKLang.HiddenField,'dialog/fck_hiddenfield.html',380,190);break;case 'Button':B=new FCKDialogCommand('Button',FCKLang.Button,'dialog/fck_button.html',380,210);break;case 'Select':B=new FCKDialogCommand('Select',FCKLang.SelectionField,'dialog/fck_select.html',400,340);break;case 'ImageButton':B=new FCKDialogCommand('ImageButton',FCKLang.ImageButton,'dialog/fck_image.html?ImageButton',450,390);break;case 'SpellCheck':B=new FCKSpellCheckCommand();break;case 'FitWindow':B=new FCKFitWindow();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'Copy':B=new FCKCutCopyCommand(false);break;case 'Cut':B=new FCKCutCopyCommand(true);break;case 'SelectAll':B=new FCKSelectAllCommand();break;case 'InsertOrderedList':B=new FCKListCommand('insertorderedlist','ol');break;case 'InsertUnorderedList':B=new FCKListCommand('insertunorderedlist','ul');break;case 'ShowBlocks':B=new FCKShowBlockCommand('ShowBlocks',FCKConfig.StartupShowBlocks?1:0);break;case 'Undefined':B=new FCKUndefinedCommand();break;case 'Scayt':B=FCKScayt.CreateCommand();break;case 'ScaytContext':B=FCKScayt.CreateContextCommand();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?0:-1;};FCKCommands.GetBooleanState=function(A){return A?-1:0;};\r
+var FCKPanel=function(A){this.IsRTL=(FCKLang.Dir=='rtl');this.IsContextMenu=false;this._LockCounter=0;this._Window=A||window;var B;if (FCKBrowserInfo.IsIE){this._Popup=this._Window.createPopup();var C=this._Window.document;if (FCK_IS_CUSTOM_DOMAIN&&!FCKBrowserInfo.IsIE7){C.domain=FCK_ORIGINAL_DOMAIN;document.domain=FCK_ORIGINAL_DOMAIN;};B=this.Document=this._Popup.document;if (FCK_IS_CUSTOM_DOMAIN){B.domain=FCK_RUNTIME_DOMAIN;C.domain=FCK_RUNTIME_DOMAIN;document.domain=FCK_RUNTIME_DOMAIN;};FCK.IECleanup.AddItem(this,FCKPanel_Cleanup);}else{var D=this._IFrame=this._Window.document.createElement('iframe');FCKTools.ResetStyles(D);D.src='javascript:void(0)';D.allowTransparency=true;D.frameBorder='0';D.scrolling='no';D.style.width=D.style.height='0px';FCKDomTools.SetElementStyles(D,{position:'absolute',zIndex:FCKConfig.FloatingPanelsZIndex});this._Window.document.body.appendChild(D);var E=D.contentWindow;B=this.Document=E.document;var F='';if (FCKBrowserInfo.IsSafari) F='<base href="'+window.document.location+'">';B.open();B.write('<html><head>'+F+'<\/head><body style="margin:0px;padding:0px;"><\/body><\/html>');B.close();if(FCKBrowserInfo.IsAIR) FCKAdobeAIR.Panel_Contructor(B,window.document.location);FCKTools.AddEventListenerEx(E,'focus',FCKPanel_Window_OnFocus,this);FCKTools.AddEventListenerEx(E,'blur',FCKPanel_Window_OnBlur,this);};B.dir=FCKLang.Dir;FCKTools.AddEventListener(B,'contextmenu',FCKTools.CancelEvent);this.MainNode=B.body.appendChild(B.createElement('DIV'));this.MainNode.style.cssFloat=this.IsRTL?'right':'left';};FCKPanel.prototype.AppendStyleSheet=function(A){FCKTools.AppendStyleSheet(this.Document,A);};FCKPanel.prototype.Preload=function(x,y,A){if (this._Popup) this._Popup.show(x,y,0,0,A);};FCKPanel.prototype.ResizeForSubpanel=function(A,B,C){if (!FCKBrowserInfo.IsIE7) return false;if (!this._Popup.isOpen){this.Subpanel=null;return false;};if (B==0&&C==0){if (this.Subpanel!==A) return false;this.Subpanel=null;this.IncreasedX=0;}else{this.Subpanel=A;if ((this.IncreasedX>=B)&&(this.IncreasedY>=C)) return false;this.IncreasedX=Math.max(this.IncreasedX,B);this.IncreasedY=Math.max(this.IncreasedY,C);};var x=this.ShowRect.x;var w=this.IncreasedX;if (this.IsRTL) x=x-w;var D=this.ShowRect.w+w;var E=Math.max(this.ShowRect.h,this.IncreasedY);if (this.ParentPanel) this.ParentPanel.ResizeForSubpanel(this,D,E);this._Popup.show(x,this.ShowRect.y,D,E,this.RelativeElement);return this.IsRTL;};FCKPanel.prototype.Show=function(x,y,A,B,C){var D;var E=this.MainNode;if (this._Popup){this._Popup.show(x,y,0,0,A);FCKDomTools.SetElementStyles(E,{B:B?B+'px':'',C:C?C+'px':''});D=E.offsetWidth;if (FCKBrowserInfo.IsIE7){if (this.ParentPanel&&this.ParentPanel.ResizeForSubpanel(this,D,E.offsetHeight)){FCKTools.RunFunction(this.Show,this,[x,y,A]);return;}};if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=(x*-1)+A.offsetWidth-D;};if (FCKBrowserInfo.IsIE7){this.ShowRect={x:x,y:y,w:D,h:E.offsetHeight};this.IncreasedX=0;this.IncreasedY=0;this.RelativeElement=A;};this._PopupArgs=[x,y,D,E.offsetHeight,A];this._Popup.show(x,y,D,E.offsetHeight,A);if (this.OnHide){if (this._Timer) CheckPopupOnHide.call(this,true);this._Timer=FCKTools.SetInterval(CheckPopupOnHide,100,this);}}else{if (typeof(FCK.ToolbarSet.CurrentInstance.FocusManager)!='undefined') FCK.ToolbarSet.CurrentInstance.FocusManager.Lock();if (this.ParentPanel){this.ParentPanel.Lock();FCKPanel_Window_OnBlur(null,this.ParentPanel);};if (FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac){this._IFrame.scrolling='';FCKTools.RunFunction(function(){ this._IFrame.scrolling='no';},this);};if (FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel&&FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel!=this) FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel.Hide(false,true);FCKDomTools.SetElementStyles(E,{B:B?B+'px':'',C:C?C+'px':''});D=E.offsetWidth;if (!B)       this._IFrame.width=1;if (!C)    this._IFrame.height=1;D=E.offsetWidth||E.firstChild.offsetWidth;var F=FCKTools.GetDocumentPosition(this._Window,A.nodeType==9?(FCKTools.IsStrictMode(A)?A.documentElement:A.body):A);var G=FCKDomTools.GetPositionedAncestor(this._IFrame.parentNode);if (G){var H=FCKTools.GetDocumentPosition(FCKTools.GetElementWindow(G),G);F.x-=H.x;F.y-=H.y;};if (this.IsRTL&&!this.IsContextMenu) x=(x*-1);x+=F.x;y+=F.y;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=x+A.offsetWidth-D;}else{var I=FCKTools.GetViewPaneSize(this._Window);var J=FCKTools.GetScrollPosition(this._Window);var K=I.Height+J.Y;var L=I.Width+J.X;if ((x+D)>L) x-=x+D-L;if ((y+E.offsetHeight)>K) y-=y+E.offsetHeight-K;};FCKDomTools.SetElementStyles(this._IFrame,{left:x+'px',top:y+'px'});this._IFrame.contentWindow.focus();this._IsOpened=true;var M=this;this._resizeTimer=setTimeout(function(){var N=E.offsetWidth||E.firstChild.offsetWidth;var O=E.offsetHeight;M._IFrame.style.width=N+'px';M._IFrame.style.height=O+'px';},0);FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel=this;};FCKTools.RunFunction(this.OnShow,this);};FCKPanel.prototype.Hide=function(A,B){if (this._Popup) this._Popup.hide();else{if (!this._IsOpened||this._LockCounter>0) return;if (typeof(FCKFocusManager)!='undefined'&&!B) FCKFocusManager.Unlock();this._IFrame.style.width=this._IFrame.style.height='0px';this._IsOpened=false;if (this._resizeTimer){clearTimeout(this._resizeTimer);this._resizeTimer=null;};if (this.ParentPanel) this.ParentPanel.Unlock();if (!A) FCKTools.RunFunction(this.OnHide,this);}};FCKPanel.prototype.CheckIsOpened=function(){if (this._Popup) return this._Popup.isOpen;else return this._IsOpened;};FCKPanel.prototype.CreateChildPanel=function(){var A=this._Popup?FCKTools.GetDocumentWindow(this.Document):this._Window;var B=new FCKPanel(A);B.ParentPanel=this;return B;};FCKPanel.prototype.Lock=function(){this._LockCounter++;};FCKPanel.prototype.Unlock=function(){if (--this._LockCounter==0&&!this.HasFocus) this.Hide();};function FCKPanel_Window_OnFocus(e,A){A.HasFocus=true;};function FCKPanel_Window_OnBlur(e,A){A.HasFocus=false;if (A._LockCounter==0) FCKTools.RunFunction(A.Hide,A);};function CheckPopupOnHide(A){if (A||!this._Popup.isOpen){window.clearInterval(this._Timer);this._Timer=null;if (this._Popup&&this.ParentPanel&&!A) this.ParentPanel.ResizeForSubpanel(this,0,0);FCKTools.RunFunction(this.OnHide,this);}};function FCKPanel_Cleanup(){this._Popup=null;this._Window=null;this.Document=null;this.MainNode=null;this.RelativeElement=null;};\r
+var FCKIcon=function(A){var B=A?typeof(A):'undefined';switch (B){case 'number':this.Path=FCKConfig.SkinPath+'fck_strip.gif';this.Size=16;this.Position=A;break;case 'undefined':this.Path=FCK_SPACER_PATH;break;case 'string':this.Path=A;break;default:this.Path=A[0];this.Size=A[1];this.Position=A[2];}};FCKIcon.prototype.CreateIconElement=function(A){var B,eIconImage;if (this.Position){var C='-'+((this.Position-1)*this.Size)+'px';if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path;eIconImage.style.top=C;}else{B=A.createElement('IMG');B.src=FCK_SPACER_PATH;B.style.backgroundPosition='0px '+C;B.style.backgroundImage='url("'+this.Path+'")';}}else{if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path?this.Path:FCK_SPACER_PATH;}else{B=A.createElement('IMG');B.src=this.Path?this.Path:FCK_SPACER_PATH;}};B.className='TB_Button_Image';return B;};\r
+var FCKToolbarButtonUI=function(A,B,C,D,E,F){this.Name=A;this.Label=B||A;this.Tooltip=C||this.Label;this.Style=E||0;this.State=F||0;this.Icon=new FCKIcon(D);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarButtonUI_Cleanup);};FCKToolbarButtonUI.prototype._CreatePaddingElement=function(A){var B=A.createElement('IMG');B.className='TB_Button_Padding';B.src=FCK_SPACER_PATH;return B;};FCKToolbarButtonUI.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this.MainElement=B.createElement('DIV');C.title=this.Tooltip;if (FCKBrowserInfo.IsGecko) C.onmousedown=FCKTools.CancelEvent;FCKTools.AddEventListenerEx(C,'mouseover',FCKToolbarButtonUI_OnMouseOver,this);FCKTools.AddEventListenerEx(C,'mouseout',FCKToolbarButtonUI_OnMouseOut,this);FCKTools.AddEventListenerEx(C,'click',FCKToolbarButtonUI_OnClick,this);this.ChangeState(this.State,true);if (this.Style==0&&!this.ShowArrow){C.appendChild(this.Icon.CreateIconElement(B));}else{var D=C.appendChild(B.createElement('TABLE'));D.cellPadding=0;D.cellSpacing=0;var E=D.insertRow(-1);var F=E.insertCell(-1);if (this.Style==0||this.Style==2) F.appendChild(this.Icon.CreateIconElement(B));else F.appendChild(this._CreatePaddingElement(B));if (this.Style==1||this.Style==2){F=E.insertCell(-1);F.className='TB_Button_Text';F.noWrap=true;F.appendChild(B.createTextNode(this.Label));};if (this.ShowArrow){if (this.Style!=0){E.insertCell(-1).appendChild(this._CreatePaddingElement(B));};F=E.insertCell(-1);var G=F.appendChild(B.createElement('IMG'));G.src=FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif';G.width=5;G.height=3;};F=E.insertCell(-1);F.appendChild(this._CreatePaddingElement(B));};A.appendChild(C);};FCKToolbarButtonUI.prototype.ChangeState=function(A,B){if (!B&&this.State==A) return;var e=this.MainElement;if (!e) return;switch (parseInt(A,10)){case 0:e.className='TB_Button_Off';break;case 1:e.className='TB_Button_On';break;case -1:e.className='TB_Button_Disabled';break;};this.State=A;};function FCKToolbarButtonUI_OnMouseOver(A,B){if (B.State==0) this.className='TB_Button_Off_Over';else if (B.State==1) this.className='TB_Button_On_Over';};function FCKToolbarButtonUI_OnMouseOut(A,B){if (B.State==0) this.className='TB_Button_Off';else if (B.State==1) this.className='TB_Button_On';};function FCKToolbarButtonUI_OnClick(A,B){if (B.OnClick&&B.State!=-1) B.OnClick(B);};function FCKToolbarButtonUI_Cleanup(){this.MainElement=null;};\r
+var FCKToolbarButton=function(A,B,C,D,E,F,G){this.CommandName=A;this.Label=B;this.Tooltip=C;this.Style=D;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;if (G==null) this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(G)=='number') this.IconPath=[FCKConfig.SkinPath+'fck_strip.gif',16,G];else this.IconPath=G;};FCKToolbarButton.prototype.Create=function(A){this._UIButton=new FCKToolbarButtonUI(this.CommandName,this.Label,this.Tooltip,this.IconPath,this.Style);this._UIButton.OnClick=this.Click;this._UIButton._ToolbarButton=this;this._UIButton.Create(A);};FCKToolbarButton.prototype.RefreshState=function(){var A=this._UIButton;if (!A) return;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B==A.State) return;A.ChangeState(B);};FCKToolbarButton.prototype.Click=function(){var A=this._ToolbarButton||this;FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(A.CommandName).Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this._UIButton.ChangeState(-1);};\r
+var FCKSpecialCombo=function(A,B,C,D,E){this.FieldWidth=B||100;this.PanelWidth=C||150;this.PanelMaxHeight=D||150;this.Label='&nbsp;';this.Caption=A;this.Tooltip=A;this.Style=2;this.Enabled=true;this.Items={};this._Panel=new FCKPanel(E||window);this._Panel.AppendStyleSheet(FCKConfig.SkinEditorCSS);this._PanelBox=this._Panel.MainNode.appendChild(this._Panel.Document.createElement('DIV'));this._PanelBox.className='SC_Panel';this._PanelBox.style.width=this.PanelWidth+'px';this._PanelBox.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._PanelBox.getElementsByTagName('TD')[0];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKSpecialCombo_Cleanup);};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(A,B,C){this.className=this.originalClass;B._Panel.Hide();B.SetLabel(this.FCKItemLabel);if (typeof(B.OnSelect)=='function') B.OnSelect(C,this);};FCKSpecialCombo.prototype.ClearItems=function (){if (this.Items) this.Items={};var A=this._ItemsHolderEl;while (A.firstChild) A.removeChild(A.firstChild);};FCKSpecialCombo.prototype.AddItem=function(A,B,C,D){var E=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));E.className=E.originalClass='SC_Item';E.innerHTML=B;E.FCKItemLabel=C||A;E.Selected=false;if (FCKBrowserInfo.IsIE) E.style.width='100%';if (D) E.style.backgroundColor=D;FCKTools.AddEventListenerEx(E,'mouseover',FCKSpecialCombo_ItemOnMouseOver);FCKTools.AddEventListenerEx(E,'mouseout',FCKSpecialCombo_ItemOnMouseOut);FCKTools.AddEventListenerEx(E,'click',FCKSpecialCombo_ItemOnClick,[this,A]);this.Items[A.toString().toLowerCase()]=E;return E;};FCKSpecialCombo.prototype.SelectItem=function(A){if (typeof A=='string') A=this.Items[A.toString().toLowerCase()];if (A){A.className=A.originalClass='SC_ItemSelected';A.Selected=true;}};FCKSpecialCombo.prototype.SelectItemByLabel=function(A,B){for (var C in this.Items){var D=this.Items[C];if (D.FCKItemLabel==A){D.className=D.originalClass='SC_ItemSelected';D.Selected=true;if (B) this.SetLabel(A);}}};FCKSpecialCombo.prototype.DeselectAll=function(A){for (var i in this.Items){if (!this.Items[i]) continue;this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};if (A) this.SetLabel('');};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){A=(!A||A.length==0)?'&nbsp;':A;if (A==this.Label) return;this.Label=A;var B=this._LabelEl;if (B){B.innerHTML=A;FCKTools.DisableSelection(B);}};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;if (this._OuterTable) this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this._OuterTable=A.appendChild(B.createElement('TABLE'));C.cellPadding=0;C.cellSpacing=0;C.insertRow(-1);var D;var E;switch (this.Style){case 0:D='TB_ButtonType_Icon';E=false;break;case 1:D='TB_ButtonType_Text';E=false;break;case 2:E=true;break;};if (this.Caption&&this.Caption.length>0&&E){var F=C.rows[0].insertCell(-1);F.innerHTML=this.Caption;F.className='SC_FieldCaption';};var G=FCKTools.AppendElement(C.rows[0].insertCell(-1),'div');if (E){G.className='SC_Field';G.style.width=this.FieldWidth+'px';G.innerHTML='<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>';this._LabelEl=G.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{G.className='TB_Button_Off';G.innerHTML='<table title="'+this.Tooltip+'" class="'+D+'" cellspacing="0" cellpadding="0" border="0"><tr><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_Text">'+this.Caption+'</td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_ButtonArrow"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td></tr></table>';};FCKTools.AddEventListenerEx(G,'mouseover',FCKSpecialCombo_OnMouseOver,this);FCKTools.AddEventListenerEx(G,'mouseout',FCKSpecialCombo_OnMouseOut,this);FCKTools.AddEventListenerEx(G,'click',FCKSpecialCombo_OnClick,this);FCKTools.DisableSelection(this._Panel.Document.body);};function FCKSpecialCombo_Cleanup(){this._LabelEl=null;this._OuterTable=null;this._ItemsHolderEl=null;this._PanelBox=null;if (this.Items){for (var A in this.Items) this.Items[A]=null;}};function FCKSpecialCombo_OnMouseOver(A,B){if (B.Enabled){switch (B.Style){case 0:this.className='TB_Button_On_Over';break;case 1:this.className='TB_Button_On_Over';break;case 2:this.className='SC_Field SC_FieldOver';break;}}};function FCKSpecialCombo_OnMouseOut(A,B){switch (B.Style){case 0:this.className='TB_Button_Off';break;case 1:this.className='TB_Button_Off';break;case 2:this.className='SC_Field';break;}};function FCKSpecialCombo_OnClick(e,A){if (A.Enabled){var B=A._Panel;var C=A._PanelBox;var D=A._ItemsHolderEl;var E=A.PanelMaxHeight;if (A.OnBeforeClick) A.OnBeforeClick(A);if (FCKBrowserInfo.IsIE) B.Preload(0,this.offsetHeight,this);if (D.offsetHeight>E) C.style.height=E+'px';else C.style.height='';B.Show(0,this.offsetHeight,this);}};\r
+var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;this.FieldWidth=null;this.PanelWidth=null;this.PanelMaxHeight=null;};FCKToolbarSpecialCombo.prototype.DefaultLabel='';function FCKToolbarSpecialCombo_OnSelect(A,B){FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Execute(A,B);};FCKToolbarSpecialCombo.prototype.Create=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel(),this.FieldWidth,this.PanelWidth,this.PanelMaxHeight,FCKBrowserInfo.IsIE?window:FCKTools.GetElementWindow(A).parent);this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A);this._Combo.CommandName=this.CommandName;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(A,B){A.DeselectAll();A.SelectItem(B);A.SetLabelById(B);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B!=-1){A=1;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else{if (this._LastValue!==B){this._LastValue=B;if (!B||B.length==0){this._Combo.DeselectAll();this._Combo.SetLabel(this.DefaultLabel);}else FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}}}else A=-1;if (A==this.State) return;if (A==-1){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=-1);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=-1;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);};\r
+var FCKToolbarStyleCombo=function(A,B){if (A===false) return;this.CommandName='Style';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultStyleLabel||'';};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.GetStyles=function(){var A={};var B=FCK.ToolbarSet.CurrentInstance.Styles.GetStyles();for (var C in B){var D=B[C];if (!D.IsCore) A[C]=D;};return A;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);FCKTools.AppendStyleString(B,FCKConfig.EditorAreaStyles);B.body.className+=' ForceBaseFont';FCKConfig.ApplyBodyAttributes(B.body);var C=this.GetStyles();for (var D in C){var E=C[D];var F=E.GetType()==2?D:FCKToolbarStyleCombo_BuildPreview(E,E.Label||D);var G=A.AddItem(D,F);G.Style=E;};A.OnBeforeClick=this.StyleCombo_OnBeforeClick;};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Elements;for (var e=0;e<D.length;e++){for (var i in A.Items){var E=A.Items[i];var F=E.Style;if (F.CheckElementRemovable(D[e],true)){A.SetLabel(F.Label||F.Name);return;}}}};A.SetLabel(this.DefaultLabel);};FCKToolbarStyleCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B;var C;var D;var E=FCK.ToolbarSet.CurrentInstance.Selection;if (E.GetType()=='Control'){B=E.GetSelectedElement();D=B.nodeName.toLowerCase();}else{B=E.GetBoundaryParentElement(true);C=new FCKElementPath(B);};for (var i in A.Items){var F=A.Items[i];var G=F.Style;if ((D&&G.Element==D)||(!D&&G.GetType()!=2)){F.style.display='';if ((C&&G.CheckActive(C))||(!C&&G.CheckElementRemovable(B,true))) A.SelectItem(G.Name);}else F.style.display='none';}};function FCKToolbarStyleCombo_BuildPreview(A,B){var C=A.GetType();var D=[];if (C==0) D.push('<div class="BaseFont">');var E=A.Element;if (E=='bdo') E='span';D=['<',E];var F=A._StyleDesc.Attributes;if (F){for (var G in F){D.push(' ',G,'="',A.GetFinalAttributeValue(G),'"');}};if (A._GetStyleText().length>0) D.push(' style="',A.GetFinalStyleValue(),'"');D.push('>',B,'</',E,'>');if (C==0) D.push('</div>');return D.join('');};\r
+var FCKToolbarFontFormatCombo=function(A,B){if (A===false) return;this.CommandName='FontFormat';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.NormalLabel='Normal';this.PanelWidth=190;this.DefaultLabel=FCKConfig.DefaultFontFormatLabel||'';};FCKToolbarFontFormatCombo.prototype=new FCKToolbarStyleCombo(false);FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.GetStyles=function(){var 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]||(B[0]+' (DIV)')};var D=FCKConfig.FontFormats.split(';');for (var i=0;i<D.length;i++){var E=D[i];var F=FCKStyles.GetStyle('_FCK_'+E);if (F){F.Label=C[E];A['_FCK_'+E]=F;}else alert("The FCKConfig.CoreStyles['"+E+"'] setting was not found. Please check the fckconfig.js file");};return A;};FCKToolbarFontFormatCombo.prototype.RefreshActiveItems=function(A){var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Block;if (D){for (var i in A.Items){var E=A.Items[i];var F=E.Style;if (F.CheckElementRemovable(D)){A.SetLabel(F.Label);return;}}}};A.SetLabel(this.DefaultLabel);};FCKToolbarFontFormatCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Block;for (var i in A.Items){var E=A.Items[i];var F=E.Style;if (F.CheckElementRemovable(D)){A.SelectItem(E);return;}}}};\r
+var FCKToolbarFontsCombo=function(A,B){this.CommandName='FontName';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultFontLabel||'';};FCKToolbarFontsCombo.prototype=new FCKToolbarFontFormatCombo(false);FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.GetStyles=function(){var A=FCKStyles.GetStyle('_FCK_FontFace');if (!A){alert("The FCKConfig.CoreStyles['Size'] setting was not found. Please check the fckconfig.js file");return {};};var B={};var C=FCKConfig.FontNames.split(';');for (var i=0;i<C.length;i++){var D=C[i].split('/');var E=D[0];var F=D[1]||E;var G=FCKTools.CloneObject(A);G.SetVariable('Font',E);G.Label=F;B[F]=G;};return B;};FCKToolbarFontsCombo.prototype.RefreshActiveItems=FCKToolbarStyleCombo.prototype.RefreshActiveItems;FCKToolbarFontsCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B=FCKSelection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);for (var i in A.Items){var D=A.Items[i];var E=D.Style;if (E.CheckActive(C)){A.SelectItem(D);return;}}}};\r
+var FCKToolbarFontSizeCombo=function(A,B){this.CommandName='FontSize';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultFontSizeLabel||'';this.FieldWidth=70;};FCKToolbarFontSizeCombo.prototype=new FCKToolbarFontFormatCombo(false);FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.GetStyles=function(){var A=FCKStyles.GetStyle('_FCK_Size');if (!A){alert("The FCKConfig.CoreStyles['FontFace'] setting was not found. Please check the fckconfig.js file");return {};};var B={};var C=FCKConfig.FontSizes.split(';');for (var i=0;i<C.length;i++){var D=C[i].split('/');var E=D[0];var F=D[1]||E;var G=FCKTools.CloneObject(A);G.SetVariable('Size',E);G.Label=F;B[F]=G;};return B;};FCKToolbarFontSizeCombo.prototype.RefreshActiveItems=FCKToolbarStyleCombo.prototype.RefreshActiveItems;FCKToolbarFontSizeCombo.prototype.StyleCombo_OnBeforeClick=FCKToolbarFontsCombo.prototype.StyleCombo_OnBeforeClick;\r
+var FCKToolbarPanelButton=function(A,B,C,D,E){this.CommandName=A;var F;if (E==null) F=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(E)=='number') F=[FCKConfig.SkinPath+'fck_strip.gif',16,E];var G=this._UIButton=new FCKToolbarButtonUI(A,B,C,F,D);G._FCKToolbarPanelButton=this;G.ShowArrow=true;G.OnClick=FCKToolbarPanelButton_OnButtonClick;};FCKToolbarPanelButton.prototype.TypeName='FCKToolbarPanelButton';FCKToolbarPanelButton.prototype.Create=function(A){A.className+='Menu';this._UIButton.Create(A);var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName)._Panel;this.RegisterPanel(B);};FCKToolbarPanelButton.prototype.RegisterPanel=function(A){if (A._FCKToolbarPanelButton) return;A._FCKToolbarPanelButton=this;var B=A.Document.body.appendChild(A.Document.createElement('div'));B.style.position='absolute';B.style.top='0px';var C=A._FCKToolbarPanelButtonLineDiv=B.appendChild(A.Document.createElement('IMG'));C.className='TB_ConnectionLine';C.style.position='absolute';C.src=FCK_SPACER_PATH;A.OnHide=FCKToolbarPanelButton_OnPanelHide;};function FCKToolbarPanelButton_OnButtonClick(A){var B=this._FCKToolbarPanelButton;var e=B._UIButton.MainElement;B._UIButton.ChangeState(1);var C=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(B.CommandName);var D=C._Panel;D._FCKToolbarPanelButtonLineDiv.style.width=(e.offsetWidth-2)+'px';C.Execute(0,e.offsetHeight-1,e);};function FCKToolbarPanelButton_OnPanelHide(){var A=this._FCKToolbarPanelButton;A._UIButton.ChangeState(0);};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable;\r
+var FCKScayt;(function(){var A=[];var B=(FCK&&FCK.EditorWindow&&FCK.EditorWindow.parent.parent.scayt)?true:false;var C=false;var D=false;function ScaytEngineLoad(callback){if (B) return;B=true;var E=FCK.EditorWindow.parent.parent;var F=function (){window.scayt=E.scayt;InitScayt();var G=FCKToolbarItems.LoadedItems['ScaytCombobox'];G&&G.SetEnabled(scyt_control&&scyt_control.disabled);InitSetup();};if (E.scayt){F();return;};if (FCK.Config.ScaytCustomUrl) FCK.Config.ScaytCustomUrl=new String(FCK.Config.ScaytCustomUrl).replace(new RegExp("^http[s]*:\/\/"),"");var H=document.location.protocol;var I=FCK.Config.ScaytCustomUrl||'svc.spellchecker.net/spellcheck3/lf/scayt/scayt4.js';var J=H+'//'+I;var K=ParseUrl(J).path+'/';var L=E.window.CKEDITOR||(E.window.CKEDITOR={});L._djScaytConfig={I:K,addOnLoad:function(){F();},isDebug:false};if (callback) A.push(callback);DoLoadScript(J);};function DoLoadScript(url){if (!url) return false;var E=FCK.EditorWindow.parent.parent;var s=E.document.createElement('script');s.type='text/javascript';s.src=url;E.document.getElementsByTagName('head')[0].appendChild(s);return true;};function ParseUrl(data){var m=data.match(/(.*)[\/\\]([^\/\\]+\.\w+)$/);return m?{ path:m[1],file:m[2] }:data;};function createScaytControl (){var N={};var E=FCK.EditorWindow.parent.parent;N.srcNodeRef=FCK.EditingArea.IFrame;N.customerid=FCK.Config.ScaytCustomerid;N.customDictionaryName=FCK.Config.ScaytCustomDictionaryName;N.userDictionaryName=FCK.Config.ScaytUserDictionaryName;N.defLang=FCK.Config.ScaytDefLang;var P=E.scayt;var Q=window.scayt_control=new P(N);};function InitScayt(){createScaytControl();var Q=window.scayt_control;if (Q){Q.setDisabled(false);D=true;C=!Q.disabled;var G=FCKToolbarItems.LoadedItems['ScaytCombobox'];G&&G.Enable();ShowScaytState();};for (var i=0;i<A.length;i++){try{A[i].call(this);}catch(err){}}};var T=function(){name='Scayt';};T.prototype.Execute=function(c){switch (c){case 'Options':case 'Langs':case 'About':if (B&&D&&!C){ScaytMessage('SCAYT is not enabled');break;};if (B&&D) FCKDialog.OpenDialog('Scayt','SCAYT Settings','dialog/fck_scayt.html?'+c.toLowerCase(),343,343);break;default:if (!B){var U=this;ScaytEngineLoad(function (){U.SetEnabled(!window.scayt_control.disabled);});return true;}else if (D){if (C) this.Disable();else this.Enable();ShowScaytState();}};if (!B) return ScaytMessage('SCAYT is not loaded')||false;if (!D) return ScaytMessage('SCAYT is not ready')||false;return true;};T.prototype.Enable=function(){window.scayt_control.setDisabled(false);C=true;};T.prototype.Disable=function(){window.scayt_control.setDisabled(true);C=false;};T.prototype.SetEnabled=function(state){if (state) this.Enable();else this.Disable();ShowScaytState();return true;};T.prototype.GetState=function(){return 0;};function ShowScaytState(){var W=FCKToolbarItems.GetItem('SpellCheck');if (!W||!W._Combo||!W._Combo._OuterTable) return;var X=W._Combo._OuterTable.getElementsByTagName('img')[1];var Y=W._Combo.Items['trigger'];if (C){X.style.opacity='1';Y.innerHTML=GetStatusLabel();}else{X.style.opacity='0.5';Y.innerHTML=GetStatusLabel();}};function GetStatusLabel(){if (!D) return  '<b>Enable SCAYT</b>';return C?'<b>Disable SCAYT</b>':'<b>Enable SCAYT</b>';};var Z=function(tooltip,style){this.Command=FCKCommands.GetCommand('Scayt');this.CommandName='Scayt';this.Label=this.GetLabel();this.Tooltip=FCKLang.ScaytTitle;this.Style=1;};Z.prototype=new FCKToolbarSpecialCombo;Z.prototype.CreateItems=function(){this._Combo.AddItem('Trigger','<b>Enable SCAYT</b>');this._Combo.AddItem('Options',FCKLang.ScaytTitleOptions||"Options");this._Combo.AddItem('Langs',FCKLang.ScaytTitleLangs||"Languages");this._Combo.AddItem('About',FCKLang.ScaytTitleAbout||"About");};Z.prototype.GetLabel=function(){var a=FCKConfig.SkinPath+'fck_strip.gif';return FCKBrowserInfo.IsIE?'<div class="TB_Button_Image"><img src="'+a+'" style="top:-192px"></div>':'<img class="TB_Button_Image" src="'+FCK_SPACER_PATH+'" style="background-position: 0px -192px;background-image: url('+a+');">';};function ScaytMessage(m){m&&alert(m);};var b=function(){name='ScaytContext';};b.prototype.Execute=function(contextInfo){var c=contextInfo&&contextInfo.action,g=c&&contextInfo.node,Q=window.scayt_control;if (g){switch (c){case 'Suggestion':Q.replace(g,contextInfo.suggestion);break;case 'Ignore':Q.ignore(g);break;case 'Ignore All':Q.ignoreAll(g);break;case 'Add Word':var E=FCK.EditorWindow.parent.parent;E.scayt.addWordToUserDictionary(g);break;}}};function InitSetup(){FCK.ContextMenu.RegisterListener({AddItems:function(menu){var E=FCK.EditorWindow.parent.parent;var Q=window.scayt_control,P=E.scayt;if (!Q) return;var g=Q.getScaytNode();if (!g) return;var h=P.getSuggestion(Q.getWord(g),Q.getLang());if (!h||!h.length) return;menu.AddSeparator();var j=FCK.Config.ScaytMaxSuggestions||5;var k=(j==-1)?h.length:j;for (var i=0;i<k;i+=1){if (h[i]){menu.AddItem('ScaytContext',h[i],null,false,{'action':'Suggestion','node':g,'suggestion':h[i] });}};menu.AddSeparator();menu.AddItem('ScaytContext','Ignore',null,false,{ 'action':'Ignore','node':g });menu.AddItem('ScaytContext','Ignore All',null,false,{ 'action':'Ignore All','node':g });menu.AddItem('ScaytContext','Add Word',null,false,{ 'action':'Add Word','node':g });try{if (D&&C) Q.fireOnContextMenu(null,FCK.ContextMenu._InnerContextMenu);}catch(err) {}}});FCK.Events.AttachEvent('OnPaste',function(){window.scayt_control.refresh();return true;});};FCK.Events.AttachEvent('OnAfterSetHTML',function(){if (FCKConfig.SpellChecker=='SCAYT'){if (!B&&FCK.Config.ScaytAutoStartup) ScaytEngineLoad();if (FCK.EditMode==0&&B&&D) createScaytControl();ShowScaytState();}});FCK.Events.AttachEvent('OnBeforeGetData',function(){D&&window.scayt_control.reset();});FCK.Events.AttachEvent('OnAfterGetData',function(){D&&window.scayt_control.refresh();});FCKScayt={CreateCommand:function(){return new T();},CreateContextCommand:function(){return new b();},CreateToolbarItem:function(){return new Z();}};})();\r
+var FCKToolbarItems={};FCKToolbarItems.LoadedItems={};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,2,true,true,1);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps,null,null,null,null,2);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true,null,3);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true,null,4);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true,null,5);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates,null,null,null,null,6);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true,null,47);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true,7);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true,8);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true,9);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true,10);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true,11);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true,12);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true,14);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true,15);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll,null,null,true,null,18);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true,19);break;case 'FitWindow':B=new FCKToolbarButton('FitWindow',FCKLang.FitWindow,null,null,true,true,66);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true,20);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true,21);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true,22);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true,23);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true,24);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true,25);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true,26);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true,27);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true,28);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true,29);break;case 'Blockquote':B=new FCKToolbarButton('Blockquote',FCKLang.Blockquote,null,null,false,true,73);break;case 'CreateDiv':B=new FCKToolbarButton('CreateDiv',FCKLang.CreateDiv,null,null,false,true,74);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true,34);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true,35);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor,null,null,null,null,36);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage,null,false,true,37);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash,null,false,true,38);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable,null,false,true,39);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar,null,false,true,42);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley,null,false,true,41);break;case 'PageBreak':B=new FCKToolbarButton('PageBreak',FCKLang.PageBreakLbl,FCKLang.PageBreak,null,false,true,43);break;case 'Rule':B=new FCKToolbarButton('Rule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true,40);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true,30);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true,31);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true,32);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true,33);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,null,null,45);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor,null,null,46);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find,null,null,null,null,16);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace,null,null,null,null,17);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form,null,null,null,null,48);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox,null,null,null,null,49);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton,null,null,null,null,50);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField,null,null,null,null,51);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea,null,null,null,null,52);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField,null,null,null,null,56);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button,null,null,null,null,54);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField,null,null,null,null,53);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton,null,null,null,null,55);break;case 'ShowBlocks':B=new FCKToolbarButton('ShowBlocks',FCKLang.ShowBlocks,null,null,null,true,72);break;case 'SpellCheck':if (FCKConfig.SpellChecker=='SCAYT') B=FCKScayt.CreateToolbarItem();else B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck,null,null,null,null,13);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;};\r
+var FCKToolbar=function(){this.Items=[];};FCKToolbar.prototype.AddItem=function(A){return this.Items[this.Items.length]=A;};FCKToolbar.prototype.AddButton=function(A,B,C,D,E,F){if (typeof(D)=='number') D=[this.DefaultIconsStrip,this.DefaultIconSize,D];var G=new FCKToolbarButtonUI(A,B,C,D,E,F);G._FCKToolbar=this;G.OnClick=FCKToolbar_OnItemClick;return this.AddItem(G);};function FCKToolbar_OnItemClick(A){var B=A._FCKToolbar;if (B.OnItemClick) B.OnItemClick(B,A);};FCKToolbar.prototype.AddSeparator=function(){this.AddItem(new FCKToolbarSeparator());};FCKToolbar.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var e=B.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=(FCKLang.Dir=='ltr'?'left':'right');e.dir=FCKLang.Dir;e.cellPadding=0;e.cellSpacing=0;var C=e.insertRow(-1);var D;if (!this.HideStart){D=C.insertCell(-1);D.appendChild(B.createElement('div')).className='TB_Start';};for (var i=0;i<this.Items.length;i++){this.Items[i].Create(C.insertCell(-1));};if (!this.HideEnd){D=C.insertCell(-1);D.appendChild(B.createElement('div')).className='TB_End';};A.appendChild(e);};var FCKToolbarSeparator=function(){};FCKToolbarSeparator.prototype.Create=function(A){FCKTools.AppendElement(A,'div').className='TB_Separator';};\r
+var FCKToolbarBreak=function(){};FCKToolbarBreak.prototype.Create=function(A){var B=A.ownerDocument.createElement('div');B.style.clear=B.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';A.appendChild(B);};\r
+function FCKToolbarSet_Create(A){var B;var C=A||FCKConfig.ToolbarLocation;switch (C){case 'In':document.getElementById('xToolbarRow').style.display='';B=new FCKToolbarSet(document);break;case 'None':B=new FCKToolbarSet(document);break;default:FCK.Events.AttachEvent('OnBlur',FCK_OnBlur);FCK.Events.AttachEvent('OnFocus',FCK_OnFocus);var D;var E=C.match(/^Out:(.+)\((\w+)\)$/);if (E){if (FCKBrowserInfo.IsAIR) FCKAdobeAIR.ToolbarSet_GetOutElement(window,E);else D=eval('parent.'+E[1]).document.getElementById(E[2]);}else{E=C.match(/^Out:(\w+)$/);if (E) D=parent.document.getElementById(E[1]);};if (!D){alert('Invalid value for "ToolbarLocation"');return arguments.callee('In');};B=D.__FCKToolbarSet;if (B) break;var F=FCKTools.GetElementDocument(D).createElement('iframe');F.src='javascript:void(0)';F.frameBorder=0;F.width='100%';F.height='10';D.appendChild(F);F.unselectable='on';var G=F.contentWindow.document;var H='';if (FCKBrowserInfo.IsSafari) H='<base href="'+window.document.location+'">';G.open();G.write('<html><head>'+H+'<script type="text/javascript"> var adjust = function() { window.frameElement.height = document.body.scrollHeight ; }; window.onresize = window.onload = function(){var timer = null;var lastHeight = -1;var lastChange = 0;var poller = function(){var currentHeight = document.body.scrollHeight || 0;var currentTime = (new Date()).getTime();if (currentHeight != lastHeight){lastChange = currentTime;adjust();lastHeight = document.body.scrollHeight;}if (lastChange < currentTime - 1000) clearInterval(timer);};timer = setInterval(poller, 100);}</script></head><body style="overflow: hidden">'+document.getElementById('xToolbarSpace').innerHTML+'</body></html>');G.close();if(FCKBrowserInfo.IsAIR) FCKAdobeAIR.ToolbarSet_InitOutFrame(G);FCKTools.AddEventListener(G,'contextmenu',FCKTools.CancelEvent);FCKTools.AppendStyleSheet(G,FCKConfig.SkinEditorCSS);B=D.__FCKToolbarSet=new FCKToolbarSet(G);B._IFrame=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(D,FCKToolbarSet_Target_Cleanup);};B.CurrentInstance=FCK;if (!B.ToolbarItems) B.ToolbarItems=FCKToolbarItems;FCK.AttachToOnSelectionChange(B.RefreshItemsState);return B;};function FCK_OnBlur(A){var B=A.ToolbarSet;if (B.CurrentInstance==A) B.Disable();};function FCK_OnFocus(A){var B=A.ToolbarSet;var C=A||FCK;B.CurrentInstance.FocusManager.RemoveWindow(B._IFrame.contentWindow);B.CurrentInstance=C;C.FocusManager.AddWindow(B._IFrame.contentWindow,true);B.Enable();};function FCKToolbarSet_Cleanup(){this._TargetElement=null;this._IFrame=null;};function FCKToolbarSet_Target_Cleanup(){this.__FCKToolbarSet=null;};var FCKToolbarSet=function(A){this._Document=A;this._TargetElement=A.getElementById('xToolbar');var B=A.getElementById('xExpandHandle');var C=A.getElementById('xCollapseHandle');B.title=FCKLang.ToolbarExpand;FCKTools.AddEventListener(B,'click',FCKToolbarSet_Expand_OnClick);C.title=FCKLang.ToolbarCollapse;FCKTools.AddEventListener(C,'click',FCKToolbarSet_Collapse_OnClick);if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();C.style.display=FCKConfig.ToolbarCanCollapse?'':'none';if (FCKConfig.ToolbarCanCollapse) C.style.display='';else A.getElementById('xTBLeftBorder').style.display='';this.Toolbars=[];this.IsLoaded=false;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarSet_Cleanup);};function FCKToolbarSet_Expand_OnClick(){FCK.ToolbarSet.Expand();};function FCKToolbarSet_Collapse_OnClick(){FCK.ToolbarSet.Collapse();};FCKToolbarSet.prototype.Expand=function(){this._ChangeVisibility(false);};FCKToolbarSet.prototype.Collapse=function(){this._ChangeVisibility(true);};FCKToolbarSet.prototype._ChangeVisibility=function(A){this._Document.getElementById('xCollapsed').style.display=A?'':'none';this._Document.getElementById('xExpanded').style.display=A?'none':'';if (window.onresize){FCKTools.RunFunction(window.onresize);}};FCKToolbarSet.prototype.Load=function(A){this.Name=A;this.Items=[];this.ItemsWysiwygOnly=[];this.ItemsContextSensitive=[];this._TargetElement.innerHTML='';var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=[];for (var x=0;x<B.length;x++){var C=B[x];if (!C) continue;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);this.Items.push(F);if (!F.SourceView) this.ItemsWysiwygOnly.push(F);if (F.ContextSensitive) this.ItemsContextSensitive.push(F);}}}};D.Create(this._TargetElement);this.Toolbars[this.Toolbars.length]=D;};FCKTools.DisableSelection(this._Document.getElementById('xCollapseHandle').parentNode);if (FCK.Status!=2) FCK.Events.AttachEvent('OnStatusChange',this.RefreshModeState);else this.RefreshModeState();this.IsLoaded=true;this.IsEnabled=true;FCKTools.RunFunction(this.OnLoad);};FCKToolbarSet.prototype.Enable=function(){if (this.IsEnabled) return;this.IsEnabled=true;var A=this.Items;for (var i=0;i<A.length;i++) A[i].RefreshState();};FCKToolbarSet.prototype.Disable=function(){if (!this.IsEnabled) return;this.IsEnabled=false;var A=this.Items;for (var i=0;i<A.length;i++) A[i].Disable();};FCKToolbarSet.prototype.RefreshModeState=function(A){if (FCK.Status!=2) return;var B=A?A.ToolbarSet:this;var C=B.ItemsWysiwygOnly;if (FCK.EditMode==0){for (var i=0;i<C.length;i++) C[i].Enable();B.RefreshItemsState(A);}else{B.RefreshItemsState(A);for (var j=0;j<C.length;j++) C[j].Disable();}};FCKToolbarSet.prototype.RefreshItemsState=function(A){var B=(A?A.ToolbarSet:this).ItemsContextSensitive;for (var i=0;i<B.length;i++) B[i].RefreshState();};\r
+var FCKDialog=(function(){var A;var B;var C;var D=window.parent;while (D.parent&&D.parent!=D){try{if (D.parent.document.domain!=document.domain) break;if (D.parent.document.getElementsByTagName('frameset').length>0) break;}catch (e){break;};D=D.parent;};var E=D.document;var F=function(){if (!B) B=FCKConfig.FloatingPanelsZIndex+999;return++B;};var G=function(){if (!C) return;var H=FCKTools.IsStrictMode(E)?E.documentElement:E.body;FCKDomTools.SetElementStyles(C,{'width':Math.max(H.scrollWidth,H.clientWidth,E.scrollWidth||0)-1+'px','height':Math.max(H.scrollHeight,H.clientHeight,E.scrollHeight||0)-1+'px'});};return {OpenDialog:function(dialogName,dialogTitle,dialogPage,width,height,customValue,resizable){if (!A) this.DisplayMainCover();var I={Title:dialogTitle,Page:dialogPage,Editor:window,CustomValue:customValue,TopWindow:D};FCK.ToolbarSet.CurrentInstance.Selection.Save(true);var J=FCKTools.GetViewPaneSize(D);var K={ 'X':0,'Y':0 };var L=FCKBrowserInfo.IsIE&&(!FCKBrowserInfo.IsIE7||!FCKTools.IsStrictMode(D.document));if (L) K=FCKTools.GetScrollPosition(D);var M=Math.max(K.Y+(J.Height-height-20)/2,0);var N=Math.max(K.X+(J.Width-width-20)/2,0);var O=E.createElement('iframe');FCKTools.ResetStyles(O);O.src=FCKConfig.BasePath+'fckdialog.html';O.frameBorder=0;O.allowTransparency=true;FCKDomTools.SetElementStyles(O,{'position':(L)?'absolute':'fixed','top':M+'px','left':N+'px','width':width+'px','height':height+'px','zIndex':F()});O._DialogArguments=I;E.body.appendChild(O);O._ParentDialog=A;A=O;},OnDialogClose:function(dialogWindow){var O=dialogWindow.frameElement;FCKDomTools.RemoveNode(O);if (O._ParentDialog){A=O._ParentDialog;O._ParentDialog.contentWindow.SetEnabled(true);}else{if (!FCKBrowserInfo.IsIE) FCK.Focus();this.HideMainCover();setTimeout(function(){ A=null;},0);FCK.ToolbarSet.CurrentInstance.Selection.Release();}},DisplayMainCover:function(){C=E.createElement('div');FCKTools.ResetStyles(C);FCKDomTools.SetElementStyles(C,{'position':'absolute','zIndex':F(),'top':'0px','left':'0px','backgroundColor':FCKConfig.BackgroundBlockerColor});FCKDomTools.SetOpacity(C,FCKConfig.BackgroundBlockerOpacity);if (FCKBrowserInfo.IsIE&&!FCKBrowserInfo.IsIE7){var Q=E.createElement('iframe');FCKTools.ResetStyles(Q);Q.hideFocus=true;Q.frameBorder=0;Q.src=FCKTools.GetVoidUrl();FCKDomTools.SetElementStyles(Q,{'width':'100%','height':'100%','position':'absolute','left':'0px','top':'0px','filter':'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'});C.appendChild(Q);};FCKTools.AddEventListener(D,'resize',G);G();E.body.appendChild(C);FCKFocusManager.Lock();var R=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');R._fck_originalTabIndex=R.tabIndex;R.tabIndex=-1;},HideMainCover:function(){FCKDomTools.RemoveNode(C);FCKFocusManager.Unlock();var R=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');R.tabIndex=R._fck_originalTabIndex;FCKDomTools.ClearElementJSProperty(R,'_fck_originalTabIndex');},GetCover:function(){return C;}};})();\r
+var FCKMenuItem=function(A,B,C,D,E,F){this.Name=B;this.Label=C||B;this.IsDisabled=E;this.Icon=new FCKIcon(D);this.SubMenu=new FCKMenuBlockPanel();this.SubMenu.Parent=A;this.SubMenu.OnClick=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnClick,this);this.CustomData=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuItem_Cleanup);};FCKMenuItem.prototype.AddItem=function(A,B,C,D,E){this.HasSubMenu=true;return this.SubMenu.AddItem(A,B,C,D,E);};FCKMenuItem.prototype.AddSeparator=function(){this.SubMenu.AddSeparator();};FCKMenuItem.prototype.Create=function(A){var B=this.HasSubMenu;var C=FCKTools.GetElementDocument(A);var r=this.MainElement=A.insertRow(-1);r.className=this.IsDisabled?'MN_Item_Disabled':'MN_Item';if (!this.IsDisabled){FCKTools.AddEventListenerEx(r,'mouseover',FCKMenuItem_OnMouseOver,[this]);FCKTools.AddEventListenerEx(r,'click',FCKMenuItem_OnClick,[this]);if (!B) FCKTools.AddEventListenerEx(r,'mouseout',FCKMenuItem_OnMouseOut,[this]);};var D=r.insertCell(-1);D.className='MN_Icon';D.appendChild(this.Icon.CreateIconElement(C));D=r.insertCell(-1);D.className='MN_Label';D.noWrap=true;D.appendChild(C.createTextNode(this.Label));D=r.insertCell(-1);if (B){D.className='MN_Arrow';var E=D.appendChild(C.createElement('IMG'));E.src=FCK_IMAGES_PATH+'arrow_'+FCKLang.Dir+'.gif';E.width=4;E.height=7;this.SubMenu.Create();this.SubMenu.Panel.OnHide=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnHide,this);}};FCKMenuItem.prototype.Activate=function(){this.MainElement.className='MN_Item_Over';if (this.HasSubMenu){this.SubMenu.Show(this.MainElement.offsetWidth+2,-2,this.MainElement);};FCKTools.RunFunction(this.OnActivate,this);};FCKMenuItem.prototype.Deactivate=function(){this.MainElement.className='MN_Item';if (this.HasSubMenu) this.SubMenu.Hide();};function FCKMenuItem_SubMenu_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuItem_SubMenu_OnHide(A){A.Deactivate();};function FCKMenuItem_OnClick(A,B){if (B.HasSubMenu) B.Activate();else{B.Deactivate();FCKTools.RunFunction(B.OnClick,B,[B]);}};function FCKMenuItem_OnMouseOver(A,B){B.Activate();};function FCKMenuItem_OnMouseOut(A,B){B.Deactivate();};function FCKMenuItem_Cleanup(){this.MainElement=null;};\r
+var FCKMenuBlock=function(){this._Items=[];};FCKMenuBlock.prototype.Count=function(){return this._Items.length;};FCKMenuBlock.prototype.AddItem=function(A,B,C,D,E){var F=new FCKMenuItem(this,A,B,C,D,E);F.OnClick=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnClick,this);F.OnActivate=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnActivate,this);this._Items.push(F);return F;};FCKMenuBlock.prototype.AddSeparator=function(){this._Items.push(new FCKMenuSeparator());};FCKMenuBlock.prototype.RemoveAllItems=function(){this._Items=[];var A=this._ItemsTable;if (A){while (A.rows.length>0) A.deleteRow(0);}};FCKMenuBlock.prototype.Create=function(A){if (!this._ItemsTable){if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuBlock_Cleanup);this._Window=FCKTools.GetElementWindow(A);var B=FCKTools.GetElementDocument(A);var C=A.appendChild(B.createElement('table'));C.cellPadding=0;C.cellSpacing=0;FCKTools.DisableSelection(C);var D=C.insertRow(-1).insertCell(-1);D.className='MN_Menu';var E=this._ItemsTable=D.appendChild(B.createElement('table'));E.cellPadding=0;E.cellSpacing=0;};for (var i=0;i<this._Items.length;i++) this._Items[i].Create(this._ItemsTable);};function FCKMenuBlock_Item_OnClick(A,B){if (B.Hide) B.Hide();FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuBlock_Item_OnActivate(A){var B=A._ActiveItem;if (B&&B!=this){if (!FCKBrowserInfo.IsIE&&B.HasSubMenu&&!this.HasSubMenu){A._Window.focus();A.Panel.HasFocus=true;};B.Deactivate();};A._ActiveItem=this;};function FCKMenuBlock_Cleanup(){this._Window=null;this._ItemsTable=null;};var FCKMenuSeparator=function(){};FCKMenuSeparator.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var r=A.insertRow(-1);var C=r.insertCell(-1);C.className='MN_Separator MN_Icon';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';};\r
+var FCKMenuBlockPanel=function(){FCKMenuBlock.call(this);};FCKMenuBlockPanel.prototype=new FCKMenuBlock();FCKMenuBlockPanel.prototype.Create=function(){var A=this.Panel=(this.Parent&&this.Parent.Panel?this.Parent.Panel.CreateChildPanel():new FCKPanel());A.AppendStyleSheet(FCKConfig.SkinEditorCSS);FCKMenuBlock.prototype.Create.call(this,A.MainNode);};FCKMenuBlockPanel.prototype.Show=function(x,y,A){if (!this.Panel.CheckIsOpened()) this.Panel.Show(x,y,A);};FCKMenuBlockPanel.prototype.Hide=function(){if (this.Panel.CheckIsOpened()) this.Panel.Hide();};\r
+var FCKContextMenu=function(A,B){this.CtrlDisable=false;var C=this._Panel=new FCKPanel(A);C.AppendStyleSheet(FCKConfig.SkinEditorCSS);C.IsContextMenu=true;if (FCKBrowserInfo.IsGecko) C.Document.addEventListener('draggesture',function(e) {e.preventDefault();return false;},true);var D=this._MenuBlock=new FCKMenuBlock();D.Panel=C;D.OnClick=FCKTools.CreateEventListener(FCKContextMenu_MenuBlock_OnClick,this);this._Redraw=true;};FCKContextMenu.prototype.SetMouseClickWindow=function(A){if (!FCKBrowserInfo.IsIE){this._Document=A.document;if (FCKBrowserInfo.IsOpera&&!('oncontextmenu' in document.createElement('foo'))){this._Document.addEventListener('mousedown',FCKContextMenu_Document_OnMouseDown,false);this._Document.addEventListener('mouseup',FCKContextMenu_Document_OnMouseUp,false);};this._Document.addEventListener('contextmenu',FCKContextMenu_Document_OnContextMenu,false);}};FCKContextMenu.prototype.AddItem=function(A,B,C,D,E){var F=this._MenuBlock.AddItem(A,B,C,D,E);this._Redraw=true;return F;};FCKContextMenu.prototype.AddSeparator=function(){this._MenuBlock.AddSeparator();this._Redraw=true;};FCKContextMenu.prototype.RemoveAllItems=function(){this._MenuBlock.RemoveAllItems();this._Redraw=true;};FCKContextMenu.prototype.AttachToElement=function(A){if (FCKBrowserInfo.IsIE) FCKTools.AddEventListenerEx(A,'contextmenu',FCKContextMenu_AttachedElement_OnContextMenu,this);else A._FCKContextMenu=this;};function FCKContextMenu_Document_OnContextMenu(e){if (FCKConfig.BrowserContextMenu) return true;var A=e.target;while (A){if (A._FCKContextMenu){if (A._FCKContextMenu.CtrlDisable&&(e.ctrlKey||e.metaKey)) return true;FCKTools.CancelEvent(e);FCKContextMenu_AttachedElement_OnContextMenu(e,A._FCKContextMenu,A);return false;};A=A.parentNode;};return true;};var FCKContextMenu_OverrideButton;function FCKContextMenu_Document_OnMouseDown(e){if(!e||e.button!=2) return false;if (FCKConfig.BrowserContextMenu) return true;var A=e.target;while (A){if (A._FCKContextMenu){if (A._FCKContextMenu.CtrlDisable&&(e.ctrlKey||e.metaKey)) return true;var B=FCKContextMenu_OverrideButton;if(!B){var C=FCKTools.GetElementDocument(e.target);B=FCKContextMenu_OverrideButton=C.createElement('input');B.type='button';var D=C.createElement('p');C.body.appendChild(D);D.appendChild(B);};B.style.cssText='position:absolute;top:'+(e.clientY-2)+'px;left:'+(e.clientX-2)+'px;width:5px;height:5px;opacity:0.01';};A=A.parentNode;};return false;};function FCKContextMenu_Document_OnMouseUp(e){if (FCKConfig.BrowserContextMenu) return true;var A=FCKContextMenu_OverrideButton;if (A){var B=A.parentNode;B.parentNode.removeChild(B);FCKContextMenu_OverrideButton=undefined;if(e&&e.button==2){FCKContextMenu_Document_OnContextMenu(e);return false;}};return true;};function FCKContextMenu_AttachedElement_OnContextMenu(A,B,C){if ((B.CtrlDisable&&(A.ctrlKey||A.metaKey))||FCKConfig.BrowserContextMenu) return true;var D=C||this;if (B.OnBeforeOpen) B.OnBeforeOpen.call(B,D);if (B._MenuBlock.Count()==0) return false;if (B._Redraw){B._MenuBlock.Create(B._Panel.MainNode);B._Redraw=false;};FCKTools.DisableSelection(B._Panel.Document.body);var x=0;var y=0;if (FCKBrowserInfo.IsIE){x=A.screenX;y=A.screenY;}else if (FCKBrowserInfo.IsSafari){x=A.clientX;y=A.clientY;}else{x=A.pageX;y=A.pageY;};B._Panel.Show(x,y,A.currentTarget||null);return false;};function FCKContextMenu_MenuBlock_OnClick(A,B){B._Panel.Hide();FCKTools.RunFunction(B.OnItemClick,B,A);};\r
+FCK.ContextMenu={};FCK.ContextMenu.Listeners=[];FCK.ContextMenu.RegisterListener=function(A){if (A) this.Listeners.push(A);};function FCK_ContextMenu_Init(){var A=FCK.ContextMenu._InnerContextMenu=new FCKContextMenu(FCKBrowserInfo.IsIE?window:window.parent,FCKLang.Dir);A.CtrlDisable=FCKConfig.BrowserContextMenuOnCtrl;A.OnBeforeOpen=FCK_ContextMenu_OnBeforeOpen;A.OnItemClick=FCK_ContextMenu_OnItemClick;var B=FCK.ContextMenu;for (var i=0;i<FCKConfig.ContextMenu.length;i++) B.RegisterListener(FCK_ContextMenu_GetListener(FCKConfig.ContextMenu[i]));};function FCK_ContextMenu_GetListener(A){switch (A){case 'Generic':return {AddItems:function(menu,tag,tagName){menu.AddItem('Cut',FCKLang.Cut,7,FCKCommands.GetCommand('Cut').GetState()==-1);menu.AddItem('Copy',FCKLang.Copy,8,FCKCommands.GetCommand('Copy').GetState()==-1);menu.AddItem('Paste',FCKLang.Paste,9,FCKCommands.GetCommand('Paste').GetState()==-1);}};case 'Table':return {AddItems:function(menu,tag,tagName){var B=(tagName=='TABLE');var C=(!B&&FCKSelection.HasAncestorNode('TABLE'));if (C){menu.AddSeparator();var D=menu.AddItem('Cell',FCKLang.CellCM);D.AddItem('TableInsertCellBefore',FCKLang.InsertCellBefore,69);D.AddItem('TableInsertCellAfter',FCKLang.InsertCellAfter,58);D.AddItem('TableDeleteCells',FCKLang.DeleteCells,59);if (FCKBrowserInfo.IsGecko) D.AddItem('TableMergeCells',FCKLang.MergeCells,60,FCKCommands.GetCommand('TableMergeCells').GetState()==-1);else{D.AddItem('TableMergeRight',FCKLang.MergeRight,60,FCKCommands.GetCommand('TableMergeRight').GetState()==-1);D.AddItem('TableMergeDown',FCKLang.MergeDown,60,FCKCommands.GetCommand('TableMergeDown').GetState()==-1);};D.AddItem('TableHorizontalSplitCell',FCKLang.HorizontalSplitCell,61,FCKCommands.GetCommand('TableHorizontalSplitCell').GetState()==-1);D.AddItem('TableVerticalSplitCell',FCKLang.VerticalSplitCell,61,FCKCommands.GetCommand('TableVerticalSplitCell').GetState()==-1);D.AddSeparator();D.AddItem('TableCellProp',FCKLang.CellProperties,57,FCKCommands.GetCommand('TableCellProp').GetState()==-1);menu.AddSeparator();D=menu.AddItem('Row',FCKLang.RowCM);D.AddItem('TableInsertRowBefore',FCKLang.InsertRowBefore,70);D.AddItem('TableInsertRowAfter',FCKLang.InsertRowAfter,62);D.AddItem('TableDeleteRows',FCKLang.DeleteRows,63);menu.AddSeparator();D=menu.AddItem('Column',FCKLang.ColumnCM);D.AddItem('TableInsertColumnBefore',FCKLang.InsertColumnBefore,71);D.AddItem('TableInsertColumnAfter',FCKLang.InsertColumnAfter,64);D.AddItem('TableDeleteColumns',FCKLang.DeleteColumns,65);};if (B||C){menu.AddSeparator();menu.AddItem('TableDelete',FCKLang.TableDelete);menu.AddItem('TableProp',FCKLang.TableProperties,39);}}};case 'Link':return {AddItems:function(menu,tag,tagName){var E=(tagName=='A'||FCKSelection.HasAncestorNode('A'));if (E||FCK.GetNamedCommandState('Unlink')!=-1){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0&&F.href.length==0);if (G) return;menu.AddSeparator();menu.AddItem('VisitLink',FCKLang.VisitLink);menu.AddSeparator();if (E) menu.AddItem('Link',FCKLang.EditLink,34);menu.AddItem('Unlink',FCKLang.RemoveLink,35);}}};case 'Image':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&!tag.getAttribute('_fckfakelement')){menu.AddSeparator();menu.AddItem('Image',FCKLang.ImageProperties,37);}}};case 'Anchor':return {AddItems:function(menu,tag,tagName){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0);if (G||(tagName=='IMG'&&tag.getAttribute('_fckanchor'))){menu.AddSeparator();menu.AddItem('Anchor',FCKLang.AnchorProp,36);menu.AddItem('AnchorDelete',FCKLang.AnchorDelete);}}};case 'Flash':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckflash')){menu.AddSeparator();menu.AddItem('Flash',FCKLang.FlashProperties,38);}}};case 'Form':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('FORM')){menu.AddSeparator();menu.AddItem('Form',FCKLang.FormProp,48);}}};case 'Checkbox':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='checkbox'){menu.AddSeparator();menu.AddItem('Checkbox',FCKLang.CheckboxProp,49);}}};case 'Radio':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='radio'){menu.AddSeparator();menu.AddItem('Radio',FCKLang.RadioButtonProp,50);}}};case 'TextField':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='text'||tag.type=='password')){menu.AddSeparator();menu.AddItem('TextField',FCKLang.TextFieldProp,51);}}};case 'HiddenField':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckinputhidden')){menu.AddSeparator();menu.AddItem('HiddenField',FCKLang.HiddenFieldProp,56);}}};case 'ImageButton':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='image'){menu.AddSeparator();menu.AddItem('ImageButton',FCKLang.ImageButtonProp,55);}}};case 'Button':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='button'||tag.type=='submit'||tag.type=='reset')){menu.AddSeparator();menu.AddItem('Button',FCKLang.ButtonProp,54);}}};case 'Select':return {AddItems:function(menu,tag,tagName){if (tagName=='SELECT'){menu.AddSeparator();menu.AddItem('Select',FCKLang.SelectionFieldProp,53);}}};case 'Textarea':return {AddItems:function(menu,tag,tagName){if (tagName=='TEXTAREA'){menu.AddSeparator();menu.AddItem('Textarea',FCKLang.TextareaProp,52);}}};case 'BulletedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('UL')){menu.AddSeparator();menu.AddItem('BulletedList',FCKLang.BulletedListProp,27);}}};case 'NumberedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('OL')){menu.AddSeparator();menu.AddItem('NumberedList',FCKLang.NumberedListProp,26);}}};case 'DivContainer':return {AddItems:function(menu,tag,tagName){var J=FCKDomTools.GetSelectedDivContainers();if (J.length>0){menu.AddSeparator();menu.AddItem('EditDiv',FCKLang.EditDiv,75);menu.AddItem('DeleteDiv',FCKLang.DeleteDiv,76);}}};};return null;};function FCK_ContextMenu_OnBeforeOpen(){FCK.Events.FireEvent('OnSelectionChange');var A,sTagName;if ((A=FCKSelection.GetSelectedElement())) sTagName=A.tagName;var B=FCK.ContextMenu._InnerContextMenu;B.RemoveAllItems();var C=FCK.ContextMenu.Listeners;for (var i=0;i<C.length;i++) C[i].AddItems(B,A,sTagName);};function FCK_ContextMenu_OnItemClick(A){if (!FCKBrowserInfo.IsIE) FCK.Focus();FCKCommands.GetCommand(A.Name).Execute(A.CustomData);};\r
+var FCKHtmlIterator=function(A){this._sourceHtml=A;};FCKHtmlIterator.prototype={Next:function(){var A=this._sourceHtml;if (A==null) return null;var B=FCKRegexLib.HtmlTag.exec(A);var C=false;var D="";if (B){if (B.index>0){D=A.substr(0,B.index);this._sourceHtml=A.substr(B.index);}else{C=true;D=B[0];this._sourceHtml=A.substr(B[0].length);}}else{D=A;this._sourceHtml=null;};return { 'isTag':C,'value':D };},Each:function(A){var B;while ((B=this.Next())) A(B.isTag,B.value);}};var FCKHtmlIterator=function(A){this._sourceHtml=A;};FCKHtmlIterator.prototype={Next:function(){var A=this._sourceHtml;if (A==null) return null;var B=FCKRegexLib.HtmlTag.exec(A);var C=false;var D="";if (B){if (B.index>0){D=A.substr(0,B.index);this._sourceHtml=A.substr(B.index);}else{C=true;D=B[0];this._sourceHtml=A.substr(B[0].length);}}else{D=A;this._sourceHtml=null;};return { 'isTag':C,'value':D };},Each:function(A){var B;while ((B=this.Next())) A(B.isTag,B.value);}};\r
+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=[];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];LoadScript(this.Path+'lang/'+A+'.js');};LoadScript(this.Path+'fckplugin.js');};\r
+var FCKPlugins=FCK.Plugins={};FCKPlugins.ItemsCount=0;FCKPlugins.Items={};FCKPlugins.Load=function(){var A=FCKPlugins.Items;for (var i=0;i<FCKConfig.Plugins.Items.length;i++){var B=FCKConfig.Plugins.Items[i];var C=A[B[0]]=new FCKPlugin(B[0],B[1],B[2]);FCKPlugins.ItemsCount++;};for (var s in A) A[s].Load();FCKPlugins.Load=null;};\r
index 0d43957..dab0d63 100644 (file)
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
- * \r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
  * == BEGIN LICENSE ==\r
- * \r
+ *\r
  * Licensed under the terms of any of the following licenses at your\r
  * choice:\r
- * \r
+ *\r
  *  - GNU General Public License Version 2 or later (the "GPL")\r
  *    http://www.gnu.org/licenses/gpl.html\r
- * \r
+ *\r
  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
  *    http://www.gnu.org/licenses/lgpl.html\r
- * \r
+ *\r
  *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
  *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- * \r
+ *\r
  * == END LICENSE ==\r
- * \r
+ *\r
  * This file has been compressed for better performance. The original source\r
  * can be found at "editor/_source".\r
  */\r
 \r
-var FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;var FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;var FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;var FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;var FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;var FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;var FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-9;var FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYICON=0;var FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;var FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ICONTEXT=2;var FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;var FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;var FCK_IMAGES_PATH='images/';var FCK_SPACER_PATH='images/spacer.gif';var CTRL=1000;var SHIFT=2000;var ALT=4000;\r
-String.prototype.Contains=function(A){return (this.indexOf(A)>-1);};String.prototype.Equals=function(){var A=arguments;if (A.length==1&&A[0].pop) A=A[0];for (var i=0;i<A.length;i++){if (this==A[i]) return true;};return false;};String.prototype.IEquals=function(){var A=this.toUpperCase();var B=arguments;if (B.length==1&&B[0].pop) B=B[0];for (var i=0;i<B.length;i++){if (A==B[i].toUpperCase()) return true;};return false;};String.prototype.ReplaceAll=function(A,B){var C=this;for (var i=0;i<A.length;i++){C=C.replace(A[i],B[i]);};return C;};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(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g,'');};String.prototype.LTrim=function(){return this.replace(/^[ \t\n\r]*/g,'');};String.prototype.RTrim=function(){return this.replace(/[ \t\n\r]*$/g,'');};String.prototype.ReplaceNewLineChars=function(A){return this.replace(/\n/g,A);}\r
-var    FCKIECleanup=function(A){if (A._FCKCleanupObj) this.Items=A._FCKCleanupObj.Items;else{this.Items=[];A._FCKCleanupObj=this;FCKTools.AddEventListenerEx(A,'unload',FCKIECleanup_Cleanup);}};FCKIECleanup.prototype.AddItem=function(A,B){this.Items.push([A,B]);};function FCKIECleanup_Cleanup(){if (!this._FCKCleanupObj) return;var A=this._FCKCleanupObj.Items;while (A.length>0){var B=A.pop();if (B) B[1].call(B[0]);};this._FCKCleanupObj=null;if (CollectGarbage) CollectGarbage();}\r
-var s=navigator.userAgent.toLowerCase();var FCKBrowserInfo={IsIE:s.Contains('msie'),IsIE7:s.Contains('msie 7'),IsGecko:s.Contains('gecko/'),IsSafari:s.Contains('safari'),IsOpera:s.Contains('opera'),IsMac:s.Contains('macintosh')};(function(A){A.IsGeckoLike=(A.IsGecko||A.IsSafari||A.IsOpera);if (A.IsGecko){var B=s.match(/gecko\/(\d+)/)[1];A.IsGecko10=((B<20051111)||(/rv:1\.7/.test(s)));}else A.IsGecko10=false;})(FCKBrowserInfo);\r
+var FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;var FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;var FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;var FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;var FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;var FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;var FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-9;var FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYICON=0;var FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;var FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ICONTEXT=2;var FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;var FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;var FCK_IMAGES_PATH='images/';var FCK_SPACER_PATH='images/spacer.gif';var CTRL=1000;var SHIFT=2000;var ALT=4000;var FCK_STYLE_BLOCK=0;var FCK_STYLE_INLINE=1;var FCK_STYLE_OBJECT=2;\r
+String.prototype.Contains=function(A){return (this.indexOf(A)>-1);};String.prototype.Equals=function(){var A=arguments;if (A.length==1&&A[0].pop) A=A[0];for (var i=0;i<A.length;i++){if (this==A[i]) return true;};return false;};String.prototype.IEquals=function(){var A=this.toUpperCase();var B=arguments;if (B.length==1&&B[0].pop) B=B[0];for (var i=0;i<B.length;i++){if (A==B[i].toUpperCase()) return true;};return false;};String.prototype.ReplaceAll=function(A,B){var C=this;for (var i=0;i<A.length;i++){C=C.replace(A[i],B[i]);};return C;};String.prototype.StartsWith=function(A){return (this.substr(0,A.length)==A);};String.prototype.EndsWith=function(A,B){var C=this.length;var D=A.length;if (D>C) return false;if (B){var E=new RegExp(A+'$','i');return E.test(this);}else return (D==0||this.substr(C-D,D)==A);};String.prototype.Remove=function(A,B){var s='';if (A>0) s=this.substring(0,A);if (A+B<this.length) s+=this.substring(A+B,this.length);return s;};String.prototype.Trim=function(){return this.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g,'');};String.prototype.LTrim=function(){return this.replace(/^[ \t\n\r]*/g,'');};String.prototype.RTrim=function(){return this.replace(/[ \t\n\r]*$/g,'');};String.prototype.ReplaceNewLineChars=function(A){return this.replace(/\n/g,A);};String.prototype.Replace=function(A,B,C){if (typeof B=='function'){return this.replace(A,function(){return B.apply(C||this,arguments);});}else return this.replace(A,B);};Array.prototype.IndexOf=function(A){for (var i=0;i<this.length;i++){if (this[i]==A) return i;};return-1;};\r
+var    FCKIECleanup=function(A){if (A._FCKCleanupObj) this.Items=A._FCKCleanupObj.Items;else{this.Items=[];A._FCKCleanupObj=this;FCKTools.AddEventListenerEx(A,'unload',FCKIECleanup_Cleanup);}};FCKIECleanup.prototype.AddItem=function(A,B){this.Items.push([A,B]);};function FCKIECleanup_Cleanup(){if (!this._FCKCleanupObj||(FCKConfig.MsWebBrowserControlCompat&&!window.FCKUnloadFlag)) return;var A=this._FCKCleanupObj.Items;while (A.length>0){var B=A.pop();if (B) B[1].call(B[0]);};this._FCKCleanupObj=null;if (CollectGarbage) CollectGarbage();};\r
+var s=navigator.userAgent.toLowerCase();var FCKBrowserInfo={IsIE:/*@cc_on!@*/false,IsIE7:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=7),IsIE6:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=6),IsSafari:s.Contains(' applewebkit/'),IsOpera:!!window.opera,IsAIR:s.Contains(' adobeair/'),IsMac:s.Contains('macintosh')};(function(A){A.IsGecko=(navigator.product=='Gecko')&&!A.IsSafari&&!A.IsOpera;A.IsGeckoLike=(A.IsGecko||A.IsSafari||A.IsOpera);if (A.IsGecko){var B=s.match(/rv:(\d+\.\d+)/);var C=B&&parseFloat(B[1]);if (C){A.IsGecko10=(C<1.8);A.IsGecko19=(C>1.8);}};if (A.IsSafari) A.IsSafari3=(parseFloat(s.match(/ applewebkit\/(\d+)/)[1])<526);})(FCKBrowserInfo);\r
 var FCKURLParams={};(function(){var A=document.location.search.substr(1).split('&');for (var i=0;i<A.length;i++){var B=A[i].split('=');var C=decodeURIComponent(B[0]);var D=decodeURIComponent(B[1]);FCKURLParams[C]=D;}})();\r
-var FCKEvents=function(A){this.Owner=A;this._RegisteredEvents={};};FCKEvents.prototype.AttachEvent=function(A,B){var C;if (!(C=this._RegisteredEvents[A])) this._RegisteredEvents[A]=[B];else C.push(B);};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this._RegisteredEvents[A];if (D){for (var i=0;i<D.length;i++) C=(D[i](this.Owner,B)&&C);};return C;};\r
-var FCK={Name:FCKURLParams['InstanceName'],Status:0,EditMode:0,Toolbar:null,HasFocus:false,AttachToOnSelectionChange:function(A){this.Events.AttachEvent('OnSelectionChange',A);},GetLinkedFieldValue:function(){return this.LinkedField.value;},GetParentForm:function(){return this.LinkedField.form;},StartupValue:'',IsDirty:function(){if (this.EditMode==1) return (this.StartupValue!=this.EditingArea.Textarea.value);else return (this.StartupValue!=this.EditorDocument.body.innerHTML);},ResetIsDirty:function(){if (this.EditMode==1) this.StartupValue=this.EditingArea.Textarea.value;else if (this.EditorDocument.body) this.StartupValue=this.EditorDocument.body.innerHTML;},StartEditor:function(){this.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';var A=FCK.KeystrokeHandler=new FCKKeystrokeHandler();A.OnKeystroke=_FCK_KeystrokeHandler_OnKeystroke;A.SetKeystrokes(FCKConfig.Keystrokes);if (FCKBrowserInfo.IsIE7){if ((CTRL+86/*V*/) in A.Keystrokes) A.SetKeystrokes([CTRL+86,true]);if ((SHIFT+45/*INS*/) in A.Keystrokes) A.SetKeystrokes([SHIFT+45,true]);};this.EditingArea=new FCKEditingArea(document.getElementById('xEditingArea'));this.EditingArea.FFSpellChecker=FCKConfig.FirefoxSpellChecker;FCKListsLib.Setup();this.SetHTML(this.GetLinkedFieldValue(),true);},Focus:function(){FCK.EditingArea.Focus();},SetStatus:function(A){this.Status=A;if (A==1){FCKFocusManager.AddWindow(window,true);if (FCKBrowserInfo.IsIE) FCKFocusManager.AddWindow(window.frameElement,true);if (FCKConfig.StartupFocus) FCK.Focus();};this.Events.FireEvent('OnStatusChange',A);},FixBody:function(){var A=FCKConfig.EnterMode;if (A!='p'&&A!='div') return;var B=this.EditorDocument;if (!B) return;var C=B.body;if (!C) return;FCKDomTools.TrimNode(C);var D=C.firstChild;var E;while (D){var F=false;switch (D.nodeType){case 1:if (!FCKListsLib.BlockElements[D.nodeName.toLowerCase()]) F=true;break;case 3:if (E||D.nodeValue.Trim().length>0) F=true;};if (F){var G=D.parentNode;if (!E) E=G.insertBefore(B.createElement(A),D);E.appendChild(G.removeChild(D));D=E.nextSibling;}else{if (E){FCKDomTools.TrimNode(E);E=null;};D=D.nextSibling;}};if (E) FCKDomTools.TrimNode(E);},GetXHTML:function(A){if (FCK.EditMode==1) return FCK.EditingArea.Textarea.value;this.FixBody();var B;var C=FCK.EditorDocument;if (!C) return null;if (FCKConfig.FullPage){B=FCKXHtml.GetXHTML(C.getElementsByTagName('html')[0],true,A);if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) B=FCK.DocTypeDeclaration+'\n'+B;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) B=FCK.XmlDeclaration+'\n'+B;}else{B=FCKXHtml.GetXHTML(C.body,false,A);if (FCKConfig.IgnoreEmptyParagraphValue&&FCKRegexLib.EmptyOutParagraph.test(B)) B='';};B=FCK.ProtectEventsRestore(B);if (FCKBrowserInfo.IsIE) B=B.replace(FCKRegexLib.ToReplace,'$1');return FCKConfig.ProtectedSource.Revert(B);},UpdateLinkedField:function(){FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');},RegisteredDoubleClickHandlers:{},OnDoubleClick:function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName];if (B) B(A);},RegisterDoubleClickHandler:function(A,B){FCK.RegisteredDoubleClickHandlers[B.toUpperCase()]=A;},OnAfterSetHTML:function(){FCKDocumentProcessor.Process(FCK.EditorDocument);FCKUndo.SaveUndoStep();FCK.Events.FireEvent('OnSelectionChange');FCK.Events.FireEvent('OnAfterSetHTML');},ProtectUrls:function(A){A=A.replace(FCKRegexLib.ProtectUrlsA,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsImg,'$& _fcksavedurl=$1');return A;},ProtectEvents:function(A){return A.replace(FCKRegexLib.TagsWithEvent,_FCK_ProtectEvents_ReplaceTags);},ProtectEventsRestore:function(A){return A.replace(FCKRegexLib.ProtectedEvents,_FCK_ProtectEvents_RestoreEvents);},ProtectTags:function(A){var B=FCKConfig.ProtectedTags;if (FCKBrowserInfo.IsIE) B+=B.length>0?'|ABBR|XML':'ABBR|XML';var C;if (B.length>0){C=new RegExp('<('+B+')(?!\w|:)','gi');A=A.replace(C,'<FCK:$1');C=new RegExp('<\/('+B+')>','gi');A=A.replace(C,'<\/FCK:$1>');};B='META';if (FCKBrowserInfo.IsIE) B+='|HR';C=new RegExp('<(('+B+')(?=\\s|>|/)[\\s\\S]*?)/?>','gi');A=A.replace(C,'<FCK:$1 />');return A;},SetHTML:function(A,B){this.EditingArea.Mode=FCK.EditMode;if (FCK.EditMode==0){A=FCKConfig.ProtectedSource.Protect(A);A=A.replace(FCKRegexLib.InvalidSelfCloseTags,'$1></$2>');A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);if (FCKBrowserInfo.IsGecko){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>');};this._ForceResetIsDirty=(B===true);var C='';if (FCKConfig.FullPage){if (!FCKRegexLib.HeadOpener.test(A)){if (!FCKRegexLib.HtmlOpener.test(A)) A='<html dir="'+FCKConfig.ContentLangDirection+'">'+A+'</html>';A=A.replace(FCKRegexLib.HtmlOpener,'$&<head></head>');};FCK.DocTypeDeclaration=A.match(FCKRegexLib.DocTypeTag);if (FCKBrowserInfo.IsIE) C=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C='<link href="'+FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css" rel="stylesheet" type="text/css" _fcktemp="true" />';C+='<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css" rel="stylesheet" type="text/css" _fcktemp="true" />';C=A.replace(FCKRegexLib.HeadCloser,C+'$&');if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) C=C.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);}else{C=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"';if (FCKBrowserInfo.IsIE&&!FCKRegexLib.Html4DocType.test(FCKConfig.DocType)) C+=' style="overflow-y: scroll"';C+='><head><title></title>'+_FCK_GetEditorAreaStyleTags()+'<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css" rel="stylesheet" type="text/css" _fcktemp="true" />';if (FCKBrowserInfo.IsIE) C+=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C+='<link href="'+FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css" rel="stylesheet" type="text/css" _fcktemp="true" />';C+=FCK.TempBaseTag;var D='<body';if (FCKConfig.BodyId&&FCKConfig.BodyId.length>0) D+=' id="'+FCKConfig.BodyId+'"';if (FCKConfig.BodyClass&&FCKConfig.BodyClass.length>0) D+=' class="'+FCKConfig.BodyClass+'"';C+='</head>'+D+'>';if (FCKBrowserInfo.IsGecko&&(A.length==0||FCKRegexLib.EmptyParagraph.test(A))) C+=GECKO_BOGUS;else C+=A;C+='</body></html>';};this.EditingArea.OnLoad=_FCK_EditingArea_OnLoad;this.EditingArea.Start(C);}else{FCK.EditorWindow=null;FCK.EditorDocument=null;this.EditingArea.OnLoad=null;this.EditingArea.Start(A);this.EditingArea.Textarea._FCKShowContextMenu=true;FCK.EnterKeyHandler=null;if (B) this.ResetIsDirty();FCK.KeystrokeHandler.AttachToElement(this.EditingArea.Textarea);this.EditingArea.Textarea.focus();FCK.Events.FireEvent('OnAfterSetHTML');};if (FCKBrowserInfo.IsGecko) window.onresize();},HasFocus:false,RedirectNamedCommands:{},ExecuteNamedCommand:function(A,B,C){FCKUndo.SaveUndoStep();if (!C&&FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};FCKUndo.SaveUndoStep();},GetNamedCommandState:function(A){try{if (!FCK.EditorDocument.queryCommandEnabled(A)) return -1;else return FCK.EditorDocument.queryCommandState(A)?1:0;}catch (e){return 0;}},GetNamedCommandValue:function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==-1) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';},PasteFromWord:function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');},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.TempBaseTag+FCK.GetXHTML();else E=FCK.GetXHTML();}else{E=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"><head>'+FCK.TempBaseTag+'<title>'+FCKLang.Preview+'</title>'+_FCK_GetEditorAreaStyleTags()+'</head><body>'+FCK.GetXHTML()+'</body></html>';};D.document.write(E);D.document.close();},SwitchEditMode:function(A){var B=(FCK.EditMode==0);var C=FCK.IsDirty();var D;if (B){if (!A&&FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();D=FCK.GetXHTML(FCKConfig.FormatSource);if (D==null) return false;}else D=this.EditingArea.Textarea.value;FCK.EditMode=B?1:0;FCK.SetHTML(D,!C);FCK.Focus();FCKTools.RunFunction(FCK.ToolbarSet.RefreshModeState,FCK.ToolbarSet);return true;},CreateElement:function(A){var e=FCK.EditorDocument.createElement(A);return FCK.InsertElementAndGetIt(e);},InsertElementAndGetIt:function(e){e.setAttribute('FCKTempLabel','true');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.Events=new FCKEvents(FCK);FCK.GetHTML=FCK.GetXHTML;function _FCK_ProtectEvents_ReplaceTags(A){return A.replace(FCKRegexLib.EventAttributes,_FCK_ProtectEvents_ReplaceEvents);};function _FCK_ProtectEvents_ReplaceEvents(A,B){return ' '+B+'_fckprotectedatt="'+A.ReplaceAll([/&/g,/'/g,/"/g,/=/g,/</g,/>/g,/\r/g,/\n/g],['&apos;','&#39;','&quot;','&#61;','&lt;','&gt;','&#10;','&#13;'])+'"';};function _FCK_ProtectEvents_RestoreEvents(A,B){return B.ReplaceAll([/&#39;/g,/&quot;/g,/&#61;/g,/&lt;/g,/&gt;/g,/&#10;/g,/&#13;/g,/&apos;/g],["'",'"','=','<','>','\r','\n','&']);};function _FCK_EditingArea_OnLoad(){FCK.EditorWindow=FCK.EditingArea.Window;FCK.EditorDocument=FCK.EditingArea.Document;FCK.InitializeBehaviors();if (!FCKConfig.DisableEnterKeyHandler) FCK.EnterKeyHandler=new FCKEnterKey(FCK.EditorWindow,FCKConfig.EnterMode,FCKConfig.ShiftEnterMode);FCK.KeystrokeHandler.AttachToElement(FCK.EditorDocument);if (FCK._ForceResetIsDirty) FCK.ResetIsDirty();if (FCKBrowserInfo.IsIE&&FCK.HasFocus) FCK.EditorDocument.body.setActive();FCK.OnAfterSetHTML();if (FCK.Status!=0) return;FCK.SetStatus(1);};function _FCK_GetEditorAreaStyleTags(){var A='';var B=FCKConfig.EditorAreaCSS;for (var i=0;i<B.length;i++) A+='<link href="'+B[i]+'" rel="stylesheet" type="text/css" />';return A;};function _FCK_KeystrokeHandler_OnKeystroke(A,B){if (FCK.Status!=2) return false;if (FCK.EditMode==0){if (B=='Paste') return!FCK.Events.FireEvent('OnPaste');}else{if (B.Equals('Paste','Undo','Redo','SelectAll')) return false;};var C=FCK.Commands.GetCommand(B);return (C.Execute.apply(C,FCKTools.ArgumentsToArray(arguments,2))!==false);};(function(){var A=window.parent.document;var B=A.getElementById(FCK.Name);var i=0;while (B||i==0){if (B&&B.tagName.toLowerCase().Equals('input','textarea')){FCK.LinkedField=B;break;};B=A.getElementsByName(FCK.Name)[i++];}})();var FCKTempBin={Elements:[],AddElement:function(A){var B=this.Elements.length;this.Elements[B]=A;return B;},RemoveElement:function(A){var e=this.Elements[A];this.Elements[A]=null;return e;},Reset:function(){var i=0;while (i<this.Elements.length) this.Elements[i++]=null;this.Elements.length=0;}};var FCKFocusManager=FCK.FocusManager={IsLocked:false,AddWindow:function(A,B){var C;if (FCKBrowserInfo.IsIE) C=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else C=A.document;FCKTools.AddEventListener(C,'blur',FCKFocusManager_Win_OnBlur);FCKTools.AddEventListener(C,'focus',B?FCKFocusManager_Win_OnFocus_Area:FCKFocusManager_Win_OnFocus);},RemoveWindow:function(A){if (FCKBrowserInfo.IsIE) oTarget=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else oTarget=A.document;FCKTools.RemoveEventListener(oTarget,'blur',FCKFocusManager_Win_OnBlur);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus_Area);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus);},Lock:function(){this.IsLocked=true;},Unlock:function(){if (this._HasPendingBlur) FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);this.IsLocked=false;},_ResetTimer:function(){this._HasPendingBlur=false;if (this._Timer){window.clearTimeout(this._Timer);delete this._Timer;}}};function FCKFocusManager_Win_OnBlur(){if (typeof(FCK)!='undefined'&&FCK.HasFocus){FCKFocusManager._ResetTimer();FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);}};function FCKFocusManager_FireOnBlur(){if (FCKFocusManager.IsLocked) FCKFocusManager._HasPendingBlur=true;else{FCK.HasFocus=false;FCK.Events.FireEvent("OnBlur");}};function FCKFocusManager_Win_OnFocus_Area(){FCK.Focus();FCKFocusManager_Win_OnFocus();};function FCKFocusManager_Win_OnFocus(){FCKFocusManager._ResetTimer();if (!FCK.HasFocus&&!FCKFocusManager.IsLocked){FCK.HasFocus=true;FCK.Events.FireEvent("OnFocus");}};\r
-FCK.Description="FCKeditor for Internet Explorer 5.5+";FCK._GetBehaviorsStyle=function(){if (!FCK._BehaviorsStyle){var A=FCKConfig.FullBasePath;var B='';var C;C='<style type="text/css" _fcktemp="true">';if (FCKConfig.ShowBorders) B='url('+A+'css/behaviors/showtableborders.htc)';C+='INPUT,TEXTAREA,SELECT,.FCK__Anchor,.FCK__PageBreak,.FCK__InputHidden';if (FCKConfig.DisableObjectResizing){C+=',IMG';B+=' url('+A+'css/behaviors/disablehandles.htc)';};C+=' { behavior: url('+A+'css/behaviors/disablehandles.htc) ; }';if (B.length>0) C+='TABLE { behavior: '+B+' ; }';C+='</style>';FCK._BehaviorsStyle=C;};return FCK._BehaviorsStyle;};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(){return (FCK.Status==2&&FCK.Events.FireEvent("OnPaste"));};function Doc_OnKeyDown(){if (FCK.EditorWindow){var e=FCK.EditorWindow.event;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);FCK.ContextMenu._InnerContextMenu.AttachToElement(FCK.EditorDocument.body);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.InsertHtml=function(A){A=FCKConfig.ProtectedSource.Protect(A);A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);FCK.EditorWindow.focus();FCKUndo.SaveUndoStep();var B=FCK.EditorDocument.selection;if (B.type.toLowerCase()=='control') B.clear();A='<span id="__fakeFCKRemove__">&nbsp;</span>'+A;B.createRange().pasteHTML(A);FCK.EditorDocument.getElementById('__fakeFCKRemove__').removeNode(true);FCKDocumentProcessor.Process(FCK.EditorDocument);};FCK.SetInnerHtml=function(A){var B=FCK.EditorDocument;B.body.innerHTML='<div id="__fakeFCKRemove__">&nbsp;</div>'+A;B.getElementById('__fakeFCKRemove__').removeNode(true);};function FCK_PreloadImages(){var A=new FCKImagePreloader();A.AddImages(FCKConfig.PreloadImages);A.AddImages(FCKConfig.SkinPath+'fck_strip.gif');A.OnComplete=LoadToolbarSetup;A.Start();};function Document_OnContextMenu(){return (event.srcElement._FCKShowContextMenu==true);};document.oncontextmenu=Document_OnContextMenu;function FCK_Cleanup(){this.EditorWindow=null;this.EditorDocument=null;};FCK.Paste=function(){if (FCK._PasteIsRunning) return true;if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;};var A=FCK._CheckIsPastingEnabled(true);if (A===false) FCKTools.RunFunction(FCKDialog.OpenDialog,FCKDialog,['FCKDialog_Paste',FCKLang.Paste,'dialog/fck_paste.html',400,330,'Security']);else{if (FCKConfig.AutoDetectPasteFromWord&&A.length>0){var B=/<\w[^>]*(( class="?MsoNormal"?)|(="mso-))/gi;if (B.test(A)){if (confirm(FCKLang.PasteWordConfirm)){FCK.PasteFromWord();return false;}}};FCK._PasteIsRunning=true;FCK.ExecuteNamedCommand('Paste');delete FCK._PasteIsRunning;};return false;};FCK.PasteAsPlainText=function(){if (!FCK._CheckIsPastingEnabled()){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText');return;};var A=clipboardData.getData("Text");if (A&&A.length>0){A=FCKTools.HTMLEncode(A).replace(/\n/g,'<BR>');this.InsertHtml(A);}};FCK._CheckIsPastingEnabled=function(A){FCK._PasteIsEnabled=false;document.body.attachEvent('onpaste',FCK_CheckPasting_Listener);var B=FCK.GetClipboardHTML();document.body.detachEvent('onpaste',FCK_CheckPasting_Listener);if (FCK._PasteIsEnabled){if (!A) B=true;}else B=false;delete FCK._PasteIsEnabled;return B;};function FCK_CheckPasting_Listener(){FCK._PasteIsEnabled=true;};FCK.InsertElement=function(A){FCK.InsertHtml(A.outerHTML);};FCK.GetClipboardHTML=function(){var A=document.getElementById('___FCKHiddenDiv');if (!A){A=document.createElement('DIV');A.id='___FCKHiddenDiv';var B=A.style;B.position='absolute';B.visibility=B.overflow='hidden';B.width=B.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.CreateLink=function(A){var B=[];FCK.ExecuteNamedCommand('Unlink');if (A.length>0){if (FCKSelection.GetType()=='Control'){var C=this.EditorDocument.createElement('A');C.href=A;var D=FCKSelection.GetSelectedElement();D.parentNode.insertBefore(C,D);D.parentNode.removeChild(D);C.appendChild(D);return [C];};var E='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',E);var F=this.EditorDocument.links;for (i=0;i<F.length;i++){var C=F[i];if (C.getAttribute('href',2)==E){var H=C.innerHTML;C.href=A;C.innerHTML=H;var I=C.lastChild;if (I&&I.nodeName=='BR'){FCKDomTools.InsertAfterNode(C,C.removeChild(I));};B.push(C);}}};return B;};\r
-var FCKConfig=FCK.Config={};if (document.location.protocol=='file:'){FCKConfig.BasePath=decodeURIComponent(document.location.pathname.substr(1));FCKConfig.BasePath=FCKConfig.BasePath.replace(/\\/gi, '/');FCKConfig.BasePath='file://'+FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1);FCKConfig.FullBasePath=FCKConfig.BasePath;}else{FCKConfig.BasePath=document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1);FCKConfig.FullBasePath=document.location.protocol+'//'+document.location.host+FCKConfig.BasePath;};FCKConfig.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={};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=decodeURIComponent(C[0]);var E=decodeURIComponent(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 (E.length>0&&!isNaN(E)) this.PageConfig[D]=parseInt(E,10);else this.PageConfig[D]=E;}};function FCKConfig_LoadPageConfig(){var A=FCKConfig.PageConfig;for (var B in A) FCKConfig[B]=A[B];};function FCKConfig_PreProcess(){var A=FCKConfig;if (A.AllowQueryStringDebug){try{if ((/fckdebug=true/i).test(window.top.location.search)) A.Debug=true;}catch (e) {/*Ignore it. Much probably we are inside a FRAME where the "top" is in another domain (security error).*/}};if (!A.PluginsPath.EndsWith('/')) A.PluginsPath+='/';if (typeof(A.EditorAreaCSS)=='string') A.EditorAreaCSS=[A.EditorAreaCSS];var B=A.ToolbarComboPreviewCSS;if (!B||B.length==0) A.ToolbarComboPreviewCSS=A.EditorAreaCSS;else if (typeof(B)=='string') A.ToolbarComboPreviewCSS=[B];};FCKConfig.ToolbarSets={};FCKConfig.Plugins={};FCKConfig.Plugins.Items=[];FCKConfig.Plugins.Add=function(A,B,C){FCKConfig.Plugins.Items.AddItem([A,B,C]);};FCKConfig.ProtectedSource={};FCKConfig.ProtectedSource.RegexEntries=[/<!--[\s\S]*?-->/g,/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi,/<object[\s\S]+?<\/object>/gi];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);}\r
-var FCKDebug={};FCKDebug._GetWindow=function(){if (!this.DebugWindow||this.DebugWindow.closed) this.DebugWindow=window.open(FCKConfig.BasePath+'fckdebug.html','FCKeditorDebug','menubar=no,scrollbars=yes,resizable=yes,location=no,toolbar=no,width=600,height=500',true);return this.DebugWindow;};FCKDebug.Output=function(A,B,C){if (!FCKConfig.Debug) return;try{this._GetWindow().Output(A,B);}catch (e) {}};FCKDebug.OutputObject=function(A,B){if (!FCKConfig.Debug) return;try{this._GetWindow().OutputObject(A,B);}catch (e) {}}\r
-var FCKDomTools={MoveChildren:function(A,B){if (A==B) return;var C;while ((C=A.firstChild)) B.appendChild(A.removeChild(C));},TrimNode:function(A,B){this.LTrimNode(A);this.RTrimNode(A,B);},LTrimNode:function(A){var B;while ((B=A.firstChild)){if (B.nodeType==3){var C=B.nodeValue.LTrim();var D=B.nodeValue.length;if (C.length==0){A.removeChild(B);continue;}else if (C.length<D){B.splitText(D-C.length);A.removeChild(A.firstChild);}};break;}},RTrimNode:function(A,B){var C;while ((C=A.lastChild)){switch (C.nodeType){case 1:if (C.nodeName.toUpperCase()=='BR'&&(B||C.getAttribute('type',2)=='_moz')){C.parentNode.removeChild(C);continue;};break;case 3:var D=C.nodeValue.RTrim();var E=C.nodeValue.length;if (D.length==0){C.parentNode.removeChild(C);continue;}else if (D.length<E){C.splitText(D.length);A.lastChild.parentNode.removeChild(A.lastChild);}};break;}},RemoveNode:function(A,B){if (B){var C;while ((C=A.firstChild)) A.parentNode.insertBefore(A.removeChild(C),A);};return A.parentNode.removeChild(A);},GetFirstChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.firstChild;while(C){if (C.nodeType==1&&C.tagName.Equals.apply(C.tagName,B)) return C;C=C.nextSibling;};return null;},GetLastChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.lastChild;while(C){if (C.nodeType==1&&(!B||C.tagName.Equals(B))) return C;C=C.previousSibling;};return null;},GetPreviousSourceElement:function(A,B,C,D){if (!A) return null;if (C&&A.nodeType==1&&A.nodeName.IEquals(C)) return null;if (A.previousSibling) A=A.previousSibling;else return this.GetPreviousSourceElement(A.parentNode,B,C,D);while (A){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (!D||!A.nodeName.IEquals(D)) return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;if (A.lastChild) A=A.lastChild;else return this.GetPreviousSourceElement(A,B,C,D);};return null;},GetNextSourceElement:function(A,B,C,D){if (!A) return null;if (A.nextSibling) A=A.nextSibling;else return this.GetNextSourceElement(A.parentNode,B,C,D);while (A){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (!D||!A.nodeName.IEquals(D)) return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;if (A.firstChild) A=A.firstChild;else return this.GetNextSourceElement(A,B,C,D);};return null;},InsertAfterNode:function(A,B){return A.parentNode.insertBefore(B,A.nextSibling);},GetParents:function(A){var B=[];while (A){B.splice(0,0,A);A=A.parentNode;};return B;},GetIndexOf:function(A){var B=A.parentNode?A.parentNode.firstChild:null;var C=-1;while (B){C++;if (B==A) return C;B=B.nextSibling;};return-1;}};\r
-var GECKO_BOGUS='<br type="_moz">';var FCKTools={};FCKTools.CreateBogusBR=function(A){var B=A.createElement('br');B.setAttribute('type','_moz');return B;};FCKTools.AppendStyleSheet=function(A,B){if (typeof(B)=='string') return this._AppendStyleSheet(A,B);else{var C=[];for (var i=0;i<B.length;i++) C.push(this._AppendStyleSheet(A,B[i]));return C;}};FCKTools.GetElementDocument=function (A){return A.ownerDocument||A.document;};FCKTools.GetElementWindow=function(A){return this.GetDocumentWindow(this.GetElementDocument(A));};FCKTools.GetDocumentWindow=function(A){if (FCKBrowserInfo.IsSafari&&!A.parentWindow) this.FixDocumentParentWindow(window.top);return A.parentWindow||A.defaultView;};FCKTools.FixDocumentParentWindow=function(A){A.document.parentWindow=A;for (var i=0;i<A.frames.length;i++) FCKTools.FixDocumentParentWindow(A.frames[i]);};FCKTools.HTMLEncode=function(A){if (!A) return '';A=A.replace(/&/g,'&amp;');A=A.replace(/</g,'&lt;');A=A.replace(/>/g,'&gt;');return A;};FCKTools.HTMLDecode=function(A){if (!A) return '';A=A.replace(/&gt;/g,'>');A=A.replace(/&lt;/g,'<');A=A.replace(/&amp;/g,'&');return A;};FCKTools.AddSelectOption=function(A,B,C){var D=FCKTools.GetElementDocument(A).createElement("OPTION");D.text=B;D.value=C;A.options.add(D);return D;};FCKTools.RunFunction=function(A,B,C,D){if (A) this.SetTimeout(A,0,B,C,D);};FCKTools.SetTimeout=function(A,B,C,D,E){return (E||window).setTimeout(function(){if (D) A.apply(C,[].concat(D));else A.apply(C);},B);};FCKTools.SetInterval=function(A,B,C,D,E){return (E||window).setInterval(function(){A.apply(C,D||[]);},B);};FCKTools.ConvertStyleSizeToHtml=function(A){return A.EndsWith('%')?A:parseInt(A,10);};FCKTools.ConvertHtmlSizeToStyle=function(A){return A.EndsWith('%')?A:(A+'px');};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.CreateEventListener=function(A,B){var f=function(){var C=[];for (var i=0;i<arguments.length;i++) C.push(arguments[i]);A.apply(this,C.concat(B));};return f;};FCKTools.IsStrictMode=function(A){return ('CSS1Compat'==(A.compatMode||'CSS1Compat'));};FCKTools.ArgumentsToArray=function(A,B,C){B=B||0;C=C||A.length;var D=[];for (var i=B;i<B+C&&i<A.length;i++) D.push(A[i]);return D;};FCKTools.CloneObject=function(A){var B=function() {};B.prototype=A;return new B;};FCKTools.GetLastItem=function(A){if (A.length>0) return A[A.length-1];return null;};\r
-FCKTools.CancelEvent=function(e){return false;};FCKTools._AppendStyleSheet=function(A,B){return A.createStyleSheet(B).owningElement;};FCKTools.ClearElementAttributes=function(A){A.clearAttributes();};FCKTools.GetAllChildrenIds=function(A){var B=[];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;};return null;};FCKTools.DisableSelection=function(A){A.unselectable='on';var e,i=0;while ((e=A.all[i++])){switch (e.tagName){case 'IFRAME':case 'TEXTAREA':case 'INPUT':case 'SELECT':break;default:e.unselectable='on';}}};FCKTools.GetScrollPosition=function(A){var B=A.document;var C={ X:B.documentElement.scrollLeft,Y:B.documentElement.scrollTop };if (C.X>0||C.Y>0) return C;return { X:B.body.scrollLeft,Y:B.body.scrollTop };};FCKTools.AddEventListener=function(A,B,C){A.attachEvent('on'+B,C);};FCKTools.RemoveEventListener=function(A,B,C){A.detachEvent('on'+B,C);};FCKTools.AddEventListenerEx=function(A,B,C,D){var o={};o.Source=A;o.Params=D||[];o.Listener=function(ev){return C.apply(o.Source,[ev].concat(o.Params));};if (FCK.IECleanup) FCK.IECleanup.AddItem(null,function() { o.Source=null;o.Params=null;});A.attachEvent('on'+B,o.Listener);A=null;D=null;};FCKTools.GetViewPaneSize=function(A){var B;var C=A.document.documentElement;if (C&&C.clientWidth) B=C;else B=top.document.body;if (B) return { Width:B.clientWidth,Height:B.clientHeight };else return { Width:0,Height:0 };};FCKTools.SaveStyles=function(A){var B={};if (A.className.length>0){B.Class=A.className;A.className='';};var C=A.style.cssText;if (C.length>0){B.Inline=C;A.style.cssText='';};return B;};FCKTools.RestoreStyles=function(A,B){A.className=B.Class||'';A.style.cssText=B.Inline||'';};FCKTools.RegisterDollarFunction=function(A){A.$=A.document.getElementById;};FCKTools.AppendElement=function(A,B){return A.appendChild(this.GetElementDocument(A).createElement(B));};FCKTools.ToLowerCase=function(A){return A.toLowerCase();}\r
-var FCKeditorAPI;function InitializeAPI(){var A=window.parent;if (!(FCKeditorAPI=A.FCKeditorAPI)){var B='var FCKeditorAPI = {Version : "2.4.3",VersionBuild : "15657",__Instances : new Object(),GetInstance : function( name ){return this.__Instances[ name ];},_FormSubmit : function(){for ( var name in FCKeditorAPI.__Instances ){var oEditor = FCKeditorAPI.__Instances[ name ] ;if ( oEditor.GetParentForm && oEditor.GetParentForm() == this )oEditor.UpdateLinkedField() ;}this._FCKOriginalSubmit() ;},_FunctionQueue       : {Functions : new Array(),IsRunning : false,Add : function( f ){this.Functions.push( f );if ( !this.IsRunning )this.StartNext();},StartNext : function(){var aQueue = this.Functions ;if ( aQueue.length > 0 ){this.IsRunning = true;aQueue[0].call();}else this.IsRunning = false;},Remove : function( f ){var aQueue = this.Functions;var i = 0, fFunc;while( (fFunc = aQueue[ i ]) ){if ( fFunc == f )aQueue.splice( i,1 );i++ ;}this.StartNext();}}}';if (A.execScript) A.execScript(B,'JavaScript');else{if (FCKBrowserInfo.IsGecko10){eval.call(A,B);}else if (FCKBrowserInfo.IsSafari){var C=A.document;var D=C.createElement('script');D.appendChild(C.createTextNode(B));C.documentElement.appendChild(D);}else A.eval(B);};FCKeditorAPI=A.FCKeditorAPI;};FCKeditorAPI.__Instances[FCK.Name]=FCK;};function _AttachFormSubmitToAPI(){var A=FCK.GetParentForm();if (A){FCKTools.AddEventListener(A,'submit',FCK.UpdateLinkedField);if (!A._FCKOriginalSubmit&&(typeof(A.submit)=='function'||(!A.submit.tagName&&!A.submit.length))){A._FCKOriginalSubmit=A.submit;A.submit=FCKeditorAPI._FormSubmit;}}};function FCKeditorAPI_Cleanup(){delete FCKeditorAPI.__Instances[FCK.Name];};FCKTools.AddEventListener(window,'unload',FCKeditorAPI_Cleanup);\r
-var FCKImagePreloader=function(){this._Images=[];};FCKImagePreloader.prototype={AddImages:function(A){if (typeof(A)=='string') A=A.split(';');this._Images=this._Images.concat(A);},Start:function(){var A=this._Images;this._PreloadCount=A.length;for (var i=0;i<A.length;i++){var B=document.createElement('img');B.onload=B.onerror=_FCKImagePreloader_OnImage;B._FCKImagePreloader=this;B.src=A[i];_FCKImagePreloader_ImageCache.push(B);}}};var _FCKImagePreloader_ImageCache=[];function _FCKImagePreloader_OnImage(){var A=this._FCKImagePreloader;if ((--A._PreloadCount)==0&&A.OnComplete) A.OnComplete();this._FCKImagePreloader=null;}\r
-var FCKRegexLib={AposEntity:/&apos;/gi,ObjectElements:/^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i,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,BodyContents:/([\s\S]*\<body[^\>]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i,ToReplace:/___fcktoreplace:([\w]+)/ig,MetaHttpEquiv:/http-equiv\s*=\s*["']?([^"' ]+)/i,HasBaseTag:/<base /i,HtmlOpener:/<html\s?[^>]*>/i,HeadOpener:/<head\s?[^>]*>/i,HeadCloser:/<\/head\s*>/i,FCK_Class:/(\s*FCK__[A-Za-z]*\s*)/,ElementName:/(^[a-z_:][\w.\-:]*\w$)|(^[a-z_]$)/,ForceSimpleAmpersand:/___FCKAmp___/g,SpaceNoClose:/\/>/g,EmptyParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>\s*(<\/\1>)?$/,EmptyOutParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>(?:\s*|&nbsp;)(<\/\1>)?$/,TagBody:/></,StrongOpener:/<STRONG([ \>])/gi,StrongCloser:/<\/STRONG>/gi,EmOpener:/<EM([ \>])/gi,EmCloser:/<\/EM>/gi,GeckoEntitiesMarker:/#\?-\:/g,ProtectUrlsImg:/<img(?=\s).*?\ssrc=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,ProtectUrlsA:/<a(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,Html4DocType:/HTML 4\.0 Transitional/i,DocTypeTag:/<!DOCTYPE[^>]*>/i,TagsWithEvent:/<[^\>]+ on\w+[\s\r\n]*=[\s\r\n]*?('|")[\s\S]+?\>/g,EventAttributes:/\s(on\w+)[\s\r\n]*=[\s\r\n]*?('|")([\s\S]*?)\2/g,ProtectedEvents:/\s\w+_fckprotectedatt="([^"]+)"/g,StyleProperties:/\S+\s*:/g,InvalidSelfCloseTags:/(<(?!base|meta|link|hr|br|param|img|area|input)([a-zA-Z0-9:]+)[^>]*)\/>/gi};\r
-var FCKListsLib={BlockElements:{ address:1,blockquote:1,center:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,marquee:1,noscript:1,ol:1,p:1,pre:1,script:1,table:1,ul:1 },NonEmptyBlockElements:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,address:1,pre:1,ol:1,ul:1,li:1,td:1,th:1 },InlineChildReqElements:{ abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },EmptyElements:{ base:1,meta:1,link:1,hr:1,br:1,param:1,img:1,area:1,input:1 },PathBlockElements:{ address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1 },PathBlockLimitElements:{ body:1,td:1,th:1,caption:1,form:1 },Setup:function(){if (FCKConfig.EnterMode=='div') this.PathBlockElements.div=1;else this.PathBlockLimitElements.div=1;}};\r
-var FCKLanguageManager=FCK.Language={AvailableLanguages:{af:'Afrikaans',ar:'Arabic',bg:'Bulgarian',bn:'Bengali/Bangla',bs:'Bosnian',ca:'Catalan',cs:'Czech',da:'Danish',de:'German',el:'Greek',en:'English','en-au':'English (Australia)','en-ca':'English (Canadian)','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',hi:'Hindi',hr:'Croatian',hu:'Hungarian',it:'Italian',ja:'Japanese',km:'Khmer',ko:'Korean',lt:'Lithuanian',lv:'Latvian',mn:'Mongolian',ms:'Malay',nb:'Norwegian Bokmal',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'},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;},TranslateElements:function(A,B,C,D){var e=A.getElementsByTagName(B);var E,s;for (var i=0;i<e.length;i++){if ((E=e[i].getAttribute('fckLang'))){if ((s=FCKLang[E])){if (D) s=FCKTools.HTMLEncode(s);eval('e[i].'+C+' = s');}}}},TranslatePage:function(A){this.TranslateElements(A,'INPUT','value');this.TranslateElements(A,'SPAN','innerHTML');this.TranslateElements(A,'LABEL','innerHTML');this.TranslateElements(A,'OPTION','innerHTML',true);},Initialize:function(){if (this.AvailableLanguages[FCKConfig.DefaultLanguage]) this.DefaultLanguage=FCKConfig.DefaultLanguage;else this.DefaultLanguage='en';this.ActiveLanguage={};this.ActiveLanguage.Code=this.GetActiveLanguage();this.ActiveLanguage.Name=this.AvailableLanguages[this.ActiveLanguage.Code];}};\r
-var FCKXHtmlEntities={};FCKXHtmlEntities.Initialize=function(){if (FCKXHtmlEntities.Entities) return;var A='';var B,e;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'};for (e in FCKXHtmlEntities.Entities) A+=e;if (FCKConfig.IncludeLatinEntities){B={'À':'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 (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;};if (FCKConfig.IncludeGreekEntities){B={'Α':'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 (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;}}else{FCKXHtmlEntities.Entities={};A=' ';};var C='['+A+']';if (FCKConfig.ProcessNumericEntities) C='[^ -~]|'+C;var D=FCKConfig.AdditionalNumericEntities;if (D&&D.length>0) C+='|'+FCKConfig.AdditionalNumericEntities;FCKXHtmlEntities.EntitiesRegex=new RegExp(C,'g');}\r
-var FCKXHtml={};FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKXHtmlEntities.Initialize();this._NbspEntity=(FCKConfig.ProcessHTMLEntities?'nbsp':'#160');var D=FCK.IsDirty();this._CreateNode=FCKConfig.ForceStrongEm?FCKXHtml_CreateNode_StrongEm:FCKXHtml_CreateNode_Normal;FCKXHtml.SpecialBlocks=[];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 E=this._GetMainXmlString();this.XML=null;E=E.substr(7,E.length-15).Trim();if (FCKBrowserInfo.IsGecko) E=E.replace(/<br\/>$/,'');E=E.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) E=E.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) E=FCKCodeFormatter.Format(E);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var F=new RegExp('___FCKsi___'+i);E=E.replace(F,FCKXHtml.SpecialBlocks[i]);};E=E.replace(FCKRegexLib.GeckoEntitiesMarker,'&');if (!D) FCK.ResetIsDirty();return E;};FCKXHtml._AppendAttribute=function(A,B,C){try{if (C==undefined||C==null) C='';else if (C.replace){if (FCKConfig.ForceSimpleAmpersand) C=C.replace(/&/g,'___FCKAmp___');C=C.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity);};var D=this.XML.createAttribute(B);D.value=C;A.attributes.setNamedItem(D);}catch (e){}};FCKXHtml._AppendChildNodes=function(A,B,C){var D=B.firstChild;while (D){this._AppendNode(A,D);D=D.nextSibling;};if (C) FCKDomTools.TrimNode(A,true);if (A.childNodes.length==0){if (C&&FCKConfig.FillEmptyBlocks){this._AppendEntity(A,this._NbspEntity);return A;};var E=A.nodeName;if (FCKListsLib.InlineChildReqElements[E]) return null;if (!FCKListsLib.EmptyElements[E]) A.appendChild(this.XML.createTextNode(''));};return A;};FCKXHtml._AppendNode=function(A,B){if (!B) return false;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('_fcktemp')) return false;var C=B.tagName.toLowerCase();if (FCKBrowserInfo.IsIE){if (B.scopeName&&B.scopeName!='HTML'&&B.scopeName!='FCK') C=B.scopeName.toLowerCase()+':'+C;}else{if (C.StartsWith('fck:')) C=C.Remove(0,4);};if (!FCKRegexLib.ElementName.test(C)) return false;if (C=='br'&&B.getAttribute('type',2)=='_moz') return false;if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;var D=this._CreateNode(C);FCKXHtml._AppendAttributes(A,B,D,C);B._fckxhtmljob=FCKXHtml.CurrentJobNum;var E=FCKXHtml.TagProcessors[C];if (E) D=E(D,B,A);else D=this._AppendChildNodes(D,B,Boolean(FCKListsLib.NonEmptyBlockElements[C]));if (!D) return false;A.appendChild(D);break;case 3:return this._AppendTextNode(A,B.nodeValue.ReplaceNewLineChars(' '));case 8:if (FCKBrowserInfo.IsIE&&!B.innerHTML) break;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;};function FCKXHtml_CreateNode_StrongEm(A){switch (A){case 'b':A='strong';break;case 'i':A='em';break;};return this.XML.createElement(A);};function FCKXHtml_CreateNode_Normal(A){return this.XML.createElement(A);};FCKXHtml._AppendSpecialItem=function(A){return '___FCKsi___'+FCKXHtml.SpecialBlocks.AddItem(A);};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createTextNode('#?-:'+B+';'));};FCKXHtml._AppendTextNode=function(A,B){var C=B.length>0;if (C) A.appendChild(this.XML.createTextNode(B.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity)));return C;};function FCKXHtml_GetEntity(A){var B=FCKXHtmlEntities.Entities[A]||('#'+A.charCodeAt(0));return '#?-:'+B+';';};FCKXHtml._RemoveAttribute=function(A,B,C){var D=A.attributes.getNamedItem(C);if (D&&B.test(D.nodeValue)){var E=D.nodeValue.replace(B,'');if (E.length==0) A.attributes.removeNamedItem(C);else D.nodeValue=E;}};FCKXHtml.TagProcessors={img:function(A,B){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'src',C);return A;},a:function(A,B){if (B.innerHTML.Trim().length==0&&!B.name) return false;var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){FCKXHtml._RemoveAttribute(A,FCKRegexLib.FCK_Class,'class');if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);};A=FCKXHtml._AppendChildNodes(A,B,false);return A;},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;},style:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.innerHTML)));return A;},title:function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;},table:function(A,B){if (FCKBrowserInfo.IsIE) FCKXHtml._RemoveAttribute(A,FCKRegexLib.FCK_Class,'class');A=FCKXHtml._AppendChildNodes(A,B,false);return A;},ol:function(A,B,C){if (B.innerHTML.Trim().length==0) return false;var D=C.lastChild;if (D&&D.nodeType==3) D=D.previousSibling;if (D&&D.nodeName.toUpperCase()=='LI'){B._fckxhtmljob=null;FCKXHtml._AppendNode(D,B);return false;};A=FCKXHtml._AppendChildNodes(A,B);return A;},span:function(A,B){if (B.innerHTML.length==0) return false;A=FCKXHtml._AppendChildNodes(A,B,false);return A;},iframe:function(A,B){var C=B.innerHTML;if (FCKBrowserInfo.IsGecko) C=FCKTools.HTMLDecode(C);C=C.replace(/\s_fcksavedurl="[^"]*"/g,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;}};FCKXHtml.TagProcessors.ul=FCKXHtml.TagProcessors.ol;\r
-FCKXHtml._GetMainXmlString=function(){return this.MainNode.xml;};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.StartsWith('_fck')) continue;else if (G=='style') H=B.style.cssText.replace(FCKRegexLib.StyleProperties,FCKTools.ToLowerCase);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{try{H=B.getAttribute(G,2);}catch (e) {}};this._AppendAttribute(C,G,H||F.nodeValue);}}};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();A=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);if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text');return A;};FCKXHtml.TagProcessors['option']=function(A,B){if (B.selected&&!A.attributes.getNamedItem('selected')) FCKXHtml._AppendAttribute(A,'selected','selected');A=FCKXHtml._AppendChildNodes(A,B);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 D=B.getAttribute('shape',2);if (D&&D.length>0) FCKXHtml._AppendAttribute(A,'shape',D);};return A;};FCKXHtml.TagProcessors['label']=function(A,B){if (B.htmlFor.length>0) FCKXHtml._AppendAttribute(A,'for',B.htmlFor);A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['form']=function(A,B){if (B.acceptCharset&&B.acceptCharset.length>0&&B.acceptCharset!='UNKNOWN') FCKXHtml._AppendAttribute(A,'accept-charset',B.acceptCharset);var C=B.attributes['name'];if (C&&C.value.length>0) FCKXHtml._AppendAttribute(A,'name',C.value);A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['textarea']=FCKXHtml.TagProcessors['select']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['div']=function(A,B){if (B.align.length>0) FCKXHtml._AppendAttribute(A,'align',B.align);A=FCKXHtml._AppendChildNodes(A,B,true);return A;}\r
-var FCKCodeFormatter={};FCKCodeFormatter.Init=function(){var A=this.Regex={};A.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.NewLineTags=/\<(BR|HR)[^\>]*\>/gi;A.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;A.LineSplitter=/\s*\n+\s*/g;A.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;A.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;A.FormatIndentatorRemove=new RegExp('^'+FCKConfig.FormatIndentator);A.ProtectedTags=/(<PRE[^>]*>)([\s\S]*?)(<\/PRE>)/gi;};FCKCodeFormatter._ProtectData=function(A,B,C,D){return B+'___FCKpd___'+FCKCodeFormatter.ProtectedData.AddItem(C)+D;};FCKCodeFormatter.Format=function(A){if (!this.Regex) this.Init();FCKCodeFormatter.ProtectedData=[];var B=A.replace(this.Regex.ProtectedTags,FCKCodeFormatter._ProtectData);B=B.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;};for (var j=0;j<FCKCodeFormatter.ProtectedData.length;j++){var F=new RegExp('___FCKpd___'+j);B=B.replace(F,FCKCodeFormatter.ProtectedData[j].replace(/\$/g,'$$$$'));};return B.Trim();}\r
-var FCKUndo={};FCKUndo.SavedData=[];FCKUndo.CurrentIndex=-1;FCKUndo.TypesCount=FCKUndo.MaxTypes=25;FCKUndo.Typing=false;FCKUndo.SaveUndoStep=function(){if (FCK.EditMode!=0) return;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;}\r
-var FCKEditingArea=function(A){this.TargetElement=A;this.Mode=0;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKEditingArea_Cleanup);};FCKEditingArea.prototype.Start=function(A,B){var C=this.TargetElement;var D=FCKTools.GetElementDocument(C);while(C.childNodes.length>0) C.removeChild(C.childNodes[0]);if (this.Mode==0){var E=this.IFrame=D.createElement('iframe');E.src='javascript:void(0)';E.frameBorder=0;E.width=E.height='100%';C.appendChild(E);if (FCKBrowserInfo.IsIE) A=A.replace(/(<base[^>]*?)\s*\/?>(?!\s*<\/base>)/gi,'$1></base>');else if (!B){if (FCKBrowserInfo.IsGecko) A=A.replace(/(<body[^>]*>)\s*(<\/body>)/i,'$1'+GECKO_BOGUS+'$2');var F=A.match(FCKRegexLib.BodyContents);if (F){A=F[1]+'&nbsp;'+F[3];this._BodyHTML=F[2];}else this._BodyHTML=A;};this.Window=E.contentWindow;var G=this.Document=this.Window.document;G.open();G.write(A);G.close();if (FCKBrowserInfo.IsGecko10&&!B){this.Start(A,true);return;};this.Window._FCKEditingArea=this;if (FCKBrowserInfo.IsGecko10) this.Window.setTimeout(FCKEditingArea_CompleteStart,500);else FCKEditingArea_CompleteStart.call(this.Window);}else{var H=this.Textarea=D.createElement('textarea');H.className='SourceField';H.dir='ltr';H.style.width=H.style.height='100%';H.style.border='none';C.appendChild(H);H.value=A;FCKTools.RunFunction(this.OnLoad);}};function FCKEditingArea_CompleteStart(){if (!this.document.body){this.setTimeout(FCKEditingArea_CompleteStart,50);return;};var A=this._FCKEditingArea;A.MakeEditable();FCKTools.RunFunction(A.OnLoad);};FCKEditingArea.prototype.MakeEditable=function(){var A=this.Document;if (FCKBrowserInfo.IsIE){A.body.contentEditable=true;}else{try{A.body.spellcheck=(this.FFSpellChecker!==false);if (this._BodyHTML){A.body.innerHTML=this._BodyHTML;this._BodyHTML=null;};A.designMode='on';try{A.execCommand('styleWithCSS',false,FCKConfig.GeckoUseSPAN);}catch (e){A.execCommand('useCSS',false,!FCKConfig.GeckoUseSPAN);};A.execCommand('enableObjectResizing',false,!FCKConfig.DisableObjectResizing);A.execCommand('enableInlineTableEditing',false,!FCKConfig.DisableFFTableHandles);}catch (e) {}}};FCKEditingArea.prototype.Focus=function(){try{if (this.Mode==0){if (FCKBrowserInfo.IsIE&&this.Document.hasFocus()) return;if (FCKBrowserInfo.IsSafari) this.IFrame.focus();else{this.Window.focus();}}else{var A=FCKTools.GetElementDocument(this.Textarea);if ((!A.hasFocus||A.hasFocus())&&A.activeElement==this.Textarea) return;this.Textarea.focus();}}catch(e) {}};function FCKEditingArea_Cleanup(){this.TargetElement=null;this.IFrame=null;this.Document=null;this.Textarea=null;if (this.Window){this.Window._FCKEditingArea=null;this.Window=null;}};\r
-var FCKKeystrokeHandler=function(A){this.Keystrokes={};this.CancelCtrlDefaults=(A!==false);};FCKKeystrokeHandler.prototype.AttachToElement=function(A){FCKTools.AddEventListenerEx(A,'keydown',_FCKKeystrokeHandler_OnKeyDown,this);if (FCKBrowserInfo.IsGecko10||FCKBrowserInfo.IsOpera||(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac)) FCKTools.AddEventListenerEx(A,'keypress',_FCKKeystrokeHandler_OnKeyPress,this);};FCKKeystrokeHandler.prototype.SetKeystrokes=function(){for (var i=0;i<arguments.length;i++){var A=arguments[i];if (typeof(A[0])=='object') this.SetKeystrokes.apply(this,A);else{if (A.length==1) delete this.Keystrokes[A[0]];else this.Keystrokes[A[0]]=A[1]===true?true:A;}}};function _FCKKeystrokeHandler_OnKeyDown(A,B){var C=A.keyCode||A.which;var D=0;if (A.ctrlKey||A.metaKey) D+=CTRL;if (A.shiftKey) D+=SHIFT;if (A.altKey) D+=ALT;var E=C+D;var F=B._CancelIt=false;var G=B.Keystrokes[E];if (G){if (G===true||!(B.OnKeystroke&&B.OnKeystroke.apply(B,G))) return true;F=true;};if (F||(B.CancelCtrlDefaults&&D==CTRL&&(C<33||C>40))){B._CancelIt=true;if (A.preventDefault) return A.preventDefault();A.returnValue=false;A.cancelBubble=true;return false;};return true;};function _FCKKeystrokeHandler_OnKeyPress(A,B){if (B._CancelIt){if (A.preventDefault) return A.preventDefault();return false;};return true;}\r
+var FCKEvents=function(A){this.Owner=A;this._RegisteredEvents={};};FCKEvents.prototype.AttachEvent=function(A,B){var C;if (!(C=this._RegisteredEvents[A])) this._RegisteredEvents[A]=[B];else{if (C.IndexOf(B)==-1) C.push(B);}};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this._RegisteredEvents[A];if (D){for (var i=0;i<D.length;i++){try{C=(D[i](this.Owner,B)&&C);}catch(e){if (e.number!=-2146823277) throw e;}}};return C;};\r
+var FCKDataProcessor=function(){};FCKDataProcessor.prototype={ConvertToHtml:function(A){if (FCKConfig.FullPage){FCK.DocTypeDeclaration=A.match(FCKRegexLib.DocTypeTag);if (!FCKRegexLib.HasBodyTag.test(A)) A='<body>'+A+'</body>';if (!FCKRegexLib.HtmlOpener.test(A)) A='<html dir="'+FCKConfig.ContentLangDirection+'">'+A+'</html>';if (!FCKRegexLib.HeadOpener.test(A)) A=A.replace(FCKRegexLib.HtmlOpener,'$&<head><title></title></head>');return A;}else{var B=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"';if (FCKBrowserInfo.IsIE&&FCKConfig.DocType.length>0&&!FCKRegexLib.Html4DocType.test(FCKConfig.DocType)) B+=' style="overflow-y: scroll"';B+='><head><title></title></head><body'+FCKConfig.GetBodyAttributes()+'>'+A+'</body></html>';return B;}},ConvertToDataFormat:function(A,B,C,D){var E=FCKXHtml.GetXHTML(A,!B,D);if (C&&FCKRegexLib.EmptyOutParagraph.test(E)) return '';return E;},FixHtml:function(A){return A;}};\r
+var FCK={Name:FCKURLParams['InstanceName'],Status:0,EditMode:0,Toolbar:null,HasFocus:false,DataProcessor:new FCKDataProcessor(),GetInstanceObject:(function(){var w=window;return function(name){return w[name];}})(),AttachToOnSelectionChange:function(A){this.Events.AttachEvent('OnSelectionChange',A);},GetLinkedFieldValue:function(){return this.LinkedField.value;},GetParentForm:function(){return this.LinkedField.form;},StartupValue:'',IsDirty:function(){if (this.EditMode==1) return (this.StartupValue!=this.EditingArea.Textarea.value);else{if (!this.EditorDocument) return false;return (this.StartupValue!=this.EditorDocument.body.innerHTML);}},ResetIsDirty:function(){if (this.EditMode==1) this.StartupValue=this.EditingArea.Textarea.value;else if (this.EditorDocument.body) this.StartupValue=this.EditorDocument.body.innerHTML;},StartEditor:function(){this.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';var A=FCK.KeystrokeHandler=new FCKKeystrokeHandler();A.OnKeystroke=_FCK_KeystrokeHandler_OnKeystroke;A.SetKeystrokes(FCKConfig.Keystrokes);if (FCKBrowserInfo.IsIE7){if ((CTRL+86) in A.Keystrokes) A.SetKeystrokes([CTRL+86,true]);if ((SHIFT+45) in A.Keystrokes) A.SetKeystrokes([SHIFT+45,true]);};A.SetKeystrokes([CTRL+8,true]);this.EditingArea=new FCKEditingArea(document.getElementById('xEditingArea'));this.EditingArea.FFSpellChecker=FCKConfig.FirefoxSpellChecker;this.SetData(this.GetLinkedFieldValue(),true);FCKTools.AddEventListener(document,"keydown",this._TabKeyHandler);this.AttachToOnSelectionChange(_FCK_PaddingNodeListener);if (FCKBrowserInfo.IsGecko) this.AttachToOnSelectionChange(this._ExecCheckEmptyBlock);},Focus:function(){FCK.EditingArea.Focus();},SetStatus:function(A){this.Status=A;if (A==1){FCKFocusManager.AddWindow(window,true);if (FCKBrowserInfo.IsIE) FCKFocusManager.AddWindow(window.frameElement,true);if (FCKConfig.StartupFocus) FCK.Focus();};this.Events.FireEvent('OnStatusChange',A);},FixBody:function(){var A=FCKConfig.EnterMode;if (A!='p'&&A!='div') return;var B=this.EditorDocument;if (!B) return;var C=B.body;if (!C) return;FCKDomTools.TrimNode(C);var D=C.firstChild;var E;while (D){var F=false;switch (D.nodeType){case 1:var G=D.nodeName.toLowerCase();if (!FCKListsLib.BlockElements[G]&&G!='li'&&!D.getAttribute('_fckfakelement')&&D.getAttribute('_moz_dirty')==null) F=true;break;case 3:if (E||D.nodeValue.Trim().length>0) F=true;break;case 8:if (E) F=true;break;};if (F){var H=D.parentNode;if (!E) E=H.insertBefore(B.createElement(A),D);E.appendChild(H.removeChild(D));D=E.nextSibling;}else{if (E){FCKDomTools.TrimNode(E);E=null;};D=D.nextSibling;}};if (E) FCKDomTools.TrimNode(E);},GetData:function(A){FCK.Events.FireEvent("OnBeforeGetData");if (FCK.EditMode==1) return FCK.EditingArea.Textarea.value;this.FixBody();var B=FCK.EditorDocument;if (!B) return null;var C=FCKConfig.FullPage;var D=FCK.DataProcessor.ConvertToDataFormat(C?B.documentElement:B.body,!C,FCKConfig.IgnoreEmptyParagraphValue,A);D=FCK.ProtectEventsRestore(D);if (FCKBrowserInfo.IsIE) D=D.replace(FCKRegexLib.ToReplace,'$1');if (C){if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) D=FCK.DocTypeDeclaration+'\n'+D;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) D=FCK.XmlDeclaration+'\n'+D;};D=FCKConfig.ProtectedSource.Revert(D);setTimeout(function() { FCK.Events.FireEvent("OnAfterGetData");},0);return D;},UpdateLinkedField:function(){var A=FCK.GetXHTML(FCKConfig.FormatOutput);if (FCKConfig.HtmlEncodeOutput) A=FCKTools.HTMLEncode(A);FCK.LinkedField.value=A;FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');},RegisteredDoubleClickHandlers:{},OnDoubleClick:function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName.toUpperCase()];if (B){for (var i=0;i<B.length;i++) B[i](A);};B=FCK.RegisteredDoubleClickHandlers['*'];if (B){for (var i=0;i<B.length;i++) B[i](A);}},RegisterDoubleClickHandler:function(A,B){var C=B||'*';C=C.toUpperCase();var D;if (!(D=FCK.RegisteredDoubleClickHandlers[C])) FCK.RegisteredDoubleClickHandlers[C]=[A];else{if (D.IndexOf(A)==-1) D.push(A);}},OnAfterSetHTML:function(){FCKDocumentProcessor.Process(FCK.EditorDocument);FCKUndo.SaveUndoStep();FCK.Events.FireEvent('OnSelectionChange');FCK.Events.FireEvent('OnAfterSetHTML');},ProtectUrls:function(A){A=A.replace(FCKRegexLib.ProtectUrlsA,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsImg,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsArea,'$& _fcksavedurl=$1');return A;},ProtectEvents:function(A){return A.replace(FCKRegexLib.TagsWithEvent,_FCK_ProtectEvents_ReplaceTags);},ProtectEventsRestore:function(A){return A.replace(FCKRegexLib.ProtectedEvents,_FCK_ProtectEvents_RestoreEvents);},ProtectTags:function(A){var B=FCKConfig.ProtectedTags;if (FCKBrowserInfo.IsIE) B+=B.length>0?'|ABBR|XML|EMBED|OBJECT':'ABBR|XML|EMBED|OBJECT';var C;if (B.length>0){C=new RegExp('<('+B+')(?!\w|:)','gi');A=A.replace(C,'<FCK:$1');C=new RegExp('<\/('+B+')>','gi');A=A.replace(C,'<\/FCK:$1>');};B='META';if (FCKBrowserInfo.IsIE) B+='|HR';C=new RegExp('<(('+B+')(?=\\s|>|/)[\\s\\S]*?)/?>','gi');A=A.replace(C,'<FCK:$1 />');return A;},SetData:function(A,B){this.EditingArea.Mode=FCK.EditMode;if (FCKBrowserInfo.IsIE&&FCK.EditorDocument){FCK.EditorDocument.detachEvent("onselectionchange",Doc_OnSelectionChange);};FCKTempBin.Reset();FCK.Selection.Release();if (FCK.EditMode==0){this._ForceResetIsDirty=(B===true);A=FCKConfig.ProtectedSource.Protect(A);A=FCK.DataProcessor.ConvertToHtml(A);A=A.replace(FCKRegexLib.InvalidSelfCloseTags,'$1></$2>');A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) A=A.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);var C='';if (!FCKConfig.FullPage) C+=_FCK_GetEditorAreaStyleTags();if (FCKBrowserInfo.IsIE) C+=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C+=FCKTools.GetStyleHtml(FCK_ShowTableBordersCSS,true);C+=FCKTools.GetStyleHtml(FCK_InternalCSS,true);A=A.replace(FCKRegexLib.HeadCloser,C+'$&');this.EditingArea.OnLoad=_FCK_EditingArea_OnLoad;this.EditingArea.Start(A);}else{FCK.EditorWindow=null;FCK.EditorDocument=null;FCKDomTools.PaddingNode=null;this.EditingArea.OnLoad=null;this.EditingArea.Start(A);this.EditingArea.Textarea._FCKShowContextMenu=true;FCK.EnterKeyHandler=null;if (B) this.ResetIsDirty();FCK.KeystrokeHandler.AttachToElement(this.EditingArea.Textarea);this.EditingArea.Textarea.focus();FCK.Events.FireEvent('OnAfterSetHTML');};if (window.onresize) window.onresize();},RedirectNamedCommands:{},ExecuteNamedCommand:function(A,B,C,D){if (!D) FCKUndo.SaveUndoStep();if (!C&&FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};if (!D) FCKUndo.SaveUndoStep();},GetNamedCommandState:function(A){try{if (FCKBrowserInfo.IsSafari&&FCK.EditorWindow&&A.IEquals('Paste')) return 0;if (!FCK.EditorDocument.queryCommandEnabled(A)) return -1;else{return FCK.EditorDocument.queryCommandState(A)?1:0;}}catch (e){return 0;}},GetNamedCommandValue:function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==-1) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';},Paste:function(A){if (FCK.Status!=2||!FCK.Events.FireEvent('OnPaste')) return false;return A||FCK._ExecPaste();},PasteFromWord:function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');},Preview:function(){var A;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) A=FCK.TempBaseTag+FCK.GetXHTML();else A=FCK.GetXHTML();}else{A=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"><head>'+FCK.TempBaseTag+'<title>'+FCKLang.Preview+'</title>'+_FCK_GetEditorAreaStyleTags()+'</head><body'+FCKConfig.GetBodyAttributes()+'>'+FCK.GetXHTML()+'</body></html>';};var B=FCKConfig.ScreenWidth*0.8;var C=FCKConfig.ScreenHeight*0.7;var D=(FCKConfig.ScreenWidth-B)/2;var E='';if (FCK_IS_CUSTOM_DOMAIN&&FCKBrowserInfo.IsIE){window._FCKHtmlToLoad=A;E='javascript:void( (function(){document.open() ;document.domain="'+document.domain+'" ;document.write( window.opener._FCKHtmlToLoad );document.close() ;window.opener._FCKHtmlToLoad = null ;})() )';};var F=window.open(E,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+B+',height='+C+',left='+D);if (!FCK_IS_CUSTOM_DOMAIN||!FCKBrowserInfo.IsIE){F.document.write(A);F.document.close();}},SwitchEditMode:function(A){var B=(FCK.EditMode==0);var C=FCK.IsDirty();var D;if (B){FCKCommands.GetCommand('ShowBlocks').SaveState();if (!A&&FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();D=FCK.GetXHTML(FCKConfig.FormatSource);if (FCKBrowserInfo.IsIE) FCKTempBin.ToHtml();if (D==null) return false;}else D=this.EditingArea.Textarea.value;FCK.EditMode=B?1:0;FCK.SetData(D,!C);FCK.Focus();FCKTools.RunFunction(FCK.ToolbarSet.RefreshModeState,FCK.ToolbarSet);return true;},InsertElement:function(A){if (typeof A=='string') A=this.EditorDocument.createElement(A);var B=A.nodeName.toLowerCase();FCKSelection.Restore();var C=new FCKDomRange(this.EditorWindow);C.MoveToSelection();C.DeleteContents();if (FCKListsLib.BlockElements[B]!=null){if (C.StartBlock){if (C.CheckStartOfBlock()) C.MoveToPosition(C.StartBlock,3);else if (C.CheckEndOfBlock()) C.MoveToPosition(C.StartBlock,4);else C.SplitBlock();};C.InsertNode(A);var D=FCKDomTools.GetNextSourceElement(A,false,null,['hr','br','param','img','area','input'],true);if (!D&&FCKConfig.EnterMode!='br'){D=this.EditorDocument.body.appendChild(this.EditorDocument.createElement(FCKConfig.EnterMode));if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(D);};if (FCKListsLib.EmptyElements[B]==null) C.MoveToElementEditStart(A);else if (D) C.MoveToElementEditStart(D);else C.MoveToPosition(A,4);if (FCKBrowserInfo.IsGeckoLike){if (D) FCKDomTools.ScrollIntoView(D,false);FCKDomTools.ScrollIntoView(A,false);}}else{C.InsertNode(A);C.SetStart(A,4);C.SetEnd(A,4);};C.Select();C.Release();this.Focus();return A;},_InsertBlockElement:function(A){},_IsFunctionKey:function(A){if (A>=16&&A<=20) return true;if (A==27||(A>=33&&A<=40)) return true;if (A==45) return true;return false;},_KeyDownListener:function(A){if (!A) A=FCK.EditorWindow.event;if (FCK.EditorWindow){if (!FCK._IsFunctionKey(A.keyCode)&&!(A.ctrlKey||A.metaKey)&&!(A.keyCode==46)) FCK._KeyDownUndo();};return true;},_KeyDownUndo:function(){if (!FCKUndo.Typing){FCKUndo.SaveUndoStep();FCKUndo.Typing=true;FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.TypesCount++;FCKUndo.Changed=1;if (FCKUndo.TypesCount>FCKUndo.MaxTypes){FCKUndo.TypesCount=0;FCKUndo.SaveUndoStep();}},_TabKeyHandler:function(A){if (!A) A=window.event;var B=A.keyCode;if (B==9&&FCK.EditMode!=0){if (FCKBrowserInfo.IsIE){var C=document.selection.createRange();if (C.parentElement()!=FCK.EditingArea.Textarea) return true;C.text='\t';C.select();}else{var a=[];var D=FCK.EditingArea.Textarea;var E=D.selectionStart;var F=D.selectionEnd;a.push(D.value.substr(0,E));a.push('\t');a.push(D.value.substr(F));D.value=a.join('');D.setSelectionRange(E+1,E+1);};if (A.preventDefault) return A.preventDefault();return A.returnValue=false;};return true;}};FCK.Events=new FCKEvents(FCK);FCK.GetHTML=FCK.GetXHTML=FCK.GetData;FCK.SetHTML=FCK.SetData;FCK.InsertElementAndGetIt=FCK.CreateElement=FCK.InsertElement;function _FCK_ProtectEvents_ReplaceTags(A){return A.replace(FCKRegexLib.EventAttributes,_FCK_ProtectEvents_ReplaceEvents);};function _FCK_ProtectEvents_ReplaceEvents(A,B){return ' '+B+'_fckprotectedatt="'+encodeURIComponent(A)+'"';};function _FCK_ProtectEvents_RestoreEvents(A,B){return decodeURIComponent(B);};function _FCK_MouseEventsListener(A){if (!A) A=window.event;if (A.type=='mousedown') FCK.MouseDownFlag=true;else if (A.type=='mouseup') FCK.MouseDownFlag=false;else if (A.type=='mousemove') FCK.Events.FireEvent('OnMouseMove',A);};function _FCK_PaddingNodeListener(){if (FCKConfig.EnterMode.IEquals('br')) return;FCKDomTools.EnforcePaddingNode(FCK.EditorDocument,FCKConfig.EnterMode);if (!FCKBrowserInfo.IsIE&&FCKDomTools.PaddingNode){var A=FCKSelection.GetSelection();if (A&&A.rangeCount==1){var B=A.getRangeAt(0);if (B.collapsed&&B.startContainer==FCK.EditorDocument.body&&B.startOffset==0){B.selectNodeContents(FCKDomTools.PaddingNode);B.collapse(true);A.removeAllRanges();A.addRange(B);}}}else if (FCKDomTools.PaddingNode){var C=FCKSelection.GetParentElement();var D=FCKDomTools.PaddingNode;if (C&&C.nodeName.IEquals('body')){if (FCK.EditorDocument.body.childNodes.length==1&&FCK.EditorDocument.body.firstChild==D){if (FCKSelection._GetSelectionDocument(FCK.EditorDocument.selection)!=FCK.EditorDocument) return;var B=FCK.EditorDocument.body.createTextRange();var F=false;if (!D.childNodes.firstChild){D.appendChild(FCKTools.GetElementDocument(D).createTextNode('\ufeff'));F=true;};B.moveToElementText(D);B.select();if (F) B.pasteHTML('');}}}};function _FCK_EditingArea_OnLoad(){FCK.EditorWindow=FCK.EditingArea.Window;FCK.EditorDocument=FCK.EditingArea.Document;if (FCKBrowserInfo.IsIE) FCKTempBin.ToElements();FCK.InitializeBehaviors();FCK.MouseDownFlag=false;FCKTools.AddEventListener(FCK.EditorDocument,'mousemove',_FCK_MouseEventsListener);FCKTools.AddEventListener(FCK.EditorDocument,'mousedown',_FCK_MouseEventsListener);FCKTools.AddEventListener(FCK.EditorDocument,'mouseup',_FCK_MouseEventsListener);if (FCKBrowserInfo.IsSafari){FCKTools.AddEventListener(FCK.EditorDocument,'paste',function(evt){var A=new FCKDomRange(FCK.EditorWindow);var B=FCK.EditorDocument.createTextNode('\ufeff');var C=FCK.EditorDocument.createElement('a');C.id='fck_paste_padding';C.innerHTML='&#65279;';A.MoveToSelection();A.DeleteContents();A.InsertNode(B);A.Collapse();A.InsertNode(C);A.MoveToPosition(C,3);A.Select();setTimeout(function(){B.parentNode.removeChild(B);C=FCK.EditorDocument.getElementById('fck_paste_padding');C.parentNode.removeChild(C);},0);});};if (FCKBrowserInfo.IsSafari){var D=function(evt){if (!(evt.ctrlKey||evt.metaKey)) return;if (FCK.EditMode!=0) return;switch (evt.keyCode){case 89:FCKUndo.Redo();break;case 90:FCKUndo.Undo();break;}};FCKTools.AddEventListener(FCK.EditorDocument,'keyup',D);};FCK.EnterKeyHandler=new FCKEnterKey(FCK.EditorWindow,FCKConfig.EnterMode,FCKConfig.ShiftEnterMode,FCKConfig.TabSpaces);FCK.KeystrokeHandler.AttachToElement(FCK.EditorDocument);if (FCK._ForceResetIsDirty) FCK.ResetIsDirty();if (FCKBrowserInfo.IsIE&&FCK.HasFocus) FCK.EditorDocument.body.setActive();FCK.OnAfterSetHTML();FCKCommands.GetCommand('ShowBlocks').RestoreState();if (FCK.Status!=0) return;FCK.SetStatus(1);};function _FCK_GetEditorAreaStyleTags(){return FCKTools.GetStyleHtml(FCKConfig.EditorAreaCSS)+FCKTools.GetStyleHtml(FCKConfig.EditorAreaStyles);};function _FCK_KeystrokeHandler_OnKeystroke(A,B){if (FCK.Status!=2) return false;if (FCK.EditMode==0){switch (B){case 'Paste':return!FCK.Paste();case 'Cut':FCKUndo.SaveUndoStep();return false;}}else{if (B.Equals('Paste','Undo','Redo','SelectAll','Cut')) return false;};var C=FCK.Commands.GetCommand(B);if (C.GetState()==-1) return false;return (C.Execute.apply(C,FCKTools.ArgumentsToArray(arguments,2))!==false);};(function(){var A=window.parent.document;var B=A.getElementById(FCK.Name);var i=0;while (B||i==0){if (B&&B.tagName.toLowerCase().Equals('input','textarea')){FCK.LinkedField=B;break;};B=A.getElementsByName(FCK.Name)[i++];}})();var FCKTempBin={Elements:[],AddElement:function(A){var B=this.Elements.length;this.Elements[B]=A;return B;},RemoveElement:function(A){var e=this.Elements[A];this.Elements[A]=null;return e;},Reset:function(){var i=0;while (i<this.Elements.length) this.Elements[i++]=null;this.Elements.length=0;},ToHtml:function(){for (var i=0;i<this.Elements.length;i++){this.Elements[i]='<div>&nbsp;'+this.Elements[i].outerHTML+'</div>';this.Elements[i].isHtml=true;}},ToElements:function(){var A=FCK.EditorDocument.createElement('div');for (var i=0;i<this.Elements.length;i++){if (this.Elements[i].isHtml){A.innerHTML=this.Elements[i];this.Elements[i]=A.firstChild.removeChild(A.firstChild.lastChild);}}}};var FCKFocusManager=FCK.FocusManager={IsLocked:false,AddWindow:function(A,B){var C;if (FCKBrowserInfo.IsIE) C=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else if (FCKBrowserInfo.IsSafari) C=A;else C=A.document;FCKTools.AddEventListener(C,'blur',FCKFocusManager_Win_OnBlur);FCKTools.AddEventListener(C,'focus',B?FCKFocusManager_Win_OnFocus_Area:FCKFocusManager_Win_OnFocus);},RemoveWindow:function(A){if (FCKBrowserInfo.IsIE) oTarget=A.nodeType==1?A:A.frameElement?A.frameElement:A.document;else oTarget=A.document;FCKTools.RemoveEventListener(oTarget,'blur',FCKFocusManager_Win_OnBlur);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus_Area);FCKTools.RemoveEventListener(oTarget,'focus',FCKFocusManager_Win_OnFocus);},Lock:function(){this.IsLocked=true;},Unlock:function(){if (this._HasPendingBlur) FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);this.IsLocked=false;},_ResetTimer:function(){this._HasPendingBlur=false;if (this._Timer){window.clearTimeout(this._Timer);delete this._Timer;}}};function FCKFocusManager_Win_OnBlur(){if (typeof(FCK)!='undefined'&&FCK.HasFocus){FCKFocusManager._ResetTimer();FCKFocusManager._Timer=window.setTimeout(FCKFocusManager_FireOnBlur,100);}};function FCKFocusManager_FireOnBlur(){if (FCKFocusManager.IsLocked) FCKFocusManager._HasPendingBlur=true;else{FCK.HasFocus=false;FCK.Events.FireEvent("OnBlur");}};function FCKFocusManager_Win_OnFocus_Area(){if (FCKFocusManager._IsFocusing) return;FCKFocusManager._IsFocusing=true;FCK.Focus();FCKFocusManager_Win_OnFocus();FCKTools.RunFunction(function(){delete FCKFocusManager._IsFocusing;});};function FCKFocusManager_Win_OnFocus(){FCKFocusManager._ResetTimer();if (!FCK.HasFocus&&!FCKFocusManager.IsLocked){FCK.HasFocus=true;FCK.Events.FireEvent("OnFocus");}};(function(){var A=window.frameElement;var B=A.width;var C=A.height;if (/^\d+$/.test(B)) B+='px';if (/^\d+$/.test(C)) C+='px';var D=A.style;D.border=D.padding=D.margin=0;D.backgroundColor='transparent';D.backgroundImage='none';D.width=B;D.height=C;})();\r
+FCK.Description="FCKeditor for Internet Explorer 5.5+";FCK._GetBehaviorsStyle=function(){if (!FCK._BehaviorsStyle){var A=FCKConfig.BasePath;var B='';var C;C='<style type="text/css" _fcktemp="true">';if (FCKConfig.ShowBorders) B='url('+A+'css/behaviors/showtableborders.htc)';C+='INPUT,TEXTAREA,SELECT,.FCK__Anchor,.FCK__PageBreak,.FCK__InputHidden';if (FCKConfig.DisableObjectResizing){C+=',IMG';B+=' url('+A+'css/behaviors/disablehandles.htc)';};C+=' { behavior: url('+A+'css/behaviors/disablehandles.htc) ; }';if (B.length>0) C+='TABLE { behavior: '+B+' ; }';C+='</style>';FCK._BehaviorsStyle=C;};return FCK._BehaviorsStyle;};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(){var A=FCK.EditorDocument.body;A.detachEvent('onpaste',Doc_OnPaste);var B=FCK.Paste(!FCKConfig.ForcePasteAsPlainText&&!FCKConfig.AutoDetectPasteFromWord);A.attachEvent('onpaste',Doc_OnPaste);return B;};function Doc_OnDblClick(){FCK.OnDoubleClick(FCK.EditorWindow.event.srcElement);FCK.EditorWindow.event.cancelBubble=true;};function Doc_OnSelectionChange(){if (!FCK.IsSelectionChangeLocked&&FCK.EditorDocument) FCK.Events.FireEvent("OnSelectionChange");};function Doc_OnDrop(){if (FCK.MouseDownFlag){FCK.MouseDownFlag=false;return;};if (FCKConfig.ForcePasteAsPlainText){var A=FCK.EditorWindow.event;if (FCK._CheckIsPastingEnabled()||FCKConfig.ShowDropDialog) FCK.PasteAsPlainText(A.dataTransfer.getData('Text'));A.returnValue=false;A.cancelBubble=true;}};FCK.InitializeBehaviors=function(A){this.EditorDocument.attachEvent('onmouseup',Doc_OnMouseUp);this.EditorDocument.body.attachEvent('onpaste',Doc_OnPaste);this.EditorDocument.body.attachEvent('ondrop',Doc_OnDrop);FCK.ContextMenu._InnerContextMenu.AttachToElement(FCK.EditorDocument.body);this.EditorDocument.attachEvent("onkeydown",FCK._KeyDownListener);this.EditorDocument.attachEvent("ondblclick",Doc_OnDblClick);this.EditorDocument.attachEvent("onbeforedeactivate",function(){ FCKSelection.Save();});this.EditorDocument.attachEvent("onselectionchange",Doc_OnSelectionChange);FCKTools.AddEventListener(FCK.EditorDocument,'mousedown',Doc_OnMouseDown);};FCK.InsertHtml=function(A){A=FCKConfig.ProtectedSource.Protect(A);A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);FCKSelection.Restore();FCK.EditorWindow.focus();FCKUndo.SaveUndoStep();var B=FCKSelection.GetSelection();if (B.type.toLowerCase()=='control') B.clear();A='<span id="__fakeFCKRemove__" style="display:none;">fakeFCKRemove</span>'+A;B.createRange().pasteHTML(A);var C=FCK.EditorDocument.getElementById('__fakeFCKRemove__');if (C.parentNode.childNodes.length==1) C=C.parentNode;C.removeNode(true);FCKDocumentProcessor.Process(FCK.EditorDocument);this.Events.FireEvent("OnSelectionChange");};FCK.SetInnerHtml=function(A){var B=FCK.EditorDocument;B.body.innerHTML='<div id="__fakeFCKRemove__">&nbsp;</div>'+A;B.getElementById('__fakeFCKRemove__').removeNode(true);};function FCK_PreloadImages(){var A=new FCKImagePreloader();A.AddImages(FCKConfig.PreloadImages);A.AddImages(FCKConfig.SkinPath+'fck_strip.gif');A.OnComplete=LoadToolbarSetup;A.Start();};function Document_OnContextMenu(){return (event.srcElement._FCKShowContextMenu==true);};document.oncontextmenu=Document_OnContextMenu;function FCK_Cleanup(){this.LinkedField=null;this.EditorWindow=null;this.EditorDocument=null;};FCK._ExecPaste=function(){if (FCK._PasteIsRunning) return true;if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;};var A=FCK._CheckIsPastingEnabled(true);if (A===false) FCKTools.RunFunction(FCKDialog.OpenDialog,FCKDialog,['FCKDialog_Paste',FCKLang.Paste,'dialog/fck_paste.html',400,330,'Security']);else{if (FCKConfig.AutoDetectPasteFromWord&&A.length>0){var B=/<\w[^>]*(( class="?MsoNormal"?)|(="mso-))/gi;if (B.test(A)){if (confirm(FCKLang.PasteWordConfirm)){FCK.PasteFromWord();return false;}}};FCK._PasteIsRunning=true;FCK.ExecuteNamedCommand('Paste');delete FCK._PasteIsRunning;};return false;};FCK.PasteAsPlainText=function(A){if (!FCK._CheckIsPastingEnabled()){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText');return;};var B=null;if (!A) B=clipboardData.getData("Text");else B=A;if (B&&B.length>0){B=FCKTools.HTMLEncode(B);B=FCKTools.ProcessLineBreaks(window,FCKConfig,B);var C=B.search('</p>');var D=B.search('<p>');if ((C!=-1&&D!=-1&&C<D)||(C!=-1&&D==-1)){var E=B.substr(0,C);B=B.substr(C+4);this.InsertHtml(E);};FCKUndo.SaveLocked=true;this.InsertHtml(B);FCKUndo.SaveLocked=false;}};FCK._CheckIsPastingEnabled=function(A){FCK._PasteIsEnabled=false;document.body.attachEvent('onpaste',FCK_CheckPasting_Listener);var B=FCK.GetClipboardHTML();document.body.detachEvent('onpaste',FCK_CheckPasting_Listener);if (FCK._PasteIsEnabled){if (!A) B=true;}else B=false;delete FCK._PasteIsEnabled;return B;};function FCK_CheckPasting_Listener(){FCK._PasteIsEnabled=true;};FCK.GetClipboardHTML=function(){var A=document.getElementById('___FCKHiddenDiv');if (!A){A=document.createElement('DIV');A.id='___FCKHiddenDiv';var B=A.style;B.position='absolute';B.visibility=B.overflow='hidden';B.width=B.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.CreateLink=function(A,B){var C=[];var D=FCKSelection.GetType()=='Control';var E=D&&FCKSelection.GetSelectedElement();if (!(D&&!FCKTools.GetElementAscensor(E,'a'))) FCK.ExecuteNamedCommand('Unlink',null,false,!!B);if (A.length>0){if (D){var F=this.EditorDocument.createElement('A');F.href=A;var G=E;G.parentNode.insertBefore(F,G);G.parentNode.removeChild(G);F.appendChild(G);return [F];};var H='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',H,false,!!B);var I=this.EditorDocument.links;for (i=0;i<I.length;i++){var F=I[i];if (F.getAttribute('href',2)==H){var K=F.innerHTML;F.href=A;F.innerHTML=K;var L=F.lastChild;if (L&&L.nodeName=='BR'){FCKDomTools.InsertAfterNode(F,F.removeChild(L));};C.push(F);}}};return C;};function _FCK_RemoveDisabledAtt(){this.removeAttribute('disabled');};function Doc_OnMouseDown(A){var e=A.srcElement;if (e.nodeName&&e.nodeName.IEquals('input')&&e.type.IEquals(['radio','checkbox'])&&!e.disabled){e.disabled=true;FCKTools.SetTimeout(_FCK_RemoveDisabledAtt,1,e);}};\r
+var FCKConfig=FCK.Config={};if (document.location.protocol=='file:'){FCKConfig.BasePath=decodeURIComponent(document.location.pathname.substr(1));FCKConfig.BasePath=FCKConfig.BasePath.replace(/\\/gi,'/');var sFullProtocol=document.location.href.match(/^(file\:\/{2,3})/)[1];if (FCKBrowserInfo.IsOpera) sFullProtocol+='localhost/';FCKConfig.BasePath=sFullProtocol+FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1);}else FCKConfig.BasePath=document.location.protocol+'//'+document.location.host+document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1);FCKConfig.FullBasePath=FCKConfig.BasePath;FCKConfig.EditorPath=FCKConfig.BasePath.replace(/editor\/$/,'');try{FCKConfig.ScreenWidth=screen.width;FCKConfig.ScreenHeight=screen.height;}catch (e){FCKConfig.ScreenWidth=800;FCKConfig.ScreenHeight=600;};FCKConfig.ProcessHiddenField=function(){this.PageConfig={};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=decodeURIComponent(C[0]);var E=decodeURIComponent(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 (E.length>0&&!isNaN(E)) this.PageConfig[D]=parseFloat(E);else this.PageConfig[D]=E;}};function FCKConfig_LoadPageConfig(){var A=FCKConfig.PageConfig;for (var B in A) FCKConfig[B]=A[B];};function FCKConfig_PreProcess(){var A=FCKConfig;if (A.AllowQueryStringDebug){try{if ((/fckdebug=true/i).test(window.top.location.search)) A.Debug=true;}catch (e) {  }};if (!A.PluginsPath.EndsWith('/')) A.PluginsPath+='/';var B=A.ToolbarComboPreviewCSS;if (!B||B.length==0) A.ToolbarComboPreviewCSS=A.EditorAreaCSS;A.RemoveAttributesArray=(A.RemoveAttributes||'').split(',');if (!FCKConfig.SkinEditorCSS||FCKConfig.SkinEditorCSS.length==0) FCKConfig.SkinEditorCSS=FCKConfig.SkinPath+'fck_editor.css';if (!FCKConfig.SkinDialogCSS||FCKConfig.SkinDialogCSS.length==0) FCKConfig.SkinDialogCSS=FCKConfig.SkinPath+'fck_dialog.css';};FCKConfig.ToolbarSets={};FCKConfig.Plugins={};FCKConfig.Plugins.Items=[];FCKConfig.Plugins.Add=function(A,B,C){FCKConfig.Plugins.Items.push([A,B,C]);};FCKConfig.ProtectedSource={};FCKConfig.ProtectedSource._CodeTag=(new Date()).valueOf();FCKConfig.ProtectedSource.RegexEntries=[/<!--[\s\S]*?-->/g,/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi];FCKConfig.ProtectedSource.Add=function(A){this.RegexEntries.push(A);};FCKConfig.ProtectedSource.Protect=function(A){var B=this._CodeTag;function _Replace(protectedSource){var C=FCKTempBin.AddElement(protectedSource);return '<!--{'+B+C+'}-->';};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);};var D=new RegExp("(<|&lt;)!--\\{"+this._CodeTag+"(\\d+)\\}--(>|&gt;)","g");return A.replace(D,_Replace);};FCKConfig.GetBodyAttributes=function(){var A='';if (this.BodyId&&this.BodyId.length>0) A+=' id="'+this.BodyId+'"';if (this.BodyClass&&this.BodyClass.length>0) A+=' class="'+this.BodyClass+'"';return A;};FCKConfig.ApplyBodyAttributes=function(A){if (this.BodyId&&this.BodyId.length>0) A.id=FCKConfig.BodyId;if (this.BodyClass&&this.BodyClass.length>0) A.className+=' '+FCKConfig.BodyClass;};\r
+var FCKDebug={Output:function(){},OutputObject:function(){}};\r
+var FCKDomTools={MoveChildren:function(A,B,C){if (A==B) return;var D;if (C){while ((D=A.lastChild)) B.insertBefore(A.removeChild(D),B.firstChild);}else{while ((D=A.firstChild)) B.appendChild(A.removeChild(D));}},MoveNode:function(A,B,C){if (C) B.insertBefore(FCKDomTools.RemoveNode(A),B.firstChild);else B.appendChild(FCKDomTools.RemoveNode(A));},TrimNode:function(A){this.LTrimNode(A);this.RTrimNode(A);},LTrimNode:function(A){var B;while ((B=A.firstChild)){if (B.nodeType==3){var C=B.nodeValue.LTrim();var D=B.nodeValue.length;if (C.length==0){A.removeChild(B);continue;}else if (C.length<D){B.splitText(D-C.length);A.removeChild(A.firstChild);}};break;}},RTrimNode:function(A){var B;while ((B=A.lastChild)){if (B.nodeType==3){var C=B.nodeValue.RTrim();var D=B.nodeValue.length;if (C.length==0){B.parentNode.removeChild(B);continue;}else if (C.length<D){B.splitText(C.length);A.lastChild.parentNode.removeChild(A.lastChild);}};break;};if (!FCKBrowserInfo.IsIE&&!FCKBrowserInfo.IsOpera){B=A.lastChild;if (B&&B.nodeType==1&&B.nodeName.toLowerCase()=='br'){B.parentNode.removeChild(B);}}},RemoveNode:function(A,B){if (B){var C;while ((C=A.firstChild)) A.parentNode.insertBefore(A.removeChild(C),A);};return A.parentNode.removeChild(A);},GetFirstChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.firstChild;while(C){if (C.nodeType==1&&C.tagName.Equals.apply(C.tagName,B)) return C;C=C.nextSibling;};return null;},GetLastChild:function(A,B){if (typeof (B)=='string') B=[B];var C=A.lastChild;while(C){if (C.nodeType==1&&(!B||C.tagName.Equals(B))) return C;C=C.previousSibling;};return null;},GetPreviousSourceElement:function(A,B,C,D){if (!A) return null;if (C&&A.nodeType==1&&A.nodeName.IEquals(C)) return null;if (A.previousSibling) A=A.previousSibling;else return this.GetPreviousSourceElement(A.parentNode,B,C,D);while (A){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (!D||!A.nodeName.IEquals(D)) return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;if (A.lastChild) A=A.lastChild;else return this.GetPreviousSourceElement(A,B,C,D);};return null;},GetNextSourceElement:function(A,B,C,D,E){while((A=this.GetNextSourceNode(A,E))){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (D&&A.nodeName.IEquals(D)) return this.GetNextSourceElement(A,B,C,D);return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;};return null;},GetNextSourceNode:function(A,B,C,D){if (!A) return null;var E;if (!B&&A.firstChild) E=A.firstChild;else{if (D&&A==D) return null;E=A.nextSibling;if (!E&&(!D||D!=A.parentNode)) return this.GetNextSourceNode(A.parentNode,true,C,D);};if (C&&E&&E.nodeType!=C) return this.GetNextSourceNode(E,false,C,D);return E;},GetPreviousSourceNode:function(A,B,C,D){if (!A) return null;var E;if (!B&&A.lastChild) E=A.lastChild;else{if (D&&A==D) return null;E=A.previousSibling;if (!E&&(!D||D!=A.parentNode)) return this.GetPreviousSourceNode(A.parentNode,true,C,D);};if (C&&E&&E.nodeType!=C) return this.GetPreviousSourceNode(E,false,C,D);return E;},InsertAfterNode:function(A,B){return A.parentNode.insertBefore(B,A.nextSibling);},GetParents:function(A){var B=[];while (A){B.unshift(A);A=A.parentNode;};return B;},GetCommonParents:function(A,B){var C=this.GetParents(A);var D=this.GetParents(B);var E=[];for (var i=0;i<C.length;i++){if (C[i]==D[i]) E.push(C[i]);};return E;},GetCommonParentNode:function(A,B,C){var D={};if (!C.pop) C=[C];while (C.length>0) D[C.pop().toLowerCase()]=1;var E=this.GetCommonParents(A,B);var F=null;while ((F=E.pop())){if (D[F.nodeName.toLowerCase()]) return F;};return null;},GetIndexOf:function(A){var B=A.parentNode?A.parentNode.firstChild:null;var C=-1;while (B){C++;if (B==A) return C;B=B.nextSibling;};return-1;},PaddingNode:null,EnforcePaddingNode:function(A,B){try{if (!A||!A.body) return;}catch (e){return;};this.CheckAndRemovePaddingNode(A,B,true);try{if (A.body.lastChild&&(A.body.lastChild.nodeType!=1||A.body.lastChild.tagName.toLowerCase()==B.toLowerCase())) return;}catch (e){return;};var C=A.createElement(B);if (FCKBrowserInfo.IsGecko&&FCKListsLib.NonEmptyBlockElements[B]) FCKTools.AppendBogusBr(C);this.PaddingNode=C;if (A.body.childNodes.length==1&&A.body.firstChild.nodeType==1&&A.body.firstChild.tagName.toLowerCase()=='br'&&(A.body.firstChild.getAttribute('_moz_dirty')!=null||A.body.firstChild.getAttribute('type')=='_moz')) A.body.replaceChild(C,A.body.firstChild);else A.body.appendChild(C);},CheckAndRemovePaddingNode:function(A,B,C){var D=this.PaddingNode;if (!D) return;try{if (D.parentNode!=A.body||D.tagName.toLowerCase()!=B||(D.childNodes.length>1)||(D.firstChild&&D.firstChild.nodeValue!='\xa0'&&String(D.firstChild.tagName).toLowerCase()!='br')){this.PaddingNode=null;return;}}catch (e){this.PaddingNode=null;return;};if (!C){if (D.parentNode.childNodes.length>1) D.parentNode.removeChild(D);this.PaddingNode=null;}},HasAttribute:function(A,B){if (A.hasAttribute) return A.hasAttribute(B);else{var C=A.attributes[B];return (C!=undefined&&C.specified);}},HasAttributes:function(A){var B=A.attributes;for (var i=0;i<B.length;i++){if (FCKBrowserInfo.IsIE){var C=B[i].nodeName;if (C.StartsWith('_fck')){continue;};if (C=='class'){if (A.className.length>0) return true;continue;}};if (B[i].specified) return true;};return false;},RemoveAttribute:function(A,B){if (FCKBrowserInfo.IsIE&&B.toLowerCase()=='class') B='className';return A.removeAttribute(B,0);},RemoveAttributes:function (A,B){for (var i=0;i<B.length;i++) this.RemoveAttribute(A,B[i]);},GetAttributeValue:function(A,B){var C=B;if (typeof B=='string') B=A.attributes[B];else C=B.nodeName;if (B&&B.specified){if (C=='style') return A.style.cssText;else if (C=='class'||C.indexOf('on')==0) return B.nodeValue;else{return A.getAttribute(C,2);}};return null;},Contains:function(A,B){if (A.contains&&B.nodeType==1) return A.contains(B);while ((B=B.parentNode)){if (B==A) return true;};return false;},BreakParent:function(A,B,C){var D=C||new FCKDomRange(FCKTools.GetElementWindow(A));D.SetStart(A,4);D.SetEnd(B,4);var E=D.ExtractContents();D.InsertNode(A.parentNode.removeChild(A));E.InsertAfterNode(A);D.Release(!!C);},GetNodeAddress:function(A,B){var C=[];while (A&&A!=FCKTools.GetElementDocument(A).documentElement){var D=A.parentNode;var E=-1;for(var i=0;i<D.childNodes.length;i++){var F=D.childNodes[i];if (B===true&&F.nodeType==3&&F.previousSibling&&F.previousSibling.nodeType==3) continue;E++;if (D.childNodes[i]==A) break;};C.unshift(E);A=A.parentNode;};return C;},GetNodeFromAddress:function(A,B,C){var D=A.documentElement;for (var i=0;i<B.length;i++){var E=B[i];if (!C){D=D.childNodes[E];continue;};var F=-1;for (var j=0;j<D.childNodes.length;j++){var G=D.childNodes[j];if (C===true&&G.nodeType==3&&G.previousSibling&&G.previousSibling.nodeType==3) continue;F++;if (F==E){D=G;break;}}};return D;},CloneElement:function(A){A=A.cloneNode(false);A.removeAttribute('id',false);return A;},ClearElementJSProperty:function(A,B){if (FCKBrowserInfo.IsIE) A.removeAttribute(B);else delete A[B];},SetElementMarker:function (A,B,C,D){var E=String(parseInt(Math.random()*0xffffffff,10));B._FCKMarkerId=E;B[C]=D;if (!A[E]) A[E]={ 'element':B,'markers':{} };A[E]['markers'][C]=D;},ClearElementMarkers:function(A,B,C){var D=B._FCKMarkerId;if (!D) return;this.ClearElementJSProperty(B,'_FCKMarkerId');for (var j in A[D]['markers']) this.ClearElementJSProperty(B,j);if (C) delete A[D];},ClearAllMarkers:function(A){for (var i in A) this.ClearElementMarkers(A,A[i]['element'],true);},ListToArray:function(A,B,C,D,E){if (!A.nodeName.IEquals(['ul','ol'])) return [];if (!D) D=0;if (!C) C=[];for (var i=0;i<A.childNodes.length;i++){var F=A.childNodes[i];if (!F.nodeName.IEquals('li')) continue;var G={ 'parent':A,'indent':D,'contents':[] };if (!E){G.grandparent=A.parentNode;if (G.grandparent&&G.grandparent.nodeName.IEquals('li')) G.grandparent=G.grandparent.parentNode;}else G.grandparent=E;if (B) this.SetElementMarker(B,F,'_FCK_ListArray_Index',C.length);C.push(G);for (var j=0;j<F.childNodes.length;j++){var H=F.childNodes[j];if (H.nodeName.IEquals(['ul','ol'])) this.ListToArray(H,B,C,D+1,G.grandparent);else G.contents.push(H);}};return C;},ArrayToList:function(A,B,C){if (C==undefined) C=0;if (!A||A.length<C+1) return null;var D=FCKTools.GetElementDocument(A[C].parent);var E=D.createDocumentFragment();var F=null;var G=C;var H=Math.max(A[C].indent,0);var I=null;while (true){var J=A[G];if (J.indent==H){if (!F||A[G].parent.nodeName!=F.nodeName){F=A[G].parent.cloneNode(false);E.appendChild(F);};I=D.createElement('li');F.appendChild(I);for (var i=0;i<J.contents.length;i++) I.appendChild(J.contents[i].cloneNode(true));G++;}else if (J.indent==Math.max(H,0)+1){var K=this.ArrayToList(A,null,G);I.appendChild(K.listNode);G=K.nextIndex;}else if (J.indent==-1&&C==0&&J.grandparent){var I;if (J.grandparent.nodeName.IEquals(['ul','ol'])) I=D.createElement('li');else{if (FCKConfig.EnterMode.IEquals(['div','p'])&&!J.grandparent.nodeName.IEquals('td')) I=D.createElement(FCKConfig.EnterMode);else I=D.createDocumentFragment();};for (var i=0;i<J.contents.length;i++) I.appendChild(J.contents[i].cloneNode(true));if (I.nodeType==11){if (I.lastChild&&I.lastChild.getAttribute&&I.lastChild.getAttribute('type')=='_moz') I.removeChild(I.lastChild);I.appendChild(D.createElement('br'));};if (I.nodeName.IEquals(FCKConfig.EnterMode)&&I.firstChild){this.TrimNode(I);if (FCKListsLib.BlockBoundaries[I.firstChild.nodeName.toLowerCase()]){var M=D.createDocumentFragment();while (I.firstChild) M.appendChild(I.removeChild(I.firstChild));I=M;}};if (FCKBrowserInfo.IsGeckoLike&&I.nodeName.IEquals(['div','p'])) FCKTools.AppendBogusBr(I);E.appendChild(I);F=null;G++;}else return null;if (A.length<=G||Math.max(A[G].indent,0)<H){break;}};if (B){var N=E.firstChild;while (N){if (N.nodeType==1) this.ClearElementMarkers(B,N);N=this.GetNextSourceNode(N);}};return { 'listNode':E,'nextIndex':G };},GetNextSibling:function(A,B){A=A.nextSibling;while (A&&!B&&A.nodeType!=1&&(A.nodeType!=3||A.nodeValue.length==0)) A=A.nextSibling;return A;},GetPreviousSibling:function(A,B){A=A.previousSibling;while (A&&!B&&A.nodeType!=1&&(A.nodeType!=3||A.nodeValue.length==0)) A=A.previousSibling;return A;},CheckIsEmptyElement:function(A,B){var C=A.firstChild;var D;while (C){if (C.nodeType==1){if (D||!FCKListsLib.InlineNonEmptyElements[C.nodeName.toLowerCase()]) return false;if (!B||B(C)===true) D=C;}else if (C.nodeType==3&&C.nodeValue.length>0) return false;C=C.nextSibling;};return D?this.CheckIsEmptyElement(D,B):true;},SetElementStyles:function(A,B){var C=A.style;for (var D in B) C[D]=B[D];},SetOpacity:function(A,B){if (FCKBrowserInfo.IsIE){B=Math.round(B*100);A.style.filter=(B>100?'':'progid:DXImageTransform.Microsoft.Alpha(opacity='+B+')');}else A.style.opacity=B;},GetCurrentElementStyle:function(A,B){if (FCKBrowserInfo.IsIE) return A.currentStyle[B];else return A.ownerDocument.defaultView.getComputedStyle(A,'').getPropertyValue(B);},GetPositionedAncestor:function(A){var B=A;while (B!=FCKTools.GetElementDocument(B).documentElement){if (this.GetCurrentElementStyle(B,'position')!='static') return B;if (B==FCKTools.GetElementDocument(B).documentElement&&currentWindow!=w) B=currentWindow.frameElement;else B=B.parentNode;};return null;},ScrollIntoView:function(A,B){var C=FCKTools.GetElementWindow(A);var D=FCKTools.GetViewPaneSize(C).Height;var E=D*-1;if (B===false){E+=A.offsetHeight||0;E+=parseInt(this.GetCurrentElementStyle(A,'marginBottom')||0,10)||0;};var F=FCKTools.GetDocumentPosition(C,A);E+=F.y;var G=FCKTools.GetScrollPosition(C).Y;if (E>0&&(E>G||E<G-D)) C.scrollTo(0,E);},CheckIsEditable:function(A){var B=A.nodeName.toLowerCase();var C=FCK.DTD[B]||FCK.DTD.span;return (C['#']&&!FCKListsLib.NonEditableElements[B]);},GetSelectedDivContainers:function(){var A=[];var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.GetTouchedStartNode();var D=B.GetTouchedEndNode();var E=C;if (C==D){while (D.nodeType==1&&D.lastChild) D=D.lastChild;D=FCKDomTools.GetNextSourceNode(D);}while (E&&E!=D){if (E.nodeType!=3||!/^[ \t\n]*$/.test(E.nodeValue)){var F=new FCKElementPath(E);var G=F.BlockLimit;if (G&&G.nodeName.IEquals('div')&&A.IndexOf(G)==-1) A.push(G);};E=FCKDomTools.GetNextSourceNode(E);};return A;}};\r
+var FCKTools={};FCKTools.CreateBogusBR=function(A){var B=A.createElement('br');B.setAttribute('type','_moz');return B;};FCKTools.FixCssUrls=function(A,B){if (!A||A.length==0) return B;return B.replace(/url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g,function(match,opener,path,closer){if (/^\/|^\w?:/.test(path)) return match;else return 'url('+opener+A+path+closer+')';});};FCKTools._GetUrlFixedCss=function(A,B){var C=A.match(/^([^|]+)\|([\s\S]*)/);if (C) return FCKTools.FixCssUrls(C[1],C[2]);else return A;};FCKTools.AppendStyleSheet=function(A,B){if (!B) return [];if (typeof(B)=='string'){if (/[\\\/\.][^{}]*$/.test(B)){return this.AppendStyleSheet(A,B.split(','));}else return [this.AppendStyleString(A,FCKTools._GetUrlFixedCss(B))];}else{var C=[];for (var i=0;i<B.length;i++) C.push(this._AppendStyleSheet(A,B[i]));return C;}};FCKTools.GetStyleHtml=(function(){var A=function(styleDef,markTemp){if (styleDef.length==0) return '';var B=markTemp?' _fcktemp="true"':'';return '<style type="text/css"'+B+'>'+styleDef+'</style>';};var C=function(cssFileUrl,markTemp){if (cssFileUrl.length==0) return '';var B=markTemp?' _fcktemp="true"':'';return '<link href="'+cssFileUrl+'" type="text/css" rel="stylesheet" '+B+'/>';};return function(cssFileOrArrayOrDef,markTemp){if (!cssFileOrArrayOrDef) return '';if (typeof(cssFileOrArrayOrDef)=='string'){if (/[\\\/\.][^{}]*$/.test(cssFileOrArrayOrDef)){return this.GetStyleHtml(cssFileOrArrayOrDef.split(','),markTemp);}else return A(this._GetUrlFixedCss(cssFileOrArrayOrDef),markTemp);}else{var E='';for (var i=0;i<cssFileOrArrayOrDef.length;i++) E+=C(cssFileOrArrayOrDef[i],markTemp);return E;}}})();FCKTools.GetElementDocument=function (A){return A.ownerDocument||A.document;};FCKTools.GetElementWindow=function(A){return this.GetDocumentWindow(this.GetElementDocument(A));};FCKTools.GetDocumentWindow=function(A){if (FCKBrowserInfo.IsSafari&&!A.parentWindow) this.FixDocumentParentWindow(window.top);return A.parentWindow||A.defaultView;};FCKTools.FixDocumentParentWindow=function(A){if (A.document) A.document.parentWindow=A;for (var i=0;i<A.frames.length;i++) FCKTools.FixDocumentParentWindow(A.frames[i]);};FCKTools.HTMLEncode=function(A){if (!A) return '';A=A.replace(/&/g,'&amp;');A=A.replace(/</g,'&lt;');A=A.replace(/>/g,'&gt;');return A;};FCKTools.HTMLDecode=function(A){if (!A) return '';A=A.replace(/&gt;/g,'>');A=A.replace(/&lt;/g,'<');A=A.replace(/&amp;/g,'&');return A;};FCKTools._ProcessLineBreaksForPMode=function(A,B,C,D,E){var F=0;var G="<p>";var H="</p>";var I="<br />";if (C){G="<li>";H="</li>";F=1;}while (D&&D!=A.FCK.EditorDocument.body){if (D.tagName.toLowerCase()=='p'){F=1;break;};D=D.parentNode;};for (var i=0;i<B.length;i++){var c=B.charAt(i);if (c=='\r') continue;if (c!='\n'){E.push(c);continue;};var n=B.charAt(i+1);if (n=='\r'){i++;n=B.charAt(i+1);};if (n=='\n'){i++;if (F) E.push(H);E.push(G);F=1;}else E.push(I);}};FCKTools._ProcessLineBreaksForDivMode=function(A,B,C,D,E){var F=0;var G="<div>";var H="</div>";if (C){G="<li>";H="</li>";F=1;}while (D&&D!=A.FCK.EditorDocument.body){if (D.tagName.toLowerCase()=='div'){F=1;break;};D=D.parentNode;};for (var i=0;i<B.length;i++){var c=B.charAt(i);if (c=='\r') continue;if (c!='\n'){E.push(c);continue;};if (F){if (E[E.length-1]==G){E.push("&nbsp;");};E.push(H);};E.push(G);F=1;};if (F) E.push(H);};FCKTools._ProcessLineBreaksForBrMode=function(A,B,C,D,E){var F=0;var G="<br />";var H="";if (C){G="<li>";H="</li>";F=1;};for (var i=0;i<B.length;i++){var c=B.charAt(i);if (c=='\r') continue;if (c!='\n'){E.push(c);continue;};if (F&&H.length) E.push (H);E.push(G);F=1;}};FCKTools.ProcessLineBreaks=function(A,B,C){var D=B.EnterMode.toLowerCase();var E=[];var F=0;var G=new A.FCKDomRange(A.FCK.EditorWindow);G.MoveToSelection();var H=G._Range.startContainer;while (H&&H.nodeType!=1) H=H.parentNode;if (H&&H.tagName.toLowerCase()=='li') F=1;if (D=='p') this._ProcessLineBreaksForPMode(A,C,F,H,E);else if (D=='div') this._ProcessLineBreaksForDivMode(A,C,F,H,E);else if (D=='br') this._ProcessLineBreaksForBrMode(A,C,F,H,E);return E.join("");};FCKTools.AddSelectOption=function(A,B,C){var D=FCKTools.GetElementDocument(A).createElement("OPTION");D.text=B;D.value=C;A.options.add(D);return D;};FCKTools.RunFunction=function(A,B,C,D){if (A) this.SetTimeout(A,0,B,C,D);};FCKTools.SetTimeout=function(A,B,C,D,E){return (E||window).setTimeout(function(){if (D) A.apply(C,[].concat(D));else A.apply(C);},B);};FCKTools.SetInterval=function(A,B,C,D,E){return (E||window).setInterval(function(){A.apply(C,D||[]);},B);};FCKTools.ConvertStyleSizeToHtml=function(A){return A.EndsWith('%')?A:parseInt(A,10);};FCKTools.ConvertHtmlSizeToStyle=function(A){return A.EndsWith('%')?A:(A+'px');};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.CreateEventListener=function(A,B){var f=function(){var C=[];for (var i=0;i<arguments.length;i++) C.push(arguments[i]);A.apply(this,C.concat(B));};return f;};FCKTools.IsStrictMode=function(A){return ('CSS1Compat'==(A.compatMode||(FCKBrowserInfo.IsSafari?'CSS1Compat':null)));};FCKTools.ArgumentsToArray=function(A,B,C){B=B||0;C=C||A.length;var D=[];for (var i=B;i<B+C&&i<A.length;i++) D.push(A[i]);return D;};FCKTools.CloneObject=function(A){var B=function() {};B.prototype=A;return new B;};FCKTools.AppendBogusBr=function(A){if (!A) return;var B=this.GetLastItem(A.getElementsByTagName('br'));if (!B||(B.getAttribute('type',2)!='_moz'&&B.getAttribute('_moz_dirty')==null)){var C=this.GetElementDocument(A);if (FCKBrowserInfo.IsOpera) A.appendChild(C.createTextNode(''));else A.appendChild(this.CreateBogusBR(C));}};FCKTools.GetLastItem=function(A){if (A.length>0) return A[A.length-1];return null;};FCKTools.GetDocumentPosition=function(w,A){var x=0;var y=0;var B=A;var C=null;var D=FCKTools.GetElementWindow(B);while (B&&!(D==w&&(B==w.document.body||B==w.document.documentElement))){x+=B.offsetLeft-B.scrollLeft;y+=B.offsetTop-B.scrollTop;if (!FCKBrowserInfo.IsOpera){var E=C;while (E&&E!=B){x-=E.scrollLeft;y-=E.scrollTop;E=E.parentNode;}};C=B;if (B.offsetParent) B=B.offsetParent;else{if (D!=w){B=D.frameElement;C=null;if (B) D=B.contentWindow.parent;}else B=null;}};if (FCKDomTools.GetCurrentElementStyle(w.document.body,'position')!='static'||(FCKBrowserInfo.IsIE&&FCKDomTools.GetPositionedAncestor(A)==null)){x+=w.document.body.offsetLeft;y+=w.document.body.offsetTop;};return { "x":x,"y":y };};FCKTools.GetWindowPosition=function(w,A){var B=this.GetDocumentPosition(w,A);var C=FCKTools.GetScrollPosition(w);B.x-=C.X;B.y-=C.Y;return B;};FCKTools.ProtectFormStyles=function(A){if (!A||A.nodeType!=1||A.tagName.toLowerCase()!='form') return [];var B=[];var C=['style','className'];for (var i=0;i<C.length;i++){var D=C[i];if (A.elements.namedItem(D)){var E=A.elements.namedItem(D);B.push([E,E.nextSibling]);A.removeChild(E);}};return B;};FCKTools.RestoreFormStyles=function(A,B){if (!A||A.nodeType!=1||A.tagName.toLowerCase()!='form') return;if (B.length>0){for (var i=B.length-1;i>=0;i--){var C=B[i][0];var D=B[i][1];if (D) A.insertBefore(C,D);else A.appendChild(C);}}};FCKTools.GetNextNode=function(A,B){if (A.firstChild) return A.firstChild;else if (A.nextSibling) return A.nextSibling;else{var C=A.parentNode;while (C){if (C==B) return null;if (C.nextSibling) return C.nextSibling;else C=C.parentNode;}};return null;};FCKTools.GetNextTextNode=function(A,B,C){node=this.GetNextNode(A,B);if (C&&node&&C(node)) return null;while (node&&node.nodeType!=3){node=this.GetNextNode(node,B);if (C&&node&&C(node)) return null;};return node;};FCKTools.Merge=function(){var A=arguments;var o=A[0];for (var i=1;i<A.length;i++){var B=A[i];for (var p in B) o[p]=B[p];};return o;};FCKTools.IsArray=function(A){return (A instanceof Array);};FCKTools.AppendLengthProperty=function(A,B){var C=0;for (var n in A) C++;return A[B||'length']=C;};FCKTools.NormalizeCssText=function(A){var B=document.createElement('span');B.style.cssText=A;return B.style.cssText;};FCKTools.Bind=function(A,B){return function(){ return B.apply(A,arguments);};};FCKTools.GetVoidUrl=function(){if (FCK_IS_CUSTOM_DOMAIN) return "javascript: void( function(){document.open();document.write('<html><head><title></title></head><body></body></html>');document.domain = '"+FCK_RUNTIME_DOMAIN+"';document.close();}() ) ;";if (FCKBrowserInfo.IsIE){if (FCKBrowserInfo.IsIE7||!FCKBrowserInfo.IsIE6) return "";else return "javascript: '';";};return "javascript: void(0);";};FCKTools.ResetStyles=function(A){A.style.cssText='margin:0;padding:0;border:0;background-color:transparent;background-image:none;';};\r
+FCKTools.CancelEvent=function(e){return false;};FCKTools._AppendStyleSheet=function(A,B){return A.createStyleSheet(B).owningElement;};FCKTools.AppendStyleString=function(A,B){if (!B) return null;var s=A.createStyleSheet("");s.cssText=B;return s;};FCKTools.ClearElementAttributes=function(A){A.clearAttributes();};FCKTools.GetAllChildrenIds=function(A){var B=[];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':if (document.location.protocol!='file:') try { return new XMLHttpRequest();} catch (e) {};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;};return null;};FCKTools.DisableSelection=function(A){A.unselectable='on';var e,i=0;while ((e=A.all[i++])){switch (e.tagName){case 'IFRAME':case 'TEXTAREA':case 'INPUT':case 'SELECT':break;default:e.unselectable='on';}}};FCKTools.GetScrollPosition=function(A){var B=A.document;var C={ X:B.documentElement.scrollLeft,Y:B.documentElement.scrollTop };if (C.X>0||C.Y>0) return C;return { X:B.body.scrollLeft,Y:B.body.scrollTop };};FCKTools.AddEventListener=function(A,B,C){A.attachEvent('on'+B,C);};FCKTools.RemoveEventListener=function(A,B,C){A.detachEvent('on'+B,C);};FCKTools.AddEventListenerEx=function(A,B,C,D){var o={};o.Source=A;o.Params=D||[];o.Listener=function(ev){return C.apply(o.Source,[ev].concat(o.Params));};if (FCK.IECleanup) FCK.IECleanup.AddItem(null,function() { o.Source=null;o.Params=null;});A.attachEvent('on'+B,o.Listener);A=null;D=null;};FCKTools.GetViewPaneSize=function(A){var B;var C=A.document.documentElement;if (C&&C.clientWidth) B=C;else B=A.document.body;if (B) return { Width:B.clientWidth,Height:B.clientHeight };else return { Width:0,Height:0 };};FCKTools.SaveStyles=function(A){var B=FCKTools.ProtectFormStyles(A);var C={};if (A.className.length>0){C.Class=A.className;A.className='';};var D=A.style.cssText;if (D.length>0){C.Inline=D;A.style.cssText='';};FCKTools.RestoreFormStyles(A,B);return C;};FCKTools.RestoreStyles=function(A,B){var C=FCKTools.ProtectFormStyles(A);A.className=B.Class||'';A.style.cssText=B.Inline||'';FCKTools.RestoreFormStyles(A,C);};FCKTools.RegisterDollarFunction=function(A){A.$=A.document.getElementById;};FCKTools.AppendElement=function(A,B){return A.appendChild(this.GetElementDocument(A).createElement(B));};FCKTools.ToLowerCase=function(A){return A.toLowerCase();};\r
+var FCKeditorAPI;function InitializeAPI(){var A=window.parent;if (!(FCKeditorAPI=A.FCKeditorAPI)){var B='window.FCKeditorAPI = {Version : "2.6.6",VersionBuild : "25427",Instances : window.FCKeditorAPI && window.FCKeditorAPI.Instances || {},GetInstance : function( name ){return this.Instances[ name ];},_FormSubmit : function(){for ( var name in FCKeditorAPI.Instances ){var oEditor = FCKeditorAPI.Instances[ name ] ;if ( oEditor.GetParentForm && oEditor.GetParentForm() == this )oEditor.UpdateLinkedField() ;}this._FCKOriginalSubmit() ;},_FunctionQueue      : window.FCKeditorAPI && window.FCKeditorAPI._FunctionQueue || {Functions : new Array(),IsRunning : false,Add : function( f ){this.Functions.push( f );if ( !this.IsRunning )this.StartNext();},StartNext : function(){var aQueue = this.Functions ;if ( aQueue.length > 0 ){this.IsRunning = true;aQueue[0].call();}else this.IsRunning = false;},Remove : function( f ){var aQueue = this.Functions;var i = 0, fFunc;while( (fFunc = aQueue[ i ]) ){if ( fFunc == f )aQueue.splice( i,1 );i++ ;}this.StartNext();}}}';if (A.execScript) A.execScript(B,'JavaScript');else{if (FCKBrowserInfo.IsGecko10){eval.call(A,B);}else if(FCKBrowserInfo.IsAIR){FCKAdobeAIR.FCKeditorAPI_Evaluate(A,B);}else if (FCKBrowserInfo.IsSafari){var C=A.document;var D=C.createElement('script');D.appendChild(C.createTextNode(B));C.documentElement.appendChild(D);}else A.eval(B);};FCKeditorAPI=A.FCKeditorAPI;FCKeditorAPI.__Instances=FCKeditorAPI.Instances;};FCKeditorAPI.Instances[FCK.Name]=FCK;};function _AttachFormSubmitToAPI(){var A=FCK.GetParentForm();if (A){FCKTools.AddEventListener(A,'submit',FCK.UpdateLinkedField);if (!A._FCKOriginalSubmit&&(typeof(A.submit)=='function'||(!A.submit.tagName&&!A.submit.length))){A._FCKOriginalSubmit=A.submit;A.submit=FCKeditorAPI._FormSubmit;}}};function FCKeditorAPI_Cleanup(){if (window.FCKConfig&&FCKConfig.MsWebBrowserControlCompat&&!window.FCKUnloadFlag) return;delete FCKeditorAPI.Instances[FCK.Name];};function FCKeditorAPI_ConfirmCleanup(){if (window.FCKConfig&&FCKConfig.MsWebBrowserControlCompat) window.FCKUnloadFlag=true;};FCKTools.AddEventListener(window,'unload',FCKeditorAPI_Cleanup);FCKTools.AddEventListener(window,'beforeunload',FCKeditorAPI_ConfirmCleanup);\r
+var FCKImagePreloader=function(){this._Images=[];};FCKImagePreloader.prototype={AddImages:function(A){if (typeof(A)=='string') A=A.split(';');this._Images=this._Images.concat(A);},Start:function(){var A=this._Images;this._PreloadCount=A.length;for (var i=0;i<A.length;i++){var B=document.createElement('img');FCKTools.AddEventListenerEx(B,'load',_FCKImagePreloader_OnImage,this);FCKTools.AddEventListenerEx(B,'error',_FCKImagePreloader_OnImage,this);B.src=A[i];_FCKImagePreloader_ImageCache.push(B);}}};var _FCKImagePreloader_ImageCache=[];function _FCKImagePreloader_OnImage(A,B){if ((--B._PreloadCount)==0&&B.OnComplete) B.OnComplete();};\r
+var FCKRegexLib={AposEntity:/&apos;/gi,ObjectElements:/^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i,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,BeforeBody:/(^[\s\S]*\<body[^\>]*\>)/i,AfterBody:/(\<\/body\>[\s\S]*$)/i,ToReplace:/___fcktoreplace:([\w]+)/ig,MetaHttpEquiv:/http-equiv\s*=\s*["']?([^"' ]+)/i,HasBaseTag:/<base /i,HasBodyTag:/<body[\s|>]/i,HtmlOpener:/<html\s?[^>]*>/i,HeadOpener:/<head\s?[^>]*>/i,HeadCloser:/<\/head\s*>/i,FCK_Class:/\s*FCK__[^ ]*(?=\s+|$)/,ElementName:/(^[a-z_:][\w.\-:]*\w$)|(^[a-z_]$)/,ForceSimpleAmpersand:/___FCKAmp___/g,SpaceNoClose:/\/>/g,EmptyParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>\s*(<\/\1>)?$/,EmptyOutParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>(?:\s*|&nbsp;|&#160;)(<\/\1>)?$/,TagBody:/></,GeckoEntitiesMarker:/#\?-\:/g,ProtectUrlsImg:/<img(?=\s).*?\ssrc=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,ProtectUrlsA:/<a(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,ProtectUrlsArea:/<area(?=\s).*?\shref=((?:(?:\s*)("|').*?\2)|(?:[^"'][^ >]+))/gi,Html4DocType:/HTML 4\.0 Transitional/i,DocTypeTag:/<!DOCTYPE[^>]*>/i,HtmlDocType:/DTD HTML/,TagsWithEvent:/<[^\>]+ on\w+[\s\r\n]*=[\s\r\n]*?('|")[\s\S]+?\>/g,EventAttributes:/\s(on\w+)[\s\r\n]*=[\s\r\n]*?('|")([\s\S]*?)\2/g,ProtectedEvents:/\s\w+_fckprotectedatt="([^"]+)"/g,StyleProperties:/\S+\s*:/g,InvalidSelfCloseTags:/(<(?!base|meta|link|hr|br|param|img|area|input)([a-zA-Z0-9:]+)[^>]*)\/>/gi,StyleVariableAttName:/#\(\s*("|')(.+?)\1[^\)]*\s*\)/g,RegExp:/^\/(.*)\/([gim]*)$/,HtmlTag:/<[^\s<>](?:"[^"]*"|'[^']*'|[^<])*>/};\r
+var FCKListsLib={BlockElements:{ address:1,blockquote:1,center:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,marquee:1,noscript:1,ol:1,p:1,pre:1,script:1,table:1,ul:1 },NonEmptyBlockElements:{ p:1,div:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,address:1,pre:1,ol:1,ul:1,li:1,td:1,th:1 },InlineChildReqElements:{ abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },InlineNonEmptyElements:{ a:1,abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },EmptyElements:{ base:1,col:1,meta:1,link:1,hr:1,br:1,param:1,img:1,area:1,input:1 },PathBlockElements:{ address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,li:1,dt:1,de:1 },PathBlockLimitElements:{ body:1,div:1,td:1,th:1,caption:1,form:1 },StyleBlockElements:{ address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1 },StyleObjectElements:{ img:1,hr:1,li:1,table:1,tr:1,td:1,embed:1,object:1,ol:1,ul:1 },NonEditableElements:{ button:1,option:1,script:1,iframe:1,textarea:1,object:1,embed:1,map:1,applet:1 },BlockBoundaries:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,address:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1,table:1,thead:1,tbody:1,tfoot:1,tr:1,th:1,td:1,caption:1,col:1,colgroup:1,blockquote:1,body:1 },ListBoundaries:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,address:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1,table:1,thead:1,tbody:1,tfoot:1,tr:1,th:1,td:1,caption:1,col:1,colgroup:1,blockquote:1,body:1,br:1 }};\r
+var FCKLanguageManager=FCK.Language={AvailableLanguages:{af:'Afrikaans',ar:'Arabic',bg:'Bulgarian',bn:'Bengali/Bangla',bs:'Bosnian',ca:'Catalan',cs:'Czech',da:'Danish',de:'German',el:'Greek',en:'English','en-au':'English (Australia)','en-ca':'English (Canadian)','en-uk':'English (United Kingdom)',eo:'Esperanto',es:'Spanish',et:'Estonian',eu:'Basque',fa:'Persian',fi:'Finnish',fo:'Faroese',fr:'French','fr-ca':'French (Canada)',gl:'Galician',gu:'Gujarati',he:'Hebrew',hi:'Hindi',hr:'Croatian',hu:'Hungarian',is:'Icelandic',it:'Italian',ja:'Japanese',km:'Khmer',ko:'Korean',lt:'Lithuanian',lv:'Latvian',mn:'Mongolian',ms:'Malay',nb:'Norwegian Bokmal',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'},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;},TranslateElements:function(A,B,C,D){var e=A.getElementsByTagName(B);var E,s;for (var i=0;i<e.length;i++){if ((E=e[i].getAttribute('fckLang'))){if ((s=FCKLang[E])){if (D) s=FCKTools.HTMLEncode(s);e[i][C]=s;}}}},TranslatePage:function(A){this.TranslateElements(A,'INPUT','value');this.TranslateElements(A,'SPAN','innerHTML');this.TranslateElements(A,'LABEL','innerHTML');this.TranslateElements(A,'OPTION','innerHTML',true);this.TranslateElements(A,'LEGEND','innerHTML');},Initialize:function(){if (this.AvailableLanguages[FCKConfig.DefaultLanguage]) this.DefaultLanguage=FCKConfig.DefaultLanguage;else this.DefaultLanguage='en';this.ActiveLanguage={};this.ActiveLanguage.Code=this.GetActiveLanguage();this.ActiveLanguage.Name=this.AvailableLanguages[this.ActiveLanguage.Code];}};\r
+var FCKXHtmlEntities={};FCKXHtmlEntities.Initialize=function(){if (FCKXHtmlEntities.Entities) return;var A='';var B,e;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','\u2308':'lceil','\u2309':'rceil','\u230a':'lfloor','\u230b':'rfloor','\u2329':'lang','\u232a':'rang','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','>':'gt','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};for (e in FCKXHtmlEntities.Entities) A+=e;if (FCKConfig.IncludeLatinEntities){B={'À':'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 (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;};if (FCKConfig.IncludeGreekEntities){B={'Α':'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','\u03d1':'thetasym','\u03d2':'upsih','\u03d6':'piv'};for (e in B){FCKXHtmlEntities.Entities[e]=B[e];A+=e;};B=null;}}else{FCKXHtmlEntities.Entities={'>':'gt'};A='>';A+=' ';};var C='['+A+']';if (FCKConfig.ProcessNumericEntities) C='[^ -~]|'+C;var D=FCKConfig.AdditionalNumericEntities;if (D&&D.length>0) C+='|'+FCKConfig.AdditionalNumericEntities;FCKXHtmlEntities.EntitiesRegex=new RegExp(C,'g');};\r
+var FCKXHtml={};FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKDomTools.CheckAndRemovePaddingNode(FCKTools.GetElementDocument(A),FCKConfig.EnterMode);FCKXHtmlEntities.Initialize();this._NbspEntity=(FCKConfig.ProcessHTMLEntities?'nbsp':'#160');var D=FCK.IsDirty();FCKXHtml.SpecialBlocks=[];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);if (FCKBrowserInfo.IsIE) FCKXHtml._RemoveXHtmlJobProperties(A);var E=this._GetMainXmlString();this.XML=null;if (FCKBrowserInfo.IsSafari) E=E.replace(/^<xhtml.*?>/,'<xhtml>');E=E.substr(7,E.length-15).Trim();if (FCKConfig.DocType.length>0&&FCKRegexLib.HtmlDocType.test(FCKConfig.DocType)) E=E.replace(FCKRegexLib.SpaceNoClose,'>');else E=E.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) E=E.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) E=FCKCodeFormatter.Format(E);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var F=new RegExp('___FCKsi___'+i);E=E.replace(F,FCKXHtml.SpecialBlocks[i]);};E=E.replace(FCKRegexLib.GeckoEntitiesMarker,'&');if (!D) FCK.ResetIsDirty();FCKDomTools.EnforcePaddingNode(FCKTools.GetElementDocument(A),FCKConfig.EnterMode);return E;};FCKXHtml._AppendAttribute=function(A,B,C){try{if (C==undefined||C==null) C='';else if (C.replace){if (FCKConfig.ForceSimpleAmpersand) C=C.replace(/&/g,'___FCKAmp___');C=C.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity);};var D=this.XML.createAttribute(B);D.value=C;A.attributes.setNamedItem(D);}catch (e){}};FCKXHtml._AppendChildNodes=function(A,B,C){var D=B.firstChild;while (D){this._AppendNode(A,D);D=D.nextSibling;};if (C&&B.tagName&&B.tagName.toLowerCase()!='pre'){FCKDomTools.TrimNode(A);if (FCKConfig.FillEmptyBlocks){var E=A.lastChild;if (E&&E.nodeType==1&&E.nodeName=='br') this._AppendEntity(A,this._NbspEntity);}};if (A.childNodes.length==0){if (C&&FCKConfig.FillEmptyBlocks){this._AppendEntity(A,this._NbspEntity);return A;};var F=A.nodeName;if (FCKListsLib.InlineChildReqElements[F]) return null;if (!FCKListsLib.EmptyElements[F]) A.appendChild(this.XML.createTextNode(''));};return A;};FCKXHtml._AppendNode=function(A,B){if (!B) return false;switch (B.nodeType){case 1:if (FCKBrowserInfo.IsGecko&&B.tagName.toLowerCase()=='br'&&B.parentNode.tagName.toLowerCase()=='pre'){var C='\r';if (B==B.parentNode.firstChild) C+='\r';return FCKXHtml._AppendNode(A,this.XML.createTextNode(C));};if (B.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(A,FCK.GetRealElement(B));if (FCKBrowserInfo.IsGecko&&(B.hasAttribute('_moz_editor_bogus_node')||B.getAttribute('type')=='_moz')){if (B.nextSibling) return false;else{B.removeAttribute('_moz_editor_bogus_node');B.removeAttribute('type');}};if (B.getAttribute('_fcktemp')) return false;var D=B.tagName.toLowerCase();if (FCKBrowserInfo.IsIE){if (B.scopeName&&B.scopeName!='HTML'&&B.scopeName!='FCK') D=B.scopeName.toLowerCase()+':'+D;}else{if (D.StartsWith('fck:')) D=D.Remove(0,4);};if (!FCKRegexLib.ElementName.test(D)) return false;if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;var E=this.XML.createElement(D);FCKXHtml._AppendAttributes(A,B,E,D);B._fckxhtmljob=FCKXHtml.CurrentJobNum;var F=FCKXHtml.TagProcessors[D];if (F) E=F(E,B,A);else E=this._AppendChildNodes(E,B,Boolean(FCKListsLib.NonEmptyBlockElements[D]));if (!E) return false;A.appendChild(E);break;case 3:if (B.parentNode&&B.parentNode.nodeName.IEquals('pre')) return this._AppendTextNode(A,B.nodeValue);return this._AppendTextNode(A,B.nodeValue.ReplaceNewLineChars(' '));case 8:if (FCKBrowserInfo.IsIE&&!B.innerHTML) break;try { A.appendChild(this.XML.createComment(B.nodeValue));}catch (e) {};break;default:A.appendChild(this.XML.createComment("Element not supported - Type: "+B.nodeType+" Name: "+B.nodeName));break;};return true;};FCKXHtml._AppendSpecialItem=function(A){return '___FCKsi___'+(FCKXHtml.SpecialBlocks.push(A)-1);};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createTextNode('#?-:'+B+';'));};FCKXHtml._AppendTextNode=function(A,B){var C=B.length>0;if (C) A.appendChild(this.XML.createTextNode(B.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity)));return C;};function FCKXHtml_GetEntity(A){var B=FCKXHtmlEntities.Entities[A]||('#'+A.charCodeAt(0));return '#?-:'+B+';';};FCKXHtml.TagProcessors={a:function(A,B){if (B.innerHTML.Trim().length==0&&!B.name) return false;var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);};A=FCKXHtml._AppendChildNodes(A,B,false);return A;},area:function(A,B){var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){if (!A.attributes.getNamedItem('coords')){var D=B.getAttribute('coords',2);if (D&&D!='0,0,0') FCKXHtml._AppendAttribute(A,'coords',D);};if (!A.attributes.getNamedItem('shape')){var E=B.getAttribute('shape',2);if (E&&E.length>0) FCKXHtml._AppendAttribute(A,'shape',E.toLowerCase());}};return A;},body:function(A,B){A=FCKXHtml._AppendChildNodes(A,B,false);A.removeAttribute('spellcheck');return A;},iframe:function(A,B){var C=B.innerHTML;if (FCKBrowserInfo.IsGecko) C=FCKTools.HTMLDecode(C);C=C.replace(/\s_fcksavedurl="[^"]*"/g,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;},img:function(A,B){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'src',C);if (B.style.width) A.removeAttribute('width');if (B.style.height) A.removeAttribute('height');return A;},li:function(A,B,C){if (C.nodeName.IEquals(['ul','ol'])) return FCKXHtml._AppendChildNodes(A,B,true);var D=FCKXHtml.XML.createElement('ul');B._fckxhtmljob=null;do{FCKXHtml._AppendNode(D,B);do{B=FCKDomTools.GetNextSibling(B);} while (B&&B.nodeType==3&&B.nodeValue.Trim().length==0)}      while (B&&B.nodeName.toLowerCase()=='li') return D;},ol:function(A,B,C){if (B.innerHTML.Trim().length==0) return false;var D=C.lastChild;if (D&&D.nodeType==3) D=D.previousSibling;if (D&&D.nodeName.toUpperCase()=='LI'){B._fckxhtmljob=null;FCKXHtml._AppendNode(D,B);return false;};A=FCKXHtml._AppendChildNodes(A,B);return A;},pre:function (A,B){var C=B.firstChild;if (C&&C.nodeType==3) A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem('\r\n')));FCKXHtml._AppendChildNodes(A,B,true);return A;},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;},span:function(A,B){if (B.innerHTML.length==0) return false;A=FCKXHtml._AppendChildNodes(A,B,false);return A;},style:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');var C=B.innerHTML;if (FCKBrowserInfo.IsIE) C=C.replace(/^(\r\n|\n|\r)/,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;},title:function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;}};FCKXHtml.TagProcessors.ul=FCKXHtml.TagProcessors.ol;\r
+FCKXHtml._GetMainXmlString=function(){return this.MainNode.xml;};FCKXHtml._AppendAttributes=function(A,B,C,D){var E=B.attributes,bHasStyle;for (var n=0;n<E.length;n++){var F=E[n];if (F.specified){var G=F.nodeName.toLowerCase();var H;if (G.StartsWith('_fck')) continue;else if (G=='style'){bHasStyle=true;continue;}else if (G=='class'){H=F.nodeValue.replace(FCKRegexLib.FCK_Class,'');if (H.length==0) continue;}else if (G.indexOf('on')==0) H=F.nodeValue;else if (D=='body'&&G=='contenteditable') continue;else if (F.nodeValue===true) H=G;else{try{H=B.getAttribute(G,2);}catch (e) {}};this._AppendAttribute(C,G,H||F.nodeValue);}};if (bHasStyle||B.style.cssText.length>0){var I=FCKTools.ProtectFormStyles(B);var J=B.style.cssText.replace(FCKRegexLib.StyleProperties,FCKTools.ToLowerCase);FCKTools.RestoreFormStyles(B,I);this._AppendAttribute(C,'style',J);}};FCKXHtml._RemoveXHtmlJobProperties=function (A){if (!A||!A.nodeType||A.nodeType!=1) return;if (typeof A._fckxhtmljob=='undefined'&&A.tagName!=='BODY') return;A.removeAttribute('_fckxhtmljob');if (A.hasChildNodes()){var B=A.childNodes;for (var i=B.length-1;i>=0;i--){var C=B[i];if (C.parentNode==A) FCKXHtml._RemoveXHtmlJobProperties(C);}}};FCKXHtml.TagProcessors['div']=function(A,B){if (B.align.length>0) FCKXHtml._AppendAttribute(A,'align',B.align);A=FCKXHtml._AppendChildNodes(A,B,true);return A;};FCKXHtml.TagProcessors['font']=function(A,B){if (A.attributes.length==0) A=FCKXHtml.XML.createDocumentFragment();A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['form']=function(A,B){if (B.acceptCharset&&B.acceptCharset.length>0&&B.acceptCharset!='UNKNOWN') FCKXHtml._AppendAttribute(A,'accept-charset',B.acceptCharset);var C=B.attributes['name'];if (C&&C.value.length>0) FCKXHtml._AppendAttribute(A,'name',C.value);A=FCKXHtml._AppendChildNodes(A,B,true);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);if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text');return A;};FCKXHtml.TagProcessors['label']=function(A,B){if (B.htmlFor.length>0) FCKXHtml._AppendAttribute(A,'for',B.htmlFor);A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['map']=function(A,B){if (!A.attributes.getNamedItem('name')){var C=B.name;if (C) FCKXHtml._AppendAttribute(A,'name',C);};A=FCKXHtml._AppendChildNodes(A,B,true);return A;};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['option']=function(A,B){if (B.selected&&!A.attributes.getNamedItem('selected')) FCKXHtml._AppendAttribute(A,'selected','selected');A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['textarea']=FCKXHtml.TagProcessors['select']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);A=FCKXHtml._AppendChildNodes(A,B);return A;};\r
+var FCKCodeFormatter={};FCKCodeFormatter.Init=function(){var A=this.Regex={};A.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DL|DT|DD|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DL|DT|DD|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.NewLineTags=/\<(BR|HR)[^\>]*\>/gi;A.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;A.LineSplitter=/\s*\n+\s*/g;A.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL|DL)[ \/\>]/i;A.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL|DL)[ \>]/i;A.FormatIndentatorRemove=new RegExp('^'+FCKConfig.FormatIndentator);A.ProtectedTags=/(<PRE[^>]*>)([\s\S]*?)(<\/PRE>)/gi;};FCKCodeFormatter._ProtectData=function(A,B,C,D){return B+'___FCKpd___'+(FCKCodeFormatter.ProtectedData.push(C)-1)+D;};FCKCodeFormatter.Format=function(A){if (!this.Regex) this.Init();FCKCodeFormatter.ProtectedData=[];var B=A.replace(this.Regex.ProtectedTags,FCKCodeFormatter._ProtectData);B=B.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;};for (var j=0;j<FCKCodeFormatter.ProtectedData.length;j++){var F=new RegExp('___FCKpd___'+j);B=B.replace(F,FCKCodeFormatter.ProtectedData[j].replace(/\$/g,'$$$$'));};return B.Trim();};\r
+var FCKUndo={};FCKUndo.SavedData=[];FCKUndo.CurrentIndex=-1;FCKUndo.TypesCount=0;FCKUndo.Changed=false;FCKUndo.MaxTypes=25;FCKUndo.Typing=false;FCKUndo.SaveLocked=false;FCKUndo._GetBookmark=function(){FCKSelection.Restore();var A=new FCKDomRange(FCK.EditorWindow);try{A.MoveToSelection();}catch (e){return null;};if (FCKBrowserInfo.IsIE){var B=A.CreateBookmark();var C=FCK.EditorDocument.body.innerHTML;A.MoveToBookmark(B);return [B,C];};return A.CreateBookmark2();};FCKUndo._SelectBookmark=function(A){if (!A) return;var B=new FCKDomRange(FCK.EditorWindow);if (A instanceof Object){if (FCKBrowserInfo.IsIE) B.MoveToBookmark(A[0]);else B.MoveToBookmark2(A);try{B.Select();}catch (e){B.MoveToPosition(FCK.EditorDocument.body,4);B.Select();}}};FCKUndo._CompareCursors=function(A,B){for (var i=0;i<Math.min(A.length,B.length);i++){if (A[i]<B[i]) return-1;else if (A[i]>B[i]) return 1;};if (A.length<B.length) return-1;else if (A.length>B.length) return 1;return 0;};FCKUndo._CheckIsBookmarksEqual=function(A,B){if (!(A&&B)) return false;if (FCKBrowserInfo.IsIE){var C=A[1].search(A[0].StartId);var D=B[1].search(B[0].StartId);var E=A[1].search(A[0].EndId);var F=B[1].search(B[0].EndId);return C==D&&E==F;}else{return this._CompareCursors(A.Start,B.Start)==0&&this._CompareCursors(A.End,B.End)==0;}};FCKUndo.SaveUndoStep=function(){if (FCK.EditMode!=0||this.SaveLocked) return;if (this.SavedData.length) this.Changed=true;var A=FCK.EditorDocument.body.innerHTML;var B=this._GetBookmark();this.SavedData=this.SavedData.slice(0,this.CurrentIndex+1);if (this.CurrentIndex>0&&A==this.SavedData[this.CurrentIndex][0]&&this._CheckIsBookmarksEqual(B,this.SavedData[this.CurrentIndex][1])) return;else if (this.CurrentIndex==0&&this.SavedData.length&&A==this.SavedData[0][0]){this.SavedData[0][1]=B;return;};if (this.CurrentIndex+1>=FCKConfig.MaxUndoLevels) this.SavedData.shift();else this.CurrentIndex++;this.SavedData[this.CurrentIndex]=[A,B];FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.CheckUndoState=function(){return (this.Changed||this.CurrentIndex>0);};FCKUndo.CheckRedoState=function(){return (this.CurrentIndex<(this.SavedData.length-1));};FCKUndo.Undo=function(){if (this.CheckUndoState()){if (this.CurrentIndex==(this.SavedData.length-1)){this.SaveUndoStep();};this._ApplyUndoLevel(--this.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo.Redo=function(){if (this.CheckRedoState()){this._ApplyUndoLevel(++this.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo._ApplyUndoLevel=function(A){var B=this.SavedData[A];if (!B) return;if (FCKBrowserInfo.IsIE){if (B[1]&&B[1][1]) FCK.SetInnerHtml(B[1][1]);else FCK.SetInnerHtml(B[0]);}else FCK.EditorDocument.body.innerHTML=B[0];this._SelectBookmark(B[1]);this.TypesCount=0;this.Changed=false;this.Typing=false;};\r
+var FCKEditingArea=function(A){this.TargetElement=A;this.Mode=0;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKEditingArea_Cleanup);};FCKEditingArea.prototype.Start=function(A,B){var C=this.TargetElement;var D=FCKTools.GetElementDocument(C);while(C.firstChild) C.removeChild(C.firstChild);if (this.Mode==0){if (FCK_IS_CUSTOM_DOMAIN) A='<script>document.domain="'+FCK_RUNTIME_DOMAIN+'";</script>'+A;if (FCKBrowserInfo.IsIE) A=A.replace(/(<base[^>]*?)\s*\/?>(?!\s*<\/base>)/gi,'$1></base>');else if (!B){var E=A.match(FCKRegexLib.BeforeBody);var F=A.match(FCKRegexLib.AfterBody);if (E&&F){var G=A.substr(E[1].length,A.length-E[1].length-F[1].length);A=E[1]+'&nbsp;'+F[1];if (FCKBrowserInfo.IsGecko&&(G.length==0||FCKRegexLib.EmptyParagraph.test(G))) G='<br type="_moz">';this._BodyHTML=G;}else this._BodyHTML=A;};var H=this.IFrame=D.createElement('iframe');var I='<script type="text/javascript" _fcktemp="true">window.onerror=function(){return true;};</script>';H.frameBorder=0;H.style.width=H.style.height='100%';if (FCK_IS_CUSTOM_DOMAIN&&FCKBrowserInfo.IsIE){window._FCKHtmlToLoad=A.replace(/<head>/i,'<head>'+I);H.src='javascript:void( (function(){document.open() ;document.domain="'+document.domain+'" ;document.write( window.parent._FCKHtmlToLoad );document.close() ;window.parent._FCKHtmlToLoad = null ;})() )';}else if (!FCKBrowserInfo.IsGecko){H.src='javascript:void(0)';};C.appendChild(H);this.Window=H.contentWindow;if (!FCK_IS_CUSTOM_DOMAIN||!FCKBrowserInfo.IsIE){var J=this.Window.document;J.open();J.write(A.replace(/<head>/i,'<head>'+I));J.close();};if (FCKBrowserInfo.IsAIR) FCKAdobeAIR.EditingArea_Start(J,A);if (FCKBrowserInfo.IsGecko10&&!B){this.Start(A,true);return;};if (H.readyState&&H.readyState!='completed'){var K=this;setTimeout(function(){try{K.Window.document.documentElement.doScroll("left");}catch(e){setTimeout(arguments.callee,0);return;};K.Window._FCKEditingArea=K;FCKEditingArea_CompleteStart.call(K.Window);},0);}else{this.Window._FCKEditingArea=this;if (FCKBrowserInfo.IsGecko10) this.Window.setTimeout(FCKEditingArea_CompleteStart,500);else FCKEditingArea_CompleteStart.call(this.Window);}}else{var L=this.Textarea=D.createElement('textarea');L.className='SourceField';L.dir='ltr';FCKDomTools.SetElementStyles(L,{width:'100%',height:'100%',border:'none',resize:'none',outline:'none'});C.appendChild(L);L.value=A;FCKTools.RunFunction(this.OnLoad);}};function FCKEditingArea_CompleteStart(){if (!this.document.body){this.setTimeout(FCKEditingArea_CompleteStart,50);return;};var A=this._FCKEditingArea;A.Document=A.Window.document;A.MakeEditable();FCKTools.RunFunction(A.OnLoad);};FCKEditingArea.prototype.MakeEditable=function(){var A=this.Document;if (FCKBrowserInfo.IsIE){A.body.disabled=true;A.body.contentEditable=true;A.body.removeAttribute("disabled");}else{try{A.body.spellcheck=(this.FFSpellChecker!==false);if (this._BodyHTML){A.body.innerHTML=this._BodyHTML;A.body.offsetLeft;this._BodyHTML=null;};A.designMode='on';A.execCommand('enableObjectResizing',false,!FCKConfig.DisableObjectResizing);A.execCommand('enableInlineTableEditing',false,!FCKConfig.DisableFFTableHandles);}catch (e){FCKTools.AddEventListener(this.Window.frameElement,'DOMAttrModified',FCKEditingArea_Document_AttributeNodeModified);}}};function FCKEditingArea_Document_AttributeNodeModified(A){var B=A.currentTarget.contentWindow._FCKEditingArea;if (B._timer) window.clearTimeout(B._timer);B._timer=FCKTools.SetTimeout(FCKEditingArea_MakeEditableByMutation,1000,B);};function FCKEditingArea_MakeEditableByMutation(){delete this._timer;FCKTools.RemoveEventListener(this.Window.frameElement,'DOMAttrModified',FCKEditingArea_Document_AttributeNodeModified);this.MakeEditable();};FCKEditingArea.prototype.Focus=function(){try{if (this.Mode==0){if (FCKBrowserInfo.IsIE) this._FocusIE();else this.Window.focus();}else{var A=FCKTools.GetElementDocument(this.Textarea);if ((!A.hasFocus||A.hasFocus())&&A.activeElement==this.Textarea) return;this.Textarea.focus();}}catch(e) {}};FCKEditingArea.prototype._FocusIE=function(){this.Document.body.setActive();this.Window.focus();var A=this.Document.selection.createRange();var B=A.parentElement();var C=B.nodeName.toLowerCase();if (B.childNodes.length>0||!(FCKListsLib.BlockElements[C]||FCKListsLib.NonEmptyBlockElements[C])){return;};A=new FCKDomRange(this.Window);A.MoveToElementEditStart(B);A.Select();};function FCKEditingArea_Cleanup(){if (this.Document){this.Document.selection.empty();this.Document.body.innerHTML="";};this.TargetElement=null;this.IFrame=null;this.Document=null;this.Textarea=null;if (this.Window){this.Window._FCKEditingArea=null;this.Window=null;}};\r
+var FCKKeystrokeHandler=function(A){this.Keystrokes={};this.CancelCtrlDefaults=(A!==false);};FCKKeystrokeHandler.prototype.AttachToElement=function(A){FCKTools.AddEventListenerEx(A,'keydown',_FCKKeystrokeHandler_OnKeyDown,this);if (FCKBrowserInfo.IsGecko10||FCKBrowserInfo.IsOpera||(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac)) FCKTools.AddEventListenerEx(A,'keypress',_FCKKeystrokeHandler_OnKeyPress,this);};FCKKeystrokeHandler.prototype.SetKeystrokes=function(){for (var i=0;i<arguments.length;i++){var A=arguments[i];if (!A) continue;if (typeof(A[0])=='object') this.SetKeystrokes.apply(this,A);else{if (A.length==1) delete this.Keystrokes[A[0]];else this.Keystrokes[A[0]]=A[1]===true?true:A;}}};function _FCKKeystrokeHandler_OnKeyDown(A,B){var C=A.keyCode||A.which;var D=0;if (A.ctrlKey||A.metaKey) D+=CTRL;if (A.shiftKey) D+=SHIFT;if (A.altKey) D+=ALT;var E=C+D;var F=B._CancelIt=false;var G=B.Keystrokes[E];if (G){if (G===true||!(B.OnKeystroke&&B.OnKeystroke.apply(B,G))) return true;F=true;};if (F||(B.CancelCtrlDefaults&&D==CTRL&&(C<33||C>40))){B._CancelIt=true;if (A.preventDefault) return A.preventDefault();A.returnValue=false;A.cancelBubble=true;return false;};return true;};function _FCKKeystrokeHandler_OnKeyPress(A,B){if (B._CancelIt){if (A.preventDefault) return A.preventDefault();return false;};return true;};\r
+FCK.DTD=(function(){var X=FCKTools.Merge;var A,L,J,M,N,O,D,H,P,K,Q,F,G,C,B,E,I;A={isindex:1,fieldset:1};B={input:1,button:1,select:1,textarea:1,label:1};C=X({a:1},B);D=X({iframe:1},C);E={hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1};F={ins:1,del:1,script:1};G=X({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},F);H=X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},G);I=X({p:1},H);J=X({iframe:1},H,B);K={img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1};L=X({a:1},J);M={tr:1};N={'#':1};O=X({param:1},K);P=X({form:1},A,D,E,I);Q={li:1};return {col:{},tr:{td:1,th:1},img:{},colgroup:{col:1},noscript:P,td:P,br:{},th:P,center:P,kbd:L,button:X(I,E),basefont:{},h5:L,h4:L,samp:L,h6:L,ol:Q,h1:L,h3:L,option:N,h2:L,form:X(A,D,E,I),select:{optgroup:1,option:1},font:J,ins:P,menu:Q,abbr:L,label:L,table:{thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},code:L,script:N,tfoot:M,cite:L,li:P,input:{},iframe:P,strong:J,textarea:N,noframes:P,big:J,small:J,span:J,hr:{},dt:L,sub:J,optgroup:{option:1},param:{},bdo:L,'var':J,div:P,object:O,sup:J,dd:P,strike:J,area:{},dir:Q,map:X({area:1,form:1,p:1},A,F,E),applet:O,dl:{dt:1,dd:1},del:P,isindex:{},fieldset:X({legend:1},K),thead:M,ul:Q,acronym:L,b:J,a:J,blockquote:P,caption:L,i:J,u:J,tbody:M,s:L,address:X(D,I),tt:J,legend:L,q:L,pre:X(G,C),p:L,em:J,dfn:L};})();\r
+var FCKStyle=function(A){this.Element=(A.Element||'span').toLowerCase();this._StyleDesc=A;};FCKStyle.prototype={GetType:function(){var A=this.GetType_$;if (A!=undefined) return A;var B=this.Element;if (B=='#'||FCKListsLib.StyleBlockElements[B]) A=0;else if (FCKListsLib.StyleObjectElements[B]) A=2;else A=1;return (this.GetType_$=A);},ApplyToSelection:function(A){var B=new FCKDomRange(A);B.MoveToSelection();this.ApplyToRange(B,true);},ApplyToRange:function(A,B,C){switch (this.GetType()){case 0:this.ApplyToRange=this._ApplyBlockStyle;break;case 1:this.ApplyToRange=this._ApplyInlineStyle;break;default:return;};this.ApplyToRange(A,B,C);},ApplyToObject:function(A){if (!A) return;this.BuildElement(null,A);},RemoveFromSelection:function(A){var B=new FCKDomRange(A);B.MoveToSelection();this.RemoveFromRange(B,true);},RemoveFromRange:function(A,B,C){var D;var E=this._GetAttribsForComparison();var F=this._GetOverridesForComparison();if (A.CheckIsCollapsed()){var D=A.CreateBookmark(true);var H=A.GetBookmarkNode(D,true);var I=new FCKElementPath(H.parentNode);var J=[];var K=!FCKDomTools.GetNextSibling(H);var L=K||!FCKDomTools.GetPreviousSibling(H);var M;var N=-1;for (var i=0;i<I.Elements.length;i++){var O=I.Elements[i];if (this.CheckElementRemovable(O)){if (L&&!FCKDomTools.CheckIsEmptyElement(O,function(el){return (el!=H);})){M=O;N=J.length-1;}else{var P=O.nodeName.toLowerCase();if (P==this.Element){for (var Q in E){if (FCKDomTools.HasAttribute(O,Q)){switch (Q){case 'style':this._RemoveStylesFromElement(O);break;case 'class':if (FCKDomTools.GetAttributeValue(O,Q)!=this.GetFinalAttributeValue(Q)) continue;default:FCKDomTools.RemoveAttribute(O,Q);}}}};this._RemoveOverrides(O,F[P]);if (this.GetType()==1) this._RemoveNoAttribElement(O);}}else if (L) J.push(O);L=L&&((K&&!FCKDomTools.GetNextSibling(O))||(!K&&!FCKDomTools.GetPreviousSibling(O)));if (M&&(!L||(i==I.Elements.length-1))){var R=FCKDomTools.RemoveNode(H);for (var j=0;j<=N;j++){var S=FCKDomTools.CloneElement(J[j]);S.appendChild(R);R=S;};if (K) FCKDomTools.InsertAfterNode(M,R);else M.parentNode.insertBefore(R,M);L=false;M=null;}};if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);return;};A.Expand('inline_elements');D=A.CreateBookmark(true);var T=A.GetBookmarkNode(D,true);var U=A.GetBookmarkNode(D,false);A.Release(true);var I=new FCKElementPath(T);var X=I.Elements;var O;for (var i=1;i<X.length;i++){O=X[i];if (O==I.Block||O==I.BlockLimit) break;if (this.CheckElementRemovable(O)) FCKDomTools.BreakParent(T,O,A);};I=new FCKElementPath(U);X=I.Elements;for (var i=1;i<X.length;i++){O=X[i];if (O==I.Block||O==I.BlockLimit) break;b=O.nodeName.toLowerCase();if (this.CheckElementRemovable(O)) FCKDomTools.BreakParent(U,O,A);};var Z=FCKDomTools.GetNextSourceNode(T,true);while (Z){var a=FCKDomTools.GetNextSourceNode(Z);if (Z.nodeType==1){var b=Z.nodeName.toLowerCase();var c=(b==this.Element);if (c){for (var Q in E){if (FCKDomTools.HasAttribute(Z,Q)){switch (Q){case 'style':this._RemoveStylesFromElement(Z);break;case 'class':if (FCKDomTools.GetAttributeValue(Z,Q)!=this.GetFinalAttributeValue(Q)) continue;default:FCKDomTools.RemoveAttribute(Z,Q);}}}}else c=!!F[b];if (c){this._RemoveOverrides(Z,F[b]);this._RemoveNoAttribElement(Z);}};if (a==U) break;Z=a;};this._FixBookmarkStart(T);if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);},CheckElementRemovable:function(A,B){if (!A) return false;var C=A.nodeName.toLowerCase();if (C==this.Element){if (!B&&!FCKDomTools.HasAttributes(A)) return true;var D=this._GetAttribsForComparison();var E=(D._length==0);for (var F in D){if (F=='_length') continue;if (this._CompareAttributeValues(F,FCKDomTools.GetAttributeValue(A,F),(this.GetFinalAttributeValue(F)||''))){E=true;if (!B) break;}else{E=false;if (B) return false;}};if (E) return true;};var G=this._GetOverridesForComparison()[C];if (G){if (!(D=G.Attributes)) return true;for (var i=0;i<D.length;i++){var H=D[i][0];if (FCKDomTools.HasAttribute(A,H)){var I=D[i][1];if (I==null||(typeof I=='string'&&FCKDomTools.GetAttributeValue(A,H)==I)||I.test(FCKDomTools.GetAttributeValue(A,H))) return true;}}};return false;},CheckActive:function(A){switch (this.GetType()){case 0:return this.CheckElementRemovable(A.Block||A.BlockLimit,true);case 1:var B=A.Elements;for (var i=0;i<B.length;i++){var C=B[i];if (C==A.Block||C==A.BlockLimit) continue;if (this.CheckElementRemovable(C,true)) return true;}};return false;},RemoveFromElement:function(A){var B=this._GetAttribsForComparison();var C=this._GetOverridesForComparison();var D=A.getElementsByTagName(this.Element);for (var i=D.length-1;i>=0;i--){var E=D[i];for (var F in B){if (FCKDomTools.HasAttribute(E,F)){switch (F){case 'style':this._RemoveStylesFromElement(E);break;case 'class':if (FCKDomTools.GetAttributeValue(E,F)!=this.GetFinalAttributeValue(F)) continue;default:FCKDomTools.RemoveAttribute(E,F);}}};this._RemoveOverrides(E,C[this.Element]);this._RemoveNoAttribElement(E);};for (var G in C){if (G!=this.Element){D=A.getElementsByTagName(G);for (var i=D.length-1;i>=0;i--){var E=D[i];this._RemoveOverrides(E,C[G]);this._RemoveNoAttribElement(E);}}}},_RemoveStylesFromElement:function(A){var B=A.style.cssText;var C=this.GetFinalStyleValue();if (B.length>0&&C.length==0) return;C='(^|;)\\s*('+C.replace(/\s*([^ ]+):.*?(;|$)/g,'$1|').replace(/\|$/,'')+'):[^;]+';var D=new RegExp(C,'gi');B=B.replace(D,'').Trim();if (B.length==0||B==';') FCKDomTools.RemoveAttribute(A,'style');else A.style.cssText=B.replace(D,'');},_RemoveOverrides:function(A,B){var C=B&&B.Attributes;if (C){for (var i=0;i<C.length;i++){var D=C[i][0];if (FCKDomTools.HasAttribute(A,D)){var E=C[i][1];if (E==null||(E.test&&E.test(FCKDomTools.GetAttributeValue(A,D)))||(typeof E=='string'&&FCKDomTools.GetAttributeValue(A,D)==E)) FCKDomTools.RemoveAttribute(A,D);}}}},_RemoveNoAttribElement:function(A){if (!FCKDomTools.HasAttributes(A)){var B=A.firstChild;var C=A.lastChild;FCKDomTools.RemoveNode(A,true);this._MergeSiblings(B);if (B!=C) this._MergeSiblings(C);}},BuildElement:function(A,B){var C=B||A.createElement(this.Element);var D=this._StyleDesc.Attributes;var E;if (D){for (var F in D){E=this.GetFinalAttributeValue(F);if (F.toLowerCase()=='class') C.className=E;else C.setAttribute(F,E);}};if (this._GetStyleText().length>0) C.style.cssText=this.GetFinalStyleValue();return C;},_CompareAttributeValues:function(A,B,C){if (A=='style'&&B&&C){B=B.replace(/;$/,'').toLowerCase();C=C.replace(/;$/,'').toLowerCase();};return (B==C||((B===null||B==='')&&(C===null||C==='')))},GetFinalAttributeValue:function(A){var B=this._StyleDesc.Attributes;var B=B?B[A]:null;if (!B&&A=='style') return this.GetFinalStyleValue();if (B&&this._Variables) B=B.Replace(FCKRegexLib.StyleVariableAttName,this._GetVariableReplace,this);return B;},GetFinalStyleValue:function(){var A=this._GetStyleText();if (A.length>0&&this._Variables){A=A.Replace(FCKRegexLib.StyleVariableAttName,this._GetVariableReplace,this);A=FCKTools.NormalizeCssText(A);};return A;},_GetVariableReplace:function(){return this._Variables[arguments[2]]||arguments[0];},SetVariable:function(A,B){var C=this._Variables;if (!C) C=this._Variables={};this._Variables[A]=B;},_FromPre:function(A,B,C){var D=B.innerHTML;D=D.replace(/(\r\n|\r)/g,'\n');D=D.replace(/^[ \t]*\n/,'');D=D.replace(/\n$/,'');D=D.replace(/^[ \t]+|[ \t]+$/g,function(match,offset,s){if (match.length==1) return '&nbsp;';else if (offset==0) return new Array(match.length).join('&nbsp;')+' ';else return ' '+new Array(match.length).join('&nbsp;');});var E=new FCKHtmlIterator(D);var F=[];E.Each(function(isTag,value){if (!isTag){value=value.replace(/\n/g,'<br>');value=value.replace(/[ \t]{2,}/g,function (match){return new Array(match.length).join('&nbsp;')+' ';});};F.push(value);});C.innerHTML=F.join('');return C;},_ToPre:function(A,B,C){var D=B.innerHTML.Trim();D=D.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,'<br />');var E=new FCKHtmlIterator(D);var F=[];E.Each(function(isTag,value){if (!isTag) value=value.replace(/([ \t\n\r]+|&nbsp;)/g,' ');else if (isTag&&value=='<br />') value='\n';F.push(value);});if (FCKBrowserInfo.IsIE){var G=A.createElement('div');G.appendChild(C);C.outerHTML='<pre>\n'+F.join('')+'</pre>';C=G.removeChild(G.firstChild);}else C.innerHTML=F.join('');return C;},_CheckAndMergePre:function(A,B){if (A!=FCKDomTools.GetPreviousSourceElement(B,true)) return;var C=A.innerHTML.replace(/\n$/,'')+'\n\n'+B.innerHTML.replace(/^\n/,'');if (FCKBrowserInfo.IsIE) B.outerHTML='<pre>'+C+'</pre>';else B.innerHTML=C;FCKDomTools.RemoveNode(A);},_CheckAndSplitPre:function(A){var B;var C=A.firstChild;C=C&&C.nextSibling;while (C){var D=C.nextSibling;if (D&&D.nextSibling&&C.nodeName.IEquals('br')&&D.nodeName.IEquals('br')){FCKDomTools.RemoveNode(C);C=D.nextSibling;FCKDomTools.RemoveNode(D);B=FCKDomTools.InsertAfterNode(B||A,FCKDomTools.CloneElement(A));continue;};if (B){C=C.previousSibling;FCKDomTools.MoveNode(C.nextSibling,B);};C=C.nextSibling;}},_ApplyBlockStyle:function(A,B,C){var D;if (B) D=A.CreateBookmark();var E=new FCKDomRangeIterator(A);E.EnforceRealBlocks=true;var F;var G=A.Window.document;var H;while((F=E.GetNextParagraph())){var I=this.BuildElement(G);var J=I.nodeName.IEquals('pre');var K=F.nodeName.IEquals('pre');var L=J&&!K;var M=!J&&K;if (L) I=this._ToPre(G,F,I);else if (M) I=this._FromPre(G,F,I);else FCKDomTools.MoveChildren(F,I);F.parentNode.insertBefore(I,F);FCKDomTools.RemoveNode(F);if (J){if (H) this._CheckAndMergePre(H,I);H=I;}else if (M) this._CheckAndSplitPre(I);};if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);},_ApplyInlineStyle:function(A,B,C){var D=A.Window.document;if (A.CheckIsCollapsed()){var E=this.BuildElement(D);A.InsertNode(E);A.MoveToPosition(E,2);A.Select();return;};var F=this.Element;var G=FCK.DTD[F]||FCK.DTD.span;var H=this._GetAttribsForComparison();var I;A.Expand('inline_elements');var J=A.CreateBookmark(true);var K=A.GetBookmarkNode(J,true);var L=A.GetBookmarkNode(J,false);A.Release(true);var M=FCKDomTools.GetNextSourceNode(K,true);while (M){var N=false;var O=M.nodeType;var P=O==1?M.nodeName.toLowerCase():null;if (!P||G[P]){if ((FCK.DTD[M.parentNode.nodeName.toLowerCase()]||FCK.DTD.span)[F]||!FCK.DTD[F]){if (!A.CheckHasRange()) A.SetStart(M,3);if (O!=1||M.childNodes.length==0){var Q=M;var R=Q.parentNode;while (Q==R.lastChild&&G[R.nodeName.toLowerCase()]){Q=R;};A.SetEnd(Q,4);if (Q==Q.parentNode.lastChild&&!G[Q.parentNode.nodeName.toLowerCase()]) N=true;}else{A.SetEnd(M,3);}}else N=true;}else N=true;M=FCKDomTools.GetNextSourceNode(M);if (M==L){M=null;N=true;};if (N&&A.CheckHasRange()&&!A.CheckIsCollapsed()){I=this.BuildElement(D);A.ExtractContents().AppendTo(I);if (I.innerHTML.RTrim().length>0){A.InsertNode(I);this.RemoveFromElement(I);this._MergeSiblings(I,this._GetAttribsForComparison());if (!FCKBrowserInfo.IsIE) I.normalize();};A.Release(true);}};this._FixBookmarkStart(K);if (B) A.SelectBookmark(J);if (C) A.MoveToBookmark(J);},_FixBookmarkStart:function(A){var B;while ((B=A.nextSibling)){if (B.nodeType==1&&FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){if (!B.firstChild) FCKDomTools.RemoveNode(B);else FCKDomTools.MoveNode(A,B,true);continue;};if (B.nodeType==3&&B.length==0){FCKDomTools.RemoveNode(B);continue;};break;}},_MergeSiblings:function(A,B){if (!A||A.nodeType!=1||!FCKListsLib.InlineNonEmptyElements[A.nodeName.toLowerCase()]) return;this._MergeNextSibling(A,B);this._MergePreviousSibling(A,B);},_MergeNextSibling:function(A,B){var C=A.nextSibling;var D=(C&&C.nodeType==1&&C.getAttribute('_fck_bookmark'));if (D) C=C.nextSibling;if (C&&C.nodeType==1&&C.nodeName==A.nodeName){if (!B) B=this._CreateElementAttribsForComparison(A);if (this._CheckAttributesMatch(C,B)){var E=A.lastChild;if (D) FCKDomTools.MoveNode(A.nextSibling,A);FCKDomTools.MoveChildren(C,A);FCKDomTools.RemoveNode(C);if (E) this._MergeNextSibling(E);}}},_MergePreviousSibling:function(A,B){var C=A.previousSibling;var D=(C&&C.nodeType==1&&C.getAttribute('_fck_bookmark'));if (D) C=C.previousSibling;if (C&&C.nodeType==1&&C.nodeName==A.nodeName){if (!B) B=this._CreateElementAttribsForComparison(A);if (this._CheckAttributesMatch(C,B)){var E=A.firstChild;if (D) FCKDomTools.MoveNode(A.previousSibling,A,true);FCKDomTools.MoveChildren(C,A,true);FCKDomTools.RemoveNode(C);if (E) this._MergePreviousSibling(E);}}},_GetStyleText:function(){var A=this._StyleDesc.Styles;var B=(this._StyleDesc.Attributes?this._StyleDesc.Attributes['style']||'':'');if (B.length>0) B+=';';for (var C in A) B+=C+':'+A[C]+';';if (B.length>0&&!(/#\(/.test(B))){B=FCKTools.NormalizeCssText(B);};return (this._GetStyleText=function() { return B;})();},_GetAttribsForComparison:function(){var A=this._GetAttribsForComparison_$;if (A) return A;A={};var B=this._StyleDesc.Attributes;if (B){for (var C in B){A[C.toLowerCase()]=B[C].toLowerCase();}};if (this._GetStyleText().length>0){A['style']=this._GetStyleText().toLowerCase();};FCKTools.AppendLengthProperty(A,'_length');return (this._GetAttribsForComparison_$=A);},_GetOverridesForComparison:function(){var A=this._GetOverridesForComparison_$;if (A) return A;A={};var B=this._StyleDesc.Overrides;if (B){if (!FCKTools.IsArray(B)) B=[B];for (var i=0;i<B.length;i++){var C=B[i];var D;var E;var F;if (typeof C=='string') D=C.toLowerCase();else{D=C.Element?C.Element.toLowerCase():this.Element;F=C.Attributes;};E=A[D]||(A[D]={});if (F){var G=(E.Attributes=E.Attributes||[]);for (var H in F){G.push([H.toLowerCase(),F[H]]);}}}};return (this._GetOverridesForComparison_$=A);},_CreateElementAttribsForComparison:function(A){var B={};var C=0;for (var i=0;i<A.attributes.length;i++){var D=A.attributes[i];if (D.specified){B[D.nodeName.toLowerCase()]=FCKDomTools.GetAttributeValue(A,D).toLowerCase();C++;}};B._length=C;return B;},_CheckAttributesMatch:function(A,B){var C=A.attributes;var D=0;for (var i=0;i<C.length;i++){var E=C[i];if (E.specified){var F=E.nodeName.toLowerCase();var G=B[F];if (!G) break;if (G!=FCKDomTools.GetAttributeValue(A,E).toLowerCase()) break;D++;}};return (D==B._length);}};\r
+var FCKStyles=FCK.Styles={_Callbacks:{},_ObjectStyles:{},ApplyStyle:function(A){if (typeof A=='string') A=this.GetStyles()[A];if (A){if (A.GetType()==2) A.ApplyToObject(FCKSelection.GetSelectedElement());else A.ApplyToSelection(FCK.EditorWindow);FCK.Events.FireEvent('OnSelectionChange');}},RemoveStyle:function(A){if (typeof A=='string') A=this.GetStyles()[A];if (A){A.RemoveFromSelection(FCK.EditorWindow);FCK.Events.FireEvent('OnSelectionChange');}},AttachStyleStateChange:function(A,B,C){var D=this._Callbacks[A];if (!D) D=this._Callbacks[A]=[];D.push([B,C]);},CheckSelectionChanges:function(){var A=FCKSelection.GetBoundaryParentElement(true);if (!A) return;var B=new FCKElementPath(A);var C=this.GetStyles();for (var D in C){var E=this._Callbacks[D];if (E){var F=C[D];var G=F.CheckActive(B);if (G!=(F._LastState||null)){F._LastState=G;for (var i=0;i<E.length;i++){var H=E[i][0];var I=E[i][1];H.call(I||window,D,G);}}}}},CheckStyleInSelection:function(A){return false;},_GetRemoveFormatTagsRegex:function (){var A=new RegExp('^(?:'+FCKConfig.RemoveFormatTags.replace(/,/g,'|')+')$','i');return (this._GetRemoveFormatTagsRegex=function(){return A;})&&A;},RemoveAll:function(){var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();if (A.CheckIsCollapsed()) return;A.Expand('inline_elements');var B=A.CreateBookmark(true);var C=A.GetBookmarkNode(B,true);var D=A.GetBookmarkNode(B,false);A.Release(true);var E=this._GetRemoveFormatTagsRegex();var F=new FCKElementPath(C);var G=F.Elements;var H;for (var i=1;i<G.length;i++){H=G[i];if (H==F.Block||H==F.BlockLimit) break;if (E.test(H.nodeName)) FCKDomTools.BreakParent(C,H,A);};F=new FCKElementPath(D);G=F.Elements;for (var i=1;i<G.length;i++){H=G[i];if (H==F.Block||H==F.BlockLimit) break;elementName=H.nodeName.toLowerCase();if (E.test(H.nodeName)) FCKDomTools.BreakParent(D,H,A);};var I=FCKDomTools.GetNextSourceNode(C,true,1);while (I){if (I==D) break;var J=FCKDomTools.GetNextSourceNode(I,false,1);if (E.test(I.nodeName)) FCKDomTools.RemoveNode(I,true);else FCKDomTools.RemoveAttributes(I,FCKConfig.RemoveAttributesArray);I=J;};A.SelectBookmark(B);FCK.Events.FireEvent('OnSelectionChange');},GetStyle:function(A){return this.GetStyles()[A];},GetStyles:function(){var A=this._GetStyles;if (!A){A=this._GetStyles=FCKTools.Merge(this._LoadStylesCore(),this._LoadStylesCustom(),this._LoadStylesXml());};return A;},CheckHasObjectStyle:function(A){return!!this._ObjectStyles[A];},_LoadStylesCore:function(){var A={};var B=FCKConfig.CoreStyles;for (var C in B){var D=A['_FCK_'+C]=new FCKStyle(B[C]);D.IsCore=true;};return A;},_LoadStylesCustom:function(){var A={};var B=FCKConfig.CustomStyles;if (B){for (var C in B){var D=A[C]=new FCKStyle(B[C]);D.Name=C;}};return A;},_LoadStylesXml:function(){var A={};var B=FCKConfig.StylesXmlPath;if (!B||B.length==0) return A;var C=new FCKXml();C.LoadUrl(B);var D=FCKXml.TransformToObject(C.SelectSingleNode('Styles'));var E=D.$Style;if (!E) return A;for (var i=0;i<E.length;i++){var F=E[i];var G=(F.element||'').toLowerCase();if (G.length==0) throw('The element name is required. Error loading "'+B+'"');var H={Element:G,Attributes:{},Styles:{},Overrides:[]};var I=F.$Attribute||[];for (var j=0;j<I.length;j++){H.Attributes[I[j].name]=I[j].value;};var J=F.$Style||[];for (j=0;j<J.length;j++){H.Styles[J[j].name]=J[j].value;};var K=F.$Override;if (K){for (j=0;j<K.length;j++){var L=K[j];var M={Element:L.element};var N=L.$Attribute;if (N){M.Attributes={};for (var k=0;k<N.length;k++){var O=N[k].value||null;if (O){var P=O&&FCKRegexLib.RegExp.exec(O);if (P) O=new RegExp(P[1],P[2]||'');};M.Attributes[N[k].name]=O;}};H.Overrides.push(M);}};var Q=new FCKStyle(H);Q.Name=F.name||G;if (Q.GetType()==2) this._ObjectStyles[G]=true;A[Q.Name]=Q;};return A;}};\r
 var FCKListHandler={OutdentListItem:function(A){var B=A.parentNode;if (B.tagName.toUpperCase().Equals('UL','OL')){var C=FCKTools.GetElementDocument(A);var D=new FCKDocumentFragment(C);var E=D.RootNode;var F=false;var G=FCKDomTools.GetFirstChild(A,['UL','OL']);if (G){F=true;var H;while ((H=G.firstChild)) E.appendChild(G.removeChild(H));FCKDomTools.RemoveNode(G);};var I;var J=false;while ((I=A.nextSibling)){if (!F&&I.nodeType==1&&I.nodeName.toUpperCase()=='LI') J=F=true;E.appendChild(I.parentNode.removeChild(I));if (!J&&I.nodeType==1&&I.nodeName.toUpperCase().Equals('UL','OL')) FCKDomTools.RemoveNode(I,true);};var K=B.parentNode.tagName.toUpperCase();var L=(K=='LI');if (L||K.Equals('UL','OL')){if (F){var G=B.cloneNode(false);D.AppendTo(G);A.appendChild(G);}else if (L) D.InsertAfterNode(B.parentNode);else D.InsertAfterNode(B);if (L) FCKDomTools.InsertAfterNode(B.parentNode,B.removeChild(A));else FCKDomTools.InsertAfterNode(B,B.removeChild(A));}else{if (F){var N=B.cloneNode(false);D.AppendTo(N);FCKDomTools.InsertAfterNode(B,N);};var O=C.createElement(FCKConfig.EnterMode=='p'?'p':'div');FCKDomTools.MoveChildren(B.removeChild(A),O);FCKDomTools.InsertAfterNode(B,O);if (FCKConfig.EnterMode=='br'){if (FCKBrowserInfo.IsGecko) O.parentNode.insertBefore(FCKTools.CreateBogusBR(C),O);else FCKDomTools.InsertAfterNode(O,FCKTools.CreateBogusBR(C));FCKDomTools.RemoveNode(O,true);}};if (this.CheckEmptyList(B)) FCKDomTools.RemoveNode(B,true);}},CheckEmptyList:function(A){return (FCKDomTools.GetFirstChild(A,'LI')==null);},CheckListHasContents:function(A){var B=A.firstChild;while (B){switch (B.nodeType){case 1:if (!B.nodeName.IEquals('UL','LI')) return true;break;case 3:if (B.nodeValue.Trim().length>0) return true;};B=B.nextSibling;};return false;}};\r
-var FCKElementPath=function(A){var B=null;var C=null;var D=[];var e=A;while (e){if (e.nodeType==1){if (!this.LastElement) this.LastElement=e;var E=e.nodeName.toLowerCase();if (!C){if (!B&&FCKListsLib.PathBlockElements[E]!=null) B=e;if (FCKListsLib.PathBlockLimitElements[E]!=null) C=e;};D.push(e);if (E=='body') break;};e=e.parentNode;};this.Block=B;this.BlockLimit=C;this.Elements=D;};\r
-var FCKDomRange=function(A){this.Window=A;};FCKDomRange.prototype={_UpdateElementInfo:function(){if (!this._Range) this.Release(true);else{var A=this._Range.startContainer;var B=this._Range.endContainer;var C=new FCKElementPath(A);this.StartContainer=C.LastElement;this.StartBlock=C.Block;this.StartBlockLimit=C.BlockLimit;if (A!=B) C=new FCKElementPath(B);this.EndContainer=C.LastElement;this.EndBlock=C.Block;this.EndBlockLimit=C.BlockLimit;}},CreateRange:function(){return new FCKW3CRange(this.Window.document);},DeleteContents:function(){if (this._Range){this._Range.deleteContents();this._UpdateElementInfo();}},ExtractContents:function(){if (this._Range){var A=this._Range.extractContents();this._UpdateElementInfo();return A;}},CheckIsCollapsed:function(){if (this._Range) return this._Range.collapsed;},Collapse:function(A){if (this._Range) this._Range.collapse(A);this._UpdateElementInfo();},Clone:function(){var A=FCKTools.CloneObject(this);if (this._Range) A._Range=this._Range.cloneRange();return A;},MoveToNodeContents:function(A){if (!this._Range) this._Range=this.CreateRange();this._Range.selectNodeContents(A);this._UpdateElementInfo();},MoveToElementStart:function(A){this.SetStart(A,1);this.SetEnd(A,1);},MoveToElementEditStart:function(A){var B;while ((B=A.firstChild)&&B.nodeType==1&&FCKListsLib.EmptyElements[B.nodeName.toLowerCase()]==null) A=B;this.MoveToElementStart(A);},InsertNode:function(A){if (this._Range) this._Range.insertNode(A);},CheckIsEmpty:function(A){if (this.CheckIsCollapsed()) return true;var B=this.Window.document.createElement('div');this._Range.cloneContents().AppendTo(B);FCKDomTools.TrimNode(B,A);return (B.innerHTML.length==0);},CheckStartOfBlock:function(){var A=this.Clone();A.Collapse(true);A.SetStart(A.StartBlock||A.StartBlockLimit,1);var B=A.CheckIsEmpty();A.Release();return B;},CheckEndOfBlock:function(A){var B=this.Clone();B.Collapse(false);B.SetEnd(B.EndBlock||B.EndBlockLimit,2);var C=B.CheckIsCollapsed();if (!C){var D=this.Window.document.createElement('div');B._Range.cloneContents().AppendTo(D);FCKDomTools.TrimNode(D,true);C=true;var E=D;while ((E=E.lastChild)){if (E.previousSibling||E.nodeType!=1||FCKListsLib.InlineChildReqElements[E.nodeName.toLowerCase()]==null){C=false;break;}}};B.Release();if (A) this.Select();return C;},CreateBookmark:function(){var A={StartId:'fck_dom_range_start_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000),EndId:'fck_dom_range_end_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000)};var B=this.Window.document;var C;var D;if (!this.CheckIsCollapsed()){C=B.createElement('span');C.id=A.EndId;C.innerHTML='&nbsp;';D=this.Clone();D.Collapse(false);D.InsertNode(C);};C=B.createElement('span');C.id=A.StartId;C.innerHTML='&nbsp;';D=this.Clone();D.Collapse(true);D.InsertNode(C);return A;},MoveToBookmark:function(A,B){var C=this.Window.document;var D=C.getElementById(A.StartId);var E=C.getElementById(A.EndId);this.SetStart(D,3);if (!B) FCKDomTools.RemoveNode(D);if (E){this.SetEnd(E,3);if (!B) FCKDomTools.RemoveNode(E);}else this.Collapse(true);},SetStart:function(A,B){var C=this._Range;if (!C) C=this._Range=this.CreateRange();switch(B){case 1:C.setStart(A,0);break;case 2:C.setStart(A,A.childNodes.length);break;case 3:C.setStartBefore(A);break;case 4:C.setStartAfter(A);};this._UpdateElementInfo();},SetEnd:function(A,B){var C=this._Range;if (!C) C=this._Range=this.CreateRange();switch(B){case 1:C.setEnd(A,0);break;case 2:C.setEnd(A,A.childNodes.length);break;case 3:C.setEndBefore(A);break;case 4:C.setEndAfter(A);};this._UpdateElementInfo();},Expand:function(A){var B,oSibling;switch (A){case 'block_contents':if (this.StartBlock) this.SetStart(this.StartBlock,1);else{B=this._Range.startContainer;if (B.nodeType==1){if (!(B=B.childNodes[this._Range.startOffset])) B=B.firstChild;};if (!B) return;while (true){oSibling=B.previousSibling;if (!oSibling){if (B.parentNode!=this.StartBlockLimit) B=B.parentNode;else break;}else if (oSibling.nodeType!=1||!(/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/).test(oSibling.nodeName.toUpperCase())){B=oSibling;}else break;};this._Range.setStartBefore(B);};if (this.EndBlock) this.SetEnd(this.EndBlock,2);else{B=this._Range.endContainer;if (B.nodeType==1) B=B.childNodes[this._Range.endOffset]||B.lastChild;if (!B) return;while (true){oSibling=B.nextSibling;if (!oSibling){if (B.parentNode!=this.EndBlockLimit) B=B.parentNode;else break;}else if (oSibling.nodeType!=1||!(/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/).test(oSibling.nodeName.toUpperCase())){B=oSibling;}else break;};this._Range.setEndAfter(B);};this._UpdateElementInfo();}},Release:function(A){if (!A) this.Window=null;this.StartContainer=null;this.StartBlock=null;this.StartBlockLimit=null;this.EndContainer=null;this.EndBlock=null;this.EndBlockLimit=null;this._Range=null;}};\r
-FCKDomRange.prototype.MoveToSelection=function(){this.Release(true);this._Range=new FCKW3CRange(this.Window.document);var A=this.Window.document.selection;if (A.type!='Control'){B=this._GetSelectionMarkerTag(true);this._Range.setStart(B.parentNode,FCKDomTools.GetIndexOf(B));B.parentNode.removeChild(B);var B=this._GetSelectionMarkerTag(false);this._Range.setEnd(B.parentNode,FCKDomTools.GetIndexOf(B));B.parentNode.removeChild(B);this._UpdateElementInfo();}else{var C=A.createRange().item(0);if (C){this._Range.setStartBefore(C);this._Range.setEndAfter(C);this._UpdateElementInfo();}}};FCKDomRange.prototype.Select=function(){if (this._Range){var A=this.CheckIsCollapsed();var B=this._GetRangeMarkerTag(true);if (!A) var C=this._GetRangeMarkerTag(false);var D=this.Window.document.body.createTextRange();D.moveToElementText(B);D.moveStart('character',1);if (!A){var E=this.Window.document.body.createTextRange();E.moveToElementText(C);D.setEndPoint('EndToEnd',E);D.moveEnd('character',-1);};this._Range.setStartBefore(B);B.parentNode.removeChild(B);if (A){try{D.pasteHTML('&nbsp;');D.moveStart('character',-1);}catch (e){};D.select();D.pasteHTML('');}else{this._Range.setEndBefore(C);C.parentNode.removeChild(C);D.select();}}};FCKDomRange.prototype._GetSelectionMarkerTag=function(A){var B=this.Window.document.selection.createRange();B.collapse(A===true);var C='fck_dom_range_temp_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000);B.pasteHTML('<span id="'+C+'"></span>');return this.Window.document.getElementById(C);};FCKDomRange.prototype._GetRangeMarkerTag=function(A){var B=this._Range;if (!A){B=B.cloneRange();B.collapse(A===true);};var C=this.Window.document.createElement('span');C.innerHTML='&nbsp;';B.insertNode(C);return C;}\r
+var FCKElementPath=function(A){var B=null;var C=null;var D=[];var e=A;while (e){if (e.nodeType==1){if (!this.LastElement) this.LastElement=e;var E=e.nodeName.toLowerCase();if (FCKBrowserInfo.IsIE&&e.scopeName!='HTML') E=e.scopeName.toLowerCase()+':'+E;if (!C){if (!B&&FCKListsLib.PathBlockElements[E]!=null) B=e;if (FCKListsLib.PathBlockLimitElements[E]!=null){if (!B&&E=='div'&&!FCKElementPath._CheckHasBlock(e)) B=e;else C=e;}};D.push(e);if (E=='body') break;};e=e.parentNode;};this.Block=B;this.BlockLimit=C;this.Elements=D;};FCKElementPath._CheckHasBlock=function(A){var B=A.childNodes;for (var i=0,count=B.length;i<count;i++){var C=B[i];if (C.nodeType==1&&FCKListsLib.BlockElements[C.nodeName.toLowerCase()]) return true;};return false;};\r
+var FCKDomRange=function(A){this.Window=A;this._Cache={};};FCKDomRange.prototype={_UpdateElementInfo:function(){var A=this._Range;if (!A) this.Release(true);else{var B=A.startContainer;var C=new FCKElementPath(B);this.StartNode=B.nodeType==3?B:B.childNodes[A.startOffset];this.StartContainer=B;this.StartBlock=C.Block;this.StartBlockLimit=C.BlockLimit;if (A.collapsed){this.EndNode=this.StartNode;this.EndContainer=this.StartContainer;this.EndBlock=this.StartBlock;this.EndBlockLimit=this.StartBlockLimit;}else{var D=A.endContainer;if (B!=D) C=new FCKElementPath(D);var E=D;if (A.endOffset==0){while (E&&!E.previousSibling) E=E.parentNode;if (E) E=E.previousSibling;}else if (E.nodeType==1) E=E.childNodes[A.endOffset-1];this.EndNode=E;this.EndContainer=D;this.EndBlock=C.Block;this.EndBlockLimit=C.BlockLimit;}};this._Cache={};},CreateRange:function(){return new FCKW3CRange(this.Window.document);},DeleteContents:function(){if (this._Range){this._Range.deleteContents();this._UpdateElementInfo();}},ExtractContents:function(){if (this._Range){var A=this._Range.extractContents();this._UpdateElementInfo();return A;};return null;},CheckIsCollapsed:function(){if (this._Range) return this._Range.collapsed;return false;},Collapse:function(A){if (this._Range) this._Range.collapse(A);this._UpdateElementInfo();},Clone:function(){var A=FCKTools.CloneObject(this);if (this._Range) A._Range=this._Range.cloneRange();return A;},MoveToNodeContents:function(A){if (!this._Range) this._Range=this.CreateRange();this._Range.selectNodeContents(A);this._UpdateElementInfo();},MoveToElementStart:function(A){this.SetStart(A,1);this.SetEnd(A,1);},MoveToElementEditStart:function(A){var B;while (A&&A.nodeType==1){if (FCKDomTools.CheckIsEditable(A)) B=A;else if (B) break;A=A.firstChild;};if (B) this.MoveToElementStart(B);},InsertNode:function(A){if (this._Range) this._Range.insertNode(A);},CheckIsEmpty:function(){if (this.CheckIsCollapsed()) return true;var A=this.Window.document.createElement('div');this._Range.cloneContents().AppendTo(A);FCKDomTools.TrimNode(A);return (A.innerHTML.length==0);},CheckStartOfBlock:function(){var A=this._Cache;var B=A.IsStartOfBlock;if (B!=undefined) return B;var C=this.StartBlock||this.StartBlockLimit;var D=this._Range.startContainer;var E=this._Range.startOffset;var F;if (E>0){if (D.nodeType==3){var G=D.nodeValue.substr(0,E).Trim();if (G.length!=0) return A.IsStartOfBlock=false;}else F=D.childNodes[E-1];};if (!F) F=FCKDomTools.GetPreviousSourceNode(D,true,null,C);while (F){switch (F.nodeType){case 1:if (!FCKListsLib.InlineChildReqElements[F.nodeName.toLowerCase()]) return A.IsStartOfBlock=false;break;case 3:if (F.nodeValue.Trim().length>0) return A.IsStartOfBlock=false;};F=FCKDomTools.GetPreviousSourceNode(F,false,null,C);};return A.IsStartOfBlock=true;},CheckEndOfBlock:function(A){var B=this._Cache.IsEndOfBlock;if (B!=undefined) return B;var C=this.EndBlock||this.EndBlockLimit;var D=this._Range.endContainer;var E=this._Range.endOffset;var F;if (D.nodeType==3){var G=D.nodeValue;if (E<G.length){G=G.substr(E);if (G.Trim().length!=0) return this._Cache.IsEndOfBlock=false;}}else F=D.childNodes[E];if (!F) F=FCKDomTools.GetNextSourceNode(D,true,null,C);var H=false;while (F){switch (F.nodeType){case 1:var I=F.nodeName.toLowerCase();if (FCKListsLib.InlineChildReqElements[I]) break;if (I=='br'&&!H){H=true;break;};return this._Cache.IsEndOfBlock=false;case 3:if (F.nodeValue.Trim().length>0) return this._Cache.IsEndOfBlock=false;};F=FCKDomTools.GetNextSourceNode(F,false,null,C);};if (A) this.Select();return this._Cache.IsEndOfBlock=true;},CreateBookmark:function(A){var B={StartId:(new Date()).valueOf()+Math.floor(Math.random()*1000)+'S',EndId:(new Date()).valueOf()+Math.floor(Math.random()*1000)+'E'};var C=this.Window.document;var D;var E;var F;if (!this.CheckIsCollapsed()){E=C.createElement('span');E.style.display='none';E.id=B.EndId;E.setAttribute('_fck_bookmark',true);E.innerHTML='&nbsp;';F=this.Clone();F.Collapse(false);F.InsertNode(E);};D=C.createElement('span');D.style.display='none';D.id=B.StartId;D.setAttribute('_fck_bookmark',true);D.innerHTML='&nbsp;';F=this.Clone();F.Collapse(true);F.InsertNode(D);if (A){B.StartNode=D;B.EndNode=E;};if (E){this.SetStart(D,4);this.SetEnd(E,3);}else this.MoveToPosition(D,4);return B;},GetBookmarkNode:function(A,B){var C=this.Window.document;if (B) return A.StartNode||C.getElementById(A.StartId);else return A.EndNode||C.getElementById(A.EndId);},MoveToBookmark:function(A,B){var C=this.GetBookmarkNode(A,true);var D=this.GetBookmarkNode(A,false);this.SetStart(C,3);if (!B) FCKDomTools.RemoveNode(C);if (D){this.SetEnd(D,3);if (!B) FCKDomTools.RemoveNode(D);}else this.Collapse(true);this._UpdateElementInfo();},CreateBookmark2:function(){if (!this._Range) return { "Start":0,"End":0 };var A={"Start":[this._Range.startOffset],"End":[this._Range.endOffset]};var B=this._Range.startContainer.previousSibling;var C=this._Range.endContainer.previousSibling;var D=this._Range.startContainer;var E=this._Range.endContainer;while (B&&B.nodeType==3&&D.nodeType==3){A.Start[0]+=B.length;D=B;B=B.previousSibling;}while (C&&C.nodeType==3&&E.nodeType==3){A.End[0]+=C.length;E=C;C=C.previousSibling;};if (D.nodeType==1&&D.childNodes[A.Start[0]]&&D.childNodes[A.Start[0]].nodeType==3){var F=D.childNodes[A.Start[0]];var G=0;while (F.previousSibling&&F.previousSibling.nodeType==3){F=F.previousSibling;G+=F.length;};D=F;A.Start[0]=G;};if (E.nodeType==1&&E.childNodes[A.End[0]]&&E.childNodes[A.End[0]].nodeType==3){var F=E.childNodes[A.End[0]];var G=0;while (F.previousSibling&&F.previousSibling.nodeType==3){F=F.previousSibling;G+=F.length;};E=F;A.End[0]=G;};A.Start=FCKDomTools.GetNodeAddress(D,true).concat(A.Start);A.End=FCKDomTools.GetNodeAddress(E,true).concat(A.End);return A;},MoveToBookmark2:function(A){var B=FCKDomTools.GetNodeFromAddress(this.Window.document,A.Start.slice(0,-1),true);var C=FCKDomTools.GetNodeFromAddress(this.Window.document,A.End.slice(0,-1),true);this.Release(true);this._Range=new FCKW3CRange(this.Window.document);var D=A.Start[A.Start.length-1];var E=A.End[A.End.length-1];while (B.nodeType==3&&D>B.length){if (!B.nextSibling||B.nextSibling.nodeType!=3) break;D-=B.length;B=B.nextSibling;}while (C.nodeType==3&&E>C.length){if (!C.nextSibling||C.nextSibling.nodeType!=3) break;E-=C.length;C=C.nextSibling;};this._Range.setStart(B,D);this._Range.setEnd(C,E);this._UpdateElementInfo();},MoveToPosition:function(A,B){this.SetStart(A,B);this.Collapse(true);},SetStart:function(A,B,C){var D=this._Range;if (!D) D=this._Range=this.CreateRange();switch(B){case 1:D.setStart(A,0);break;case 2:D.setStart(A,A.childNodes.length);break;case 3:D.setStartBefore(A);break;case 4:D.setStartAfter(A);};if (!C) this._UpdateElementInfo();},SetEnd:function(A,B,C){var D=this._Range;if (!D) D=this._Range=this.CreateRange();switch(B){case 1:D.setEnd(A,0);break;case 2:D.setEnd(A,A.childNodes.length);break;case 3:D.setEndBefore(A);break;case 4:D.setEndAfter(A);};if (!C) this._UpdateElementInfo();},Expand:function(A){var B,oSibling;switch (A){case 'inline_elements':if (this._Range.startOffset==0){B=this._Range.startContainer;if (B.nodeType!=1) B=B.previousSibling?null:B.parentNode;if (B){while (FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){this._Range.setStartBefore(B);if (B!=B.parentNode.firstChild) break;B=B.parentNode;}}};B=this._Range.endContainer;var C=this._Range.endOffset;if ((B.nodeType==3&&C>=B.nodeValue.length)||(B.nodeType==1&&C>=B.childNodes.length)||(B.nodeType!=1&&B.nodeType!=3)){if (B.nodeType!=1) B=B.nextSibling?null:B.parentNode;if (B){while (FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){this._Range.setEndAfter(B);if (B!=B.parentNode.lastChild) break;B=B.parentNode;}}};break;case 'block_contents':case 'list_contents':var D=FCKListsLib.BlockBoundaries;if (A=='list_contents'||FCKConfig.EnterMode=='br') D=FCKListsLib.ListBoundaries;if (this.StartBlock&&FCKConfig.EnterMode!='br'&&A=='block_contents') this.SetStart(this.StartBlock,1);else{B=this._Range.startContainer;if (B.nodeType==1){var E=B.childNodes[this._Range.startOffset];if (E) B=FCKDomTools.GetPreviousSourceNode(E,true);else B=B.lastChild||B;}while (B&&(B.nodeType!=1||(B!=this.StartBlockLimit&&!D[B.nodeName.toLowerCase()]))){this._Range.setStartBefore(B);B=B.previousSibling||B.parentNode;}};if (this.EndBlock&&FCKConfig.EnterMode!='br'&&A=='block_contents'&&this.EndBlock.nodeName.toLowerCase()!='li') this.SetEnd(this.EndBlock,2);else{B=this._Range.endContainer;if (B.nodeType==1) B=B.childNodes[this._Range.endOffset]||B.lastChild;while (B&&(B.nodeType!=1||(B!=this.StartBlockLimit&&!D[B.nodeName.toLowerCase()]))){this._Range.setEndAfter(B);B=B.nextSibling||B.parentNode;};if (B&&B.nodeName.toLowerCase()=='br') this._Range.setEndAfter(B);};this._UpdateElementInfo();}},SplitBlock:function(A){var B=A||FCKConfig.EnterMode;if (!this._Range) this.MoveToSelection();if (this.StartBlockLimit==this.EndBlockLimit){var C=this.StartBlock;var D=this.EndBlock;var E=null;if (B!='br'){if (!C){C=this.FixBlock(true,B);D=this.EndBlock;};if (!D) D=this.FixBlock(false,B);};var F=(C!=null&&this.CheckStartOfBlock());var G=(D!=null&&this.CheckEndOfBlock());if (!this.CheckIsEmpty()) this.DeleteContents();if (C&&D&&C==D){if (G){E=new FCKElementPath(this.StartContainer);this.MoveToPosition(D,4);D=null;}else if (F){E=new FCKElementPath(this.StartContainer);this.MoveToPosition(C,3);C=null;}else{this.SetEnd(C,2);var H=this.ExtractContents();D=C.cloneNode(false);D.removeAttribute('id',false);H.AppendTo(D);FCKDomTools.InsertAfterNode(C,D);this.MoveToPosition(C,4);if (FCKBrowserInfo.IsGecko&&!C.nodeName.IEquals(['ul','ol'])) FCKTools.AppendBogusBr(C);}};return {PreviousBlock:C,NextBlock:D,WasStartOfBlock:F,WasEndOfBlock:G,ElementPath:E};};return null;},FixBlock:function(A,B){var C=this.CreateBookmark();this.Collapse(A);this.Expand('block_contents');var D=this.Window.document.createElement(B);this.ExtractContents().AppendTo(D);FCKDomTools.TrimNode(D);if (FCKDomTools.CheckIsEmptyElement(D,function(element) { return element.getAttribute('_fck_bookmark')!='true';})&&FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(D);this.InsertNode(D);this.MoveToBookmark(C);return D;},Release:function(A){if (!A) this.Window=null;this.StartNode=null;this.StartContainer=null;this.StartBlock=null;this.StartBlockLimit=null;this.EndNode=null;this.EndContainer=null;this.EndBlock=null;this.EndBlockLimit=null;this._Range=null;this._Cache=null;},CheckHasRange:function(){return!!this._Range;},GetTouchedStartNode:function(){var A=this._Range;var B=A.startContainer;if (A.collapsed||B.nodeType!=1) return B;return B.childNodes[A.startOffset]||B;},GetTouchedEndNode:function(){var A=this._Range;var B=A.endContainer;if (A.collapsed||B.nodeType!=1) return B;return B.childNodes[A.endOffset-1]||B;}};\r
+FCKDomRange.prototype.MoveToSelection=function(){this.Release(true);this._Range=new FCKW3CRange(this.Window.document);var A=this.Window.document.selection;if (A.type!='Control'){var B=this._GetSelectionMarkerTag(true);var C=this._GetSelectionMarkerTag(false);if (!B&&!C){this._Range.setStart(this.Window.document.body,0);this._UpdateElementInfo();return;};this._Range.setStart(B.parentNode,FCKDomTools.GetIndexOf(B));B.parentNode.removeChild(B);this._Range.setEnd(C.parentNode,FCKDomTools.GetIndexOf(C));C.parentNode.removeChild(C);this._UpdateElementInfo();}else{var D=A.createRange().item(0);if (D){this._Range.setStartBefore(D);this._Range.setEndAfter(D);this._UpdateElementInfo();}}};FCKDomRange.prototype.Select=function(A){if (this._Range) this.SelectBookmark(this.CreateBookmark(true),A);};FCKDomRange.prototype.SelectBookmark=function(A,B){var C=this.CheckIsCollapsed();var D;var E;var F=this.GetBookmarkNode(A,true);if (!F) return;var G;if (!C) G=this.GetBookmarkNode(A,false);var H=this.Window.document.body.createTextRange();H.moveToElementText(F);H.moveStart('character',1);if (G){var I=this.Window.document.body.createTextRange();I.moveToElementText(G);H.setEndPoint('EndToEnd',I);H.moveEnd('character',-1);}else{D=B||!F.previousSibling||F.previousSibling.nodeName.toLowerCase()=='br';E=this.Window.document.createElement('span');E.innerHTML='&#65279;';F.parentNode.insertBefore(E,F);if (D){F.parentNode.insertBefore(this.Window.document.createTextNode('\ufeff'),F);}};if (!this._Range) this._Range=this.CreateRange();this._Range.setStartBefore(F);F.parentNode.removeChild(F);if (C){if (D){H.moveStart('character',-1);H.select();this.Window.document.selection.clear();}else H.select();FCKDomTools.RemoveNode(E);}else{this._Range.setEndBefore(G);G.parentNode.removeChild(G);H.select();}};FCKDomRange.prototype._GetSelectionMarkerTag=function(A){var B=this.Window.document;var C=B.selection;var D;try{D=C.createRange();}catch (e){return null;};if (D.parentElement().document!=B) return null;D.collapse(A===true);var E='fck_dom_range_temp_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000);D.pasteHTML('<span id="'+E+'"></span>');return B.getElementById(E);};\r
+var FCKDomRangeIterator=function(A){this.Range=A;this.ForceBrBreak=false;this.EnforceRealBlocks=false;};FCKDomRangeIterator.CreateFromSelection=function(A){var B=new FCKDomRange(A);B.MoveToSelection();return new FCKDomRangeIterator(B);};FCKDomRangeIterator.prototype={GetNextParagraph:function(){var A;var B;var C;var D;var E;var F=this.ForceBrBreak?FCKListsLib.ListBoundaries:FCKListsLib.BlockBoundaries;if (!this._LastNode){var B=this.Range.Clone();B.Expand(this.ForceBrBreak?'list_contents':'block_contents');this._NextNode=B.GetTouchedStartNode();this._LastNode=B.GetTouchedEndNode();B=null;};var H=this._NextNode;var I=this._LastNode;this._NextNode=null;while (H){var J=false;var K=(H.nodeType!=1);var L=false;if (!K){var M=H.nodeName.toLowerCase();if (F[M]&&(!FCKBrowserInfo.IsIE||H.scopeName=='HTML')){if (M=='br') K=true;else if (!B&&H.childNodes.length==0&&M!='hr'){A=H;C=H==I;break;};if (B){B.SetEnd(H,3,true);if (M!='br') this._NextNode=FCKDomTools.GetNextSourceNode(H,true,null,I)||H;};J=true;}else{if (H.firstChild){if (!B){B=new FCKDomRange(this.Range.Window);B.SetStart(H,3,true);};H=H.firstChild;continue;};K=true;}}else if (H.nodeType==3){if (/^[\r\n\t ]+$/.test(H.nodeValue)) K=false;};if (K&&!B){B=new FCKDomRange(this.Range.Window);B.SetStart(H,3,true);};C=((!J||K)&&H==I);if (B&&!J){while (!H.nextSibling&&!C){var N=H.parentNode;if (F[N.nodeName.toLowerCase()]){J=true;C=C||(N==I);break;};H=N;K=true;C=(H==I);L=true;}};if (K) B.SetEnd(H,4,true);if ((J||C)&&B){B._UpdateElementInfo();if (B.StartNode==B.EndNode&&B.StartNode.parentNode==B.StartBlockLimit&&B.StartNode.getAttribute&&B.StartNode.getAttribute('_fck_bookmark')) B=null;else break;};if (C) break;H=FCKDomTools.GetNextSourceNode(H,L,null,I);};if (!A){if (!B){this._NextNode=null;return null;};A=B.StartBlock;if (!A&&!this.EnforceRealBlocks&&B.StartBlockLimit.nodeName.IEquals('DIV','TH','TD')&&B.CheckStartOfBlock()&&B.CheckEndOfBlock()){A=B.StartBlockLimit;}else if (!A||(this.EnforceRealBlocks&&A.nodeName.toLowerCase()=='li')){A=this.Range.Window.document.createElement(FCKConfig.EnterMode=='p'?'p':'div');B.ExtractContents().AppendTo(A);FCKDomTools.TrimNode(A);B.InsertNode(A);D=true;E=true;}else if (A.nodeName.toLowerCase()!='li'){if (!B.CheckStartOfBlock()||!B.CheckEndOfBlock()){A=A.cloneNode(false);B.ExtractContents().AppendTo(A);FCKDomTools.TrimNode(A);var O=B.SplitBlock();D=!O.WasStartOfBlock;E=!O.WasEndOfBlock;B.InsertNode(A);}}else if (!C){this._NextNode=A==I?null:FCKDomTools.GetNextSourceNode(B.EndNode,true,null,I);return A;}};if (D){var P=A.previousSibling;if (P&&P.nodeType==1){if (P.nodeName.toLowerCase()=='br') P.parentNode.removeChild(P);else if (P.lastChild&&P.lastChild.nodeName.IEquals('br')) P.removeChild(P.lastChild);}};if (E){var Q=A.lastChild;if (Q&&Q.nodeType==1&&Q.nodeName.toLowerCase()=='br') A.removeChild(Q);};if (!this._NextNode) this._NextNode=(C||A==I)?null:FCKDomTools.GetNextSourceNode(A,true,null,I);return A;}};\r
 var FCKDocumentFragment=function(A){this._Document=A;this.RootNode=A.createElement('div');};FCKDocumentFragment.prototype={AppendTo:function(A){FCKDomTools.MoveChildren(this.RootNode,A);},AppendHtml:function(A){var B=this._Document.createElement('div');B.innerHTML=A;FCKDomTools.MoveChildren(B,this.RootNode);},InsertAfterNode:function(A){var B=this.RootNode;var C;while((C=B.lastChild)) FCKDomTools.InsertAfterNode(A,B.removeChild(C));}};\r
-var FCKW3CRange=function(A){this._Document=A;this.startContainer=null;this.startOffset=null;this.endContainer=null;this.endOffset=null;this.collapsed=true;};FCKW3CRange.CreateRange=function(A){return new FCKW3CRange(A);};FCKW3CRange.CreateFromRange=function(A,B){var C=FCKW3CRange.CreateRange(A);C.setStart(B.startContainer,B.startOffset);C.setEnd(B.endContainer,B.endOffset);return C;};FCKW3CRange.prototype={_UpdateCollapsed:function(){this.collapsed=(this.startContainer==this.endContainer&&this.startOffset==this.endOffset);},setStart:function(A,B){this.startContainer=A;this.startOffset=B;if (!this.endContainer){this.endContainer=A;this.endOffset=B;};this._UpdateCollapsed();},setEnd:function(A,B){this.endContainer=A;this.endOffset=B;if (!this.startContainer){this.startContainer=A;this.startOffset=B;};this._UpdateCollapsed();},setStartAfter:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setStartBefore:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A));},setEndAfter:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setEndBefore:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A));},collapse:function(A){if (A){this.endContainer=this.startContainer;this.endOffset=this.startOffset;}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset;};this.collapsed=true;},selectNodeContents:function(A){this.setStart(A,0);this.setEnd(A,A.nodeType==3?A.data.length:A.childNodes.length);},insertNode:function(A){var B=this.startContainer;var C=this.startOffset;if (B.nodeType==3){B.splitText(C);if (B==this.endContainer) this.setEnd(B.nextSibling,this.endOffset-this.startOffset);FCKDomTools.InsertAfterNode(B,A);return;}else{B.insertBefore(A,B.childNodes[C]||null);if (B==this.endContainer){this.endOffset++;this.collapsed=false;}}},deleteContents:function(){if (this.collapsed) return;this._ExecContentsAction(0);},extractContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(1,A);return A;},cloneContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(2,A);return A;},_ExecContentsAction:function(A,B){var C=this.startContainer;var D=this.endContainer;var E=this.startOffset;var F=this.endOffset;var G=false;var H=false;if (D.nodeType==3) D=D.splitText(F);else{if (D.childNodes.length>0){if (F>D.childNodes.length-1){D=FCKDomTools.InsertAfterNode(D.lastChild,this._Document.createTextNode(''));H=true;}else D=D.childNodes[F];}};if (C.nodeType==3){C.splitText(E);if (C==D) D=C.nextSibling;}else{if (C.childNodes.length>0&&E<=C.childNodes.length-1){if (E==0){C=C.insertBefore(this._Document.createTextNode(''),C.firstChild);G=true;}else C=C.childNodes[E].previousSibling;}};var I=FCKDomTools.GetParents(C);var J=FCKDomTools.GetParents(D);var i,topStart,topEnd;for (i=0;i<I.length;i++){topStart=I[i];topEnd=J[i];if (topStart!=topEnd) break;};var K,levelStartNode,levelClone,currentNode,currentSibling;if (B) K=B.RootNode;for (var j=i;j<I.length;j++){levelStartNode=I[j];if (K&&levelStartNode!=C) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==C));currentNode=levelStartNode.nextSibling;while(currentNode){if (currentNode==J[j]||currentNode==D) break;currentSibling=currentNode.nextSibling;if (A==2) K.appendChild(currentNode.cloneNode(true));else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.appendChild(currentNode);};currentNode=currentSibling;};if (K) K=levelClone;};if (B) K=B.RootNode;for (var k=i;k<J.length;k++){levelStartNode=J[k];if (A>0&&levelStartNode!=D) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==D));if (!I[k]||levelStartNode.parentNode!=I[k].parentNode){currentNode=levelStartNode.previousSibling;while(currentNode){if (currentNode==I[k]||currentNode==C) break;currentSibling=currentNode.previousSibling;if (A==2) K.insertBefore(currentNode.cloneNode(true),K.firstChild);else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.insertBefore(currentNode,K.firstChild);};currentNode=currentSibling;}};if (K) K=levelClone;};if (A==2){var L=this.startContainer;if (L.nodeType==3){L.data+=L.nextSibling.data;L.parentNode.removeChild(L.nextSibling);};var M=this.endContainer;if (M.nodeType==3&&M.nextSibling){M.data+=M.nextSibling.data;M.parentNode.removeChild(M.nextSibling);}}else{if (topStart&&topEnd&&(C.parentNode!=topStart.parentNode||D.parentNode!=topEnd.parentNode)) this.setStart(topEnd.parentNode,FCKDomTools.GetIndexOf(topEnd));this.collapse(true);};if(G) C.parentNode.removeChild(C);if(H&&D.parentNode) D.parentNode.removeChild(D);},cloneRange:function(){return FCKW3CRange.CreateFromRange(this._Document,this);},toString:function(){var A=this.cloneContents();var B=this._Document.createElement('div');A.AppendTo(B);return B.textContent||B.innerText;}};\r
-var FCKEnterKey=function(A,B,C){this.Window=A;this.EnterMode=B||'p';this.ShiftEnterMode=C||'br';var D=new FCKKeystrokeHandler(false);D._EnterKey=this;D.OnKeystroke=FCKEnterKey_OnKeystroke;D.SetKeystrokes([[13,'Enter'],[SHIFT+13,'ShiftEnter'],[8,'Backspace'],[46,'Delete']]);D.AttachToElement(A.document);};function FCKEnterKey_OnKeystroke(A,B){var C=this._EnterKey;try{switch (B){case 'Enter':return C.DoEnter();break;case 'ShiftEnter':return C.DoShiftEnter();break;case 'Backspace':return C.DoBackspace();break;case 'Delete':return C.DoDelete();}}catch (e){};return false;};FCKEnterKey.prototype.DoEnter=function(A,B){this._HasShift=(B===true);var C=A||this.EnterMode;if (C=='br') return this._ExecuteEnterBr();else return this._ExecuteEnterBlock(C);};FCKEnterKey.prototype.DoShiftEnter=function(){return this.DoEnter(this.ShiftEnterMode,true);};FCKEnterKey.prototype.DoBackspace=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (!B.CheckIsCollapsed()) return false;var C=B.StartBlock;var D=B.EndBlock;if (B.StartBlockLimit==B.EndBlockLimit&&C&&D){if (!B.CheckIsCollapsed()){var E=B.CheckEndOfBlock();B.DeleteContents();if (C!=D){B.SetStart(D,1);B.SetEnd(D,1);};B.Select();A=(C==D);};if (B.CheckStartOfBlock()){var F=B.StartBlock;var G=FCKDomTools.GetPreviousSourceElement(F,true,['BODY',B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,G,F);}else if (FCKBrowserInfo.IsGecko){B.Select();}};B.Release();return A;};FCKEnterKey.prototype._ExecuteBackspace=function(A,B,C){var D=false;if (!B&&C&&C.nodeName.IEquals('LI')&&C.parentNode.parentNode.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};if (B&&B.nodeName.IEquals('LI')){var E=FCKDomTools.GetLastChild(B,['UL','OL']);while (E){B=FCKDomTools.GetLastChild(E,'LI');E=FCKDomTools.GetLastChild(B,['UL','OL']);}};if (B&&C){if (C.nodeName.IEquals('LI')&&!B.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};var F=C.parentNode;var G=B.nodeName.toLowerCase();if (FCKListsLib.EmptyElements[G]!=null||G=='table'){FCKDomTools.RemoveNode(B);D=true;}else{FCKDomTools.RemoveNode(C);while (F.innerHTML.Trim().length==0){var H=F.parentNode;H.removeChild(F);F=H;};FCKDomTools.TrimNode(C);FCKDomTools.TrimNode(B);A.SetStart(B,2);A.Collapse(true);var I=A.CreateBookmark();FCKDomTools.MoveChildren(C,B);A.MoveToBookmark(I);A.Select();D=true;}};return D;};FCKEnterKey.prototype.DoDelete=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (B.CheckIsCollapsed()&&B.CheckEndOfBlock(FCKBrowserInfo.IsGeckoLike)){var C=B.StartBlock;var D=FCKDomTools.GetNextSourceElement(C,true,[B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,C,D);};B.Release();return A;};FCKEnterKey.prototype._ExecuteEnterBlock=function(A,B){var C=B||new FCKDomRange(this.Window);if (!B) C.MoveToSelection();if (C.StartBlockLimit==C.EndBlockLimit){if (!C.StartBlock) this._FixBlock(C,true,A);if (!C.EndBlock) this._FixBlock(C,false,A);var D=C.StartBlock;var E=C.EndBlock;if (!C.CheckIsEmpty()) C.DeleteContents();if (D==E){var F;var G=C.CheckStartOfBlock();var H=C.CheckEndOfBlock();if (G&&!H){F=D.cloneNode(false);if (FCKBrowserInfo.IsGeckoLike) F.innerHTML=GECKO_BOGUS;D.parentNode.insertBefore(F,D);if (FCKBrowserInfo.IsIE){C.MoveToNodeContents(F);C.Select();};C.MoveToElementEditStart(D);}else{if (H){var I=D.tagName.toUpperCase();if (G&&I=='LI'){this._OutdentWithSelection(D,C);C.Release();return true;}else{if ((/^H[1-6]$/).test(I)||this._HasShift) F=this.Window.document.createElement(A);else{F=D.cloneNode(false);this._RecreateEndingTree(D,F);};if (FCKBrowserInfo.IsGeckoLike){F.innerHTML=GECKO_BOGUS;if (G) D.innerHTML=GECKO_BOGUS;}}}else{C.SetEnd(D,2);var J=C.ExtractContents();F=D.cloneNode(false);FCKDomTools.TrimNode(J.RootNode);if (J.RootNode.firstChild.nodeType==1&&J.RootNode.firstChild.tagName.toUpperCase().Equals('UL','OL')) F.innerHTML=GECKO_BOGUS;J.AppendTo(F);if (FCKBrowserInfo.IsGecko){this._AppendBogusBr(D);this._AppendBogusBr(F);}};if (F){FCKDomTools.InsertAfterNode(D,F);C.MoveToElementEditStart(F);if (FCKBrowserInfo.IsGeckoLike) F.scrollIntoView(false);}}}else{C.MoveToElementEditStart(E);};C.Select();};C.Release();return true;};FCKEnterKey.prototype._ExecuteEnterBr=function(A){var B=new FCKDomRange(this.Window);B.MoveToSelection();if (B.StartBlockLimit==B.EndBlockLimit){B.DeleteContents();B.MoveToSelection();var C=B.CheckStartOfBlock();var D=B.CheckEndOfBlock();var E=B.StartBlock?B.StartBlock.tagName.toUpperCase():'';var F=this._HasShift;if (!F&&E=='LI') return this._ExecuteEnterBlock(null,B);if (!F&&D&&(/^H[1-6]$/).test(E)){FCKDebug.Output('BR - Header');FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createElement('br'));if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createTextNode(''));B.SetStart(B.StartBlock.nextSibling,FCKBrowserInfo.IsIE?3:1);}else{FCKDebug.Output('BR - No Header');var G=this.Window.document.createElement('br');B.InsertNode(G);if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(G,this.Window.document.createTextNode(''));if (D&&FCKBrowserInfo.IsGeckoLike) this._AppendBogusBr(G.parentNode);if (FCKBrowserInfo.IsIE) B.SetStart(G,4);else B.SetStart(G.nextSibling,1);};B.Collapse(true);B.Select();};B.Release();return true;};FCKEnterKey.prototype._FixBlock=function(A,B,C){var D=A.CreateBookmark();A.Collapse(B);A.Expand('block_contents');var E=this.Window.document.createElement(C);A.ExtractContents().AppendTo(E);FCKDomTools.TrimNode(E);A.InsertNode(E);A.MoveToBookmark(D);};FCKEnterKey.prototype._AppendBogusBr=function(A){if (!A) return;var B=FCKTools.GetLastItem(A.getElementsByTagName('br'));if (!B||B.getAttribute('type',2)!='_moz') A.appendChild(FCKTools.CreateBogusBR(this.Window.document));};FCKEnterKey.prototype._RecreateEndingTree=function(A,B){while ((A=A.lastChild)&&A.nodeType==1&&FCKListsLib.InlineChildReqElements[A.nodeName.toLowerCase()]!=null) B=B.insertBefore(A.cloneNode(false),B.firstChild);};FCKEnterKey.prototype._OutdentWithSelection=function(A,B){var C=B.CreateBookmark();FCKListHandler.OutdentListItem(A);B.MoveToBookmark(C);B.Select();}\r
-var FCKDocumentProcessor={};FCKDocumentProcessor._Items=[];FCKDocumentProcessor.AppendNew=function(){var A={};this._Items.AddItem(A);return A;};FCKDocumentProcessor.Process=function(A){var B,i=0;while((B=this._Items[i++])) B.ProcessDocument(A);};var FCKDocumentProcessor_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;};if (FCKBrowserInfo.IsIE||FCKBrowserInfo.IsOpera){var FCKAnchorsProcessor=FCKDocumentProcessor.AppendNew();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){if (C.innerHTML!==''){if (FCKBrowserInfo.IsIE) C.className+=' FCK__AnchorC';}else{var D=FCKDocumentProcessor_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}}};var FCKPageBreaksProcessor=FCKDocumentProcessor.AppendNew();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('DIV');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.childNodes.length==1&&C.childNodes[0].style&&C.childNodes[0].style.display=='none'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};var FCKFlashProcessor=FCKDocumentProcessor.AppendNew();FCKFlashProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('EMBED');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=C.attributes['type'];if ((C.src&&C.src.EndsWith('.swf',true))||(D&&D.nodeValue=='application/x-shockwave-flash')){var E=C.cloneNode(true);if (FCKBrowserInfo.IsIE){var F=['scale','play','loop','menu','wmode','quality'];for (var G=0;G<F.length;G++){var H=C.getAttribute(F[G]);if (H) E.setAttribute(F[G],H);};E.setAttribute('type',D.nodeValue);};var I=FCKDocumentProcessor_CreateFakeImage('FCK__Flash',E);I.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(I,C);C.parentNode.insertBefore(I,C);C.parentNode.removeChild(C);}}};FCKFlashProcessor.RefreshView=function(A,B){if (B.getAttribute('width')>0) A.style.width=FCKTools.ConvertHtmlSizeToStyle(B.getAttribute('width'));if (B.getAttribute('height')>0) A.style.height=FCKTools.ConvertHtmlSizeToStyle(B.getAttribute('height'));};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;};if (FCKBrowserInfo.IsIE){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('HR');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=A.createElement('hr');D.mergeAttributes(C,true);FCKDomTools.InsertAfterNode(C,D);C.parentNode.removeChild(C);}}};FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('INPUT');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.type=='hidden'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__InputHidden',C.cloneNode(true));D.setAttribute('_fckinputhidden','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}\r
-var FCKSelection=FCK.Selection={};\r
-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);};return null;};FCKSelection.GetParentElement=function(){switch (this.GetType()){case 'Control':return FCKSelection.GetSelectedElement().parentElement;case 'None':return null;default:return FCK.EditorDocument.selection.createRange().parentElement();}};FCKSelection.SelectNode=function(A){FCK.Focus();FCK.EditorDocument.selection.empty();var B;try{B=FCK.EditorDocument.body.createControlRange();B.addElement(A);}catch(e){B=FCK.EditorDocument.body.createTextRange();B.moveToElementText(A);};B.select();};FCKSelection.Collapse=function(A){FCK.Focus();if (this.GetType()=='Text'){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,oRange;if (!FCK.EditorDocument) return null;if (FCK.EditorDocument.selection.type=="Control"){oRange=FCK.EditorDocument.selection.createRange();for (i=0;i<oRange.length;i++){if (oRange(i).parentNode){B=oRange(i).parentNode;break;}}}else{oRange=FCK.EditorDocument.selection.createRange();B=oRange.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;};\r
-var FCKTableHandler={};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.GetSelectedElement();if (!A||A.tagName!='TABLE') A=FCKSelection.MoveToAncestorNode('TABLE');};if (!A) return;FCKSelection.SelectNode(A);FCKSelection.Collapse();A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(){var A=FCKSelection.MoveToAncestorNode('TD')||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=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')||FCKSelection.MoveToAncestorNode('TH');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 null;var C=FCK.EditorDocument.createElement('TD');if (FCKBrowserInfo.IsGecko) C.innerHTML=GECKO_BOGUS;if (B.cellIndex==B.parentNode.cells.length-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='';var D=FCK.EditorDocument.createDocumentFragment();for (var i=A.length-1;i>=0;i--){var E=A[i];for (var c=E.childNodes.length-1;c>=0;c--){var F=E.removeChild(E.childNodes[c]);if ((F.hasAttribute&&F.hasAttribute('_moz_editor_bogus_node'))||(F.getAttribute&&F.getAttribute('type',2)=='_moz')) continue;D.insertBefore(F,D.firstChild);};if (i>0){B+=isNaN(E.colSpan)?1:E.colSpan;FCKTableHandler.DeleteCell(E);}};A[0].colSpan=B;if (FCKBrowserInfo.IsGecko&&D.childNodes.length==0) A[0].innerHTML=GECKO_BOGUS;else A[0].appendChild(D);};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=[];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=[];for (var i=0;i<B.length;i++){r++;if (!C[r]) C[r]=[];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]=[];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='';}};\r
-FCKTableHandler.GetSelectedCells=function(){var A=[];var B=FCK.EditorDocument.selection.createRange();var C=FCKSelection.GetParentElement();if (C&&C.tagName.Equals('TD','TH')) A[0]=C;else{C=FCKSelection.MoveToAncestorNode('TABLE');if (C){for (var i=0;i<C.cells.length;i++){var D=FCK.EditorDocument.selection.createRange();D.moveToElementText(C.cells[i]);if (B.inRange(D)||(B.compareEndPoints('StartToStart',D)>=0&&B.compareEndPoints('StartToEnd',D)<=0)||(B.compareEndPoints('EndToStart',D)>=0&&B.compareEndPoints('EndToEnd',D)<=0)){A[A.length]=C.cells[i];}}}};return A;};\r
-var 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.DOMDocument=null;};if (this.DOMDocument==null||this.DOMDocument.firstChild==null){this.Error=true;if (window.confirm('Error loading "'+A+'"\r\nDo you want to see more info?')) alert('URL requested: "'+A+'"\r\nServer response:\r\nStatus: '+B.status+'\r\nResponse text:\r\n'+B.responseText);}};FCKXml.prototype.SelectNodes=function(A,B){if (this.Error) return [];if (B) return B.selectNodes(A);else return this.DOMDocument.selectNodes(A);};FCKXml.prototype.SelectSingleNode=function(A,B){if (this.Error) return null;if (B) return B.selectSingleNode(A);else return this.DOMDocument.selectSingleNode(A);}\r
-var FCKStyleDef=function(A,B){this.Name=A;this.Element=B.toUpperCase();this.IsObjectElement=FCKRegexLib.ObjectElements.test(this.Element);this.Attributes={};};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(FCK.ToolbarSet.CurrentInstance.Selection.GetSelectedElement());else this._RemoveMe(FCK.ToolbarSet.CurrentInstance.Selection.GetParentElement());}\r
-FCKStyleDef.prototype.ApplyToSelection=function(){var A=FCK.ToolbarSet.CurrentInstance.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=FCK.ToolbarSet.CurrentInstance.Selection.GetSelectedElement();if (C.tagName==this.Element) this._AddAttributes(C);}};FCKStyleDef.prototype._AddAttributes=function(A){for (var a in this.Attributes){switch (a.toLowerCase()){case 'style':A.style.cssText=this.Attributes[a];break;case 'class':A.setAttribute('className',this.Attributes[a],0);break;case 'src':A.setAttribute('_fcksavedurl',this.Attributes[a],0);default: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)) FCKTools.RemoveOuterTags(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);}\r
-var FCKStylesLoader=function(){this.Styles={};this.StyleGroups={};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]=[];J=this.StyleGroups[D];};J[J.length]=E;};this.Loaded=true;}\r
-var FCKNamedCommand=function(A){this.Name=A;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){return FCK.GetNamedCommandState(this.Name);};\r
-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;this.Resizable=false;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height,null,null,this.Resizable);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return 0;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return 0;};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,10);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 if (A=='div'&&FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('FormatBlock','div');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 0;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.GetParentForm();if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};if (typeof(A.submit)=='function') A.submit();else A.submit.click();};FCKSaveCommand.prototype.GetState=function(){return 0;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};FCKNewPageCommand.prototype.GetState=function(){return 0;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKConfig.SourcePopup){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==0?0:1);};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()?0:-1);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()?0:-1);else return FCK.GetNamedCommandState('Redo');};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){var e=FCK.EditorDocument.createElement('DIV');e.style.pageBreakAfter='always';e.innerHTML='<span style="DISPLAY:none">&nbsp;</span>';var A=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',e);A=FCK.InsertElement(A);};FCKPageBreakCommand.prototype.GetState=function(){return 0;};var FCKUnlinkCommand=function(){this.Name='Unlink';};FCKUnlinkCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var A=FCK.Selection.MoveToAncestorNode('A');if (A) FCKTools.RemoveOuterTags(A);return;};FCK.ExecuteNamedCommand(this.Name);};FCKUnlinkCommand.prototype.GetState=function(){var A=FCK.GetNamedCommandState(this.Name);if (A==0&&FCK.EditMode==0){var B=FCKSelection.MoveToAncestorNode('A');var C=(B&&B.name.length>0&&B.href.length==0);if (C) A=-1;};return A;};var FCKSelectAllCommand=function(){this.Name='SelectAll';};FCKSelectAllCommand.prototype.Execute=function(){if (FCK.EditMode==0){FCK.ExecuteNamedCommand('SelectAll');}else{var A=FCK.EditingArea.Textarea;if (FCKBrowserInfo.IsIE){A.createTextRange().execCommand('SelectAll');}else{A.selectionStart=0;A.selectionEnd=A.value.length;};A.focus();}};FCKSelectAllCommand.prototype.GetState=function(){return 0;};var FCKPasteCommand=function(){this.Name='Paste';};FCKPasteCommand.prototype={Execute:function(){if (FCKBrowserInfo.IsIE) FCK.Paste();else FCK.ExecuteNamedCommand('Paste');},GetState:function(){return FCK.GetNamedCommandState('Paste');}};\r
-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?0:-1;}\r
-var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;var B;if (FCKBrowserInfo.IsIE) B=window;else if (FCK.ToolbarSet._IFrame) B=FCKTools.GetElementWindow(FCK.ToolbarSet._IFrame);else B=window.parent;this._Panel=new FCKPanel(B);this._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');this._Panel.MainNode.className='FCK_Panel';this._CreatePanelBody(this._Panel.Document,this._Panel.MainNode);FCKTools.DisableSelection(this._Panel.Document.body);};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.IsGeckoLike){if (FCKBrowserInfo.IsGecko&&!FCKConfig.GeckoUseSPAN) FCK.EditorDocument.execCommand('useCSS',false,false);FCK.ExecuteNamedCommand('hilitecolor',A);if (FCKBrowserInfo.IsGecko&&!FCKConfig.GeckoUseSPAN) FCK.EditorDocument.execCommand('useCSS',false,true);}else FCK.ExecuteNamedCommand('BackColor',A);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return 0;};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.className='ForceBaseFont';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">\n                       <tr>\n                          <td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\n                             <td nowrap width="100%" align="center">'+FCKLang.ColorAutomatic+'</td>\n                        </tr>\n         </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;}\r
-var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){return FCK.GetNamedCommandState('Paste');};\r
-var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCKConfig.ForcePasteAsPlainText) return -1;else return FCK.GetNamedCommandState('Paste');};\r
-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;case 'TableDelete':FCKTableHandler.DeleteTable();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));}};FCKTableCommand.prototype.GetState=function(){return 0;}\r
-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(){if (!FCK.EditorDocument) return -1;var A=FCK.EditorDocument.selection;if (FCKSelection.GetType()=='Control'){var e=FCKSelection.GetSelectedElement();if (e) return this.StylesLoader.StyleGroups[e.tagName]?0:-1;};return 0;};FCKStyleCommand.prototype.GetActiveStyles=function(){var A=[];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);}\r
-var FCKFitWindow=function(){this.Name='FitWindow';};FCKFitWindow.prototype.Execute=function(){var A=window.frameElement;var B=A.style;var C=parent;var D=C.document.documentElement;var E=C.document.body;var F=E.style;var G;if (!this.IsMaximized){if(FCKBrowserInfo.IsIE) C.attachEvent('onresize',FCKFitWindow_Resize);else C.addEventListener('resize',FCKFitWindow_Resize,true);this._ScrollPos=FCKTools.GetScrollPosition(C);G=A;while((G=G.parentNode)){if (G.nodeType==1) G._fckSavedStyles=FCKTools.SaveStyles(G);};if (FCKBrowserInfo.IsIE){this.documentElementOverflow=D.style.overflow;D.style.overflow='hidden';F.overflow='hidden';}else{F.overflow='hidden';F.width='0px';F.height='0px';};this._EditorFrameStyles=FCKTools.SaveStyles(A);var H=FCKTools.GetViewPaneSize(C);B.position="absolute";B.zIndex=FCKConfig.FloatingPanelsZIndex-1;B.left="0px";B.top="0px";B.width=H.Width+"px";B.height=H.Height+"px";if (!FCKBrowserInfo.IsIE){B.borderRight=B.borderBottom="9999px solid white";B.backgroundColor="white";};C.scrollTo(0,0);this.IsMaximized=true;}else{if(FCKBrowserInfo.IsIE) C.detachEvent("onresize",FCKFitWindow_Resize);else C.removeEventListener("resize",FCKFitWindow_Resize,true);G=A;while((G=G.parentNode)){if (G._fckSavedStyles){FCKTools.RestoreStyles(G,G._fckSavedStyles);G._fckSavedStyles=null;}};if (FCKBrowserInfo.IsIE) D.style.overflow=this.documentElementOverflow;FCKTools.RestoreStyles(A,this._EditorFrameStyles);C.scrollTo(this._ScrollPos.X,this._ScrollPos.Y);this.IsMaximized=false;};FCKToolbarItems.GetItem('FitWindow').RefreshState();FCK.EditingArea.MakeEditable();FCK.Focus();};FCKFitWindow.prototype.GetState=function(){if (FCKConfig.ToolbarLocation!='In') return -1;else return (this.IsMaximized?1:0);};function FCKFitWindow_Resize(){var A=FCKTools.GetViewPaneSize(parent);var B=window.frameElement.style;B.width=A.Width+'px';B.height=A.Height+'px';};\r
-var FCKCommands=FCK.Commands={};FCKCommands.LoadedCommands={};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);break;case 'Unlink':B=new FCKUnlinkCommand();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?UL',370,170);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html?OL',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,320);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',450,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',550,250);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 'Paste':B=new FCKPasteCommand();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 'TableDelete':B=new FCKTableCommand('TableDelete');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 'FitWindow':B=new FCKFitWindow();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'SelectAll':B=new FCKSelectAllCommand();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?0:-1;};\r
-var FCKPanel=function(A){this.IsRTL=(FCKLang.Dir=='rtl');this.IsContextMenu=false;this._LockCounter=0;this._Window=A||window;var B;if (FCKBrowserInfo.IsIE){this._Popup=this._Window.createPopup();B=this.Document=this._Popup.document;FCK.IECleanup.AddItem(this,FCKPanel_Cleanup);}else{var C=this._IFrame=this._Window.document.createElement('iframe');C.src='javascript:void(0)';C.allowTransparency=true;C.frameBorder='0';C.scrolling='no';C.style.position='absolute';C.style.zIndex=FCKConfig.FloatingPanelsZIndex;C.width=C.height=0;if (this._Window==window.parent&&window.frameElement) window.frameElement.parentNode.insertBefore(C,window.frameElement);else this._Window.document.body.appendChild(C);var D=C.contentWindow;B=this.Document=D.document;var E='';if (FCKBrowserInfo.IsSafari) E='<base href="'+window.document.location+'">';B.open();B.write('<html><head>'+E+'<\/head><body style="margin:0px;padding:0px;"><\/body><\/html>');B.close();FCKTools.AddEventListenerEx(D,'focus',FCKPanel_Window_OnFocus,this);FCKTools.AddEventListenerEx(D,'blur',FCKPanel_Window_OnBlur,this);};B.dir=FCKLang.Dir;B.oncontextmenu=FCKTools.CancelEvent;this.MainNode=B.body.appendChild(B.createElement('DIV'));this.MainNode.style.cssFloat=this.IsRTL?'right':'left';};FCKPanel.prototype.AppendStyleSheet=function(A){FCKTools.AppendStyleSheet(this.Document,A);};FCKPanel.prototype.Preload=function(x,y,A){if (this._Popup) this._Popup.show(x,y,0,0,A);};FCKPanel.prototype.Show=function(x,y,A,B,C){var D;if (this._Popup){this._Popup.show(x,y,0,0,A);this.MainNode.style.width=B?B+'px':'';this.MainNode.style.height=C?C+'px':'';D=this.MainNode.offsetWidth;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=(x*-1)+A.offsetWidth-D;};this._Popup.show(x,y,D,this.MainNode.offsetHeight,A);if (this.OnHide){if (this._Timer) CheckPopupOnHide.call(this,true);this._Timer=FCKTools.SetInterval(CheckPopupOnHide,100,this);}}else{if (typeof(FCKFocusManager)!='undefined') FCKFocusManager.Lock();if (this.ParentPanel) this.ParentPanel.Lock();this.MainNode.style.width=B?B+'px':'';this.MainNode.style.height=C?C+'px':'';D=this.MainNode.offsetWidth;if (!B)  this._IFrame.width=1;if (!C)    this._IFrame.height=1;D=this.MainNode.offsetWidth;var E=FCKTools.GetElementPosition(A.nodeType==9?(FCKTools.IsStrictMode(A)?A.documentElement:A.body):A,this._Window);if (this.IsRTL&&!this.IsContextMenu) x=(x*-1);x+=E.X;y+=E.Y;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=x+A.offsetWidth-D;}else{var F=FCKTools.GetViewPaneSize(this._Window);var G=FCKTools.GetScrollPosition(this._Window);var H=F.Height+G.Y;var I=F.Width+G.X;if ((x+D)>I) x-=x+D-I;if ((y+this.MainNode.offsetHeight)>H) y-=y+this.MainNode.offsetHeight-H;};if (x<0) x=0;this._IFrame.style.left=x+'px';this._IFrame.style.top=y+'px';var J=D;var K=this.MainNode.offsetHeight;this._IFrame.width=J;this._IFrame.height=K;this._IFrame.contentWindow.focus();};this._IsOpened=true;FCKTools.RunFunction(this.OnShow,this);};FCKPanel.prototype.Hide=function(A){if (this._Popup) this._Popup.hide();else{if (!this._IsOpened) return;if (typeof(FCKFocusManager)!='undefined') FCKFocusManager.Unlock();this._IFrame.width=this._IFrame.height=0;this._IsOpened=false;if (this.ParentPanel) this.ParentPanel.Unlock();if (!A) FCKTools.RunFunction(this.OnHide,this);}};FCKPanel.prototype.CheckIsOpened=function(){if (this._Popup) return this._Popup.isOpen;else return this._IsOpened;};FCKPanel.prototype.CreateChildPanel=function(){var A=this._Popup?FCKTools.GetDocumentWindow(this.Document):this._Window;var B=new FCKPanel(A);B.ParentPanel=this;return B;};FCKPanel.prototype.Lock=function(){this._LockCounter++;};FCKPanel.prototype.Unlock=function(){if (--this._LockCounter==0&&!this.HasFocus) this.Hide();};function FCKPanel_Window_OnFocus(e,A){A.HasFocus=true;};function FCKPanel_Window_OnBlur(e,A){A.HasFocus=false;if (A._LockCounter==0) FCKTools.RunFunction(A.Hide,A);};function CheckPopupOnHide(A){if (A||!this._Popup.isOpen){window.clearInterval(this._Timer);this._Timer=null;FCKTools.RunFunction(this.OnHide,this);}};function FCKPanel_Cleanup(){this._Popup=null;this._Window=null;this.Document=null;this.MainNode=null;}\r
-var FCKIcon=function(A){var B=A?typeof(A):'undefined';switch (B){case 'number':this.Path=FCKConfig.SkinPath+'fck_strip.gif';this.Size=16;this.Position=A;break;case 'undefined':this.Path=FCK_SPACER_PATH;break;case 'string':this.Path=A;break;default:this.Path=A[0];this.Size=A[1];this.Position=A[2];}};FCKIcon.prototype.CreateIconElement=function(A){var B,eIconImage;if (this.Position){var C='-'+((this.Position-1)*this.Size)+'px';if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path;eIconImage.style.top=C;}else{B=A.createElement('IMG');B.src=FCK_SPACER_PATH;B.style.backgroundPosition='0px '+C;B.style.backgroundImage='url('+this.Path+')';}}else{if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path?this.Path:FCK_SPACER_PATH;}else{B=A.createElement('IMG');B.src=this.Path?this.Path:FCK_SPACER_PATH;}};B.className='TB_Button_Image';return B;}\r
-var FCKToolbarButtonUI=function(A,B,C,D,E,F){this.Name=A;this.Label=B||A;this.Tooltip=C||this.Label;this.Style=E||0;this.State=F||0;this.Icon=new FCKIcon(D);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarButtonUI_Cleanup);};FCKToolbarButtonUI.prototype._CreatePaddingElement=function(A){var B=A.createElement('IMG');B.className='TB_Button_Padding';B.src=FCK_SPACER_PATH;return B;};FCKToolbarButtonUI.prototype.Create=function(A){var B=this.MainElement;if (B){FCKToolbarButtonUI_Cleanup.call(this);if (B.parentNode) B.parentNode.removeChild(B);B=this.MainElement=null;};var C=FCKTools.GetElementDocument(A);B=this.MainElement=C.createElement('DIV');B._FCKButton=this;B.title=this.Tooltip;if (FCKBrowserInfo.IsGecko) B.onmousedown=FCKTools.CancelEvent;this.ChangeState(this.State,true);if (this.Style==0&&!this.ShowArrow){B.appendChild(this.Icon.CreateIconElement(C));}else{var D=B.appendChild(C.createElement('TABLE'));D.cellPadding=0;D.cellSpacing=0;var E=D.insertRow(-1);var F=E.insertCell(-1);if (this.Style==0||this.Style==2) F.appendChild(this.Icon.CreateIconElement(C));else F.appendChild(this._CreatePaddingElement(C));if (this.Style==1||this.Style==2){F=E.insertCell(-1);F.className='TB_Button_Text';F.noWrap=true;F.appendChild(C.createTextNode(this.Label));};if (this.ShowArrow){if (this.Style!=0){E.insertCell(-1).appendChild(this._CreatePaddingElement(C));};F=E.insertCell(-1);var G=F.appendChild(C.createElement('IMG'));G.src=FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif';G.width=5;G.height=3;};F=E.insertCell(-1);F.appendChild(this._CreatePaddingElement(C));};A.appendChild(B);};FCKToolbarButtonUI.prototype.ChangeState=function(A,B){if (!B&&this.State==A) return;var e=this.MainElement;switch (parseInt(A,10)){case 0:e.className='TB_Button_Off';e.onmouseover=FCKToolbarButton_OnMouseOverOff;e.onmouseout=FCKToolbarButton_OnMouseOutOff;e.onclick=FCKToolbarButton_OnClick;break;case 1:e.className='TB_Button_On';e.onmouseover=FCKToolbarButton_OnMouseOverOn;e.onmouseout=FCKToolbarButton_OnMouseOutOn;e.onclick=FCKToolbarButton_OnClick;break;case -1:e.className='TB_Button_Disabled';e.onmouseover=null;e.onmouseout=null;e.onclick=null;break;};this.State=A;};function FCKToolbarButtonUI_Cleanup(){if (this.MainElement){this.MainElement._FCKButton=null;this.MainElement=null;}};function FCKToolbarButton_OnMouseOverOn(){this.className='TB_Button_On_Over';};function FCKToolbarButton_OnMouseOutOn(){this.className='TB_Button_On';};function FCKToolbarButton_OnMouseOverOff(){this.className='TB_Button_Off_Over';};function FCKToolbarButton_OnMouseOutOff(){this.className='TB_Button_Off';};function FCKToolbarButton_OnClick(e){if (this._FCKButton.OnClick) this._FCKButton.OnClick(this._FCKButton);};\r
-var FCKToolbarButton=function(A,B,C,D,E,F,G){this.CommandName=A;this.Label=B;this.Tooltip=C;this.Style=D;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;if (G==null) this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(G)=='number') this.IconPath=[FCKConfig.SkinPath+'fck_strip.gif',16,G];};FCKToolbarButton.prototype.Create=function(A){this._UIButton=new FCKToolbarButtonUI(this.CommandName,this.Label,this.Tooltip,this.IconPath,this.Style);this._UIButton.OnClick=this.Click;this._UIButton._ToolbarButton=this;this._UIButton.Create(A);};FCKToolbarButton.prototype.RefreshState=function(){var A=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (A==this._UIButton.State) return;this._UIButton.ChangeState(A);};FCKToolbarButton.prototype.Click=function(){var A=this._ToolbarButton||this;FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(A.CommandName).Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this._UIButton.ChangeState(-1);}\r
-var FCKSpecialCombo=function(A,B,C,D,E){this.FieldWidth=B||100;this.PanelWidth=C||150;this.PanelMaxHeight=D||150;this.Label='&nbsp;';this.Caption=A;this.Tooltip=A;this.Style=2;this.Enabled=true;this.Items={};this._Panel=new FCKPanel(E||window);this._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');this._PanelBox=this._Panel.MainNode.appendChild(this._Panel.Document.createElement('DIV'));this._PanelBox.className='SC_Panel';this._PanelBox.style.width=this.PanelWidth+'px';this._PanelBox.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._PanelBox.getElementsByTagName('TD')[0];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKSpecialCombo_Cleanup);};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(){this.className=this.originalClass;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,D){var E=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));E.className=E.originalClass='SC_Item';E.innerHTML=B;E.FCKItemID=A;E.FCKItemLabel=C||A;E.FCKSpecialCombo=this;E.Selected=false;if (FCKBrowserInfo.IsIE) E.style.width='100%';if (D) E.style.backgroundColor=D;E.onmouseover=FCKSpecialCombo_ItemOnMouseOver;E.onmouseout=FCKSpecialCombo_ItemOnMouseOut;E.onclick=FCKSpecialCombo_ItemOnClick;this.Items[A.toString().toLowerCase()]=E;return E;};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.SelectItemByLabel=function(A,B){for (var C in this.Items){var D=this.Items[C];if (D.FCKItemLabel==A){D.className=D.originalClass='SC_ItemSelected';D.Selected=true;if (B) this.SetLabel(A);}}};FCKSpecialCombo.prototype.DeselectAll=function(A){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};if (A) this.SetLabel('');};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;FCKTools.DisableSelection(this._LabelEl);}};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this._OuterTable=A.appendChild(B.createElement('TABLE'));C.cellPadding=0;C.cellSpacing=0;C.insertRow(-1);var D;var E;switch (this.Style){case 0:D='TB_ButtonType_Icon';E=false;break;case 1:D='TB_ButtonType_Text';E=false;break;case 2:E=true;break;};if (this.Caption&&this.Caption.length>0&&E){var F=C.rows[0].insertCell(-1);F.innerHTML=this.Caption;F.className='SC_FieldCaption';};var G=FCKTools.AppendElement(C.rows[0].insertCell(-1),'div');if (E){G.className='SC_Field';G.style.width=this.FieldWidth+'px';G.innerHTML='<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>';this._LabelEl=G.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{G.className='TB_Button_Off';G.innerHTML='<table title="'+this.Tooltip+'" class="'+D+'" cellspacing="0" cellpadding="0" border="0"><tr><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_Text">'+this.Caption+'</td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_ButtonArrow"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td></tr></table>';};G.SpecialCombo=this;G.onmouseover=FCKSpecialCombo_OnMouseOver;G.onmouseout=FCKSpecialCombo_OnMouseOut;G.onclick=FCKSpecialCombo_OnClick;FCKTools.DisableSelection(this._Panel.Document.body);};function FCKSpecialCombo_Cleanup(){this._LabelEl=null;this._OuterTable=null;this._ItemsHolderEl=null;this._PanelBox=null;if (this.Items){for (var A in this.Items) this.Items[A]=null;}};function FCKSpecialCombo_OnMouseOver(){if (this.SpecialCombo.Enabled){switch (this.SpecialCombo.Style){case 0:this.className='TB_Button_On_Over';break;case 1:this.className='TB_Button_On_Over';break;case 2:this.className='SC_Field SC_FieldOver';break;}}};function FCKSpecialCombo_OnMouseOut(){switch (this.SpecialCombo.Style){case 0:this.className='TB_Button_Off';break;case 1:this.className='TB_Button_Off';break;case 2:this.className='SC_Field';break;}};function FCKSpecialCombo_OnClick(e){var A=this.SpecialCombo;if (A.Enabled){var B=A._Panel;var C=A._PanelBox;var D=A._ItemsHolderEl;var E=A.PanelMaxHeight;if (A.OnBeforeClick) A.OnBeforeClick(A);if (FCKBrowserInfo.IsIE) B.Preload(0,this.offsetHeight,this);if (D.offsetHeight>E) C.style.height=E+'px';else C.style.height='';B.Show(0,this.offsetHeight,this);}};\r
-var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;this._LastValue=null;};function FCKToolbarSpecialCombo_OnSelect(A,B){FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Execute(A,B);};FCKToolbarSpecialCombo.prototype.Create=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel(),this.FieldWidth,this.PanelWidth,this.PanelMaxHeight,FCKBrowserInfo.IsIE?window:FCKTools.GetElementWindow(A).parent);this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A);this._Combo.CommandName=this.CommandName;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(A,B){A.DeselectAll();A.SelectItem(B);A.SetLabelById(B);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B!=-1){A=1;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else{if (this._LastValue!=B){this._LastValue=B;FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}}}else A=-1;if (A==this.State) return;if (A==-1){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=-1);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=-1;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);};\r
-var FCKToolbarFontsCombo=function(A,B){this.CommandName='FontName';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;};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],'<font face="'+B[i]+'" style="font-size: 12px">'+B[i]+'</font>');}\r
-var FCKToolbarFontSizeCombo=function(A,B){this.CommandName='FontSize';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;};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]);}}\r
-var FCKToolbarFontFormatCombo=function(A,B){this.CommandName='FontFormat';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.NormalLabel='Normal';this.PanelWidth=190;};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);if (FCKConfig.BodyId&&FCKConfig.BodyId.length>0) B.body.id=FCKConfig.BodyId;if (FCKConfig.BodyClass&&FCKConfig.BodyClass.length>0) B.body.className+=' '+FCKConfig.BodyClass;var C=FCKLang['FontFormats'].split(';');var D={p:C[0],pre:C[1],address:C[2],h1:C[3],h2:C[4],h3:C[5],h4:C[6],h5:C[7],h6:C[8],div:C[9]};var E=FCKConfig.FontFormats.split(';');for (var i=0;i<E.length;i++){var F=E[i];var G=D[F];if (F=='p') this.NormalLabel=G;this._Combo.AddItem(F,'<div class="BaseFont"><'+F+'>'+G+'</'+F+'></div>',G);}};if (FCKBrowserInfo.IsIE){FCKToolbarFontFormatCombo.prototype.RefreshActiveItems=function(A,B){if (B==this.NormalLabel){if (A.Label!='&nbsp;') A.DeselectAll(true);}else{if (this._LastValue==B) return;A.SelectItemByLabel(B,true);};this._LastValue=B;}}\r
-var FCKToolbarStyleCombo=function(A,B){this.CommandName='Style';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);B.body.className+=' ForceBaseFont';if (FCKConfig.BodyId&&FCKConfig.BodyId.length>0) B.body.id=FCKConfig.BodyId;if (FCKConfig.BodyClass&&FCKConfig.BodyClass.length>0) B.body.className+=' '+FCKConfig.BodyClass;if (!(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsGecko10)) A.OnBeforeClick=this.RefreshVisibleItems;var C=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Styles;for (var s in C){var D=C[s];var E;if (D.IsObjectElement) E=A.AddItem(s,s);else E=A.AddItem(s,D.GetOpenerTag()+s+D.GetCloserTag());E.Style=D;}};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){A.DeselectAll();var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).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';}}\r
-var FCKToolbarPanelButton=function(A,B,C,D,E){this.CommandName=A;var F;if (E==null) F=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(E)=='number') F=[FCKConfig.SkinPath+'fck_strip.gif',16,E];var G=this._UIButton=new FCKToolbarButtonUI(A,B,C,F,D);G._FCKToolbarPanelButton=this;G.ShowArrow=true;G.OnClick=FCKToolbarPanelButton_OnButtonClick;};FCKToolbarPanelButton.prototype.TypeName='FCKToolbarPanelButton';FCKToolbarPanelButton.prototype.Create=function(A){A.className+='Menu';this._UIButton.Create(A);var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName)._Panel;B._FCKToolbarPanelButton=this;var C=B.Document.body.appendChild(B.Document.createElement('div'));C.style.position='absolute';C.style.top='0px';var D=this.LineImg=C.appendChild(B.Document.createElement('IMG'));D.className='TB_ConnectionLine';D.src=FCK_SPACER_PATH;B.OnHide=FCKToolbarPanelButton_OnPanelHide;};function FCKToolbarPanelButton_OnButtonClick(A){var B=this._FCKToolbarPanelButton;var e=B._UIButton.MainElement;B._UIButton.ChangeState(1);B.LineImg.style.width=(e.offsetWidth-2)+'px';FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(B.CommandName).Execute(0,e.offsetHeight-1,e);};function FCKToolbarPanelButton_OnPanelHide(){var A=this._FCKToolbarPanelButton;A._UIButton.ChangeState(0);};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable;\r
-var FCKToolbarItems={};FCKToolbarItems.LoadedItems={};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,2,true,true,1);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps,null,null,null,null,2);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true,null,3);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true,null,4);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true,null,5);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates,null,null,null,null,6);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true,null,47);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true,7);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true,8);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true,9);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true,10);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true,11);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true,12);break;case 'SpellCheck':B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck,null,null,null,null,13);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true,14);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true,15);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll,null,null,true,null,18);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true,19);break;case 'FitWindow':B=new FCKToolbarButton('FitWindow',FCKLang.FitWindow,null,null,true,true,66);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true,20);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true,21);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true,22);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true,23);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true,24);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true,25);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true,26);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true,27);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true,28);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true,29);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true,34);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true,35);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor,null,null,null,null,36);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage,null,false,true,37);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash,null,false,true,38);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable,null,false,true,39);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar,null,false,true,42);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley,null,false,true,41);break;case 'PageBreak':B=new FCKToolbarButton('PageBreak',FCKLang.PageBreakLbl,FCKLang.PageBreak,null,false,true,43);break;case 'Rule':B=new FCKToolbarButton('InsertHorizontalRule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true,40);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true,30);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true,31);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true,32);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true,33);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,null,null,45);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor,null,null,46);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find,null,null,null,null,16);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace,null,null,null,null,17);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form,null,null,null,null,48);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox,null,null,null,null,49);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton,null,null,null,null,50);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField,null,null,null,null,51);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea,null,null,null,null,52);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField,null,null,null,null,56);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button,null,null,null,null,54);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField,null,null,null,null,53);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton,null,null,null,null,55);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;}\r
-var FCKToolbar=function(){this.Items=[];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbar_Cleanup);};FCKToolbar.prototype.AddItem=function(A){return this.Items[this.Items.length]=A;};FCKToolbar.prototype.AddButton=function(A,B,C,D,E,F){if (typeof(D)=='number') D=[this.DefaultIconsStrip,this.DefaultIconSize,D];var G=new FCKToolbarButtonUI(A,B,C,D,E,F);G._FCKToolbar=this;G.OnClick=FCKToolbar_OnItemClick;return this.AddItem(G);};function FCKToolbar_OnItemClick(A){var B=A._FCKToolbar;if (B.OnItemClick) B.OnItemClick(B,A);};FCKToolbar.prototype.AddSeparator=function(){this.AddItem(new FCKToolbarSeparator());};FCKToolbar.prototype.Create=function(A){if (this.MainElement){if (this.MainElement.parentNode) this.MainElement.parentNode.removeChild(this.MainElement);this.MainElement=null;};var B=FCKTools.GetElementDocument(A);var e=this.MainElement=B.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=(FCKLang.Dir=='ltr'?'left':'right');e.dir=FCKLang.Dir;e.cellPadding=0;e.cellSpacing=0;this.RowElement=e.insertRow(-1);var C;if (!this.HideStart){C=this.RowElement.insertCell(-1);C.appendChild(B.createElement('div')).className='TB_Start';};for (var i=0;i<this.Items.length;i++){this.Items[i].Create(this.RowElement.insertCell(-1));};if (!this.HideEnd){C=this.RowElement.insertCell(-1);C.appendChild(B.createElement('div')).className='TB_End';};A.appendChild(e);};function FCKToolbar_Cleanup(){this.MainElement=null;this.RowElement=null;};var FCKToolbarSeparator=function(){};FCKToolbarSeparator.prototype.Create=function(A){FCKTools.AppendElement(A,'div').className='TB_Separator';}\r
-var FCKToolbarBreak=function(){};FCKToolbarBreak.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A).createElement('div');B.className='TB_Break';B.style.clear=FCKLang.Dir=='rtl'?'left':'right';A.appendChild(B);}\r
-function FCKToolbarSet_Create(A){var B;var C=A||FCKConfig.ToolbarLocation;switch (C){case 'In':document.getElementById('xToolbarRow').style.display='';B=new FCKToolbarSet(document);break;default:FCK.Events.AttachEvent('OnBlur',FCK_OnBlur);FCK.Events.AttachEvent('OnFocus',FCK_OnFocus);var D;var E=C.match(/^Out:(.+)\((\w+)\)$/);if (E){D=eval('parent.'+E[1]).document.getElementById(E[2]);}else{E=C.match(/^Out:(\w+)$/);if (E) D=parent.document.getElementById(E[1]);};if (!D){alert('Invalid value for "ToolbarLocation"');return this._Init('In');};B=D.__FCKToolbarSet;if (B) break;var F=FCKTools.GetElementDocument(D).createElement('iframe');F.src='javascript:void(0)';F.frameBorder=0;F.width='100%';F.height='10';D.appendChild(F);F.unselectable='on';var G=F.contentWindow.document;G.open();G.write('<html><head><script type="text/javascript"> window.onload = window.onresize = function() { window.frameElement.height = document.body.scrollHeight ; } </script></head><body style="overflow: hidden">'+document.getElementById('xToolbarSpace').innerHTML+'</body></html>');G.close();G.oncontextmenu=FCKTools.CancelEvent;FCKTools.AppendStyleSheet(G,FCKConfig.SkinPath+'fck_editor.css');B=D.__FCKToolbarSet=new FCKToolbarSet(G);B._IFrame=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(D,FCKToolbarSet_Target_Cleanup);};B.CurrentInstance=FCK;FCK.AttachToOnSelectionChange(B.RefreshItemsState);return B;};function FCK_OnBlur(A){var B=A.ToolbarSet;if (B.CurrentInstance==A) B.Disable();};function FCK_OnFocus(A){var B=A.ToolbarSet;var C=A||FCK;B.CurrentInstance.FocusManager.RemoveWindow(B._IFrame.contentWindow);B.CurrentInstance=C;C.FocusManager.AddWindow(B._IFrame.contentWindow,true);B.Enable();};function FCKToolbarSet_Cleanup(){this._TargetElement=null;this._IFrame=null;};function FCKToolbarSet_Target_Cleanup(){this.__FCKToolbarSet=null;};var FCKToolbarSet=function(A){this._Document=A;this._TargetElement=A.getElementById('xToolbar');var B=A.getElementById('xExpandHandle');var C=A.getElementById('xCollapseHandle');B.title=FCKLang.ToolbarExpand;B.onclick=FCKToolbarSet_Expand_OnClick;C.title=FCKLang.ToolbarCollapse;C.onclick=FCKToolbarSet_Collapse_OnClick;if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();C.style.display=FCKConfig.ToolbarCanCollapse?'':'none';if (FCKConfig.ToolbarCanCollapse) C.style.display='';else A.getElementById('xTBLeftBorder').style.display='';this.Toolbars=[];this.IsLoaded=false;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarSet_Cleanup);};function FCKToolbarSet_Expand_OnClick(){FCK.ToolbarSet.Expand();};function FCKToolbarSet_Collapse_OnClick(){FCK.ToolbarSet.Collapse();};FCKToolbarSet.prototype.Expand=function(){this._ChangeVisibility(false);};FCKToolbarSet.prototype.Collapse=function(){this._ChangeVisibility(true);};FCKToolbarSet.prototype._ChangeVisibility=function(A){this._Document.getElementById('xCollapsed').style.display=A?'':'none';this._Document.getElementById('xExpanded').style.display=A?'none':'';if (FCKBrowserInfo.IsGecko){FCKTools.RunFunction(window.onresize);}};FCKToolbarSet.prototype.Load=function(A){this.Name=A;this.Items=[];this.ItemsWysiwygOnly=[];this.ItemsContextSensitive=[];this._TargetElement.innerHTML='';var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=[];for (var x=0;x<B.length;x++){var C=B[x];if (!C) continue;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);this.Items.push(F);if (!F.SourceView) this.ItemsWysiwygOnly.push(F);if (F.ContextSensitive) this.ItemsContextSensitive.push(F);}}}};D.Create(this._TargetElement);this.Toolbars[this.Toolbars.length]=D;};FCKTools.DisableSelection(this._Document.getElementById('xCollapseHandle').parentNode);if (FCK.Status!=2) FCK.Events.AttachEvent('OnStatusChange',this.RefreshModeState);else this.RefreshModeState();this.IsLoaded=true;this.IsEnabled=true;FCKTools.RunFunction(this.OnLoad);};FCKToolbarSet.prototype.Enable=function(){if (this.IsEnabled) return;this.IsEnabled=true;var A=this.Items;for (var i=0;i<A.length;i++) A[i].RefreshState();};FCKToolbarSet.prototype.Disable=function(){if (!this.IsEnabled) return;this.IsEnabled=false;var A=this.Items;for (var i=0;i<A.length;i++) A[i].Disable();};FCKToolbarSet.prototype.RefreshModeState=function(A){if (FCK.Status!=2) return;var B=A?A.ToolbarSet:this;var C=B.ItemsWysiwygOnly;if (FCK.EditMode==0){for (var i=0;i<C.length;i++) C[i].Enable();B.RefreshItemsState(A);}else{B.RefreshItemsState(A);for (var j=0;j<C.length;j++) C[j].Disable();}};FCKToolbarSet.prototype.RefreshItemsState=function(A){var B=(A?A.ToolbarSet:this).ItemsContextSensitive;for (var i=0;i<B.length;i++) B[i].RefreshState();};\r
-var FCKDialog={};FCKDialog.OpenDialog=function(A,B,C,D,E,F,G,H){var I={};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);};\r
-FCKDialog.Show=function(A,B,C,D,E,F,G){if (!F) F=window;var H='help:no;scroll:no;status:no;resizable:'+(G?'yes':'no')+';dialogWidth:'+D+'px;dialogHeight:'+E+'px';FCKFocusManager.Lock();var I='B';try{I=F.showModalDialog(C,A,H);}catch(e) {};if ('B'===I) alert(FCKLang.DialogBlocked);FCKFocusManager.Unlock();};\r
-var FCKMenuItem=function(A,B,C,D,E){this.Name=B;this.Label=C||B;this.IsDisabled=E;this.Icon=new FCKIcon(D);this.SubMenu=new FCKMenuBlockPanel();this.SubMenu.Parent=A;this.SubMenu.OnClick=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnClick,this);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuItem_Cleanup);};FCKMenuItem.prototype.AddItem=function(A,B,C,D){this.HasSubMenu=true;return this.SubMenu.AddItem(A,B,C,D);};FCKMenuItem.prototype.AddSeparator=function(){this.SubMenu.AddSeparator();};FCKMenuItem.prototype.Create=function(A){var B=this.HasSubMenu;var C=FCKTools.GetElementDocument(A);var r=this.MainElement=A.insertRow(-1);r.className=this.IsDisabled?'MN_Item_Disabled':'MN_Item';if (!this.IsDisabled){FCKTools.AddEventListenerEx(r,'mouseover',FCKMenuItem_OnMouseOver,[this]);FCKTools.AddEventListenerEx(r,'click',FCKMenuItem_OnClick,[this]);if (!B) FCKTools.AddEventListenerEx(r,'mouseout',FCKMenuItem_OnMouseOut,[this]);};var D=r.insertCell(-1);D.className='MN_Icon';D.appendChild(this.Icon.CreateIconElement(C));D=r.insertCell(-1);D.className='MN_Label';D.noWrap=true;D.appendChild(C.createTextNode(this.Label));D=r.insertCell(-1);if (B){D.className='MN_Arrow';var E=D.appendChild(C.createElement('IMG'));E.src=FCK_IMAGES_PATH+'arrow_'+FCKLang.Dir+'.gif';E.width=4;E.height=7;this.SubMenu.Create();this.SubMenu.Panel.OnHide=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnHide,this);}};FCKMenuItem.prototype.Activate=function(){this.MainElement.className='MN_Item_Over';if (this.HasSubMenu){this.SubMenu.Show(this.MainElement.offsetWidth+2,-2,this.MainElement);};FCKTools.RunFunction(this.OnActivate,this);};FCKMenuItem.prototype.Deactivate=function(){this.MainElement.className='MN_Item';if (this.HasSubMenu) this.SubMenu.Hide();};function FCKMenuItem_SubMenu_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuItem_SubMenu_OnHide(A){A.Deactivate();};function FCKMenuItem_OnClick(A,B){if (B.HasSubMenu) B.Activate();else{B.Deactivate();FCKTools.RunFunction(B.OnClick,B,[B]);}};function FCKMenuItem_OnMouseOver(A,B){B.Activate();};function FCKMenuItem_OnMouseOut(A,B){B.Deactivate();};function FCKMenuItem_Cleanup(){this.MainElement=null;}\r
-var FCKMenuBlock=function(){this._Items=[];};FCKMenuBlock.prototype.Count=function(){return this._Items.length;};FCKMenuBlock.prototype.AddItem=function(A,B,C,D){var E=new FCKMenuItem(this,A,B,C,D);E.OnClick=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnClick,this);E.OnActivate=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnActivate,this);this._Items.push(E);return E;};FCKMenuBlock.prototype.AddSeparator=function(){this._Items.push(new FCKMenuSeparator());};FCKMenuBlock.prototype.RemoveAllItems=function(){this._Items=[];var A=this._ItemsTable;if (A){while (A.rows.length>0) A.deleteRow(0);}};FCKMenuBlock.prototype.Create=function(A){if (!this._ItemsTable){if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuBlock_Cleanup);this._Window=FCKTools.GetElementWindow(A);var B=FCKTools.GetElementDocument(A);var C=A.appendChild(B.createElement('table'));C.cellPadding=0;C.cellSpacing=0;FCKTools.DisableSelection(C);var D=C.insertRow(-1).insertCell(-1);D.className='MN_Menu';var E=this._ItemsTable=D.appendChild(B.createElement('table'));E.cellPadding=0;E.cellSpacing=0;};for (var i=0;i<this._Items.length;i++) this._Items[i].Create(this._ItemsTable);};function FCKMenuBlock_Item_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuBlock_Item_OnActivate(A){var B=A._ActiveItem;if (B&&B!=this){if (!FCKBrowserInfo.IsIE&&B.HasSubMenu&&!this.HasSubMenu) A._Window.focus();B.Deactivate();};A._ActiveItem=this;};function FCKMenuBlock_Cleanup(){this._Window=null;this._ItemsTable=null;};var FCKMenuSeparator=function(){};FCKMenuSeparator.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var r=A.insertRow(-1);var C=r.insertCell(-1);C.className='MN_Separator MN_Icon';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';}\r
-var FCKMenuBlockPanel=function(){FCKMenuBlock.call(this);};FCKMenuBlockPanel.prototype=new FCKMenuBlock();FCKMenuBlockPanel.prototype.Create=function(){var A=this.Panel=(this.Parent&&this.Parent.Panel?this.Parent.Panel.CreateChildPanel():new FCKPanel());A.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');FCKMenuBlock.prototype.Create.call(this,A.MainNode);};FCKMenuBlockPanel.prototype.Show=function(x,y,A){if (!this.Panel.CheckIsOpened()) this.Panel.Show(x,y,A);};FCKMenuBlockPanel.prototype.Hide=function(){if (this.Panel.CheckIsOpened()) this.Panel.Hide();}\r
-var FCKContextMenu=function(A,B){this.CtrlDisable=false;var C=this._Panel=new FCKPanel(A);C.AppendStyleSheet(FCKConfig.SkinPath+'fck_editor.css');C.IsContextMenu=true;if (FCKBrowserInfo.IsGecko) C.Document.addEventListener('draggesture',function(e) {e.preventDefault();return false;},true);var D=this._MenuBlock=new FCKMenuBlock();D.Panel=C;D.OnClick=FCKTools.CreateEventListener(FCKContextMenu_MenuBlock_OnClick,this);this._Redraw=true;};FCKContextMenu.prototype.SetMouseClickWindow=function(A){if (!FCKBrowserInfo.IsIE){this._Document=A.document;this._Document.addEventListener('contextmenu',FCKContextMenu_Document_OnContextMenu,false);}};FCKContextMenu.prototype.AddItem=function(A,B,C,D){var E=this._MenuBlock.AddItem(A,B,C,D);this._Redraw=true;return E;};FCKContextMenu.prototype.AddSeparator=function(){this._MenuBlock.AddSeparator();this._Redraw=true;};FCKContextMenu.prototype.RemoveAllItems=function(){this._MenuBlock.RemoveAllItems();this._Redraw=true;};FCKContextMenu.prototype.AttachToElement=function(A){if (FCKBrowserInfo.IsIE) FCKTools.AddEventListenerEx(A,'contextmenu',FCKContextMenu_AttachedElement_OnContextMenu,this);else A._FCKContextMenu=this;};function FCKContextMenu_Document_OnContextMenu(e){var A=e.target;while (A){if (A._FCKContextMenu){if (A._FCKContextMenu.CtrlDisable&&(e.ctrlKey||e.metaKey)) return true;FCKTools.CancelEvent(e);FCKContextMenu_AttachedElement_OnContextMenu(e,A._FCKContextMenu,A);};A=A.parentNode;}};function FCKContextMenu_AttachedElement_OnContextMenu(A,B,C){if (B.CtrlDisable&&(A.ctrlKey||A.metaKey)) return true;var D=C||this;if (B.OnBeforeOpen) B.OnBeforeOpen.call(B,D);if (B._MenuBlock.Count()==0) return false;if (B._Redraw){B._MenuBlock.Create(B._Panel.MainNode);B._Redraw=false;};FCKTools.DisableSelection(B._Panel.Document.body);B._Panel.Show(A.pageX||A.screenX,A.pageY||A.screenY,A.currentTarget||null);return false;};function FCKContextMenu_MenuBlock_OnClick(A,B){B._Panel.Hide();FCKTools.RunFunction(B.OnItemClick,B,A);}\r
-FCK.ContextMenu={};FCK.ContextMenu.Listeners=[];FCK.ContextMenu.RegisterListener=function(A){if (A) this.Listeners.push(A);};function FCK_ContextMenu_Init(){var A=FCK.ContextMenu._InnerContextMenu=new FCKContextMenu(FCKBrowserInfo.IsIE?window:window.parent,FCKLang.Dir);A.CtrlDisable=FCKConfig.BrowserContextMenuOnCtrl;A.OnBeforeOpen=FCK_ContextMenu_OnBeforeOpen;A.OnItemClick=FCK_ContextMenu_OnItemClick;var B=FCK.ContextMenu;for (var i=0;i<FCKConfig.ContextMenu.length;i++) B.RegisterListener(FCK_ContextMenu_GetListener(FCKConfig.ContextMenu[i]));};function FCK_ContextMenu_GetListener(A){switch (A){case 'Generic':return {AddItems:function(menu,tag,tagName){menu.AddItem('Cut',FCKLang.Cut,7,FCKCommands.GetCommand('Cut').GetState()==-1);menu.AddItem('Copy',FCKLang.Copy,8,FCKCommands.GetCommand('Copy').GetState()==-1);menu.AddItem('Paste',FCKLang.Paste,9,FCKCommands.GetCommand('Paste').GetState()==-1);}};case 'Table':return {AddItems:function(menu,tag,tagName){var B=(tagName=='TABLE');var C=(!B&&FCKSelection.HasAncestorNode('TABLE'));if (C){menu.AddSeparator();var D=menu.AddItem('Cell',FCKLang.CellCM);D.AddItem('TableInsertCell',FCKLang.InsertCell,58);D.AddItem('TableDeleteCells',FCKLang.DeleteCells,59);D.AddItem('TableMergeCells',FCKLang.MergeCells,60);D.AddItem('TableSplitCell',FCKLang.SplitCell,61);D.AddSeparator();D.AddItem('TableCellProp',FCKLang.CellProperties,57);menu.AddSeparator();D=menu.AddItem('Row',FCKLang.RowCM);D.AddItem('TableInsertRow',FCKLang.InsertRow,62);D.AddItem('TableDeleteRows',FCKLang.DeleteRows,63);menu.AddSeparator();D=menu.AddItem('Column',FCKLang.ColumnCM);D.AddItem('TableInsertColumn',FCKLang.InsertColumn,64);D.AddItem('TableDeleteColumns',FCKLang.DeleteColumns,65);};if (B||C){menu.AddSeparator();menu.AddItem('TableDelete',FCKLang.TableDelete);menu.AddItem('TableProp',FCKLang.TableProperties,39);}}};case 'Link':return {AddItems:function(menu,tag,tagName){var E=(tagName=='A'||FCKSelection.HasAncestorNode('A'));if (E||FCK.GetNamedCommandState('Unlink')!=-1){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0&&F.href.length==0);if (G) return;menu.AddSeparator();if (E) menu.AddItem('Link',FCKLang.EditLink,34);menu.AddItem('Unlink',FCKLang.RemoveLink,35);}}};case 'Image':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&!tag.getAttribute('_fckfakelement')){menu.AddSeparator();menu.AddItem('Image',FCKLang.ImageProperties,37);}}};case 'Anchor':return {AddItems:function(menu,tag,tagName){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0);if (G||(tagName=='IMG'&&tag.getAttribute('_fckanchor'))){menu.AddSeparator();menu.AddItem('Anchor',FCKLang.AnchorProp,36);}}};case 'Flash':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckflash')){menu.AddSeparator();menu.AddItem('Flash',FCKLang.FlashProperties,38);}}};case 'Form':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('FORM')){menu.AddSeparator();menu.AddItem('Form',FCKLang.FormProp,48);}}};case 'Checkbox':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='checkbox'){menu.AddSeparator();menu.AddItem('Checkbox',FCKLang.CheckboxProp,49);}}};case 'Radio':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='radio'){menu.AddSeparator();menu.AddItem('Radio',FCKLang.RadioButtonProp,50);}}};case 'TextField':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='text'||tag.type=='password')){menu.AddSeparator();menu.AddItem('TextField',FCKLang.TextFieldProp,51);}}};case 'HiddenField':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckinputhidden')){menu.AddSeparator();menu.AddItem('HiddenField',FCKLang.HiddenFieldProp,56);}}};case 'ImageButton':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='image'){menu.AddSeparator();menu.AddItem('ImageButton',FCKLang.ImageButtonProp,55);}}};case 'Button':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='button'||tag.type=='submit'||tag.type=='reset')){menu.AddSeparator();menu.AddItem('Button',FCKLang.ButtonProp,54);}}};case 'Select':return {AddItems:function(menu,tag,tagName){if (tagName=='SELECT'){menu.AddSeparator();menu.AddItem('Select',FCKLang.SelectionFieldProp,53);}}};case 'Textarea':return {AddItems:function(menu,tag,tagName){if (tagName=='TEXTAREA'){menu.AddSeparator();menu.AddItem('Textarea',FCKLang.TextareaProp,52);}}};case 'BulletedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('UL')){menu.AddSeparator();menu.AddItem('BulletedList',FCKLang.BulletedListProp,27);}}};case 'NumberedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('OL')){menu.AddSeparator();menu.AddItem('NumberedList',FCKLang.NumberedListProp,26);}}};};return null;};function FCK_ContextMenu_OnBeforeOpen(){FCK.Events.FireEvent('OnSelectionChange');var A,sTagName;if ((A=FCKSelection.GetSelectedElement())) sTagName=A.tagName;var B=FCK.ContextMenu._InnerContextMenu;B.RemoveAllItems();var C=FCK.ContextMenu.Listeners;for (var i=0;i<C.length;i++) C[i].AddItems(B,A,sTagName);};function FCK_ContextMenu_OnItemClick(A){FCK.Focus();FCKCommands.GetCommand(A.Name).Execute();};\r
-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=[];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];LoadScript(this.Path+'lang/'+A+'.js');};LoadScript(this.Path+'fckplugin.js');}\r
-var FCKPlugins=FCK.Plugins={};FCKPlugins.ItemsCount=0;FCKPlugins.Items={};FCKPlugins.Load=function(){var A=FCKPlugins.Items;for (var i=0;i<FCKConfig.Plugins.Items.length;i++){var B=FCKConfig.Plugins.Items[i];var C=A[B[0]]=new FCKPlugin(B[0],B[1],B[2]);FCKPlugins.ItemsCount++;};for (var s in A) A[s].Load();FCKPlugins.Load=null;}\r
+var FCKW3CRange=function(A){this._Document=A;this.startContainer=null;this.startOffset=null;this.endContainer=null;this.endOffset=null;this.collapsed=true;};FCKW3CRange.CreateRange=function(A){return new FCKW3CRange(A);};FCKW3CRange.CreateFromRange=function(A,B){var C=FCKW3CRange.CreateRange(A);C.setStart(B.startContainer,B.startOffset);C.setEnd(B.endContainer,B.endOffset);return C;};FCKW3CRange.prototype={_UpdateCollapsed:function(){this.collapsed=(this.startContainer==this.endContainer&&this.startOffset==this.endOffset);},setStart:function(A,B){this.startContainer=A;this.startOffset=B;if (!this.endContainer){this.endContainer=A;this.endOffset=B;};this._UpdateCollapsed();},setEnd:function(A,B){this.endContainer=A;this.endOffset=B;if (!this.startContainer){this.startContainer=A;this.startOffset=B;};this._UpdateCollapsed();},setStartAfter:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setStartBefore:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A));},setEndAfter:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setEndBefore:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A));},collapse:function(A){if (A){this.endContainer=this.startContainer;this.endOffset=this.startOffset;}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset;};this.collapsed=true;},selectNodeContents:function(A){this.setStart(A,0);this.setEnd(A,A.nodeType==3?A.data.length:A.childNodes.length);},insertNode:function(A){var B=this.startContainer;var C=this.startOffset;if (B.nodeType==3){B.splitText(C);if (B==this.endContainer) this.setEnd(B.nextSibling,this.endOffset-this.startOffset);FCKDomTools.InsertAfterNode(B,A);return;}else{B.insertBefore(A,B.childNodes[C]||null);if (B==this.endContainer){this.endOffset++;this.collapsed=false;}}},deleteContents:function(){if (this.collapsed) return;this._ExecContentsAction(0);},extractContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(1,A);return A;},cloneContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(2,A);return A;},_ExecContentsAction:function(A,B){var C=this.startContainer;var D=this.endContainer;var E=this.startOffset;var F=this.endOffset;var G=false;var H=false;if (D.nodeType==3) D=D.splitText(F);else{if (D.childNodes.length>0){if (F>D.childNodes.length-1){D=FCKDomTools.InsertAfterNode(D.lastChild,this._Document.createTextNode(''));H=true;}else D=D.childNodes[F];}};if (C.nodeType==3){C.splitText(E);if (C==D) D=C.nextSibling;}else{if (E==0){C=C.insertBefore(this._Document.createTextNode(''),C.firstChild);G=true;}else if (E>C.childNodes.length-1){C=C.appendChild(this._Document.createTextNode(''));G=true;}else C=C.childNodes[E].previousSibling;};var I=FCKDomTools.GetParents(C);var J=FCKDomTools.GetParents(D);var i,topStart,topEnd;for (i=0;i<I.length;i++){topStart=I[i];topEnd=J[i];if (topStart!=topEnd) break;};var K,levelStartNode,levelClone,currentNode,currentSibling;if (B) K=B.RootNode;for (var j=i;j<I.length;j++){levelStartNode=I[j];if (K&&levelStartNode!=C) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==C));currentNode=levelStartNode.nextSibling;while(currentNode){if (currentNode==J[j]||currentNode==D) break;currentSibling=currentNode.nextSibling;if (A==2) K.appendChild(currentNode.cloneNode(true));else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.appendChild(currentNode);};currentNode=currentSibling;};if (K) K=levelClone;};if (B) K=B.RootNode;for (var k=i;k<J.length;k++){levelStartNode=J[k];if (A>0&&levelStartNode!=D) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==D));if (!I[k]||levelStartNode.parentNode!=I[k].parentNode){currentNode=levelStartNode.previousSibling;while(currentNode){if (currentNode==I[k]||currentNode==C) break;currentSibling=currentNode.previousSibling;if (A==2) K.insertBefore(currentNode.cloneNode(true),K.firstChild);else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.insertBefore(currentNode,K.firstChild);};currentNode=currentSibling;}};if (K) K=levelClone;};if (A==2){var L=this.startContainer;if (L.nodeType==3){L.data+=L.nextSibling.data;L.parentNode.removeChild(L.nextSibling);};var M=this.endContainer;if (M.nodeType==3&&M.nextSibling){M.data+=M.nextSibling.data;M.parentNode.removeChild(M.nextSibling);}}else{if (topStart&&topEnd&&(C.parentNode!=topStart.parentNode||D.parentNode!=topEnd.parentNode)){var N=FCKDomTools.GetIndexOf(topEnd);if (G&&topEnd.parentNode==C.parentNode) N--;this.setStart(topEnd.parentNode,N);};this.collapse(true);};if(G) C.parentNode.removeChild(C);if(H&&D.parentNode) D.parentNode.removeChild(D);},cloneRange:function(){return FCKW3CRange.CreateFromRange(this._Document,this);}};\r
+var FCKEnterKey=function(A,B,C,D){this.Window=A;this.EnterMode=B||'p';this.ShiftEnterMode=C||'br';var E=new FCKKeystrokeHandler(false);E._EnterKey=this;E.OnKeystroke=FCKEnterKey_OnKeystroke;E.SetKeystrokes([[13,'Enter'],[SHIFT+13,'ShiftEnter'],[8,'Backspace'],[CTRL+8,'CtrlBackspace'],[46,'Delete']]);this.TabText='';if (D>0||FCKBrowserInfo.IsSafari){while (D--) this.TabText+='\xa0';E.SetKeystrokes([9,'Tab']);};E.AttachToElement(A.document);};function FCKEnterKey_OnKeystroke(A,B){var C=this._EnterKey;try{switch (B){case 'Enter':return C.DoEnter();break;case 'ShiftEnter':return C.DoShiftEnter();break;case 'Backspace':return C.DoBackspace();break;case 'Delete':return C.DoDelete();break;case 'Tab':return C.DoTab();break;case 'CtrlBackspace':return C.DoCtrlBackspace();break;}}catch (e){};return false;};FCKEnterKey.prototype.DoEnter=function(A,B){FCKUndo.SaveUndoStep();this._HasShift=(B===true);var C=FCKSelection.GetParentElement();var D=new FCKElementPath(C);var E=A||this.EnterMode;if (E=='br'||D.Block&&D.Block.tagName.toLowerCase()=='pre') return this._ExecuteEnterBr();else return this._ExecuteEnterBlock(E);};FCKEnterKey.prototype.DoShiftEnter=function(){return this.DoEnter(this.ShiftEnterMode,true);};FCKEnterKey.prototype.DoBackspace=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(B,this.Window.document.body)){this._FixIESelectAllBug(B);return true;};var C=B.CheckIsCollapsed();if (!C){if (FCKBrowserInfo.IsIE&&this.Window.document.selection.type.toLowerCase()=="control"){var D=this.Window.document.selection.createRange();for (var i=D.length-1;i>=0;i--){var E=D.item(i);E.parentNode.removeChild(E);};return true;};return false;};if (FCKBrowserInfo.IsIE){var F=FCKDomTools.GetPreviousSourceElement(B.StartNode,true);if (F&&F.nodeName.toLowerCase()=='br'){var G=B.Clone();G.SetStart(F,4);if (G.CheckIsEmpty()){F.parentNode.removeChild(F);return true;}}};var H=B.StartBlock;var I=B.EndBlock;if (B.StartBlockLimit==B.EndBlockLimit&&H&&I){if (!C){var J=B.CheckEndOfBlock();B.DeleteContents();if (H!=I){B.SetStart(I,1);B.SetEnd(I,1);};B.Select();A=(H==I);};if (B.CheckStartOfBlock()){var K=B.StartBlock;var L=FCKDomTools.GetPreviousSourceElement(K,true,['BODY',B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,L,K);}else if (FCKBrowserInfo.IsGeckoLike){B.Select();}};B.Release();return A;};FCKEnterKey.prototype.DoCtrlBackspace=function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(this.Window);A.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(A,this.Window.document.body)){this._FixIESelectAllBug(A);return true;};return false;};FCKEnterKey.prototype._ExecuteBackspace=function(A,B,C){var D=false;if (!B&&C&&C.nodeName.IEquals('LI')&&C.parentNode.parentNode.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};if (B&&B.nodeName.IEquals('LI')){var E=FCKDomTools.GetLastChild(B,['UL','OL']);while (E){B=FCKDomTools.GetLastChild(E,'LI');E=FCKDomTools.GetLastChild(B,['UL','OL']);}};if (B&&C){if (C.nodeName.IEquals('LI')&&!B.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};var F=C.parentNode;var G=B.nodeName.toLowerCase();if (FCKListsLib.EmptyElements[G]!=null||G=='table'){FCKDomTools.RemoveNode(B);D=true;}else{FCKDomTools.RemoveNode(C);while (F.innerHTML.Trim().length==0){var H=F.parentNode;H.removeChild(F);F=H;};FCKDomTools.LTrimNode(C);FCKDomTools.RTrimNode(B);A.SetStart(B,2,true);A.Collapse(true);var I=A.CreateBookmark(true);if (!C.tagName.IEquals(['TABLE'])) FCKDomTools.MoveChildren(C,B);A.SelectBookmark(I);D=true;}};return D;};FCKEnterKey.prototype.DoDelete=function(){FCKUndo.SaveUndoStep();var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(B,this.Window.document.body)){this._FixIESelectAllBug(B);return true;};if (B.CheckIsCollapsed()&&B.CheckEndOfBlock(FCKBrowserInfo.IsGeckoLike)){var C=B.StartBlock;var D=FCKTools.GetElementAscensor(C,'td');var E=FCKDomTools.GetNextSourceElement(C,true,[B.StartBlockLimit.nodeName],['UL','OL','TR'],true);if (D){var F=FCKTools.GetElementAscensor(E,'td');if (F!=D) return true;};A=this._ExecuteBackspace(B,C,E);};B.Release();return A;};FCKEnterKey.prototype.DoTab=function(){var A=new FCKDomRange(this.Window);A.MoveToSelection();var B=A._Range.startContainer;while (B){if (B.nodeType==1){var C=B.tagName.toLowerCase();if (C=="tr"||C=="td"||C=="th"||C=="tbody"||C=="table") return false;else break;};B=B.parentNode;};if (this.TabText){A.DeleteContents();A.InsertNode(this.Window.document.createTextNode(this.TabText));A.Collapse(false);A.Select();};return true;};FCKEnterKey.prototype._ExecuteEnterBlock=function(A,B){var C=B||new FCKDomRange(this.Window);var D=C.SplitBlock(A);if (D){var E=D.PreviousBlock;var F=D.NextBlock;var G=D.WasStartOfBlock;var H=D.WasEndOfBlock;if (F){if (F.parentNode.nodeName.IEquals('li')){FCKDomTools.BreakParent(F,F.parentNode);FCKDomTools.MoveNode(F,F.nextSibling,true);}}else if (E&&E.parentNode.nodeName.IEquals('li')){FCKDomTools.BreakParent(E,E.parentNode);C.MoveToElementEditStart(E.nextSibling);FCKDomTools.MoveNode(E,E.previousSibling);};if (!G&&!H){if (F.nodeName.IEquals('li')&&F.firstChild&&F.firstChild.nodeName.IEquals(['ul','ol'])) F.insertBefore(FCKTools.GetElementDocument(F).createTextNode('\xa0'),F.firstChild);if (F) C.MoveToElementEditStart(F);}else{if (G&&H&&E.tagName.toUpperCase()=='LI'){C.MoveToElementStart(E);this._OutdentWithSelection(E,C);C.Release();return true;};var I;if (E){var J=E.tagName.toUpperCase();if (!this._HasShift&&!(/^H[1-6]$/).test(J)){I=FCKDomTools.CloneElement(E);}}else if (F) I=FCKDomTools.CloneElement(F);if (!I) I=this.Window.document.createElement(A);var K=D.ElementPath;if (K){for (var i=0,len=K.Elements.length;i<len;i++){var L=K.Elements[i];if (L==K.Block||L==K.BlockLimit) break;if (FCKListsLib.InlineChildReqElements[L.nodeName.toLowerCase()]){L=FCKDomTools.CloneElement(L);FCKDomTools.MoveChildren(I,L);I.appendChild(L);}}};if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(I);C.InsertNode(I);if (FCKBrowserInfo.IsIE){C.MoveToElementEditStart(I);C.Select();};C.MoveToElementEditStart(G&&!H?F:I);};if (FCKBrowserInfo.IsGeckoLike){if (F){var M=this.Window.document.createElement('span');M.innerHTML='&nbsp;';C.InsertNode(M);FCKDomTools.ScrollIntoView(M,false);C.DeleteContents();}else{FCKDomTools.ScrollIntoView(F||I,false);}};C.Select();};C.Release();return true;};FCKEnterKey.prototype._ExecuteEnterBr=function(A){var B=new FCKDomRange(this.Window);B.MoveToSelection();if (B.StartBlockLimit==B.EndBlockLimit){B.DeleteContents();B.MoveToSelection();var C=B.CheckStartOfBlock();var D=B.CheckEndOfBlock();var E=B.StartBlock?B.StartBlock.tagName.toUpperCase():'';var F=this._HasShift;var G=false;if (!F&&E=='LI') return this._ExecuteEnterBlock(null,B);if (!F&&D&&(/^H[1-6]$/).test(E)){FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createElement('br'));if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(B.StartBlock,this.Window.document.createTextNode(''));B.SetStart(B.StartBlock.nextSibling,FCKBrowserInfo.IsIE?3:1);}else{var H;G=E.IEquals('pre');if (G) H=this.Window.document.createTextNode(FCKBrowserInfo.IsIE?'\r':'\n');else H=this.Window.document.createElement('br');B.InsertNode(H);if (FCKBrowserInfo.IsGecko) FCKDomTools.InsertAfterNode(H,this.Window.document.createTextNode(''));if (D&&FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(H.parentNode);if (FCKBrowserInfo.IsIE) B.SetStart(H,4);else B.SetStart(H.nextSibling,1);if (!FCKBrowserInfo.IsIE){var I=null;if (FCKBrowserInfo.IsOpera) I=this.Window.document.createElement('span');else I=this.Window.document.createElement('br');H.parentNode.insertBefore(I,H.nextSibling);FCKDomTools.ScrollIntoView(I,false);I.parentNode.removeChild(I);}};B.Collapse(true);B.Select(G);};B.Release();return true;};FCKEnterKey.prototype._OutdentWithSelection=function(A,B){var C=B.CreateBookmark();FCKListHandler.OutdentListItem(A);B.MoveToBookmark(C);B.Select();};FCKEnterKey.prototype._CheckIsAllContentsIncluded=function(A,B){var C=false;var D=false;if (A.StartContainer==B||A.StartContainer==B.firstChild) C=(A._Range.startOffset==0);if (A.EndContainer==B||A.EndContainer==B.lastChild){var E=A.EndContainer.nodeType==3?A.EndContainer.length:A.EndContainer.childNodes.length;D=(A._Range.endOffset==E);};return C&&D;};FCKEnterKey.prototype._FixIESelectAllBug=function(A){var B=this.Window.document;B.body.innerHTML='';var C;if (FCKConfig.EnterMode.IEquals(['div','p'])){C=B.createElement(FCKConfig.EnterMode);B.body.appendChild(C);}else C=B.body;A.MoveToNodeContents(C);A.Collapse(true);A.Select();A.Release();};\r
+var FCKDocumentProcessor={};FCKDocumentProcessor._Items=[];FCKDocumentProcessor.AppendNew=function(){var A={};this._Items.push(A);return A;};FCKDocumentProcessor.Process=function(A){var B=FCK.IsDirty();var C,i=0;while((C=this._Items[i++])) C.ProcessDocument(A);if (!B) FCK.ResetIsDirty();};var FCKDocumentProcessor_CreateFakeImage=function(A,B){var C=FCKTools.GetElementDocument(B).createElement('IMG');C.className=A;C.src=FCKConfig.BasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};if (FCKBrowserInfo.IsIE||FCKBrowserInfo.IsOpera){var FCKAnchorsProcessor=FCKDocumentProcessor.AppendNew();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){if (C.innerHTML!==''){if (FCKBrowserInfo.IsIE) C.className+=' FCK__AnchorC';}else{var D=FCKDocumentProcessor_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}}};var FCKPageBreaksProcessor=FCKDocumentProcessor.AppendNew();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('DIV');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.childNodes.length==1&&C.childNodes[0].style&&C.childNodes[0].style.display=='none'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};var FCKEmbedAndObjectProcessor=(function(){var A=[];var B=function(el){var C=el.cloneNode(true);var D;var E=D=FCKDocumentProcessor_CreateFakeImage('FCK__UnknownObject',C);FCKEmbedAndObjectProcessor.RefreshView(E,el);for (var i=0;i<A.length;i++) D=A[i](el,D)||D;if (D!=E) FCKTempBin.RemoveElement(E.getAttribute('_fckrealelement'));el.parentNode.replaceChild(D,el);};var F=function(elementName,doc){var G=doc.getElementsByTagName(elementName);for (var i=G.length-1;i>=0;i--) B(G[i]);};var H=function(doc){F('object',doc);F('embed',doc);};return FCKTools.Merge(FCKDocumentProcessor.AppendNew(),{ProcessDocument:function(doc){if (FCKBrowserInfo.IsGecko) FCKTools.RunFunction(H,this,[doc]);else H(doc);},RefreshView:function(placeHolder,original){if (original.getAttribute('width')>0) placeHolder.style.width=FCKTools.ConvertHtmlSizeToStyle(original.getAttribute('width'));if (original.getAttribute('height')>0) placeHolder.style.height=FCKTools.ConvertHtmlSizeToStyle(original.getAttribute('height'));},AddCustomHandler:function(func){A.push(func);}});})();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;};if (FCKBrowserInfo.IsIE){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('HR');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=A.createElement('hr');D.mergeAttributes(C,true);FCKDomTools.InsertAfterNode(C,D);C.parentNode.removeChild(C);}}};FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('INPUT');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.type=='hidden'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__InputHidden',C.cloneNode(true));D.setAttribute('_fckinputhidden','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};FCKEmbedAndObjectProcessor.AddCustomHandler(function(A,B){if (!(A.nodeName.IEquals('embed')&&(A.type=='application/x-shockwave-flash'||/\.swf($|#|\?)/i.test(A.src)))) return;B.className='FCK__Flash';B.setAttribute('_fckflash','true',0);});if (FCKBrowserInfo.IsSafari){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByClassName?A.getElementsByClassName('Apple-style-span'):Array.prototype.filter.call(A.getElementsByTagName('span'),function(item){ return item.className=='Apple-style-span';});for (var i=B.length-1;i>=0;i--) FCKDomTools.RemoveNode(B[i],true);}};\r
+var FCKSelection=FCK.Selection={GetParentBlock:function(){var A=this.GetParentElement();while (A){if (FCKListsLib.BlockBoundaries[A.nodeName.toLowerCase()]) break;A=A.parentNode;};return A;},ApplyStyle:function(A){FCKStyles.ApplyStyle(new FCKStyle(A));}};\r
+FCKSelection.GetType=function(){try{var A=FCKSelection.GetSelection().type;if (A=='Control'||A=='Text') return A;if (this.GetSelection().createRange().parentElement) return 'Text';}catch(e){};return 'None';};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var A=this.GetSelection().createRange();if (A&&A.item) return this.GetSelection().createRange().item(0);};return null;};FCKSelection.GetParentElement=function(){switch (this.GetType()){case 'Control':var A=FCKSelection.GetSelectedElement();return A?A.parentElement:null;case 'None':return null;default:return this.GetSelection().createRange().parentElement();}};FCKSelection.GetBoundaryParentElement=function(A){switch (this.GetType()){case 'Control':var B=FCKSelection.GetSelectedElement();return B?B.parentElement:null;case 'None':return null;default:var C=FCK.EditorDocument;var D=C.selection.createRange();D.collapse(A!==false);var B=D.parentElement();return FCKTools.GetElementDocument(B)==C?B:null;}};FCKSelection.SelectNode=function(A){FCK.Focus();this.GetSelection().empty();var B;try{B=FCK.EditorDocument.body.createControlRange();B.addElement(A);B.select();}catch(e){B=FCK.EditorDocument.body.createTextRange();B.moveToElementText(A);B.select();}};FCKSelection.Collapse=function(A){FCK.Focus();if (this.GetType()=='Text'){var B=this.GetSelection().createRange();B.collapse(A==null||A===true);B.select();}};FCKSelection.HasAncestorNode=function(A){var B;if (this.GetSelection().type=="Control"){B=this.GetSelectedElement();}else{var C=this.GetSelection().createRange();B=C.parentElement();}while (B){if (B.nodeName.IEquals(A)) return true;B=B.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(A){var B,oRange;if (!FCK.EditorDocument) return null;if (this.GetSelection().type=="Control"){oRange=this.GetSelection().createRange();for (i=0;i<oRange.length;i++){if (oRange(i).parentNode){B=oRange(i).parentNode;break;}}}else{oRange=this.GetSelection().createRange();B=oRange.parentElement();}while (B&&!B.nodeName.Equals(A)) B=B.parentNode;return B;};FCKSelection.Delete=function(){var A=this.GetSelection();if (A.type.toLowerCase()!="none"){A.clear();};return A;};FCKSelection.GetSelection=function(){this.Restore();return FCK.EditorDocument.selection;};FCKSelection.Save=function(A){var B=FCK.EditorDocument;if (!B) return;if (this.locked) return;this.locked=!!A;var C=B.selection;var D;if (C){try {D=C.createRange();}catch(e) {};if (D){if (D.parentElement&&FCKTools.GetElementDocument(D.parentElement())!=B) D=null;else if (D.item&&FCKTools.GetElementDocument(D.item(0))!=B) D=null;}};this.SelectionData=D;};FCKSelection._GetSelectionDocument=function(A){var B=A.createRange();if (!B) return null;else if (B.item) return FCKTools.GetElementDocument(B.item(0));else return FCKTools.GetElementDocument(B.parentElement());};FCKSelection.Restore=function(){if (this.SelectionData){FCK.IsSelectionChangeLocked=true;try{if (String(this._GetSelectionDocument(FCK.EditorDocument.selection).body.contentEditable)=='true'){FCK.IsSelectionChangeLocked=false;return;};this.SelectionData.select();}catch (e) {};FCK.IsSelectionChangeLocked=false;}};FCKSelection.Release=function(){this.locked=false;delete this.SelectionData;};\r
+var FCKTableHandler={};FCKTableHandler.InsertRow=function(A){var B=FCKSelection.MoveToAncestorNode('TR');if (!B) return;var C=B.cloneNode(true);B.parentNode.insertBefore(C,B);FCKTableHandler.ClearRow(A?C:B);};FCKTableHandler.DeleteRows=function(A){if (!A){var B=FCKTableHandler.GetSelectedCells();var C=[];for (var i=0;i<B.length;i++){var D=B[i].parentNode;C[D.rowIndex]=D;};for (var i=C.length;i>=0;i--){if (C[i]) FCKTableHandler.DeleteRows(C[i]);};return;};var E=FCKTools.GetElementAscensor(A,'TABLE');if (E.rows.length==1){FCKTableHandler.DeleteTable(E);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A){A=FCKSelection.GetSelectedElement();if (!A||A.tagName!='TABLE') A=FCKSelection.MoveToAncestorNode('TABLE');};if (!A) return;FCKSelection.SelectNode(A);FCKSelection.Collapse();if (A.parentNode.childNodes.length==1) A.parentNode.parentNode.removeChild(A.parentNode);else A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(A){var B=null;var C=this.GetSelectedCells();if (C&&C.length) B=C[A?0:(C.length-1)];if (!B) return;var D=FCKTools.GetElementAscensor(B,'TABLE');var E=B.cellIndex;for (var i=0;i<D.rows.length;i++){var F=D.rows[i];if (F.cells.length<(E+1)) continue;B=F.cells[E].cloneNode(false);if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(B);var G=F.cells[E];F.insertBefore(B,(A?G:G.nextSibling));}};FCKTableHandler.DeleteColumns=function(A){if (!A){var B=FCKTableHandler.GetSelectedCells();for (var i=B.length;i>=0;i--){if (B[i]) FCKTableHandler.DeleteColumns(B[i]);};return;};if (!A) return;var C=FCKTools.GetElementAscensor(A,'TABLE');var D=A.cellIndex;for (var i=C.rows.length-1;i>=0;i--){var E=C.rows[i];if (D==0&&E.cells.length==1){FCKTableHandler.DeleteRows(E);continue;};if (E.cells[D]) E.removeChild(E.cells[D]);}};FCKTableHandler.InsertCell=function(A,B){var C=null;var D=this.GetSelectedCells();if (D&&D.length) C=D[B?0:(D.length-1)];if (!C) return null;var E=FCK.EditorDocument.createElement('TD');if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(E);if (!B&&C.cellIndex==C.parentNode.cells.length-1) C.parentNode.appendChild(E);else C.parentNode.insertBefore(E,B?C:C.nextSibling);return E;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(A.parentNode);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._MarkCells=function(A,B){for (var i=0;i<A.length;i++) A[i][B]=true;};FCKTableHandler._UnmarkCells=function(A,B){for (var i=0;i<A.length;i++){FCKDomTools.ClearElementJSProperty(A[i],B);}};FCKTableHandler._ReplaceCellsByMarker=function(A,B,C){for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){if (A[i][j][B]) A[i][j]=C;}}};FCKTableHandler._GetMarkerGeometry=function(A,B,C,D){var E=0;var F=0;var G=0;var H=0;for (var i=C;A[B][i]&&A[B][i][D];i++) E++;for (var i=C-1;A[B][i]&&A[B][i][D];i--){E++;G++;};for (var i=B;A[i]&&A[i][C]&&A[i][C][D];i++) F++;for (var i=B-1;A[i]&&A[i][C]&&A[i][C][D];i--){F++;H++;};return { 'width':E,'height':F,'x':G,'y':H };};FCKTableHandler.CheckIsSelectionRectangular=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<1) return false;for (var i=0;i<A.length;i++){if (A[i].parentNode.parentNode!=A[0].parentNode.parentNode) return false;};this._MarkCells(A,'_CellSelected');var B=this._CreateTableMap(A[0]);var C=A[0].parentNode.rowIndex;var D=this._GetCellIndexSpan(B,C,A[0]);var E=this._GetMarkerGeometry(B,C,D,'_CellSelected');var F=D-E.x;var G=C-E.y;if (E.width>=E.height){for (D=F;D<F+E.width;D++){C=G+(D-F) % E.height;if (!B[C]||!B[C][D]){this._UnmarkCells(A,'_CellSelected');return false;};var g=this._GetMarkerGeometry(B,C,D,'_CellSelected');if (g.width!=E.width||g.height!=E.height){this._UnmarkCells(A,'_CellSelected');return false;}}}else{for (C=G;C<G+E.height;C++){D=F+(C-G) % E.width;if (!B[C]||!B[C][D]){this._UnmarkCells(A,'_CellSelected');return false;};var g=this._GetMarkerGeometry(B,C,D,'_CellSelected');if (g.width!=E.width||g.height!=E.height){this._UnmarkCells(A,'_CellSelected');return false;}}};this._UnmarkCells(A,'_CellSelected');return true;};FCKTableHandler.MergeCells=function(){var A=this.GetSelectedCells();if (A.length<2) return;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=this._GetCellIndexSpan(C,D,B);this._MarkCells(A,'_SelectedCells');var F=this._GetMarkerGeometry(C,D,E,'_SelectedCells');var G=E-F.x;var H=D-F.y;var I=FCKTools.GetElementDocument(B).createDocumentFragment();for (var i=0;i<F.height;i++){var J=0;for (var j=0;j<F.width;j++){var K=C[H+i][G+j];while (K.childNodes.length>0){var L=K.removeChild(K.firstChild);if (L.nodeType!=1||(L.getAttribute('type',2)!='_moz'&&L.getAttribute('_moz_dirty')!=null)){I.appendChild(L);J++;}}};if (J>0) I.appendChild(FCK.EditorDocument.createElement('br'));};this._ReplaceCellsByMarker(C,'_SelectedCells',B);this._UnmarkCells(A,'_SelectedCells');this._InstallTableMap(C,B.parentNode.parentNode.parentNode);B.appendChild(I);if (FCKBrowserInfo.IsGeckoLike&&(!B.firstChild)) FCKTools.AppendBogusBr(B);this._MoveCaretToCell(B,false);};FCKTableHandler.MergeRight=function(){var A=this.GetMergeRightTarget();if (A==null) return;var B=A.refCell;var C=A.tableMap;var D=A.nextCell;var E=FCK.EditorDocument.createDocumentFragment();while (D&&D.childNodes&&D.childNodes.length>0) E.appendChild(D.removeChild(D.firstChild));D.parentNode.removeChild(D);B.appendChild(E);this._MarkCells([D],'_Replace');this._ReplaceCellsByMarker(C,'_Replace',B);this._InstallTableMap(C,B.parentNode.parentNode.parentNode);this._MoveCaretToCell(B,false);};FCKTableHandler.MergeDown=function(){var A=this.GetMergeDownTarget();if (A==null) return;var B=A.refCell;var C=A.tableMap;var D=A.nextCell;var E=FCKTools.GetElementDocument(B).createDocumentFragment();while (D&&D.childNodes&&D.childNodes.length>0) E.appendChild(D.removeChild(D.firstChild));if (E.firstChild) E.insertBefore(FCK.EditorDocument.createElement('br'),E.firstChild);B.appendChild(E);this._MarkCells([D],'_Replace');this._ReplaceCellsByMarker(C,'_Replace',B);this._InstallTableMap(C,B.parentNode.parentNode.parentNode);this._MoveCaretToCell(B,false);};FCKTableHandler.HorizontalSplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=FCKTableHandler._GetCellIndexSpan(C,D,B);var F=isNaN(B.colSpan)?1:B.colSpan;if (F>1){var G=Math.ceil(F/2);var H=FCK.EditorDocument.createElement(B.nodeName);if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(H);var I=E+G;var J=E+F;var K=isNaN(B.rowSpan)?1:B.rowSpan;for (var r=D;r<D+K;r++){for (var i=I;i<J;i++) C[r][i]=H;}}else{var L=[];for (var i=0;i<C.length;i++){var M=C[i].slice(0,E);if (C[i].length<=E){L.push(M);continue;};if (C[i][E]==B){M.push(B);M.push(FCK.EditorDocument.createElement(B.nodeName));if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(M[M.length-1]);}else{M.push(C[i][E]);M.push(C[i][E]);};for (var j=E+1;j<C[i].length;j++) M.push(C[i][j]);L.push(M);};C=L;};this._InstallTableMap(C,B.parentNode.parentNode.parentNode);};FCKTableHandler.VerticalSplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=FCKTableHandler._GetCellIndexSpan(C,D,B);var F=isNaN(B.colSpan)?1:B.colSpan;var G=B.rowSpan;if (isNaN(G)) G=1;if (G>1){B.rowSpan=Math.ceil(G/2);var H=D+Math.ceil(G/2);var I=C[H];var J=null;for (var i=E+1;i<I.length;i++){if (I[i].parentNode.rowIndex==H){J=I[i];break;}};var K=FCK.EditorDocument.createElement(B.nodeName);K.rowSpan=Math.floor(G/2);if (F>1) K.colSpan=F;if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(K);B.parentNode.parentNode.parentNode.rows[H].insertBefore(K,J);}else{var L=B.parentNode.sectionRowIndex+1;var M=FCK.EditorDocument.createElement('tr');var N=B.parentNode.parentNode;if (N.rows.length>L) N.insertBefore(M,N.rows[L]);else N.appendChild(M);for (var i=0;i<C[D].length;){var O=C[D][i].colSpan;if (isNaN(O)||O<1) O=1;if (i==E){i+=O;continue;};var P=C[D][i].rowSpan;if (isNaN(P)) P=1;C[D][i].rowSpan=P+1;i+=O;};var K=FCK.EditorDocument.createElement(B.nodeName);if (F>1) K.colSpan=F;if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(K);M.appendChild(K);}};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._GetCellLocation=function(A,B){for (var i=0;i<A.length;i++){for (var c=0;c<A[i].length;c++){if (A[i][c]==B) return [i,c];}};return null;};FCKTableHandler._CreateTableMap=function(A){var B=(A.nodeName=='TABLE'?A:A.parentNode.parentNode.parentNode);var C=B.rows;var r=-1;var D=[];for (var i=0;i<C.length;i++){r++;if (!D[r]) D[r]=[];var c=-1;for (var j=0;j<C[i].cells.length;j++){var E=C[i].cells[j];c++;while (D[r][c]) c++;var F=isNaN(E.colSpan)?1:E.colSpan;var G=isNaN(E.rowSpan)?1:E.rowSpan;for (var H=0;H<G;H++){if (!D[r+H]) D[r+H]=[];for (var I=0;I<F;I++){D[r+H][c+I]=C[i].cells[j];}};c+=F-1;}};return D;};FCKTableHandler._InstallTableMap=function(A,B){var C=FCKBrowserInfo.IsIE?"_fckrowspan":"rowSpan";for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){var D=A[i][j];if (D.parentNode) D.parentNode.removeChild(D);D.colSpan=D[C]=1;}};var E=0;for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){var D=A[i][j];if (!D) continue;if (j>E) E=j;if (D._colScanned===true) continue;if (A[i][j-1]==D) D.colSpan++;if (A[i][j+1]!=D) D._colScanned=true;}};for (var i=0;i<=E;i++){for (var j=0;j<A.length;j++){if (!A[j]) continue;var D=A[j][i];if (!D||D._rowScanned===true) continue;if (A[j-1]&&A[j-1][i]==D) D[C]++;if (!A[j+1]||A[j+1][i]!=D) D._rowScanned=true;}};for (var i=0;i<A.length;i++){for (var j=0;j<A[i].length;j++){var D=A[i][j];FCKDomTools.ClearElementJSProperty(D,'_colScanned');FCKDomTools.ClearElementJSProperty(D,'_rowScanned');}};for (var i=0;i<A.length;i++){var I=FCK.EditorDocument.createElement('tr');for (var j=0;j<A[i].length;){var D=A[i][j];if (A[i-1]&&A[i-1][j]==D){j+=D.colSpan;continue;};I.appendChild(D);if (C!='rowSpan'){D.rowSpan=D[C];D.removeAttribute(C);};j+=D.colSpan;if (D.colSpan==1) D.removeAttribute('colspan');if (D.rowSpan==1) D.removeAttribute('rowspan');};if (FCKBrowserInfo.IsIE){B.rows[i].replaceNode(I);}else{B.rows[i].innerHTML='';FCKDomTools.MoveChildren(I,B.rows[i]);}}};FCKTableHandler._MoveCaretToCell=function (A,B){var C=new FCKDomRange(FCK.EditorWindow);C.MoveToNodeContents(A);C.Collapse(B);C.Select();};FCKTableHandler.ClearRow=function(A){var B=A.cells;for (var i=0;i<B.length;i++){B[i].innerHTML='';if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(B[i]);}};FCKTableHandler.GetMergeRightTarget=function(){var A=this.GetSelectedCells();if (A.length!=1) return null;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=this._GetCellIndexSpan(C,D,B);var F=E+(isNaN(B.colSpan)?1:B.colSpan);var G=C[D][F];if (!G) return null;this._MarkCells([B,G],'_SizeTest');var H=this._GetMarkerGeometry(C,D,E,'_SizeTest');var I=this._GetMarkerGeometry(C,D,F,'_SizeTest');this._UnmarkCells([B,G],'_SizeTest');if (H.height!=I.height||H.y!=I.y) return null;return { 'refCell':B,'nextCell':G,'tableMap':C };};FCKTableHandler.GetMergeDownTarget=function(){var A=this.GetSelectedCells();if (A.length!=1) return null;var B=A[0];var C=this._CreateTableMap(B);var D=B.parentNode.rowIndex;var E=this._GetCellIndexSpan(C,D,B);var F=D+(isNaN(B.rowSpan)?1:B.rowSpan);if (!C[F]) return null;var G=C[F][E];if (!G) return null;if (B.parentNode.parentNode!=G.parentNode.parentNode) return null;this._MarkCells([B,G],'_SizeTest');var H=this._GetMarkerGeometry(C,D,E,'_SizeTest');var I=this._GetMarkerGeometry(C,F,E,'_SizeTest');this._UnmarkCells([B,G],'_SizeTest');if (H.width!=I.width||H.x!=I.x) return null;return { 'refCell':B,'nextCell':G,'tableMap':C };};\r
+FCKTableHandler.GetSelectedCells=function(){if (FCKSelection.GetType()=='Control'){var A=FCKSelection.MoveToAncestorNode(['TD','TH']);return A?[A]:[];};var B=[];var C=FCKSelection.GetSelection().createRange();var D=FCKSelection.GetParentElement();if (D&&D.tagName.Equals('TD','TH')) B[0]=D;else{D=FCKSelection.MoveToAncestorNode('TABLE');if (D){for (var i=0;i<D.cells.length;i++){var E=FCK.EditorDocument.body.createTextRange();E.moveToElementText(D.cells[i]);if (C.inRange(E)||(C.compareEndPoints('StartToStart',E)>=0&&C.compareEndPoints('StartToEnd',E)<=0)||(C.compareEndPoints('EndToStart',E)>=0&&C.compareEndPoints('EndToEnd',E)<=0)){B[B.length]=D.cells[i];}}}};return B;};\r
+var FCKXml=function(){this.Error=false;};FCKXml.GetAttribute=function(A,B,C){var D=A.attributes.getNamedItem(B);return D?D.value:C;};FCKXml.TransformToObject=function(A){if (!A) return null;var B={};var C=A.attributes;for (var i=0;i<C.length;i++){var D=C[i];B[D.name]=D.value;};var E=A.childNodes;for (i=0;i<E.length;i++){var F=E[i];if (F.nodeType==1){var G='$'+F.nodeName;var H=B[G];if (!H) H=B[G]=[];H.push(this.TransformToObject(F));}};return B;};\r
+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||(B.status==0&&B.readyState==4)){this.DOMDocument=B.responseXML;if (!this.DOMDocument||this.DOMDocument.firstChild==null){this.DOMDocument=FCKTools.CreateXmlObject('DOMDocument');this.DOMDocument.async=false;this.DOMDocument.resolveExternals=false;this.DOMDocument.loadXML(B.responseText);}}else{this.DOMDocument=null;};if (this.DOMDocument==null||this.DOMDocument.firstChild==null){this.Error=true;if (window.confirm('Error loading "'+A+'"\r\nDo you want to see more info?')) alert('URL requested: "'+A+'"\r\nServer response:\r\nStatus: '+B.status+'\r\nResponse text:\r\n'+B.responseText);}},SelectNodes:function(A,B){if (this.Error) return [];if (B) return B.selectNodes(A);else return this.DOMDocument.selectNodes(A);},SelectSingleNode:function(A,B){if (this.Error) return null;if (B) return B.selectSingleNode(A);else return this.DOMDocument.selectSingleNode(A);}};\r
+var FCKNamedCommand=function(A){this.Name=A;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState(this.Name);};\r
+var FCKStyleCommand=function(){};FCKStyleCommand.prototype={Name:'Style',Execute:function(A,B){FCKUndo.SaveUndoStep();if (B.Selected) FCK.Styles.RemoveStyle(B.Style);else FCK.Styles.ApplyStyle(B.Style);FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorDocument) return -1;if (FCKSelection.GetType()=='Control'){var A=FCKSelection.GetSelectedElement();if (!A||!FCKStyles.CheckHasObjectStyle(A.nodeName.toLowerCase())) return -1;};return 0;}};\r
+var FCKDialogCommand=function(A,B,C,D,E,F,G,H){this.Name=A;this.Title=B;this.Url=C;this.Width=D;this.Height=E;this.CustomValue=H;this.GetStateFunction=F;this.GetStateParam=G;this.Resizable=false;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height,this.CustomValue,this.Resizable);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK.EditMode==0?0:-1;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return 0;};var FCKFormatBlockCommand=function(){};FCKFormatBlockCommand.prototype={Name:'FormatBlock',Execute:FCKStyleCommand.prototype.Execute,GetState:function(){return FCK.EditorDocument?0:-1;}};var FCKFontNameCommand=function(){};FCKFontNameCommand.prototype={Name:'FontName',Execute:FCKStyleCommand.prototype.Execute,GetState:FCKFormatBlockCommand.prototype.GetState};var FCKFontSizeCommand=function(){};FCKFontSizeCommand.prototype={Name:'FontSize',Execute:FCKStyleCommand.prototype.Execute,GetState:FCKFormatBlockCommand.prototype.GetState};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return 0;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.GetParentForm();if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};if (typeof(A.submit)=='function') A.submit();else A.submit.click();};FCKSaveCommand.prototype.GetState=function(){return 0;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetData('');FCKUndo.Typing=true;FCK.Focus();};FCKNewPageCommand.prototype.GetState=function(){return 0;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKConfig.SourcePopup){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,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==0?0:1);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){FCKUndo.Undo();};FCKUndoCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return (FCKUndo.CheckUndoState()?0:-1);};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){FCKUndo.Redo();};FCKRedoCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return (FCKUndo.CheckRedoState()?0:-1);};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();var e=FCK.EditorDocument.createElement('DIV');e.style.pageBreakAfter='always';e.innerHTML='<span style="DISPLAY:none">&nbsp;</span>';var A=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',e);var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.SplitBlock();B.InsertNode(A);FCK.Events.FireEvent('OnSelectionChange');};FCKPageBreakCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};var FCKUnlinkCommand=function(){this.Name='Unlink';};FCKUnlinkCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();if (FCKBrowserInfo.IsGeckoLike){var A=FCK.Selection.MoveToAncestorNode('A');if (A) FCKTools.RemoveOuterTags(A);return;};FCK.ExecuteNamedCommand(this.Name);};FCKUnlinkCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;var A=FCK.GetNamedCommandState(this.Name);if (A==0&&FCK.EditMode==0){var B=FCKSelection.MoveToAncestorNode('A');var C=(B&&B.name.length>0&&B.href.length==0);if (C) A=-1;};return A;};var FCKVisitLinkCommand=function(){this.Name='VisitLink';};FCKVisitLinkCommand.prototype={GetState:function(){if (FCK.EditMode!=0) return -1;var A=FCK.GetNamedCommandState('Unlink');if (A==0){var B=FCKSelection.MoveToAncestorNode('A');if (!B.href) A=-1;};return A;},Execute:function(){var A=FCKSelection.MoveToAncestorNode('A');var B=A.getAttribute('_fcksavedurl')||A.getAttribute('href',2);if (!/:\/\//.test(B)){var C=FCKConfig.BaseHref;var D=FCK.GetInstanceObject('parent');if (!C){C=D.document.location.href;C=C.substring(0,C.lastIndexOf('/')+1);};if (/^\//.test(B)){try{C=C.match(/^.*:\/\/+[^\/]+/)[0];}catch (e){C=D.document.location.protocol+'://'+D.parent.document.location.host;}};B=C+B;};if (!window.open(B,'_blank')) alert(FCKLang.VisitLinkBlocked);}};var FCKSelectAllCommand=function(){this.Name='SelectAll';};FCKSelectAllCommand.prototype.Execute=function(){if (FCK.EditMode==0){FCK.ExecuteNamedCommand('SelectAll');}else{var A=FCK.EditingArea.Textarea;if (FCKBrowserInfo.IsIE){A.createTextRange().execCommand('SelectAll');}else{A.selectionStart=0;A.selectionEnd=A.value.length;};A.focus();}};FCKSelectAllCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};var FCKPasteCommand=function(){this.Name='Paste';};FCKPasteCommand.prototype={Execute:function(){if (FCKBrowserInfo.IsIE) FCK.Paste();else FCK.ExecuteNamedCommand('Paste');},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Paste');}};var FCKRuleCommand=function(){this.Name='Rule';};FCKRuleCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();FCK.InsertElement('hr');},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('InsertHorizontalRule');}};var FCKCutCopyCommand=function(A){this.Name=A?'Cut':'Copy';};FCKCutCopyCommand.prototype={Execute:function(){var A=false;if (FCKBrowserInfo.IsIE){var B=function(){A=true;};var C='on'+this.Name.toLowerCase();FCK.EditorDocument.body.attachEvent(C,B);FCK.ExecuteNamedCommand(this.Name);FCK.EditorDocument.body.detachEvent(C,B);}else{try{FCK.ExecuteNamedCommand(this.Name);A=true;}catch(e){}};if (!A) alert(FCKLang['PasteError'+this.Name]);},GetState:function(){return FCK.EditMode!=0?-1:FCK.GetNamedCommandState('Cut');}};var FCKAnchorDeleteCommand=function(){this.Name='AnchorDelete';};FCKAnchorDeleteCommand.prototype={Execute:function(){if (FCK.Selection.GetType()=='Control'){FCK.Selection.Delete();}else{var A=FCK.Selection.GetSelectedElement();if (A){if (A.tagName=='IMG'&&A.getAttribute('_fckanchor')) oAnchor=FCK.GetRealElement(A);else A=null;};if (!A){oAnchor=FCK.Selection.MoveToAncestorNode('A');if (oAnchor) FCK.Selection.SelectNode(oAnchor);};if (oAnchor.href.length!=0){oAnchor.removeAttribute('name');if (FCKBrowserInfo.IsIE) oAnchor.className=oAnchor.className.replace(FCKRegexLib.FCK_Class,'');return;};if (A){A.parentNode.removeChild(A);return;};if (oAnchor.innerHTML.length==0){oAnchor.parentNode.removeChild(oAnchor);return;};FCKTools.RemoveOuterTags(oAnchor);};if (FCKBrowserInfo.IsGecko) FCK.Selection.Collapse(true);},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Unlink');}};var FCKDeleteDivCommand=function(){};FCKDeleteDivCommand.prototype={GetState:function(){if (FCK.EditMode!=0) return -1;var A=FCKSelection.GetParentElement();var B=new FCKElementPath(A);return B.BlockLimit&&B.BlockLimit.nodeName.IEquals('div')?0:-1;},Execute:function(){FCKUndo.SaveUndoStep();var A=FCKDomTools.GetSelectedDivContainers();var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.CreateBookmark();for (var i=0;i<A.length;i++) FCKDomTools.RemoveNode(A[i],true);B.MoveToBookmark(C);B.Select();}};var FCKNbsp=function(){this.Name='Non Breaking Space';};FCKNbsp.prototype={Execute:function(){FCK.InsertHtml('&nbsp;');},GetState:function(){return (FCK.EditMode!=0?-1:0);}};\r
+var FCKShowBlockCommand=function(A,B){this.Name=A;if (B!=undefined) this._SavedState=B;else this._SavedState=null;};FCKShowBlockCommand.prototype.Execute=function(){var A=this.GetState();if (A==-1) return;var B=FCK.EditorDocument.body;if (A==1) B.className=B.className.replace(/(^| )FCK__ShowBlocks/g,'');else B.className+=' FCK__ShowBlocks';if (FCKBrowserInfo.IsIE){try{FCK.EditorDocument.selection.createRange().select();}catch (e){}}else{var C=FCK.EditorWindow.getSelection().focusNode;if (C){if (C.nodeType!=1) C=C.parentNode;FCKDomTools.ScrollIntoView(C,false);}};FCK.Events.FireEvent('OnSelectionChange');};FCKShowBlockCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;if (!FCK.EditorDocument) return 0;if (/FCK__ShowBlocks(?:\s|$)/.test(FCK.EditorDocument.body.className)) return 1;return 0;};FCKShowBlockCommand.prototype.SaveState=function(){this._SavedState=this.GetState();};FCKShowBlockCommand.prototype.RestoreState=function(){if (this._SavedState!=null&&this.GetState()!=this._SavedState) this.Execute();};\r
+var FCKSpellCheckCommand=function(){this.Name='SpellCheck';this.IsEnabled=true;};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;case 'WSC':FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','wsc/w.html',530,480);}};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(){if (FCK.EditMode!=0) return -1;return this.IsEnabled?0:-1;};\r
+var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;var B;if (FCKBrowserInfo.IsIE) B=window;else if (FCK.ToolbarSet._IFrame) B=FCKTools.GetElementWindow(FCK.ToolbarSet._IFrame);else B=window.parent;this._Panel=new FCKPanel(B);this._Panel.AppendStyleSheet(FCKConfig.SkinEditorCSS);this._Panel.MainNode.className='FCK_Panel';this._CreatePanelBody(this._Panel.Document,this._Panel.MainNode);FCK.ToolbarSet.ToolbarItems.GetItem(this.Name).RegisterPanel(this._Panel);FCKTools.DisableSelection(this._Panel.Document.body);};FCKTextColorCommand.prototype.Execute=function(A,B,C){this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){FCKUndo.SaveUndoStep();var B=FCKStyles.GetStyle('_FCK_'+(this.Type=='ForeColor'?'Color':'BackColor'));if (!A||A.length==0) FCK.Styles.RemoveStyle(B);else{B.SetVariable('Color',A);FCKStyles.ApplyStyle(B);};FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');};FCKTextColorCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};function FCKTextColorCommand_OnMouseOver(){this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut(){this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(A,B,C){this.className='ColorDeselected';B.SetColor(C);B._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(A,B){this.className='ColorDeselected';B.SetColor('');B._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(A,B){this.className='ColorDeselected';B._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',410,320,FCKTools.Bind(B,B.SetColor));};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';FCKTools.AddEventListenerEx(C,'mouseover',FCKTextColorCommand_OnMouseOver);FCKTools.AddEventListenerEx(C,'mouseout',FCKTextColorCommand_OnMouseOut);return C;};var D=B.appendChild(A.createElement("TABLE"));D.className='ForceBaseFont';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">\n                        <tr>\n                          <td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\n                             <td nowrap width="100%" align="center">'+FCKLang.ColorAutomatic+'</td>\n                        </tr>\n         </table>';FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_AutoOnClick,this);if (!FCKBrowserInfo.IsIE) C.style.width='96%';var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H<G.length){var I=D.insertRow(-1);for (var i=0;i<8;i++,H++){if (H<G.length){var J=G[H].split('/');var K='#'+J[0];var L=J[1]||K;};C=I.insertCell(-1).appendChild(CreateSelectionDiv());C.innerHTML='<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: '+K+'"></div></div>';if (H>=G.length) C.style.visibility='hidden';else FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_OnClick,[this,L]);}};if (FCKConfig.EnableMoreFontColors){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>';FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_MoreOnClick,this);if (!FCKBrowserInfo.IsIE) C.style.width='96%';}};\r
+var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Paste');};\r
+var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCK.EditMode!=0||FCKConfig.ForcePasteAsPlainText) return -1;else return FCK.GetNamedCommandState('Paste');};\r
+var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();if (!FCKBrowserInfo.IsGecko){switch (this.Name){case 'TableMergeRight':return FCKTableHandler.MergeRight();case 'TableMergeDown':return FCKTableHandler.MergeDown();}};switch (this.Name){case 'TableInsertRowAfter':return FCKTableHandler.InsertRow(false);case 'TableInsertRowBefore':return FCKTableHandler.InsertRow(true);case 'TableDeleteRows':return FCKTableHandler.DeleteRows();case 'TableInsertColumnAfter':return FCKTableHandler.InsertColumn(false);case 'TableInsertColumnBefore':return FCKTableHandler.InsertColumn(true);case 'TableDeleteColumns':return FCKTableHandler.DeleteColumns();case 'TableInsertCellAfter':return FCKTableHandler.InsertCell(null,false);case 'TableInsertCellBefore':return FCKTableHandler.InsertCell(null,true);case 'TableDeleteCells':return FCKTableHandler.DeleteCells();case 'TableMergeCells':return FCKTableHandler.MergeCells();case 'TableHorizontalSplitCell':return FCKTableHandler.HorizontalSplitCell();case 'TableVerticalSplitCell':return FCKTableHandler.VerticalSplitCell();case 'TableDelete':return FCKTableHandler.DeleteTable();default:return alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));}};FCKTableCommand.prototype.GetState=function(){if (FCK.EditorDocument!=null&&FCKSelection.HasAncestorNode('TABLE')){switch (this.Name){case 'TableHorizontalSplitCell':case 'TableVerticalSplitCell':if (FCKTableHandler.GetSelectedCells().length==1) return 0;else return -1;case 'TableMergeCells':if (FCKTableHandler.CheckIsSelectionRectangular()&&FCKTableHandler.GetSelectedCells().length>1) return 0;else return -1;case 'TableMergeRight':return FCKTableHandler.GetMergeRightTarget()?0:-1;case 'TableMergeDown':return FCKTableHandler.GetMergeDownTarget()?0:-1;default:return 0;}}else return -1;};\r
+var FCKFitWindow=function(){this.Name='FitWindow';};FCKFitWindow.prototype.Execute=function(){var A=window.frameElement;var B=A.style;var C=parent;var D=C.document.documentElement;var E=C.document.body;var F=E.style;var G;var H,oEditorScrollPos;if (FCK.EditMode==0){H=new FCKDomRange(FCK.EditorWindow);H.MoveToSelection();oEditorScrollPos=FCKTools.GetScrollPosition(FCK.EditorWindow);}else{var I=FCK.EditingArea.Textarea;H=!FCKBrowserInfo.IsIE&&[I.selectionStart,I.selectionEnd];oEditorScrollPos=[I.scrollLeft,I.scrollTop];};if (!this.IsMaximized){if(FCKBrowserInfo.IsIE) C.attachEvent('onresize',FCKFitWindow_Resize);else C.addEventListener('resize',FCKFitWindow_Resize,true);this._ScrollPos=FCKTools.GetScrollPosition(C);G=A;while((G=G.parentNode)){if (G.nodeType==1){G._fckSavedStyles=FCKTools.SaveStyles(G);G.style.zIndex=FCKConfig.FloatingPanelsZIndex-1;}};if (FCKBrowserInfo.IsIE){this.documentElementOverflow=D.style.overflow;D.style.overflow='hidden';F.overflow='hidden';}else{F.overflow='hidden';F.width='0px';F.height='0px';};this._EditorFrameStyles=FCKTools.SaveStyles(A);var J=FCKTools.GetViewPaneSize(C);B.position="absolute";A.offsetLeft;B.zIndex=FCKConfig.FloatingPanelsZIndex-1;B.left="0px";B.top="0px";B.width=J.Width+"px";B.height=J.Height+"px";if (!FCKBrowserInfo.IsIE){B.borderRight=B.borderBottom="9999px solid white";B.backgroundColor="white";};C.scrollTo(0,0);var K=FCKTools.GetWindowPosition(C,A);if (K.x!=0) B.left=(-1*K.x)+"px";if (K.y!=0) B.top=(-1*K.y)+"px";this.IsMaximized=true;}else{if(FCKBrowserInfo.IsIE) C.detachEvent("onresize",FCKFitWindow_Resize);else C.removeEventListener("resize",FCKFitWindow_Resize,true);G=A;while((G=G.parentNode)){if (G._fckSavedStyles){FCKTools.RestoreStyles(G,G._fckSavedStyles);G._fckSavedStyles=null;}};if (FCKBrowserInfo.IsIE) D.style.overflow=this.documentElementOverflow;FCKTools.RestoreStyles(A,this._EditorFrameStyles);C.scrollTo(this._ScrollPos.X,this._ScrollPos.Y);this.IsMaximized=false;};FCKToolbarItems.GetItem('FitWindow').RefreshState();if (FCK.EditMode==0) FCK.EditingArea.MakeEditable();FCK.Focus();if (FCK.EditMode==0){H.Select();FCK.EditorWindow.scrollTo(oEditorScrollPos.X,oEditorScrollPos.Y);}else{if (!FCKBrowserInfo.IsIE){I.selectionStart=H[0];I.selectionEnd=H[1];};I.scrollLeft=oEditorScrollPos[0];I.scrollTop=oEditorScrollPos[1];}};FCKFitWindow.prototype.GetState=function(){if (FCKConfig.ToolbarLocation!='In') return -1;else return (this.IsMaximized?1:0);};function FCKFitWindow_Resize(){var A=FCKTools.GetViewPaneSize(parent);var B=window.frameElement.style;B.width=A.Width+'px';B.height=A.Height+'px';};\r
+var FCKListCommand=function(A,B){this.Name=A;this.TagName=B;};FCKListCommand.prototype={GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=FCKSelection.GetBoundaryParentElement(true);var B=A;while (B){if (B.nodeName.IEquals(['ul','ol'])) break;B=B.parentNode;};if (B&&B.nodeName.IEquals(this.TagName)) return 1;else return 0;},Execute:function(){FCKUndo.SaveUndoStep();var A=FCK.EditorDocument;var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=this.GetState();if (C==0){FCKDomTools.TrimNode(A.body);if (!A.body.firstChild){var D=A.createElement('p');A.body.appendChild(D);B.MoveToNodeContents(D);}};var E=B.CreateBookmark();var F=[];var G={};var H=new FCKDomRangeIterator(B);var I;H.ForceBrBreak=(C==0);var J=true;var K=null;while (J){while ((I=H.GetNextParagraph())){var L=new FCKElementPath(I);var M=null;var N=false;var O=L.BlockLimit;for (var i=L.Elements.length-1;i>=0;i--){var P=L.Elements[i];if (P.nodeName.IEquals(['ol','ul'])){if (O._FCK_ListGroupObject) O._FCK_ListGroupObject=null;var Q=P._FCK_ListGroupObject;if (Q) Q.contents.push(I);else{Q={ 'root':P,'contents':[I] };F.push(Q);FCKDomTools.SetElementMarker(G,P,'_FCK_ListGroupObject',Q);};N=true;break;}};if (N) continue;var R=O;if (R._FCK_ListGroupObject) R._FCK_ListGroupObject.contents.push(I);else{var Q={ 'root':R,'contents':[I] };FCKDomTools.SetElementMarker(G,R,'_FCK_ListGroupObject',Q);F.push(Q);}};if (FCKBrowserInfo.IsIE) J=false;else{if (K==null){K=[];var T=FCKSelection.GetSelection();if (T&&F.length==0) K.push(T.getRangeAt(0));for (var i=1;T&&i<T.rangeCount;i++) K.push(T.getRangeAt(i));};if (K.length<1) J=false;else{var U=FCKW3CRange.CreateFromRange(A,K.shift());B._Range=U;B._UpdateElementInfo();if (B.StartNode.nodeName.IEquals('td')) B.SetStart(B.StartNode,1);if (B.EndNode.nodeName.IEquals('td')) B.SetEnd(B.EndNode,2);H=new FCKDomRangeIterator(B);H.ForceBrBreak=(C==0);}}};var W=[];while (F.length>0){var Q=F.shift();if (C==0){if (Q.root.nodeName.IEquals(['ul','ol'])) this._ChangeListType(Q,G,W);else this._CreateList(Q,W);}else if (C==1&&Q.root.nodeName.IEquals(['ul','ol'])) this._RemoveList(Q,G);};for (var i=0;i<W.length;i++){var M=W[i];var Z=false;var a=M;while (!Z){a=a.nextSibling;if (a&&a.nodeType==3&&a.nodeValue.search(/^[\n\r\t ]*$/)==0) continue;Z=true;};if (a&&a.nodeName.IEquals(this.TagName)){a.parentNode.removeChild(a);while (a.firstChild) M.appendChild(a.removeChild(a.firstChild));};Z=false;a=M;while (!Z){a=a.previousSibling;if (a&&a.nodeType==3&&a.nodeValue.search(/^[\n\r\t ]*$/)==0) continue;Z=true;};if (a&&a.nodeName.IEquals(this.TagName)){a.parentNode.removeChild(a);while (a.lastChild) M.insertBefore(a.removeChild(a.lastChild),M.firstChild);}};FCKDomTools.ClearAllMarkers(G);B.MoveToBookmark(E);B.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},_ChangeListType:function(A,B,C){var D=FCKDomTools.ListToArray(A.root,B);var E=[];for (var i=0;i<A.contents.length;i++){var F=A.contents[i];F=FCKTools.GetElementAscensor(F,'li');if (!F||F._FCK_ListItem_Processed) continue;E.push(F);FCKDomTools.SetElementMarker(B,F,'_FCK_ListItem_Processed',true);};var G=FCKTools.GetElementDocument(A.root).createElement(this.TagName);for (var i=0;i<E.length;i++){var H=E[i]._FCK_ListArray_Index;D[H].parent=G;};var I=FCKDomTools.ArrayToList(D,B);for (var i=0;i<I.listNode.childNodes.length;i++){if (I.listNode.childNodes[i].nodeName.IEquals(this.TagName)) C.push(I.listNode.childNodes[i]);};A.root.parentNode.replaceChild(I.listNode,A.root);},_CreateList:function(A,B){var C=A.contents;var D=FCKTools.GetElementDocument(A.root);var E=[];if (C.length==1&&C[0]==A.root){var F=D.createElement('div');while (C[0].firstChild) F.appendChild(C[0].removeChild(C[0].firstChild));C[0].appendChild(F);C[0]=F;};var G=A.contents[0].parentNode;for (var i=0;i<C.length;i++) G=FCKDomTools.GetCommonParents(G,C[i].parentNode).pop();for (var i=0;i<C.length;i++){var H=C[i];while (H.parentNode){if (H.parentNode==G){E.push(H);break;};H=H.parentNode;}};if (E.length<1) return;var I=E[E.length-1].nextSibling;var J=D.createElement(this.TagName);B.push(J);while (E.length){var K=E.shift();var L=D.createDocumentFragment();while (K.firstChild) L.appendChild(K.removeChild(K.firstChild));K.parentNode.removeChild(K);var M=D.createElement('li');M.appendChild(L);J.appendChild(M);};G.insertBefore(J,I);},_RemoveList:function(A,B){var C=FCKDomTools.ListToArray(A.root,B);var D=[];for (var i=0;i<A.contents.length;i++){var E=A.contents[i];E=FCKTools.GetElementAscensor(E,'li');if (!E||E._FCK_ListItem_Processed) continue;D.push(E);FCKDomTools.SetElementMarker(B,E,'_FCK_ListItem_Processed',true);};var F=null;for (var i=0;i<D.length;i++){var G=D[i]._FCK_ListArray_Index;C[G].indent=-1;F=G;};for (var i=F+1;i<C.length;i++){if (C[i].indent>C[i-1].indent+1){var H=C[i-1].indent+1-C[i].indent;var I=C[i].indent;while (C[i]&&C[i].indent>=I){C[i].indent+=H;i++;};i--;}};var J=FCKDomTools.ArrayToList(C,B);if (A.root.nextSibling==null||A.root.nextSibling.nodeName.IEquals('br')){if (J.listNode.lastChild.nodeName.IEquals('br')) J.listNode.removeChild(J.listNode.lastChild);};A.root.parentNode.replaceChild(J.listNode,A.root);}};\r
+var FCKJustifyCommand=function(A){this.AlignValue=A;var B=FCKConfig.ContentLangDirection.toLowerCase();this.IsDefaultAlign=(A=='left'&&B=='ltr')||(A=='right'&&B=='rtl');var C=this._CssClassName=(function(){var D=FCKConfig.JustifyClasses;if (D){switch (A){case 'left':return D[0]||null;case 'center':return D[1]||null;case 'right':return D[2]||null;case 'justify':return D[3]||null;}};return null;})();if (C&&C.length>0) this._CssClassRegex=new RegExp('(?:^|\\s+)'+C+'(?=$|\\s)');};FCKJustifyCommand._GetClassNameRegex=function(){var A=FCKJustifyCommand._ClassRegex;if (A!=undefined) return A;var B=[];var C=FCKConfig.JustifyClasses;if (C){for (var i=0;i<4;i++){var D=C[i];if (D&&D.length>0) B.push(D);}};if (B.length>0) A=new RegExp('(?:^|\\s+)(?:'+B.join('|')+')(?=$|\\s)');else A=null;return FCKJustifyCommand._ClassRegex=A;};FCKJustifyCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();var B=this.GetState();if (B==-1) return;var C=A.CreateBookmark();var D=this._CssClassName;var E=new FCKDomRangeIterator(A);var F;while ((F=E.GetNextParagraph())){F.removeAttribute('align');if (D){var G=F.className.replace(FCKJustifyCommand._GetClassNameRegex(),'');if (B==0){if (G.length>0) G+=' ';F.className=G+D;}else if (G.length==0) FCKDomTools.RemoveAttribute(F,'class');}else{var H=F.style;if (B==0) H.textAlign=this.AlignValue;else{H.textAlign='';if (H.cssText.length==0) F.removeAttribute('style');}}};A.MoveToBookmark(C);A.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=new FCKElementPath(FCKSelection.GetBoundaryParentElement(true));var B=A.Block||A.BlockLimit;if (!B||B.nodeName.toLowerCase()=='body') return 0;var C;if (FCKBrowserInfo.IsIE) C=B.currentStyle.textAlign;else C=FCK.EditorWindow.getComputedStyle(B,'').getPropertyValue('text-align');C=C.replace(/(-moz-|-webkit-|start|auto)/i,'');if ((!C&&this.IsDefaultAlign)||C==this.AlignValue) return 1;return 0;}};\r
+var FCKIndentCommand=function(A,B){this.Name=A;this.Offset=B;this.IndentCSSProperty=FCKConfig.ContentLangDirection.IEquals('ltr')?'marginLeft':'marginRight';};FCKIndentCommand._InitIndentModeParameters=function(){if (FCKConfig.IndentClasses&&FCKConfig.IndentClasses.length>0){this._UseIndentClasses=true;this._IndentClassMap={};for (var i=0;i<FCKConfig.IndentClasses.length;i++) this._IndentClassMap[FCKConfig.IndentClasses[i]]=i+1;this._ClassNameRegex=new RegExp('(?:^|\\s+)('+FCKConfig.IndentClasses.join('|')+')(?=$|\\s)');}else this._UseIndentClasses=false;};FCKIndentCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();var B=A.CreateBookmark();var C=FCKDomTools.GetCommonParentNode(A.StartNode||A.StartContainer,A.EndNode||A.EndContainer,['ul','ol']);if (C) this._IndentList(A,C);else this._IndentBlock(A);A.MoveToBookmark(B);A.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;if (FCKIndentCommand._UseIndentClasses==undefined) FCKIndentCommand._InitIndentModeParameters();var A=FCKSelection.GetBoundaryParentElement(true);var B=FCKSelection.GetBoundaryParentElement(false);var C=FCKDomTools.GetCommonParentNode(A,B,['ul','ol']);if (C){if (this.Name.IEquals('outdent')) return 0;var D=FCKTools.GetElementAscensor(A,'li');if (!D||!D.previousSibling) return -1;return 0;};if (!FCKIndentCommand._UseIndentClasses&&this.Name.IEquals('indent')) return 0;var E=new FCKElementPath(A);var F=E.Block||E.BlockLimit;if (!F) return -1;if (FCKIndentCommand._UseIndentClasses){var G=F.className.match(FCKIndentCommand._ClassNameRegex);var H=0;if (G!=null){G=G[1];H=FCKIndentCommand._IndentClassMap[G];};if ((this.Name=='outdent'&&H==0)||(this.Name=='indent'&&H==FCKConfig.IndentClasses.length)) return -1;return 0;}else{var I=parseInt(F.style[this.IndentCSSProperty],10);if (isNaN(I)) I=0;if (I<=0) return -1;return 0;}},_IndentBlock:function(A){var B=new FCKDomRangeIterator(A);B.EnforceRealBlocks=true;A.Expand('block_contents');var C=FCKDomTools.GetCommonParents(A.StartContainer,A.EndContainer);var D=C[C.length-1];var E;while ((E=B.GetNextParagraph())){if (!(E==D||E.parentNode==D)) continue;if (FCKIndentCommand._UseIndentClasses){var F=E.className.match(FCKIndentCommand._ClassNameRegex);var G=0;if (F!=null){F=F[1];G=FCKIndentCommand._IndentClassMap[F];};if (this.Name.IEquals('outdent')) G--;else if (this.Name.IEquals('indent')) G++;G=Math.min(G,FCKConfig.IndentClasses.length);G=Math.max(G,0);var H=E.className.replace(FCKIndentCommand._ClassNameRegex,'');if (G<1) E.className=H;else E.className=(H.length>0?H+' ':'')+FCKConfig.IndentClasses[G-1];}else{var I=parseInt(E.style[this.IndentCSSProperty],10);if (isNaN(I)) I=0;I+=this.Offset;I=Math.max(I,0);I=Math.ceil(I/this.Offset)*this.Offset;E.style[this.IndentCSSProperty]=I?I+FCKConfig.IndentUnit:'';if (E.getAttribute('style')=='') E.removeAttribute('style');}}},_IndentList:function(A,B){var C=A.StartContainer;var D=A.EndContainer;while (C&&C.parentNode!=B) C=C.parentNode;while (D&&D.parentNode!=B) D=D.parentNode;if (!C||!D) return;var E=C;var F=[];var G=false;while (G==false){if (E==D) G=true;F.push(E);E=E.nextSibling;};if (F.length<1) return;var H=FCKDomTools.GetParents(B);for (var i=0;i<H.length;i++){if (H[i].nodeName.IEquals(['ul','ol'])){B=H[i];break;}};var I=this.Name.IEquals('indent')?1:-1;var J=F[0];var K=F[F.length-1];var L={};var M=FCKDomTools.ListToArray(B,L);var N=M[K._FCK_ListArray_Index].indent;for (var i=J._FCK_ListArray_Index;i<=K._FCK_ListArray_Index;i++) M[i].indent+=I;for (var i=K._FCK_ListArray_Index+1;i<M.length&&M[i].indent>N;i++) M[i].indent+=I;var O=FCKDomTools.ArrayToList(M);if (O) B.parentNode.replaceChild(O.listNode,B);FCKDomTools.ClearAllMarkers(L);}};\r
+var FCKBlockQuoteCommand=function(){};FCKBlockQuoteCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=this.GetState();var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.CreateBookmark();if (FCKBrowserInfo.IsIE){var D=B.GetBookmarkNode(C,true);var E=B.GetBookmarkNode(C,false);var F;if (D&&D.parentNode.nodeName.IEquals('blockquote')&&!D.previousSibling){F=D;while ((F=F.nextSibling)){if (FCKListsLib.BlockElements[F.nodeName.toLowerCase()]) FCKDomTools.MoveNode(D,F,true);}};if (E&&E.parentNode.nodeName.IEquals('blockquote')&&!E.previousSibling){F=E;while ((F=F.nextSibling)){if (FCKListsLib.BlockElements[F.nodeName.toLowerCase()]){if (F.firstChild==D) FCKDomTools.InsertAfterNode(D,E);else FCKDomTools.MoveNode(E,F,true);}}}};var G=new FCKDomRangeIterator(B);var H;if (A==0){var I=[];while ((H=G.GetNextParagraph())) I.push(H);if (I.length<1){para=B.Window.document.createElement(FCKConfig.EnterMode.IEquals('p')?'p':'div');B.InsertNode(para);para.appendChild(B.Window.document.createTextNode('\ufeff'));B.MoveToBookmark(C);B.MoveToNodeContents(para);B.Collapse(true);C=B.CreateBookmark();I.push(para);};var J=I[0].parentNode;var K=[];for (var i=0;i<I.length;i++){H=I[i];J=FCKDomTools.GetCommonParents(H.parentNode,J).pop();}while (J.nodeName.IEquals('table','tbody','tr','ol','ul')) J=J.parentNode;var L=null;while (I.length>0){H=I.shift();while (H.parentNode!=J) H=H.parentNode;if (H!=L) K.push(H);L=H;}while (K.length>0){H=K.shift();if (H.nodeName.IEquals('blockquote')){var M=FCKTools.GetElementDocument(H).createDocumentFragment();while (H.firstChild){M.appendChild(H.removeChild(H.firstChild));I.push(M.lastChild);};H.parentNode.replaceChild(M,H);}else I.push(H);};var N=B.Window.document.createElement('blockquote');J.insertBefore(N,I[0]);while (I.length>0){H=I.shift();N.appendChild(H);}}else if (A==1){var O=[];var P={};while ((H=G.GetNextParagraph())){var Q=null;var R=null;while (H.parentNode){if (H.parentNode.nodeName.IEquals('blockquote')){Q=H.parentNode;R=H;break;};H=H.parentNode;};if (Q&&R&&!R._fckblockquotemoveout){O.push(R);FCKDomTools.SetElementMarker(P,R,'_fckblockquotemoveout',true);}};FCKDomTools.ClearAllMarkers(P);var S=[];var T=[],P={};var U=function(N){for (var i=0;i<N.childNodes.length;i++){if (FCKListsLib.BlockElements[N.childNodes[i].nodeName.toLowerCase()]) return false;};return true;};while (O.length>0){var W=O.shift();var N=W.parentNode;if (W==W.parentNode.firstChild) N.parentNode.insertBefore(N.removeChild(W),N);else if (W==W.parentNode.lastChild) N.parentNode.insertBefore(N.removeChild(W),N.nextSibling);else FCKDomTools.BreakParent(W,W.parentNode,B);if (!N._fckbqprocessed){T.push(N);FCKDomTools.SetElementMarker(P,N,'_fckbqprocessed',true);};S.push(W);};for (var i=T.length-1;i>=0;i--){var N=T[i];if (U(N)) FCKDomTools.RemoveNode(N);};FCKDomTools.ClearAllMarkers(P);if (FCKConfig.EnterMode.IEquals('br')){while (S.length){var W=S.shift();var a=true;if (W.nodeName.IEquals('div')){var M=FCKTools.GetElementDocument(W).createDocumentFragment();var c=a&&W.previousSibling&&!FCKListsLib.BlockBoundaries[W.previousSibling.nodeName.toLowerCase()];if (a&&c) M.appendChild(FCKTools.GetElementDocument(W).createElement('br'));var d=W.nextSibling&&!FCKListsLib.BlockBoundaries[W.nextSibling.nodeName.toLowerCase()];while (W.firstChild) M.appendChild(W.removeChild(W.firstChild));if (d) M.appendChild(FCKTools.GetElementDocument(W).createElement('br'));W.parentNode.replaceChild(M,W);a=false;}}}};B.MoveToBookmark(C);B.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=new FCKElementPath(FCKSelection.GetBoundaryParentElement(true));var B=A.Block||A.BlockLimit;if (!B||B.nodeName.toLowerCase()=='body') return 0;for (var i=0;i<A.Elements.length;i++){if (A.Elements[i].nodeName.IEquals('blockquote')) return 1;};return 0;}};\r
+var FCKCoreStyleCommand=function(A){this.Name='CoreStyle';this.StyleName='_FCK_'+A;this.IsActive=false;FCKStyles.AttachStyleStateChange(this.StyleName,this._OnStyleStateChange,this);};FCKCoreStyleCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();if (this.IsActive) FCKStyles.RemoveStyle(this.StyleName);else FCKStyles.ApplyStyle(this.StyleName);FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0) return -1;return this.IsActive?1:0;},_OnStyleStateChange:function(A,B){this.IsActive=B;}};\r
+var FCKRemoveFormatCommand=function(){this.Name='RemoveFormat';};FCKRemoveFormatCommand.prototype={Execute:function(){FCKStyles.RemoveAll();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){return FCK.EditorWindow?0:-1;}};\r
+var FCKCommands=FCK.Commands={};FCKCommands.LoadedCommands={};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 'Bold':case 'Italic':case 'Underline':case 'StrikeThrough':case 'Subscript':case 'Superscript':B=new FCKCoreStyleCommand(A);break;case 'RemoveFormat':B=new FCKRemoveFormatCommand();break;case 'DocProps':B=new FCKDialogCommand('DocProps',FCKLang.DocProps,'dialog/fck_docprops.html',400,380,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,300);break;case 'Unlink':B=new FCKUnlinkCommand();break;case 'VisitLink':B=new FCKVisitLinkCommand();break;case 'Anchor':B=new FCKDialogCommand('Anchor',FCKLang.DlgAnchorTitle,'dialog/fck_anchor.html',370,160);break;case 'AnchorDelete':B=new FCKAnchorDeleteCommand();break;case 'BulletedList':B=new FCKDialogCommand('BulletedList',FCKLang.BulletedListProp,'dialog/fck_listprop.html?UL',370,160);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html?OL',370,160);break;case 'About':B=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',420,330,function(){ return 0;});break;case 'Find':B=new FCKDialogCommand('Find',FCKLang.DlgFindAndReplaceTitle,'dialog/fck_replace.html',340,230,null,null,'Find');break;case 'Replace':B=new FCKDialogCommand('Replace',FCKLang.DlgFindAndReplaceTitle,'dialog/fck_replace.html',340,230,null,null,'Replace');break;case 'Image':B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,390);break;case 'Flash':B=new FCKDialogCommand('Flash',FCKLang.DlgFlashTitle,'dialog/fck_flash.html',450,390);break;case 'SpecialChar':B=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,290);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',480,250);break;case 'TableProp':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',480,250);break;case 'TableCellProp':B=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',550,240);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 'Rule':B=new FCKRuleCommand();break;case 'Nbsp':B=new FCKNbsp();break;case 'TextColor':B=new FCKTextColorCommand('ForeColor');break;case 'BGColor':B=new FCKTextColorCommand('BackColor');break;case 'Paste':B=new FCKPasteCommand();break;case 'PasteText':B=new FCKPastePlainTextCommand();break;case 'PasteWord':B=new FCKPasteWordCommand();break;case 'JustifyLeft':B=new FCKJustifyCommand('left');break;case 'JustifyCenter':B=new FCKJustifyCommand('center');break;case 'JustifyRight':B=new FCKJustifyCommand('right');break;case 'JustifyFull':B=new FCKJustifyCommand('justify');break;case 'Indent':B=new FCKIndentCommand('indent',FCKConfig.IndentLength);break;case 'Outdent':B=new FCKIndentCommand('outdent',FCKConfig.IndentLength*-1);break;case 'Blockquote':B=new FCKBlockQuoteCommand();break;case 'CreateDiv':B=new FCKDialogCommand('CreateDiv',FCKLang.CreateDiv,'dialog/fck_div.html',380,210,null,null,true);break;case 'EditDiv':B=new FCKDialogCommand('EditDiv',FCKLang.EditDiv,'dialog/fck_div.html',380,210,null,null,false);break;case 'DeleteDiv':B=new FCKDeleteDivCommand();break;case 'TableInsertRowAfter':B=new FCKTableCommand('TableInsertRowAfter');break;case 'TableInsertRowBefore':B=new FCKTableCommand('TableInsertRowBefore');break;case 'TableDeleteRows':B=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumnAfter':B=new FCKTableCommand('TableInsertColumnAfter');break;case 'TableInsertColumnBefore':B=new FCKTableCommand('TableInsertColumnBefore');break;case 'TableDeleteColumns':B=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCellAfter':B=new FCKTableCommand('TableInsertCellAfter');break;case 'TableInsertCellBefore':B=new FCKTableCommand('TableInsertCellBefore');break;case 'TableDeleteCells':B=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':B=new FCKTableCommand('TableMergeCells');break;case 'TableMergeRight':B=new FCKTableCommand('TableMergeRight');break;case 'TableMergeDown':B=new FCKTableCommand('TableMergeDown');break;case 'TableHorizontalSplitCell':B=new FCKTableCommand('TableHorizontalSplitCell');break;case 'TableVerticalSplitCell':B=new FCKTableCommand('TableVerticalSplitCell');break;case 'TableDelete':B=new FCKTableCommand('TableDelete');break;case 'Form':B=new FCKDialogCommand('Form',FCKLang.Form,'dialog/fck_form.html',380,210);break;case 'Checkbox':B=new FCKDialogCommand('Checkbox',FCKLang.Checkbox,'dialog/fck_checkbox.html',380,200);break;case 'Radio':B=new FCKDialogCommand('Radio',FCKLang.RadioButton,'dialog/fck_radiobutton.html',380,200);break;case 'TextField':B=new FCKDialogCommand('TextField',FCKLang.TextField,'dialog/fck_textfield.html',380,210);break;case 'Textarea':B=new FCKDialogCommand('Textarea',FCKLang.Textarea,'dialog/fck_textarea.html',380,210);break;case 'HiddenField':B=new FCKDialogCommand('HiddenField',FCKLang.HiddenField,'dialog/fck_hiddenfield.html',380,190);break;case 'Button':B=new FCKDialogCommand('Button',FCKLang.Button,'dialog/fck_button.html',380,210);break;case 'Select':B=new FCKDialogCommand('Select',FCKLang.SelectionField,'dialog/fck_select.html',400,340);break;case 'ImageButton':B=new FCKDialogCommand('ImageButton',FCKLang.ImageButton,'dialog/fck_image.html?ImageButton',450,390);break;case 'SpellCheck':B=new FCKSpellCheckCommand();break;case 'FitWindow':B=new FCKFitWindow();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'Copy':B=new FCKCutCopyCommand(false);break;case 'Cut':B=new FCKCutCopyCommand(true);break;case 'SelectAll':B=new FCKSelectAllCommand();break;case 'InsertOrderedList':B=new FCKListCommand('insertorderedlist','ol');break;case 'InsertUnorderedList':B=new FCKListCommand('insertunorderedlist','ul');break;case 'ShowBlocks':B=new FCKShowBlockCommand('ShowBlocks',FCKConfig.StartupShowBlocks?1:0);break;case 'Undefined':B=new FCKUndefinedCommand();break;case 'Scayt':B=FCKScayt.CreateCommand();break;case 'ScaytContext':B=FCKScayt.CreateContextCommand();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?0:-1;};FCKCommands.GetBooleanState=function(A){return A?-1:0;};\r
+var FCKPanel=function(A){this.IsRTL=(FCKLang.Dir=='rtl');this.IsContextMenu=false;this._LockCounter=0;this._Window=A||window;var B;if (FCKBrowserInfo.IsIE){this._Popup=this._Window.createPopup();var C=this._Window.document;if (FCK_IS_CUSTOM_DOMAIN&&!FCKBrowserInfo.IsIE7){C.domain=FCK_ORIGINAL_DOMAIN;document.domain=FCK_ORIGINAL_DOMAIN;};B=this.Document=this._Popup.document;if (FCK_IS_CUSTOM_DOMAIN){B.domain=FCK_RUNTIME_DOMAIN;C.domain=FCK_RUNTIME_DOMAIN;document.domain=FCK_RUNTIME_DOMAIN;};FCK.IECleanup.AddItem(this,FCKPanel_Cleanup);}else{var D=this._IFrame=this._Window.document.createElement('iframe');FCKTools.ResetStyles(D);D.src='javascript:void(0)';D.allowTransparency=true;D.frameBorder='0';D.scrolling='no';D.style.width=D.style.height='0px';FCKDomTools.SetElementStyles(D,{position:'absolute',zIndex:FCKConfig.FloatingPanelsZIndex});this._Window.document.body.appendChild(D);var E=D.contentWindow;B=this.Document=E.document;var F='';if (FCKBrowserInfo.IsSafari) F='<base href="'+window.document.location+'">';B.open();B.write('<html><head>'+F+'<\/head><body style="margin:0px;padding:0px;"><\/body><\/html>');B.close();if(FCKBrowserInfo.IsAIR) FCKAdobeAIR.Panel_Contructor(B,window.document.location);FCKTools.AddEventListenerEx(E,'focus',FCKPanel_Window_OnFocus,this);FCKTools.AddEventListenerEx(E,'blur',FCKPanel_Window_OnBlur,this);};B.dir=FCKLang.Dir;FCKTools.AddEventListener(B,'contextmenu',FCKTools.CancelEvent);this.MainNode=B.body.appendChild(B.createElement('DIV'));this.MainNode.style.cssFloat=this.IsRTL?'right':'left';};FCKPanel.prototype.AppendStyleSheet=function(A){FCKTools.AppendStyleSheet(this.Document,A);};FCKPanel.prototype.Preload=function(x,y,A){if (this._Popup) this._Popup.show(x,y,0,0,A);};FCKPanel.prototype.ResizeForSubpanel=function(A,B,C){if (!FCKBrowserInfo.IsIE7) return false;if (!this._Popup.isOpen){this.Subpanel=null;return false;};if (B==0&&C==0){if (this.Subpanel!==A) return false;this.Subpanel=null;this.IncreasedX=0;}else{this.Subpanel=A;if ((this.IncreasedX>=B)&&(this.IncreasedY>=C)) return false;this.IncreasedX=Math.max(this.IncreasedX,B);this.IncreasedY=Math.max(this.IncreasedY,C);};var x=this.ShowRect.x;var w=this.IncreasedX;if (this.IsRTL) x=x-w;var D=this.ShowRect.w+w;var E=Math.max(this.ShowRect.h,this.IncreasedY);if (this.ParentPanel) this.ParentPanel.ResizeForSubpanel(this,D,E);this._Popup.show(x,this.ShowRect.y,D,E,this.RelativeElement);return this.IsRTL;};FCKPanel.prototype.Show=function(x,y,A,B,C){var D;var E=this.MainNode;if (this._Popup){this._Popup.show(x,y,0,0,A);FCKDomTools.SetElementStyles(E,{B:B?B+'px':'',C:C?C+'px':''});D=E.offsetWidth;if (FCKBrowserInfo.IsIE7){if (this.ParentPanel&&this.ParentPanel.ResizeForSubpanel(this,D,E.offsetHeight)){FCKTools.RunFunction(this.Show,this,[x,y,A]);return;}};if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=(x*-1)+A.offsetWidth-D;};if (FCKBrowserInfo.IsIE7){this.ShowRect={x:x,y:y,w:D,h:E.offsetHeight};this.IncreasedX=0;this.IncreasedY=0;this.RelativeElement=A;};this._PopupArgs=[x,y,D,E.offsetHeight,A];this._Popup.show(x,y,D,E.offsetHeight,A);if (this.OnHide){if (this._Timer) CheckPopupOnHide.call(this,true);this._Timer=FCKTools.SetInterval(CheckPopupOnHide,100,this);}}else{if (typeof(FCK.ToolbarSet.CurrentInstance.FocusManager)!='undefined') FCK.ToolbarSet.CurrentInstance.FocusManager.Lock();if (this.ParentPanel){this.ParentPanel.Lock();FCKPanel_Window_OnBlur(null,this.ParentPanel);};if (FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac){this._IFrame.scrolling='';FCKTools.RunFunction(function(){ this._IFrame.scrolling='no';},this);};if (FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel&&FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel!=this) FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel.Hide(false,true);FCKDomTools.SetElementStyles(E,{B:B?B+'px':'',C:C?C+'px':''});D=E.offsetWidth;if (!B)       this._IFrame.width=1;if (!C)    this._IFrame.height=1;D=E.offsetWidth||E.firstChild.offsetWidth;var F=FCKTools.GetDocumentPosition(this._Window,A.nodeType==9?(FCKTools.IsStrictMode(A)?A.documentElement:A.body):A);var G=FCKDomTools.GetPositionedAncestor(this._IFrame.parentNode);if (G){var H=FCKTools.GetDocumentPosition(FCKTools.GetElementWindow(G),G);F.x-=H.x;F.y-=H.y;};if (this.IsRTL&&!this.IsContextMenu) x=(x*-1);x+=F.x;y+=F.y;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=x+A.offsetWidth-D;}else{var I=FCKTools.GetViewPaneSize(this._Window);var J=FCKTools.GetScrollPosition(this._Window);var K=I.Height+J.Y;var L=I.Width+J.X;if ((x+D)>L) x-=x+D-L;if ((y+E.offsetHeight)>K) y-=y+E.offsetHeight-K;};FCKDomTools.SetElementStyles(this._IFrame,{left:x+'px',top:y+'px'});this._IFrame.contentWindow.focus();this._IsOpened=true;var M=this;this._resizeTimer=setTimeout(function(){var N=E.offsetWidth||E.firstChild.offsetWidth;var O=E.offsetHeight;M._IFrame.style.width=N+'px';M._IFrame.style.height=O+'px';},0);FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel=this;};FCKTools.RunFunction(this.OnShow,this);};FCKPanel.prototype.Hide=function(A,B){if (this._Popup) this._Popup.hide();else{if (!this._IsOpened||this._LockCounter>0) return;if (typeof(FCKFocusManager)!='undefined'&&!B) FCKFocusManager.Unlock();this._IFrame.style.width=this._IFrame.style.height='0px';this._IsOpened=false;if (this._resizeTimer){clearTimeout(this._resizeTimer);this._resizeTimer=null;};if (this.ParentPanel) this.ParentPanel.Unlock();if (!A) FCKTools.RunFunction(this.OnHide,this);}};FCKPanel.prototype.CheckIsOpened=function(){if (this._Popup) return this._Popup.isOpen;else return this._IsOpened;};FCKPanel.prototype.CreateChildPanel=function(){var A=this._Popup?FCKTools.GetDocumentWindow(this.Document):this._Window;var B=new FCKPanel(A);B.ParentPanel=this;return B;};FCKPanel.prototype.Lock=function(){this._LockCounter++;};FCKPanel.prototype.Unlock=function(){if (--this._LockCounter==0&&!this.HasFocus) this.Hide();};function FCKPanel_Window_OnFocus(e,A){A.HasFocus=true;};function FCKPanel_Window_OnBlur(e,A){A.HasFocus=false;if (A._LockCounter==0) FCKTools.RunFunction(A.Hide,A);};function CheckPopupOnHide(A){if (A||!this._Popup.isOpen){window.clearInterval(this._Timer);this._Timer=null;if (this._Popup&&this.ParentPanel&&!A) this.ParentPanel.ResizeForSubpanel(this,0,0);FCKTools.RunFunction(this.OnHide,this);}};function FCKPanel_Cleanup(){this._Popup=null;this._Window=null;this.Document=null;this.MainNode=null;this.RelativeElement=null;};\r
+var FCKIcon=function(A){var B=A?typeof(A):'undefined';switch (B){case 'number':this.Path=FCKConfig.SkinPath+'fck_strip.gif';this.Size=16;this.Position=A;break;case 'undefined':this.Path=FCK_SPACER_PATH;break;case 'string':this.Path=A;break;default:this.Path=A[0];this.Size=A[1];this.Position=A[2];}};FCKIcon.prototype.CreateIconElement=function(A){var B,eIconImage;if (this.Position){var C='-'+((this.Position-1)*this.Size)+'px';if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path;eIconImage.style.top=C;}else{B=A.createElement('IMG');B.src=FCK_SPACER_PATH;B.style.backgroundPosition='0px '+C;B.style.backgroundImage='url("'+this.Path+'")';}}else{if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path?this.Path:FCK_SPACER_PATH;}else{B=A.createElement('IMG');B.src=this.Path?this.Path:FCK_SPACER_PATH;}};B.className='TB_Button_Image';return B;};\r
+var FCKToolbarButtonUI=function(A,B,C,D,E,F){this.Name=A;this.Label=B||A;this.Tooltip=C||this.Label;this.Style=E||0;this.State=F||0;this.Icon=new FCKIcon(D);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarButtonUI_Cleanup);};FCKToolbarButtonUI.prototype._CreatePaddingElement=function(A){var B=A.createElement('IMG');B.className='TB_Button_Padding';B.src=FCK_SPACER_PATH;return B;};FCKToolbarButtonUI.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this.MainElement=B.createElement('DIV');C.title=this.Tooltip;if (FCKBrowserInfo.IsGecko) C.onmousedown=FCKTools.CancelEvent;FCKTools.AddEventListenerEx(C,'mouseover',FCKToolbarButtonUI_OnMouseOver,this);FCKTools.AddEventListenerEx(C,'mouseout',FCKToolbarButtonUI_OnMouseOut,this);FCKTools.AddEventListenerEx(C,'click',FCKToolbarButtonUI_OnClick,this);this.ChangeState(this.State,true);if (this.Style==0&&!this.ShowArrow){C.appendChild(this.Icon.CreateIconElement(B));}else{var D=C.appendChild(B.createElement('TABLE'));D.cellPadding=0;D.cellSpacing=0;var E=D.insertRow(-1);var F=E.insertCell(-1);if (this.Style==0||this.Style==2) F.appendChild(this.Icon.CreateIconElement(B));else F.appendChild(this._CreatePaddingElement(B));if (this.Style==1||this.Style==2){F=E.insertCell(-1);F.className='TB_Button_Text';F.noWrap=true;F.appendChild(B.createTextNode(this.Label));};if (this.ShowArrow){if (this.Style!=0){E.insertCell(-1).appendChild(this._CreatePaddingElement(B));};F=E.insertCell(-1);var G=F.appendChild(B.createElement('IMG'));G.src=FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif';G.width=5;G.height=3;};F=E.insertCell(-1);F.appendChild(this._CreatePaddingElement(B));};A.appendChild(C);};FCKToolbarButtonUI.prototype.ChangeState=function(A,B){if (!B&&this.State==A) return;var e=this.MainElement;if (!e) return;switch (parseInt(A,10)){case 0:e.className='TB_Button_Off';break;case 1:e.className='TB_Button_On';break;case -1:e.className='TB_Button_Disabled';break;};this.State=A;};function FCKToolbarButtonUI_OnMouseOver(A,B){if (B.State==0) this.className='TB_Button_Off_Over';else if (B.State==1) this.className='TB_Button_On_Over';};function FCKToolbarButtonUI_OnMouseOut(A,B){if (B.State==0) this.className='TB_Button_Off';else if (B.State==1) this.className='TB_Button_On';};function FCKToolbarButtonUI_OnClick(A,B){if (B.OnClick&&B.State!=-1) B.OnClick(B);};function FCKToolbarButtonUI_Cleanup(){this.MainElement=null;};\r
+var FCKToolbarButton=function(A,B,C,D,E,F,G){this.CommandName=A;this.Label=B;this.Tooltip=C;this.Style=D;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;if (G==null) this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(G)=='number') this.IconPath=[FCKConfig.SkinPath+'fck_strip.gif',16,G];else this.IconPath=G;};FCKToolbarButton.prototype.Create=function(A){this._UIButton=new FCKToolbarButtonUI(this.CommandName,this.Label,this.Tooltip,this.IconPath,this.Style);this._UIButton.OnClick=this.Click;this._UIButton._ToolbarButton=this;this._UIButton.Create(A);};FCKToolbarButton.prototype.RefreshState=function(){var A=this._UIButton;if (!A) return;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B==A.State) return;A.ChangeState(B);};FCKToolbarButton.prototype.Click=function(){var A=this._ToolbarButton||this;FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(A.CommandName).Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this._UIButton.ChangeState(-1);};\r
+var FCKSpecialCombo=function(A,B,C,D,E){this.FieldWidth=B||100;this.PanelWidth=C||150;this.PanelMaxHeight=D||150;this.Label='&nbsp;';this.Caption=A;this.Tooltip=A;this.Style=2;this.Enabled=true;this.Items={};this._Panel=new FCKPanel(E||window);this._Panel.AppendStyleSheet(FCKConfig.SkinEditorCSS);this._PanelBox=this._Panel.MainNode.appendChild(this._Panel.Document.createElement('DIV'));this._PanelBox.className='SC_Panel';this._PanelBox.style.width=this.PanelWidth+'px';this._PanelBox.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._PanelBox.getElementsByTagName('TD')[0];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKSpecialCombo_Cleanup);};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(A,B,C){this.className=this.originalClass;B._Panel.Hide();B.SetLabel(this.FCKItemLabel);if (typeof(B.OnSelect)=='function') B.OnSelect(C,this);};FCKSpecialCombo.prototype.ClearItems=function (){if (this.Items) this.Items={};var A=this._ItemsHolderEl;while (A.firstChild) A.removeChild(A.firstChild);};FCKSpecialCombo.prototype.AddItem=function(A,B,C,D){var E=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));E.className=E.originalClass='SC_Item';E.innerHTML=B;E.FCKItemLabel=C||A;E.Selected=false;if (FCKBrowserInfo.IsIE) E.style.width='100%';if (D) E.style.backgroundColor=D;FCKTools.AddEventListenerEx(E,'mouseover',FCKSpecialCombo_ItemOnMouseOver);FCKTools.AddEventListenerEx(E,'mouseout',FCKSpecialCombo_ItemOnMouseOut);FCKTools.AddEventListenerEx(E,'click',FCKSpecialCombo_ItemOnClick,[this,A]);this.Items[A.toString().toLowerCase()]=E;return E;};FCKSpecialCombo.prototype.SelectItem=function(A){if (typeof A=='string') A=this.Items[A.toString().toLowerCase()];if (A){A.className=A.originalClass='SC_ItemSelected';A.Selected=true;}};FCKSpecialCombo.prototype.SelectItemByLabel=function(A,B){for (var C in this.Items){var D=this.Items[C];if (D.FCKItemLabel==A){D.className=D.originalClass='SC_ItemSelected';D.Selected=true;if (B) this.SetLabel(A);}}};FCKSpecialCombo.prototype.DeselectAll=function(A){for (var i in this.Items){if (!this.Items[i]) continue;this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};if (A) this.SetLabel('');};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){A=(!A||A.length==0)?'&nbsp;':A;if (A==this.Label) return;this.Label=A;var B=this._LabelEl;if (B){B.innerHTML=A;FCKTools.DisableSelection(B);}};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;if (this._OuterTable) this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this._OuterTable=A.appendChild(B.createElement('TABLE'));C.cellPadding=0;C.cellSpacing=0;C.insertRow(-1);var D;var E;switch (this.Style){case 0:D='TB_ButtonType_Icon';E=false;break;case 1:D='TB_ButtonType_Text';E=false;break;case 2:E=true;break;};if (this.Caption&&this.Caption.length>0&&E){var F=C.rows[0].insertCell(-1);F.innerHTML=this.Caption;F.className='SC_FieldCaption';};var G=FCKTools.AppendElement(C.rows[0].insertCell(-1),'div');if (E){G.className='SC_Field';G.style.width=this.FieldWidth+'px';G.innerHTML='<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>';this._LabelEl=G.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{G.className='TB_Button_Off';G.innerHTML='<table title="'+this.Tooltip+'" class="'+D+'" cellspacing="0" cellpadding="0" border="0"><tr><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_Text">'+this.Caption+'</td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td><td class="TB_ButtonArrow"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td><td><img class="TB_Button_Padding" src="'+FCK_SPACER_PATH+'" /></td></tr></table>';};FCKTools.AddEventListenerEx(G,'mouseover',FCKSpecialCombo_OnMouseOver,this);FCKTools.AddEventListenerEx(G,'mouseout',FCKSpecialCombo_OnMouseOut,this);FCKTools.AddEventListenerEx(G,'click',FCKSpecialCombo_OnClick,this);FCKTools.DisableSelection(this._Panel.Document.body);};function FCKSpecialCombo_Cleanup(){this._LabelEl=null;this._OuterTable=null;this._ItemsHolderEl=null;this._PanelBox=null;if (this.Items){for (var A in this.Items) this.Items[A]=null;}};function FCKSpecialCombo_OnMouseOver(A,B){if (B.Enabled){switch (B.Style){case 0:this.className='TB_Button_On_Over';break;case 1:this.className='TB_Button_On_Over';break;case 2:this.className='SC_Field SC_FieldOver';break;}}};function FCKSpecialCombo_OnMouseOut(A,B){switch (B.Style){case 0:this.className='TB_Button_Off';break;case 1:this.className='TB_Button_Off';break;case 2:this.className='SC_Field';break;}};function FCKSpecialCombo_OnClick(e,A){if (A.Enabled){var B=A._Panel;var C=A._PanelBox;var D=A._ItemsHolderEl;var E=A.PanelMaxHeight;if (A.OnBeforeClick) A.OnBeforeClick(A);if (FCKBrowserInfo.IsIE) B.Preload(0,this.offsetHeight,this);if (D.offsetHeight>E) C.style.height=E+'px';else C.style.height='';B.Show(0,this.offsetHeight,this);}};\r
+var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;this.FieldWidth=null;this.PanelWidth=null;this.PanelMaxHeight=null;};FCKToolbarSpecialCombo.prototype.DefaultLabel='';function FCKToolbarSpecialCombo_OnSelect(A,B){FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Execute(A,B);};FCKToolbarSpecialCombo.prototype.Create=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel(),this.FieldWidth,this.PanelWidth,this.PanelMaxHeight,FCKBrowserInfo.IsIE?window:FCKTools.GetElementWindow(A).parent);this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A);this._Combo.CommandName=this.CommandName;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(A,B){A.DeselectAll();A.SelectItem(B);A.SetLabelById(B);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B!=-1){A=1;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else{if (this._LastValue!==B){this._LastValue=B;if (!B||B.length==0){this._Combo.DeselectAll();this._Combo.SetLabel(this.DefaultLabel);}else FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}}}else A=-1;if (A==this.State) return;if (A==-1){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=-1);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=-1;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);};\r
+var FCKToolbarStyleCombo=function(A,B){if (A===false) return;this.CommandName='Style';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultStyleLabel||'';};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.GetStyles=function(){var A={};var B=FCK.ToolbarSet.CurrentInstance.Styles.GetStyles();for (var C in B){var D=B[C];if (!D.IsCore) A[C]=D;};return A;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);FCKTools.AppendStyleString(B,FCKConfig.EditorAreaStyles);B.body.className+=' ForceBaseFont';FCKConfig.ApplyBodyAttributes(B.body);var C=this.GetStyles();for (var D in C){var E=C[D];var F=E.GetType()==2?D:FCKToolbarStyleCombo_BuildPreview(E,E.Label||D);var G=A.AddItem(D,F);G.Style=E;};A.OnBeforeClick=this.StyleCombo_OnBeforeClick;};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Elements;for (var e=0;e<D.length;e++){for (var i in A.Items){var E=A.Items[i];var F=E.Style;if (F.CheckElementRemovable(D[e],true)){A.SetLabel(F.Label||F.Name);return;}}}};A.SetLabel(this.DefaultLabel);};FCKToolbarStyleCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B;var C;var D;var E=FCK.ToolbarSet.CurrentInstance.Selection;if (E.GetType()=='Control'){B=E.GetSelectedElement();D=B.nodeName.toLowerCase();}else{B=E.GetBoundaryParentElement(true);C=new FCKElementPath(B);};for (var i in A.Items){var F=A.Items[i];var G=F.Style;if ((D&&G.Element==D)||(!D&&G.GetType()!=2)){F.style.display='';if ((C&&G.CheckActive(C))||(!C&&G.CheckElementRemovable(B,true))) A.SelectItem(G.Name);}else F.style.display='none';}};function FCKToolbarStyleCombo_BuildPreview(A,B){var C=A.GetType();var D=[];if (C==0) D.push('<div class="BaseFont">');var E=A.Element;if (E=='bdo') E='span';D=['<',E];var F=A._StyleDesc.Attributes;if (F){for (var G in F){D.push(' ',G,'="',A.GetFinalAttributeValue(G),'"');}};if (A._GetStyleText().length>0) D.push(' style="',A.GetFinalStyleValue(),'"');D.push('>',B,'</',E,'>');if (C==0) D.push('</div>');return D.join('');};\r
+var FCKToolbarFontFormatCombo=function(A,B){if (A===false) return;this.CommandName='FontFormat';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.NormalLabel='Normal';this.PanelWidth=190;this.DefaultLabel=FCKConfig.DefaultFontFormatLabel||'';};FCKToolbarFontFormatCombo.prototype=new FCKToolbarStyleCombo(false);FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.GetStyles=function(){var 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]||(B[0]+' (DIV)')};var D=FCKConfig.FontFormats.split(';');for (var i=0;i<D.length;i++){var E=D[i];var F=FCKStyles.GetStyle('_FCK_'+E);if (F){F.Label=C[E];A['_FCK_'+E]=F;}else alert("The FCKConfig.CoreStyles['"+E+"'] setting was not found. Please check the fckconfig.js file");};return A;};FCKToolbarFontFormatCombo.prototype.RefreshActiveItems=function(A){var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Block;if (D){for (var i in A.Items){var E=A.Items[i];var F=E.Style;if (F.CheckElementRemovable(D)){A.SetLabel(F.Label);return;}}}};A.SetLabel(this.DefaultLabel);};FCKToolbarFontFormatCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Block;for (var i in A.Items){var E=A.Items[i];var F=E.Style;if (F.CheckElementRemovable(D)){A.SelectItem(E);return;}}}};\r
+var FCKToolbarFontsCombo=function(A,B){this.CommandName='FontName';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultFontLabel||'';};FCKToolbarFontsCombo.prototype=new FCKToolbarFontFormatCombo(false);FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.GetStyles=function(){var A=FCKStyles.GetStyle('_FCK_FontFace');if (!A){alert("The FCKConfig.CoreStyles['Size'] setting was not found. Please check the fckconfig.js file");return {};};var B={};var C=FCKConfig.FontNames.split(';');for (var i=0;i<C.length;i++){var D=C[i].split('/');var E=D[0];var F=D[1]||E;var G=FCKTools.CloneObject(A);G.SetVariable('Font',E);G.Label=F;B[F]=G;};return B;};FCKToolbarFontsCombo.prototype.RefreshActiveItems=FCKToolbarStyleCombo.prototype.RefreshActiveItems;FCKToolbarFontsCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B=FCKSelection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);for (var i in A.Items){var D=A.Items[i];var E=D.Style;if (E.CheckActive(C)){A.SelectItem(D);return;}}}};\r
+var FCKToolbarFontSizeCombo=function(A,B){this.CommandName='FontSize';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultFontSizeLabel||'';this.FieldWidth=70;};FCKToolbarFontSizeCombo.prototype=new FCKToolbarFontFormatCombo(false);FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.GetStyles=function(){var A=FCKStyles.GetStyle('_FCK_Size');if (!A){alert("The FCKConfig.CoreStyles['FontFace'] setting was not found. Please check the fckconfig.js file");return {};};var B={};var C=FCKConfig.FontSizes.split(';');for (var i=0;i<C.length;i++){var D=C[i].split('/');var E=D[0];var F=D[1]||E;var G=FCKTools.CloneObject(A);G.SetVariable('Size',E);G.Label=F;B[F]=G;};return B;};FCKToolbarFontSizeCombo.prototype.RefreshActiveItems=FCKToolbarStyleCombo.prototype.RefreshActiveItems;FCKToolbarFontSizeCombo.prototype.StyleCombo_OnBeforeClick=FCKToolbarFontsCombo.prototype.StyleCombo_OnBeforeClick;\r
+var FCKToolbarPanelButton=function(A,B,C,D,E){this.CommandName=A;var F;if (E==null) F=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(E)=='number') F=[FCKConfig.SkinPath+'fck_strip.gif',16,E];var G=this._UIButton=new FCKToolbarButtonUI(A,B,C,F,D);G._FCKToolbarPanelButton=this;G.ShowArrow=true;G.OnClick=FCKToolbarPanelButton_OnButtonClick;};FCKToolbarPanelButton.prototype.TypeName='FCKToolbarPanelButton';FCKToolbarPanelButton.prototype.Create=function(A){A.className+='Menu';this._UIButton.Create(A);var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName)._Panel;this.RegisterPanel(B);};FCKToolbarPanelButton.prototype.RegisterPanel=function(A){if (A._FCKToolbarPanelButton) return;A._FCKToolbarPanelButton=this;var B=A.Document.body.appendChild(A.Document.createElement('div'));B.style.position='absolute';B.style.top='0px';var C=A._FCKToolbarPanelButtonLineDiv=B.appendChild(A.Document.createElement('IMG'));C.className='TB_ConnectionLine';C.style.position='absolute';C.src=FCK_SPACER_PATH;A.OnHide=FCKToolbarPanelButton_OnPanelHide;};function FCKToolbarPanelButton_OnButtonClick(A){var B=this._FCKToolbarPanelButton;var e=B._UIButton.MainElement;B._UIButton.ChangeState(1);var C=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(B.CommandName);var D=C._Panel;D._FCKToolbarPanelButtonLineDiv.style.width=(e.offsetWidth-2)+'px';C.Execute(0,e.offsetHeight-1,e);};function FCKToolbarPanelButton_OnPanelHide(){var A=this._FCKToolbarPanelButton;A._UIButton.ChangeState(0);};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable;\r
+var FCKScayt;(function(){var A=[];var B=(FCK&&FCK.EditorWindow&&FCK.EditorWindow.parent.parent.scayt)?true:false;var C=false;var D=false;function ScaytEngineLoad(callback){if (B) return;B=true;var E=FCK.EditorWindow.parent.parent;var F=function (){window.scayt=E.scayt;InitScayt();var G=FCKToolbarItems.LoadedItems['ScaytCombobox'];G&&G.SetEnabled(scyt_control&&scyt_control.disabled);InitSetup();};if (E.scayt){F();return;};if (FCK.Config.ScaytCustomUrl) FCK.Config.ScaytCustomUrl=new String(FCK.Config.ScaytCustomUrl).replace(new RegExp("^http[s]*:\/\/"),"");var H=document.location.protocol;var I=FCK.Config.ScaytCustomUrl||'svc.spellchecker.net/spellcheck3/lf/scayt/scayt4.js';var J=H+'//'+I;var K=ParseUrl(J).path+'/';var L=E.window.CKEDITOR||(E.window.CKEDITOR={});L._djScaytConfig={I:K,addOnLoad:function(){F();},isDebug:false};if (callback) A.push(callback);DoLoadScript(J);};function DoLoadScript(url){if (!url) return false;var E=FCK.EditorWindow.parent.parent;var s=E.document.createElement('script');s.type='text/javascript';s.src=url;E.document.getElementsByTagName('head')[0].appendChild(s);return true;};function ParseUrl(data){var m=data.match(/(.*)[\/\\]([^\/\\]+\.\w+)$/);return m?{ path:m[1],file:m[2] }:data;};function createScaytControl (){var N={};var E=FCK.EditorWindow.parent.parent;N.srcNodeRef=FCK.EditingArea.IFrame;N.customerid=FCK.Config.ScaytCustomerid;N.customDictionaryName=FCK.Config.ScaytCustomDictionaryName;N.userDictionaryName=FCK.Config.ScaytUserDictionaryName;N.defLang=FCK.Config.ScaytDefLang;var P=E.scayt;var Q=window.scayt_control=new P(N);};function InitScayt(){createScaytControl();var Q=window.scayt_control;if (Q){Q.setDisabled(false);D=true;C=!Q.disabled;var G=FCKToolbarItems.LoadedItems['ScaytCombobox'];G&&G.Enable();ShowScaytState();};for (var i=0;i<A.length;i++){try{A[i].call(this);}catch(err){}}};var T=function(){name='Scayt';};T.prototype.Execute=function(c){switch (c){case 'Options':case 'Langs':case 'About':if (B&&D&&!C){ScaytMessage('SCAYT is not enabled');break;};if (B&&D) FCKDialog.OpenDialog('Scayt','SCAYT Settings','dialog/fck_scayt.html?'+c.toLowerCase(),343,343);break;default:if (!B){var U=this;ScaytEngineLoad(function (){U.SetEnabled(!window.scayt_control.disabled);});return true;}else if (D){if (C) this.Disable();else this.Enable();ShowScaytState();}};if (!B) return ScaytMessage('SCAYT is not loaded')||false;if (!D) return ScaytMessage('SCAYT is not ready')||false;return true;};T.prototype.Enable=function(){window.scayt_control.setDisabled(false);C=true;};T.prototype.Disable=function(){window.scayt_control.setDisabled(true);C=false;};T.prototype.SetEnabled=function(state){if (state) this.Enable();else this.Disable();ShowScaytState();return true;};T.prototype.GetState=function(){return 0;};function ShowScaytState(){var W=FCKToolbarItems.GetItem('SpellCheck');if (!W||!W._Combo||!W._Combo._OuterTable) return;var X=W._Combo._OuterTable.getElementsByTagName('img')[1];var Y=W._Combo.Items['trigger'];if (C){X.style.opacity='1';Y.innerHTML=GetStatusLabel();}else{X.style.opacity='0.5';Y.innerHTML=GetStatusLabel();}};function GetStatusLabel(){if (!D) return  '<b>Enable SCAYT</b>';return C?'<b>Disable SCAYT</b>':'<b>Enable SCAYT</b>';};var Z=function(tooltip,style){this.Command=FCKCommands.GetCommand('Scayt');this.CommandName='Scayt';this.Label=this.GetLabel();this.Tooltip=FCKLang.ScaytTitle;this.Style=1;};Z.prototype=new FCKToolbarSpecialCombo;Z.prototype.CreateItems=function(){this._Combo.AddItem('Trigger','<b>Enable SCAYT</b>');this._Combo.AddItem('Options',FCKLang.ScaytTitleOptions||"Options");this._Combo.AddItem('Langs',FCKLang.ScaytTitleLangs||"Languages");this._Combo.AddItem('About',FCKLang.ScaytTitleAbout||"About");};Z.prototype.GetLabel=function(){var a=FCKConfig.SkinPath+'fck_strip.gif';return FCKBrowserInfo.IsIE?'<div class="TB_Button_Image"><img src="'+a+'" style="top:-192px"></div>':'<img class="TB_Button_Image" src="'+FCK_SPACER_PATH+'" style="background-position: 0px -192px;background-image: url('+a+');">';};function ScaytMessage(m){m&&alert(m);};var b=function(){name='ScaytContext';};b.prototype.Execute=function(contextInfo){var c=contextInfo&&contextInfo.action,g=c&&contextInfo.node,Q=window.scayt_control;if (g){switch (c){case 'Suggestion':Q.replace(g,contextInfo.suggestion);break;case 'Ignore':Q.ignore(g);break;case 'Ignore All':Q.ignoreAll(g);break;case 'Add Word':var E=FCK.EditorWindow.parent.parent;E.scayt.addWordToUserDictionary(g);break;}}};function InitSetup(){FCK.ContextMenu.RegisterListener({AddItems:function(menu){var E=FCK.EditorWindow.parent.parent;var Q=window.scayt_control,P=E.scayt;if (!Q) return;var g=Q.getScaytNode();if (!g) return;var h=P.getSuggestion(Q.getWord(g),Q.getLang());if (!h||!h.length) return;menu.AddSeparator();var j=FCK.Config.ScaytMaxSuggestions||5;var k=(j==-1)?h.length:j;for (var i=0;i<k;i+=1){if (h[i]){menu.AddItem('ScaytContext',h[i],null,false,{'action':'Suggestion','node':g,'suggestion':h[i] });}};menu.AddSeparator();menu.AddItem('ScaytContext','Ignore',null,false,{ 'action':'Ignore','node':g });menu.AddItem('ScaytContext','Ignore All',null,false,{ 'action':'Ignore All','node':g });menu.AddItem('ScaytContext','Add Word',null,false,{ 'action':'Add Word','node':g });try{if (D&&C) Q.fireOnContextMenu(null,FCK.ContextMenu._InnerContextMenu);}catch(err) {}}});FCK.Events.AttachEvent('OnPaste',function(){window.scayt_control.refresh();return true;});};FCK.Events.AttachEvent('OnAfterSetHTML',function(){if (FCKConfig.SpellChecker=='SCAYT'){if (!B&&FCK.Config.ScaytAutoStartup) ScaytEngineLoad();if (FCK.EditMode==0&&B&&D) createScaytControl();ShowScaytState();}});FCK.Events.AttachEvent('OnBeforeGetData',function(){D&&window.scayt_control.reset();});FCK.Events.AttachEvent('OnAfterGetData',function(){D&&window.scayt_control.refresh();});FCKScayt={CreateCommand:function(){return new T();},CreateContextCommand:function(){return new b();},CreateToolbarItem:function(){return new Z();}};})();\r
+var FCKToolbarItems={};FCKToolbarItems.LoadedItems={};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,2,true,true,1);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps,null,null,null,null,2);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true,null,3);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true,null,4);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true,null,5);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates,null,null,null,null,6);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true,null,47);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true,7);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true,8);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true,9);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true,10);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true,11);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true,12);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true,14);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true,15);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll,null,null,true,null,18);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true,19);break;case 'FitWindow':B=new FCKToolbarButton('FitWindow',FCKLang.FitWindow,null,null,true,true,66);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true,20);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true,21);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true,22);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true,23);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true,24);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true,25);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true,26);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true,27);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true,28);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true,29);break;case 'Blockquote':B=new FCKToolbarButton('Blockquote',FCKLang.Blockquote,null,null,false,true,73);break;case 'CreateDiv':B=new FCKToolbarButton('CreateDiv',FCKLang.CreateDiv,null,null,false,true,74);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true,34);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true,35);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor,null,null,null,null,36);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage,null,false,true,37);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash,null,false,true,38);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable,null,false,true,39);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar,null,false,true,42);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley,null,false,true,41);break;case 'PageBreak':B=new FCKToolbarButton('PageBreak',FCKLang.PageBreakLbl,FCKLang.PageBreak,null,false,true,43);break;case 'Rule':B=new FCKToolbarButton('Rule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true,40);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true,30);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true,31);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true,32);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true,33);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,null,null,45);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor,null,null,46);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find,null,null,null,null,16);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace,null,null,null,null,17);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form,null,null,null,null,48);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox,null,null,null,null,49);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton,null,null,null,null,50);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField,null,null,null,null,51);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea,null,null,null,null,52);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField,null,null,null,null,56);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button,null,null,null,null,54);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField,null,null,null,null,53);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton,null,null,null,null,55);break;case 'ShowBlocks':B=new FCKToolbarButton('ShowBlocks',FCKLang.ShowBlocks,null,null,null,true,72);break;case 'SpellCheck':if (FCKConfig.SpellChecker=='SCAYT') B=FCKScayt.CreateToolbarItem();else B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck,null,null,null,null,13);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;};\r
+var FCKToolbar=function(){this.Items=[];};FCKToolbar.prototype.AddItem=function(A){return this.Items[this.Items.length]=A;};FCKToolbar.prototype.AddButton=function(A,B,C,D,E,F){if (typeof(D)=='number') D=[this.DefaultIconsStrip,this.DefaultIconSize,D];var G=new FCKToolbarButtonUI(A,B,C,D,E,F);G._FCKToolbar=this;G.OnClick=FCKToolbar_OnItemClick;return this.AddItem(G);};function FCKToolbar_OnItemClick(A){var B=A._FCKToolbar;if (B.OnItemClick) B.OnItemClick(B,A);};FCKToolbar.prototype.AddSeparator=function(){this.AddItem(new FCKToolbarSeparator());};FCKToolbar.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var e=B.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=(FCKLang.Dir=='ltr'?'left':'right');e.dir=FCKLang.Dir;e.cellPadding=0;e.cellSpacing=0;var C=e.insertRow(-1);var D;if (!this.HideStart){D=C.insertCell(-1);D.appendChild(B.createElement('div')).className='TB_Start';};for (var i=0;i<this.Items.length;i++){this.Items[i].Create(C.insertCell(-1));};if (!this.HideEnd){D=C.insertCell(-1);D.appendChild(B.createElement('div')).className='TB_End';};A.appendChild(e);};var FCKToolbarSeparator=function(){};FCKToolbarSeparator.prototype.Create=function(A){FCKTools.AppendElement(A,'div').className='TB_Separator';};\r
+var FCKToolbarBreak=function(){};FCKToolbarBreak.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A).createElement('div');B.className='TB_Break';B.style.clear=FCKLang.Dir=='rtl'?'left':'right';A.appendChild(B);};\r
+function FCKToolbarSet_Create(A){var B;var C=A||FCKConfig.ToolbarLocation;switch (C){case 'In':document.getElementById('xToolbarRow').style.display='';B=new FCKToolbarSet(document);break;case 'None':B=new FCKToolbarSet(document);break;default:FCK.Events.AttachEvent('OnBlur',FCK_OnBlur);FCK.Events.AttachEvent('OnFocus',FCK_OnFocus);var D;var E=C.match(/^Out:(.+)\((\w+)\)$/);if (E){if (FCKBrowserInfo.IsAIR) FCKAdobeAIR.ToolbarSet_GetOutElement(window,E);else D=eval('parent.'+E[1]).document.getElementById(E[2]);}else{E=C.match(/^Out:(\w+)$/);if (E) D=parent.document.getElementById(E[1]);};if (!D){alert('Invalid value for "ToolbarLocation"');return arguments.callee('In');};B=D.__FCKToolbarSet;if (B) break;var F=FCKTools.GetElementDocument(D).createElement('iframe');F.src='javascript:void(0)';F.frameBorder=0;F.width='100%';F.height='10';D.appendChild(F);F.unselectable='on';var G=F.contentWindow.document;var H='';if (FCKBrowserInfo.IsSafari) H='<base href="'+window.document.location+'">';G.open();G.write('<html><head>'+H+'<script type="text/javascript"> var adjust = function() { window.frameElement.height = document.body.scrollHeight ; }; window.onresize = window.onload = function(){var timer = null;var lastHeight = -1;var lastChange = 0;var poller = function(){var currentHeight = document.body.scrollHeight || 0;var currentTime = (new Date()).getTime();if (currentHeight != lastHeight){lastChange = currentTime;adjust();lastHeight = document.body.scrollHeight;}if (lastChange < currentTime - 1000) clearInterval(timer);};timer = setInterval(poller, 100);}</script></head><body style="overflow: hidden">'+document.getElementById('xToolbarSpace').innerHTML+'</body></html>');G.close();if(FCKBrowserInfo.IsAIR) FCKAdobeAIR.ToolbarSet_InitOutFrame(G);FCKTools.AddEventListener(G,'contextmenu',FCKTools.CancelEvent);FCKTools.AppendStyleSheet(G,FCKConfig.SkinEditorCSS);B=D.__FCKToolbarSet=new FCKToolbarSet(G);B._IFrame=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(D,FCKToolbarSet_Target_Cleanup);};B.CurrentInstance=FCK;if (!B.ToolbarItems) B.ToolbarItems=FCKToolbarItems;FCK.AttachToOnSelectionChange(B.RefreshItemsState);return B;};function FCK_OnBlur(A){var B=A.ToolbarSet;if (B.CurrentInstance==A) B.Disable();};function FCK_OnFocus(A){var B=A.ToolbarSet;var C=A||FCK;B.CurrentInstance.FocusManager.RemoveWindow(B._IFrame.contentWindow);B.CurrentInstance=C;C.FocusManager.AddWindow(B._IFrame.contentWindow,true);B.Enable();};function FCKToolbarSet_Cleanup(){this._TargetElement=null;this._IFrame=null;};function FCKToolbarSet_Target_Cleanup(){this.__FCKToolbarSet=null;};var FCKToolbarSet=function(A){this._Document=A;this._TargetElement=A.getElementById('xToolbar');var B=A.getElementById('xExpandHandle');var C=A.getElementById('xCollapseHandle');B.title=FCKLang.ToolbarExpand;FCKTools.AddEventListener(B,'click',FCKToolbarSet_Expand_OnClick);C.title=FCKLang.ToolbarCollapse;FCKTools.AddEventListener(C,'click',FCKToolbarSet_Collapse_OnClick);if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();C.style.display=FCKConfig.ToolbarCanCollapse?'':'none';if (FCKConfig.ToolbarCanCollapse) C.style.display='';else A.getElementById('xTBLeftBorder').style.display='';this.Toolbars=[];this.IsLoaded=false;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarSet_Cleanup);};function FCKToolbarSet_Expand_OnClick(){FCK.ToolbarSet.Expand();};function FCKToolbarSet_Collapse_OnClick(){FCK.ToolbarSet.Collapse();};FCKToolbarSet.prototype.Expand=function(){this._ChangeVisibility(false);};FCKToolbarSet.prototype.Collapse=function(){this._ChangeVisibility(true);};FCKToolbarSet.prototype._ChangeVisibility=function(A){this._Document.getElementById('xCollapsed').style.display=A?'':'none';this._Document.getElementById('xExpanded').style.display=A?'none':'';if (window.onresize){FCKTools.RunFunction(window.onresize);}};FCKToolbarSet.prototype.Load=function(A){this.Name=A;this.Items=[];this.ItemsWysiwygOnly=[];this.ItemsContextSensitive=[];this._TargetElement.innerHTML='';var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=[];for (var x=0;x<B.length;x++){var C=B[x];if (!C) continue;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);this.Items.push(F);if (!F.SourceView) this.ItemsWysiwygOnly.push(F);if (F.ContextSensitive) this.ItemsContextSensitive.push(F);}}}};D.Create(this._TargetElement);this.Toolbars[this.Toolbars.length]=D;};FCKTools.DisableSelection(this._Document.getElementById('xCollapseHandle').parentNode);if (FCK.Status!=2) FCK.Events.AttachEvent('OnStatusChange',this.RefreshModeState);else this.RefreshModeState();this.IsLoaded=true;this.IsEnabled=true;FCKTools.RunFunction(this.OnLoad);};FCKToolbarSet.prototype.Enable=function(){if (this.IsEnabled) return;this.IsEnabled=true;var A=this.Items;for (var i=0;i<A.length;i++) A[i].RefreshState();};FCKToolbarSet.prototype.Disable=function(){if (!this.IsEnabled) return;this.IsEnabled=false;var A=this.Items;for (var i=0;i<A.length;i++) A[i].Disable();};FCKToolbarSet.prototype.RefreshModeState=function(A){if (FCK.Status!=2) return;var B=A?A.ToolbarSet:this;var C=B.ItemsWysiwygOnly;if (FCK.EditMode==0){for (var i=0;i<C.length;i++) C[i].Enable();B.RefreshItemsState(A);}else{B.RefreshItemsState(A);for (var j=0;j<C.length;j++) C[j].Disable();}};FCKToolbarSet.prototype.RefreshItemsState=function(A){var B=(A?A.ToolbarSet:this).ItemsContextSensitive;for (var i=0;i<B.length;i++) B[i].RefreshState();};\r
+var FCKDialog=(function(){var A;var B;var C;var D=window.parent;while (D.parent&&D.parent!=D){try{if (D.parent.document.domain!=document.domain) break;if (D.parent.document.getElementsByTagName('frameset').length>0) break;}catch (e){break;};D=D.parent;};var E=D.document;var F=function(){if (!B) B=FCKConfig.FloatingPanelsZIndex+999;return++B;};var G=function(){if (!C) return;var H=FCKTools.IsStrictMode(E)?E.documentElement:E.body;FCKDomTools.SetElementStyles(C,{'width':Math.max(H.scrollWidth,H.clientWidth,E.scrollWidth||0)-1+'px','height':Math.max(H.scrollHeight,H.clientHeight,E.scrollHeight||0)-1+'px'});};return {OpenDialog:function(dialogName,dialogTitle,dialogPage,width,height,customValue,resizable){if (!A) this.DisplayMainCover();var I={Title:dialogTitle,Page:dialogPage,Editor:window,CustomValue:customValue,TopWindow:D};FCK.ToolbarSet.CurrentInstance.Selection.Save(true);var J=FCKTools.GetViewPaneSize(D);var K={ 'X':0,'Y':0 };var L=FCKBrowserInfo.IsIE&&(!FCKBrowserInfo.IsIE7||!FCKTools.IsStrictMode(D.document));if (L) K=FCKTools.GetScrollPosition(D);var M=Math.max(K.Y+(J.Height-height-20)/2,0);var N=Math.max(K.X+(J.Width-width-20)/2,0);var O=E.createElement('iframe');FCKTools.ResetStyles(O);O.src=FCKConfig.BasePath+'fckdialog.html';O.frameBorder=0;O.allowTransparency=true;FCKDomTools.SetElementStyles(O,{'position':(L)?'absolute':'fixed','top':M+'px','left':N+'px','width':width+'px','height':height+'px','zIndex':F()});O._DialogArguments=I;E.body.appendChild(O);O._ParentDialog=A;A=O;},OnDialogClose:function(dialogWindow){var O=dialogWindow.frameElement;FCKDomTools.RemoveNode(O);if (O._ParentDialog){A=O._ParentDialog;O._ParentDialog.contentWindow.SetEnabled(true);}else{if (!FCKBrowserInfo.IsIE) FCK.Focus();this.HideMainCover();setTimeout(function(){ A=null;},0);FCK.ToolbarSet.CurrentInstance.Selection.Release();}},DisplayMainCover:function(){C=E.createElement('div');FCKTools.ResetStyles(C);FCKDomTools.SetElementStyles(C,{'position':'absolute','zIndex':F(),'top':'0px','left':'0px','backgroundColor':FCKConfig.BackgroundBlockerColor});FCKDomTools.SetOpacity(C,FCKConfig.BackgroundBlockerOpacity);if (FCKBrowserInfo.IsIE&&!FCKBrowserInfo.IsIE7){var Q=E.createElement('iframe');FCKTools.ResetStyles(Q);Q.hideFocus=true;Q.frameBorder=0;Q.src=FCKTools.GetVoidUrl();FCKDomTools.SetElementStyles(Q,{'width':'100%','height':'100%','position':'absolute','left':'0px','top':'0px','filter':'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'});C.appendChild(Q);};FCKTools.AddEventListener(D,'resize',G);G();E.body.appendChild(C);FCKFocusManager.Lock();var R=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');R._fck_originalTabIndex=R.tabIndex;R.tabIndex=-1;},HideMainCover:function(){FCKDomTools.RemoveNode(C);FCKFocusManager.Unlock();var R=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');R.tabIndex=R._fck_originalTabIndex;FCKDomTools.ClearElementJSProperty(R,'_fck_originalTabIndex');},GetCover:function(){return C;}};})();\r
+var FCKMenuItem=function(A,B,C,D,E,F){this.Name=B;this.Label=C||B;this.IsDisabled=E;this.Icon=new FCKIcon(D);this.SubMenu=new FCKMenuBlockPanel();this.SubMenu.Parent=A;this.SubMenu.OnClick=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnClick,this);this.CustomData=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuItem_Cleanup);};FCKMenuItem.prototype.AddItem=function(A,B,C,D,E){this.HasSubMenu=true;return this.SubMenu.AddItem(A,B,C,D,E);};FCKMenuItem.prototype.AddSeparator=function(){this.SubMenu.AddSeparator();};FCKMenuItem.prototype.Create=function(A){var B=this.HasSubMenu;var C=FCKTools.GetElementDocument(A);var r=this.MainElement=A.insertRow(-1);r.className=this.IsDisabled?'MN_Item_Disabled':'MN_Item';if (!this.IsDisabled){FCKTools.AddEventListenerEx(r,'mouseover',FCKMenuItem_OnMouseOver,[this]);FCKTools.AddEventListenerEx(r,'click',FCKMenuItem_OnClick,[this]);if (!B) FCKTools.AddEventListenerEx(r,'mouseout',FCKMenuItem_OnMouseOut,[this]);};var D=r.insertCell(-1);D.className='MN_Icon';D.appendChild(this.Icon.CreateIconElement(C));D=r.insertCell(-1);D.className='MN_Label';D.noWrap=true;D.appendChild(C.createTextNode(this.Label));D=r.insertCell(-1);if (B){D.className='MN_Arrow';var E=D.appendChild(C.createElement('IMG'));E.src=FCK_IMAGES_PATH+'arrow_'+FCKLang.Dir+'.gif';E.width=4;E.height=7;this.SubMenu.Create();this.SubMenu.Panel.OnHide=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnHide,this);}};FCKMenuItem.prototype.Activate=function(){this.MainElement.className='MN_Item_Over';if (this.HasSubMenu){this.SubMenu.Show(this.MainElement.offsetWidth+2,-2,this.MainElement);};FCKTools.RunFunction(this.OnActivate,this);};FCKMenuItem.prototype.Deactivate=function(){this.MainElement.className='MN_Item';if (this.HasSubMenu) this.SubMenu.Hide();};function FCKMenuItem_SubMenu_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuItem_SubMenu_OnHide(A){A.Deactivate();};function FCKMenuItem_OnClick(A,B){if (B.HasSubMenu) B.Activate();else{B.Deactivate();FCKTools.RunFunction(B.OnClick,B,[B]);}};function FCKMenuItem_OnMouseOver(A,B){B.Activate();};function FCKMenuItem_OnMouseOut(A,B){B.Deactivate();};function FCKMenuItem_Cleanup(){this.MainElement=null;};\r
+var FCKMenuBlock=function(){this._Items=[];};FCKMenuBlock.prototype.Count=function(){return this._Items.length;};FCKMenuBlock.prototype.AddItem=function(A,B,C,D,E){var F=new FCKMenuItem(this,A,B,C,D,E);F.OnClick=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnClick,this);F.OnActivate=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnActivate,this);this._Items.push(F);return F;};FCKMenuBlock.prototype.AddSeparator=function(){this._Items.push(new FCKMenuSeparator());};FCKMenuBlock.prototype.RemoveAllItems=function(){this._Items=[];var A=this._ItemsTable;if (A){while (A.rows.length>0) A.deleteRow(0);}};FCKMenuBlock.prototype.Create=function(A){if (!this._ItemsTable){if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuBlock_Cleanup);this._Window=FCKTools.GetElementWindow(A);var B=FCKTools.GetElementDocument(A);var C=A.appendChild(B.createElement('table'));C.cellPadding=0;C.cellSpacing=0;FCKTools.DisableSelection(C);var D=C.insertRow(-1).insertCell(-1);D.className='MN_Menu';var E=this._ItemsTable=D.appendChild(B.createElement('table'));E.cellPadding=0;E.cellSpacing=0;};for (var i=0;i<this._Items.length;i++) this._Items[i].Create(this._ItemsTable);};function FCKMenuBlock_Item_OnClick(A,B){if (B.Hide) B.Hide();FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuBlock_Item_OnActivate(A){var B=A._ActiveItem;if (B&&B!=this){if (!FCKBrowserInfo.IsIE&&B.HasSubMenu&&!this.HasSubMenu){A._Window.focus();A.Panel.HasFocus=true;};B.Deactivate();};A._ActiveItem=this;};function FCKMenuBlock_Cleanup(){this._Window=null;this._ItemsTable=null;};var FCKMenuSeparator=function(){};FCKMenuSeparator.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var r=A.insertRow(-1);var C=r.insertCell(-1);C.className='MN_Separator MN_Icon';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';C=r.insertCell(-1);C.className='MN_Separator';C.appendChild(B.createElement('DIV')).className='MN_Separator_Line';};\r
+var FCKMenuBlockPanel=function(){FCKMenuBlock.call(this);};FCKMenuBlockPanel.prototype=new FCKMenuBlock();FCKMenuBlockPanel.prototype.Create=function(){var A=this.Panel=(this.Parent&&this.Parent.Panel?this.Parent.Panel.CreateChildPanel():new FCKPanel());A.AppendStyleSheet(FCKConfig.SkinEditorCSS);FCKMenuBlock.prototype.Create.call(this,A.MainNode);};FCKMenuBlockPanel.prototype.Show=function(x,y,A){if (!this.Panel.CheckIsOpened()) this.Panel.Show(x,y,A);};FCKMenuBlockPanel.prototype.Hide=function(){if (this.Panel.CheckIsOpened()) this.Panel.Hide();};\r
+var FCKContextMenu=function(A,B){this.CtrlDisable=false;var C=this._Panel=new FCKPanel(A);C.AppendStyleSheet(FCKConfig.SkinEditorCSS);C.IsContextMenu=true;if (FCKBrowserInfo.IsGecko) C.Document.addEventListener('draggesture',function(e) {e.preventDefault();return false;},true);var D=this._MenuBlock=new FCKMenuBlock();D.Panel=C;D.OnClick=FCKTools.CreateEventListener(FCKContextMenu_MenuBlock_OnClick,this);this._Redraw=true;};FCKContextMenu.prototype.SetMouseClickWindow=function(A){if (!FCKBrowserInfo.IsIE){this._Document=A.document;if (FCKBrowserInfo.IsOpera&&!('oncontextmenu' in document.createElement('foo'))){this._Document.addEventListener('mousedown',FCKContextMenu_Document_OnMouseDown,false);this._Document.addEventListener('mouseup',FCKContextMenu_Document_OnMouseUp,false);};this._Document.addEventListener('contextmenu',FCKContextMenu_Document_OnContextMenu,false);}};FCKContextMenu.prototype.AddItem=function(A,B,C,D,E){var F=this._MenuBlock.AddItem(A,B,C,D,E);this._Redraw=true;return F;};FCKContextMenu.prototype.AddSeparator=function(){this._MenuBlock.AddSeparator();this._Redraw=true;};FCKContextMenu.prototype.RemoveAllItems=function(){this._MenuBlock.RemoveAllItems();this._Redraw=true;};FCKContextMenu.prototype.AttachToElement=function(A){if (FCKBrowserInfo.IsIE) FCKTools.AddEventListenerEx(A,'contextmenu',FCKContextMenu_AttachedElement_OnContextMenu,this);else A._FCKContextMenu=this;};function FCKContextMenu_Document_OnContextMenu(e){if (FCKConfig.BrowserContextMenu) return true;var A=e.target;while (A){if (A._FCKContextMenu){if (A._FCKContextMenu.CtrlDisable&&(e.ctrlKey||e.metaKey)) return true;FCKTools.CancelEvent(e);FCKContextMenu_AttachedElement_OnContextMenu(e,A._FCKContextMenu,A);return false;};A=A.parentNode;};return true;};var FCKContextMenu_OverrideButton;function FCKContextMenu_Document_OnMouseDown(e){if(!e||e.button!=2) return false;if (FCKConfig.BrowserContextMenu) return true;var A=e.target;while (A){if (A._FCKContextMenu){if (A._FCKContextMenu.CtrlDisable&&(e.ctrlKey||e.metaKey)) return true;var B=FCKContextMenu_OverrideButton;if(!B){var C=FCKTools.GetElementDocument(e.target);B=FCKContextMenu_OverrideButton=C.createElement('input');B.type='button';var D=C.createElement('p');C.body.appendChild(D);D.appendChild(B);};B.style.cssText='position:absolute;top:'+(e.clientY-2)+'px;left:'+(e.clientX-2)+'px;width:5px;height:5px;opacity:0.01';};A=A.parentNode;};return false;};function FCKContextMenu_Document_OnMouseUp(e){if (FCKConfig.BrowserContextMenu) return true;var A=FCKContextMenu_OverrideButton;if (A){var B=A.parentNode;B.parentNode.removeChild(B);FCKContextMenu_OverrideButton=undefined;if(e&&e.button==2){FCKContextMenu_Document_OnContextMenu(e);return false;}};return true;};function FCKContextMenu_AttachedElement_OnContextMenu(A,B,C){if ((B.CtrlDisable&&(A.ctrlKey||A.metaKey))||FCKConfig.BrowserContextMenu) return true;var D=C||this;if (B.OnBeforeOpen) B.OnBeforeOpen.call(B,D);if (B._MenuBlock.Count()==0) return false;if (B._Redraw){B._MenuBlock.Create(B._Panel.MainNode);B._Redraw=false;};FCKTools.DisableSelection(B._Panel.Document.body);var x=0;var y=0;if (FCKBrowserInfo.IsIE){x=A.screenX;y=A.screenY;}else if (FCKBrowserInfo.IsSafari){x=A.clientX;y=A.clientY;}else{x=A.pageX;y=A.pageY;};B._Panel.Show(x,y,A.currentTarget||null);return false;};function FCKContextMenu_MenuBlock_OnClick(A,B){B._Panel.Hide();FCKTools.RunFunction(B.OnItemClick,B,A);};\r
+FCK.ContextMenu={};FCK.ContextMenu.Listeners=[];FCK.ContextMenu.RegisterListener=function(A){if (A) this.Listeners.push(A);};function FCK_ContextMenu_Init(){var A=FCK.ContextMenu._InnerContextMenu=new FCKContextMenu(FCKBrowserInfo.IsIE?window:window.parent,FCKLang.Dir);A.CtrlDisable=FCKConfig.BrowserContextMenuOnCtrl;A.OnBeforeOpen=FCK_ContextMenu_OnBeforeOpen;A.OnItemClick=FCK_ContextMenu_OnItemClick;var B=FCK.ContextMenu;for (var i=0;i<FCKConfig.ContextMenu.length;i++) B.RegisterListener(FCK_ContextMenu_GetListener(FCKConfig.ContextMenu[i]));};function FCK_ContextMenu_GetListener(A){switch (A){case 'Generic':return {AddItems:function(menu,tag,tagName){menu.AddItem('Cut',FCKLang.Cut,7,FCKCommands.GetCommand('Cut').GetState()==-1);menu.AddItem('Copy',FCKLang.Copy,8,FCKCommands.GetCommand('Copy').GetState()==-1);menu.AddItem('Paste',FCKLang.Paste,9,FCKCommands.GetCommand('Paste').GetState()==-1);}};case 'Table':return {AddItems:function(menu,tag,tagName){var B=(tagName=='TABLE');var C=(!B&&FCKSelection.HasAncestorNode('TABLE'));if (C){menu.AddSeparator();var D=menu.AddItem('Cell',FCKLang.CellCM);D.AddItem('TableInsertCellBefore',FCKLang.InsertCellBefore,69);D.AddItem('TableInsertCellAfter',FCKLang.InsertCellAfter,58);D.AddItem('TableDeleteCells',FCKLang.DeleteCells,59);if (FCKBrowserInfo.IsGecko) D.AddItem('TableMergeCells',FCKLang.MergeCells,60,FCKCommands.GetCommand('TableMergeCells').GetState()==-1);else{D.AddItem('TableMergeRight',FCKLang.MergeRight,60,FCKCommands.GetCommand('TableMergeRight').GetState()==-1);D.AddItem('TableMergeDown',FCKLang.MergeDown,60,FCKCommands.GetCommand('TableMergeDown').GetState()==-1);};D.AddItem('TableHorizontalSplitCell',FCKLang.HorizontalSplitCell,61,FCKCommands.GetCommand('TableHorizontalSplitCell').GetState()==-1);D.AddItem('TableVerticalSplitCell',FCKLang.VerticalSplitCell,61,FCKCommands.GetCommand('TableVerticalSplitCell').GetState()==-1);D.AddSeparator();D.AddItem('TableCellProp',FCKLang.CellProperties,57,FCKCommands.GetCommand('TableCellProp').GetState()==-1);menu.AddSeparator();D=menu.AddItem('Row',FCKLang.RowCM);D.AddItem('TableInsertRowBefore',FCKLang.InsertRowBefore,70);D.AddItem('TableInsertRowAfter',FCKLang.InsertRowAfter,62);D.AddItem('TableDeleteRows',FCKLang.DeleteRows,63);menu.AddSeparator();D=menu.AddItem('Column',FCKLang.ColumnCM);D.AddItem('TableInsertColumnBefore',FCKLang.InsertColumnBefore,71);D.AddItem('TableInsertColumnAfter',FCKLang.InsertColumnAfter,64);D.AddItem('TableDeleteColumns',FCKLang.DeleteColumns,65);};if (B||C){menu.AddSeparator();menu.AddItem('TableDelete',FCKLang.TableDelete);menu.AddItem('TableProp',FCKLang.TableProperties,39);}}};case 'Link':return {AddItems:function(menu,tag,tagName){var E=(tagName=='A'||FCKSelection.HasAncestorNode('A'));if (E||FCK.GetNamedCommandState('Unlink')!=-1){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0&&F.href.length==0);if (G) return;menu.AddSeparator();menu.AddItem('VisitLink',FCKLang.VisitLink);menu.AddSeparator();if (E) menu.AddItem('Link',FCKLang.EditLink,34);menu.AddItem('Unlink',FCKLang.RemoveLink,35);}}};case 'Image':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&!tag.getAttribute('_fckfakelement')){menu.AddSeparator();menu.AddItem('Image',FCKLang.ImageProperties,37);}}};case 'Anchor':return {AddItems:function(menu,tag,tagName){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0);if (G||(tagName=='IMG'&&tag.getAttribute('_fckanchor'))){menu.AddSeparator();menu.AddItem('Anchor',FCKLang.AnchorProp,36);menu.AddItem('AnchorDelete',FCKLang.AnchorDelete);}}};case 'Flash':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckflash')){menu.AddSeparator();menu.AddItem('Flash',FCKLang.FlashProperties,38);}}};case 'Form':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('FORM')){menu.AddSeparator();menu.AddItem('Form',FCKLang.FormProp,48);}}};case 'Checkbox':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='checkbox'){menu.AddSeparator();menu.AddItem('Checkbox',FCKLang.CheckboxProp,49);}}};case 'Radio':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='radio'){menu.AddSeparator();menu.AddItem('Radio',FCKLang.RadioButtonProp,50);}}};case 'TextField':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='text'||tag.type=='password')){menu.AddSeparator();menu.AddItem('TextField',FCKLang.TextFieldProp,51);}}};case 'HiddenField':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckinputhidden')){menu.AddSeparator();menu.AddItem('HiddenField',FCKLang.HiddenFieldProp,56);}}};case 'ImageButton':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='image'){menu.AddSeparator();menu.AddItem('ImageButton',FCKLang.ImageButtonProp,55);}}};case 'Button':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='button'||tag.type=='submit'||tag.type=='reset')){menu.AddSeparator();menu.AddItem('Button',FCKLang.ButtonProp,54);}}};case 'Select':return {AddItems:function(menu,tag,tagName){if (tagName=='SELECT'){menu.AddSeparator();menu.AddItem('Select',FCKLang.SelectionFieldProp,53);}}};case 'Textarea':return {AddItems:function(menu,tag,tagName){if (tagName=='TEXTAREA'){menu.AddSeparator();menu.AddItem('Textarea',FCKLang.TextareaProp,52);}}};case 'BulletedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('UL')){menu.AddSeparator();menu.AddItem('BulletedList',FCKLang.BulletedListProp,27);}}};case 'NumberedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('OL')){menu.AddSeparator();menu.AddItem('NumberedList',FCKLang.NumberedListProp,26);}}};case 'DivContainer':return {AddItems:function(menu,tag,tagName){var J=FCKDomTools.GetSelectedDivContainers();if (J.length>0){menu.AddSeparator();menu.AddItem('EditDiv',FCKLang.EditDiv,75);menu.AddItem('DeleteDiv',FCKLang.DeleteDiv,76);}}};};return null;};function FCK_ContextMenu_OnBeforeOpen(){FCK.Events.FireEvent('OnSelectionChange');var A,sTagName;if ((A=FCKSelection.GetSelectedElement())) sTagName=A.tagName;var B=FCK.ContextMenu._InnerContextMenu;B.RemoveAllItems();var C=FCK.ContextMenu.Listeners;for (var i=0;i<C.length;i++) C[i].AddItems(B,A,sTagName);};function FCK_ContextMenu_OnItemClick(A){if (!FCKBrowserInfo.IsIE) FCK.Focus();FCKCommands.GetCommand(A.Name).Execute(A.CustomData);};\r
+var FCKHtmlIterator=function(A){this._sourceHtml=A;};FCKHtmlIterator.prototype={Next:function(){var A=this._sourceHtml;if (A==null) return null;var B=FCKRegexLib.HtmlTag.exec(A);var C=false;var D="";if (B){if (B.index>0){D=A.substr(0,B.index);this._sourceHtml=A.substr(B.index);}else{C=true;D=B[0];this._sourceHtml=A.substr(B[0].length);}}else{D=A;this._sourceHtml=null;};return { 'isTag':C,'value':D };},Each:function(A){var B;while ((B=this.Next())) A(B.isTag,B.value);}};var FCKHtmlIterator=function(A){this._sourceHtml=A;};FCKHtmlIterator.prototype={Next:function(){var A=this._sourceHtml;if (A==null) return null;var B=FCKRegexLib.HtmlTag.exec(A);var C=false;var D="";if (B){if (B.index>0){D=A.substr(0,B.index);this._sourceHtml=A.substr(B.index);}else{C=true;D=B[0];this._sourceHtml=A.substr(B[0].length);}}else{D=A;this._sourceHtml=null;};return { 'isTag':C,'value':D };},Each:function(A){var B;while ((B=this.Next())) A(B.isTag,B.value);}};\r
+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=[];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];LoadScript(this.Path+'lang/'+A+'.js');};LoadScript(this.Path+'fckplugin.js');};\r
+var FCKPlugins=FCK.Plugins={};FCKPlugins.ItemsCount=0;FCKPlugins.Items={};FCKPlugins.Load=function(){var A=FCKPlugins.Items;for (var i=0;i<FCKConfig.Plugins.Items.length;i++){var B=FCKConfig.Plugins.Items[i];var C=A[B[0]]=new FCKPlugin(B[0],B[1],B[2]);FCKPlugins.ItemsCount++;};for (var s in A) A[s].Load();FCKPlugins.Load=null;};\r
index a53ea8f..f5eade9 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Translations Status.\r
  */\r
 \r
-af.js      Found: 401   Missing: 1\r
-ar.js      Found: 401   Missing: 1\r
-bg.js      Found: 378   Missing: 24\r
-bn.js      Found: 386   Missing: 16\r
-bs.js      Found: 230   Missing: 172\r
-ca.js      Found: 402   Missing: 0\r
-cs.js      Found: 400   Missing: 2\r
-da.js      Found: 386   Missing: 16\r
-de.js      Found: 401   Missing: 1\r
-el.js      Found: 401   Missing: 1\r
-en-au.js   Found: 402   Missing: 0\r
-en-ca.js   Found: 402   Missing: 0\r
-en-uk.js   Found: 402   Missing: 0\r
-eo.js      Found: 350   Missing: 52\r
-es.js      Found: 386   Missing: 16\r
-et.js      Found: 402   Missing: 0\r
-eu.js      Found: 386   Missing: 16\r
-fa.js      Found: 402   Missing: 0\r
-fi.js      Found: 402   Missing: 0\r
-fo.js      Found: 401   Missing: 1\r
-fr.js      Found: 401   Missing: 1\r
-gl.js      Found: 386   Missing: 16\r
-he.js      Found: 402   Missing: 0\r
-hi.js      Found: 401   Missing: 1\r
-hr.js      Found: 401   Missing: 1\r
-hu.js      Found: 401   Missing: 1\r
-it.js      Found: 401   Missing: 1\r
-ja.js      Found: 401   Missing: 1\r
-km.js      Found: 376   Missing: 26\r
-ko.js      Found: 373   Missing: 29\r
-lt.js      Found: 381   Missing: 21\r
-lv.js      Found: 386   Missing: 16\r
-mn.js      Found: 230   Missing: 172\r
-ms.js      Found: 356   Missing: 46\r
-nb.js      Found: 400   Missing: 2\r
-nl.js      Found: 401   Missing: 1\r
-no.js      Found: 400   Missing: 2\r
-pl.js      Found: 386   Missing: 16\r
-pt-br.js   Found: 401   Missing: 1\r
-pt.js      Found: 386   Missing: 16\r
-ro.js      Found: 400   Missing: 2\r
-ru.js      Found: 401   Missing: 1\r
-sk.js      Found: 401   Missing: 1\r
-sl.js      Found: 378   Missing: 24\r
-sr-latn.js Found: 373   Missing: 29\r
-sr.js      Found: 373   Missing: 29\r
-sv.js      Found: 401   Missing: 1\r
-th.js      Found: 398   Missing: 4\r
-tr.js      Found: 401   Missing: 1\r
-uk.js      Found: 402   Missing: 0\r
-vi.js      Found: 401   Missing: 1\r
-zh-cn.js   Found: 401   Missing: 1\r
-zh.js      Found: 401   Missing: 1\r
+af.js      Found: 396   Missing: 36\r
+ar.js      Found: 420   Missing: 12\r
+bg.js      Found: 373   Missing: 59\r
+bn.js      Found: 380   Missing: 52\r
+bs.js      Found: 226   Missing: 206\r
+ca.js      Found: 420   Missing: 12\r
+cs.js      Found: 432   Missing: 0\r
+da.js      Found: 419   Missing: 13\r
+de.js      Found: 420   Missing: 12\r
+el.js      Found: 396   Missing: 36\r
+en-au.js   Found: 423   Missing: 9\r
+en-ca.js   Found: 423   Missing: 9\r
+en-uk.js   Found: 423   Missing: 9\r
+eo.js      Found: 346   Missing: 86\r
+es.js      Found: 428   Missing: 4\r
+et.js      Found: 411   Missing: 21\r
+eu.js      Found: 420   Missing: 12\r
+fa.js      Found: 413   Missing: 19\r
+fi.js      Found: 427   Missing: 5\r
+fo.js      Found: 420   Missing: 12\r
+fr-ca.js   Found: 419   Missing: 13\r
+fr.js      Found: 428   Missing: 4\r
+gl.js      Found: 381   Missing: 51\r
+gu.js      Found: 411   Missing: 21\r
+he.js      Found: 428   Missing: 4\r
+hi.js      Found: 420   Missing: 12\r
+hr.js      Found: 420   Missing: 12\r
+hu.js      Found: 411   Missing: 21\r
+is.js      Found: 428   Missing: 4\r
+it.js      Found: 410   Missing: 22\r
+ja.js      Found: 420   Missing: 12\r
+km.js      Found: 370   Missing: 62\r
+ko.js      Found: 391   Missing: 41\r
+lt.js      Found: 428   Missing: 4\r
+lv.js      Found: 381   Missing: 51\r
+mn.js      Found: 411   Missing: 21\r
+ms.js      Found: 352   Missing: 80\r
+nb.js      Found: 414   Missing: 18\r
+nl.js      Found: 420   Missing: 12\r
+no.js      Found: 414   Missing: 18\r
+pl.js      Found: 412   Missing: 20\r
+pt-br.js   Found: 411   Missing: 21\r
+pt.js      Found: 381   Missing: 51\r
+ro.js      Found: 410   Missing: 22\r
+ru.js      Found: 427   Missing: 5\r
+sk.js      Found: 420   Missing: 12\r
+sl.js      Found: 426   Missing: 6\r
+sr-latn.js Found: 368   Missing: 64\r
+sr.js      Found: 368   Missing: 64\r
+sv.js      Found: 431   Missing: 1\r
+th.js      Found: 393   Missing: 39\r
+tr.js      Found: 428   Missing: 4\r
+uk.js      Found: 419   Missing: 13\r
+vi.js      Found: 419   Missing: 13\r
+zh-cn.js   Found: 428   Missing: 4\r
+zh.js      Found: 423   Missing: 9\r
index 857dc3e..ea23385 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Formaat verweider",
 InsertLinkLbl          : "Skakel",\r
 InsertLink                     : "Skakel byvoeg/verander",\r
 RemoveLink                     : "Skakel verweider",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Plekhouer byvoeg/verander",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Beeld",\r
 InsertImage                    : "Beeld byvoeg/verander",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Regs rig",
 BlockJustify           : "Blok paradeer",\r
 DecreaseIndent         : "Paradeering verkort",\r
 IncreaseIndent         : "Paradeering verleng",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Ont-skep",\r
 Redo                           : "Her-skep",\r
 NumberedListLbl                : "Genommerde lys",\r
@@ -103,20 +109,27 @@ SelectionField    : "Opklapbare keuse strook",
 ImageButton            : "Beeld knop",\r
 \r
 FitWindow              : "Maksimaliseer venster grote",\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Verander skakel",\r
 CellCM                         : "Cell",\r
 RowCM                          : "Ry",\r
 ColumnCM                       : "Kolom",\r
-InsertRow                      : "Ry byvoeg",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "Ry verweider",\r
-InsertColumn           : "Kolom byvoeg",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "Kolom verweider",\r
-InsertCell                     : "Cell byvoeg",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "Cell verweider",\r
 MergeCells                     : "Cell verenig",\r
-SplitCell                      : "Cell verdeel",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "Tabel verweider",\r
 CellProperties         : "Cell eienskappe",\r
 TableProperties                : "Tabel eienskappe",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Opklapbare keuse strook eienskappe",
 TextareaProp           : "Karakter area eienskappe",\r
 FormProp                       : "Form eienskappe",\r
 \r
-FontFormats                    : "Normaal;Geformateerd;Adres;Opskrif 1;Opskrif 2;Opskrif 3;Opskrif 4;Opskrif 5;Opskrif 6;Normaal (DIV)",               //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normaal;Geformateerd;Adres;Opskrif 1;Opskrif 2;Opskrif 3;Opskrif 4;Opskrif 5;Opskrif 6;Normaal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML word verarbeit. U geduld asseblief...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Gereedskaps balk \"%1\" bestaan nie",
 NoActiveX                      : "U browser sekuriteit instellings kan die funksies van die editor behinder. U moet die opsie \"Run ActiveX controls and plug-ins\" aktiveer. U ondervinding mag problematies geskiet of sekere funksionaliteit mag verhinder word.",\r
 BrowseServerBlocked : "Die vorraad venster word geblok! Verseker asseblief dat U die \"popup blocker\" instelling verander.",\r
 DialogBlocked          : "Die dialoog venster vir verdere informasie word geblok. De-aktiveer asseblief die \"popup blocker\" instellings wat dit behinder.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Kies 'n plekhouer",\r
 DlgLnkAnchorByName     : "Volgens plekhouer naam",\r
 DlgLnkAnchorById       : "Volgens element Id",\r
-DlgLnkNoAnchors                : "<Geen plekhouers beskikbaar in dokument>",           //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Geen plekhouers beskikbaar in dokument}",\r
 DlgLnkEMail                    : "E-Mail Adres",\r
 DlgLnkEMailSubject     : "Boodskap Opskrif",\r
 DlgLnkEMailBody                : "Boodskap Inhoud",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Cell spasieering",
 DlgTableCellPad                : "Cell buffer",\r
 DlgTableCaption                : "Beskreiwing",\r
 DlgTableSummary                : "Opsomming",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cell eienskappe",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Bo",
 DlgCellVerAlignMiddle  : "Middel",\r
 DlgCellVerAlignBottom  : "Onder",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Rei strekking",\r
 DlgCellCollSpan                : "Kolom strekking",\r
 DlgCellBackColor       : "Agtergrond Kleur",\r
 DlgCellBorderColor     : "Kant Kleur",\r
 DlgCellBtnSelect       : "Keuse...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Vind",\r
 DlgFindFindBtn         : "Vind",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Voeg asseblief die inhoud in die gegewe box by met sleutel kombe
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignoreer karakter soort defenisies",\r
 DlgPasteRemoveStyles   : "Verweider Styl defenisies",\r
-DlgPasteCleanBox               : "Maak Box Skoon",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automaties",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Meer oor",
 DlgAboutBrowserInfoTab : "Blaai Informasie deur",\r
 DlgAboutLicenseTab     : "Lesensie",\r
 DlgAboutVersion                : "weergawe",\r
-DlgAboutInfo           : "Vir meer informasie gaan na "\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Vir meer informasie gaan na ",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 91d34f1..8bbbca6 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "إزالة التنسيقات",
 InsertLinkLbl          : "رابط",\r
 InsertLink                     : "إدراج/تحرير رابط",\r
 RemoveLink                     : "إزالة رابط",\r
+VisitLink                      : "افتح الرابط",\r
 Anchor                         : "إدراج/تحرير إشارة مرجعية",\r
+AnchorDelete           : "إزالة إشارة مرجعية",\r
 InsertImageLbl         : "صورة",\r
 InsertImage                    : "إدراج/تحرير صورة",\r
 InsertFlashLbl         : "فلاش",\r
@@ -70,6 +72,10 @@ RightJustify         : "محاذاة إلى اليمين",
 BlockJustify           : "ضبط",\r
 DecreaseIndent         : "إنقاص المسافة البادئة",\r
 IncreaseIndent         : "زيادة المسافة البادئة",\r
+Blockquote                     : "اقتباس",\r
+CreateDiv                      : "إنشاء حاوية Div",\r
+EditDiv                                : "تعديل حاوية Div",\r
+DeleteDiv                      : "إزالة حاوية Div",\r
 Undo                           : "تراجع",\r
 Redo                           : "إعادة",\r
 NumberedListLbl                : "تعداد رقمي",\r
@@ -103,20 +109,27 @@ SelectionField    : "قائمة منسدلة",
 ImageButton            : "زر صورة",\r
 \r
 FitWindow              : "تكبير حجم المحرر",\r
+ShowBlocks             : "مخطط تفصيلي",\r
 \r
 // Context Menu\r
 EditLink                       : "تحرير رابط",\r
 CellCM                         : "خلية",\r
 RowCM                          : "صف",\r
 ColumnCM                       : "عمود",\r
-InsertRow                      : "إدراج صف",\r
+InsertRowAfter         : "إدراج صف بعد",\r
+InsertRowBefore                : "إدراج صف قبل",\r
 DeleteRows                     : "حذف صفوف",\r
-InsertColumn           : "إدراج عمود",\r
+InsertColumnAfter      : "إدراج عمود بعد",\r
+InsertColumnBefore     : "إدراج عمود قبل",\r
 DeleteColumns          : "حذف أعمدة",\r
-InsertCell                     : "إدراج خلية",\r
+InsertCellAfter                : "إدراج خلية بعد",\r
+InsertCellBefore       : "إدراج خلية قبل",\r
 DeleteCells                    : "حذف خلايا",\r
 MergeCells                     : "دمج خلايا",\r
-SplitCell                      : "تقسيم خلية",\r
+MergeRight                     : "دمج لليمين",\r
+MergeDown                      : "دمج للأسفل",\r
+HorizontalSplitCell    : "تقسيم الخلية أفقياً",\r
+VerticalSplitCell      : "تقسيم الخلية عمودياً",\r
 TableDelete                    : "حذف الجدول",\r
 CellProperties         : "خصائص الخلية",\r
 TableProperties                : "خصائص الجدول",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "خصائص القائمة المنسدلة",
 TextareaProp           : "خصائص ناحية النص",\r
 FormProp                       : "خصائص النموذج",\r
 \r
-FontFormats                    : "عادي;منسّق;دوس;العنوان 1;العنوان  2;العنوان  3;العنوان  4;العنوان  5;العنوان  6",              //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "عادي;منسّق;دوس;العنوان 1;العنوان  2;العنوان  3;العنوان  4;العنوان  5;العنوان  6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "إنتظر قليلاً ريثما تتم   معالَجة‏ XHTML. لن يستغرق طويلاً...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "لم أتمكن من العثور على طقم الأدو
 NoActiveX                      : "لتأمين متصفحك يجب أن تحدد بعض مميزات المحرر. يتوجب عليك تمكين الخيار \"Run ActiveX controls and plug-ins\". قد تواجة أخطاء وتلاحظ مميزات مفقودة",\r
 BrowseServerBlocked : "لايمكن فتح مصدر المتصفح. فضلا يجب التأكد بأن جميع موانع النوافذ المنبثقة معطلة",\r
 DialogBlocked          : "لايمكن فتح نافذة الحوار . فضلا تأكد من أن  مانع النوافذ المنبثة معطل .",\r
+VisitLinkBlocked       : "لا يمكن فتح نافذة جديدة. تأكد من إيقاف كل مانعي فتح النوافذ من العمل.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "موافق",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "الموقع",
 DlgLnkAnchorSel                : "اختر علامة مرجعية",\r
 DlgLnkAnchorByName     : "حسب اسم العلامة",\r
 DlgLnkAnchorById       : "حسب تعريف العنصر",\r
-DlgLnkNoAnchors                : "<لا يوجد علامات مرجعية في هذا المستند>",               //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(لا يوجد علامات مرجعية في هذا المستند)",\r
 DlgLnkEMail                    : "عنوان بريد إلكتروني",\r
 DlgLnkEMailSubject     : "موضوع الرسالة",\r
 DlgLnkEMailBody                : "محتوى الرسالة",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "تباعد الخلايا",
 DlgTableCellPad                : "المسافة البادئة",\r
 DlgTableCaption                : "الوصف",\r
 DlgTableSummary                : "الخلاصة",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "خصائص الخلية",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "أعلى",
 DlgCellVerAlignMiddle  : "وسط",\r
 DlgCellVerAlignBottom  : "أسفل",\r
 DlgCellVerAlignBaseline        : "على السطر",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "إمتداد الصفوف",\r
 DlgCellCollSpan                : "إمتداد الأعمدة",\r
 DlgCellBackColor       : "لون الخلفية",\r
 DlgCellBorderColor     : "لون الحدود",\r
 DlgCellBtnSelect       : "حدّد...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "بحث واستبدال",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "بحث",\r
 DlgFindFindBtn         : "ابحث",\r
@@ -344,10 +369,9 @@ PasteAsText                : "لصق كنص بسيط",
 PasteFromWord  : "لصق من وورد",\r
 \r
 DlgPasteMsg2   : "الصق داخل الصندوق بإستخدام زرّي (<STRONG>Ctrl+V</STRONG>) في لوحة المفاتيح، ثم اضغط زر  <STRONG>موافق</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "نظراً لإعدادات الأمان الخاصة بمتصفحك، لن يتمكن هذا المحرر من الوصول لمحتوى حافظتك، لذا وجب عليك لصق المحتوى مرة أخرى في هذه النافذة.",\r
 DlgPasteIgnoreFont             : "تجاهل تعريفات أسماء الخطوط",\r
 DlgPasteRemoveStyles   : "إزالة تعريفات الأنماط",\r
-DlgPasteCleanBox               : "نظّف محتوى الصندوق",\r
 \r
 // Color Picker\r
 ColorAutomatic : "تلقائي",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "نبذة",
 DlgAboutBrowserInfoTab : "معلومات متصفحك",\r
 DlgAboutLicenseTab     : "الترخيص",\r
 DlgAboutVersion                : "الإصدار",\r
-DlgAboutInfo           : "لمزيد من المعلومات تفضل بزيارة"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "لمزيد من المعلومات تفضل بزيارة",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "عام",\r
+DlgDivAdvancedTab      : "متقدم",\r
+DlgDivStyle            : "المظهر",\r
+DlgDivInlineStyle      : "المظهر المضمن",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 423bd02..0a9022f 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Изтрий форматирането",
 InsertLinkLbl          : "Връзка",\r
 InsertLink                     : "Добави/Редактирай връзка",\r
 RemoveLink                     : "Изтрий връзка",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Добави/Редактирай котва",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Изображение",\r
 InsertImage                    : "Добави/Редактирай изображение",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Подравняване в дясно",
 BlockJustify           : "Двустранно подравняване",\r
 DecreaseIndent         : "Намали отстъпа",\r
 IncreaseIndent         : "Увеличи отстъпа",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Отмени",\r
 Redo                           : "Повтори",\r
 NumberedListLbl                : "Нумериран списък",\r
@@ -103,20 +109,27 @@ SelectionField    : "Падащо меню с опции",
 ImageButton            : "Бутон-изображение",\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Редактирай връзка",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRow                      : "Добави ред",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "Изтрий редовете",\r
-InsertColumn           : "Добави колона",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "Изтрий колоните",\r
-InsertCell                     : "Добави клетка",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "Изтрий клетките",\r
 MergeCells                     : "Обедини клетките",\r
-SplitCell                      : "Раздели клетката",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "Изтрий таблицата",\r
 CellProperties         : "Параметри на клетката",\r
 TableProperties                : "Параметри на таблицата",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Параметри на падащото меню с оп
 TextareaProp           : "Параметри на текстовата област",\r
 FormProp                       : "Параметри на формуляра",\r
 \r
-FontFormats                    : "Нормален;Форматиран;Адрес;Заглавие 1;Заглавие 2;Заглавие 3;Заглавие 4;Заглавие 5;Заглавие 6;Параграф (DIV)",          //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Нормален;Форматиран;Адрес;Заглавие 1;Заглавие 2;Заглавие 3;Заглавие 4;Заглавие 5;Заглавие 6;Параграф (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Обработка на XHTML. Моля изчакайте...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Панелът \"%1\" не съществува",
 NoActiveX                      : "Your 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\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "ОК",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "Пълен път (URL)",
 DlgLnkAnchorSel                : "Изберете котва",\r
 DlgLnkAnchorByName     : "По име на котвата",\r
 DlgLnkAnchorById       : "По идентификатор на елемент",\r
-DlgLnkNoAnchors                : "<Няма котви в текущия документ>",           //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Няма котви в текущия документ)",\r
 DlgLnkEMail                    : "Адрес за е-поща",\r
 DlgLnkEMailSubject     : "Тема на писмото",\r
 DlgLnkEMailBody                : "Текст на писмото",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Разстояние между клетките",
 DlgTableCellPad                : "Отстъп на съдържанието в клетките",\r
 DlgTableCaption                : "Заглавие",\r
 DlgTableSummary                : "Резюме",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Параметри на клетката",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Горе",
 DlgCellVerAlignMiddle  : "По средата",\r
 DlgCellVerAlignBottom  : "Долу",\r
 DlgCellVerAlignBaseline        : "По базовата линия",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "повече от един ред",\r
 DlgCellCollSpan                : "повече от една колона",\r
 DlgCellBackColor       : "фонов цвят",\r
 DlgCellBorderColor     : "цвят на рамката",\r
 DlgCellBtnSelect       : "Изберете...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Търси",\r
 DlgFindFindBtn         : "Търси",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Вмъкнете тук съдъжанието с клавиат
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Игнорирай шрифтовите дефиниции",\r
 DlgPasteRemoveStyles   : "Изтрий стиловите дефиниции",\r
-DlgPasteCleanBox               : "Изчисти",\r
 \r
 // Color Picker\r
 ColorAutomatic : "По подразбиране",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "За",
 DlgAboutBrowserInfoTab : "Информация за браузъра",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "версия",\r
-DlgAboutInfo           : "За повече информация посетете"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "За повече информация посетете",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 8f76754..a919b98 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "ফরমেট সরাও",
 InsertLinkLbl          : "লিংকের যুক্ত করার লেবেল",\r
 InsertLink                     : "লিংক যুক্ত কর",\r
 RemoveLink                     : "লিংক সরাও",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "নোঙ্গর",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "ছবির লেবেল যুক্ত কর",\r
 InsertImage                    : "ছবি যুক্ত কর",\r
 InsertFlashLbl         : "ফ্লাশ লেবেল যুক্ত কর",\r
@@ -70,6 +72,10 @@ RightJustify         : "ডান দিকে ঘেঁষা",
 BlockJustify           : "ব্লক জাস্টিফাই",\r
 DecreaseIndent         : "ইনডেন্ট কমাও",\r
 IncreaseIndent         : "ইনডেন্ট বাড়াও",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "আনডু",\r
 Redo                           : "রি-ডু",\r
 NumberedListLbl                : "সাংখ্যিক লিস্টের লেবেল",\r
@@ -103,20 +109,27 @@ SelectionField    : "বাছাই ফীল্ড",
 ImageButton            : "ছবির বাটন",\r
 \r
 FitWindow              : "উইন্ডো ফিট কর",\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "লিংক সম্পাদন",\r
 CellCM                         : "সেল",\r
 RowCM                          : "রো",\r
 ColumnCM                       : "কলাম",\r
-InsertRow                      : "রো যুক্ত কর",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "রো মুছে দাও",\r
-InsertColumn           : "কলাম যুক্ত কর",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "কলাম মুছে দাও",\r
-InsertCell                     : "সেল যুক্ত কর",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "সেল মুছে দাও",\r
 MergeCells                     : "সেল জোড়া দাও",\r
-SplitCell                      : "সেল আলাদা কর",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "টেবিল ডিলীট কর",\r
 CellProperties         : "সেলের প্রোপার্টিজ",\r
 TableProperties                : "টেবিল প্রোপার্টি",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "বাছাই ফীল্ড প্রোপার্
 TextareaProp           : "টেক্সট এরিয়া প্রোপার্টি",\r
 FormProp                       : "ফর্ম প্রোপার্টি",\r
 \r
-FontFormats                    : "সাধারণ;ফর্মেটেড;ঠিকানা;শীর্ষক ১;শীর্ষক ২;শীর্ষক ৩;শীর্ষক ৪;শীর্ষক ৫;শীর্ষক ৬;শীর্ষক (DIV)",          //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "সাধারণ;ফর্মেটেড;ঠিকানা;শীর্ষক ১;শীর্ষক ২;শীর্ষক ৩;শীর্ষক ৪;শীর্ষক ৫;শীর্ষক ৬;শীর্ষক (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML প্রসেস করা হচ্ছে",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "টুলবার সেট \"%1\" এর অস্তি
 NoActiveX                      : "আপনার ব্রাউজারের সুরক্ষা সেটিংস কারনে এডিটরের কিছু ফিচার পাওয়া নাও যেতে পারে। আপনাকে অবশ্যই \"Run ActiveX controls and plug-ins\" এনাবেল করে নিতে হবে। আপনি ভুলভ্রান্তি কিছু কিছু ফিচারের অনুপস্থিতি উপলব্ধি করতে পারেন।",\r
 BrowseServerBlocked : "রিসোর্স ব্রাউজার খোলা গেল না। নিশ্চিত করুন যে সব পপআপ ব্লকার বন্ধ করা আছে।",\r
 DialogBlocked          : "ডায়ালগ ইউন্ডো খোলা গেল না। নিশ্চিত করুন যে সব পপআপ ব্লকার বন্ধ করা আছে।",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "ওকে",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "নোঙর বাছাই",\r
 DlgLnkAnchorByName     : "নোঙরের নাম দিয়ে",\r
 DlgLnkAnchorById       : "নোঙরের আইডি দিয়ে",\r
-DlgLnkNoAnchors                : "<ডকুমেন্টে আর কোন নোঙর নেই>",              //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(No anchors available in the document)",     //MISSING\r
 DlgLnkEMail                    : "ইমেইল ঠিকানা",\r
 DlgLnkEMailSubject     : "মেসেজের বিষয়",\r
 DlgLnkEMailBody                : "মেসেজের দেহ",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "সেল স্পেস",
 DlgTableCellPad                : "সেল প্যাডিং",\r
 DlgTableCaption                : "শীর্ষক",\r
 DlgTableSummary                : "সারাংশ",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "সেল প্রোপার্টি",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "উপর",
 DlgCellVerAlignMiddle  : "মধ্য",\r
 DlgCellVerAlignBottom  : "নীচে",\r
 DlgCellVerAlignBaseline        : "মূলরেখা",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "রো স্প্যান",\r
 DlgCellCollSpan                : "কলাম স্প্যান",\r
 DlgCellBackColor       : "ব্যাকগ্রাউন্ড রং",\r
 DlgCellBorderColor     : "বর্ডারের রং",\r
 DlgCellBtnSelect       : "বাছাই কর",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "খোঁজো",\r
 DlgFindFindBtn         : "খোঁজো",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "অনুগ্রহ করে নীচের বাক্স
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "ফন্ট ফেস ডেফিনেশন ইগনোর করুন",\r
 DlgPasteRemoveStyles   : "স্টাইল ডেফিনেশন সরিয়ে দিন",\r
-DlgPasteCleanBox               : "বাক্স পরিষ্কার করুন",\r
 \r
 // Color Picker\r
 ColorAutomatic : "অটোমেটিক",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "কে বানিয়েছে",
 DlgAboutBrowserInfoTab : "ব্রাউজারের ব্যাপারে তথ্য",\r
 DlgAboutLicenseTab     : "লাইসেন্স",\r
 DlgAboutVersion                : "ভার্সন",\r
-DlgAboutInfo           : "আরও তথ্যের জন্য যান"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "আরও তথ্যের জন্য যান",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index fbaa451..361ca58 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Poništi format",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Ubaci/Izmjeni link",\r
 RemoveLink                     : "Izbriši link",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Insert/Edit Anchor", //MISSING\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Slika",\r
 InsertImage                    : "Ubaci/Izmjeni sliku",\r
 InsertFlashLbl         : "Flash",      //MISSING\r
@@ -70,6 +72,10 @@ RightJustify         : "Desno poravnanje",
 BlockJustify           : "Puno poravnanje",\r
 DecreaseIndent         : "Smanji uvod",\r
 IncreaseIndent         : "Poveæaj uvod",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Vrati",\r
 Redo                           : "Ponovi",\r
 NumberedListLbl                : "Numerisana lista",\r
@@ -103,20 +109,27 @@ SelectionField    : "Selection Field",    //MISSING
 ImageButton            : "Image Button",       //MISSING\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Izmjeni link",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRow                      : "Ubaci red",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "Briši redove",\r
-InsertColumn           : "Ubaci kolonu",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "Briši kolone",\r
-InsertCell                     : "Ubaci æeliju",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "Briši æelije",\r
 MergeCells                     : "Spoji æelije",\r
-SplitCell                      : "Razdvoji æeliju",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "Delete Table",       //MISSING\r
 CellProperties         : "Svojstva æelije",\r
 TableProperties                : "Svojstva tabele",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Selection Field Properties", //MISSING
 TextareaProp           : "Textarea Properties",        //MISSING\r
 FormProp                       : "Form Properties",    //MISSING\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",               //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Procesiram XHTML. Molim saèekajte...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Traka sa alatima \"%1\" ne postoji",
 NoActiveX                      : "Your 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\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Izaberi sidro",\r
 DlgLnkAnchorByName     : "Po nazivu sidra",\r
 DlgLnkAnchorById       : "Po Id-u elementa",\r
-DlgLnkNoAnchors                : "<Nema dostupnih sidra na stranici>",         //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Nema dostupnih sidra na stranici)",\r
 DlgLnkEMail                    : "E-Mail Adresa",\r
 DlgLnkEMailSubject     : "Subjekt poruke",\r
 DlgLnkEMailBody                : "Poruka",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Razmak æelija",
 DlgTableCellPad                : "Uvod æelija",\r
 DlgTableCaption                : "Naslov",\r
 DlgTableSummary                : "Summary",    //MISSING\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Svojstva æelije",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Gore",
 DlgCellVerAlignMiddle  : "Sredina",\r
 DlgCellVerAlignBottom  : "Dno",\r
 DlgCellVerAlignBaseline        : "Bazno",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Spajanje æelija",\r
 DlgCellCollSpan                : "Spajanje kolona",\r
 DlgCellBackColor       : "Boja pozadine",\r
 DlgCellBorderColor     : "Boja okvira",\r
 DlgCellBtnSelect       : "Selektuj...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Naði",\r
 DlgFindFindBtn         : "Naði",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Please paste inside the following box using the keyboard (<stron
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",       //MISSING\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",  //MISSING\r
-DlgPasteCleanBox               : "Clean Up Box",       //MISSING\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatska",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "About",      //MISSING
 DlgAboutBrowserInfoTab : "Browser Info",       //MISSING\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "verzija",\r
-DlgAboutInfo           : "Za više informacija posjetite"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Za više informacija posjetite",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index c3859cd..483e042 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -26,13 +26,13 @@ var FCKLang =
 // Language direction : "ltr" (left to right) or "rtl" (right to left).\r
 Dir                                    : "ltr",\r
 \r
-ToolbarCollapse                : "Col·lapsa la barra",\r
-ToolbarExpand          : "Amplia la barra",\r
+ToolbarCollapse                : "Redueix la barra d'eines",\r
+ToolbarExpand          : "Amplia la barra d'eines",\r
 \r
 // Toolbar Items and Context Menu\r
 Save                           : "Desa",\r
 NewPage                                : "Nova Pàgina",\r
-Preview                                : "Vista Prèvia",\r
+Preview                                : "Visualització prèvia",\r
 Cut                                    : "Retalla",\r
 Copy                           : "Copia",\r
 Paste                          : "Enganxa",\r
@@ -43,8 +43,10 @@ SelectAll                    : "Selecciona-ho tot",
 RemoveFormat           : "Elimina Format",\r
 InsertLinkLbl          : "Enllaç",\r
 InsertLink                     : "Insereix/Edita enllaç",\r
-RemoveLink                     : "Elimina enllaç",\r
+RemoveLink                     : "Elimina l'enllaç",\r
+VisitLink                      : "Obre l'enllaç",\r
 Anchor                         : "Insereix/Edita àncora",\r
+AnchorDelete           : "Elimina àncora",\r
 InsertImageLbl         : "Imatge",\r
 InsertImage                    : "Insereix/Edita imatge",\r
 InsertFlashLbl         : "Flash",\r
@@ -57,25 +59,29 @@ InsertSpecialCharLbl: "Caràcter Especial",
 InsertSpecialChar      : "Insereix caràcter especial",\r
 InsertSmileyLbl                : "Icona",\r
 InsertSmiley           : "Insereix icona",\r
-About                          : "Quant a FCKeditor",\r
+About                          : "Quant a l'FCKeditor",\r
 Bold                           : "Negreta",\r
 Italic                         : "Cursiva",\r
 Underline                      : "Subratllat",\r
 StrikeThrough          : "Barrat",\r
 Subscript                      : "Subíndex",\r
 Superscript                    : "Superíndex",\r
-LeftJustify                    : "Aliniament esquerra",\r
-CenterJustify          : "Aliniament centrat",\r
-RightJustify           : "Aliniament dreta",\r
-BlockJustify           : "Justifica",\r
-DecreaseIndent         : "Sagna el text",\r
-IncreaseIndent         : "Treu el sagnat del text",\r
+LeftJustify                    : "Alinia a l'esquerra",\r
+CenterJustify          : "Centrat",\r
+RightJustify           : "Alinia a la dreta",\r
+BlockJustify           : "Justificat",\r
+DecreaseIndent         : "Redueix el sagnat",\r
+IncreaseIndent         : "Augmenta el sagnat",\r
+Blockquote                     : "Bloc de cita",\r
+CreateDiv                      : "Crea un contenidor Div",\r
+EditDiv                                : "Edita el contenidor Div",\r
+DeleteDiv                      : "Elimina el contenidor Div",\r
 Undo                           : "Desfés",\r
 Redo                           : "Refés",\r
 NumberedListLbl                : "Llista numerada",\r
-NumberedList           : "Aplica o elimina la llista numerada",\r
+NumberedList           : "Numeració activada/desactivada",\r
 BulletedListLbl                : "Llista de pics",\r
-BulletedList           : "Aplica o elimina la llista de pics",\r
+BulletedList           : "Pics activats/descativats",\r
 ShowTableBorders       : "Mostra les vores de les taules",\r
 ShowDetails                    : "Mostra detalls",\r
 Style                          : "Estil",\r
@@ -103,20 +109,27 @@ SelectionField    : "Camp de selecció",
 ImageButton            : "Botó d'imatge",\r
 \r
 FitWindow              : "Maximiza la mida de l'editor",\r
+ShowBlocks             : "Mostra els blocs",\r
 \r
 // Context Menu\r
 EditLink                       : "Edita l'enllaç",\r
 CellCM                         : "Cel·la",\r
 RowCM                          : "Fila",\r
 ColumnCM                       : "Columna",\r
-InsertRow                      : "Insereix una fila",\r
+InsertRowAfter         : "Insereix fila darrera",\r
+InsertRowBefore                : "Insereix fila abans de",\r
 DeleteRows                     : "Suprimeix una fila",\r
-InsertColumn           : "Afegeix una columna",\r
+InsertColumnAfter      : "Insereix columna darrera",\r
+InsertColumnBefore     : "Insereix columna abans de",\r
 DeleteColumns          : "Suprimeix una columna",\r
-InsertCell                     : "Insereix una cel·la",\r
+InsertCellAfter                : "Insereix cel·la darrera",\r
+InsertCellBefore       : "Insereix cel·la abans de",\r
 DeleteCells                    : "Suprimeix les cel·les",\r
 MergeCells                     : "Fusiona les cel·les",\r
-SplitCell                      : "Separa les cel·les",\r
+MergeRight                     : "Fusiona cap a la dreta",\r
+MergeDown                      : "Fusiona cap avall",\r
+HorizontalSplitCell    : "Divideix la cel·la horitzontalment",\r
+VerticalSplitCell      : "Divideix la cel·la verticalment",\r
 TableDelete                    : "Suprimeix la taula",\r
 CellProperties         : "Propietats de la cel·la",\r
 TableProperties                : "Propietats de la taula",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Propietats del camp de selecció",
 TextareaProp           : "Propietats de l'àrea de text",\r
 FormProp                       : "Propietats del formulari",\r
 \r
-FontFormats                    : "Normal;Formatejat;Adreça;Encapçalament 1;Encapçalament 2;Encapçalament 3;Encapçalament 4;Encapçalament 5;Encapçalament 6",            //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatejat;Adreça;Encapçalament 1;Encapçalament 2;Encapçalament 3;Encapçalament 4;Encapçalament 5;Encapçalament 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Processant XHTML. Si us plau esperi...",\r
@@ -147,7 +160,8 @@ NotImplemented              : "Mètode no implementat",
 UnknownToolbarSet      : "Conjunt de barra d'eines \"%1\" inexistent",\r
 NoActiveX                      : "Les preferències del navegador poden limitar algunes funcions d'aquest editor. Cal habilitar l'opció \"Executa controls ActiveX i plug-ins\". Poden sorgir errors i poden faltar algunes funcions.",\r
 BrowseServerBlocked : "El visualitzador de recursos no s'ha pogut obrir. Assegura't de que els bloquejos de finestres emergents estan desactivats.",\r
-DialogBlocked          : "No ha estat possible obrir una finestra de diàleg. Assegura't de que els bloquejos de finestres emergents estan desactivats.",\r
+DialogBlocked          : "No ha estat possible obrir una finestra de diàleg. Assegureu-vos que els bloquejos de finestres emergents estan desactivats.",\r
+VisitLinkBlocked       : "No ha estat possible obrir una nova finestra. Assegureu-vos que els bloquejos de finestres emergents estan desactivats.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "D'acord",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Selecciona una àncora",\r
 DlgLnkAnchorByName     : "Per nom d'àncora",\r
 DlgLnkAnchorById       : "Per Id d'element",\r
-DlgLnkNoAnchors                : "(No hi ha àncores disponibles en aquest document)",         //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(No hi ha àncores disponibles en aquest document)",\r
 DlgLnkEMail                    : "Adreça de correu electrònic",\r
 DlgLnkEMailSubject     : "Assumpte del missatge",\r
 DlgLnkEMailBody                : "Cos del missatge",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Espaiat de cel·les",
 DlgTableCellPad                : "Encoixinament de cel·les",\r
 DlgTableCaption                : "Títol",\r
 DlgTableSummary                : "Resum",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Propietats de la cel·la",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Top",
 DlgCellVerAlignMiddle  : "Middle",\r
 DlgCellVerAlignBottom  : "Bottom",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Rows Span",\r
 DlgCellCollSpan                : "Columns Span",\r
 DlgCellBackColor       : "Color de fons",\r
 DlgCellBorderColor     : "Color de la vora",\r
 DlgCellBtnSelect       : "Seleccioneu...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Cerca i reemplaça",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Cerca",\r
 DlgFindFindBtn         : "Cerca",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Si us plau, enganxeu dins del següent camp utilitzant el teclat
 DlgPasteSec            : "A causa de la configuració de seguretat del vostre navegador, l'editor no pot accedir al porta-retalls directament. Enganxeu-ho un altre cop en aquesta finestra.",\r
 DlgPasteIgnoreFont             : "Ignora definicions de font",\r
 DlgPasteRemoveStyles   : "Elimina definicions d'estil",\r
-DlgPasteCleanBox               : "Neteja camp",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automàtic",\r
@@ -363,20 +387,20 @@ DlgAnchorErrorName        : "Si us plau, escriviu el nom de l'ancora",
 \r
 // Speller Pages Dialog\r
 DlgSpellNotInDic               : "No és al diccionari",\r
-DlgSpellChangeTo               : "Canvia a",\r
+DlgSpellChangeTo               : "Reemplaça amb",\r
 DlgSpellBtnIgnore              : "Ignora",\r
 DlgSpellBtnIgnoreAll   : "Ignora-les totes",\r
 DlgSpellBtnReplace             : "Canvia",\r
 DlgSpellBtnReplaceAll  : "Canvia-les totes",\r
 DlgSpellBtnUndo                        : "Desfés",\r
-DlgSpellNoSuggestions  : "Cap sugerència",\r
-DlgSpellProgress               : "Comprovació ortogràfica en progrés",\r
-DlgSpellNoMispell              : "Comprovació ortogràfica completada",\r
-DlgSpellNoChanges              : "Comprovació ortogràfica: cap paraulada canviada",\r
-DlgSpellOneChange              : "Comprovació ortogràfica: una paraula canviada",\r
-DlgSpellManyChanges            : "Comprovació ortogràfica %1 paraules canviades",\r
+DlgSpellNoSuggestions  : "Cap suggeriment",\r
+DlgSpellProgress               : "Verificació ortogràfica en curs...",\r
+DlgSpellNoMispell              : "Verificació ortogràfica acabada: no hi ha cap paraula mal escrita",\r
+DlgSpellNoChanges              : "Verificació ortogràfica: no s'ha canviat cap paraula",\r
+DlgSpellOneChange              : "Verificació ortogràfica: s'ha canviat una paraula",\r
+DlgSpellManyChanges            : "Verificació ortogràfica: s'han canviat %1 paraules",\r
 \r
-IeSpellDownload                        : "Comprovació ortogràfica no instal·lada. Voleu descarregar-ho ara?",\r
+IeSpellDownload                        : "Verificació ortogràfica no instal·lada. Voleu descarregar-ho ara?",\r
 \r
 // Button Dialog\r
 DlgButtonText          : "Text (Valor)",\r
@@ -419,8 +443,8 @@ DlgTextareaRows     : "Files",
 // Text Field Dialog\r
 DlgTextName                    : "Nom",\r
 DlgTextValue           : "Valor",\r
-DlgTextCharWidth       : "Amplada de caràcter",\r
-DlgTextMaxChars                : "Màxim de caràcters",\r
+DlgTextCharWidth       : "Amplada",\r
+DlgTextMaxChars                : "Nombre màxim de caràcters",\r
 DlgTextType                    : "Tipus",\r
 DlgTextTypeText                : "Text",\r
 DlgTextTypePass                : "Contrasenya",\r
@@ -440,14 +464,14 @@ DlgLstTypeSquare  : "Quadrat",
 DlgLstTypeNumbers      : "Números (1, 2, 3)",\r
 DlgLstTypeLCase                : "Lletres minúscules (a, b, c)",\r
 DlgLstTypeUCase                : "Lletres majúscules (A, B, C)",\r
-DlgLstTypeSRoman       : "Números romans minúscules (i, ii, iii)",\r
-DlgLstTypeLRoman       : "Números romans majúscules (I, II, III)",\r
+DlgLstTypeSRoman       : "Números romans en minúscules (i, ii, iii)",\r
+DlgLstTypeLRoman       : "Números romans en majúscules (I, II, III)",\r
 \r
 // Document Properties Dialog\r
 DlgDocGeneralTab       : "General",\r
 DlgDocBackTab          : "Fons",\r
 DlgDocColorsTab                : "Colors i marges",\r
-DlgDocMetaTab          : "Dades Meta",\r
+DlgDocMetaTab          : "Metadades",\r
 \r
 DlgDocPageTitle                : "Títol de la pàgina",\r
 DlgDocLangDir          : "Direcció idioma",\r
@@ -490,7 +514,7 @@ DlgDocPreview               : "Vista prèvia",
 // Templates Dialog\r
 Templates                      : "Plantilles",\r
 DlgTemplatesTitle      : "Contingut plantilles",\r
-DlgTemplatesSelMsg     : "Si us plau, seleccioneu la plantilla per obrir en l'editor<br>(el contingut actual no serà enregistrat):",\r
+DlgTemplatesSelMsg     : "Si us plau, seleccioneu la plantilla per obrir a l'editor<br>(el contingut actual no serà enregistrat):",\r
 DlgTemplatesLoading    : "Carregant la llista de plantilles. Si us plau, espereu...",\r
 DlgTemplatesNoTpl      : "(No hi ha plantilles definides)",\r
 DlgTemplatesReplace    : "Reemplaça el contingut actual",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Quant a",
 DlgAboutBrowserInfoTab : "Informació del navegador",\r
 DlgAboutLicenseTab     : "Llicència",\r
 DlgAboutVersion                : "versió",\r
-DlgAboutInfo           : "Per a més informació aneu a"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Per a més informació aneu a",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",\r
+DlgDivAdvancedTab      : "Avançat",\r
+DlgDivStyle            : "Estil",\r
+DlgDivInlineStyle      : "Estil en línia",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 49b5f87..10bef9d 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Odstranit formátování",
 InsertLinkLbl          : "Odkaz",\r
 InsertLink                     : "Vložit/změnit odkaz",\r
 RemoveLink                     : "Odstranit odkaz",\r
+VisitLink                      : "Otevřít odkaz",\r
 Anchor                         : "Vložít/změnit záložku",\r
+AnchorDelete           : "Odstranit kotvu",\r
 InsertImageLbl         : "Obrázek",\r
 InsertImage                    : "Vložit/změnit obrázek",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Zarovnat vpravo",
 BlockJustify           : "Zarovnat do bloku",\r
 DecreaseIndent         : "Zmenšit odsazení",\r
 IncreaseIndent         : "Zvětšit odsazení",\r
+Blockquote                     : "Citace",\r
+CreateDiv                      : "Vytvořit Div kontejner",\r
+EditDiv                                : "Upravit Div kontejner",\r
+DeleteDiv                      : "Odstranit Div kontejner",\r
 Undo                           : "Zpět",\r
 Redo                           : "Znovu",\r
 NumberedListLbl                : "Číslování",\r
@@ -103,20 +109,27 @@ SelectionField    : "Seznam",
 ImageButton            : "Obrázkové tlačítko",\r
 \r
 FitWindow              : "Maximalizovat velikost editoru",\r
+ShowBlocks             : "Ukázat bloky",\r
 \r
 // Context Menu\r
 EditLink                       : "Změnit odkaz",\r
 CellCM                         : "Buňka",\r
 RowCM                          : "Řádek",\r
 ColumnCM                       : "Sloupec",\r
-InsertRow                      : "Vložit řádek",\r
-DeleteRows                     : "Smazat řádek",\r
-InsertColumn           : "Vložit sloupec",\r
+InsertRowAfter         : "Vložit řádek za",\r
+InsertRowBefore                : "Vložit řádek před",\r
+DeleteRows                     : "Smazat řádky",\r
+InsertColumnAfter      : "Vložit sloupec za",\r
+InsertColumnBefore     : "Vložit sloupec před",\r
 DeleteColumns          : "Smazat sloupec",\r
-InsertCell                     : "Vložit buňku",\r
+InsertCellAfter                : "Vložit buňku za",\r
+InsertCellBefore       : "Vložit buňku před",\r
 DeleteCells                    : "Smazat buňky",\r
 MergeCells                     : "Sloučit buňky",\r
-SplitCell                      : "Rozdělit buňku",\r
+MergeRight                     : "Sloučit doprava",\r
+MergeDown                      : "Sloučit dolů",\r
+HorizontalSplitCell    : "Rozdělit buňky vodorovně",\r
+VerticalSplitCell      : "Rozdělit buňky svisle",\r
 TableDelete                    : "Smazat tabulku",\r
 CellProperties         : "Vlastnosti buňky",\r
 TableProperties                : "Vlastnosti tabulky",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Vlastnosti seznamu",
 TextareaProp           : "Vlastnosti textové oblasti",\r
 FormProp                       : "Vlastnosti formuláře",\r
 \r
-FontFormats                    : "Normální;Formátovaný;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6",              //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normální;Naformátováno;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6;Normální (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Probíhá zpracování XHTML. Prosím čekejte...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Panel nástrojů \"%1\" neexistuje",
 NoActiveX                      : "Nastavení bezpečnosti Vašeho prohlížeče omezuje funkčnost některých jeho možností. Je třeba zapnout volbu \"Spouštět ovládáací prvky ActiveX a moduly plug-in\", jinak nebude možné využívat všechny dosputné schopnosti editoru.",\r
 BrowseServerBlocked : "Průzkumník zdrojů nelze otevřít. Prověřte, zda nemáte aktivováno blokování popup oken.",\r
 DialogBlocked          : "Nelze otevřít dialogové okno. Prověřte, zda nemáte aktivováno blokování popup oken.",\r
+VisitLinkBlocked       : "Není možné otevřít nové okno. Prověřte, zda všechny nástroje pro blokování vyskakovacích oken jsou vypnuty.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Vybrat kotvu",\r
 DlgLnkAnchorByName     : "Podle jména kotvy",\r
 DlgLnkAnchorById       : "Podle Id objektu",\r
-DlgLnkNoAnchors                : "<Ve stránce žádná kotva není definována>",             //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Ve stránce není definována žádná kotva!)",\r
 DlgLnkEMail                    : "E-Mailová adresa",\r
 DlgLnkEMailSubject     : "Předmět zprávy",\r
 DlgLnkEMailBody                : "Tělo zprávy",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Vzdálenost buněk",
 DlgTableCellPad                : "Odsazení obsahu",\r
 DlgTableCaption                : "Popis",\r
 DlgTableSummary                : "Souhrn",\r
+DlgTableHeaders                : "Záhlaví",\r
+DlgTableHeadersNone            : "Žádné",\r
+DlgTableHeadersColumn  : "První sloupec",\r
+DlgTableHeadersRow             : "První řádek",\r
+DlgTableHeadersBoth            : "Oboje",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Vlastnosti buňky",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Nahoru",
 DlgCellVerAlignMiddle  : "Doprostřed",\r
 DlgCellVerAlignBottom  : "Dolů",\r
 DlgCellVerAlignBaseline        : "Na účaří",\r
+DlgCellType            : "Typ buňky",\r
+DlgCellTypeData                : "Data",\r
+DlgCellTypeHeader      : "Zálaví",\r
 DlgCellRowSpan         : "Sloučené řádky",\r
 DlgCellCollSpan                : "Sloučené sloupce",\r
 DlgCellBackColor       : "Barva pozadí",\r
 DlgCellBorderColor     : "Barva ohraničení",\r
 DlgCellBtnSelect       : "Výběr...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Najít a nahradit",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Hledat",\r
 DlgFindFindBtn         : "Hledat",\r
@@ -344,10 +369,9 @@ PasteAsText                : "Vložit jako čistý text",
 PasteFromWord  : "Vložit text z Wordu",\r
 \r
 DlgPasteMsg2   : "Do následujícího pole vložte požadovaný obsah pomocí klávesnice (<STRONG>Ctrl+V</STRONG>) a stiskněte <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "Z důvodů nastavení bezpečnosti Vašeho prohlížeče nemůže editor přistupovat přímo do schránky. Obsah schránky prosím vložte znovu do tohoto okna.",\r
 DlgPasteIgnoreFont             : "Ignorovat písmo",\r
 DlgPasteRemoveStyles   : "Odstranit styly",\r
-DlgPasteCleanBox               : "Vyčistit",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automaticky",\r
@@ -432,7 +456,7 @@ DlgHiddenValue      : "Hodnota",
 // Bulleted List Dialog\r
 BulletedListProp       : "Vlastnosti odrážek",\r
 NumberedListProp       : "Vlastnosti číslovaného seznamu",\r
-DlgLstStart                    : "Start",      //MISSING\r
+DlgLstStart                    : "Začátek",\r
 DlgLstType                     : "Typ",\r
 DlgLstTypeCircle       : "Kružnice",\r
 DlgLstTypeDisc         : "Kruh",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "O aplikaci",
 DlgAboutBrowserInfoTab : "Informace o prohlížeči",\r
 DlgAboutLicenseTab     : "Licence",\r
 DlgAboutVersion                : "verze",\r
-DlgAboutInfo           : "Více informací získáte na"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Více informací získáte na",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Obecné",\r
+DlgDivAdvancedTab      : "Rozšířené",\r
+DlgDivStyle            : "Styl",\r
+DlgDivInlineStyle      : "Vložený styl",\r
+\r
+ScaytTitle                     : "SCAYT",\r
+ScaytTitleOptions      : "Nastavení",\r
+ScaytTitleLangs                : "Jazyky",\r
+ScaytTitleAbout                : "O aplikaci"\r
+};\r
index 8143241..9e935b8 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Fjern formatering",
 InsertLinkLbl          : "Hyperlink",\r
 InsertLink                     : "Indsæt/rediger hyperlink",\r
 RemoveLink                     : "Fjern hyperlink",\r
+VisitLink                      : "Åbn hyperlink",\r
 Anchor                         : "Indsæt/rediger bogmærke",\r
+AnchorDelete           : "Fjern bogmærke",\r
 InsertImageLbl         : "Indsæt billede",\r
 InsertImage                    : "Indsæt/rediger billede",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Højrestillet",
 BlockJustify           : "Lige margener",\r
 DecreaseIndent         : "Formindsk indrykning",\r
 IncreaseIndent         : "Forøg indrykning",\r
+Blockquote                     : "Blokcitat",\r
+CreateDiv                      : "Opret div container",\r
+EditDiv                                : "Rediger div container",\r
+DeleteDiv                      : "Fjern div container",\r
 Undo                           : "Fortryd",\r
 Redo                           : "Annuller fortryd",\r
 NumberedListLbl                : "Talopstilling",\r
@@ -103,20 +109,27 @@ SelectionField    : "Indsæt liste",
 ImageButton            : "Indsæt billedknap",\r
 \r
 FitWindow              : "Maksimer editor vinduet",\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Rediger hyperlink",\r
 CellCM                         : "Celle",\r
 RowCM                          : "Række",\r
 ColumnCM                       : "Kolonne",\r
-InsertRow                      : "Indsæt række",\r
+InsertRowAfter         : "Indsæt række efter",\r
+InsertRowBefore                : "Indsæt række før",\r
 DeleteRows                     : "Slet række",\r
-InsertColumn           : "Indsæt kolonne",\r
+InsertColumnAfter      : "Indsæt kolonne efter",\r
+InsertColumnBefore     : "Indsæt kolonne før",\r
 DeleteColumns          : "Slet kolonne",\r
-InsertCell                     : "Indsæt celle",\r
+InsertCellAfter                : "Indsæt celle efter",\r
+InsertCellBefore       : "Indsæt celle før",\r
 DeleteCells                    : "Slet celle",\r
 MergeCells                     : "Flet celler",\r
-SplitCell                      : "Opdel celle",\r
+MergeRight                     : "Flet til højre",\r
+MergeDown                      : "Flet nedad",\r
+HorizontalSplitCell    : "Del celle vandret",\r
+VerticalSplitCell      : "Del celle lodret",\r
 TableDelete                    : "Slet tabel",\r
 CellProperties         : "Egenskaber for celle",\r
 TableProperties                : "Egenskaber for tabel",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Egenskaber for liste",
 TextareaProp           : "Egenskaber for tekstboks",\r
 FormProp                       : "Egenskaber for formular",\r
 \r
-FontFormats                    : "Normal;Formateret;Adresse;Overskrift 1;Overskrift 2;Overskrift 3;Overskrift 4;Overskrift 5;Overskrift 6;Normal (DIV)",               //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formateret;Adresse;Overskrift 1;Overskrift 2;Overskrift 3;Overskrift 4;Overskrift 5;Overskrift 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Behandler XHTML...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Værktøjslinjen \"%1\" eksisterer ikke!",
 NoActiveX                      : "Din browsers sikkerhedsindstillinger begrænser nogle af editorens muligheder.<br>Slå \"Kør ActiveX-objekter og plug-ins\" til, ellers vil du opleve fejl og manglende muligheder.",\r
 BrowseServerBlocked : "Browseren kunne ikke åbne de nødvendige ressourcer!<br>Slå pop-up blokering fra.",\r
 DialogBlocked          : "Dialogvinduet kunne ikke åbnes!<br>Slå pop-up blokering fra.",\r
+VisitLinkBlocked       : "Det var ikke muligt at åbne et nyt vindue. Tjek, at ingen popup-blokkere er aktive.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Vælg et anker",\r
 DlgLnkAnchorByName     : "Efter anker navn",\r
 DlgLnkAnchorById       : "Efter element Id",\r
-DlgLnkNoAnchors                : "<Ingen bogmærker dokumentet>",              //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Ingen bogmærker dokumentet)",\r
 DlgLnkEMail                    : "E-mailadresse",\r
 DlgLnkEMailSubject     : "Emne",\r
 DlgLnkEMailBody                : "Brødtekst",\r
@@ -262,7 +276,7 @@ DlgLnkPopTop                : "Position fra toppen",
 DlnLnkMsgNoUrl         : "Indtast hyperlink URL!",\r
 DlnLnkMsgNoEMail       : "Indtast e-mailaddresse!",\r
 DlnLnkMsgNoAnchor      : "Vælg bogmærke!",\r
-DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
+DlnLnkMsgInvPopName    : "Navnet på popup'en skal starte med et bogstav og må ikke indeholde mellemrum",\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Vælg farve",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Celleafstand",
 DlgTableCellPad                : "Cellemargen",\r
 DlgTableCaption                : "Titel",\r
 DlgTableSummary                : "Resume",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Egenskaber for celle",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Øverst",
 DlgCellVerAlignMiddle  : "Centreret",\r
 DlgCellVerAlignBottom  : "Nederst",\r
 DlgCellVerAlignBaseline        : "Grundlinje",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Højde i antal rækker",\r
 DlgCellCollSpan                : "Bredde i antal kolonner",\r
 DlgCellBackColor       : "Baggrundsfarve",\r
 DlgCellBorderColor     : "Rammefarve",\r
 DlgCellBtnSelect       : "Vælg...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Søg og erstat",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Find",\r
 DlgFindFindBtn         : "Find",\r
@@ -344,10 +369,9 @@ PasteAsText                : "Indsæt som ikke-formateret tekst",
 PasteFromWord  : "Indsæt fra Word",\r
 \r
 DlgPasteMsg2   : "Indsæt i feltet herunder (<STRONG>Ctrl+V</STRONG>) og klik <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "På grund af browserens sikkerhedsindstillinger kan editoren ikke tilgå udklipsholderen direkte. Du skal indsætte udklipsholderens indhold i dette vindue igen.",\r
 DlgPasteIgnoreFont             : "Ignorer font definitioner",\r
 DlgPasteRemoveStyles   : "Ignorer typografi",\r
-DlgPasteCleanBox               : "Slet indhold",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatisk",\r
@@ -381,9 +405,9 @@ IeSpellDownload                     : "Stavekontrol ikke installeret.<br>Vil du hente den nu?",
 // Button Dialog\r
 DlgButtonText          : "Tekst",\r
 DlgButtonType          : "Type",\r
-DlgButtonTypeBtn       : "Button",     //MISSING\r
-DlgButtonTypeSbm       : "Submit",     //MISSING\r
-DlgButtonTypeRst       : "Reset",      //MISSING\r
+DlgButtonTypeBtn       : "Knap",\r
+DlgButtonTypeSbm       : "Send",\r
+DlgButtonTypeRst       : "Nulstil",\r
 \r
 // Checkbox and Radio Button Dialogs\r
 DlgCheckboxName                : "Navn",\r
@@ -432,7 +456,7 @@ DlgHiddenValue      : "Værdi",
 // Bulleted List Dialog\r
 BulletedListProp       : "Egenskaber for punktopstilling",\r
 NumberedListProp       : "Egenskaber for talopstilling",\r
-DlgLstStart                    : "Start",      //MISSING\r
+DlgLstStart                    : "Start",\r
 DlgLstType                     : "Type",\r
 DlgLstTypeCircle       : "Cirkel",\r
 DlgLstTypeDisc         : "Udfyldt cirkel",\r
@@ -455,15 +479,15 @@ DlgDocLangDirLTR  : "Fra venstre mod højre (LTR)",
 DlgDocLangDirRTL       : "Fra højre mod venstre (RTL)",\r
 DlgDocLangCode         : "Landekode",\r
 DlgDocCharSet          : "Tegnsæt kode",\r
-DlgDocCharSetCE                : "Central European",   //MISSING\r
-DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
-DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
-DlgDocCharSetGR                : "Greek",      //MISSING\r
-DlgDocCharSetJP                : "Japanese",   //MISSING\r
-DlgDocCharSetKR                : "Korean",     //MISSING\r
-DlgDocCharSetTR                : "Turkish",    //MISSING\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
-DlgDocCharSetWE                : "Western European",   //MISSING\r
+DlgDocCharSetCE                : "Centraleuropæisk",\r
+DlgDocCharSetCT                : "Traditionel kinesisk (Big5)",\r
+DlgDocCharSetCR                : "Kyrillisk",\r
+DlgDocCharSetGR                : "Græsk",\r
+DlgDocCharSetJP                : "Japansk",\r
+DlgDocCharSetKR                : "Koreansk",\r
+DlgDocCharSetTR                : "Tyrkisk",\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",\r
+DlgDocCharSetWE                : "Vesteuropæisk",\r
 DlgDocCharSetOther     : "Anden tegnsæt kode",\r
 \r
 DlgDocDocType          : "Dokumenttype kategori",\r
@@ -493,12 +517,23 @@ DlgTemplatesTitle : "Indholdsskabeloner",
 DlgTemplatesSelMsg     : "Vælg den skabelon, som skal åbnes i editoren.<br>(Nuværende indhold vil blive overskrevet!):",\r
 DlgTemplatesLoading    : "Henter liste over skabeloner...",\r
 DlgTemplatesNoTpl      : "(Der er ikke defineret nogen skabelon!)",\r
-DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
+DlgTemplatesReplace    : "Erstat det faktiske indhold",\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "Om",\r
 DlgAboutBrowserInfoTab : "Generelt",\r
 DlgAboutLicenseTab     : "Licens",\r
 DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "For yderlig information gå til"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "For yderlig information gå til",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Generelt",\r
+DlgDivAdvancedTab      : "Avanceret",\r
+DlgDivStyle            : "Style",\r
+DlgDivInlineStyle      : "Inline style",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 2848d34..774fcd7 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Formatierungen entfernen",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Link einfügen/editieren",\r
 RemoveLink                     : "Link entfernen",\r
+VisitLink                      : "Link aufrufen",\r
 Anchor                         : "Anker einfügen/editieren",\r
+AnchorDelete           : "Anker entfernen",\r
 InsertImageLbl         : "Bild",\r
 InsertImage                    : "Bild einfügen/editieren",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Rechtsbündig",
 BlockJustify           : "Blocksatz",\r
 DecreaseIndent         : "Einzug verringern",\r
 IncreaseIndent         : "Einzug erhöhen",\r
+Blockquote                     : "Zitatblock",\r
+CreateDiv                      : "Erzeuge Div Block",\r
+EditDiv                                : "Bearbeite Div Block",\r
+DeleteDiv                      : "Entferne Div Block",\r
 Undo                           : "Rückgängig",\r
 Redo                           : "Wiederherstellen",\r
 NumberedListLbl                : "Nummerierte Liste",\r
@@ -85,7 +91,7 @@ FontSize                      : "Größe",
 TextColor                      : "Textfarbe",\r
 BGColor                                : "Hintergrundfarbe",\r
 Source                         : "Quellcode",\r
-Find                           : "Finden",\r
+Find                           : "Suchen",\r
 Replace                                : "Ersetzen",\r
 SpellCheck                     : "Rechtschreibprüfung",\r
 UniversalKeyboard      : "Universal-Tastatur",\r
@@ -103,38 +109,45 @@ SelectionField    : "Auswahlfeld",
 ImageButton            : "Bildbutton",\r
 \r
 FitWindow              : "Editor maximieren",\r
+ShowBlocks             : "Blöcke anzeigen",\r
 \r
 // Context Menu\r
 EditLink                       : "Link editieren",\r
 CellCM                         : "Zelle",\r
 RowCM                          : "Zeile",\r
 ColumnCM                       : "Spalte",\r
-InsertRow                      : "Zeile einfügen",\r
+InsertRowAfter         : "Zeile unterhalb einfügen",\r
+InsertRowBefore                : "Zeile oberhalb einfügen",\r
 DeleteRows                     : "Zeile entfernen",\r
-InsertColumn           : "Spalte einfügen",\r
+InsertColumnAfter      : "Spalte rechts danach einfügen",\r
+InsertColumnBefore     : "Spalte links davor einfügen",\r
 DeleteColumns          : "Spalte löschen",\r
-InsertCell                     : "Zelle einfügen",\r
+InsertCellAfter                : "Zelle danach einfügen",\r
+InsertCellBefore       : "Zelle davor einfügen",\r
 DeleteCells                    : "Zelle löschen",\r
-MergeCells                     : "Zellen vereinen",\r
-SplitCell                      : "Zelle teilen",\r
+MergeCells                     : "Zellen verbinden",\r
+MergeRight                     : "nach rechts verbinden",\r
+MergeDown                      : "nach unten verbinden",\r
+HorizontalSplitCell    : "Zelle horizontal teilen",\r
+VerticalSplitCell      : "Zelle vertikal teilen",\r
 TableDelete                    : "Tabelle löschen",\r
-CellProperties         : "Zellen Eigenschaften",\r
-TableProperties                : "Tabellen Eigenschaften",\r
-ImageProperties                : "Bild Eigenschaften",\r
-FlashProperties                : "Flash Eigenschaften",\r
-\r
-AnchorProp                     : "Anker Eigenschaften",\r
-ButtonProp                     : "Button Eigenschaften",\r
-CheckboxProp           : "Checkbox Eigenschaften",\r
-HiddenFieldProp                : "Verstecktes Feld Eigenschaften",\r
-RadioButtonProp                : "Optionsfeld Eigenschaften",\r
-ImageButtonProp                : "Bildbutton Eigenschaften",\r
+CellProperties         : "Zellen-Eigenschaften",\r
+TableProperties                : "Tabellen-Eigenschaften",\r
+ImageProperties                : "Bild-Eigenschaften",\r
+FlashProperties                : "Flash-Eigenschaften",\r
+\r
+AnchorProp                     : "Anker-Eigenschaften",\r
+ButtonProp                     : "Button-Eigenschaften",\r
+CheckboxProp           : "Checkbox-Eigenschaften",\r
+HiddenFieldProp                : "Verstecktes Feld-Eigenschaften",\r
+RadioButtonProp                : "Optionsfeld-Eigenschaften",\r
+ImageButtonProp                : "Bildbutton-Eigenschaften",\r
 TextFieldProp          : "Textfeld (einzeilig) Eigenschaften",\r
-SelectionFieldProp     : "Auswahlfeld Eigenschaften",\r
+SelectionFieldProp     : "Auswahlfeld-Eigenschaften",\r
 TextareaProp           : "Textfeld (mehrzeilig) Eigenschaften",\r
-FormProp                       : "Formular Eigenschaften",\r
+FormProp                       : "Formular-Eigenschaften",\r
 \r
-FontFormats                    : "Normal;Formatiert;Addresse;Überschrift 1;Überschrift 2;Überschrift 3;Überschrift 4;Überschrift 5;Überschrift 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatiert;Addresse;Überschrift 1;Überschrift 2;Überschrift 3;Überschrift 4;Überschrift 5;Überschrift 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Bearbeite XHTML. Bitte warten...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Menüleiste \"%1\" existiert nicht",
 NoActiveX                      : "Die Sicherheitseinstellungen Ihres Browsers beschränken evtl. einige Funktionen des Editors. Aktivieren Sie die Option \"ActiveX-Steuerelemente und Plugins ausführen\" in den Sicherheitseinstellungen, um diese Funktionen nutzen zu können",\r
 BrowseServerBlocked : "Ein Auswahlfenster konnte nicht geöffnet werden. Stellen Sie sicher, das alle Popup-Blocker ausgeschaltet sind.",\r
 DialogBlocked          : "Das Dialog-Fenster konnte nicht geöffnet werden. Stellen Sie sicher, das alle Popup-Blocker ausgeschaltet sind.",\r
+VisitLinkBlocked       : "Es war leider nicht möglich ein neues Fenster zu öffnen. Bitte versichern Sie sich das der Popup-Blocker ausgeschaltet ist.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -160,24 +174,24 @@ DlgInfoTab                        : "Info",
 DlgAlertUrl                    : "Bitte tragen Sie die URL ein",\r
 \r
 // General Dialogs Labels\r
-DlgGenNotSet           : "< nichts >",\r
+DlgGenNotSet           : "<nichts>",\r
 DlgGenId                       : "ID",\r
 DlgGenLangDir          : "Schreibrichtung",\r
 DlgGenLangDirLtr       : "Links nach Rechts (LTR)",\r
 DlgGenLangDirRtl       : "Rechts nach Links (RTL)",\r
 DlgGenLangCode         : "Sprachenkürzel",\r
-DlgGenAccessKey                : "Schlüssel",\r
+DlgGenAccessKey                : "Zugriffstaste",\r
 DlgGenName                     : "Name",\r
-DlgGenTabIndex         : "Tab Index",\r
+DlgGenTabIndex         : "Tab-Index",\r
 DlgGenLongDescr                : "Langform URL",\r
 DlgGenClass                    : "Stylesheet Klasse",\r
 DlgGenTitle                    : "Titel Beschreibung",\r
-DlgGenContType         : "Content Beschreibung",\r
+DlgGenContType         : "Inhaltstyp",\r
 DlgGenLinkCharset      : "Ziel-Zeichensatz",\r
 DlgGenStyle                    : "Style",\r
 \r
 // Image Dialog\r
-DlgImgTitle                    : "Bild Eigenschaften",\r
+DlgImgTitle                    : "Bild-Eigenschaften",\r
 DlgImgInfoTab          : "Bild-Info",\r
 DlgImgBtnUpload                : "Zum Server senden",\r
 DlgImgURL                      : "Bildauswahl",\r
@@ -188,8 +202,8 @@ DlgImgHeight                : "Höhe",
 DlgImgLockRatio                : "Größenverhältniss beibehalten",\r
 DlgBtnResetSize                : "Größe zurücksetzen",\r
 DlgImgBorder           : "Rahmen",\r
-DlgImgHSpace           : "H-Abstand",\r
-DlgImgVSpace           : "V-Abstand",\r
+DlgImgHSpace           : "Horizontal-Abstand",\r
+DlgImgVSpace           : "Vertikal-Abstand",\r
 DlgImgAlign                    : "Ausrichtung",\r
 DlgImgAlignLeft                : "Links",\r
 DlgImgAlignAbsBottom: "Abs Unten",\r
@@ -205,7 +219,7 @@ DlgImgAlertUrl              : "Bitte geben Sie die Bild-URL an",
 DlgImgLinkTab          : "Link",\r
 \r
 // Flash Dialog\r
-DlgFlashTitle          : "Flash Eigenschaften",\r
+DlgFlashTitle          : "Flash-Eigenschaften",\r
 DlgFlashChkPlay                : "autom. Abspielen",\r
 DlgFlashChkLoop                : "Endlosschleife",\r
 DlgFlashChkMenu                : "Flash-Menü aktivieren",\r
@@ -216,7 +230,7 @@ DlgFlashScaleFit    : "Passgenau",
 \r
 // Link Dialog\r
 DlgLnkWindowTitle      : "Link",\r
-DlgLnkInfoTab          : "Link Info",\r
+DlgLnkInfoTab          : "Link-Info",\r
 DlgLnkTargetTab                : "Zielseite",\r
 \r
 DlgLnkType                     : "Link-Typ",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Anker auswählen",\r
 DlgLnkAnchorByName     : "nach Anker Name",\r
 DlgLnkAnchorById       : "nach Element Id",\r
-DlgLnkNoAnchors                : "<keine Anker im Dokument vorhanden>",                //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(keine Anker im Dokument vorhanden)",\r
 DlgLnkEMail                    : "E-Mail Addresse",\r
 DlgLnkEMailSubject     : "Betreffzeile",\r
 DlgLnkEMailBody                : "Nachrichtentext",\r
@@ -243,9 +257,9 @@ DlgLnkTargetBlank   : "Neues Fenster (_blank)",
 DlgLnkTargetParent     : "Oberes Fenster (_parent)",\r
 DlgLnkTargetSelf       : "Gleiches Fenster (_self)",\r
 DlgLnkTargetTop                : "Oberstes Fenster (_top)",\r
-DlgLnkTargetFrameName  : "Ziel-Fenster Name",\r
-DlgLnkPopWinName       : "Pop-up Fenster Name",\r
-DlgLnkPopWinFeat       : "Pop-up Fenster Eigenschaften",\r
+DlgLnkTargetFrameName  : "Ziel-Fenster-Name",\r
+DlgLnkPopWinName       : "Pop-up Fenster-Name",\r
+DlgLnkPopWinFeat       : "Pop-up Fenster-Eigenschaften",\r
 DlgLnkPopResize                : "Vergrößerbar",\r
 DlgLnkPopLocation      : "Adress-Leiste",\r
 DlgLnkPopMenu          : "Menü-Leiste",\r
@@ -277,12 +291,12 @@ DlgSmileyTitle            : "Smiley auswählen",
 DlgSpecialCharTitle    : "Sonderzeichen auswählen",\r
 \r
 // Table Dialog\r
-DlgTableTitle          : "Tabellen Eigenschaften",\r
+DlgTableTitle          : "Tabellen-Eigenschaften",\r
 DlgTableRows           : "Zeile",\r
 DlgTableColumns                : "Spalte",\r
 DlgTableBorder         : "Rahmen",\r
 DlgTableAlign          : "Ausrichtung",\r
-DlgTableAlignNotSet    : "<nichts>",\r
+DlgTableAlignNotSet    : "<keine>",\r
 DlgTableAlignLeft      : "Links",\r
 DlgTableAlignCenter    : "Zentriert",\r
 DlgTableAlignRight     : "Rechts",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Zellenabstand außen",
 DlgTableCellPad                : "Zellenabstand innen",\r
 DlgTableCaption                : "Überschrift",\r
 DlgTableSummary                : "Inhaltsübersicht",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Zellen-Eigenschaften",\r
@@ -302,26 +321,32 @@ DlgCellWidthPx            : "Pixel",
 DlgCellWidthPc         : "%",\r
 DlgCellHeight          : "Höhe",\r
 DlgCellWordWrap                : "Umbruch",\r
-DlgCellWordWrapNotSet  : "<nichts>",\r
+DlgCellWordWrapNotSet  : "<keiner>",\r
 DlgCellWordWrapYes     : "Ja",\r
 DlgCellWordWrapNo      : "Nein",\r
 DlgCellHorAlign                : "Horizontale Ausrichtung",\r
-DlgCellHorAlignNotSet  : "<nichts>",\r
+DlgCellHorAlignNotSet  : "<keine>",\r
 DlgCellHorAlignLeft    : "Links",\r
 DlgCellHorAlignCenter  : "Zentriert",\r
 DlgCellHorAlignRight: "Rechts",\r
 DlgCellVerAlign                : "Vertikale Ausrichtung",\r
-DlgCellVerAlignNotSet  : "<nichts>",\r
+DlgCellVerAlignNotSet  : "<keine>",\r
 DlgCellVerAlignTop     : "Oben",\r
 DlgCellVerAlignMiddle  : "Mitte",\r
 DlgCellVerAlignBottom  : "Unten",\r
 DlgCellVerAlignBaseline        : "Grundlinie",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Zeilen zusammenfassen",\r
 DlgCellCollSpan                : "Spalten zusammenfassen",\r
 DlgCellBackColor       : "Hintergrundfarbe",\r
 DlgCellBorderColor     : "Rahmenfarbe",\r
 DlgCellBtnSelect       : "Auswahl...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Suchen und Ersetzen",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Finden",\r
 DlgFindFindBtn         : "Finden",\r
@@ -343,21 +368,20 @@ PasteErrorCopy    : "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu
 PasteAsText            : "Als Text einfügen",\r
 PasteFromWord  : "Aus Word einfügen",\r
 \r
-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>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteMsg2   : "Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit <STRONG>Strg+V</STRONG>) ein und bestätigen Sie mit <STRONG>OK</STRONG>.",\r
+DlgPasteSec            : "Aufgrund von Sicherheitsbeschränkungen Ihres Browsers kann der Editor nicht direkt auf die Zwischenablage zugreifen. Bitte fügen Sie den Inhalt erneut in diesem Fenster ein.",\r
 DlgPasteIgnoreFont             : "Ignoriere Schriftart-Definitionen",\r
 DlgPasteRemoveStyles   : "Entferne Style-Definitionen",\r
-DlgPasteCleanBox               : "Inhalt aufräumen",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatisch",\r
 ColorMoreColors        : "Weitere Farben...",\r
 \r
 // Document Properties\r
-DocProps               : "Dokument Eigenschaften",\r
+DocProps               : "Dokument-Eigenschaften",\r
 \r
 // Anchor Dialog\r
-DlgAnchorTitle         : "Anker Eigenschaften",\r
+DlgAnchorTitle         : "Anker-Eigenschaften",\r
 DlgAnchorName          : "Anker Name",\r
 DlgAnchorErrorName     : "Bitte geben Sie den Namen des Ankers ein",\r
 \r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Über",
 DlgAboutBrowserInfoTab : "Browser-Info",\r
 DlgAboutLicenseTab     : "Lizenz",\r
 DlgAboutVersion                : "Version",\r
-DlgAboutInfo           : "Für weitere Informationen siehe"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Für weitere Informationen siehe",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Allgemein",\r
+DlgDivAdvancedTab      : "Erweitert",\r
+DlgDivStyle            : "Style",\r
+DlgDivInlineStyle      : "Inline Style",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 90fefc4..b5e4268 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Αφαίρεση Μορφοποίησης",
 InsertLinkLbl          : "Σύνδεσμος (Link)",\r
 InsertLink                     : "Εισαγωγή/Μεταβολή Συνδέσμου (Link)",\r
 RemoveLink                     : "Αφαίρεση Συνδέσμου (Link)",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Εισαγωγή/επεξεργασία Anchor",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Εικόνα",\r
 InsertImage                    : "Εισαγωγή/Μεταβολή Εικόνας",\r
 InsertFlashLbl         : "Εισαγωγή Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Στοίχιση Δεξιά",
 BlockJustify           : "Πλήρης Στοίχιση (Block)",\r
 DecreaseIndent         : "Μείωση Εσοχής",\r
 IncreaseIndent         : "Αύξηση Εσοχής",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Αναίρεση",\r
 Redo                           : "Επαναφορά",\r
 NumberedListLbl                : "Λίστα με Αριθμούς",\r
@@ -103,20 +109,27 @@ SelectionField    : "Πεδίο επιλογής",
 ImageButton            : "Κουμπί εικόνας",\r
 \r
 FitWindow              : "Μεγιστοποίηση προγράμματος",\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Μεταβολή Συνδέσμου (Link)",\r
 CellCM                         : "Κελί",\r
 RowCM                          : "Σειρά",\r
 ColumnCM                       : "Στήλη",\r
-InsertRow                      : "Εισαγωγή Γραμμής",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "Διαγραφή Γραμμών",\r
-InsertColumn           : "Εισαγωγή Κολώνας",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "Διαγραφή Κολωνών",\r
-InsertCell                     : "Εισαγωγή Κελιού",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "Διαγραφή Κελιών",\r
 MergeCells                     : "Ενοποίηση Κελιών",\r
-SplitCell                      : "Διαχωρισμός Κελιού",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "Διαγραφή πίνακα",\r
 CellProperties         : "Ιδιότητες Κελιού",\r
 TableProperties                : "Ιδιότητες Πίνακα",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Ιδιότητες πεδίου επιλογής",
 TextareaProp           : "Ιδιότητες περιοχής κειμένου",\r
 FormProp                       : "Ιδιότητες φόρμας",\r
 \r
-FontFormats                    : "Κανονικό;Μορφοποιημένο;Διεύθυνση;Επικεφαλίδα 1;Επικεφαλίδα 2;Επικεφαλίδα 3;Επικεφαλίδα 4;Επικεφαλίδα 5;Επικεφαλίδα 6",               //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Κανονικό;Μορφοποιημένο;Διεύθυνση;Επικεφαλίδα 1;Επικεφαλίδα 2;Επικεφαλίδα 3;Επικεφαλίδα 4;Επικεφαλίδα 5;Επικεφαλίδα 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Επεξεργασία XHTML. Παρακαλώ περιμένετε...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Η μπάρα εργαλείων \"%1\" δεν υπάρχε
 NoActiveX                      : "Οι ρυθμίσεις ασφαλείας του browser σας μπορεί να περιορίσουν κάποιες ρυθμίσεις του προγράμματος. Χρειάζεται να ενεργοποιήσετε την επιλογή \"Run ActiveX controls and plug-ins\". Ίσως παρουσιαστούν λάθη και παρατηρήσετε ελειπείς λειτουργίες.",\r
 BrowseServerBlocked : "Οι πόροι του browser σας δεν είναι προσπελάσιμοι. Σιγουρευτείτε ότι δεν υπάρχουν ενεργοί popup blockers.",\r
 DialogBlocked          : "Δεν ήταν δυνατό να ανοίξει το παράθυρο διαλόγου. Σιγουρευτείτε ότι δεν υπάρχουν ενεργοί popup blockers.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Επιλέξτε μια άγκυρα",\r
 DlgLnkAnchorByName     : "Βάσει του Ονόματος (Name) της άγκυρας",\r
 DlgLnkAnchorById       : "Βάσει του Element Id",\r
-DlgLnkNoAnchors                : "<Δεν υπάρχουν άγκυρες στο κείμενο>",             //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Δεν υπάρχουν άγκυρες στο κείμενο)",\r
 DlgLnkEMail                    : "Διεύθυνση Ηλεκτρονικού Ταχυδρομείου",\r
 DlgLnkEMailSubject     : "Θέμα Μηνύματος",\r
 DlgLnkEMailBody                : "Κείμενο Μηνύματος",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Απόσταση κελιών",
 DlgTableCellPad                : "Γέμισμα κελιών",\r
 DlgTableCaption                : "Υπέρτιτλος",\r
 DlgTableSummary                : "Περίληψη",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Ιδιότητες Κελιού",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Πάνω (Top)",
 DlgCellVerAlignMiddle  : "Μέση (Middle)",\r
 DlgCellVerAlignBottom  : "Κάτω (Bottom)",\r
 DlgCellVerAlignBaseline        : "Γραμμή Βάσης (Baseline)",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Αριθμός Γραμμών (Rows Span)",\r
 DlgCellCollSpan                : "Αριθμός Κολωνών (Columns Span)",\r
 DlgCellBackColor       : "Χρώμα Υποβάθρου",\r
 DlgCellBorderColor     : "Χρώμα Περιθωρίου",\r
 DlgCellBtnSelect       : "Επιλογή...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Αναζήτηση",\r
 DlgFindFindBtn         : "Αναζήτηση",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Παρακαλώ επικολήστε στο ακόλουθο κ
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Αγνόηση προδιαγραφών γραμματοσειράς",\r
 DlgPasteRemoveStyles   : "Αφαίρεση προδιαγραφών στύλ",\r
-DlgPasteCleanBox               : "Κουτί εκαθάρισης",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Αυτόματο",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Σχετικά",
 DlgAboutBrowserInfoTab : "Πληροφορίες Browser",\r
 DlgAboutLicenseTab     : "Άδεια",\r
 DlgAboutVersion                : "έκδοση",\r
-DlgAboutInfo           : "Για περισσότερες πληροφορίες"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Για περισσότερες πληροφορίες",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index b6960b6..83d6624 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Remove Format",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Insert/Edit Link",\r
 RemoveLink                     : "Remove Link",\r
+VisitLink                      : "Open Link",\r
 Anchor                         : "Insert/Edit Anchor",\r
+AnchorDelete           : "Remove Anchor",\r
 InsertImageLbl         : "Image",\r
 InsertImage                    : "Insert/Edit Image",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Right Justify",
 BlockJustify           : "Block Justify",\r
 DecreaseIndent         : "Decrease Indent",\r
 IncreaseIndent         : "Increase Indent",\r
+Blockquote                     : "Blockquote",\r
+CreateDiv                      : "Create Div Container",\r
+EditDiv                                : "Edit Div Container",\r
+DeleteDiv                      : "Remove Div Container",\r
 Undo                           : "Undo",\r
 Redo                           : "Redo",\r
 NumberedListLbl                : "Numbered List",\r
@@ -103,20 +109,27 @@ SelectionField    : "Selection Field",
 ImageButton            : "Image Button",\r
 \r
 FitWindow              : "Maximize the editor size",\r
+ShowBlocks             : "Show Blocks",\r
 \r
 // Context Menu\r
 EditLink                       : "Edit Link",\r
 CellCM                         : "Cell",\r
 RowCM                          : "Row",\r
 ColumnCM                       : "Column",\r
-InsertRow                      : "Insert Row",\r
+InsertRowAfter         : "Insert Row After",\r
+InsertRowBefore                : "Insert Row Before",\r
 DeleteRows                     : "Delete Rows",\r
-InsertColumn           : "Insert Column",\r
+InsertColumnAfter      : "Insert Column After",\r
+InsertColumnBefore     : "Insert Column Before",\r
 DeleteColumns          : "Delete Columns",\r
-InsertCell                     : "Insert Cell",\r
+InsertCellAfter                : "Insert Cell After",\r
+InsertCellBefore       : "Insert Cell Before",\r
 DeleteCells                    : "Delete Cells",\r
 MergeCells                     : "Merge Cells",\r
-SplitCell                      : "Split Cell",\r
+MergeRight                     : "Merge Right",\r
+MergeDown                      : "Merge Down",\r
+HorizontalSplitCell    : "Split Cell Horizontally",\r
+VerticalSplitCell      : "Split Cell Vertically",\r
 TableDelete                    : "Delete Table",\r
 CellProperties         : "Cell Properties",\r
 TableProperties                : "Table Properties",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Selection Field Properties",
 TextareaProp           : "Textarea Properties",\r
 FormProp                       : "Form Properties",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Processing XHTML. Please wait...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Toolbar set \"%1\" doesn't exist",
 NoActiveX                      : "Your 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.",\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Select an Anchor",\r
 DlgLnkAnchorByName     : "By Anchor Name",\r
 DlgLnkAnchorById       : "By Element Id",\r
-DlgLnkNoAnchors                : "(No anchors available in the document)",             //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(No anchors available in the document)",\r
 DlgLnkEMail                    : "E-Mail Address",\r
 DlgLnkEMailSubject     : "Message Subject",\r
 DlgLnkEMailBody                : "Message Body",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Cell spacing",
 DlgTableCellPad                : "Cell padding",\r
 DlgTableCaption                : "Caption",\r
 DlgTableSummary                : "Summary",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cell Properties",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Top",
 DlgCellVerAlignMiddle  : "Middle",\r
 DlgCellVerAlignBottom  : "Bottom",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
+DlgCellType            : "Cell Type",\r
+DlgCellTypeData                : "Data",\r
+DlgCellTypeHeader      : "Header",\r
 DlgCellRowSpan         : "Rows Span",\r
 DlgCellCollSpan                : "Columns Span",\r
 DlgCellBackColor       : "Background Colour",\r
 DlgCellBorderColor     : "Border Colour",\r
 DlgCellBtnSelect       : "Select...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Find",\r
 DlgFindFindBtn         : "Find",\r
@@ -343,11 +368,10 @@ PasteErrorCopy    : "Your browser security settings don't permit the editor to auto
 PasteAsText            : "Paste as Plain Text",\r
 PasteFromWord  : "Paste from Word",\r
 \r
-DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",\r
+DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",\r
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",\r
-DlgPasteCleanBox               : "Clean Up Box",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatic",\r
@@ -490,7 +514,7 @@ DlgDocPreview               : "Preview",
 // Templates Dialog\r
 Templates                      : "Templates",\r
 DlgTemplatesTitle      : "Content Templates",\r
-DlgTemplatesSelMsg     : "Please select the template to open in the editor<br>(the actual contents will be lost):",\r
+DlgTemplatesSelMsg     : "Please select the template to open in the editor<br />(the actual contents will be lost):",\r
 DlgTemplatesLoading    : "Loading templates list. Please wait...",\r
 DlgTemplatesNoTpl      : "(No templates defined)",\r
 DlgTemplatesReplace    : "Replace actual contents",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "About",
 DlgAboutBrowserInfoTab : "Browser Info",\r
 DlgAboutLicenseTab     : "License",\r
 DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "For further information go to"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "For further information go to",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",\r
+DlgDivAdvancedTab      : "Advanced",\r
+DlgDivStyle            : "Style",\r
+DlgDivInlineStyle      : "Inline Style",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 2900a9d..1f82fc8 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Remove Format",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Insert/Edit Link",\r
 RemoveLink                     : "Remove Link",\r
+VisitLink                      : "Open Link",\r
 Anchor                         : "Insert/Edit Anchor",\r
+AnchorDelete           : "Remove Anchor",\r
 InsertImageLbl         : "Image",\r
 InsertImage                    : "Insert/Edit Image",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Right Justify",
 BlockJustify           : "Block Justify",\r
 DecreaseIndent         : "Decrease Indent",\r
 IncreaseIndent         : "Increase Indent",\r
+Blockquote                     : "Blockquote",\r
+CreateDiv                      : "Create Div Container",\r
+EditDiv                                : "Edit Div Container",\r
+DeleteDiv                      : "Remove Div Container",\r
 Undo                           : "Undo",\r
 Redo                           : "Redo",\r
 NumberedListLbl                : "Numbered List",\r
@@ -103,20 +109,27 @@ SelectionField    : "Selection Field",
 ImageButton            : "Image Button",\r
 \r
 FitWindow              : "Maximize the editor size",\r
+ShowBlocks             : "Show Blocks",\r
 \r
 // Context Menu\r
 EditLink                       : "Edit Link",\r
 CellCM                         : "Cell",\r
 RowCM                          : "Row",\r
 ColumnCM                       : "Column",\r
-InsertRow                      : "Insert Row",\r
+InsertRowAfter         : "Insert Row After",\r
+InsertRowBefore                : "Insert Row Before",\r
 DeleteRows                     : "Delete Rows",\r
-InsertColumn           : "Insert Column",\r
+InsertColumnAfter      : "Insert Column After",\r
+InsertColumnBefore     : "Insert Column Before",\r
 DeleteColumns          : "Delete Columns",\r
-InsertCell                     : "Insert Cell",\r
+InsertCellAfter                : "Insert Cell After",\r
+InsertCellBefore       : "Insert Cell Before",\r
 DeleteCells                    : "Delete Cells",\r
 MergeCells                     : "Merge Cells",\r
-SplitCell                      : "Split Cell",\r
+MergeRight                     : "Merge Right",\r
+MergeDown                      : "Merge Down",\r
+HorizontalSplitCell    : "Split Cell Horizontally",\r
+VerticalSplitCell      : "Split Cell Vertically",\r
 TableDelete                    : "Delete Table",\r
 CellProperties         : "Cell Properties",\r
 TableProperties                : "Table Properties",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Selection Field Properties",
 TextareaProp           : "Textarea Properties",\r
 FormProp                       : "Form Properties",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Processing XHTML. Please wait...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Toolbar set \"%1\" doesn't exist",
 NoActiveX                      : "Your 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.",\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Select an Anchor",\r
 DlgLnkAnchorByName     : "By Anchor Name",\r
 DlgLnkAnchorById       : "By Element Id",\r
-DlgLnkNoAnchors                : "(No anchors available in the document)",             //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(No anchors available in the document)",\r
 DlgLnkEMail                    : "E-Mail Address",\r
 DlgLnkEMailSubject     : "Message Subject",\r
 DlgLnkEMailBody                : "Message Body",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Cell spacing",
 DlgTableCellPad                : "Cell padding",\r
 DlgTableCaption                : "Caption",\r
 DlgTableSummary                : "Summary",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cell Properties",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Top",
 DlgCellVerAlignMiddle  : "Middle",\r
 DlgCellVerAlignBottom  : "Bottom",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
+DlgCellType            : "Cell Type",\r
+DlgCellTypeData                : "Data",\r
+DlgCellTypeHeader      : "Header",\r
 DlgCellRowSpan         : "Rows Span",\r
 DlgCellCollSpan                : "Columns Span",\r
 DlgCellBackColor       : "Background Colour",\r
 DlgCellBorderColor     : "Border Colour",\r
 DlgCellBtnSelect       : "Select...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Find",\r
 DlgFindFindBtn         : "Find",\r
@@ -343,11 +368,10 @@ PasteErrorCopy    : "Your browser security settings don't permit the editor to auto
 PasteAsText            : "Paste as Plain Text",\r
 PasteFromWord  : "Paste from Word",\r
 \r
-DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",\r
+DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",\r
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",\r
-DlgPasteCleanBox               : "Clean Up Box",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatic",\r
@@ -490,7 +514,7 @@ DlgDocPreview               : "Preview",
 // Templates Dialog\r
 Templates                      : "Templates",\r
 DlgTemplatesTitle      : "Content Templates",\r
-DlgTemplatesSelMsg     : "Please select the template to open in the editor<br>(the actual contents will be lost):",\r
+DlgTemplatesSelMsg     : "Please select the template to open in the editor<br />(the actual contents will be lost):",\r
 DlgTemplatesLoading    : "Loading templates list. Please wait...",\r
 DlgTemplatesNoTpl      : "(No templates defined)",\r
 DlgTemplatesReplace    : "Replace actual contents",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "About",
 DlgAboutBrowserInfoTab : "Browser Info",\r
 DlgAboutLicenseTab     : "License",\r
 DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "For further information go to"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "For further information go to",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",\r
+DlgDivAdvancedTab      : "Advanced",\r
+DlgDivStyle            : "Style",\r
+DlgDivInlineStyle      : "Inline Style",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index eaaf3e4..d50b51e 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Remove Format",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Insert/Edit Link",\r
 RemoveLink                     : "Remove Link",\r
+VisitLink                      : "Open Link",\r
 Anchor                         : "Insert/Edit Anchor",\r
+AnchorDelete           : "Remove Anchor",\r
 InsertImageLbl         : "Image",\r
 InsertImage                    : "Insert/Edit Image",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Right Justify",
 BlockJustify           : "Block Justify",\r
 DecreaseIndent         : "Decrease Indent",\r
 IncreaseIndent         : "Increase Indent",\r
+Blockquote                     : "Blockquote",\r
+CreateDiv                      : "Create Div Container",\r
+EditDiv                                : "Edit Div Container",\r
+DeleteDiv                      : "Remove Div Container",\r
 Undo                           : "Undo",\r
 Redo                           : "Redo",\r
 NumberedListLbl                : "Numbered List",\r
@@ -103,20 +109,27 @@ SelectionField    : "Selection Field",
 ImageButton            : "Image Button",\r
 \r
 FitWindow              : "Maximize the editor size",\r
+ShowBlocks             : "Show Blocks",\r
 \r
 // Context Menu\r
 EditLink                       : "Edit Link",\r
 CellCM                         : "Cell",\r
 RowCM                          : "Row",\r
 ColumnCM                       : "Column",\r
-InsertRow                      : "Insert Row",\r
+InsertRowAfter         : "Insert Row After",\r
+InsertRowBefore                : "Insert Row Before",\r
 DeleteRows                     : "Delete Rows",\r
-InsertColumn           : "Insert Column",\r
+InsertColumnAfter      : "Insert Column After",\r
+InsertColumnBefore     : "Insert Column Before",\r
 DeleteColumns          : "Delete Columns",\r
-InsertCell                     : "Insert Cell",\r
+InsertCellAfter                : "Insert Cell After",\r
+InsertCellBefore       : "Insert Cell Before",\r
 DeleteCells                    : "Delete Cells",\r
 MergeCells                     : "Merge Cells",\r
-SplitCell                      : "Split Cell",\r
+MergeRight                     : "Merge Right",\r
+MergeDown                      : "Merge Down",\r
+HorizontalSplitCell    : "Split Cell Horizontally",\r
+VerticalSplitCell      : "Split Cell Vertically",\r
 TableDelete                    : "Delete Table",\r
 CellProperties         : "Cell Properties",\r
 TableProperties                : "Table Properties",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Selection Field Properties",
 TextareaProp           : "Textarea Properties",\r
 FormProp                       : "Form Properties",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Processing XHTML. Please wait...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Toolbar set \"%1\" doesn't exist",
 NoActiveX                      : "Your 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.",\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Select an Anchor",\r
 DlgLnkAnchorByName     : "By Anchor Name",\r
 DlgLnkAnchorById       : "By Element Id",\r
-DlgLnkNoAnchors                : "(No anchors available in the document)",             //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(No anchors available in the document)",\r
 DlgLnkEMail                    : "E-Mail Address",\r
 DlgLnkEMailSubject     : "Message Subject",\r
 DlgLnkEMailBody                : "Message Body",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Cell spacing",
 DlgTableCellPad                : "Cell padding",\r
 DlgTableCaption                : "Caption",\r
 DlgTableSummary                : "Summary",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cell Properties",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Top",
 DlgCellVerAlignMiddle  : "Middle",\r
 DlgCellVerAlignBottom  : "Bottom",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
+DlgCellType            : "Cell Type",\r
+DlgCellTypeData                : "Data",\r
+DlgCellTypeHeader      : "Header",\r
 DlgCellRowSpan         : "Rows Span",\r
 DlgCellCollSpan                : "Columns Span",\r
 DlgCellBackColor       : "Background Colour",\r
 DlgCellBorderColor     : "Border Colour",\r
 DlgCellBtnSelect       : "Select...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Find",\r
 DlgFindFindBtn         : "Find",\r
@@ -343,11 +368,10 @@ PasteErrorCopy    : "Your browser security settings don't permit the editor to auto
 PasteAsText            : "Paste as Plain Text",\r
 PasteFromWord  : "Paste from Word",\r
 \r
-DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",\r
+DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",\r
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",\r
-DlgPasteCleanBox               : "Clean Up Box",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatic",\r
@@ -490,7 +514,7 @@ DlgDocPreview               : "Preview",
 // Templates Dialog\r
 Templates                      : "Templates",\r
 DlgTemplatesTitle      : "Content Templates",\r
-DlgTemplatesSelMsg     : "Please select the template to open in the editor<br>(the actual contents will be lost):",\r
+DlgTemplatesSelMsg     : "Please select the template to open in the editor<br />(the actual contents will be lost):",\r
 DlgTemplatesLoading    : "Loading templates list. Please wait...",\r
 DlgTemplatesNoTpl      : "(No templates defined)",\r
 DlgTemplatesReplace    : "Replace actual contents",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "About",
 DlgAboutBrowserInfoTab : "Browser Info",\r
 DlgAboutLicenseTab     : "License",\r
 DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "For further information go to"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "For further information go to",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",\r
+DlgDivAdvancedTab      : "Advanced",\r
+DlgDivStyle            : "Style",\r
+DlgDivInlineStyle      : "Inline Style",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index c579fc9..2c2f5da 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Remove Format",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Insert/Edit Link",\r
 RemoveLink                     : "Remove Link",\r
+VisitLink                      : "Open Link",\r
 Anchor                         : "Insert/Edit Anchor",\r
+AnchorDelete           : "Remove Anchor",\r
 InsertImageLbl         : "Image",\r
 InsertImage                    : "Insert/Edit Image",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Right Justify",
 BlockJustify           : "Block Justify",\r
 DecreaseIndent         : "Decrease Indent",\r
 IncreaseIndent         : "Increase Indent",\r
+Blockquote                     : "Blockquote",\r
+CreateDiv                      : "Create Div Container",\r
+EditDiv                                : "Edit Div Container",\r
+DeleteDiv                      : "Remove Div Container",\r
 Undo                           : "Undo",\r
 Redo                           : "Redo",\r
 NumberedListLbl                : "Numbered List",\r
@@ -103,20 +109,27 @@ SelectionField    : "Selection Field",
 ImageButton            : "Image Button",\r
 \r
 FitWindow              : "Maximize the editor size",\r
+ShowBlocks             : "Show Blocks",\r
 \r
 // Context Menu\r
 EditLink                       : "Edit Link",\r
 CellCM                         : "Cell",\r
 RowCM                          : "Row",\r
 ColumnCM                       : "Column",\r
-InsertRow                      : "Insert Row",\r
+InsertRowAfter         : "Insert Row After",\r
+InsertRowBefore                : "Insert Row Before",\r
 DeleteRows                     : "Delete Rows",\r
-InsertColumn           : "Insert Column",\r
+InsertColumnAfter      : "Insert Column After",\r
+InsertColumnBefore     : "Insert Column Before",\r
 DeleteColumns          : "Delete Columns",\r
-InsertCell                     : "Insert Cell",\r
+InsertCellAfter                : "Insert Cell After",\r
+InsertCellBefore       : "Insert Cell Before",\r
 DeleteCells                    : "Delete Cells",\r
 MergeCells                     : "Merge Cells",\r
-SplitCell                      : "Split Cell",\r
+MergeRight                     : "Merge Right",\r
+MergeDown                      : "Merge Down",\r
+HorizontalSplitCell    : "Split Cell Horizontally",\r
+VerticalSplitCell      : "Split Cell Vertically",\r
 TableDelete                    : "Delete Table",\r
 CellProperties         : "Cell Properties",\r
 TableProperties                : "Table Properties",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Selection Field Properties",
 TextareaProp           : "Textarea Properties",\r
 FormProp                       : "Form Properties",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Processing XHTML. Please wait...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Toolbar set \"%1\" doesn't exist",
 NoActiveX                      : "Your 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.",\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Select an Anchor",\r
 DlgLnkAnchorByName     : "By Anchor Name",\r
 DlgLnkAnchorById       : "By Element Id",\r
-DlgLnkNoAnchors                : "(No anchors available in the document)",             //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(No anchors available in the document)",\r
 DlgLnkEMail                    : "E-Mail Address",\r
 DlgLnkEMailSubject     : "Message Subject",\r
 DlgLnkEMailBody                : "Message Body",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Cell spacing",
 DlgTableCellPad                : "Cell padding",\r
 DlgTableCaption                : "Caption",\r
 DlgTableSummary                : "Summary",\r
+DlgTableHeaders                : "Headers",\r
+DlgTableHeadersNone            : "None",\r
+DlgTableHeadersColumn  : "First column",\r
+DlgTableHeadersRow             : "First Row",\r
+DlgTableHeadersBoth            : "Both",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cell Properties",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Top",
 DlgCellVerAlignMiddle  : "Middle",\r
 DlgCellVerAlignBottom  : "Bottom",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
+DlgCellType            : "Cell Type",\r
+DlgCellTypeData                : "Data",\r
+DlgCellTypeHeader      : "Header",\r
 DlgCellRowSpan         : "Rows Span",\r
 DlgCellCollSpan                : "Columns Span",\r
 DlgCellBackColor       : "Background Color",\r
 DlgCellBorderColor     : "Border Color",\r
 DlgCellBtnSelect       : "Select...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Find",\r
 DlgFindFindBtn         : "Find",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Please paste inside the following box using the keyboard (<stron
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",\r
-DlgPasteCleanBox               : "Clean Up Box",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatic",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "About",
 DlgAboutBrowserInfoTab : "Browser Info",\r
 DlgAboutLicenseTab     : "License",\r
 DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "For further information go to"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "For further information go to",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",\r
+DlgDivAdvancedTab      : "Advanced",\r
+DlgDivStyle            : "Style",\r
+DlgDivInlineStyle      : "Inline Style",\r
+\r
+ScaytTitle                     : "SCAYT",\r
+ScaytTitleOptions      : "Options",\r
+ScaytTitleLangs                : "Languages",\r
+ScaytTitleAbout                : "About"\r
+};\r
index 04f7364..c1897de 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Forigi Formaton",
 InsertLinkLbl          : "Ligilo",\r
 InsertLink                     : "Enmeti/Ŝanĝi Ligilon",\r
 RemoveLink                     : "Forigi Ligilon",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Enmeti/Ŝanĝi Ankron",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Bildo",\r
 InsertImage                    : "Enmeti/Ŝanĝi Bildon",\r
 InsertFlashLbl         : "Flash",      //MISSING\r
@@ -70,6 +72,10 @@ RightJustify         : "Dekstrigi",
 BlockJustify           : "Ĝisrandigi Ambaŭflanke",\r
 DecreaseIndent         : "Malpligrandigi Krommarĝenon",\r
 IncreaseIndent         : "Pligrandigi Krommarĝenon",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Malfari",\r
 Redo                           : "Refari",\r
 NumberedListLbl                : "Numera Listo",\r
@@ -103,20 +109,27 @@ SelectionField    : "Elekta Kampo",
 ImageButton            : "Bildbutono",\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Modifier Ligilon",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRow                      : "Enmeti Linion",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "Forigi Liniojn",\r
-InsertColumn           : "Enmeti Kolumnon",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "Forigi Kolumnojn",\r
-InsertCell                     : "Enmeti Ĉelon",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "Forigi Ĉelojn",\r
 MergeCells                     : "Kunfandi Ĉelojn",\r
-SplitCell                      : "Dividi Ĉelojn",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "Delete Table",       //MISSING\r
 CellProperties         : "Atributoj de Ĉelo",\r
 TableProperties                : "Atributoj de Tabelo",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Atributoj de Elekta Kampo",
 TextareaProp           : "Atributoj de Teksta Areo",\r
 FormProp                       : "Formularaj Atributoj",\r
 \r
-FontFormats                    : "Normala;Formatita;Adreso;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)",             //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normala;Formatita;Adreso;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Traktado de XHTML. Bonvolu pacienci...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "La ilobreto \"%1\" ne ekzistas",
 NoActiveX                      : "Your 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\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Akcepti",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Elekti Ankron",\r
 DlgLnkAnchorByName     : "Per Ankronomo",\r
 DlgLnkAnchorById       : "Per Elementidentigilo",\r
-DlgLnkNoAnchors                : "<Ne disponeblas ankroj en la dokumento>",            //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "<Ne disponeblas ankroj en la dokumento>",\r
 DlgLnkEMail                    : "Retadreso",\r
 DlgLnkEMailSubject     : "Temlinio",\r
 DlgLnkEMailBody                : "Mesaĝa korpo",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Interspacigo de Ĉeloj",
 DlgTableCellPad                : "Ĉirkaŭenhava Plenigado",\r
 DlgTableCaption                : "Titolo",\r
 DlgTableSummary                : "Summary",    //MISSING\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Atributoj de Celo",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Supre",
 DlgCellVerAlignMiddle  : "Centre",\r
 DlgCellVerAlignBottom  : "Malsupre",\r
 DlgCellVerAlignBaseline        : "Je Malsupro de Teksto",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Linioj Kunfanditaj",\r
 DlgCellCollSpan                : "Kolumnoj Kunfanditaj",\r
 DlgCellBackColor       : "Fono",\r
 DlgCellBorderColor     : "Bordero",\r
 DlgCellBtnSelect       : "Elekti...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Serĉi",\r
 DlgFindFindBtn         : "Serĉi",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Please paste inside the following box using the keyboard (<stron
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",       //MISSING\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",  //MISSING\r
-DlgPasteCleanBox               : "Clean Up Box",       //MISSING\r
 \r
 // Color Picker\r
 ColorAutomatic : "Aŭtomata",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Pri",
 DlgAboutBrowserInfoTab : "Informoj pri TTT-legilo",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "versio",\r
-DlgAboutInfo           : "Por pli da informoj, vizitu"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Por pli da informoj, vizitu",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index cfed808..d77d38a 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Eliminar Formato",
 InsertLinkLbl          : "Vínculo",\r
 InsertLink                     : "Insertar/Editar Vínculo",\r
 RemoveLink                     : "Eliminar Vínculo",\r
+VisitLink                      : "Abrir enlace",\r
 Anchor                         : "Referencia",\r
+AnchorDelete           : "Eliminar Referencia",\r
 InsertImageLbl         : "Imagen",\r
 InsertImage                    : "Insertar/Editar Imagen",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Alinear a Derecha",
 BlockJustify           : "Justificado",\r
 DecreaseIndent         : "Disminuir Sangría",\r
 IncreaseIndent         : "Aumentar Sangría",\r
+Blockquote                     : "Cita",\r
+CreateDiv                      : "Crear contenedor (div)",\r
+EditDiv                                : "Editar contenedor (div)",\r
+DeleteDiv                      : "Eliminar contenedor (div)",\r
 Undo                           : "Deshacer",\r
 Redo                           : "Rehacer",\r
 NumberedListLbl                : "Numeración",\r
@@ -103,20 +109,27 @@ SelectionField    : "Campo de Selección",
 ImageButton            : "Botón Imagen",\r
 \r
 FitWindow              : "Maximizar el tamaño del editor",\r
+ShowBlocks             : "Mostrar bloques",\r
 \r
 // Context Menu\r
 EditLink                       : "Editar Vínculo",\r
 CellCM                         : "Celda",\r
 RowCM                          : "Fila",\r
 ColumnCM                       : "Columna",\r
-InsertRow                      : "Insertar Fila",\r
+InsertRowAfter         : "Insertar fila en la parte inferior",\r
+InsertRowBefore                : "Insertar fila en la parte superior",\r
 DeleteRows                     : "Eliminar Filas",\r
-InsertColumn           : "Insertar Columna",\r
+InsertColumnAfter      : "Insertar columna a la derecha",\r
+InsertColumnBefore     : "Insertar columna a la izquierda",\r
 DeleteColumns          : "Eliminar Columnas",\r
-InsertCell                     : "Insertar Celda",\r
+InsertCellAfter                : "Insertar celda a la derecha",\r
+InsertCellBefore       : "Insertar celda a la izquierda",\r
 DeleteCells                    : "Eliminar Celdas",\r
 MergeCells                     : "Combinar Celdas",\r
-SplitCell                      : "Dividir Celda",\r
+MergeRight                     : "Combinar a la derecha",\r
+MergeDown                      : "Combinar hacia abajo",\r
+HorizontalSplitCell    : "Dividir la celda horizontalmente",\r
+VerticalSplitCell      : "Dividir la celda verticalmente",\r
 TableDelete                    : "Eliminar Tabla",\r
 CellProperties         : "Propiedades de Celda",\r
 TableProperties                : "Propiedades de Tabla",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Propiedades de Campo de Selección",
 TextareaProp           : "Propiedades de Area de Texto",\r
 FormProp                       : "Propiedades de Formulario",\r
 \r
-FontFormats                    : "Normal;Con formato;Dirección;Encabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Normal (DIV)",           //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Con formato;Dirección;Encabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Procesando XHTML. Por favor, espere...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Nombre de barra \"%1\" no definido",
 NoActiveX                      : "La configuración de las opciones de seguridad de su navegador puede estar limitando algunas características del editor. Por favor active la opción \"Ejecutar controles y complementos de ActiveX \", de lo contrario puede experimentar errores o ausencia de funcionalidades.",\r
 BrowseServerBlocked : "La ventana de visualización del servidor no pudo ser abierta. Verifique que su navegador no esté bloqueando las ventanas emergentes (pop up).",\r
 DialogBlocked          : "No se ha podido abrir la ventana de diálogo. Verifique que su navegador no esté bloqueando las ventanas emergentes (pop up).",\r
+VisitLinkBlocked       : "Nose ha podido abrir la ventana. Asegurese de que todos los bloqueadores de popups están deshabilitados.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -162,10 +176,10 @@ DlgAlertUrl                       : "Inserte el URL",
 // General Dialogs Labels\r
 DlgGenNotSet           : "<No definido>",\r
 DlgGenId                       : "Id",\r
-DlgGenLangDir          : "Orientación de idioma",\r
+DlgGenLangDir          : "Orientación",\r
 DlgGenLangDirLtr       : "Izquierda a Derecha (LTR)",\r
 DlgGenLangDirRtl       : "Derecha a Izquierda (RTL)",\r
-DlgGenLangCode         : "Código de idioma",\r
+DlgGenLangCode         : "Cód. de idioma",\r
 DlgGenAccessKey                : "Clave de Acceso",\r
 DlgGenName                     : "Nombre",\r
 DlgGenTabIndex         : "Indice de tabulación",\r
@@ -201,7 +215,7 @@ DlgImgAlignRight    : "Derecha",
 DlgImgAlignTextTop     : "Tope del texto",\r
 DlgImgAlignTop         : "Tope",\r
 DlgImgPreview          : "Vista Previa",\r
-DlgImgAlertUrl         : "Por favor tipee el URL de la imagen",\r
+DlgImgAlertUrl         : "Por favor escriba la URL de la imagen",\r
 DlgImgLinkTab          : "Vínculo",\r
 \r
 // Flash Dialog\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Seleccionar una referencia",\r
 DlgLnkAnchorByName     : "Por Nombre de Referencia",\r
 DlgLnkAnchorById       : "Por ID de elemento",\r
-DlgLnkNoAnchors                : "<No hay referencias disponibles en el documento>",           //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(No hay referencias disponibles en el documento)",\r
 DlgLnkEMail                    : "Dirección de E-Mail",\r
 DlgLnkEMailSubject     : "Título del Mensaje",\r
 DlgLnkEMailBody                : "Cuerpo del Mensaje",\r
@@ -262,7 +276,7 @@ DlgLnkPopTop                : "Posición Derecha",
 DlnLnkMsgNoUrl         : "Por favor tipee el vínculo URL",\r
 DlnLnkMsgNoEMail       : "Por favor tipee la dirección de e-mail",\r
 DlnLnkMsgNoAnchor      : "Por favor seleccione una referencia",\r
-DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
+DlnLnkMsgInvPopName    : "El nombre debe empezar con un caracter alfanumérico y no debe contener espacios",\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Seleccionar Color",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Esp. e/celdas",
 DlgTableCellPad                : "Esp. interior",\r
 DlgTableCaption                : "Título",\r
 DlgTableSummary                : "Síntesis",\r
+DlgTableHeaders                : "Encabezados",\r
+DlgTableHeadersNone            : "Ninguno",\r
+DlgTableHeadersColumn  : "Primera columna",\r
+DlgTableHeadersRow             : "Primera fila",\r
+DlgTableHeadersBoth            : "Ambas",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Propiedades de Celda",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Tope",
 DlgCellVerAlignMiddle  : "Medio",\r
 DlgCellVerAlignBottom  : "ie",\r
 DlgCellVerAlignBaseline        : "Línea de Base",\r
+DlgCellType            : "Tipo de celda",\r
+DlgCellTypeData                : "Datos",\r
+DlgCellTypeHeader      : "Encabezado",\r
 DlgCellRowSpan         : "Abarcar Filas",\r
 DlgCellCollSpan                : "Abarcar Columnas",\r
 DlgCellBackColor       : "Color de Fondo",\r
 DlgCellBorderColor     : "Color de Borde",\r
 DlgCellBtnSelect       : "Seleccione...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Buscar y Reemplazar",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Buscar",\r
 DlgFindFindBtn         : "Buscar",\r
@@ -344,10 +369,9 @@ PasteAsText                : "Pegar como Texto Plano",
 PasteFromWord  : "Pegar desde Word",\r
 \r
 DlgPasteMsg2   : "Por favor pegue dentro del cuadro utilizando el teclado (<STRONG>Ctrl+V</STRONG>); luego presione <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "Debido a la configuración de seguridad de su navegador, el editor no tiene acceso al portapapeles. Es necesario que lo pegue de nuevo en esta ventana.",\r
 DlgPasteIgnoreFont             : "Ignorar definiciones de fuentes",\r
 DlgPasteRemoveStyles   : "Remover definiciones de estilo",\r
-DlgPasteCleanBox               : "Borrar el contenido del cuadro",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automático",\r
@@ -381,9 +405,9 @@ IeSpellDownload                     : "Módulo de Control de Ortografía no instalado. ¿Desea des
 // Button Dialog\r
 DlgButtonText          : "Texto (Valor)",\r
 DlgButtonType          : "Tipo",\r
-DlgButtonTypeBtn       : "Button",     //MISSING\r
-DlgButtonTypeSbm       : "Submit",     //MISSING\r
-DlgButtonTypeRst       : "Reset",      //MISSING\r
+DlgButtonTypeBtn       : "Boton",\r
+DlgButtonTypeSbm       : "Enviar",\r
+DlgButtonTypeRst       : "Reestablecer",\r
 \r
 // Checkbox and Radio Button Dialogs\r
 DlgCheckboxName                : "Nombre",\r
@@ -432,7 +456,7 @@ DlgHiddenValue      : "Valor",
 // Bulleted List Dialog\r
 BulletedListProp       : "Propiedades de Viñetas",\r
 NumberedListProp       : "Propiedades de Numeraciones",\r
-DlgLstStart                    : "Start",      //MISSING\r
+DlgLstStart                    : "Inicio",\r
 DlgLstType                     : "Tipo",\r
 DlgLstTypeCircle       : "Círculo",\r
 DlgLstTypeDisc         : "Disco",\r
@@ -455,15 +479,15 @@ DlgDocLangDirLTR  : "Izq. a Derecha (LTR)",
 DlgDocLangDirRTL       : "Der. a Izquierda (RTL)",\r
 DlgDocLangCode         : "Código de Idioma",\r
 DlgDocCharSet          : "Codif. de Conjunto de Caracteres",\r
-DlgDocCharSetCE                : "Central European",   //MISSING\r
-DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
-DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
-DlgDocCharSetGR                : "Greek",      //MISSING\r
-DlgDocCharSetJP                : "Japanese",   //MISSING\r
-DlgDocCharSetKR                : "Korean",     //MISSING\r
-DlgDocCharSetTR                : "Turkish",    //MISSING\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
-DlgDocCharSetWE                : "Western European",   //MISSING\r
+DlgDocCharSetCE                : "Centro Europeo",\r
+DlgDocCharSetCT                : "Chino Tradicional (Big5)",\r
+DlgDocCharSetCR                : "Cirílico",\r
+DlgDocCharSetGR                : "Griego",\r
+DlgDocCharSetJP                : "Japonés",\r
+DlgDocCharSetKR                : "Coreano",\r
+DlgDocCharSetTR                : "Turco",\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",\r
+DlgDocCharSetWE                : "Europeo occidental",\r
 DlgDocCharSetOther     : "Otra Codificación",\r
 \r
 DlgDocDocType          : "Encabezado de Tipo de Documento",\r
@@ -493,12 +517,23 @@ DlgTemplatesTitle : "Contenido de Plantillas",
 DlgTemplatesSelMsg     : "Por favor selecciona la plantilla a abrir en el editor<br>(el contenido actual se perderá):",\r
 DlgTemplatesLoading    : "Cargando lista de Plantillas. Por favor, aguarde...",\r
 DlgTemplatesNoTpl      : "(No hay plantillas definidas)",\r
-DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
+DlgTemplatesReplace    : "Reemplazar el contenido actual",\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "Acerca de",\r
 DlgAboutBrowserInfoTab : "Información de Navegador",\r
 DlgAboutLicenseTab     : "Licencia",\r
 DlgAboutVersion                : "versión",\r
-DlgAboutInfo           : "Para mayor información por favor dirigirse a"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Para mayor información por favor dirigirse a",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",\r
+DlgDivAdvancedTab      : "Avanzado",\r
+DlgDivStyle            : "Estilo",\r
+DlgDivInlineStyle      : "Estilos CSS",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 53a147e..3756cad 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -42,15 +42,17 @@ Print                               : "Prindi",
 SelectAll                      : "Vali kõik",\r
 RemoveFormat           : "Eemalda vorming",\r
 InsertLinkLbl          : "Link",\r
-InsertLink                     : "Sisesta/Muuda link",\r
+InsertLink                     : "Sisesta link / Muuda linki",\r
 RemoveLink                     : "Eemalda link",\r
-Anchor                         : "Sisesta/Muuda ankur",\r
+VisitLink                      : "Open Link",  //MISSING\r
+Anchor                         : "Sisesta ankur / Muuda ankrut",\r
+AnchorDelete           : "Eemalda ankur",\r
 InsertImageLbl         : "Pilt",\r
-InsertImage                    : "Sisesta/Muuda pilt",\r
+InsertImage                    : "Sisesta pilt / Muuda pilti",\r
 InsertFlashLbl         : "Flash",\r
-InsertFlash                    : "Sisesta/Muuda flash",\r
+InsertFlash                    : "Sisesta flash / Muuda flashi",\r
 InsertTableLbl         : "Tabel",\r
-InsertTable                    : "Sisesta/Muuda tabel",\r
+InsertTable                    : "Sisesta tabel / Muuda tabelit",\r
 InsertLineLbl          : "Joon",\r
 InsertLine                     : "Sisesta horisontaaljoon",\r
 InsertSpecialCharLbl: "Erimärgid",\r
@@ -58,10 +60,10 @@ InsertSpecialChar   : "Sisesta erimärk",
 InsertSmileyLbl                : "Emotikon",\r
 InsertSmiley           : "Sisesta emotikon",\r
 About                          : "FCKeditor teave",\r
-Bold                           : "Rasvane kiri",\r
-Italic                         : "Kursiiv kiri",\r
-Underline                      : "Allajoonitud kiri",\r
-StrikeThrough          : "Läbijoonitud kiri",\r
+Bold                           : "Paks",\r
+Italic                         : "Kursiiv",\r
+Underline                      : "Allajoonitud",\r
+StrikeThrough          : "Läbijoonitud",\r
 Subscript                      : "Allindeks",\r
 Superscript                    : "Ülaindeks",\r
 LeftJustify                    : "Vasakjoondus",\r
@@ -70,6 +72,10 @@ RightJustify         : "Paremjoondus",
 BlockJustify           : "Rööpjoondus",\r
 DecreaseIndent         : "Vähenda taanet",\r
 IncreaseIndent         : "Suurenda taanet",\r
+Blockquote                     : "Blokktsitaat",\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Võta tagasi",\r
 Redo                           : "Korda toimingut",\r
 NumberedListLbl                : "Nummerdatud loetelu",\r
@@ -90,7 +96,7 @@ Replace                               : "Asenda",
 SpellCheck                     : "Kontrolli õigekirja",\r
 UniversalKeyboard      : "Universaalne klaviatuur",\r
 PageBreakLbl           : "Lehepiir",\r
-PageBreak                      : "Sisesta lehevahetus koht",\r
+PageBreak                      : "Sisesta lehevahetuskoht",\r
 \r
 Form                   : "Vorm",\r
 Checkbox               : "Märkeruut",\r
@@ -103,24 +109,31 @@ SelectionField    : "Valiklahter",
 ImageButton            : "Piltnupp",\r
 \r
 FitWindow              : "Maksimeeri redaktori mõõtmed",\r
+ShowBlocks             : "Näita blokke",\r
 \r
 // Context Menu\r
 EditLink                       : "Muuda linki",\r
 CellCM                         : "Lahter",\r
 RowCM                          : "Rida",\r
 ColumnCM                       : "Veerg",\r
-InsertRow                      : "Lisa rida",\r
-DeleteRows                     : "Eemalda ridu",\r
-InsertColumn           : "Lisa veerg",\r
+InsertRowAfter         : "Sisesta rida peale",\r
+InsertRowBefore                : "Sisesta rida enne",\r
+DeleteRows                     : "Eemalda read",\r
+InsertColumnAfter      : "Sisesta veerg peale",\r
+InsertColumnBefore     : "Sisesta veerg enne",\r
 DeleteColumns          : "Eemalda veerud",\r
-InsertCell                     : "Lisa lahter",\r
+InsertCellAfter                : "Sisesta lahter peale",\r
+InsertCellBefore       : "Sisesta lahter enne",\r
 DeleteCells                    : "Eemalda lahtrid",\r
 MergeCells                     : "Ühenda lahtrid",\r
-SplitCell                      : "Lahuta lahtrid",\r
+MergeRight                     : "Ühenda paremale",\r
+MergeDown                      : "Ühenda alla",\r
+HorizontalSplitCell    : "Poolita lahter horisontaalselt",\r
+VerticalSplitCell      : "Poolita lahter vertikaalselt",\r
 TableDelete                    : "Kustuta tabel",\r
 CellProperties         : "Lahtri atribuudid",\r
 TableProperties                : "Tabeli atribuudid",\r
-ImageProperties                : "Pildi  atribuudid",\r
+ImageProperties                : "Pildi atribuudid",\r
 FlashProperties                : "Flash omadused",\r
 \r
 AnchorProp                     : "Ankru omadused",\r
@@ -134,20 +147,21 @@ SelectionFieldProp        : "Valiklahtri omadused",
 TextareaProp           : "Tekstiala omadused",\r
 FormProp                       : "Vormi omadused",\r
 \r
-FontFormats                    : "Tavaline;Vormindatud;Aadress;Pealkiri 1;Pealkiri 2;Pealkiri 3;Pealkiri 4;Pealkiri 5;Pealkiri 6;Tavaline (DIV)",              //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Tavaline;Vormindatud;Aadress;Pealkiri 1;Pealkiri 2;Pealkiri 3;Pealkiri 4;Pealkiri 5;Pealkiri 6;Tavaline (DIV)",\r
 \r
 // Alerts and Messages\r
-ProcessingXHTML                : "Töötlen XHTML. Palun oota...",\r
+ProcessingXHTML                : "Töötlen XHTML'i. Palun oota...",\r
 Done                           : "Tehtud",\r
-PasteWordConfirm       : "Tekst, mida soovid lisada paistab pärinevat Wordist. Kas soovid seda enne kleepimist puhastada?",\r
+PasteWordConfirm       : "Tekst, mida soovid lisada paistab pärinevat Word'ist. Kas soovid seda enne kleepimist puhastada?",\r
 NotCompatiblePaste     : "See käsk on saadaval ainult Internet Explorer versioon 5.5 või uuema puhul. Kas soovid kleepida ilma puhastamata?",\r
-UnknownToolbarItem     : "Tundmatu tööriistariba üksus \"%1\"",\r
+UnknownToolbarItem     : "Tundmatu tööriistarea üksus \"%1\"",\r
 UnknownCommand         : "Tundmatu käsunimi \"%1\"",\r
 NotImplemented         : "Käsku ei täidetud",\r
 UnknownToolbarSet      : "Tööriistariba \"%1\" ei eksisteeri",\r
-NoActiveX                      : "Sinu veebisirvija turvalisuse seaded võivad limiteerida mõningaid tekstirdaktori kasutus võimalusi. Sa peaksid võimaldama valiku \"Run ActiveX controls and plug-ins\" oma sirvija seadetes. Muidu võid sa täheldada vigu tekstiredaktori töös ja märgata puuduvaid funktsioone.",\r
+NoActiveX                      : "Sinu veebisirvija turvalisuse seaded võivad limiteerida mõningaid tekstirdaktori kasutusvõimalusi. Sa peaksid võimaldama valiku \"Run ActiveX controls and plug-ins\" oma veebisirvija seadetes. Muidu võid sa täheldada vigu tekstiredaktori töös ja märgata puuduvaid funktsioone.",\r
 BrowseServerBlocked : "Ressursside sirvija avamine ebaõnnestus. Võimalda pop-up akende avanemine.",\r
 DialogBlocked          : "Ei olenud võimalik avada dialoogi akent. Võimalda pop-up akende avanemine.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Vali ankur",\r
 DlgLnkAnchorByName     : "Ankru nime järgi",\r
 DlgLnkAnchorById       : "Elemendi id järgi",\r
-DlgLnkNoAnchors                : "(Selles dokumendis ei ole ankruid)",         //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Selles dokumendis ei ole ankruid)",\r
 DlgLnkEMail                    : "E-posti aadress",\r
 DlgLnkEMailSubject     : "Sõnumi teema",\r
 DlgLnkEMailBody                : "Sõnumi tekst",\r
@@ -240,7 +254,7 @@ DlgLnkTarget                : "Sihtkoht",
 DlgLnkTargetFrame      : "<raam>",\r
 DlgLnkTargetPopup      : "<hüpikaken>",\r
 DlgLnkTargetBlank      : "Uus aken (_blank)",\r
-DlgLnkTargetParent     : "Vanem aken (_parent)",\r
+DlgLnkTargetParent     : "Esivanem aken (_parent)",\r
 DlgLnkTargetSelf       : "Sama aken (_self)",\r
 DlgLnkTargetTop                : "Pealmine aken (_top)",\r
 DlgLnkTargetFrameName  : "Sihtmärk raami nimi",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Lahtri vahe",
 DlgTableCellPad                : "Lahtri täidis",\r
 DlgTableCaption                : "Tabeli tiitel",\r
 DlgTableSummary                : "Kokkuvõte",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Lahtri atribuudid",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Üles",
 DlgCellVerAlignMiddle  : "Keskele",\r
 DlgCellVerAlignBottom  : "Alla",\r
 DlgCellVerAlignBaseline        : "Baasjoonele",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Reaulatus",\r
 DlgCellCollSpan                : "Veeruulatus",\r
 DlgCellBackColor       : "Tausta värv",\r
 DlgCellBorderColor     : "Joone värv",\r
 DlgCellBtnSelect       : "Vali...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Otsi ja asenda",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Otsi",\r
 DlgFindFindBtn         : "Otsi",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Palun kleebi järgnevasse kasti kasutades klaviatuuri klahvikomb
 DlgPasteSec            : "Sinu veebisirvija turvaseadete tõttu, ei oma redaktor otsest ligipääsu lõikelaua andmetele. Sa pead kleepima need uuesti siia aknasse.",\r
 DlgPasteIgnoreFont             : "Ignoreeri kirja definitsioone",\r
 DlgPasteRemoveStyles   : "Eemalda stiilide definitsioonid",\r
-DlgPasteCleanBox               : "Puhasta ära kast",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automaatne",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Teave",
 DlgAboutBrowserInfoTab : "Veebisirvija info",\r
 DlgAboutLicenseTab     : "Litsents",\r
 DlgAboutVersion                : "versioon",\r
-DlgAboutInfo           : "Täpsema info saamiseks mine"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Täpsema info saamiseks mine",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 266d427..75f91a5 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -41,11 +41,13 @@ PasteText                   : "Itsatsi testu bezala",
 PasteWord                      : "Itsatsi Word-etik",\r
 Print                          : "Inprimatu",\r
 SelectAll                      : "Hautatu dena",\r
-RemoveFormat           : "Kendu Formatoa",\r
+RemoveFormat           : "Kendu Formatua",\r
 InsertLinkLbl          : "Esteka",\r
 InsertLink                     : "Txertatu/Editatu Esteka",\r
 RemoveLink                     : "Kendu Esteka",\r
+VisitLink                      : "Ireki Esteka",\r
 Anchor                         : "Aingura",\r
+AnchorDelete           : "Ezabatu Aingura",\r
 InsertImageLbl         : "Irudia",\r
 InsertImage                    : "Txertatu/Editatu Irudia",\r
 InsertFlashLbl         : "Flasha",\r
@@ -71,6 +73,10 @@ RightJustify         : "Lerrokatu Eskuman",
 BlockJustify           : "Justifikatu",\r
 DecreaseIndent         : "Txikitu Koska",\r
 IncreaseIndent         : "Handitu Koska",\r
+Blockquote                     : "Aipamen blokea",\r
+CreateDiv                      : "Sortu Div Edukitzailea",\r
+EditDiv                                : "Editatu Div Edukitzailea",\r
+DeleteDiv                      : "Ezabatu Div Edukitzailea",\r
 Undo                           : "Desegin",\r
 Redo                           : "Berregin",\r
 NumberedListLbl                : "Zenbakidun Zerrenda",\r
@@ -80,7 +86,7 @@ BulletedList          : "Txertatu/Kendu Buletdun zerrenda",
 ShowTableBorders       : "Erakutsi Taularen Ertzak",\r
 ShowDetails                    : "Erakutsi Xehetasunak",\r
 Style                          : "Estiloa",\r
-FontFormat                     : "Formatoa",\r
+FontFormat                     : "Formatua",\r
 Font                           : "Letra-tipoa",\r
 FontSize                       : "Tamaina",\r
 TextColor                      : "Testu Kolorea",\r
@@ -104,20 +110,27 @@ SelectionField    : "Hautespen Eremua",
 ImageButton            : "Irudi Botoia",\r
 \r
 FitWindow              : "Maximizatu editorearen tamaina",\r
+ShowBlocks             : "Blokeak erakutsi",\r
 \r
 // Context Menu\r
 EditLink                       : "Aldatu Esteka",\r
 CellCM                         : "Gelaxka",\r
 RowCM                          : "Errenkada",\r
 ColumnCM                       : "Zutabea",\r
-InsertRow                      : "Txertatu Errenkada",\r
+InsertRowAfter         : "Txertatu Lerroa Ostean",\r
+InsertRowBefore                : "Txertatu Lerroa Aurretik",\r
 DeleteRows                     : "Ezabatu Errenkadak",\r
-InsertColumn           : "Txertatu Zutabea",\r
+InsertColumnAfter      : "Txertatu Zutabea Ostean",\r
+InsertColumnBefore     : "Txertatu Zutabea Aurretik",\r
 DeleteColumns          : "Ezabatu Zutabeak",\r
-InsertCell                     : "Txertatu Gelaxka",\r
+InsertCellAfter                : "Txertatu Gelaxka Ostean",\r
+InsertCellBefore       : "Txertatu Gelaxka Aurretik",\r
 DeleteCells                    : "Kendu Gelaxkak",\r
 MergeCells                     : "Batu Gelaxkak",\r
-SplitCell                      : "Zatitu Gelaxka",\r
+MergeRight                     : "Elkartu Eskumara",\r
+MergeDown                      : "Elkartu Behera",\r
+HorizontalSplitCell    : "Banatu Gelaxkak Horizontalki",\r
+VerticalSplitCell      : "Banatu Gelaxkak Bertikalki",\r
 TableDelete                    : "Ezabatu Taula",\r
 CellProperties         : "Gelaxkaren Ezaugarriak",\r
 TableProperties                : "Taularen Ezaugarriak",\r
@@ -135,20 +148,21 @@ SelectionFieldProp        : "Hautespen Eremuaren Ezaugarriak",
 TextareaProp           : "Testu-arearen Ezaugarriak",\r
 FormProp                       : "Formularioaren Ezaugarriak",\r
 \r
-FontFormats                    : "Arrunta;Formateatua;Helbidea;Izenburua 1;Izenburua 2;Izenburua 3;Izenburua 4;Izenburua 5;Izenburua 6;Paragrafoa (DIV)",              //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Arrunta;Formateatua;Helbidea;Izenburua 1;Izenburua 2;Izenburua 3;Izenburua 4;Izenburua 5;Izenburua 6;Paragrafoa (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML Prozesatzen. Itxaron mesedez...",\r
 Done                           : "Eginda",\r
-PasteWordConfirm       : "Itsatsi nahi duzun textua Wordetik hartua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?",\r
+PasteWordConfirm       : "Itsatsi nahi duzun testua Wordetik hartua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?",\r
 NotCompatiblePaste     : "Komando hau Internet Explorer 5.5 bertsiorako edo ondorengoentzako erabilgarria dago. Garbitu gabe itsatsi nahi duzu?",\r
 UnknownToolbarItem     : "Ataza barrako elementu ezezaguna \"%1\"",\r
 UnknownCommand         : "Komando izen ezezaguna \"%1\"",\r
 NotImplemented         : "Komando ez inplementatua",\r
 UnknownToolbarSet      : "Ataza barra \"%1\" taldea ez da existitzen",\r
-NoActiveX                      : "Zure nabigatzailearen segustasun hobespenak editore honen zenbait ezaugarri mugatu ditzake. \"ActiveX kontrolak eta plug-inak\" aktibatu beharko zenituzke, bestela erroreak eta ezaugarrietan mugak egon daitezke.",\r
+NoActiveX                      : "Zure nabigatzailearen segurtasun hobespenak editore honen zenbait ezaugarri mugatu ditzake. \"ActiveX kontrolak eta pluginak\" aktibatu beharko zenituzke, bestela erroreak eta ezaugarrietan mugak egon daitezke.",\r
 BrowseServerBlocked : "Baliabideen arakatzailea ezin da ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.",\r
 DialogBlocked          : "Ezin da elkarrizketa-leihoa ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.",\r
+VisitLinkBlocked       : "Ezin da leiho berri bat ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Ados",\r
@@ -183,7 +197,7 @@ DlgImgInfoTab               : "Irudi informazioa",
 DlgImgBtnUpload                : "Zerbitzarira bidalia",\r
 DlgImgURL                      : "URL",\r
 DlgImgUpload           : "Gora Kargatu",\r
-DlgImgAlt                      : "Textu Alternatiboa",\r
+DlgImgAlt                      : "Ordezko Testua",\r
 DlgImgWidth                    : "Zabalera",\r
 DlgImgHeight           : "Altuera",\r
 DlgImgLockRatio                : "Erlazioa Blokeatu",\r
@@ -212,7 +226,7 @@ DlgFlashChkLoop             : "Begizta",
 DlgFlashChkMenu                : "Flasharen Menua Gaitu",\r
 DlgFlashScale          : "Eskalatu",\r
 DlgFlashScaleAll       : "Dena erakutsi",\r
-DlgFlashScaleNoBorder  : "Ertzarik gabe",\r
+DlgFlashScaleNoBorder  : "Ertzik gabe",\r
 DlgFlashScaleFit       : "Doitu",\r
 \r
 // Link Dialog\r
@@ -222,7 +236,7 @@ DlgLnkTargetTab             : "Helburua",
 \r
 DlgLnkType                     : "Esteka Mota",\r
 DlgLnkTypeURL          : "URL",\r
-DlgLnkTypeAnchor       : "Aingura horrialde honentan",\r
+DlgLnkTypeAnchor       : "Aingura orrialde honetan",\r
 DlgLnkTypeEMail                : "ePosta",\r
 DlgLnkProto                    : "Protokoloa",\r
 DlgLnkProtoOther       : "<Beste batzuk>",\r
@@ -230,7 +244,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Aingura bat hautatu",\r
 DlgLnkAnchorByName     : "Aingura izenagatik",\r
 DlgLnkAnchorById       : "Elementuaren ID-gatik",\r
-DlgLnkNoAnchors                : "<Ez daude aingurak eskuragarri dokumentuan>",                //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Ez daude aingurak eskuragarri dokumentuan)",\r
 DlgLnkEMail                    : "ePosta Helbidea",\r
 DlgLnkEMailSubject     : "Mezuaren Gaia",\r
 DlgLnkEMailBody                : "Mezuaren Gorputza",\r
@@ -239,14 +253,14 @@ DlgLnkBtnUpload           : "Zerbitzarira bidali",
 \r
 DlgLnkTarget           : "Target (Helburua)",\r
 DlgLnkTargetFrame      : "<marko>",\r
-DlgLnkTargetPopup      : "<popup lehioa>",\r
-DlgLnkTargetBlank      : "Lehio Berria (_blank)",\r
-DlgLnkTargetParent     : "Lehio Gurasoa (_parent)",\r
-DlgLnkTargetSelf       : "Lehio Berdina (_self)",\r
-DlgLnkTargetTop                : "Goiko Lehioa (_top)",\r
+DlgLnkTargetPopup      : "<popup leihoa>",\r
+DlgLnkTargetBlank      : "Leiho Berria (_blank)",\r
+DlgLnkTargetParent     : "Leiho Gurasoa (_parent)",\r
+DlgLnkTargetSelf       : "Leiho Berdina (_self)",\r
+DlgLnkTargetTop                : "Goiko Leihoa (_top)",\r
 DlgLnkTargetFrameName  : "Marko Helburuaren Izena",\r
-DlgLnkPopWinName       : "Popup Lehioaren Izena",\r
-DlgLnkPopWinFeat       : "Popup Lehioaren Ezaugarriak",\r
+DlgLnkPopWinName       : "Popup Leihoaren Izena",\r
+DlgLnkPopWinFeat       : "Popup Leihoaren Ezaugarriak",\r
 DlgLnkPopResize                : "Tamaina Aldakorra",\r
 DlgLnkPopLocation      : "Kokaleku Barra",\r
 DlgLnkPopMenu          : "Menu Barra",\r
@@ -263,7 +277,7 @@ DlgLnkPopTop                : "Goiko Posizioa",
 DlnLnkMsgNoUrl         : "Mesedez URL esteka idatzi",\r
 DlnLnkMsgNoEMail       : "Mesedez ePosta helbidea idatzi",\r
 DlnLnkMsgNoAnchor      : "Mesedez aingura bat aukeratu",\r
-DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
+DlnLnkMsgInvPopName    : "Popup leihoaren izenak karaktere alfabetiko batekin hasi behar du eta eta ezin du zuriunerik izan",\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Kolore Aukeraketa",\r
@@ -295,6 +309,11 @@ DlgTableCellSpace  : "Gelaxka arteko tartea",
 DlgTableCellPad                : "Gelaxken betegarria",\r
 DlgTableCaption                : "Epigrafea",\r
 DlgTableSummary                : "Laburpena",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Gelaxken Ezaugarriak",\r
@@ -306,7 +325,7 @@ DlgCellWordWrap             : "Itzulbira",
 DlgCellWordWrapNotSet  : "<Ezarri gabe>",\r
 DlgCellWordWrapYes     : "Bai",\r
 DlgCellWordWrapNo      : "Ez",\r
-DlgCellHorAlign                : "Horizontal Alignment",\r
+DlgCellHorAlign                : "Lerrokatu Horizontalki",\r
 DlgCellHorAlignNotSet  : "<Ezarri gabe>",\r
 DlgCellHorAlignLeft    : "Ezkerrean",\r
 DlgCellHorAlignCenter  : "Erdian",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignNotSet     : "<Ezarri gabe>",
 DlgCellVerAlignTop     : "Goian",\r
 DlgCellVerAlignMiddle  : "Erdian",\r
 DlgCellVerAlignBottom  : "Behean",\r
-DlgCellVerAlignBaseline        : "Oinan",\r
+DlgCellVerAlignBaseline        : "Oinean",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Lerroak Hedatu",\r
 DlgCellCollSpan                : "Zutabeak Hedatu",\r
 DlgCellBackColor       : "Atzeko Kolorea",\r
 DlgCellBorderColor     : "Ertzako Kolorea",\r
-DlgCellBtnSelect       : "Aukertau...",\r
+DlgCellBtnSelect       : "Aukeratu...",\r
+\r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Bilatu eta Ordeztu",\r
 \r
 // Find Dialog\r
 DlgFindTitle           : "Bilaketa",\r
@@ -345,10 +370,9 @@ PasteAsText                : "Testu Arrunta bezala Itsatsi",
 PasteFromWord  : "Word-etik itsatsi",\r
 \r
 DlgPasteMsg2   : "Mesedez teklatua erabilita (<STRONG>Ctrl+V</STRONG>) ondorego eremuan testua itsatsi eta <STRONG>OK</STRONG> sakatu.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "Nabigatzailearen segurtasun ezarpenak direla eta, editoreak ezin du arbela zuzenean erabili. Leiho honetan berriro itsatsi behar duzu.",\r
 DlgPasteIgnoreFont             : "Letra Motaren definizioa ezikusi",\r
 DlgPasteRemoveStyles   : "Estilo definizioak kendu",\r
-DlgPasteCleanBox               : "Testu-eremua Garbitu",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatikoa",\r
@@ -382,9 +406,9 @@ IeSpellDownload                     : "Zuzentzaile ortografikoa ez dago instalatuta. Deskargatu na
 // Button Dialog\r
 DlgButtonText          : "Testua (Balorea)",\r
 DlgButtonType          : "Mota",\r
-DlgButtonTypeBtn       : "Button",     //MISSING\r
-DlgButtonTypeSbm       : "Submit",     //MISSING\r
-DlgButtonTypeRst       : "Reset",      //MISSING\r
+DlgButtonTypeBtn       : "Botoia",\r
+DlgButtonTypeSbm       : "Bidali",\r
+DlgButtonTypeRst       : "Garbitu",\r
 \r
 // Checkbox and Radio Button Dialogs\r
 DlgCheckboxName                : "Izena",\r
@@ -394,7 +418,7 @@ DlgCheckboxSelected : "Hautatuta",
 // Form Dialog\r
 DlgFormName            : "Izena",\r
 DlgFormAction  : "Ekintza",\r
-DlgFormMethod  : "Method",\r
+DlgFormMethod  : "Metodoa",\r
 \r
 // Select Field Dialog\r
 DlgSelectName          : "Izena",\r
@@ -433,7 +457,7 @@ DlgHiddenValue      : "Balorea",
 // Bulleted List Dialog\r
 BulletedListProp       : "Buletdun Zerrendaren Ezarpenak",\r
 NumberedListProp       : "Zenbakidun Zerrendaren Ezarpenak",\r
-DlgLstStart                    : "Start",      //MISSING\r
+DlgLstStart                    : "Hasiera",\r
 DlgLstType                     : "Mota",\r
 DlgLstTypeCircle       : "Zirkulua",\r
 DlgLstTypeDisc         : "Diskoa",\r
@@ -446,7 +470,7 @@ DlgLstTypeLRoman    : "Erromatar zenbaki larriak (I, II, III)",
 \r
 // Document Properties Dialog\r
 DlgDocGeneralTab       : "Orokorra",\r
-DlgDocBackTab          : "Atzekaldea",\r
+DlgDocBackTab          : "Atzealdea",\r
 DlgDocColorsTab                : "Koloreak eta Marjinak",\r
 DlgDocMetaTab          : "Meta Informazioa",\r
 \r
@@ -456,23 +480,23 @@ DlgDocLangDirLTR  : "Ezkerretik eskumara (LTR)",
 DlgDocLangDirRTL       : "Eskumatik ezkerrera (RTL)",\r
 DlgDocLangCode         : "Hizkuntzaren Kodea",\r
 DlgDocCharSet          : "Karaktere Multzoaren Kodeketa",\r
-DlgDocCharSetCE                : "Central European",   //MISSING\r
-DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
-DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
-DlgDocCharSetGR                : "Greek",      //MISSING\r
-DlgDocCharSetJP                : "Japanese",   //MISSING\r
-DlgDocCharSetKR                : "Korean",     //MISSING\r
-DlgDocCharSetTR                : "Turkish",    //MISSING\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
-DlgDocCharSetWE                : "Western European",   //MISSING\r
-DlgDocCharSetOther     : "Beste Karaktere Multzoaren Kodeketa",\r
+DlgDocCharSetCE                : "Erdialdeko Europakoa",\r
+DlgDocCharSetCT                : "Txinatar Tradizionala (Big5)",\r
+DlgDocCharSetCR                : "Zirilikoa",\r
+DlgDocCharSetGR                : "Grekoa",\r
+DlgDocCharSetJP                : "Japoniarra",\r
+DlgDocCharSetKR                : "Korearra",\r
+DlgDocCharSetTR                : "Turkiarra",\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",\r
+DlgDocCharSetWE                : "Mendebaldeko Europakoa",\r
+DlgDocCharSetOther     : "Beste Karaktere Multzoko Kodeketa",\r
 \r
 DlgDocDocType          : "Document Type Goiburua",\r
 DlgDocDocTypeOther     : "Beste Document Type Goiburua",\r
 DlgDocIncXHTML         : "XHTML Ezarpenak",\r
 DlgDocBgColor          : "Atzeko Kolorea",\r
 DlgDocBgImage          : "Atzeko Irudiaren URL-a",\r
-DlgDocBgNoScroll       : "Korritze gabeko Atzekaldea",\r
+DlgDocBgNoScroll       : "Korritze gabeko Atzealdea",\r
 DlgDocCText                    : "Testua",\r
 DlgDocCLink                    : "Estekak",\r
 DlgDocCVisited         : "Bisitatutako Estekak",\r
@@ -494,12 +518,23 @@ DlgTemplatesTitle : "Eduki Txantiloiak",
 DlgTemplatesSelMsg     : "Mesedez txantiloia aukeratu editorean kargatzeko<br>(orain dauden edukiak galduko dira):",\r
 DlgTemplatesLoading    : "Txantiloiak kargatzen. Itxaron mesedez...",\r
 DlgTemplatesNoTpl      : "(Ez dago definitutako txantiloirik)",\r
-DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
+DlgTemplatesReplace    : "Ordeztu oraingo edukiak",\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "Honi buruz",\r
 DlgAboutBrowserInfoTab : "Nabigatzailearen Informazioa",\r
 DlgAboutLicenseTab     : "Lizentzia",\r
 DlgAboutVersion                : "bertsioa",\r
-DlgAboutInfo           : "Informazio gehiago eskuratzeko hona joan"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Informazio gehiago eskuratzeko hona joan",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Orokorra",\r
+DlgDivAdvancedTab      : "Aurreratua",\r
+DlgDivStyle            : "Estiloa",\r
+DlgDivInlineStyle      : "Inline Estiloa",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index e1bc973..3ca577c 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "برداشتن فرمت",
 InsertLinkLbl          : "پیوند",\r
 InsertLink                     : "گنجاندن/ویرایش ِپیوند",\r
 RemoveLink                     : "برداشتن پیوند",\r
+VisitLink                      : "باز کردن پیوند",\r
 Anchor                         : "گنجاندن/ویرایش ِلنگر",\r
+AnchorDelete           : "برداشتن لنگر",\r
 InsertImageLbl         : "تصویر",\r
 InsertImage                    : "گنجاندن/ویرایش ِتصویر",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "راست‌چین",
 BlockJustify           : "بلوک‌چین",\r
 DecreaseIndent         : "کاهش تورفتگی",\r
 IncreaseIndent         : "افزایش تورفتگی",\r
+Blockquote                     : "بلوک نقل قول",\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "واچیدن",\r
 Redo                           : "بازچیدن",\r
 NumberedListLbl                : "فهرست شماره‌دار",\r
@@ -103,20 +109,27 @@ SelectionField    : "فیلد چندگزینه‌ای",
 ImageButton            : "دکمهٴ تصویری",\r
 \r
 FitWindow              : "بیشینه‌سازی ِاندازهٴ ویرایشگر",\r
+ShowBlocks             : "نمایش بلوک‌ها",\r
 \r
 // Context Menu\r
 EditLink                       : "ویرایش پیوند",\r
 CellCM                         : "سلول",\r
 RowCM                          : "سطر",\r
 ColumnCM                       : "ستون",\r
-InsertRow                      : "گنجاندن سطر",\r
+InsertRowAfter         : "افزودن سطر بعد از",\r
+InsertRowBefore                : "افزودن سطر قبل از",\r
 DeleteRows                     : "حذف سطرها",\r
-InsertColumn           : "گنجاندن ستون",\r
+InsertColumnAfter      : "افزودن ستون بعد از",\r
+InsertColumnBefore     : "افزودن ستون قبل از",\r
 DeleteColumns          : "حذف ستونها",\r
-InsertCell                     : "گنجاندن سلول",\r
+InsertCellAfter                : "افزودن سلول بعد از",\r
+InsertCellBefore       : "افزودن سلول قبل از",\r
 DeleteCells                    : "حذف سلولها",\r
 MergeCells                     : "ادغام سلولها",\r
-SplitCell                      : "جداسازی سلول",\r
+MergeRight                     : "ادغام به راست",\r
+MergeDown                      : "ادغام به پایین",\r
+HorizontalSplitCell    : "جدا کردن افقی سلول",\r
+VerticalSplitCell      : "جدا کردن عمودی سلول",\r
 TableDelete                    : "پاک‌کردن جدول",\r
 CellProperties         : "ویژگیهای سلول",\r
 TableProperties                : "ویژگیهای جدول",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "ویژگیهای فیلد چندگزینه‌ای",
 TextareaProp           : "ویژگیهای ناحیهٴ متنی",\r
 FormProp                       : "ویژگیهای فرم",\r
 \r
-FontFormats                    : "نرمال;فرمت‌شده;آدرس;سرنویس 1;سرنویس 2;سرنویس 3;سرنویس 4;سرنویس 5;سرنویس 6;بند;(DIV)",               //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "نرمال;فرمت‌شده;آدرس;سرنویس 1;سرنویس 2;سرنویس 3;سرنویس 4;سرنویس 5;سرنویس 6;بند;(DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "پردازش XHTML. لطفا صبر کنید...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "مجموعهٴ نوارابزار \"%1\" وجود ندار
 NoActiveX                      : "تنظیمات امنیتی مرورگر شما ممکن است در بعضی از ویژگیهای مرورگر محدودیت ایجاد کند. شما باید گزینهٴ \"Run ActiveX controls and plug-ins\" را فعال کنید. ممکن است شما با خطاهایی روبرو باشید و متوجه کمبود ویژگیهایی شوید.",\r
 BrowseServerBlocked : "توانایی بازگشایی مرورگر منابع فراهم نیست. اطمینان حاصل کنید که تمامی برنامه‌های پیشگیری از نمایش popup را از کار بازداشته‌اید.",\r
 DialogBlocked          : "توانایی بازگشایی پنجرهٴ کوچک ِگفتگو فراهم نیست. اطمینان حاصل کنید که تمامی برنامه‌های پیشگیری از نمایش popup را از کار بازداشته‌اید.",\r
+VisitLinkBlocked       : "امکان بازکردن یک پنجره جدید نیست. اطمینان حاصل کنید که تمامی برنامه‌های پیشگیری از نمایش popup را از کار بازداشته‌اید.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "پذیرش",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "یک لنگر برگزینید",\r
 DlgLnkAnchorByName     : "با نام لنگر",\r
 DlgLnkAnchorById       : "با شناسهٴ المان",\r
-DlgLnkNoAnchors                : "(در این سند لنگری دردسترس نیست)",            //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(در این سند لنگری دردسترس نیست)",\r
 DlgLnkEMail                    : "نشانی پست الکترونیکی",\r
 DlgLnkEMailSubject     : "موضوع پیام",\r
 DlgLnkEMailBody                : "متن پیام",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "فاصلهٴ میان سلولها",
 DlgTableCellPad                : "فاصلهٴ پرشده در سلول",\r
 DlgTableCaption                : "عنوان",\r
 DlgTableSummary                : "خلاصه",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "ویژگیهای سلول",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "بالا",
 DlgCellVerAlignMiddle  : "میان",\r
 DlgCellVerAlignBottom  : "پائین",\r
 DlgCellVerAlignBaseline        : "خط‌پایه",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "گستردگی سطرها",\r
 DlgCellCollSpan                : "گستردگی ستونها",\r
 DlgCellBackColor       : "رنگ پس‌زمینه",\r
 DlgCellBorderColor     : "رنگ لبه",\r
 DlgCellBtnSelect       : "برگزینید...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "جستجو و جایگزینی",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "یافتن",\r
 DlgFindFindBtn         : "یافتن",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "لطفا متن را با کلیدهای (<STRONG>Ctrl+V</STRONG
 DlgPasteSec            : "به خاطر تنظیمات امنیتی مرورگر شما، ویرایشگر نمی‌تواند دسترسی مستقیم به داده‌های clipboard داشته باشد. شما باید دوباره آنرا در این پنجره بچسبانید.",\r
 DlgPasteIgnoreFont             : "چشم‌پوشی از تعاریف نوع قلم",\r
 DlgPasteRemoveStyles   : "چشم‌پوشی از تعاریف سبک (style)",\r
-DlgPasteCleanBox               : "پاک‌کردن ناحیه",\r
 \r
 // Color Picker\r
 ColorAutomatic : "خودکار",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "درباره",
 DlgAboutBrowserInfoTab : "اطلاعات مرورگر",\r
 DlgAboutLicenseTab     : "گواهینامه",\r
 DlgAboutVersion                : "نگارش",\r
-DlgAboutInfo           : "برای آگاهی بیشتر به این نشانی بروید"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "برای آگاهی بیشتر به این نشانی بروید",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 7e7986a..00f9e1c 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Poista muotoilu",
 InsertLinkLbl          : "Linkki",\r
 InsertLink                     : "Lisää linkki/muokkaa linkkiä",\r
 RemoveLink                     : "Poista linkki",\r
+VisitLink                      : "Avaa linkki",\r
 Anchor                         : "Lisää ankkuri/muokkaa ankkuria",\r
+AnchorDelete           : "Poista ankkuri",\r
 InsertImageLbl         : "Kuva",\r
 InsertImage                    : "Lisää kuva/muokkaa kuvaa",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Tasaa oikeat reunat",
 BlockJustify           : "Tasaa molemmat reunat",\r
 DecreaseIndent         : "Pienennä sisennystä",\r
 IncreaseIndent         : "Suurenna sisennystä",\r
+Blockquote                     : "Lainaus",\r
+CreateDiv                      : "Lisää Div",\r
+EditDiv                                : "Muokkaa Div:ä",\r
+DeleteDiv                      : "Poista Div",\r
 Undo                           : "Kumoa",\r
 Redo                           : "Toista",\r
 NumberedListLbl                : "Numerointi",\r
@@ -103,20 +109,27 @@ SelectionField    : "Valintakenttä",
 ImageButton            : "Kuvapainike",\r
 \r
 FitWindow              : "Suurenna editori koko ikkunaan",\r
+ShowBlocks             : "Näytä elementit",\r
 \r
 // Context Menu\r
 EditLink                       : "Muokkaa linkkiä",\r
 CellCM                         : "Solu",\r
 RowCM                          : "Rivi",\r
 ColumnCM                       : "Sarake",\r
-InsertRow                      : "Lisää rivi",\r
+InsertRowAfter         : "Lisää rivi alapuolelle",\r
+InsertRowBefore                : "Lisää rivi yläpuolelle",\r
 DeleteRows                     : "Poista rivit",\r
-InsertColumn           : "Lisää sarake",\r
+InsertColumnAfter      : "Lisää sarake oikealle",\r
+InsertColumnBefore     : "Lisää sarake vasemmalle",\r
 DeleteColumns          : "Poista sarakkeet",\r
-InsertCell                     : "Lisää solu",\r
+InsertCellAfter                : "Lisää solu perään",\r
+InsertCellBefore       : "Lisää solu eteen",\r
 DeleteCells                    : "Poista solut",\r
 MergeCells                     : "Yhdistä solut",\r
-SplitCell                      : "Jaa solu",\r
+MergeRight                     : "Yhdistä oikealla olevan kanssa",\r
+MergeDown                      : "Yhdistä alla olevan kanssa",\r
+HorizontalSplitCell    : "Jaa solu vaakasuunnassa",\r
+VerticalSplitCell      : "Jaa solu pystysuunnassa",\r
 TableDelete                    : "Poista taulu",\r
 CellProperties         : "Solun ominaisuudet",\r
 TableProperties                : "Taulun ominaisuudet",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Valintakentän ominaisuudet",
 TextareaProp           : "Tekstilaatikon ominaisuudet",\r
 FormProp                       : "Lomakkeen ominaisuudet",\r
 \r
-FontFormats                    : "Normaali;Muotoiltu;Osoite;Otsikko 1;Otsikko 2;Otsikko 3;Otsikko 4;Otsikko 5;Otsikko 6",              //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normaali;Muotoiltu;Osoite;Otsikko 1;Otsikko 2;Otsikko 3;Otsikko 4;Otsikko 5;Otsikko 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Prosessoidaan XHTML:ää. Odota hetki...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Työkalukokonaisuus \"%1\" ei ole olemassa",
 NoActiveX                      : "Selaimesi turvallisuusasetukset voivat rajoittaa joitain editorin ominaisuuksia. Sinun pitää ottaa käyttöön asetuksista \"Suorita ActiveX komponentit ja -plugin-laajennukset\". Saatat kohdata virheitä ja huomata puuttuvia ominaisuuksia.",\r
 BrowseServerBlocked : "Resurssiselainta ei voitu avata. Varmista, että ponnahdusikkunoiden estäjät eivät ole päällä.",\r
 DialogBlocked          : "Apuikkunaa ei voitu avaata. Varmista, että ponnahdusikkunoiden estäjät eivät ole päällä.",\r
+VisitLinkBlocked       : "IUutta ikkunaa ei voitu avata. Varmista, että ponnahdusikkunoiden estäjät eivät ole päällä.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "Osoite",
 DlgLnkAnchorSel                : "Valitse ankkuri",\r
 DlgLnkAnchorByName     : "Ankkurin nimen mukaan",\r
 DlgLnkAnchorById       : "Ankkurin ID:n mukaan",\r
-DlgLnkNoAnchors                : "<Ei ankkureita tässä dokumentissa>",               //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Ei ankkureita tässä dokumentissa)",\r
 DlgLnkEMail                    : "Sähköpostiosoite",\r
 DlgLnkEMailSubject     : "Aihe",\r
 DlgLnkEMailBody                : "Viesti",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Solujen väli",
 DlgTableCellPad                : "Solujen sisennys",\r
 DlgTableCaption                : "Otsikko",\r
 DlgTableSummary                : "Yhteenveto",\r
+DlgTableHeaders                : "Ylätunnisteet",\r
+DlgTableHeadersNone            : "Ei ylätunnisteita",\r
+DlgTableHeadersColumn  : "Ensimmäinen sarake",\r
+DlgTableHeadersRow             : "Ensimmäinen rivi",\r
+DlgTableHeadersBoth            : "Molemmat",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Solun ominaisuudet",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Ylös",
 DlgCellVerAlignMiddle  : "Keskelle",\r
 DlgCellVerAlignBottom  : "Alas",\r
 DlgCellVerAlignBaseline        : "Tekstin alas",\r
+DlgCellType            : "Solun tyyppi",\r
+DlgCellTypeData                : "Sisältö",\r
+DlgCellTypeHeader      : "Ylätunniste",\r
 DlgCellRowSpan         : "Rivin jatkuvuus",\r
 DlgCellCollSpan                : "Sarakkeen jatkuvuus",\r
 DlgCellBackColor       : "Taustaväri",\r
 DlgCellBorderColor     : "Rajan väri",\r
 DlgCellBtnSelect       : "Valitse...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Etsi ja korvaa",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Etsi",\r
 DlgFindFindBtn         : "Etsi",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Liitä painamalla (<STRONG>Ctrl+V</STRONG>) ja painamalla <STRON
 DlgPasteSec            : "Selaimesi turva-asetukset eivät salli editorin käyttää leikepöytää suoraan. Sinun pitää suorittaa liittäminen tässä ikkunassa.",\r
 DlgPasteIgnoreFont             : "Jätä huomioimatta fonttimääritykset",\r
 DlgPasteRemoveStyles   : "Poista tyylimääritykset",\r
-DlgPasteCleanBox               : "Tyhjennä",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automaattinen",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Editorista",
 DlgAboutBrowserInfoTab : "Selaimen tiedot",\r
 DlgAboutLicenseTab     : "Lisenssi",\r
 DlgAboutVersion                : "versio",\r
-DlgAboutInfo           : "Lisää tietoa osoitteesta"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Lisää tietoa osoitteesta",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Edistynyt",\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Tyyli",\r
+DlgDivInlineStyle      : "Rivin sisäinen tyyli",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 830c43e..e13b667 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Strika sniðgeving",
 InsertLinkLbl          : "Tilknýti",\r
 InsertLink                     : "Ger/broyt tilknýti",\r
 RemoveLink                     : "Strika tilknýti",\r
+VisitLink                      : "Opna tilknýti",\r
 Anchor                         : "Ger/broyt marknastein",\r
+AnchorDelete           : "Strika marknastein",\r
 InsertImageLbl         : "Myndir",\r
 InsertImage                    : "Set inn/broyt mynd",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Høgrasett",
 BlockJustify           : "Javnir tekstkantar",\r
 DecreaseIndent         : "Minka reglubrotarinntriv",\r
 IncreaseIndent         : "Økja reglubrotarinntriv",\r
+Blockquote                     : "Blockquote",\r
+CreateDiv                      : "Ger DIV øki",\r
+EditDiv                                : "Broyt DIV øki",\r
+DeleteDiv                      : "Strika DIV øki",\r
 Undo                           : "Angra",\r
 Redo                           : "Vend aftur",\r
 NumberedListLbl                : "Talmerktur listi",\r
@@ -103,20 +109,27 @@ SelectionField    : "Valskrá",
 ImageButton            : "Myndaknøttur",\r
 \r
 FitWindow              : "Set tekstviðgera til fulla stødd",\r
+ShowBlocks             : "Vís blokkar",\r
 \r
 // Context Menu\r
 EditLink                       : "Broyt tilknýti",\r
 CellCM                         : "Meski",\r
 RowCM                          : "Rað",\r
 ColumnCM                       : "Kolonna",\r
-InsertRow                      : "Nýtt rað",\r
+InsertRowAfter         : "Set rað inn aftaná",\r
+InsertRowBefore                : "Set rað inn áðrenn",\r
 DeleteRows                     : "Strika røðir",\r
-InsertColumn           : "Nýggj kolonna",\r
+InsertColumnAfter      : "Set kolonnu inn aftaná",\r
+InsertColumnBefore     : "Set kolonnu inn áðrenn",\r
 DeleteColumns          : "Strika kolonnur",\r
-InsertCell                     : "Nýggjur meski",\r
+InsertCellAfter                : "Set meska inn aftaná",\r
+InsertCellBefore       : "Set meska inn áðrenn",\r
 DeleteCells                    : "Strika meskar",\r
 MergeCells                     : "Flætta meskar",\r
-SplitCell                      : "Být sundur meskar",\r
+MergeRight                     : "Flætta meskar til høgru",\r
+MergeDown                      : "Flætta saman",\r
+HorizontalSplitCell    : "Kloyv meska vatnrætt",\r
+VerticalSplitCell      : "Kloyv meska loddrætt",\r
 TableDelete                    : "Strika tabell",\r
 CellProperties         : "Meskueginleikar",\r
 TableProperties                : "Tabelleginleikar",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Eginleikar fyri valskrá",
 TextareaProp           : "Eginleikar fyri tekstumráði",\r
 FormProp                       : "Eginleikar fyri Form",\r
 \r
-FontFormats                    : "Vanligt;Sniðgivið;Adressa;Yvirskrift 1;Yvirskrift 2;Yvirskrift 3;Yvirskrift 4;Yvirskrift 5;Yvirskrift 6",          //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Vanligt;Sniðgivið;Adressa;Yvirskrift 1;Yvirskrift 2;Yvirskrift 3;Yvirskrift 4;Yvirskrift 5;Yvirskrift 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML verður viðgjørt. Bíða við...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Amboðsbjálkin \"%1\" finst ikki",
 NoActiveX                      : "Trygdaruppsetingin í alnótskaganum kann sum er avmarka onkrar hentleikar í tekstviðgeranum. Tú mást loyva møguleikanum \"Run/Kør ActiveX controls and plug-ins\". Tú kanst uppliva feilir og ávaringar um tvørrandi hentleikar.",\r
 BrowseServerBlocked : "Ambætarakagin kundi ikki opnast. Tryggja tær, at allar pop-up forðingar eru óvirknar.",\r
 DialogBlocked          : "Tað eyðnaðist ikki at opna samskiftisrútin. Tryggja tær, at allar pop-up forðingar eru óvirknar.",\r
+VisitLinkBlocked       : "Tað eyðnaðist ikki at opna nýggjan rút. Tryggja tær, at allar pop-up forðingar eru óvirknar.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Góðkent",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Vel ein marknastein",\r
 DlgLnkAnchorByName     : "Eftir navni á marknasteini",\r
 DlgLnkAnchorById       : "Eftir element Id",\r
-DlgLnkNoAnchors                : "(Eingir marknasteinar eru í hesum dokumentið)",            //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Eingir marknasteinar eru í hesum dokumentið)",\r
 DlgLnkEMail                    : "Teldupost-adressa",\r
 DlgLnkEMailSubject     : "Evni",\r
 DlgLnkEMailBody                : "Breyðtekstur",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Fjarstøða millum meskar",
 DlgTableCellPad                : "Meskubreddi",\r
 DlgTableCaption                : "Tabellfrágreiðing",\r
 DlgTableSummary                : "Samandráttur",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Mesku eginleikar",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Ovast",
 DlgCellVerAlignMiddle  : "Miðjan",\r
 DlgCellVerAlignBottom  : "Niðast",\r
 DlgCellVerAlignBaseline        : "Basislinja",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Røðir, meskin fevnir um",\r
 DlgCellCollSpan                : "Kolonnur, meskin fevnir um",\r
 DlgCellBackColor       : "Bakgrundslitur",\r
 DlgCellBorderColor     : "Litur á borda",\r
 DlgCellBtnSelect       : "Vel...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Finn og broyt",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Finn",\r
 DlgFindFindBtn         : "Finn",\r
@@ -337,20 +362,19 @@ DlgReplaceReplAllBtn      : "Yvirskriva alt",
 DlgReplaceWordChk              : "Bert heil orð",\r
 \r
 // Paste Operations / Dialog\r
-PasteErrorCut  : "Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. vinarliga nýt knappaborðið til at kvetta tekstin (CTRL+X).",\r
+PasteErrorCut  : "Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. Vinarliga nýt knappaborðið til at kvetta tekstin (CTRL+X).",\r
 PasteErrorCopy : "Trygdaruppseting alnótskagans forðar tekstviðgeranum í at avrita tekstin. Vinarliga nýt knappaborðið til at avrita tekstin (CTRL+C).",\r
 \r
 PasteAsText            : "Innrita som reinan tekst",\r
 PasteFromWord  : "Innrita fra Word",\r
 \r
 DlgPasteMsg2   : "Vinarliga koyr tekstin í hendan rútin við knappaborðinum (<strong>CTRL+V</strong>) og klikk á <strong>Góðtak</strong>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "Trygdaruppseting alnótskagans forðar tekstviðgeranum í beinleiðis atgongd til avritingarminnið. Tygum mugu royna aftur í hesum rútinum.",\r
 DlgPasteIgnoreFont             : "Forfjóna Font definitiónirnar",\r
-DlgPasteRemoveStyles   : "Strika Styles definitiónir",\r
-DlgPasteCleanBox               : "Reinskanarkassi",\r
+DlgPasteRemoveStyles   : "Strika typografi definitiónir",\r
 \r
 // Color Picker\r
-ColorAutomatic : "Av sær sjálvum",\r
+ColorAutomatic : "Automatiskt",\r
 ColorMoreColors        : "Fleiri litir...",\r
 \r
 // Document Properties\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Um",
 DlgAboutBrowserInfoTab : "Upplýsingar um alnótskagan",\r
 DlgAboutLicenseTab     : "License",\r
 DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "Fyri fleiri upplýsingar, far til"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Fyri fleiri upplýsingar, far til",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Generelt",\r
+DlgDivAdvancedTab      : "Fjølbroytt",\r
+DlgDivStyle            : "Typografi",\r
+DlgDivInlineStyle      : "Inline typografi",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
diff --git a/httemplate/elements/fckeditor/editor/lang/fr-ca.js b/httemplate/elements/fckeditor/editor/lang/fr-ca.js
new file mode 100644 (file)
index 0000000..2489bd6
--- /dev/null
@@ -0,0 +1,539 @@
+/*\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ *\r
+ * Canadian French language file.\r
+ */\r
+\r
+var FCKLang =\r
+{\r
+// Language direction : "ltr" (left to right) or "rtl" (right to left).\r
+Dir                                    : "ltr",\r
+\r
+ToolbarCollapse                : "Masquer Outils",\r
+ToolbarExpand          : "Afficher Outils",\r
+\r
+// Toolbar Items and Context Menu\r
+Save                           : "Sauvegarder",\r
+NewPage                                : "Nouvelle page",\r
+Preview                                : "Previsualiser",\r
+Cut                                    : "Couper",\r
+Copy                           : "Copier",\r
+Paste                          : "Coller",\r
+PasteText                      : "Coller en tant que texte",\r
+PasteWord                      : "Coller en tant que Word (formaté)",\r
+Print                          : "Imprimer",\r
+SelectAll                      : "Tout sélectionner",\r
+RemoveFormat           : "Supprimer le formatage",\r
+InsertLinkLbl          : "Lien",\r
+InsertLink                     : "Insérer/modifier le lien",\r
+RemoveLink                     : "Supprimer le lien",\r
+VisitLink                      : "Suivre le lien",\r
+Anchor                         : "Insérer/modifier l'ancre",\r
+AnchorDelete           : "Supprimer l'ancre",\r
+InsertImageLbl         : "Image",\r
+InsertImage                    : "Insérer/modifier l'image",\r
+InsertFlashLbl         : "Animation Flash",\r
+InsertFlash                    : "Insérer/modifier l'animation Flash",\r
+InsertTableLbl         : "Tableau",\r
+InsertTable                    : "Insérer/modifier le tableau",\r
+InsertLineLbl          : "Séparateur",\r
+InsertLine                     : "Insérer un séparateur",\r
+InsertSpecialCharLbl: "Caractères spéciaux",\r
+InsertSpecialChar      : "Insérer un caractère spécial",\r
+InsertSmileyLbl                : "Emoticon",\r
+InsertSmiley           : "Insérer un Emoticon",\r
+About                          : "A propos de FCKeditor",\r
+Bold                           : "Gras",\r
+Italic                         : "Italique",\r
+Underline                      : "Souligné",\r
+StrikeThrough          : "Barrer",\r
+Subscript                      : "Indice",\r
+Superscript                    : "Exposant",\r
+LeftJustify                    : "Aligner à gauche",\r
+CenterJustify          : "Centrer",\r
+RightJustify           : "Aligner à Droite",\r
+BlockJustify           : "Texte justifié",\r
+DecreaseIndent         : "Diminuer le retrait",\r
+IncreaseIndent         : "Augmenter le retrait",\r
+Blockquote                     : "Citation",\r
+CreateDiv                      : "Créer Balise Div",\r
+EditDiv                                : "Modifier Balise Div",\r
+DeleteDiv                      : "Supprimer Balise Div",\r
+Undo                           : "Annuler",\r
+Redo                           : "Refaire",\r
+NumberedListLbl                : "Liste numérotée",\r
+NumberedList           : "Insérer/supprimer la liste numérotée",\r
+BulletedListLbl                : "Liste à puces",\r
+BulletedList           : "Insérer/supprimer la liste à puces",\r
+ShowTableBorders       : "Afficher les bordures du tableau",\r
+ShowDetails                    : "Afficher les caractères invisibles",\r
+Style                          : "Style",\r
+FontFormat                     : "Format",\r
+Font                           : "Police",\r
+FontSize                       : "Taille",\r
+TextColor                      : "Couleur de caractère",\r
+BGColor                                : "Couleur de fond",\r
+Source                         : "Source",\r
+Find                           : "Chercher",\r
+Replace                                : "Remplacer",\r
+SpellCheck                     : "Orthographe",\r
+UniversalKeyboard      : "Clavier universel",\r
+PageBreakLbl           : "Saut de page",\r
+PageBreak                      : "Insérer un saut de page",\r
+\r
+Form                   : "Formulaire",\r
+Checkbox               : "Case à cocher",\r
+RadioButton            : "Bouton radio",\r
+TextField              : "Champ texte",\r
+Textarea               : "Zone de texte",\r
+HiddenField            : "Champ caché",\r
+Button                 : "Bouton",\r
+SelectionField : "Champ de sélection",\r
+ImageButton            : "Bouton image",\r
+\r
+FitWindow              : "Edition pleine page",\r
+ShowBlocks             : "Afficher les blocs",\r
+\r
+// Context Menu\r
+EditLink                       : "Modifier le lien",\r
+CellCM                         : "Cellule",\r
+RowCM                          : "Ligne",\r
+ColumnCM                       : "Colonne",\r
+InsertRowAfter         : "Insérer une ligne après",\r
+InsertRowBefore                : "Insérer une ligne avant",\r
+DeleteRows                     : "Supprimer des lignes",\r
+InsertColumnAfter      : "Insérer une colonne après",\r
+InsertColumnBefore     : "Insérer une colonne avant",\r
+DeleteColumns          : "Supprimer des colonnes",\r
+InsertCellAfter                : "Insérer une cellule après",\r
+InsertCellBefore       : "Insérer une cellule avant",\r
+DeleteCells                    : "Supprimer des cellules",\r
+MergeCells                     : "Fusionner les cellules",\r
+MergeRight                     : "Fusionner à droite",\r
+MergeDown                      : "Fusionner en bas",\r
+HorizontalSplitCell    : "Scinder la cellule horizontalement",\r
+VerticalSplitCell      : "Scinder la cellule verticalement",\r
+TableDelete                    : "Supprimer le tableau",\r
+CellProperties         : "Propriétés de cellule",\r
+TableProperties                : "Propriétés du tableau",\r
+ImageProperties                : "Propriétés de l'image",\r
+FlashProperties                : "Propriétés de l'animation Flash",\r
+\r
+AnchorProp                     : "Propriétés de l'ancre",\r
+ButtonProp                     : "Propriétés du bouton",\r
+CheckboxProp           : "Propriétés de la case à cocher",\r
+HiddenFieldProp                : "Propriétés du champ caché",\r
+RadioButtonProp                : "Propriétés du bouton radio",\r
+ImageButtonProp                : "Propriétés du bouton image",\r
+TextFieldProp          : "Propriétés du champ texte",\r
+SelectionFieldProp     : "Propriétés de la liste/du menu",\r
+TextareaProp           : "Propriétés de la zone de texte",\r
+FormProp                       : "Propriétés du formulaire",\r
+\r
+FontFormats                    : "Normal;Formaté;Adresse;En-tête 1;En-tête 2;En-tête 3;En-tête 4;En-tête 5;En-tête 6;Normal (DIV)",\r
+\r
+// Alerts and Messages\r
+ProcessingXHTML                : "Calcul XHTML. Veuillez patienter...",\r
+Done                           : "Terminé",\r
+PasteWordConfirm       : "Le texte à coller semble provenir de Word. Désirez-vous le nettoyer avant de coller?",\r
+NotCompatiblePaste     : "Cette commande nécessite Internet Explorer version 5.5 et plus. Souhaitez-vous coller sans nettoyage?",\r
+UnknownToolbarItem     : "Élément de barre d'outil inconnu \"%1\"",\r
+UnknownCommand         : "Nom de commande inconnu \"%1\"",\r
+NotImplemented         : "Commande indisponible",\r
+UnknownToolbarSet      : "La barre d'outils \"%1\" n'existe pas",\r
+NoActiveX                      : "Les paramètres de sécurité de votre navigateur peuvent limiter quelques fonctionnalités de l'éditeur. Veuillez activer l'option \"Exécuter les contrôles ActiveX et les plug-ins\". Il se peut que vous rencontriez des erreurs et remarquiez quelques limitations.",\r
+BrowseServerBlocked : "Le navigateur n'a pas pu être ouvert. Assurez-vous que les bloqueurs de popups soient désactivés.",\r
+DialogBlocked          : "La fenêtre de dialogue n'a pas pu s'ouvrir. Assurez-vous que les bloqueurs de popups soient désactivés.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
+\r
+// Dialogs\r
+DlgBtnOK                       : "OK",\r
+DlgBtnCancel           : "Annuler",\r
+DlgBtnClose                    : "Fermer",\r
+DlgBtnBrowseServer     : "Parcourir le serveur",\r
+DlgAdvancedTag         : "Avancée",\r
+DlgOpOther                     : "<autre>",\r
+DlgInfoTab                     : "Info",\r
+DlgAlertUrl                    : "Veuillez saisir l'URL",\r
+\r
+// General Dialogs Labels\r
+DlgGenNotSet           : "<Par défaut>",\r
+DlgGenId                       : "Id",\r
+DlgGenLangDir          : "Sens d'écriture",\r
+DlgGenLangDirLtr       : "De gauche à droite (LTR)",\r
+DlgGenLangDirRtl       : "De droite à gauche (RTL)",\r
+DlgGenLangCode         : "Code langue",\r
+DlgGenAccessKey                : "Équivalent clavier",\r
+DlgGenName                     : "Nom",\r
+DlgGenTabIndex         : "Ordre de tabulation",\r
+DlgGenLongDescr                : "URL de description longue",\r
+DlgGenClass                    : "Classes de feuilles de style",\r
+DlgGenTitle                    : "Titre",\r
+DlgGenContType         : "Type de contenu",\r
+DlgGenLinkCharset      : "Encodage de caractère",\r
+DlgGenStyle                    : "Style",\r
+\r
+// Image Dialog\r
+DlgImgTitle                    : "Propriétés de l'image",\r
+DlgImgInfoTab          : "Informations sur l'image",\r
+DlgImgBtnUpload                : "Envoyer sur le serveur",\r
+DlgImgURL                      : "URL",\r
+DlgImgUpload           : "Télécharger",\r
+DlgImgAlt                      : "Texte de remplacement",\r
+DlgImgWidth                    : "Largeur",\r
+DlgImgHeight           : "Hauteur",\r
+DlgImgLockRatio                : "Garder les proportions",\r
+DlgBtnResetSize                : "Taille originale",\r
+DlgImgBorder           : "Bordure",\r
+DlgImgHSpace           : "Espacement horizontal",\r
+DlgImgVSpace           : "Espacement vertical",\r
+DlgImgAlign                    : "Alignement",\r
+DlgImgAlignLeft                : "Gauche",\r
+DlgImgAlignAbsBottom: "Abs Bas",\r
+DlgImgAlignAbsMiddle: "Abs Milieu",\r
+DlgImgAlignBaseline    : "Bas du texte",\r
+DlgImgAlignBottom      : "Bas",\r
+DlgImgAlignMiddle      : "Milieu",\r
+DlgImgAlignRight       : "Droite",\r
+DlgImgAlignTextTop     : "Haut du texte",\r
+DlgImgAlignTop         : "Haut",\r
+DlgImgPreview          : "Prévisualisation",\r
+DlgImgAlertUrl         : "Veuillez saisir l'URL de l'image",\r
+DlgImgLinkTab          : "Lien",\r
+\r
+// Flash Dialog\r
+DlgFlashTitle          : "Propriétés de l'animation Flash",\r
+DlgFlashChkPlay                : "Lecture automatique",\r
+DlgFlashChkLoop                : "Boucle",\r
+DlgFlashChkMenu                : "Activer le menu Flash",\r
+DlgFlashScale          : "Affichage",\r
+DlgFlashScaleAll       : "Par défaut (tout montrer)",\r
+DlgFlashScaleNoBorder  : "Sans bordure",\r
+DlgFlashScaleFit       : "Ajuster aux dimensions",\r
+\r
+// Link Dialog\r
+DlgLnkWindowTitle      : "Propriétés du lien",\r
+DlgLnkInfoTab          : "Informations sur le lien",\r
+DlgLnkTargetTab                : "Destination",\r
+\r
+DlgLnkType                     : "Type de lien",\r
+DlgLnkTypeURL          : "URL",\r
+DlgLnkTypeAnchor       : "Ancre dans cette page",\r
+DlgLnkTypeEMail                : "E-Mail",\r
+DlgLnkProto                    : "Protocole",\r
+DlgLnkProtoOther       : "<autre>",\r
+DlgLnkURL                      : "URL",\r
+DlgLnkAnchorSel                : "Sélectionner une ancre",\r
+DlgLnkAnchorByName     : "Par nom",\r
+DlgLnkAnchorById       : "Par id",\r
+DlgLnkNoAnchors                : "(Pas d'ancre disponible dans le document)",\r
+DlgLnkEMail                    : "Adresse E-Mail",\r
+DlgLnkEMailSubject     : "Sujet du message",\r
+DlgLnkEMailBody                : "Corps du message",\r
+DlgLnkUpload           : "Télécharger",\r
+DlgLnkBtnUpload                : "Envoyer sur le serveur",\r
+\r
+DlgLnkTarget           : "Destination",\r
+DlgLnkTargetFrame      : "<Cadre>",\r
+DlgLnkTargetPopup      : "<fenêtre popup>",\r
+DlgLnkTargetBlank      : "Nouvelle fenêtre (_blank)",\r
+DlgLnkTargetParent     : "Fenêtre mère (_parent)",\r
+DlgLnkTargetSelf       : "Même fenêtre (_self)",\r
+DlgLnkTargetTop                : "Fenêtre supérieure (_top)",\r
+DlgLnkTargetFrameName  : "Nom du cadre de destination",\r
+DlgLnkPopWinName       : "Nom de la fenêtre popup",\r
+DlgLnkPopWinFeat       : "Caractéristiques de la fenêtre popup",\r
+DlgLnkPopResize                : "Taille modifiable",\r
+DlgLnkPopLocation      : "Barre d'adresses",\r
+DlgLnkPopMenu          : "Barre de menu",\r
+DlgLnkPopScroll                : "Barres de défilement",\r
+DlgLnkPopStatus                : "Barre d'état",\r
+DlgLnkPopToolbar       : "Barre d'outils",\r
+DlgLnkPopFullScrn      : "Plein écran (IE)",\r
+DlgLnkPopDependent     : "Dépendante (Netscape)",\r
+DlgLnkPopWidth         : "Largeur",\r
+DlgLnkPopHeight                : "Hauteur",\r
+DlgLnkPopLeft          : "Position à partir de la gauche",\r
+DlgLnkPopTop           : "Position à partir du haut",\r
+\r
+DlnLnkMsgNoUrl         : "Veuillez saisir l'URL",\r
+DlnLnkMsgNoEMail       : "Veuillez saisir l'adresse e-mail",\r
+DlnLnkMsgNoAnchor      : "Veuillez sélectionner une ancre",\r
+DlnLnkMsgInvPopName    : "Le nom de la fenêtre popup doit commencer par une lettre et ne doit pas contenir d'espace",\r
+\r
+// Color Dialog\r
+DlgColorTitle          : "Sélectionner",\r
+DlgColorBtnClear       : "Effacer",\r
+DlgColorHighlight      : "Prévisualisation",\r
+DlgColorSelected       : "Sélectionné",\r
+\r
+// Smiley Dialog\r
+DlgSmileyTitle         : "Insérer un Emoticon",\r
+\r
+// Special Character Dialog\r
+DlgSpecialCharTitle    : "Insérer un caractère spécial",\r
+\r
+// Table Dialog\r
+DlgTableTitle          : "Propriétés du tableau",\r
+DlgTableRows           : "Lignes",\r
+DlgTableColumns                : "Colonnes",\r
+DlgTableBorder         : "Taille de la bordure",\r
+DlgTableAlign          : "Alignement",\r
+DlgTableAlignNotSet    : "<Par défaut>",\r
+DlgTableAlignLeft      : "Gauche",\r
+DlgTableAlignCenter    : "Centré",\r
+DlgTableAlignRight     : "Droite",\r
+DlgTableWidth          : "Largeur",\r
+DlgTableWidthPx                : "pixels",\r
+DlgTableWidthPc                : "pourcentage",\r
+DlgTableHeight         : "Hauteur",\r
+DlgTableCellSpace      : "Espacement",\r
+DlgTableCellPad                : "Contour",\r
+DlgTableCaption                : "Titre",\r
+DlgTableSummary                : "Résumé",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
+\r
+// Table Cell Dialog\r
+DlgCellTitle           : "Propriétés de la cellule",\r
+DlgCellWidth           : "Largeur",\r
+DlgCellWidthPx         : "pixels",\r
+DlgCellWidthPc         : "pourcentage",\r
+DlgCellHeight          : "Hauteur",\r
+DlgCellWordWrap                : "Retour à la ligne",\r
+DlgCellWordWrapNotSet  : "<Par défaut>",\r
+DlgCellWordWrapYes     : "Oui",\r
+DlgCellWordWrapNo      : "Non",\r
+DlgCellHorAlign                : "Alignement horizontal",\r
+DlgCellHorAlignNotSet  : "<Par défaut>",\r
+DlgCellHorAlignLeft    : "Gauche",\r
+DlgCellHorAlignCenter  : "Centré",\r
+DlgCellHorAlignRight: "Droite",\r
+DlgCellVerAlign                : "Alignement vertical",\r
+DlgCellVerAlignNotSet  : "<Par défaut>",\r
+DlgCellVerAlignTop     : "Haut",\r
+DlgCellVerAlignMiddle  : "Milieu",\r
+DlgCellVerAlignBottom  : "Bas",\r
+DlgCellVerAlignBaseline        : "Bas du texte",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
+DlgCellRowSpan         : "Lignes fusionnées",\r
+DlgCellCollSpan                : "Colonnes fusionnées",\r
+DlgCellBackColor       : "Couleur de fond",\r
+DlgCellBorderColor     : "Couleur de bordure",\r
+DlgCellBtnSelect       : "Sélectionner...",\r
+\r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Chercher et Remplacer",\r
+\r
+// Find Dialog\r
+DlgFindTitle           : "Chercher",\r
+DlgFindFindBtn         : "Chercher",\r
+DlgFindNotFoundMsg     : "Le texte indiqué est introuvable.",\r
+\r
+// Replace Dialog\r
+DlgReplaceTitle                        : "Remplacer",\r
+DlgReplaceFindLbl              : "Rechercher:",\r
+DlgReplaceReplaceLbl   : "Remplacer par:",\r
+DlgReplaceCaseChk              : "Respecter la casse",\r
+DlgReplaceReplaceBtn   : "Remplacer",\r
+DlgReplaceReplAllBtn   : "Tout remplacer",\r
+DlgReplaceWordChk              : "Mot entier",\r
+\r
+// Paste Operations / Dialog\r
+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).",\r
+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).",\r
+\r
+PasteAsText            : "Coller comme texte",\r
+PasteFromWord  : "Coller à partir de Word",\r
+\r
+DlgPasteMsg2   : "Veuillez coller dans la zone ci-dessous en utilisant le clavier (<STRONG>Ctrl+V</STRONG>) et appuyer sur <STRONG>OK</STRONG>.",\r
+DlgPasteSec            : "A cause des paramètres de sécurité de votre navigateur, l'éditeur ne peut accéder au presse-papier directement. Vous devez coller à nouveau le contenu dans cette fenêtre.",\r
+DlgPasteIgnoreFont             : "Ignorer les polices de caractères",\r
+DlgPasteRemoveStyles   : "Supprimer les styles",\r
+\r
+// Color Picker\r
+ColorAutomatic : "Automatique",\r
+ColorMoreColors        : "Plus de couleurs...",\r
+\r
+// Document Properties\r
+DocProps               : "Propriétés du document",\r
+\r
+// Anchor Dialog\r
+DlgAnchorTitle         : "Propriétés de l'ancre",\r
+DlgAnchorName          : "Nom de l'ancre",\r
+DlgAnchorErrorName     : "Veuillez saisir le nom de l'ancre",\r
+\r
+// Speller Pages Dialog\r
+DlgSpellNotInDic               : "Pas dans le dictionnaire",\r
+DlgSpellChangeTo               : "Changer en",\r
+DlgSpellBtnIgnore              : "Ignorer",\r
+DlgSpellBtnIgnoreAll   : "Ignorer tout",\r
+DlgSpellBtnReplace             : "Remplacer",\r
+DlgSpellBtnReplaceAll  : "Remplacer tout",\r
+DlgSpellBtnUndo                        : "Annuler",\r
+DlgSpellNoSuggestions  : "- Pas de suggestion -",\r
+DlgSpellProgress               : "Vérification d'orthographe en cours...",\r
+DlgSpellNoMispell              : "Vérification d'orthographe terminée: pas d'erreur trouvée",\r
+DlgSpellNoChanges              : "Vérification d'orthographe terminée: Pas de modifications",\r
+DlgSpellOneChange              : "Vérification d'orthographe terminée: Un mot modifié",\r
+DlgSpellManyChanges            : "Vérification d'orthographe terminée: %1 mots modifiés",\r
+\r
+IeSpellDownload                        : "Le Correcteur d'orthographe n'est pas installé. Souhaitez-vous le télécharger maintenant?",\r
+\r
+// Button Dialog\r
+DlgButtonText          : "Texte (Valeur)",\r
+DlgButtonType          : "Type",\r
+DlgButtonTypeBtn       : "Bouton",\r
+DlgButtonTypeSbm       : "Soumettre",\r
+DlgButtonTypeRst       : "Réinitialiser",\r
+\r
+// Checkbox and Radio Button Dialogs\r
+DlgCheckboxName                : "Nom",\r
+DlgCheckboxValue       : "Valeur",\r
+DlgCheckboxSelected    : "Sélectionné",\r
+\r
+// Form Dialog\r
+DlgFormName            : "Nom",\r
+DlgFormAction  : "Action",\r
+DlgFormMethod  : "Méthode",\r
+\r
+// Select Field Dialog\r
+DlgSelectName          : "Nom",\r
+DlgSelectValue         : "Valeur",\r
+DlgSelectSize          : "Taille",\r
+DlgSelectLines         : "lignes",\r
+DlgSelectChkMulti      : "Sélection multiple",\r
+DlgSelectOpAvail       : "Options disponibles",\r
+DlgSelectOpText                : "Texte",\r
+DlgSelectOpValue       : "Valeur",\r
+DlgSelectBtnAdd                : "Ajouter",\r
+DlgSelectBtnModify     : "Modifier",\r
+DlgSelectBtnUp         : "Monter",\r
+DlgSelectBtnDown       : "Descendre",\r
+DlgSelectBtnSetValue : "Valeur sélectionnée",\r
+DlgSelectBtnDelete     : "Supprimer",\r
+\r
+// Textarea Dialog\r
+DlgTextareaName        : "Nom",\r
+DlgTextareaCols        : "Colonnes",\r
+DlgTextareaRows        : "Lignes",\r
+\r
+// Text Field Dialog\r
+DlgTextName                    : "Nom",\r
+DlgTextValue           : "Valeur",\r
+DlgTextCharWidth       : "Largeur en caractères",\r
+DlgTextMaxChars                : "Nombre maximum de caractères",\r
+DlgTextType                    : "Type",\r
+DlgTextTypeText                : "Texte",\r
+DlgTextTypePass                : "Mot de passe",\r
+\r
+// Hidden Field Dialog\r
+DlgHiddenName  : "Nom",\r
+DlgHiddenValue : "Valeur",\r
+\r
+// Bulleted List Dialog\r
+BulletedListProp       : "Propriétés de liste à puces",\r
+NumberedListProp       : "Propriétés de liste numérotée",\r
+DlgLstStart                    : "Début",\r
+DlgLstType                     : "Type",\r
+DlgLstTypeCircle       : "Cercle",\r
+DlgLstTypeDisc         : "Disque",\r
+DlgLstTypeSquare       : "Carré",\r
+DlgLstTypeNumbers      : "Nombres (1, 2, 3)",\r
+DlgLstTypeLCase                : "Lettres minuscules (a, b, c)",\r
+DlgLstTypeUCase                : "Lettres majuscules (A, B, C)",\r
+DlgLstTypeSRoman       : "Chiffres romains minuscules (i, ii, iii)",\r
+DlgLstTypeLRoman       : "Chiffres romains majuscules (I, II, III)",\r
+\r
+// Document Properties Dialog\r
+DlgDocGeneralTab       : "Général",\r
+DlgDocBackTab          : "Fond",\r
+DlgDocColorsTab                : "Couleurs et Marges",\r
+DlgDocMetaTab          : "Méta-Données",\r
+\r
+DlgDocPageTitle                : "Titre de la page",\r
+DlgDocLangDir          : "Sens d'écriture",\r
+DlgDocLangDirLTR       : "De la gauche vers la droite (LTR)",\r
+DlgDocLangDirRTL       : "De la droite vers la gauche (RTL)",\r
+DlgDocLangCode         : "Code langue",\r
+DlgDocCharSet          : "Encodage de caractère",\r
+DlgDocCharSetCE                : "Europe Centrale",\r
+DlgDocCharSetCT                : "Chinois Traditionnel (Big5)",\r
+DlgDocCharSetCR                : "Cyrillique",\r
+DlgDocCharSetGR                : "Grecque",\r
+DlgDocCharSetJP                : "Japonais",\r
+DlgDocCharSetKR                : "Coréen",\r
+DlgDocCharSetTR                : "Turcque",\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",\r
+DlgDocCharSetWE                : "Occidental",\r
+DlgDocCharSetOther     : "Autre encodage de caractère",\r
+\r
+DlgDocDocType          : "Type de document",\r
+DlgDocDocTypeOther     : "Autre type de document",\r
+DlgDocIncXHTML         : "Inclure les déclarations XHTML",\r
+DlgDocBgColor          : "Couleur de fond",\r
+DlgDocBgImage          : "Image de fond",\r
+DlgDocBgNoScroll       : "Image fixe sans défilement",\r
+DlgDocCText                    : "Texte",\r
+DlgDocCLink                    : "Lien",\r
+DlgDocCVisited         : "Lien visité",\r
+DlgDocCActive          : "Lien activé",\r
+DlgDocMargins          : "Marges",\r
+DlgDocMaTop                    : "Haut",\r
+DlgDocMaLeft           : "Gauche",\r
+DlgDocMaRight          : "Droite",\r
+DlgDocMaBottom         : "Bas",\r
+DlgDocMeIndex          : "Mots-clés (séparés par des virgules)",\r
+DlgDocMeDescr          : "Description",\r
+DlgDocMeAuthor         : "Auteur",\r
+DlgDocMeCopy           : "Copyright",\r
+DlgDocPreview          : "Prévisualisation",\r
+\r
+// Templates Dialog\r
+Templates                      : "Modèles",\r
+DlgTemplatesTitle      : "Modèles de contenu",\r
+DlgTemplatesSelMsg     : "Sélectionner le modèle à ouvrir dans l'éditeur<br>(le contenu actuel sera remplacé):",\r
+DlgTemplatesLoading    : "Chargement de la liste des modèles. Veuillez patienter...",\r
+DlgTemplatesNoTpl      : "(Aucun modèle disponible)",\r
+DlgTemplatesReplace    : "Remplacer tout le contenu actuel",\r
+\r
+// About Dialog\r
+DlgAboutAboutTab       : "Á propos de",\r
+DlgAboutBrowserInfoTab : "Navigateur",\r
+DlgAboutLicenseTab     : "License",\r
+DlgAboutVersion                : "Version",\r
+DlgAboutInfo           : "Pour plus d'informations, visiter",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Général",\r
+DlgDivAdvancedTab      : "Avancé",\r
+DlgDivStyle            : "Style",\r
+DlgDivInlineStyle      : "Attribut Style",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 6d46fa0..a03558f 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Supprimer le format",
 InsertLinkLbl          : "Lien",\r
 InsertLink                     : "Insérer/modifier le lien",\r
 RemoveLink                     : "Supprimer le lien",\r
+VisitLink                      : "Suivre le lien",\r
 Anchor                         : "Insérer/modifier l'ancre",\r
+AnchorDelete           : "Supprimer l'ancre",\r
 InsertImageLbl         : "Image",\r
 InsertImage                    : "Insérer/modifier l'image",\r
 InsertFlashLbl         : "Animation Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Aligné à Droite",
 BlockJustify           : "Texte justifié",\r
 DecreaseIndent         : "Diminuer le retrait",\r
 IncreaseIndent         : "Augmenter le retrait",\r
+Blockquote                     : "Citation",\r
+CreateDiv                      : "Créer Balise Div",\r
+EditDiv                                : "Modifier Balise Div",\r
+DeleteDiv                      : "Supprimer Balise Div",\r
 Undo                           : "Annuler",\r
 Redo                           : "Refaire",\r
 NumberedListLbl                : "Liste numérotée",\r
@@ -103,20 +109,27 @@ SelectionField    : "Liste/menu",
 ImageButton            : "Bouton image",\r
 \r
 FitWindow              : "Edition pleine page",\r
+ShowBlocks             : "Afficher les blocs",\r
 \r
 // Context Menu\r
 EditLink                       : "Modifier le lien",\r
 CellCM                         : "Cellule",\r
 RowCM                          : "Ligne",\r
 ColumnCM                       : "Colonne",\r
-InsertRow                      : "Insérer une ligne",\r
+InsertRowAfter         : "Insérer une ligne après",\r
+InsertRowBefore                : "Insérer une ligne avant",\r
 DeleteRows                     : "Supprimer des lignes",\r
-InsertColumn           : "Insérer une colonne",\r
+InsertColumnAfter      : "Insérer une colonne après",\r
+InsertColumnBefore     : "Insérer une colonne avant",\r
 DeleteColumns          : "Supprimer des colonnes",\r
-InsertCell                     : "Insérer une cellule",\r
+InsertCellAfter                : "Insérer une cellule après",\r
+InsertCellBefore       : "Insérer une cellule avant",\r
 DeleteCells                    : "Supprimer des cellules",\r
 MergeCells                     : "Fusionner les cellules",\r
-SplitCell                      : "Scinder les cellules",\r
+MergeRight                     : "Fusionner à droite",\r
+MergeDown                      : "Fusionner en bas",\r
+HorizontalSplitCell    : "Scinder la cellule horizontalement",\r
+VerticalSplitCell      : "Scinder la cellule verticalement",\r
 TableDelete                    : "Supprimer le tableau",\r
 CellProperties         : "Propriétés de cellule",\r
 TableProperties                : "Propriétés du tableau",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Propriétés de la liste/du menu",
 TextareaProp           : "Propriétés de la zone de texte",\r
 FormProp                       : "Propriétés du formulaire",\r
 \r
-FontFormats                    : "Normal;Formaté;Adresse;En-tête 1;En-tête 2;En-tête 3;En-tête 4;En-tête 5;En-tête 6;Normal (DIV)",             //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formaté;Adresse;En-tête 1;En-tête 2;En-tête 3;En-tête 4;En-tête 5;En-tête 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Calcul XHTML. Veuillez patienter...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "La barre d'outils \"%1\" n'existe pas",
 NoActiveX                      : "Les paramètres de sécurité de votre navigateur peuvent limiter quelques fonctionnalités de l'éditeur. Veuillez activer l'option \"Exécuter les contrôles ActiveX et les plug-ins\". Il se peut que vous rencontriez des erreurs et remarquiez quelques limitations.",\r
 BrowseServerBlocked : "Le navigateur n'a pas pu être ouvert. Assurez-vous que les bloqueurs de popups soient désactivés.",\r
 DialogBlocked          : "La fenêtre de dialogue n'a pas pu s'ouvrir. Assurez-vous que les bloqueurs de popups soient désactivés.",\r
+VisitLinkBlocked       : "Impossible d'ouvrir une nouvelle fenêtre. Assurez-vous que les bloqueurs de popups soient désactivés.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Sélectionner une ancre",\r
 DlgLnkAnchorByName     : "Par nom",\r
 DlgLnkAnchorById       : "Par id",\r
-DlgLnkNoAnchors                : "<Pas d'ancre disponible dans le document>",          //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Pas d'ancre disponible dans le document)",\r
 DlgLnkEMail                    : "Adresse E-Mail",\r
 DlgLnkEMailSubject     : "Sujet du message",\r
 DlgLnkEMailBody                : "Corps du message",\r
@@ -237,7 +251,7 @@ DlgLnkUpload                : "Télécharger",
 DlgLnkBtnUpload                : "Envoyer sur le serveur",\r
 \r
 DlgLnkTarget           : "Destination",\r
-DlgLnkTargetFrame      : "<cadre>",\r
+DlgLnkTargetFrame      : "<Cadre>",\r
 DlgLnkTargetPopup      : "<fenêtre popup>",\r
 DlgLnkTargetBlank      : "Nouvelle fenêtre (_blank)",\r
 DlgLnkTargetParent     : "Fenêtre mère (_parent)",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Espacement",
 DlgTableCellPad                : "Contour",\r
 DlgTableCaption                : "Titre",\r
 DlgTableSummary                : "Résumé",\r
+DlgTableHeaders                : "Entêtes",\r
+DlgTableHeadersNone            : "Sans",\r
+DlgTableHeadersColumn  : "Première colonne",\r
+DlgTableHeadersRow             : "Première Ligne",\r
+DlgTableHeadersBoth            : "Les 2",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Propriétés de la cellule",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Haut",
 DlgCellVerAlignMiddle  : "Milieu",\r
 DlgCellVerAlignBottom  : "Bas",\r
 DlgCellVerAlignBaseline        : "Bas du texte",\r
+DlgCellType            : "Type de Cellule",\r
+DlgCellTypeData                : "Données",\r
+DlgCellTypeHeader      : "Entête",\r
 DlgCellRowSpan         : "Lignes fusionnées",\r
 DlgCellCollSpan                : "Colonnes fusionnées",\r
 DlgCellBackColor       : "Fond",\r
 DlgCellBorderColor     : "Bordure",\r
 DlgCellBtnSelect       : "Choisir...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Chercher et Remplacer",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Chercher",\r
 DlgFindFindBtn         : "Chercher",\r
@@ -344,10 +369,9 @@ PasteAsText                : "Coller comme texte",
 PasteFromWord  : "Coller à partir de Word",\r
 \r
 DlgPasteMsg2   : "Veuillez coller dans la zone ci-dessous en utilisant le clavier (<STRONG>Ctrl+V</STRONG>) et cliquez sur <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "A cause des paramètres de sécurité de votre navigateur, l'éditeur ne peut accéder au presse-papier directement. Vous devez coller à nouveau le contenu dans cette fenêtre.",\r
 DlgPasteIgnoreFont             : "Ignorer les polices de caractères",\r
 DlgPasteRemoveStyles   : "Supprimer les styles",\r
-DlgPasteCleanBox               : "Effacer le contenu",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatique",\r
@@ -459,7 +483,7 @@ DlgDocCharSetCE             : "Europe Centrale",
 DlgDocCharSetCT                : "Chinois Traditionnel (Big5)",\r
 DlgDocCharSetCR                : "Cyrillique",\r
 DlgDocCharSetGR                : "Grec",\r
-DlgDocCharSetJP                : "Japanais",\r
+DlgDocCharSetJP                : "Japonais",\r
 DlgDocCharSetKR                : "Coréen",\r
 DlgDocCharSetTR                : "Turc",\r
 DlgDocCharSetUN                : "Unicode (UTF-8)",\r
@@ -498,7 +522,18 @@ DlgTemplatesReplace        : "Remplacer tout le contenu",
 // About Dialog\r
 DlgAboutAboutTab       : "A propos de",\r
 DlgAboutBrowserInfoTab : "Navigateur",\r
-DlgAboutLicenseTab     : "License",\r
-DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "Pour plus d'informations, aller à"\r
-};
\ No newline at end of file
+DlgAboutLicenseTab     : "Licence",\r
+DlgAboutVersion                : "Version",\r
+DlgAboutInfo           : "Pour plus d'informations, aller à",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Général",\r
+DlgDivAdvancedTab      : "Avancé",\r
+DlgDivStyle            : "Style",\r
+DlgDivInlineStyle      : "Attribut Style",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 238d108..311bfb4 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Eliminar Formato",
 InsertLinkLbl          : "Ligazón",\r
 InsertLink                     : "Inserir/Editar Ligazón",\r
 RemoveLink                     : "Eliminar Ligazón",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Inserir/Editar Referencia",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Imaxe",\r
 InsertImage                    : "Inserir/Editar Imaxe",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Aliñar á Dereita",
 BlockJustify           : "Xustificado",\r
 DecreaseIndent         : "Disminuir Sangría",\r
 IncreaseIndent         : "Aumentar Sangría",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Desfacer",\r
 Redo                           : "Refacer",\r
 NumberedListLbl                : "Lista Numerada",\r
@@ -103,20 +109,27 @@ SelectionField    : "Campo de Selección",
 ImageButton            : "Botón de Imaxe",\r
 \r
 FitWindow              : "Maximizar o tamaño do editor",\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Editar Ligazón",\r
 CellCM                         : "Cela",\r
 RowCM                          : "Fila",\r
 ColumnCM                       : "Columna",\r
-InsertRow                      : "Inserir Fila",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "Borrar Filas",\r
-InsertColumn           : "Inserir Columna",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "Borrar Columnas",\r
-InsertCell                     : "Inserir Cela",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "Borrar Cela",\r
 MergeCells                     : "Unir Celas",\r
-SplitCell                      : "Partir Celas",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "Borrar Táboa",\r
 CellProperties         : "Propriedades da Cela",\r
 TableProperties                : "Propriedades da Táboa",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Propriedades do Campo de Selección",
 TextareaProp           : "Propriedades da Área de Texto",\r
 FormProp                       : "Propriedades do Formulario",\r
 \r
-FontFormats                    : "Normal;Formateado;Enderezo;Enacabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Paragraph (DIV)",          //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formateado;Enderezo;Enacabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Paragraph (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Procesando XHTML. Por facor, agarde...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "O conxunto de ferramentas \"%1\" non existe",
 NoActiveX                      : "As opcións de seguridade do seu navegador poderían limitar algunha das características de editor. Debe activar a opción \"Executar controis ActiveX e plug-ins\". Pode notar que faltan características e experimentar erros",\r
 BrowseServerBlocked : "Non se poido abrir o navegador de recursos. Asegúrese de que están desactivados os bloqueadores de xanelas emerxentes",\r
 DialogBlocked          : "Non foi posible abrir a xanela de diálogo. Asegúrese de que están desactivados os bloqueadores de xanelas emerxentes",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Seleccionar unha Referencia",\r
 DlgLnkAnchorByName     : "Por Nome de Referencia",\r
 DlgLnkAnchorById       : "Por Element Id",\r
-DlgLnkNoAnchors                : "<Non hai referencias disponibles no documento>",             //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Non hai referencias disponibles no documento)",\r
 DlgLnkEMail                    : "Enderezo de E-Mail",\r
 DlgLnkEMailSubject     : "Asunto do Mensaxe",\r
 DlgLnkEMailBody                : "Corpo do Mensaxe",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Marxe entre Celas",
 DlgTableCellPad                : "Marxe interior",\r
 DlgTableCaption                : "Título",\r
 DlgTableSummary                : "Sumario",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Propriedades da Cela",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Arriba",
 DlgCellVerAlignMiddle  : "Medio",\r
 DlgCellVerAlignBottom  : "Abaixo",\r
 DlgCellVerAlignBaseline        : "Liña de Base",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Ocupar Filas",\r
 DlgCellCollSpan                : "Ocupar Columnas",\r
 DlgCellBackColor       : "Color de Fondo",\r
 DlgCellBorderColor     : "Color de Borde",\r
 DlgCellBtnSelect       : "Seleccionar...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Procurar",\r
 DlgFindFindBtn         : "Procurar",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Por favor, pegue dentro do seguinte cadro usando o teclado (<STR
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignorar as definicións de Tipografía",\r
 DlgPasteRemoveStyles   : "Eliminar as definicións de Estilos",\r
-DlgPasteCleanBox               : "Limpar o Cadro",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automático",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Acerca de",
 DlgAboutBrowserInfoTab : "Información do Navegador",\r
 DlgAboutLicenseTab     : "Licencia",\r
 DlgAboutVersion                : "versión",\r
-DlgAboutInfo           : "Para máis información visitar:"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Para máis información visitar:",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
diff --git a/httemplate/elements/fckeditor/editor/lang/gu.js b/httemplate/elements/fckeditor/editor/lang/gu.js
new file mode 100644 (file)
index 0000000..3e8b6b2
--- /dev/null
@@ -0,0 +1,539 @@
+/*\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ *\r
+ * Gujarati language file.\r
+ */\r
+\r
+var FCKLang =\r
+{\r
+// Language direction : "ltr" (left to right) or "rtl" (right to left).\r
+Dir                                    : "ltr",\r
+\r
+ToolbarCollapse                : "ટૂલબાર નાનું કરવું",\r
+ToolbarExpand          : "ટૂલબાર મોટું કરવું",\r
+\r
+// Toolbar Items and Context Menu\r
+Save                           : "સેવ",\r
+NewPage                                : "નવુ પાનું",\r
+Preview                                : "પૂર્વદર્શન",\r
+Cut                                    : "કાપવું",\r
+Copy                           : "નકલ",\r
+Paste                          : "પેસ્ટ",\r
+PasteText                      : "પેસ્ટ (સાદી ટેક્સ્ટ)",\r
+PasteWord                      : "પેસ્ટ (વડૅ ટેક્સ્ટ)",\r
+Print                          : "પ્રિન્ટ",\r
+SelectAll                      : "બઘું પસંદ કરવું",\r
+RemoveFormat           : "ફૉર્મટ કાઢવું",\r
+InsertLinkLbl          : "સંબંધન, લિંક",\r
+InsertLink                     : "લિંક ઇન્સર્ટ/દાખલ કરવી",\r
+RemoveLink                     : "લિંક કાઢવી",\r
+VisitLink                      : "Open Link",  //MISSING\r
+Anchor                         : "ઍંકર ઇન્સર્ટ/દાખલ કરવી",\r
+AnchorDelete           : "ઍંકર કાઢવી",\r
+InsertImageLbl         : "ચિત્ર",\r
+InsertImage                    : "ચિત્ર ઇન્સર્ટ/દાખલ કરવું",\r
+InsertFlashLbl         : "ફ્લૅશ",\r
+InsertFlash                    : "ફ્લૅશ ઇન્સર્ટ/દાખલ કરવું",\r
+InsertTableLbl         : "ટેબલ, કોઠો",\r
+InsertTable                    : "ટેબલ, કોઠો ઇન્સર્ટ/દાખલ કરવું",\r
+InsertLineLbl          : "રેખા",\r
+InsertLine                     : "સમસ્તરીય રેખા ઇન્સર્ટ/દાખલ કરવી",\r
+InsertSpecialCharLbl: "વિશિષ્ટ અક્ષર",\r
+InsertSpecialChar      : "વિશિષ્ટ અક્ષર ઇન્સર્ટ/દાખલ કરવું",\r
+InsertSmileyLbl                : "સ્માઇલી",\r
+InsertSmiley           : "સ્માઇલી ઇન્સર્ટ/દાખલ કરવી",\r
+About                          : "FCKeditorના વિષે",\r
+Bold                           : "બોલ્ડ/સ્પષ્ટ",\r
+Italic                         : "ઇટેલિક, ત્રાંસા",\r
+Underline                      : "અન્ડર્લાઇન, નીચે લીટી",\r
+StrikeThrough          : "છેકી નાખવું",\r
+Subscript                      : "એક ચિહ્નની નીચે કરેલું બીજું ચિહ્ન",\r
+Superscript                    : "એક ચિહ્ન ઉપર કરેલું બીજું ચિહ્ન.",\r
+LeftJustify                    : "ડાબી બાજુએ/બાજુ તરફ",\r
+CenterJustify          : "સંકેંદ્રણ/સેંટરિંગ",\r
+RightJustify           : "જમણી બાજુએ/બાજુ તરફ",\r
+BlockJustify           : "બ્લૉક, અંતરાય જસ્ટિફાઇ",\r
+DecreaseIndent         : "ઇન્ડેન્ટ લીટીના આરંભમાં જગ્યા ઘટાડવી",\r
+IncreaseIndent         : "ઇન્ડેન્ટ, લીટીના આરંભમાં જગ્યા વધારવી",\r
+Blockquote                     : "બ્લૉક-કોટ, અવતરણચિહ્નો",\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
+Undo                           : "રદ કરવું; પહેલાં હતી એવી સ્થિતિ પાછી લાવવી",\r
+Redo                           : "રિડૂ; પછી હતી એવી સ્થિતિ પાછી લાવવી",\r
+NumberedListLbl                : "સંખ્યાંકન સૂચિ",\r
+NumberedList           : "સંખ્યાંકન સૂચિ ઇન્સર્ટ/દાખલ કરવી",\r
+BulletedListLbl                : "બુલેટ સૂચિ",\r
+BulletedList           : "બુલેટ સૂચિ ઇન્સર્ટ/દાખલ કરવી",\r
+ShowTableBorders       : "ટેબલ, કોઠાની બાજુ(બોર્ડર) બતાવવી",\r
+ShowDetails                    : "વિસ્તૃત વિગતવાર બતાવવું",\r
+Style                          : "શૈલી/રીત",\r
+FontFormat                     : "ફૉન્ટ ફૉર્મટ, રચનાની શૈલી",\r
+Font                           : "ફૉન્ટ",\r
+FontSize                       : "ફૉન્ટ સાઇઝ/કદ",\r
+TextColor                      : "શબ્દનો રંગ",\r
+BGColor                                : "બૅકગ્રાઉન્ડ રંગ,",\r
+Source                         : "મૂળ કે પ્રાથમિક દસ્તાવેજ",\r
+Find                           : "શોધવું",\r
+Replace                                : "રિપ્લેસ/બદલવું",\r
+SpellCheck                     : "જોડણી (સ્પેલિંગ) તપાસવી",\r
+UniversalKeyboard      : "યૂનિવર્સલ/વિશ્વવ્યાપક કીબૉર્ડ",\r
+PageBreakLbl           : "પેજબ્રેક/પાનાને અલગ કરવું",\r
+PageBreak                      : "ઇન્સર્ટ પેજબ્રેક/પાનાને અલગ કરવું/દાખલ કરવું",\r
+\r
+Form                   : "ફૉર્મ/પત્રક",\r
+Checkbox               : "ચેક બોક્સ",\r
+RadioButton            : "રેડિઓ બટન",\r
+TextField              : "ટેક્સ્ટ ફીલ્ડ, શબ્દ ક્ષેત્ર",\r
+Textarea               : "ટેક્સ્ટ એરિઆ, શબ્દ વિસ્તાર",\r
+HiddenField            : "ગુપ્ત ક્ષેત્ર",\r
+Button                 : "બટન",\r
+SelectionField : "પસંદગી ક્ષેત્ર",\r
+ImageButton            : "ચિત્ર બટન",\r
+\r
+FitWindow              : "એડિટરની સાઇઝ અધિકતમ કરવી",\r
+ShowBlocks             : "બ્લૉક બતાવવું",\r
+\r
+// Context Menu\r
+EditLink                       : " લિંક એડિટ/માં ફેરફાર કરવો",\r
+CellCM                         : "કોષના ખાના",\r
+RowCM                          : "પંક્તિના ખાના",\r
+ColumnCM                       : "કૉલમ/ઊભી કટાર",\r
+InsertRowAfter         : "પછી પંક્તિ ઉમેરવી",\r
+InsertRowBefore                : "પહેલાં પંક્તિ ઉમેરવી",\r
+DeleteRows                     : "પંક્તિઓ ડિલીટ/કાઢી નાખવી",\r
+InsertColumnAfter      : "પછી કૉલમ/ઊભી કટાર ઉમેરવી",\r
+InsertColumnBefore     : "પહેલાં કૉલમ/ઊભી કટાર ઉમેરવી",\r
+DeleteColumns          : "કૉલમ/ઊભી કટાર ડિલીટ/કાઢી નાખવી",\r
+InsertCellAfter                : "પછી કોષ ઉમેરવો",\r
+InsertCellBefore       : "પહેલાં કોષ ઉમેરવો",\r
+DeleteCells                    : "કોષ ડિલીટ/કાઢી નાખવો",\r
+MergeCells                     : "કોષ ભેગા કરવા",\r
+MergeRight                     : "જમણી બાજુ ભેગા કરવા",\r
+MergeDown                      : "નીચે ભેગા કરવા",\r
+HorizontalSplitCell    : "કોષને સમસ્તરીય વિભાજન કરવું",\r
+VerticalSplitCell      : "કોષને સીધું ને ઊભું વિભાજન કરવું",\r
+TableDelete                    : "કોઠો ડિલીટ/કાઢી નાખવું",\r
+CellProperties         : "કોષના ગુણ",\r
+TableProperties                : "કોઠાના  ગુણ",\r
+ImageProperties                : "ચિત્રના ગુણ",\r
+FlashProperties                : "ફ્લૅશના ગુણ",\r
+\r
+AnchorProp                     : "ઍંકરના ગુણ",\r
+ButtonProp                     : "બટનના ગુણ",\r
+CheckboxProp           : "ચેક બોક્સ ગુણ",\r
+HiddenFieldProp                : "ગુપ્ત ક્ષેત્રના ગુણ",\r
+RadioButtonProp                : "રેડિઓ બટનના ગુણ",\r
+ImageButtonProp                : "ચિત્ર બટનના ગુણ",\r
+TextFieldProp          : "ટેક્સ્ટ ફીલ્ડ, શબ્દ ક્ષેત્રના ગુણ",\r
+SelectionFieldProp     : "પસંદગી ક્ષેત્રના ગુણ",\r
+TextareaProp           : "ટેક્સ્ટ એઅરિઆ, શબ્દ વિસ્તારના ગુણ",\r
+FormProp                       : "ફૉર્મ/પત્રકના ગુણ",\r
+\r
+FontFormats                    : "સામાન્ય;ફૉર્મટેડ;સરનામું;શીર્ષક 1;શીર્ષક 2;શીર્ષક 3;શીર્ષક 4;શીર્ષક 5;શીર્ષક 6;શીર્ષક (DIV)",\r
+\r
+// Alerts and Messages\r
+ProcessingXHTML                : "XHTML પ્રક્રિયા ચાલુ છે. મહેરબાની કરીને રાહ જોવો...",\r
+Done                           : "પતી ગયું",\r
+PasteWordConfirm       : "તમે જે ટેક્સ્ટ પેસ્ટ કરવા માંગો છો, તે વડૅમાંથી કોપી કરેલુ લાગે છે. પેસ્ટ કરતા પહેલાં ટેક્સ્ટ સાફ કરવી છે?",\r
+NotCompatiblePaste     : "આ કમાન્ડ ઈનટરનેટ એક્સપ્લોરર(Internet Explorer) 5.5 અથવા એના પછીના વર્ઝન માટેજ છે. ટેક્સ્ટને સાફ કયૅા પહેલાં પેસ્ટ કરવી છે?",\r
+UnknownToolbarItem     : "અજાણી ટૂલબાર આઇટમ \"%1\"",\r
+UnknownCommand         : "અજાણયો કમાન્ડ \"%1\"",\r
+NotImplemented         : "કમાન્ડ ઇમ્પ્લિમન્ટ નથી કરોયો",\r
+UnknownToolbarSet      : "ટૂલબાર સેટ \"%1\" ઉપલબ્ધ નથી",\r
+NoActiveX                      : "તમારા બ્રાઉઝરની સુરક્ષા સેટિંગસ એડિટરના અમુક ફીચરને પરવાનગી આપતી નથી. કૃપયા \"Run ActiveX controls and plug-ins\" વિકલ્પને ઇનેબલ/સમર્થ કરો. તમારા બ્રાઉઝરમાં એરર ઇન્વિઝિબલ ફીચરનો અનુભવ થઈ શકે છે. કૃપયા પૉપ-અપ બ્લૉકર ડિસેબલ કરો.",\r
+BrowseServerBlocked : "રિસૉર્સ બ્રાઉઝર ખોલી ન સકાયું.",\r
+DialogBlocked          : "ડાયલૉગ વિન્ડો ખોલી ન સકાયું. કૃપયા પૉપ-અપ બ્લૉકર ડિસેબલ કરો.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
+\r
+// Dialogs\r
+DlgBtnOK                       : "ઠીક છે",\r
+DlgBtnCancel           : "રદ કરવું",\r
+DlgBtnClose                    : "બંધ કરવું",\r
+DlgBtnBrowseServer     : "સર્વર બ્રાઉઝ કરો",\r
+DlgAdvancedTag         : "અડ્વાન્સડ",\r
+DlgOpOther                     : "<અન્ય>",\r
+DlgInfoTab                     : "સૂચના",\r
+DlgAlertUrl                    : "URL ઇન્સર્ટ કરો",\r
+\r
+// General Dialogs Labels\r
+DlgGenNotSet           : "<સેટ નથી>",\r
+DlgGenId                       : "Id",\r
+DlgGenLangDir          : "ભાષા લેખવાની પદ્ધતિ",\r
+DlgGenLangDirLtr       : "ડાબે થી જમણે (LTR)",\r
+DlgGenLangDirRtl       : "જમણે થી ડાબે (RTL)",\r
+DlgGenLangCode         : "ભાષા કોડ",\r
+DlgGenAccessKey                : "ઍક્સેસ કી",\r
+DlgGenName                     : "નામ",\r
+DlgGenTabIndex         : "ટૅબ ઇન્ડેક્સ",\r
+DlgGenLongDescr                : "વધારે માહિતી માટે URL",\r
+DlgGenClass                    : "સ્ટાઇલ-શીટ ક્લાસ",\r
+DlgGenTitle                    : "મુખ્ય મથાળું",\r
+DlgGenContType         : "મુખ્ય કન્ટેન્ટ પ્રકાર",\r
+DlgGenLinkCharset      : "લિંક રિસૉર્સ કૅરિક્ટર સેટ",\r
+DlgGenStyle                    : "સ્ટાઇલ",\r
+\r
+// Image Dialog\r
+DlgImgTitle                    : "ચિત્રના ગુણ",\r
+DlgImgInfoTab          : "ચિત્ર ની જાણકારી",\r
+DlgImgBtnUpload                : "આ સર્વરને મોકલવું",\r
+DlgImgURL                      : "URL",\r
+DlgImgUpload           : "અપલોડ",\r
+DlgImgAlt                      : "ઑલ્ટર્નટ ટેક્સ્ટ",\r
+DlgImgWidth                    : "પહોળાઈ",\r
+DlgImgHeight           : "ઊંચાઈ",\r
+DlgImgLockRatio                : "લૉક ગુણોત્તર",\r
+DlgBtnResetSize                : "રીસેટ સાઇઝ",\r
+DlgImgBorder           : "બોર્ડર",\r
+DlgImgHSpace           : "સમસ્તરીય જગ્યા",\r
+DlgImgVSpace           : "લંબરૂપ જગ્યા",\r
+DlgImgAlign                    : "લાઇનદોરીમાં ગોઠવવું",\r
+DlgImgAlignLeft                : "ડાબી બાજુ ગોઠવવું",\r
+DlgImgAlignAbsBottom: "Abs નીચે",\r
+DlgImgAlignAbsMiddle: "Abs ઉપર",\r
+DlgImgAlignBaseline    : "આધાર લીટી",\r
+DlgImgAlignBottom      : "નીચે",\r
+DlgImgAlignMiddle      : "વચ્ચે",\r
+DlgImgAlignRight       : "જમણી",\r
+DlgImgAlignTextTop     : "ટેક્સ્ટ ઉપર",\r
+DlgImgAlignTop         : "ઉપર",\r
+DlgImgPreview          : "પૂર્વદર્શન",\r
+DlgImgAlertUrl         : "ચિત્રની URL ટાઇપ કરો",\r
+DlgImgLinkTab          : "લિંક",\r
+\r
+// Flash Dialog\r
+DlgFlashTitle          : "ફ્લૅશ ગુણ",\r
+DlgFlashChkPlay                : "ઑટો/સ્વયં પ્લે",\r
+DlgFlashChkLoop                : "લૂપ",\r
+DlgFlashChkMenu                : "ફ્લૅશ મેન્યૂ નો પ્રયોગ કરો",\r
+DlgFlashScale          : "સ્કેલ",\r
+DlgFlashScaleAll       : "સ્કેલ ઓલ/બધુ બતાવો",\r
+DlgFlashScaleNoBorder  : "સ્કેલ બોર્ડર વગર",\r
+DlgFlashScaleFit       : "સ્કેલ એકદમ ફીટ",\r
+\r
+// Link Dialog\r
+DlgLnkWindowTitle      : "લિંક",\r
+DlgLnkInfoTab          : "લિંક ઇન્ફૉ ટૅબ",\r
+DlgLnkTargetTab                : "ટાર્ગેટ/લક્ષ્ય ટૅબ",\r
+\r
+DlgLnkType                     : "લિંક પ્રકાર",\r
+DlgLnkTypeURL          : "URL",\r
+DlgLnkTypeAnchor       : "આ પેજનો ઍંકર",\r
+DlgLnkTypeEMail                : "ઈ-મેલ",\r
+DlgLnkProto                    : "પ્રોટોકૉલ",\r
+DlgLnkProtoOther       : "<અન્ય>",\r
+DlgLnkURL                      : "URL",\r
+DlgLnkAnchorSel                : "ઍંકર પસંદ કરો",\r
+DlgLnkAnchorByName     : "ઍંકર નામથી પસંદ કરો",\r
+DlgLnkAnchorById       : "ઍંકર એલિમન્ટ Id થી પસંદ કરો",\r
+DlgLnkNoAnchors                : "(ડૉક્યુમન્ટમાં ઍંકરની સંખ્યા)",\r
+DlgLnkEMail                    : "ઈ-મેલ સરનામું",\r
+DlgLnkEMailSubject     : "ઈ-મેલ વિષય",\r
+DlgLnkEMailBody                : "સંદેશ",\r
+DlgLnkUpload           : "અપલોડ",\r
+DlgLnkBtnUpload                : "આ સર્વરને મોકલવું",\r
+\r
+DlgLnkTarget           : "ટાર્ગેટ/લક્ષ્ય",\r
+DlgLnkTargetFrame      : "<ફ્રેમ>",\r
+DlgLnkTargetPopup      : "<પૉપ-અપ વિન્ડો>",\r
+DlgLnkTargetBlank      : "નવી  વિન્ડો (_blank)",\r
+DlgLnkTargetParent     : "મૂળ વિન્ડો (_parent)",\r
+DlgLnkTargetSelf       : "આજ વિન્ડો (_self)",\r
+DlgLnkTargetTop                : "ઉપરની વિન્ડો (_top)",\r
+DlgLnkTargetFrameName  : "ટાર્ગેટ ફ્રેમ નું નામ",\r
+DlgLnkPopWinName       : "પૉપ-અપ વિન્ડો નું નામ",\r
+DlgLnkPopWinFeat       : "પૉપ-અપ વિન્ડો ફીચરસૅ",\r
+DlgLnkPopResize                : "સાઇઝ બદલી સકાય છે",\r
+DlgLnkPopLocation      : "લોકેશન બાર",\r
+DlgLnkPopMenu          : "મેન્યૂ બાર",\r
+DlgLnkPopScroll                : "સ્ક્રોલ બાર",\r
+DlgLnkPopStatus                : "સ્ટૅટસ બાર",\r
+DlgLnkPopToolbar       : "ટૂલ બાર",\r
+DlgLnkPopFullScrn      : "ફુલ સ્ક્રીન (IE)",\r
+DlgLnkPopDependent     : "ડિપેન્ડન્ટ (Netscape)",\r
+DlgLnkPopWidth         : "પહોળાઈ",\r
+DlgLnkPopHeight                : "ઊંચાઈ",\r
+DlgLnkPopLeft          : "ડાબી બાજુ",\r
+DlgLnkPopTop           : "જમણી બાજુ",\r
+\r
+DlnLnkMsgNoUrl         : "લિંક  URL ટાઇપ કરો",\r
+DlnLnkMsgNoEMail       : "ઈ-મેલ સરનામું ટાઇપ કરો",\r
+DlnLnkMsgNoAnchor      : "ઍંકર પસંદ કરો",\r
+DlnLnkMsgInvPopName    : "પૉપ-અપ વિન્ડો નું નામ ઍલ્ફબેટથી શરૂ કરવો અને તેમાં સ્પેઇસ ન હોવી જોઈએ",\r
+\r
+// Color Dialog\r
+DlgColorTitle          : "રંગ  પસંદ કરો",\r
+DlgColorBtnClear       : "સાફ કરો",\r
+DlgColorHighlight      : "હાઈલાઇટ",\r
+DlgColorSelected       : "સિલેક્ટેડ/પસંદ કરવું",\r
+\r
+// Smiley Dialog\r
+DlgSmileyTitle         : "સ્માઇલી  પસંદ કરો",\r
+\r
+// Special Character Dialog\r
+DlgSpecialCharTitle    : "સ્પેશિઅલ વિશિષ્ટ અક્ષર પસંદ કરો",\r
+\r
+// Table Dialog\r
+DlgTableTitle          : "ટેબલ, કોઠાનું મથાળું",\r
+DlgTableRows           : "પંક્તિના ખાના",\r
+DlgTableColumns                : "કૉલમ/ઊભી કટાર",\r
+DlgTableBorder         : "કોઠાની બાજુ(બોર્ડર) સાઇઝ",\r
+DlgTableAlign          : "અલાઇનમન્ટ/ગોઠવાયેલું ",\r
+DlgTableAlignNotSet    : "<સેટ નથી>",\r
+DlgTableAlignLeft      : "ડાબી બાજુ",\r
+DlgTableAlignCenter    : "મધ્ય સેન્ટર",\r
+DlgTableAlignRight     : "જમણી બાજુ",\r
+DlgTableWidth          : "પહોળાઈ",\r
+DlgTableWidthPx                : "પિકસલ",\r
+DlgTableWidthPc                : "પ્રતિશત",\r
+DlgTableHeight         : "ઊંચાઈ",\r
+DlgTableCellSpace      : "સેલ અંતર",\r
+DlgTableCellPad                : "સેલ પૅડિંગ",\r
+DlgTableCaption                : "મથાળું/કૅપ્શન ",\r
+DlgTableSummary                : "ટૂંકો એહેવાલ",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
+\r
+// Table Cell Dialog\r
+DlgCellTitle           : "પંક્તિના ખાનાના ગુણ",\r
+DlgCellWidth           : "પહોળાઈ",\r
+DlgCellWidthPx         : "પિકસલ",\r
+DlgCellWidthPc         : "પ્રતિશત",\r
+DlgCellHeight          : "ઊંચાઈ",\r
+DlgCellWordWrap                : "વર્ડ રૅપ",\r
+DlgCellWordWrapNotSet  : "<સેટ નથી>",\r
+DlgCellWordWrapYes     : "હા",\r
+DlgCellWordWrapNo      : "ના",\r
+DlgCellHorAlign                : "સમસ્તરીય ગોઠવવું",\r
+DlgCellHorAlignNotSet  : "<સેટ નથી>",\r
+DlgCellHorAlignLeft    : "ડાબી બાજુ",\r
+DlgCellHorAlignCenter  : "મધ્ય સેન્ટર",\r
+DlgCellHorAlignRight: "જમણી બાજુ",\r
+DlgCellVerAlign                : "લંબરૂપ ગોઠવવું",\r
+DlgCellVerAlignNotSet  : "<સેટ નથી>",\r
+DlgCellVerAlignTop     : "ઉપર",\r
+DlgCellVerAlignMiddle  : "મધ્ય સેન્ટર",\r
+DlgCellVerAlignBottom  : "નીચે",\r
+DlgCellVerAlignBaseline        : "મૂળ રેખા",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
+DlgCellRowSpan         : "પંક્તિ સ્પાન",\r
+DlgCellCollSpan                : "કૉલમ/ઊભી કટાર સ્પાન",\r
+DlgCellBackColor       : "બૅકગ્રાઉન્ડ રંગ",\r
+DlgCellBorderColor     : "બોર્ડરનો રંગ",\r
+DlgCellBtnSelect       : "પસંદ કરો...",\r
+\r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "શોધવું અને બદલવું",\r
+\r
+// Find Dialog\r
+DlgFindTitle           : "શોધવું",\r
+DlgFindFindBtn         : "શોધવું",\r
+DlgFindNotFoundMsg     : "તમે શોધેલી ટેક્સ્ટ નથી મળી",\r
+\r
+// Replace Dialog\r
+DlgReplaceTitle                        : "બદલવું",\r
+DlgReplaceFindLbl              : "આ શોધો",\r
+DlgReplaceReplaceLbl   : "આનાથી બદલો",\r
+DlgReplaceCaseChk              : "કેસ સરખા રાખો",\r
+DlgReplaceReplaceBtn   : "બદલવું",\r
+DlgReplaceReplAllBtn   : "બઘા બદલી ",\r
+DlgReplaceWordChk              : "બઘા શબ્દ સરખા રાખો",\r
+\r
+// Paste Operations / Dialog\r
+PasteErrorCut  : "તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કટ કરવાની પરવાનગી નથી આપતી. (Ctrl+X) નો ઉપયોગ કરો.",\r
+PasteErrorCopy : "તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કોપી કરવાની પરવાનગી નથી આપતી.  (Ctrl+C) का प्रयोग करें।",\r
+\r
+PasteAsText            : "પેસ્ટ (ટેક્સ્ટ)",\r
+PasteFromWord  : "પેસ્ટ (વર્ડ થી)",\r
+\r
+DlgPasteMsg2   : "Ctrl+V નો પ્રયોગ કરી પેસ્ટ કરો",\r
+DlgPasteSec            : "તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસના કારણે,એડિટર તમારા કિલ્પબોર્ડ ડેટા ને કોપી નથી કરી શકતો. તમારે આ વિન્ડોમાં ફરીથી પેસ્ટ કરવું પડશે.",\r
+DlgPasteIgnoreFont             : "ફૉન્ટફેસ વ્યાખ્યાની અવગણના",\r
+DlgPasteRemoveStyles   : "સ્ટાઇલ વ્યાખ્યા કાઢી નાખવી",\r
+\r
+// Color Picker\r
+ColorAutomatic : "સ્વચાલિત",\r
+ColorMoreColors        : "ઔર રંગ...",\r
+\r
+// Document Properties\r
+DocProps               : "ડૉક્યુમન્ટ ગુણ/પ્રૉપર્ટિઝ",\r
+\r
+// Anchor Dialog\r
+DlgAnchorTitle         : "ઍંકર ગુણ/પ્રૉપર્ટિઝ",\r
+DlgAnchorName          : "ઍંકરનું નામ",\r
+DlgAnchorErrorName     : "ઍંકરનું નામ ટાઈપ કરો",\r
+\r
+// Speller Pages Dialog\r
+DlgSpellNotInDic               : "શબ્દકોશમાં નથી",\r
+DlgSpellChangeTo               : "આનાથી બદલવું",\r
+DlgSpellBtnIgnore              : "ઇગ્નોર/અવગણના કરવી",\r
+DlgSpellBtnIgnoreAll   : "બધાની ઇગ્નોર/અવગણના કરવી",\r
+DlgSpellBtnReplace             : "બદલવું",\r
+DlgSpellBtnReplaceAll  : "બધા બદલી કરો",\r
+DlgSpellBtnUndo                        : "અન્ડૂ",\r
+DlgSpellNoSuggestions  : "- કઇ સજેશન નથી -",\r
+DlgSpellProgress               : "શબ્દની જોડણી/સ્પેલ ચેક ચાલુ છે...",\r
+DlgSpellNoMispell              : "શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: ખોટી જોડણી મળી નથી",\r
+DlgSpellNoChanges              : "શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: એકપણ શબ્દ બદલયો નથી",\r
+DlgSpellOneChange              : "શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: એક શબ્દ બદલયો છે",\r
+DlgSpellManyChanges            : "શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: %1 શબ્દ બદલયા છે",\r
+\r
+IeSpellDownload                        : "સ્પેલ-ચેકર ઇન્સ્ટોલ નથી. શું તમે ડાઉનલોડ કરવા માંગો છો?",\r
+\r
+// Button Dialog\r
+DlgButtonText          : "ટેક્સ્ટ (વૅલ્યૂ)",\r
+DlgButtonType          : "પ્રકાર",\r
+DlgButtonTypeBtn       : "બટન",\r
+DlgButtonTypeSbm       : "સબ્મિટ",\r
+DlgButtonTypeRst       : "રિસેટ",\r
+\r
+// Checkbox and Radio Button Dialogs\r
+DlgCheckboxName                : "નામ",\r
+DlgCheckboxValue       : "વૅલ્યૂ",\r
+DlgCheckboxSelected    : "સિલેક્ટેડ",\r
+\r
+// Form Dialog\r
+DlgFormName            : "નામ",\r
+DlgFormAction  : "ક્રિયા",\r
+DlgFormMethod  : "પદ્ધતિ",\r
+\r
+// Select Field Dialog\r
+DlgSelectName          : "નામ",\r
+DlgSelectValue         : "વૅલ્યૂ",\r
+DlgSelectSize          : "સાઇઝ",\r
+DlgSelectLines         : "લીટીઓ",\r
+DlgSelectChkMulti      : "એકથી વધારે પસંદ કરી શકો",\r
+DlgSelectOpAvail       : "ઉપલબ્ધ વિકલ્પ",\r
+DlgSelectOpText                : "ટેક્સ્ટ",\r
+DlgSelectOpValue       : "વૅલ્યૂ",\r
+DlgSelectBtnAdd                : "ઉમેરવું",\r
+DlgSelectBtnModify     : "બદલવું",\r
+DlgSelectBtnUp         : "ઉપર",\r
+DlgSelectBtnDown       : "નીચે",\r
+DlgSelectBtnSetValue : "પસંદ કરલી વૅલ્યૂ સેટ કરો",\r
+DlgSelectBtnDelete     : "રદ કરવું",\r
+\r
+// Textarea Dialog\r
+DlgTextareaName        : "નામ",\r
+DlgTextareaCols        : "કૉલમ/ઊભી કટાર",\r
+DlgTextareaRows        : "પંક્તિઓ",\r
+\r
+// Text Field Dialog\r
+DlgTextName                    : "નામ",\r
+DlgTextValue           : "વૅલ્યૂ",\r
+DlgTextCharWidth       : "કેરેક્ટરની પહોળાઈ",\r
+DlgTextMaxChars                : "અધિકતમ કેરેક્ટર",\r
+DlgTextType                    : "ટાઇપ",\r
+DlgTextTypeText                : "ટેક્સ્ટ",\r
+DlgTextTypePass                : "પાસવર્ડ",\r
+\r
+// Hidden Field Dialog\r
+DlgHiddenName  : "નામ",\r
+DlgHiddenValue : "વૅલ્યૂ",\r
+\r
+// Bulleted List Dialog\r
+BulletedListProp       : "બુલેટ સૂચિ ગુણ",\r
+NumberedListProp       : "સંખ્યાંક્તિ સૂચિ ગુણ",\r
+DlgLstStart                    : "શરૂઆતથી",\r
+DlgLstType                     : "પ્રકાર",\r
+DlgLstTypeCircle       : "વર્તુળ",\r
+DlgLstTypeDisc         : "ડિસ્ક",\r
+DlgLstTypeSquare       : "ચોરસ",\r
+DlgLstTypeNumbers      : "સંખ્યા (1, 2, 3)",\r
+DlgLstTypeLCase                : "નાના અક્ષર (a, b, c)",\r
+DlgLstTypeUCase                : "મોટા અક્ષર (A, B, C)",\r
+DlgLstTypeSRoman       : "નાના રોમન આંક (i, ii, iii)",\r
+DlgLstTypeLRoman       : "મોટા રોમન આંક (I, II, III)",\r
+\r
+// Document Properties Dialog\r
+DlgDocGeneralTab       : "સાધારણ",\r
+DlgDocBackTab          : "બૅકગ્રાઉન્ડ",\r
+DlgDocColorsTab                : "રંગ અને માર્જિન/કિનાર",\r
+DlgDocMetaTab          : "મેટાડૅટા",\r
+\r
+DlgDocPageTitle                : "પેજ મથાળું/ટાઇટલ",\r
+DlgDocLangDir          : "ભાષા લેખવાની પદ્ધતિ",\r
+DlgDocLangDirLTR       : "ડાબે થી જમણે (LTR)",\r
+DlgDocLangDirRTL       : "જમણે થી ડાબે (RTL)",\r
+DlgDocLangCode         : "ભાષા કોડ",\r
+DlgDocCharSet          : "કેરેક્ટર સેટ એન્કોડિંગ",\r
+DlgDocCharSetCE                : "મધ્ય યુરોપિઅન (Central European)",\r
+DlgDocCharSetCT                : "ચાઇનીઝ (Chinese Traditional Big5)",\r
+DlgDocCharSetCR                : "સિરીલિક (Cyrillic)",\r
+DlgDocCharSetGR                : "ગ્રીક (Greek)",\r
+DlgDocCharSetJP                : "જાપાનિઝ (Japanese)",\r
+DlgDocCharSetKR                : "કોરીયન (Korean)",\r
+DlgDocCharSetTR                : "ટર્કિ (Turkish)",\r
+DlgDocCharSetUN                : "યૂનિકોડ (UTF-8)",\r
+DlgDocCharSetWE                : "પશ્ચિમ યુરોપિઅન (Western European)",\r
+DlgDocCharSetOther     : "અન્ય કેરેક્ટર સેટ એન્કોડિંગ",\r
+\r
+DlgDocDocType          : "ડૉક્યુમન્ટ પ્રકાર શીર્ષક",\r
+DlgDocDocTypeOther     : "અન્ય ડૉક્યુમન્ટ પ્રકાર શીર્ષક",\r
+DlgDocIncXHTML         : "XHTML સૂચના સમાવિષ્ટ કરવી",\r
+DlgDocBgColor          : "બૅકગ્રાઉન્ડ રંગ",\r
+DlgDocBgImage          : "બૅકગ્રાઉન્ડ ચિત્ર URL",\r
+DlgDocBgNoScroll       : "સ્ક્રોલ ન થાય તેવું બૅકગ્રાઉન્ડ",\r
+DlgDocCText                    : "ટેક્સ્ટ",\r
+DlgDocCLink                    : "લિંક",\r
+DlgDocCVisited         : "વિઝિટેડ લિંક",\r
+DlgDocCActive          : "સક્રિય લિંક",\r
+DlgDocMargins          : "પેજ માર્જિન",\r
+DlgDocMaTop                    : "ઉપર",\r
+DlgDocMaLeft           : "ડાબી",\r
+DlgDocMaRight          : "જમણી",\r
+DlgDocMaBottom         : "નીચે",\r
+DlgDocMeIndex          : "ડૉક્યુમન્ટ ઇન્ડેક્સ સંકેતશબ્દ (અલ્પવિરામ (,) થી અલગ કરો)",\r
+DlgDocMeDescr          : "ડૉક્યુમન્ટ વર્ણન",\r
+DlgDocMeAuthor         : "લેખક",\r
+DlgDocMeCopy           : "કૉપિરાઇટ",\r
+DlgDocPreview          : "પૂર્વદર્શન",\r
+\r
+// Templates Dialog\r
+Templates                      : "ટેમ્પ્લેટ",\r
+DlgTemplatesTitle      : "કન્ટેન્ટ ટેમ્પ્લેટ",\r
+DlgTemplatesSelMsg     : "એડિટરમાં ઓપન કરવા ટેમ્પ્લેટ પસંદ કરો (વર્તમાન કન્ટેન્ટ સેવ નહીં થાય):",\r
+DlgTemplatesLoading    : "ટેમ્પ્લેટ સૂચિ લોડ થાય છે. રાહ જુઓ...",\r
+DlgTemplatesNoTpl      : "(કોઈ ટેમ્પ્લેટ ડિફાઇન નથી)",\r
+DlgTemplatesReplace    : "મૂળ શબ્દને બદલો",\r
+\r
+// About Dialog\r
+DlgAboutAboutTab       : "FCKEditor ના વિષે",\r
+DlgAboutBrowserInfoTab : "બ્રાઉઝર ના વિષે",\r
+DlgAboutLicenseTab     : "લાઇસન્સ",\r
+DlgAboutVersion                : "વર્ઝન",\r
+DlgAboutInfo           : "વધારે માહિતી માટે:",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index ef2b979..4cbbf95 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "הסרת העיצוב",
 InsertLinkLbl          : "קישור",\r
 InsertLink                     : "הוספת/עריכת קישור",\r
 RemoveLink                     : "הסרת הקישור",\r
+VisitLink                      : "פתח קישור",\r
 Anchor                         : "הוספת/עריכת נקודת עיגון",\r
+AnchorDelete           : "הסר נקודת עיגון",\r
 InsertImageLbl         : "תמונה",\r
 InsertImage                    : "הוספת/עריכת תמונה",\r
 InsertFlashLbl         : "פלאש",\r
@@ -70,6 +72,10 @@ RightJustify         : "יישור לימין",
 BlockJustify           : "יישור לשוליים",\r
 DecreaseIndent         : "הקטנת אינדנטציה",\r
 IncreaseIndent         : "הגדלת אינדנטציה",\r
+Blockquote                     : "בלוק ציטוט",\r
+CreateDiv                      : "צור מיכל(תג)DIV",\r
+EditDiv                                : "ערוך מיכל (תג)DIV",\r
+DeleteDiv                      : "הסר מיכל(תג) DIV",\r
 Undo                           : "ביטול צעד אחרון",\r
 Redo                           : "חזרה על צעד אחרון",\r
 NumberedListLbl                : "רשימה ממוספרת",\r
@@ -103,20 +109,27 @@ SelectionField    : "שדה בחירה",
 ImageButton            : "כפתור תמונה",\r
 \r
 FitWindow              : "הגדל את גודל העורך",\r
+ShowBlocks             : "הצג בלוקים",\r
 \r
 // Context Menu\r
 EditLink                       : "עריכת קישור",\r
 CellCM                         : "תא",\r
 RowCM                          : "שורה",\r
 ColumnCM                       : "עמודה",\r
-InsertRow                      : "הוספת שורה",\r
+InsertRowAfter         : "הוסף שורה אחרי",\r
+InsertRowBefore                : "הוסף שורה לפני",\r
 DeleteRows                     : "מחיקת שורות",\r
-InsertColumn           : "הוספת עמודה",\r
+InsertColumnAfter      : "הוסף עמודה אחרי",\r
+InsertColumnBefore     : "הוסף עמודה לפני",\r
 DeleteColumns          : "מחיקת עמודות",\r
-InsertCell                     : "הוספת תא",\r
+InsertCellAfter                : "הוסף תא אחרי",\r
+InsertCellBefore       : "הוסף תא אחרי",\r
 DeleteCells                    : "מחיקת תאים",\r
 MergeCells                     : "מיזוג תאים",\r
-SplitCell                      : "פיצול תאים",\r
+MergeRight                     : "מזג ימינה",\r
+MergeDown                      : "מזג למטה",\r
+HorizontalSplitCell    : "פצל תא אופקית",\r
+VerticalSplitCell      : "פצל תא אנכית",\r
 TableDelete                    : "מחק טבלה",\r
 CellProperties         : "תכונות התא",\r
 TableProperties                : "תכונות הטבלה",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "מאפייני שדה בחירה",
 TextareaProp           : "מאפיני איזור טקסט",\r
 FormProp                       : "מאפיני טופס",\r
 \r
-FontFormats                    : "נורמלי;קוד;כתובת;כותרת;כותרת 2;כותרת 3;כותרת 4;כותרת 5;כותרת 6",         //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "נורמלי;קוד;כתובת;כותרת;כותרת 2;כותרת 3;כותרת 4;כותרת 5;כותרת 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "מעבד XHTML, נא להמתין...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "ערכת סרגל הכלים \"%1\" לא קיימת",
 NoActiveX                      : "הגדרות אבטחה של הדפדפן עלולות לגביל את אפשרויות העריכה.יש לאפשר את האופציה \"הרץ פקדים פעילים ותוספות\". תוכל לחוות טעויות וחיווים של אפשרויות שחסרים.",\r
 BrowseServerBlocked : "לא ניתן לגשת לדפדפן משאבים.אנא וודא שחוסם חלונות הקופצים לא פעיל.",\r
 DialogBlocked          : "לא היה ניתן לפתוח חלון דיאלוג. אנא וודא שחוסם חלונות קופצים לא פעיל.",\r
+VisitLinkBlocked       : "לא ניתן לפתוח חלון חדש.נא לוודא שחוסמי החלונות הקופצים לא פעילים.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "אישור",\r
@@ -157,7 +171,7 @@ DlgBtnBrowseServer  : "סייר השרת",
 DlgAdvancedTag         : "אפשרויות מתקדמות",\r
 DlgOpOther                     : "<אחר>",\r
 DlgInfoTab                     : "מידע",\r
-DlgAlertUrl                    : "×\90× ×\94 הזן URL",\r
+DlgAlertUrl                    : "×\90× ×\90 הזן URL",\r
 \r
 // General Dialogs Labels\r
 DlgGenNotSet           : "<לא נקבע>",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "כתובת (URL)",
 DlgLnkAnchorSel                : "בחירת עוגן",\r
 DlgLnkAnchorByName     : "עפ''י שם העוגן",\r
 DlgLnkAnchorById       : "עפ''י זיהוי (Id) הרכיב",\r
-DlgLnkNoAnchors                : "(אין עוגנים זמינים בדף)",          //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(אין עוגנים זמינים בדף)",\r
 DlgLnkEMail                    : "כתובת הדוא''ל",\r
 DlgLnkEMailSubject     : "נושא ההודעה",\r
 DlgLnkEMailBody                : "גוף ההודעה",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "מרווח תא",
 DlgTableCellPad                : "ריפוד תא",\r
 DlgTableCaption                : "כיתוב",\r
 DlgTableSummary                : "סיכום",\r
+DlgTableHeaders                : "כותרות",\r
+DlgTableHeadersNone            : "אין",\r
+DlgTableHeadersColumn  : "עמודה ראשונה",\r
+DlgTableHeadersRow             : "שורה ראשונה",\r
+DlgTableHeadersBoth            : "שניהם",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "תכונות תא",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "למעלה",
 DlgCellVerAlignMiddle  : "לאמצע",\r
 DlgCellVerAlignBottom  : "לתחתית",\r
 DlgCellVerAlignBaseline        : "קו תחתית",\r
+DlgCellType            : "סוג תא",\r
+DlgCellTypeData                : "סוג",\r
+DlgCellTypeHeader      : "כותרת",\r
 DlgCellRowSpan         : "טווח שורות",\r
 DlgCellCollSpan                : "טווח עמודות",\r
 DlgCellBackColor       : "צבע רקע",\r
 DlgCellBorderColor     : "צבע מסגרת",\r
 DlgCellBtnSelect       : "בחירה...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "חפש והחלף",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "חיפוש",\r
 DlgFindFindBtn         : "חיפוש",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "אנא הדבק בתוך הקופסה באמצעות  (<STRONG>C
 DlgPasteSec            : "עקב הגדרות אבטחה בדפדפן, לא ניתן לגשת אל לוח הגזירים (clipboard) בצורה ישירה.אנא בצע הדבק שוב בחלון זה.",\r
 DlgPasteIgnoreFont             : "התעלם מהגדרות סוג פונט",\r
 DlgPasteRemoveStyles   : "הסר הגדרות סגנון",\r
-DlgPasteCleanBox               : "ניקוי קופסה",\r
 \r
 // Color Picker\r
 ColorAutomatic : "אוטומטי",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "אודות",
 DlgAboutBrowserInfoTab : "גירסת דפדפן",\r
 DlgAboutLicenseTab     : "רשיון",\r
 DlgAboutVersion                : "גירסא",\r
-DlgAboutInfo           : "מידע נוסף ניתן למצוא כאן:"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "מידע נוסף ניתן למצוא כאן:",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "כללי",\r
+DlgDivAdvancedTab      : "מתקדם",\r
+DlgDivStyle            : "סגנון",\r
+DlgDivInlineStyle      : "סגנון בתוך השורה",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index fdc5e39..b4e88fc 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "फ़ॉर्मैट हटायें",
 InsertLinkLbl          : "लिंक",\r
 InsertLink                     : "लिंक इन्सर्ट/संपादन",\r
 RemoveLink                     : "लिंक हटायें",\r
+VisitLink                      : "लिंक खोलें",\r
 Anchor                         : "ऐंकर इन्सर्ट/संपादन",\r
+AnchorDelete           : "ऐंकर हटायें",\r
 InsertImageLbl         : "तस्वीर",\r
 InsertImage                    : "तस्वीर इन्सर्ट/संपादन",\r
 InsertFlashLbl         : "फ़्लैश",\r
@@ -70,6 +72,10 @@ RightJustify         : "दायीं तरफ",
 BlockJustify           : "ब्लॉक जस्टीफ़ाई",\r
 DecreaseIndent         : "इन्डॅन्ट कम करें",\r
 IncreaseIndent         : "इन्डॅन्ट बढ़ायें",\r
+Blockquote                     : "ब्लॉक-कोट",\r
+CreateDiv                      : "डिव (Div) कन्टेनर बनायें",\r
+EditDiv                                : "डिव (Div) कन्टेनर बदलें",\r
+DeleteDiv                      : "डिव कन्टेनर हटायें",\r
 Undo                           : "अन्डू",\r
 Redo                           : "रीडू",\r
 NumberedListLbl                : "अंकीय सूची",\r
@@ -103,22 +109,29 @@ SelectionField    : "चुनाव फ़ील्ड",
 ImageButton            : "तस्वीर बटन",\r
 \r
 FitWindow              : "एडिटर साइज़ को चरम सीमा तक बढ़ायें",\r
+ShowBlocks             : "ब्लॉक दिखायें",\r
 \r
 // Context Menu\r
 EditLink                       : "लिंक संपादन",\r
 CellCM                         : "खाना",\r
 RowCM                          : "पंक्ति",\r
 ColumnCM                       : "कालम",\r
-InsertRow                      : "पंक्ति इन्सर्ट करें",\r
+InsertRowAfter         : "बाद में पंक्ति डालें",\r
+InsertRowBefore                : "पहले पंक्ति डालें",\r
 DeleteRows                     : "पंक्तियाँ डिलीट करें",\r
-InsertColumn           : "कॉलम इन्सर्ट करें",\r
-DeleteColumns          : "कॉलम डिलीट करें",\r
-InsertCell                     : "सॅल इन्सर्ट करें",\r
-DeleteCells                    : "सॅल डिलीट करें",\r
-MergeCells                     : "सॅल मिलायें",\r
-SplitCell                      : "सॅल अलग करें",\r
+InsertColumnAfter      : "बाद में कालम डालें",\r
+InsertColumnBefore     : "पहले कालम डालें",\r
+DeleteColumns          : "कालम डिलीट करें",\r
+InsertCellAfter                : "बाद में सैल डालें",\r
+InsertCellBefore       : "पहले सैल डालें",\r
+DeleteCells                    : "सैल डिलीट करें",\r
+MergeCells                     : "सैल मिलायें",\r
+MergeRight                     : "बाँया विलय",\r
+MergeDown                      : "नीचे विलय करें",\r
+HorizontalSplitCell    : "सैल को क्षैतिज स्थिति में विभाजित करें",\r
+VerticalSplitCell      : "सैल को लम्बाकार में विभाजित करें",\r
 TableDelete                    : "टेबल डिलीट करें",\r
-CellProperties         : "सà¥\85ल प्रॉपर्टीज़",\r
+CellProperties         : "सà¥\88ल प्रॉपर्टीज़",\r
 TableProperties                : "टेबल प्रॉपर्टीज़",\r
 ImageProperties                : "तस्वीर प्रॉपर्टीज़",\r
 FlashProperties                : "फ़्लैश प्रॉपर्टीज़",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "चुनाव फ़ील्ड प्रॉपर्ट
 TextareaProp           : "टेक्स्त एरिया प्रॉपर्टीज़",\r
 FormProp                       : "फ़ॉर्म प्रॉपर्टीज़",\r
 \r
-FontFormats                    : "साधारण;फ़ॉर्मैटॅड;पता;शीर्षक 1;शीर्षक 2;शीर्षक 3;शीर्षक 4;शीर्षक 5;शीर्षक 6;शीर्षक (DIV)",            //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "साधारण;फ़ॉर्मैटॅड;पता;शीर्षक 1;शीर्षक 2;शीर्षक 3;शीर्षक 4;शीर्षक 5;शीर्षक 6;शीर्षक (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML प्रोसॅस हो रहा है। ज़रा ठहरें...",\r
@@ -146,8 +159,9 @@ UnknownCommand              : "अनजान कमान्ड \"%1\"",
 NotImplemented         : "कमान्ड इम्प्लीमॅन्ट नहीं किया गया है",\r
 UnknownToolbarSet      : "टूलबार सॅट \"%1\" उपलब्ध नहीं है",\r
 NoActiveX                      : "आपके ब्राउज़र् की सुरक्शा सेटिंग्स् एडिटर की कुछ् फ़ीचरों को सीमित कर् सकती हैं। क्रिपया \"Run ActiveX controls and plug-ins\" विकल्प को एनेबल करें. आपको एरर्स् और गायब फ़ीचर्स् का अनुभव हो सकता है।",\r
-BrowseServerBlocked : "रिसोर्सेज़ ब्राउज़र् नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को डिसेबल करें।",\r
-DialogBlocked          : "डायलग विन्डो नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को डिसेबल करें।",\r
+BrowseServerBlocked : "रिसोर्सेज़ ब्राउज़र् नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को निष्क्रिय करें।",\r
+DialogBlocked          : "डायलग विन्डो नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को निष्क्रिय करें।",\r
+VisitLinkBlocked       : "नया विन्डो नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को निष्क्रिय करें।",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "ठीक है",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "ऐंकर चुनें",\r
 DlgLnkAnchorByName     : "ऐंकर नाम से",\r
 DlgLnkAnchorById       : "ऍलीमॅन्ट Id से",\r
-DlgLnkNoAnchors                : "<डॉक्यूमॅन्ट में ऐंकर्स की संख्या>",         //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(डॉक्यूमॅन्ट में ऐंकर्स की संख्या)",\r
 DlgLnkEMail                    : "ई-मेल पता",\r
 DlgLnkEMailSubject     : "संदेश विषय",\r
 DlgLnkEMailBody                : "संदेश",\r
@@ -279,7 +293,7 @@ DlgSpecialCharTitle : "विशेष करॅक्टर चुनें",
 // Table Dialog\r
 DlgTableTitle          : "टेबल प्रॉपर्टीज़",\r
 DlgTableRows           : "पंक्तियाँ",\r
-DlgTableColumns                : "à¤\95à¥\89लम",\r
+DlgTableColumns                : "à¤\95ालम",\r
 DlgTableBorder         : "बॉर्डर साइज़",\r
 DlgTableAlign          : "ऍलाइन्मॅन्ट",\r
 DlgTableAlignNotSet    : "<सॅट नहीं>",\r
@@ -287,18 +301,23 @@ DlgTableAlignLeft : "दायें",
 DlgTableAlignCenter    : "बीच में",\r
 DlgTableAlignRight     : "बायें",\r
 DlgTableWidth          : "चौड़ाई",\r
-DlgTableWidthPx                : "पिà¤\95à¥\8dसà¥\85ल",\r
+DlgTableWidthPx                : "पिà¤\95à¥\8dसà¥\88ल",\r
 DlgTableWidthPc                : "प्रतिशत",\r
 DlgTableHeight         : "ऊँचाई",\r
-DlgTableCellSpace      : "सà¥\85ल अंतर",\r
-DlgTableCellPad                : "सà¥\85ल पैडिंग",\r
+DlgTableCellSpace      : "सà¥\88ल अंतर",\r
+DlgTableCellPad                : "सà¥\88ल पैडिंग",\r
 DlgTableCaption                : "शीर्षक",\r
 DlgTableSummary                : "सारांश",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
-DlgCellTitle           : "सà¥\85ल प्रॉपर्टीज़",\r
+DlgCellTitle           : "सà¥\88ल प्रॉपर्टीज़",\r
 DlgCellWidth           : "चौड़ाई",\r
-DlgCellWidthPx         : "पिà¤\95à¥\8dसà¥\85ल",\r
+DlgCellWidthPx         : "पिà¤\95à¥\8dसà¥\88ल",\r
 DlgCellWidthPc         : "प्रतिशत",\r
 DlgCellHeight          : "ऊँचाई",\r
 DlgCellWordWrap                : "वर्ड रैप",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "ऊपर",
 DlgCellVerAlignMiddle  : "मध्य",\r
 DlgCellVerAlignBottom  : "नीचे",\r
 DlgCellVerAlignBaseline        : "मूलरेखा",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "पंक्ति स्पैन",\r
-DlgCellCollSpan                : "à¤\95à¥\89लम स्पैन",\r
+DlgCellCollSpan                : "à¤\95ालम स्पैन",\r
 DlgCellBackColor       : "बैक्ग्राउन्ड रंग",\r
 DlgCellBorderColor     : "बॉर्डर का रंग",\r
 DlgCellBtnSelect       : "चुनें...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "खोजें और बदलें",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "खोजें",\r
 DlgFindFindBtn         : "खोजें",\r
@@ -344,13 +369,12 @@ PasteAsText               : "पेस्ट (सादा टॅक्स्ट)",
 PasteFromWord  : "पेस्ट (वर्ड से)",\r
 \r
 DlgPasteMsg2   : "Ctrl+V का प्रयोग करके पेस्ट करें और ठीक है करें.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "आपके ब्राउज़र की सुरक्षा आपके ब्राउज़र की सुरKश सैटिंग के कारण, एडिटर आपके क्लिपबोर्ड डेटा को नहीं पा सकता है. आपको उसे इस विन्डो में दोबारा पेस्ट करना होगा.",\r
 DlgPasteIgnoreFont             : "फ़ॉन्ट परिभाषा निकालें",\r
 DlgPasteRemoveStyles   : "स्टाइल परिभाषा निकालें",\r
-DlgPasteCleanBox               : "बॉक्स साफ़ करें",\r
 \r
 // Color Picker\r
-ColorAutomatic : "à¤\91à¤\9fà¥\8bमà¥\88à¤\9fिà¤\95",\r
+ColorAutomatic : "सà¥\8dवà¤\9aालित",\r
 ColorMoreColors        : "और रंग...",\r
 \r
 // Document Properties\r
@@ -392,7 +416,7 @@ DlgCheckboxSelected : "सॅलॅक्टॅड",
 \r
 // Form Dialog\r
 DlgFormName            : "नाम",\r
-DlgFormAction  : "à¤\8dà¤\95à¥\8dशन",\r
+DlgFormAction  : "à¤\95à¥\8dरिया",\r
 DlgFormMethod  : "तरीका",\r
 \r
 // Select Field Dialog\r
@@ -413,7 +437,7 @@ DlgSelectBtnDelete  : "डिलीट",
 \r
 // Textarea Dialog\r
 DlgTextareaName        : "नाम",\r
-DlgTextareaCols        : "à¤\95à¥\89लम",\r
+DlgTextareaCols        : "à¤\95ालम",\r
 DlgTextareaRows        : "पंक्तियां",\r
 \r
 // Text Field Dialog\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "FCKEditor के बारे में",
 DlgAboutBrowserInfoTab : "ब्राउज़र के बारे में",\r
 DlgAboutLicenseTab     : "लाइसैन्स",\r
 DlgAboutVersion                : "वर्ज़न",\r
-DlgAboutInfo           : "अधिक जानकारी के लिये यहाँ जायें:"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "अधिक जानकारी के लिये यहाँ जायें:",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "सामान्य",\r
+DlgDivAdvancedTab      : "एड्वान्स्ड",\r
+DlgDivStyle            : "स्टाइल",\r
+DlgDivInlineStyle      : "इनलाइन स्टाइल",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index f088b10..3a92096 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Ukloni formatiranje",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Ubaci/promijeni link",\r
 RemoveLink                     : "Ukloni link",\r
+VisitLink                      : "Otvori link",\r
 Anchor                         : "Ubaci/promijeni sidro",\r
+AnchorDelete           : "Ukloni sidro",\r
 InsertImageLbl         : "Slika",\r
 InsertImage                    : "Ubaci/promijeni sliku",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Desno poravnanje",
 BlockJustify           : "Blok poravnanje",\r
 DecreaseIndent         : "Pomakni ulijevo",\r
 IncreaseIndent         : "Pomakni udesno",\r
+Blockquote                     : "Blockquote",\r
+CreateDiv                      : "Napravi Div kontejner",\r
+EditDiv                                : "Uredi Div kontejner",\r
+DeleteDiv                      : "Ukloni Div kontejner",\r
 Undo                           : "Poništi",\r
 Redo                           : "Ponovi",\r
 NumberedListLbl                : "Brojčana lista",\r
@@ -103,20 +109,27 @@ SelectionField    : "Selection Field",
 ImageButton            : "Image Button",\r
 \r
 FitWindow              : "Povećaj veličinu editora",\r
+ShowBlocks             : "Prikaži blokove",\r
 \r
 // Context Menu\r
 EditLink                       : "Promijeni link",\r
 CellCM                         : "Ćelija",\r
 RowCM                          : "Red",\r
 ColumnCM                       : "Kolona",\r
-InsertRow                      : "Ubaci red",\r
+InsertRowAfter         : "Ubaci red poslije",\r
+InsertRowBefore                : "Ubaci red prije",\r
 DeleteRows                     : "Izbriši redove",\r
-InsertColumn           : "Ubaci kolonu",\r
+InsertColumnAfter      : "Ubaci kolonu poslije",\r
+InsertColumnBefore     : "Ubaci kolonu prije",\r
 DeleteColumns          : "Izbriši kolone",\r
-InsertCell                     : "Ubaci ćelije",\r
+InsertCellAfter                : "Ubaci ćeliju poslije",\r
+InsertCellBefore       : "Ubaci ćeliju prije",\r
 DeleteCells                    : "Izbriši ćelije",\r
 MergeCells                     : "Spoji ćelije",\r
-SplitCell                      : "Razdvoji ćelije",\r
+MergeRight                     : "Spoji desno",\r
+MergeDown                      : "Spoji dolje",\r
+HorizontalSplitCell    : "Podijeli ćeliju vodoravno",\r
+VerticalSplitCell      : "Podijeli ćeliju okomito",\r
 TableDelete                    : "Izbriši tablicu",\r
 CellProperties         : "Svojstva ćelije",\r
 TableProperties                : "Svojstva tablice",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Selection svojstva",
 TextareaProp           : "Textarea svojstva",\r
 FormProp                       : "Form svojstva",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Obrađujem XHTML. Molimo pričekajte...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Traka s alatima \"%1\" ne postoji",
 NoActiveX                      : "Vaše postavke pretraživača mogle bi ograničiti neke od mogućnosti editora. Morate uključiti opciju \"Run ActiveX controls and plug-ins\" u postavkama. Ukoliko to ne učinite, moguće su razliite greške tijekom rada.",\r
 BrowseServerBlocked : "Pretraivač nije moguće otvoriti. Provjerite da li je uključeno blokiranje pop-up prozora.",\r
 DialogBlocked          : "Nije moguće otvoriti novi prozor. Provjerite da li je uključeno blokiranje pop-up prozora.",\r
+VisitLinkBlocked       : "Nije moguće otvoriti novi prozor. Provjerite da li je uključeno blokiranje pop-up prozora.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Odaberi sidro",\r
 DlgLnkAnchorByName     : "Po nazivu sidra",\r
 DlgLnkAnchorById       : "Po Id elementa",\r
-DlgLnkNoAnchors                : "<Nema dostupnih sidra>",             //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Nema dostupnih sidra)",\r
 DlgLnkEMail                    : "E-Mail adresa",\r
 DlgLnkEMailSubject     : "Naslov",\r
 DlgLnkEMailBody                : "Sadržaj poruke",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Prostornost ćelija",
 DlgTableCellPad                : "Razmak ćelija",\r
 DlgTableCaption                : "Naslov",\r
 DlgTableSummary                : "Sažetak",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Svojstva ćelije",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Gornje",
 DlgCellVerAlignMiddle  : "Srednišnje",\r
 DlgCellVerAlignBottom  : "Donje",\r
 DlgCellVerAlignBaseline        : "Bazno",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Spajanje redova",\r
 DlgCellCollSpan                : "Spajanje kolona",\r
 DlgCellBackColor       : "Boja pozadine",\r
 DlgCellBorderColor     : "Boja okvira",\r
 DlgCellBtnSelect       : "Odaberi...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Pronađi i zamijeni",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Pronađi",\r
 DlgFindFindBtn         : "Pronađi",\r
@@ -344,10 +369,9 @@ PasteAsText                : "Zalijepi kao čisti tekst",
 PasteFromWord  : "Zalijepi iz Worda",\r
 \r
 DlgPasteMsg2   : "Molimo zaljepite unutar doljnjeg okvira koristeći tipkovnicu (<STRONG>Ctrl+V</STRONG>) i kliknite <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "Zbog sigurnosnih postavki Vašeg pretraživača, editor nema direktan pristup Vašem međuspremniku. Potrebno je ponovno zalijepiti tekst u ovaj prozor.",\r
 DlgPasteIgnoreFont             : "Zanemari definiciju vrste fonta",\r
 DlgPasteRemoveStyles   : "Ukloni definicije stilova",\r
-DlgPasteCleanBox               : "Očisti okvir",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatski",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "O FCKEditoru",
 DlgAboutBrowserInfoTab : "Podaci o pretraživaču",\r
 DlgAboutLicenseTab     : "Licenca",\r
 DlgAboutVersion                : "inačica",\r
-DlgAboutInfo           : "Za više informacija posjetite"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Za više informacija posjetite",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Općenito",\r
+DlgDivAdvancedTab      : "Napredno",\r
+DlgDivStyle            : "Stil",\r
+DlgDivInlineStyle      : "Stil u redu",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 73b912c..0a72cac 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Formázás eltávolítása",
 InsertLinkLbl          : "Hivatkozás",\r
 InsertLink                     : "Hivatkozás beillesztése/módosítása",\r
 RemoveLink                     : "Hivatkozás törlése",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Horgony beillesztése/szerkesztése",\r
+AnchorDelete           : "Horgony eltávolítása",\r
 InsertImageLbl         : "Kép",\r
 InsertImage                    : "Kép beillesztése/módosítása",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Jobbra",
 BlockJustify           : "Sorkizárt",\r
 DecreaseIndent         : "Behúzás csökkentése",\r
 IncreaseIndent         : "Behúzás növelése",\r
+Blockquote                     : "Idézet blokk",\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Visszavonás",\r
 Redo                           : "Ismétlés",\r
 NumberedListLbl                : "Számozás",\r
@@ -103,20 +109,27 @@ SelectionField    : "Legördülő lista",
 ImageButton            : "Képgomb",\r
 \r
 FitWindow              : "Maximalizálás",\r
+ShowBlocks             : "Blokkok megjelenítése",\r
 \r
 // Context Menu\r
 EditLink                       : "Hivatkozás módosítása",\r
 CellCM                         : "Cella",\r
 RowCM                          : "Sor",\r
 ColumnCM                       : "Oszlop",\r
-InsertRow                      : "Sor beszúrása",\r
+InsertRowAfter         : "Sor beillesztése az aktuális sor mögé",\r
+InsertRowBefore                : "Sor beillesztése az aktuális sor elé",\r
 DeleteRows                     : "Sorok törlése",\r
-InsertColumn           : "Oszlop beszúrása",\r
+InsertColumnAfter      : "Oszlop beillesztése az aktuális oszlop mögé",\r
+InsertColumnBefore     : "Oszlop beillesztése az aktuális oszlop elé",\r
 DeleteColumns          : "Oszlopok törlése",\r
-InsertCell                     : "Cella beszúrása",\r
+InsertCellAfter                : "Cella beillesztése az aktuális cella mögé",\r
+InsertCellBefore       : "Cella beillesztése az aktuális cella elé",\r
 DeleteCells                    : "Cellák törlése",\r
 MergeCells                     : "Cellák egyesítése",\r
-SplitCell                      : "Cella szétválasztása",\r
+MergeRight                     : "Cellák egyesítése jobbra",\r
+MergeDown                      : "Cellák egyesítése lefelé",\r
+HorizontalSplitCell    : "Cellák szétválasztása vízszintesen",\r
+VerticalSplitCell      : "Cellák szétválasztása függőlegesen",\r
 TableDelete                    : "Táblázat törlése",\r
 CellProperties         : "Cella tulajdonságai",\r
 TableProperties                : "Táblázat tulajdonságai",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Legördülő lista tulajdonságai",
 TextareaProp           : "Szövegterület tulajdonságai",\r
 FormProp                       : "Űrlap tulajdonságai",\r
 \r
-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)",             //REVIEW : Check _getfontformat.html\r
+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)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML feldolgozása. Kérem várjon...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Az eszközkészlet \"%1\" nem létezik",
 NoActiveX                      : "A böngésző biztonsági beállításai korlátozzák a szerkesztő lehetőségeit. Engedélyezni kell ezt az opciót: \"Run ActiveX controls and plug-ins\". Ettől függetlenül előfordulhatnak hibaüzenetek ill. bizonyos funkciók hiányozhatnak.",\r
 BrowseServerBlocked : "Nem lehet megnyitni a fájlböngészőt. Bizonyosodjon meg róla, hogy a felbukkanó ablakok engedélyezve vannak.",\r
 DialogBlocked          : "Nem lehet megnyitni a párbeszédablakot. Bizonyosodjon meg róla, hogy a felbukkanó ablakok engedélyezve vannak.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Rendben",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "Webcím",
 DlgLnkAnchorSel                : "Horgony választása",\r
 DlgLnkAnchorByName     : "Horgony név szerint",\r
 DlgLnkAnchorById       : "Azonosító szerint",\r
-DlgLnkNoAnchors                : "<Nincs horgony a dokumentumban>",            //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Nincs horgony a dokumentumban)",\r
 DlgLnkEMail                    : "E-Mail cím",\r
 DlgLnkEMailSubject     : "Üzenet tárgya",\r
 DlgLnkEMailBody                : "Üzenet",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Cella térköz",
 DlgTableCellPad                : "Cella belső margó",\r
 DlgTableCaption                : "Felirat",\r
 DlgTableSummary                : "Leírás",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cella tulajdonságai",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Tetejére",
 DlgCellVerAlignMiddle  : "Középre",\r
 DlgCellVerAlignBottom  : "Aljára",\r
 DlgCellVerAlignBaseline        : "Egyvonalba",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Sorok egyesítése",\r
 DlgCellCollSpan                : "Oszlopok egyesítése",\r
 DlgCellBackColor       : "Háttérszín",\r
 DlgCellBorderColor     : "Szegélyszín",\r
 DlgCellBtnSelect       : "Kiválasztás...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Keresés és csere",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Keresés",\r
 DlgFindFindBtn         : "Keresés",\r
@@ -344,10 +369,9 @@ PasteAsText                : "Beillesztés formázatlan szövegként",
 PasteFromWord  : "Beillesztés Word-ből",\r
 \r
 DlgPasteMsg2   : "Másolja be az alábbi mezőbe a <STRONG>Ctrl+V</STRONG> billentyűk lenyomásával, majd nyomjon <STRONG>Rendben</STRONG>-t.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "A böngésző biztonsági beállításai miatt a szerkesztő nem képes hozzáférni a vágólap adataihoz. Illeszd be újra ebben az ablakban.",\r
 DlgPasteIgnoreFont             : "Betű formázások megszüntetése",\r
 DlgPasteRemoveStyles   : "Stílusok eltávolítása",\r
-DlgPasteCleanBox               : "Törlés",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatikus",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Névjegy",
 DlgAboutBrowserInfoTab : "Böngésző információ",\r
 DlgAboutLicenseTab     : "Licensz",\r
 DlgAboutVersion                : "verzió",\r
-DlgAboutInfo           : "További információkért látogasson el ide:"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "További információkért látogasson el ide:",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
diff --git a/httemplate/elements/fckeditor/editor/lang/is.js b/httemplate/elements/fckeditor/editor/lang/is.js
new file mode 100644 (file)
index 0000000..3238f7d
--- /dev/null
@@ -0,0 +1,539 @@
+/*\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ *\r
+ * Icelandic language file.\r
+ */\r
+\r
+var FCKLang =\r
+{\r
+// Language direction : "ltr" (left to right) or "rtl" (right to left).\r
+Dir                                    : "ltr",\r
+\r
+ToolbarCollapse                : "Fela verkstiku",\r
+ToolbarExpand          : "Sýna verkstiku",\r
+\r
+// Toolbar Items and Context Menu\r
+Save                           : "Vista",\r
+NewPage                                : "Ný síða",\r
+Preview                                : "Forskoða",\r
+Cut                                    : "Klippa",\r
+Copy                           : "Afrita",\r
+Paste                          : "Líma",\r
+PasteText                      : "Líma ósniðinn texta",\r
+PasteWord                      : "Líma úr Word",\r
+Print                          : "Prenta",\r
+SelectAll                      : "Velja allt",\r
+RemoveFormat           : "Fjarlægja snið",\r
+InsertLinkLbl          : "Stikla",\r
+InsertLink                     : "Stofna/breyta stiklu",\r
+RemoveLink                     : "Fjarlægja stiklu",\r
+VisitLink                      : "Opna stiklusíðu",\r
+Anchor                         : "Stofna/breyta kaflamerki",\r
+AnchorDelete           : "Eyða kaflamerki",\r
+InsertImageLbl         : "Setja inn mynd",\r
+InsertImage                    : "Setja inn/breyta mynd",\r
+InsertFlashLbl         : "Flash",\r
+InsertFlash                    : "Setja inn/breyta Flash",\r
+InsertTableLbl         : "Tafla",\r
+InsertTable                    : "Setja inn/breyta töflu",\r
+InsertLineLbl          : "Lína",\r
+InsertLine                     : "Lóðrétt lína",\r
+InsertSpecialCharLbl: "Merki",\r
+InsertSpecialChar      : "Setja inn merki",\r
+InsertSmileyLbl                : "Svipur",\r
+InsertSmiley           : "Setja upp svip",\r
+About                          : "Um FCKeditor",\r
+Bold                           : "Feitletrað",\r
+Italic                         : "Skáletrað",\r
+Underline                      : "Undirstrikað",\r
+StrikeThrough          : "Yfirstrikað",\r
+Subscript                      : "Niðurskrifað",\r
+Superscript                    : "Uppskrifað",\r
+LeftJustify                    : "Vinstrijöfnun",\r
+CenterJustify          : "Miðja texta",\r
+RightJustify           : "Hægrijöfnun",\r
+BlockJustify           : "Jafna báðum megin",\r
+DecreaseIndent         : "Auka inndrátt",\r
+IncreaseIndent         : "Minnka inndrátt",\r
+Blockquote                     : "Inndráttur",\r
+CreateDiv                      : "Búa til DIV-hýsil",\r
+EditDiv                                : "Breyta DIV-hýsli",\r
+DeleteDiv                      : "Eyða DIV-hýsli",\r
+Undo                           : "Afturkalla",\r
+Redo                           : "Hætta við afturköllun",\r
+NumberedListLbl                : "Númeraður listi",\r
+NumberedList           : "Setja inn/fella númeraðan lista",\r
+BulletedListLbl                : "Punktalisti",\r
+BulletedList           : "Setja inn/fella punktalista",\r
+ShowTableBorders       : "Sýna töflugrind",\r
+ShowDetails                    : "Sýna smáatriði",\r
+Style                          : "Stílflokkur",\r
+FontFormat                     : "Stílsnið",\r
+Font                           : "Leturgerð ",\r
+FontSize                       : "Leturstærð ",\r
+TextColor                      : "Litur texta",\r
+BGColor                                : "Bakgrunnslitur",\r
+Source                         : "Kóði",\r
+Find                           : "Leita",\r
+Replace                                : "Skipta út",\r
+SpellCheck                     : "Villuleit",\r
+UniversalKeyboard      : "Hnattrænt lyklaborð",\r
+PageBreakLbl           : "Síðuskil",\r
+PageBreak                      : "Setja inn síðuskil",\r
+\r
+Form                   : "Setja inn innsláttarform",\r
+Checkbox               : "Setja inn hökunarreit",\r
+RadioButton            : "Setja inn valhnapp",\r
+TextField              : "Setja inn textareit",\r
+Textarea               : "Setja inn textasvæði",\r
+HiddenField            : "Setja inn falið svæði",\r
+Button                 : "Setja inn hnapp",\r
+SelectionField : "Setja inn lista",\r
+ImageButton            : "Setja inn myndahnapp",\r
+\r
+FitWindow              : "Skoða ritil í fullri stærð",\r
+ShowBlocks             : "Sýna blokkir",\r
+\r
+// Context Menu\r
+EditLink                       : "Breyta stiklu",\r
+CellCM                         : "Reitur",\r
+RowCM                          : "Röð",\r
+ColumnCM                       : "Dálkur",\r
+InsertRowAfter         : "Skjóta inn röð fyrir neðan",\r
+InsertRowBefore                : "Skjóta inn röð fyrir ofan",\r
+DeleteRows                     : "Eyða röð",\r
+InsertColumnAfter      : "Skjóta inn dálki hægra megin",\r
+InsertColumnBefore     : "Skjóta inn dálki vinstra megin",\r
+DeleteColumns          : "Fella dálk",\r
+InsertCellAfter                : "Skjóta inn reiti fyrir framan",\r
+InsertCellBefore       : "Skjóta inn reiti fyrir aftan",\r
+DeleteCells                    : "Fella reit",\r
+MergeCells                     : "Sameina reiti",\r
+MergeRight                     : "Sameina til hægri",\r
+MergeDown                      : "Sameina niður á við",\r
+HorizontalSplitCell    : "Kljúfa reit lárétt",\r
+VerticalSplitCell      : "Kljúfa reit lóðrétt",\r
+TableDelete                    : "Fella töflu",\r
+CellProperties         : "Eigindi reits",\r
+TableProperties                : "Eigindi töflu",\r
+ImageProperties                : "Eigindi myndar",\r
+FlashProperties                : "Eigindi Flash",\r
+\r
+AnchorProp                     : "Eigindi kaflamerkis",\r
+ButtonProp                     : "Eigindi hnapps",\r
+CheckboxProp           : "Eigindi markreits",\r
+HiddenFieldProp                : "Eigindi falins svæðis",\r
+RadioButtonProp                : "Eigindi valhnapps",\r
+ImageButtonProp                : "Eigindi myndahnapps",\r
+TextFieldProp          : "Eigindi textareits",\r
+SelectionFieldProp     : "Eigindi lista",\r
+TextareaProp           : "Eigindi textasvæðis",\r
+FormProp                       : "Eigindi innsláttarforms",\r
+\r
+FontFormats                    : "Venjulegt letur;Forsniðið;Vistfang;Fyrirsögn 1;Fyrirsögn 2;Fyrirsögn 3;Fyrirsögn 4;Fyrirsögn 5;Fyrirsögn 6;Venjulegt (DIV)",\r
+\r
+// Alerts and Messages\r
+ProcessingXHTML                : "Meðhöndla XHTML...",\r
+Done                           : "Tilbúið",\r
+PasteWordConfirm       : "Textinn sem þú ætlar að líma virðist koma úr Word. Viltu hreinsa óþarfar Word-skipanir úr honum?",\r
+NotCompatiblePaste     : "Þessi aðgerð er bundin við Internet Explorer 5.5 og nýrri. Viltu líma textann án þess að hreinsa hann?",\r
+UnknownToolbarItem     : "Óþekktur hlutur í verkstiku \"%1\"!",\r
+UnknownCommand         : "Óþekkt skipanaheiti \"%1\"!",\r
+NotImplemented         : "Skipun ekki virkjuð!",\r
+UnknownToolbarSet      : "Verkstikan \"%1\" ekki til!",\r
+NoActiveX                      : "Öryggisstillingarnar í vafranum þínum leyfa ekki alla möguleika ritilsins.<br>Láttu vafrann leyfa Active-X og viðbætur til að komast hjá villum og takmörkunum.",\r
+BrowseServerBlocked : "Ritillinn getur ekki opnað nauðsynlega hjálparglugga!<br>Láttu hann leyfa þessari síðu að opna sprettiglugga.",\r
+DialogBlocked          : "Ekki var hægt að opna skipanaglugga!<br>Nauðsynlegt er að leyfa síðunni að opna sprettiglugga.",\r
+VisitLinkBlocked       : "Ekki var hægt að opna nýjan glugga. Gangtu úr skugga um að engir sprettigluggabanar séu virkir.",\r
+\r
+// Dialogs\r
+DlgBtnOK                       : "Í lagi",\r
+DlgBtnCancel           : "Hætta við",\r
+DlgBtnClose                    : "Loka",\r
+DlgBtnBrowseServer     : "Fletta í skjalasafni",\r
+DlgAdvancedTag         : "Tæknilegt",\r
+DlgOpOther                     : "<Annað>",\r
+DlgInfoTab                     : "Upplýsingar",\r
+DlgAlertUrl                    : "Sláðu inn slóð",\r
+\r
+// General Dialogs Labels\r
+DlgGenNotSet           : "<ekkert valið>",\r
+DlgGenId                       : "Auðkenni",\r
+DlgGenLangDir          : "Lesstefna",\r
+DlgGenLangDirLtr       : "Frá vinstri til hægri (LTR)",\r
+DlgGenLangDirRtl       : "Frá hægri til vinstri (RTL)",\r
+DlgGenLangCode         : "Tungumálakóði",\r
+DlgGenAccessKey                : "Skammvalshnappur",\r
+DlgGenName                     : "Nafn",\r
+DlgGenTabIndex         : "Raðnúmer innsláttarreits",\r
+DlgGenLongDescr                : "Nánari lýsing",\r
+DlgGenClass                    : "Stílsniðsflokkur",\r
+DlgGenTitle                    : "Titill",\r
+DlgGenContType         : "Tegund innihalds",\r
+DlgGenLinkCharset      : "Táknróf",\r
+DlgGenStyle                    : "Stíll",\r
+\r
+// Image Dialog\r
+DlgImgTitle                    : "Eigindi myndar",\r
+DlgImgInfoTab          : "Almennt",\r
+DlgImgBtnUpload                : "Hlaða upp",\r
+DlgImgURL                      : "Vefslóð",\r
+DlgImgUpload           : "Hlaða upp",\r
+DlgImgAlt                      : "Baklægur texti",\r
+DlgImgWidth                    : "Breidd",\r
+DlgImgHeight           : "Hæð",\r
+DlgImgLockRatio                : "Festa stærðarhlutfall",\r
+DlgBtnResetSize                : "Reikna stærð",\r
+DlgImgBorder           : "Rammi",\r
+DlgImgHSpace           : "Vinstri bil",\r
+DlgImgVSpace           : "Hægri bil",\r
+DlgImgAlign                    : "Jöfnun",\r
+DlgImgAlignLeft                : "Vinstri",\r
+DlgImgAlignAbsBottom: "Abs neðst",\r
+DlgImgAlignAbsMiddle: "Abs miðjuð",\r
+DlgImgAlignBaseline    : "Grunnlína",\r
+DlgImgAlignBottom      : "Neðst",\r
+DlgImgAlignMiddle      : "Miðjuð",\r
+DlgImgAlignRight       : "Hægri",\r
+DlgImgAlignTextTop     : "Efri brún texta",\r
+DlgImgAlignTop         : "Efst",\r
+DlgImgPreview          : "Sýna dæmi",\r
+DlgImgAlertUrl         : "Sláðu inn slóðina að myndinni",\r
+DlgImgLinkTab          : "Stikla",\r
+\r
+// Flash Dialog\r
+DlgFlashTitle          : "Eigindi Flash",\r
+DlgFlashChkPlay                : "Sjálfvirk spilun",\r
+DlgFlashChkLoop                : "Endurtekning",\r
+DlgFlashChkMenu                : "Sýna Flash-valmynd",\r
+DlgFlashScale          : "Skali",\r
+DlgFlashScaleAll       : "Sýna allt",\r
+DlgFlashScaleNoBorder  : "Án ramma",\r
+DlgFlashScaleFit       : "Fella skala að stærð",\r
+\r
+// Link Dialog\r
+DlgLnkWindowTitle      : "Stikla",\r
+DlgLnkInfoTab          : "Almennt",\r
+DlgLnkTargetTab                : "Mark",\r
+\r
+DlgLnkType                     : "Stikluflokkur",\r
+DlgLnkTypeURL          : "Vefslóð",\r
+DlgLnkTypeAnchor       : "Bókamerki á þessari síðu",\r
+DlgLnkTypeEMail                : "Netfang",\r
+DlgLnkProto                    : "Samskiptastaðall",\r
+DlgLnkProtoOther       : "<annað>",\r
+DlgLnkURL                      : "Vefslóð",\r
+DlgLnkAnchorSel                : "Veldu akkeri",\r
+DlgLnkAnchorByName     : "Eftir akkerisnafni",\r
+DlgLnkAnchorById       : "Eftir auðkenni einingar",\r
+DlgLnkNoAnchors                : "<Engin bókamerki á skrá>",\r
+DlgLnkEMail                    : "Netfang",\r
+DlgLnkEMailSubject     : "Efni",\r
+DlgLnkEMailBody                : "Meginmál",\r
+DlgLnkUpload           : "Senda upp",\r
+DlgLnkBtnUpload                : "Senda upp",\r
+\r
+DlgLnkTarget           : "Mark",\r
+DlgLnkTargetFrame      : "<rammi>",\r
+DlgLnkTargetPopup      : "<sprettigluggi>",\r
+DlgLnkTargetBlank      : "Nýr gluggi (_blank)",\r
+DlgLnkTargetParent     : "Yfirsettur rammi (_parent)",\r
+DlgLnkTargetSelf       : "Sami gluggi (_self)",\r
+DlgLnkTargetTop                : "Allur glugginn (_top)",\r
+DlgLnkTargetFrameName  : "Nafn markglugga",\r
+DlgLnkPopWinName       : "Nafn sprettiglugga",\r
+DlgLnkPopWinFeat       : "Eigindi sprettiglugga",\r
+DlgLnkPopResize                : "Skölun",\r
+DlgLnkPopLocation      : "Fanglína",\r
+DlgLnkPopMenu          : "Vallína",\r
+DlgLnkPopScroll                : "Skrunstikur",\r
+DlgLnkPopStatus                : "Stöðustika",\r
+DlgLnkPopToolbar       : "Verkfærastika",\r
+DlgLnkPopFullScrn      : "Heilskjár (IE)",\r
+DlgLnkPopDependent     : "Háð venslum (Netscape)",\r
+DlgLnkPopWidth         : "Breidd",\r
+DlgLnkPopHeight                : "Hæð",\r
+DlgLnkPopLeft          : "Fjarlægð frá vinstri",\r
+DlgLnkPopTop           : "Fjarlægð frá efri brún",\r
+\r
+DlnLnkMsgNoUrl         : "Sláðu inn veffang stiklunnar!",\r
+DlnLnkMsgNoEMail       : "Sláðu inn netfang!",\r
+DlnLnkMsgNoAnchor      : "Veldu fyrst eitthvert bókamerki!",\r
+DlnLnkMsgInvPopName    : "Sprettisíðan verður að byrja á bókstaf (a-z) og má ekki innihalda stafabil",\r
+\r
+// Color Dialog\r
+DlgColorTitle          : "Velja lit",\r
+DlgColorBtnClear       : "Núllstilla",\r
+DlgColorHighlight      : "Litmerkja",\r
+DlgColorSelected       : "Valið",\r
+\r
+// Smiley Dialog\r
+DlgSmileyTitle         : "Velja svip",\r
+\r
+// Special Character Dialog\r
+DlgSpecialCharTitle    : "Velja tákn",\r
+\r
+// Table Dialog\r
+DlgTableTitle          : "Eigindi töflu",\r
+DlgTableRows           : "Raðir",\r
+DlgTableColumns                : "Dálkar",\r
+DlgTableBorder         : "Breidd ramma",\r
+DlgTableAlign          : "Jöfnun",\r
+DlgTableAlignNotSet    : "<ekkert valið>",\r
+DlgTableAlignLeft      : "Vinstrijafnað",\r
+DlgTableAlignCenter    : "Miðjað",\r
+DlgTableAlignRight     : "Hægrijafnað",\r
+DlgTableWidth          : "Breidd",\r
+DlgTableWidthPx                : "myndeindir",\r
+DlgTableWidthPc                : "prósent",\r
+DlgTableHeight         : "Hæð",\r
+DlgTableCellSpace      : "Bil milli reita",\r
+DlgTableCellPad                : "Reitaspássía",\r
+DlgTableCaption                : "Titill",\r
+DlgTableSummary                : "Áfram",\r
+DlgTableHeaders                : "Fyrirsagnir",\r
+DlgTableHeadersNone            : "Engar",\r
+DlgTableHeadersColumn  : "Fyrsti dálkur",\r
+DlgTableHeadersRow             : "Fyrsta röð",\r
+DlgTableHeadersBoth            : "Hvort tveggja",\r
+\r
+// Table Cell Dialog\r
+DlgCellTitle           : "Eigindi reits",\r
+DlgCellWidth           : "Breidd",\r
+DlgCellWidthPx         : "myndeindir",\r
+DlgCellWidthPc         : "prósent",\r
+DlgCellHeight          : "Hæð",\r
+DlgCellWordWrap                : "Línuskipting",\r
+DlgCellWordWrapNotSet  : "<ekkert valið>",\r
+DlgCellWordWrapYes     : "Já",\r
+DlgCellWordWrapNo      : "Nei",\r
+DlgCellHorAlign                : "Lárétt jöfnun",\r
+DlgCellHorAlignNotSet  : "<ekkert valið>",\r
+DlgCellHorAlignLeft    : "Vinstrijafnað",\r
+DlgCellHorAlignCenter  : "Miðjað",\r
+DlgCellHorAlignRight: "Hægrijafnað",\r
+DlgCellVerAlign                : "Lóðrétt jöfnun",\r
+DlgCellVerAlignNotSet  : "<ekkert valið>",\r
+DlgCellVerAlignTop     : "Efst",\r
+DlgCellVerAlignMiddle  : "Miðjað",\r
+DlgCellVerAlignBottom  : "Neðst",\r
+DlgCellVerAlignBaseline        : "Grunnlína",\r
+DlgCellType            : "Tegund reits",\r
+DlgCellTypeData                : "Gögn",\r
+DlgCellTypeHeader      : "Fyrirsögn",\r
+DlgCellRowSpan         : "Hæð í röðum talið",\r
+DlgCellCollSpan                : "Breidd í dálkum talið",\r
+DlgCellBackColor       : "Bakgrunnslitur",\r
+DlgCellBorderColor     : "Rammalitur",\r
+DlgCellBtnSelect       : "Veldu...",\r
+\r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Finna og skipta",\r
+\r
+// Find Dialog\r
+DlgFindTitle           : "Finna",\r
+DlgFindFindBtn         : "Finna",\r
+DlgFindNotFoundMsg     : "Leitartexti fannst ekki!",\r
+\r
+// Replace Dialog\r
+DlgReplaceTitle                        : "Skipta út",\r
+DlgReplaceFindLbl              : "Leita að:",\r
+DlgReplaceReplaceLbl   : "Skipta út fyrir:",\r
+DlgReplaceCaseChk              : "Gera greinarmun á¡ há¡- og lágstöfum",\r
+DlgReplaceReplaceBtn   : "Skipta út",\r
+DlgReplaceReplAllBtn   : "Skipta út allsstaðar",\r
+DlgReplaceWordChk              : "Aðeins heil orð",\r
+\r
+// Paste Operations / Dialog\r
+PasteErrorCut  : "Öryggisstillingar vafrans þíns leyfa ekki klippingu texta með músaraðgerð. Notaðu lyklaborðið í klippa (Ctrl+X).",\r
+PasteErrorCopy : "Öryggisstillingar vafrans þíns leyfa ekki afritun texta með músaraðgerð. Notaðu lyklaborðið í afrita (Ctrl+C).",\r
+\r
+PasteAsText            : "Líma sem ósniðinn texta",\r
+PasteFromWord  : "Líma úr Word",\r
+\r
+DlgPasteMsg2   : "Límdu í svæðið hér að neðan og (<STRONG>Ctrl+V</STRONG>) og smelltu á <STRONG>OK</STRONG>.",\r
+DlgPasteSec            : "Vegna öryggisstillinga í vafranum þínum fær ritillinn ekki beinan aðgang að klippuborðinu. Þú verður að líma innihaldið aftur inn í þennan glugga.",\r
+DlgPasteIgnoreFont             : "Hunsa leturskilgreiningar",\r
+DlgPasteRemoveStyles   : "Hunsa letureigindi",\r
+\r
+// Color Picker\r
+ColorAutomatic : "Sjálfval",\r
+ColorMoreColors        : "Fleiri liti...",\r
+\r
+// Document Properties\r
+DocProps               : "Eigindi skjals",\r
+\r
+// Anchor Dialog\r
+DlgAnchorTitle         : "Eigindi bókamerkis",\r
+DlgAnchorName          : "Nafn bókamerkis",\r
+DlgAnchorErrorName     : "Sláðu inn nafn bókamerkis!",\r
+\r
+// Speller Pages Dialog\r
+DlgSpellNotInDic               : "Ekki í orðabókinni",\r
+DlgSpellChangeTo               : "Tillaga",\r
+DlgSpellBtnIgnore              : "Hunsa",\r
+DlgSpellBtnIgnoreAll   : "Hunsa allt",\r
+DlgSpellBtnReplace             : "Skipta",\r
+DlgSpellBtnReplaceAll  : "Skipta öllu",\r
+DlgSpellBtnUndo                        : "Til baka",\r
+DlgSpellNoSuggestions  : "- engar tillögur -",\r
+DlgSpellProgress               : "Villuleit í gangi...",\r
+DlgSpellNoMispell              : "Villuleit lokið: Engin villa fannst",\r
+DlgSpellNoChanges              : "Villuleit lokið: Engu orði breytt",\r
+DlgSpellOneChange              : "Villuleit lokið: Einu orði breytt",\r
+DlgSpellManyChanges            : "Villuleit lokið: %1 orðum breytt",\r
+\r
+IeSpellDownload                        : "Villuleit ekki sett upp.<br>Viltu setja hana upp?",\r
+\r
+// Button Dialog\r
+DlgButtonText          : "Texti",\r
+DlgButtonType          : "Gerð",\r
+DlgButtonTypeBtn       : "Hnappur",\r
+DlgButtonTypeSbm       : "Staðfesta",\r
+DlgButtonTypeRst       : "Hreinsa",\r
+\r
+// Checkbox and Radio Button Dialogs\r
+DlgCheckboxName                : "Nafn",\r
+DlgCheckboxValue       : "Gildi",\r
+DlgCheckboxSelected    : "Valið",\r
+\r
+// Form Dialog\r
+DlgFormName            : "Nafn",\r
+DlgFormAction  : "Aðgerð",\r
+DlgFormMethod  : "Aðferð",\r
+\r
+// Select Field Dialog\r
+DlgSelectName          : "Nafn",\r
+DlgSelectValue         : "Gildi",\r
+DlgSelectSize          : "Stærð",\r
+DlgSelectLines         : "línur",\r
+DlgSelectChkMulti      : "Leyfa fleiri kosti",\r
+DlgSelectOpAvail       : "Kostir",\r
+DlgSelectOpText                : "Texti",\r
+DlgSelectOpValue       : "Gildi",\r
+DlgSelectBtnAdd                : "Bæta við",\r
+DlgSelectBtnModify     : "Breyta",\r
+DlgSelectBtnUp         : "Upp",\r
+DlgSelectBtnDown       : "Niður",\r
+DlgSelectBtnSetValue : "Merkja sem valið",\r
+DlgSelectBtnDelete     : "Eyða",\r
+\r
+// Textarea Dialog\r
+DlgTextareaName        : "Nafn",\r
+DlgTextareaCols        : "Dálkar",\r
+DlgTextareaRows        : "Línur",\r
+\r
+// Text Field Dialog\r
+DlgTextName                    : "Nafn",\r
+DlgTextValue           : "Gildi",\r
+DlgTextCharWidth       : "Breidd (leturtákn)",\r
+DlgTextMaxChars                : "Hámarksfjöldi leturtákna",\r
+DlgTextType                    : "Gerð",\r
+DlgTextTypeText                : "Texti",\r
+DlgTextTypePass                : "Lykilorð",\r
+\r
+// Hidden Field Dialog\r
+DlgHiddenName  : "Nafn",\r
+DlgHiddenValue : "Gildi",\r
+\r
+// Bulleted List Dialog\r
+BulletedListProp       : "Eigindi depillista",\r
+NumberedListProp       : "Eigindi tölusetts lista",\r
+DlgLstStart                    : "Byrja",\r
+DlgLstType                     : "Gerð",\r
+DlgLstTypeCircle       : "Hringur",\r
+DlgLstTypeDisc         : "Fylltur hringur",\r
+DlgLstTypeSquare       : "Ferningur",\r
+DlgLstTypeNumbers      : "Tölusett (1, 2, 3)",\r
+DlgLstTypeLCase                : "Lágstafir (a, b, c)",\r
+DlgLstTypeUCase                : "Hástafir (A, B, C)",\r
+DlgLstTypeSRoman       : "Rómverkar lágstafatölur (i, ii, iii)",\r
+DlgLstTypeLRoman       : "Rómverkar hástafatölur (I, II, III)",\r
+\r
+// Document Properties Dialog\r
+DlgDocGeneralTab       : "Almennt",\r
+DlgDocBackTab          : "Bakgrunnur",\r
+DlgDocColorsTab                : "Litir og rammar",\r
+DlgDocMetaTab          : "Lýsigögn",\r
+\r
+DlgDocPageTitle                : "Titill síðu",\r
+DlgDocLangDir          : "Tungumál",\r
+DlgDocLangDirLTR       : "Vinstri til hægri (LTR)",\r
+DlgDocLangDirRTL       : "Hægri til vinstri (RTL)",\r
+DlgDocLangCode         : "Tungumálakóði",\r
+DlgDocCharSet          : "Letursett",\r
+DlgDocCharSetCE                : "Mið-evrópskt",\r
+DlgDocCharSetCT                : "Kínverskt, hefðbundið (Big5)",\r
+DlgDocCharSetCR                : "Kýrilskt",\r
+DlgDocCharSetGR                : "Grískt",\r
+DlgDocCharSetJP                : "Japanskt",\r
+DlgDocCharSetKR                : "Kóreskt",\r
+DlgDocCharSetTR                : "Tyrkneskt",\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",\r
+DlgDocCharSetWE                : "Vestur-evrópst",\r
+DlgDocCharSetOther     : "Annað letursett",\r
+\r
+DlgDocDocType          : "Flokkur skjalategunda",\r
+DlgDocDocTypeOther     : "Annar flokkur skjalategunda",\r
+DlgDocIncXHTML         : "Fella inn XHTML lýsingu",\r
+DlgDocBgColor          : "Bakgrunnslitur",\r
+DlgDocBgImage          : "Slóð bakgrunnsmyndar",\r
+DlgDocBgNoScroll       : "Læstur bakgrunnur",\r
+DlgDocCText                    : "Texti",\r
+DlgDocCLink                    : "Stikla",\r
+DlgDocCVisited         : "Heimsótt stikla",\r
+DlgDocCActive          : "Virk stikla",\r
+DlgDocMargins          : "Hliðarspássía",\r
+DlgDocMaTop                    : "Efst",\r
+DlgDocMaLeft           : "Vinstri",\r
+DlgDocMaRight          : "Hægri",\r
+DlgDocMaBottom         : "Neðst",\r
+DlgDocMeIndex          : "Lykilorð efnisorðaskrár (aðgreind með kommum)",\r
+DlgDocMeDescr          : "Lýsing skjals",\r
+DlgDocMeAuthor         : "Höfundur",\r
+DlgDocMeCopy           : "Höfundarréttur",\r
+DlgDocPreview          : "Sýna",\r
+\r
+// Templates Dialog\r
+Templates                      : "Sniðmát",\r
+DlgTemplatesTitle      : "Innihaldssniðmát",\r
+DlgTemplatesSelMsg     : "Veldu sniðmát til að opna í ritlinum.<br>(Núverandi innihald víkur fyrir því!):",\r
+DlgTemplatesLoading    : "Sæki lista yfir sniðmát...",\r
+DlgTemplatesNoTpl      : "(Ekkert sniðmát er skilgreint!)",\r
+DlgTemplatesReplace    : "Skipta út raunverulegu innihaldi",\r
+\r
+// About Dialog\r
+DlgAboutAboutTab       : "Um",\r
+DlgAboutBrowserInfoTab : "Almennt",\r
+DlgAboutLicenseTab     : "Leyfi",\r
+DlgAboutVersion                : "útgáfa",\r
+DlgAboutInfo           : "Nánari upplýsinar, sjá:",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Almennt",\r
+DlgDivAdvancedTab      : "Sérhæft",\r
+DlgDivStyle            : "Stíll",\r
+DlgDivInlineStyle      : "Línulægur stíll",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index a3dee1b..51b0d85 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Elimina formattazione",
 InsertLinkLbl          : "Collegamento",\r
 InsertLink                     : "Inserisci/Modifica collegamento",\r
 RemoveLink                     : "Elimina collegamento",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Inserisci/Modifica Ancora",\r
+AnchorDelete           : "Rimuovi Ancora",\r
 InsertImageLbl         : "Immagine",\r
 InsertImage                    : "Inserisci/Modifica immagine",\r
 InsertFlashLbl         : "Oggetto Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Allinea a destra",
 BlockJustify           : "Giustifica",\r
 DecreaseIndent         : "Riduci rientro",\r
 IncreaseIndent         : "Aumenta rientro",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Annulla",\r
 Redo                           : "Ripristina",\r
 NumberedListLbl                : "Elenco numerato",\r
@@ -103,20 +109,27 @@ SelectionField    : "Menu di selezione",
 ImageButton            : "Bottone immagine",\r
 \r
 FitWindow              : "Massimizza l'area dell'editor",\r
+ShowBlocks             : "Visualizza Blocchi",\r
 \r
 // Context Menu\r
 EditLink                       : "Modifica collegamento",\r
 CellCM                         : "Cella",\r
 RowCM                          : "Riga",\r
 ColumnCM                       : "Colonna",\r
-InsertRow                      : "Inserisci riga",\r
+InsertRowAfter         : "Inserisci Riga Dopo",\r
+InsertRowBefore                : "Inserisci Riga Prima",\r
 DeleteRows                     : "Elimina righe",\r
-InsertColumn           : "Inserisci colonna",\r
+InsertColumnAfter      : "Inserisci Colonna Dopo",\r
+InsertColumnBefore     : "Inserisci Colonna Prima",\r
 DeleteColumns          : "Elimina colonne",\r
-InsertCell                     : "Inserisci cella",\r
+InsertCellAfter                : "Inserisci Cella Dopo",\r
+InsertCellBefore       : "Inserisci Cella Prima",\r
 DeleteCells                    : "Elimina celle",\r
 MergeCells                     : "Unisce celle",\r
-SplitCell                      : "Dividi celle",\r
+MergeRight                     : "Unisci a Destra",\r
+MergeDown                      : "Unisci in Basso",\r
+HorizontalSplitCell    : "Dividi Cella Orizzontalmente",\r
+VerticalSplitCell      : "Dividi Cella Verticalmente",\r
 TableDelete                    : "Cancella Tabella",\r
 CellProperties         : "Proprietà cella",\r
 TableProperties                : "Proprietà tabella",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Proprietà menu di selezione",
 TextareaProp           : "Proprietà area di testo",\r
 FormProp                       : "Proprietà modulo",\r
 \r
-FontFormats                    : "Normale;Formattato;Indirizzo;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)",         //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normale;Formattato;Indirizzo;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Elaborazione XHTML in corso. Attendere prego...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "La barra di strumenti \"%1\" non esiste",
 NoActiveX                      : "Le impostazioni di sicurezza del tuo browser potrebbero limitare alcune funzionalità dell'editor. Devi abilitare l'opzione \"Esegui controlli e plug-in ActiveX\". Potresti avere errori e notare funzionalità mancanti.",\r
 BrowseServerBlocked : "Non è possibile aprire la finestra di espolorazione risorse. Verifica che tutti i blocca popup siano bloccati.",\r
 DialogBlocked          : "Non è possibile aprire la finestra di dialogo. Verifica che tutti i blocca popup siano bloccati.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Scegli Ancora",\r
 DlgLnkAnchorByName     : "Per Nome",\r
 DlgLnkAnchorById       : "Per id elemento",\r
-DlgLnkNoAnchors                : "<Nessuna ancora disponibile nel documento>",         //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Nessuna ancora disponibile nel documento)",\r
 DlgLnkEMail                    : "Indirizzo E-Mail",\r
 DlgLnkEMailSubject     : "Oggetto del messaggio",\r
 DlgLnkEMailBody                : "Corpo del messaggio",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Spaziatura celle",
 DlgTableCellPad                : "Padding celle",\r
 DlgTableCaption                : "Intestazione",\r
 DlgTableSummary                : "Indice",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Proprietà cella",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "In Alto",
 DlgCellVerAlignMiddle  : "Centrato",\r
 DlgCellVerAlignBottom  : "In Basso",\r
 DlgCellVerAlignBaseline        : "Linea base",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Righe occupate",\r
 DlgCellCollSpan                : "Colonne occupate",\r
 DlgCellBackColor       : "Colore sfondo",\r
 DlgCellBorderColor     : "Colore bordo",\r
 DlgCellBtnSelect       : "Scegli...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Cerca e Sostituisci",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Trova",\r
 DlgFindFindBtn         : "Trova",\r
@@ -344,10 +369,9 @@ PasteAsText                : "Incolla come testo semplice",
 PasteFromWord  : "Incolla da Word",\r
 \r
 DlgPasteMsg2   : "Incolla il testo all'interno dell'area sottostante usando la scorciatoia di tastiere (<STRONG>Ctrl+V</STRONG>) e premi <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "A causa delle impostazioni di sicurezza del browser,l'editor non è in grado di accedere direttamente agli appunti. E' pertanto necessario incollarli di nuovo in questa finestra.",\r
 DlgPasteIgnoreFont             : "Ignora le definizioni di Font",\r
 DlgPasteRemoveStyles   : "Rimuovi le definizioni di Stile",\r
-DlgPasteCleanBox               : "Svuota area di testo",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatico",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Informazioni",
 DlgAboutBrowserInfoTab : "Informazioni Browser",\r
 DlgAboutLicenseTab     : "Licenza",\r
 DlgAboutVersion                : "versione",\r
-DlgAboutInfo           : "Per maggiori informazioni visitare"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Per maggiori informazioni visitare",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index c567d21..b7dde04 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "フォーマット削除",
 InsertLinkLbl          : "リンク",\r
 InsertLink                     : "リンク挿入/編集",\r
 RemoveLink                     : "リンク削除",\r
+VisitLink                      : "リンクを開く",\r
 Anchor                         : "アンカー挿入/編集",\r
+AnchorDelete           : "アンカー削除",\r
 InsertImageLbl         : "イメージ",\r
 InsertImage                    : "イメージ挿入/編集",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "右揃え",
 BlockJustify           : "両端揃え",\r
 DecreaseIndent         : "インデント解除",\r
 IncreaseIndent         : "インデント",\r
+Blockquote                     : "ブロック引用",\r
+CreateDiv                      : "Div 作成",\r
+EditDiv                                : "Div 編集",\r
+DeleteDiv                      : "Div 削除",\r
 Undo                           : "元に戻す",\r
 Redo                           : "やり直し",\r
 NumberedListLbl                : "段落番号",\r
@@ -103,20 +109,27 @@ SelectionField    : "選択フィールド",
 ImageButton            : "画像ボタン",\r
 \r
 FitWindow              : "エディタサイズを最大にします",\r
+ShowBlocks             : "ブロック表示",\r
 \r
 // Context Menu\r
 EditLink                       : "リンク編集",\r
 CellCM                         : "セル",\r
 RowCM                          : "行",\r
 ColumnCM                       : "カラム",\r
-InsertRow                      : "行挿入",\r
+InsertRowAfter         : "列の後に挿入",\r
+InsertRowBefore                : "列の前に挿入",\r
 DeleteRows                     : "行削除",\r
-InsertColumn           : "列挿入",\r
+InsertColumnAfter      : "カラムの後に挿入",\r
+InsertColumnBefore     : "カラムの前に挿入",\r
 DeleteColumns          : "列削除",\r
-InsertCell                     : "セル挿入",\r
+InsertCellAfter                : "セルの後に挿入",\r
+InsertCellBefore       : "セルの前に挿入",\r
 DeleteCells                    : "セル削除",\r
 MergeCells                     : "セル結合",\r
-SplitCell                      : "セル分割",\r
+MergeRight                     : "右に結合",\r
+MergeDown                      : "下に結合",\r
+HorizontalSplitCell    : "セルを水平方向分割",\r
+VerticalSplitCell      : "セルを垂直方向に分割",\r
 TableDelete                    : "テーブル削除",\r
 CellProperties         : "セル プロパティ",\r
 TableProperties                : "テーブル プロパティ",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "選択フィールド プロパティ",
 TextareaProp           : "テキストエリア プロパティ",\r
 FormProp                       : "フォーム プロパティ",\r
 \r
-FontFormats                    : "標準;書式付き;アドレス;見出し 1;見出し 2;見出し 3;見出し 4;見出し 5;見出し 6;標準 (DIV)",              //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "標準;書式付き;アドレス;見出し 1;見出し 2;見出し 3;見出し 4;見出し 5;見出し 6;標準 (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML処理中. しばらくお待ちください...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "ツールバー設定 \"%1\" 存在しません。",
 NoActiveX                      : "エラー、警告メッセージなどが発生した場合、ブラウザーのセキュリティ設定によりエディタのいくつかの機能が制限されている可能性があります。セキュリティ設定のオプションで\"ActiveXコントロールとプラグインの実行\"を有効にするにしてください。",\r
 BrowseServerBlocked : "サーバーブラウザーを開くことができませんでした。ポップアップ・ブロック機能が無効になっているか確認してください。",\r
 DialogBlocked          : "ダイアログウィンドウを開くことができませんでした。ポップアップ・ブロック機能が無効になっているか確認してください。",\r
+VisitLinkBlocked       : "新しいウィンドウを開くことができませんでした。ポップアップ・ブロック機能が無効になっているか確認してください。",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "アンカーを選択",\r
 DlgLnkAnchorByName     : "アンカー名",\r
 DlgLnkAnchorById       : "エレメントID",\r
-DlgLnkNoAnchors                : "<ドキュメントにおいて利用可能なアンカーはありません。>",           //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(ドキュメントにおいて利用可能なアンカーはありません。)",\r
 DlgLnkEMail                    : "E-Mail アドレス",\r
 DlgLnkEMailSubject     : "件名",\r
 DlgLnkEMailBody                : "本文",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "セル内余白",
 DlgTableCellPad                : "セル内間隔",\r
 DlgTableCaption                : "キャプション",\r
 DlgTableSummary                : "テーブル目的/構造",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "セル プロパティ",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "上",
 DlgCellVerAlignMiddle  : "中央",\r
 DlgCellVerAlignBottom  : "下",\r
 DlgCellVerAlignBaseline        : "ベースライン",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "縦幅(行数)",\r
 DlgCellCollSpan                : "横幅(列数)",\r
 DlgCellBackColor       : "背景色",\r
 DlgCellBorderColor     : "ボーダーカラー",\r
 DlgCellBtnSelect       : "選択...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "検索して置換",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "検索",\r
 DlgFindFindBtn         : "検索",\r
@@ -344,10 +369,9 @@ PasteAsText                : "プレーンテキスト貼り付け",
 PasteFromWord  : "ワード文章から貼り付け",\r
 \r
 DlgPasteMsg2   : "キーボード(<STRONG>Ctrl+V</STRONG>)を使用して、次の入力エリア内で貼って、<STRONG>OK</STRONG>を押してください。",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "ブラウザのセキュリティ設定により、エディタはクリップボード・データに直接アクセスすることができません。このウィンドウは貼り付け操作を行う度に表示されます。",\r
 DlgPasteIgnoreFont             : "FontタグのFace属性を無視します。",\r
 DlgPasteRemoveStyles   : "スタイル定義を削除します。",\r
-DlgPasteCleanBox               : "入力エリアクリア",\r
 \r
 // Color Picker\r
 ColorAutomatic : "自動",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "バージョン情報",
 DlgAboutBrowserInfoTab : "ブラウザ情報",\r
 DlgAboutLicenseTab     : "ライセンス",\r
 DlgAboutVersion                : "バージョン",\r
-DlgAboutInfo           : "より詳しい情報はこちらで"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "より詳しい情報はこちらで",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "全般",\r
+DlgDivAdvancedTab      : "高度な設定",\r
+DlgDivStyle            : "スタイル",\r
+DlgDivInlineStyle      : "インラインスタイル",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index e90291f..e0af4d0 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "លប់ចោល ការរចនា",
 InsertLinkLbl          : "ឈ្នាប់",\r
 InsertLink                     : "បន្ថែម/កែប្រែ ឈ្នាប់",\r
 RemoveLink                     : "លប់ឈ្នាប់",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "បន្ថែម/កែប្រែ យុថ្កា",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "រូបភាព",\r
 InsertImage                    : "បន្ថែម/កែប្រែ រូបភាព",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "តំរឹមស្តាំ",
 BlockJustify           : "តំរឹមសងខាង",\r
 DecreaseIndent         : "បន្ថយការចូលបន្ទាត់",\r
 IncreaseIndent         : "បន្ថែមការចូលបន្ទាត់",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "សារឡើងវិញ",\r
 Redo                           : "ធ្វើឡើងវិញ",\r
 NumberedListLbl                : "បញ្ជីជាអក្សរ",\r
@@ -103,20 +109,27 @@ SelectionField    : "ជួរជ្រើសរើស",
 ImageButton            : "ប៉ូតុនរូបភាព",\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "កែប្រែឈ្នាប់",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRow                      : "បន្ថែមជួរផ្តេក",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "លប់ជួរផ្តេក",\r
-InsertColumn           : "បន្ថែមជួរឈរ",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "លប់ជួរឈរ",\r
-InsertCell                     : "បន្ថែម សែល",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "លប់សែល",\r
 MergeCells                     : "បញ្ជូលសែល",\r
-SplitCell                      : "ផ្តាច់សែល",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "លប់តារាង",\r
 CellProperties         : "ការកំណត់សែល",\r
 TableProperties                : "ការកំណត់តារាង",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "ការកំណត់ជួរជ្រើសរើស"
 TextareaProp           : "ការកំណត់កន្លែងសរសេរអត្ថបទ",\r
 FormProp                       : "ការកំណត់បែបបទ",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "កំពុងដំណើរការ XHTML ។ សូមរងចាំ...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "របាឧបរកណ៍ \"%1\" ពុំមាន ។",
 NoActiveX                      : "ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​អាចធ្វើអោយលោកអ្នកមិនអាចប្រើមុខងារខ្លះរបស់កម្មវិធីតាក់តែងអត្ថបទនេះ ។ លោកអ្នកត្រូវកំណត់អោយ \"ActiveX និង​កម្មវិធីជំនួយក្នុង (plug-ins)\" អោយដំណើរការ ។ លោកអ្នកអាចជួបប្រទះនឹង បញ្ហា ព្រមជាមួយនឹងការបាត់បង់មុខងារណាមួយរបស់កម្មវិធីតាក់តែងអត្ថបទនេះ ។",\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "វីនដូវមិនអាចបើកបានទេ ។ សូមពិនិត្យចំពោះកម្មវិធីបិទ វីនដូវលោត (popup) ថាតើវាដំណើរការរឺទេ ។",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "យល់ព្រម",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "ជ្រើសរើសយុថ្កា",\r
 DlgLnkAnchorByName     : "តាមឈ្មោះរបស់យុថ្កា",\r
 DlgLnkAnchorById       : "តាម Id",\r
-DlgLnkNoAnchors                : "<ពុំមានយុថ្កានៅក្នុងឯកសារនេះទេ>",          //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(No anchors available in the document)",     //MISSING\r
 DlgLnkEMail                    : "អ៊ីមែល",\r
 DlgLnkEMailSubject     : "ចំណងជើងអត្ថបទ",\r
 DlgLnkEMailBody                : "អត្ថបទ",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "គំលាតសែល",
 DlgTableCellPad                : "គែមសែល",\r
 DlgTableCaption                : "ចំណងជើង",\r
 DlgTableSummary                : "សេចក្តីសង្ខេប",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "ការកំណត់ សែល",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "ខាងលើ",
 DlgCellVerAlignMiddle  : "កណ្តាល",\r
 DlgCellVerAlignBottom  : "ខាងក្រោម",\r
 DlgCellVerAlignBaseline        : "បន្ទាត់ជាមូលដ្ឋាន",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "បញ្ជូលជួរផ្តេក",\r
 DlgCellCollSpan                : "បញ្ជូលជួរឈរ",\r
 DlgCellBackColor       : "ពណ៌ផ្នែកខាងក្រោម",\r
 DlgCellBorderColor     : "ពណ៌ស៊ុម",\r
 DlgCellBtnSelect       : "ជ្រើសរើស...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "ស្វែងរក",\r
 DlgFindFindBtn         : "ស្វែងរក",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "សូមចំលងអត្ថបទទៅដាក់ក្
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "មិនគិតអំពីប្រភេទពុម្ភអក្សរ",\r
 DlgPasteRemoveStyles   : "លប់ម៉ូត",\r
-DlgPasteCleanBox               : "លប់អត្ថបទចេញពីប្រអប់",\r
 \r
 // Color Picker\r
 ColorAutomatic : "ស្វ័យប្រវត្ត",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "អំពី",
 DlgAboutBrowserInfoTab : "ព៌តមានកម្មវិធីរុករក",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "ជំនាន់",\r
-DlgAboutInfo           : "សំរាប់ព៌តមានផ្សេងទៀត សូមទាក់ទង"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "សំរាប់ព៌តមានផ្សេងទៀត សូមទាក់ទង",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 0a2efa6..91df044 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "포맷 지우기",
 InsertLinkLbl          : "링크",\r
 InsertLink                     : "링크 삽입/변경",\r
 RemoveLink                     : "링크 삭제",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "책갈피 삽입/변경",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "이미지",\r
 InsertImage                    : "이미지 삽입/변경",\r
 InsertFlashLbl         : "플래쉬",\r
@@ -70,6 +72,10 @@ RightJustify         : "오른쪽 정렬",
 BlockJustify           : "양쪽 맞춤",\r
 DecreaseIndent         : "내어쓰기",\r
 IncreaseIndent         : "들여쓰기",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "취소",\r
 Redo                           : "재실행",\r
 NumberedListLbl                : "순서있는 목록",\r
@@ -102,22 +108,29 @@ Button                    : "버튼",
 SelectionField : "펼침목록",\r
 ImageButton            : "이미지버튼",\r
 \r
-FitWindow              : "Maximize the editor size",   //MISSING\r
+FitWindow              : "에디터 최대화",\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "링크 수정",\r
-CellCM                         : "Cell",       //MISSING\r
-RowCM                          : "Row",        //MISSING\r
-ColumnCM                       : "Column",     //MISSING\r
-InsertRow                      : "가로줄 삽입",\r
+CellCM                         : "셀/칸(Cell)",\r
+RowCM                          : "행(Row)",\r
+ColumnCM                       : "열(Column)",\r
+InsertRowAfter         : "뒤에 행 삽입",\r
+InsertRowBefore                : "앞에 행 삽입",\r
 DeleteRows                     : "가로줄 삭제",\r
-InsertColumn           : "세로줄 삽입",\r
+InsertColumnAfter      : "뒤에 열 삽입",\r
+InsertColumnBefore     : "앞에 열 삽입",\r
 DeleteColumns          : "세로줄 삭제",\r
-InsertCell                     : "셀 삽입",\r
+InsertCellAfter                : "뒤에 셀/칸 삽입",\r
+InsertCellBefore       : "앞에 셀/칸 삽입",\r
 DeleteCells                    : "셀 삭제",\r
 MergeCells                     : "셀 합치기",\r
-SplitCell                      : "셀 나누기",\r
-TableDelete                    : "Delete Table",       //MISSING\r
+MergeRight                     : "오른쪽 뭉치기",\r
+MergeDown                      : "왼쪽 뭉치기",\r
+HorizontalSplitCell    : "수평 나누기",\r
+VerticalSplitCell      : "수직 나누기",\r
+TableDelete                    : "표 삭제",\r
 CellProperties         : "셀 속성",\r
 TableProperties                : "표 속성",\r
 ImageProperties                : "이미지 속성",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "펼침목록 속성",
 TextareaProp           : "입력영역 속성",\r
 FormProp                       : "폼 속성",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",               //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML 처리중. 잠시만 기다려주십시요.",\r
@@ -145,9 +158,10 @@ UnknownToolbarItem : "알수없는 툴바입니다. : \"%1\"",
 UnknownCommand         : "알수없는 기능입니다. : \"%1\"",\r
 NotImplemented         : "기능이 실행되지 않았습니다.",\r
 UnknownToolbarSet      : "툴바 설정이 없습니다. : \"%1\"",\r
-NoActiveX                      : "Your 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\r
-BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
-DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
+NoActiveX                      : "브러우저의 보안 설정으로 인해 몇몇 기능의 작동에 장애가 있을 수 있습니다. \"액티브-액스 기능과 플러그 인\" 옵션을 허용하여 주시지 않으면 오류가 발생할 수 있습니다.",\r
+BrowseServerBlocked : "브러우저 요소가 열리지 않습니다. 팝업차단 설정이 꺼져있는지 확인하여 주십시오.",\r
+DialogBlocked          : "윈도우 대화창을 열 수 없습니다. 팝업차단 설정이 꺼져있는지 확인하여 주십시오.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "예",\r
@@ -198,7 +212,7 @@ DlgImgAlignBaseline : "기준선",
 DlgImgAlignBottom      : "아래",\r
 DlgImgAlignMiddle      : "중간",\r
 DlgImgAlignRight       : "오른쪽",\r
-DlgImgAlignTextTop     : "ê¸\80ì\9e\90ì\9c\84(Text Top)",\r
+DlgImgAlignTextTop     : "ê¸\80ì\9e\90ì\83\81ë\8b¨",\r
 DlgImgAlignTop         : "위",\r
 DlgImgPreview          : "미리보기",\r
 DlgImgAlertUrl         : "이미지 URL을 입력하십시요",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "책갈피 선택",\r
 DlgLnkAnchorByName     : "책갈피 이름",\r
 DlgLnkAnchorById       : "책갈피 ID",\r
-DlgLnkNoAnchors                : "<문서에 책갈피가 없습니다.>",             //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(문서에 책갈피가 없습니다.)",\r
 DlgLnkEMail                    : "이메일 주소",\r
 DlgLnkEMailSubject     : "제목",\r
 DlgLnkEMailBody                : "내용",\r
@@ -262,7 +276,7 @@ DlgLnkPopTop                : "윗쪽 위치",
 DlnLnkMsgNoUrl         : "링크 URL을 입력하십시요.",\r
 DlnLnkMsgNoEMail       : "이메일주소를 입력하십시요.",\r
 DlnLnkMsgNoAnchor      : "책갈피명을 입력하십시요.",\r
-DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
+DlnLnkMsgInvPopName    : "팝업창의 타이틀은 공백을 허용하지 않습니다.",\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "색상 선택",\r
@@ -293,7 +307,12 @@ DlgTableHeight             : "높이",
 DlgTableCellSpace      : "셀 간격",\r
 DlgTableCellPad                : "셀 여백",\r
 DlgTableCaption                : "캡션",\r
-DlgTableSummary                : "Summary",    //MISSING\r
+DlgTableSummary                : "요약",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "셀 설정",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "위",
 DlgCellVerAlignMiddle  : "중간",\r
 DlgCellVerAlignBottom  : "아래",\r
 DlgCellVerAlignBaseline        : "기준선",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "세로 합치기",\r
 DlgCellCollSpan                : "가로 합치기",\r
 DlgCellBackColor       : "배경 색상",\r
 DlgCellBorderColor     : "테두리 색상",\r
 DlgCellBtnSelect       : "선택",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "찾기 & 바꾸기",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "찾기",\r
 DlgFindFindBtn         : "찾기",\r
@@ -344,10 +369,9 @@ PasteAsText                : "텍스트로 붙여넣기",
 PasteFromWord  : "MS Word 형식에서 붙여넣기",\r
 \r
 DlgPasteMsg2   : "키보드의 (<STRONG>Ctrl+V</STRONG>) 를 이용해서 상자안에 붙여넣고 <STRONG>OK</STRONG> 를 누르세요.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "브러우저 보안 설정으로 인해, 클립보드의 자료를 직접 접근할 수 없습니다. 이 창에 다시 붙여넣기 하십시오.",\r
 DlgPasteIgnoreFont             : "폰트 설정 무시",\r
 DlgPasteRemoveStyles   : "스타일 정의 제거",\r
-DlgPasteCleanBox               : "글상자 제거",\r
 \r
 // Color Picker\r
 ColorAutomatic : "기본색상",\r
@@ -493,12 +517,23 @@ DlgTemplatesTitle : "내용 템플릿",
 DlgTemplatesSelMsg     : "에디터에서 사용할 템플릿을 선택하십시요.<br>(지금까지 작성된 내용은 사라집니다.):",\r
 DlgTemplatesLoading    : "템플릿 목록을 불러오는중입니다. 잠시만 기다려주십시요.",\r
 DlgTemplatesNoTpl      : "(템플릿이 없습니다.)",\r
-DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
+DlgTemplatesReplace    : "현재 내용 바꾸기",\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "About",\r
 DlgAboutBrowserInfoTab : "브라우저 정보",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "버전",\r
-DlgAboutInfo           : "For further information go to"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "더 많은 정보를 보시려면 다음 사이트로 가십시오.",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index db994d0..44f5da6 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Panaikinti formatą",
 InsertLinkLbl          : "Nuoroda",\r
 InsertLink                     : "Įterpti/taisyti nuorodą",\r
 RemoveLink                     : "Panaikinti nuorodą",\r
+VisitLink                      : "Atidaryti nuorodą",\r
 Anchor                         : "Įterpti/modifikuoti žymę",\r
+AnchorDelete           : "Naikinti žymę",\r
 InsertImageLbl         : "Vaizdas",\r
 InsertImage                    : "Įterpti/taisyti vaizdą",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Lygiuoti dešinę",
 BlockJustify           : "Lygiuoti abi puses",\r
 DecreaseIndent         : "Sumažinti įtrauką",\r
 IncreaseIndent         : "Padidinti įtrauką",\r
+Blockquote                     : "Citata",\r
+CreateDiv                      : "Sukurti Div elementą",\r
+EditDiv                                : "Reaguoti Div elementą",\r
+DeleteDiv                      : "Šalinti Div elementą",\r
 Undo                           : "Atšaukti",\r
 Redo                           : "Atstatyti",\r
 NumberedListLbl                : "Numeruotas sąrašas",\r
@@ -102,21 +108,28 @@ Button                    : "Mygtukas",
 SelectionField : "Atrankos laukas",\r
 ImageButton            : "Vaizdinis mygtukas",\r
 \r
-FitWindow              : "Maximize the editor size",   //MISSING\r
+FitWindow              : "Padidinti redaktorių",\r
+ShowBlocks             : "Rodyti blokus",\r
 \r
 // Context Menu\r
 EditLink                       : "Taisyti nuorodą",\r
-CellCM                         : "Cell",       //MISSING\r
-RowCM                          : "Row",        //MISSING\r
-ColumnCM                       : "Column",     //MISSING\r
-InsertRow                      : "Įterpti eilutę",\r
+CellCM                         : "Langelis",\r
+RowCM                          : "Eilutė",\r
+ColumnCM                       : "Stulpelis",\r
+InsertRowAfter         : "Įterpti eilutę po",\r
+InsertRowBefore                : "Įterpti eilutę prieš",\r
 DeleteRows                     : "Šalinti eilutes",\r
-InsertColumn           : "Įterpti stulpelį",\r
+InsertColumnAfter      : "Įterpti stulpelį po",\r
+InsertColumnBefore     : "Įterpti stulpelį prieš",\r
 DeleteColumns          : "Šalinti stulpelius",\r
-InsertCell                     : "Įterpti langelį",\r
+InsertCellAfter                : "Įterpti langelį po",\r
+InsertCellBefore       : "Įterpti langelį prieš",\r
 DeleteCells                    : "Šalinti langelius",\r
 MergeCells                     : "Sujungti langelius",\r
-SplitCell                      : "Skaidyti langelius",\r
+MergeRight                     : "Sujungti su dešine",\r
+MergeDown                      : "Sujungti su apačia",\r
+HorizontalSplitCell    : "Skaidyti langelį horizontaliai",\r
+VerticalSplitCell      : "Skaidyti langelį vertikaliai",\r
 TableDelete                    : "Šalinti lentelę",\r
 CellProperties         : "Langelio savybės",\r
 TableProperties                : "Lentelės savybės",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Atrankos lauko savybės",
 TextareaProp           : "Teksto srities savybės",\r
 FormProp                       : "Formos savybės",\r
 \r
-FontFormats                    : "Normalus;Formuotas;Kreipinio;Antraštinis 1;Antraštinis 2;Antraštinis 3;Antraštinis 4;Antraštinis 5;Antraštinis 6",             //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normalus;Formuotas;Kreipinio;Antraštinis 1;Antraštinis 2;Antraštinis 3;Antraštinis 4;Antraštinis 5;Antraštinis 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Apdorojamas XHTML. Prašome palaukti...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Mygtukų juostos rinkinys \"%1\" neegzistuoja",
 NoActiveX                      : "Jūsų naršyklės saugumo nuostatos gali riboti kai kurias redaktoriaus savybes. Jūs turite aktyvuoti opciją \"Run ActiveX controls and plug-ins\". Kitu atveju Jums bus pranešama apie klaidas ir trūkstamas savybes.",\r
 BrowseServerBlocked : "Neįmanoma atidaryti naujo naršyklės lango. Įsitikinkite, kad iškylančių langų blokavimo programos neveiksnios.",\r
 DialogBlocked          : "Neįmanoma atidaryti dialogo lango. Įsitikinkite, kad iškylančių langų blokavimo programos neveiksnios.",\r
+VisitLinkBlocked       : "Neįmanoma atidaryti naujo lango. Įsitikinkite, kad iškylančių langų blokavimo programos neveiksnios.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Pasirinkite žymę",\r
 DlgLnkAnchorByName     : "Pagal žymės vardą",\r
 DlgLnkAnchorById       : "Pagal žymės Id",\r
-DlgLnkNoAnchors                : "<Šiame dokumente žymių nėra>",           //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Šiame dokumente žymių nėra)",\r
 DlgLnkEMail                    : "El.pašto adresas",\r
 DlgLnkEMailSubject     : "Žinutės tema",\r
 DlgLnkEMailBody                : "Žinutės turinys",\r
@@ -262,7 +276,7 @@ DlgLnkPopTop                : "Viršutinė pozicija",
 DlnLnkMsgNoUrl         : "Prašome įvesti nuorodos URL",\r
 DlnLnkMsgNoEMail       : "Prašome įvesti el.pašto adresą",\r
 DlnLnkMsgNoAnchor      : "Prašome pasirinkti žymę",\r
-DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
+DlnLnkMsgInvPopName    : "Iššokančio lango pavadinimas privalo prasidėti lotyniška raide ir negali turėti tarpų",\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Pasirinkite spalvą",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Tarpas tarp langelių",
 DlgTableCellPad                : "Trapas nuo langelio rėmo iki teksto",\r
 DlgTableCaption                : "Antraštė",\r
 DlgTableSummary                : "Santrauka",\r
+DlgTableHeaders                : "Antraštės",\r
+DlgTableHeadersNone            : "Nėra",\r
+DlgTableHeadersColumn  : "Pirmas stulpelis",\r
+DlgTableHeadersRow             : "Pirma eilutė",\r
+DlgTableHeadersBoth            : "Abu",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Langelio savybės",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Viršų",
 DlgCellVerAlignMiddle  : "Vidurį",\r
 DlgCellVerAlignBottom  : "Apačią",\r
 DlgCellVerAlignBaseline        : "Apatinę liniją",\r
+DlgCellType            : "Langelio tipas",\r
+DlgCellTypeData                : "Duomenys",\r
+DlgCellTypeHeader      : "Antraštė",\r
 DlgCellRowSpan         : "Eilučių apjungimas",\r
 DlgCellCollSpan                : "Stulpelių apjungimas",\r
 DlgCellBackColor       : "Fono spalva",\r
 DlgCellBorderColor     : "Rėmelio spalva",\r
 DlgCellBtnSelect       : "Pažymėti...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Surasti ir pakeisti",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Paieška",\r
 DlgFindFindBtn         : "Surasti",\r
@@ -343,11 +368,10 @@ PasteErrorCopy    : "Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui a
 PasteAsText            : "Įdėti kaip gryną tekstą",\r
 PasteFromWord  : "Įdėti iš Word",\r
 \r
-DlgPasteMsg2   : "Žemiau esančiame įvedimo lauke įdėkite tekstą, naudodami klaviatūrą (<STRONG>Ctrl+V</STRONG>) ir spūstelkite mygtuką <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteMsg2   : "Žemiau esančiame įvedimo lauke įdėkite tekstą, naudodami klaviatūrą (<STRONG>Ctrl+V</STRONG>) ir paspauskite mygtuką <STRONG>OK</STRONG>.",\r
+DlgPasteSec            : "Dėl jūsų naršyklės saugumo nustatymų, redaktorius negali tiesiogiai pasiekti laikinosios atminties. Jums reikia nukopijuoti dar kartą į šį langą.",\r
 DlgPasteIgnoreFont             : "Ignoruoti šriftų nustatymus",\r
 DlgPasteRemoveStyles   : "Pašalinti stilių nustatymus",\r
-DlgPasteCleanBox               : "Trinti įvedimo lauką",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatinis",\r
@@ -381,9 +405,9 @@ IeSpellDownload                     : "Rašybos tikrinimas neinstaliuotas. Ar Jūs norite jį daba
 // Button Dialog\r
 DlgButtonText          : "Tekstas (Reikšmė)",\r
 DlgButtonType          : "Tipas",\r
-DlgButtonTypeBtn       : "Button",     //MISSING\r
-DlgButtonTypeSbm       : "Submit",     //MISSING\r
-DlgButtonTypeRst       : "Reset",      //MISSING\r
+DlgButtonTypeBtn       : "Mygtukas",\r
+DlgButtonTypeSbm       : "Siųsti",\r
+DlgButtonTypeRst       : "Išvalyti",\r
 \r
 // Checkbox and Radio Button Dialogs\r
 DlgCheckboxName                : "Vardas",\r
@@ -432,7 +456,7 @@ DlgHiddenValue      : "Reikšmė",
 // Bulleted List Dialog\r
 BulletedListProp       : "Suženklinto sąrašo savybės",\r
 NumberedListProp       : "Numeruoto sąrašo savybės",\r
-DlgLstStart                    : "Start",      //MISSING\r
+DlgLstStart                    : "Pradėti nuo",\r
 DlgLstType                     : "Tipas",\r
 DlgLstTypeCircle       : "Apskritimas",\r
 DlgLstTypeDisc         : "Diskas",\r
@@ -455,15 +479,15 @@ DlgDocLangDirLTR  : "Iš kairės į dešinę (LTR)",
 DlgDocLangDirRTL       : "Iš dešinės į kairę (RTL)",\r
 DlgDocLangCode         : "Kalbos kodas",\r
 DlgDocCharSet          : "Simbolių kodavimo lentelė",\r
-DlgDocCharSetCE                : "Central European",   //MISSING\r
-DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
-DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
-DlgDocCharSetGR                : "Greek",      //MISSING\r
-DlgDocCharSetJP                : "Japanese",   //MISSING\r
-DlgDocCharSetKR                : "Korean",     //MISSING\r
-DlgDocCharSetTR                : "Turkish",    //MISSING\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
-DlgDocCharSetWE                : "Western European",   //MISSING\r
+DlgDocCharSetCE                : "Centrinės Europos",\r
+DlgDocCharSetCT                : "Tradicinės kinų (Big5)",\r
+DlgDocCharSetCR                : "Kirilica",\r
+DlgDocCharSetGR                : "Graikų",\r
+DlgDocCharSetJP                : "Japonų",\r
+DlgDocCharSetKR                : "Korėjiečių",\r
+DlgDocCharSetTR                : "Turkų",\r
+DlgDocCharSetUN                : "Unikodas (UTF-8)",\r
+DlgDocCharSetWE                : "Vakarų Europos",\r
 DlgDocCharSetOther     : "Kita simbolių kodavimo lentelė",\r
 \r
 DlgDocDocType          : "Dokumento tipo antraštė",\r
@@ -493,12 +517,23 @@ DlgTemplatesTitle : "Turinio šablonai",
 DlgTemplatesSelMsg     : "Pasirinkite norimą šabloną<br>(<b>Dėmesio!</b> esamas turinys bus prarastas):",\r
 DlgTemplatesLoading    : "Įkeliamas šablonų sąrašas. Prašome palaukti...",\r
 DlgTemplatesNoTpl      : "(Šablonų sąrašas tuščias)",\r
-DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
+DlgTemplatesReplace    : "Pakeisti dabartinį turinį pasirinktu šablonu",\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "Apie",\r
 DlgAboutBrowserInfoTab : "Naršyklės informacija",\r
-DlgAboutLicenseTab     : "License",    //MISSING\r
+DlgAboutLicenseTab     : "Licenzija",\r
 DlgAboutVersion                : "versija",\r
-DlgAboutInfo           : "Papildomą informaciją galima gauti"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Papildomą informaciją galima gauti",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Bendros savybės",\r
+DlgDivAdvancedTab      : "Papildomos savybės",\r
+DlgDivStyle            : "Stilius",\r
+DlgDivInlineStyle      : "Stilius kode",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 6809426..666dca7 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Noņemt stilus",
 InsertLinkLbl          : "Hipersaite",\r
 InsertLink                     : "Ievietot/Labot hipersaiti",\r
 RemoveLink                     : "Noņemt hipersaiti",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Ievietot/Labot iezīmi",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Attēls",\r
 InsertImage                    : "Ievietot/Labot Attēlu",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Izlīdzināt pa labi",
 BlockJustify           : "Izlīdzināt malas",\r
 DecreaseIndent         : "Samazināt atkāpi",\r
 IncreaseIndent         : "Palielināt atkāpi",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Atcelt",\r
 Redo                           : "Atkārtot",\r
 NumberedListLbl                : "Numurēts saraksts",\r
@@ -103,20 +109,27 @@ SelectionField    : "Iezīmēšanas lauks",
 ImageButton            : "Attēlpoga",\r
 \r
 FitWindow              : "Maksimizēt redaktora izmēru",\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Labot hipersaiti",\r
 CellCM                         : "Šūna",\r
 RowCM                          : "Rinda",\r
 ColumnCM                       : "Kolonna",\r
-InsertRow                      : "Ievietot rindu",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "Dzēst rindas",\r
-InsertColumn           : "Ievietot kolonnu",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "Dzēst kolonnas",\r
-InsertCell                     : "Ievietot rūtiņu",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "Dzēst rūtiņas",\r
 MergeCells                     : "Apvienot rūtiņas",\r
-SplitCell                      : "Sadalīt rūtiņu",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "Dzēst tabulu",\r
 CellProperties         : "Rūtiņas īpašības",\r
 TableProperties                : "Tabulas īpašības",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Iezīmēšanas lauka īpašības",
 TextareaProp           : "Teksta laukuma īpašības",\r
 FormProp                       : "Formas īpašības",\r
 \r
-FontFormats                    : "Normāls teksts;Formatēts teksts;Adrese;Virsraksts 1;Virsraksts 2;Virsraksts 3;Virsraksts 4;Virsraksts 5;Virsraksts 6;Rindkopa (DIV)",              //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normāls teksts;Formatēts teksts;Adrese;Virsraksts 1;Virsraksts 2;Virsraksts 3;Virsraksts 4;Virsraksts 5;Virsraksts 6;Rindkopa (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Tiek apstrādāts XHTML. Lūdzu uzgaidiet...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Rīku joslas komplekts \"%1\" neeksistē",
 NoActiveX                      : "Interneta pārlūkprogrammas drošības uzstādījumi varētu ietekmēt dažas no redaktora īpašībām. Jābūt aktivizētai sadaļai \"Run ActiveX controls and plug-ins\". Savādāk ir iespējamas kļūdas darbībā un kļūdu paziņojumu parādīšanās.",\r
 BrowseServerBlocked : "Resursu pārlūks nevar tikt atvērts. Pārliecinieties, ka uznirstošo logu bloķētāji ir atslēgti.",\r
 DialogBlocked          : "Nav iespējams atvērt dialoglogu. Pārliecinieties, ka uznirstošo logu bloķētāji ir atslēgti.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Darīts!",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Izvēlēties iezīmi",\r
 DlgLnkAnchorByName     : "Pēc iezīmes nosaukuma",\r
 DlgLnkAnchorById       : "Pēc elementa ID",\r
-DlgLnkNoAnchors                : "<Šajā dokumentā nav iezīmju>",           //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Šajā dokumentā nav iezīmju)",\r
 DlgLnkEMail                    : "E-pasta adrese",\r
 DlgLnkEMailSubject     : "Ziņas tēma",\r
 DlgLnkEMailBody                : "Ziņas saturs",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Rūtiņu atstatums",
 DlgTableCellPad                : "Rūtiņu nobīde",\r
 DlgTableCaption                : "Leģenda",\r
 DlgTableSummary                : "Anotācija",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Rūtiņas īpašības",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Augša",
 DlgCellVerAlignMiddle  : "Vidus",\r
 DlgCellVerAlignBottom  : "Apakša",\r
 DlgCellVerAlignBaseline        : "Pamatrindā",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Rindu pārnese",\r
 DlgCellCollSpan                : "Kolonnu pārnese",\r
 DlgCellBackColor       : "Fona krāsa",\r
 DlgCellBorderColor     : "Rāmja krāsa",\r
 DlgCellBtnSelect       : "Iezīmē...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Meklētājs",\r
 DlgFindFindBtn         : "Meklēt",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Lūdzu, ievietojiet tekstu šajā laukumā, izmantojot klaviatū
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignorēt iepriekš norādītos fontus",\r
 DlgPasteRemoveStyles   : "Noņemt norādītos stilus",\r
-DlgPasteCleanBox               : "Apstrādāt laukuma saturu",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automātiska",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Par",
 DlgAboutBrowserInfoTab : "Informācija par pārlūkprogrammu",\r
 DlgAboutLicenseTab     : "Licence",\r
 DlgAboutVersion                : "versija",\r
-DlgAboutInfo           : "Papildus informācija ir pieejama"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Papildus informācija ir pieejama",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index ba8f798..4f82297 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,11 +44,13 @@ RemoveFormat                : "Формат авч хаях",
 InsertLinkLbl          : "Линк",\r
 InsertLink                     : "Линк Оруулах/Засварлах",\r
 RemoveLink                     : "Линк авч хаях",\r
-Anchor                         : "Insert/Edit Anchor", //MISSING\r
+VisitLink                      : "Open Link",  //MISSING\r
+Anchor                         : "Холбоос Оруулах/Засварлах",\r
+AnchorDelete           : "Холбоос Авах",\r
 InsertImageLbl         : "Зураг",\r
 InsertImage                    : "Зураг Оруулах/Засварлах",\r
-InsertFlashLbl         : "Flash",      //MISSING\r
-InsertFlash                    : "Insert/Edit Flash",  //MISSING\r
+InsertFlashLbl         : "Флаш",\r
+InsertFlash                    : "Флаш Оруулах/Засварлах",\r
 InsertTableLbl         : "Хүснэгт",\r
 InsertTable                    : "Хүснэгт Оруулах/Засварлах",\r
 InsertLineLbl          : "Зураас",\r
@@ -70,6 +72,10 @@ RightJustify         : "Баруун талд байрлуулах",
 BlockJustify           : "Блок хэлбэрээр байрлуулах",\r
 DecreaseIndent         : "Догол мөр нэмэх",\r
 IncreaseIndent         : "Догол мөр хасах",\r
+Blockquote                     : "Хайрцаглах",\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Хүчингүй болгох",\r
 Redo                           : "Өмнөх үйлдлээ сэргээх",\r
 NumberedListLbl                : "Дугаарлагдсан жагсаалт",\r
@@ -87,54 +93,61 @@ BGColor                             : "Фонны өнгө",
 Source                         : "Код",\r
 Find                           : "Хайх",\r
 Replace                                : "Солих",\r
-SpellCheck                     : "Check Spelling",     //MISSING\r
-UniversalKeyboard      : "Universal Keyboard", //MISSING\r
-PageBreakLbl           : "Page Break", //MISSING\r
-PageBreak                      : "Insert Page Break",  //MISSING\r
-\r
-Form                   : "Form",       //MISSING\r
-Checkbox               : "Checkbox",   //MISSING\r
-RadioButton            : "Radio Button",       //MISSING\r
-TextField              : "Text Field", //MISSING\r
-Textarea               : "Textarea",   //MISSING\r
-HiddenField            : "Hidden Field",       //MISSING\r
-Button                 : "Button",     //MISSING\r
-SelectionField : "Selection Field",    //MISSING\r
-ImageButton            : "Image Button",       //MISSING\r
-\r
-FitWindow              : "Maximize the editor size",   //MISSING\r
+SpellCheck                     : "Үгийн дүрэх шалгах",\r
+UniversalKeyboard      : "Униварсал гар",\r
+PageBreakLbl           : "Хуудас тусгаарлах",\r
+PageBreak                      : "Хуудас тусгаарлагч оруулах",\r
+\r
+Form                   : "Форм",\r
+Checkbox               : "Чекбокс",\r
+RadioButton            : "Радио товч",\r
+TextField              : "Техт талбар",\r
+Textarea               : "Техт орчин",\r
+HiddenField            : "Нууц талбар",\r
+Button                 : "Товч",\r
+SelectionField : "Сонгогч талбар",\r
+ImageButton            : "Зурагтай товч",\r
+\r
+FitWindow              : "editor-н хэмжээг томруулах",\r
+ShowBlocks             : "Block-уудыг үзүүлэх",\r
 \r
 // Context Menu\r
 EditLink                       : "Холбоос засварлах",\r
-CellCM                         : "Cell",       //MISSING\r
-RowCM                          : "Row",        //MISSING\r
-ColumnCM                       : "Column",     //MISSING\r
-InsertRow                      : "Мөр оруулах",\r
+CellCM                         : "Нүх/зай",\r
+RowCM                          : "Мөр",\r
+ColumnCM                       : "Багана",\r
+InsertRowAfter         : "Мөр дараа нь оруулах",\r
+InsertRowBefore                : "Мөр өмнө нь оруулах",\r
 DeleteRows                     : "Мөр устгах",\r
-InsertColumn           : "Багана оруулах",\r
+InsertColumnAfter      : "Багана дараа нь оруулах",\r
+InsertColumnBefore     : "Багана өмнө нь оруулах",\r
 DeleteColumns          : "Багана устгах",\r
-InsertCell                     : "Нүх оруулах",\r
+InsertCellAfter                : "Нүх/зай дараа нь оруулах",\r
+InsertCellBefore       : "Нүх/зай өмнө нь оруулах",\r
 DeleteCells                    : "Нүх устгах",\r
 MergeCells                     : "Нүх нэгтэх",\r
-SplitCell                      : "Нүх тусгайрлах",\r
-TableDelete                    : "Delete Table",       //MISSING\r
-CellProperties         : "Хоосон зайн шинж чанар",\r
+MergeRight                     : "Баруун тийш нэгтгэх",\r
+MergeDown                      : "Доош нэгтгэх",\r
+HorizontalSplitCell    : "Нүх/зайг босоогоор нь тусгаарлах",\r
+VerticalSplitCell      : "Нүх/зайг хөндлөнгөөр нь тусгаарлах",\r
+TableDelete                    : "Хүснэгт устгах",\r
+CellProperties         : "Нүх/зай зайн шинж чанар",\r
 TableProperties                : "Хүснэгт",\r
 ImageProperties                : "Зураг",\r
-FlashProperties                : "Flash Properties",   //MISSING\r
+FlashProperties                : "Флаш шинж чанар",\r
 \r
-AnchorProp                     : "Anchor Properties",  //MISSING\r
-ButtonProp                     : "Button Properties",  //MISSING\r
-CheckboxProp           : "Checkbox Properties",        //MISSING\r
-HiddenFieldProp                : "Hidden Field Properties",    //MISSING\r
-RadioButtonProp                : "Radio Button Properties",    //MISSING\r
-ImageButtonProp                : "Image Button Properties",    //MISSING\r
-TextFieldProp          : "Text Field Properties",      //MISSING\r
-SelectionFieldProp     : "Selection Field Properties", //MISSING\r
-TextareaProp           : "Textarea Properties",        //MISSING\r
-FormProp                       : "Form Properties",    //MISSING\r
+AnchorProp                     : "Холбоос шинж чанар",\r
+ButtonProp                     : "Товчны шинж чанар",\r
+CheckboxProp           : "Чекбоксны шинж чанар",\r
+HiddenFieldProp                : "Нууц талбарын шинж чанар",\r
+RadioButtonProp                : "Радио товчны шинж чанар",\r
+ImageButtonProp                : "Зурган товчны шинж чанар",\r
+TextFieldProp          : "Текст талбарын шинж чанар",\r
+SelectionFieldProp     : "Согогч талбарын шинж чанар",\r
+TextareaProp           : "Текст орчны шинж чанар",\r
+FormProp                       : "Форм шинж чанар",\r
 \r
-FontFormats                    : "Хэвийн;Formatted;Хаяг;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",                //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Хэвийн;Formatted;Хаяг;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML үйл явц явагдаж байна. Хүлээнэ үү...",\r
@@ -145,19 +158,20 @@ UnknownToolbarItem        : "Багажны хэсгийн \"%1\" item мэдэгдэх
 UnknownCommand         : "\"%1\" комманд нэр мэдагдэхгүй байна",\r
 NotImplemented         : "Зөвшөөрөгдөхгүй комманд",\r
 UnknownToolbarSet      : "Багажны хэсэгт \"%1\" оноох, үүсээгүй байна",\r
-NoActiveX                      : "Your 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\r
-BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
-DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
+NoActiveX                      : "Таны үзүүлэгч/browser-н хамгаалалтын тохиргоо editor-н зарим боломжийг хязгаарлаж байна. Та \"Run ActiveX controls ба plug-ins\" сонголыг идвэхитэй болго.",\r
+BrowseServerBlocked : "Нөөц үзүүгч нээж чадсангүй. Бүх popup blocker-г disabled болгоно уу.",\r
+DialogBlocked          : "Харилцах цонхонд энийг нээхэд боломжгүй ээ. Бүх popup blocker-г disabled болгоно уу.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
 DlgBtnCancel           : "Болих",\r
 DlgBtnClose                    : "Хаах",\r
-DlgBtnBrowseServer     : "Browse Server",      //MISSING\r
+DlgBtnBrowseServer     : "Сервер харуулах",\r
 DlgAdvancedTag         : "Нэмэлт",\r
-DlgOpOther                     : "<Other>",    //MISSING\r
-DlgInfoTab                     : "Info",       //MISSING\r
-DlgAlertUrl                    : "Please insert the URL",      //MISSING\r
+DlgOpOther                     : "<Бусад>",\r
+DlgInfoTab                     : "Мэдээлэл",\r
+DlgAlertUrl                    : "URL оруулна уу",\r
 \r
 // General Dialogs Labels\r
 DlgGenNotSet           : "<Оноохгүй>",\r
@@ -185,7 +199,7 @@ DlgImgUpload                : "Хуулах",
 DlgImgAlt                      : "Тайлбар текст",\r
 DlgImgWidth                    : "Өргөн",\r
 DlgImgHeight           : "Өндөр",\r
-DlgImgLockRatio                : "Lock Ratio",\r
+DlgImgLockRatio                : "Радио түгжих",\r
 DlgBtnResetSize                : "хэмжээ дахин оноох",\r
 DlgImgBorder           : "Хүрээ",\r
 DlgImgHSpace           : "Хөндлөн зай",\r
@@ -202,17 +216,17 @@ DlgImgAlignTextTop        : "Текст дээр",
 DlgImgAlignTop         : "Дээд талд",\r
 DlgImgPreview          : "Уридчлан харах",\r
 DlgImgAlertUrl         : "Зурагны URL-ын төрлийн сонгоно уу",\r
-DlgImgLinkTab          : "Link",       //MISSING\r
+DlgImgLinkTab          : "Линк",\r
 \r
 // Flash Dialog\r
-DlgFlashTitle          : "Flash Properties",   //MISSING\r
-DlgFlashChkPlay                : "Auto Play",  //MISSING\r
-DlgFlashChkLoop                : "Loop",       //MISSING\r
-DlgFlashChkMenu                : "Enable Flash Menu",  //MISSING\r
-DlgFlashScale          : "Scale",      //MISSING\r
-DlgFlashScaleAll       : "Show all",   //MISSING\r
-DlgFlashScaleNoBorder  : "No Border",  //MISSING\r
-DlgFlashScaleFit       : "Exact Fit",  //MISSING\r
+DlgFlashTitle          : "Флаш  шинж чанар",\r
+DlgFlashChkPlay                : "Автоматаар тоглох",\r
+DlgFlashChkLoop                : "Давтах",\r
+DlgFlashChkMenu                : "Флаш цэс идвэхжүүлэх",\r
+DlgFlashScale          : "Өргөгтгөх",\r
+DlgFlashScaleAll       : "Бүгдийг харуулах",\r
+DlgFlashScaleNoBorder  : "Хүрээгүй",\r
+DlgFlashScaleFit       : "Яг тааруулах",\r
 \r
 // Link Dialog\r
 DlgLnkWindowTitle      : "Линк",\r
@@ -229,9 +243,9 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Холбоос сонгох",\r
 DlgLnkAnchorByName     : "Холбоосын нэрээр",\r
 DlgLnkAnchorById       : "Элемэнт Id-гаар",\r
-DlgLnkNoAnchors                : "<Баримт бичиг холбоосгүй байна>",          //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Баримт бичиг холбоосгүй байна)",\r
 DlgLnkEMail                    : "E-Mail Хаяг",\r
-DlgLnkEMailSubject     : "Message Subject",\r
+DlgLnkEMailSubject     : "Message гарчиг",\r
 DlgLnkEMailBody                : "Message-ийн агуулга",\r
 DlgLnkUpload           : "Хуулах",\r
 DlgLnkBtnUpload                : "Үүнийг серверрүү илгээ",\r
@@ -243,7 +257,7 @@ DlgLnkTargetBlank   : "Шинэ цонх (_blank)",
 DlgLnkTargetParent     : "Эцэг цонх (_parent)",\r
 DlgLnkTargetSelf       : "Төстэй цонх (_self)",\r
 DlgLnkTargetTop                : "Хамгийн түрүүн байх цонх (_top)",\r
-DlgLnkTargetFrameName  : "Target Frame Name",  //MISSING\r
+DlgLnkTargetFrameName  : "Очих фремын нэр",\r
 DlgLnkPopWinName       : "Popup цонхны нэр",\r
 DlgLnkPopWinFeat       : "Popup цонхны онцлог",\r
 DlgLnkPopResize                : "Хэмжээ өөрчлөх",\r
@@ -262,7 +276,7 @@ DlgLnkPopTop                : "Дээд байрлал",
 DlnLnkMsgNoUrl         : "Линк URL-ээ төрөлжүүлнэ үү",\r
 DlnLnkMsgNoEMail       : "Е-mail хаягаа төрөлжүүлнэ үү",\r
 DlnLnkMsgNoAnchor      : "Холбоосоо сонгоно уу",\r
-DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
+DlnLnkMsgInvPopName    : "popup нэр нь үсгэн тэмдэгтээр эхэлсэн байх ба хоосон зай агуулаагүй байх ёстой.",\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Өнгө сонгох",\r
@@ -290,10 +304,15 @@ DlgTableWidth             : "Өргөн",
 DlgTableWidthPx                : "цэг",\r
 DlgTableWidthPc                : "хувь",\r
 DlgTableHeight         : "Өндөр",\r
-DlgTableCellSpace      : "Нүх хоорондын зай",\r
-DlgTableCellPad                : "Нүх доторлох",\r
+DlgTableCellSpace      : "Нүх хоорондын зай (spacing)",\r
+DlgTableCellPad                : "Нүх доторлох(padding)",\r
 DlgTableCaption                : "Тайлбар",\r
-DlgTableSummary                : "Summary",    //MISSING\r
+DlgTableSummary                : "Тайлбар",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Хоосон зайн шинж чанар",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Дээд тал",
 DlgCellVerAlignMiddle  : "Дунд",\r
 DlgCellVerAlignBottom  : "Доод тал",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
-DlgCellRowSpan         : "Нийт мөр",\r
-DlgCellCollSpan                : "Нийт багана",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
+DlgCellRowSpan         : "Нийт мөр (span)",\r
+DlgCellCollSpan                : "Нийт багана (span)",\r
 DlgCellBackColor       : "Фонны өнгө",\r
 DlgCellBorderColor     : "Хүрээний өнгө",\r
 DlgCellBtnSelect       : "Сонго...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Хай мөн Дарж бич",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Хайх",\r
 DlgFindFindBtn         : "Хайх",\r
@@ -343,162 +368,172 @@ PasteErrorCopy  : "Таны browser-ын хамгаалалтын тохирго
 PasteAsText            : "Plain Text-ээс буулгах",\r
 PasteFromWord  : "Word-оос буулгах",\r
 \r
-DlgPasteMsg2   : "Please paste inside the following box using the keyboard (<strong>Ctrl+V</strong>) and hit <strong>OK</strong>.",    //MISSING\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
-DlgPasteIgnoreFont             : "Ignore Font Face definitions",       //MISSING\r
-DlgPasteRemoveStyles   : "Remove Styles definitions",  //MISSING\r
-DlgPasteCleanBox               : "Clean Up Box",       //MISSING\r
+DlgPasteMsg2   : "(<strong>Ctrl+V</strong>) товчийг ашиглан paste хийнэ үү. Мөн <strong>OK</strong> дар.",\r
+DlgPasteSec            : "Таны үзүүлэгч/browser/-н хамгаалалтын тохиргооноос болоод editor clipboard өгөгдөлрүү шууд хандах боломжгүй. Энэ цонход дахин paste хийхийг оролд.",\r
+DlgPasteIgnoreFont             : "Тодорхойлогдсон Font Face зөвшөөрнө",\r
+DlgPasteRemoveStyles   : "Тодорхойлогдсон загварыг авах",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Автоматаар",\r
 ColorMoreColors        : "Нэмэлт өнгөнүүд...",\r
 \r
 // Document Properties\r
-DocProps               : "Document Properties",        //MISSING\r
+DocProps               : "Баримт бичиг шинж чанар",\r
 \r
 // Anchor Dialog\r
-DlgAnchorTitle         : "Anchor Properties",  //MISSING\r
-DlgAnchorName          : "Anchor Name",        //MISSING\r
-DlgAnchorErrorName     : "Please type the anchor name",        //MISSING\r
+DlgAnchorTitle         : "Холбоос шинж чанар",\r
+DlgAnchorName          : "Холбоос нэр",\r
+DlgAnchorErrorName     : "Холбоос төрөл оруулна уу",\r
 \r
 // Speller Pages Dialog\r
-DlgSpellNotInDic               : "Not in dictionary",  //MISSING\r
-DlgSpellChangeTo               : "Change to",  //MISSING\r
-DlgSpellBtnIgnore              : "Ignore",     //MISSING\r
-DlgSpellBtnIgnoreAll   : "Ignore All", //MISSING\r
-DlgSpellBtnReplace             : "Replace",    //MISSING\r
-DlgSpellBtnReplaceAll  : "Replace All",        //MISSING\r
-DlgSpellBtnUndo                        : "Undo",       //MISSING\r
-DlgSpellNoSuggestions  : "- No suggestions -", //MISSING\r
-DlgSpellProgress               : "Spell check in progress...", //MISSING\r
-DlgSpellNoMispell              : "Spell check complete: No misspellings found",        //MISSING\r
-DlgSpellNoChanges              : "Spell check complete: No words changed",     //MISSING\r
-DlgSpellOneChange              : "Spell check complete: One word changed",     //MISSING\r
-DlgSpellManyChanges            : "Spell check complete: %1 words changed",     //MISSING\r
-\r
-IeSpellDownload                        : "Spell checker not installed. Do you want to download it now?",       //MISSING\r
+DlgSpellNotInDic               : "Толь бичиггүй",\r
+DlgSpellChangeTo               : "Өөрчлөх",\r
+DlgSpellBtnIgnore              : "Зөвшөөрөх",\r
+DlgSpellBtnIgnoreAll   : "Бүгдийг зөвшөөрөх",\r
+DlgSpellBtnReplace             : "Дарж бичих",\r
+DlgSpellBtnReplaceAll  : "Бүгдийг Дарж бичих",\r
+DlgSpellBtnUndo                        : "Буцаах",\r
+DlgSpellNoSuggestions  : "- Тайлбаргүй -",\r
+DlgSpellProgress               : "Дүрэм шалгаж байгаа үйл явц...",\r
+DlgSpellNoMispell              : "Дүрэм шалгаад дууссан: Алдаа олдсонгүй",\r
+DlgSpellNoChanges              : "Дүрэм шалгаад дууссан: үг өөрчлөгдөөгүй",\r
+DlgSpellOneChange              : "Дүрэм шалгаад дууссан: 1 үг өөрчлөгдсөн",\r
+DlgSpellManyChanges            : "Дүрэм шалгаад дууссан: %1 үг өөрчлөгдсөн",\r
+\r
+IeSpellDownload                        : "Дүрэм шалгагч суугаагүй байна. Татаж авахыг хүсч байна уу?",\r
 \r
 // Button Dialog\r
-DlgButtonText          : "Text (Value)",       //MISSING\r
-DlgButtonType          : "Type",       //MISSING\r
-DlgButtonTypeBtn       : "Button",     //MISSING\r
-DlgButtonTypeSbm       : "Submit",     //MISSING\r
-DlgButtonTypeRst       : "Reset",      //MISSING\r
+DlgButtonText          : "Тэкст (Утга)",\r
+DlgButtonType          : "Төрөл",\r
+DlgButtonTypeBtn       : "Товч",\r
+DlgButtonTypeSbm       : "Submit",\r
+DlgButtonTypeRst       : "Болих",\r
 \r
 // Checkbox and Radio Button Dialogs\r
-DlgCheckboxName                : "Name",       //MISSING\r
-DlgCheckboxValue       : "Value",      //MISSING\r
-DlgCheckboxSelected    : "Selected",   //MISSING\r
+DlgCheckboxName                : "Нэр",\r
+DlgCheckboxValue       : "Утга",\r
+DlgCheckboxSelected    : "Сонгогдсон",\r
 \r
 // Form Dialog\r
-DlgFormName            : "Name",       //MISSING\r
-DlgFormAction  : "Action",     //MISSING\r
-DlgFormMethod  : "Method",     //MISSING\r
+DlgFormName            : "Нэр",\r
+DlgFormAction  : "Үйлдэл",\r
+DlgFormMethod  : "Арга",\r
 \r
 // Select Field Dialog\r
-DlgSelectName          : "Name",       //MISSING\r
-DlgSelectValue         : "Value",      //MISSING\r
-DlgSelectSize          : "Size",       //MISSING\r
-DlgSelectLines         : "lines",      //MISSING\r
-DlgSelectChkMulti      : "Allow multiple selections",  //MISSING\r
-DlgSelectOpAvail       : "Available Options",  //MISSING\r
-DlgSelectOpText                : "Text",       //MISSING\r
-DlgSelectOpValue       : "Value",      //MISSING\r
-DlgSelectBtnAdd                : "Add",        //MISSING\r
-DlgSelectBtnModify     : "Modify",     //MISSING\r
-DlgSelectBtnUp         : "Up", //MISSING\r
-DlgSelectBtnDown       : "Down",       //MISSING\r
-DlgSelectBtnSetValue : "Set as selected value",        //MISSING\r
-DlgSelectBtnDelete     : "Delete",     //MISSING\r
+DlgSelectName          : "Нэр",\r
+DlgSelectValue         : "Утга",\r
+DlgSelectSize          : "Хэмжээ",\r
+DlgSelectLines         : "Мөр",\r
+DlgSelectChkMulti      : "Олон сонголт зөвшөөрөх",\r
+DlgSelectOpAvail       : "Идвэхтэй сонголт",\r
+DlgSelectOpText                : "Тэкст",\r
+DlgSelectOpValue       : "Утга",\r
+DlgSelectBtnAdd                : "Нэмэх",\r
+DlgSelectBtnModify     : "Өөрчлөх",\r
+DlgSelectBtnUp         : "Дээш",\r
+DlgSelectBtnDown       : "Доош",\r
+DlgSelectBtnSetValue : "Сонгогдсан утга оноох",\r
+DlgSelectBtnDelete     : "Устгах",\r
 \r
 // Textarea Dialog\r
-DlgTextareaName        : "Name",       //MISSING\r
-DlgTextareaCols        : "Columns",    //MISSING\r
-DlgTextareaRows        : "Rows",       //MISSING\r
+DlgTextareaName        : "Нэр",\r
+DlgTextareaCols        : "Багана",\r
+DlgTextareaRows        : "Мөр",\r
 \r
 // Text Field Dialog\r
-DlgTextName                    : "Name",       //MISSING\r
-DlgTextValue           : "Value",      //MISSING\r
-DlgTextCharWidth       : "Character Width",    //MISSING\r
-DlgTextMaxChars                : "Maximum Characters", //MISSING\r
-DlgTextType                    : "Type",       //MISSING\r
-DlgTextTypeText                : "Text",       //MISSING\r
-DlgTextTypePass                : "Password",   //MISSING\r
+DlgTextName                    : "Нэр",\r
+DlgTextValue           : "Утга",\r
+DlgTextCharWidth       : "Тэмдэгтын өргөн",\r
+DlgTextMaxChars                : "Хамгийн их тэмдэгт",\r
+DlgTextType                    : "Төрөл",\r
+DlgTextTypeText                : "Текст",\r
+DlgTextTypePass                : "Нууц үг",\r
 \r
 // Hidden Field Dialog\r
-DlgHiddenName  : "Name",       //MISSING\r
-DlgHiddenValue : "Value",      //MISSING\r
+DlgHiddenName  : "Нэр",\r
+DlgHiddenValue : "Утга",\r
 \r
 // Bulleted List Dialog\r
-BulletedListProp       : "Bulleted List Properties",   //MISSING\r
-NumberedListProp       : "Numbered List Properties",   //MISSING\r
-DlgLstStart                    : "Start",      //MISSING\r
-DlgLstType                     : "Type",       //MISSING\r
-DlgLstTypeCircle       : "Circle",     //MISSING\r
-DlgLstTypeDisc         : "Disc",       //MISSING\r
-DlgLstTypeSquare       : "Square",     //MISSING\r
-DlgLstTypeNumbers      : "Numbers (1, 2, 3)",  //MISSING\r
-DlgLstTypeLCase                : "Lowercase Letters (a, b, c)",        //MISSING\r
-DlgLstTypeUCase                : "Uppercase Letters (A, B, C)",        //MISSING\r
-DlgLstTypeSRoman       : "Small Roman Numerals (i, ii, iii)",  //MISSING\r
-DlgLstTypeLRoman       : "Large Roman Numerals (I, II, III)",  //MISSING\r
+BulletedListProp       : "Bulleted жагсаалын шинж чанар",\r
+NumberedListProp       : "Дугаарласан жагсаалын шинж чанар",\r
+DlgLstStart                    : "Эхлэх",\r
+DlgLstType                     : "Төрөл",\r
+DlgLstTypeCircle       : "Тойрог",\r
+DlgLstTypeDisc         : "Тайлбар",\r
+DlgLstTypeSquare       : "Square",\r
+DlgLstTypeNumbers      : "Тоо (1, 2, 3)",\r
+DlgLstTypeLCase                : "Жижиг үсэг (a, b, c)",\r
+DlgLstTypeUCase                : "Том үсэг (A, B, C)",\r
+DlgLstTypeSRoman       : "Жижиг Ром тоо (i, ii, iii)",\r
+DlgLstTypeLRoman       : "Том Ром тоо (I, II, III)",\r
 \r
 // Document Properties Dialog\r
-DlgDocGeneralTab       : "General",    //MISSING\r
-DlgDocBackTab          : "Background", //MISSING\r
-DlgDocColorsTab                : "Colors and Margins", //MISSING\r
-DlgDocMetaTab          : "Meta Data",  //MISSING\r
-\r
-DlgDocPageTitle                : "Page Title", //MISSING\r
-DlgDocLangDir          : "Language Direction", //MISSING\r
-DlgDocLangDirLTR       : "Left to Right (LTR)",        //MISSING\r
-DlgDocLangDirRTL       : "Right to Left (RTL)",        //MISSING\r
-DlgDocLangCode         : "Language Code",      //MISSING\r
-DlgDocCharSet          : "Character Set Encoding",     //MISSING\r
-DlgDocCharSetCE                : "Central European",   //MISSING\r
-DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
-DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
-DlgDocCharSetGR                : "Greek",      //MISSING\r
-DlgDocCharSetJP                : "Japanese",   //MISSING\r
-DlgDocCharSetKR                : "Korean",     //MISSING\r
-DlgDocCharSetTR                : "Turkish",    //MISSING\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
-DlgDocCharSetWE                : "Western European",   //MISSING\r
-DlgDocCharSetOther     : "Other Character Set Encoding",       //MISSING\r
-\r
-DlgDocDocType          : "Document Type Heading",      //MISSING\r
-DlgDocDocTypeOther     : "Other Document Type Heading",        //MISSING\r
-DlgDocIncXHTML         : "Include XHTML Declarations", //MISSING\r
-DlgDocBgColor          : "Background Color",   //MISSING\r
-DlgDocBgImage          : "Background Image URL",       //MISSING\r
-DlgDocBgNoScroll       : "Nonscrolling Background",    //MISSING\r
-DlgDocCText                    : "Text",       //MISSING\r
-DlgDocCLink                    : "Link",       //MISSING\r
-DlgDocCVisited         : "Visited Link",       //MISSING\r
-DlgDocCActive          : "Active Link",        //MISSING\r
-DlgDocMargins          : "Page Margins",       //MISSING\r
-DlgDocMaTop                    : "Top",        //MISSING\r
-DlgDocMaLeft           : "Left",       //MISSING\r
-DlgDocMaRight          : "Right",      //MISSING\r
-DlgDocMaBottom         : "Bottom",     //MISSING\r
-DlgDocMeIndex          : "Document Indexing Keywords (comma separated)",       //MISSING\r
-DlgDocMeDescr          : "Document Description",       //MISSING\r
-DlgDocMeAuthor         : "Author",     //MISSING\r
-DlgDocMeCopy           : "Copyright",  //MISSING\r
-DlgDocPreview          : "Preview",    //MISSING\r
+DlgDocGeneralTab       : "Ерөнхий",\r
+DlgDocBackTab          : "Фоно",\r
+DlgDocColorsTab                : "Захын зай ба Өнгө",\r
+DlgDocMetaTab          : "Meta өгөгдөл",\r
+\r
+DlgDocPageTitle                : "Хуудасны гарчиг",\r
+DlgDocLangDir          : "Хэлний чиглэл",\r
+DlgDocLangDirLTR       : "Зүүнээс баруунруу (LTR)",\r
+DlgDocLangDirRTL       : "Баруунаас зүүнрүү (RTL)",\r
+DlgDocLangCode         : "Хэлний код",\r
+DlgDocCharSet          : "Encoding тэмдэгт",\r
+DlgDocCharSetCE                : "Төв европ",\r
+DlgDocCharSetCT                : "Хятадын уламжлалт (Big5)",\r
+DlgDocCharSetCR                : "Крил",\r
+DlgDocCharSetGR                : "Гред",\r
+DlgDocCharSetJP                : "Япон",\r
+DlgDocCharSetKR                : "Солонгос",\r
+DlgDocCharSetTR                : "Tурк",\r
+DlgDocCharSetUN                : "Юникод (UTF-8)",\r
+DlgDocCharSetWE                : "Баруун европ",\r
+DlgDocCharSetOther     : "Encoding-д өөр тэмдэгт оноох",\r
+\r
+DlgDocDocType          : "Баримт бичгийн төрөл Heading",\r
+DlgDocDocTypeOther     : "Бусад баримт бичгийн төрөл Heading",\r
+DlgDocIncXHTML         : "XHTML агуулж зарлах",\r
+DlgDocBgColor          : "Фоно өнгө",\r
+DlgDocBgImage          : "Фоно зурагны URL",\r
+DlgDocBgNoScroll       : "Гүйдэггүй фоно",\r
+DlgDocCText                    : "Текст",\r
+DlgDocCLink                    : "Линк",\r
+DlgDocCVisited         : "Зочилсон линк",\r
+DlgDocCActive          : "Идвэхитэй линк",\r
+DlgDocMargins          : "Хуудасны захын зай",\r
+DlgDocMaTop                    : "Дээд тал",\r
+DlgDocMaLeft           : "Зүүн тал",\r
+DlgDocMaRight          : "Баруун тал",\r
+DlgDocMaBottom         : "Доод тал",\r
+DlgDocMeIndex          : "Баримт бичгийн индекс түлхүүр үг (таслалаар тусгаарлагдана)",\r
+DlgDocMeDescr          : "Баримт бичгийн тайлбар",\r
+DlgDocMeAuthor         : "Зохиогч",\r
+DlgDocMeCopy           : "Зохиогчийн эрх",\r
+DlgDocPreview          : "Харах",\r
 \r
 // Templates Dialog\r
-Templates                      : "Templates",  //MISSING\r
-DlgTemplatesTitle      : "Content Templates",  //MISSING\r
-DlgTemplatesSelMsg     : "Please select the template to open in the editor<br />(the actual contents will be lost):",  //MISSING\r
-DlgTemplatesLoading    : "Loading templates list. Please wait...",     //MISSING\r
-DlgTemplatesNoTpl      : "(No templates defined)",     //MISSING\r
-DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
+Templates                      : "Загварууд",\r
+DlgTemplatesTitle      : "Загварын агуулга",\r
+DlgTemplatesSelMsg     : "Загварыг нээж editor-рүү сонгож оруулна уу<br />(Одоогийн агууллагыг устаж магадгүй):",\r
+DlgTemplatesLoading    : "Загваруудыг ачааллаж байна. Түр хүлээнэ үү...",\r
+DlgTemplatesNoTpl      : "(Загвар тодорхойлогдоогүй байна)",\r
+DlgTemplatesReplace    : "Одоогийн агууллагыг дарж бичих",\r
 \r
 // About Dialog\r
-DlgAboutAboutTab       : "About",      //MISSING\r
-DlgAboutBrowserInfoTab : "Browser Info",       //MISSING\r
-DlgAboutLicenseTab     : "License",    //MISSING\r
+DlgAboutAboutTab       : "Тухай",\r
+DlgAboutBrowserInfoTab : "Мэдээлэл үзүүлэгч",\r
+DlgAboutLicenseTab     : "Лиценз",\r
 DlgAboutVersion                : "Хувилбар",\r
-DlgAboutInfo           : "Мэдээллээр туслах"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Мэдээллээр туслах",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index efe0529..1e97973 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Buang Format",
 InsertLinkLbl          : "Sambungan",\r
 InsertLink                     : "Masukkan/Sunting Sambungan",\r
 RemoveLink                     : "Buang Sambungan",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Masukkan/Sunting Pautan",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Gambar",\r
 InsertImage                    : "Masukkan/Sunting Gambar",\r
 InsertFlashLbl         : "Flash",      //MISSING\r
@@ -70,6 +72,10 @@ RightJustify         : "Jajaran Kanan",
 BlockJustify           : "Jajaran Blok",\r
 DecreaseIndent         : "Kurangkan Inden",\r
 IncreaseIndent         : "Tambahkan Inden",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Batalkan",\r
 Redo                           : "Ulangkan",\r
 NumberedListLbl                : "Senarai bernombor",\r
@@ -103,20 +109,27 @@ SelectionField    : "Field Pilihan",
 ImageButton            : "Butang Bergambar",\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Sunting Sambungan",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRow                      : "Masukkan Baris",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "Buangkan Baris",\r
-InsertColumn           : "Masukkan Lajur",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "Buangkan Lajur",\r
-InsertCell                     : "Masukkan Sel",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "Buangkan Sel-sel",\r
 MergeCells                     : "Cantumkan Sel-sel",\r
-SplitCell                      : "Bahagikan Sel",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "Delete Table",       //MISSING\r
 CellProperties         : "Ciri-ciri Sel",\r
 TableProperties                : "Ciri-ciri Jadual",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Ciri-ciri Selection Field",
 TextareaProp           : "Ciri-ciri Textarea",\r
 FormProp                       : "Ciri-ciri Borang",\r
 \r
-FontFormats                    : "Normal;Telah Diformat;Alamat;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Perenggan (DIV)",           //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Telah Diformat;Alamat;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Perenggan (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Memproses XHTML. Sila tunggu...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Set toolbar \"%1\" tidak wujud",
 NoActiveX                      : "Your 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\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Sila pilih pautan",\r
 DlgLnkAnchorByName     : "dengan menggunakan nama pautan",\r
 DlgLnkAnchorById       : "dengan menggunakan ID elemen",\r
-DlgLnkNoAnchors                : "<Tiada pautan terdapat dalam dokumen ini>",          //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Tiada pautan terdapat dalam dokumen ini)",\r
 DlgLnkEMail                    : "Alamat E-Mail",\r
 DlgLnkEMailSubject     : "Subjek Mesej",\r
 DlgLnkEMailBody                : "Isi Kandungan Mesej",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Ruangan Antara Sel",
 DlgTableCellPad                : "Tambahan Ruang Sel",\r
 DlgTableCaption                : "Keterangan",\r
 DlgTableSummary                : "Summary",    //MISSING\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Ciri-ciri Sel",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Atas",
 DlgCellVerAlignMiddle  : "Tengah",\r
 DlgCellVerAlignBottom  : "Bawah",\r
 DlgCellVerAlignBaseline        : "Garis Dasar",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Penggunaan Baris",\r
 DlgCellCollSpan                : "Penggunaan Lajur",\r
 DlgCellBackColor       : "Warna Latarbelakang",\r
 DlgCellBorderColor     : "Warna Border",\r
 DlgCellBtnSelect       : "Pilih...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Carian",\r
 DlgFindFindBtn         : "Cari",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Please paste inside the following box using the keyboard (<stron
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignore Font Face definitions",       //MISSING\r
 DlgPasteRemoveStyles   : "Remove Styles definitions",  //MISSING\r
-DlgPasteCleanBox               : "Clean Up Box",       //MISSING\r
 \r
 // Color Picker\r
 ColorAutomatic : "Otomatik",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Tentang",
 DlgAboutBrowserInfoTab : "Maklumat Perisian Browser",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "versi",\r
-DlgAboutInfo           : "Untuk maklumat lanjut sila pergi ke"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Untuk maklumat lanjut sila pergi ke",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index ae9fa64..d720dce 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Fjern format",
 InsertLinkLbl          : "Lenke",\r
 InsertLink                     : "Sett inn/Rediger lenke",\r
 RemoveLink                     : "Fjern lenke",\r
+VisitLink                      : "Åpne lenke",\r
 Anchor                         : "Sett inn/Rediger anker",\r
+AnchorDelete           : "Fjern anker",\r
 InsertImageLbl         : "Bilde",\r
 InsertImage                    : "Sett inn/Rediger bilde",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,10 +72,14 @@ RightJustify                : "Høyrejuster",
 BlockJustify           : "Blokkjuster",\r
 DecreaseIndent         : "Senk nivå",\r
 IncreaseIndent         : "Øk nivå",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Angre",\r
 Redo                           : "Gjør om",\r
-NumberedListLbl                : "Numrert liste",\r
-NumberedList           : "Sett inn/Fjern numrert liste",\r
+NumberedListLbl                : "Nummerert liste",\r
+NumberedList           : "Sett inn/Fjern nummerert liste",\r
 BulletedListLbl                : "Uordnet liste",\r
 BulletedList           : "Sett inn/Fjern uordnet liste",\r
 ShowTableBorders       : "Vis tabellrammer",\r
@@ -85,7 +91,7 @@ FontSize                      : "Størrelse",
 TextColor                      : "Tekstfarge",\r
 BGColor                                : "Bakgrunnsfarge",\r
 Source                         : "Kilde",\r
-Find                           : "Finn",\r
+Find                           : "Søk",\r
 Replace                                : "Erstatt",\r
 SpellCheck                     : "Stavekontroll",\r
 UniversalKeyboard      : "Universelt tastatur",\r
@@ -93,61 +99,69 @@ PageBreakLbl                : "Sideskift",
 PageBreak                      : "Sett inn sideskift",\r
 \r
 Form                   : "Skjema",\r
-Checkbox               : "Sjekkboks",\r
-RadioButton            : "Radioknapp",\r
-TextField              : "Tekstfelt",\r
+Checkbox               : "Avmerkingsboks",\r
+RadioButton            : "Alternativknapp",\r
+TextField              : "Tekstboks",\r
 Textarea               : "Tekstområde",\r
 HiddenField            : "Skjult felt",\r
 Button                 : "Knapp",\r
-SelectionField : "Dropdown meny",\r
+SelectionField : "Rullegardinliste",\r
 ImageButton            : "Bildeknapp",\r
 \r
 FitWindow              : "Maksimer størrelsen på redigeringsverktøyet",\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Rediger lenke",\r
 CellCM                         : "Celle",\r
 RowCM                          : "Rader",\r
 ColumnCM                       : "Kolonne",\r
-InsertRow                      : "Sett inn rad",\r
+InsertRowAfter         : "Sett inn rad etter",\r
+InsertRowBefore                : "Sett inn rad før",\r
 DeleteRows                     : "Slett rader",\r
-InsertColumn           : "Sett inn kolonne",\r
+InsertColumnAfter      : "Sett inn kolonne etter",\r
+InsertColumnBefore     : "Sett inn kolonne før",\r
 DeleteColumns          : "Slett kolonner",\r
-InsertCell                     : "Sett inn celle",\r
+InsertCellAfter                : "Sett inn celle etter",\r
+InsertCellBefore       : "Sett inn celle før",\r
 DeleteCells                    : "Slett celler",\r
 MergeCells                     : "Slå sammen celler",\r
-SplitCell                      : "Splitt celler",\r
+MergeRight                     : "Slå sammen høyre",\r
+MergeDown                      : "Slå sammen ned",\r
+HorizontalSplitCell    : "Del celle horisontalt",\r
+VerticalSplitCell      : "Del celle vertikalt",\r
 TableDelete                    : "Slett tabell",\r
-CellProperties         : "Celleegenskaper",\r
-TableProperties                : "Tabellegenskaper",\r
-ImageProperties                : "Bildeegenskaper",\r
-FlashProperties                : "Flash Egenskaper",\r
-\r
-AnchorProp                     : "Ankeregenskaper",\r
-ButtonProp                     : "Knappegenskaper",\r
-CheckboxProp           : "Sjekkboksegenskaper",\r
-HiddenFieldProp                : "Skjult felt egenskaper",\r
-RadioButtonProp                : "Radioknappegenskaper",\r
-ImageButtonProp                : "Bildeknappegenskaper",\r
-TextFieldProp          : "Tekstfeltegenskaper",\r
-SelectionFieldProp     : "Dropdown menyegenskaper",\r
-TextareaProp           : "Tekstfeltegenskaper",\r
-FormProp                       : "Skjemaegenskaper",\r
-\r
-FontFormats                    : "Normal;Formatert;Adresse;Tittel 1;Tittel 2;Tittel 3;Tittel 4;Tittel 5;Tittel 6",             //REVIEW : Check _getfontformat.html\r
+CellProperties         : "Egenskaper for celle",\r
+TableProperties                : "Egenskaper for tabell",\r
+ImageProperties                : "Egenskaper for bilde",\r
+FlashProperties                : "Egenskaper for Flash-objekt",\r
+\r
+AnchorProp                     : "Egenskaper for anker",\r
+ButtonProp                     : "Egenskaper for knapp",\r
+CheckboxProp           : "Egenskaper for avmerkingsboks",\r
+HiddenFieldProp                : "Egenskaper for skjult felt",\r
+RadioButtonProp                : "Egenskaper for alternativknapp",\r
+ImageButtonProp                : "Egenskaper for bildeknapp",\r
+TextFieldProp          : "Egenskaper for tekstfelt",\r
+SelectionFieldProp     : "Egenskaper for rullegardinliste",\r
+TextareaProp           : "Egenskaper for tekstområde",\r
+FormProp                       : "Egenskaper for skjema",\r
+\r
+FontFormats                    : "Normal;Formatert;Adresse;Tittel 1;Tittel 2;Tittel 3;Tittel 4;Tittel 5;Tittel 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Lager XHTML. Vennligst vent...",\r
 Done                           : "Ferdig",\r
-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?",\r
-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)",\r
+PasteWordConfirm       : "Teksten du prøver å lime inn ser ut som om den kommer fra Word. Vil du rense den for unødvendig kode før du limer inn?",\r
+NotCompatiblePaste     : "Denne kommandoen er kun tilgjenglig for Internet Explorer versjon 5.5 eller bedre. Vil du fortsette uten å rense? (Du kan lime inn som ren tekst)",\r
 UnknownToolbarItem     : "Ukjent menyvalg \"%1\"",\r
 UnknownCommand         : "Ukjent kommando \"%1\"",\r
-NotImplemented         : "Kommando ikke ennå implimentert",\r
+NotImplemented         : "Kommando ikke implimentert",\r
 UnknownToolbarSet      : "Verktøylinjesett \"%1\" finnes ikke",\r
-NoActiveX                      : "Din nettleser's sikkerhetsinstillinger kan begrense noen av funksjonene i redigeringsverktøyet. Du må aktivere \"Kjør ActiveXkontroller og plugins\". Du kan oppleve feil og advarsler om manglende funksjoner",\r
-BrowseServerBlocked : "Kunne ikke åpne dialogboksen for filarkiv. Pass på at du har slått av popupstoppere.",\r
-DialogBlocked          : "Kunne ikke åpne dialogboksen. Pass på at du har slått av popupstoppere.",\r
+NoActiveX                      : "Din nettlesers sikkerhetsinstillinger kan begrense noen av funksjonene i redigeringsverktøyet. Du må aktivere \"Kjør ActiveX-kontroller og plugin-modeller\". Du kan oppleve feil og advarsler om manglende funksjoner",\r
+BrowseServerBlocked : "Kunne ikke åpne dialogboksen for filarkiv. Sjekk at popup-blokkering er deaktivert.",\r
+DialogBlocked          : "Kunne ikke åpne dialogboksen. Sjekk at popup-blokkering er deaktivert.",\r
+VisitLinkBlocked       : "Kunne ikke åpne et nytt vindu. Sjekk at popup-blokkering er deaktivert.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -157,7 +171,7 @@ DlgBtnBrowseServer  : "Bla igjennom server",
 DlgAdvancedTag         : "Avansert",\r
 DlgOpOther                     : "<Annet>",\r
 DlgInfoTab                     : "Info",\r
-DlgAlertUrl                    : "Vennligst skriv inn URL'en",\r
+DlgAlertUrl                    : "Vennligst skriv inn URL-en",\r
 \r
 // General Dialogs Labels\r
 DlgGenNotSet           : "<ikke satt>",\r
@@ -165,7 +179,7 @@ DlgGenId                    : "Id",
 DlgGenLangDir          : "Språkretning",\r
 DlgGenLangDirLtr       : "Venstre til høyre (VTH)",\r
 DlgGenLangDirRtl       : "Høyre til venstre (HTV)",\r
-DlgGenLangCode         : "Språk kode",\r
+DlgGenLangCode         : "Språkkode",\r
 DlgGenAccessKey                : "Aksessknapp",\r
 DlgGenName                     : "Navn",\r
 DlgGenTabIndex         : "Tab Indeks",\r
@@ -201,18 +215,18 @@ DlgImgAlignRight  : "Høyre",
 DlgImgAlignTextTop     : "Tekst topp",\r
 DlgImgAlignTop         : "Topp",\r
 DlgImgPreview          : "Forhåndsvis",\r
-DlgImgAlertUrl         : "Vennligst skriv bildeurlen",\r
+DlgImgAlertUrl         : "Vennligst skriv bilde-urlen",\r
 DlgImgLinkTab          : "Lenke",\r
 \r
 // Flash Dialog\r
-DlgFlashTitle          : "Flash Egenskaper",\r
-DlgFlashChkPlay                : "Auto Spill",\r
+DlgFlashTitle          : "Flash-egenskaper",\r
+DlgFlashChkPlay                : "Autospill",\r
 DlgFlashChkLoop                : "Loop",\r
-DlgFlashChkMenu                : "Slå på Flash meny",\r
+DlgFlashChkMenu                : "Slå på Flash-meny",\r
 DlgFlashScale          : "Skaler",\r
 DlgFlashScaleAll       : "Vis alt",\r
 DlgFlashScaleNoBorder  : "Ingen ramme",\r
-DlgFlashScaleFit       : "Skaler til å passeExact Fit",\r
+DlgFlashScaleFit       : "Skaler til å passe",\r
 \r
 // Link Dialog\r
 DlgLnkWindowTitle      : "Lenke",\r
@@ -221,16 +235,16 @@ DlgLnkTargetTab           : "Mål",
 \r
 DlgLnkType                     : "Lenketype",\r
 DlgLnkTypeURL          : "URL",\r
-DlgLnkTypeAnchor       : "Lenke til bokmerke i teksten",\r
-DlgLnkTypeEMail                : "E-Post",\r
+DlgLnkTypeAnchor       : "Lenke til anker i teksten",\r
+DlgLnkTypeEMail                : "E-post",\r
 DlgLnkProto                    : "Protokoll",\r
 DlgLnkProtoOther       : "<annet>",\r
 DlgLnkURL                      : "URL",\r
-DlgLnkAnchorSel                : "Velg ett anker",\r
+DlgLnkAnchorSel                : "Velg et anker",\r
 DlgLnkAnchorByName     : "Anker etter navn",\r
 DlgLnkAnchorById       : "Element etter ID",\r
-DlgLnkNoAnchors                : "<Ingen anker i dokumentet>",         //REVIEW : Change < and > with ( and )\r
-DlgLnkEMail                    : "E-Post Addresse",\r
+DlgLnkNoAnchors                : "(Ingen anker i dokumentet)",\r
+DlgLnkEMail                    : "E-postadresse",\r
 DlgLnkEMailSubject     : "Meldingsemne",\r
 DlgLnkEMailBody                : "Melding",\r
 DlgLnkUpload           : "Last opp",\r
@@ -240,12 +254,12 @@ DlgLnkTarget              : "Mål",
 DlgLnkTargetFrame      : "<ramme>",\r
 DlgLnkTargetPopup      : "<popup vindu>",\r
 DlgLnkTargetBlank      : "Nytt vindu (_blank)",\r
-DlgLnkTargetParent     : "Foreldre vindu (_parent)",\r
+DlgLnkTargetParent     : "Foreldrevindu (_parent)",\r
 DlgLnkTargetSelf       : "Samme vindu (_self)",\r
 DlgLnkTargetTop                : "Hele vindu (_top)",\r
 DlgLnkTargetFrameName  : "Målramme",\r
-DlgLnkPopWinName       : "Popup vindus navn",\r
-DlgLnkPopWinFeat       : "Popup vindus egenskaper",\r
+DlgLnkPopWinName       : "Navn på popup-vindus",\r
+DlgLnkPopWinFeat       : "Egenskaper for popup-vindu",\r
 DlgLnkPopResize                : "Endre størrelse",\r
 DlgLnkPopLocation      : "Adresselinje",\r
 DlgLnkPopMenu          : "Menylinje",\r
@@ -257,18 +271,18 @@ DlgLnkPopDependent        : "Avhenging (Netscape)",
 DlgLnkPopWidth         : "Bredde",\r
 DlgLnkPopHeight                : "Høyde",\r
 DlgLnkPopLeft          : "Venstre posisjon",\r
-DlgLnkPopTop           : "Topp posisjon",\r
+DlgLnkPopTop           : "Topp-posisjon",\r
 \r
 DlnLnkMsgNoUrl         : "Vennligst skriv inn lenkens url",\r
 DlnLnkMsgNoEMail       : "Vennligst skriv inn e-postadressen",\r
-DlnLnkMsgNoAnchor      : "Vennligst velg ett anker",\r
-DlnLnkMsgInvPopName    : "Popup vinduets navn må begynne med en bokstav, og kan ikke inneholde mellomrom",\r
+DlnLnkMsgNoAnchor      : "Vennligst velg et anker",\r
+DlnLnkMsgInvPopName    : "Popup-vinduets navn må begynne med en bokstav, og kan ikke inneholde mellomrom",\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Velg farge",\r
 DlgColorBtnClear       : "Tøm",\r
 DlgColorHighlight      : "Marker",\r
-DlgColorSelected       : "Velg",\r
+DlgColorSelected       : "Valgt",\r
 \r
 // Smiley Dialog\r
 DlgSmileyTitle         : "Sett inn smil",\r
@@ -277,7 +291,7 @@ DlgSmileyTitle              : "Sett inn smil",
 DlgSpecialCharTitle    : "Velg spesielt tegn",\r
 \r
 // Table Dialog\r
-DlgTableTitle          : "Tabellegenskaper",\r
+DlgTableTitle          : "Egenskaper for tabell",\r
 DlgTableRows           : "Rader",\r
 DlgTableColumns                : "Kolonner",\r
 DlgTableBorder         : "Rammestørrelse",\r
@@ -287,18 +301,23 @@ DlgTableAlignLeft : "Venstre",
 DlgTableAlignCenter    : "Midtjuster",\r
 DlgTableAlignRight     : "Høyre",\r
 DlgTableWidth          : "Bredde",\r
-DlgTableWidthPx                : "pixler",\r
+DlgTableWidthPx                : "piksler",\r
 DlgTableWidthPc                : "prosent",\r
 DlgTableHeight         : "Høyde",\r
-DlgTableCellSpace      : "Celle marg",\r
-DlgTableCellPad                : "Celle polstring",\r
+DlgTableCellSpace      : "Cellemarg",\r
+DlgTableCellPad                : "Cellepolstring",\r
 DlgTableCaption                : "Tittel",\r
 DlgTableSummary                : "Sammendrag",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
-DlgCellTitle           : "Celle egenskaper",\r
+DlgCellTitle           : "Celleegenskaper",\r
 DlgCellWidth           : "Bredde",\r
-DlgCellWidthPx         : "pixeler",\r
+DlgCellWidthPx         : "piksler",\r
 DlgCellWidthPc         : "prosent",\r
 DlgCellHeight          : "Høyde",\r
 DlgCellWordWrap                : "Tekstbrytning",\r
@@ -316,38 +335,43 @@ DlgCellVerAlignTop        : "Topp",
 DlgCellVerAlignMiddle  : "Midten",\r
 DlgCellVerAlignBottom  : "Bunn",\r
 DlgCellVerAlignBaseline        : "Bunnlinje",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Radspenn",\r
 DlgCellCollSpan                : "Kolonnespenn",\r
 DlgCellBackColor       : "Bakgrunnsfarge",\r
 DlgCellBorderColor     : "Rammefarge",\r
 DlgCellBtnSelect       : "Velg...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Søk og erstatt",\r
+\r
 // Find Dialog\r
-DlgFindTitle           : "Finn",\r
-DlgFindFindBtn         : "Finn",\r
-DlgFindNotFoundMsg     : "Den spesifiserte teksten ble ikke funnet.",\r
+DlgFindTitle           : "Søk",\r
+DlgFindFindBtn         : "Søk",\r
+DlgFindNotFoundMsg     : "Fant ikke søketeksten.",\r
 \r
 // Replace Dialog\r
 DlgReplaceTitle                        : "Erstatt",\r
-DlgReplaceFindLbl              : "Finn hva:",\r
+DlgReplaceFindLbl              : "Søk etter:",\r
 DlgReplaceReplaceLbl   : "Erstatt med:",\r
-DlgReplaceCaseChk              : "Riktig case",\r
+DlgReplaceCaseChk              : "Skill mellom store og små bokstaver",\r
 DlgReplaceReplaceBtn   : "Erstatt",\r
 DlgReplaceReplAllBtn   : "Erstatt alle",\r
-DlgReplaceWordChk              : "Finn hele ordet",\r
+DlgReplaceWordChk              : "Bare hele ord",\r
 \r
 // Paste Operations / Dialog\r
-PasteErrorCut  : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst brukt snareveien (Ctrl+X).",\r
-PasteErrorCopy : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst brukt snareveien (Ctrl+C).",\r
+PasteErrorCut  : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl+X).",\r
+PasteErrorCopy : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl+C).",\r
 \r
 PasteAsText            : "Lim inn som ren tekst",\r
-PasteFromWord  : "Lim inn fra word",\r
+PasteFromWord  : "Lim inn fra Word",\r
 \r
 DlgPasteMsg2   : "Vennligst lim inn i den følgende boksen med tastaturet (<STRONG>Ctrl+V</STRONG>) og trykk <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må lime det igjen i dette vinduet.",\r
 DlgPasteIgnoreFont             : "Fjern skrifttyper",\r
 DlgPasteRemoveStyles   : "Fjern stildefinisjoner",\r
-DlgPasteCleanBox               : "Tøm boksen",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatisk",\r
@@ -369,17 +393,17 @@ DlgSpellBtnIgnoreAll      : "Ignorer alle",
 DlgSpellBtnReplace             : "Erstatt",\r
 DlgSpellBtnReplaceAll  : "Erstatt alle",\r
 DlgSpellBtnUndo                        : "Angre",\r
-DlgSpellNoSuggestions  : "- ingen forslag -",\r
+DlgSpellNoSuggestions  : "- Ingen forslag -",\r
 DlgSpellProgress               : "Stavekontroll pågår...",\r
 DlgSpellNoMispell              : "Stavekontroll fullført: ingen feilstavinger funnet",\r
 DlgSpellNoChanges              : "Stavekontroll fullført: ingen ord endret",\r
 DlgSpellOneChange              : "Stavekontroll fullført: Ett ord endret",\r
 DlgSpellManyChanges            : "Stavekontroll fullført: %1 ord endret",\r
 \r
-IeSpellDownload                        : "Stavekontroll ikke installert, vil du laste den ned nå?",\r
+IeSpellDownload                        : "Stavekontroll er ikke installert. Vil du laste den ned nå?",\r
 \r
 // Button Dialog\r
-DlgButtonText          : "Tekst",\r
+DlgButtonText          : "Tekst (verdi)",\r
 DlgButtonType          : "Type",\r
 DlgButtonTypeBtn       : "Knapp",\r
 DlgButtonTypeSbm       : "Send",\r
@@ -418,7 +442,7 @@ DlgTextareaRows     : "Rader",
 \r
 // Text Field Dialog\r
 DlgTextName                    : "Navn",\r
-DlgTextValue           : "verdi",\r
+DlgTextValue           : "Verdi",\r
 DlgTextCharWidth       : "Tegnbredde",\r
 DlgTextMaxChars                : "Maks antall tegn",\r
 DlgTextType                    : "Type",\r
@@ -430,24 +454,24 @@ DlgHiddenName     : "Navn",
 DlgHiddenValue : "Verdi",\r
 \r
 // Bulleted List Dialog\r
-BulletedListProp       : "Uordnet listeegenskaper",\r
-NumberedListProp       : "Ordnet listeegenskaper",\r
+BulletedListProp       : "Egenskaper for uordnet liste",\r
+NumberedListProp       : "Egenskaper for ordnet liste",\r
 DlgLstStart                    : "Start",\r
 DlgLstType                     : "Type",\r
 DlgLstTypeCircle       : "Sirkel",\r
 DlgLstTypeDisc         : "Hel sirkel",\r
 DlgLstTypeSquare       : "Firkant",\r
-DlgLstTypeNumbers      : "Numre(1, 2, 3)",\r
+DlgLstTypeNumbers      : "Numre (1, 2, 3)",\r
 DlgLstTypeLCase                : "Små bokstaver (a, b, c)",\r
-DlgLstTypeUCase                : "Store bokstaver(A, B, C)",\r
-DlgLstTypeSRoman       : "Små romerske tall(i, ii, iii)",\r
-DlgLstTypeLRoman       : "Store romerske tall(I, II, III)",\r
+DlgLstTypeUCase                : "Store bokstaver (A, B, C)",\r
+DlgLstTypeSRoman       : "Små romerske tall (i, ii, iii)",\r
+DlgLstTypeLRoman       : "Store romerske tall (I, II, III)",\r
 \r
 // Document Properties Dialog\r
-DlgDocGeneralTab       : "Generalt",\r
+DlgDocGeneralTab       : "Generelt",\r
 DlgDocBackTab          : "Bakgrunn",\r
 DlgDocColorsTab                : "Farger og marginer",\r
-DlgDocMetaTab          : "Meta Data",\r
+DlgDocMetaTab          : "Meta-data",\r
 \r
 DlgDocPageTitle                : "Sidetittel",\r
 DlgDocLangDir          : "Språkretning",\r
@@ -462,16 +486,16 @@ DlgDocCharSetGR           : "Gresk",
 DlgDocCharSetJP                : "Japansk",\r
 DlgDocCharSetKR                : "Koreansk",\r
 DlgDocCharSetTR                : "Tyrkisk",\r
-DlgDocCharSetUN                : "Unikode (UTF-8)",\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",\r
 DlgDocCharSetWE                : "Vesteuropeisk",\r
 DlgDocCharSetOther     : "Annet tegnsett",\r
 \r
 DlgDocDocType          : "Dokumenttype header",\r
 DlgDocDocTypeOther     : "Annet dokumenttype header",\r
-DlgDocIncXHTML         : "Inkulder XHTML deklarasjon",\r
+DlgDocIncXHTML         : "Inkluder XHTML-deklarasjon",\r
 DlgDocBgColor          : "Bakgrunnsfarge",\r
-DlgDocBgImage          : "Bakgrunnsbilde url",\r
-DlgDocBgNoScroll       : "Ikke scroll bakgrunnsbilde",\r
+DlgDocBgImage          : "URL for bakgrunnsbilde",\r
+DlgDocBgNoScroll       : "Lås bakgrunnsbilde",\r
 DlgDocCText                    : "Tekst",\r
 DlgDocCLink                    : "Link",\r
 DlgDocCVisited         : "Besøkt lenke",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Om",
 DlgAboutBrowserInfoTab : "Nettleserinfo",\r
 DlgAboutLicenseTab     : "Lisens",\r
 DlgAboutVersion                : "versjon",\r
-DlgAboutInfo           : "For further information go to"       //MISSING\r
-};
\ No newline at end of file
+DlgAboutInfo           : "For mer informasjon, se",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Generelt",\r
+DlgDivAdvancedTab      : "Avansert",\r
+DlgDivStyle            : "Stil",\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index f6b26b4..f84f1a6 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Opmaak verwijderen",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Link invoegen/wijzigen",\r
 RemoveLink                     : "Link verwijderen",\r
+VisitLink                      : "Link volgen",\r
 Anchor                         : "Interne link",\r
+AnchorDelete           : "Anker verwijderen",\r
 InsertImageLbl         : "Afbeelding",\r
 InsertImage                    : "Afbeelding invoegen/wijzigen",\r
 InsertFlashLbl         : "Flash",\r
@@ -52,7 +54,7 @@ InsertFlash                   : "Flash invoegen/wijzigen",
 InsertTableLbl         : "Tabel",\r
 InsertTable                    : "Tabel invoegen/wijzigen",\r
 InsertLineLbl          : "Lijn",\r
-InsertLine                     : "Invoegen horizontale lijn",\r
+InsertLine                     : "Horizontale lijn invoegen",\r
 InsertSpecialCharLbl: "Speciale tekens",\r
 InsertSpecialChar      : "Speciaal teken invoegen",\r
 InsertSmileyLbl                : "Smiley",\r
@@ -70,6 +72,10 @@ RightJustify         : "Rechts uitlijnen",
 BlockJustify           : "Uitvullen",\r
 DecreaseIndent         : "Inspringen verkleinen",\r
 IncreaseIndent         : "Inspringen vergroten",\r
+Blockquote                     : "Citaatblok",\r
+CreateDiv                      : "DIV aanmaken",\r
+EditDiv                                : "DIV wijzigen",\r
+DeleteDiv                      : "DIV verwijderen",\r
 Undo                           : "Ongedaan maken",\r
 Redo                           : "Opnieuw uitvoeren",\r
 NumberedListLbl                : "Genummerde lijst",\r
@@ -103,20 +109,27 @@ SelectionField    : "Selectieveld",
 ImageButton            : "Afbeeldingsknop",\r
 \r
 FitWindow              : "De editor maximaliseren",\r
+ShowBlocks             : "Toon blokken",\r
 \r
 // Context Menu\r
 EditLink                       : "Link wijzigen",\r
 CellCM                         : "Cel",\r
 RowCM                          : "Rij",\r
 ColumnCM                       : "Kolom",\r
-InsertRow                      : "Rij invoegen",\r
+InsertRowAfter         : "Voeg rij in achter",\r
+InsertRowBefore                : "Voeg rij in voor",\r
 DeleteRows                     : "Rijen verwijderen",\r
-InsertColumn           : "Kolom invoegen",\r
+InsertColumnAfter      : "Voeg kolom in achter",\r
+InsertColumnBefore     : "Voeg kolom in voor",\r
 DeleteColumns          : "Kolommen verwijderen",\r
-InsertCell                     : "Cel",\r
+InsertCellAfter                : "Voeg cel in achter",\r
+InsertCellBefore       : "Voeg cel in voor",\r
 DeleteCells                    : "Cellen verwijderen",\r
 MergeCells                     : "Cellen samenvoegen",\r
-SplitCell                      : "Cellen splitsen",\r
+MergeRight                     : "Voeg samen naar rechts",\r
+MergeDown                      : "Voeg samen naar beneden",\r
+HorizontalSplitCell    : "Splits cellen horizontaal",\r
+VerticalSplitCell      : "Splits cellen verticaal",\r
 TableDelete                    : "Tabel verwijderen",\r
 CellProperties         : "Eigenschappen cel",\r
 TableProperties                : "Eigenschappen tabel",\r
@@ -134,20 +147,21 @@ SelectionFieldProp        : "Eigenschappen selectieveld",
 TextareaProp           : "Eigenschappen tekstvak",\r
 FormProp                       : "Eigenschappen formulier",\r
 \r
-FontFormats                    : "Normaal;Met opmaak;Adres;Kop 1;Kop 2;Kop 3;Kop 4;Kop 5;Kop 6;Normaal (DIV)",         //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normaal;Met opmaak;Adres;Kop 1;Kop 2;Kop 3;Kop 4;Kop 5;Kop 6;Normaal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Bezig met verwerken XHTML. Even geduld aub...",\r
 Done                           : "Klaar",\r
-PasteWordConfirm       : "De tekst die je plakte lijkt gekopieerd uit te zijn Word. Wil je de tekst opschonen voordat deze geplakt wordt?",\r
-NotCompatiblePaste     : "Deze opdracht is beschikbaar voor Internet Explorer versie 5.5 of hoger. Wil je plakken zonder op te schonen?",\r
+PasteWordConfirm       : "De tekst die u plakte lijkt gekopieerd te zijn vanuit Word. Wilt u de tekst opschonen voordat deze geplakt wordt?",\r
+NotCompatiblePaste     : "Deze opdracht is beschikbaar voor Internet Explorer versie 5.5 of hoger. Wilt u plakken zonder op te schonen?",\r
 UnknownToolbarItem     : "Onbekend item op menubalk \"%1\"",\r
 UnknownCommand         : "Onbekende opdrachtnaam: \"%1\"",\r
 NotImplemented         : "Opdracht niet geïmplementeerd.",\r
 UnknownToolbarSet      : "Menubalk \"%1\" bestaat niet.",\r
-NoActiveX                      : "De beveilingsinstellingen van je browser zouden sommige functies van de editor kunnen beperken. De optie \"Activeer ActiveX-elementen en plug-ins\" dient ingeschakeld te worden. Het kan zijn dat er nu functies ontbreken of niet werken.",\r
+NoActiveX                      : "De beveilingsinstellingen van uw browser zouden sommige functies van de editor kunnen beperken. De optie \"Activeer ActiveX-elementen en plug-ins\" dient ingeschakeld te worden. Het kan zijn dat er nu functies ontbreken of niet werken.",\r
 BrowseServerBlocked : "De bestandsbrowser kon niet geopend worden. Zorg ervoor dat pop-up-blokkeerders uit staan.",\r
 DialogBlocked          : "Kan het dialoogvenster niet weergeven. Zorg ervoor dat pop-up-blokkeerders uit staan.",\r
+VisitLinkBlocked       : "Het was niet mogelijk een nieuw venster te openen. Controleer of er geen pop-up-blocker aktief is.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Kies een interne link",\r
 DlgLnkAnchorByName     : "Op naam interne link",\r
 DlgLnkAnchorById       : "Op kenmerk interne link",\r
-DlgLnkNoAnchors                : "(Geen interne links in document gevonden)",          //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Geen interne links in document gevonden)",\r
 DlgLnkEMail                    : "E-mailadres",\r
 DlgLnkEMailSubject     : "Onderwerp bericht",\r
 DlgLnkEMailBody                : "Inhoud bericht",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Afstand tussen cellen",
 DlgTableCellPad                : "Afstand vanaf rand cel",\r
 DlgTableCaption                : "Naam",\r
 DlgTableSummary                : "Samenvatting",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Eigenschappen cel",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Boven",
 DlgCellVerAlignMiddle  : "Midden",\r
 DlgCellVerAlignBottom  : "Beneden",\r
 DlgCellVerAlignBaseline        : "Basislijn",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Overkoepeling rijen",\r
 DlgCellCollSpan                : "Overkoepeling kolommen",\r
 DlgCellBackColor       : "Achtergrondkleur",\r
 DlgCellBorderColor     : "Randkleur",\r
 DlgCellBtnSelect       : "Selecteren...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Zoeken en vervangen",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Zoeken",\r
 DlgFindFindBtn         : "Zoeken",\r
@@ -343,11 +368,10 @@ PasteErrorCopy    : "De beveiligingsinstelling van de browser verhinderen het autom
 PasteAsText            : "Plakken als platte tekst",\r
 PasteFromWord  : "Plakken als Word-gegevens",\r
 \r
-DlgPasteMsg2   : "Plak de tekst in het volgende vak gebruik makend van je toetstenbord (<STRONG>Ctrl+V</STRONG>) en klik op <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteMsg2   : "Plak de tekst in het volgende vak gebruik makend van uw toetsenbord (<strong>Ctrl+V</strong>) en klik op <strong>OK</strong>.",\r
+DlgPasteSec            : "Door de beveiligingsinstellingen van uw browser is het niet mogelijk om direct vanuit het klembord in de editor te plakken. Middels opnieuw plakken in dit venster kunt u de tekst alsnog plakken in de editor.",\r
 DlgPasteIgnoreFont             : "Negeer \"Font Face\"-definities",\r
 DlgPasteRemoveStyles   : "Verwijder \"Style\"-definities",\r
-DlgPasteCleanBox               : "Vak opschonen",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatisch",\r
@@ -376,7 +400,7 @@ DlgSpellNoChanges           : "Klaar met spellingscontrole: geen woorden aangepast",
 DlgSpellOneChange              : "Klaar met spellingscontrole: één woord aangepast",\r
 DlgSpellManyChanges            : "Klaar met spellingscontrole: %1 woorden aangepast",\r
 \r
-IeSpellDownload                        : "De spellingscontrole niet geïnstalleerd. Wil je deze nu downloaden?",\r
+IeSpellDownload                        : "De spellingscontrole niet geïnstalleerd. Wilt u deze nu downloaden?",\r
 \r
 // Button Dialog\r
 DlgButtonText          : "Tekst (waarde)",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Over",
 DlgAboutBrowserInfoTab : "Browserinformatie",\r
 DlgAboutLicenseTab     : "Licentie",\r
 DlgAboutVersion                : "Versie",\r
-DlgAboutInfo           : "Voor meer informatie ga naar "\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Voor meer informatie ga naar ",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Algemeen",\r
+DlgDivAdvancedTab      : "Geavanceerd",\r
+DlgDivStyle            : "Style",\r
+DlgDivInlineStyle      : "Inline Style",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index d3b237d..9809bda 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Fjern format",
 InsertLinkLbl          : "Lenke",\r
 InsertLink                     : "Sett inn/Rediger lenke",\r
 RemoveLink                     : "Fjern lenke",\r
+VisitLink                      : "Åpne lenke",\r
 Anchor                         : "Sett inn/Rediger anker",\r
+AnchorDelete           : "Fjern anker",\r
 InsertImageLbl         : "Bilde",\r
 InsertImage                    : "Sett inn/Rediger bilde",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,10 +72,14 @@ RightJustify                : "Høyrejuster",
 BlockJustify           : "Blokkjuster",\r
 DecreaseIndent         : "Senk nivå",\r
 IncreaseIndent         : "Øk nivå",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Angre",\r
 Redo                           : "Gjør om",\r
-NumberedListLbl                : "Numrert liste",\r
-NumberedList           : "Sett inn/Fjern numrert liste",\r
+NumberedListLbl                : "Nummerert liste",\r
+NumberedList           : "Sett inn/Fjern nummerert liste",\r
 BulletedListLbl                : "Uordnet liste",\r
 BulletedList           : "Sett inn/Fjern uordnet liste",\r
 ShowTableBorders       : "Vis tabellrammer",\r
@@ -85,7 +91,7 @@ FontSize                      : "Størrelse",
 TextColor                      : "Tekstfarge",\r
 BGColor                                : "Bakgrunnsfarge",\r
 Source                         : "Kilde",\r
-Find                           : "Finn",\r
+Find                           : "Søk",\r
 Replace                                : "Erstatt",\r
 SpellCheck                     : "Stavekontroll",\r
 UniversalKeyboard      : "Universelt tastatur",\r
@@ -93,61 +99,69 @@ PageBreakLbl                : "Sideskift",
 PageBreak                      : "Sett inn sideskift",\r
 \r
 Form                   : "Skjema",\r
-Checkbox               : "Sjekkboks",\r
-RadioButton            : "Radioknapp",\r
-TextField              : "Tekstfelt",\r
+Checkbox               : "Avmerkingsboks",\r
+RadioButton            : "Alternativknapp",\r
+TextField              : "Tekstboks",\r
 Textarea               : "Tekstområde",\r
 HiddenField            : "Skjult felt",\r
 Button                 : "Knapp",\r
-SelectionField : "Dropdown meny",\r
+SelectionField : "Rullegardinliste",\r
 ImageButton            : "Bildeknapp",\r
 \r
 FitWindow              : "Maksimer størrelsen på redigeringsverktøyet",\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Rediger lenke",\r
 CellCM                         : "Celle",\r
 RowCM                          : "Rader",\r
 ColumnCM                       : "Kolonne",\r
-InsertRow                      : "Sett inn rad",\r
+InsertRowAfter         : "Sett inn rad etter",\r
+InsertRowBefore                : "Sett inn rad før",\r
 DeleteRows                     : "Slett rader",\r
-InsertColumn           : "Sett inn kolonne",\r
+InsertColumnAfter      : "Sett inn kolonne etter",\r
+InsertColumnBefore     : "Sett inn kolonne før",\r
 DeleteColumns          : "Slett kolonner",\r
-InsertCell                     : "Sett inn celle",\r
+InsertCellAfter                : "Sett inn celle etter",\r
+InsertCellBefore       : "Sett inn celle før",\r
 DeleteCells                    : "Slett celler",\r
 MergeCells                     : "Slå sammen celler",\r
-SplitCell                      : "Splitt celler",\r
+MergeRight                     : "Slå sammen høyre",\r
+MergeDown                      : "Slå sammen ned",\r
+HorizontalSplitCell    : "Del celle horisontalt",\r
+VerticalSplitCell      : "Del celle vertikalt",\r
 TableDelete                    : "Slett tabell",\r
-CellProperties         : "Celleegenskaper",\r
-TableProperties                : "Tabellegenskaper",\r
-ImageProperties                : "Bildeegenskaper",\r
-FlashProperties                : "Flash Egenskaper",\r
-\r
-AnchorProp                     : "Ankeregenskaper",\r
-ButtonProp                     : "Knappegenskaper",\r
-CheckboxProp           : "Sjekkboksegenskaper",\r
-HiddenFieldProp                : "Skjult felt egenskaper",\r
-RadioButtonProp                : "Radioknappegenskaper",\r
-ImageButtonProp                : "Bildeknappegenskaper",\r
-TextFieldProp          : "Tekstfeltegenskaper",\r
-SelectionFieldProp     : "Dropdown menyegenskaper",\r
-TextareaProp           : "Tekstfeltegenskaper",\r
-FormProp                       : "Skjemaegenskaper",\r
-\r
-FontFormats                    : "Normal;Formatert;Adresse;Tittel 1;Tittel 2;Tittel 3;Tittel 4;Tittel 5;Tittel 6",             //REVIEW : Check _getfontformat.html\r
+CellProperties         : "Egenskaper for celle",\r
+TableProperties                : "Egenskaper for tabell",\r
+ImageProperties                : "Egenskaper for bilde",\r
+FlashProperties                : "Egenskaper for Flash-objekt",\r
+\r
+AnchorProp                     : "Egenskaper for anker",\r
+ButtonProp                     : "Egenskaper for knapp",\r
+CheckboxProp           : "Egenskaper for avmerkingsboks",\r
+HiddenFieldProp                : "Egenskaper for skjult felt",\r
+RadioButtonProp                : "Egenskaper for alternativknapp",\r
+ImageButtonProp                : "Egenskaper for bildeknapp",\r
+TextFieldProp          : "Egenskaper for tekstfelt",\r
+SelectionFieldProp     : "Egenskaper for rullegardinliste",\r
+TextareaProp           : "Egenskaper for tekstområde",\r
+FormProp                       : "Egenskaper for skjema",\r
+\r
+FontFormats                    : "Normal;Formatert;Adresse;Tittel 1;Tittel 2;Tittel 3;Tittel 4;Tittel 5;Tittel 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Lager XHTML. Vennligst vent...",\r
 Done                           : "Ferdig",\r
-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?",\r
-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)",\r
+PasteWordConfirm       : "Teksten du prøver å lime inn ser ut som om den kommer fra Word. Vil du rense den for unødvendig kode før du limer inn?",\r
+NotCompatiblePaste     : "Denne kommandoen er kun tilgjenglig for Internet Explorer versjon 5.5 eller bedre. Vil du fortsette uten å rense? (Du kan lime inn som ren tekst)",\r
 UnknownToolbarItem     : "Ukjent menyvalg \"%1\"",\r
 UnknownCommand         : "Ukjent kommando \"%1\"",\r
-NotImplemented         : "Kommando ikke ennå implimentert",\r
+NotImplemented         : "Kommando ikke implimentert",\r
 UnknownToolbarSet      : "Verktøylinjesett \"%1\" finnes ikke",\r
-NoActiveX                      : "Din nettleser's sikkerhetsinstillinger kan begrense noen av funksjonene i redigeringsverktøyet. Du må aktivere \"Kjør ActiveXkontroller og plugins\". Du kan oppleve feil og advarsler om manglende funksjoner",\r
-BrowseServerBlocked : "Kunne ikke åpne dialogboksen for filarkiv. Pass på at du har slått av popupstoppere.",\r
-DialogBlocked          : "Kunne ikke åpne dialogboksen. Pass på at du har slått av popupstoppere.",\r
+NoActiveX                      : "Din nettlesers sikkerhetsinstillinger kan begrense noen av funksjonene i redigeringsverktøyet. Du må aktivere \"Kjør ActiveX-kontroller og plugin-modeller\". Du kan oppleve feil og advarsler om manglende funksjoner",\r
+BrowseServerBlocked : "Kunne ikke åpne dialogboksen for filarkiv. Sjekk at popup-blokkering er deaktivert.",\r
+DialogBlocked          : "Kunne ikke åpne dialogboksen. Sjekk at popup-blokkering er deaktivert.",\r
+VisitLinkBlocked       : "Kunne ikke åpne et nytt vindu. Sjekk at popup-blokkering er deaktivert.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -157,7 +171,7 @@ DlgBtnBrowseServer  : "Bla igjennom server",
 DlgAdvancedTag         : "Avansert",\r
 DlgOpOther                     : "<Annet>",\r
 DlgInfoTab                     : "Info",\r
-DlgAlertUrl                    : "Vennligst skriv inn URL'en",\r
+DlgAlertUrl                    : "Vennligst skriv inn URL-en",\r
 \r
 // General Dialogs Labels\r
 DlgGenNotSet           : "<ikke satt>",\r
@@ -165,7 +179,7 @@ DlgGenId                    : "Id",
 DlgGenLangDir          : "Språkretning",\r
 DlgGenLangDirLtr       : "Venstre til høyre (VTH)",\r
 DlgGenLangDirRtl       : "Høyre til venstre (HTV)",\r
-DlgGenLangCode         : "Språk kode",\r
+DlgGenLangCode         : "Språkkode",\r
 DlgGenAccessKey                : "Aksessknapp",\r
 DlgGenName                     : "Navn",\r
 DlgGenTabIndex         : "Tab Indeks",\r
@@ -201,18 +215,18 @@ DlgImgAlignRight  : "Høyre",
 DlgImgAlignTextTop     : "Tekst topp",\r
 DlgImgAlignTop         : "Topp",\r
 DlgImgPreview          : "Forhåndsvis",\r
-DlgImgAlertUrl         : "Vennligst skriv bildeurlen",\r
+DlgImgAlertUrl         : "Vennligst skriv bilde-urlen",\r
 DlgImgLinkTab          : "Lenke",\r
 \r
 // Flash Dialog\r
-DlgFlashTitle          : "Flash Egenskaper",\r
-DlgFlashChkPlay                : "Auto Spill",\r
+DlgFlashTitle          : "Flash-egenskaper",\r
+DlgFlashChkPlay                : "Autospill",\r
 DlgFlashChkLoop                : "Loop",\r
-DlgFlashChkMenu                : "Slå på Flash meny",\r
+DlgFlashChkMenu                : "Slå på Flash-meny",\r
 DlgFlashScale          : "Skaler",\r
 DlgFlashScaleAll       : "Vis alt",\r
 DlgFlashScaleNoBorder  : "Ingen ramme",\r
-DlgFlashScaleFit       : "Skaler til å passeExact Fit",\r
+DlgFlashScaleFit       : "Skaler til å passe",\r
 \r
 // Link Dialog\r
 DlgLnkWindowTitle      : "Lenke",\r
@@ -221,16 +235,16 @@ DlgLnkTargetTab           : "Mål",
 \r
 DlgLnkType                     : "Lenketype",\r
 DlgLnkTypeURL          : "URL",\r
-DlgLnkTypeAnchor       : "Lenke til bokmerke i teksten",\r
-DlgLnkTypeEMail                : "E-Post",\r
+DlgLnkTypeAnchor       : "Lenke til anker i teksten",\r
+DlgLnkTypeEMail                : "E-post",\r
 DlgLnkProto                    : "Protokoll",\r
 DlgLnkProtoOther       : "<annet>",\r
 DlgLnkURL                      : "URL",\r
-DlgLnkAnchorSel                : "Velg ett anker",\r
+DlgLnkAnchorSel                : "Velg et anker",\r
 DlgLnkAnchorByName     : "Anker etter navn",\r
 DlgLnkAnchorById       : "Element etter ID",\r
-DlgLnkNoAnchors                : "<Ingen anker i dokumentet>",         //REVIEW : Change < and > with ( and )\r
-DlgLnkEMail                    : "E-Post Addresse",\r
+DlgLnkNoAnchors                : "(Ingen anker i dokumentet)",\r
+DlgLnkEMail                    : "E-postadresse",\r
 DlgLnkEMailSubject     : "Meldingsemne",\r
 DlgLnkEMailBody                : "Melding",\r
 DlgLnkUpload           : "Last opp",\r
@@ -240,12 +254,12 @@ DlgLnkTarget              : "Mål",
 DlgLnkTargetFrame      : "<ramme>",\r
 DlgLnkTargetPopup      : "<popup vindu>",\r
 DlgLnkTargetBlank      : "Nytt vindu (_blank)",\r
-DlgLnkTargetParent     : "Foreldre vindu (_parent)",\r
+DlgLnkTargetParent     : "Foreldrevindu (_parent)",\r
 DlgLnkTargetSelf       : "Samme vindu (_self)",\r
 DlgLnkTargetTop                : "Hele vindu (_top)",\r
 DlgLnkTargetFrameName  : "Målramme",\r
-DlgLnkPopWinName       : "Popup vindus navn",\r
-DlgLnkPopWinFeat       : "Popup vindus egenskaper",\r
+DlgLnkPopWinName       : "Navn på popup-vindus",\r
+DlgLnkPopWinFeat       : "Egenskaper for popup-vindu",\r
 DlgLnkPopResize                : "Endre størrelse",\r
 DlgLnkPopLocation      : "Adresselinje",\r
 DlgLnkPopMenu          : "Menylinje",\r
@@ -257,18 +271,18 @@ DlgLnkPopDependent        : "Avhenging (Netscape)",
 DlgLnkPopWidth         : "Bredde",\r
 DlgLnkPopHeight                : "Høyde",\r
 DlgLnkPopLeft          : "Venstre posisjon",\r
-DlgLnkPopTop           : "Topp posisjon",\r
+DlgLnkPopTop           : "Topp-posisjon",\r
 \r
 DlnLnkMsgNoUrl         : "Vennligst skriv inn lenkens url",\r
 DlnLnkMsgNoEMail       : "Vennligst skriv inn e-postadressen",\r
-DlnLnkMsgNoAnchor      : "Vennligst velg ett anker",\r
-DlnLnkMsgInvPopName    : "Popup vinduets navn må begynne med en bokstav, og kan ikke inneholde mellomrom",\r
+DlnLnkMsgNoAnchor      : "Vennligst velg et anker",\r
+DlnLnkMsgInvPopName    : "Popup-vinduets navn må begynne med en bokstav, og kan ikke inneholde mellomrom",\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Velg farge",\r
 DlgColorBtnClear       : "Tøm",\r
 DlgColorHighlight      : "Marker",\r
-DlgColorSelected       : "Velg",\r
+DlgColorSelected       : "Valgt",\r
 \r
 // Smiley Dialog\r
 DlgSmileyTitle         : "Sett inn smil",\r
@@ -277,7 +291,7 @@ DlgSmileyTitle              : "Sett inn smil",
 DlgSpecialCharTitle    : "Velg spesielt tegn",\r
 \r
 // Table Dialog\r
-DlgTableTitle          : "Tabellegenskaper",\r
+DlgTableTitle          : "Egenskaper for tabell",\r
 DlgTableRows           : "Rader",\r
 DlgTableColumns                : "Kolonner",\r
 DlgTableBorder         : "Rammestørrelse",\r
@@ -287,18 +301,23 @@ DlgTableAlignLeft : "Venstre",
 DlgTableAlignCenter    : "Midtjuster",\r
 DlgTableAlignRight     : "Høyre",\r
 DlgTableWidth          : "Bredde",\r
-DlgTableWidthPx                : "pixler",\r
+DlgTableWidthPx                : "piksler",\r
 DlgTableWidthPc                : "prosent",\r
 DlgTableHeight         : "Høyde",\r
-DlgTableCellSpace      : "Celle marg",\r
-DlgTableCellPad                : "Celle polstring",\r
+DlgTableCellSpace      : "Cellemarg",\r
+DlgTableCellPad                : "Cellepolstring",\r
 DlgTableCaption                : "Tittel",\r
 DlgTableSummary                : "Sammendrag",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
-DlgCellTitle           : "Celle egenskaper",\r
+DlgCellTitle           : "Celleegenskaper",\r
 DlgCellWidth           : "Bredde",\r
-DlgCellWidthPx         : "pixeler",\r
+DlgCellWidthPx         : "piksler",\r
 DlgCellWidthPc         : "prosent",\r
 DlgCellHeight          : "Høyde",\r
 DlgCellWordWrap                : "Tekstbrytning",\r
@@ -316,38 +335,43 @@ DlgCellVerAlignTop        : "Topp",
 DlgCellVerAlignMiddle  : "Midten",\r
 DlgCellVerAlignBottom  : "Bunn",\r
 DlgCellVerAlignBaseline        : "Bunnlinje",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Radspenn",\r
 DlgCellCollSpan                : "Kolonnespenn",\r
 DlgCellBackColor       : "Bakgrunnsfarge",\r
 DlgCellBorderColor     : "Rammefarge",\r
 DlgCellBtnSelect       : "Velg...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Søk og erstatt",\r
+\r
 // Find Dialog\r
-DlgFindTitle           : "Finn",\r
-DlgFindFindBtn         : "Finn",\r
-DlgFindNotFoundMsg     : "Den spesifiserte teksten ble ikke funnet.",\r
+DlgFindTitle           : "Søk",\r
+DlgFindFindBtn         : "Søk",\r
+DlgFindNotFoundMsg     : "Fant ikke søketeksten.",\r
 \r
 // Replace Dialog\r
 DlgReplaceTitle                        : "Erstatt",\r
-DlgReplaceFindLbl              : "Finn hva:",\r
+DlgReplaceFindLbl              : "Søk etter:",\r
 DlgReplaceReplaceLbl   : "Erstatt med:",\r
-DlgReplaceCaseChk              : "Riktig case",\r
+DlgReplaceCaseChk              : "Skill mellom store og små bokstaver",\r
 DlgReplaceReplaceBtn   : "Erstatt",\r
 DlgReplaceReplAllBtn   : "Erstatt alle",\r
-DlgReplaceWordChk              : "Finn hele ordet",\r
+DlgReplaceWordChk              : "Bare hele ord",\r
 \r
 // Paste Operations / Dialog\r
-PasteErrorCut  : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst brukt snareveien (Ctrl+X).",\r
-PasteErrorCopy : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst brukt snareveien (Ctrl+C).",\r
+PasteErrorCut  : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl+X).",\r
+PasteErrorCopy : "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl+C).",\r
 \r
 PasteAsText            : "Lim inn som ren tekst",\r
-PasteFromWord  : "Lim inn fra word",\r
+PasteFromWord  : "Lim inn fra Word",\r
 \r
 DlgPasteMsg2   : "Vennligst lim inn i den følgende boksen med tastaturet (<STRONG>Ctrl+V</STRONG>) og trykk <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må lime det igjen i dette vinduet.",\r
 DlgPasteIgnoreFont             : "Fjern skrifttyper",\r
 DlgPasteRemoveStyles   : "Fjern stildefinisjoner",\r
-DlgPasteCleanBox               : "Tøm boksen",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatisk",\r
@@ -369,17 +393,17 @@ DlgSpellBtnIgnoreAll      : "Ignorer alle",
 DlgSpellBtnReplace             : "Erstatt",\r
 DlgSpellBtnReplaceAll  : "Erstatt alle",\r
 DlgSpellBtnUndo                        : "Angre",\r
-DlgSpellNoSuggestions  : "- ingen forslag -",\r
+DlgSpellNoSuggestions  : "- Ingen forslag -",\r
 DlgSpellProgress               : "Stavekontroll pågår...",\r
 DlgSpellNoMispell              : "Stavekontroll fullført: ingen feilstavinger funnet",\r
 DlgSpellNoChanges              : "Stavekontroll fullført: ingen ord endret",\r
 DlgSpellOneChange              : "Stavekontroll fullført: Ett ord endret",\r
 DlgSpellManyChanges            : "Stavekontroll fullført: %1 ord endret",\r
 \r
-IeSpellDownload                        : "Stavekontroll ikke installert, vil du laste den ned nå?",\r
+IeSpellDownload                        : "Stavekontroll er ikke installert. Vil du laste den ned nå?",\r
 \r
 // Button Dialog\r
-DlgButtonText          : "Tekst",\r
+DlgButtonText          : "Tekst (verdi)",\r
 DlgButtonType          : "Type",\r
 DlgButtonTypeBtn       : "Knapp",\r
 DlgButtonTypeSbm       : "Send",\r
@@ -418,7 +442,7 @@ DlgTextareaRows     : "Rader",
 \r
 // Text Field Dialog\r
 DlgTextName                    : "Navn",\r
-DlgTextValue           : "verdi",\r
+DlgTextValue           : "Verdi",\r
 DlgTextCharWidth       : "Tegnbredde",\r
 DlgTextMaxChars                : "Maks antall tegn",\r
 DlgTextType                    : "Type",\r
@@ -430,24 +454,24 @@ DlgHiddenName     : "Navn",
 DlgHiddenValue : "Verdi",\r
 \r
 // Bulleted List Dialog\r
-BulletedListProp       : "Uordnet listeegenskaper",\r
-NumberedListProp       : "Ordnet listeegenskaper",\r
+BulletedListProp       : "Egenskaper for uordnet liste",\r
+NumberedListProp       : "Egenskaper for ordnet liste",\r
 DlgLstStart                    : "Start",\r
 DlgLstType                     : "Type",\r
 DlgLstTypeCircle       : "Sirkel",\r
 DlgLstTypeDisc         : "Hel sirkel",\r
 DlgLstTypeSquare       : "Firkant",\r
-DlgLstTypeNumbers      : "Numre(1, 2, 3)",\r
+DlgLstTypeNumbers      : "Numre (1, 2, 3)",\r
 DlgLstTypeLCase                : "Små bokstaver (a, b, c)",\r
-DlgLstTypeUCase                : "Store bokstaver(A, B, C)",\r
-DlgLstTypeSRoman       : "Små romerske tall(i, ii, iii)",\r
-DlgLstTypeLRoman       : "Store romerske tall(I, II, III)",\r
+DlgLstTypeUCase                : "Store bokstaver (A, B, C)",\r
+DlgLstTypeSRoman       : "Små romerske tall (i, ii, iii)",\r
+DlgLstTypeLRoman       : "Store romerske tall (I, II, III)",\r
 \r
 // Document Properties Dialog\r
-DlgDocGeneralTab       : "Generalt",\r
+DlgDocGeneralTab       : "Generelt",\r
 DlgDocBackTab          : "Bakgrunn",\r
 DlgDocColorsTab                : "Farger og marginer",\r
-DlgDocMetaTab          : "Meta Data",\r
+DlgDocMetaTab          : "Meta-data",\r
 \r
 DlgDocPageTitle                : "Sidetittel",\r
 DlgDocLangDir          : "Språkretning",\r
@@ -462,16 +486,16 @@ DlgDocCharSetGR           : "Gresk",
 DlgDocCharSetJP                : "Japansk",\r
 DlgDocCharSetKR                : "Koreansk",\r
 DlgDocCharSetTR                : "Tyrkisk",\r
-DlgDocCharSetUN                : "Unikode (UTF-8)",\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",\r
 DlgDocCharSetWE                : "Vesteuropeisk",\r
 DlgDocCharSetOther     : "Annet tegnsett",\r
 \r
 DlgDocDocType          : "Dokumenttype header",\r
 DlgDocDocTypeOther     : "Annet dokumenttype header",\r
-DlgDocIncXHTML         : "Inkulder XHTML deklarasjon",\r
+DlgDocIncXHTML         : "Inkluder XHTML-deklarasjon",\r
 DlgDocBgColor          : "Bakgrunnsfarge",\r
-DlgDocBgImage          : "Bakgrunnsbilde url",\r
-DlgDocBgNoScroll       : "Ikke scroll bakgrunnsbilde",\r
+DlgDocBgImage          : "URL for bakgrunnsbilde",\r
+DlgDocBgNoScroll       : "Lås bakgrunnsbilde",\r
 DlgDocCText                    : "Tekst",\r
 DlgDocCLink                    : "Link",\r
 DlgDocCVisited         : "Besøkt lenke",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Om",
 DlgAboutBrowserInfoTab : "Nettleserinfo",\r
 DlgAboutLicenseTab     : "Lisens",\r
 DlgAboutVersion                : "versjon",\r
-DlgAboutInfo           : "For further information go to"       //MISSING\r
-};
\ No newline at end of file
+DlgAboutInfo           : "For mer informasjon, se",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Generelt",\r
+DlgDivAdvancedTab      : "Avansert",\r
+DlgDivStyle            : "Stil",\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index f01994d..5708832 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Usuń formatowanie",
 InsertLinkLbl          : "Hiperłącze",\r
 InsertLink                     : "Wstaw/edytuj hiperłącze",\r
 RemoveLink                     : "Usuń hiperłącze",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Wstaw/edytuj kotwicę",\r
+AnchorDelete           : "Usuń kotwicę",\r
 InsertImageLbl         : "Obrazek",\r
 InsertImage                    : "Wstaw/edytuj obrazek",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Wyrównaj do prawej",
 BlockJustify           : "Wyrównaj do lewej i prawej",\r
 DecreaseIndent         : "Zmniejsz wcięcie",\r
 IncreaseIndent         : "Zwiększ wcięcie",\r
+Blockquote                     : "Cytat",\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Cofnij",\r
 Redo                           : "Ponów",\r
 NumberedListLbl                : "Lista numerowana",\r
@@ -93,30 +99,37 @@ PageBreakLbl                : "Odstęp",
 PageBreak                      : "Wstaw odstęp",\r
 \r
 Form                   : "Formularz",\r
-Checkbox               : "Checkbox",\r
-RadioButton            : "Pole wyboru",\r
+Checkbox               : "Pole wyboru (checkbox)",\r
+RadioButton            : "Pole wyboru (radio)",\r
 TextField              : "Pole tekstowe",\r
 Textarea               : "Obszar tekstowy",\r
 HiddenField            : "Pole ukryte",\r
 Button                 : "Przycisk",\r
 SelectionField : "Lista wyboru",\r
-ImageButton            : "Przycisk obrazek",\r
+ImageButton            : "Przycisk-obrazek",\r
 \r
 FitWindow              : "Maksymalizuj rozmiar edytora",\r
+ShowBlocks             : "Pokaż bloki",\r
 \r
 // Context Menu\r
 EditLink                       : "Edytuj hiperłącze",\r
 CellCM                         : "Komórka",\r
 RowCM                          : "Wiersz",\r
 ColumnCM                       : "Kolumna",\r
-InsertRow                      : "Wstaw wiersz",\r
+InsertRowAfter         : "Wstaw wiersz poniżej",\r
+InsertRowBefore                : "Wstaw wiersz powyżej",\r
 DeleteRows                     : "Usuń wiersze",\r
-InsertColumn           : "Wstaw kolumnę",\r
+InsertColumnAfter      : "Wstaw kolumnę z prawej",\r
+InsertColumnBefore     : "Wstaw kolumnę z lewej",\r
 DeleteColumns          : "Usuń kolumny",\r
-InsertCell                     : "Wstaw komórkę",\r
+InsertCellAfter                : "Wstaw komórkę z prawej",\r
+InsertCellBefore       : "Wstaw komórkę z lewej",\r
 DeleteCells                    : "Usuń komórki",\r
 MergeCells                     : "Połącz komórki",\r
-SplitCell                      : "Podziel komórkę",\r
+MergeRight                     : "Połącz z komórką z prawej",\r
+MergeDown                      : "Połącz z komórką poniżej",\r
+HorizontalSplitCell    : "Podziel komórkę poziomo",\r
+VerticalSplitCell      : "Podziel komórkę pionowo",\r
 TableDelete                    : "Usuń tabelę",\r
 CellProperties         : "Właściwości komórki",\r
 TableProperties                : "Właściwości tabeli",\r
@@ -125,16 +138,16 @@ FlashProperties           : "Właściwości elementu Flash",
 \r
 AnchorProp                     : "Właściwości kotwicy",\r
 ButtonProp                     : "Właściwości przycisku",\r
-CheckboxProp           : "Checkbox - właściwości",\r
+CheckboxProp           : "Właściwości pola wyboru (checkbox)",\r
 HiddenFieldProp                : "Właściwości pola ukrytego",\r
-RadioButtonProp                : "Właściwości pola wyboru",\r
+RadioButtonProp                : "Właściwości pola wyboru (radio)",\r
 ImageButtonProp                : "Właściwości przycisku obrazka",\r
 TextFieldProp          : "Właściwości pola tekstowego",\r
 SelectionFieldProp     : "Właściwości listy wyboru",\r
 TextareaProp           : "Właściwości obszaru tekstowego",\r
 FormProp                       : "Właściwości formularza",\r
 \r
-FontFormats                    : "Normalny;Tekst sformatowany;Adres;Nagłówek 1;Nagłówek 2;Nagłówek 3;Nagłówek 4;Nagłówek 5;Nagłówek 6",            //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normalny;Tekst sformatowany;Adres;Nagłówek 1;Nagłówek 2;Nagłówek 3;Nagłówek 4;Nagłówek 5;Nagłówek 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Przetwarzanie XHTML. Proszę czekać...",\r
@@ -146,8 +159,9 @@ UnknownCommand              : "Nieznana komenda \"%1\"",
 NotImplemented         : "Komenda niezaimplementowana",\r
 UnknownToolbarSet      : "Pasek narzędzi \"%1\" nie istnieje",\r
 NoActiveX                      : "Ustawienia zabezpieczeń twojej przeglądarki mogą ograniczyć niektóre funkcje edytora. Musisz włączyć opcję \"Uruchamianie formantów Activex i dodatków plugin\". W przeciwnym wypadku mogą pojawiać się błędy.",\r
-BrowseServerBlocked : "Okno menadżera plików nie może zostać otwarte. Upewnij się, że wszystkie blokady popup są wyłączone.",\r
-DialogBlocked          : "Nie można otworzyć okna dialogowego. Upewnij się, że wszystkie blokady popup są wyłączone.",\r
+BrowseServerBlocked : "Nie można otworzyć okno menadżera plików. Upewnij się, że wszystkie blokady wyskakujących okienek są wyłączone.",\r
+DialogBlocked          : "Nie można otworzyć okna dialogowego. Upewnij się, że wszystkie blokady wyskakujących okienek są wyłączone.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -160,7 +174,7 @@ DlgInfoTab                  : "Informacje",
 DlgAlertUrl                    : "Proszę podać URL",\r
 \r
 // General Dialogs Labels\r
-DlgGenNotSet           : "<nieustawione>",\r
+DlgGenNotSet           : "<nie ustawione>",\r
 DlgGenId                       : "Id",\r
 DlgGenLangDir          : "Kierunek tekstu",\r
 DlgGenLangDirLtr       : "Od lewej do prawej (LTR)",\r
@@ -169,17 +183,17 @@ DlgGenLangCode            : "Kod języka",
 DlgGenAccessKey                : "Klawisz dostępu",\r
 DlgGenName                     : "Nazwa",\r
 DlgGenTabIndex         : "Indeks tabeli",\r
-DlgGenLongDescr                : "Long Description URL",\r
-DlgGenClass                    : "Stylesheet Classes",\r
-DlgGenTitle                    : "Advisory Title",\r
-DlgGenContType         : "Advisory Content Type",\r
-DlgGenLinkCharset      : "Linked Resource Charset",\r
+DlgGenLongDescr                : "Długi opis hiperłącza",\r
+DlgGenClass                    : "Nazwa klasy CSS",\r
+DlgGenTitle                    : "Opis obiektu docelowego",\r
+DlgGenContType         : "Typ MIME obiektu docelowego",\r
+DlgGenLinkCharset      : "Kodowanie znaków obiektu docelowego",\r
 DlgGenStyle                    : "Styl",\r
 \r
 // Image Dialog\r
 DlgImgTitle                    : "Właściwości obrazka",\r
 DlgImgInfoTab          : "Informacje o obrazku",\r
-DlgImgBtnUpload                : "Syślij",\r
+DlgImgBtnUpload                : "Wyślij",\r
 DlgImgURL                      : "Adres URL",\r
 DlgImgUpload           : "Wyślij",\r
 DlgImgAlt                      : "Tekst zastępczy",\r
@@ -202,7 +216,7 @@ DlgImgAlignTextTop  : "Do góry tekstu",
 DlgImgAlignTop         : "Do góry",\r
 DlgImgPreview          : "Podgląd",\r
 DlgImgAlertUrl         : "Podaj adres obrazka.",\r
-DlgImgLinkTab          : "Link",\r
+DlgImgLinkTab          : "Hiperłącze",\r
 \r
 // Flash Dialog\r
 DlgFlashTitle          : "Właściwości elementu Flash",\r
@@ -229,11 +243,11 @@ DlgLnkURL                 : "Adres URL",
 DlgLnkAnchorSel                : "Wybierz etykietę",\r
 DlgLnkAnchorByName     : "Wg etykiety",\r
 DlgLnkAnchorById       : "Wg identyfikatora elementu",\r
-DlgLnkNoAnchors                : "<W dokumencie nie zdefiniowano żadnych etykiet>",           //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(W dokumencie nie zdefiniowano żadnych etykiet)",\r
 DlgLnkEMail                    : "Adres e-mail",\r
 DlgLnkEMailSubject     : "Temat",\r
 DlgLnkEMailBody                : "Treść",\r
-DlgLnkUpload           : "Upload",\r
+DlgLnkUpload           : "Wyślij",\r
 DlgLnkBtnUpload                : "Wyślij",\r
 \r
 DlgLnkTarget           : "Cel",\r
@@ -262,7 +276,7 @@ DlgLnkPopTop                : "Pozycja w pionie",
 DlnLnkMsgNoUrl         : "Podaj adres URL",\r
 DlnLnkMsgNoEMail       : "Podaj adres e-mail",\r
 DlnLnkMsgNoAnchor      : "Wybierz etykietę",\r
-DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
+DlnLnkMsgInvPopName    : "Nazwa wyskakującego okienka musi zaczynać się od znaku alfanumerycznego i nie może zawierać spacji",\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Wybierz kolor",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Odstęp pomiędzy komórkami",
 DlgTableCellPad                : "Margines wewnętrzny komórek",\r
 DlgTableCaption                : "Tytuł",\r
 DlgTableSummary                : "Podsumowanie",\r
+DlgTableHeaders                : "Nagłówki",\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Właściwości komórki",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Do góry",
 DlgCellVerAlignMiddle  : "Do środka",\r
 DlgCellVerAlignBottom  : "Do dołu",\r
 DlgCellVerAlignBaseline        : "Do linii bazowej",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Zajętość wierszy",\r
 DlgCellCollSpan                : "Zajętość kolumn",\r
 DlgCellBackColor       : "Kolor tła",\r
 DlgCellBorderColor     : "Kolor ramki",\r
 DlgCellBtnSelect       : "Wybierz...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Znajdź i zamień",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Znajdź",\r
 DlgFindFindBtn         : "Znajdź",\r
@@ -344,10 +369,9 @@ PasteAsText                : "Wklej jako czysty tekst",
 PasteFromWord  : "Wklej z Worda",\r
 \r
 DlgPasteMsg2   : "Proszę wkleić w poniższym polu używając klawiaturowego skrótu (<STRONG>Ctrl+V</STRONG>) i kliknąć <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "Zabezpieczenia przeglądarki uniemożliwiają wklejenie danych bezpośrednio do edytora. Proszę dane wkleić ponownie w tym okienku.",\r
 DlgPasteIgnoreFont             : "Ignoruj definicje 'Font Face'",\r
 DlgPasteRemoveStyles   : "Usuń definicje Stylów",\r
-DlgPasteCleanBox               : "Wyczyść",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatycznie",\r
@@ -368,7 +392,7 @@ DlgSpellBtnIgnore           : "Ignoruj",
 DlgSpellBtnIgnoreAll   : "Ignoruj wszystkie",\r
 DlgSpellBtnReplace             : "Zmień",\r
 DlgSpellBtnReplaceAll  : "Zmień wszystkie",\r
-DlgSpellBtnUndo                        : "Undo",\r
+DlgSpellBtnUndo                        : "Cofnij",\r
 DlgSpellNoSuggestions  : "- Brak sugestii -",\r
 DlgSpellProgress               : "Trwa sprawdzanie ...",\r
 DlgSpellNoMispell              : "Sprawdzanie zakończone: nie znaleziono błędów",\r
@@ -381,14 +405,14 @@ IeSpellDownload                   : "Słownik nie jest zainstalowany. Chcesz go ściągnąć?",
 // Button Dialog\r
 DlgButtonText          : "Tekst (Wartość)",\r
 DlgButtonType          : "Typ",\r
-DlgButtonTypeBtn       : "Button",     //MISSING\r
-DlgButtonTypeSbm       : "Submit",     //MISSING\r
-DlgButtonTypeRst       : "Reset",      //MISSING\r
+DlgButtonTypeBtn       : "Przycisk",\r
+DlgButtonTypeSbm       : "Wyślij",\r
+DlgButtonTypeRst       : "Wyzeruj",\r
 \r
 // Checkbox and Radio Button Dialogs\r
 DlgCheckboxName                : "Nazwa",\r
 DlgCheckboxValue       : "Wartość",\r
-DlgCheckboxSelected    : "Zaznaczony",\r
+DlgCheckboxSelected    : "Zaznaczone",\r
 \r
 // Form Dialog\r
 DlgFormName            : "Nazwa",\r
@@ -432,7 +456,7 @@ DlgHiddenValue      : "Wartość",
 // Bulleted List Dialog\r
 BulletedListProp       : "Właściwości listy punktowanej",\r
 NumberedListProp       : "Właściwości listy numerowanej",\r
-DlgLstStart                    : "Start",      //MISSING\r
+DlgLstStart                    : "Początek",\r
 DlgLstType                     : "Typ",\r
 DlgLstTypeCircle       : "Koło",\r
 DlgLstTypeDisc         : "Dysk",\r
@@ -455,18 +479,18 @@ DlgDocLangDirLTR  : "Od lewej do prawej (LTR)",
 DlgDocLangDirRTL       : "Od prawej do lewej (RTL)",\r
 DlgDocLangCode         : "Kod języka",\r
 DlgDocCharSet          : "Kodowanie znaków",\r
-DlgDocCharSetCE                : "Central European",   //MISSING\r
-DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
-DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
-DlgDocCharSetGR                : "Greek",      //MISSING\r
-DlgDocCharSetJP                : "Japanese",   //MISSING\r
-DlgDocCharSetKR                : "Korean",     //MISSING\r
-DlgDocCharSetTR                : "Turkish",    //MISSING\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
-DlgDocCharSetWE                : "Western European",   //MISSING\r
+DlgDocCharSetCE                : "Środkowoeuropejskie",\r
+DlgDocCharSetCT                : "Chińskie tradycyjne (Big5)",\r
+DlgDocCharSetCR                : "Cyrylica",\r
+DlgDocCharSetGR                : "Greckie",\r
+DlgDocCharSetJP                : "Japońskie",\r
+DlgDocCharSetKR                : "Koreańskie",\r
+DlgDocCharSetTR                : "Tureckie",\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",\r
+DlgDocCharSetWE                : "Zachodnioeuropejskie",\r
 DlgDocCharSetOther     : "Inne kodowanie znaków",\r
 \r
-DlgDocDocType          : "Nagłowek typu dokumentu",\r
+DlgDocDocType          : "Nagłówek typu dokumentu",\r
 DlgDocDocTypeOther     : "Inny typ dokumentu",\r
 DlgDocIncXHTML         : "Dołącz deklarację XHTML",\r
 DlgDocBgColor          : "Kolor tła",\r
@@ -484,21 +508,32 @@ DlgDocMaBottom            : "Dolny",
 DlgDocMeIndex          : "Słowa kluczowe (oddzielone przecinkami)",\r
 DlgDocMeDescr          : "Opis dokumentu",\r
 DlgDocMeAuthor         : "Autor",\r
-DlgDocMeCopy           : "Copyright",\r
+DlgDocMeCopy           : "Prawa autorskie",\r
 DlgDocPreview          : "Podgląd",\r
 \r
 // Templates Dialog\r
-Templates                      : "Sablony",\r
+Templates                      : "Szablony",\r
 DlgTemplatesTitle      : "Szablony zawartości",\r
 DlgTemplatesSelMsg     : "Wybierz szablon do otwarcia w edytorze<br>(obecna zawartość okna edytora zostanie utracona):",\r
 DlgTemplatesLoading    : "Ładowanie listy szablonów. Proszę czekać...",\r
 DlgTemplatesNoTpl      : "(Brak zdefiniowanych szablonów)",\r
-DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
+DlgTemplatesReplace    : "Zastąp aktualną zawartość",\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "O ...",\r
 DlgAboutBrowserInfoTab : "O przeglądarce",\r
 DlgAboutLicenseTab     : "Licencja",\r
 DlgAboutVersion                : "wersja",\r
-DlgAboutInfo           : "Więcej informacji uzyskasz pod adresem"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Więcej informacji uzyskasz pod adresem",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 53a2b5d..4ae448f 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Remover Formatação",
 InsertLinkLbl          : "Hiperlink",\r
 InsertLink                     : "Inserir/Editar Hiperlink",\r
 RemoveLink                     : "Remover Hiperlink",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Inserir/Editar Âncora",\r
+AnchorDelete           : "Remover Âncora",\r
 InsertImageLbl         : "Figura",\r
 InsertImage                    : "Inserir/Editar Figura",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Alinhar Direita",
 BlockJustify           : "Justificado",\r
 DecreaseIndent         : "Diminuir Recuo",\r
 IncreaseIndent         : "Aumentar Recuo",\r
+Blockquote                     : "Recuo",\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Desfazer",\r
 Redo                           : "Refazer",\r
 NumberedListLbl                : "Numeração",\r
@@ -103,20 +109,27 @@ SelectionField    : "Caixa de Listagem",
 ImageButton            : "Botão de Imagem",\r
 \r
 FitWindow              : "Maximizar o tamanho do editor",\r
+ShowBlocks             : "Mostrar blocos",\r
 \r
 // Context Menu\r
 EditLink                       : "Editar Hiperlink",\r
 CellCM                         : "Célula",\r
 RowCM                          : "Linha",\r
 ColumnCM                       : "Coluna",\r
-InsertRow                      : "Inserir Linha",\r
+InsertRowAfter         : "Inserir linha abaixo",\r
+InsertRowBefore                : "Inserir linha acima",\r
 DeleteRows                     : "Remover Linhas",\r
-InsertColumn           : "Inserir Coluna",\r
+InsertColumnAfter      : "Inserir coluna à direita",\r
+InsertColumnBefore     : "Inserir coluna à esquerda",\r
 DeleteColumns          : "Remover Colunas",\r
-InsertCell                     : "Inserir Células",\r
+InsertCellAfter                : "Inserir célula à direita",\r
+InsertCellBefore       : "Inserir célula à esquerda",\r
 DeleteCells                    : "Remover Células",\r
 MergeCells                     : "Mesclar Células",\r
-SplitCell                      : "Dividir Célular",\r
+MergeRight                     : "Mesclar com célula à direita",\r
+MergeDown                      : "Mesclar com célula abaixo",\r
+HorizontalSplitCell    : "Dividir célula horizontalmente",\r
+VerticalSplitCell      : "Dividir célula verticalmente",\r
 TableDelete                    : "Apagar Tabela",\r
 CellProperties         : "Formatar Célula",\r
 TableProperties                : "Formatar Tabela",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Formatar Caixa de Listagem",
 TextareaProp           : "Formatar Área de Texto",\r
 FormProp                       : "Formatar Formulário",\r
 \r
-FontFormats                    : "Normal;Formatado;Endereço;Título 1;Título 2;Título 3;Título 4;Título 5;Título 6",             //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatado;Endereço;Título 1;Título 2;Título 3;Título 4;Título 5;Título 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Processando XHTML. Por favor, aguarde...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "A barra de ferramentas \"%1\" não existe",
 NoActiveX                      : "As configurações de segurança do seu browser podem limitar algumas características do editor. Você precisa habilitar a opção \"Executar controles e plug-ins ActiveX\". Você pode experimentar erros e alertas de características faltantes.",\r
 BrowseServerBlocked : "Os recursos do browser não puderam ser abertos. Tenha certeza que todos os bloqueadores de popup estão desabilitados.",\r
 DialogBlocked          : "Não foi possível abrir a janela de diálogo. Tenha certeza que todos os bloqueadores de popup estão desabilitados.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL do hiperlink",
 DlgLnkAnchorSel                : "Selecione uma âncora",\r
 DlgLnkAnchorByName     : "Pelo Nome da âncora",\r
 DlgLnkAnchorById       : "Pelo Id do Elemento",\r
-DlgLnkNoAnchors                : "(Não há âncoras disponíveis neste documento)",           //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Não há âncoras disponíveis neste documento)",\r
 DlgLnkEMail                    : "Endereço E-Mail",\r
 DlgLnkEMailSubject     : "Assunto da Mensagem",\r
 DlgLnkEMailBody                : "Corpo da Mensagem",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Espaçamento",
 DlgTableCellPad                : "Enchimento",\r
 DlgTableCaption                : "Legenda",\r
 DlgTableSummary                : "Resumo",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Formatar célula",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Superior",
 DlgCellVerAlignMiddle  : "Centralizado",\r
 DlgCellVerAlignBottom  : "Inferior",\r
 DlgCellVerAlignBaseline        : "Baseline",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Transpor Linhas",\r
 DlgCellCollSpan                : "Transpor Colunas",\r
 DlgCellBackColor       : "Cor do Plano de Fundo",\r
 DlgCellBorderColor     : "Cor da Borda",\r
 DlgCellBtnSelect       : "Selecionar...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Localizar e Substituir",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Localizar...",\r
 DlgFindFindBtn         : "Localizar",\r
@@ -344,10 +369,9 @@ PasteAsText                : "Colar como Texto sem Formatação",
 PasteFromWord  : "Colar do Word",\r
 \r
 DlgPasteMsg2   : "Transfira o link usado no box usando o teclado com (<STRONG>Ctrl+V</STRONG>) e <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "As configurações de segurança do seu navegador não permitem que o editor acesse os dados da área de transferência diretamente. Por favor cole o conteúdo novamente nesta janela.",\r
 DlgPasteIgnoreFont             : "Ignorar definições de fonte",\r
 DlgPasteRemoveStyles   : "Remove definições de estilo",\r
-DlgPasteCleanBox               : "Limpar Box",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automático",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Sobre",
 DlgAboutBrowserInfoTab : "Informações do Navegador",\r
 DlgAboutLicenseTab     : "Licença",\r
 DlgAboutVersion                : "versão",\r
-DlgAboutInfo           : "Para maiores informações visite"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Para maiores informações visite",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 23bab35..6a88429 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Eliminar Formato",
 InsertLinkLbl          : "Hiperligação",\r
 InsertLink                     : "Inserir/Editar Hiperligação",\r
 RemoveLink                     : "Eliminar Hiperligação",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : " Inserir/Editar Âncora",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Imagem",\r
 InsertImage                    : "Inserir/Editar Imagem",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Alinhar à Direita",
 BlockJustify           : "Justificado",\r
 DecreaseIndent         : "Diminuir Avanço",\r
 IncreaseIndent         : "Aumentar Avanço",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Anular",\r
 Redo                           : "Repetir",\r
 NumberedListLbl                : "Numeração",\r
@@ -103,20 +109,27 @@ SelectionField    : "Caixa de Combinação",
 ImageButton            : "Botão de Imagem",\r
 \r
 FitWindow              : "Maximizar o tamanho do editor",\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Editar Hiperligação",\r
 CellCM                         : "Célula",\r
 RowCM                          : "Linha",\r
 ColumnCM                       : "Coluna",\r
-InsertRow                      : "Inserir Linha",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "Eliminar Linhas",\r
-InsertColumn           : "Inserir Coluna",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "Eliminar Coluna",\r
-InsertCell                     : "Inserir Célula",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "Eliminar Célula",\r
 MergeCells                     : "Unir Células",\r
-SplitCell                      : "Dividir Célula",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "Eliminar Tabela",\r
 CellProperties         : "Propriedades da Célula",\r
 TableProperties                : "Propriedades da Tabela",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Propriedades da Caixa de Combinação",
 TextareaProp           : "Propriedades da Área de Texto",\r
 FormProp                       : "Propriedades do Formulário",\r
 \r
-FontFormats                    : "Normal;Formatado;Endereço;Título 1;Título 2;Título 3;Título 4;Título 5;Título 6",             //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatado;Endereço;Título 1;Título 2;Título 3;Título 4;Título 5;Título 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "A Processar XHTML. Por favor, espere...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Nome de barra \"%1\" não definido",
 NoActiveX                      : "As definições de segurança do navegador podem limitar algumas potencalidades do editr. Deve activar a opção \"Executar controlos e extensões ActiveX\". Pode ocorrer erros ou verificar que faltam potencialidades.",\r
 BrowseServerBlocked : "Não foi possível abrir o navegador de recursos. Certifique-se que todos os bloqueadores de popup estão desactivados.",\r
 DialogBlocked          : "Não foi possível abrir a janela de diálogo. Certifique-se que todos os bloqueadores de popup estão desactivados.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Seleccionar una referência",\r
 DlgLnkAnchorByName     : "Por Nome de Referência",\r
 DlgLnkAnchorById       : "Por ID de elemento",\r
-DlgLnkNoAnchors                : "<Não há referências disponíveis no documento>",          //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Não há referências disponíveis no documento)",\r
 DlgLnkEMail                    : "Endereço de E-Mail",\r
 DlgLnkEMailSubject     : "Título de Mensagem",\r
 DlgLnkEMailBody                : "Corpo da Mensagem",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Esp. e/células",
 DlgTableCellPad                : "Esp. interior",\r
 DlgTableCaption                : "Título",\r
 DlgTableSummary                : "Sumário",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Propriedades da Célula",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Topo",
 DlgCellVerAlignMiddle  : "Médio",\r
 DlgCellVerAlignBottom  : "Fundi",\r
 DlgCellVerAlignBaseline        : "Linha de Base",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Unir Linhas",\r
 DlgCellCollSpan                : "Unir Colunas",\r
 DlgCellBackColor       : "Cor do Fundo",\r
 DlgCellBorderColor     : "Cor do Limite",\r
 DlgCellBtnSelect       : "Seleccione...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Procurar",\r
 DlgFindFindBtn         : "Procurar",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Por favor, cole dentro da seguinte caixa usando o teclado (<STRO
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignorar da definições do Tipo de Letra ",\r
 DlgPasteRemoveStyles   : "Remover as definições de Estilos",\r
-DlgPasteCleanBox               : "Caixa de Limpeza",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automático",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Acerca",
 DlgAboutBrowserInfoTab : "Informação do Nevegador",\r
 DlgAboutLicenseTab     : "Licença",\r
 DlgAboutVersion                : "versão",\r
-DlgAboutInfo           : "Para mais informações por favor dirija-se a"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Para mais informações por favor dirija-se a",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 1f36961..51640a5 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Înlătură formatarea",
 InsertLinkLbl          : "Link (Legătură web)",\r
 InsertLink                     : "Inserează/Editează link (legătură web)",\r
 RemoveLink                     : "Înlătură link (legătură web)",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Inserează/Editează ancoră",\r
+AnchorDelete           : "Şterge ancoră",\r
 InsertImageLbl         : "Imagine",\r
 InsertImage                    : "Inserează/Editează imagine",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Aliniere la dreapta",
 BlockJustify           : "Aliniere în bloc (Block Justify)",\r
 DecreaseIndent         : "Scade indentarea",\r
 IncreaseIndent         : "Creşte indentarea",\r
+Blockquote                     : "Citat",\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Starea anterioară (undo)",\r
 Redo                           : "Starea ulterioară (redo)",\r
 NumberedListLbl                : "Listă numerotată",\r
@@ -103,20 +109,27 @@ SelectionField    : "Câmp selecţie (SelectionField)",
 ImageButton            : "Buton imagine (ImageButton)",\r
 \r
 FitWindow              : "Maximizează mărimea editorului",\r
+ShowBlocks             : "Arată blocurile",\r
 \r
 // Context Menu\r
 EditLink                       : "Editează Link",\r
 CellCM                         : "Celulă",\r
 RowCM                          : "Linie",\r
 ColumnCM                       : "Coloană",\r
-InsertRow                      : "Inserează linie",\r
+InsertRowAfter         : "Inserează linie după",\r
+InsertRowBefore                : "Inserează linie înainte",\r
 DeleteRows                     : "Şterge linii",\r
-InsertColumn           : "Inserează coloană",\r
+InsertColumnAfter      : "Inserează coloană după",\r
+InsertColumnBefore     : "Inserează coloană înainte",\r
 DeleteColumns          : "Şterge celule",\r
-InsertCell                     : "Inserează celulă",\r
+InsertCellAfter                : "Inserează celulă după",\r
+InsertCellBefore       : "Inserează celulă înainte",\r
 DeleteCells                    : "Şterge celule",\r
 MergeCells                     : "Uneşte celule",\r
-SplitCell                      : "Împarte celulă",\r
+MergeRight                     : "Uneşte la dreapta",\r
+MergeDown                      : "Uneşte jos",\r
+HorizontalSplitCell    : "Împarte celula pe orizontală",\r
+VerticalSplitCell      : "Împarte celula pe verticală",\r
 TableDelete                    : "Şterge tabel",\r
 CellProperties         : "Proprietăţile celulei",\r
 TableProperties                : "Proprietăţile tabelului",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Proprietăţi câmp selecţie (Selection Field)",
 TextareaProp           : "Proprietăţi suprafaţă text (Textarea)",\r
 FormProp                       : "Proprietăţi formular (Form)",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html    //MISSING\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",  //MISSING\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Procesăm XHTML. Vă rugăm aşteptaţi...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Grupul din bara cu opţiuni \"%1\" nu există",
 NoActiveX                      : "Setările de securitate ale programului dvs. cu care navigaţi pe internet (browser) pot limita anumite funcţionalităţi ale editorului. Pentru a evita asta, trebuie să activaţi opţiunea \"Run ActiveX controls and plug-ins\". Poate veţi întâlni erori sau veţi observa funcţionalităţi lipsă.",\r
 BrowseServerBlocked : "The resources browser could not be opened. Asiguraţi-vă că nu e activ niciun \"popup blocker\" (funcţionalitate a programului de navigat (browser) sau a unui plug-in al acestuia de a bloca deschiderea unui noi ferestre).",\r
 DialogBlocked          : "Nu a fost posibilă deschiderea unei ferestre de dialog. Asiguraţi-vă că nu e activ niciun \"popup blocker\" (funcţionalitate a programului de navigat (browser) sau a unui plug-in al acestuia de a bloca deschiderea unui noi ferestre).",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Bine",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Selectaţi o ancoră",\r
 DlgLnkAnchorByName     : "după numele ancorei",\r
 DlgLnkAnchorById       : "după Id-ul elementului",\r
-DlgLnkNoAnchors                : "<Nicio ancoră disponibilă în document>",          //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Nicio ancoră disponibilă în document)",\r
 DlgLnkEMail                    : "Adresă de e-mail",\r
 DlgLnkEMailSubject     : "Subiectul mesajului",\r
 DlgLnkEMailBody                : "Conţinutul mesajului",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Spaţiu între celule",
 DlgTableCellPad                : "Spaţiu în cadrul celulei",\r
 DlgTableCaption                : "Titlu (Caption)",\r
 DlgTableSummary                : "Rezumat",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Proprietăţile celulei",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Sus",
 DlgCellVerAlignMiddle  : "Mijloc",\r
 DlgCellVerAlignBottom  : "Jos",\r
 DlgCellVerAlignBaseline        : "Linia de jos (Baseline)",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Lungimea în linii (Span)",\r
 DlgCellCollSpan                : "Lungimea în coloane (Span)",\r
 DlgCellBackColor       : "Culoarea fundalului",\r
 DlgCellBorderColor     : "Culoarea marginii",\r
 DlgCellBtnSelect       : "Selectaţi...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Găseşte şi înlocuieşte",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Găseşte",\r
 DlgFindFindBtn         : "Găseşte",\r
@@ -344,10 +369,9 @@ PasteAsText                : "Adaugă ca text simplu (Plain Text)",
 PasteFromWord  : "Adaugă din Word",\r
 \r
 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>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "Din cauza setărilor de securitate ale programului dvs. cu care navigaţi pe internet (browser), editorul nu poate accesa direct datele din clipboard. Va trebui să adăugaţi din nou datele în această fereastră.",\r
 DlgPasteIgnoreFont             : "Ignoră definiţiile Font Face",\r
 DlgPasteRemoveStyles   : "Şterge definiţiile stilurilor",\r
-DlgPasteCleanBox               : "Şterge căsuţa",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatic",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Despre",
 DlgAboutBrowserInfoTab : "Informaţii browser",\r
 DlgAboutLicenseTab     : "Licenţă",\r
 DlgAboutVersion                : "versiune",\r
-DlgAboutInfo           : "Pentru informaţii amănunţite, vizitaţi"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Pentru informaţii amănunţite, vizitaţi",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index fdf151b..fb0267f 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Убрать форматирование",
 InsertLinkLbl          : "Ссылка",\r
 InsertLink                     : "Вставить/Редактировать ссылку",\r
 RemoveLink                     : "Убрать ссылку",\r
+VisitLink                      : "Перейти по ссылке",\r
 Anchor                         : "Вставить/Редактировать якорь",\r
+AnchorDelete           : "Убрать якорь",\r
 InsertImageLbl         : "Изображение",\r
 InsertImage                    : "Вставить/Редактировать изображение",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "По правому краю",
 BlockJustify           : "По ширине",\r
 DecreaseIndent         : "Уменьшить отступ",\r
 IncreaseIndent         : "Увеличить отступ",\r
+Blockquote                     : "Цитата",\r
+CreateDiv                      : "Создать Div контейнер",\r
+EditDiv                                : "Редактировать Div контейнер",\r
+DeleteDiv                      : "Удалить Div контейнер",\r
 Undo                           : "Отменить",\r
 Redo                           : "Повторить",\r
 NumberedListLbl                : "Нумерованный список",\r
@@ -103,20 +109,27 @@ SelectionField    : "Список",
 ImageButton            : "Кнопка с изображением",\r
 \r
 FitWindow              : "Развернуть окно редактора",\r
+ShowBlocks             : "Показать блоки",\r
 \r
 // Context Menu\r
 EditLink                       : "Вставить ссылку",\r
 CellCM                         : "Ячейка",\r
 RowCM                          : "Строка",\r
 ColumnCM                       : "Колонка",\r
-InsertRow                      : "Вставить строку",\r
+InsertRowAfter         : "Вставить строку после",\r
+InsertRowBefore                : "Вставить строку до",\r
 DeleteRows                     : "Удалить строки",\r
-InsertColumn           : "Вставить колонку",\r
+InsertColumnAfter      : "Вставить колонку после",\r
+InsertColumnBefore     : "Вставить колонку до",\r
 DeleteColumns          : "Удалить колонки",\r
-InsertCell                     : "Вставить ячейку",\r
+InsertCellAfter                : "Вставить ячейку после",\r
+InsertCellBefore       : "Вставить ячейку до",\r
 DeleteCells                    : "Удалить ячейки",\r
 MergeCells                     : "Соединить ячейки",\r
-SplitCell                      : "Разбить ячейку",\r
+MergeRight                     : "Соединить вправо",\r
+MergeDown                      : "Соединить вниз",\r
+HorizontalSplitCell    : "Разбить ячейку горизонтально",\r
+VerticalSplitCell      : "Разбить ячейку вертикально",\r
 TableDelete                    : "Удалить таблицу",\r
 CellProperties         : "Свойства ячейки",\r
 TableProperties                : "Свойства таблицы",\r
@@ -134,10 +147,10 @@ SelectionFieldProp        : "Свойства списка",
 TextareaProp           : "Свойства текстовой области",\r
 FormProp                       : "Свойства формы",\r
 \r
-FontFormats                    : "Нормальный;Форматированный;Адрес;Заголовок 1;Заголовок 2;Заголовок 3;Заголовок 4;Заголовок 5;Заголовок 6;Нормальный (DIV)",            //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Нормальный;Форматированный;Адрес;Заголовок 1;Заголовок 2;Заголовок 3;Заголовок 4;Заголовок 5;Заголовок 6;Нормальный (DIV)",\r
 \r
 // Alerts and Messages\r
-ProcessingXHTML                : "Обработка XHTML. Пожалуйста подождите...",\r
+ProcessingXHTML                : "Обработка XHTML. Пожалуйста, подождите...",\r
 Done                           : "Сделано",\r
 PasteWordConfirm       : "Текст, который вы хотите вставить, похож на копируемый из Word. Вы хотите очистить его перед вставкой?",\r
 NotCompatiblePaste     : "Эта команда доступна для Internet Explorer версии 5.5 или выше. Вы хотите вставить без очистки?",\r
@@ -147,7 +160,8 @@ NotImplemented              : "Команда не реализована",
 UnknownToolbarSet      : "Панель инструментов \"%1\" не существует",\r
 NoActiveX                      : "Настройки безопасности вашего браузера могут ограничивать некоторые свойства редактора. Вы должны включить опцию \"Запускать элементы управления ActiveX и плугины\". Вы можете видеть ошибки и замечать отсутствие возможностей.",\r
 BrowseServerBlocked : "Ресурсы браузера не могут быть открыты. Проверьте что блокировки всплывающих окон выключены.",\r
-DialogBlocked          : "Не возможно открыть окно диалога. Проверьте что блокировки всплывающих окон выключены.",\r
+DialogBlocked          : "Невозможно открыть окно диалога. Проверьте что блокировки всплывающих окон выключены.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "ОК",\r
@@ -157,7 +171,7 @@ DlgBtnBrowseServer  : "Просмотреть на сервере",
 DlgAdvancedTag         : "Расширенный",\r
 DlgOpOther                     : "<Другое>",\r
 DlgInfoTab                     : "Информация",\r
-DlgAlertUrl                    : "Пожалуйста вставьте URL",\r
+DlgAlertUrl                    : "Пожалуйста, вставьте URL",\r
 \r
 // General Dialogs Labels\r
 DlgGenNotSet           : "<не определено>",\r
@@ -201,7 +215,7 @@ DlgImgAlignRight    : "По правому краю",
 DlgImgAlignTextTop     : "Текст наверху",\r
 DlgImgAlignTop         : "По верху",\r
 DlgImgPreview          : "Предварительный просмотр",\r
-DlgImgAlertUrl         : "Пожалуйста введите URL изображения",\r
+DlgImgAlertUrl         : "Пожалуйста, введите URL изображения",\r
 DlgImgLinkTab          : "Ссылка",\r
 \r
 // Flash Dialog\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Выберите якорь",\r
 DlgLnkAnchorByName     : "По имени якоря",\r
 DlgLnkAnchorById       : "По идентификатору элемента",\r
-DlgLnkNoAnchors                : "<Нет якорей доступных в этом документе>",            //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Нет якорей доступных в этом документе)",\r
 DlgLnkEMail                    : "Адрес эл. почты",\r
 DlgLnkEMailSubject     : "Заголовок сообщения",\r
 DlgLnkEMailBody                : "Тело сообщения",\r
@@ -259,9 +273,9 @@ DlgLnkPopHeight             : "Высота",
 DlgLnkPopLeft          : "Позиция слева",\r
 DlgLnkPopTop           : "Позиция сверху",\r
 \r
-DlnLnkMsgNoUrl         : "Пожалуйста введите URL ссылки",\r
-DlnLnkMsgNoEMail       : "Пожалуйста введите адрес эл. почты",\r
-DlnLnkMsgNoAnchor      : "Пожалуйста выберете якорь",\r
+DlnLnkMsgNoUrl         : "Пожалуйста, введите URL ссылки",\r
+DlnLnkMsgNoEMail       : "Пожалуйста, введите адрес эл. почты",\r
+DlnLnkMsgNoAnchor      : "Пожалуйста, выберете якорь",\r
 DlnLnkMsgInvPopName    : "Название вспывающего окна должно начинаться буквы и не может содержать пробелов",\r
 \r
 // Color Dialog\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Промежуток (spacing)",
 DlgTableCellPad                : "Отступ (padding)",\r
 DlgTableCaption                : "Заголовок",\r
 DlgTableSummary                : "Резюме",\r
+DlgTableHeaders                : "Заголовки",\r
+DlgTableHeadersNone            : "Нет",\r
+DlgTableHeadersColumn  : "Первый столбец",\r
+DlgTableHeadersRow             : "Первая строка",\r
+DlgTableHeadersBoth            : "Оба варианта",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Свойства ячейки",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Сверху",
 DlgCellVerAlignMiddle  : "Посередине",\r
 DlgCellVerAlignBottom  : "Снизу",\r
 DlgCellVerAlignBaseline        : "По базовой линии",\r
+DlgCellType            : "Тип ячейки",\r
+DlgCellTypeData                : "Данные",\r
+DlgCellTypeHeader      : "Заголовок",\r
 DlgCellRowSpan         : "Диапазон строк (span)",\r
 DlgCellCollSpan                : "Диапазон колонок (span)",\r
 DlgCellBackColor       : "Цвет фона",\r
 DlgCellBorderColor     : "Цвет бордюра",\r
 DlgCellBtnSelect       : "Выберите...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Найти и заменить",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Найти",\r
 DlgFindFindBtn         : "Найти",\r
@@ -337,17 +362,16 @@ DlgReplaceReplAllBtn      : "Заменить все",
 DlgReplaceWordChk              : "Совпадение целых слов",\r
 \r
 // Paste Operations / Dialog\r
-PasteErrorCut  : "Настройки безопасности вашего браузера не позволяют редактору автоматически выполнять операции вырезания. Пожалуйста используйте клавиатуру для этого (Ctrl+X).",\r
-PasteErrorCopy : "Настройки безопасности вашего браузера не позволяют редактору автоматически выполнять операции копирования. Пожалуйста используйте клавиатуру для этого (Ctrl+C).",\r
+PasteErrorCut  : "Настройки безопасности вашего браузера не позволяют редактору автоматически выполнять операции вырезания. Пожалуйста, используйте клавиатуру для этого (Ctrl+X).",\r
+PasteErrorCopy : "Настройки безопасности вашего браузера не позволяют редактору автоматически выполнять операции копирования. Пожалуйста, используйте клавиатуру для этого (Ctrl+C).",\r
 \r
 PasteAsText            : "Вставить только текст",\r
 PasteFromWord  : "Вставить из Word",\r
 \r
-DlgPasteMsg2   : "Пожалуйста вставьте текст в прямоугольник используя сочетание клавиш (<STRONG>Ctrl+V</STRONG>) и нажмите <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteMsg2   : "Пожалуйста, вставьте текст в прямоугольник, используя сочетание клавиш (<STRONG>Ctrl+V</STRONG>), и нажмите <STRONG>OK</STRONG>.",\r
+DlgPasteSec            : "По причине настроек безопасности браузера, редактор не имеет доступа к данным буфера обмена напрямую. Вам необходимо вставить текст снова в это окно.",\r
 DlgPasteIgnoreFont             : "Игнорировать определения гарнитуры",\r
 DlgPasteRemoveStyles   : "Убрать определения стилей",\r
-DlgPasteCleanBox               : "Очистить",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Автоматический",\r
@@ -359,7 +383,7 @@ DocProps            : "Свойства документа",
 // Anchor Dialog\r
 DlgAnchorTitle         : "Свойства якоря",\r
 DlgAnchorName          : "Имя якоря",\r
-DlgAnchorErrorName     : "Пожалуйста введите имя якоря",\r
+DlgAnchorErrorName     : "Пожалуйста, введите имя якоря",\r
 \r
 // Speller Pages Dialog\r
 DlgSpellNotInDic               : "Нет в словаре",\r
@@ -451,8 +475,8 @@ DlgDocMetaTab               : "Мета данные",
 \r
 DlgDocPageTitle                : "Заголовок страницы",\r
 DlgDocLangDir          : "Направление текста",\r
-DlgDocLangDirLTR       : "Слева на право (LTR)",\r
-DlgDocLangDirRTL       : "Справа на лево (RTL)",\r
+DlgDocLangDirLTR       : "Слева направо (LTR)",\r
+DlgDocLangDirRTL       : "Справа налево (RTL)",\r
 DlgDocLangCode         : "Код языка",\r
 DlgDocCharSet          : "Кодировка набора символов",\r
 DlgDocCharSetCE                : "Центрально-европейская",\r
@@ -490,8 +514,8 @@ DlgDocPreview               : "Предварительный просмотр",
 // Templates Dialog\r
 Templates                      : "Шаблоны",\r
 DlgTemplatesTitle      : "Шаблоны содержимого",\r
-DlgTemplatesSelMsg     : "Пожалуйста выберете шаблон для открытия в редакторе<br>(текущее содержимое будет потеряно):",\r
-DlgTemplatesLoading    : "Загрузка списка шаблонов. Пожалуйста подождите...",\r
+DlgTemplatesSelMsg     : "Пожалуйста, выберете шаблон для открытия в редакторе<br>(текущее содержимое будет потеряно):",\r
+DlgTemplatesLoading    : "Загрузка списка шаблонов. Пожалуйста, подождите...",\r
 DlgTemplatesNoTpl      : "(Ни одного шаблона не определено)",\r
 DlgTemplatesReplace    : "Заменить текущее содержание",\r
 \r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "О программе",
 DlgAboutBrowserInfoTab : "Информация браузера",\r
 DlgAboutLicenseTab     : "Лицензия",\r
 DlgAboutVersion                : "Версия",\r
-DlgAboutInfo           : "Для большей информации, посетите"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Для большей информации, посетите",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Информация",\r
+DlgDivAdvancedTab      : "Расширенные настройки",\r
+DlgDivStyle            : "Стиль",\r
+DlgDivInlineStyle      : "Встроенные стили",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 83d00ba..ff1783c 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -30,7 +30,7 @@ ToolbarCollapse               : "Skryť panel nástrojov",
 ToolbarExpand          : "Zobraziť panel nástrojov",\r
 \r
 // Toolbar Items and Context Menu\r
-Save                           : "Uložit",\r
+Save                           : "Uložiť",\r
 NewPage                                : "Nová stránka",\r
 Preview                                : "Náhľad",\r
 Cut                                    : "Vystrihnúť",\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Odstrániť formátovanie",
 InsertLinkLbl          : "Odkaz",\r
 InsertLink                     : "Vložiť/zmeniť odkaz",\r
 RemoveLink                     : "Odstrániť odkaz",\r
+VisitLink                      : "Ísť na odkaz",\r
 Anchor                         : "Vložiť/zmeniť kotvu",\r
+AnchorDelete           : "Odstrániť kotvu",\r
 InsertImageLbl         : "Obrázok",\r
 InsertImage                    : "Vložiť/zmeniť obrázok",\r
 InsertFlashLbl         : "Flash",\r
@@ -57,7 +59,7 @@ InsertSpecialCharLbl: "Špeciálne znaky",
 InsertSpecialChar      : "Vložiť špeciálne znaky",\r
 InsertSmileyLbl                : "Smajlíky",\r
 InsertSmiley           : "Vložiť smajlíka",\r
-About                          : "O aplikáci FCKeditor",\r
+About                          : "O aplikácii FCKeditor",\r
 Bold                           : "Tučné",\r
 Italic                         : "Kurzíva",\r
 Underline                      : "Podčiarknuté",\r
@@ -70,10 +72,14 @@ RightJustify                : "Zarovnať vpravo",
 BlockJustify           : "Zarovnať do bloku",\r
 DecreaseIndent         : "Zmenšiť odsadenie",\r
 IncreaseIndent         : "Zväčšiť odsadenie",\r
+Blockquote                     : "Citácia",\r
+CreateDiv                      : "Vytvoriť Div kontajner",\r
+EditDiv                                : "Editovať Div kontajner",\r
+DeleteDiv                      : "Odstrániť Div kontajner",\r
 Undo                           : "Späť",\r
 Redo                           : "Znovu",\r
 NumberedListLbl                : "Číslovanie",\r
-NumberedList           : "Vložiť/odstrániť číslovaný zoznam",\r
+NumberedList           : "Vložiť/odstrániť číslovanie",\r
 BulletedListLbl                : "Odrážky",\r
 BulletedList           : "Vložiť/odstraniť odrážky",\r
 ShowTableBorders       : "Zobraziť okraje tabuliek",\r
@@ -98,25 +104,32 @@ RadioButton                : "Prepínač",
 TextField              : "Textové pole",\r
 Textarea               : "Textová oblasť",\r
 HiddenField            : "Skryté pole",\r
-Button                 : "Tlačíidlo",\r
+Button                 : "Tlačidlo",\r
 SelectionField : "Rozbaľovací zoznam",\r
 ImageButton            : "Obrázkové tlačidlo",\r
 \r
 FitWindow              : "Maximalizovať veľkosť okna editora",\r
+ShowBlocks             : "Ukázať bloky",\r
 \r
 // Context Menu\r
 EditLink                       : "Zmeniť odkaz",\r
 CellCM                         : "Bunka",\r
 RowCM                          : "Riadok",\r
 ColumnCM                       : "Stĺpec",\r
-InsertRow                      : "Vložiť riadok",\r
+InsertRowAfter         : "Vložiť riadok pred",\r
+InsertRowBefore                : "Vložiť riadok za",\r
 DeleteRows                     : "Vymazať riadok",\r
-InsertColumn           : "Vložiť stĺpec",\r
+InsertColumnAfter      : "Vložiť stĺpec pred",\r
+InsertColumnBefore     : "Vložiť stĺpec za",\r
 DeleteColumns          : "Zmazať stĺpec",\r
-InsertCell                     : "Vložiť bunku",\r
+InsertCellAfter                : "Vložiť bunku za",\r
+InsertCellBefore       : "Vložiť bunku pred",\r
 DeleteCells                    : "Vymazať bunky",\r
 MergeCells                     : "Zlúčiť bunky",\r
-SplitCell                      : "Rozdeliť bunku",\r
+MergeRight                     : "Zlúčiť doprava",\r
+MergeDown                      : "Zlúčiť dole",\r
+HorizontalSplitCell    : "Rozdeliť bunky horizontálne",\r
+VerticalSplitCell      : "Rozdeliť bunky vertikálne",\r
 TableDelete                    : "Vymazať tabuľku",\r
 CellProperties         : "Vlastnosti bunky",\r
 TableProperties                : "Vlastnosti tabuľky",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Vlastnosti rozbaľovacieho zoznamu",
 TextareaProp           : "Vlastnosti textovej oblasti",\r
 FormProp                       : "Vlastnosti formulára",\r
 \r
-FontFormats                    : "Normálny;Formátovaný;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6;Odsek (DIV)",           //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normálny;Formátovaný;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6;Odsek (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Prebieha spracovanie XHTML. Čakajte prosím...",\r
@@ -146,8 +159,9 @@ UnknownCommand              : "Neznámy príkaz \"%1\"",
 NotImplemented         : "Príkaz nie je implementovaný",\r
 UnknownToolbarSet      : "Panel nástrojov \"%1\" neexistuje",\r
 NoActiveX                      : "Bezpečnostné nastavenia vášho prehliadača môžu obmedzovať niektoré funkcie editora. Pre ich plnú funkčnosť musíte zapnúť voľbu \"Spúšťať ActiveX moduly a zásuvné moduly\", inak sa môžete stretnúť s chybami a nefunkčnosťou niektorých funkcií.",\r
-BrowseServerBlocked : "Prehliadač zdrojových prvkov nebolo možné otvoriť. Uistite sa, že máte vypnuté všetky blokovače vyskakujúcich okien.",\r
-DialogBlocked          : "Dialógové okno nebolo možné otvoriť. Uistite sa, že máte vypnuté všetky blokovače vyskakujúcich okien.",\r
+BrowseServerBlocked : "Prehliadač zdrojových prvkov nebolo možné otvoriť. Uistite sa, že máte vypnutú službu blokovania popup okien.",\r
+DialogBlocked          : "Dialógové okno nebolo možné otvoriť. Uistite sa, že máte vypnutú službu blokovania popup okien.",\r
+VisitLinkBlocked       : "Nebolo možné otvoriť nové okno. Uistite sa, že máte vypnutú službu blokovania popup okien.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Vybrať kotvu",\r
 DlgLnkAnchorByName     : "Podľa mena kotvy",\r
 DlgLnkAnchorById       : "Podľa Id objektu",\r
-DlgLnkNoAnchors                : "<V stránke nie je definovaná žiadna kotva>",              //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(V stránke nie je definovaná žiadna kotva)",\r
 DlgLnkEMail                    : "E-Mailová adresa",\r
 DlgLnkEMailSubject     : "Predmet správy",\r
 DlgLnkEMailBody                : "Telo správy",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Vzdialenosť buniek",
 DlgTableCellPad                : "Odsadenie obsahu",\r
 DlgTableCaption                : "Popis",\r
 DlgTableSummary                : "Prehľad",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Vlastnosti bunky",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Nahor",
 DlgCellVerAlignMiddle  : "Doprostred",\r
 DlgCellVerAlignBottom  : "Dole",\r
 DlgCellVerAlignBaseline        : "Na základňu",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Zlúčené riadky",\r
 DlgCellCollSpan                : "Zlúčené stĺpce",\r
 DlgCellBackColor       : "Farba pozadia",\r
 DlgCellBorderColor     : "Farba ohraničenia",\r
 DlgCellBtnSelect       : "Výber...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Nájsť a nahradiť",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Hľadať",\r
 DlgFindFindBtn         : "Hľadať",\r
@@ -337,17 +362,16 @@ DlgReplaceReplAllBtn      : "Nahradiť všetko",
 DlgReplaceWordChk              : "Len celé slová",\r
 \r
 // Paste Operations / Dialog\r
-PasteErrorCut  : "Bezpečnostné nastavenie Vášho prehliadač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).",\r
-PasteErrorCopy : "Bezpečnostné nastavenie Vášho prehliadača nedovoľujú editoru spustiť funkciu pre kopírovanie zvoleného textu do schránky. Prosím skopírujte zvolený text do schránky pomocou klávesnice (Ctrl+C).",\r
+PasteErrorCut  : "Bezpečnostné nastavenia Vášho prehliadač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).",\r
+PasteErrorCopy : "Bezpečnostné nastavenia Vášho prehliadača nedovoľujú editoru spustiť funkciu pre kopírovanie zvoleného textu do schránky. Prosím skopírujte zvolený text do schránky pomocou klávesnice (Ctrl+C).",\r
 \r
 PasteAsText            : "Vložiť ako čistý text",\r
 PasteFromWord  : "Vložiť text z Wordu",\r
 \r
 DlgPasteMsg2   : "Prosím vložte nasledovný rámček použitím klávesnice (<STRONG>Ctrl+V</STRONG>) a stlačte <STRONG>OK</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "Bezpečnostné nastavenia Vášho prehliadača nedovoľujú editoru pristupovať priamo k datám v schránke. Musíte ich vložiť znovu do tohto okna.",\r
 DlgPasteIgnoreFont             : "Ignorovať nastavenia typu písma",\r
 DlgPasteRemoveStyles   : "Odstrániť formátovanie",\r
-DlgPasteCleanBox               : "Vyčistiť schránku",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automaticky",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "O aplikáci",
 DlgAboutBrowserInfoTab : "Informácie o prehliadači",\r
 DlgAboutLicenseTab     : "Licencia",\r
 DlgAboutVersion                : "verzia",\r
-DlgAboutInfo           : "Viac informácií získate na"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Viac informácií získate na",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Hlavné",\r
+DlgDivAdvancedTab      : "Rozšírené",\r
+DlgDivStyle            : "Štýl",\r
+DlgDivInlineStyle      : "Inline štýl",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 95cde15..b23b93c 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Odstrani oblikovanje",
 InsertLinkLbl          : "Povezava",\r
 InsertLink                     : "Vstavi/uredi povezavo",\r
 RemoveLink                     : "Odstrani povezavo",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Vstavi/uredi zaznamek",\r
+AnchorDelete           : "Odstrani zaznamek",\r
 InsertImageLbl         : "Slika",\r
 InsertImage                    : "Vstavi/uredi sliko",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Desna poravnava",
 BlockJustify           : "Obojestranska poravnava",\r
 DecreaseIndent         : "Zmanjšaj zamik",\r
 IncreaseIndent         : "Povečaj zamik",\r
+Blockquote                     : "Citat",\r
+CreateDiv                      : "Ustvari Div element",\r
+EditDiv                                : "Uredi Div element",\r
+DeleteDiv                      : "Odstrani Div element",\r
 Undo                           : "Razveljavi",\r
 Redo                           : "Ponovi",\r
 NumberedListLbl                : "Oštevilčen seznam",\r
@@ -102,21 +108,28 @@ Button                    : "Gumb",
 SelectionField : "Spustni seznam",\r
 ImageButton            : "Gumb s sliko",\r
 \r
-FitWindow              : "Maximize the editor size",   //MISSING\r
+FitWindow              : "Razširi velikost urejevalnika čez cel zaslon",\r
+ShowBlocks             : "Prikaži ograde",\r
 \r
 // Context Menu\r
 EditLink                       : "Uredi povezavo",\r
-CellCM                         : "Cell",       //MISSING\r
-RowCM                          : "Row",        //MISSING\r
-ColumnCM                       : "Column",     //MISSING\r
-InsertRow                      : "Vstavi vrstico",\r
+CellCM                         : "Celica",\r
+RowCM                          : "Vrstica",\r
+ColumnCM                       : "Stolpec",\r
+InsertRowAfter         : "Vstavi vrstico za",\r
+InsertRowBefore                : "Vstavi vrstico pred",\r
 DeleteRows                     : "Izbriši vrstice",\r
-InsertColumn           : "Vstavi stolpec",\r
+InsertColumnAfter      : "Vstavi stolpec za",\r
+InsertColumnBefore     : "Vstavi stolpec pred",\r
 DeleteColumns          : "Izbriši stolpce",\r
-InsertCell                     : "Vstavi celico",\r
+InsertCellAfter                : "Vstavi celico za",\r
+InsertCellBefore       : "Vstavi celico pred",\r
 DeleteCells                    : "Izbriši celice",\r
 MergeCells                     : "Združi celice",\r
-SplitCell                      : "Razdeli celico",\r
+MergeRight                     : "Združi desno",\r
+MergeDown                      : "Druži navzdol",\r
+HorizontalSplitCell    : "Razdeli celico vodoravno",\r
+VerticalSplitCell      : "Razdeli celico navpično",\r
 TableDelete                    : "Izbriši tabelo",\r
 CellProperties         : "Lastnosti celice",\r
 TableProperties                : "Lastnosti tabele",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Lastnosti spustnega seznama",
 TextareaProp           : "Lastnosti vnosnega območja",\r
 FormProp                       : "Lastnosti obrazca",\r
 \r
-FontFormats                    : "Navaden;Oblikovan;Napis;Naslov 1;Naslov 2;Naslov 3;Naslov 4;Naslov 5;Naslov 6",              //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Navaden;Oblikovan;Napis;Naslov 1;Naslov 2;Naslov 3;Naslov 4;Naslov 5;Naslov 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Obdelujem XHTML. Prosim počakajte...",\r
@@ -145,9 +158,10 @@ UnknownToolbarItem : "Neznan element orodne vrstice \"%1\"",
 UnknownCommand         : "Neznano ime ukaza \"%1\"",\r
 NotImplemented         : "Ukaz ni izdelan",\r
 UnknownToolbarSet      : "Skupina orodnih vrstic \"%1\" ne obstoja",\r
-NoActiveX                      : "Your 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\r
-BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
-DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
+NoActiveX                      : "Varnostne nastavitve vašega brskalnika lahko omejijo delovanje nekaterih zmožnosti urejevalnika. Če ne želite zaznavati napak in sporočil o manjkajočih zmožnostih, omogočite možnost \"Zaženi ActiveX kontrolnike in vtičnike\".",\r
+BrowseServerBlocked : "Brskalnik virov se ne more odpreti. Prepričajte se, da je preprečevanje pojavnih oken onemogočeno.",\r
+DialogBlocked          : "Pogovorno okno se ni moglo odpreti. Prepričajte se, da je preprečevanje pojavnih oken onemogočeno.",\r
+VisitLinkBlocked       : "Pogovorno okno se ni moglo odpreti. Prepričajte se, da je preprečevanje pojavnih oken onemogočeno.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "V redu",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Izberi zaznamek",\r
 DlgLnkAnchorByName     : "Po imenu zaznamka",\r
 DlgLnkAnchorById       : "Po ID-ju elementa",\r
-DlgLnkNoAnchors                : "<V tem dokumentu ni zaznamkov>",             //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(V tem dokumentu ni zaznamkov)",\r
 DlgLnkEMail                    : "Elektronski naslov",\r
 DlgLnkEMailSubject     : "Predmet sporočila",\r
 DlgLnkEMailBody                : "Vsebina sporočila",\r
@@ -262,7 +276,7 @@ DlgLnkPopTop                : "Lega na vrhu",
 DlnLnkMsgNoUrl         : "Vnesite URL povezave",\r
 DlnLnkMsgNoEMail       : "Vnesite elektronski naslov",\r
 DlnLnkMsgNoAnchor      : "Izberite zaznamek",\r
-DlnLnkMsgInvPopName    : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING\r
+DlnLnkMsgInvPopName    : "Ime pojavnega okna se mora začeti s črko ali številko in ne sme vsebovati presledkov",\r
 \r
 // Color Dialog\r
 DlgColorTitle          : "Izberite barvo",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Razmik med celicami",
 DlgTableCellPad                : "Polnilo med celicami",\r
 DlgTableCaption                : "Naslov",\r
 DlgTableSummary                : "Povzetek",\r
+DlgTableHeaders                : "Glava",\r
+DlgTableHeadersNone            : "Brez",\r
+DlgTableHeadersColumn  : "Prvi stolpec",\r
+DlgTableHeadersRow             : "Prva vrstica",\r
+DlgTableHeadersBoth            : "Oboje",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Lastnosti celice",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Na vrh",
 DlgCellVerAlignMiddle  : "V sredino",\r
 DlgCellVerAlignBottom  : "Na dno",\r
 DlgCellVerAlignBaseline        : "Na osnovno črto",\r
+DlgCellType            : "Tip celice",\r
+DlgCellTypeData                : "Podatek",\r
+DlgCellTypeHeader      : "Naslov",\r
 DlgCellRowSpan         : "Spojenih vrstic (row-span)",\r
 DlgCellCollSpan                : "Spojenih stolpcev (col-span)",\r
 DlgCellBackColor       : "Barva ozadja",\r
 DlgCellBorderColor     : "Barva obrobe",\r
 DlgCellBtnSelect       : "Izberi...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Najdi in zamenjaj",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Najdi",\r
 DlgFindFindBtn         : "Najdi",\r
@@ -344,10 +369,9 @@ PasteAsText                : "Prilepi kot golo besedilo",
 PasteFromWord  : "Prilepi iz Worda",\r
 \r
 DlgPasteMsg2   : "Prosim prilepite v sleči okvir s pomočjo tipkovnice (<STRONG>Ctrl+V</STRONG>) in pritisnite <STRONG>V redu</STRONG>.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "Zaradi varnostnih nastavitev vašega brskalnika urejevalnik ne more neposredno dostopati do odložišča. Vsebino odložišča ponovno prilepite v to okno.",\r
 DlgPasteIgnoreFont             : "Prezri obliko pisave",\r
 DlgPasteRemoveStyles   : "Odstrani nastavitve stila",\r
-DlgPasteCleanBox               : "Počisti okvir",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Samodejno",\r
@@ -381,9 +405,9 @@ IeSpellDownload                     : "Črkovalnik ni nameščen. Ali ga želite prenesti sedaj?",
 // Button Dialog\r
 DlgButtonText          : "Besedilo (Vrednost)",\r
 DlgButtonType          : "Tip",\r
-DlgButtonTypeBtn       : "Button",     //MISSING\r
-DlgButtonTypeSbm       : "Submit",     //MISSING\r
-DlgButtonTypeRst       : "Reset",      //MISSING\r
+DlgButtonTypeBtn       : "Gumb",\r
+DlgButtonTypeSbm       : "Potrdi",\r
+DlgButtonTypeRst       : "Ponastavi",\r
 \r
 // Checkbox and Radio Button Dialogs\r
 DlgCheckboxName                : "Ime",\r
@@ -432,7 +456,7 @@ DlgHiddenValue      : "Vrednost",
 // Bulleted List Dialog\r
 BulletedListProp       : "Lastnosti označenega seznama",\r
 NumberedListProp       : "Lastnosti oštevilčenega seznama",\r
-DlgLstStart                    : "Start",      //MISSING\r
+DlgLstStart                    : "Začetek",\r
 DlgLstType                     : "Tip",\r
 DlgLstTypeCircle       : "Pikica",\r
 DlgLstTypeDisc         : "Kroglica",\r
@@ -455,15 +479,15 @@ DlgDocLangDirLTR  : "Od leve proti desni (LTR)",
 DlgDocLangDirRTL       : "Od desne proti levi (RTL)",\r
 DlgDocLangCode         : "Oznaka jezika",\r
 DlgDocCharSet          : "Kodna tabela",\r
-DlgDocCharSetCE                : "Central European",   //MISSING\r
-DlgDocCharSetCT                : "Chinese Traditional (Big5)", //MISSING\r
-DlgDocCharSetCR                : "Cyrillic",   //MISSING\r
-DlgDocCharSetGR                : "Greek",      //MISSING\r
-DlgDocCharSetJP                : "Japanese",   //MISSING\r
-DlgDocCharSetKR                : "Korean",     //MISSING\r
-DlgDocCharSetTR                : "Turkish",    //MISSING\r
-DlgDocCharSetUN                : "Unicode (UTF-8)",    //MISSING\r
-DlgDocCharSetWE                : "Western European",   //MISSING\r
+DlgDocCharSetCE                : "Srednjeevropsko",\r
+DlgDocCharSetCT                : "Tradicionalno Kitajsko (Big5)",\r
+DlgDocCharSetCR                : "Cirilica",\r
+DlgDocCharSetGR                : "Grško",\r
+DlgDocCharSetJP                : "Japonsko",\r
+DlgDocCharSetKR                : "Korejsko",\r
+DlgDocCharSetTR                : "Turško",\r
+DlgDocCharSetUN                : "Unicode (UTF-8)",\r
+DlgDocCharSetWE                : "Zahodnoevropsko",\r
 DlgDocCharSetOther     : "Druga kodna tabela",\r
 \r
 DlgDocDocType          : "Glava tipa dokumenta",\r
@@ -493,12 +517,23 @@ DlgTemplatesTitle : "Vsebinske predloge",
 DlgTemplatesSelMsg     : "Izberite predlogo, ki jo želite odpreti v urejevalniku<br>(trenutna vsebina bo izgubljena):",\r
 DlgTemplatesLoading    : "Nalagam seznam predlog. Prosim počakajte...",\r
 DlgTemplatesNoTpl      : "(Ni pripravljenih predlog)",\r
-DlgTemplatesReplace    : "Replace actual contents",    //MISSING\r
+DlgTemplatesReplace    : "Zamenjaj trenutno vsebino",\r
 \r
 // About Dialog\r
 DlgAboutAboutTab       : "Vizitka",\r
 DlgAboutBrowserInfoTab : "Informacije o brskalniku",\r
-DlgAboutLicenseTab     : "License",    //MISSING\r
+DlgAboutLicenseTab     : "Dovoljenja",\r
 DlgAboutVersion                : "različica",\r
-DlgAboutInfo           : "Za več informacij obiščite"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Za več informacij obiščite",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Splošno",\r
+DlgDivAdvancedTab      : "Napredno",\r
+DlgDivStyle            : "Oblika",\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 5fa8154..3b059ee 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Ukloni formatiranje",
 InsertLinkLbl          : "Link",\r
 InsertLink                     : "Unesi/izmeni link",\r
 RemoveLink                     : "Ukloni link",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Unesi/izmeni sidro",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Slika",\r
 InsertImage                    : "Unesi/izmeni sliku",\r
 InsertFlashLbl         : "Fleš",\r
@@ -70,6 +72,10 @@ RightJustify         : "Desno ravnanje",
 BlockJustify           : "Obostrano ravnanje",\r
 DecreaseIndent         : "Smanji levu marginu",\r
 IncreaseIndent         : "Uvećaj levu marginu",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Poni�ti akciju",\r
 Redo                           : "Ponovi akciju",\r
 NumberedListLbl                : "Nabrojiva lista",\r
@@ -103,20 +109,27 @@ SelectionField    : "Izborno polje",
 ImageButton            : "Dugme sa slikom",\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Izmeni link",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRow                      : "Unesi red",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "Obriši redove",\r
-InsertColumn           : "Unesi kolonu",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "Obriši kolone",\r
-InsertCell                     : "Unesi ćelije",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "Obriši ćelije",\r
 MergeCells                     : "Spoj celije",\r
-SplitCell                      : "Razdvoji celije",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "Delete Table",       //MISSING\r
 CellProperties         : "Osobine celije",\r
 TableProperties                : "Osobine tabele",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Osobine izbornog polja",
 TextareaProp           : "Osobine zone teksta",\r
 FormProp                       : "Osobine forme",\r
 \r
-FontFormats                    : "Normal;Formatirano;Adresa;Naslov 1;Naslov 2;Naslov 3;Naslov 4;Naslov 5;Naslov 6",            //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatirano;Adresa;Naslov 1;Naslov 2;Naslov 3;Naslov 4;Naslov 5;Naslov 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Obradujem XHTML. Malo strpljenja...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Toolbar \"%1\" ne postoji",
 NoActiveX                      : "Your 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\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Odaberi sidro",\r
 DlgLnkAnchorByName     : "Po nazivu sidra",\r
 DlgLnkAnchorById       : "Po Id-ju elementa",\r
-DlgLnkNoAnchors                : "<Nema dostupnih sidra>",             //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Nema dostupnih sidra)",\r
 DlgLnkEMail                    : "E-Mail adresa",\r
 DlgLnkEMailSubject     : "Naslov",\r
 DlgLnkEMailBody                : "Sadržaj poruke",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Ćelijski prostor",
 DlgTableCellPad                : "Razmak ćelija",\r
 DlgTableCaption                : "Naslov tabele",\r
 DlgTableSummary                : "Summary",    //MISSING\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Osobine ćelije",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Gornje",
 DlgCellVerAlignMiddle  : "Sredina",\r
 DlgCellVerAlignBottom  : "Donje",\r
 DlgCellVerAlignBaseline        : "Bazno",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Spajanje redova",\r
 DlgCellCollSpan                : "Spajanje kolona",\r
 DlgCellBackColor       : "Boja pozadine",\r
 DlgCellBorderColor     : "Boja okvira",\r
 DlgCellBtnSelect       : "Odaberi...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Pronađi",\r
 DlgFindFindBtn         : "Pronađi",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Molimo Vas da zalepite unutar donje povrine koristeći tastaturn
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Ignoriši definicije fontova",\r
 DlgPasteRemoveStyles   : "Ukloni definicije stilova",\r
-DlgPasteCleanBox               : "Obriši sve",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatski",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "O editoru",
 DlgAboutBrowserInfoTab : "Informacije o pretraživacu",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "verzija",\r
-DlgAboutInfo           : "Za više informacija posetite"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Za više informacija posetite",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index e7aac23..42ef972 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Уклони форматирање",
 InsertLinkLbl          : "Линк",\r
 InsertLink                     : "Унеси/измени линк",\r
 RemoveLink                     : "Уклони линк",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "Унеси/измени сидро",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "Слика",\r
 InsertImage                    : "Унеси/измени слику",\r
 InsertFlashLbl         : "Флеш елемент",\r
@@ -70,6 +72,10 @@ RightJustify         : "Десно равнање",
 BlockJustify           : "Обострано равнање",\r
 DecreaseIndent         : "Смањи леву маргину",\r
 IncreaseIndent         : "Увећај леву маргину",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "Поништи акцију",\r
 Redo                           : "Понови акцију",\r
 NumberedListLbl                : "Набројиву листу",\r
@@ -103,20 +109,27 @@ SelectionField    : "Изборно поље",
 ImageButton            : "Дугме са сликом",\r
 \r
 FitWindow              : "Maximize the editor size",   //MISSING\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "Промени линк",\r
 CellCM                         : "Cell",       //MISSING\r
 RowCM                          : "Row",        //MISSING\r
 ColumnCM                       : "Column",     //MISSING\r
-InsertRow                      : "Унеси ред",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "Обриши редове",\r
-InsertColumn           : "Унеси колону",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "Обриши колоне",\r
-InsertCell                     : "Унеси ћелије",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "Обриши ћелије",\r
 MergeCells                     : "Спој ћелије",\r
-SplitCell                      : "Раздвоји ћелије",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "Delete Table",       //MISSING\r
 CellProperties         : "Особине ћелије",\r
 TableProperties                : "Особине табеле",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Особине изборног поља",
 TextareaProp           : "Особине зоне текста",\r
 FormProp                       : "Особине форме",\r
 \r
-FontFormats                    : "Normal;Formatirano;Adresa;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",              //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatirano;Adresa;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Обрађујем XHTML. Maлo стрпљења...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Toolbar \"%1\" не постоји",
 NoActiveX                      : "Your 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\r
 BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.",    //MISSING\r
 DialogBlocked          : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.",  //MISSING\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "УРЛ",
 DlgLnkAnchorSel                : "Одабери сидро",\r
 DlgLnkAnchorByName     : "По називу сидра",\r
 DlgLnkAnchorById       : "Пo Ид-jу елемента",\r
-DlgLnkNoAnchors                : "<Нема доступних сидра>",           //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Нема доступних сидра)",\r
 DlgLnkEMail                    : "Адреса електронске поште",\r
 DlgLnkEMailSubject     : "Наслов",\r
 DlgLnkEMailBody                : "Садржај поруке",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Ћелијски простор",
 DlgTableCellPad                : "Размак ћелија",\r
 DlgTableCaption                : "Наслов табеле",\r
 DlgTableSummary                : "Summary",    //MISSING\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Особине ћелије",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Горње",
 DlgCellVerAlignMiddle  : "Средина",\r
 DlgCellVerAlignBottom  : "Доње",\r
 DlgCellVerAlignBaseline        : "Базно",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Спајање редова",\r
 DlgCellCollSpan                : "Спајање колона",\r
 DlgCellBackColor       : "Боја позадине",\r
 DlgCellBorderColor     : "Боја оквира",\r
 DlgCellBtnSelect       : "Oдабери...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Пронађи",\r
 DlgFindFindBtn         : "Пронађи",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Молимо Вас да залепите унутар доње
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Игнориши Font Face дефиниције",\r
 DlgPasteRemoveStyles   : "Уклони дефиниције стилова",\r
-DlgPasteCleanBox               : "Обриши све",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Аутоматски",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "О едитору",
 DlgAboutBrowserInfoTab : "Информације о претраживачу",\r
 DlgAboutLicenseTab     : "License",    //MISSING\r
 DlgAboutVersion                : "верзија",\r
-DlgAboutInfo           : "За више информација посетите"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "За више информација посетите",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index a301a03..c62d6be 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Radera formatering",
 InsertLinkLbl          : "Länk",\r
 InsertLink                     : "Infoga/Redigera länk",\r
 RemoveLink                     : "Radera länk",\r
+VisitLink                      : "Öppna länk",\r
 Anchor                         : "Infoga/Redigera ankarlänk",\r
+AnchorDelete           : "Radera ankarlänk",\r
 InsertImageLbl         : "Bild",\r
 InsertImage                    : "Infoga/Redigera bild",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Högerjustera",
 BlockJustify           : "Justera till marginaler",\r
 DecreaseIndent         : "Minska indrag",\r
 IncreaseIndent         : "Öka indrag",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Skapa Div behållare",\r
+EditDiv                                : "Redigera Div behållare",\r
+DeleteDiv                      : "Radera Div behållare",\r
 Undo                           : "Ångra",\r
 Redo                           : "Gör om",\r
 NumberedListLbl                : "Numrerad lista",\r
@@ -103,20 +109,27 @@ SelectionField    : "Flervalslista",
 ImageButton            : "Bildknapp",\r
 \r
 FitWindow              : "Anpassa till fönstrets storlek",\r
+ShowBlocks             : "Visa block",\r
 \r
 // Context Menu\r
 EditLink                       : "Redigera länk",\r
 CellCM                         : "Cell",\r
 RowCM                          : "Rad",\r
 ColumnCM                       : "Kolumn",\r
-InsertRow                      : "Infoga rad",\r
+InsertRowAfter         : "Lägg till Rad Efter",\r
+InsertRowBefore                : "Lägg till Rad Före",\r
 DeleteRows                     : "Radera rad",\r
-InsertColumn           : "Infoga kolumn",\r
+InsertColumnAfter      : "Lägg till Kolumn Efter",\r
+InsertColumnBefore     : "Lägg till Kolumn Före",\r
 DeleteColumns          : "Radera kolumn",\r
-InsertCell                     : "Infoga cell",\r
+InsertCellAfter                : "Lägg till Cell Efter",\r
+InsertCellBefore       : "Lägg till Cell Före",\r
 DeleteCells                    : "Radera celler",\r
 MergeCells                     : "Sammanfoga celler",\r
-SplitCell                      : "Separera celler",\r
+MergeRight                     : "Sammanfoga Höger",\r
+MergeDown                      : "Sammanfoga Ner",\r
+HorizontalSplitCell    : "Dela Cell Horisontellt",\r
+VerticalSplitCell      : "Dela Cell Vertikalt",\r
 TableDelete                    : "Radera tabell",\r
 CellProperties         : "Cellegenskaper",\r
 TableProperties                : "Tabellegenskaper",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Egenskaper för flervalslista",
 TextareaProp           : "Egenskaper för textruta",\r
 FormProp                       : "Egenskaper för formulär",\r
 \r
-FontFormats                    : "Normal;Formaterad;Adress;Rubrik 1;Rubrik 2;Rubrik 3;Rubrik 4;Rubrik 5;Rubrik 6;Normal (DIV)",                //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formaterad;Adress;Rubrik 1;Rubrik 2;Rubrik 3;Rubrik 4;Rubrik 5;Rubrik 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Bearbetar XHTML. Var god vänta...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Verktygsfält \"%1\" finns ej",
 NoActiveX                      : "Din webläsares säkerhetsinställningar kan begränsa funktionaliteten. Du bör aktivera \"Kör ActiveX kontroller och plug-ins\". Fel och avsaknad av funktioner kan annars uppstå.",\r
 BrowseServerBlocked : "Kunde Ej öppna resursfönstret. Var god och avaktivera alla popup-blockerare.",\r
 DialogBlocked          : "Kunde Ej öppna dialogfönstret. Var god och avaktivera alla popup-blockerare.",\r
+VisitLinkBlocked       : "Kunde Ej öppna nytt fönster. Var god och avaktivera alla popup-blockerare.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "OK",\r
@@ -174,7 +188,7 @@ DlgGenClass                 : "Stylesheet class",
 DlgGenTitle                    : "Titel",\r
 DlgGenContType         : "Innehållstyp",\r
 DlgGenLinkCharset      : "Teckenuppställning",\r
-DlgGenStyle                    : "Style",\r
+DlgGenStyle                    : "Stil",\r
 \r
 // Image Dialog\r
 DlgImgTitle                    : "Bildegenskaper",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Välj ett ankare",\r
 DlgLnkAnchorByName     : "efter ankarnamn",\r
 DlgLnkAnchorById       : "efter objektid",\r
-DlgLnkNoAnchors                : "(Inga ankare kunde hittas)",         //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Inga ankare kunde hittas)",\r
 DlgLnkEMail                    : "E-postadress",\r
 DlgLnkEMailSubject     : "Ämne",\r
 DlgLnkEMailBody                : "Innehåll",\r
@@ -292,8 +306,13 @@ DlgTableWidthPc            : "procent",
 DlgTableHeight         : "Höjd",\r
 DlgTableCellSpace      : "Cellavstånd",\r
 DlgTableCellPad                : "Cellutfyllnad",\r
-DlgTableCaption                : "Rubrik",\r
+DlgTableCaption                : "Titel",\r
 DlgTableSummary                : "Sammanfattning",\r
+DlgTableHeaders                : "Rubrikrad",\r
+DlgTableHeadersNone            : "Ingen",\r
+DlgTableHeadersColumn  : "Första kolumnen",\r
+DlgTableHeadersRow             : "Första raden",\r
+DlgTableHeadersBoth            : "Båda",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Cellegenskaper",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Topp",
 DlgCellVerAlignMiddle  : "Mitten",\r
 DlgCellVerAlignBottom  : "Nederkant",\r
 DlgCellVerAlignBaseline        : "Underst",\r
+DlgCellType            : "Cell Typ",\r
+DlgCellTypeData                : "Data",\r
+DlgCellTypeHeader      : "Titel",\r
 DlgCellRowSpan         : "Radomfång",\r
 DlgCellCollSpan                : "Kolumnomfång",\r
 DlgCellBackColor       : "Bakgrundsfärg",\r
 DlgCellBorderColor     : "Kantfärg",\r
 DlgCellBtnSelect       : "Välj...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Sök och ersätt",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Sök",\r
 DlgFindFindBtn         : "Sök",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Var god och klistra in Er text i rutan nedan genom att använda
 DlgPasteSec            : "På grund av din webläsares säkerhetsinställningar kan verktyget inte få åtkomst till urklippsdatan. Var god och använd detta fönster istället.",\r
 DlgPasteIgnoreFont             : "Ignorera typsnittsdefinitioner",\r
 DlgPasteRemoveStyles   : "Radera Stildefinitioner",\r
-DlgPasteCleanBox               : "Töm rutans innehåll",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Automatisk",\r
@@ -432,7 +456,7 @@ DlgHiddenValue      : "Värde",
 // Bulleted List Dialog\r
 BulletedListProp       : "Egenskaper för punktlista",\r
 NumberedListProp       : "Egenskaper för numrerad lista",\r
-DlgLstStart                    : "Start",      //MISSING\r
+DlgLstStart                    : "Start",\r
 DlgLstType                     : "Typ",\r
 DlgLstTypeCircle       : "Cirkel",\r
 DlgLstTypeDisc         : "Punkt",\r
@@ -499,6 +523,17 @@ DlgTemplatesReplace        : "Ersätt aktuellt innehåll",
 DlgAboutAboutTab       : "Om",\r
 DlgAboutBrowserInfoTab : "Webläsare",\r
 DlgAboutLicenseTab     : "Licens",\r
-DlgAboutVersion                : "version",\r
-DlgAboutInfo           : "För mer information se"\r
-};
\ No newline at end of file
+DlgAboutVersion                : "Version",\r
+DlgAboutInfo           : "För mer information se",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Allmänt",\r
+DlgDivAdvancedTab      : "Avancerat",\r
+DlgDivStyle            : "Stil",\r
+DlgDivInlineStyle      : "Inbäddad stil",\r
+\r
+ScaytTitle                     : "SCAYT",\r
+ScaytTitleOptions      : "Alternativ",\r
+ScaytTitleLangs                : "Språk",\r
+ScaytTitleAbout                : "Om"\r
+};\r
index 8c4319a..7f3b1a4 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "ล้างรูปแบบ",
 InsertLinkLbl          : "ลิงค์เชื่อมโยงเว็บ อีเมล์ รูปภาพ หรือไฟล์อื่นๆ",\r
 InsertLink                     : "แทรก/แก้ไข ลิงค์",\r
 RemoveLink                     : "ลบ ลิงค์",\r
+VisitLink                      : "Open Link",  //MISSING\r
 Anchor                         : "แทรก/แก้ไข Anchor",\r
+AnchorDelete           : "Remove Anchor",      //MISSING\r
 InsertImageLbl         : "รูปภาพ",\r
 InsertImage                    : "แทรก/แก้ไข รูปภาพ",\r
 InsertFlashLbl         : "ไฟล์ Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "จัดชิดขวา",
 BlockJustify           : "จัดพอดีหน้ากระดาษ",\r
 DecreaseIndent         : "ลดระยะย่อหน้า",\r
 IncreaseIndent         : "เพิ่มระยะย่อหน้า",\r
+Blockquote                     : "Blockquote", //MISSING\r
+CreateDiv                      : "Create Div Container",       //MISSING\r
+EditDiv                                : "Edit Div Container", //MISSING\r
+DeleteDiv                      : "Remove Div Container",       //MISSING\r
 Undo                           : "ยกเลิกคำสั่ง",\r
 Redo                           : "ทำซ้ำคำสั่ง",\r
 NumberedListLbl                : "ลำดับรายการแบบตัวเลข",\r
@@ -103,20 +109,27 @@ SelectionField    : "แถบตัวเลือก",
 ImageButton            : "ปุ่มแบบรูปภาพ",\r
 \r
 FitWindow              : "ขยายขนาดตัวอีดิตเตอร์",\r
+ShowBlocks             : "Show Blocks",        //MISSING\r
 \r
 // Context Menu\r
 EditLink                       : "แก้ไข ลิงค์",\r
 CellCM                         : "ช่องตาราง",\r
 RowCM                          : "แถว",\r
 ColumnCM                       : "คอลัมน์",\r
-InsertRow                      : "แทรกแถว",\r
+InsertRowAfter         : "Insert Row After",   //MISSING\r
+InsertRowBefore                : "Insert Row Before",  //MISSING\r
 DeleteRows                     : "ลบแถว",\r
-InsertColumn           : "แทรกสดมน์",\r
+InsertColumnAfter      : "Insert Column After",        //MISSING\r
+InsertColumnBefore     : "Insert Column Before",       //MISSING\r
 DeleteColumns          : "ลบสดมน์",\r
-InsertCell                     : "แทรกช่อง",\r
+InsertCellAfter                : "Insert Cell After",  //MISSING\r
+InsertCellBefore       : "Insert Cell Before", //MISSING\r
 DeleteCells                    : "ลบช่อง",\r
 MergeCells                     : "ผสานช่อง",\r
-SplitCell                      : "แยกช่อง",\r
+MergeRight                     : "Merge Right",        //MISSING\r
+MergeDown                      : "Merge Down", //MISSING\r
+HorizontalSplitCell    : "Split Cell Horizontally",    //MISSING\r
+VerticalSplitCell      : "Split Cell Vertically",      //MISSING\r
 TableDelete                    : "ลบตาราง",\r
 CellProperties         : "คุณสมบัติของช่อง",\r
 TableProperties                : "คุณสมบัติของตาราง",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "คุณสมบัติของ แถบตัวเ
 TextareaProp           : "คุณสมบัติของ เท็กแอเรีย",\r
 FormProp                       : "คุณสมบัติของ แบบฟอร์ม",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",               //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "โปรแกรมกำลังทำงานด้วยเทคโนโลยี XHTML กรุณารอสักครู่...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "ไม่มีการติดตั้งชุดค
 NoActiveX                      : "โปรแกรมท่องอินเตอร์เน็ตของท่านไม่อนุญาติให้อีดิตเตอร์ทำงาน \"Run ActiveX controls and plug-ins\". หากไม่อนุญาติให้ใช้งาน ActiveX controls ท่านจะไม่สามารถใช้งานได้อย่างเต็มประสิทธิภาพ.",\r
 BrowseServerBlocked : "เปิดหน้าต่างป๊อบอัพเพื่อทำงานต่อไม่ได้ กรุณาปิดเครื่องมือป้องกันป๊อบอัพในโปรแกรมท่องอินเตอร์เน็ตของท่านด้วย",\r
 DialogBlocked          : "เปิดหน้าต่างป๊อบอัพเพื่อทำงานต่อไม่ได้ กรุณาปิดเครื่องมือป้องกันป๊อบอัพในโปรแกรมท่องอินเตอร์เน็ตของท่านด้วย",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "ตกลง",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "ที่อยู่อ้างอิงออนไลน์ (
 DlgLnkAnchorSel                : "ระบุข้อมูลของจุดเชื่อมโยง (Anchor)",\r
 DlgLnkAnchorByName     : "ชื่อ",\r
 DlgLnkAnchorById       : "ไอดี",\r
-DlgLnkNoAnchors                : "(ยังไม่มีจุดเชื่อมโยงภายในหน้าเอกสารนี้)",               //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(ยังไม่มีจุดเชื่อมโยงภายในหน้าเอกสารนี้)",\r
 DlgLnkEMail                    : "อีเมล์ (E-Mail)",\r
 DlgLnkEMailSubject     : "หัวเรื่อง",\r
 DlgLnkEMailBody                : "ข้อความ",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "ระยะแนวนอนน",
 DlgTableCellPad                : "ระยะแนวตั้ง",\r
 DlgTableCaption                : "หัวเรื่องของตาราง",\r
 DlgTableSummary                : "สรุปความ",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "คุณสมบัติของ ช่อง",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "บนสุด",
 DlgCellVerAlignMiddle  : "กึ่งกลาง",\r
 DlgCellVerAlignBottom  : "ล่างสุด",\r
 DlgCellVerAlignBaseline        : "อิงบรรทัด",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "จำนวนแถวที่คร่อมกัน",\r
 DlgCellCollSpan                : "จำนวนสดมน์ที่คร่อมกัน",\r
 DlgCellBackColor       : "สีพื้นหลัง",\r
 DlgCellBorderColor     : "สีเส้นขอบ",\r
 DlgCellBtnSelect       : "เลือก..",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Find and Replace",   //MISSING\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "ค้นหา",\r
 DlgFindFindBtn         : "ค้นหา",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "กรุณาใช้คีย์บอร์ดเท่า
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "ไม่สนใจ Font Face definitions",\r
 DlgPasteRemoveStyles   : "ลบ Styles definitions",\r
-DlgPasteCleanBox               : "ล้างข้อมูลใน Box",\r
 \r
 // Color Picker\r
 ColorAutomatic : "สีอัตโนมัติ",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "เกี่ยวกับโปรแกรม",
 DlgAboutBrowserInfoTab : "โปรแกรมท่องเว็บที่ท่านใช้",\r
 DlgAboutLicenseTab     : "ลิขสิทธิ์",\r
 DlgAboutVersion                : "รุ่น",\r
-DlgAboutInfo           : "For further information go to"       //MISSING\r
-};
\ No newline at end of file
+DlgAboutInfo           : "For further information go to",      //MISSING\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "General",    //MISSING\r
+DlgDivAdvancedTab      : "Advanced",   //MISSING\r
+DlgDivStyle            : "Style",      //MISSING\r
+DlgDivInlineStyle      : "Inline Style",       //MISSING\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 53b371e..7707c3c 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Biçimi Kaldır",
 InsertLinkLbl          : "Köprü",\r
 InsertLink                     : "Köprü Ekle/Düzenle",\r
 RemoveLink                     : "Köprü Kaldır",\r
+VisitLink                      : "Köprü Aç",\r
 Anchor                         : "Çapa Ekle/Düzenle",\r
+AnchorDelete           : "Çapa Sil",\r
 InsertImageLbl         : "Resim",\r
 InsertImage                    : "Resim Ekle/Düzenle",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Sağa Dayalı",
 BlockJustify           : "İki Kenara Yaslanmış",\r
 DecreaseIndent         : "Sekme Azalt",\r
 IncreaseIndent         : "Sekme Arttır",\r
+Blockquote                     : "Blok Oluştur",\r
+CreateDiv                      : "Div Ekle",\r
+EditDiv                                : "Div Düzenle",\r
+DeleteDiv                      : "Div Sil",\r
 Undo                           : "Geri Al",\r
 Redo                           : "Tekrarla",\r
 NumberedListLbl                : "Numaralı Liste",\r
@@ -103,20 +109,27 @@ SelectionField    : "Seçim Menüsü",
 ImageButton            : "Resimli Düğme",\r
 \r
 FitWindow              : "Düzenleyici boyutunu büyüt",\r
+ShowBlocks             : "Blokları Göster",\r
 \r
 // Context Menu\r
 EditLink                       : "Köprü Düzenle",\r
 CellCM                         : "Hücre",\r
 RowCM                          : "Satır",\r
 ColumnCM                       : "Sütun",\r
-InsertRow                      : "Satır Ekle",\r
+InsertRowAfter         : "Satır Ekle - Sonra",\r
+InsertRowBefore                : "Satır Ekle - Önce",\r
 DeleteRows                     : "Satır Sil",\r
-InsertColumn           : "Sütun Ekle",\r
+InsertColumnAfter      : "Kolon Ekle - Sonra",\r
+InsertColumnBefore     : "Kolon Ekle - Önce",\r
 DeleteColumns          : "Sütun Sil",\r
-InsertCell                     : "Hücre Ekle",\r
+InsertCellAfter                : "Hücre Ekle - Sonra",\r
+InsertCellBefore       : "Hücre Ekle - Önce",\r
 DeleteCells                    : "Hücre Sil",\r
 MergeCells                     : "Hücreleri Birleştir",\r
-SplitCell                      : "Hücre Böl",\r
+MergeRight                     : "Birleştir - Sağdaki İle ",\r
+MergeDown                      : "Birleştir - Aşağıdaki İle ",\r
+HorizontalSplitCell    : "Hücreyi Yatay Böl",\r
+VerticalSplitCell      : "Hücreyi Dikey Böl",\r
 TableDelete                    : "Tabloyu Sil",\r
 CellProperties         : "Hücre Özellikleri",\r
 TableProperties                : "Tablo Özellikleri",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Seçim Menüsü Özellikleri",
 TextareaProp           : "Çok Satırlı Metin Özellikleri",\r
 FormProp                       : "Form Özellikleri",\r
 \r
-FontFormats                    : "Normal;Biçimli;Adres;Başlık 1;Başlık 2;Başlık 3;Başlık 4;Başlık 5;Başlık 6;Paragraf (DIV)",             //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Biçimli;Adres;Başlık 1;Başlık 2;Başlık 3;Başlık 4;Başlık 5;Başlık 6;Paragraf (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "XHTML işleniyor. Lütfen bekleyin...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "\"%1\" araç çubuğu öğesi mevcut değil",
 NoActiveX                      : "Kullandığınız tarayıcının güvenlik ayarları bazı özelliklerin kullanılmasını engelliyor. Bu özelliklerin çalışması için \"Run ActiveX controls and plug-ins (Activex ve eklentileri çalıştır)\" seçeneğinin aktif yapılması gerekiyor. Kullanılamayan eklentiler ve hatalar konusunda daha fazla bilgi sahibi olun.",\r
 BrowseServerBlocked : "Kaynak tarayıcısı açılamadı. Tüm \"popup blocker\" programlarının devre dışı olduğundan emin olun. (Yahoo toolbar, Msn toolbar, Google toolbar gibi)",\r
 DialogBlocked          : "Diyalog açmak mümkün olmadı. Tüm \"Popup Blocker\" programlarının devre dışı olduğundan emin olun.",\r
+VisitLinkBlocked       : "Yeni pencere açmak mümkün olmadı. Tüm \"Popup Blocker\" programlarının devre dışı olduğundan emin olun",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Tamam",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Çapa Seç",\r
 DlgLnkAnchorByName     : "Çapa Adı ile",\r
 DlgLnkAnchorById       : "Eleman Kimlik Numarası ile",\r
-DlgLnkNoAnchors                : "<Bu belgede hiç çapa yok>",                //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Bu belgede hiç çapa yok)",\r
 DlgLnkEMail                    : "E-Posta Adresi",\r
 DlgLnkEMailSubject     : "İleti Konusu",\r
 DlgLnkEMailBody                : "İleti Gövdesi",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Izgara kalınlığı",
 DlgTableCellPad                : "Izgara yazı arası",\r
 DlgTableCaption                : "Başlık",\r
 DlgTableSummary                : "Özet",\r
+DlgTableHeaders                : "Başlıklar",\r
+DlgTableHeadersNone            : "Yok",\r
+DlgTableHeadersColumn  : "İlk Sütun",\r
+DlgTableHeadersRow             : "İlk Satır",\r
+DlgTableHeadersBoth            : "Her İkisi",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Hücre Özellikleri",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Tepe",
 DlgCellVerAlignMiddle  : "Orta",\r
 DlgCellVerAlignBottom  : "Alt",\r
 DlgCellVerAlignBaseline        : "Taban Çizgisi",\r
+DlgCellType            : "Hücre Tipi",\r
+DlgCellTypeData                : "Veri",\r
+DlgCellTypeHeader      : "Başlık",\r
 DlgCellRowSpan         : "Satır Kapla",\r
 DlgCellCollSpan                : "Sütun Kapla",\r
 DlgCellBackColor       : "Arka Plan Rengi",\r
 DlgCellBorderColor     : "Kenar Rengi",\r
 DlgCellBtnSelect       : "Seç...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Bul ve Değiştir",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Bul",\r
 DlgFindFindBtn         : "Bul",\r
@@ -344,10 +369,9 @@ PasteAsText                : "Düz Metin Olarak Yapıştır",
 PasteFromWord  : "Word'den yapıştır",\r
 \r
 DlgPasteMsg2   : "Lütfen aşağıdaki kutunun içine yapıştırın. (<STRONG>Ctrl+V</STRONG>) ve <STRONG>Tamam</STRONG> butonunu tıklayın.",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "Gezgin yazılımınızın güvenlik ayarları düzenleyicinin direkt olarak panoya erişimine izin vermiyor. Bu pencere içine tekrar yapıştırmalısınız..",\r
 DlgPasteIgnoreFont             : "Yazı Tipi tanımlarını yoksay",\r
 DlgPasteRemoveStyles   : "Biçem Tanımlarını çıkar",\r
-DlgPasteCleanBox               : "Temizlik Kutusu",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Otomatik",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Hakkında",
 DlgAboutBrowserInfoTab : "Gezgin Bilgisi",\r
 DlgAboutLicenseTab     : "Lisans",\r
 DlgAboutVersion                : "sürüm",\r
-DlgAboutInfo           : "Daha fazla bilgi için:"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Daha fazla bilgi için:",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Genel",\r
+DlgDivAdvancedTab      : "Gelişmiş",\r
+DlgDivStyle            : "Sitil",\r
+DlgDivInlineStyle      : "Satıriçi Sitil",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 1defaac..8191d54 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Прибрати форматування",
 InsertLinkLbl          : "Посилання",\r
 InsertLink                     : "Вставити/Редагувати посилання",\r
 RemoveLink                     : "Знищити посилання",\r
+VisitLink                      : "Відкрити посилання",\r
 Anchor                         : "Вставити/Редагувати якір",\r
+AnchorDelete           : "Видалити якір",\r
 InsertImageLbl         : "Зображення",\r
 InsertImage                    : "Вставити/Редагувати зображення",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "По правому краю",
 BlockJustify           : "По ширині",\r
 DecreaseIndent         : "Зменшити відступ",\r
 IncreaseIndent         : "Збільшити відступ",\r
+Blockquote                     : "Цитата",\r
+CreateDiv                      : "Створити Div контейнер",\r
+EditDiv                                : "Редагувати Div контейнер",\r
+DeleteDiv                      : "Видалити Div контейнер",\r
 Undo                           : "Повернути",\r
 Redo                           : "Повторити",\r
 NumberedListLbl                : "Нумерований список",\r
@@ -103,20 +109,27 @@ SelectionField    : "Список",
 ImageButton            : "Кнопка із зображенням",\r
 \r
 FitWindow              : "Розвернути вікно редактора",\r
+ShowBlocks             : "Показувати блоки",\r
 \r
 // Context Menu\r
 EditLink                       : "Вставити посилання",\r
 CellCM                         : "Осередок",\r
 RowCM                          : "Рядок",\r
 ColumnCM                       : "Колонка",\r
-InsertRow                      : "Вставити строку",\r
+InsertRowAfter         : "Вставити рядок після",\r
+InsertRowBefore                : "Вставити рядок до",\r
 DeleteRows                     : "Видалити строки",\r
-InsertColumn           : "Вставити колонку",\r
+InsertColumnAfter      : "Вставити колонку після",\r
+InsertColumnBefore     : "Вставити колонку до",\r
 DeleteColumns          : "Видалити колонки",\r
-InsertCell                     : "Вставити комірку",\r
+InsertCellAfter                : "Вставити комірку після",\r
+InsertCellBefore       : "Вставити комірку до",\r
 DeleteCells                    : "Видалити комірки",\r
 MergeCells                     : "Об'єднати комірки",\r
-SplitCell                      : "Роз'єднати комірку",\r
+MergeRight                     : "Об'єднати зправа",\r
+MergeDown                      : "Об'єднати до низу",\r
+HorizontalSplitCell    : "Розділити комірку по горизонталі",\r
+VerticalSplitCell      : "Розділити комірку по вертикалі",\r
 TableDelete                    : "Видалити таблицю",\r
 CellProperties         : "Властивості комірки",\r
 TableProperties                : "Властивості таблиці",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Властивості списку",
 TextareaProp           : "Властивості текстової області",\r
 FormProp                       : "Властивості форми",\r
 \r
-FontFormats                    : "Нормальний;Форматований;Адреса;Заголовок 1;Заголовок 2;Заголовок 3;Заголовок 4;Заголовок 5;Заголовок 6;Нормальний (DIV)",                //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Нормальний;Форматований;Адреса;Заголовок 1;Заголовок 2;Заголовок 3;Заголовок 4;Заголовок 5;Заголовок 6;Нормальний (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Обробка XHTML. Зачекайте, будь ласка...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "Панель інструментів \"%1\" не існу
 NoActiveX                      : "Настройки безпеки вашого браузера можуть обмежувати деякі властивості редактора. Ви повинні включити опцію \"Запускати елементи управління ACTIVEX і плугіни\". Ви можете бачити помилки і помічати відсутність можливостей.",\r
 BrowseServerBlocked : "Ресурси браузера не можуть бути відкриті. Перевірте що блокування спливаючих вікон вимкнені.",\r
 DialogBlocked          : "Не можливо відкрити вікно діалогу. Перевірте що блокування спливаючих вікон вимкнені.",\r
+VisitLinkBlocked       : "It was not possible to open a new window. Make sure all popup blockers are disabled.",       //MISSING\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "ОК",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Оберіть якір",\r
 DlgLnkAnchorByName     : "За ім'ям якоря",\r
 DlgLnkAnchorById       : "За ідентифікатором елемента",\r
-DlgLnkNoAnchors                : "<Немає якорів доступних в цьому документі>",              //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Немає якорів доступних в цьому документі)",\r
 DlgLnkEMail                    : "Адреса ел. пошти",\r
 DlgLnkEMailSubject     : "Тема листа",\r
 DlgLnkEMailBody                : "Тіло повідомлення",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Проміжок (spacing)",
 DlgTableCellPad                : "Відступ (padding)",\r
 DlgTableCaption                : "Заголовок",\r
 DlgTableSummary                : "Резюме",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Властивості комірки",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "Зверху",
 DlgCellVerAlignMiddle  : "Посередині",\r
 DlgCellVerAlignBottom  : "Знизу",\r
 DlgCellVerAlignBaseline        : "По базовій лінії",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Діапазон строк (span)",\r
 DlgCellCollSpan                : "Діапазон колонок (span)",\r
 DlgCellBackColor       : "Колір фона",\r
 DlgCellBorderColor     : "Колір бордюра",\r
 DlgCellBtnSelect       : "Оберіть...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Знайти і замінити",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Пошук",\r
 DlgFindFindBtn         : "Пошук",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Будь-ласка, вставте з буфера обміну
 DlgPasteSec            : "Редактор не може отримати прямий доступ до буферу обміну у зв'язку з налаштуваннями вашого браузера. Вам потрібно вставити інформацію повторно в це вікно.",\r
 DlgPasteIgnoreFont             : "Ігнорувати налаштування шрифтів",\r
 DlgPasteRemoveStyles   : "Видалити налаштування стилів",\r
-DlgPasteCleanBox               : "Очистити область",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Автоматичний",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Про програму",
 DlgAboutBrowserInfoTab : "Інформація браузера",\r
 DlgAboutLicenseTab     : "Ліцензія",\r
 DlgAboutVersion                : "Версія",\r
-DlgAboutInfo           : "Додаткову інформацію дивіться на "\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Додаткову інформацію дивіться на ",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Загальна",\r
+DlgDivAdvancedTab      : "Розширена",\r
+DlgDivStyle            : "Стиль",\r
+DlgDivInlineStyle      : "Inline стиль",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 5c2c608..ac94038 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "Xoá Định dạng",
 InsertLinkLbl          : "Liên kết",\r
 InsertLink                     : "Chèn/Sửa Liên kết",\r
 RemoveLink                     : "Xoá Liên kết",\r
+VisitLink                      : "Mở Liên Kết",\r
 Anchor                         : "Chèn/Sửa Neo",\r
+AnchorDelete           : "Gỡ bỏ Neo",\r
 InsertImageLbl         : "Hình ảnh",\r
 InsertImage                    : "Chèn/Sửa Hình ảnh",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "Canh phải",
 BlockJustify           : "Canh đều",\r
 DecreaseIndent         : "Dịch ra ngoài",\r
 IncreaseIndent         : "Dịch vào trong",\r
+Blockquote                     : "Khối Trích dẫn",\r
+CreateDiv                      : "Tạo Div Container",\r
+EditDiv                                : "Chỉnh sửa Div Container",\r
+DeleteDiv                      : "Gỡ bỏ Div Container",\r
 Undo                           : "Khôi phục thao tác",\r
 Redo                           : "Làm lại thao tác",\r
 NumberedListLbl                : "Danh sách có thứ tự",\r
@@ -103,20 +109,27 @@ SelectionField    : "Ô chọn",
 ImageButton            : "Nút hình ảnh",\r
 \r
 FitWindow              : "Mở rộng tối đa kích thước trình biên tập",\r
+ShowBlocks             : "Hiển thị các Khối",\r
 \r
 // Context Menu\r
 EditLink                       : "Sửa Liên kết",\r
 CellCM                         : "Ô",\r
 RowCM                          : "Hàng",\r
 ColumnCM                       : "Cột",\r
-InsertRow                      : "Chèn Hàng",\r
+InsertRowAfter         : "Chèn Hàng Phía sau",\r
+InsertRowBefore                : "Chèn Hàng Phía trước",\r
 DeleteRows                     : "Xoá Hàng",\r
-InsertColumn           : "Chèn Cột",\r
+InsertColumnAfter      : "Chèn Cột Phía sau",\r
+InsertColumnBefore     : "Chèn Cột Phía trước",\r
 DeleteColumns          : "Xoá Cột",\r
-InsertCell                     : "Chèn Ô",\r
+InsertCellAfter                : "Chèn Ô Phía sau",\r
+InsertCellBefore       : "Chèn Ô Phía trước",\r
 DeleteCells                    : "Xoá Ô",\r
-MergeCells                     : "Trộn Ô",\r
-SplitCell                      : "Chia Ô",\r
+MergeCells                     : "Kết hợp Ô",\r
+MergeRight                     : "Kết hợp Sang phải",\r
+MergeDown                      : "Kết hợp Xuống dưới",\r
+HorizontalSplitCell    : "Tách ngang Ô",\r
+VerticalSplitCell      : "Tách dọc Ô",\r
 TableDelete                    : "Xóa Bảng",\r
 CellProperties         : "Thuộc tính Ô",\r
 TableProperties                : "Thuộc tính Bảng",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "Thuộc tính Ô chọn",
 TextareaProp           : "Thuộc tính Vùng văn bản",\r
 FormProp                       : "Thuộc tính Biểu mẫu",\r
 \r
-FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",          //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "Đang xử lý XHTML. Vui lòng đợi trong giây lát...",\r
@@ -145,9 +158,10 @@ UnknownToolbarItem : "Không rõ mục trên thanh công cụ \"%1\"",
 UnknownCommand         : "Không rõ lệnh \"%1\"",\r
 NotImplemented         : "Lệnh không được thực hiện",\r
 UnknownToolbarSet      : "Thanh công cụ \"%1\" không tồn tại",\r
-NoActiveX                      : "Các thiết lập bảo mật của trình duyệt có thể giới hạn một số chức năng của trình biên tập. Bạn phải bật tùy chọn \"Run ActiveX controls and plug-ins\". Bạn có thể gặp một số lỗi và thấy thiếu đi một số chức năng.",\r
+NoActiveX                      : "Các thiết lập bảo mật của trình duyệt có thể giới hạn một số chức năng của trình biên tập. Bạn phải bật tùy chọn \"Run ActiveX controls and plug-ins\". Bạn có thể gặp một số lỗi và thấy thiếu một số chức năng.",\r
 BrowseServerBlocked : "Không thể mở được bộ duyệt tài nguyên. Hãy đảm bảo chức năng chặn popup đã bị vô hiệu hóa.",\r
 DialogBlocked          : "Không thể mở được cửa sổ hộp thoại. Hãy đảm bảo chức năng chặn popup đã bị vô hiệu hóa.",\r
+VisitLinkBlocked       : "Không thể mở được cửa sổ trình duyệt mới. Hãy đảm bảo chức năng chặn popup đã bị vô hiệu hóa.",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "Đồng ý",\r
@@ -185,7 +199,7 @@ DlgImgUpload                : "Tải lên",
 DlgImgAlt                      : "Chú thích Hình ảnh",\r
 DlgImgWidth                    : "Rộng",\r
 DlgImgHeight           : "Cao",\r
-DlgImgLockRatio                : "Giữ tỷ lệ",\r
+DlgImgLockRatio                : "Giữ nguyên tỷ lệ",\r
 DlgBtnResetSize                : "Kích thước gốc",\r
 DlgImgBorder           : "Đường viền",\r
 DlgImgHSpace           : "HSpace",\r
@@ -194,7 +208,7 @@ DlgImgAlign                 : "Vị trí",
 DlgImgAlignLeft                : "Trái",\r
 DlgImgAlignAbsBottom: "Dưới tuyệt đối",\r
 DlgImgAlignAbsMiddle: "Giữa tuyệt đối",\r
-DlgImgAlignBaseline    : "Baseline",\r
+DlgImgAlignBaseline    : "Đường cơ sở",\r
 DlgImgAlignBottom      : "Dưới",\r
 DlgImgAlignMiddle      : "Giữa",\r
 DlgImgAlignRight       : "Phải",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "Chọn một Neo",\r
 DlgLnkAnchorByName     : "Theo Tên Neo",\r
 DlgLnkAnchorById       : "Theo Định danh Element",\r
-DlgLnkNoAnchors                : "<Không có Neo nào trong tài liệu>",            //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(Không có Neo nào trong tài liệu)",\r
 DlgLnkEMail                    : "Thư điện tử",\r
 DlgLnkEMailSubject     : "Tiêu đề Thông điệp",\r
 DlgLnkEMailBody                : "Nội dung Thông điệp",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "Khoảng cách Ô",
 DlgTableCellPad                : "Đệm Ô",\r
 DlgTableCaption                : "Đầu đề",\r
 DlgTableSummary                : "Tóm lược",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "Thuộc tính Ô",\r
@@ -315,13 +334,19 @@ DlgCellVerAlignNotSet     : "<Chưa thiết lập>",
 DlgCellVerAlignTop     : "Trên",\r
 DlgCellVerAlignMiddle  : "Giữa",\r
 DlgCellVerAlignBottom  : "Dưới",\r
-DlgCellVerAlignBaseline        : "Baseline",\r
+DlgCellVerAlignBaseline        : "Đường cơ sở",\r
+DlgCellType            : "Cell Type",  //MISSING\r
+DlgCellTypeData                : "Data",       //MISSING\r
+DlgCellTypeHeader      : "Header",     //MISSING\r
 DlgCellRowSpan         : "Nối Hàng",\r
 DlgCellCollSpan                : "Nối Cột",\r
 DlgCellBackColor       : "Màu nền",\r
 DlgCellBorderColor     : "Màu viền",\r
 DlgCellBtnSelect       : "Chọn...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "Tìm kiếm và Thay Thế",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "Tìm kiếm",\r
 DlgFindFindBtn         : "Tìm kiếm",\r
@@ -347,7 +372,6 @@ DlgPasteMsg2        : "Hãy dán nội dung vào trong khung bên dưới, sử dụng
 DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
 DlgPasteIgnoreFont             : "Chấp nhận các định dạng phông",\r
 DlgPasteRemoveStyles   : "Gỡ bỏ các định dạng Styles",\r
-DlgPasteCleanBox               : "Xóa nội dung",\r
 \r
 // Color Picker\r
 ColorAutomatic : "Tự động",\r
@@ -359,7 +383,7 @@ DocProps            : "Thuộc tính Tài liệu",
 // Anchor Dialog\r
 DlgAnchorTitle         : "Thuộc tính Neo",\r
 DlgAnchorName          : "Tên của Neo",\r
-DlgAnchorErrorName     : "Hãy đưa vào tên của Neo",\r
+DlgAnchorErrorName     : "Hãy nhập vào tên của Neo",\r
 \r
 // Speller Pages Dialog\r
 DlgSpellNotInDic               : "Không có trong từ điển",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "Giới thiệu",
 DlgAboutBrowserInfoTab : "Thông tin trình duyệt",\r
 DlgAboutLicenseTab     : "Giấy phép",\r
 DlgAboutVersion                : "phiên bản",\r
-DlgAboutInfo           : "Để biết thêm thông tin, hãy truy cập"\r
-};
\ No newline at end of file
+DlgAboutInfo           : "Để biết thêm thông tin, hãy truy cập",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "Chung",\r
+DlgDivAdvancedTab      : "Nâng cao",\r
+DlgDivStyle            : "Kiểu Style",\r
+DlgDivInlineStyle      : "Kiểu Style Trực tiếp",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 6d6f4f4..256852b 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "清除格式",
 InsertLinkLbl          : "超链接",\r
 InsertLink                     : "插入/编辑超链接",\r
 RemoveLink                     : "取消超链接",\r
+VisitLink                      : "打开超链接",\r
 Anchor                         : "插入/编辑锚点链接",\r
+AnchorDelete           : "清除锚点链接",\r
 InsertImageLbl         : "图象",\r
 InsertImage                    : "插入/编辑图象",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "右对齐",
 BlockJustify           : "两端对齐",\r
 DecreaseIndent         : "减少缩进量",\r
 IncreaseIndent         : "增加缩进量",\r
+Blockquote                     : "块引用",\r
+CreateDiv                      : "插入 Div 标签",\r
+EditDiv                                : "编辑 Div 标签",\r
+DeleteDiv                      : "删除 Div 标签",\r
 Undo                           : "撤消",\r
 Redo                           : "重做",\r
 NumberedListLbl                : "编号列表",\r
@@ -103,20 +109,27 @@ SelectionField    : "列表/菜单",
 ImageButton            : "图像域",\r
 \r
 FitWindow              : "全屏编辑",\r
+ShowBlocks             : "显示区块",\r
 \r
 // Context Menu\r
 EditLink                       : "编辑超链接",\r
 CellCM                         : "单元格",\r
 RowCM                          : "行",\r
 ColumnCM                       : "列",\r
-InsertRow                      : "插入行",\r
+InsertRowAfter         : "在下方插入行",\r
+InsertRowBefore                : "在上方插入行",\r
 DeleteRows                     : "删除行",\r
-InsertColumn           : "插入列",\r
+InsertColumnAfter      : "在右侧插入列",\r
+InsertColumnBefore     : "在左侧插入列",\r
 DeleteColumns          : "删除列",\r
-InsertCell                     : "插入单元格",\r
+InsertCellAfter                : "在右侧插入单元格",\r
+InsertCellBefore       : "在左侧插入单元格",\r
 DeleteCells                    : "删除单元格",\r
 MergeCells                     : "合并单元格",\r
-SplitCell                      : "拆分单元格",\r
+MergeRight                     : "向右合并单元格",\r
+MergeDown                      : "向下合并单元格",\r
+HorizontalSplitCell    : "水平拆分单元格",\r
+VerticalSplitCell      : "垂直拆分单元格",\r
 TableDelete                    : "删除表格",\r
 CellProperties         : "单元格属性",\r
 TableProperties                : "表格属性",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "菜单/列表属性",
 TextareaProp           : "多行文本属性",\r
 FormProp                       : "表单属性",\r
 \r
-FontFormats                    : "普通;已编排格式;地址;标题 1;标题 2;标题 3;标题 4;标题 5;标题 6;段落(DIV)",            //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "普通;已编排格式;地址;标题 1;标题 2;标题 3;标题 4;标题 5;标题 6;段落(DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "正在处理 XHTML,请稍等...",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "工具栏设置 \"%1\" 不存在",
 NoActiveX                      : "浏览器安全设置限制了本编辑器的某些功能。您必须启用安全设置中的“运行 ActiveX 控件和插件”,否则将出现某些错误并缺少功能。",\r
 BrowseServerBlocked : "无法打开资源浏览器,请确认是否启用了禁止弹出窗口。",\r
 DialogBlocked          : "无法打开对话框窗口,请确认是否启用了禁止弹出窗口或网页对话框(IE)。",\r
+VisitLinkBlocked       : "无法打开新窗口,请确认是否启用了禁止弹出窗口或网页对话框(IE)。",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "确定",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "地址",
 DlgLnkAnchorSel                : "选择一个锚点",\r
 DlgLnkAnchorByName     : "按锚点名称",\r
 DlgLnkAnchorById       : "按锚点 ID",\r
-DlgLnkNoAnchors                : "<此文档没有可用的锚点>",           //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(此文档没有可用的锚点)",\r
 DlgLnkEMail                    : "地址",\r
 DlgLnkEMailSubject     : "主题",\r
 DlgLnkEMailBody                : "内容",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "间距",
 DlgTableCellPad                : "边距",\r
 DlgTableCaption                : "标题",\r
 DlgTableSummary                : "摘要",\r
+DlgTableHeaders                : "标题单元格",\r
+DlgTableHeadersNone            : "无",\r
+DlgTableHeadersColumn  : "第一列",\r
+DlgTableHeadersRow             : "第一行",\r
+DlgTableHeadersBoth            : "第一列和第一行",\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "单元格属性",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "顶端",
 DlgCellVerAlignMiddle  : "居中",\r
 DlgCellVerAlignBottom  : "底部",\r
 DlgCellVerAlignBaseline        : "基线",\r
+DlgCellType            : "单元格类型",\r
+DlgCellTypeData                : "资料",\r
+DlgCellTypeHeader      : "标题",\r
 DlgCellRowSpan         : "纵跨行数",\r
 DlgCellCollSpan                : "横跨列数",\r
 DlgCellBackColor       : "背景颜色",\r
 DlgCellBorderColor     : "边框颜色",\r
 DlgCellBtnSelect       : "选择...",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "查找和替换",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "查找",\r
 DlgFindFindBtn         : "查找",\r
@@ -344,10 +369,9 @@ PasteAsText                : "粘贴为无格式文本",
 PasteFromWord  : "从 MS Word 粘贴",\r
 \r
 DlgPasteMsg2   : "请使用键盘快捷键(<STRONG>Ctrl+V</STRONG>)把内容粘贴到下面的方框里,再按 <STRONG>确定</STRONG>。",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "因为你的浏览器的安全设置原因,本编辑器不能直接访问你的剪贴板内容,你需要在本窗口重新粘贴一次。",\r
 DlgPasteIgnoreFont             : "忽略 Font 标签",\r
 DlgPasteRemoveStyles   : "清理 CSS 样式",\r
-DlgPasteCleanBox               : "清空上面内容",\r
 \r
 // Color Picker\r
 ColorAutomatic : "自动",\r
@@ -490,7 +514,7 @@ DlgDocPreview               : "预览",
 // Templates Dialog\r
 Templates                      : "模板",\r
 DlgTemplatesTitle      : "内容模板",\r
-DlgTemplatesSelMsg     : "请选择编辑器内容模板<br>(当前内容将会被清除替换):",\r
+DlgTemplatesSelMsg     : "请选择编辑器内容模板:",\r
 DlgTemplatesLoading    : "正在加载模板列表,请稍等...",\r
 DlgTemplatesNoTpl      : "(没有模板)",\r
 DlgTemplatesReplace    : "替换当前内容",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "关于",
 DlgAboutBrowserInfoTab : "浏览器信息",\r
 DlgAboutLicenseTab     : "许可证",\r
 DlgAboutVersion                : "版本",\r
-DlgAboutInfo           : "要获得更多信息请访问 "\r
-};
\ No newline at end of file
+DlgAboutInfo           : "要获得更多信息请访问 ",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "常规",\r
+DlgDivAdvancedTab      : "高级",\r
+DlgDivStyle            : "样式",\r
+DlgDivInlineStyle      : "CSS 样式",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index b5cd239..8d47829 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -44,7 +44,9 @@ RemoveFormat          : "清除格式",
 InsertLinkLbl          : "超連結",\r
 InsertLink                     : "插入/編輯超連結",\r
 RemoveLink                     : "移除超連結",\r
+VisitLink                      : "開啟超連結",\r
 Anchor                         : "插入/編輯錨點",\r
+AnchorDelete           : "移除錨點",\r
 InsertImageLbl         : "影像",\r
 InsertImage                    : "插入/編輯影像",\r
 InsertFlashLbl         : "Flash",\r
@@ -70,6 +72,10 @@ RightJustify         : "靠右對齊",
 BlockJustify           : "左右對齊",\r
 DecreaseIndent         : "減少縮排",\r
 IncreaseIndent         : "增加縮排",\r
+Blockquote                     : "引用文字",\r
+CreateDiv                      : "新增 Div 標籤",\r
+EditDiv                                : "變更 Div 標籤",\r
+DeleteDiv                      : "移除 Div 標籤",\r
 Undo                           : "復原",\r
 Redo                           : "重複",\r
 NumberedListLbl                : "編號清單",\r
@@ -103,20 +109,27 @@ SelectionField    : "清單/選單",
 ImageButton            : "影像按鈕",\r
 \r
 FitWindow              : "編輯器最大化",\r
+ShowBlocks             : "顯示區塊",\r
 \r
 // Context Menu\r
 EditLink                       : "編輯超連結",\r
 CellCM                         : "儲存格",\r
 RowCM                          : "列",\r
 ColumnCM                       : "欄",\r
-InsertRow                      : "插入列",\r
+InsertRowAfter         : "向下插入列",\r
+InsertRowBefore                : "向上插入列",\r
 DeleteRows                     : "刪除列",\r
-InsertColumn           : "插入欄",\r
+InsertColumnAfter      : "向右插入欄",\r
+InsertColumnBefore     : "向左插入欄",\r
 DeleteColumns          : "刪除欄",\r
-InsertCell                     : "插入儲存格",\r
+InsertCellAfter                : "向右插入儲存格",\r
+InsertCellBefore       : "向左插入儲存格",\r
 DeleteCells                    : "刪除儲存格",\r
 MergeCells                     : "合併儲存格",\r
-SplitCell                      : "分割儲存格",\r
+MergeRight                     : "向右合併儲存格",\r
+MergeDown                      : "向下合併儲存格",\r
+HorizontalSplitCell    : "橫向分割儲存格",\r
+VerticalSplitCell      : "縱向分割儲存格",\r
 TableDelete                    : "刪除表格",\r
 CellProperties         : "儲存格屬性",\r
 TableProperties                : "表格屬性",\r
@@ -134,7 +147,7 @@ SelectionFieldProp  : "清單/選單屬性",
 TextareaProp           : "文字區域屬性",\r
 FormProp                       : "表單屬性",\r
 \r
-FontFormats                    : "本文;已格式化;位址;標題 1;標題 2;標題 3;標題 4;標題 5;標題 6;本文 (DIV)",              //REVIEW : Check _getfontformat.html\r
+FontFormats                    : "一般;已格式化;位址;標題 1;標題 2;標題 3;標題 4;標題 5;標題 6;一般 (DIV)",\r
 \r
 // Alerts and Messages\r
 ProcessingXHTML                : "處理 XHTML 中,請稍候…",\r
@@ -148,6 +161,7 @@ UnknownToolbarSet   : "工具列設定 \"%1\" 不存在",
 NoActiveX                      : "瀏覽器的安全性設定限制了本編輯器的某些功能。您必須啟用安全性設定中的「執行ActiveX控制項與外掛程式」項目,否則本編輯器將會出現錯誤並缺少某些功能",\r
 BrowseServerBlocked : "無法開啟資源瀏覽器,請確定所有快顯視窗封鎖程式是否關閉",\r
 DialogBlocked          : "無法開啟對話視窗,請確定所有快顯視窗封鎖程式是否關閉",\r
+VisitLinkBlocked       : "無法開啟新視窗,請確定所有快顯視窗封鎖程式是否關閉",\r
 \r
 // Dialogs\r
 DlgBtnOK                       : "確定",\r
@@ -229,7 +243,7 @@ DlgLnkURL                   : "URL",
 DlgLnkAnchorSel                : "請選擇錨點",\r
 DlgLnkAnchorByName     : "依錨點名稱",\r
 DlgLnkAnchorById       : "依元件 ID",\r
-DlgLnkNoAnchors                : "<本文件尚無可用之錨點>",           //REVIEW : Change < and > with ( and )\r
+DlgLnkNoAnchors                : "(本文件尚無可用之錨點)",\r
 DlgLnkEMail                    : "電子郵件",\r
 DlgLnkEMailSubject     : "郵件主旨",\r
 DlgLnkEMailBody                : "郵件內容",\r
@@ -294,6 +308,11 @@ DlgTableCellSpace  : "間距",
 DlgTableCellPad                : "內距",\r
 DlgTableCaption                : "標題",\r
 DlgTableSummary                : "摘要",\r
+DlgTableHeaders                : "Headers",    //MISSING\r
+DlgTableHeadersNone            : "None",       //MISSING\r
+DlgTableHeadersColumn  : "First column",       //MISSING\r
+DlgTableHeadersRow             : "First Row",  //MISSING\r
+DlgTableHeadersBoth            : "Both",       //MISSING\r
 \r
 // Table Cell Dialog\r
 DlgCellTitle           : "儲存格屬性",\r
@@ -316,12 +335,18 @@ DlgCellVerAlignTop        : "靠上對齊",
 DlgCellVerAlignMiddle  : "置中",\r
 DlgCellVerAlignBottom  : "靠下對齊",\r
 DlgCellVerAlignBaseline        : "基準線",\r
+DlgCellType            : "儲存格類型",\r
+DlgCellTypeData                : "資料",\r
+DlgCellTypeHeader      : "標題",\r
 DlgCellRowSpan         : "合併列數",\r
 DlgCellCollSpan                : "合併欄数",\r
 DlgCellBackColor       : "背景顏色",\r
 DlgCellBorderColor     : "邊框顏色",\r
 DlgCellBtnSelect       : "請選擇…",\r
 \r
+// Find and Replace Dialog\r
+DlgFindAndReplaceTitle : "尋找與取代",\r
+\r
 // Find Dialog\r
 DlgFindTitle           : "尋找",\r
 DlgFindFindBtn         : "尋找",\r
@@ -344,10 +369,9 @@ PasteAsText                : "貼為純文字格式",
 PasteFromWord  : "自 Word 貼上",\r
 \r
 DlgPasteMsg2   : "請使用快捷鍵 (<strong>Ctrl+V</strong>) 貼到下方區域中並按下 <strong>確定</strong>",\r
-DlgPasteSec            : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.",       //MISSING\r
+DlgPasteSec            : "因為瀏覽器的安全性設定,本編輯器無法直接存取您的剪貼簿資料,請您自行在本視窗進行貼上動作。",\r
 DlgPasteIgnoreFont             : "移除字型設定",\r
 DlgPasteRemoveStyles   : "移除樣式設定",\r
-DlgPasteCleanBox               : "清除文字區域",\r
 \r
 // Color Picker\r
 ColorAutomatic : "自動",\r
@@ -500,5 +524,16 @@ DlgAboutAboutTab   : "關於",
 DlgAboutBrowserInfoTab : "瀏覽器資訊",\r
 DlgAboutLicenseTab     : "許可證",\r
 DlgAboutVersion                : "版本",\r
-DlgAboutInfo           : "想獲得更多資訊請至 "\r
-};
\ No newline at end of file
+DlgAboutInfo           : "想獲得更多資訊請至 ",\r
+\r
+// Div Dialog\r
+DlgDivGeneralTab       : "一般",\r
+DlgDivAdvancedTab      : "進階",\r
+DlgDivStyle            : "樣式",\r
+DlgDivInlineStyle      : "CSS 樣式",\r
+\r
+ScaytTitle                     : "SCAYT",      //MISSING\r
+ScaytTitleOptions      : "Options",    //MISSING\r
+ScaytTitleLangs                : "Languages",  //MISSING\r
+ScaytTitleAbout                : "About"       //MISSING\r
+};\r
index 7ce1c1c..1df2d0f 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * height (FCKConfig.AutoGrowMax), based on its contents.\r
  */\r
 \r
-var FCKAutoGrow_Min = window.frameElement.offsetHeight ;\r
+var FCKAutoGrow = {\r
+       MIN_HEIGHT : window.frameElement.offsetHeight,\r
 \r
-function FCKAutoGrow_Check()\r
-{\r
-       var oInnerDoc = FCK.EditorDocument ;\r
+       Check : function()\r
+       {\r
+               var delta = FCKAutoGrow.GetHeightDelta() ;\r
+               if ( delta != 0 )\r
+               {\r
+                       var newHeight = window.frameElement.offsetHeight + delta ;\r
+\r
+                       newHeight = FCKAutoGrow.GetEffectiveHeight( newHeight ) ;\r
 \r
-       var iFrameHeight, iInnerHeight ;\r
+                       if ( newHeight != window.frameElement.height )\r
+                       {\r
+                               window.frameElement.style.height = newHeight + "px" ;\r
+\r
+                               // Gecko browsers use an onresize handler to update the innermost\r
+                               // IFRAME's height. If the document is modified before the onresize\r
+                               // is triggered, the plugin will miscalculate the new height. Thus,\r
+                               // forcibly trigger onresize. #1336\r
+                               if ( typeof window.onresize == 'function' )\r
+                               {\r
+                                       window.onresize() ;\r
+                               }\r
+                       }\r
+               }\r
+       },\r
 \r
-       if ( FCKBrowserInfo.IsIE )\r
+       CheckEditorStatus : function( sender, status )\r
        {\r
-               iFrameHeight = FCK.EditorWindow.frameElement.offsetHeight ;\r
-               iInnerHeight = oInnerDoc.body.scrollHeight ;\r
-       }\r
-       else\r
+               if ( status == FCK_STATUS_COMPLETE )\r
+                       FCKAutoGrow.Check() ;\r
+       },\r
+\r
+       GetEffectiveHeight : function( height )\r
        {\r
-               iFrameHeight = FCK.EditorWindow.innerHeight ;\r
-               iInnerHeight = oInnerDoc.body.offsetHeight ;\r
-       }\r
+               if ( height < FCKAutoGrow.MIN_HEIGHT )\r
+                       height = FCKAutoGrow.MIN_HEIGHT;\r
+               else\r
+               {\r
+                       var max = FCKConfig.AutoGrowMax;\r
+                       if ( max && max > 0 && height > max )\r
+                               height = max;\r
+               }\r
 \r
-       var iDiff = iInnerHeight - iFrameHeight ;\r
+               return height;\r
+       },\r
 \r
-       if ( iDiff != 0 )\r
+       GetHeightDelta : function()\r
        {\r
-               var iMainFrameSize = window.frameElement.offsetHeight ;\r
+               var oInnerDoc = FCK.EditorDocument ;\r
+\r
+               var iFrameHeight ;\r
+               var iInnerHeight ;\r
 \r
-               if ( iDiff > 0 && iMainFrameSize < FCKConfig.AutoGrowMax )\r
+               if ( FCKBrowserInfo.IsIE )\r
                {\r
-                       iMainFrameSize += iDiff ;\r
-                       if ( iMainFrameSize > FCKConfig.AutoGrowMax )\r
-                               iMainFrameSize = FCKConfig.AutoGrowMax ;\r
+                       iFrameHeight = FCK.EditorWindow.frameElement.offsetHeight ;\r
+                       iInnerHeight = oInnerDoc.body.scrollHeight ;\r
                }\r
-               else if ( iDiff < 0 && iMainFrameSize > FCKAutoGrow_Min )\r
+               else\r
                {\r
-                       iMainFrameSize += iDiff ;\r
-                       if ( iMainFrameSize < FCKAutoGrow_Min )\r
-                               iMainFrameSize = FCKAutoGrow_Min ;\r
+                       iFrameHeight = FCK.EditorWindow.innerHeight ;\r
+                       iInnerHeight = oInnerDoc.body.offsetHeight +\r
+                               ( parseInt( FCKDomTools.GetCurrentElementStyle( oInnerDoc.body, 'margin-top' ), 10 ) || 0 ) +\r
+                               ( parseInt( FCKDomTools.GetCurrentElementStyle( oInnerDoc.body, 'margin-bottom' ), 10 ) || 0 ) ;\r
                }\r
-               else\r
-                       return ;\r
 \r
-               window.frameElement.height = iMainFrameSize ;\r
-       }\r
-}\r
+               return iInnerHeight - iFrameHeight ;\r
+       },\r
 \r
-FCK.AttachToOnSelectionChange( FCKAutoGrow_Check ) ;\r
+       SetListeners : function()\r
+       {\r
+               if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )\r
+                       return ;\r
 \r
-function FCKAutoGrow_SetListeners()\r
-{\r
-       if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )\r
-               return ;\r
+               FCK.EditorWindow.attachEvent( 'onscroll', FCKAutoGrow.Check ) ;\r
+               FCK.EditorDocument.attachEvent( 'onkeyup', FCKAutoGrow.Check ) ;\r
+       }\r
+};\r
 \r
-       FCK.EditorWindow.attachEvent( 'onscroll', FCKAutoGrow_Check ) ;\r
-       FCK.EditorDocument.attachEvent( 'onkeyup', FCKAutoGrow_Check ) ;\r
-}\r
+FCK.AttachToOnSelectionChange( FCKAutoGrow.Check ) ;\r
 \r
 if ( FCKBrowserInfo.IsIE )\r
-{\r
-//     FCKAutoGrow_SetListeners() ;\r
-       FCK.Events.AttachEvent( 'OnAfterSetHTML', FCKAutoGrow_SetListeners ) ;\r
-}\r
-\r
-function FCKAutoGrow_CheckEditorStatus( sender, status )\r
-{\r
-       if ( status == FCK_STATUS_COMPLETE )\r
-               FCKAutoGrow_Check() ;\r
-}\r
-\r
-FCK.Events.AttachEvent( 'OnStatusChange', FCKAutoGrow_CheckEditorStatus ) ;
\ No newline at end of file
+       FCK.Events.AttachEvent( 'OnAfterSetHTML', FCKAutoGrow.SetListeners ) ;\r
+\r
+FCK.Events.AttachEvent( 'OnStatusChange', FCKAutoGrow.CheckEditorStatus ) ;\r
diff --git a/httemplate/elements/fckeditor/editor/plugins/bbcode/fckplugin.js b/httemplate/elements/fckeditor/editor/plugins/bbcode/fckplugin.js
new file mode 100644 (file)
index 0000000..f9521dd
--- /dev/null
@@ -0,0 +1,123 @@
+/*\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ *\r
+ * This is a sample implementation for a custom Data Processor for basic BBCode.\r
+ */\r
+\r
+FCK.DataProcessor =\r
+{\r
+       /*\r
+        * Returns a string representing the HTML format of "data". The returned\r
+        * value will be loaded in the editor.\r
+        * The HTML must be from <html> to </html>, eventually including\r
+        * the DOCTYPE.\r
+        *     @param {String} data The data to be converted in the\r
+        *            DataProcessor specific format.\r
+        */\r
+       ConvertToHtml : function( data )\r
+       {\r
+               // Convert < and > to their HTML entities.\r
+        data = data.replace( /</g, '&lt;' ) ;\r
+        data = data.replace( />/g, '&gt;' ) ;\r
+\r
+        // Convert line breaks to <br>.\r
+        data = data.replace( /(?:\r\n|\n|\r)/g, '<br>' ) ;\r
+\r
+        // [url]\r
+        data = data.replace( /\[url\](.+?)\[\/url]/gi, '<a href="$1">$1</a>' ) ;\r
+        data = data.replace( /\[url\=([^\]]+)](.+?)\[\/url]/gi, '<a href="$1">$2</a>' ) ;\r
+\r
+        // [b]\r
+        data = data.replace( /\[b\](.+?)\[\/b]/gi, '<b>$1</b>' ) ;\r
+\r
+        // [i]\r
+        data = data.replace( /\[i\](.+?)\[\/i]/gi, '<i>$1</i>' ) ;\r
+\r
+        // [u]\r
+        data = data.replace( /\[u\](.+?)\[\/u]/gi, '<u>$1</u>' ) ;\r
+\r
+               return '<html><head><title></title></head><body>' + data + '</body></html>' ;\r
+       },\r
+\r
+       /*\r
+        * Converts a DOM (sub-)tree to a string in the data format.\r
+        *     @param {Object} rootNode The node that contains the DOM tree to be\r
+        *            converted to the data format.\r
+        *     @param {Boolean} excludeRoot Indicates that the root node must not\r
+        *            be included in the conversion, only its children.\r
+        *     @param {Boolean} format Indicates that the data must be formatted\r
+        *            for human reading. Not all Data Processors may provide it.\r
+        */\r
+       ConvertToDataFormat : function( rootNode, excludeRoot, ignoreIfEmptyParagraph, format )\r
+       {\r
+               var data = rootNode.innerHTML ;\r
+\r
+               // Convert <br> to line breaks.\r
+               data = data.replace( /<br(?=[ \/>]).*?>/gi, '\r\n') ;\r
+\r
+               // [url]\r
+               data = data.replace( /<a .*?href=(["'])(.+?)\1.*?>(.+?)<\/a>/gi, '[url=$2]$3[/url]') ;\r
+\r
+               // [b]\r
+               data = data.replace( /<(?:b|strong)>/gi, '[b]') ;\r
+               data = data.replace( /<\/(?:b|strong)>/gi, '[/b]') ;\r
+\r
+               // [i]\r
+               data = data.replace( /<(?:i|em)>/gi, '[i]') ;\r
+               data = data.replace( /<\/(?:i|em)>/gi, '[/i]') ;\r
+\r
+               // [u]\r
+               data = data.replace( /<u>/gi, '[u]') ;\r
+               data = data.replace( /<\/u>/gi, '[/u]') ;\r
+\r
+               // Remove remaining tags.\r
+               data = data.replace( /<[^>]+>/g, '') ;\r
+\r
+               return data ;\r
+       },\r
+\r
+       /*\r
+        * Makes any necessary changes to a piece of HTML for insertion in the\r
+        * editor selection position.\r
+        *     @param {String} html The HTML to be fixed.\r
+        */\r
+       FixHtml : function( html )\r
+       {\r
+               return html ;\r
+       }\r
+} ;\r
+\r
+// This Data Processor doesn't support <p>, so let's use <br>.\r
+FCKConfig.EnterMode = 'br' ;\r
+\r
+// To avoid pasting invalid markup (which is discarded in any case), let's\r
+// force pasting to plain text.\r
+FCKConfig.ForcePasteAsPlainText        = true ;\r
+\r
+// Rename the "Source" buttom to "BBCode".\r
+FCKToolbarItems.RegisterItem( 'Source', new FCKToolbarButton( 'Source', 'BBCode', null, FCK_TOOLBARITEM_ICONTEXT, true, true, 1 ) ) ;\r
+\r
+// Let's enforce the toolbar to the limits of this Data Processor. A custom\r
+// toolbar set may be defined in the configuration file with more or less entries.\r
+FCKConfig.ToolbarSets["Default"] = [\r
+       ['Source'],\r
+       ['Bold','Italic','Underline','-','Link'],\r
+       ['About']\r
+] ;\r
diff --git a/httemplate/elements/fckeditor/editor/plugins/dragresizetable/fckplugin.js b/httemplate/elements/fckeditor/editor/plugins/dragresizetable/fckplugin.js
new file mode 100644 (file)
index 0000000..87061ff
--- /dev/null
@@ -0,0 +1,529 @@
+var FCKDragTableHandler =\r
+{\r
+       "_DragState" : 0,\r
+       "_LeftCell" : null,\r
+       "_RightCell" : null,\r
+       "_MouseMoveMode" : 0,   // 0 - find candidate cells for resizing, 1 - drag to resize\r
+       "_ResizeBar" : null,\r
+       "_OriginalX" : null,\r
+       "_MinimumX" : null,\r
+       "_MaximumX" : null,\r
+       "_LastX" : null,\r
+       "_TableMap" : null,\r
+       "_doc" : document,\r
+       "_IsInsideNode" : function( w, domNode, pos )\r
+       {\r
+               var myCoords = FCKTools.GetWindowPosition( w, domNode ) ;\r
+               var xMin = myCoords.x ;\r
+               var yMin = myCoords.y ;\r
+               var xMax = parseInt( xMin, 10 ) + parseInt( domNode.offsetWidth, 10 ) ;\r
+               var yMax = parseInt( yMin, 10 ) + parseInt( domNode.offsetHeight, 10 ) ;\r
+               if ( pos.x >= xMin && pos.x <= xMax && pos.y >= yMin && pos.y <= yMax )\r
+                       return true;\r
+               return false;\r
+       },\r
+       "_GetBorderCells" : function( w, tableNode, tableMap, mouse )\r
+       {\r
+               // Enumerate all the cells in the table.\r
+               var cells = [] ;\r
+               for ( var i = 0 ; i < tableNode.rows.length ; i++ )\r
+               {\r
+                       var r = tableNode.rows[i] ;\r
+                       for ( var j = 0 ; j < r.cells.length ; j++ )\r
+                               cells.push( r.cells[j] ) ;\r
+               }\r
+\r
+               if ( cells.length < 1 )\r
+                       return null ;\r
+\r
+               // Get the cells whose right or left border is nearest to the mouse cursor's x coordinate.\r
+               var minRxDist = null ;\r
+               var lxDist = null ;\r
+               var minYDist = null ;\r
+               var rbCell = null ;\r
+               var lbCell = null ;\r
+               for ( var i = 0 ; i < cells.length ; i++ )\r
+               {\r
+                       var pos = FCKTools.GetWindowPosition( w, cells[i] ) ;\r
+                       var rightX = pos.x + parseInt( cells[i].clientWidth, 10 ) ;\r
+                       var rxDist = mouse.x - rightX ;\r
+                       var yDist = mouse.y - ( pos.y + ( cells[i].clientHeight / 2 ) ) ;\r
+                       if ( minRxDist == null ||\r
+                                       ( Math.abs( rxDist ) <= Math.abs( minRxDist ) &&\r
+                                         ( minYDist == null || Math.abs( yDist ) <= Math.abs( minYDist ) ) ) )\r
+                       {\r
+                               minRxDist = rxDist ;\r
+                               minYDist = yDist ;\r
+                               rbCell = cells[i] ;\r
+                       }\r
+               }\r
+               /*\r
+               var rowNode = FCKTools.GetElementAscensor( rbCell, "tr" ) ;\r
+               var cellIndex = rbCell.cellIndex + 1 ;\r
+               if ( cellIndex >= rowNode.cells.length )\r
+                       return null ;\r
+               lbCell = rowNode.cells.item( cellIndex ) ;\r
+               */\r
+               var rowIdx = rbCell.parentNode.rowIndex ;\r
+               var colIdx = FCKTableHandler._GetCellIndexSpan( tableMap, rowIdx, rbCell ) ;\r
+               var colSpan = isNaN( rbCell.colSpan ) ? 1 : rbCell.colSpan ;\r
+               lbCell = tableMap[rowIdx][colIdx + colSpan] ;\r
+\r
+               if ( ! lbCell )\r
+                       return null ;\r
+\r
+               // Abort if too far from the border.\r
+               lxDist = mouse.x - FCKTools.GetWindowPosition( w, lbCell ).x ;\r
+               if ( lxDist < 0 && minRxDist < 0 && minRxDist < -2 )\r
+                       return null ;\r
+               if ( lxDist > 0 && minRxDist > 0 && lxDist > 3 )\r
+                       return null ;\r
+\r
+               return { "leftCell" : rbCell, "rightCell" : lbCell } ;\r
+       },\r
+       "_GetResizeBarPosition" : function()\r
+       {\r
+               var row = FCKTools.GetElementAscensor( this._RightCell, "tr" ) ;\r
+               return FCKTableHandler._GetCellIndexSpan( this._TableMap, row.rowIndex, this._RightCell ) ;\r
+       },\r
+       "_ResizeBarMouseDownListener" : function( evt )\r
+       {\r
+               if ( FCKDragTableHandler._LeftCell )\r
+                       FCKDragTableHandler._MouseMoveMode = 1 ;\r
+               if ( FCKBrowserInfo.IsIE )\r
+                       FCKDragTableHandler._ResizeBar.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 50 ;\r
+               else\r
+                       FCKDragTableHandler._ResizeBar.style.opacity = 0.5 ;\r
+               FCKDragTableHandler._OriginalX = evt.clientX ;\r
+\r
+               // Calculate maximum and minimum x-coordinate delta.\r
+               var borderIndex = FCKDragTableHandler._GetResizeBarPosition() ;\r
+               var offset = FCKDragTableHandler._GetIframeOffset();\r
+               var table = FCKTools.GetElementAscensor( FCKDragTableHandler._LeftCell, "table" );\r
+               var minX = null ;\r
+               var maxX = null ;\r
+               for ( var r = 0 ; r < FCKDragTableHandler._TableMap.length ; r++ )\r
+               {\r
+                       var leftCell = FCKDragTableHandler._TableMap[r][borderIndex - 1] ;\r
+                       var rightCell = FCKDragTableHandler._TableMap[r][borderIndex] ;\r
+                       var leftPosition = FCKTools.GetWindowPosition( FCK.EditorWindow, leftCell ) ;\r
+                       var rightPosition = FCKTools.GetWindowPosition( FCK.EditorWindow, rightCell ) ;\r
+                       var leftPadding = FCKDragTableHandler._GetCellPadding( table, leftCell ) ;\r
+                       var rightPadding = FCKDragTableHandler._GetCellPadding( table, rightCell ) ;\r
+                       if ( minX == null || leftPosition.x + leftPadding > minX )\r
+                               minX = leftPosition.x + leftPadding ;\r
+                       if ( maxX == null || rightPosition.x + rightCell.clientWidth - rightPadding < maxX )\r
+                               maxX = rightPosition.x + rightCell.clientWidth - rightPadding ;\r
+               }\r
+\r
+               FCKDragTableHandler._MinimumX = minX + offset.x ;\r
+               FCKDragTableHandler._MaximumX = maxX + offset.x ;\r
+               FCKDragTableHandler._LastX = null ;\r
+\r
+               if (evt.preventDefault)\r
+                       evt.preventDefault();\r
+               else\r
+                       evt.returnValue = false;\r
+       },\r
+       "_ResizeBarMouseUpListener" : function( evt )\r
+       {\r
+               FCKDragTableHandler._MouseMoveMode = 0 ;\r
+               FCKDragTableHandler._HideResizeBar() ;\r
+\r
+               if ( FCKDragTableHandler._LastX == null )\r
+                       return ;\r
+\r
+               // Calculate the delta value.\r
+               var deltaX = FCKDragTableHandler._LastX - FCKDragTableHandler._OriginalX ;\r
+\r
+               // Then, build an array of current column width values.\r
+               // This algorithm can be very slow if the cells have insane colSpan values. (e.g. colSpan=1000).\r
+               var table = FCKTools.GetElementAscensor( FCKDragTableHandler._LeftCell, "table" ) ;\r
+               var colArray = [] ;\r
+               var tableMap = FCKDragTableHandler._TableMap ;\r
+               for ( var i = 0 ; i < tableMap.length ; i++ )\r
+               {\r
+                       for ( var j = 0 ; j < tableMap[i].length ; j++ )\r
+                       {\r
+                               var cell = tableMap[i][j] ;\r
+                               var width = FCKDragTableHandler._GetCellWidth( table, cell ) ;\r
+                               var colSpan = isNaN( cell.colSpan) ? 1 : cell.colSpan ;\r
+                               if ( colArray.length <= j )\r
+                                       colArray.push( { width : width / colSpan, colSpan : colSpan } ) ;\r
+                               else\r
+                               {\r
+                                       var guessItem = colArray[j] ;\r
+                                       if ( guessItem.colSpan > colSpan )\r
+                                       {\r
+                                               guessItem.width = width / colSpan ;\r
+                                               guessItem.colSpan = colSpan ;\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+\r
+               // Find out the equivalent column index of the two cells selected for resizing.\r
+               colIndex = FCKDragTableHandler._GetResizeBarPosition() ;\r
+\r
+               // Note that colIndex must be at least 1 here, so it's safe to subtract 1 from it.\r
+               colIndex-- ;\r
+\r
+               // Modify the widths in the colArray according to the mouse coordinate delta value.\r
+               colArray[colIndex].width += deltaX ;\r
+               colArray[colIndex + 1].width -= deltaX ;\r
+\r
+               // Clear all cell widths, delete all <col> elements from the table.\r
+               for ( var r = 0 ; r < table.rows.length ; r++ )\r
+               {\r
+                       var row = table.rows.item( r ) ;\r
+                       for ( var c = 0 ; c < row.cells.length ; c++ )\r
+                       {\r
+                               var cell = row.cells.item( c ) ;\r
+                               cell.width = "" ;\r
+                               cell.style.width = "" ;\r
+                       }\r
+               }\r
+               var colElements = table.getElementsByTagName( "col" ) ;\r
+               for ( var i = colElements.length - 1 ; i >= 0 ; i-- )\r
+                       colElements[i].parentNode.removeChild( colElements[i] ) ;\r
+\r
+               // Set new cell widths.\r
+               var processedCells = [] ;\r
+               for ( var i = 0 ; i < tableMap.length ; i++ )\r
+               {\r
+                       for ( var j = 0 ; j < tableMap[i].length ; j++ )\r
+                       {\r
+                               var cell = tableMap[i][j] ;\r
+                               if ( cell._Processed )\r
+                                       continue ;\r
+                               if ( tableMap[i][j-1] != cell )\r
+                                       cell.width = colArray[j].width ;\r
+                               else\r
+                                       cell.width = parseInt( cell.width, 10 ) + parseInt( colArray[j].width, 10 ) ;\r
+                               if ( tableMap[i][j+1] != cell )\r
+                               {\r
+                                       processedCells.push( cell ) ;\r
+                                       cell._Processed = true ;\r
+                               }\r
+                       }\r
+               }\r
+               for ( var i = 0 ; i < processedCells.length ; i++ )\r
+               {\r
+                       if ( FCKBrowserInfo.IsIE )\r
+                               processedCells[i].removeAttribute( '_Processed' ) ;\r
+                       else\r
+                               delete processedCells[i]._Processed ;\r
+               }\r
+\r
+               FCKDragTableHandler._LastX = null ;\r
+       },\r
+       "_ResizeBarMouseMoveListener" : function( evt )\r
+       {\r
+               if ( FCKDragTableHandler._MouseMoveMode == 0 )\r
+                       return FCKDragTableHandler._MouseFindHandler( FCK, evt ) ;\r
+               else\r
+                       return FCKDragTableHandler._MouseDragHandler( FCK, evt ) ;\r
+       },\r
+       // Calculate the padding of a table cell.\r
+       // It returns the value of paddingLeft + paddingRight of a table cell.\r
+       // This function is used, in part, to calculate the width parameter that should be used for setting cell widths.\r
+       // The equation in question is clientWidth = paddingLeft + paddingRight + width.\r
+       // So that width = clientWidth - paddingLeft - paddingRight.\r
+       // The return value of this function must be pixel accurate acorss all supported browsers, so be careful if you need to modify it.\r
+       "_GetCellPadding" : function( table, cell )\r
+       {\r
+               var attrGuess = parseInt( table.cellPadding, 10 ) * 2 ;\r
+               var cssGuess = null ;\r
+               if ( typeof( window.getComputedStyle ) == "function" )\r
+               {\r
+                       var styleObj = window.getComputedStyle( cell, null ) ;\r
+                       cssGuess = parseInt( styleObj.getPropertyValue( "padding-left" ), 10 ) +\r
+                               parseInt( styleObj.getPropertyValue( "padding-right" ), 10 ) ;\r
+               }\r
+               else\r
+                       cssGuess = parseInt( cell.currentStyle.paddingLeft, 10 ) + parseInt (cell.currentStyle.paddingRight, 10 ) ;\r
+\r
+               var cssRuntime = cell.style.padding ;\r
+               if ( isFinite( cssRuntime ) )\r
+                       cssGuess = parseInt( cssRuntime, 10 ) * 2 ;\r
+               else\r
+               {\r
+                       cssRuntime = cell.style.paddingLeft ;\r
+                       if ( isFinite( cssRuntime ) )\r
+                               cssGuess = parseInt( cssRuntime, 10 ) ;\r
+                       cssRuntime = cell.style.paddingRight ;\r
+                       if ( isFinite( cssRuntime ) )\r
+                               cssGuess += parseInt( cssRuntime, 10 ) ;\r
+               }\r
+\r
+               attrGuess = parseInt( attrGuess, 10 ) ;\r
+               cssGuess = parseInt( cssGuess, 10 ) ;\r
+               if ( isNaN( attrGuess ) )\r
+                       attrGuess = 0 ;\r
+               if ( isNaN( cssGuess ) )\r
+                       cssGuess = 0 ;\r
+               return Math.max( attrGuess, cssGuess ) ;\r
+       },\r
+       // Calculate the real width of the table cell.\r
+       // The real width of the table cell is the pixel width that you can set to the width attribute of the table cell and after\r
+       // that, the table cell should be of exactly the same width as before.\r
+       // The real width of a table cell can be calculated as:\r
+       // width = clientWidth - paddingLeft - paddingRight.\r
+       "_GetCellWidth" : function( table, cell )\r
+       {\r
+               var clientWidth = cell.clientWidth ;\r
+               if ( isNaN( clientWidth ) )\r
+                       clientWidth = 0 ;\r
+               return clientWidth - this._GetCellPadding( table, cell ) ;\r
+       },\r
+       "MouseMoveListener" : function( FCK, evt )\r
+       {\r
+               if ( FCKDragTableHandler._MouseMoveMode == 0 )\r
+                       return FCKDragTableHandler._MouseFindHandler( FCK, evt ) ;\r
+               else\r
+                       return FCKDragTableHandler._MouseDragHandler( FCK, evt ) ;\r
+       },\r
+       "_MouseFindHandler" : function( FCK, evt )\r
+       {\r
+               if ( FCK.MouseDownFlag )\r
+                       return ;\r
+               var node = evt.srcElement || evt.target ;\r
+               try\r
+               {\r
+                       if ( ! node || node.nodeType != 1 )\r
+                       {\r
+                               this._HideResizeBar() ;\r
+                               return ;\r
+                       }\r
+               }\r
+               catch ( e )\r
+               {\r
+                       this._HideResizeBar() ;\r
+                       return ;\r
+               }\r
+\r
+               // Since this function might be called from the editing area iframe or the outer fckeditor iframe,\r
+               // the mouse point coordinates from evt.clientX/Y can have different reference points.\r
+               // We need to resolve the mouse pointer position relative to the editing area iframe.\r
+               var mouseX = evt.clientX ;\r
+               var mouseY = evt.clientY ;\r
+               if ( FCKTools.GetElementDocument( node ) == document )\r
+               {\r
+                       var offset = this._GetIframeOffset() ;\r
+                       mouseX -= offset.x ;\r
+                       mouseY -= offset.y ;\r
+               }\r
+\r
+\r
+               if ( this._ResizeBar && this._LeftCell )\r
+               {\r
+                       var leftPos = FCKTools.GetWindowPosition( FCK.EditorWindow, this._LeftCell ) ;\r
+                       var rightPos = FCKTools.GetWindowPosition( FCK.EditorWindow, this._RightCell ) ;\r
+                       var rxDist = mouseX - ( leftPos.x + this._LeftCell.clientWidth ) ;\r
+                       var lxDist = mouseX - rightPos.x ;\r
+                       var inRangeFlag = false ;\r
+                       if ( lxDist >= 0 && rxDist <= 0 )\r
+                               inRangeFlag = true ;\r
+                       else if ( rxDist > 0 && lxDist <= 3 )\r
+                               inRangeFlag = true ;\r
+                       else if ( lxDist < 0 && rxDist >= -2 )\r
+                               inRangeFlag = true ;\r
+                       if ( inRangeFlag )\r
+                       {\r
+                               this._ShowResizeBar( FCK.EditorWindow,\r
+                                       FCKTools.GetElementAscensor( this._LeftCell, "table" ),\r
+                                       { "x" : mouseX, "y" : mouseY } ) ;\r
+                               return ;\r
+                       }\r
+               }\r
+\r
+               var tagName = node.tagName.toLowerCase() ;\r
+               if ( tagName != "table" && tagName != "td" && tagName != "th" )\r
+               {\r
+                       if ( this._LeftCell )\r
+                               this._LeftCell = this._RightCell = this._TableMap = null ;\r
+                       this._HideResizeBar() ;\r
+                       return ;\r
+               }\r
+               node = FCKTools.GetElementAscensor( node, "table" ) ;\r
+               var tableMap = FCKTableHandler._CreateTableMap( node ) ;\r
+               var cellTuple = this._GetBorderCells( FCK.EditorWindow, node, tableMap, { "x" : mouseX, "y" : mouseY } ) ;\r
+\r
+               if ( cellTuple == null )\r
+               {\r
+                       if ( this._LeftCell )\r
+                               this._LeftCell = this._RightCell = this._TableMap = null ;\r
+                       this._HideResizeBar() ;\r
+               }\r
+               else\r
+               {\r
+                       this._LeftCell = cellTuple["leftCell"] ;\r
+                       this._RightCell = cellTuple["rightCell"] ;\r
+                       this._TableMap = tableMap ;\r
+                       this._ShowResizeBar( FCK.EditorWindow,\r
+                                       FCKTools.GetElementAscensor( this._LeftCell, "table" ),\r
+                                       { "x" : mouseX, "y" : mouseY } ) ;\r
+               }\r
+       },\r
+       "_MouseDragHandler" : function( FCK, evt )\r
+       {\r
+               var mouse = { "x" : evt.clientX, "y" : evt.clientY } ;\r
+\r
+               // Convert mouse coordinates in reference to the outer iframe.\r
+               var node = evt.srcElement || evt.target ;\r
+               if ( FCKTools.GetElementDocument( node ) == FCK.EditorDocument )\r
+               {\r
+                       var offset = this._GetIframeOffset() ;\r
+                       mouse.x += offset.x ;\r
+                       mouse.y += offset.y ;\r
+               }\r
+\r
+               // Calculate the mouse position delta and see if we've gone out of range.\r
+               if ( mouse.x >= this._MaximumX - 5 )\r
+                       mouse.x = this._MaximumX - 5 ;\r
+               if ( mouse.x <= this._MinimumX + 5 )\r
+                       mouse.x = this._MinimumX + 5 ;\r
+\r
+               var docX = mouse.x + FCKTools.GetScrollPosition( window ).X ;\r
+               this._ResizeBar.style.left = ( docX - this._ResizeBar.offsetWidth / 2 ) + "px" ;\r
+               this._LastX = mouse.x ;\r
+       },\r
+       "_ShowResizeBar" : function( w, table, mouse )\r
+       {\r
+               if ( this._ResizeBar == null )\r
+               {\r
+                       this._ResizeBar = this._doc.createElement( "div" ) ;\r
+                       var paddingBar = this._ResizeBar ;\r
+                       var paddingStyles = { 'position' : 'absolute', 'cursor' : 'e-resize' } ;\r
+                       if ( FCKBrowserInfo.IsIE )\r
+                               paddingStyles.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=10,enabled=true)" ;\r
+                       else\r
+                               paddingStyles.opacity = 0.10 ;\r
+                       FCKDomTools.SetElementStyles( paddingBar, paddingStyles ) ;\r
+                       this._avoidStyles( paddingBar );\r
+                       paddingBar.setAttribute('_fcktemp', true);\r
+                       this._doc.body.appendChild( paddingBar ) ;\r
+                       FCKTools.AddEventListener( paddingBar, "mousemove", this._ResizeBarMouseMoveListener ) ;\r
+                       FCKTools.AddEventListener( paddingBar, "mousedown", this._ResizeBarMouseDownListener ) ;\r
+                       FCKTools.AddEventListener( document, "mouseup", this._ResizeBarMouseUpListener ) ;\r
+                       FCKTools.AddEventListener( FCK.EditorDocument, "mouseup", this._ResizeBarMouseUpListener ) ;\r
+\r
+                       // IE doesn't let the tranparent part of the padding block to receive mouse events unless there's something inside.\r
+                       // So we need to create a spacer image to fill the block up.\r
+                       var filler = this._doc.createElement( "img" ) ;\r
+                       filler.setAttribute('_fcktemp', true);\r
+                       filler.border = 0 ;\r
+                       filler.src = FCKConfig.BasePath + "images/spacer.gif" ;\r
+                       filler.style.position = "absolute" ;\r
+                       paddingBar.appendChild( filler ) ;\r
+\r
+                       // Disable drag and drop, and selection for the filler image.\r
+                       var disabledListener = function( evt )\r
+                       {\r
+                               if ( evt.preventDefault )\r
+                                       evt.preventDefault() ;\r
+                               else\r
+                                       evt.returnValue = false ;\r
+                       }\r
+                       FCKTools.AddEventListener( filler, "dragstart", disabledListener ) ;\r
+                       FCKTools.AddEventListener( filler, "selectstart", disabledListener ) ;\r
+               }\r
+\r
+               var paddingBar = this._ResizeBar ;\r
+               var offset = this._GetIframeOffset() ;\r
+               var tablePos = this._GetTablePosition( w, table ) ;\r
+               var barHeight = table.offsetHeight ;\r
+               var barTop = offset.y + tablePos.y ;\r
+               // Do not let the resize bar intrude into the toolbar area.\r
+               if ( tablePos.y < 0 )\r
+               {\r
+                       barHeight += tablePos.y ;\r
+                       barTop -= tablePos.y ;\r
+               }\r
+               var bw = parseInt( table.border, 10 ) ;\r
+               if ( isNaN( bw ) )\r
+                       bw = 0 ;\r
+               var cs = parseInt( table.cellSpacing, 10 ) ;\r
+               if ( isNaN( cs ) )\r
+                       cs = 0 ;\r
+               var barWidth = Math.max( bw+100, cs+100 ) ;\r
+               var paddingStyles =\r
+               {\r
+                       'top'           : barTop + 'px',\r
+                       'height'        : barHeight + 'px',\r
+                       'width'         : barWidth + 'px',\r
+                       'left'          : ( offset.x + mouse.x + FCKTools.GetScrollPosition( w ).X - barWidth / 2 ) + 'px'\r
+               } ;\r
+               if ( FCKBrowserInfo.IsIE )\r
+                       paddingBar.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 10 ;\r
+               else\r
+                       paddingStyles.opacity = 0.1 ;\r
+\r
+               FCKDomTools.SetElementStyles( paddingBar, paddingStyles ) ;\r
+               var filler = paddingBar.getElementsByTagName( "img" )[0] ;\r
+\r
+               FCKDomTools.SetElementStyles( filler,\r
+                       {\r
+                               width   : paddingBar.offsetWidth + 'px',\r
+                               height  : barHeight + 'px'\r
+                       } ) ;\r
+\r
+               barWidth = Math.max( bw, cs, 3 ) ;\r
+               var visibleBar = null ;\r
+               if ( paddingBar.getElementsByTagName( "div" ).length < 1 )\r
+               {\r
+                       visibleBar = this._doc.createElement( "div" ) ;\r
+                       this._avoidStyles( visibleBar );\r
+                       visibleBar.setAttribute('_fcktemp', true);\r
+                       paddingBar.appendChild( visibleBar ) ;\r
+               }\r
+               else\r
+                       visibleBar = paddingBar.getElementsByTagName( "div" )[0] ;\r
+\r
+               FCKDomTools.SetElementStyles( visibleBar,\r
+                       {\r
+                               position                : 'absolute',\r
+                               backgroundColor : 'blue',\r
+                               width                   : barWidth + 'px',\r
+                               height                  : barHeight + 'px',\r
+                               left                    : '50px',\r
+                               top                             : '0px'\r
+                       } ) ;\r
+       },\r
+       "_HideResizeBar" : function()\r
+       {\r
+               if ( this._ResizeBar )\r
+                       // IE bug: display : none does not hide the resize bar for some reason.\r
+                       // so set the position to somewhere invisible.\r
+                       FCKDomTools.SetElementStyles( this._ResizeBar,\r
+                               {\r
+                                       top             : '-100000px',\r
+                                       left    : '-100000px'\r
+                               } ) ;\r
+       },\r
+       "_GetIframeOffset" : function ()\r
+       {\r
+               return FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ;\r
+       },\r
+       "_GetTablePosition" : function ( w, table )\r
+       {\r
+               return FCKTools.GetWindowPosition( w, table ) ;\r
+       },\r
+       "_avoidStyles" : function( element )\r
+       {\r
+               FCKDomTools.SetElementStyles( element,\r
+                       {\r
+                               padding         : '0',\r
+                               backgroundImage : 'none',\r
+                               border          : '0'\r
+                       } ) ;\r
+       },\r
+       "Reset" : function()\r
+       {\r
+               FCKDragTableHandler._LeftCell = FCKDragTableHandler._RightCell = FCKDragTableHandler._TableMap = null ;\r
+       }\r
+\r
+};\r
+\r
+FCK.Events.AttachEvent( "OnMouseMove", FCKDragTableHandler.MouseMoveListener ) ;\r
+FCK.Events.AttachEvent( "OnAfterSetHTML", FCKDragTableHandler.Reset ) ;\r
index a334206..df8c563 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
                <title>Placeholder Properties</title>\r
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
                <meta content="noindex, nofollow" name="robots">\r
+               <script src="../../dialog/common/fck_dialog_common.js" type="text/javascript"></script>\r
                <script language="javascript">\r
 \r
-var oEditor = window.parent.InnerDialogLoaded() ;\r
+var dialog = window.parent ;\r
+var oEditor = dialog.InnerDialogLoaded() ;\r
 var FCKLang = oEditor.FCKLang ;\r
 var FCKPlaceholders = oEditor.FCKPlaceholders ;\r
 \r
@@ -40,10 +42,13 @@ window.onload = function ()
        LoadSelected() ;\r
 \r
        // Show the "Ok" button.\r
-       window.parent.SetOkButton( true ) ;\r
+       dialog.SetOkButton( true ) ;\r
+\r
+       // Select text field on load.\r
+       SelectField( 'txtName' ) ;\r
 }\r
 \r
-var eSelected = oEditor.FCKSelection.GetSelectedElement() ;\r
+var eSelected = dialog.Selection.GetSelectedElement() ;\r
 \r
 function LoadSelected()\r
 {\r
@@ -97,4 +102,4 @@ function Ok()
                        </tr>\r
                </table>\r
        </body>\r
-</html>
\ No newline at end of file
+</html>\r
index 26489b8..ec4e1a5 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -22,7 +22,7 @@
  */\r
 \r
 // Register the related command.\r
-FCKCommands.RegisterCommand( 'Placeholder', new FCKDialogCommand( 'Placeholder', FCKLang.PlaceholderDlgTitle, FCKPlugins.Items['placeholder'].Path + 'fck_placeholder.html', 340, 170 ) ) ;\r
+FCKCommands.RegisterCommand( 'Placeholder', new FCKDialogCommand( 'Placeholder', FCKLang.PlaceholderDlgTitle, FCKPlugins.Items['placeholder'].Path + 'fck_placeholder.html', 340, 160 ) ) ;\r
 \r
 // Create the "Plaholder" toolbar button.\r
 var oPlaceholderItem = new FCKToolbarButton( 'Placeholder', FCKLang.PlaceholderBtn ) ;\r
@@ -37,7 +37,7 @@ var FCKPlaceholders = new Object() ;
 // Add a new placeholder at the actual selection.\r
 FCKPlaceholders.Add = function( name )\r
 {\r
-       var oSpan = FCK.CreateElement( 'SPAN' ) ;\r
+       var oSpan = FCK.InsertElement( 'span' ) ;\r
        this.SetupSpan( oSpan, name ) ;\r
 }\r
 \r
@@ -184,4 +184,4 @@ FCKXHtml.TagProcessors['span'] = function( node, htmlNode )
                FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;\r
 \r
        return node ;\r
-}
\ No newline at end of file
+}\r
index a666f8b..aad19ba 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -24,4 +24,4 @@ FCKLang.PlaceholderBtn                        = 'Einfügen/editieren Platzhalter' ;
 FCKLang.PlaceholderDlgTitle            = 'Platzhalter Eigenschaften' ;\r
 FCKLang.PlaceholderDlgName             = 'Platzhalter Name' ;\r
 FCKLang.PlaceholderErrNoName   = 'Bitte den Namen des Platzhalters schreiben' ;\r
-FCKLang.PlaceholderErrNameInUse        = 'Der angegebene Namen ist schon in Gebrauch' ;
\ No newline at end of file
+FCKLang.PlaceholderErrNameInUse        = 'Der angegebene Namen ist schon in Gebrauch' ;\r
index 290a3fb..d716718 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -24,4 +24,4 @@ FCKLang.PlaceholderBtn                        = 'Insert/Edit Placeholder' ;
 FCKLang.PlaceholderDlgTitle            = 'Placeholder Properties' ;\r
 FCKLang.PlaceholderDlgName             = 'Placeholder Name' ;\r
 FCKLang.PlaceholderErrNoName   = 'Please type the placeholder name' ;\r
-FCKLang.PlaceholderErrNameInUse        = 'The specified name is already in use' ;
\ No newline at end of file
+FCKLang.PlaceholderErrNameInUse        = 'The specified name is already in use' ;\r
diff --git a/httemplate/elements/fckeditor/editor/plugins/placeholder/lang/es.js b/httemplate/elements/fckeditor/editor/plugins/placeholder/lang/es.js
new file mode 100644 (file)
index 0000000..eaf4b72
--- /dev/null
@@ -0,0 +1,27 @@
+/*\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ *\r
+ * Placholder Spanish language file.\r
+ */\r
+FCKLang.PlaceholderBtn                 = 'Insertar/Editar contenedor' ;\r
+FCKLang.PlaceholderDlgTitle            = 'Propiedades del contenedor ' ;\r
+FCKLang.PlaceholderDlgName             = 'Nombre de contenedor' ;\r
+FCKLang.PlaceholderErrNoName   = 'Por favor escriba el nombre de contenedor' ;\r
+FCKLang.PlaceholderErrNameInUse        = 'El nombre especificado ya esta en uso' ;\r
index f5ac26e..558793b 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
index 51d75c0..ac0df55 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
index bc55b38..40e221b 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -24,4 +24,4 @@ FCKLang.PlaceholderBtn                        = 'Wstaw/Edytuj nagłówek' ;
 FCKLang.PlaceholderDlgTitle            = 'Właśności nagłówka' ;\r
 FCKLang.PlaceholderDlgName             = 'Nazwa nagłówka' ;\r
 FCKLang.PlaceholderErrNoName   = 'Proszę wprowadzić nazwę nagłówka' ;\r
-FCKLang.PlaceholderErrNameInUse        = 'Podana nazwa jest już w użyciu' ;
\ No newline at end of file
+FCKLang.PlaceholderErrNameInUse        = 'Podana nazwa jest już w użyciu' ;\r
index cd25b6a..23f5cab 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
index 88dac9c..0a2f76a 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * == END LICENSE ==\r
  *\r
  * This plugin register the required Toolbar items to be able to insert the\r
- * toolbar commands in the toolbar.\r
+ * table commands in the toolbar.\r
  */\r
 \r
-FCKToolbarItems.RegisterItem( 'TableInsertRow'         , new FCKToolbarButton( 'TableInsertRow'        , FCKLang.InsertRow, null, null, null, null, 62 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableDeleteRows'                , new FCKToolbarButton( 'TableDeleteRows'       , FCKLang.DeleteRows, null, null, null, null, 63 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableInsertColumn'      , new FCKToolbarButton( 'TableInsertColumn'     , FCKLang.InsertColumn, null, null, null, null, 64 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableDeleteColumns'     , new FCKToolbarButton( 'TableDeleteColumns', FCKLang.DeleteColumns, null, null, null, null, 65 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableInsertCell'                , new FCKToolbarButton( 'TableInsertCell'       , FCKLang.InsertCell, null, null, null, null, 58 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableDeleteCells'       , new FCKToolbarButton( 'TableDeleteCells'      , FCKLang.DeleteCells, null, null, null, null, 59 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableMergeCells'                , new FCKToolbarButton( 'TableMergeCells'       , FCKLang.MergeCells, null, null, null, null, 60 ) ) ;\r
-FCKToolbarItems.RegisterItem( 'TableSplitCell'         , new FCKToolbarButton( 'TableSplitCell'        , FCKLang.SplitCell, null, null, null, null, 61 ) ) ;
\ No newline at end of file
+FCKToolbarItems.RegisterItem( 'TableInsertRowAfter'            , new FCKToolbarButton( 'TableInsertRowAfter'   , FCKLang.InsertRowAfter, null, null, null, true, 62 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableDeleteRows'                , new FCKToolbarButton( 'TableDeleteRows'       , FCKLang.DeleteRows, null, null, null, true, 63 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableInsertColumnAfter' , new FCKToolbarButton( 'TableInsertColumnAfter'        , FCKLang.InsertColumnAfter, null, null, null, true, 64 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableDeleteColumns'     , new FCKToolbarButton( 'TableDeleteColumns', FCKLang.DeleteColumns, null, null, null, true, 65 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableInsertCellAfter'           , new FCKToolbarButton( 'TableInsertCellAfter'  , FCKLang.InsertCellAfter, null, null, null, true, 58 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableDeleteCells'       , new FCKToolbarButton( 'TableDeleteCells'      , FCKLang.DeleteCells, null, null, null, true, 59 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableMergeCells'                , new FCKToolbarButton( 'TableMergeCells'       , FCKLang.MergeCells, null, null, null, true, 60 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableHorizontalSplitCell'               , new FCKToolbarButton( 'TableHorizontalSplitCell'      , FCKLang.SplitCell, null, null, null, true, 61 ) ) ;\r
+FCKToolbarItems.RegisterItem( 'TableCellProp'          , new FCKToolbarButton( 'TableCellProp' , FCKLang.CellProperties, null, null, null, true, 57 ) ) ;\r
index b28b941..fe3dc0a 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
index 9725f6c..7e68ef3 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Styles used by the dialog boxes.\r
  */\r
 \r
-body\r
+html, body\r
 {\r
+       background-color: transparent;\r
        margin: 0px;\r
+       padding: 0px;\r
+}\r
+\r
+body\r
+{\r
        padding: 10px;\r
 }\r
 \r
@@ -40,10 +46,18 @@ body, .BackColor
 \r
 .PopupBody\r
 {\r
-       margin: 0px;\r
+       height: 100%;\r
+       width: 100%;\r
+       overflow: hidden;\r
+       background-color: transparent;\r
        padding: 0px;\r
 }\r
 \r
+#header\r
+{\r
+       cursor: move;\r
+}\r
+\r
 .PopupTitle\r
 {\r
        font-weight: bold;\r
@@ -55,6 +69,10 @@ body, .BackColor
 \r
 .PopupButtons\r
 {\r
+       position: absolute;\r
+       right: 0px;\r
+       left: 0px;\r
+       bottom: 0px;\r
        border-top: #d5d59d 1px solid;\r
        background-color: #e3e3c7;\r
        padding: 7px 10px 7px 10px;\r
@@ -74,7 +92,7 @@ body, .BackColor
 \r
 .DarkBackground\r
 {\r
-       background-color: #d7d79f;\r
+       background-color: #eaead1;\r
 }\r
 \r
 .LightBackground\r
@@ -95,7 +113,7 @@ body, .BackColor
 \r
 .PopupTabEmptyArea\r
 {\r
-       padding-left: 10px ;\r
+       padding-left: 10px;\r
        border-bottom: #d5d59d 1px solid;\r
 }\r
 \r
@@ -104,10 +122,7 @@ body, .BackColor
        border-right: #d5d59d 1px solid;\r
        border-top: #d5d59d 1px solid;\r
        border-left: #d5d59d 1px solid;\r
-       padding-right: 5px;\r
-       padding-left: 5px;\r
-       padding-bottom: 3px;\r
-       padding-top: 3px;\r
+       padding: 3px 5px 3px 5px;\r
        color: #737357;\r
 }\r
 \r
@@ -121,7 +136,7 @@ body, .BackColor
 \r
 .PopupTabSelected\r
 {\r
-       font-weight:bold;\r
+       font-weight: bold;\r
        cursor: default;\r
        padding-top: 4px;\r
        border-bottom: #f1f1e3 1px solid;\r
@@ -134,4 +149,254 @@ body, .BackColor
        background-color: #fffacd !important;\r
        cursor: pointer;\r
        cursor: hand;\r
-}
\ No newline at end of file
+}\r
+\r
+#tdBrowse\r
+{\r
+       vertical-align: bottom;\r
+}\r
+\r
+/**\r
+ * Dialog frame related styles.\r
+ */\r
+\r
+.contents\r
+{\r
+       position: absolute;\r
+       top: 2px;\r
+       left: 16px;\r
+       right: 16px;\r
+       bottom: 20px;\r
+       background-color: #f1f1e3;\r
+       overflow: hidden;\r
+       z-index: 1;\r
+}\r
+\r
+.tl, .tr, .tc, .bl, .br, .bc\r
+{\r
+       position: absolute;\r
+       background-image: url(images/sprites.png);\r
+       background-repeat: no-repeat;\r
+}\r
+\r
+* html .tl, * html .tr, * html .tc, * html .bl, * html .br, * html .bc\r
+{\r
+       background-image: url(images/sprites.gif);\r
+}\r
+\r
+.ml, .mr\r
+{\r
+       position: absolute;\r
+       background-image: url(images/dialog.sides.png);\r
+       background-repeat: repeat-y;\r
+}\r
+\r
+* html .ml, * html .mr\r
+{\r
+       background-image: url(images/dialog.sides.gif);\r
+}\r
+\r
+.rtl .ml, .rtl .mr\r
+{\r
+       position: absolute;\r
+       background-image: url(images/dialog.sides.rtl.png);\r
+       background-repeat: repeat-y;\r
+}\r
+\r
+* html .rtl .ml, * html .rtl .mr\r
+{\r
+       background-image: url(images/dialog.sides.gif);\r
+}\r
+\r
+.tl\r
+{\r
+       top: 0px;\r
+       left: 0px;\r
+       width: 16px;\r
+       height: 16px;\r
+       background-position: -16px -16px;\r
+}\r
+\r
+.rtl .tl\r
+{\r
+       background-position: -16px -397px;\r
+}\r
+\r
+.tr\r
+{\r
+       top: 0px;\r
+       right: 0px;\r
+       width: 16px;\r
+       height: 16px;\r
+       background-position: -16px -76px;\r
+}\r
+\r
+.rtl .tr\r
+{\r
+       background-position: -16px -457px;\r
+}\r
+\r
+.tc\r
+{\r
+       top: 0px;\r
+       right: 16px;\r
+       left: 16px;\r
+       height: 16px;\r
+       background-position: 0px -136px;\r
+       background-repeat: repeat-x;\r
+}\r
+\r
+.ml\r
+{\r
+       top: 16px;\r
+       left: 0px;\r
+       width: 16px;\r
+       bottom: 51px;\r
+       background-position: 0px 0px;\r
+}\r
+\r
+.mr\r
+{\r
+       top: 16px;\r
+       right: 0px;\r
+       width: 16px;\r
+       bottom: 51px;\r
+       background-position: -16px 0px;\r
+}\r
+\r
+.bl\r
+{\r
+       bottom: 0px;\r
+       left: 0px;\r
+       width: 30px;\r
+       height: 51px;\r
+       background-position: -16px -196px;\r
+}\r
+\r
+.rtl .bl\r
+{\r
+       background-position: -16px -517px;\r
+}\r
+\r
+.br\r
+{\r
+       bottom: 0px;\r
+       right: 0px;\r
+       width: 30px;\r
+       height: 51px;\r
+       background-position: -16px -263px;\r
+}\r
+\r
+.rtl .br\r
+{\r
+       background-position: -16px -584px;\r
+}\r
+\r
+.bc\r
+{\r
+       bottom: 0px;\r
+       right: 30px;\r
+       left: 30px;\r
+       height: 51px;\r
+       background-position: 0px -330px;\r
+       background-repeat: repeat-x;\r
+}\r
+\r
+/* For IE6. Do not change it. */\r
+* html .blocker\r
+{\r
+       position: absolute;\r
+       width: 100%;\r
+       height: 100%;\r
+       z-index: 12;\r
+       filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\r
+}\r
+\r
+/* The layer used to cover the dialog when opening a child dialog. */\r
+.cover\r
+{\r
+       position: absolute;\r
+       top: 0px;\r
+       left: 14px;\r
+       right: 14px;\r
+       bottom: 18px;\r
+       z-index: 11;\r
+}\r
+\r
+#closeButton\r
+{\r
+       position: absolute;\r
+       right: 0px;\r
+       top: 0px;\r
+       margin-top: 5px;\r
+       margin-right: 10px;\r
+       width: 20px;\r
+       height: 20px;\r
+       cursor: pointer;\r
+       background-image: url(images/sprites.png);\r
+       background-repeat: no-repeat;\r
+       background-position: -16px -651px;\r
+}\r
+\r
+* html #closeButton\r
+{\r
+       cursor: hand;\r
+       background-image: url(images/sprites.gif);\r
+}\r
+\r
+.rtl #closeButton\r
+{\r
+       right: auto;\r
+       left: 10px;\r
+       margin-right: 0px;\r
+}\r
+\r
+#closeButton:hover\r
+{\r
+       background-position: -16px -687px;\r
+}\r
+\r
+#throbberBlock\r
+{\r
+       z-index: 10;\r
+}\r
+\r
+#throbberBlock div\r
+{\r
+       float: left;\r
+       width: 8px;\r
+       height: 9px;\r
+       margin-left: 2px;\r
+       margin-right: 2px;\r
+       font-size: 1px; /* IE6 */\r
+}\r
+\r
+/*\r
+       Color Gradient Generator:\r
+       http://www.herethere.net/~samson/php/color_gradient/?cbegin=737357&cend=E3E3C7&steps=4\r
+*/\r
+\r
+.throbber_1\r
+{\r
+       background-color: #737357;\r
+}\r
+\r
+.throbber_2\r
+{\r
+       background-color: #8f8f73;\r
+}\r
+\r
+.throbber_3\r
+{\r
+       background-color: #abab8f;\r
+}\r
+\r
+.throbber_4\r
+{\r
+       background-color: #c7c7ab;\r
+}\r
+\r
+.throbber_5\r
+{\r
+       background-color: #e3e3c7;\r
+}\r
diff --git a/httemplate/elements/fckeditor/editor/skins/default/fck_dialog_ie6.js b/httemplate/elements/fckeditor/editor/skins/default/fck_dialog_ie6.js
new file mode 100644 (file)
index 0000000..93dd674
--- /dev/null
@@ -0,0 +1,110 @@
+/*\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ */\r
+\r
+(function()\r
+{\r
+       // IE6 doens't handle absolute positioning properly (it is always in quirks\r
+       // mode). This function fixes the sizes and positions of many elements that\r
+       // compose the skin (this is skin specific).\r
+       var fixSizes = window.DoResizeFixes = function()\r
+       {\r
+               var fckDlg = window.document.body ;\r
+\r
+               for ( var i = 0 ; i < fckDlg.childNodes.length ; i++ )\r
+               {\r
+                       var child = fckDlg.childNodes[i] ;\r
+                       switch ( child.className )\r
+                       {\r
+                               case 'contents' :\r
+                                       child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 ) ;       // -left -right\r
+                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 ) ;      // -bottom -top\r
+                                       break ;\r
+\r
+                               case 'blocker' :\r
+                               case 'cover' :\r
+                                       child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 + 4 ) ;   // -left -right + 4\r
+                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 + 4 ) ;  // -bottom -top + 4\r
+                                       break ;\r
+\r
+                               case 'tr' :\r
+                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;\r
+                                       break ;\r
+\r
+                               case 'tc' :\r
+                                       child.style.width = Math.max( 0, fckDlg.clientWidth - 16 - 16 ) ;\r
+                                       break ;\r
+\r
+                               case 'ml' :\r
+                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;\r
+                                       break ;\r
+\r
+                               case 'mr' :\r
+                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;\r
+                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;\r
+                                       break ;\r
+\r
+                               case 'bl' :\r
+                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
+                                       break ;\r
+\r
+                               case 'br' :\r
+                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 30 ) ;\r
+                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
+                                       break ;\r
+\r
+                               case 'bc' :\r
+                                       child.style.width = Math.max( 0, fckDlg.clientWidth - 30 - 30 ) ;\r
+                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
+                                       break ;\r
+                       }\r
+               }\r
+       }\r
+\r
+       var closeButtonOver = function()\r
+       {\r
+               this.style.backgroundPosition = '-16px -687px' ;\r
+       } ;\r
+\r
+       var closeButtonOut = function()\r
+       {\r
+               this.style.backgroundPosition = '-16px -651px' ;\r
+       } ;\r
+\r
+       var fixCloseButton = function()\r
+       {\r
+               var closeButton = document.getElementById ( 'closeButton' ) ;\r
+\r
+               closeButton.onmouseover = closeButtonOver ;\r
+               closeButton.onmouseout  = closeButtonOut ;\r
+       }\r
+\r
+       var onLoad = function()\r
+       {\r
+               fixSizes() ;\r
+               fixCloseButton() ;\r
+\r
+               window.attachEvent( 'onresize', fixSizes ) ;\r
+               window.detachEvent( 'onload', onLoad ) ;\r
+       }\r
+\r
+       window.attachEvent( 'onload', onLoad ) ;\r
+\r
+})() ;\r
index b849cca..f9aff70 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -27,8 +27,9 @@
 \r
 body\r
 {\r
-    padding: 1px 1px 1px 1px;\r
-    margin: 0px 0px 0px 0px;\r
+       padding: 1px;\r
+       margin: 0;\r
+       background-color: #ffffff;\r
 }\r
 \r
 #xEditingArea\r
@@ -331,7 +332,6 @@ body
     border: 1px solid #8f8f73;\r
     padding-left: 2px;\r
     padding-right: 2px;\r
-    background-color: #ffffff;\r
 }\r
 \r
 .SC_Panel, .SC_Panel TD\r
@@ -409,7 +409,7 @@ body
     background-repeat: no-repeat;\r
 }\r
 \r
-.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption\r
+.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption, .SC_FieldDisabled .TB_ButtonType_Text\r
 {\r
     opacity: 0.30; /* Safari, Opera and Mozilla */\r
     filter: gray() alpha(opacity=30); /* IE */ /* -moz-opacity: 0.30; Mozilla (Old) */\r
index d5ba74e..a6ca532 100644 (file)
Binary files a/httemplate/elements/fckeditor/editor/skins/default/fck_strip.gif and b/httemplate/elements/fckeditor/editor/skins/default/fck_strip.gif differ
diff --git a/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.gif b/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.gif
new file mode 100644 (file)
index 0000000..8f91b47
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.gif differ
diff --git a/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.png b/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.png
new file mode 100644 (file)
index 0000000..1042a61
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.png differ
diff --git a/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.rtl.png b/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.rtl.png
new file mode 100644 (file)
index 0000000..d7f7b49
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/default/images/dialog.sides.rtl.png differ
diff --git a/httemplate/elements/fckeditor/editor/skins/default/images/sprites.gif b/httemplate/elements/fckeditor/editor/skins/default/images/sprites.gif
new file mode 100644 (file)
index 0000000..2f57d93
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/default/images/sprites.gif differ
diff --git a/httemplate/elements/fckeditor/editor/skins/default/images/sprites.png b/httemplate/elements/fckeditor/editor/skins/default/images/sprites.png
new file mode 100644 (file)
index 0000000..5be90ed
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/default/images/sprites.png differ
index 54a958b..5c7836b 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Styles used by the dialog boxes.\r
  */\r
 \r
-body\r
+html, body\r
 {\r
+       background-color: transparent;\r
        margin: 0px;\r
+       padding: 0px;\r
+}\r
+\r
+body\r
+{\r
        padding: 10px;\r
-       background-color: #f7f8fd;\r
 }\r
 \r
 body, td, input, select, textarea\r
@@ -41,10 +46,18 @@ body, .BackColor
 \r
 .PopupBody\r
 {\r
-       margin: 0px;\r
+       height: 100%;\r
+       width: 100%;\r
+       overflow: hidden;\r
+       background-color: transparent;\r
        padding: 0px;\r
 }\r
 \r
+#header\r
+{\r
+       cursor: move;\r
+}\r
+\r
 .PopupTitle\r
 {\r
        font-weight: bold;\r
@@ -56,6 +69,10 @@ body, .BackColor
 \r
 .PopupButtons\r
 {\r
+       position: absolute;\r
+       right: 0px;\r
+       left: 0px;\r
+       bottom: 0px;\r
        border-top: #466ca6 1px solid;\r
        background-color: #8cb2fd;\r
        padding: 7px 10px 7px 10px;\r
@@ -75,7 +92,7 @@ body, .BackColor
 \r
 .DarkBackground\r
 {\r
-       background-color: #d7d79f;\r
+       background-color: #eaf2f8;\r
 }\r
 \r
 .LightBackground\r
@@ -105,10 +122,7 @@ body, .BackColor
        border-right: #466ca6 1px solid;\r
        border-top: #466ca6 1px solid;\r
        border-left: #466ca6 1px solid;\r
-       padding-right: 5px;\r
-       padding-left: 5px;\r
-       padding-bottom: 3px;\r
-       padding-top: 3px;\r
+       padding: 3px 5px 3px 5px;\r
        color: #0e3460;\r
 }\r
 \r
@@ -122,7 +136,7 @@ body, .BackColor
 \r
 .PopupTabSelected\r
 {\r
-       font-weight:bold;\r
+       font-weight: bold;\r
        cursor: default;\r
        padding-top: 4px;\r
        border-bottom: #f7f8fd 1px solid;\r
@@ -135,4 +149,254 @@ body, .BackColor
        background-color: #add8e6 !important;\r
        cursor: pointer;\r
        cursor: hand;\r
-}
\ No newline at end of file
+}\r
+\r
+#tdBrowse\r
+{\r
+       vertical-align: bottom;\r
+}\r
+\r
+/**\r
+ * Dialog frame related styles.\r
+ */\r
+\r
+.contents\r
+{\r
+       position: absolute;\r
+       top: 2px;\r
+       left: 16px;\r
+       right: 16px;\r
+       bottom: 20px;\r
+       background-color: #f7f8fD;\r
+       overflow: hidden;\r
+       z-index: 1;\r
+}\r
+\r
+.tl, .tr, .tc, .bl, .br, .bc\r
+{\r
+       position: absolute;\r
+       background-image: url(images/sprites.png);\r
+       background-repeat: no-repeat;\r
+}\r
+\r
+* html .tl, * html .tr, * html .tc, * html .bl, * html .br, * html .bc\r
+{\r
+       background-image: url(images/sprites.gif);\r
+}\r
+\r
+.ml, .mr\r
+{\r
+       position: absolute;\r
+       background-image: url(images/dialog.sides.png);\r
+       background-repeat: repeat-y;\r
+}\r
+\r
+* html .ml, * html .mr\r
+{\r
+       background-image: url(images/dialog.sides.gif);\r
+}\r
+\r
+.rtl .ml, .rtl .mr\r
+{\r
+       position: absolute;\r
+       background-image: url(images/dialog.sides.rtl.png);\r
+       background-repeat: repeat-y;\r
+}\r
+\r
+* html .rtl .ml, * html .rtl .mr\r
+{\r
+       background-image: url(images/dialog.sides.gif);\r
+}\r
+\r
+.tl\r
+{\r
+       top: 0px;\r
+       left: 0px;\r
+       width: 16px;\r
+       height: 16px;\r
+       background-position: -16px -16px;\r
+}\r
+\r
+.rtl .tl\r
+{\r
+       background-position: -16px -397px;\r
+}\r
+\r
+.tr\r
+{\r
+       top: 0px;\r
+       right: 0px;\r
+       width: 16px;\r
+       height: 16px;\r
+       background-position: -16px -76px;\r
+}\r
+\r
+.rtl .tr\r
+{\r
+       background-position: -16px -457px;\r
+}\r
+\r
+.tc\r
+{\r
+       top: 0px;\r
+       right: 16px;\r
+       left: 16px;\r
+       height: 16px;\r
+       background-position: 0px -136px;\r
+       background-repeat: repeat-x;\r
+}\r
+\r
+.ml\r
+{\r
+       top: 16px;\r
+       left: 0px;\r
+       width: 16px;\r
+       bottom: 51px;\r
+       background-position: 0px 0px;\r
+}\r
+\r
+.mr\r
+{\r
+       top: 16px;\r
+       right: 0px;\r
+       width: 16px;\r
+       bottom: 51px;\r
+       background-position: -16px 0px;\r
+}\r
+\r
+.bl\r
+{\r
+       bottom: 0px;\r
+       left: 0px;\r
+       width: 30px;\r
+       height: 51px;\r
+       background-position: -16px -196px;\r
+}\r
+\r
+.rtl .bl\r
+{\r
+       background-position: -16px -517px;\r
+}\r
+\r
+.br\r
+{\r
+       bottom: 0px;\r
+       right: 0px;\r
+       width: 30px;\r
+       height: 51px;\r
+       background-position: -16px -263px;\r
+}\r
+\r
+.rtl .br\r
+{\r
+       background-position: -16px -584px;\r
+}\r
+\r
+.bc\r
+{\r
+       bottom: 0px;\r
+       right: 30px;\r
+       left: 30px;\r
+       height: 51px;\r
+       background-position: 0px -330px;\r
+       background-repeat: repeat-x;\r
+}\r
+\r
+/* For IE6. Do not change it. */\r
+* html .blocker\r
+{\r
+       position: absolute;\r
+       width: 100%;\r
+       height: 100%;\r
+       z-index: 12;\r
+       filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\r
+}\r
+\r
+/* The layer used to cover the dialog when opening a child dialog. */\r
+.cover\r
+{\r
+       position: absolute;\r
+       top: 0px;\r
+       left: 14px;\r
+       right: 14px;\r
+       bottom: 18px;\r
+       z-index: 11;\r
+}\r
+\r
+#closeButton\r
+{\r
+       position: absolute;\r
+       right: 0px;\r
+       top: 0px;\r
+       margin-top: 5px;\r
+       margin-right: 10px;\r
+       width: 20px;\r
+       height: 20px;\r
+       cursor: pointer;\r
+       background-image: url(images/sprites.png);\r
+       background-repeat: no-repeat;\r
+       background-position: -16px -651px;\r
+}\r
+\r
+* html #closeButton\r
+{\r
+       cursor: hand;\r
+       background-image: url(images/sprites.gif);\r
+}\r
+\r
+.rtl #closeButton\r
+{\r
+       right: auto;\r
+       left: 10px;\r
+       margin-right: 0px;\r
+}\r
+\r
+#closeButton:hover\r
+{\r
+       background-position: -16px -687px;\r
+}\r
+\r
+#throbberBlock\r
+{\r
+       z-index: 10;\r
+}\r
+\r
+#throbberBlock div\r
+{\r
+       float: left;\r
+       width: 8px;\r
+       height: 9px;\r
+       margin-left: 2px;\r
+       margin-right: 2px;\r
+       font-size: 1px; /* IE6 */\r
+}\r
+\r
+/*\r
+       Color Gradient Generator:\r
+       http://www.herethere.net/~samson/php/color_gradient/?cbegin=0E3460&cend=8cb2fd&steps=4\r
+*/\r
+\r
+.throbber_1\r
+{\r
+       background-color: #0E3460;\r
+}\r
+\r
+.throbber_2\r
+{\r
+       background-color: #2D5387;\r
+}\r
+\r
+.throbber_3\r
+{\r
+       background-color: #4D73AE;\r
+}\r
+\r
+.throbber_4\r
+{\r
+       background-color: #6C92D5;\r
+}\r
+\r
+.throbber_5\r
+{\r
+       background-color: #8CB2FD;\r
+}\r
diff --git a/httemplate/elements/fckeditor/editor/skins/office2003/fck_dialog_ie6.js b/httemplate/elements/fckeditor/editor/skins/office2003/fck_dialog_ie6.js
new file mode 100644 (file)
index 0000000..93dd674
--- /dev/null
@@ -0,0 +1,110 @@
+/*\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ */\r
+\r
+(function()\r
+{\r
+       // IE6 doens't handle absolute positioning properly (it is always in quirks\r
+       // mode). This function fixes the sizes and positions of many elements that\r
+       // compose the skin (this is skin specific).\r
+       var fixSizes = window.DoResizeFixes = function()\r
+       {\r
+               var fckDlg = window.document.body ;\r
+\r
+               for ( var i = 0 ; i < fckDlg.childNodes.length ; i++ )\r
+               {\r
+                       var child = fckDlg.childNodes[i] ;\r
+                       switch ( child.className )\r
+                       {\r
+                               case 'contents' :\r
+                                       child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 ) ;       // -left -right\r
+                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 ) ;      // -bottom -top\r
+                                       break ;\r
+\r
+                               case 'blocker' :\r
+                               case 'cover' :\r
+                                       child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 + 4 ) ;   // -left -right + 4\r
+                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 + 4 ) ;  // -bottom -top + 4\r
+                                       break ;\r
+\r
+                               case 'tr' :\r
+                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;\r
+                                       break ;\r
+\r
+                               case 'tc' :\r
+                                       child.style.width = Math.max( 0, fckDlg.clientWidth - 16 - 16 ) ;\r
+                                       break ;\r
+\r
+                               case 'ml' :\r
+                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;\r
+                                       break ;\r
+\r
+                               case 'mr' :\r
+                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;\r
+                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;\r
+                                       break ;\r
+\r
+                               case 'bl' :\r
+                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
+                                       break ;\r
+\r
+                               case 'br' :\r
+                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 30 ) ;\r
+                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
+                                       break ;\r
+\r
+                               case 'bc' :\r
+                                       child.style.width = Math.max( 0, fckDlg.clientWidth - 30 - 30 ) ;\r
+                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
+                                       break ;\r
+                       }\r
+               }\r
+       }\r
+\r
+       var closeButtonOver = function()\r
+       {\r
+               this.style.backgroundPosition = '-16px -687px' ;\r
+       } ;\r
+\r
+       var closeButtonOut = function()\r
+       {\r
+               this.style.backgroundPosition = '-16px -651px' ;\r
+       } ;\r
+\r
+       var fixCloseButton = function()\r
+       {\r
+               var closeButton = document.getElementById ( 'closeButton' ) ;\r
+\r
+               closeButton.onmouseover = closeButtonOver ;\r
+               closeButton.onmouseout  = closeButtonOut ;\r
+       }\r
+\r
+       var onLoad = function()\r
+       {\r
+               fixSizes() ;\r
+               fixCloseButton() ;\r
+\r
+               window.attachEvent( 'onresize', fixSizes ) ;\r
+               window.detachEvent( 'onload', onLoad ) ;\r
+       }\r
+\r
+       window.attachEvent( 'onload', onLoad ) ;\r
+\r
+})() ;\r
index f68c06f..443c8e5 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -27,8 +27,9 @@
 \r
 body\r
 {\r
-    padding: 1px 1px 1px 1px;\r
-    margin: 0px 0px 0px 0px;\r
+       padding: 1px;\r
+       margin: 0;\r
+       background-color: #ffffff;\r
 }\r
 \r
 #xEditingArea\r
@@ -339,7 +340,6 @@ body
     border: 1px solid #8f8f73;\r
     padding-left: 2px;\r
     padding-right: 2px;\r
-    background-color: #ffffff;\r
 }\r
 \r
 .SC_Panel, .SC_Panel TD\r
@@ -421,7 +421,7 @@ body
     background-repeat: no-repeat;\r
 }\r
 \r
-.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption\r
+.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption, .SC_FieldDisabled .TB_ButtonType_Text\r
 {\r
     opacity: 0.30; /* Safari, Opera and Mozilla */\r
     filter: gray() alpha(opacity=30); /* IE */ /* -moz-opacity: 0.30; Mozilla (Old) */\r
index a7282f2..5607cc8 100644 (file)
Binary files a/httemplate/elements/fckeditor/editor/skins/office2003/fck_strip.gif and b/httemplate/elements/fckeditor/editor/skins/office2003/fck_strip.gif differ
diff --git a/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.gif b/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.gif
new file mode 100644 (file)
index 0000000..921fa1a
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.gif differ
diff --git a/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.png b/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.png
new file mode 100644 (file)
index 0000000..be15730
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.png differ
diff --git a/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png b/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png
new file mode 100644 (file)
index 0000000..e18f13d
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png differ
diff --git a/httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.gif b/httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.gif
new file mode 100644 (file)
index 0000000..8763e48
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.gif differ
diff --git a/httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.png b/httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.png
new file mode 100644 (file)
index 0000000..7f4e196
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/office2003/images/sprites.png differ
index e05c173..dfbc6d8 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Styles used by the dialog boxes.\r
  */\r
 \r
-body\r
+html, body\r
 {\r
+       background-color: transparent;\r
        margin: 0px;\r
+       padding: 0px;\r
+}\r
+\r
+body\r
+{\r
        padding: 10px;\r
-       background-color: #f7f7f7;\r
 }\r
 \r
 body, td, input, select, textarea\r
@@ -41,24 +46,33 @@ body, .BackColor
 \r
 .PopupBody\r
 {\r
-       margin: 0px;\r
+       height: 100%;\r
+       width: 100%;\r
+       overflow: hidden;\r
+       background-color: transparent;\r
        padding: 0px;\r
 }\r
 \r
+#header\r
+{\r
+       cursor: move;\r
+}\r
+\r
 .PopupTitle\r
 {\r
-       padding-right: 10px;\r
-       padding-left: 10px;\r
        font-weight: bold;\r
        font-size: 14pt;\r
-       padding-bottom: 3px;\r
        color: #504845;\r
-       padding-top: 3px;\r
        background-color: #dedede;\r
+       padding: 3px 10px 3px 10px;\r
 }\r
 \r
 .PopupButtons\r
 {\r
+       position: absolute;\r
+       right: 0px;\r
+       left: 0px;\r
+       bottom: 0px;\r
        border-top: #cec6b5 1px solid;\r
        background-color: #DEDEDE;\r
        padding: 7px 10px 7px 10px;\r
@@ -78,7 +92,7 @@ body, .BackColor
 \r
 .DarkBackground\r
 {\r
-       background-color: #d7d79f;\r
+       background-color: #f2f2f2;\r
 }\r
 \r
 .LightBackground\r
@@ -108,10 +122,7 @@ body, .BackColor
        border-right: #cec6b5 1px solid;\r
        border-top: #cec6b5 1px solid;\r
        border-left: #cec6b5 1px solid;\r
-       padding-right: 5px;\r
-       padding-left: 5px;\r
-       padding-bottom: 3px;\r
-       padding-top: 3px;\r
+       padding: 3px 5px 3px 5px;\r
        color: #504845;\r
 }\r
 \r
@@ -138,4 +149,254 @@ body, .BackColor
        background-color: #dcdcdc !important;\r
        cursor: pointer;\r
        cursor: hand;\r
-}
\ No newline at end of file
+}\r
+\r
+#tdBrowse\r
+{\r
+       vertical-align: bottom;\r
+}\r
+\r
+/**\r
+ * Dialog frame related styles.\r
+ */\r
+\r
+.contents\r
+{\r
+       position: absolute;\r
+       top: 2px;\r
+       left: 16px;\r
+       right: 16px;\r
+       bottom: 20px;\r
+       background-color: #f7f7f7;\r
+       overflow: hidden;\r
+       z-index: 1;\r
+}\r
+\r
+.tl, .tr, .tc, .bl, .br, .bc\r
+{\r
+       position: absolute;\r
+       background-image: url(images/sprites.png);\r
+       background-repeat: no-repeat;\r
+}\r
+\r
+* html .tl, * html .tr, * html .tc, * html .bl, * html .br, * html .bc\r
+{\r
+       background-image: url(images/sprites.gif);\r
+}\r
+\r
+.ml, .mr\r
+{\r
+       position: absolute;\r
+       background-image: url(images/dialog.sides.png);\r
+       background-repeat: repeat-y;\r
+}\r
+\r
+* html .ml, * html .mr\r
+{\r
+       background-image: url(images/dialog.sides.gif);\r
+}\r
+\r
+.rtl .ml, .rtl .mr\r
+{\r
+       position: absolute;\r
+       background-image: url(images/dialog.sides.rtl.png);\r
+       background-repeat: repeat-y;\r
+}\r
+\r
+* html .rtl .ml, * html .rtl .mr\r
+{\r
+       background-image: url(images/dialog.sides.gif);\r
+}\r
+\r
+.tl\r
+{\r
+       top: 0px;\r
+       left: 0px;\r
+       width: 16px;\r
+       height: 16px;\r
+       background-position: -16px -16px;\r
+}\r
+\r
+.rtl .tl\r
+{\r
+       background-position: -16px -397px;\r
+}\r
+\r
+.tr\r
+{\r
+       top: 0px;\r
+       right: 0px;\r
+       width: 16px;\r
+       height: 16px;\r
+       background-position: -16px -76px;\r
+}\r
+\r
+.rtl .tr\r
+{\r
+       background-position: -16px -457px;\r
+}\r
+\r
+.tc\r
+{\r
+       top: 0px;\r
+       right: 16px;\r
+       left: 16px;\r
+       height: 16px;\r
+       background-position: 0px -136px;\r
+       background-repeat: repeat-x;\r
+}\r
+\r
+.ml\r
+{\r
+       top: 16px;\r
+       left: 0px;\r
+       width: 16px;\r
+       bottom: 51px;\r
+       background-position: 0px 0px;\r
+}\r
+\r
+.mr\r
+{\r
+       top: 16px;\r
+       right: 0px;\r
+       width: 16px;\r
+       bottom: 51px;\r
+       background-position: -16px 0px;\r
+}\r
+\r
+.bl\r
+{\r
+       bottom: 0px;\r
+       left: 0px;\r
+       width: 30px;\r
+       height: 51px;\r
+       background-position: -16px -196px;\r
+}\r
+\r
+.rtl .bl\r
+{\r
+       background-position: -16px -517px;\r
+}\r
+\r
+.br\r
+{\r
+       bottom: 0px;\r
+       right: 0px;\r
+       width: 30px;\r
+       height: 51px;\r
+       background-position: -16px -263px;\r
+}\r
+\r
+.rtl .br\r
+{\r
+       background-position: -16px -584px;\r
+}\r
+\r
+.bc\r
+{\r
+       bottom: 0px;\r
+       right: 30px;\r
+       left: 30px;\r
+       height: 51px;\r
+       background-position: 0px -330px;\r
+       background-repeat: repeat-x;\r
+}\r
+\r
+/* For IE6. Do not change it. */\r
+* html .blocker\r
+{\r
+       position: absolute;\r
+       width: 100%;\r
+       height: 100%;\r
+       z-index: 12;\r
+       filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);\r
+}\r
+\r
+/* The layer used to cover the dialog when opening a child dialog. */\r
+.cover\r
+{\r
+       position: absolute;\r
+       top: 0px;\r
+       left: 14px;\r
+       right: 14px;\r
+       bottom: 18px;\r
+       z-index: 11;\r
+}\r
+\r
+#closeButton\r
+{\r
+       position: absolute;\r
+       right: 0px;\r
+       top: 0px;\r
+       margin-top: 5px;\r
+       margin-right: 10px;\r
+       width: 20px;\r
+       height: 20px;\r
+       cursor: pointer;\r
+       background-image: url(images/sprites.png);\r
+       background-repeat: no-repeat;\r
+       background-position: -16px -651px;\r
+}\r
+\r
+* html #closeButton\r
+{\r
+       cursor: hand;\r
+       background-image: url(images/sprites.gif);\r
+}\r
+\r
+.rtl #closeButton\r
+{\r
+       right: auto;\r
+       left: 10px;\r
+       margin-right: 0px;\r
+}\r
+\r
+#closeButton:hover\r
+{\r
+       background-position: -16px -687px;\r
+}\r
+\r
+#throbberBlock\r
+{\r
+       z-index: 10;\r
+}\r
+\r
+#throbberBlock div\r
+{\r
+       float: left;\r
+       width: 8px;\r
+       height: 9px;\r
+       margin-left: 2px;\r
+       margin-right: 2px;\r
+       font-size: 1px; /* IE6 */\r
+}\r
+\r
+/*\r
+       Color Gradient Generator:\r
+       http://www.herethere.net/~samson/php/color_gradient/?cbegin=504845&cend=DEDEDE&steps=4\r
+*/\r
+\r
+.throbber_1\r
+{\r
+       background-color: #504845;\r
+}\r
+\r
+.throbber_2\r
+{\r
+       background-color: #736D6B;\r
+}\r
+\r
+.throbber_3\r
+{\r
+       background-color: #979391;\r
+}\r
+\r
+.throbber_4\r
+{\r
+       background-color: #BAB8B7;\r
+}\r
+\r
+.throbber_5\r
+{\r
+       background-color: #DEDEDE;\r
+}\r
diff --git a/httemplate/elements/fckeditor/editor/skins/silver/fck_dialog_ie6.js b/httemplate/elements/fckeditor/editor/skins/silver/fck_dialog_ie6.js
new file mode 100644 (file)
index 0000000..93dd674
--- /dev/null
@@ -0,0 +1,110 @@
+/*\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+ */\r
+\r
+(function()\r
+{\r
+       // IE6 doens't handle absolute positioning properly (it is always in quirks\r
+       // mode). This function fixes the sizes and positions of many elements that\r
+       // compose the skin (this is skin specific).\r
+       var fixSizes = window.DoResizeFixes = function()\r
+       {\r
+               var fckDlg = window.document.body ;\r
+\r
+               for ( var i = 0 ; i < fckDlg.childNodes.length ; i++ )\r
+               {\r
+                       var child = fckDlg.childNodes[i] ;\r
+                       switch ( child.className )\r
+                       {\r
+                               case 'contents' :\r
+                                       child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 ) ;       // -left -right\r
+                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 ) ;      // -bottom -top\r
+                                       break ;\r
+\r
+                               case 'blocker' :\r
+                               case 'cover' :\r
+                                       child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 + 4 ) ;   // -left -right + 4\r
+                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 + 4 ) ;  // -bottom -top + 4\r
+                                       break ;\r
+\r
+                               case 'tr' :\r
+                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;\r
+                                       break ;\r
+\r
+                               case 'tc' :\r
+                                       child.style.width = Math.max( 0, fckDlg.clientWidth - 16 - 16 ) ;\r
+                                       break ;\r
+\r
+                               case 'ml' :\r
+                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;\r
+                                       break ;\r
+\r
+                               case 'mr' :\r
+                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;\r
+                                       child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;\r
+                                       break ;\r
+\r
+                               case 'bl' :\r
+                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
+                                       break ;\r
+\r
+                               case 'br' :\r
+                                       child.style.left = Math.max( 0, fckDlg.clientWidth - 30 ) ;\r
+                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
+                                       break ;\r
+\r
+                               case 'bc' :\r
+                                       child.style.width = Math.max( 0, fckDlg.clientWidth - 30 - 30 ) ;\r
+                                       child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;\r
+                                       break ;\r
+                       }\r
+               }\r
+       }\r
+\r
+       var closeButtonOver = function()\r
+       {\r
+               this.style.backgroundPosition = '-16px -687px' ;\r
+       } ;\r
+\r
+       var closeButtonOut = function()\r
+       {\r
+               this.style.backgroundPosition = '-16px -651px' ;\r
+       } ;\r
+\r
+       var fixCloseButton = function()\r
+       {\r
+               var closeButton = document.getElementById ( 'closeButton' ) ;\r
+\r
+               closeButton.onmouseover = closeButtonOver ;\r
+               closeButton.onmouseout  = closeButtonOut ;\r
+       }\r
+\r
+       var onLoad = function()\r
+       {\r
+               fixSizes() ;\r
+               fixCloseButton() ;\r
+\r
+               window.attachEvent( 'onresize', fixSizes ) ;\r
+               window.detachEvent( 'onload', onLoad ) ;\r
+       }\r
+\r
+       window.attachEvent( 'onload', onLoad ) ;\r
+\r
+})() ;\r
index 656dcdb..1d4cd73 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -27,8 +27,9 @@
 \r
 body\r
 {\r
-       padding: 1px 1px 1px 1px;\r
-       margin: 0px 0px 0px 0px;\r
+       padding: 1px;\r
+       margin: 0;\r
+       background-color: #ffffff;\r
 }\r
 \r
 #xEditingArea\r
@@ -338,7 +339,6 @@ body
     border: 1px solid #8f8f73;\r
     padding-left: 2px;\r
     padding-right: 2px;\r
-    background-color: #ffffff;\r
 }\r
 \r
 .SC_Panel, .SC_Panel TD\r
@@ -418,7 +418,7 @@ body
     background-repeat: no-repeat;\r
 }\r
 \r
-.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption\r
+.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption, .SC_FieldDisabled .TB_ButtonType_Text\r
 {\r
     opacity: 0.30; /* Safari, Opera and Mozilla */\r
     filter: gray() alpha(opacity=30); /* IE */ /* -moz-opacity: 0.30; Mozilla (Old) */\r
index d5ba74e..a6ca532 100644 (file)
Binary files a/httemplate/elements/fckeditor/editor/skins/silver/fck_strip.gif and b/httemplate/elements/fckeditor/editor/skins/silver/fck_strip.gif differ
diff --git a/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.gif b/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.gif
new file mode 100644 (file)
index 0000000..49a4d8d
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.gif differ
diff --git a/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.png b/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.png
new file mode 100644 (file)
index 0000000..ab1ff32
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.png differ
diff --git a/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png b/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png
new file mode 100644 (file)
index 0000000..e0a7aa7
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png differ
diff --git a/httemplate/elements/fckeditor/editor/skins/silver/images/sprites.gif b/httemplate/elements/fckeditor/editor/skins/silver/images/sprites.gif
new file mode 100644 (file)
index 0000000..6a17ed1
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/silver/images/sprites.gif differ
diff --git a/httemplate/elements/fckeditor/editor/skins/silver/images/sprites.png b/httemplate/elements/fckeditor/editor/skins/silver/images/sprites.png
new file mode 100644 (file)
index 0000000..0ab5219
Binary files /dev/null and b/httemplate/elements/fckeditor/editor/skins/silver/images/sprites.png differ
diff --git a/httemplate/elements/fckeditor/editor/wsc/ciframe.html b/httemplate/elements/fckeditor/editor/wsc/ciframe.html
new file mode 100644 (file)
index 0000000..2bf419d
--- /dev/null
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
+<!--\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+-->\r
+<html>\r
+<head>\r
+       <title></title>\r
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
+       <script type="text/javascript">\r
+\r
+function gup( name )\r
+{\r
+       name = name.replace( /[\[]/, '\\\[' ).replace( /[\]]/, '\\\]' ) ;\r
+       var regexS = '[\\?&]' + name + '=([^&#]*)' ;\r
+       var regex = new RegExp( regexS ) ;\r
+       var results = regex.exec( window.location.href ) ;\r
+\r
+       if( results == null )\r
+               return '' ;\r
+       else\r
+               return results[ 1 ] ;\r
+}\r
+\r
+function sendData2Master()\r
+{\r
+       var destination = parent.parent ;\r
+       try\r
+       {\r
+               if ( destination.XDTMaster )\r
+               {\r
+                       var t = destination.XDTMaster.read( [ gup( 'cmd' ), gup( 'data' ) ] ) ;\r
+                       window.clearInterval( interval ) ;\r
+               }\r
+       }\r
+       catch (e) {}\r
+}\r
+\r
+function onLoad()\r
+{\r
+       interval = window.setInterval( sendData2Master, 100 );\r
+}\r
+\r
+        </script>\r
+</head>\r
+<body onload="onLoad()">\r
+       <p></p>\r
+</body>\r
+</html>\r
diff --git a/httemplate/elements/fckeditor/editor/wsc/tmpFrameset.html b/httemplate/elements/fckeditor/editor/wsc/tmpFrameset.html
new file mode 100644 (file)
index 0000000..478d226
--- /dev/null
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">\r
+<!--\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+-->\r
+<html>\r
+<head>\r
+       <title></title>\r
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
+       <script type="text/javascript">\r
+\r
+function doLoadScript( url )\r
+{\r
+       if ( !url )\r
+               return false ;\r
+\r
+       var s = document.createElement( "script" ) ;\r
+       s.type = "text/javascript" ;\r
+       s.src = url ;\r
+       document.getElementsByTagName( "head" )[ 0 ].appendChild( s ) ;\r
+\r
+       return true ;\r
+}\r
+\r
+function tryLoad ()\r
+{\r
+    if ( typeof( opener ) == 'undefined' || !opener )\r
+        opener = parent ;\r
+\r
+    // get access to global parameters\r
+    oParams = opener.oldFramesetPageParams ;\r
+\r
+    // make frameset rows string prepare\r
+    sFramesetRows = ( parseInt( oParams.firstframeh, 10 ) || '30') + ",*," + ( parseInt( oParams.thirdframeh, 10 ) || '150' ) + ',0' ;\r
+    document.getElementById( 'itFrameset' ).rows = sFramesetRows ;\r
+\r
+    // dynamic including init frames and crossdomain transport code\r
+    // from config sproxy_js_frameset url\r
+    var addScriptUrl = oParams.sproxy_js_frameset ;\r
+    doLoadScript( addScriptUrl ) ;\r
+}\r
+\r
+       </script>\r
+</head>\r
+<frameset id="itFrameset" onload="tryLoad();" border="0" rows="30,*,*,0">\r
+    <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="0" marginwidth="2" src="" name="navbar"></frame>\r
+    <frame scrolling="auto" framespacing="0" frameborder="0" noresize="noresize" marginheight="0" marginwidth="0" src="" name="mid"></frame>\r
+    <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="1" marginwidth="1" src="" name="bot"></frame>\r
+    <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="1" marginwidth="1" src="" name="spellsuggestall"></frame>\r
+</frameset>\r
+</html>\r
diff --git a/httemplate/elements/fckeditor/editor/wsc/w.html b/httemplate/elements/fckeditor/editor/wsc/w.html
new file mode 100644 (file)
index 0000000..df327a6
--- /dev/null
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
+<!--\r
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
+ * == BEGIN LICENSE ==\r
+ *\r
+ * Licensed under the terms of any of the following licenses at your\r
+ * choice:\r
+ *\r
+ *  - GNU General Public License Version 2 or later (the "GPL")\r
+ *    http://www.gnu.org/licenses/gpl.html\r
+ *\r
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
+ *    http://www.gnu.org/licenses/lgpl.html\r
+ *\r
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
+ *    http://www.mozilla.org/MPL/MPL-1.1.html\r
+ *\r
+ * == END LICENSE ==\r
+-->\r
+<html>\r
+<head>\r
+       <title></title>\r
+       <style>\r
+               #wsc_frames , #errorMessage{\r
+                       position:absolute;\r
+                       top:0px;\r
+                       left:0px;\r
+                       width:500px;\r
+                       height:395px;\r
+                       margin:0px;\r
+                       padding:0px;\r
+                       border:0px;\r
+                       display:block;\r
+                       overflow: hidden;\r
+               }\r
+               #wsc_frames   { z-index:10;}\r
+               #errorMessage {\r
+                       color:red;\r
+                       display:none;\r
+                       font-size:16px;\r
+                       font-weight:bold;\r
+                       padding-top:160px;\r
+                       text-align:center;\r
+                       z-index:11;\r
+               }\r
+               #errorMessage p {\r
+                       color:#000;\r
+                       font-size:11px;\r
+                       text-align:left;\r
+                       font-weight: normal;\r
+                       padding-left:80px;\r
+               }\r
+\r
+       </style>\r
+       <script type="text/javascript">\r
+\r
+var oEditor = window.parent.InnerDialogLoaded() ;\r
+var FCKConfig = oEditor.FCKConfig;\r
+\r
+function doLoadScript(url)\r
+{\r
+       if (!url)\r
+               return false ;\r
+\r
+       var s = document.createElement('script') ;\r
+       s.type = 'text/javascript' ;\r
+       s.src = url ;\r
+\r
+       document.getElementsByTagName('head')[0].appendChild(s) ;\r
+\r
+       return true ;\r
+}\r
+\r
+function Ok()\r
+{\r
+       return window.parent.Cancel() ;\r
+}\r
+\r
+function _callOnCancel( dT )\r
+{\r
+       window.parent.Cancel() ;\r
+}\r
+\r
+function _callOnFinish( dT )\r
+{\r
+       oEditor.FCK.SetData( dT.value ) ;\r
+       window.parent.CloseDialog( true ) ;\r
+}\r
+\r
+function _cancelOnError(m)\r
+{\r
+       var _conId = 'errorMessage' ;\r
+       var message = m || 'Sorry, but service is unavailable now.' ;\r
+\r
+       if ( typeof( WSC_Error ) == 'undefined' )\r
+       {\r
+               var _con = document.createElement( 'div' ) ;\r
+               _con.setAttribute( 'id', _conId ) ;\r
+               document.body.appendChild( _con ) ;\r
+               dom_con = document.getElementById( _conId ) ;\r
+               dom_con.innerHTML = message ;\r
+               dom_con.style.display = 'block' ;\r
+       }\r
+       //return Ok() ;\r
+}\r
+\r
+function URL_abs2full( uri )\r
+{\r
+       return uri.match( 'http' )\r
+               ? uri\r
+               : document.location.protocol + '//' + document.location.host + uri ;\r
+}\r
+\r
+function clearErrorUsermessage()\r
+{\r
+       // empty error container\r
+       var _con = document.getElementById( 'errorMessage' ) ;\r
+\r
+       if ( !_con )\r
+               return ;\r
+\r
+       _con.innerHTML = '' ;\r
+       _con.style.display = 'none' ;\r
+}\r
+\r
+var gInterval ;\r
+\r
+function onLoad()\r
+{\r
+       clearErrorUsermessage() ;\r
+       var _errorMessage = 'The SpellChecker Service is currently unavailable.' ;\r
+       if ( 'undefined' != typeof( oEditor.FCK.Config.WSChLoaderScript ) )\r
+           _errorMessage = '<div>The SpellChecker Service is currently unavailable.</div><p>Error loading application<br>service host: ' + oEditor.FCK.Config.WSChLoaderScript + '</p>';\r
+\r
+       var burnSpelling = function( oName, _eMessage )\r
+       {\r
+               var i = 0 ;\r
+\r
+               return function ()\r
+               {\r
+                       if ( typeof( window[oName] ) == 'function' )\r
+                               initAndSpell() ;\r
+                       else if ( i++ == 180 )\r
+                               _cancelOnError( _eMessage ) ;\r
+               }\r
+       }\r
+\r
+       gInterval = window.setInterval( burnSpelling( 'doSpell', _errorMessage ), 250 ) ;\r
+\r
+       // WSC CORE init section\r
+       var protocol = document.location.protocol || 'http:' ;\r
+       var baseUrl = protocol + '//loader.spellchecker.net/sproxy_fck/sproxy.php' ;\r
+       var plugin = "fck2" ;\r
+       var customerid = oEditor.FCK.Config.WSCnCustomerId\r
+               || "1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk" ;\r
+       var wscCoreUrl = oEditor.FCK.Config.WSChLoaderScript\r
+               || ( baseUrl + '?'\r
+                       + 'plugin='    + plugin + '&'\r
+                       + 'customerid='+ customerid + '&'\r
+                       + 'cmd=script&doc=wsc&schema=22' ) ;\r
+\r
+       // load WSC core\r
+       doLoadScript( wscCoreUrl ) ;\r
+}\r
+\r
+function initAndSpell()\r
+{\r
+       //xall from window.setInteval expected at once\r
+       if ( typeof( gInterval ) == 'undefined' )\r
+               return null ;\r
+       window.clearInterval( gInterval ) ;\r
+\r
+       // global var is used in FCK specific core\r
+       // change on equal var used in fckplugin.js\r
+       gFCKPluginName = 'wsc' ;\r
+\r
+       // get the data to be checked\r
+       var sData = oEditor.FCK.GetData() ;\r
+\r
+       // prepare content\r
+       var ctrlId =  'myEditor' ;\r
+       var dCurT = document.getElementById( ctrlId ) ;\r
+       dCurT.value = sData ;\r
+\r
+       // service paths corecting/preparing\r
+       var sPath2Scin = URL_abs2full( oEditor.FCK.Config.SkinDialogCSS ) ;\r
+       var sPathCiframe = FCKConfig.BasePath + 'wsc/ciframe.html' ;\r
+       var sPathFrameset = FCKConfig.BasePath + 'wsc/tmpFrameset.html' ;\r
+\r
+       // language abbr standarts comparer\r
+       var LangComparer = new _SP_FCK_LangCompare() ;\r
+       LangComparer.setDefaulLangCode( oEditor.FCK.Language.DefaultLanguage ) ;\r
+\r
+       // clear user message console (if application was loaded more then after 2 seconds)\r
+       clearErrorUsermessage() ;\r
+\r
+       doSpell( {\r
+               ctrl : ctrlId,\r
+               lang : LangComparer.getSPLangCode( oEditor.FCK.Language.GetActiveLanguage() ),\r
+               winType : 'wsc_frames',// if not defined app will run on winpopup\r
+\r
+               // callback binding section\r
+               onCancel :window._callOnCancel,\r
+               onFinish :window._callOnFinish,\r
+\r
+               // @TODO: basePath assingning\r
+\r
+               // some manipulations with client static pages\r
+               framesetPath : sPathFrameset,\r
+               iframePath : sPathCiframe,\r
+\r
+               // styles defining\r
+               schemaURI : sPath2Scin\r
+       } ) ;\r
+\r
+       return true ;\r
+}\r
+\r
+       </script>\r
+</head>\r
+<body onload="onLoad()" style="padding: 0px; overflow: hidden;">\r
+       <textarea style="display: none;" id="myEditor" rows="10" cols="40"></textarea>\r
+       <iframe src="" name="wsc_frames" id="wsc_frames"></iframe>\r
+</body>\r
+</html>\r
index 215bc0a..c35b37a 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * Editor configuration settings.\r
  *\r
  * Follow this link for more information:\r
- * http://wiki.fckeditor.net/Developer%27s_Guide/Configuration/Configurations_Settings\r
+ * http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Configuration/Configuration_Options\r
  */\r
 \r
-// Disable the custom Enter Key Handler. This option will be removed in version 2.5.\r
-FCKConfig.DisableEnterKeyHandler = false ;\r
-\r
 FCKConfig.CustomConfigurationsPath = '' ;\r
 \r
 FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ;\r
+FCKConfig.EditorAreaStyles = '' ;\r
 FCKConfig.ToolbarComboPreviewCSS = '' ;\r
 \r
 FCKConfig.DocType = '' ;\r
@@ -38,16 +36,22 @@ FCKConfig.BaseHref = '' ;
 \r
 FCKConfig.FullPage = false ;\r
 \r
+// The following option determines whether the "Show Blocks" feature is enabled or not at startup.\r
+FCKConfig.StartupShowBlocks = false ;\r
+\r
 FCKConfig.Debug = false ;\r
 FCKConfig.AllowQueryStringDebug = true ;\r
 \r
 FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;\r
-//FCKConfig.SkinPath = FCKConfig.BasePath + 'editor/skins/silver/' ;\r
+FCKConfig.SkinEditorCSS = '' ; // FCKConfig.SkinPath + "|<minified css>" ;\r
+FCKConfig.SkinDialogCSS = '' ; // FCKConfig.SkinPath + "|<minified css>" ;\r
+\r
 FCKConfig.PreloadImages = [ FCKConfig.SkinPath + 'images/toolbar.start.gif', FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif' ] ;\r
 \r
 FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;\r
 \r
 // FCKConfig.Plugins.Add( 'autogrow' ) ;\r
+// FCKConfig.Plugins.Add( 'dragresizetable' );\r
 FCKConfig.AutoGrowMax = 400 ;\r
 \r
 // FCKConfig.ProtectedSource.Add( /<%[\s\S]*?%>/g ) ;  // ASP style server side code <%...%>\r
@@ -72,11 +76,13 @@ FCKConfig.FormatSource              = true ;
 FCKConfig.FormatOutput         = true ;\r
 FCKConfig.FormatIndentator     = '    ' ;\r
 \r
-FCKConfig.ForceStrongEm = true ;\r
-FCKConfig.GeckoUseSPAN = false ;\r
+FCKConfig.EMailProtection = 'none' ; // none | encode | function\r
+FCKConfig.EMailProtectionFunction = 'mt(NAME,DOMAIN,SUBJECT,BODY)' ;\r
+\r
 FCKConfig.StartupFocus = false ;\r
 FCKConfig.ForcePasteAsPlainText        = false ;\r
 FCKConfig.AutoDetectPasteFromWord = true ;     // IE only.\r
+FCKConfig.ShowDropDialog = true ;\r
 FCKConfig.ForceSimpleAmpersand = false ;\r
 FCKConfig.TabSpaces            = 0 ;\r
 FCKConfig.ShowBorders  = true ;\r
@@ -84,45 +90,29 @@ FCKConfig.SourcePopup       = false ;
 FCKConfig.ToolbarStartExpanded = true ;\r
 FCKConfig.ToolbarCanCollapse   = true ;\r
 FCKConfig.IgnoreEmptyParagraphValue = true ;\r
-FCKConfig.PreserveSessionOnFileBrowser = false ;\r
 FCKConfig.FloatingPanelsZIndex = 10000 ;\r
+FCKConfig.HtmlEncodeOutput = false ;\r
 \r
 FCKConfig.TemplateReplaceAll = true ;\r
 FCKConfig.TemplateReplaceCheckbox = true ;\r
 \r
 FCKConfig.ToolbarLocation = 'In' ;\r
 \r
-//FCKConfig.ToolbarSets["Default"] = [\r
-//     ['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],\r
-//     ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],\r
-//     ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],\r
-//     ['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],\r
-//     '/',\r
-//     ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],\r
-//     ['OrderedList','UnorderedList','-','Outdent','Indent'],\r
-//     ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],\r
-//     ['Link','Unlink','Anchor'],\r
-//     ['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],\r
-//     '/',\r
-//     ['Style','FontFormat','FontName','FontSize'],\r
-//     ['TextColor','BGColor'],\r
-//     ['FitWindow','-','About']\r
-//] ;\r
 FCKConfig.ToolbarSets["Default"] = [\r
        ['Source','DocProps','-','Save','Preview','-'],\r
        ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],\r
        ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],\r
-       //['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],\r
+       // ['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],\r
        '/',\r
        ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],\r
-       ['OrderedList','UnorderedList','-','Outdent','Indent'],\r
+       ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],\r
        ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],\r
        ['Link','Unlink','Anchor'],\r
        ['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],\r
        '/',\r
        ['Style','FontFormat','FontName','FontSize'],\r
        ['TextColor','BGColor'],\r
-       ['FitWindow','-','About']\r
+       ['FitWindow','ShowBlocks','-','About']          // No comma for the last row.\r
 ] ;\r
 \r
 FCKConfig.ToolbarSets["Basic"] = [\r
@@ -137,9 +127,13 @@ FCKConfig.Keystrokes = [
        [ CTRL + 67 /*C*/, true ],\r
        [ CTRL + 70 /*F*/, true ],\r
        [ CTRL + 83 /*S*/, true ],\r
+       [ CTRL + 84 /*T*/, true ],\r
        [ CTRL + 88 /*X*/, true ],\r
        [ CTRL + 86 /*V*/, 'Paste' ],\r
+       [ CTRL + 45 /*INS*/, true ],\r
        [ SHIFT + 45 /*INS*/, 'Paste' ],\r
+       [ CTRL + 88 /*X*/, 'Cut' ],\r
+       [ SHIFT + 46 /*DEL*/, 'Cut' ],\r
        [ CTRL + 90 /*Z*/, 'Undo' ],\r
        [ CTRL + 89 /*Y*/, 'Redo' ],\r
        [ CTRL + SHIFT + 90 /*Z*/, 'Redo' ],\r
@@ -149,22 +143,24 @@ FCKConfig.Keystrokes = [
        [ CTRL + 85 /*U*/, 'Underline' ],\r
        [ CTRL + SHIFT + 83 /*S*/, 'Save' ],\r
        [ CTRL + ALT + 13 /*ENTER*/, 'FitWindow' ],\r
-       [ CTRL + 9 /*TAB*/, 'Source' ]\r
+       [ SHIFT + 32 /*SPACE*/, 'Nbsp' ]\r
 ] ;\r
 \r
-FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form'] ;\r
+FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form','DivContainer'] ;\r
 FCKConfig.BrowserContextMenuOnCtrl = false ;\r
+FCKConfig.BrowserContextMenu = false ;\r
 \r
+FCKConfig.EnableMoreFontColors = true ;\r
 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' ;\r
 \r
+FCKConfig.FontFormats  = 'p;h1;h2;h3;h4;h5;h6;pre;address;div' ;\r
 FCKConfig.FontNames            = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;\r
-FCKConfig.FontSizes            = '1/xx-small;2/x-small;3/small;4/medium;5/large;6/x-large;7/xx-large' ;\r
-FCKConfig.FontFormats  = 'p;div;pre;address;h1;h2;h3;h4;h5;h6' ;\r
+FCKConfig.FontSizes            = 'smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large' ;\r
 \r
 FCKConfig.StylesXmlPath                = FCKConfig.EditorPath + 'fckstyles.xml' ;\r
 FCKConfig.TemplatesXmlPath     = FCKConfig.EditorPath + 'fcktemplates.xml' ;\r
 \r
-FCKConfig.SpellChecker                 = 'ieSpell' ;   // 'ieSpell' | 'SpellerPages'\r
+FCKConfig.SpellChecker                 = 'WSC' ;       // 'WSC' | 'SCAYT' | 'SpellerPages' | 'ieSpell'\r
 FCKConfig.IeSpellDownloadUrl   = 'http://www.iespell.com/download.php' ;\r
 FCKConfig.SpellerPagesServerScript = 'server-scripts/spellchecker.php' ;       // Available extension: .php .cfm .pl\r
 FCKConfig.FirefoxSpellChecker  = false ;\r
@@ -188,11 +184,88 @@ FCKConfig.ProtectedTags = '' ;
 FCKConfig.BodyId = '' ;\r
 FCKConfig.BodyClass = '' ;\r
 \r
+FCKConfig.DefaultStyleLabel = '' ;\r
+FCKConfig.DefaultFontFormatLabel = '' ;\r
+FCKConfig.DefaultFontLabel = '' ;\r
+FCKConfig.DefaultFontSizeLabel = '' ;\r
+\r
 FCKConfig.DefaultLinkTarget = '' ;\r
 \r
 // The option switches between trying to keep the html structure or do the changes so the content looks like it was in Word\r
 FCKConfig.CleanWordKeepsStructure = false ;\r
 \r
+// Only inline elements are valid.\r
+FCKConfig.RemoveFormatTags = 'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var' ;\r
+\r
+// Attributes that will be removed\r
+FCKConfig.RemoveAttributes = 'class,style,lang,width,height,align,hspace,valign' ;\r
+\r
+FCKConfig.CustomStyles =\r
+{\r
+       'Red Title'     : { Element : 'h3', Styles : { 'color' : 'Red' } }\r
+};\r
+\r
+// Do not add, rename or remove styles here. Only apply definition changes.\r
+FCKConfig.CoreStyles =\r
+{\r
+       // Basic Inline Styles.\r
+       'Bold'                  : { Element : 'strong', Overrides : 'b' },\r
+       'Italic'                : { Element : 'em', Overrides : 'i' },\r
+       'Underline'             : { Element : 'u' },\r
+       'StrikeThrough' : { Element : 'strike' },\r
+       'Subscript'             : { Element : 'sub' },\r
+       'Superscript'   : { Element : 'sup' },\r
+\r
+       // Basic Block Styles (Font Format Combo).\r
+       'p'                             : { Element : 'p' },\r
+       'div'                   : { Element : 'div' },\r
+       'pre'                   : { Element : 'pre' },\r
+       'address'               : { Element : 'address' },\r
+       'h1'                    : { Element : 'h1' },\r
+       'h2'                    : { Element : 'h2' },\r
+       'h3'                    : { Element : 'h3' },\r
+       'h4'                    : { Element : 'h4' },\r
+       'h5'                    : { Element : 'h5' },\r
+       'h6'                    : { Element : 'h6' },\r
+\r
+       // Other formatting features.\r
+       'FontFace' :\r
+       {\r
+               Element         : 'span',\r
+               Styles          : { 'font-family' : '#("Font")' },\r
+               Overrides       : [ { Element : 'font', Attributes : { 'face' : null } } ]\r
+       },\r
+\r
+       'Size' :\r
+       {\r
+               Element         : 'span',\r
+               Styles          : { 'font-size' : '#("Size","fontSize")' },\r
+               Overrides       : [ { Element : 'font', Attributes : { 'size' : null } } ]\r
+       },\r
+\r
+       'Color' :\r
+       {\r
+               Element         : 'span',\r
+               Styles          : { 'color' : '#("Color","color")' },\r
+               Overrides       : [ { Element : 'font', Attributes : { 'color' : null } } ]\r
+       },\r
+\r
+       'BackColor'             : { Element : 'span', Styles : { 'background-color' : '#("Color","color")' } },\r
+\r
+       'SelectionHighlight' : { Element : 'span', Styles : { 'background-color' : 'navy', 'color' : 'white' } }\r
+};\r
+\r
+// The distance of an indentation step.\r
+FCKConfig.IndentLength = 40 ;\r
+FCKConfig.IndentUnit = 'px' ;\r
+\r
+// Alternatively, FCKeditor allows the use of CSS classes for block indentation.\r
+// This overrides the IndentLength/IndentUnit settings.\r
+FCKConfig.IndentClasses = [] ;\r
+\r
+// [ Left, Center, Right, Justified ]\r
+FCKConfig.JustifyClasses = [] ;\r
+\r
 // The following value defines which File Browser connector and Quick Upload\r
 // "uploader" to use. It is valid for the default implementaion and it is here\r
 // just to make this configuration file cleaner.\r
@@ -200,46 +273,53 @@ FCKConfig.CleanWordKeepsStructure = false ;
 // inline when creating the editor instance. In that cases you must set the\r
 // values of LinkBrowserURL, ImageBrowserURL and so on.\r
 // Custom implementations should just ignore it.\r
-var _FileBrowserLanguage       = 'asp' ;       // asp | aspx | cfm | lasso | perl | php | py\r
-var _QuickUploadLanguage       = 'asp' ;       // asp | aspx | cfm | lasso | php\r
-\r
+var _FileBrowserLanguage       = 'php' ;       // asp | aspx | cfm | lasso | perl | php | py\r
+var _QuickUploadLanguage       = 'php' ;       // asp | aspx | cfm | lasso | perl | php | py\r
 \r
-// Don't care about the following line. It just calculates the correct connector\r
+// Don't care about the following two lines. It just calculates the correct connector\r
 // extension to use for the default File Browser (Perl uses "cgi").\r
 var _FileBrowserExtension = _FileBrowserLanguage == 'perl' ? 'cgi' : _FileBrowserLanguage ;\r
+var _QuickUploadExtension = _QuickUploadLanguage == 'perl' ? 'cgi' : _QuickUploadLanguage ;\r
 \r
 FCKConfig.LinkBrowser = true ;\r
-FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;\r
+FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;\r
 FCKConfig.LinkBrowserWindowWidth       = FCKConfig.ScreenWidth * 0.7 ;         // 70%\r
 FCKConfig.LinkBrowserWindowHeight      = FCKConfig.ScreenHeight * 0.7 ;        // 70%\r
 \r
 FCKConfig.ImageBrowser = true ;\r
-FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;\r
+FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;\r
 FCKConfig.ImageBrowserWindowWidth  = FCKConfig.ScreenWidth * 0.7 ;     // 70% ;\r
 FCKConfig.ImageBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ;    // 70% ;\r
 \r
 FCKConfig.FlashBrowser = true ;\r
-FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;\r
+FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;\r
 FCKConfig.FlashBrowserWindowWidth  = FCKConfig.ScreenWidth * 0.7 ;     //70% ;\r
 FCKConfig.FlashBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ;    //70% ;\r
 \r
 FCKConfig.LinkUpload = true ;\r
-FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage ;\r
-FCKConfig.LinkUploadAllowedExtensions  = "" ;                  // empty for all\r
-FCKConfig.LinkUploadDeniedExtensions   = ".(html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis|sh|shtml|shtm|phtm)$" ;  // empty for no one\r
+FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension ;\r
+FCKConfig.LinkUploadAllowedExtensions  = ".(7z|aiff|asf|avi|bmp|csv|doc|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz|tif|tiff|txt|vsd|wav|wma|wmv|xls|xml|zip)$" ;                        // empty for all\r
+FCKConfig.LinkUploadDeniedExtensions   = "" ;  // empty for no one\r
 \r
 FCKConfig.ImageUpload = true ;\r
-FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage + '?Type=Image' ;\r
+FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Image' ;\r
 FCKConfig.ImageUploadAllowedExtensions = ".(jpg|gif|jpeg|png|bmp)$" ;          // empty for all\r
 FCKConfig.ImageUploadDeniedExtensions  = "" ;                                                  // empty for no one\r
 \r
 FCKConfig.FlashUpload = true ;\r
-FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage + '?Type=Flash' ;\r
-FCKConfig.FlashUploadAllowedExtensions = ".(swf|fla)$" ;               // empty for all\r
+FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Flash' ;\r
+FCKConfig.FlashUploadAllowedExtensions = ".(swf|flv)$" ;               // empty for all\r
 FCKConfig.FlashUploadDeniedExtensions  = "" ;                                  // empty for no one\r
 \r
 FCKConfig.SmileyPath   = FCKConfig.BasePath + 'images/smiley/msn/' ;\r
 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'] ;\r
 FCKConfig.SmileyColumns = 8 ;\r
 FCKConfig.SmileyWindowWidth            = 320 ;\r
-FCKConfig.SmileyWindowHeight   = 240 ;\r
+FCKConfig.SmileyWindowHeight   = 210 ;\r
+\r
+FCKConfig.BackgroundBlockerColor = '#ffffff' ;\r
+FCKConfig.BackgroundBlockerOpacity = 0.50 ;\r
+\r
+FCKConfig.MsWebBrowserControlCompat = false ;\r
+\r
+FCKConfig.PreventSubmitHandler = false ;\r
index 63ec41f..8e0126b 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
@@ -34,11 +34,9 @@ var FCKeditor = function( instanceName, width, height, toolbarSet, value )
        this.Height                     = height                || '200' ;\r
        this.ToolbarSet         = toolbarSet    || 'Default' ;\r
        this.Value                      = value                 || '' ;\r
-       this.BasePath           = '/fckeditor/' ;\r
+       this.BasePath           = FCKeditor.BasePath ;\r
        this.CheckBrowser       = true ;\r
        this.DisplayErrors      = true ;\r
-       this.EnableSafari       = false ;               // This is a temporary property, while Safari support is under development.\r
-       this.EnableOpera        = false ;               // This is a temporary property, while Opera support is under development.\r
 \r
        this.Config                     = new Object() ;\r
 \r
@@ -46,8 +44,23 @@ var FCKeditor = function( instanceName, width, height, toolbarSet, value )
        this.OnError            = null ;        // function( source, errorNumber, errorDescription )\r
 }\r
 \r
-FCKeditor.prototype.Version                    = '2.4.3' ;\r
-FCKeditor.prototype.VersionBuild       = '15657' ;\r
+/**\r
+ * This is the default BasePath used by all editor instances.\r
+ */\r
+FCKeditor.BasePath = '/fckeditor/' ;\r
+\r
+/**\r
+ * The minimum height used when replacing textareas.\r
+ */\r
+FCKeditor.MinHeight = 200 ;\r
+\r
+/**\r
+ * The minimum width used when replacing textareas.\r
+ */\r
+FCKeditor.MinWidth = 750 ;\r
+\r
+FCKeditor.prototype.Version                    = '2.6.6' ;\r
+FCKeditor.prototype.VersionBuild       = '25427' ;\r
 \r
 FCKeditor.prototype.Create = function()\r
 {\r
@@ -63,7 +76,7 @@ FCKeditor.prototype.CreateHtml = function()
                return '' ;\r
        }\r
 \r
-       var sHtml = '<div>' ;\r
+       var sHtml = '' ;\r
 \r
        if ( !this.CheckBrowser || this._IsCompatibleBrowser() )\r
        {\r
@@ -75,16 +88,26 @@ FCKeditor.prototype.CreateHtml = function()
        {\r
                var sWidth  = this.Width.toString().indexOf('%')  > 0 ? this.Width  : this.Width  + 'px' ;\r
                var sHeight = this.Height.toString().indexOf('%') > 0 ? this.Height : this.Height + 'px' ;\r
-               sHtml += '<textarea name="' + this.InstanceName + '" rows="4" cols="40" style="width:' + sWidth + ';height:' + sHeight + '">' + this._HTMLEncode( this.Value ) + '<\/textarea>' ;\r
-       }\r
 \r
-       sHtml += '</div>' ;\r
+               sHtml += '<textarea name="' + this.InstanceName +\r
+                       '" rows="4" cols="40" style="width:' + sWidth +\r
+                       ';height:' + sHeight ;\r
+\r
+               if ( this.TabIndex )\r
+                       sHtml += '" tabindex="' + this.TabIndex ;\r
+\r
+               sHtml += '">' +\r
+                       this._HTMLEncode( this.Value ) +\r
+                       '<\/textarea>' ;\r
+       }\r
 \r
        return sHtml ;\r
 }\r
 \r
 FCKeditor.prototype.ReplaceTextarea = function()\r
 {\r
+       if ( document.getElementById( this.InstanceName + '___Frame' ) )\r
+               return ;\r
        if ( !this.CheckBrowser || this._IsCompatibleBrowser() )\r
        {\r
                // We must check the elements firstly using the Id and then the name.\r
@@ -105,6 +128,10 @@ FCKeditor.prototype.ReplaceTextarea = function()
                }\r
 \r
                oTextarea.style.display = 'none' ;\r
+\r
+               if ( oTextarea.tabIndex )\r
+                       this.TabIndex = oTextarea.tabIndex ;\r
+\r
                this._InsertHtmlBefore( this._GetConfigHtml(), oTextarea ) ;\r
                this._InsertHtmlBefore( this._GetIFrameHtml(), oTextarea ) ;\r
        }\r
@@ -147,14 +174,25 @@ FCKeditor.prototype._GetIFrameHtml = function()
        catch (e) { /* Ignore it. Much probably we are inside a FRAME where the "top" is in another domain (security error). */ }\r
 \r
        var sLink = this.BasePath + 'editor/' + sFile + '?InstanceName=' + encodeURIComponent( this.InstanceName ) ;\r
-       if (this.ToolbarSet) sLink += '&amp;Toolbar=' + this.ToolbarSet ;\r
+       if (this.ToolbarSet)\r
+               sLink += '&amp;Toolbar=' + this.ToolbarSet ;\r
+\r
+       var html = '<iframe id="' + this.InstanceName +\r
+               '___Frame" src="' + sLink +\r
+               '" width="' + this.Width +\r
+               '" height="' + this.Height ;\r
+\r
+       if ( this.TabIndex )\r
+               html += '" tabindex="' + this.TabIndex ;\r
+\r
+       html += '" frameborder="0" scrolling="no"></iframe>' ;\r
 \r
-       return '<iframe id="' + this.InstanceName + '___Frame" src="' + sLink + '" width="' + this.Width + '" height="' + this.Height + '" frameborder="0" scrolling="no"></iframe>' ;\r
+       return html ;\r
 }\r
 \r
 FCKeditor.prototype._IsCompatibleBrowser = function()\r
 {\r
-       return FCKeditor_IsCompatibleBrowser( this.EnableSafari, this.EnableOpera ) ;\r
+       return FCKeditor_IsCompatibleBrowser() ;\r
 }\r
 \r
 FCKeditor.prototype._ThrowError = function( errorNumber, errorDescription )\r
@@ -187,12 +225,84 @@ FCKeditor.prototype._HTMLEncode = function( text )
        return text ;\r
 }\r
 \r
-function FCKeditor_IsCompatibleBrowser( enableSafari, enableOpera )\r
+;(function()\r
+{\r
+       var textareaToEditor = function( textarea )\r
+       {\r
+               var editor = new FCKeditor( textarea.name ) ;\r
+\r
+               editor.Width = Math.max( textarea.offsetWidth, FCKeditor.MinWidth ) ;\r
+               editor.Height = Math.max( textarea.offsetHeight, FCKeditor.MinHeight ) ;\r
+\r
+               return editor ;\r
+       }\r
+\r
+       /**\r
+        * Replace all <textarea> elements available in the document with FCKeditor\r
+        * instances.\r
+        *\r
+        *      // Replace all <textarea> elements in the page.\r
+        *      FCKeditor.ReplaceAllTextareas() ;\r
+        *\r
+        *      // Replace all <textarea class="myClassName"> elements in the page.\r
+        *      FCKeditor.ReplaceAllTextareas( 'myClassName' ) ;\r
+        *\r
+        *      // Selectively replace <textarea> elements, based on custom assertions.\r
+        *      FCKeditor.ReplaceAllTextareas( function( textarea, editor )\r
+        *              {\r
+        *                      // Custom code to evaluate the replace, returning false if it\r
+        *                      // must not be done.\r
+        *                      // It also passes the "editor" parameter, so the developer can\r
+        *                      // customize the instance.\r
+        *              } ) ;\r
+        */\r
+       FCKeditor.ReplaceAllTextareas = function()\r
+       {\r
+               var textareas = document.getElementsByTagName( 'textarea' ) ;\r
+\r
+               for ( var i = 0 ; i < textareas.length ; i++ )\r
+               {\r
+                       var editor = null ;\r
+                       var textarea = textareas[i] ;\r
+                       var name = textarea.name ;\r
+\r
+                       // The "name" attribute must exist.\r
+                       if ( !name || name.length == 0 )\r
+                               continue ;\r
+\r
+                       if ( typeof arguments[0] == 'string' )\r
+                       {\r
+                               // The textarea class name could be passed as the function\r
+                               // parameter.\r
+\r
+                               var classRegex = new RegExp( '(?:^| )' + arguments[0] + '(?:$| )' ) ;\r
+\r
+                               if ( !classRegex.test( textarea.className ) )\r
+                                       continue ;\r
+                       }\r
+                       else if ( typeof arguments[0] == 'function' )\r
+                       {\r
+                               // An assertion function could be passed as the function parameter.\r
+                               // It must explicitly return "false" to ignore a specific <textarea>.\r
+                               editor = textareaToEditor( textarea ) ;\r
+                               if ( arguments[0]( textarea, editor ) === false )\r
+                                       continue ;\r
+                       }\r
+\r
+                       if ( !editor )\r
+                               editor = textareaToEditor( textarea ) ;\r
+\r
+                       editor.ReplaceTextarea() ;\r
+               }\r
+       }\r
+})() ;\r
+\r
+function FCKeditor_IsCompatibleBrowser()\r
 {\r
        var sAgent = navigator.userAgent.toLowerCase() ;\r
 \r
-       // Internet Explorer\r
-       if ( sAgent.indexOf("msie") != -1 && sAgent.indexOf("mac") == -1 && sAgent.indexOf("opera") == -1 )\r
+       // Internet Explorer 5.5+\r
+       if ( /*@cc_on!@*/false && sAgent.indexOf("mac") == -1 )\r
        {\r
                var sBrowserVersion = navigator.appVersion.match(/MSIE (.\..)/)[1] ;\r
                return ( sBrowserVersion >= 5.5 ) ;\r
@@ -202,13 +312,19 @@ function FCKeditor_IsCompatibleBrowser( enableSafari, enableOpera )
        if ( navigator.product == "Gecko" && navigator.productSub >= 20030210 && !( typeof(opera) == 'object' && opera.postError ) )\r
                return true ;\r
 \r
-       // Opera\r
-       if ( enableOpera && sAgent.indexOf( 'opera' ) == 0 && parseInt( navigator.appVersion, 10 ) >= 9 )\r
-                       return true ;\r
+       // Opera 9.50+\r
+       if ( window.opera && window.opera.version && parseFloat( window.opera.version() ) >= 9.5 )\r
+               return true ;\r
+\r
+       // Adobe AIR\r
+       // Checked before Safari because AIR have the WebKit rich text editor\r
+       // features from Safari 3.0.4, but the version reported is 420.\r
+       if ( sAgent.indexOf( ' adobeair/' ) != -1 )\r
+               return ( sAgent.match( / adobeair\/(\d+)/ )[1] >= 1 ) ; // Build must be at least v1\r
 \r
-       // Safari\r
-       if ( enableSafari && sAgent.indexOf( 'safari' ) != -1 )\r
-               return ( sAgent.match( /safari\/(\d+)/ )[1] >= 312 ) ;  // Build must be at least 312 (1.3)\r
+       // Safari 3+\r
+       if ( sAgent.indexOf( ' applewebkit/' ) != -1 )\r
+               return ( sAgent.match( / applewebkit\/(\d+)/ )[1] >= 522 ) ;    // Build must be at least 522 (v3)\r
 \r
        return false ;\r
-}
\ No newline at end of file
+}\r
index 3cae595..2d14502 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" ?>\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
 <Package>\r
        <Header><![CDATA[/*\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
- * \r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
+ *\r
  * == BEGIN LICENSE ==\r
- * \r
+ *\r
  * Licensed under the terms of any of the following licenses at your\r
  * choice:\r
- * \r
+ *\r
  *  - GNU General Public License Version 2 or later (the "GPL")\r
  *    http://www.gnu.org/licenses/gpl.html\r
- * \r
+ *\r
  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
  *    http://www.gnu.org/licenses/lgpl.html\r
- * \r
+ *\r
  *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
  *    http://www.mozilla.org/MPL/MPL-1.1.html\r
- * \r
+ *\r
  * == END LICENSE ==\r
- * \r
+ *\r
  * This file has been compressed for better performance. The original source\r
  * can be found at "editor/_source".\r
  */\r
@@ -62,6 +62,9 @@
                <Constant name="FCK_TOOLBARITEM_ICONTEXT" value="2" />\r
                <Constant name="FCK_EDITMODE_WYSIWYG" value="0" />\r
                <Constant name="FCK_EDITMODE_SOURCE" value="1" />\r
+               <Constant name="FCK_STYLE_BLOCK" value="0" />\r
+               <Constant name="FCK_STYLE_INLINE" value="1" />\r
+               <Constant name="FCK_STYLE_OBJECT" value="2" />\r
        </Constants>\r
        <PackageFile path="editor/js/fckeditorcode_ie.js">\r
                <File path="editor/_source/fckconstants.js" />\r
                <File path="editor/_source/internals/fckbrowserinfo.js" />\r
                <File path="editor/_source/internals/fckurlparams.js" />\r
                <File path="editor/_source/classes/fckevents.js" />\r
+               <File path="editor/_source/classes/fckdataprocessor.js" />\r
                <File path="editor/_source/internals/fck.js" />\r
                <File path="editor/_source/internals/fck_ie.js" />\r
                <File path="editor/_source/internals/fckconfig.js" />\r
-               <File path="editor/_source/internals/fckdebug.js" />\r
+               <File path="editor/_source/internals/fckdebug_empty.js" />\r
                <File path="editor/_source/internals/fckdomtools.js" />\r
                <File path="editor/_source/internals/fcktools.js" />\r
                <File path="editor/_source/internals/fcktools_ie.js" />\r
                <File path="editor/_source/internals/fckxhtml.js" />\r
                <File path="editor/_source/internals/fckxhtml_ie.js" />\r
                <File path="editor/_source/internals/fckcodeformatter.js" />\r
-               <File path="editor/_source/internals/fckundo_ie.js" />\r
+               <File path="editor/_source/internals/fckundo.js" />\r
                <File path="editor/_source/classes/fckeditingarea.js" />\r
                <File path="editor/_source/classes/fckkeystrokehandler.js" />\r
 \r
+               <File path="editor/dtd/fck_xhtml10transitional.js" />\r
+               <File path="editor/_source/classes/fckstyle.js" />\r
+               <File path="editor/_source/internals/fckstyles.js" />\r
+\r
                <File path="editor/_source/internals/fcklisthandler.js" />\r
                <File path="editor/_source/classes/fckelementpath.js" />\r
                <File path="editor/_source/classes/fckdomrange.js" />\r
                <File path="editor/_source/classes/fckdomrange_ie.js" />\r
+               <File path="editor/_source/classes/fckdomrangeiterator.js" />\r
                <File path="editor/_source/classes/fckdocumentfragment_ie.js" />\r
                <File path="editor/_source/classes/fckw3crange.js" />\r
                <File path="editor/_source/classes/fckenterkey.js" />\r
 \r
                <File path="editor/_source/internals/fcktablehandler.js" />\r
                <File path="editor/_source/internals/fcktablehandler_ie.js" />\r
+               <File path="editor/_source/classes/fckxml.js" />\r
                <File path="editor/_source/classes/fckxml_ie.js" />\r
-               <File path="editor/_source/classes/fckstyledef.js" />\r
-               <File path="editor/_source/classes/fckstyledef_ie.js" />\r
-               <File path="editor/_source/classes/fckstylesloader.js" />\r
 \r
                <File path="editor/_source/commandclasses/fcknamedcommand.js" />\r
+               <File path="editor/_source/commandclasses/fckstylecommand.js" />\r
                <File path="editor/_source/commandclasses/fck_othercommands.js" />\r
+               <File path="editor/_source/commandclasses/fckshowblocks.js" />\r
                <File path="editor/_source/commandclasses/fckspellcheckcommand_ie.js" />\r
                <File path="editor/_source/commandclasses/fcktextcolorcommand.js" />\r
                <File path="editor/_source/commandclasses/fckpasteplaintextcommand.js" />\r
                <File path="editor/_source/commandclasses/fckpastewordcommand.js" />\r
                <File path="editor/_source/commandclasses/fcktablecommand.js" />\r
-               <File path="editor/_source/commandclasses/fckstylecommand.js" />\r
                <File path="editor/_source/commandclasses/fckfitwindow.js" />\r
+               <File path="editor/_source/commandclasses/fcklistcommands.js" />\r
+               <File path="editor/_source/commandclasses/fckjustifycommands.js" />\r
+               <File path="editor/_source/commandclasses/fckindentcommands.js" />\r
+               <File path="editor/_source/commandclasses/fckblockquotecommand.js" />\r
+               <File path="editor/_source/commandclasses/fckcorestylecommand.js" />\r
+               <File path="editor/_source/commandclasses/fckremoveformatcommand.js" />\r
                <File path="editor/_source/internals/fckcommands.js" />\r
 \r
                <File path="editor/_source/classes/fckpanel.js" />\r
                <File path="editor/_source/classes/fcktoolbarbutton.js" />\r
                <File path="editor/_source/classes/fckspecialcombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarspecialcombo.js" />\r
+               <File path="editor/_source/classes/fcktoolbarstylecombo.js" />\r
+               <File path="editor/_source/classes/fcktoolbarfontformatcombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarfontscombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarfontsizecombo.js" />\r
-               <File path="editor/_source/classes/fcktoolbarfontformatcombo.js" />\r
-               <File path="editor/_source/classes/fcktoolbarstylecombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarpanelbutton.js" />\r
+               <File path="editor/_source/internals/fckscayt.js" />\r
                <File path="editor/_source/internals/fcktoolbaritems.js" />\r
                <File path="editor/_source/classes/fcktoolbar.js" />\r
                <File path="editor/_source/classes/fcktoolbarbreak_ie.js" />\r
                <File path="editor/_source/internals/fcktoolbarset.js" />\r
                <File path="editor/_source/internals/fckdialog.js" />\r
-               <File path="editor/_source/internals/fckdialog_ie.js" />\r
 \r
                <File path="editor/_source/classes/fckmenuitem.js" />\r
                <File path="editor/_source/classes/fckmenublock.js" />\r
                <File path="editor/_source/classes/fckmenublockpanel.js" />\r
                <File path="editor/_source/classes/fckcontextmenu.js" />\r
                <File path="editor/_source/internals/fck_contextmenu.js" />\r
+               <File path="editor/_source/classes/fckhtmliterator.js" />\r
 \r
                <File path="editor/_source/classes/fckplugin.js" />\r
                <File path="editor/_source/internals/fckplugins.js" />\r
                <File path="editor/_source/internals/fckbrowserinfo.js" />\r
                <File path="editor/_source/internals/fckurlparams.js" />\r
                <File path="editor/_source/classes/fckevents.js" />\r
+               <File path="editor/_source/classes/fckdataprocessor.js" />\r
                <File path="editor/_source/internals/fck.js" />\r
                <File path="editor/_source/internals/fck_gecko.js" />\r
                <File path="editor/_source/internals/fckconfig.js" />\r
-               <File path="editor/_source/internals/fckdebug.js" />\r
+               <File path="editor/_source/internals/fckdebug_empty.js" />\r
                <File path="editor/_source/internals/fckdomtools.js" />\r
                <File path="editor/_source/internals/fcktools.js" />\r
                <File path="editor/_source/internals/fcktools_gecko.js" />\r
                <File path="editor/_source/internals/fckxhtml.js" />\r
                <File path="editor/_source/internals/fckxhtml_gecko.js" />\r
                <File path="editor/_source/internals/fckcodeformatter.js" />\r
-               <File path="editor/_source/internals/fckundo_gecko.js" />\r
+               <File path="editor/_source/internals/fckundo.js" />\r
                <File path="editor/_source/classes/fckeditingarea.js" />\r
                <File path="editor/_source/classes/fckkeystrokehandler.js" />\r
 \r
+               <File path="editor/dtd/fck_xhtml10transitional.js" />\r
+               <File path="editor/_source/classes/fckstyle.js" />\r
+               <File path="editor/_source/internals/fckstyles.js" />\r
+\r
                <File path="editor/_source/internals/fcklisthandler.js" />\r
                <File path="editor/_source/classes/fckelementpath.js" />\r
                <File path="editor/_source/classes/fckdomrange.js" />\r
                <File path="editor/_source/classes/fckdomrange_gecko.js" />\r
+               <File path="editor/_source/classes/fckdomrangeiterator.js" />\r
                <File path="editor/_source/classes/fckdocumentfragment_gecko.js" />\r
                <File path="editor/_source/classes/fckw3crange.js" />\r
                <File path="editor/_source/classes/fckenterkey.js" />\r
 \r
                <File path="editor/_source/internals/fcktablehandler.js" />\r
                <File path="editor/_source/internals/fcktablehandler_gecko.js" />\r
+               <File path="editor/_source/classes/fckxml.js" />\r
                <File path="editor/_source/classes/fckxml_gecko.js" />\r
-               <File path="editor/_source/classes/fckstyledef.js" />\r
-               <File path="editor/_source/classes/fckstyledef_gecko.js" />\r
-               <File path="editor/_source/classes/fckstylesloader.js" />\r
 \r
                <File path="editor/_source/commandclasses/fcknamedcommand.js" />\r
+               <File path="editor/_source/commandclasses/fckstylecommand.js" />\r
                <File path="editor/_source/commandclasses/fck_othercommands.js" />\r
+               <File path="editor/_source/commandclasses/fckshowblocks.js" />\r
                <File path="editor/_source/commandclasses/fckspellcheckcommand_gecko.js" />\r
                <File path="editor/_source/commandclasses/fcktextcolorcommand.js" />\r
                <File path="editor/_source/commandclasses/fckpasteplaintextcommand.js" />\r
                <File path="editor/_source/commandclasses/fckpastewordcommand.js" />\r
                <File path="editor/_source/commandclasses/fcktablecommand.js" />\r
-               <File path="editor/_source/commandclasses/fckstylecommand.js" />\r
                <File path="editor/_source/commandclasses/fckfitwindow.js" />\r
+               <File path="editor/_source/commandclasses/fcklistcommands.js" />\r
+               <File path="editor/_source/commandclasses/fckjustifycommands.js" />\r
+               <File path="editor/_source/commandclasses/fckindentcommands.js" />\r
+               <File path="editor/_source/commandclasses/fckblockquotecommand.js" />\r
+               <File path="editor/_source/commandclasses/fckcorestylecommand.js" />\r
+               <File path="editor/_source/commandclasses/fckremoveformatcommand.js" />\r
                <File path="editor/_source/internals/fckcommands.js" />\r
 \r
                <File path="editor/_source/classes/fckpanel.js" />\r
                <File path="editor/_source/classes/fcktoolbarbutton.js" />\r
                <File path="editor/_source/classes/fckspecialcombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarspecialcombo.js" />\r
+               <File path="editor/_source/classes/fcktoolbarstylecombo.js" />\r
+               <File path="editor/_source/classes/fcktoolbarfontformatcombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarfontscombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarfontsizecombo.js" />\r
-               <File path="editor/_source/classes/fcktoolbarfontformatcombo.js" />\r
-               <File path="editor/_source/classes/fcktoolbarstylecombo.js" />\r
                <File path="editor/_source/classes/fcktoolbarpanelbutton.js" />\r
+               <File path="editor/_source/internals/fckscayt.js" />\r
                <File path="editor/_source/internals/fcktoolbaritems.js" />\r
                <File path="editor/_source/classes/fcktoolbar.js" />\r
                <File path="editor/_source/classes/fcktoolbarbreak_gecko.js" />\r
                <File path="editor/_source/internals/fcktoolbarset.js" />\r
                <File path="editor/_source/internals/fckdialog.js" />\r
-               <File path="editor/_source/internals/fckdialog_gecko.js" />\r
 \r
                <File path="editor/_source/classes/fckmenuitem.js" />\r
                <File path="editor/_source/classes/fckmenublock.js" />\r
                <File path="editor/_source/classes/fckmenublockpanel.js" />\r
                <File path="editor/_source/classes/fckcontextmenu.js" />\r
                <File path="editor/_source/internals/fck_contextmenu.js" />\r
+               <File path="editor/_source/classes/fckhtmliterator.js" />\r
 \r
                <File path="editor/_source/classes/fckplugin.js" />\r
                <File path="editor/_source/internals/fckplugins.js" />\r
        </PackageFile>\r
 \r
-</Package>
\ No newline at end of file
+</Package>\r
index bfd80e7..b2f12a4 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" ?>\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r
  * See FCKConfig.StylesXmlPath in the configuration file.\r
 -->\r
 <Styles>\r
+\r
+       <!-- Block Styles -->\r
+\r
+       <!--\r
+       # These styles are already available in the "Format" combo, so they are not\r
+       # needed here by default.\r
+\r
+       <Style name="Heading 1" element="h1" />\r
+       <Style name="Heading 2" element="h2" />\r
+       <Style name="Heading 3" element="h3" />\r
+       <Style name="Heading 4" element="h4" />\r
+       <Style name="Heading 5" element="h5" />\r
+       <Style name="Heading 6" element="h6" />\r
+       <Style name="Paragraph" element="p" />\r
+       <Style name="Document Block" element="div" />\r
+       <Style name="Preformatted Text" element="pre" />\r
+       <Style name="Address" element="address" />\r
+       -->\r
+\r
+       <!-- Inline Styles -->\r
+\r
+       <!--\r
+       # These are core styles available as toolbar buttons.\r
+\r
+       <Style name="Bold" element="b">\r
+               <Override element="strong" />\r
+       </Style>\r
+       <Style name="Italic" element="i">\r
+               <Override element="em" />\r
+       </Style>\r
+       <Style name="Underline" element="u" />\r
+       <Style name="Strikethrough" element="strike" />\r
+       <Style name="Subscript" element="sub" />\r
+       <Style name="Superscript" element="sup" />\r
+       -->\r
+\r
+       <Style name="Marker: Yellow" element="span">\r
+               <Style name="background-color" value="Yellow" />\r
+       </Style>\r
+       <Style name="Marker: Green" element="span">\r
+               <Style name="background-color" value="Lime" />\r
+       </Style>\r
+\r
+       <Style name="Big" element="big" />\r
+       <Style name="Small" element="small" />\r
+       <Style name="Typewriter" element="tt" />\r
+\r
+       <Style name="Computer Code" element="code" />\r
+       <Style name="Keyboard Phrase" element="kbd" />\r
+       <Style name="Sample Text" element="samp" />\r
+       <Style name="Variable" element="var" />\r
+\r
+       <Style name="Deleted Text" element="del" />\r
+       <Style name="Inserted Text" element="ins" />\r
+\r
+       <Style name="Cited Work" element="cite" />\r
+       <Style name="Inline Quotation" element="q" />\r
+\r
+       <Style name="Language: RTL" element="span">\r
+               <Attribute name="dir" value="rtl" />\r
+       </Style>\r
+       <Style name="Language: LTR" element="span">\r
+               <Attribute name="dir" value="ltr" />\r
+       </Style>\r
+       <Style name="Language: RTL Strong" element="bdo">\r
+               <Attribute name="dir" value="rtl" />\r
+       </Style>\r
+       <Style name="Language: LTR Strong" element="bdo">\r
+               <Attribute name="dir" value="ltr" />\r
+       </Style>\r
+\r
+       <!-- Object Styles -->\r
+\r
        <Style name="Image on Left" element="img">\r
                <Attribute name="style" value="padding: 5px; margin-right: 5px" />\r
                <Attribute name="border" value="2" />\r
                <Attribute name="border" value="2" />\r
                <Attribute name="align" value="right" />\r
        </Style>\r
-       <Style name="Custom Bold" element="span">\r
-               <Attribute name="style" value="font-weight: bold;" />\r
-       </Style>\r
-       <Style name="Custom Italic" element="em" />\r
-       <Style name="Title" element="span">\r
-               <Attribute name="class" value="Title" />\r
-       </Style>\r
-       <Style name="Code" element="span">\r
-               <Attribute name="class" value="Code" />\r
-       </Style>\r
-       <Style name="Title H3" element="h3" />\r
-       <Style name="Custom Ruler" element="hr">\r
-               <Attribute name="size" value="1" />\r
-               <Attribute name="color" value="#ff0000" />\r
-       </Style>\r
-</Styles>
\ No newline at end of file
+</Styles>\r
index 8761062..4378584 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" ?>\r
 <!--\r
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
  *\r
  * == BEGIN LICENSE ==\r
  *\r