adva_fckeditor 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (501) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +22 -0
  5. data/README +21 -0
  6. data/README.md +29 -0
  7. data/Rakefile +2 -0
  8. data/adva_fckeditor.gemspec +19 -0
  9. data/app/assets/javascripts/adva_fckeditor/config.js +58 -0
  10. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckcontextmenu.js +223 -0
  11. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdataprocessor.js +119 -0
  12. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdocumentfragment_gecko.js +53 -0
  13. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdocumentfragment_ie.js +58 -0
  14. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdomrange.js +935 -0
  15. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdomrange_gecko.js +104 -0
  16. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdomrange_ie.js +199 -0
  17. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckdomrangeiterator.js +327 -0
  18. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckeditingarea.js +368 -0
  19. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckelementpath.js +89 -0
  20. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckenterkey.js +708 -0
  21. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckevents.js +71 -0
  22. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckhtmliterator.js +142 -0
  23. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckicon.js +103 -0
  24. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckiecleanup.js +68 -0
  25. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckimagepreloader.js +64 -0
  26. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckkeystrokehandler.js +141 -0
  27. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckmenublock.js +153 -0
  28. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckmenublockpanel.js +54 -0
  29. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckmenuitem.js +161 -0
  30. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckpanel.js +463 -0
  31. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckplugin.js +56 -0
  32. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckspecialcombo.js +376 -0
  33. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckstyle.js +1500 -0
  34. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbar.js +103 -0
  35. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js +36 -0
  36. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js +38 -0
  37. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarbutton.js +81 -0
  38. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarbuttonui.js +198 -0
  39. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js +139 -0
  40. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js +98 -0
  41. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js +76 -0
  42. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js +103 -0
  43. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js +146 -0
  44. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js +200 -0
  45. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckw3crange.js +451 -0
  46. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckxml.js +108 -0
  47. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckxml_gecko.js +106 -0
  48. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/classes/fckxml_ie.js +93 -0
  49. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fck_othercommands.js +634 -0
  50. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckblockquotecommand.js +281 -0
  51. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckcorestylecommand.js +61 -0
  52. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckfitwindow.js +213 -0
  53. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckindentcommands.js +282 -0
  54. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckjustifycommands.js +173 -0
  55. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fcklistcommands.js +382 -0
  56. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fcknamedcommand.js +39 -0
  57. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js +40 -0
  58. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js +40 -0
  59. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckremoveformatcommand.js +45 -0
  60. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckshowblocks.js +94 -0
  61. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js +49 -0
  62. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js +72 -0
  63. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fckstylecommand.js +60 -0
  64. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fcktablecommand.js +106 -0
  65. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js +201 -0
  66. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/fckconstants.js +56 -0
  67. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/fckeditorapi.js +179 -0
  68. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/fckjscoreextensions.js +159 -0
  69. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/fckscriptloader.js +122 -0
  70. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fck.js +1256 -0
  71. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fck_contextmenu.js +345 -0
  72. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fck_gecko.js +497 -0
  73. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fck_ie.js +456 -0
  74. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckbrowserinfo.js +61 -0
  75. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckcodeformatter.js +100 -0
  76. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckcommands.js +172 -0
  77. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckconfig.js +237 -0
  78. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckdebug.js +59 -0
  79. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckdebug_empty.js +31 -0
  80. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckdialog.js +239 -0
  81. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckdocumentprocessor.js +270 -0
  82. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckdomtools.js +1057 -0
  83. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcklanguagemanager.js +165 -0
  84. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcklisthandler.js +152 -0
  85. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcklistslib.js +63 -0
  86. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckplugins.js +46 -0
  87. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckregexlib.js +100 -0
  88. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckselection.js +42 -0
  89. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckselection_gecko.js +228 -0
  90. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckselection_ie.js +287 -0
  91. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckstyles.js +381 -0
  92. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktablehandler.js +863 -0
  93. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktablehandler_gecko.js +56 -0
  94. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktablehandler_ie.js +64 -0
  95. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktoolbaritems.js +124 -0
  96. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktoolbarset.js +399 -0
  97. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktools.js +749 -0
  98. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktools_gecko.js +282 -0
  99. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fcktools_ie.js +234 -0
  100. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckundo.js +223 -0
  101. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckurlparams.js +39 -0
  102. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckxhtml.js +534 -0
  103. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckxhtml_gecko.js +114 -0
  104. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckxhtml_ie.js +213 -0
  105. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/_source/internals/fckxhtmlentities.js +357 -0
  106. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/behaviors/disablehandles.htc +15 -0
  107. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/behaviors/showtableborders.htc +36 -0
  108. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/fck_editorarea.css +110 -0
  109. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/fck_internal.css +199 -0
  110. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/fck_showtableborders_gecko.css +49 -0
  111. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_address.png +0 -0
  112. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_blockquote.png +0 -0
  113. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_div.png +0 -0
  114. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_h1.png +0 -0
  115. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_h2.png +0 -0
  116. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_h3.png +0 -0
  117. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_h4.png +0 -0
  118. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_h5.png +0 -0
  119. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_h6.png +0 -0
  120. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_p.png +0 -0
  121. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/block_pre.png +0 -0
  122. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/fck_anchor.gif +0 -0
  123. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/fck_flashlogo.gif +0 -0
  124. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/fck_hiddenfield.gif +0 -0
  125. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/fck_pagebreak.gif +0 -0
  126. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/css/images/fck_plugin.gif +0 -0
  127. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/common/fck_dialog_common.css +85 -0
  128. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/common/fck_dialog_common.js +347 -0
  129. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/common/images/locked.gif +0 -0
  130. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/common/images/reset.gif +0 -0
  131. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/common/images/unlocked.gif +0 -0
  132. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif +0 -0
  133. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_about/logo_fredck.gif +0 -0
  134. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif +0 -0
  135. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_about.html +161 -0
  136. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_anchor.html +220 -0
  137. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_button.html +104 -0
  138. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_checkbox.html +104 -0
  139. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_colorselector.html +172 -0
  140. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_div.html +396 -0
  141. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html +113 -0
  142. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_docprops.html +600 -0
  143. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_flash/fck_flash.js +300 -0
  144. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html +50 -0
  145. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_flash.html +152 -0
  146. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_form.html +109 -0
  147. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_hiddenfield.html +115 -0
  148. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_image/fck_image.js +512 -0
  149. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_image/fck_image_preview.html +72 -0
  150. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_image.html +258 -0
  151. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_link/fck_link.js +893 -0
  152. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_link.html +295 -0
  153. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_listprop.html +120 -0
  154. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_paste.html +347 -0
  155. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_radiobutton.html +104 -0
  156. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_replace.html +650 -0
  157. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_select/fck_select.js +194 -0
  158. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_select.html +180 -0
  159. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_smiley.html +111 -0
  160. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_source.html +68 -0
  161. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_specialchar.html +121 -0
  162. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html +0 -0
  163. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js +87 -0
  164. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html +153 -0
  165. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm +148 -0
  166. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php +199 -0
  167. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl +181 -0
  168. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js +461 -0
  169. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html +71 -0
  170. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css +49 -0
  171. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js +272 -0
  172. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_spellerpages.html +70 -0
  173. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_table.html +439 -0
  174. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_tablecell.html +293 -0
  175. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_template/images/template1.gif +0 -0
  176. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_template/images/template2.gif +0 -0
  177. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_template/images/template3.gif +0 -0
  178. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_template.html +242 -0
  179. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_textarea.html +94 -0
  180. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dialog/fck_textfield.html +136 -0
  181. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dtd/fck_dtd_test.html +41 -0
  182. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dtd/fck_xhtml10strict.js +116 -0
  183. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/dtd/fck_xhtml10transitional.js +140 -0
  184. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/fckdebug.html +153 -0
  185. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/fckdialog.html +819 -0
  186. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/fckeditor.html +317 -0
  187. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/fckeditor.original.html +424 -0
  188. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/browser.css +87 -0
  189. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/browser.html +200 -0
  190. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/frmactualfolder.html +95 -0
  191. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html +114 -0
  192. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/frmfolders.html +198 -0
  193. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/frmresourceslist.html +185 -0
  194. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/frmresourcetype.html +69 -0
  195. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/frmupload.html +115 -0
  196. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif +0 -0
  197. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/Folder.gif +0 -0
  198. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/Folder32.gif +0 -0
  199. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif +0 -0
  200. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif +0 -0
  201. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif +0 -0
  202. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif +0 -0
  203. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif +0 -0
  204. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif +0 -0
  205. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif +0 -0
  206. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif +0 -0
  207. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif +0 -0
  208. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif +0 -0
  209. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif +0 -0
  210. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif +0 -0
  211. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif +0 -0
  212. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif +0 -0
  213. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif +0 -0
  214. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif +0 -0
  215. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif +0 -0
  216. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif +0 -0
  217. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif +0 -0
  218. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif +0 -0
  219. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/png.gif +0 -0
  220. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif +0 -0
  221. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif +0 -0
  222. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif +0 -0
  223. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif +0 -0
  224. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif +0 -0
  225. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif +0 -0
  226. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif +0 -0
  227. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif +0 -0
  228. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif +0 -0
  229. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif +0 -0
  230. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif +0 -0
  231. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif +0 -0
  232. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif +0 -0
  233. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif +0 -0
  234. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif +0 -0
  235. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif +0 -0
  236. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif +0 -0
  237. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif +0 -0
  238. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif +0 -0
  239. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif +0 -0
  240. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/html.gif +0 -0
  241. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif +0 -0
  242. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/js.gif +0 -0
  243. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif +0 -0
  244. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif +0 -0
  245. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif +0 -0
  246. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/png.gif +0 -0
  247. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif +0 -0
  248. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif +0 -0
  249. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif +0 -0
  250. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif +0 -0
  251. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif +0 -0
  252. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif +0 -0
  253. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif +0 -0
  254. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif +0 -0
  255. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif +0 -0
  256. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/images/spacer.gif +0 -0
  257. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/js/common.js +88 -0
  258. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/browser/default/js/fckxml.js +147 -0
  259. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/basexml.asp +63 -0
  260. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/class_upload.asp +353 -0
  261. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/commands.asp +198 -0
  262. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/config.asp +128 -0
  263. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/connector.asp +88 -0
  264. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/io.asp +237 -0
  265. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/upload.asp +65 -0
  266. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/asp/util.asp +55 -0
  267. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/aspx/config.ascx +98 -0
  268. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/aspx/connector.aspx +32 -0
  269. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/aspx/upload.aspx +32 -0
  270. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/ImageObject.cfc +273 -0
  271. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf5_connector.cfm +315 -0
  272. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf5_upload.cfm +299 -0
  273. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf_basexml.cfm +68 -0
  274. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf_commands.cfm +230 -0
  275. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf_connector.cfm +89 -0
  276. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf_io.cfm +291 -0
  277. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf_upload.cfm +72 -0
  278. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/cf_util.cfm +131 -0
  279. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/config.cfm +189 -0
  280. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/connector.cfm +32 -0
  281. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/image.cfc +1324 -0
  282. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/cfm/upload.cfm +31 -0
  283. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/lasso/config.lasso +65 -0
  284. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/lasso/connector.lasso +322 -0
  285. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/lasso/upload.lasso +168 -0
  286. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/basexml.pl +63 -0
  287. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/commands.pl +187 -0
  288. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/connector.cgi +136 -0
  289. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/io.pl +141 -0
  290. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/upload.cgi +117 -0
  291. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/upload_fck.pl +686 -0
  292. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/perl/util.pl +68 -0
  293. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/basexml.php +93 -0
  294. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/commands.php +302 -0
  295. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/config.php +151 -0
  296. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/connector.php +90 -0
  297. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/io.php +296 -0
  298. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/phpcompat.php +17 -0
  299. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/upload.php +59 -0
  300. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/php/util.php +220 -0
  301. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/config.py +146 -0
  302. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/connector.py +118 -0
  303. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/fckcommands.py +198 -0
  304. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/fckconnector.py +90 -0
  305. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/fckoutput.py +116 -0
  306. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/fckutil.py +126 -0
  307. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/htaccess.txt +23 -0
  308. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/upload.py +88 -0
  309. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/wsgi.py +58 -0
  310. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/py/zope.py +188 -0
  311. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/test.html +210 -0
  312. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/filemanager/connectors/uploadtest.html +192 -0
  313. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/anchor.gif +0 -0
  314. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/arrow_ltr.gif +0 -0
  315. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/arrow_rtl.gif +0 -0
  316. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/angel_smile.gif +0 -0
  317. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/angry_smile.gif +0 -0
  318. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/broken_heart.gif +0 -0
  319. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/cake.gif +0 -0
  320. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/confused_smile.gif +0 -0
  321. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/cry_smile.gif +0 -0
  322. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/devil_smile.gif +0 -0
  323. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/embaressed_smile.gif +0 -0
  324. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/envelope.gif +0 -0
  325. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/heart.gif +0 -0
  326. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/kiss.gif +0 -0
  327. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/lightbulb.gif +0 -0
  328. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/omg_smile.gif +0 -0
  329. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/regular_smile.gif +0 -0
  330. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/sad_smile.gif +0 -0
  331. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/shades_smile.gif +0 -0
  332. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/teeth_smile.gif +0 -0
  333. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/thumbs_down.gif +0 -0
  334. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/thumbs_up.gif +0 -0
  335. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/tounge_smile.gif +0 -0
  336. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif +0 -0
  337. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/smiley/msn/wink_smile.gif +0 -0
  338. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/images/spacer.gif +0 -0
  339. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/js/fckadobeair.js +176 -0
  340. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/js/fckeditorcode_gecko.js +108 -0
  341. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/js/fckeditorcode_ie.js +109 -0
  342. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/_translationstatus.txt +79 -0
  343. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/af.js +534 -0
  344. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ar.js +534 -0
  345. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/bg.js +534 -0
  346. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/bn.js +534 -0
  347. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/bs.js +534 -0
  348. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ca.js +534 -0
  349. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/cs.js +534 -0
  350. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/da.js +534 -0
  351. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/de.js +534 -0
  352. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/el.js +534 -0
  353. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/en-au.js +534 -0
  354. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/en-ca.js +534 -0
  355. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/en-uk.js +534 -0
  356. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/en.js +534 -0
  357. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/eo.js +534 -0
  358. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/es.js +534 -0
  359. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/et.js +534 -0
  360. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/eu.js +535 -0
  361. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/fa.js +534 -0
  362. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/fi.js +534 -0
  363. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/fo.js +534 -0
  364. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/fr-ca.js +534 -0
  365. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/fr.js +534 -0
  366. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/gl.js +534 -0
  367. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/gu.js +534 -0
  368. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/he.js +534 -0
  369. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/hi.js +534 -0
  370. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/hr.js +534 -0
  371. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/hu.js +534 -0
  372. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/is.js +534 -0
  373. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/it.js +534 -0
  374. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ja.js +534 -0
  375. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/km.js +534 -0
  376. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ko.js +534 -0
  377. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/lt.js +534 -0
  378. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/lv.js +534 -0
  379. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/mn.js +534 -0
  380. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ms.js +534 -0
  381. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/nb.js +534 -0
  382. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/nl.js +534 -0
  383. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/no.js +534 -0
  384. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/pl.js +534 -0
  385. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/pt-br.js +534 -0
  386. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/pt.js +534 -0
  387. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ro.js +534 -0
  388. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/ru.js +534 -0
  389. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/sk.js +534 -0
  390. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/sl.js +534 -0
  391. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/sr-latn.js +534 -0
  392. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/sr.js +534 -0
  393. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/sv.js +534 -0
  394. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/th.js +534 -0
  395. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/tr.js +534 -0
  396. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/uk.js +534 -0
  397. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/vi.js +534 -0
  398. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/zh-cn.js +534 -0
  399. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/lang/zh.js +534 -0
  400. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/autogrow/fckplugin.js +111 -0
  401. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/bbcode/_sample/sample.config.js +26 -0
  402. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/bbcode/_sample/sample.html +67 -0
  403. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/bbcode/fckplugin.js +123 -0
  404. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/dragresizetable/fckplugin.js +529 -0
  405. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/fck_placeholder.html +105 -0
  406. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/fckplugin.js +187 -0
  407. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/lang/de.js +27 -0
  408. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/lang/en.js +27 -0
  409. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/lang/es.js +27 -0
  410. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/lang/fr.js +27 -0
  411. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/lang/it.js +27 -0
  412. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/lang/pl.js +27 -0
  413. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/placeholder/placeholder.gif +0 -0
  414. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/simplecommands/fckplugin.js +29 -0
  415. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/plugins/tablecommands/fckplugin.js +33 -0
  416. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/_fckviewstrips.html +121 -0
  417. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/fck_dialog.css +402 -0
  418. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/fck_dialog_ie6.js +110 -0
  419. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/fck_editor.css +464 -0
  420. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/fck_strip.gif +0 -0
  421. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/dialog.sides.gif +0 -0
  422. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/dialog.sides.png +0 -0
  423. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/dialog.sides.rtl.png +0 -0
  424. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/sprites.gif +0 -0
  425. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/sprites.png +0 -0
  426. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.arrowright.gif +0 -0
  427. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif +0 -0
  428. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.collapse.gif +0 -0
  429. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.end.gif +0 -0
  430. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.expand.gif +0 -0
  431. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.separator.gif +0 -0
  432. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/images/toolbar.start.gif +0 -0
  433. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/default/toolbar/configurecell.gif +0 -0
  434. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/fck_dialog.css +402 -0
  435. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/fck_dialog_ie6.js +110 -0
  436. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/fck_editor.css +476 -0
  437. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/fck_strip.gif +0 -0
  438. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/dialog.sides.gif +0 -0
  439. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/dialog.sides.png +0 -0
  440. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/dialog.sides.rtl.png +0 -0
  441. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/sprites.gif +0 -0
  442. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/sprites.png +0 -0
  443. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif +0 -0
  444. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.bg.gif +0 -0
  445. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif +0 -0
  446. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif +0 -0
  447. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.end.gif +0 -0
  448. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.expand.gif +0 -0
  449. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.separator.gif +0 -0
  450. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/office2003/images/toolbar.start.gif +0 -0
  451. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/fck_dialog.css +402 -0
  452. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/fck_dialog_ie6.js +110 -0
  453. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/fck_editor.css +473 -0
  454. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/fck_strip.gif +0 -0
  455. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/dialog.sides.gif +0 -0
  456. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/dialog.sides.png +0 -0
  457. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/dialog.sides.rtl.png +0 -0
  458. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/sprites.gif +0 -0
  459. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/sprites.png +0 -0
  460. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif +0 -0
  461. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif +0 -0
  462. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif +0 -0
  463. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.collapse.gif +0 -0
  464. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.end.gif +0 -0
  465. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.expand.gif +0 -0
  466. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.separator.gif +0 -0
  467. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/skins/silver/images/toolbar.start.gif +0 -0
  468. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/wsc/ciframe.html +65 -0
  469. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/wsc/tmpFrameset.html +67 -0
  470. data/app/assets/javascripts/adva_fckeditor/fckeditor/editor/wsc/w.html +227 -0
  471. data/app/assets/javascripts/adva_fckeditor/fckeditor/fckconfig.js +325 -0
  472. data/app/assets/javascripts/adva_fckeditor/fckeditor/fckeditor.js +330 -0
  473. data/app/assets/javascripts/adva_fckeditor/fckeditor/fckpackager.xml +262 -0
  474. data/app/assets/javascripts/adva_fckeditor/fckeditor/fckstyles.xml +111 -0
  475. data/app/assets/javascripts/adva_fckeditor/fckeditor/fcktemplates.xml +103 -0
  476. data/app/assets/javascripts/adva_fckeditor/fckeditor/license.txt +1246 -0
  477. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/cells/cell.html +259 -0
  478. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/cells/fckplugin.js +21 -0
  479. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/cells/lang/de.js +4 -0
  480. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/cells/lang/en.js +4 -0
  481. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/fckplugin.js +8 -0
  482. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/de.js +21 -0
  483. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/en.js +21 -0
  484. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/it.js +22 -0
  485. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/ja.js +21 -0
  486. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/lt.js +21 -0
  487. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/no.js +21 -0
  488. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/pt.js +21 -0
  489. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/zh-cn.js +21 -0
  490. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/lang/zh.js +21 -0
  491. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/license.txt +286 -0
  492. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/readme.txt +54 -0
  493. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/youtube.gif +0 -0
  494. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/youtube.html +47 -0
  495. data/app/assets/javascripts/adva_fckeditor/fckeditor_plugins/youtube/youtube.js +121 -0
  496. data/app/assets/javascripts/adva_fckeditor/setup_fckeditor.js +49 -0
  497. data/app/assets/javascripts/adva_fckeditor/setup_fckeditor.prototype.js +38 -0
  498. data/lib/adva_fckeditor/version.rb +3 -0
  499. data/lib/adva_fckeditor.rb +13 -0
  500. data/lib/fckeditor.rb +6 -0
  501. metadata +556 -0
