From b4b0c7e72d7eaee2fbfc7022022c9698323203dd Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 31 Dec 2009 13:16:41 +0000 Subject: import rt 3.8.7 --- rt/share/html/NoAuth/Logout.html | 79 + rt/share/html/NoAuth/Reminder.html | 50 + .../editor/_source/classes/fckcontextmenu.js | 223 + .../editor/_source/classes/fckdataprocessor.js | 119 + .../_source/classes/fckdocumentfragment_gecko.js | 53 + .../_source/classes/fckdocumentfragment_ie.js | 58 + .../editor/_source/classes/fckdomrange.js | 935 +++++ .../editor/_source/classes/fckdomrange_gecko.js | 104 + .../editor/_source/classes/fckdomrange_ie.js | 199 + .../editor/_source/classes/fckdomrangeiterator.js | 327 ++ .../editor/_source/classes/fckeditingarea.js | 368 ++ .../editor/_source/classes/fckelementpath.js | 89 + .../editor/_source/classes/fckenterkey.js | 708 ++++ .../FCKeditor/editor/_source/classes/fckevents.js | 71 + .../editor/_source/classes/fckhtmliterator.js | 142 + .../FCKeditor/editor/_source/classes/fckicon.js | 103 + .../editor/_source/classes/fckiecleanup.js | 68 + .../editor/_source/classes/fckimagepreloader.js | 64 + .../editor/_source/classes/fckkeystrokehandler.js | 141 + .../editor/_source/classes/fckmenublock.js | 153 + .../editor/_source/classes/fckmenublockpanel.js | 54 + .../editor/_source/classes/fckmenuitem.js | 161 + .../FCKeditor/editor/_source/classes/fckpanel.js | 463 +++ .../FCKeditor/editor/_source/classes/fckplugin.js | 56 + .../editor/_source/classes/fckspecialcombo.js | 376 ++ .../FCKeditor/editor/_source/classes/fckstyle.js | 1500 +++++++ .../FCKeditor/editor/_source/classes/fcktoolbar.js | 103 + .../_source/classes/fcktoolbarbreak_gecko.js | 36 + .../editor/_source/classes/fcktoolbarbreak_ie.js | 38 + .../editor/_source/classes/fcktoolbarbutton.js | 81 + .../editor/_source/classes/fcktoolbarbuttonui.js | 198 + .../_source/classes/fcktoolbarfontformatcombo.js | 139 + .../editor/_source/classes/fcktoolbarfontscombo.js | 98 + .../_source/classes/fcktoolbarfontsizecombo.js | 76 + .../_source/classes/fcktoolbarpanelbutton.js | 103 + .../_source/classes/fcktoolbarspecialcombo.js | 146 + .../editor/_source/classes/fcktoolbarstylecombo.js | 200 + .../editor/_source/classes/fckw3crange.js | 451 ++ .../FCKeditor/editor/_source/classes/fckxml.js | 108 + .../editor/_source/classes/fckxml_gecko.js | 106 + .../FCKeditor/editor/_source/classes/fckxml_ie.js | 93 + .../_source/commandclasses/fck_othercommands.js | 634 +++ .../_source/commandclasses/fckblockquotecommand.js | 281 ++ .../_source/commandclasses/fckcorestylecommand.js | 61 + .../editor/_source/commandclasses/fckfitwindow.js | 213 + .../_source/commandclasses/fckindentcommands.js | 282 ++ .../_source/commandclasses/fckjustifycommands.js | 173 + .../_source/commandclasses/fcklistcommands.js | 382 ++ .../_source/commandclasses/fcknamedcommand.js | 39 + .../commandclasses/fckpasteplaintextcommand.js | 40 + .../_source/commandclasses/fckpastewordcommand.js | 40 + .../commandclasses/fckremoveformatcommand.js | 45 + .../editor/_source/commandclasses/fckshowblocks.js | 94 + .../commandclasses/fckspellcheckcommand_gecko.js | 49 + .../commandclasses/fckspellcheckcommand_ie.js | 72 + .../_source/commandclasses/fckstylecommand.js | 60 + .../_source/commandclasses/fcktablecommand.js | 106 + .../_source/commandclasses/fcktextcolorcommand.js | 201 + .../FCKeditor/editor/_source/fckconstants.js | 56 + .../FCKeditor/editor/_source/fckeditorapi.js | 179 + .../editor/_source/fckjscoreextensions.js | 159 + .../FCKeditor/editor/_source/fckscriptloader.js | 122 + .../FCKeditor/editor/_source/internals/fck.js | 1256 ++++++ .../editor/_source/internals/fck_contextmenu.js | 345 ++ .../editor/_source/internals/fck_gecko.js | 497 +++ .../FCKeditor/editor/_source/internals/fck_ie.js | 456 +++ .../editor/_source/internals/fckbrowserinfo.js | 61 + .../editor/_source/internals/fckcodeformatter.js | 100 + .../editor/_source/internals/fckcommands.js | 172 + .../editor/_source/internals/fckconfig.js | 237 ++ .../FCKeditor/editor/_source/internals/fckdebug.js | 59 + .../editor/_source/internals/fckdebug_empty.js | 31 + .../editor/_source/internals/fckdialog.js | 239 ++ .../_source/internals/fckdocumentprocessor.js | 270 ++ .../editor/_source/internals/fckdomtools.js | 1057 +++++ .../editor/_source/internals/fcklanguagemanager.js | 165 + .../editor/_source/internals/fcklisthandler.js | 152 + .../editor/_source/internals/fcklistslib.js | 63 + .../editor/_source/internals/fckplugins.js | 46 + .../editor/_source/internals/fckregexlib.js | 100 + .../editor/_source/internals/fckselection.js | 42 + .../editor/_source/internals/fckselection_gecko.js | 228 ++ .../editor/_source/internals/fckselection_ie.js | 287 ++ .../editor/_source/internals/fckstyles.js | 381 ++ .../editor/_source/internals/fcktablehandler.js | 863 ++++ .../_source/internals/fcktablehandler_gecko.js | 56 + .../editor/_source/internals/fcktablehandler_ie.js | 64 + .../editor/_source/internals/fcktoolbaritems.js | 124 + .../editor/_source/internals/fcktoolbarset.js | 399 ++ .../FCKeditor/editor/_source/internals/fcktools.js | 749 ++++ .../editor/_source/internals/fcktools_gecko.js | 282 ++ .../editor/_source/internals/fcktools_ie.js | 234 ++ .../FCKeditor/editor/_source/internals/fckundo.js | 223 + .../editor/_source/internals/fckurlparams.js | 39 + .../FCKeditor/editor/_source/internals/fckxhtml.js | 534 +++ .../editor/_source/internals/fckxhtml_gecko.js | 114 + .../editor/_source/internals/fckxhtml_ie.js | 213 + .../editor/_source/internals/fckxhtmlentities.js | 357 ++ .../editor/css/behaviors/disablehandles.htc | 15 + .../editor/css/behaviors/showtableborders.htc | 36 + .../FCKeditor/editor/css/fck_editorarea.css | 110 + .../RichText/FCKeditor/editor/css/fck_internal.css | 199 + .../editor/css/fck_showtableborders_gecko.css | 49 + .../FCKeditor/editor/css/images/block_address.png | Bin 0 -> 288 bytes .../editor/css/images/block_blockquote.png | Bin 0 -> 293 bytes .../FCKeditor/editor/css/images/block_div.png | Bin 0 -> 229 bytes .../FCKeditor/editor/css/images/block_h1.png | Bin 0 -> 218 bytes .../FCKeditor/editor/css/images/block_h2.png | Bin 0 -> 220 bytes .../FCKeditor/editor/css/images/block_h3.png | Bin 0 -> 219 bytes .../FCKeditor/editor/css/images/block_h4.png | Bin 0 -> 229 bytes .../FCKeditor/editor/css/images/block_h5.png | Bin 0 -> 236 bytes .../FCKeditor/editor/css/images/block_h6.png | Bin 0 -> 216 bytes .../FCKeditor/editor/css/images/block_p.png | Bin 0 -> 205 bytes .../FCKeditor/editor/css/images/block_pre.png | Bin 0 -> 223 bytes .../FCKeditor/editor/css/images/fck_anchor.gif | Bin 0 -> 184 bytes .../FCKeditor/editor/css/images/fck_flashlogo.gif | Bin 0 -> 599 bytes .../editor/css/images/fck_hiddenfield.gif | Bin 0 -> 105 bytes .../FCKeditor/editor/css/images/fck_pagebreak.gif | Bin 0 -> 54 bytes .../FCKeditor/editor/css/images/fck_plugin.gif | Bin 0 -> 1709 bytes .../editor/dialog/common/fck_dialog_common.css | 85 + .../editor/dialog/common/fck_dialog_common.js | 347 ++ .../editor/dialog/common/images/locked.gif | Bin 0 -> 74 bytes .../editor/dialog/common/images/reset.gif | Bin 0 -> 104 bytes .../editor/dialog/common/images/unlocked.gif | Bin 0 -> 75 bytes .../FCKeditor/editor/dialog/fck_about.html | 161 + .../editor/dialog/fck_about/logo_fckeditor.gif | Bin 0 -> 2044 bytes .../editor/dialog/fck_about/logo_fredck.gif | Bin 0 -> 920 bytes .../dialog/fck_about/sponsors/spellchecker_net.gif | Bin 0 -> 1447 bytes .../FCKeditor/editor/dialog/fck_anchor.html | 220 + .../FCKeditor/editor/dialog/fck_button.html | 104 + .../FCKeditor/editor/dialog/fck_checkbox.html | 104 + .../FCKeditor/editor/dialog/fck_colorselector.html | 172 + .../RichText/FCKeditor/editor/dialog/fck_div.html | 396 ++ .../FCKeditor/editor/dialog/fck_docprops.html | 600 +++ .../dialog/fck_docprops/fck_document_preview.html | 113 + .../FCKeditor/editor/dialog/fck_flash.html | 152 + .../FCKeditor/editor/dialog/fck_flash/fck_flash.js | 300 ++ .../editor/dialog/fck_flash/fck_flash_preview.html | 50 + .../RichText/FCKeditor/editor/dialog/fck_form.html | 109 + .../FCKeditor/editor/dialog/fck_hiddenfield.html | 115 + .../FCKeditor/editor/dialog/fck_image.html | 258 ++ .../FCKeditor/editor/dialog/fck_image/fck_image.js | 512 +++ .../editor/dialog/fck_image/fck_image_preview.html | 72 + .../RichText/FCKeditor/editor/dialog/fck_link.html | 295 ++ .../FCKeditor/editor/dialog/fck_link/fck_link.js | 893 ++++ .../FCKeditor/editor/dialog/fck_listprop.html | 120 + .../FCKeditor/editor/dialog/fck_paste.html | 347 ++ .../FCKeditor/editor/dialog/fck_radiobutton.html | 104 + .../FCKeditor/editor/dialog/fck_replace.html | 650 +++ .../FCKeditor/editor/dialog/fck_select.html | 180 + .../editor/dialog/fck_select/fck_select.js | 194 + .../FCKeditor/editor/dialog/fck_smiley.html | 111 + .../FCKeditor/editor/dialog/fck_source.html | 68 + .../FCKeditor/editor/dialog/fck_specialchar.html | 121 + .../FCKeditor/editor/dialog/fck_spellerpages.html | 70 + .../fck_spellerpages/spellerpages/blank.html | 0 .../fck_spellerpages/spellerpages/controlWindow.js | 87 + .../fck_spellerpages/spellerpages/controls.html | 153 + .../spellerpages/server-scripts/spellchecker.cfm | 148 + .../spellerpages/server-scripts/spellchecker.php | 199 + .../spellerpages/server-scripts/spellchecker.pl | 181 + .../fck_spellerpages/spellerpages/spellChecker.js | 461 +++ .../spellerpages/spellchecker.html | 71 + .../fck_spellerpages/spellerpages/spellerStyle.css | 49 + .../fck_spellerpages/spellerpages/wordWindow.js | 272 ++ .../FCKeditor/editor/dialog/fck_table.html | 439 ++ .../FCKeditor/editor/dialog/fck_tablecell.html | 293 ++ .../FCKeditor/editor/dialog/fck_template.html | 242 ++ .../dialog/fck_template/images/template1.gif | Bin 0 -> 375 bytes .../dialog/fck_template/images/template2.gif | Bin 0 -> 333 bytes .../dialog/fck_template/images/template3.gif | Bin 0 -> 422 bytes .../FCKeditor/editor/dialog/fck_textarea.html | 94 + .../FCKeditor/editor/dialog/fck_textfield.html | 136 + .../FCKeditor/editor/dtd/fck_dtd_test.html | 41 + .../FCKeditor/editor/dtd/fck_xhtml10strict.js | 116 + .../editor/dtd/fck_xhtml10transitional.js | 140 + .../NoAuth/RichText/FCKeditor/editor/fckdebug.html | 153 + .../RichText/FCKeditor/editor/fckdialog.html | 819 ++++ .../RichText/FCKeditor/editor/fckeditor.html | 317 ++ .../FCKeditor/editor/fckeditor.original.html | 424 ++ .../RichText/FCKeditor/editor/images/anchor.gif | Bin 0 -> 184 bytes .../RichText/FCKeditor/editor/images/arrow_ltr.gif | Bin 0 -> 49 bytes .../RichText/FCKeditor/editor/images/arrow_rtl.gif | Bin 0 -> 49 bytes .../editor/images/smiley/msn/angel_smile.gif | Bin 0 -> 445 bytes .../editor/images/smiley/msn/angry_smile.gif | Bin 0 -> 453 bytes .../editor/images/smiley/msn/broken_heart.gif | Bin 0 -> 423 bytes .../FCKeditor/editor/images/smiley/msn/cake.gif | Bin 0 -> 453 bytes .../editor/images/smiley/msn/confused_smile.gif | Bin 0 -> 322 bytes .../editor/images/smiley/msn/cry_smile.gif | Bin 0 -> 473 bytes .../editor/images/smiley/msn/devil_smile.gif | Bin 0 -> 444 bytes .../editor/images/smiley/msn/embaressed_smile.gif | Bin 0 -> 1077 bytes .../editor/images/smiley/msn/envelope.gif | Bin 0 -> 1030 bytes .../FCKeditor/editor/images/smiley/msn/heart.gif | Bin 0 -> 1012 bytes .../FCKeditor/editor/images/smiley/msn/kiss.gif | Bin 0 -> 978 bytes .../editor/images/smiley/msn/lightbulb.gif | Bin 0 -> 303 bytes .../editor/images/smiley/msn/omg_smile.gif | Bin 0 -> 342 bytes .../editor/images/smiley/msn/regular_smile.gif | Bin 0 -> 1036 bytes .../editor/images/smiley/msn/sad_smile.gif | Bin 0 -> 1039 bytes .../editor/images/smiley/msn/shades_smile.gif | Bin 0 -> 1059 bytes .../editor/images/smiley/msn/teeth_smile.gif | Bin 0 -> 1064 bytes .../editor/images/smiley/msn/thumbs_down.gif | Bin 0 -> 992 bytes .../editor/images/smiley/msn/thumbs_up.gif | Bin 0 -> 989 bytes .../editor/images/smiley/msn/tounge_smile.gif | Bin 0 -> 1055 bytes .../smiley/msn/whatchutalkingabout_smile.gif | Bin 0 -> 1034 bytes .../editor/images/smiley/msn/wink_smile.gif | Bin 0 -> 1041 bytes .../RichText/FCKeditor/editor/images/spacer.gif | Bin 0 -> 43 bytes .../RichText/FCKeditor/editor/js/fckadobeair.js | 176 + .../FCKeditor/editor/js/fckeditorcode_gecko.js | 108 + .../FCKeditor/editor/js/fckeditorcode_ie.js | 109 + .../FCKeditor/editor/lang/_translationstatus.txt | 79 + .../NoAuth/RichText/FCKeditor/editor/lang/af.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/ar.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/bg.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/bn.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/bs.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/ca.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/cs.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/da.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/de.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/el.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/en-au.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/en-ca.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/en-uk.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/en.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/eo.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/es.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/et.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/eu.js | 535 +++ .../NoAuth/RichText/FCKeditor/editor/lang/fa.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/fi.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/fo.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/fr-ca.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/fr.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/gl.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/gu.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/he.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/hi.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/hr.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/hu.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/is.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/it.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/ja.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/km.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/ko.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/lt.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/lv.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/mn.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/ms.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/nb.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/nl.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/no.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/pl.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/pt-br.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/pt.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/ro.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/ru.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/sk.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/sl.js | 534 +++ .../RichText/FCKeditor/editor/lang/sr-latn.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/sr.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/sv.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/th.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/tr.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/uk.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/vi.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/zh-cn.js | 534 +++ .../NoAuth/RichText/FCKeditor/editor/lang/zh.js | 534 +++ .../FCKeditor/editor/plugins/autogrow/fckplugin.js | 111 + .../editor/plugins/bbcode/_sample/sample.config.js | 26 + .../editor/plugins/bbcode/_sample/sample.html | 67 + .../FCKeditor/editor/plugins/bbcode/fckplugin.js | 123 + .../editor/plugins/dragresizetable/fckplugin.js | 529 +++ .../plugins/placeholder/fck_placeholder.html | 105 + .../editor/plugins/placeholder/fckplugin.js | 187 + .../editor/plugins/placeholder/lang/de.js | 27 + .../editor/plugins/placeholder/lang/en.js | 27 + .../editor/plugins/placeholder/lang/es.js | 27 + .../editor/plugins/placeholder/lang/fr.js | 27 + .../editor/plugins/placeholder/lang/it.js | 27 + .../editor/plugins/placeholder/lang/pl.js | 27 + .../editor/plugins/placeholder/placeholder.gif | Bin 0 -> 96 bytes .../editor/plugins/simplecommands/fckplugin.js | 29 + .../editor/plugins/tablecommands/fckplugin.js | 33 + .../FCKeditor/editor/skins/_fckviewstrips.html | 121 + .../FCKeditor/editor/skins/default/fck_dialog.css | 402 ++ .../editor/skins/default/fck_dialog_ie6.js | 110 + .../FCKeditor/editor/skins/default/fck_editor.css | 464 +++ .../FCKeditor/editor/skins/default/fck_strip.gif | Bin 0 -> 5175 bytes .../editor/skins/default/images/dialog.sides.gif | Bin 0 -> 48 bytes .../editor/skins/default/images/dialog.sides.png | Bin 0 -> 178 bytes .../skins/default/images/dialog.sides.rtl.png | Bin 0 -> 181 bytes .../editor/skins/default/images/sprites.gif | Bin 0 -> 959 bytes .../editor/skins/default/images/sprites.png | Bin 0 -> 3250 bytes .../skins/default/images/toolbar.arrowright.gif | Bin 0 -> 53 bytes .../skins/default/images/toolbar.buttonarrow.gif | Bin 0 -> 46 bytes .../skins/default/images/toolbar.collapse.gif | Bin 0 -> 152 bytes .../editor/skins/default/images/toolbar.end.gif | Bin 0 -> 43 bytes .../editor/skins/default/images/toolbar.expand.gif | Bin 0 -> 152 bytes .../skins/default/images/toolbar.separator.gif | Bin 0 -> 58 bytes .../editor/skins/default/images/toolbar.start.gif | Bin 0 -> 105 bytes .../editor/skins/office2003/fck_dialog.css | 402 ++ .../editor/skins/office2003/fck_dialog_ie6.js | 110 + .../editor/skins/office2003/fck_editor.css | 476 +++ .../editor/skins/office2003/fck_strip.gif | Bin 0 -> 9668 bytes .../skins/office2003/images/dialog.sides.gif | Bin 0 -> 48 bytes .../skins/office2003/images/dialog.sides.png | Bin 0 -> 203 bytes .../skins/office2003/images/dialog.sides.rtl.png | Bin 0 -> 205 bytes .../editor/skins/office2003/images/sprites.gif | Bin 0 -> 959 bytes .../editor/skins/office2003/images/sprites.png | Bin 0 -> 3305 bytes .../skins/office2003/images/toolbar.arrowright.gif | Bin 0 -> 53 bytes .../editor/skins/office2003/images/toolbar.bg.gif | Bin 0 -> 73 bytes .../office2003/images/toolbar.buttonarrow.gif | Bin 0 -> 46 bytes .../skins/office2003/images/toolbar.collapse.gif | Bin 0 -> 152 bytes .../editor/skins/office2003/images/toolbar.end.gif | Bin 0 -> 124 bytes .../skins/office2003/images/toolbar.expand.gif | Bin 0 -> 152 bytes .../skins/office2003/images/toolbar.separator.gif | Bin 0 -> 67 bytes .../skins/office2003/images/toolbar.start.gif | Bin 0 -> 99 bytes .../FCKeditor/editor/skins/silver/fck_dialog.css | 402 ++ .../editor/skins/silver/fck_dialog_ie6.js | 110 + .../FCKeditor/editor/skins/silver/fck_editor.css | 473 +++ .../FCKeditor/editor/skins/silver/fck_strip.gif | Bin 0 -> 5175 bytes .../editor/skins/silver/images/dialog.sides.gif | Bin 0 -> 48 bytes .../editor/skins/silver/images/dialog.sides.png | Bin 0 -> 198 bytes .../skins/silver/images/dialog.sides.rtl.png | Bin 0 -> 200 bytes .../editor/skins/silver/images/sprites.gif | Bin 0 -> 959 bytes .../editor/skins/silver/images/sprites.png | Bin 0 -> 3278 bytes .../skins/silver/images/toolbar.arrowright.gif | Bin 0 -> 53 bytes .../skins/silver/images/toolbar.buttonarrow.gif | Bin 0 -> 46 bytes .../skins/silver/images/toolbar.buttonbg.gif | Bin 0 -> 829 bytes .../skins/silver/images/toolbar.collapse.gif | Bin 0 -> 152 bytes .../editor/skins/silver/images/toolbar.end.gif | Bin 0 -> 43 bytes .../editor/skins/silver/images/toolbar.expand.gif | Bin 0 -> 152 bytes .../skins/silver/images/toolbar.separator.gif | Bin 0 -> 58 bytes .../editor/skins/silver/images/toolbar.start.gif | Bin 0 -> 105 bytes .../RichText/FCKeditor/editor/wsc/ciframe.html | 65 + .../RichText/FCKeditor/editor/wsc/tmpFrameset.html | 67 + .../NoAuth/RichText/FCKeditor/editor/wsc/w.html | 227 + .../html/NoAuth/RichText/FCKeditor/fckconfig.js | 327 ++ .../html/NoAuth/RichText/FCKeditor/fckeditor.js | 330 ++ .../html/NoAuth/RichText/FCKeditor/fckpackager.xml | 262 ++ .../html/NoAuth/RichText/FCKeditor/fckstyles.xml | 111 + .../NoAuth/RichText/FCKeditor/fcktemplates.xml | 103 + .../html/NoAuth/RichText/FCKeditor/license.txt | 1246 ++++++ rt/share/html/NoAuth/RichText/dhandler | 69 + rt/share/html/NoAuth/css/3.4-compat/body.css | 75 + rt/share/html/NoAuth/css/3.4-compat/footer.css | 61 + rt/share/html/NoAuth/css/3.4-compat/forms.css | 110 + rt/share/html/NoAuth/css/3.4-compat/header.css | 88 + rt/share/html/NoAuth/css/3.4-compat/login.css | 54 + rt/share/html/NoAuth/css/3.4-compat/main.css | 75 + rt/share/html/NoAuth/css/3.4-compat/misc.css | 78 + rt/share/html/NoAuth/css/3.4-compat/nav.css | 106 + rt/share/html/NoAuth/css/3.4-compat/quickbar.css | 82 + rt/share/html/NoAuth/css/3.4-compat/ticket.css | 50 + rt/share/html/NoAuth/css/3.4-compat/titlebox.css | 103 + .../html/NoAuth/css/3.4-compat/transactions.css | 83 + rt/share/html/NoAuth/css/3.5-default/approvals.css | 97 + rt/share/html/NoAuth/css/3.5-default/body.css | 81 + rt/share/html/NoAuth/css/3.5-default/footer.css | 91 + rt/share/html/NoAuth/css/3.5-default/forms.css | 148 + rt/share/html/NoAuth/css/3.5-default/header.css | 152 + rt/share/html/NoAuth/css/3.5-default/local.css | 50 + rt/share/html/NoAuth/css/3.5-default/login.css | 85 + rt/share/html/NoAuth/css/3.5-default/logo.css | 60 + rt/share/html/NoAuth/css/3.5-default/main.css | 67 + rt/share/html/NoAuth/css/3.5-default/misc.css | 125 + rt/share/html/NoAuth/css/3.5-default/nav-left.css | 86 + rt/share/html/NoAuth/css/3.5-default/nav.css | 163 + rt/share/html/NoAuth/css/3.5-default/quickbar.css | 98 + .../html/NoAuth/css/3.5-default/ticket-search.css | 86 + rt/share/html/NoAuth/css/3.5-default/ticket.css | 57 + rt/share/html/NoAuth/css/3.5-default/titlebox.css | 162 + .../html/NoAuth/css/3.5-default/transactions.css | 146 + rt/share/html/NoAuth/css/autohandler | 59 + rt/share/html/NoAuth/css/dhandler | 77 + rt/share/html/NoAuth/css/print.css | 94 + rt/share/html/NoAuth/css/web2/InHeader | 54 + rt/share/html/NoAuth/css/web2/admin.css | 60 + rt/share/html/NoAuth/css/web2/base.css | 70 + rt/share/html/NoAuth/css/web2/boxes.css | 192 + rt/share/html/NoAuth/css/web2/forms.css | 242 ++ rt/share/html/NoAuth/css/web2/images/dhandler | 8 + .../css/web2/images/source/background-gradient.png | Bin 0 -> 394 bytes rt/share/html/NoAuth/css/web2/layout.css | 234 ++ rt/share/html/NoAuth/css/web2/login.css | 82 + rt/share/html/NoAuth/css/web2/main.css | 68 + rt/share/html/NoAuth/css/web2/misc.css | 108 + rt/share/html/NoAuth/css/web2/msie.css | 239 ++ rt/share/html/NoAuth/css/web2/msie6.css | 88 + rt/share/html/NoAuth/css/web2/nav.css | 203 + rt/share/html/NoAuth/css/web2/portlets.css | 65 + rt/share/html/NoAuth/css/web2/ticket-lists.css | 172 + rt/share/html/NoAuth/css/web2/ticket-search.css | 199 + rt/share/html/NoAuth/css/web2/ticket.css | 230 ++ rt/share/html/NoAuth/css/web2/tools.css | 56 + rt/share/html/NoAuth/css/web2/yui-fonts.css | 7 + rt/share/html/NoAuth/iCal/dhandler | 122 + rt/share/html/NoAuth/images/autohandler | 7 + rt/share/html/NoAuth/images/bplogo.gif | Bin 0 -> 755 bytes rt/share/html/NoAuth/images/css/cb-light.gif | Bin 0 -> 186 bytes rt/share/html/NoAuth/images/css/cb.gif | Bin 0 -> 163 bytes rt/share/html/NoAuth/images/css/cbr-b2g.gif | Bin 0 -> 135 bytes rt/share/html/NoAuth/images/css/cbr-b2lb.gif | Bin 0 -> 137 bytes rt/share/html/NoAuth/images/css/cbr-gray.gif | Bin 0 -> 137 bytes rt/share/html/NoAuth/images/css/cbr-trans.gif | Bin 0 -> 183 bytes rt/share/html/NoAuth/images/css/cbr.gif | Bin 0 -> 188 bytes rt/share/html/NoAuth/images/css/ct-light.gif | Bin 0 -> 162 bytes rt/share/html/NoAuth/images/css/ct.gif | Bin 0 -> 162 bytes rt/share/html/NoAuth/images/css/ctr-b2g.gif | Bin 0 -> 136 bytes rt/share/html/NoAuth/images/css/ctr-b2lb.gif | Bin 0 -> 114 bytes rt/share/html/NoAuth/images/css/ctr-gray.gif | Bin 0 -> 138 bytes rt/share/html/NoAuth/images/css/ctr-trans.gif | Bin 0 -> 182 bytes rt/share/html/NoAuth/images/css/ctr.gif | Bin 0 -> 188 bytes rt/share/html/NoAuth/images/css/dark-arrow-up.png | Bin 0 -> 346 bytes rt/share/html/NoAuth/images/css/dark-arrow.png | Bin 0 -> 337 bytes .../NoAuth/images/css/fieldbg-autocomplete.gif | Bin 0 -> 1164 bytes rt/share/html/NoAuth/images/css/light-arrow-up.png | Bin 0 -> 348 bytes rt/share/html/NoAuth/images/css/light-arrow.png | Bin 0 -> 340 bytes rt/share/html/NoAuth/images/css/rolldown-arrow.gif | Bin 0 -> 83 bytes rt/share/html/NoAuth/images/css/rolldown-arrow.png | Bin 0 -> 259 bytes rt/share/html/NoAuth/images/css/rollup-arrow.gif | Bin 0 -> 82 bytes rt/share/html/NoAuth/images/empty_star.gif | Bin 0 -> 914 bytes rt/share/html/NoAuth/images/favicon.png | Bin 0 -> 335 bytes rt/share/html/NoAuth/images/star.gif | Bin 0 -> 161 bytes rt/share/html/NoAuth/images/test.png | 2 + rt/share/html/NoAuth/js/IE7/IE7.js | 2 + rt/share/html/NoAuth/js/IE7/IE8.js | 2 + rt/share/html/NoAuth/js/IE7/blank.gif | Bin 0 -> 48 bytes rt/share/html/NoAuth/js/IE7/ie7-recalc.js | 2 + rt/share/html/NoAuth/js/IE7/ie7-squish.js | 36 + rt/share/html/NoAuth/js/ahah.js | 48 + rt/share/html/NoAuth/js/autohandler | 61 + rt/share/html/NoAuth/js/cascaded.js | 102 + rt/share/html/NoAuth/js/class.js | 15 + rt/share/html/NoAuth/js/combobox.js | 262 ++ rt/share/html/NoAuth/js/list.js | 112 + rt/share/html/NoAuth/js/prototype/prototype.js | 4320 ++++++++++++++++++++ rt/share/html/NoAuth/js/scriptaculous/controls.js | 971 +++++ rt/share/html/NoAuth/js/scriptaculous/effects.js | 1130 +++++ .../html/NoAuth/js/scriptaculous/scriptaculous.js | 60 + rt/share/html/NoAuth/js/titlebox-state.js | 83 + rt/share/html/NoAuth/js/util.js | 317 ++ 442 files changed, 85830 insertions(+) create mode 100755 rt/share/html/NoAuth/Logout.html create mode 100755 rt/share/html/NoAuth/Reminder.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckcontextmenu.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdataprocessor.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdocumentfragment_gecko.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdocumentfragment_ie.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdomrange.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdomrange_gecko.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdomrange_ie.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdomrangeiterator.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckeditingarea.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckelementpath.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckenterkey.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckevents.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckhtmliterator.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckicon.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckiecleanup.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckimagepreloader.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckkeystrokehandler.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckmenublock.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckmenublockpanel.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckmenuitem.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckpanel.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckplugin.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckspecialcombo.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckstyle.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbar.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarbreak_gecko.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarbreak_ie.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarbutton.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarbuttonui.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarfontformatcombo.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarfontscombo.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarfontsizecombo.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarpanelbutton.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarspecialcombo.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarstylecombo.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckw3crange.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckxml.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckxml_gecko.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckxml_ie.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fck_othercommands.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckblockquotecommand.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckcorestylecommand.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckfitwindow.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckindentcommands.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckjustifycommands.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fcklistcommands.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fcknamedcommand.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckpastewordcommand.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckremoveformatcommand.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckshowblocks.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckstylecommand.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fcktablecommand.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fcktextcolorcommand.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckconstants.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckeditorapi.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckjscoreextensions.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckscriptloader.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fck.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fck_contextmenu.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fck_gecko.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fck_ie.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckbrowserinfo.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckcodeformatter.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckcommands.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckconfig.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckdebug.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckdebug_empty.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckdialog.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckdocumentprocessor.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckdomtools.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcklanguagemanager.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcklisthandler.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcklistslib.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckplugins.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckregexlib.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckselection.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckselection_gecko.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckselection_ie.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckstyles.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktablehandler.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktablehandler_gecko.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktablehandler_ie.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktoolbaritems.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktoolbarset.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktools.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktools_gecko.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktools_ie.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckundo.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckurlparams.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckxhtml.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckxhtml_gecko.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckxhtml_ie.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckxhtmlentities.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/behaviors/disablehandles.htc create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/behaviors/showtableborders.htc create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/fck_editorarea.css create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/fck_internal.css create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/fck_showtableborders_gecko.css create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_address.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_blockquote.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_div.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_h1.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_h2.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_h3.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_h4.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_h5.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_h6.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_p.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_pre.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/fck_anchor.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/fck_flashlogo.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/fck_hiddenfield.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/fck_pagebreak.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/fck_plugin.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/common/fck_dialog_common.css create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/common/fck_dialog_common.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/common/images/locked.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/common/images/reset.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/common/images/unlocked.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_about.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_about/logo_fckeditor.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_about/logo_fredck.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_anchor.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_button.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_checkbox.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_colorselector.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_div.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_docprops.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_docprops/fck_document_preview.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_flash.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_flash/fck_flash.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_flash/fck_flash_preview.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_form.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_hiddenfield.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_image.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_image/fck_image.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_image/fck_image_preview.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_link.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_link/fck_link.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_listprop.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_paste.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_radiobutton.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_replace.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_select.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_select/fck_select.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_smiley.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_source.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_specialchar.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_table.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_tablecell.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_template.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_template/images/template1.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_template/images/template2.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_template/images/template3.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_textarea.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_textfield.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dtd/fck_dtd_test.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dtd/fck_xhtml10strict.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dtd/fck_xhtml10transitional.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/fckdebug.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/fckdialog.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/fckeditor.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/fckeditor.original.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/anchor.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/arrow_ltr.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/arrow_rtl.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/angel_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/angry_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/broken_heart.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/cake.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/confused_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/cry_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/devil_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/embaressed_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/envelope.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/heart.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/kiss.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/lightbulb.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/omg_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/regular_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/sad_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/shades_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/teeth_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/thumbs_down.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/thumbs_up.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/tounge_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/wink_smile.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/spacer.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/js/fckadobeair.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/js/fckeditorcode_gecko.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/js/fckeditorcode_ie.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/_translationstatus.txt create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/af.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ar.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/bg.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/bn.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/bs.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ca.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/cs.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/da.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/de.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/el.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/en-au.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/en-ca.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/en-uk.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/en.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/eo.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/es.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/et.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/eu.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/fa.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/fi.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/fo.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/fr-ca.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/fr.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/gl.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/gu.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/he.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/hi.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/hr.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/hu.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/is.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/it.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ja.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/km.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ko.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/lt.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/lv.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/mn.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ms.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/nb.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/nl.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/no.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/pl.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/pt-br.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/pt.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ro.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ru.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/sk.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/sl.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/sr-latn.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/sr.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/sv.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/th.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/tr.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/uk.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/vi.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/zh-cn.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/zh.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/autogrow/fckplugin.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/bbcode/_sample/sample.config.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/bbcode/_sample/sample.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/bbcode/fckplugin.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/dragresizetable/fckplugin.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/fck_placeholder.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/fckplugin.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/lang/de.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/lang/en.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/lang/es.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/lang/fr.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/lang/it.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/lang/pl.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/placeholder.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/simplecommands/fckplugin.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/tablecommands/fckplugin.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/_fckviewstrips.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/fck_dialog.css create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/fck_dialog_ie6.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/fck_editor.css create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/fck_strip.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/dialog.sides.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/dialog.sides.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/dialog.sides.rtl.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/sprites.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/sprites.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.arrowright.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.buttonarrow.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.collapse.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.end.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.expand.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.separator.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.start.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/fck_dialog.css create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/fck_dialog_ie6.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/fck_editor.css create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/fck_strip.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/dialog.sides.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/dialog.sides.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/dialog.sides.rtl.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/sprites.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/sprites.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.arrowright.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.bg.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.collapse.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.end.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.expand.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.separator.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.start.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/fck_dialog.css create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/fck_dialog_ie6.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/fck_editor.css create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/fck_strip.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/dialog.sides.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/dialog.sides.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/dialog.sides.rtl.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/sprites.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/sprites.png create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.arrowright.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.buttonarrow.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.buttonbg.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.collapse.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.end.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.expand.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.separator.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.start.gif create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/wsc/ciframe.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/wsc/tmpFrameset.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/wsc/w.html create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/fckconfig.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/fckeditor.js create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/fckpackager.xml create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/fckstyles.xml create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/fcktemplates.xml create mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/license.txt create mode 100644 rt/share/html/NoAuth/RichText/dhandler create mode 100644 rt/share/html/NoAuth/css/3.4-compat/body.css create mode 100644 rt/share/html/NoAuth/css/3.4-compat/footer.css create mode 100644 rt/share/html/NoAuth/css/3.4-compat/forms.css create mode 100644 rt/share/html/NoAuth/css/3.4-compat/header.css create mode 100644 rt/share/html/NoAuth/css/3.4-compat/login.css create mode 100644 rt/share/html/NoAuth/css/3.4-compat/main.css create mode 100644 rt/share/html/NoAuth/css/3.4-compat/misc.css create mode 100644 rt/share/html/NoAuth/css/3.4-compat/nav.css create mode 100644 rt/share/html/NoAuth/css/3.4-compat/quickbar.css create mode 100644 rt/share/html/NoAuth/css/3.4-compat/ticket.css create mode 100644 rt/share/html/NoAuth/css/3.4-compat/titlebox.css create mode 100644 rt/share/html/NoAuth/css/3.4-compat/transactions.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/approvals.css create mode 100755 rt/share/html/NoAuth/css/3.5-default/body.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/footer.css create mode 100755 rt/share/html/NoAuth/css/3.5-default/forms.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/header.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/local.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/login.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/logo.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/main.css create mode 100755 rt/share/html/NoAuth/css/3.5-default/misc.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/nav-left.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/nav.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/quickbar.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/ticket-search.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/ticket.css create mode 100644 rt/share/html/NoAuth/css/3.5-default/titlebox.css create mode 100755 rt/share/html/NoAuth/css/3.5-default/transactions.css create mode 100644 rt/share/html/NoAuth/css/autohandler create mode 100644 rt/share/html/NoAuth/css/dhandler create mode 100644 rt/share/html/NoAuth/css/print.css create mode 100644 rt/share/html/NoAuth/css/web2/InHeader create mode 100644 rt/share/html/NoAuth/css/web2/admin.css create mode 100644 rt/share/html/NoAuth/css/web2/base.css create mode 100644 rt/share/html/NoAuth/css/web2/boxes.css create mode 100755 rt/share/html/NoAuth/css/web2/forms.css create mode 100644 rt/share/html/NoAuth/css/web2/images/dhandler create mode 100644 rt/share/html/NoAuth/css/web2/images/source/background-gradient.png create mode 100644 rt/share/html/NoAuth/css/web2/layout.css create mode 100644 rt/share/html/NoAuth/css/web2/login.css create mode 100644 rt/share/html/NoAuth/css/web2/main.css create mode 100644 rt/share/html/NoAuth/css/web2/misc.css create mode 100644 rt/share/html/NoAuth/css/web2/msie.css create mode 100644 rt/share/html/NoAuth/css/web2/msie6.css create mode 100644 rt/share/html/NoAuth/css/web2/nav.css create mode 100644 rt/share/html/NoAuth/css/web2/portlets.css create mode 100644 rt/share/html/NoAuth/css/web2/ticket-lists.css create mode 100644 rt/share/html/NoAuth/css/web2/ticket-search.css create mode 100644 rt/share/html/NoAuth/css/web2/ticket.css create mode 100644 rt/share/html/NoAuth/css/web2/tools.css create mode 100644 rt/share/html/NoAuth/css/web2/yui-fonts.css create mode 100644 rt/share/html/NoAuth/iCal/dhandler create mode 100644 rt/share/html/NoAuth/images/autohandler create mode 100755 rt/share/html/NoAuth/images/bplogo.gif create mode 100644 rt/share/html/NoAuth/images/css/cb-light.gif create mode 100644 rt/share/html/NoAuth/images/css/cb.gif create mode 100644 rt/share/html/NoAuth/images/css/cbr-b2g.gif create mode 100644 rt/share/html/NoAuth/images/css/cbr-b2lb.gif create mode 100644 rt/share/html/NoAuth/images/css/cbr-gray.gif create mode 100644 rt/share/html/NoAuth/images/css/cbr-trans.gif create mode 100644 rt/share/html/NoAuth/images/css/cbr.gif create mode 100644 rt/share/html/NoAuth/images/css/ct-light.gif create mode 100644 rt/share/html/NoAuth/images/css/ct.gif create mode 100644 rt/share/html/NoAuth/images/css/ctr-b2g.gif create mode 100644 rt/share/html/NoAuth/images/css/ctr-b2lb.gif create mode 100644 rt/share/html/NoAuth/images/css/ctr-gray.gif create mode 100644 rt/share/html/NoAuth/images/css/ctr-trans.gif create mode 100644 rt/share/html/NoAuth/images/css/ctr.gif create mode 100644 rt/share/html/NoAuth/images/css/dark-arrow-up.png create mode 100644 rt/share/html/NoAuth/images/css/dark-arrow.png create mode 100644 rt/share/html/NoAuth/images/css/fieldbg-autocomplete.gif create mode 100644 rt/share/html/NoAuth/images/css/light-arrow-up.png create mode 100644 rt/share/html/NoAuth/images/css/light-arrow.png create mode 100644 rt/share/html/NoAuth/images/css/rolldown-arrow.gif create mode 100644 rt/share/html/NoAuth/images/css/rolldown-arrow.png create mode 100644 rt/share/html/NoAuth/images/css/rollup-arrow.gif create mode 100644 rt/share/html/NoAuth/images/empty_star.gif create mode 100755 rt/share/html/NoAuth/images/favicon.png create mode 100644 rt/share/html/NoAuth/images/star.gif create mode 100644 rt/share/html/NoAuth/images/test.png create mode 100644 rt/share/html/NoAuth/js/IE7/IE7.js create mode 100644 rt/share/html/NoAuth/js/IE7/IE8.js create mode 100644 rt/share/html/NoAuth/js/IE7/blank.gif create mode 100644 rt/share/html/NoAuth/js/IE7/ie7-recalc.js create mode 100644 rt/share/html/NoAuth/js/IE7/ie7-squish.js create mode 100644 rt/share/html/NoAuth/js/ahah.js create mode 100644 rt/share/html/NoAuth/js/autohandler create mode 100644 rt/share/html/NoAuth/js/cascaded.js create mode 100644 rt/share/html/NoAuth/js/class.js create mode 100644 rt/share/html/NoAuth/js/combobox.js create mode 100644 rt/share/html/NoAuth/js/list.js create mode 100644 rt/share/html/NoAuth/js/prototype/prototype.js create mode 100644 rt/share/html/NoAuth/js/scriptaculous/controls.js create mode 100644 rt/share/html/NoAuth/js/scriptaculous/effects.js create mode 100644 rt/share/html/NoAuth/js/scriptaculous/scriptaculous.js create mode 100644 rt/share/html/NoAuth/js/titlebox-state.js create mode 100644 rt/share/html/NoAuth/js/util.js (limited to 'rt/share/html/NoAuth') diff --git a/rt/share/html/NoAuth/Logout.html b/rt/share/html/NoAuth/Logout.html new file mode 100755 index 000000000..5a4926b97 --- /dev/null +++ b/rt/share/html/NoAuth/Logout.html @@ -0,0 +1,79 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /Elements/Header, Title => loc('Logout'), Refresh => "1;URL=$URL" &> + + + +<& /Elements/Footer, Menu => 0 &> + +% $m->abort(); + +<%INIT> +$m->callback( %ARGS, CallbackName => 'BeforeSessionDelete' ); + +if (defined %session) { + tied(%session)->delete; + $session{'CurrentUser'} = RT::CurrentUser->new; +} + +$m->callback( %ARGS, CallbackName => 'AfterSessionDelete' ); + + +<%ARGS> +$URL => RT->Config->Get('WebPath')."/" + diff --git a/rt/share/html/NoAuth/Reminder.html b/rt/share/html/NoAuth/Reminder.html new file mode 100755 index 000000000..b76d48879 --- /dev/null +++ b/rt/share/html/NoAuth/Reminder.html @@ -0,0 +1,50 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /Elements/Header, title => loc('Password Reminder') &> + +<&|/l&>Not yet implemented. diff --git a/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckcontextmenu.js b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckcontextmenu.js new file mode 100644 index 000000000..56027dc05 --- /dev/null +++ b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckcontextmenu.js @@ -0,0 +1,223 @@ +/* + * FCKeditor - The text editor for Internet - http://www.fckeditor.net + * Copyright (C) 2003-2009 Frederico Caldeira Knabben + * + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * FCKContextMenu Class: renders an control a context menu. + */ + +var FCKContextMenu = function( parentWindow, langDir ) +{ + this.CtrlDisable = false ; + + var oPanel = this._Panel = new FCKPanel( parentWindow ) ; + oPanel.AppendStyleSheet( FCKConfig.SkinEditorCSS ) ; + oPanel.IsContextMenu = true ; + + // The FCKTools.DisableSelection doesn't seems to work to avoid dragging of the icons in Mozilla + // so we stop the start of the dragging + if ( FCKBrowserInfo.IsGecko ) + oPanel.Document.addEventListener( 'draggesture', function(e) {e.preventDefault(); return false;}, true ) ; + + var oMenuBlock = this._MenuBlock = new FCKMenuBlock() ; + oMenuBlock.Panel = oPanel ; + oMenuBlock.OnClick = FCKTools.CreateEventListener( FCKContextMenu_MenuBlock_OnClick, this ) ; + + this._Redraw = true ; +} + + +FCKContextMenu.prototype.SetMouseClickWindow = function( mouseClickWindow ) +{ + if ( !FCKBrowserInfo.IsIE ) + { + this._Document = mouseClickWindow.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 ) ; + } +} + +/** + The customData parameter is just a value that will be send to the command that is executed, + so it's possible to reuse the same command for several items just by assigning different data for each one. +*/ +FCKContextMenu.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled, customData ) +{ + var oItem = this._MenuBlock.AddItem( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled, customData ) ; + this._Redraw = true ; + return oItem ; +} + +FCKContextMenu.prototype.AddSeparator = function() +{ + this._MenuBlock.AddSeparator() ; + this._Redraw = true ; +} + +FCKContextMenu.prototype.RemoveAllItems = function() +{ + this._MenuBlock.RemoveAllItems() ; + this._Redraw = true ; +} + +FCKContextMenu.prototype.AttachToElement = function( element ) +{ + if ( FCKBrowserInfo.IsIE ) + FCKTools.AddEventListenerEx( element, 'contextmenu', FCKContextMenu_AttachedElement_OnContextMenu, this ) ; + else + element._FCKContextMenu = this ; +} + +function FCKContextMenu_Document_OnContextMenu( e ) +{ + if ( FCKConfig.BrowserContextMenu ) + return true ; + + var el = e.target ; + + while ( el ) + { + if ( el._FCKContextMenu ) + { + if ( el._FCKContextMenu.CtrlDisable && ( e.ctrlKey || e.metaKey ) ) + return true ; + + FCKTools.CancelEvent( e ) ; + FCKContextMenu_AttachedElement_OnContextMenu( e, el._FCKContextMenu, el ) ; + return false ; + } + el = el.parentNode ; + } + return true ; +} + +var FCKContextMenu_OverrideButton ; + +function FCKContextMenu_Document_OnMouseDown( e ) +{ + if( !e || e.button != 2 ) + return false ; + + if ( FCKConfig.BrowserContextMenu ) + return true ; + + var el = e.target ; + + while ( el ) + { + if ( el._FCKContextMenu ) + { + if ( el._FCKContextMenu.CtrlDisable && ( e.ctrlKey || e.metaKey ) ) + return true ; + + var overrideButton = FCKContextMenu_OverrideButton ; + if( !overrideButton ) + { + var doc = FCKTools.GetElementDocument( e.target ) ; + overrideButton = FCKContextMenu_OverrideButton = doc.createElement('input') ; + overrideButton.type = 'button' ; + var buttonHolder = doc.createElement('p') ; + doc.body.appendChild( buttonHolder ) ; + buttonHolder.appendChild( overrideButton ) ; + } + + overrideButton.style.cssText = 'position:absolute;top:' + ( e.clientY - 2 ) + + 'px;left:' + ( e.clientX - 2 ) + + 'px;width:5px;height:5px;opacity:0.01' ; + } + el = el.parentNode ; + } + return false ; +} + +function FCKContextMenu_Document_OnMouseUp( e ) +{ + if ( FCKConfig.BrowserContextMenu ) + return true ; + + var overrideButton = FCKContextMenu_OverrideButton ; + + if ( overrideButton ) + { + var parent = overrideButton.parentNode ; + parent.parentNode.removeChild( parent ) ; + FCKContextMenu_OverrideButton = undefined ; + + if( e && e.button == 2 ) + { + FCKContextMenu_Document_OnContextMenu( e ) ; + return false ; + } + } + return true ; +} + +function FCKContextMenu_AttachedElement_OnContextMenu( ev, fckContextMenu, el ) +{ + if ( ( fckContextMenu.CtrlDisable && ( ev.ctrlKey || ev.metaKey ) ) || FCKConfig.BrowserContextMenu ) + return true ; + + var eTarget = el || this ; + + if ( fckContextMenu.OnBeforeOpen ) + fckContextMenu.OnBeforeOpen.call( fckContextMenu, eTarget ) ; + + if ( fckContextMenu._MenuBlock.Count() == 0 ) + return false ; + + if ( fckContextMenu._Redraw ) + { + fckContextMenu._MenuBlock.Create( fckContextMenu._Panel.MainNode ) ; + fckContextMenu._Redraw = false ; + } + + // This will avoid that the content of the context menu can be dragged in IE + // as the content of the panel is recreated we need to do it every time + FCKTools.DisableSelection( fckContextMenu._Panel.Document.body ) ; + + var x = 0 ; + var y = 0 ; + if ( FCKBrowserInfo.IsIE ) + { + x = ev.screenX ; + y = ev.screenY ; + } + else if ( FCKBrowserInfo.IsSafari ) + { + x = ev.clientX ; + y = ev.clientY ; + } + else + { + x = ev.pageX ; + y = ev.pageY ; + } + fckContextMenu._Panel.Show( x, y, ev.currentTarget || null ) ; + + return false ; +} + +function FCKContextMenu_MenuBlock_OnClick( menuItem, contextMenu ) +{ + contextMenu._Panel.Hide() ; + FCKTools.RunFunction( contextMenu.OnItemClick, contextMenu, menuItem ) ; +} diff --git a/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdataprocessor.js b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdataprocessor.js new file mode 100644 index 000000000..f0ac79d74 --- /dev/null +++ b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdataprocessor.js @@ -0,0 +1,119 @@ +/* + * FCKeditor - The text editor for Internet - http://www.fckeditor.net + * Copyright (C) 2003-2009 Frederico Caldeira Knabben + * + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * The Data Processor is responsible for transforming the input and output data + * in the editor. For more info: + * http://dev.fckeditor.net/wiki/Components/DataProcessor + * + * The default implementation offers the base XHTML compatibility features of + * FCKeditor. Further Data Processors may be implemented for other purposes. + * + */ + +var FCKDataProcessor = function() +{} + +FCKDataProcessor.prototype = +{ + /* + * Returns a string representing the HTML format of "data". The returned + * value will be loaded in the editor. + * The HTML must be from to , including , and + * eventually the DOCTYPE. + * Note: HTML comments may already be part of the data because of the + * pre-processing made with ProtectedSource. + * @param {String} data The data to be converted in the + * DataProcessor specific format. + */ + ConvertToHtml : function( data ) + { + // The default data processor must handle two different cases depending + // on the FullPage setting. Custom Data Processors will not be + // compatible with FullPage, much probably. + if ( FCKConfig.FullPage ) + { + // Save the DOCTYPE. + FCK.DocTypeDeclaration = data.match( FCKRegexLib.DocTypeTag ) ; + + // Check if the tag is available. + if ( !FCKRegexLib.HasBodyTag.test( data ) ) + data = '' + data + '' ; + + // Check if the tag is available. + if ( !FCKRegexLib.HtmlOpener.test( data ) ) + data = '' + data + '' ; + + // Check if the tag is available. + if ( !FCKRegexLib.HeadOpener.test( data ) ) + data = data.replace( FCKRegexLib.HtmlOpener, '$&' ) ; + + return data ; + } + else + { + var html = + FCKConfig.DocType + + ' 0 && !FCKRegexLib.Html4DocType.test( FCKConfig.DocType ) ) + html += ' style="overflow-y: scroll"' ; + + html += '>' + + '' + + data + + '' ; + + return html ; + } + }, + + /* + * Converts a DOM (sub-)tree to a string in the data format. + * @param {Object} rootNode The node that contains the DOM tree to be + * converted to the data format. + * @param {Boolean} excludeRoot Indicates that the root node must not + * be included in the conversion, only its children. + * @param {Boolean} format Indicates that the data must be formatted + * for human reading. Not all Data Processors may provide it. + */ + ConvertToDataFormat : function( rootNode, excludeRoot, ignoreIfEmptyParagraph, format ) + { + var data = FCKXHtml.GetXHTML( rootNode, !excludeRoot, format ) ; + + if ( ignoreIfEmptyParagraph && FCKRegexLib.EmptyOutParagraph.test( data ) ) + return '' ; + + return data ; + }, + + /* + * Makes any necessary changes to a piece of HTML for insertion in the + * editor selection position. + * @param {String} html The HTML to be fixed. + */ + FixHtml : function( html ) + { + return html ; + } +} ; diff --git a/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdocumentfragment_gecko.js b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdocumentfragment_gecko.js new file mode 100644 index 000000000..04a3099d6 --- /dev/null +++ b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdocumentfragment_gecko.js @@ -0,0 +1,53 @@ +/* + * FCKeditor - The text editor for Internet - http://www.fckeditor.net + * Copyright (C) 2003-2009 Frederico Caldeira Knabben + * + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * This is a generic Document Fragment object. It is not intended to provide + * the W3C implementation, but is a way to fix the missing of a real Document + * Fragment in IE (where document.createDocumentFragment() returns a normal + * document instead), giving a standard interface for it. + * (IE Implementation) + */ + +var FCKDocumentFragment = function( parentDocument, baseDocFrag ) +{ + this.RootNode = baseDocFrag || parentDocument.createDocumentFragment() ; +} + +FCKDocumentFragment.prototype = +{ + + // Append the contents of this Document Fragment to another element. + AppendTo : function( targetNode ) + { + targetNode.appendChild( this.RootNode ) ; + }, + + AppendHtml : function( html ) + { + var eTmpDiv = this.RootNode.ownerDocument.createElement( 'div' ) ; + eTmpDiv.innerHTML = html ; + FCKDomTools.MoveChildren( eTmpDiv, this.RootNode ) ; + }, + + InsertAfterNode : function( existingNode ) + { + FCKDomTools.InsertAfterNode( existingNode, this.RootNode ) ; + } +} diff --git a/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdocumentfragment_ie.js b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdocumentfragment_ie.js new file mode 100644 index 000000000..d9e4b3d97 --- /dev/null +++ b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdocumentfragment_ie.js @@ -0,0 +1,58 @@ +/* + * FCKeditor - The text editor for Internet - http://www.fckeditor.net + * Copyright (C) 2003-2009 Frederico Caldeira Knabben + * + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * This is a generic Document Fragment object. It is not intended to provide + * the W3C implementation, but is a way to fix the missing of a real Document + * Fragment in IE (where document.createDocumentFragment() returns a normal + * document instead), giving a standard interface for it. + * (IE Implementation) + */ + +var FCKDocumentFragment = function( parentDocument ) +{ + this._Document = parentDocument ; + this.RootNode = parentDocument.createElement( 'div' ) ; +} + +// Append the contents of this Document Fragment to another node. +FCKDocumentFragment.prototype = +{ + + AppendTo : function( targetNode ) + { + FCKDomTools.MoveChildren( this.RootNode, targetNode ) ; + }, + + AppendHtml : function( html ) + { + var eTmpDiv = this._Document.createElement( 'div' ) ; + eTmpDiv.innerHTML = html ; + FCKDomTools.MoveChildren( eTmpDiv, this.RootNode ) ; + }, + + InsertAfterNode : function( existingNode ) + { + var eRoot = this.RootNode ; + var eLast ; + + while( ( eLast = eRoot.lastChild ) ) + FCKDomTools.InsertAfterNode( existingNode, eRoot.removeChild( eLast ) ) ; + } +} ; diff --git a/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdomrange.js b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdomrange.js new file mode 100644 index 000000000..b0912ebb5 --- /dev/null +++ b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdomrange.js @@ -0,0 +1,935 @@ +/* + * FCKeditor - The text editor for Internet - http://www.fckeditor.net + * Copyright (C) 2003-2009 Frederico Caldeira Knabben + * + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * Class for working with a selection range, much like the W3C DOM Range, but + * it is not intended to be an implementation of the W3C interface. + */ + +var FCKDomRange = function( sourceWindow ) +{ + this.Window = sourceWindow ; + this._Cache = {} ; +} + +FCKDomRange.prototype = +{ + + _UpdateElementInfo : function() + { + var innerRange = this._Range ; + + if ( !innerRange ) + this.Release( true ) ; + else + { + // For text nodes, the node itself is the StartNode. + var eStart = innerRange.startContainer ; + + var oElementPath = new FCKElementPath( eStart ) ; + this.StartNode = eStart.nodeType == 3 ? eStart : eStart.childNodes[ innerRange.startOffset ] ; + this.StartContainer = eStart ; + this.StartBlock = oElementPath.Block ; + this.StartBlockLimit = oElementPath.BlockLimit ; + + if ( innerRange.collapsed ) + { + this.EndNode = this.StartNode ; + this.EndContainer = this.StartContainer ; + this.EndBlock = this.StartBlock ; + this.EndBlockLimit = this.StartBlockLimit ; + } + else + { + var eEnd = innerRange.endContainer ; + + if ( eStart != eEnd ) + oElementPath = new FCKElementPath( eEnd ) ; + + // The innerRange.endContainer[ innerRange.endOffset ] is not + // usually part of the range, but the marker for the range end. So, + // let's get the previous available node as the real end. + var eEndNode = eEnd ; + if ( innerRange.endOffset == 0 ) + { + while ( eEndNode && !eEndNode.previousSibling ) + eEndNode = eEndNode.parentNode ; + + if ( eEndNode ) + eEndNode = eEndNode.previousSibling ; + } + else if ( eEndNode.nodeType == 1 ) + eEndNode = eEndNode.childNodes[ innerRange.endOffset - 1 ] ; + + this.EndNode = eEndNode ; + this.EndContainer = eEnd ; + this.EndBlock = oElementPath.Block ; + this.EndBlockLimit = oElementPath.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 docFrag = this._Range.extractContents() ; + this._UpdateElementInfo() ; + return docFrag ; + } + return null ; + }, + + CheckIsCollapsed : function() + { + if ( this._Range ) + return this._Range.collapsed ; + + return false ; + }, + + Collapse : function( toStart ) + { + if ( this._Range ) + this._Range.collapse( toStart ) ; + + this._UpdateElementInfo() ; + }, + + Clone : function() + { + var oClone = FCKTools.CloneObject( this ) ; + + if ( this._Range ) + oClone._Range = this._Range.cloneRange() ; + + return oClone ; + }, + + MoveToNodeContents : function( targetNode ) + { + if ( !this._Range ) + this._Range = this.CreateRange() ; + + this._Range.selectNodeContents( targetNode ) ; + + this._UpdateElementInfo() ; + }, + + MoveToElementStart : function( targetElement ) + { + this.SetStart(targetElement,1) ; + this.SetEnd(targetElement,1) ; + }, + + // Moves to the first editing point inside a element. For example, in a + // element tree like "

Text

", the start editing point + // is "

^ Text

" (inside ). + MoveToElementEditStart : function( targetElement ) + { + var editableElement ; + + while ( targetElement && targetElement.nodeType == 1 ) + { + if ( FCKDomTools.CheckIsEditable( targetElement ) ) + editableElement = targetElement ; + else if ( editableElement ) + break ; // If we already found an editable element, stop the loop. + + targetElement = targetElement.firstChild ; + } + + if ( editableElement ) + this.MoveToElementStart( editableElement ) ; + }, + + InsertNode : function( node ) + { + if ( this._Range ) + this._Range.insertNode( node ) ; + }, + + CheckIsEmpty : function() + { + if ( this.CheckIsCollapsed() ) + return true ; + + // Inserts the contents of the range in a div tag. + var eToolDiv = this.Window.document.createElement( 'div' ) ; + this._Range.cloneContents().AppendTo( eToolDiv ) ; + + FCKDomTools.TrimNode( eToolDiv ) ; + + return ( eToolDiv.innerHTML.length == 0 ) ; + }, + + /** + * Checks if the start boundary of the current range is "visually" (like a + * selection caret) at the beginning of the block. It means that some + * things could be brefore the range, like spaces or empty inline elements, + * but it would still be considered at the beginning of the block. + */ + CheckStartOfBlock : function() + { + var cache = this._Cache ; + var bIsStartOfBlock = cache.IsStartOfBlock ; + + if ( bIsStartOfBlock != undefined ) + return bIsStartOfBlock ; + + // Take the block reference. + var block = this.StartBlock || this.StartBlockLimit ; + + var container = this._Range.startContainer ; + var offset = this._Range.startOffset ; + var currentNode ; + + if ( offset > 0 ) + { + // First, check the start container. If it is a text node, get the + // substring of the node value before the range offset. + if ( container.nodeType == 3 ) + { + var textValue = container.nodeValue.substr( 0, offset ).Trim() ; + + // If we have some text left in the container, we are not at + // the end for the block. + if ( textValue.length != 0 ) + return cache.IsStartOfBlock = false ; + } + else + currentNode = container.childNodes[ offset - 1 ] ; + } + + // We'll not have a currentNode if the container was a text node, or + // the offset is zero. + if ( !currentNode ) + currentNode = FCKDomTools.GetPreviousSourceNode( container, true, null, block ) ; + + while ( currentNode ) + { + switch ( currentNode.nodeType ) + { + case 1 : + // It's not an inline element. + if ( !FCKListsLib.InlineChildReqElements[ currentNode.nodeName.toLowerCase() ] ) + return cache.IsStartOfBlock = false ; + + break ; + + case 3 : + // It's a text node with real text. + if ( currentNode.nodeValue.Trim().length > 0 ) + return cache.IsStartOfBlock = false ; + } + + currentNode = FCKDomTools.GetPreviousSourceNode( currentNode, false, null, block ) ; + } + + return cache.IsStartOfBlock = true ; + }, + + /** + * Checks if the end boundary of the current range is "visually" (like a + * selection caret) at the end of the block. It means that some things + * could be after the range, like spaces, empty inline elements, or a + * single
, but it would still be considered at the end of the block. + */ + CheckEndOfBlock : function( refreshSelection ) + { + var isEndOfBlock = this._Cache.IsEndOfBlock ; + + if ( isEndOfBlock != undefined ) + return isEndOfBlock ; + + // Take the block reference. + var block = this.EndBlock || this.EndBlockLimit ; + + var container = this._Range.endContainer ; + var offset = this._Range.endOffset ; + var currentNode ; + + // First, check the end container. If it is a text node, get the + // substring of the node value after the range offset. + if ( container.nodeType == 3 ) + { + var textValue = container.nodeValue ; + if ( offset < textValue.length ) + { + textValue = textValue.substr( offset ) ; + + // If we have some text left in the container, we are not at + // the end for the block. + if ( textValue.Trim().length != 0 ) + return this._Cache.IsEndOfBlock = false ; + } + } + else + currentNode = container.childNodes[ offset ] ; + + // We'll not have a currentNode if the container was a text node, of + // the offset is out the container children limits (after it probably). + if ( !currentNode ) + currentNode = FCKDomTools.GetNextSourceNode( container, true, null, block ) ; + + var hadBr = false ; + + while ( currentNode ) + { + switch ( currentNode.nodeType ) + { + case 1 : + var nodeName = currentNode.nodeName.toLowerCase() ; + + // It's an inline element. + if ( FCKListsLib.InlineChildReqElements[ nodeName ] ) + break ; + + // It is the first
found. + if ( nodeName == 'br' && !hadBr ) + { + hadBr = true ; + break ; + } + + return this._Cache.IsEndOfBlock = false ; + + case 3 : + // It's a text node with real text. + if ( currentNode.nodeValue.Trim().length > 0 ) + return this._Cache.IsEndOfBlock = false ; + } + + currentNode = FCKDomTools.GetNextSourceNode( currentNode, false, null, block ) ; + } + + if ( refreshSelection ) + this.Select() ; + + return this._Cache.IsEndOfBlock = true ; + }, + + // This is an "intrusive" way to create a bookmark. It includes tags + // in the range boundaries. The advantage of it is that it is possible to + // handle DOM mutations when moving back to the bookmark. + // Attention: the inclusion of nodes in the DOM is a design choice and + // should not be changed as there are other points in the code that may be + // using those nodes to perform operations. See GetBookmarkNode. + // For performance, includeNodes=true if intended to SelectBookmark. + CreateBookmark : function( includeNodes ) + { + // Create the bookmark info (random IDs). + var oBookmark = + { + StartId : (new Date()).valueOf() + Math.floor(Math.random()*1000) + 'S', + EndId : (new Date()).valueOf() + Math.floor(Math.random()*1000) + 'E' + } ; + + var oDoc = this.Window.document ; + var eStartSpan ; + var eEndSpan ; + var oClone ; + + // For collapsed ranges, add just the start marker. + if ( !this.CheckIsCollapsed() ) + { + eEndSpan = oDoc.createElement( 'span' ) ; + eEndSpan.style.display = 'none' ; + eEndSpan.id = oBookmark.EndId ; + eEndSpan.setAttribute( '_fck_bookmark', true ) ; + + // For IE, it must have something inside, otherwise it may be + // removed during DOM operations. +// if ( FCKBrowserInfo.IsIE ) + eEndSpan.innerHTML = ' ' ; + + oClone = this.Clone() ; + oClone.Collapse( false ) ; + oClone.InsertNode( eEndSpan ) ; + } + + eStartSpan = oDoc.createElement( 'span' ) ; + eStartSpan.style.display = 'none' ; + eStartSpan.id = oBookmark.StartId ; + eStartSpan.setAttribute( '_fck_bookmark', true ) ; + + // For IE, it must have something inside, otherwise it may be removed + // during DOM operations. +// if ( FCKBrowserInfo.IsIE ) + eStartSpan.innerHTML = ' ' ; + + oClone = this.Clone() ; + oClone.Collapse( true ) ; + oClone.InsertNode( eStartSpan ) ; + + if ( includeNodes ) + { + oBookmark.StartNode = eStartSpan ; + oBookmark.EndNode = eEndSpan ; + } + + // Update the range position. + if ( eEndSpan ) + { + this.SetStart( eStartSpan, 4 ) ; + this.SetEnd( eEndSpan, 3 ) ; + } + else + this.MoveToPosition( eStartSpan, 4 ) ; + + return oBookmark ; + }, + + // This one should be a part of a hypothetic "bookmark" object. + GetBookmarkNode : function( bookmark, start ) + { + var doc = this.Window.document ; + + if ( start ) + return bookmark.StartNode || doc.getElementById( bookmark.StartId ) ; + else + return bookmark.EndNode || doc.getElementById( bookmark.EndId ) ; + }, + + MoveToBookmark : function( bookmark, preserveBookmark ) + { + var eStartSpan = this.GetBookmarkNode( bookmark, true ) ; + var eEndSpan = this.GetBookmarkNode( bookmark, false ) ; + + this.SetStart( eStartSpan, 3 ) ; + + if ( !preserveBookmark ) + FCKDomTools.RemoveNode( eStartSpan ) ; + + // If collapsed, the end span will not be available. + if ( eEndSpan ) + { + this.SetEnd( eEndSpan, 3 ) ; + + if ( !preserveBookmark ) + FCKDomTools.RemoveNode( eEndSpan ) ; + } + else + this.Collapse( true ) ; + + this._UpdateElementInfo() ; + }, + + // Non-intrusive bookmark algorithm + CreateBookmark2 : function() + { + // If there is no range then get out of here. + // It happens on initial load in Safari #962 and if the editor it's hidden also in Firefox + if ( ! this._Range ) + return { "Start" : 0, "End" : 0 } ; + + // First, we record down the offset values + var bookmark = + { + "Start" : [ this._Range.startOffset ], + "End" : [ this._Range.endOffset ] + } ; + // Since we're treating the document tree as normalized, we need to backtrack the text lengths + // of previous text nodes into the offset value. + var curStart = this._Range.startContainer.previousSibling ; + var curEnd = this._Range.endContainer.previousSibling ; + + // Also note that the node that we use for "address base" would change during backtracking. + var addrStart = this._Range.startContainer ; + var addrEnd = this._Range.endContainer ; + while ( curStart && curStart.nodeType == 3 && addrStart.nodeType == 3 ) + { + bookmark.Start[0] += curStart.length ; + addrStart = curStart ; + curStart = curStart.previousSibling ; + } + while ( curEnd && curEnd.nodeType == 3 && addrEnd.nodeType == 3 ) + { + bookmark.End[0] += curEnd.length ; + addrEnd = curEnd ; + curEnd = curEnd.previousSibling ; + } + + // If the object pointed to by the startOffset and endOffset are text nodes, we need + // to backtrack and add in the text offset to the bookmark addresses. + if ( addrStart.nodeType == 1 && addrStart.childNodes[bookmark.Start[0]] && addrStart.childNodes[bookmark.Start[0]].nodeType == 3 ) + { + var curNode = addrStart.childNodes[bookmark.Start[0]] ; + var offset = 0 ; + while ( curNode.previousSibling && curNode.previousSibling.nodeType == 3 ) + { + curNode = curNode.previousSibling ; + offset += curNode.length ; + } + addrStart = curNode ; + bookmark.Start[0] = offset ; + } + if ( addrEnd.nodeType == 1 && addrEnd.childNodes[bookmark.End[0]] && addrEnd.childNodes[bookmark.End[0]].nodeType == 3 ) + { + var curNode = addrEnd.childNodes[bookmark.End[0]] ; + var offset = 0 ; + while ( curNode.previousSibling && curNode.previousSibling.nodeType == 3 ) + { + curNode = curNode.previousSibling ; + offset += curNode.length ; + } + addrEnd = curNode ; + bookmark.End[0] = offset ; + } + + // Then, we record down the precise position of the container nodes + // by walking up the DOM tree and counting their childNode index + bookmark.Start = FCKDomTools.GetNodeAddress( addrStart, true ).concat( bookmark.Start ) ; + bookmark.End = FCKDomTools.GetNodeAddress( addrEnd, true ).concat( bookmark.End ) ; + return bookmark; + }, + + MoveToBookmark2 : function( bookmark ) + { + // Reverse the childNode counting algorithm in CreateBookmark2() + var curStart = FCKDomTools.GetNodeFromAddress( this.Window.document, bookmark.Start.slice( 0, -1 ), true ) ; + var curEnd = FCKDomTools.GetNodeFromAddress( this.Window.document, bookmark.End.slice( 0, -1 ), true ) ; + + // Generate the W3C Range object and update relevant data + this.Release( true ) ; + this._Range = new FCKW3CRange( this.Window.document ) ; + var startOffset = bookmark.Start[ bookmark.Start.length - 1 ] ; + var endOffset = bookmark.End[ bookmark.End.length - 1 ] ; + while ( curStart.nodeType == 3 && startOffset > curStart.length ) + { + if ( ! curStart.nextSibling || curStart.nextSibling.nodeType != 3 ) + break ; + startOffset -= curStart.length ; + curStart = curStart.nextSibling ; + } + while ( curEnd.nodeType == 3 && endOffset > curEnd.length ) + { + if ( ! curEnd.nextSibling || curEnd.nextSibling.nodeType != 3 ) + break ; + endOffset -= curEnd.length ; + curEnd = curEnd.nextSibling ; + } + this._Range.setStart( curStart, startOffset ) ; + this._Range.setEnd( curEnd, endOffset ) ; + this._UpdateElementInfo() ; + }, + + MoveToPosition : function( targetElement, position ) + { + this.SetStart( targetElement, position ) ; + this.Collapse( true ) ; + }, + + /* + * Moves the position of the start boundary of the range to a specific position + * relatively to a element. + * @position: + * 1 = After Start ^contents + * 2 = Before End contents^ + * 3 = Before Start ^contents + * 4 = After End contents^ + */ + SetStart : function( targetElement, position, noInfoUpdate ) + { + var oRange = this._Range ; + if ( !oRange ) + oRange = this._Range = this.CreateRange() ; + + switch( position ) + { + case 1 : // After Start ^contents + oRange.setStart( targetElement, 0 ) ; + break ; + + case 2 : // Before End contents^ + oRange.setStart( targetElement, targetElement.childNodes.length ) ; + break ; + + case 3 : // Before Start ^contents + oRange.setStartBefore( targetElement ) ; + break ; + + case 4 : // After End contents^ + oRange.setStartAfter( targetElement ) ; + } + + if ( !noInfoUpdate ) + this._UpdateElementInfo() ; + }, + + /* + * Moves the position of the start boundary of the range to a specific position + * relatively to a element. + * @position: + * 1 = After Start ^contents + * 2 = Before End contents^ + * 3 = Before Start ^contents + * 4 = After End contents^ + */ + SetEnd : function( targetElement, position, noInfoUpdate ) + { + var oRange = this._Range ; + if ( !oRange ) + oRange = this._Range = this.CreateRange() ; + + switch( position ) + { + case 1 : // After Start ^contents + oRange.setEnd( targetElement, 0 ) ; + break ; + + case 2 : // Before End contents^ + oRange.setEnd( targetElement, targetElement.childNodes.length ) ; + break ; + + case 3 : // Before Start ^contents + oRange.setEndBefore( targetElement ) ; + break ; + + case 4 : // After End contents^ + oRange.setEndAfter( targetElement ) ; + } + + if ( !noInfoUpdate ) + this._UpdateElementInfo() ; + }, + + Expand : function( unit ) + { + var oNode, oSibling ; + + switch ( unit ) + { + // Expand the range to include all inline parent elements if we are + // are in their boundary limits. + // For example (where [ ] are the range limits): + // Before => Some [Some sample text]. + // After => Some [Some sample text]. + case 'inline_elements' : + // Expand the start boundary. + if ( this._Range.startOffset == 0 ) + { + oNode = this._Range.startContainer ; + + if ( oNode.nodeType != 1 ) + oNode = oNode.previousSibling ? null : oNode.parentNode ; + + if ( oNode ) + { + while ( FCKListsLib.InlineNonEmptyElements[ oNode.nodeName.toLowerCase() ] ) + { + this._Range.setStartBefore( oNode ) ; + + if ( oNode != oNode.parentNode.firstChild ) + break ; + + oNode = oNode.parentNode ; + } + } + } + + // Expand the end boundary. + oNode = this._Range.endContainer ; + var offset = this._Range.endOffset ; + + if ( ( oNode.nodeType == 3 && offset >= oNode.nodeValue.length ) || ( oNode.nodeType == 1 && offset >= oNode.childNodes.length ) || ( oNode.nodeType != 1 && oNode.nodeType != 3 ) ) + { + if ( oNode.nodeType != 1 ) + oNode = oNode.nextSibling ? null : oNode.parentNode ; + + if ( oNode ) + { + while ( FCKListsLib.InlineNonEmptyElements[ oNode.nodeName.toLowerCase() ] ) + { + this._Range.setEndAfter( oNode ) ; + + if ( oNode != oNode.parentNode.lastChild ) + break ; + + oNode = oNode.parentNode ; + } + } + } + + break ; + + case 'block_contents' : + case 'list_contents' : + var boundarySet = FCKListsLib.BlockBoundaries ; + if ( unit == 'list_contents' || FCKConfig.EnterMode == 'br' ) + boundarySet = FCKListsLib.ListBoundaries ; + + if ( this.StartBlock && FCKConfig.EnterMode != 'br' && unit == 'block_contents' ) + this.SetStart( this.StartBlock, 1 ) ; + else + { + // Get the start node for the current range. + oNode = this._Range.startContainer ; + + // If it is an element, get the node right before of it (in source order). + if ( oNode.nodeType == 1 ) + { + var lastNode = oNode.childNodes[ this._Range.startOffset ] ; + if ( lastNode ) + oNode = FCKDomTools.GetPreviousSourceNode( lastNode, true ) ; + else + oNode = oNode.lastChild || oNode ; + } + + // We must look for the left boundary, relative to the range + // start, which is limited by a block element. + while ( oNode + && ( oNode.nodeType != 1 + || ( oNode != this.StartBlockLimit + && !boundarySet[ oNode.nodeName.toLowerCase() ] ) ) ) + { + this._Range.setStartBefore( oNode ) ; + oNode = oNode.previousSibling || oNode.parentNode ; + } + } + + if ( this.EndBlock && FCKConfig.EnterMode != 'br' && unit == 'block_contents' && this.EndBlock.nodeName.toLowerCase() != 'li' ) + this.SetEnd( this.EndBlock, 2 ) ; + else + { + oNode = this._Range.endContainer ; + if ( oNode.nodeType == 1 ) + oNode = oNode.childNodes[ this._Range.endOffset ] || oNode.lastChild ; + + // We must look for the right boundary, relative to the range + // end, which is limited by a block element. + while ( oNode + && ( oNode.nodeType != 1 + || ( oNode != this.StartBlockLimit + && !boundarySet[ oNode.nodeName.toLowerCase() ] ) ) ) + { + this._Range.setEndAfter( oNode ) ; + oNode = oNode.nextSibling || oNode.parentNode ; + } + + // In EnterMode='br', the end
boundary element must + // be included in the expanded range. + if ( oNode && oNode.nodeName.toLowerCase() == 'br' ) + this._Range.setEndAfter( oNode ) ; + } + + this._UpdateElementInfo() ; + } + }, + + /** + * Split the block element for the current range. It deletes the contents + * of the range and splits the block in the collapsed position, resulting + * in two sucessive blocks. The range is then positioned in the middle of + * them. + * + * It returns and object with the following properties: + * - PreviousBlock : a reference to the block element that preceeds + * the range after the split. + * - NextBlock : a reference to the block element that follows the + * range after the split. + * - WasStartOfBlock : a boolean indicating that the range was + * originaly at the start of the block. + * - WasEndOfBlock : a boolean indicating that the range was originaly + * at the end of the block. + * + * If the range was originaly at the start of the block, no split will happen + * and the PreviousBlock value will be null. The same is valid for the + * NextBlock value if the range was at the end of the block. + */ + SplitBlock : function( forceBlockTag ) + { + var blockTag = forceBlockTag || FCKConfig.EnterMode ; + + if ( !this._Range ) + this.MoveToSelection() ; + + // The range boundaries must be in the same "block limit" element. + if ( this.StartBlockLimit == this.EndBlockLimit ) + { + // Get the current blocks. + var eStartBlock = this.StartBlock ; + var eEndBlock = this.EndBlock ; + var oElementPath = null ; + + if ( blockTag != 'br' ) + { + if ( !eStartBlock ) + { + eStartBlock = this.FixBlock( true, blockTag ) ; + eEndBlock = this.EndBlock ; // FixBlock may have fixed the EndBlock too. + } + + if ( !eEndBlock ) + eEndBlock = this.FixBlock( false, blockTag ) ; + } + + // Get the range position. + var bIsStartOfBlock = ( eStartBlock != null && this.CheckStartOfBlock() ) ; + var bIsEndOfBlock = ( eEndBlock != null && this.CheckEndOfBlock() ) ; + + // Delete the current contents. + if ( !this.CheckIsEmpty() ) + this.DeleteContents() ; + + if ( eStartBlock && eEndBlock && eStartBlock == eEndBlock ) + { + if ( bIsEndOfBlock ) + { + oElementPath = new FCKElementPath( this.StartContainer ) ; + this.MoveToPosition( eEndBlock, 4 ) ; + eEndBlock = null ; + } + else if ( bIsStartOfBlock ) + { + oElementPath = new FCKElementPath( this.StartContainer ) ; + this.MoveToPosition( eStartBlock, 3 ) ; + eStartBlock = null ; + } + else + { + // Extract the contents of the block from the selection point to the end of its contents. + this.SetEnd( eStartBlock, 2 ) ; + var eDocFrag = this.ExtractContents() ; + + // Duplicate the block element after it. + eEndBlock = eStartBlock.cloneNode( false ) ; + eEndBlock.removeAttribute( 'id', false ) ; + + // Place the extracted contents in the duplicated block. + eDocFrag.AppendTo( eEndBlock ) ; + + FCKDomTools.InsertAfterNode( eStartBlock, eEndBlock ) ; + + this.MoveToPosition( eStartBlock, 4 ) ; + + // In Gecko, the last child node must be a bogus
. + // Note: bogus
added under