@@ -0,0 +1,1256 @@
1
+ /*
2
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
3
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
4
+ *
5
+ * == BEGIN LICENSE ==
6
+ *
7
+ * Licensed under the terms of any of the following licenses at your
8
+ * choice:
9
+ *
10
+ * - GNU General Public License Version 2 or later (the "GPL")
11
+ * http://www.gnu.org/licenses/gpl.html
12
+ *
13
+ * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
14
+ * http://www.gnu.org/licenses/lgpl.html
15
+ *
16
+ * - Mozilla Public License Version 1.1 or later (the "MPL")
17
+ * http://www.mozilla.org/MPL/MPL-1.1.html
18
+ *
19
+ * == END LICENSE ==
20
+ *
21
+ * Creation and initialization of the "FCK" object. This is the main object
22
+ * that represents an editor instance.
23
+ */
24
+
25
+ // FCK represents the active editor instance.
26
+ var FCK =
27
+ {
28
+ Name : FCKURLParams[ 'InstanceName' ],
29
+ Status : FCK_STATUS_NOTLOADED,
30
+ EditMode : FCK_EDITMODE_WYSIWYG,
31
+ Toolbar : null,
32
+ HasFocus : false,
33
+ DataProcessor : new FCKDataProcessor(),
34
+
35
+ GetInstanceObject : (function()
36
+ {
37
+ var w = window ;
38
+ return function( name )
39
+ {
40
+ return w[name] ;
41
+ }
42
+ })(),
43
+
44
+ AttachToOnSelectionChange : function( functionPointer )
45
+ {
46
+ this.Events.AttachEvent( 'OnSelectionChange', functionPointer ) ;
47
+ },
48
+
49
+ GetLinkedFieldValue : function()
50
+ {
51
+ return this.LinkedField.value ;
52
+ },
53
+
54
+ GetParentForm : function()
55
+ {
56
+ return this.LinkedField.form ;
57
+ } ,
58
+
59
+ // # START : IsDirty implementation
60
+
61
+ StartupValue : '',
62
+
63
+ IsDirty : function()
64
+ {
65
+ if ( this.EditMode == FCK_EDITMODE_SOURCE )
66
+ return ( this.StartupValue != this.EditingArea.Textarea.value ) ;
67
+ else
68
+ {
69
+ // It can happen switching between design and source mode in Gecko
70
+ if ( ! this.EditorDocument )
71
+ return false ;
72
+
73
+ return ( this.StartupValue != this.EditorDocument.body.innerHTML ) ;
74
+ }
75
+ },
76
+
77
+ ResetIsDirty : function()
78
+ {
79
+ if ( this.EditMode == FCK_EDITMODE_SOURCE )
80
+ this.StartupValue = this.EditingArea.Textarea.value ;
81
+ else if ( this.EditorDocument.body )
82
+ this.StartupValue = this.EditorDocument.body.innerHTML ;
83
+ },
84
+
85
+ // # END : IsDirty implementation
86
+
87
+ StartEditor : function()
88
+ {
89
+ this.TempBaseTag = FCKConfig.BaseHref.length > 0 ? '<base href="' + FCKConfig.BaseHref + '" _fcktemp="true"></base>' : '' ;
90
+
91
+ // Setup the keystroke handler.
92
+ var oKeystrokeHandler = FCK.KeystrokeHandler = new FCKKeystrokeHandler() ;
93
+ oKeystrokeHandler.OnKeystroke = _FCK_KeystrokeHandler_OnKeystroke ;
94
+
95
+ // Set the config keystrokes.
96
+ oKeystrokeHandler.SetKeystrokes( FCKConfig.Keystrokes ) ;
97
+
98
+ // In IE7, if the editor tries to access the clipboard by code, a dialog is
99
+ // shown to the user asking if the application is allowed to access or not.
100
+ // Due to the IE implementation of it, the KeystrokeHandler will not work
101
+ //well in this case, so we must leave the pasting keys to have their default behavior.
102
+ if ( FCKBrowserInfo.IsIE7 )
103
+ {
104
+ if ( ( CTRL + 86 /*V*/ ) in oKeystrokeHandler.Keystrokes )
105
+ oKeystrokeHandler.SetKeystrokes( [ CTRL + 86, true ] ) ;
106
+
107
+ if ( ( SHIFT + 45 /*INS*/ ) in oKeystrokeHandler.Keystrokes )
108
+ oKeystrokeHandler.SetKeystrokes( [ SHIFT + 45, true ] ) ;
109
+ }
110
+
111
+ // Retain default behavior for Ctrl-Backspace. (Bug #362)
112
+ oKeystrokeHandler.SetKeystrokes( [ CTRL + 8, true ] ) ;
113
+
114
+ this.EditingArea = new FCKEditingArea( document.getElementById( 'xEditingArea' ) ) ;
115
+ this.EditingArea.FFSpellChecker = FCKConfig.FirefoxSpellChecker ;
116
+
117
+ // Set the editor's startup contents.
118
+ this.SetData( this.GetLinkedFieldValue(), true ) ;
119
+
120
+ // Tab key handling for source mode.
121
+ FCKTools.AddEventListener( document, "keydown", this._TabKeyHandler ) ;
122
+
123
+ // Add selection change listeners. They must be attached only once.
124
+ this.AttachToOnSelectionChange( _FCK_PaddingNodeListener ) ;
125
+ if ( FCKBrowserInfo.IsGecko )
126
+ this.AttachToOnSelectionChange( this._ExecCheckEmptyBlock ) ;
127
+
128
+ },
129
+
130
+ Focus : function()
131
+ {
132
+ FCK.EditingArea.Focus() ;
133
+ },
134
+
135
+ SetStatus : function( newStatus )
136
+ {
137
+ this.Status = newStatus ;
138
+
139
+ if ( newStatus == FCK_STATUS_ACTIVE )
140
+ {
141
+ FCKFocusManager.AddWindow( window, true ) ;
142
+
143
+ if ( FCKBrowserInfo.IsIE )
144
+ FCKFocusManager.AddWindow( window.frameElement, true ) ;
145
+
146
+ // Force the focus in the editor.
147
+ if ( FCKConfig.StartupFocus )
148
+ FCK.Focus() ;
149
+ }
150
+
151
+ this.Events.FireEvent( 'OnStatusChange', newStatus ) ;
152
+
153
+ },
154
+
155
+ // Fixes the body by moving all inline and text nodes to appropriate block
156
+ // elements.
157
+ FixBody : function()
158
+ {
159
+ var sBlockTag = FCKConfig.EnterMode ;
160
+
161
+ // In 'br' mode, no fix must be done.
162
+ if ( sBlockTag != 'p' && sBlockTag != 'div' )
163
+ return ;
164
+
165
+ var oDocument = this.EditorDocument ;
166
+
167
+ if ( !oDocument )
168
+ return ;
169
+
170
+ var oBody = oDocument.body ;
171
+
172
+ if ( !oBody )
173
+ return ;
174
+
175
+ FCKDomTools.TrimNode( oBody ) ;
176
+
177
+ var oNode = oBody.firstChild ;
178
+ var oNewBlock ;
179
+
180
+ while ( oNode )
181
+ {
182
+ var bMoveNode = false ;
183
+
184
+ switch ( oNode.nodeType )
185
+ {
186
+ // Element Node.
187
+ case 1 :
188
+ var nodeName = oNode.nodeName.toLowerCase() ;
189
+ if ( !FCKListsLib.BlockElements[ nodeName ] &&
190
+ nodeName != 'li' &&
191
+ !oNode.getAttribute('_fckfakelement') &&
192
+ oNode.getAttribute('_moz_dirty') == null )
193
+ bMoveNode = true ;
194
+ break ;
195
+
196
+ // Text Node.
197
+ case 3 :
198
+ // Ignore space only or empty text.
199
+ if ( oNewBlock || oNode.nodeValue.Trim().length > 0 )
200
+ bMoveNode = true ;
201
+ break;
202
+
203
+ // Comment Node
204
+ case 8 :
205
+ if ( oNewBlock )
206
+ bMoveNode = true ;
207
+ break;
208
+ }
209
+
210
+ if ( bMoveNode )
211
+ {
212
+ var oParent = oNode.parentNode ;
213
+
214
+ if ( !oNewBlock )
215
+ oNewBlock = oParent.insertBefore( oDocument.createElement( sBlockTag ), oNode ) ;
216
+
217
+ oNewBlock.appendChild( oParent.removeChild( oNode ) ) ;
218
+
219
+ oNode = oNewBlock.nextSibling ;
220
+ }
221
+ else
222
+ {
223
+ if ( oNewBlock )
224
+ {
225
+ FCKDomTools.TrimNode( oNewBlock ) ;
226
+ oNewBlock = null ;
227
+ }
228
+ oNode = oNode.nextSibling ;
229
+ }
230
+ }
231
+
232
+ if ( oNewBlock )
233
+ FCKDomTools.TrimNode( oNewBlock ) ;
234
+ },
235
+
236
+ GetData : function( format )
237
+ {
238
+ // We assume that if the user is in source editing, the editor value must
239
+ // represent the exact contents of the source, as the user wanted it to be.
240
+ if ( FCK.EditMode == FCK_EDITMODE_SOURCE )
241
+ return FCK.EditingArea.Textarea.value ;
242
+
243
+ this.FixBody() ;
244
+
245
+ var oDoc = FCK.EditorDocument ;
246
+ if ( !oDoc )
247
+ return null ;
248
+
249
+ var isFullPage = FCKConfig.FullPage ;
250
+
251
+ // Call the Data Processor to generate the output data.
252
+ var data = FCK.DataProcessor.ConvertToDataFormat(
253
+ isFullPage ? oDoc.documentElement : oDoc.body,
254
+ !isFullPage,
255
+ FCKConfig.IgnoreEmptyParagraphValue,
256
+ format ) ;
257
+
258
+ // Restore protected attributes.
259
+ data = FCK.ProtectEventsRestore( data ) ;
260
+
261
+ if ( FCKBrowserInfo.IsIE )
262
+ data = data.replace( FCKRegexLib.ToReplace, '$1' ) ;
263
+
264
+ if ( isFullPage )
265
+ {
266
+ if ( FCK.DocTypeDeclaration && FCK.DocTypeDeclaration.length > 0 )
267
+ data = FCK.DocTypeDeclaration + '\n' + data ;
268
+
269
+ if ( FCK.XmlDeclaration && FCK.XmlDeclaration.length > 0 )
270
+ data = FCK.XmlDeclaration + '\n' + data ;
271
+ }
272
+
273
+ return FCKConfig.ProtectedSource.Revert( data ) ;
274
+ },
275
+
276
+ UpdateLinkedField : function()
277
+ {
278
+ var value = FCK.GetXHTML( FCKConfig.FormatOutput ) ;
279
+
280
+ if ( FCKConfig.HtmlEncodeOutput )
281
+ value = FCKTools.HTMLEncode( value ) ;
282
+
283
+ FCK.LinkedField.value = value ;
284
+ FCK.Events.FireEvent( 'OnAfterLinkedFieldUpdate' ) ;
285
+ },
286
+
287
+ RegisteredDoubleClickHandlers : new Object(),
288
+
289
+ OnDoubleClick : function( element )
290
+ {
291
+ var oCalls = FCK.RegisteredDoubleClickHandlers[ element.tagName.toUpperCase() ] ;
292
+
293
+ if ( oCalls )
294
+ {
295
+ for ( var i = 0 ; i < oCalls.length ; i++ )
296
+ oCalls[ i ]( element ) ;
297
+ }
298
+
299
+ // Generic handler for any element
300
+ oCalls = FCK.RegisteredDoubleClickHandlers[ '*' ] ;
301
+
302
+ if ( oCalls )
303
+ {
304
+ for ( var i = 0 ; i < oCalls.length ; i++ )
305
+ oCalls[ i ]( element ) ;
306
+ }
307
+
308
+ },
309
+
310
+ // Register objects that can handle double click operations.
311
+ RegisterDoubleClickHandler : function( handlerFunction, tag )
312
+ {
313
+ var nodeName = tag || '*' ;
314
+ nodeName = nodeName.toUpperCase() ;
315
+
316
+ var aTargets ;
317
+
318
+ if ( !( aTargets = FCK.RegisteredDoubleClickHandlers[ nodeName ] ) )
319
+ FCK.RegisteredDoubleClickHandlers[ nodeName ] = [ handlerFunction ] ;
320
+ else
321
+ {
322
+ // Check that the event handler isn't already registered with the same listener
323
+ // It doesn't detect function pointers belonging to an object (at least in Gecko)
324
+ if ( aTargets.IndexOf( handlerFunction ) == -1 )
325
+ aTargets.push( handlerFunction ) ;
326
+ }
327
+
328
+ },
329
+
330
+ OnAfterSetHTML : function()
331
+ {
332
+ FCKDocumentProcessor.Process( FCK.EditorDocument ) ;
333
+ FCKUndo.SaveUndoStep() ;
334
+
335
+ FCK.Events.FireEvent( 'OnSelectionChange' ) ;
336
+ FCK.Events.FireEvent( 'OnAfterSetHTML' ) ;
337
+ },
338
+
339
+ // Saves URLs on links and images on special attributes, so they don't change when
340
+ // moving around.
341
+ ProtectUrls : function( html )
342
+ {
343
+ // <A> href
344
+ html = html.replace( FCKRegexLib.ProtectUrlsA , '$& _fcksavedurl=$1' ) ;
345
+
346
+ // <IMG> src
347
+ html = html.replace( FCKRegexLib.ProtectUrlsImg , '$& _fcksavedurl=$1' ) ;
348
+
349
+ // <AREA> href
350
+ html = html.replace( FCKRegexLib.ProtectUrlsArea , '$& _fcksavedurl=$1' ) ;
351
+
352
+ return html ;
353
+ },
354
+
355
+ // Saves event attributes (like onclick) so they don't get executed while
356
+ // editing.
357
+ ProtectEvents : function( html )
358
+ {
359
+ return html.replace( FCKRegexLib.TagsWithEvent, _FCK_ProtectEvents_ReplaceTags ) ;
360
+ },
361
+
362
+ ProtectEventsRestore : function( html )
363
+ {
364
+ return html.replace( FCKRegexLib.ProtectedEvents, _FCK_ProtectEvents_RestoreEvents ) ;
365
+ },
366
+
367
+ ProtectTags : function( html )
368
+ {
369
+ var sTags = FCKConfig.ProtectedTags ;
370
+
371
+ // IE doesn't support <abbr> and it breaks it. Let's protect it.
372
+ if ( FCKBrowserInfo.IsIE )
373
+ sTags += sTags.length > 0 ? '|ABBR|XML|EMBED|OBJECT' : 'ABBR|XML|EMBED|OBJECT' ;
374
+
375
+ var oRegex ;
376
+ if ( sTags.length > 0 )
377
+ {
378
+ oRegex = new RegExp( '<(' + sTags + ')(?!\w|:)', 'gi' ) ;
379
+ html = html.replace( oRegex, '<FCK:$1' ) ;
380
+
381
+ oRegex = new RegExp( '<\/(' + sTags + ')>', 'gi' ) ;
382
+ html = html.replace( oRegex, '<\/FCK:$1>' ) ;
383
+ }
384
+
385
+ // Protect some empty elements. We must do it separately because the
386
+ // original tag may not contain the closing slash, like <hr>:
387
+ // - <meta> tags get executed, so if you have a redirect meta, the
388
+ // content will move to the target page.
389
+ // - <hr> may destroy the document structure if not well
390
+ // positioned. The trick is protect it here and restore them in
391
+ // the FCKDocumentProcessor.
392
+ sTags = 'META' ;
393
+ if ( FCKBrowserInfo.IsIE )
394
+ sTags += '|HR' ;
395
+
396
+ oRegex = new RegExp( '<((' + sTags + ')(?=\\s|>|/)[\\s\\S]*?)/?>', 'gi' ) ;
397
+ html = html.replace( oRegex, '<FCK:$1 />' ) ;
398
+
399
+ return html ;
400
+ },
401
+
402
+ SetData : function( data, resetIsDirty )
403
+ {
404
+ this.EditingArea.Mode = FCK.EditMode ;
405
+
406
+ // If there was an onSelectionChange listener in IE we must remove it to avoid crashes #1498
407
+ if ( FCKBrowserInfo.IsIE && FCK.EditorDocument )
408
+ {
409
+ FCK.EditorDocument.detachEvent("onselectionchange", Doc_OnSelectionChange ) ;
410
+ }
411
+
412
+ FCKTempBin.Reset() ;
413
+
414
+ // Bug #2469: SelectionData.createRange becomes undefined after the editor
415
+ // iframe is changed by FCK.SetData().
416
+ FCK.Selection.Release() ;
417
+
418
+ if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
419
+ {
420
+ // Save the resetIsDirty for later use (async)
421
+ this._ForceResetIsDirty = ( resetIsDirty === true ) ;
422
+
423
+ // Protect parts of the code that must remain untouched (and invisible)
424
+ // during editing.
425
+ data = FCKConfig.ProtectedSource.Protect( data ) ;
426
+
427
+ // Call the Data Processor to transform the data.
428
+ data = FCK.DataProcessor.ConvertToHtml( data ) ;
429
+
430
+ // Fix for invalid self-closing tags (see #152).
431
+ data = data.replace( FCKRegexLib.InvalidSelfCloseTags, '$1></$2>' ) ;
432
+
433
+ // Protect event attributes (they could get fired in the editing area).
434
+ data = FCK.ProtectEvents( data ) ;
435
+
436
+ // Protect some things from the browser itself.
437
+ data = FCK.ProtectUrls( data ) ;
438
+ data = FCK.ProtectTags( data ) ;
439
+
440
+ // Insert the base tag (FCKConfig.BaseHref), if not exists in the source.
441
+ // The base must be the first tag in the HEAD, to get relative
442
+ // links on styles, for example.
443
+ if ( FCK.TempBaseTag.length > 0 && !FCKRegexLib.HasBaseTag.test( data ) )
444
+ data = data.replace( FCKRegexLib.HeadOpener, '$&' + FCK.TempBaseTag ) ;
445
+
446
+ // Build the HTML for the additional things we need on <head>.
447
+ var sHeadExtra = '' ;
448
+
449
+ if ( !FCKConfig.FullPage )
450
+ sHeadExtra += _FCK_GetEditorAreaStyleTags() ;
451
+
452
+ if ( FCKBrowserInfo.IsIE )
453
+ sHeadExtra += FCK._GetBehaviorsStyle() ;
454
+ else if ( FCKConfig.ShowBorders )
455
+ sHeadExtra += FCKTools.GetStyleHtml( FCK_ShowTableBordersCSS, true ) ;
456
+
457
+ sHeadExtra += FCKTools.GetStyleHtml( FCK_InternalCSS, true ) ;
458
+
459
+ // Attention: do not change it before testing it well (sample07)!
460
+ // This is tricky... if the head ends with <meta ... content type>,
461
+ // Firefox will break. But, it works if we place our extra stuff as
462
+ // the last elements in the HEAD.
463
+ data = data.replace( FCKRegexLib.HeadCloser, sHeadExtra + '$&' ) ;
464
+
465
+ // Load the HTML in the editing area.
466
+ this.EditingArea.OnLoad = _FCK_EditingArea_OnLoad ;
467
+ this.EditingArea.Start( data ) ;
468
+ }
469
+ else
470
+ {
471
+ // Remove the references to the following elements, as the editing area
472
+ // IFRAME will be removed.
473
+ FCK.EditorWindow = null ;
474
+ FCK.EditorDocument = null ;
475
+ FCKDomTools.PaddingNode = null ;
476
+
477
+ this.EditingArea.OnLoad = null ;
478
+ this.EditingArea.Start( data ) ;
479
+
480
+ // Enables the context menu in the textarea.
481
+ this.EditingArea.Textarea._FCKShowContextMenu = true ;
482
+
483
+ // Removes the enter key handler.
484
+ FCK.EnterKeyHandler = null ;
485
+
486
+ if ( resetIsDirty )
487
+ this.ResetIsDirty() ;
488
+
489
+ // Listen for keystroke events.
490
+ FCK.KeystrokeHandler.AttachToElement( this.EditingArea.Textarea ) ;
491
+
492
+ this.EditingArea.Textarea.focus() ;
493
+
494
+ FCK.Events.FireEvent( 'OnAfterSetHTML' ) ;
495
+ }
496
+
497
+ if ( FCKBrowserInfo.IsGecko )
498
+ window.onresize() ;
499
+ },
500
+
501
+ // This collection is used by the browser specific implementations to tell
502
+ // which named commands must be handled separately.
503
+ RedirectNamedCommands : new Object(),
504
+
505
+ ExecuteNamedCommand : function( commandName, commandParameter, noRedirect, noSaveUndo )
506
+ {
507
+ if ( !noSaveUndo )
508
+ FCKUndo.SaveUndoStep() ;
509
+
510
+ if ( !noRedirect && FCK.RedirectNamedCommands[ commandName ] != null )
511
+ FCK.ExecuteRedirectedNamedCommand( commandName, commandParameter ) ;
512
+ else
513
+ {
514
+ FCK.Focus() ;
515
+ FCK.EditorDocument.execCommand( commandName, false, commandParameter ) ;
516
+ FCK.Events.FireEvent( 'OnSelectionChange' ) ;
517
+ }
518
+
519
+ if ( !noSaveUndo )
520
+ FCKUndo.SaveUndoStep() ;
521
+ },
522
+
523
+ GetNamedCommandState : function( commandName )
524
+ {
525
+ try
526
+ {
527
+
528
+ // Bug #50 : Safari never returns positive state for the Paste command, override that.
529
+ if ( FCKBrowserInfo.IsSafari && FCK.EditorWindow && commandName.IEquals( 'Paste' ) )
530
+ return FCK_TRISTATE_OFF ;
531
+
532
+ if ( !FCK.EditorDocument.queryCommandEnabled( commandName ) )
533
+ return FCK_TRISTATE_DISABLED ;
534
+ else
535
+ {
536
+ return FCK.EditorDocument.queryCommandState( commandName ) ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ;
537
+ }
538
+ }
539
+ catch ( e )
540
+ {
541
+ return FCK_TRISTATE_OFF ;
542
+ }
543
+ },
544
+
545
+ GetNamedCommandValue : function( commandName )
546
+ {
547
+ var sValue = '' ;
548
+ var eState = FCK.GetNamedCommandState( commandName ) ;
549
+
550
+ if ( eState == FCK_TRISTATE_DISABLED )
551
+ return null ;
552
+
553
+ try
554
+ {
555
+ sValue = this.EditorDocument.queryCommandValue( commandName ) ;
556
+ }
557
+ catch(e) {}
558
+
559
+ return sValue ? sValue : '' ;
560
+ },
561
+
562
+ Paste : function( _callListenersOnly )
563
+ {
564
+ // First call 'OnPaste' listeners.
565
+ if ( FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent( 'OnPaste' ) )
566
+ return false ;
567
+
568
+ // Then call the default implementation.
569
+ return _callListenersOnly || FCK._ExecPaste() ;
570
+ },
571
+
572
+ PasteFromWord : function()
573
+ {
574
+ FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteFromWord, 'dialog/fck_paste.html', 400, 330, 'Word' ) ;
575
+ },
576
+
577
+ Preview : function()
578
+ {
579
+ var sHTML ;
580
+
581
+ if ( FCKConfig.FullPage )
582
+ {
583
+ if ( FCK.TempBaseTag.length > 0 )
584
+ sHTML = FCK.TempBaseTag + FCK.GetXHTML() ;
585
+ else
586
+ sHTML = FCK.GetXHTML() ;
587
+ }
588
+ else
589
+ {
590
+ sHTML =
591
+ FCKConfig.DocType +
592
+ '<html dir="' + FCKConfig.ContentLangDirection + '">' +
593
+ '<head>' +
594
+ FCK.TempBaseTag +
595
+ '<title>' + FCKLang.Preview + '</title>' +
596
+ _FCK_GetEditorAreaStyleTags() +
597
+ '</head><body' + FCKConfig.GetBodyAttributes() + '>' +
598
+ FCK.GetXHTML() +
599
+ '</body></html>' ;
600
+ }
601
+
602
+ var iWidth = FCKConfig.ScreenWidth * 0.8 ;
603
+ var iHeight = FCKConfig.ScreenHeight * 0.7 ;
604
+ var iLeft = ( FCKConfig.ScreenWidth - iWidth ) / 2 ;
605
+
606
+ var sOpenUrl = '' ;
607
+ if ( FCK_IS_CUSTOM_DOMAIN && FCKBrowserInfo.IsIE)
608
+ {
609
+ window._FCKHtmlToLoad = sHTML ;
610
+ sOpenUrl = 'javascript:void( (function(){' +
611
+ 'document.open() ;' +
612
+ 'document.domain="' + document.domain + '" ;' +
613
+ 'document.write( window.opener._FCKHtmlToLoad );' +
614
+ 'document.close() ;' +
615
+ 'window.opener._FCKHtmlToLoad = null ;' +
616
+ '})() )' ;
617
+ }
618
+
619
+ var oWindow = window.open( sOpenUrl, null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' + iWidth + ',height=' + iHeight + ',left=' + iLeft ) ;
620
+
621
+ if ( !FCK_IS_CUSTOM_DOMAIN || !FCKBrowserInfo.IsIE)
622
+ {
623
+ oWindow.document.write( sHTML );
624
+ oWindow.document.close();
625
+ }
626
+
627
+ },
628
+
629
+ SwitchEditMode : function( noUndo )
630
+ {
631
+ var bIsWysiwyg = ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ) ;
632
+
633
+ // Save the current IsDirty state, so we may restore it after the switch.
634
+ var bIsDirty = FCK.IsDirty() ;
635
+
636
+ var sHtml ;
637
+
638
+ // Update the HTML in the view output to show, also update
639
+ // FCKTempBin for IE to avoid #2263.
640
+ if ( bIsWysiwyg )
641
+ {
642
+ FCKCommands.GetCommand( 'ShowBlocks' ).SaveState() ;
643
+ if ( !noUndo && FCKBrowserInfo.IsIE )
644
+ FCKUndo.SaveUndoStep() ;
645
+
646
+ sHtml = FCK.GetXHTML( FCKConfig.FormatSource ) ;
647
+
648
+ if ( FCKBrowserInfo.IsIE )
649
+ FCKTempBin.ToHtml() ;
650
+
651
+ if ( sHtml == null )
652
+ return false ;
653
+ }
654
+ else
655
+ sHtml = this.EditingArea.Textarea.value ;
656
+
657
+ FCK.EditMode = bIsWysiwyg ? FCK_EDITMODE_SOURCE : FCK_EDITMODE_WYSIWYG ;
658
+
659
+ FCK.SetData( sHtml, !bIsDirty ) ;
660
+
661
+ // Set the Focus.
662
+ FCK.Focus() ;
663
+
664
+ // Update the toolbar (Running it directly causes IE to fail).
665
+ FCKTools.RunFunction( FCK.ToolbarSet.RefreshModeState, FCK.ToolbarSet ) ;
666
+
667
+ return true ;
668
+ },
669
+
670
+ InsertElement : function( element )
671
+ {
672
+ // The parameter may be a string (element name), so transform it in an element.
673
+ if ( typeof element == 'string' )
674
+ element = this.EditorDocument.createElement( element ) ;
675
+
676
+ var elementName = element.nodeName.toLowerCase() ;
677
+
678
+ FCKSelection.Restore() ;
679
+
680
+ // Create a range for the selection. V3 will have a new selection
681
+ // object that may internally supply this feature.
682
+ var range = new FCKDomRange( this.EditorWindow ) ;
683
+
684
+ // Move to the selection and delete it.
685
+ range.MoveToSelection() ;
686
+ range.DeleteContents() ;
687
+
688
+ if ( FCKListsLib.BlockElements[ elementName ] != null )
689
+ {
690
+ if ( range.StartBlock )
691
+ {
692
+ if ( range.CheckStartOfBlock() )
693
+ range.MoveToPosition( range.StartBlock, 3 ) ;
694
+ else if ( range.CheckEndOfBlock() )
695
+ range.MoveToPosition( range.StartBlock, 4 ) ;
696
+ else
697
+ range.SplitBlock() ;
698
+ }
699
+
700
+ range.InsertNode( element ) ;
701
+
702
+ var next = FCKDomTools.GetNextSourceElement( element, false, null, [ 'hr','br','param','img','area','input' ], true ) ;
703
+
704
+ // Be sure that we have something after the new element, so we can move the cursor there.
705
+ if ( !next && FCKConfig.EnterMode != 'br')
706
+ {
707
+ next = this.EditorDocument.body.appendChild( this.EditorDocument.createElement( FCKConfig.EnterMode ) ) ;
708
+
709
+ if ( FCKBrowserInfo.IsGeckoLike )
710
+ FCKTools.AppendBogusBr( next ) ;
711
+ }
712
+
713
+ if ( FCKListsLib.EmptyElements[ elementName ] == null )
714
+ range.MoveToElementEditStart( element ) ;
715
+ else if ( next )
716
+ range.MoveToElementEditStart( next ) ;
717
+ else
718
+ range.MoveToPosition( element, 4 ) ;
719
+
720
+ if ( FCKBrowserInfo.IsGeckoLike )
721
+ {
722
+ if ( next )
723
+ FCKDomTools.ScrollIntoView( next, false );
724
+ FCKDomTools.ScrollIntoView( element, false );
725
+ }
726
+ }
727
+ else
728
+ {
729
+ // Insert the node.
730
+ range.InsertNode( element ) ;
731
+
732
+ // Move the selection right after the new element.
733
+ // DISCUSSION: Should we select the element instead?
734
+ range.SetStart( element, 4 ) ;
735
+ range.SetEnd( element, 4 ) ;
736
+ }
737
+
738
+ range.Select() ;
739
+ range.Release() ;
740
+
741
+ // REMOVE IT: The focus should not really be set here. It is up to the
742
+ // calling code to reset the focus if needed.
743
+ this.Focus() ;
744
+
745
+ return element ;
746
+ },
747
+
748
+ _InsertBlockElement : function( blockElement )
749
+ {
750
+ },
751
+
752
+ _IsFunctionKey : function( keyCode )
753
+ {
754
+ // keys that are captured but do not change editor contents
755
+ if ( keyCode >= 16 && keyCode <= 20 )
756
+ // shift, ctrl, alt, pause, capslock
757
+ return true ;
758
+ if ( keyCode == 27 || ( keyCode >= 33 && keyCode <= 40 ) )
759
+ // esc, page up, page down, end, home, left, up, right, down
760
+ return true ;
761
+ if ( keyCode == 45 )
762
+ // insert, no effect on FCKeditor, yet
763
+ return true ;
764
+ return false ;
765
+ },
766
+
767
+ _KeyDownListener : function( evt )
768
+ {
769
+ if (! evt)
770
+ evt = FCK.EditorWindow.event ;
771
+ if ( FCK.EditorWindow )
772
+ {
773
+ if ( !FCK._IsFunctionKey(evt.keyCode) // do not capture function key presses, like arrow keys or shift/alt/ctrl
774
+ && !(evt.ctrlKey || evt.metaKey) // do not capture Ctrl hotkeys, as they have their snapshot capture logic
775
+ && !(evt.keyCode == 46) ) // do not capture Del, it has its own capture logic in fckenterkey.js
776
+ FCK._KeyDownUndo() ;
777
+ }
778
+ return true ;
779
+ },
780
+
781
+ _KeyDownUndo : function()
782
+ {
783
+ if ( !FCKUndo.Typing )
784
+ {
785
+ FCKUndo.SaveUndoStep() ;
786
+ FCKUndo.Typing = true ;
787
+ FCK.Events.FireEvent( "OnSelectionChange" ) ;
788
+ }
789
+
790
+ FCKUndo.TypesCount++ ;
791
+ FCKUndo.Changed = 1 ;
792
+
793
+ if ( FCKUndo.TypesCount > FCKUndo.MaxTypes )
794
+ {
795
+ FCKUndo.TypesCount = 0 ;
796
+ FCKUndo.SaveUndoStep() ;
797
+ }
798
+ },
799
+
800
+ _TabKeyHandler : function( evt )
801
+ {
802
+ if ( ! evt )
803
+ evt = window.event ;
804
+
805
+ var keystrokeValue = evt.keyCode ;
806
+
807
+ // Pressing <Tab> in source mode should produce a tab space in the text area, not
808
+ // changing the focus to something else.
809
+ if ( keystrokeValue == 9 && FCK.EditMode != FCK_EDITMODE_WYSIWYG )
810
+ {
811
+ if ( FCKBrowserInfo.IsIE )
812
+ {
813
+ var range = document.selection.createRange() ;
814
+ if ( range.parentElement() != FCK.EditingArea.Textarea )
815
+ return true ;
816
+ range.text = '\t' ;
817
+ range.select() ;
818
+ }
819
+ else
820
+ {
821
+ var a = [] ;
822
+ var el = FCK.EditingArea.Textarea ;
823
+ var selStart = el.selectionStart ;
824
+ var selEnd = el.selectionEnd ;
825
+ a.push( el.value.substr(0, selStart ) ) ;
826
+ a.push( '\t' ) ;
827
+ a.push( el.value.substr( selEnd ) ) ;
828
+ el.value = a.join( '' ) ;
829
+ el.setSelectionRange( selStart + 1, selStart + 1 ) ;
830
+ }
831
+
832
+ if ( evt.preventDefault )
833
+ return evt.preventDefault() ;
834
+
835
+ return evt.returnValue = false ;
836
+ }
837
+
838
+ return true ;
839
+ }
840
+ } ;
841
+
842
+ FCK.Events = new FCKEvents( FCK ) ;
843
+
844
+ // DEPRECATED in favor or "GetData".
845
+ FCK.GetHTML = FCK.GetXHTML = FCK.GetData ;
846
+
847
+ // DEPRECATED in favor of "SetData".
848
+ FCK.SetHTML = FCK.SetData ;
849
+
850
+ // InsertElementAndGetIt and CreateElement are Deprecated : returns the same value as InsertElement.
851
+ FCK.InsertElementAndGetIt = FCK.CreateElement = FCK.InsertElement ;
852
+
853
+ // Replace all events attributes (like onclick).
854
+ function _FCK_ProtectEvents_ReplaceTags( tagMatch )
855
+ {
856
+ return tagMatch.replace( FCKRegexLib.EventAttributes, _FCK_ProtectEvents_ReplaceEvents ) ;
857
+ }
858
+
859
+ // Replace an event attribute with its respective __fckprotectedatt attribute.
860
+ // The original event markup will be encoded and saved as the value of the new
861
+ // attribute.
862
+ function _FCK_ProtectEvents_ReplaceEvents( eventMatch, attName )
863
+ {
864
+ return ' ' + attName + '_fckprotectedatt="' + encodeURIComponent( eventMatch ) + '"' ;
865
+ }
866
+
867
+ function _FCK_ProtectEvents_RestoreEvents( match, encodedOriginal )
868
+ {
869
+ return decodeURIComponent( encodedOriginal ) ;
870
+ }
871
+
872
+ function _FCK_MouseEventsListener( evt )
873
+ {
874
+ if ( ! evt )
875
+ evt = window.event ;
876
+ if ( evt.type == 'mousedown' )
877
+ FCK.MouseDownFlag = true ;
878
+ else if ( evt.type == 'mouseup' )
879
+ FCK.MouseDownFlag = false ;
880
+ else if ( evt.type == 'mousemove' )
881
+ FCK.Events.FireEvent( 'OnMouseMove', evt ) ;
882
+ }
883
+
884
+ function _FCK_PaddingNodeListener()
885
+ {
886
+ if ( FCKConfig.EnterMode.IEquals( 'br' ) )
887
+ return ;
888
+ FCKDomTools.EnforcePaddingNode( FCK.EditorDocument, FCKConfig.EnterMode ) ;
889
+
890
+ if ( ! FCKBrowserInfo.IsIE && FCKDomTools.PaddingNode )
891
+ {
892
+ // Prevent the caret from going between the body and the padding node in Firefox.
893
+ // i.e. <body>|<p></p></body>
894
+ var sel = FCKSelection.GetSelection() ;
895
+ if ( sel && sel.rangeCount == 1 )
896
+ {
897
+ var range = sel.getRangeAt( 0 ) ;
898
+ if ( range.collapsed && range.startContainer == FCK.EditorDocument.body && range.startOffset == 0 )
899
+ {
900
+ range.selectNodeContents( FCKDomTools.PaddingNode ) ;
901
+ range.collapse( true ) ;
902
+ sel.removeAllRanges() ;
903
+ sel.addRange( range ) ;
904
+ }
905
+ }
906
+ }
907
+ else if ( FCKDomTools.PaddingNode )
908
+ {
909
+ // Prevent the caret from going into an empty body but not into the padding node in IE.
910
+ // i.e. <body><p></p>|</body>
911
+ var parentElement = FCKSelection.GetParentElement() ;
912
+ var paddingNode = FCKDomTools.PaddingNode ;
913
+ if ( parentElement && parentElement.nodeName.IEquals( 'body' ) )
914
+ {
915
+ if ( FCK.EditorDocument.body.childNodes.length == 1
916
+ && FCK.EditorDocument.body.firstChild == paddingNode )
917
+ {
918
+ /*
919
+ * Bug #1764: Don't move the selection if the
920
+ * current selection isn't in the editor
921
+ * document.
922
+ */
923
+ if ( FCKSelection._GetSelectionDocument( FCK.EditorDocument.selection ) != FCK.EditorDocument )
924
+ return ;
925
+
926
+ var range = FCK.EditorDocument.body.createTextRange() ;
927
+ var clearContents = false ;
928
+ if ( !paddingNode.childNodes.firstChild )
929
+ {
930
+ paddingNode.appendChild( FCKTools.GetElementDocument( paddingNode ).createTextNode( '\ufeff' ) ) ;
931
+ clearContents = true ;
932
+ }
933
+ range.moveToElementText( paddingNode ) ;
934
+ range.select() ;
935
+ if ( clearContents )
936
+ range.pasteHTML( '' ) ;
937
+ }
938
+ }
939
+ }
940
+ }
941
+
942
+ function _FCK_EditingArea_OnLoad()
943
+ {
944
+ // Get the editor's window and document (DOM)
945
+ FCK.EditorWindow = FCK.EditingArea.Window ;
946
+ FCK.EditorDocument = FCK.EditingArea.Document ;
947
+
948
+ if ( FCKBrowserInfo.IsIE )
949
+ FCKTempBin.ToElements() ;
950
+
951
+ FCK.InitializeBehaviors() ;
952
+
953
+ // Listen for mousedown and mouseup events for tracking drag and drops.
954
+ FCK.MouseDownFlag = false ;
955
+ FCKTools.AddEventListener( FCK.EditorDocument, 'mousemove', _FCK_MouseEventsListener ) ;
956
+ FCKTools.AddEventListener( FCK.EditorDocument, 'mousedown', _FCK_MouseEventsListener ) ;
957
+ FCKTools.AddEventListener( FCK.EditorDocument, 'mouseup', _FCK_MouseEventsListener ) ;
958
+
959
+ // Most of the CTRL key combos do not work under Safari for onkeydown and onkeypress (See #1119)
960
+ // But we can use the keyup event to override some of these...
961
+ if ( FCKBrowserInfo.IsSafari )
962
+ {
963
+ var undoFunc = function( evt )
964
+ {
965
+ if ( ! ( evt.ctrlKey || evt.metaKey ) )
966
+ return ;
967
+ if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
968
+ return ;
969
+ switch ( evt.keyCode )
970
+ {
971
+ case 89:
972
+ FCKUndo.Redo() ;
973
+ break ;
974
+ case 90:
975
+ FCKUndo.Undo() ;
976
+ break ;
977
+ }
978
+ }
979
+
980
+ FCKTools.AddEventListener( FCK.EditorDocument, 'keyup', undoFunc ) ;
981
+ }
982
+
983
+ // Create the enter key handler
984
+ FCK.EnterKeyHandler = new FCKEnterKey( FCK.EditorWindow, FCKConfig.EnterMode, FCKConfig.ShiftEnterMode, FCKConfig.TabSpaces ) ;
985
+
986
+ // Listen for keystroke events.
987
+ FCK.KeystrokeHandler.AttachToElement( FCK.EditorDocument ) ;
988
+
989
+ if ( FCK._ForceResetIsDirty )
990
+ FCK.ResetIsDirty() ;
991
+
992
+ // This is a tricky thing for IE. In some cases, even if the cursor is
993
+ // blinking in the editing, the keystroke handler doesn't catch keyboard
994
+ // events. We must activate the editing area to make it work. (#142).
995
+ if ( FCKBrowserInfo.IsIE && FCK.HasFocus )
996
+ FCK.EditorDocument.body.setActive() ;
997
+
998
+ FCK.OnAfterSetHTML() ;
999
+
1000
+ // Restore show blocks status.
1001
+ FCKCommands.GetCommand( 'ShowBlocks' ).RestoreState() ;
1002
+
1003
+ // Check if it is not a startup call, otherwise complete the startup.
1004
+ if ( FCK.Status != FCK_STATUS_NOTLOADED )
1005
+ return ;
1006
+
1007
+ FCK.SetStatus( FCK_STATUS_ACTIVE ) ;
1008
+ }
1009
+
1010
+ function _FCK_GetEditorAreaStyleTags()
1011
+ {
1012
+ return FCKTools.GetStyleHtml( FCKConfig.EditorAreaCSS ) +
1013
+ FCKTools.GetStyleHtml( FCKConfig.EditorAreaStyles ) ;
1014
+ }
1015
+
1016
+ function _FCK_KeystrokeHandler_OnKeystroke( keystroke, keystrokeValue )
1017
+ {
1018
+ if ( FCK.Status != FCK_STATUS_COMPLETE )
1019
+ return false ;
1020
+
1021
+ if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
1022
+ {
1023
+ switch ( keystrokeValue )
1024
+ {
1025
+ case 'Paste' :
1026
+ return !FCK.Paste() ;
1027
+
1028
+ case 'Cut' :
1029
+ FCKUndo.SaveUndoStep() ;
1030
+ return false ;
1031
+ }
1032
+ }
1033
+ else
1034
+ {
1035
+ // In source mode, some actions must have their default behavior.
1036
+ if ( keystrokeValue.Equals( 'Paste', 'Undo', 'Redo', 'SelectAll', 'Cut' ) )
1037
+ return false ;
1038
+ }
1039
+
1040
+ // The return value indicates if the default behavior of the keystroke must
1041
+ // be cancelled. Let's do that only if the Execute() call explicitly returns "false".
1042
+ var oCommand = FCK.Commands.GetCommand( keystrokeValue ) ;
1043
+
1044
+ // If the command is disabled then ignore the keystroke
1045
+ if ( oCommand.GetState() == FCK_TRISTATE_DISABLED )
1046
+ return false ;
1047
+
1048
+ return ( oCommand.Execute.apply( oCommand, FCKTools.ArgumentsToArray( arguments, 2 ) ) !== false ) ;
1049
+ }
1050
+
1051
+ // Set the FCK.LinkedField reference to the field that will be used to post the
1052
+ // editor data.
1053
+ (function()
1054
+ {
1055
+ // There is a bug on IE... getElementById returns any META tag that has the
1056
+ // name set to the ID you are looking for. So the best way in to get the array
1057
+ // by names and look for the correct one.
1058
+ // As ASP.Net generates a ID that is different from the Name, we must also
1059
+ // look for the field based on the ID (the first one is the ID).
1060
+
1061
+ var oDocument = window.parent.document ;
1062
+
1063
+ // Try to get the field using the ID.
1064
+ var eLinkedField = oDocument.getElementById( FCK.Name ) ;
1065
+
1066
+ var i = 0;
1067
+ while ( eLinkedField || i == 0 )
1068
+ {
1069
+ if ( eLinkedField && eLinkedField.tagName.toLowerCase().Equals( 'input', 'textarea' ) )
1070
+ {
1071
+ FCK.LinkedField = eLinkedField ;
1072
+ break ;
1073
+ }
1074
+
1075
+ eLinkedField = oDocument.getElementsByName( FCK.Name )[i++] ;
1076
+ }
1077
+ })() ;
1078
+
1079
+ var FCKTempBin =
1080
+ {
1081
+ Elements : new Array(),
1082
+
1083
+ AddElement : function( element )
1084
+ {
1085
+ var iIndex = this.Elements.length ;
1086
+ this.Elements[ iIndex ] = element ;
1087
+ return iIndex ;
1088
+ },
1089
+
1090
+ RemoveElement : function( index )
1091
+ {
1092
+ var e = this.Elements[ index ] ;
1093
+ this.Elements[ index ] = null ;
1094
+ return e ;
1095
+ },
1096
+
1097
+ Reset : function()
1098
+ {
1099
+ var i = 0 ;
1100
+ while ( i < this.Elements.length )
1101
+ this.Elements[ i++ ] = null ;
1102
+ this.Elements.length = 0 ;
1103
+ },
1104
+
1105
+ ToHtml : function()
1106
+ {
1107
+ for ( var i = 0 ; i < this.Elements.length ; i++ )
1108
+ {
1109
+ this.Elements[i] = '<div>&nbsp;' + this.Elements[i].outerHTML + '</div>' ;
1110
+ this.Elements[i].isHtml = true ;
1111
+ }
1112
+ },
1113
+
1114
+ ToElements : function()
1115
+ {
1116
+ var node = FCK.EditorDocument.createElement( 'div' ) ;
1117
+ for ( var i = 0 ; i < this.Elements.length ; i++ )
1118
+ {
1119
+ if ( this.Elements[i].isHtml )
1120
+ {
1121
+ node.innerHTML = this.Elements[i] ;
1122
+ this.Elements[i] = node.firstChild.removeChild( node.firstChild.lastChild ) ;
1123
+ }
1124
+ }
1125
+ }
1126
+ } ;
1127
+
1128
+
1129
+
1130
+ // # Focus Manager: Manages the focus in the editor.
1131
+ var FCKFocusManager = FCK.FocusManager =
1132
+ {
1133
+ IsLocked : false,
1134
+
1135
+ AddWindow : function( win, sendToEditingArea )
1136
+ {
1137
+ var oTarget ;
1138
+
1139
+ if ( FCKBrowserInfo.IsIE )
1140
+ oTarget = win.nodeType == 1 ? win : win.frameElement ? win.frameElement : win.document ;
1141
+ else if ( FCKBrowserInfo.IsSafari )
1142
+ oTarget = win ;
1143
+ else
1144
+ oTarget = win.document ;
1145
+
1146
+ FCKTools.AddEventListener( oTarget, 'blur', FCKFocusManager_Win_OnBlur ) ;
1147
+ FCKTools.AddEventListener( oTarget, 'focus', sendToEditingArea ? FCKFocusManager_Win_OnFocus_Area : FCKFocusManager_Win_OnFocus ) ;
1148
+ },
1149
+
1150
+ RemoveWindow : function( win )
1151
+ {
1152
+ if ( FCKBrowserInfo.IsIE )
1153
+ oTarget = win.nodeType == 1 ? win : win.frameElement ? win.frameElement : win.document ;
1154
+ else
1155
+ oTarget = win.document ;
1156
+
1157
+ FCKTools.RemoveEventListener( oTarget, 'blur', FCKFocusManager_Win_OnBlur ) ;
1158
+ FCKTools.RemoveEventListener( oTarget, 'focus', FCKFocusManager_Win_OnFocus_Area ) ;
1159
+ FCKTools.RemoveEventListener( oTarget, 'focus', FCKFocusManager_Win_OnFocus ) ;
1160
+ },
1161
+
1162
+ Lock : function()
1163
+ {
1164
+ this.IsLocked = true ;
1165
+ },
1166
+
1167
+ Unlock : function()
1168
+ {
1169
+ if ( this._HasPendingBlur )
1170
+ FCKFocusManager._Timer = window.setTimeout( FCKFocusManager_FireOnBlur, 100 ) ;
1171
+
1172
+ this.IsLocked = false ;
1173
+ },
1174
+
1175
+ _ResetTimer : function()
1176
+ {
1177
+ this._HasPendingBlur = false ;
1178
+
1179
+ if ( this._Timer )
1180
+ {
1181
+ window.clearTimeout( this._Timer ) ;
1182
+ delete this._Timer ;
1183
+ }
1184
+ }
1185
+ } ;
1186
+
1187
+ function FCKFocusManager_Win_OnBlur()
1188
+ {
1189
+ if ( typeof(FCK) != 'undefined' && FCK.HasFocus )
1190
+ {
1191
+ FCKFocusManager._ResetTimer() ;
1192
+ FCKFocusManager._Timer = window.setTimeout( FCKFocusManager_FireOnBlur, 100 ) ;
1193
+ }
1194
+ }
1195
+
1196
+ function FCKFocusManager_FireOnBlur()
1197
+ {
1198
+ if ( FCKFocusManager.IsLocked )
1199
+ FCKFocusManager._HasPendingBlur = true ;
1200
+ else
1201
+ {
1202
+ FCK.HasFocus = false ;
1203
+ FCK.Events.FireEvent( "OnBlur" ) ;
1204
+ }
1205
+ }
1206
+
1207
+ function FCKFocusManager_Win_OnFocus_Area()
1208
+ {
1209
+ // Check if we are already focusing the editor (to avoid loops).
1210
+ if ( FCKFocusManager._IsFocusing )
1211
+ return ;
1212
+
1213
+ FCKFocusManager._IsFocusing = true ;
1214
+
1215
+ FCK.Focus() ;
1216
+ FCKFocusManager_Win_OnFocus() ;
1217
+
1218
+ // The above FCK.Focus() call may trigger other focus related functions.
1219
+ // So, to avoid a loop, we delay the focusing mark removal, so it get
1220
+ // executed after all othre functions have been run.
1221
+ FCKTools.RunFunction( function()
1222
+ {
1223
+ delete FCKFocusManager._IsFocusing ;
1224
+ } ) ;
1225
+ }
1226
+
1227
+ function FCKFocusManager_Win_OnFocus()
1228
+ {
1229
+ FCKFocusManager._ResetTimer() ;
1230
+
1231
+ if ( !FCK.HasFocus && !FCKFocusManager.IsLocked )
1232
+ {
1233
+ FCK.HasFocus = true ;
1234
+ FCK.Events.FireEvent( "OnFocus" ) ;
1235
+ }
1236
+ }
1237
+
1238
+ /*
1239
+ * #1633 : Protect the editor iframe from external styles.
1240
+ * Notice that we can't use FCKTools.ResetStyles here since FCKTools isn't
1241
+ * loaded yet.
1242
+ */
1243
+ (function()
1244
+ {
1245
+ var el = window.frameElement ;
1246
+ var width = el.width ;
1247
+ var height = el.height ;
1248
+ if ( /^\d+$/.test( width ) ) width += 'px' ;
1249
+ if ( /^\d+$/.test( height ) ) height += 'px' ;
1250
+ var style = el.style ;
1251
+ style.border = style.padding = style.margin = 0 ;
1252
+ style.backgroundColor = 'transparent';
1253
+ style.backgroundImage = 'none';
1254
+ style.width = width ;
1255
+ style.height = height ;
1256
+ })() ;