ckeditor 3.4.3 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (975) hide show
  1. data/CHANGELOG +15 -0
  2. data/README.rdoc +26 -47
  3. data/Rakefile +6 -5
  4. data/app/controllers/ckeditor/attachments_controller.rb +23 -0
  5. data/app/controllers/ckeditor/base_controller.rb +60 -0
  6. data/app/controllers/ckeditor/pictures_controller.rb +23 -0
  7. data/app/helpers/ckeditor/base_helper.rb +21 -0
  8. data/app/views/ckeditor/attachments/index.html.erb +91 -0
  9. data/app/views/ckeditor/pictures/index.html.erb +91 -0
  10. data/config/routes.rb +5 -4
  11. data/lib/ckeditor.rb +29 -26
  12. data/lib/ckeditor/engine.rb +21 -0
  13. data/lib/ckeditor/utils.rb +13 -6
  14. data/lib/ckeditor/version.rb +2 -2
  15. data/lib/generators/ckeditor/base/USAGE +7 -0
  16. data/lib/generators/ckeditor/base/base_generator.rb +20 -0
  17. data/lib/generators/ckeditor/base/templates/ckeditor.rb +54 -0
  18. data/lib/generators/ckeditor/base/templates/ckeditor/CHANGES.html +1063 -0
  19. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/INSTALL.html +0 -0
  20. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/LICENSE.html +0 -0
  21. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/adobeair/application.xml +32 -0
  22. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/adobeair/run.bat +9 -0
  23. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/adobeair/run.sh +8 -0
  24. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/adobeair/sample.html +45 -0
  25. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/ajax.html +0 -0
  26. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/api.html +174 -0
  27. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/api_dialog.html +0 -0
  28. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/api_dialog/my_dialog.js +0 -0
  29. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/advanced.asp +0 -0
  30. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/events.asp +0 -0
  31. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/index.html +0 -0
  32. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/replace.asp +0 -0
  33. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/replaceall.asp +0 -0
  34. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/sample_posteddata.asp +0 -0
  35. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/standalone.asp +0 -0
  36. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  37. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  38. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/assets/output_xhtml.css +0 -0
  39. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/assets/swfobject.js +0 -0
  40. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/autogrow.html +0 -0
  41. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/divreplace.html +0 -0
  42. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/enterkey.html +0 -0
  43. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/fullpage.html +0 -0
  44. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/index.html +58 -0
  45. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/jqueryadapter.html +0 -0
  46. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/output_for_flash.html +0 -0
  47. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/output_html.html +0 -0
  48. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/output_xhtml.html +0 -0
  49. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/php/advanced.php +0 -0
  50. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/php/events.php +0 -0
  51. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/php/replace.php +0 -0
  52. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/php/replaceall.php +0 -0
  53. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/php/standalone.php +0 -0
  54. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/placeholder.html +62 -0
  55. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/replacebyclass.html +0 -0
  56. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/replacebycode.html +0 -0
  57. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/sample.css +0 -0
  58. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/sample.js +0 -0
  59. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/sample_posteddata.php +0 -0
  60. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/sharedspaces.html +0 -0
  61. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/skins.html +0 -0
  62. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/ui_color.html +0 -0
  63. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/ui_languages.html +0 -0
  64. data/lib/generators/ckeditor/base/templates/ckeditor/_source/adapters/jquery.js +300 -0
  65. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/_bootstrap.js +0 -0
  66. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/ajax.js +0 -0
  67. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/ckeditor.js +0 -0
  68. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/ckeditor_base.js +196 -0
  69. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/ckeditor_basic.js +0 -0
  70. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/command.js +0 -0
  71. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/commanddefinition.js +0 -0
  72. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/config.js +431 -0
  73. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dataprocessor.js +0 -0
  74. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom.js +0 -0
  75. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/comment.js +0 -0
  76. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/document.js +251 -0
  77. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/documentfragment.js +0 -0
  78. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/domobject.js +258 -0
  79. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/element.js +1615 -0
  80. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/elementpath.js +0 -0
  81. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/event.js +0 -0
  82. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/node.js +696 -0
  83. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/nodelist.js +0 -0
  84. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/range.js +1893 -0
  85. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/rangelist.js +213 -0
  86. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/text.js +0 -0
  87. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/walker.js +444 -0
  88. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/window.js +0 -0
  89. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dtd.js +0 -0
  90. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/editor.js +943 -0
  91. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/editor_basic.js +0 -0
  92. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/env.js +272 -0
  93. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/event.js +0 -0
  94. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/eventInfo.js +0 -0
  95. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/focusmanager.js +0 -0
  96. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/htmlparser.js +0 -0
  97. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/htmlparser/basicwriter.js +0 -0
  98. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/htmlparser/cdata.js +0 -0
  99. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/htmlparser/comment.js +0 -0
  100. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/htmlparser/element.js +240 -0
  101. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/htmlparser/filter.js +0 -0
  102. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/htmlparser/fragment.js +504 -0
  103. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/htmlparser/text.js +0 -0
  104. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/lang.js +0 -0
  105. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/loader.js +242 -0
  106. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/plugindefinition.js +0 -0
  107. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/plugins.js +0 -0
  108. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/resourcemanager.js +0 -0
  109. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/scriptloader.js +0 -0
  110. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/skins.js +184 -0
  111. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/themes.js +0 -0
  112. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/tools.js +734 -0
  113. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/ui.js +118 -0
  114. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/xml.js +0 -0
  115. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/lang/_languages.js +0 -0
  116. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/_translationstatus.txt +60 -0
  117. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/af.js +752 -0
  118. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ar.js +752 -0
  119. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/bg.js +752 -0
  120. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/bn.js +752 -0
  121. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/bs.js +752 -0
  122. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ca.js +752 -0
  123. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/cs.js +752 -0
  124. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/cy.js +752 -0
  125. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/da.js +752 -0
  126. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/de.js +752 -0
  127. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/el.js +752 -0
  128. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/en-au.js +752 -0
  129. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/en-ca.js +752 -0
  130. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/en-gb.js +752 -0
  131. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/en.js +752 -0
  132. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/eo.js +752 -0
  133. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/es.js +752 -0
  134. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/et.js +752 -0
  135. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/eu.js +752 -0
  136. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/fa.js +752 -0
  137. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/fi.js +752 -0
  138. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/fo.js +752 -0
  139. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/fr-ca.js +752 -0
  140. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/fr.js +752 -0
  141. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/gl.js +752 -0
  142. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/gu.js +752 -0
  143. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/he.js +752 -0
  144. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/hi.js +752 -0
  145. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/hr.js +752 -0
  146. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/hu.js +752 -0
  147. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/is.js +752 -0
  148. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/it.js +752 -0
  149. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ja.js +752 -0
  150. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/km.js +752 -0
  151. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ko.js +752 -0
  152. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/lt.js +752 -0
  153. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/lv.js +752 -0
  154. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/mn.js +752 -0
  155. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ms.js +752 -0
  156. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/nb.js +752 -0
  157. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/nl.js +752 -0
  158. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/no.js +752 -0
  159. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/pl.js +752 -0
  160. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/pt-br.js +751 -0
  161. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/pt.js +752 -0
  162. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ro.js +752 -0
  163. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ru.js +752 -0
  164. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/sk.js +752 -0
  165. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/sl.js +752 -0
  166. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/sr-latn.js +752 -0
  167. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/sr.js +752 -0
  168. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/sv.js +752 -0
  169. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/th.js +752 -0
  170. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/tr.js +751 -0
  171. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/uk.js +752 -0
  172. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/vi.js +752 -0
  173. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/zh-cn.js +752 -0
  174. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/zh.js +752 -0
  175. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +0 -0
  176. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/a11yhelp/lang/en.js +0 -0
  177. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/a11yhelp/lang/he.js +0 -0
  178. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/a11yhelp/plugin.js +0 -0
  179. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/about/dialogs/about.js +0 -0
  180. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  181. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/about/plugin.js +0 -0
  182. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/adobeair/plugin.js +228 -0
  183. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/ajax_save/plugin.js +0 -0
  184. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/attachment/dialogs/attachment.js +0 -0
  185. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/attachment/images/attachment.png +0 -0
  186. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/attachment/lang/en.js +0 -0
  187. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/attachment/lang/ru.js +0 -0
  188. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/attachment/lang/uk.js +0 -0
  189. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/attachment/plugin.js +0 -0
  190. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/autogrow/plugin.js +0 -0
  191. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/basicstyles/plugin.js +0 -0
  192. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/bidi/plugin.js +265 -0
  193. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/blockquote/plugin.js +0 -0
  194. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/button/plugin.js +295 -0
  195. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/clipboard/dialogs/paste.js +212 -0
  196. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/clipboard/plugin.js +412 -0
  197. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/colorbutton/plugin.js +291 -0
  198. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +340 -0
  199. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/colordialog/plugin.js +0 -0
  200. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/contextmenu/plugin.js +177 -0
  201. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/dialog/dialogDefinition.js +0 -0
  202. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/dialog/plugin.js +3067 -0
  203. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/dialogadvtab/plugin.js +213 -0
  204. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/dialogui/plugin.js +1523 -0
  205. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/div/dialogs/div.js +0 -0
  206. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/div/plugin.js +121 -0
  207. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/domiterator/plugin.js +0 -0
  208. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/editingblock/plugin.js +0 -0
  209. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/elementspath/plugin.js +201 -0
  210. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/embed/dialogs/embed.js +0 -0
  211. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/embed/images/embed.png +0 -0
  212. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/embed/lang/en.js +0 -0
  213. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/embed/lang/ru.js +0 -0
  214. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/embed/lang/uk.js +0 -0
  215. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/embed/plugin.js +0 -0
  216. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/enterkey/plugin.js +381 -0
  217. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/entities/plugin.js +0 -0
  218. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/fakeobjects/plugin.js +126 -0
  219. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/filebrowser/plugin.js +501 -0
  220. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/find/dialogs/find.js +0 -0
  221. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/find/plugin.js +0 -0
  222. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/flash/dialogs/flash.js +698 -0
  223. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  224. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/flash/plugin.js +168 -0
  225. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/floatpanel/plugin.js +405 -0
  226. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/font/plugin.js +0 -0
  227. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/format/plugin.js +0 -0
  228. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/button.js +135 -0
  229. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -0
  230. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/form.js +177 -0
  231. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +98 -0
  232. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -0
  233. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/select.js +556 -0
  234. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/textarea.js +114 -0
  235. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -0
  236. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  237. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/plugin.js +284 -0
  238. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/horizontalrule/plugin.js +0 -0
  239. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/htmldataprocessor/plugin.js +543 -0
  240. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/htmlwriter/plugin.js +0 -0
  241. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/iframe/dialogs/iframe.js +257 -0
  242. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/iframe/images/placeholder.png +0 -0
  243. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/iframe/plugin.js +106 -0
  244. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/iframedialog/plugin.js +0 -0
  245. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/image/dialogs/image.js +1388 -0
  246. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/image/plugin.js +81 -0
  247. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/indent/plugin.js +468 -0
  248. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/justify/plugin.js +239 -0
  249. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/keystrokes/plugin.js +0 -0
  250. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/link/dialogs/anchor.js +99 -0
  251. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/link/dialogs/link.js +1426 -0
  252. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  253. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/link/plugin.js +241 -0
  254. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/list/plugin.js +723 -0
  255. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/listblock/plugin.js +257 -0
  256. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +0 -0
  257. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/liststyle/plugin.js +0 -0
  258. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/maximize/plugin.js +340 -0
  259. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/menu/plugin.js +505 -0
  260. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/menubutton/plugin.js +98 -0
  261. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/newpage/plugin.js +0 -0
  262. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  263. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/pagebreak/plugin.js +120 -0
  264. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/panel/plugin.js +395 -0
  265. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/panelbutton/plugin.js +146 -0
  266. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/pastefromword/filter/default.js +1175 -0
  267. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/pastefromword/plugin.js +0 -0
  268. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +0 -0
  269. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/pastetext/plugin.js +85 -0
  270. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +78 -0
  271. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/placeholder/lang/en.js +16 -0
  272. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/placeholder/placeholder.gif +0 -0
  273. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/placeholder/plugin.js +160 -0
  274. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/popup/plugin.js +0 -0
  275. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/preview/plugin.js +0 -0
  276. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/print/plugin.js +0 -0
  277. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/removeformat/plugin.js +184 -0
  278. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/resize/plugin.js +0 -0
  279. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/richcombo/plugin.js +371 -0
  280. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/save/plugin.js +0 -0
  281. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/scayt/dialogs/options.js +534 -0
  282. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +0 -0
  283. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/scayt/plugin.js +947 -0
  284. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/selection/plugin.js +0 -0
  285. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  286. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  287. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  288. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  289. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  290. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  291. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  292. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  293. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  294. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  295. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  296. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/showblocks/plugin.js +156 -0
  297. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/showborders/plugin.js +203 -0
  298. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/smiley/dialogs/smiley.js +223 -0
  299. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  300. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  301. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  302. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  303. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  304. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  305. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  306. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  307. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  308. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  309. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  310. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  311. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  312. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  313. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  314. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  315. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  316. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  317. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  318. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  319. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  320. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/plugin.js +0 -0
  321. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/sourcearea/plugin.js +196 -0
  322. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +347 -0
  323. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/specialchar/lang/en.js +89 -0
  324. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/specialchar/plugin.js +70 -0
  325. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/styles/plugin.js +1564 -0
  326. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/styles/styles/default.js +0 -0
  327. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/stylescombo/plugin.js +0 -0
  328. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/tab/plugin.js +0 -0
  329. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/table/dialogs/table.js +672 -0
  330. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/table/plugin.js +0 -0
  331. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/tableresize/plugin.js +450 -0
  332. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -0
  333. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/tabletools/plugin.js +0 -0
  334. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/templates/dialogs/templates.js +0 -0
  335. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/templates/plugin.js +0 -0
  336. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/templates/templates/default.js +0 -0
  337. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  338. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  339. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  340. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/toolbar/plugin.js +482 -0
  341. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +0 -0
  342. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/lang/en.js +0 -0
  343. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/lang/he.js +0 -0
  344. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/plugin.js +0 -0
  345. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  346. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  347. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  348. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  349. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  350. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +0 -0
  351. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/yui/yui.js +0 -0
  352. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/undo/plugin.js +554 -0
  353. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +0 -0
  354. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +0 -0
  355. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/wsc/dialogs/wsc.css +0 -0
  356. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/wsc/dialogs/wsc.js +191 -0
  357. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/wsc/plugin.js +33 -0
  358. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/wysiwygarea/plugin.js +1224 -0
  359. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/dialog.css +915 -0
  360. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/editor.css +0 -0
  361. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/elementspath.css +0 -0
  362. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/icons.css +361 -0
  363. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/icons.png +0 -0
  364. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  365. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  366. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  367. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  368. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  369. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  370. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  371. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  372. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  373. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/mainui.css +202 -0
  374. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/menu.css +244 -0
  375. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/panel.css +0 -0
  376. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/presets.css +0 -0
  377. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/reset.css +0 -0
  378. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/richcombo.css +287 -0
  379. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/skin.js +259 -0
  380. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/templates.css +0 -0
  381. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/toolbar.css +448 -0
  382. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/dialog.css +826 -0
  383. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/editor.css +0 -0
  384. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/elementspath.css +0 -0
  385. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/icons.css +358 -0
  386. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/icons.png +0 -0
  387. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  388. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  389. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  390. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  391. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  392. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  393. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  394. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  395. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/mainui.css +152 -0
  396. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/menu.css +241 -0
  397. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/panel.css +0 -0
  398. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/presets.css +0 -0
  399. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/reset.css +0 -0
  400. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/richcombo.css +318 -0
  401. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/skin.js +71 -0
  402. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/templates.css +0 -0
  403. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/toolbar.css +510 -0
  404. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/dialog.css +842 -0
  405. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/editor.css +0 -0
  406. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/elementspath.css +0 -0
  407. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/icons.css +358 -0
  408. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/icons.png +0 -0
  409. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  410. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  411. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  412. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  413. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  414. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  415. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  416. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  417. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  418. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/mainui.css +161 -0
  419. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/menu.css +244 -0
  420. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/panel.css +0 -0
  421. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/presets.css +0 -0
  422. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/reset.css +0 -0
  423. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/richcombo.css +317 -0
  424. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/skin.js +67 -0
  425. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/templates.css +0 -0
  426. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/toolbar.css +453 -0
  427. data/lib/generators/ckeditor/base/templates/ckeditor/_source/themes/default/theme.js +368 -0
  428. data/lib/generators/ckeditor/base/templates/ckeditor/adapters/jquery.js +6 -0
  429. data/lib/generators/ckeditor/base/templates/ckeditor/ckeditor.js +139 -0
  430. data/lib/generators/ckeditor/base/templates/ckeditor/ckeditor.pack +211 -0
  431. data/lib/generators/ckeditor/base/templates/ckeditor/ckeditor_basic.js +8 -0
  432. data/lib/generators/ckeditor/base/templates/ckeditor/ckeditor_basic_source.js +20 -0
  433. data/lib/generators/ckeditor/base/templates/ckeditor/ckeditor_source.js +25 -0
  434. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/config.js +0 -0
  435. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/contents.css +0 -0
  436. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/css/ckfinder.css +0 -0
  437. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/css/fck_dialog.css +0 -0
  438. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/css/fck_editor.css +0 -0
  439. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/css/swfupload.css +0 -0
  440. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/add.gif +0 -0
  441. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/cancelbutton.gif +0 -0
  442. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/ckfnothumb.gif +0 -0
  443. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/doc.gif +0 -0
  444. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/mp3.gif +0 -0
  445. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/pdf.gif +0 -0
  446. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/rar.gif +0 -0
  447. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/refresh.gif +0 -0
  448. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/select_files.png +0 -0
  449. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/spacer.gif +0 -0
  450. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/swf.gif +0 -0
  451. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/toolbar.start.gif +0 -0
  452. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/xls.gif +0 -0
  453. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/lang/_languages.js +0 -0
  454. data/lib/generators/ckeditor/base/templates/ckeditor/lang/_translationstatus.txt +60 -0
  455. data/lib/generators/ckeditor/base/templates/ckeditor/lang/af.js +6 -0
  456. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ar.js +6 -0
  457. data/lib/generators/ckeditor/base/templates/ckeditor/lang/bg.js +6 -0
  458. data/lib/generators/ckeditor/base/templates/ckeditor/lang/bn.js +6 -0
  459. data/lib/generators/ckeditor/base/templates/ckeditor/lang/bs.js +6 -0
  460. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ca.js +6 -0
  461. data/lib/generators/ckeditor/base/templates/ckeditor/lang/cs.js +6 -0
  462. data/lib/generators/ckeditor/base/templates/ckeditor/lang/cy.js +6 -0
  463. data/lib/generators/ckeditor/base/templates/ckeditor/lang/da.js +6 -0
  464. data/lib/generators/ckeditor/base/templates/ckeditor/lang/de.js +6 -0
  465. data/lib/generators/ckeditor/base/templates/ckeditor/lang/el.js +6 -0
  466. data/lib/generators/ckeditor/base/templates/ckeditor/lang/en-au.js +6 -0
  467. data/lib/generators/ckeditor/base/templates/ckeditor/lang/en-ca.js +6 -0
  468. data/lib/generators/ckeditor/base/templates/ckeditor/lang/en-gb.js +6 -0
  469. data/lib/generators/ckeditor/base/templates/ckeditor/lang/en.js +6 -0
  470. data/lib/generators/ckeditor/base/templates/ckeditor/lang/eo.js +6 -0
  471. data/lib/generators/ckeditor/base/templates/ckeditor/lang/es.js +6 -0
  472. data/lib/generators/ckeditor/base/templates/ckeditor/lang/et.js +6 -0
  473. data/lib/generators/ckeditor/base/templates/ckeditor/lang/eu.js +6 -0
  474. data/lib/generators/ckeditor/base/templates/ckeditor/lang/fa.js +6 -0
  475. data/lib/generators/ckeditor/base/templates/ckeditor/lang/fi.js +6 -0
  476. data/lib/generators/ckeditor/base/templates/ckeditor/lang/fo.js +6 -0
  477. data/lib/generators/ckeditor/base/templates/ckeditor/lang/fr-ca.js +6 -0
  478. data/lib/generators/ckeditor/base/templates/ckeditor/lang/fr.js +6 -0
  479. data/lib/generators/ckeditor/base/templates/ckeditor/lang/gl.js +6 -0
  480. data/lib/generators/ckeditor/base/templates/ckeditor/lang/gu.js +6 -0
  481. data/lib/generators/ckeditor/base/templates/ckeditor/lang/he.js +6 -0
  482. data/lib/generators/ckeditor/base/templates/ckeditor/lang/hi.js +6 -0
  483. data/lib/generators/ckeditor/base/templates/ckeditor/lang/hr.js +6 -0
  484. data/lib/generators/ckeditor/base/templates/ckeditor/lang/hu.js +6 -0
  485. data/lib/generators/ckeditor/base/templates/ckeditor/lang/is.js +6 -0
  486. data/lib/generators/ckeditor/base/templates/ckeditor/lang/it.js +6 -0
  487. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ja.js +6 -0
  488. data/lib/generators/ckeditor/base/templates/ckeditor/lang/km.js +6 -0
  489. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ko.js +6 -0
  490. data/lib/generators/ckeditor/base/templates/ckeditor/lang/lt.js +6 -0
  491. data/lib/generators/ckeditor/base/templates/ckeditor/lang/lv.js +6 -0
  492. data/lib/generators/ckeditor/base/templates/ckeditor/lang/mn.js +6 -0
  493. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ms.js +6 -0
  494. data/lib/generators/ckeditor/base/templates/ckeditor/lang/nb.js +6 -0
  495. data/lib/generators/ckeditor/base/templates/ckeditor/lang/nl.js +6 -0
  496. data/lib/generators/ckeditor/base/templates/ckeditor/lang/no.js +6 -0
  497. data/lib/generators/ckeditor/base/templates/ckeditor/lang/pl.js +6 -0
  498. data/lib/generators/ckeditor/base/templates/ckeditor/lang/pt-br.js +6 -0
  499. data/lib/generators/ckeditor/base/templates/ckeditor/lang/pt.js +6 -0
  500. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ro.js +6 -0
  501. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ru.js +6 -0
  502. data/lib/generators/ckeditor/base/templates/ckeditor/lang/sk.js +6 -0
  503. data/lib/generators/ckeditor/base/templates/ckeditor/lang/sl.js +6 -0
  504. data/lib/generators/ckeditor/base/templates/ckeditor/lang/sr-latn.js +6 -0
  505. data/lib/generators/ckeditor/base/templates/ckeditor/lang/sr.js +6 -0
  506. data/lib/generators/ckeditor/base/templates/ckeditor/lang/sv.js +6 -0
  507. data/lib/generators/ckeditor/base/templates/ckeditor/lang/th.js +6 -0
  508. data/lib/generators/ckeditor/base/templates/ckeditor/lang/tr.js +6 -0
  509. data/lib/generators/ckeditor/base/templates/ckeditor/lang/uk.js +6 -0
  510. data/lib/generators/ckeditor/base/templates/ckeditor/lang/vi.js +6 -0
  511. data/lib/generators/ckeditor/base/templates/ckeditor/lang/zh-cn.js +6 -0
  512. data/lib/generators/ckeditor/base/templates/ckeditor/lang/zh.js +6 -0
  513. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -0
  514. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/a11yhelp/lang/en.js +0 -0
  515. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/a11yhelp/lang/he.js +0 -0
  516. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/about/dialogs/about.js +0 -0
  517. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  518. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/adobeair/plugin.js +6 -0
  519. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/ajax_save/plugin.js +0 -0
  520. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/attachment/dialogs/attachment.js +0 -0
  521. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/attachment/images/attachment.png +0 -0
  522. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/attachment/lang/en.js +0 -0
  523. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/attachment/lang/ru.js +0 -0
  524. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/attachment/lang/uk.js +0 -0
  525. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/attachment/plugin.js +0 -0
  526. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/autogrow/plugin.js +0 -0
  527. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
  528. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
  529. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/dialog/dialogDefinition.js +0 -0
  530. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/div/dialogs/div.js +0 -0
  531. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/embed/dialogs/embed.js +0 -0
  532. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/embed/images/embed.png +0 -0
  533. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/embed/lang/en.js +0 -0
  534. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/embed/lang/ru.js +0 -0
  535. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/embed/lang/uk.js +0 -0
  536. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/embed/plugin.js +0 -0
  537. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/find/dialogs/find.js +0 -0
  538. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/flash/dialogs/flash.js +9 -0
  539. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/flash/images/placeholder.png +0 -0
  540. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/button.js +6 -0
  541. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
  542. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/form.js +6 -0
  543. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
  544. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/radio.js +6 -0
  545. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/select.js +9 -0
  546. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
  547. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/textfield.js +6 -0
  548. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  549. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/iframe/dialogs/iframe.js +7 -0
  550. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  551. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/iframedialog/plugin.js +0 -0
  552. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/image/dialogs/image.js +13 -0
  553. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/link/dialogs/anchor.js +6 -0
  554. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/link/dialogs/link.js +11 -0
  555. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/link/images/anchor.gif +0 -0
  556. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -0
  557. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  558. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/pastefromword/filter/default.js +10 -0
  559. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -0
  560. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/placeholder/dialogs/placeholder.js +6 -0
  561. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/placeholder/lang/en.js +6 -0
  562. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  563. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/placeholder/plugin.js +6 -0
  564. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/scayt/dialogs/options.js +8 -0
  565. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -0
  566. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  567. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  568. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  569. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  570. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  571. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  572. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  573. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  574. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  575. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  576. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  577. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
  578. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  579. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  580. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  581. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  582. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  583. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  584. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  585. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  586. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/heart.gif +0 -0
  587. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  588. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  589. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  590. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  591. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  592. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  593. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  594. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  595. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  596. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  597. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  598. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  599. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
  600. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/specialchar/lang/en.js +6 -0
  601. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/styles/styles/default.js +0 -0
  602. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/table/dialogs/table.js +9 -0
  603. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/tableresize/plugin.js +7 -0
  604. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
  605. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/templates/dialogs/templates.js +0 -0
  606. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/templates/templates/default.js +0 -0
  607. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  608. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  609. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  610. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -0
  611. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/lang/en.js +0 -0
  612. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/lang/he.js +0 -0
  613. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/plugin.js +0 -0
  614. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  615. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  616. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  617. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  618. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  619. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -0
  620. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/yui/yui.js +0 -0
  621. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -0
  622. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -0
  623. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/wsc/dialogs/wsc.css +0 -0
  624. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
  625. data/lib/generators/ckeditor/base/templates/ckeditor/skins/kama/dialog.css +9 -0
  626. data/lib/generators/ckeditor/base/templates/ckeditor/skins/kama/editor.css +13 -0
  627. data/lib/generators/ckeditor/base/templates/ckeditor/skins/kama/icons.png +0 -0
  628. data/lib/generators/ckeditor/base/templates/ckeditor/skins/kama/icons_rtl.png +0 -0
  629. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  630. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  631. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  632. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/mini.gif +0 -0
  633. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/noimage.png +0 -0
  634. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/sprites.png +0 -0
  635. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  636. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  637. data/lib/generators/ckeditor/base/templates/ckeditor/skins/kama/skin.js +7 -0
  638. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/templates.css +0 -0
  639. data/lib/generators/ckeditor/base/templates/ckeditor/skins/office2003/dialog.css +9 -0
  640. data/lib/generators/ckeditor/base/templates/ckeditor/skins/office2003/editor.css +14 -0
  641. data/lib/generators/ckeditor/base/templates/ckeditor/skins/office2003/icons.png +0 -0
  642. data/lib/generators/ckeditor/base/templates/ckeditor/skins/office2003/icons_rtl.png +0 -0
  643. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  644. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  645. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  646. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/mini.gif +0 -0
  647. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/noimage.png +0 -0
  648. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/sprites.png +0 -0
  649. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  650. data/lib/generators/ckeditor/base/templates/ckeditor/skins/office2003/skin.js +6 -0
  651. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/templates.css +0 -0
  652. data/lib/generators/ckeditor/base/templates/ckeditor/skins/v2/dialog.css +9 -0
  653. data/lib/generators/ckeditor/base/templates/ckeditor/skins/v2/editor.css +13 -0
  654. data/lib/generators/ckeditor/base/templates/ckeditor/skins/v2/icons.png +0 -0
  655. data/lib/generators/ckeditor/base/templates/ckeditor/skins/v2/icons_rtl.png +0 -0
  656. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  657. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  658. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  659. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/mini.gif +0 -0
  660. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/noimage.png +0 -0
  661. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/sprites.png +0 -0
  662. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  663. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  664. data/lib/generators/ckeditor/base/templates/ckeditor/skins/v2/skin.js +6 -0
  665. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/templates.css +0 -0
  666. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/fileprogress.js +0 -0
  667. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/handlers.js +0 -0
  668. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/mootools-1.2.3-core-yc.js +0 -0
  669. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/querystring.js +0 -0
  670. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/swfupload.js +0 -0
  671. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/swfupload.queue.js +0 -0
  672. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/swfupload.swf +0 -0
  673. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/swfupload.swfobject.js +0 -0
  674. data/lib/generators/ckeditor/base/templates/ckeditor/themes/default/theme.js +8 -0
  675. data/lib/generators/ckeditor/migration/USAGE +12 -0
  676. data/lib/generators/ckeditor/migration/migration_generator.rb +46 -0
  677. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/attachment_fu/asset.rb +0 -0
  678. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/attachment_fu/attachment_file.rb +0 -0
  679. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/attachment_fu/migration.rb +0 -0
  680. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/attachment_fu/picture.rb +0 -0
  681. data/lib/generators/ckeditor/migration/templates/models/paperclip/asset.rb +95 -0
  682. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/paperclip/attachment_file.rb +0 -0
  683. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/paperclip/migration.rb +0 -0
  684. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/paperclip/picture.rb +0 -0
  685. data/lib/tasks/ckeditor_tasks.rake +3 -0
  686. metadata +693 -670
  687. data/app/controllers/ckeditor_controller.rb +0 -85
  688. data/app/helpers/ckeditor_helper.rb +0 -38
  689. data/app/views/ckeditor/files.html.erb +0 -91
  690. data/app/views/ckeditor/images.html.erb +0 -91
  691. data/examples/s3/s3.yml +0 -2
  692. data/generators/ckeditor_install/USAGE +0 -7
  693. data/generators/ckeditor_install/ckeditor_install_generator.rb +0 -28
  694. data/generators/ckeditor_install/templates/README +0 -0
  695. data/generators/ckeditor_install/templates/ckeditor.rb +0 -56
  696. data/generators/ckeditor_install/templates/ckeditor/CHANGES.html +0 -993
  697. data/generators/ckeditor_install/templates/ckeditor/_samples/api.html +0 -152
  698. data/generators/ckeditor_install/templates/ckeditor/_samples/index.html +0 -57
  699. data/generators/ckeditor_install/templates/ckeditor/_source/adapters/jquery.js +0 -297
  700. data/generators/ckeditor_install/templates/ckeditor/_source/core/ckeditor_base.js +0 -196
  701. data/generators/ckeditor_install/templates/ckeditor/_source/core/config.js +0 -430
  702. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/document.js +0 -224
  703. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/domobject.js +0 -255
  704. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/element.js +0 -1564
  705. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/node.js +0 -683
  706. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/range.js +0 -1883
  707. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/rangelist.js +0 -214
  708. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/walker.js +0 -445
  709. data/generators/ckeditor_install/templates/ckeditor/_source/core/editor.js +0 -924
  710. data/generators/ckeditor_install/templates/ckeditor/_source/core/env.js +0 -270
  711. data/generators/ckeditor_install/templates/ckeditor/_source/core/htmlparser/element.js +0 -240
  712. data/generators/ckeditor_install/templates/ckeditor/_source/core/htmlparser/fragment.js +0 -504
  713. data/generators/ckeditor_install/templates/ckeditor/_source/core/imagecacher.js +0 -80
  714. data/generators/ckeditor_install/templates/ckeditor/_source/core/loader.js +0 -243
  715. data/generators/ckeditor_install/templates/ckeditor/_source/core/skins.js +0 -212
  716. data/generators/ckeditor_install/templates/ckeditor/_source/core/tools.js +0 -734
  717. data/generators/ckeditor_install/templates/ckeditor/_source/core/ui.js +0 -116
  718. data/generators/ckeditor_install/templates/ckeditor/_source/lang/_translationstatus.txt +0 -60
  719. data/generators/ckeditor_install/templates/ckeditor/_source/lang/af.js +0 -758
  720. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ar.js +0 -758
  721. data/generators/ckeditor_install/templates/ckeditor/_source/lang/bg.js +0 -758
  722. data/generators/ckeditor_install/templates/ckeditor/_source/lang/bn.js +0 -758
  723. data/generators/ckeditor_install/templates/ckeditor/_source/lang/bs.js +0 -758
  724. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ca.js +0 -758
  725. data/generators/ckeditor_install/templates/ckeditor/_source/lang/cs.js +0 -758
  726. data/generators/ckeditor_install/templates/ckeditor/_source/lang/cy.js +0 -758
  727. data/generators/ckeditor_install/templates/ckeditor/_source/lang/da.js +0 -758
  728. data/generators/ckeditor_install/templates/ckeditor/_source/lang/de.js +0 -758
  729. data/generators/ckeditor_install/templates/ckeditor/_source/lang/el.js +0 -758
  730. data/generators/ckeditor_install/templates/ckeditor/_source/lang/en-au.js +0 -758
  731. data/generators/ckeditor_install/templates/ckeditor/_source/lang/en-ca.js +0 -758
  732. data/generators/ckeditor_install/templates/ckeditor/_source/lang/en-gb.js +0 -758
  733. data/generators/ckeditor_install/templates/ckeditor/_source/lang/en.js +0 -758
  734. data/generators/ckeditor_install/templates/ckeditor/_source/lang/eo.js +0 -758
  735. data/generators/ckeditor_install/templates/ckeditor/_source/lang/es.js +0 -758
  736. data/generators/ckeditor_install/templates/ckeditor/_source/lang/et.js +0 -758
  737. data/generators/ckeditor_install/templates/ckeditor/_source/lang/eu.js +0 -758
  738. data/generators/ckeditor_install/templates/ckeditor/_source/lang/fa.js +0 -758
  739. data/generators/ckeditor_install/templates/ckeditor/_source/lang/fi.js +0 -758
  740. data/generators/ckeditor_install/templates/ckeditor/_source/lang/fo.js +0 -758
  741. data/generators/ckeditor_install/templates/ckeditor/_source/lang/fr-ca.js +0 -758
  742. data/generators/ckeditor_install/templates/ckeditor/_source/lang/fr.js +0 -758
  743. data/generators/ckeditor_install/templates/ckeditor/_source/lang/gl.js +0 -758
  744. data/generators/ckeditor_install/templates/ckeditor/_source/lang/gu.js +0 -758
  745. data/generators/ckeditor_install/templates/ckeditor/_source/lang/he.js +0 -758
  746. data/generators/ckeditor_install/templates/ckeditor/_source/lang/hi.js +0 -758
  747. data/generators/ckeditor_install/templates/ckeditor/_source/lang/hr.js +0 -758
  748. data/generators/ckeditor_install/templates/ckeditor/_source/lang/hu.js +0 -758
  749. data/generators/ckeditor_install/templates/ckeditor/_source/lang/is.js +0 -758
  750. data/generators/ckeditor_install/templates/ckeditor/_source/lang/it.js +0 -758
  751. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ja.js +0 -758
  752. data/generators/ckeditor_install/templates/ckeditor/_source/lang/km.js +0 -758
  753. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ko.js +0 -758
  754. data/generators/ckeditor_install/templates/ckeditor/_source/lang/lt.js +0 -758
  755. data/generators/ckeditor_install/templates/ckeditor/_source/lang/lv.js +0 -758
  756. data/generators/ckeditor_install/templates/ckeditor/_source/lang/mn.js +0 -758
  757. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ms.js +0 -758
  758. data/generators/ckeditor_install/templates/ckeditor/_source/lang/nb.js +0 -758
  759. data/generators/ckeditor_install/templates/ckeditor/_source/lang/nl.js +0 -758
  760. data/generators/ckeditor_install/templates/ckeditor/_source/lang/no.js +0 -758
  761. data/generators/ckeditor_install/templates/ckeditor/_source/lang/pl.js +0 -758
  762. data/generators/ckeditor_install/templates/ckeditor/_source/lang/pt-br.js +0 -757
  763. data/generators/ckeditor_install/templates/ckeditor/_source/lang/pt.js +0 -758
  764. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ro.js +0 -758
  765. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ru.js +0 -758
  766. data/generators/ckeditor_install/templates/ckeditor/_source/lang/sk.js +0 -758
  767. data/generators/ckeditor_install/templates/ckeditor/_source/lang/sl.js +0 -758
  768. data/generators/ckeditor_install/templates/ckeditor/_source/lang/sr-latn.js +0 -758
  769. data/generators/ckeditor_install/templates/ckeditor/_source/lang/sr.js +0 -758
  770. data/generators/ckeditor_install/templates/ckeditor/_source/lang/sv.js +0 -758
  771. data/generators/ckeditor_install/templates/ckeditor/_source/lang/th.js +0 -758
  772. data/generators/ckeditor_install/templates/ckeditor/_source/lang/tr.js +0 -757
  773. data/generators/ckeditor_install/templates/ckeditor/_source/lang/uk.js +0 -758
  774. data/generators/ckeditor_install/templates/ckeditor/_source/lang/vi.js +0 -758
  775. data/generators/ckeditor_install/templates/ckeditor/_source/lang/zh-cn.js +0 -758
  776. data/generators/ckeditor_install/templates/ckeditor/_source/lang/zh.js +0 -758
  777. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/bidi/plugin.js +0 -259
  778. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/button/plugin.js +0 -277
  779. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/clipboard/dialogs/paste.js +0 -205
  780. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/clipboard/plugin.js +0 -412
  781. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/colorbutton/plugin.js +0 -250
  782. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +0 -336
  783. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/contextmenu/plugin.js +0 -290
  784. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/dialog/plugin.js +0 -3015
  785. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/dialogadvtab/plugin.js +0 -213
  786. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/dialogui/plugin.js +0 -1523
  787. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/div/plugin.js +0 -121
  788. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/elementspath/plugin.js +0 -206
  789. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/enterkey/plugin.js +0 -363
  790. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/fakeobjects/plugin.js +0 -122
  791. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/filebrowser/plugin.js +0 -501
  792. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/flash/dialogs/flash.js +0 -698
  793. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/flash/plugin.js +0 -168
  794. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/floatpanel/plugin.js +0 -402
  795. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/button.js +0 -135
  796. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/checkbox.js +0 -153
  797. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/form.js +0 -177
  798. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +0 -98
  799. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/radio.js +0 -135
  800. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/select.js +0 -556
  801. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/textarea.js +0 -114
  802. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/textfield.js +0 -199
  803. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/plugin.js +0 -284
  804. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/htmldataprocessor/plugin.js +0 -502
  805. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/image/dialogs/image.js +0 -1396
  806. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/image/plugin.js +0 -81
  807. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/indent/plugin.js +0 -455
  808. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/justify/plugin.js +0 -221
  809. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/link/dialogs/anchor.js +0 -99
  810. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/link/dialogs/link.js +0 -1424
  811. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/link/plugin.js +0 -238
  812. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/list/plugin.js +0 -710
  813. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/listblock/plugin.js +0 -257
  814. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/maximize/plugin.js +0 -350
  815. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/menu/plugin.js +0 -408
  816. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/menubutton/plugin.js +0 -94
  817. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/pagebreak/plugin.js +0 -121
  818. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/panel/plugin.js +0 -399
  819. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/panelbutton/plugin.js +0 -147
  820. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/pastefromword/filter/default.js +0 -1170
  821. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/pastetext/plugin.js +0 -145
  822. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/removeformat/plugin.js +0 -184
  823. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/richcombo/plugin.js +0 -370
  824. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/scayt/dialogs/options.js +0 -534
  825. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/scayt/plugin.js +0 -945
  826. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/showblocks/plugin.js +0 -155
  827. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/showborders/plugin.js +0 -201
  828. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/smiley/dialogs/smiley.js +0 -218
  829. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/sourcearea/plugin.js +0 -207
  830. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +0 -409
  831. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/specialchar/plugin.js +0 -29
  832. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/styles/plugin.js +0 -1479
  833. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/table/dialogs/table.js +0 -672
  834. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/tableresize/plugin.js +0 -450
  835. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +0 -533
  836. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/toolbar/plugin.js +0 -481
  837. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/undo/plugin.js +0 -554
  838. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/wsc/dialogs/wsc.js +0 -176
  839. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/wsc/plugin.js +0 -33
  840. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/wysiwygarea/plugin.js +0 -1146
  841. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/dialog.css +0 -882
  842. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/icons.css +0 -357
  843. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/icons.png +0 -0
  844. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  845. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/mainui.css +0 -195
  846. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/menu.css +0 -216
  847. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/richcombo.css +0 -277
  848. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/skin.js +0 -268
  849. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/toolbar.css +0 -409
  850. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/dialog.css +0 -785
  851. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/icons.css +0 -354
  852. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/icons.png +0 -0
  853. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  854. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/mainui.css +0 -145
  855. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/menu.css +0 -213
  856. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/richcombo.css +0 -297
  857. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/skin.js +0 -81
  858. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/toolbar.css +0 -470
  859. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/dialog.css +0 -800
  860. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/icons.css +0 -354
  861. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/icons.png +0 -0
  862. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  863. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/mainui.css +0 -154
  864. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/menu.css +0 -215
  865. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/richcombo.css +0 -297
  866. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/skin.js +0 -77
  867. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/toolbar.css +0 -423
  868. data/generators/ckeditor_install/templates/ckeditor/_source/themes/default/theme.js +0 -361
  869. data/generators/ckeditor_install/templates/ckeditor/adapters/jquery.js +0 -6
  870. data/generators/ckeditor_install/templates/ckeditor/ckeditor.js +0 -137
  871. data/generators/ckeditor_install/templates/ckeditor/ckeditor.pack +0 -211
  872. data/generators/ckeditor_install/templates/ckeditor/ckeditor_basic.js +0 -8
  873. data/generators/ckeditor_install/templates/ckeditor/ckeditor_basic_source.js +0 -20
  874. data/generators/ckeditor_install/templates/ckeditor/ckeditor_source.js +0 -25
  875. data/generators/ckeditor_install/templates/ckeditor/lang/_translationstatus.txt +0 -60
  876. data/generators/ckeditor_install/templates/ckeditor/lang/af.js +0 -6
  877. data/generators/ckeditor_install/templates/ckeditor/lang/ar.js +0 -6
  878. data/generators/ckeditor_install/templates/ckeditor/lang/bg.js +0 -6
  879. data/generators/ckeditor_install/templates/ckeditor/lang/bn.js +0 -6
  880. data/generators/ckeditor_install/templates/ckeditor/lang/bs.js +0 -6
  881. data/generators/ckeditor_install/templates/ckeditor/lang/ca.js +0 -6
  882. data/generators/ckeditor_install/templates/ckeditor/lang/cs.js +0 -6
  883. data/generators/ckeditor_install/templates/ckeditor/lang/cy.js +0 -6
  884. data/generators/ckeditor_install/templates/ckeditor/lang/da.js +0 -6
  885. data/generators/ckeditor_install/templates/ckeditor/lang/de.js +0 -6
  886. data/generators/ckeditor_install/templates/ckeditor/lang/el.js +0 -6
  887. data/generators/ckeditor_install/templates/ckeditor/lang/en-au.js +0 -6
  888. data/generators/ckeditor_install/templates/ckeditor/lang/en-ca.js +0 -6
  889. data/generators/ckeditor_install/templates/ckeditor/lang/en-gb.js +0 -6
  890. data/generators/ckeditor_install/templates/ckeditor/lang/en.js +0 -6
  891. data/generators/ckeditor_install/templates/ckeditor/lang/eo.js +0 -6
  892. data/generators/ckeditor_install/templates/ckeditor/lang/es.js +0 -6
  893. data/generators/ckeditor_install/templates/ckeditor/lang/et.js +0 -6
  894. data/generators/ckeditor_install/templates/ckeditor/lang/eu.js +0 -6
  895. data/generators/ckeditor_install/templates/ckeditor/lang/fa.js +0 -6
  896. data/generators/ckeditor_install/templates/ckeditor/lang/fi.js +0 -6
  897. data/generators/ckeditor_install/templates/ckeditor/lang/fo.js +0 -6
  898. data/generators/ckeditor_install/templates/ckeditor/lang/fr-ca.js +0 -6
  899. data/generators/ckeditor_install/templates/ckeditor/lang/fr.js +0 -6
  900. data/generators/ckeditor_install/templates/ckeditor/lang/gl.js +0 -6
  901. data/generators/ckeditor_install/templates/ckeditor/lang/gu.js +0 -6
  902. data/generators/ckeditor_install/templates/ckeditor/lang/he.js +0 -6
  903. data/generators/ckeditor_install/templates/ckeditor/lang/hi.js +0 -6
  904. data/generators/ckeditor_install/templates/ckeditor/lang/hr.js +0 -6
  905. data/generators/ckeditor_install/templates/ckeditor/lang/hu.js +0 -6
  906. data/generators/ckeditor_install/templates/ckeditor/lang/is.js +0 -6
  907. data/generators/ckeditor_install/templates/ckeditor/lang/it.js +0 -6
  908. data/generators/ckeditor_install/templates/ckeditor/lang/ja.js +0 -6
  909. data/generators/ckeditor_install/templates/ckeditor/lang/km.js +0 -6
  910. data/generators/ckeditor_install/templates/ckeditor/lang/ko.js +0 -6
  911. data/generators/ckeditor_install/templates/ckeditor/lang/lt.js +0 -6
  912. data/generators/ckeditor_install/templates/ckeditor/lang/lv.js +0 -6
  913. data/generators/ckeditor_install/templates/ckeditor/lang/mn.js +0 -6
  914. data/generators/ckeditor_install/templates/ckeditor/lang/ms.js +0 -6
  915. data/generators/ckeditor_install/templates/ckeditor/lang/nb.js +0 -6
  916. data/generators/ckeditor_install/templates/ckeditor/lang/nl.js +0 -6
  917. data/generators/ckeditor_install/templates/ckeditor/lang/no.js +0 -6
  918. data/generators/ckeditor_install/templates/ckeditor/lang/pl.js +0 -6
  919. data/generators/ckeditor_install/templates/ckeditor/lang/pt-br.js +0 -6
  920. data/generators/ckeditor_install/templates/ckeditor/lang/pt.js +0 -6
  921. data/generators/ckeditor_install/templates/ckeditor/lang/ro.js +0 -6
  922. data/generators/ckeditor_install/templates/ckeditor/lang/ru.js +0 -6
  923. data/generators/ckeditor_install/templates/ckeditor/lang/sk.js +0 -6
  924. data/generators/ckeditor_install/templates/ckeditor/lang/sl.js +0 -6
  925. data/generators/ckeditor_install/templates/ckeditor/lang/sr-latn.js +0 -6
  926. data/generators/ckeditor_install/templates/ckeditor/lang/sr.js +0 -6
  927. data/generators/ckeditor_install/templates/ckeditor/lang/sv.js +0 -6
  928. data/generators/ckeditor_install/templates/ckeditor/lang/th.js +0 -6
  929. data/generators/ckeditor_install/templates/ckeditor/lang/tr.js +0 -6
  930. data/generators/ckeditor_install/templates/ckeditor/lang/uk.js +0 -6
  931. data/generators/ckeditor_install/templates/ckeditor/lang/vi.js +0 -6
  932. data/generators/ckeditor_install/templates/ckeditor/lang/zh-cn.js +0 -6
  933. data/generators/ckeditor_install/templates/ckeditor/lang/zh.js +0 -6
  934. data/generators/ckeditor_install/templates/ckeditor/plugins/clipboard/dialogs/paste.js +0 -7
  935. data/generators/ckeditor_install/templates/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -7
  936. data/generators/ckeditor_install/templates/ckeditor/plugins/flash/dialogs/flash.js +0 -9
  937. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/button.js +0 -6
  938. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/checkbox.js +0 -6
  939. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/form.js +0 -6
  940. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -6
  941. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/radio.js +0 -6
  942. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/select.js +0 -9
  943. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/textarea.js +0 -6
  944. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/textfield.js +0 -7
  945. data/generators/ckeditor_install/templates/ckeditor/plugins/image/dialogs/image.js +0 -13
  946. data/generators/ckeditor_install/templates/ckeditor/plugins/link/dialogs/anchor.js +0 -6
  947. data/generators/ckeditor_install/templates/ckeditor/plugins/link/dialogs/link.js +0 -11
  948. data/generators/ckeditor_install/templates/ckeditor/plugins/pastefromword/filter/default.js +0 -10
  949. data/generators/ckeditor_install/templates/ckeditor/plugins/scayt/dialogs/options.js +0 -8
  950. data/generators/ckeditor_install/templates/ckeditor/plugins/smiley/dialogs/smiley.js +0 -7
  951. data/generators/ckeditor_install/templates/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -7
  952. data/generators/ckeditor_install/templates/ckeditor/plugins/table/dialogs/table.js +0 -9
  953. data/generators/ckeditor_install/templates/ckeditor/plugins/tableresize/plugin.js +0 -7
  954. data/generators/ckeditor_install/templates/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -8
  955. data/generators/ckeditor_install/templates/ckeditor/plugins/wsc/dialogs/wsc.js +0 -7
  956. data/generators/ckeditor_install/templates/ckeditor/skins/kama/dialog.css +0 -9
  957. data/generators/ckeditor_install/templates/ckeditor/skins/kama/editor.css +0 -12
  958. data/generators/ckeditor_install/templates/ckeditor/skins/kama/icons.png +0 -0
  959. data/generators/ckeditor_install/templates/ckeditor/skins/kama/icons_rtl.png +0 -0
  960. data/generators/ckeditor_install/templates/ckeditor/skins/kama/skin.js +0 -7
  961. data/generators/ckeditor_install/templates/ckeditor/skins/office2003/dialog.css +0 -9
  962. data/generators/ckeditor_install/templates/ckeditor/skins/office2003/editor.css +0 -13
  963. data/generators/ckeditor_install/templates/ckeditor/skins/office2003/icons.png +0 -0
  964. data/generators/ckeditor_install/templates/ckeditor/skins/office2003/icons_rtl.png +0 -0
  965. data/generators/ckeditor_install/templates/ckeditor/skins/office2003/skin.js +0 -6
  966. data/generators/ckeditor_install/templates/ckeditor/skins/v2/dialog.css +0 -9
  967. data/generators/ckeditor_install/templates/ckeditor/skins/v2/editor.css +0 -12
  968. data/generators/ckeditor_install/templates/ckeditor/skins/v2/icons.png +0 -0
  969. data/generators/ckeditor_install/templates/ckeditor/skins/v2/icons_rtl.png +0 -0
  970. data/generators/ckeditor_install/templates/ckeditor/skins/v2/skin.js +0 -6
  971. data/generators/ckeditor_install/templates/ckeditor/themes/default/theme.js +0 -8
  972. data/generators/ckeditor_migration/USAGE +0 -12
  973. data/generators/ckeditor_migration/ckeditor_migration_generator.rb +0 -36
  974. data/generators/ckeditor_migration/templates/models/paperclip/asset.rb +0 -88
  975. data/lib/ckeditor/safe_buffer.rb +0 -34
@@ -0,0 +1,258 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview Defines the {@link CKEDITOR.editor} class, which is the base
8
+ * for other classes representing DOM objects.
9
+ */
10
+
11
+ /**
12
+ * Represents a DOM object. This class is not intended to be used directly. It
13
+ * serves as the base class for other classes representing specific DOM
14
+ * objects.
15
+ * @constructor
16
+ * @param {Object} nativeDomObject A native DOM object.
17
+ * @augments CKEDITOR.event
18
+ * @example
19
+ */
20
+ CKEDITOR.dom.domObject = function( nativeDomObject )
21
+ {
22
+ if ( nativeDomObject )
23
+ {
24
+ /**
25
+ * The native DOM object represented by this class instance.
26
+ * @type Object
27
+ * @example
28
+ * var element = new CKEDITOR.dom.element( 'span' );
29
+ * alert( element.$.nodeType ); // "1"
30
+ */
31
+ this.$ = nativeDomObject;
32
+ }
33
+ };
34
+
35
+ CKEDITOR.dom.domObject.prototype = (function()
36
+ {
37
+ // Do not define other local variables here. We want to keep the native
38
+ // listener closures as clean as possible.
39
+
40
+ var getNativeListener = function( domObject, eventName )
41
+ {
42
+ return function( domEvent )
43
+ {
44
+ // In FF, when reloading the page with the editor focused, it may
45
+ // throw an error because the CKEDITOR global is not anymore
46
+ // available. So, we check it here first. (#2923)
47
+ if ( typeof CKEDITOR != 'undefined' )
48
+ domObject.fire( eventName, new CKEDITOR.dom.event( domEvent ) );
49
+ };
50
+ };
51
+
52
+ return /** @lends CKEDITOR.dom.domObject.prototype */ {
53
+
54
+ getPrivate : function()
55
+ {
56
+ var priv;
57
+
58
+ // Get the main private function from the custom data. Create it if not
59
+ // defined.
60
+ if ( !( priv = this.getCustomData( '_' ) ) )
61
+ this.setCustomData( '_', ( priv = {} ) );
62
+
63
+ return priv;
64
+ },
65
+
66
+ /** @ignore */
67
+ on : function( eventName )
68
+ {
69
+ // We customize the "on" function here. The basic idea is that we'll have
70
+ // only one listener for a native event, which will then call all listeners
71
+ // set to the event.
72
+
73
+ // Get the listeners holder object.
74
+ var nativeListeners = this.getCustomData( '_cke_nativeListeners' );
75
+
76
+ if ( !nativeListeners )
77
+ {
78
+ nativeListeners = {};
79
+ this.setCustomData( '_cke_nativeListeners', nativeListeners );
80
+ }
81
+
82
+ // Check if we have a listener for that event.
83
+ if ( !nativeListeners[ eventName ] )
84
+ {
85
+ var listener = nativeListeners[ eventName ] = getNativeListener( this, eventName );
86
+
87
+ if ( this.$.attachEvent )
88
+ this.$.attachEvent( 'on' + eventName, listener );
89
+ else if ( this.$.addEventListener )
90
+ this.$.addEventListener( eventName, listener, !!CKEDITOR.event.useCapture );
91
+ }
92
+
93
+ // Call the original implementation.
94
+ return CKEDITOR.event.prototype.on.apply( this, arguments );
95
+ },
96
+
97
+ /** @ignore */
98
+ removeListener : function( eventName )
99
+ {
100
+ // Call the original implementation.
101
+ CKEDITOR.event.prototype.removeListener.apply( this, arguments );
102
+
103
+ // If we don't have listeners for this event, clean the DOM up.
104
+ if ( !this.hasListeners( eventName ) )
105
+ {
106
+ var nativeListeners = this.getCustomData( '_cke_nativeListeners' );
107
+ var listener = nativeListeners && nativeListeners[ eventName ];
108
+ if ( listener )
109
+ {
110
+ if ( this.$.detachEvent )
111
+ this.$.detachEvent( 'on' + eventName, listener );
112
+ else if ( this.$.removeEventListener )
113
+ this.$.removeEventListener( eventName, listener, false );
114
+
115
+ delete nativeListeners[ eventName ];
116
+ }
117
+ }
118
+ },
119
+
120
+ /**
121
+ * Removes any listener set on this object.
122
+ * To avoid memory leaks we must assure that there are no
123
+ * references left after the object is no longer needed.
124
+ */
125
+ removeAllListeners : function()
126
+ {
127
+ var nativeListeners = this.getCustomData( '_cke_nativeListeners' );
128
+ for ( var eventName in nativeListeners )
129
+ {
130
+ var listener = nativeListeners[ eventName ];
131
+ if ( this.$.detachEvent )
132
+ this.$.detachEvent( 'on' + eventName, listener );
133
+ else if ( this.$.removeEventListener )
134
+ this.$.removeEventListener( eventName, listener, false );
135
+
136
+ delete nativeListeners[ eventName ];
137
+ }
138
+ }
139
+ };
140
+ })();
141
+
142
+ (function( domObjectProto )
143
+ {
144
+ var customData = {};
145
+
146
+ CKEDITOR.on( 'reset', function()
147
+ {
148
+ customData = {};
149
+ });
150
+
151
+ /**
152
+ * Determines whether the specified object is equal to the current object.
153
+ * @name CKEDITOR.dom.domObject.prototype.equals
154
+ * @function
155
+ * @param {Object} object The object to compare with the current object.
156
+ * @returns {Boolean} "true" if the object is equal.
157
+ * @example
158
+ * var doc = new CKEDITOR.dom.document( document );
159
+ * alert( doc.equals( CKEDITOR.document ) ); // "true"
160
+ * alert( doc == CKEDITOR.document ); // "false"
161
+ */
162
+ domObjectProto.equals = function( object )
163
+ {
164
+ return ( object && object.$ === this.$ );
165
+ };
166
+
167
+ /**
168
+ * Sets a data slot value for this object. These values are shared by all
169
+ * instances pointing to that same DOM object.
170
+ * <strong>Note:</strong> The created data slot is only guarantied to be available on this unique dom node,
171
+ * thus any wish to continue access it from other element clones (either created by clone node or from innerHtml)
172
+ * will fail, for such usage, please use {@link CKEDITOR.dom.element::setAttribute} instead.
173
+ * @name CKEDITOR.dom.domObject.prototype.setCustomData
174
+ * @function
175
+ * @param {String} key A key used to identify the data slot.
176
+ * @param {Object} value The value to set to the data slot.
177
+ * @returns {CKEDITOR.dom.domObject} This DOM object instance.
178
+ * @see CKEDITOR.dom.domObject.prototype.getCustomData
179
+ * @example
180
+ * var element = new CKEDITOR.dom.element( 'span' );
181
+ * element.setCustomData( 'hasCustomData', true );
182
+ */
183
+ domObjectProto.setCustomData = function( key, value )
184
+ {
185
+ var expandoNumber = this.getUniqueId(),
186
+ dataSlot = customData[ expandoNumber ] || ( customData[ expandoNumber ] = {} );
187
+
188
+ dataSlot[ key ] = value;
189
+
190
+ return this;
191
+ };
192
+
193
+ /**
194
+ * Gets the value set to a data slot in this object.
195
+ * @name CKEDITOR.dom.domObject.prototype.getCustomData
196
+ * @function
197
+ * @param {String} key The key used to identify the data slot.
198
+ * @returns {Object} This value set to the data slot.
199
+ * @see CKEDITOR.dom.domObject.prototype.setCustomData
200
+ * @example
201
+ * var element = new CKEDITOR.dom.element( 'span' );
202
+ * alert( element.getCustomData( 'hasCustomData' ) ); // e.g. 'true'
203
+ */
204
+ domObjectProto.getCustomData = function( key )
205
+ {
206
+ var expandoNumber = this.$[ 'data-cke-expando' ],
207
+ dataSlot = expandoNumber && customData[ expandoNumber ];
208
+
209
+ return dataSlot && dataSlot[ key ];
210
+ };
211
+
212
+ /**
213
+ * @name CKEDITOR.dom.domObject.prototype.removeCustomData
214
+ */
215
+ domObjectProto.removeCustomData = function( key )
216
+ {
217
+ var expandoNumber = this.$[ 'data-cke-expando' ],
218
+ dataSlot = expandoNumber && customData[ expandoNumber ],
219
+ retval = dataSlot && dataSlot[ key ];
220
+
221
+ if ( typeof retval != 'undefined' )
222
+ delete dataSlot[ key ];
223
+
224
+ return retval || null;
225
+ };
226
+
227
+ /**
228
+ * Removes any data stored on this object.
229
+ * To avoid memory leaks we must assure that there are no
230
+ * references left after the object is no longer needed.
231
+ * @name CKEDITOR.dom.domObject.prototype.clearCustomData
232
+ * @function
233
+ */
234
+ domObjectProto.clearCustomData = function()
235
+ {
236
+ // Clear all event listeners
237
+ this.removeAllListeners();
238
+
239
+ var expandoNumber = this.$[ 'data-cke-expando' ];
240
+ expandoNumber && delete customData[ expandoNumber ];
241
+ };
242
+
243
+ /**
244
+ * Gets an ID that can be used to identiquely identify this DOM object in
245
+ * the running session.
246
+ * @name CKEDITOR.dom.domObject.prototype.getUniqueId
247
+ * @function
248
+ * @returns {Number} A unique ID.
249
+ */
250
+ domObjectProto.getUniqueId = function()
251
+ {
252
+ return this.$[ 'data-cke-expando' ] || ( this.$[ 'data-cke-expando' ] = CKEDITOR.tools.getNextNumber() );
253
+ };
254
+
255
+ // Implement CKEDITOR.event.
256
+ CKEDITOR.event.implementOn( domObjectProto );
257
+
258
+ })( CKEDITOR.dom.domObject.prototype );
@@ -0,0 +1,1615 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview Defines the {@link CKEDITOR.dom.element} class, which
8
+ * represents a DOM element.
9
+ */
10
+
11
+ /**
12
+ * Represents a DOM element.
13
+ * @constructor
14
+ * @augments CKEDITOR.dom.node
15
+ * @param {Object|String} element A native DOM element or the element name for
16
+ * new elements.
17
+ * @param {CKEDITOR.dom.document} [ownerDocument] The document that will contain
18
+ * the element in case of element creation.
19
+ * @example
20
+ * // Create a new &lt;span&gt; element.
21
+ * var element = new CKEDITOR.dom.element( 'span' );
22
+ * @example
23
+ * // Create an element based on a native DOM element.
24
+ * var element = new CKEDITOR.dom.element( document.getElementById( 'myId' ) );
25
+ */
26
+ CKEDITOR.dom.element = function( element, ownerDocument )
27
+ {
28
+ if ( typeof element == 'string' )
29
+ element = ( ownerDocument ? ownerDocument.$ : document ).createElement( element );
30
+
31
+ // Call the base constructor (we must not call CKEDITOR.dom.node).
32
+ CKEDITOR.dom.domObject.call( this, element );
33
+ };
34
+
35
+ // PACKAGER_RENAME( CKEDITOR.dom.element )
36
+
37
+ /**
38
+ * The the {@link CKEDITOR.dom.element} representing and element. If the
39
+ * element is a native DOM element, it will be transformed into a valid
40
+ * CKEDITOR.dom.element object.
41
+ * @returns {CKEDITOR.dom.element} The transformed element.
42
+ * @example
43
+ * var element = new CKEDITOR.dom.element( 'span' );
44
+ * alert( element == <b>CKEDITOR.dom.element.get( element )</b> ); "true"
45
+ * @example
46
+ * var element = document.getElementById( 'myElement' );
47
+ * alert( <b>CKEDITOR.dom.element.get( element )</b>.getName() ); e.g. "p"
48
+ */
49
+ CKEDITOR.dom.element.get = function( element )
50
+ {
51
+ return element && ( element.$ ? element : new CKEDITOR.dom.element( element ) );
52
+ };
53
+
54
+ CKEDITOR.dom.element.prototype = new CKEDITOR.dom.node();
55
+
56
+ /**
57
+ * Creates an instance of the {@link CKEDITOR.dom.element} class based on the
58
+ * HTML representation of an element.
59
+ * @param {String} html The element HTML. It should define only one element in
60
+ * the "root" level. The "root" element can have child nodes, but not
61
+ * siblings.
62
+ * @returns {CKEDITOR.dom.element} The element instance.
63
+ * @example
64
+ * var element = <b>CKEDITOR.dom.element.createFromHtml( '&lt;strong class="anyclass"&gt;My element&lt;/strong&gt;' )</b>;
65
+ * alert( element.getName() ); // "strong"
66
+ */
67
+ CKEDITOR.dom.element.createFromHtml = function( html, ownerDocument )
68
+ {
69
+ var temp = new CKEDITOR.dom.element( 'div', ownerDocument );
70
+ temp.setHtml( html );
71
+
72
+ // When returning the node, remove it from its parent to detach it.
73
+ return temp.getFirst().remove();
74
+ };
75
+
76
+ CKEDITOR.dom.element.setMarker = function( database, element, name, value )
77
+ {
78
+ var id = element.getCustomData( 'list_marker_id' ) ||
79
+ ( element.setCustomData( 'list_marker_id', CKEDITOR.tools.getNextNumber() ).getCustomData( 'list_marker_id' ) ),
80
+ markerNames = element.getCustomData( 'list_marker_names' ) ||
81
+ ( element.setCustomData( 'list_marker_names', {} ).getCustomData( 'list_marker_names' ) );
82
+ database[id] = element;
83
+ markerNames[name] = 1;
84
+
85
+ return element.setCustomData( name, value );
86
+ };
87
+
88
+ CKEDITOR.dom.element.clearAllMarkers = function( database )
89
+ {
90
+ for ( var i in database )
91
+ CKEDITOR.dom.element.clearMarkers( database, database[i], 1 );
92
+ };
93
+
94
+ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatabase )
95
+ {
96
+ var names = element.getCustomData( 'list_marker_names' ),
97
+ id = element.getCustomData( 'list_marker_id' );
98
+ for ( var i in names )
99
+ element.removeCustomData( i );
100
+ element.removeCustomData( 'list_marker_names' );
101
+ if ( removeFromDatabase )
102
+ {
103
+ element.removeCustomData( 'list_marker_id' );
104
+ delete database[id];
105
+ }
106
+ };
107
+
108
+ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
109
+ /** @lends CKEDITOR.dom.element.prototype */
110
+ {
111
+ /**
112
+ * The node type. This is a constant value set to
113
+ * {@link CKEDITOR.NODE_ELEMENT}.
114
+ * @type Number
115
+ * @example
116
+ */
117
+ type : CKEDITOR.NODE_ELEMENT,
118
+
119
+ /**
120
+ * Adds a CSS class to the element. It appends the class to the
121
+ * already existing names.
122
+ * @param {String} className The name of the class to be added.
123
+ * @example
124
+ * var element = new CKEDITOR.dom.element( 'div' );
125
+ * element.addClass( 'classA' ); // &lt;div class="classA"&gt;
126
+ * element.addClass( 'classB' ); // &lt;div class="classA classB"&gt;
127
+ * element.addClass( 'classA' ); // &lt;div class="classA classB"&gt;
128
+ */
129
+ addClass : function( className )
130
+ {
131
+ var c = this.$.className;
132
+ if ( c )
133
+ {
134
+ var regex = new RegExp( '(?:^|\\s)' + className + '(?:\\s|$)', '' );
135
+ if ( !regex.test( c ) )
136
+ c += ' ' + className;
137
+ }
138
+ this.$.className = c || className;
139
+ },
140
+
141
+ /**
142
+ * Removes a CSS class name from the elements classes. Other classes
143
+ * remain untouched.
144
+ * @param {String} className The name of the class to remove.
145
+ * @example
146
+ * var element = new CKEDITOR.dom.element( 'div' );
147
+ * element.addClass( 'classA' ); // &lt;div class="classA"&gt;
148
+ * element.addClass( 'classB' ); // &lt;div class="classA classB"&gt;
149
+ * element.removeClass( 'classA' ); // &lt;div class="classB"&gt;
150
+ * element.removeClass( 'classB' ); // &lt;div&gt;
151
+ */
152
+ removeClass : function( className )
153
+ {
154
+ var c = this.getAttribute( 'class' );
155
+ if ( c )
156
+ {
157
+ var regex = new RegExp( '(?:^|\\s+)' + className + '(?=\\s|$)', 'i' );
158
+ if ( regex.test( c ) )
159
+ {
160
+ c = c.replace( regex, '' ).replace( /^\s+/, '' );
161
+
162
+ if ( c )
163
+ this.setAttribute( 'class', c );
164
+ else
165
+ this.removeAttribute( 'class' );
166
+ }
167
+ }
168
+ },
169
+
170
+ hasClass : function( className )
171
+ {
172
+ var regex = new RegExp( '(?:^|\\s+)' + className + '(?=\\s|$)', '' );
173
+ return regex.test( this.getAttribute('class') );
174
+ },
175
+
176
+ /**
177
+ * Append a node as a child of this element.
178
+ * @param {CKEDITOR.dom.node|String} node The node or element name to be
179
+ * appended.
180
+ * @param {Boolean} [toStart] Indicates that the element is to be
181
+ * appended at the start.
182
+ * @returns {CKEDITOR.dom.node} The appended node.
183
+ * @example
184
+ * var p = new CKEDITOR.dom.element( 'p' );
185
+ *
186
+ * var strong = new CKEDITOR.dom.element( 'strong' );
187
+ * <b>p.append( strong );</b>
188
+ *
189
+ * var em = <b>p.append( 'em' );</b>
190
+ *
191
+ * // result: "&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;"
192
+ */
193
+ append : function( node, toStart )
194
+ {
195
+ if ( typeof node == 'string' )
196
+ node = this.getDocument().createElement( node );
197
+
198
+ if ( toStart )
199
+ this.$.insertBefore( node.$, this.$.firstChild );
200
+ else
201
+ this.$.appendChild( node.$ );
202
+
203
+ return node;
204
+ },
205
+
206
+ appendHtml : function( html )
207
+ {
208
+ if ( !this.$.childNodes.length )
209
+ this.setHtml( html );
210
+ else
211
+ {
212
+ var temp = new CKEDITOR.dom.element( 'div', this.getDocument() );
213
+ temp.setHtml( html );
214
+ temp.moveChildren( this );
215
+ }
216
+ },
217
+
218
+ /**
219
+ * Append text to this element.
220
+ * @param {String} text The text to be appended.
221
+ * @returns {CKEDITOR.dom.node} The appended node.
222
+ * @example
223
+ * var p = new CKEDITOR.dom.element( 'p' );
224
+ * p.appendText( 'This is' );
225
+ * p.appendText( ' some text' );
226
+ *
227
+ * // result: "&lt;p&gt;This is some text&lt;/p&gt;"
228
+ */
229
+ appendText : function( text )
230
+ {
231
+ if ( this.$.text != undefined )
232
+ this.$.text += text;
233
+ else
234
+ this.append( new CKEDITOR.dom.text( text ) );
235
+ },
236
+
237
+ appendBogus : function()
238
+ {
239
+ var lastChild = this.getLast() ;
240
+
241
+ // Ignore empty/spaces text.
242
+ while ( lastChild && lastChild.type == CKEDITOR.NODE_TEXT && !CKEDITOR.tools.rtrim( lastChild.getText() ) )
243
+ lastChild = lastChild.getPrevious();
244
+ if ( !lastChild || !lastChild.is || !lastChild.is( 'br' ) )
245
+ {
246
+ var bogus = CKEDITOR.env.opera ?
247
+ this.getDocument().createText('') :
248
+ this.getDocument().createElement( 'br' );
249
+
250
+ CKEDITOR.env.gecko && bogus.setAttribute( 'type', '_moz' );
251
+
252
+ this.append( bogus );
253
+ }
254
+ },
255
+
256
+ /**
257
+ * Breaks one of the ancestor element in the element position, moving
258
+ * this element between the broken parts.
259
+ * @param {CKEDITOR.dom.element} parent The anscestor element to get broken.
260
+ * @example
261
+ * // Before breaking:
262
+ * // &lt;b&gt;This &lt;i&gt;is some&lt;span /&gt; sample&lt;/i&gt; test text&lt;/b&gt;
263
+ * // If "element" is &lt;span /&gt; and "parent" is &lt;i&gt;:
264
+ * // &lt;b&gt;This &lt;i&gt;is some&lt;/i&gt;&lt;span /&gt;&lt;i&gt; sample&lt;/i&gt; test text&lt;/b&gt;
265
+ * element.breakParent( parent );
266
+ * @example
267
+ * // Before breaking:
268
+ * // &lt;b&gt;This &lt;i&gt;is some&lt;span /&gt; sample&lt;/i&gt; test text&lt;/b&gt;
269
+ * // If "element" is &lt;span /&gt; and "parent" is &lt;b&gt;:
270
+ * // &lt;b&gt;This &lt;i&gt;is some&lt;/i&gt;&lt;/b&gt;&lt;span /&gt;&lt;b&gt;&lt;i&gt; sample&lt;/i&gt; test text&lt;/b&gt;
271
+ * element.breakParent( parent );
272
+ */
273
+ breakParent : function( parent )
274
+ {
275
+ var range = new CKEDITOR.dom.range( this.getDocument() );
276
+
277
+ // We'll be extracting part of this element, so let's use our
278
+ // range to get the correct piece.
279
+ range.setStartAfter( this );
280
+ range.setEndAfter( parent );
281
+
282
+ // Extract it.
283
+ var docFrag = range.extractContents();
284
+
285
+ // Move the element outside the broken element.
286
+ range.insertNode( this.remove() );
287
+
288
+ // Re-insert the extracted piece after the element.
289
+ docFrag.insertAfterNode( this );
290
+ },
291
+
292
+ contains :
293
+ CKEDITOR.env.ie || CKEDITOR.env.webkit ?
294
+ function( node )
295
+ {
296
+ var $ = this.$;
297
+
298
+ return node.type != CKEDITOR.NODE_ELEMENT ?
299
+ $.contains( node.getParent().$ ) :
300
+ $ != node.$ && $.contains( node.$ );
301
+ }
302
+ :
303
+ function( node )
304
+ {
305
+ return !!( this.$.compareDocumentPosition( node.$ ) & 16 );
306
+ },
307
+
308
+ /**
309
+ * Moves the selection focus to this element.
310
+ * @param {Boolean} defer Whether to asynchronously defer the
311
+ * execution by 100 ms.
312
+ * @example
313
+ * var element = CKEDITOR.document.getById( 'myTextarea' );
314
+ * <b>element.focus()</b>;
315
+ */
316
+ focus : ( function()
317
+ {
318
+ function exec()
319
+ {
320
+ // IE throws error if the element is not visible.
321
+ try
322
+ {
323
+ this.$.focus();
324
+ }
325
+ catch (e)
326
+ {}
327
+ }
328
+
329
+ return function( defer )
330
+ {
331
+ if ( defer )
332
+ CKEDITOR.tools.setTimeout( exec, 100, this );
333
+ else
334
+ exec.call( this );
335
+ };
336
+ })(),
337
+
338
+ /**
339
+ * Gets the inner HTML of this element.
340
+ * @returns {String} The inner HTML of this element.
341
+ * @example
342
+ * var element = CKEDITOR.dom.element.createFromHtml( '&lt;div&gt;&lt;b&gt;Example&lt;/b&gt;&lt;/div&gt;' );
343
+ * alert( <b>p.getHtml()</b> ); // "&lt;b&gt;Example&lt;/b&gt;"
344
+ */
345
+ getHtml : function()
346
+ {
347
+ var retval = this.$.innerHTML;
348
+ // Strip <?xml:namespace> tags in IE. (#3341).
349
+ return CKEDITOR.env.ie ? retval.replace( /<\?[^>]*>/g, '' ) : retval;
350
+ },
351
+
352
+ getOuterHtml : function()
353
+ {
354
+ if ( this.$.outerHTML )
355
+ {
356
+ // IE includes the <?xml:namespace> tag in the outerHTML of
357
+ // namespaced element. So, we must strip it here. (#3341)
358
+ return this.$.outerHTML.replace( /<\?[^>]*>/, '' );
359
+ }
360
+
361
+ var tmpDiv = this.$.ownerDocument.createElement( 'div' );
362
+ tmpDiv.appendChild( this.$.cloneNode( true ) );
363
+ return tmpDiv.innerHTML;
364
+ },
365
+
366
+ /**
367
+ * Sets the inner HTML of this element.
368
+ * @param {String} html The HTML to be set for this element.
369
+ * @returns {String} The inserted HTML.
370
+ * @example
371
+ * var p = new CKEDITOR.dom.element( 'p' );
372
+ * <b>p.setHtml( '&lt;b&gt;Inner&lt;/b&gt; HTML' );</b>
373
+ *
374
+ * // result: "&lt;p&gt;&lt;b&gt;Inner&lt;/b&gt; HTML&lt;/p&gt;"
375
+ */
376
+ setHtml : function( html )
377
+ {
378
+ return ( this.$.innerHTML = html );
379
+ },
380
+
381
+ /**
382
+ * Sets the element contents as plain text.
383
+ * @param {String} text The text to be set.
384
+ * @returns {String} The inserted text.
385
+ * @example
386
+ * var element = new CKEDITOR.dom.element( 'div' );
387
+ * element.setText( 'A > B & C < D' );
388
+ * alert( element.innerHTML ); // "A &amp;gt; B &amp;amp; C &amp;lt; D"
389
+ */
390
+ setText : function( text )
391
+ {
392
+ CKEDITOR.dom.element.prototype.setText = ( this.$.innerText != undefined ) ?
393
+ function ( text )
394
+ {
395
+ return this.$.innerText = text;
396
+ } :
397
+ function ( text )
398
+ {
399
+ return this.$.textContent = text;
400
+ };
401
+
402
+ return this.setText( text );
403
+ },
404
+
405
+ /**
406
+ * Gets the value of an element attribute.
407
+ * @function
408
+ * @param {String} name The attribute name.
409
+ * @returns {String} The attribute value or null if not defined.
410
+ * @example
411
+ * var element = CKEDITOR.dom.element.createFromHtml( '&lt;input type="text" /&gt;' );
412
+ * alert( <b>element.getAttribute( 'type' )</b> ); // "text"
413
+ */
414
+ getAttribute : (function()
415
+ {
416
+ var standard = function( name )
417
+ {
418
+ return this.$.getAttribute( name, 2 );
419
+ };
420
+
421
+ if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) )
422
+ {
423
+ return function( name )
424
+ {
425
+ switch ( name )
426
+ {
427
+ case 'class':
428
+ name = 'className';
429
+ break;
430
+
431
+ case 'tabindex':
432
+ var tabIndex = standard.call( this, name );
433
+
434
+ // IE returns tabIndex=0 by default for all
435
+ // elements. For those elements,
436
+ // getAtrribute( 'tabindex', 2 ) returns 32768
437
+ // instead. So, we must make this check to give a
438
+ // uniform result among all browsers.
439
+ if ( tabIndex !== 0 && this.$.tabIndex === 0 )
440
+ tabIndex = null;
441
+
442
+ return tabIndex;
443
+ break;
444
+
445
+ case 'checked':
446
+ {
447
+ var attr = this.$.attributes.getNamedItem( name ),
448
+ attrValue = attr.specified ? attr.nodeValue // For value given by parser.
449
+ : this.$.checked; // For value created via DOM interface.
450
+
451
+ return attrValue ? 'checked' : null;
452
+ }
453
+
454
+ case 'hspace':
455
+ return this.$.hspace;
456
+
457
+ case 'style':
458
+ // IE does not return inline styles via getAttribute(). See #2947.
459
+ return this.$.style.cssText;
460
+ }
461
+
462
+ return standard.call( this, name );
463
+ };
464
+ }
465
+ else
466
+ return standard;
467
+ })(),
468
+
469
+ getChildren : function()
470
+ {
471
+ return new CKEDITOR.dom.nodeList( this.$.childNodes );
472
+ },
473
+
474
+ /**
475
+ * Gets the current computed value of one of the element CSS style
476
+ * properties.
477
+ * @function
478
+ * @param {String} propertyName The style property name.
479
+ * @returns {String} The property value.
480
+ * @example
481
+ * var element = new CKEDITOR.dom.element( 'span' );
482
+ * alert( <b>element.getComputedStyle( 'display' )</b> ); // "inline"
483
+ */
484
+ getComputedStyle :
485
+ CKEDITOR.env.ie ?
486
+ function( propertyName )
487
+ {
488
+ return this.$.currentStyle[ CKEDITOR.tools.cssStyleToDomStyle( propertyName ) ];
489
+ }
490
+ :
491
+ function( propertyName )
492
+ {
493
+ return this.getWindow().$.getComputedStyle( this.$, '' ).getPropertyValue( propertyName );
494
+ },
495
+
496
+ /**
497
+ * Gets the DTD entries for this element.
498
+ * @returns {Object} An object containing the list of elements accepted
499
+ * by this element.
500
+ */
501
+ getDtd : function()
502
+ {
503
+ var dtd = CKEDITOR.dtd[ this.getName() ];
504
+
505
+ this.getDtd = function()
506
+ {
507
+ return dtd;
508
+ };
509
+
510
+ return dtd;
511
+ },
512
+
513
+ getElementsByTag : CKEDITOR.dom.document.prototype.getElementsByTag,
514
+
515
+ /**
516
+ * Gets the computed tabindex for this element.
517
+ * @function
518
+ * @returns {Number} The tabindex value.
519
+ * @example
520
+ * var element = CKEDITOR.document.getById( 'myDiv' );
521
+ * alert( <b>element.getTabIndex()</b> ); // e.g. "-1"
522
+ */
523
+ getTabIndex :
524
+ CKEDITOR.env.ie ?
525
+ function()
526
+ {
527
+ var tabIndex = this.$.tabIndex;
528
+
529
+ // IE returns tabIndex=0 by default for all elements. In
530
+ // those cases we must check that the element really has
531
+ // the tabindex attribute set to zero, or it is one of
532
+ // those element that should have zero by default.
533
+ if ( tabIndex === 0 && !CKEDITOR.dtd.$tabIndex[ this.getName() ] && parseInt( this.getAttribute( 'tabindex' ), 10 ) !== 0 )
534
+ tabIndex = -1;
535
+
536
+ return tabIndex;
537
+ }
538
+ : CKEDITOR.env.webkit ?
539
+ function()
540
+ {
541
+ var tabIndex = this.$.tabIndex;
542
+
543
+ // Safari returns "undefined" for elements that should not
544
+ // have tabindex (like a div). So, we must try to get it
545
+ // from the attribute.
546
+ // https://bugs.webkit.org/show_bug.cgi?id=20596
547
+ if ( tabIndex == undefined )
548
+ {
549
+ tabIndex = parseInt( this.getAttribute( 'tabindex' ), 10 );
550
+
551
+ // If the element don't have the tabindex attribute,
552
+ // then we should return -1.
553
+ if ( isNaN( tabIndex ) )
554
+ tabIndex = -1;
555
+ }
556
+
557
+ return tabIndex;
558
+ }
559
+ :
560
+ function()
561
+ {
562
+ return this.$.tabIndex;
563
+ },
564
+
565
+ /**
566
+ * Gets the text value of this element.
567
+ *
568
+ * Only in IE (which uses innerText), &lt;br&gt; will cause linebreaks,
569
+ * and sucessive whitespaces (including line breaks) will be reduced to
570
+ * a single space. This behavior is ok for us, for now. It may change
571
+ * in the future.
572
+ * @returns {String} The text value.
573
+ * @example
574
+ * var element = CKEDITOR.dom.element.createFromHtml( '&lt;div&gt;Same &lt;i&gt;text&lt;/i&gt;.&lt;/div&gt;' );
575
+ * alert( <b>element.getText()</b> ); // "Sample text."
576
+ */
577
+ getText : function()
578
+ {
579
+ return this.$.textContent || this.$.innerText || '';
580
+ },
581
+
582
+ /**
583
+ * Gets the window object that contains this element.
584
+ * @returns {CKEDITOR.dom.window} The window object.
585
+ * @example
586
+ */
587
+ getWindow : function()
588
+ {
589
+ return this.getDocument().getWindow();
590
+ },
591
+
592
+ /**
593
+ * Gets the value of the "id" attribute of this element.
594
+ * @returns {String} The element id, or null if not available.
595
+ * @example
596
+ * var element = CKEDITOR.dom.element.createFromHtml( '&lt;p id="myId"&gt;&lt;/p&gt;' );
597
+ * alert( <b>element.getId()</b> ); // "myId"
598
+ */
599
+ getId : function()
600
+ {
601
+ return this.$.id || null;
602
+ },
603
+
604
+ /**
605
+ * Gets the value of the "name" attribute of this element.
606
+ * @returns {String} The element name, or null if not available.
607
+ * @example
608
+ * var element = CKEDITOR.dom.element.createFromHtml( '&lt;input name="myName"&gt;&lt;/input&gt;' );
609
+ * alert( <b>element.getNameAtt()</b> ); // "myName"
610
+ */
611
+ getNameAtt : function()
612
+ {
613
+ return this.$.name || null;
614
+ },
615
+
616
+ /**
617
+ * Gets the element name (tag name). The returned name is guaranteed to
618
+ * be always full lowercased.
619
+ * @returns {String} The element name.
620
+ * @example
621
+ * var element = new CKEDITOR.dom.element( 'span' );
622
+ * alert( <b>element.getName()</b> ); // "span"
623
+ */
624
+ getName : function()
625
+ {
626
+ // Cache the lowercased name inside a closure.
627
+ var nodeName = this.$.nodeName.toLowerCase();
628
+
629
+ if ( CKEDITOR.env.ie && ! ( document.documentMode > 8 ) )
630
+ {
631
+ var scopeName = this.$.scopeName;
632
+ if ( scopeName != 'HTML' )
633
+ nodeName = scopeName.toLowerCase() + ':' + nodeName;
634
+ }
635
+
636
+ return (
637
+ this.getName = function()
638
+ {
639
+ return nodeName;
640
+ })();
641
+ },
642
+
643
+ /**
644
+ * Gets the value set to this element. This value is usually available
645
+ * for form field elements.
646
+ * @returns {String} The element value.
647
+ */
648
+ getValue : function()
649
+ {
650
+ return this.$.value;
651
+ },
652
+
653
+ /**
654
+ * Gets the first child node of this element.
655
+ * @param {Function} evaluator Filtering the result node.
656
+ * @returns {CKEDITOR.dom.node} The first child node or null if not
657
+ * available.
658
+ * @example
659
+ * var element = CKEDITOR.dom.element.createFromHtml( '&lt;div&gt;&lt;b&gt;Example&lt;/b&gt;&lt;/div&gt;' );
660
+ * var first = <b>element.getFirst()</b>;
661
+ * alert( first.getName() ); // "b"
662
+ */
663
+ getFirst : function( evaluator )
664
+ {
665
+ var first = this.$.firstChild,
666
+ retval = first && new CKEDITOR.dom.node( first );
667
+ if ( retval && evaluator && !evaluator( retval ) )
668
+ retval = retval.getNext( evaluator );
669
+
670
+ return retval;
671
+ },
672
+
673
+ /**
674
+ * @param {Function} evaluator Filtering the result node.
675
+ */
676
+ getLast : function( evaluator )
677
+ {
678
+ var last = this.$.lastChild,
679
+ retval = last && new CKEDITOR.dom.node( last );
680
+ if ( retval && evaluator && !evaluator( retval ) )
681
+ retval = retval.getPrevious( evaluator );
682
+
683
+ return retval;
684
+ },
685
+
686
+ getStyle : function( name )
687
+ {
688
+ return this.$.style[ CKEDITOR.tools.cssStyleToDomStyle( name ) ];
689
+ },
690
+
691
+ /**
692
+ * Checks if the element name matches one or more names.
693
+ * @param {String} name[,name[,...]] One or more names to be checked.
694
+ * @returns {Boolean} true if the element name matches any of the names.
695
+ * @example
696
+ * var element = new CKEDITOR.element( 'span' );
697
+ * alert( <b>element.is( 'span' )</b> ); "true"
698
+ * alert( <b>element.is( 'p', 'span' )</b> ); "true"
699
+ * alert( <b>element.is( 'p' )</b> ); "false"
700
+ * alert( <b>element.is( 'p', 'div' )</b> ); "false"
701
+ */
702
+ is : function()
703
+ {
704
+ var name = this.getName();
705
+ for ( var i = 0 ; i < arguments.length ; i++ )
706
+ {
707
+ if ( arguments[ i ] == name )
708
+ return true;
709
+ }
710
+ return false;
711
+ },
712
+
713
+ isEditable : function()
714
+ {
715
+ // Get the element name.
716
+ var name = this.getName();
717
+
718
+ // Get the element DTD (defaults to span for unknown elements).
719
+ var dtd = !CKEDITOR.dtd.$nonEditable[ name ]
720
+ && ( CKEDITOR.dtd[ name ] || CKEDITOR.dtd.span );
721
+
722
+ // In the DTD # == text node.
723
+ return ( dtd && dtd['#'] );
724
+ },
725
+
726
+ isIdentical : function( otherElement )
727
+ {
728
+ if ( this.getName() != otherElement.getName() )
729
+ return false;
730
+
731
+ var thisAttribs = this.$.attributes,
732
+ otherAttribs = otherElement.$.attributes;
733
+
734
+ var thisLength = thisAttribs.length,
735
+ otherLength = otherAttribs.length;
736
+
737
+ for ( var i = 0 ; i < thisLength ; i++ )
738
+ {
739
+ var attribute = thisAttribs[ i ];
740
+
741
+ if ( attribute.nodeName == '_moz_dirty' )
742
+ continue;
743
+
744
+ if ( ( !CKEDITOR.env.ie || ( attribute.specified && attribute.nodeName != 'data-cke-expando' ) ) && attribute.nodeValue != otherElement.getAttribute( attribute.nodeName ) )
745
+ return false;
746
+ }
747
+
748
+ // For IE, we have to for both elements, because it's difficult to
749
+ // know how the atttibutes collection is organized in its DOM.
750
+ if ( CKEDITOR.env.ie )
751
+ {
752
+ for ( i = 0 ; i < otherLength ; i++ )
753
+ {
754
+ attribute = otherAttribs[ i ];
755
+ if ( attribute.specified && attribute.nodeName != 'data-cke-expando'
756
+ && attribute.nodeValue != this.getAttribute( attribute.nodeName ) )
757
+ return false;
758
+ }
759
+ }
760
+
761
+ return true;
762
+ },
763
+
764
+ /**
765
+ * Checks if this element is visible. May not work if the element is
766
+ * child of an element with visibility set to "hidden", but works well
767
+ * on the great majority of cases.
768
+ * @return {Boolean} True if the element is visible.
769
+ */
770
+ isVisible : function()
771
+ {
772
+ var isVisible = !!this.$.offsetHeight && this.getComputedStyle( 'visibility' ) != 'hidden',
773
+ elementWindow,
774
+ elementWindowFrame;
775
+
776
+ // Webkit and Opera report non-zero offsetHeight despite that
777
+ // element is inside an invisible iframe. (#4542)
778
+ if ( isVisible && ( CKEDITOR.env.webkit || CKEDITOR.env.opera ) )
779
+ {
780
+ elementWindow = this.getWindow();
781
+
782
+ if ( !elementWindow.equals( CKEDITOR.document.getWindow() )
783
+ && ( elementWindowFrame = elementWindow.$.frameElement ) )
784
+ {
785
+ isVisible = new CKEDITOR.dom.element( elementWindowFrame ).isVisible();
786
+ }
787
+ }
788
+
789
+ return isVisible;
790
+ },
791
+
792
+ /**
793
+ * Whether it's an empty inline elements which has no visual impact when removed.
794
+ */
795
+ isEmptyInlineRemoveable : function()
796
+ {
797
+ if ( !CKEDITOR.dtd.$removeEmpty[ this.getName() ] )
798
+ return false;
799
+
800
+ var children = this.getChildren();
801
+ for ( var i = 0, count = children.count(); i < count; i++ )
802
+ {
803
+ var child = children.getItem( i );
804
+
805
+ if ( child.type == CKEDITOR.NODE_ELEMENT && child.data( 'cke-bookmark' ) )
806
+ continue;
807
+
808
+ if ( child.type == CKEDITOR.NODE_ELEMENT && !child.isEmptyInlineRemoveable()
809
+ || child.type == CKEDITOR.NODE_TEXT && CKEDITOR.tools.trim( child.getText() ) )
810
+ {
811
+ return false;
812
+ }
813
+ }
814
+ return true;
815
+ },
816
+
817
+ /**
818
+ * Indicates that the element has defined attributes.
819
+ * @returns {Boolean} True if the element has attributes.
820
+ * @example
821
+ * var element = CKEDITOR.dom.element.createFromHtml( '<div title="Test">Example</div>' );
822
+ * alert( <b>element.hasAttributes()</b> ); "true"
823
+ * @example
824
+ * var element = CKEDITOR.dom.element.createFromHtml( '<div>Example</div>' );
825
+ * alert( <b>element.hasAttributes()</b> ); "false"
826
+ */
827
+ hasAttributes :
828
+ CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) ?
829
+ function()
830
+ {
831
+ var attributes = this.$.attributes;
832
+
833
+ for ( var i = 0 ; i < attributes.length ; i++ )
834
+ {
835
+ var attribute = attributes[i];
836
+
837
+ switch ( attribute.nodeName )
838
+ {
839
+ case 'class' :
840
+ // IE has a strange bug. If calling removeAttribute('className'),
841
+ // the attributes collection will still contain the "class"
842
+ // attribute, which will be marked as "specified", even if the
843
+ // outerHTML of the element is not displaying the class attribute.
844
+ // Note : I was not able to reproduce it outside the editor,
845
+ // but I've faced it while working on the TC of #1391.
846
+ if ( this.getAttribute( 'class' ) )
847
+ return true;
848
+
849
+ // Attributes to be ignored.
850
+ case 'data-cke-expando' :
851
+ continue;
852
+
853
+ /*jsl:fallthru*/
854
+
855
+ default :
856
+ if ( attribute.specified )
857
+ return true;
858
+ }
859
+ }
860
+
861
+ return false;
862
+ }
863
+ :
864
+ function()
865
+ {
866
+ var attrs = this.$.attributes,
867
+ attrsNum = attrs.length;
868
+
869
+ // The _moz_dirty attribute might get into the element after pasting (#5455)
870
+ var execludeAttrs = { 'data-cke-expando' : 1, _moz_dirty : 1 };
871
+
872
+ return attrsNum > 0 &&
873
+ ( attrsNum > 2 ||
874
+ !execludeAttrs[ attrs[0].nodeName ] ||
875
+ ( attrsNum == 2 && !execludeAttrs[ attrs[1].nodeName ] ) );
876
+ },
877
+
878
+ /**
879
+ * Indicates whether a specified attribute is defined for this element.
880
+ * @returns {Boolean} True if the specified attribute is defined.
881
+ * @param (String) name The attribute name.
882
+ * @example
883
+ */
884
+ hasAttribute : function( name )
885
+ {
886
+ var $attr = this.$.attributes.getNamedItem( name );
887
+ return !!( $attr && $attr.specified );
888
+ },
889
+
890
+ /**
891
+ * Hides this element (display:none).
892
+ * @example
893
+ * var element = CKEDITOR.dom.element.getById( 'myElement' );
894
+ * <b>element.hide()</b>;
895
+ */
896
+ hide : function()
897
+ {
898
+ this.setStyle( 'display', 'none' );
899
+ },
900
+
901
+ moveChildren : function( target, toStart )
902
+ {
903
+ var $ = this.$;
904
+ target = target.$;
905
+
906
+ if ( $ == target )
907
+ return;
908
+
909
+ var child;
910
+
911
+ if ( toStart )
912
+ {
913
+ while ( ( child = $.lastChild ) )
914
+ target.insertBefore( $.removeChild( child ), target.firstChild );
915
+ }
916
+ else
917
+ {
918
+ while ( ( child = $.firstChild ) )
919
+ target.appendChild( $.removeChild( child ) );
920
+ }
921
+ },
922
+
923
+ mergeSiblings : ( function()
924
+ {
925
+ function mergeElements( element, sibling, isNext )
926
+ {
927
+ if ( sibling && sibling.type == CKEDITOR.NODE_ELEMENT )
928
+ {
929
+ // Jumping over bookmark nodes and empty inline elements, e.g. <b><i></i></b>,
930
+ // queuing them to be moved later. (#5567)
931
+ var pendingNodes = [];
932
+
933
+ while ( sibling.data( 'cke-bookmark' )
934
+ || sibling.isEmptyInlineRemoveable() )
935
+ {
936
+ pendingNodes.push( sibling );
937
+ sibling = isNext ? sibling.getNext() : sibling.getPrevious();
938
+ if ( !sibling || sibling.type != CKEDITOR.NODE_ELEMENT )
939
+ return;
940
+ }
941
+
942
+ if ( element.isIdentical( sibling ) )
943
+ {
944
+ // Save the last child to be checked too, to merge things like
945
+ // <b><i></i></b><b><i></i></b> => <b><i></i></b>
946
+ var innerSibling = isNext ? element.getLast() : element.getFirst();
947
+
948
+ // Move pending nodes first into the target element.
949
+ while( pendingNodes.length )
950
+ pendingNodes.shift().move( element, !isNext );
951
+
952
+ sibling.moveChildren( element, !isNext );
953
+ sibling.remove();
954
+
955
+ // Now check the last inner child (see two comments above).
956
+ if ( innerSibling && innerSibling.type == CKEDITOR.NODE_ELEMENT )
957
+ innerSibling.mergeSiblings();
958
+ }
959
+ }
960
+ }
961
+
962
+ return function()
963
+ {
964
+ // Merge empty links and anchors also. (#5567)
965
+ if ( !( CKEDITOR.dtd.$removeEmpty[ this.getName() ] || this.is( 'a' ) ) )
966
+ return;
967
+
968
+ mergeElements( this, this.getNext(), true );
969
+ mergeElements( this, this.getPrevious() );
970
+ };
971
+ } )(),
972
+
973
+ /**
974
+ * Shows this element (display it).
975
+ * @example
976
+ * var element = CKEDITOR.dom.element.getById( 'myElement' );
977
+ * <b>element.show()</b>;
978
+ */
979
+ show : function()
980
+ {
981
+ this.setStyles(
982
+ {
983
+ display : '',
984
+ visibility : ''
985
+ });
986
+ },
987
+
988
+ /**
989
+ * Sets the value of an element attribute.
990
+ * @param {String} name The name of the attribute.
991
+ * @param {String} value The value to be set to the attribute.
992
+ * @function
993
+ * @returns {CKEDITOR.dom.element} This element instance.
994
+ * @example
995
+ * var element = CKEDITOR.dom.element.getById( 'myElement' );
996
+ * <b>element.setAttribute( 'class', 'myClass' )</b>;
997
+ * <b>element.setAttribute( 'title', 'This is an example' )</b>;
998
+ */
999
+ setAttribute : (function()
1000
+ {
1001
+ var standard = function( name, value )
1002
+ {
1003
+ this.$.setAttribute( name, value );
1004
+ return this;
1005
+ };
1006
+
1007
+ if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) )
1008
+ {
1009
+ return function( name, value )
1010
+ {
1011
+ if ( name == 'class' )
1012
+ this.$.className = value;
1013
+ else if ( name == 'style' )
1014
+ this.$.style.cssText = value;
1015
+ else if ( name == 'tabindex' ) // Case sensitive.
1016
+ this.$.tabIndex = value;
1017
+ else if ( name == 'checked' )
1018
+ this.$.checked = value;
1019
+ else
1020
+ standard.apply( this, arguments );
1021
+ return this;
1022
+ };
1023
+ }
1024
+ else
1025
+ return standard;
1026
+ })(),
1027
+
1028
+ /**
1029
+ * Sets the value of several element attributes.
1030
+ * @param {Object} attributesPairs An object containing the names and
1031
+ * values of the attributes.
1032
+ * @returns {CKEDITOR.dom.element} This element instance.
1033
+ * @example
1034
+ * var element = CKEDITOR.dom.element.getById( 'myElement' );
1035
+ * <b>element.setAttributes({
1036
+ * 'class' : 'myClass',
1037
+ * 'title' : 'This is an example' })</b>;
1038
+ */
1039
+ setAttributes : function( attributesPairs )
1040
+ {
1041
+ for ( var name in attributesPairs )
1042
+ this.setAttribute( name, attributesPairs[ name ] );
1043
+ return this;
1044
+ },
1045
+
1046
+ /**
1047
+ * Sets the element value. This function is usually used with form
1048
+ * field element.
1049
+ * @param {String} value The element value.
1050
+ * @returns {CKEDITOR.dom.element} This element instance.
1051
+ */
1052
+ setValue : function( value )
1053
+ {
1054
+ this.$.value = value;
1055
+ return this;
1056
+ },
1057
+
1058
+ /**
1059
+ * Removes an attribute from the element.
1060
+ * @param {String} name The attribute name.
1061
+ * @function
1062
+ * @example
1063
+ * var element = CKEDITOR.dom.element.createFromHtml( '<div class="classA"></div>' );
1064
+ * element.removeAttribute( 'class' );
1065
+ */
1066
+ removeAttribute : (function()
1067
+ {
1068
+ var standard = function( name )
1069
+ {
1070
+ this.$.removeAttribute( name );
1071
+ };
1072
+
1073
+ if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) )
1074
+ {
1075
+ return function( name )
1076
+ {
1077
+ if ( name == 'class' )
1078
+ name = 'className';
1079
+ else if ( name == 'tabindex' )
1080
+ name = 'tabIndex';
1081
+ standard.call( this, name );
1082
+ };
1083
+ }
1084
+ else
1085
+ return standard;
1086
+ })(),
1087
+
1088
+ removeAttributes : function ( attributes )
1089
+ {
1090
+ if ( CKEDITOR.tools.isArray( attributes ) )
1091
+ {
1092
+ for ( var i = 0 ; i < attributes.length ; i++ )
1093
+ this.removeAttribute( attributes[ i ] );
1094
+ }
1095
+ else
1096
+ {
1097
+ for ( var attr in attributes )
1098
+ attributes.hasOwnProperty( attr ) && this.removeAttribute( attr );
1099
+ }
1100
+ },
1101
+
1102
+ /**
1103
+ * Removes a style from the element.
1104
+ * @param {String} name The style name.
1105
+ * @function
1106
+ * @example
1107
+ * var element = CKEDITOR.dom.element.createFromHtml( '<div style="display:none"></div>' );
1108
+ * element.removeStyle( 'display' );
1109
+ */
1110
+ removeStyle : function( name )
1111
+ {
1112
+ this.setStyle( name, '' );
1113
+ if ( this.$.style.removeAttribute )
1114
+ this.$.style.removeAttribute( CKEDITOR.tools.cssStyleToDomStyle( name ) );
1115
+
1116
+ if ( !this.$.style.cssText )
1117
+ this.removeAttribute( 'style' );
1118
+ },
1119
+
1120
+ /**
1121
+ * Sets the value of an element style.
1122
+ * @param {String} name The name of the style. The CSS naming notation
1123
+ * must be used (e.g. "background-color").
1124
+ * @param {String} value The value to be set to the style.
1125
+ * @returns {CKEDITOR.dom.element} This element instance.
1126
+ * @example
1127
+ * var element = CKEDITOR.dom.element.getById( 'myElement' );
1128
+ * <b>element.setStyle( 'background-color', '#ff0000' )</b>;
1129
+ * <b>element.setStyle( 'margin-top', '10px' )</b>;
1130
+ * <b>element.setStyle( 'float', 'right' )</b>;
1131
+ */
1132
+ setStyle : function( name, value )
1133
+ {
1134
+ this.$.style[ CKEDITOR.tools.cssStyleToDomStyle( name ) ] = value;
1135
+ return this;
1136
+ },
1137
+
1138
+ /**
1139
+ * Sets the value of several element styles.
1140
+ * @param {Object} stylesPairs An object containing the names and
1141
+ * values of the styles.
1142
+ * @returns {CKEDITOR.dom.element} This element instance.
1143
+ * @example
1144
+ * var element = CKEDITOR.dom.element.getById( 'myElement' );
1145
+ * <b>element.setStyles({
1146
+ * 'position' : 'absolute',
1147
+ * 'float' : 'right' })</b>;
1148
+ */
1149
+ setStyles : function( stylesPairs )
1150
+ {
1151
+ for ( var name in stylesPairs )
1152
+ this.setStyle( name, stylesPairs[ name ] );
1153
+ return this;
1154
+ },
1155
+
1156
+ /**
1157
+ * Sets the opacity of an element.
1158
+ * @param {Number} opacity A number within the range [0.0, 1.0].
1159
+ * @example
1160
+ * var element = CKEDITOR.dom.element.getById( 'myElement' );
1161
+ * <b>element.setOpacity( 0.75 )</b>;
1162
+ */
1163
+ setOpacity : function( opacity )
1164
+ {
1165
+ if ( CKEDITOR.env.ie )
1166
+ {
1167
+ opacity = Math.round( opacity * 100 );
1168
+ this.setStyle( 'filter', opacity >= 100 ? '' : 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ')' );
1169
+ }
1170
+ else
1171
+ this.setStyle( 'opacity', opacity );
1172
+ },
1173
+
1174
+ /**
1175
+ * Makes the element and its children unselectable.
1176
+ * @function
1177
+ * @example
1178
+ * var element = CKEDITOR.dom.element.getById( 'myElement' );
1179
+ * element.unselectable();
1180
+ */
1181
+ unselectable :
1182
+ CKEDITOR.env.gecko ?
1183
+ function()
1184
+ {
1185
+ this.$.style.MozUserSelect = 'none';
1186
+ this.on( 'dragstart', function( evt ) { evt.data.preventDefault(); } );
1187
+ }
1188
+ : CKEDITOR.env.webkit ?
1189
+ function()
1190
+ {
1191
+ this.$.style.KhtmlUserSelect = 'none';
1192
+ this.on( 'dragstart', function( evt ) { evt.data.preventDefault(); } );
1193
+ }
1194
+ :
1195
+ function()
1196
+ {
1197
+ if ( CKEDITOR.env.ie || CKEDITOR.env.opera )
1198
+ {
1199
+ var element = this.$,
1200
+ e,
1201
+ i = 0;
1202
+
1203
+ element.unselectable = 'on';
1204
+
1205
+ while ( ( e = element.all[ i++ ] ) )
1206
+ {
1207
+ switch ( e.tagName.toLowerCase() )
1208
+ {
1209
+ case 'iframe' :
1210
+ case 'textarea' :
1211
+ case 'input' :
1212
+ case 'select' :
1213
+ /* Ignore the above tags */
1214
+ break;
1215
+ default :
1216
+ e.unselectable = 'on';
1217
+ }
1218
+ }
1219
+ }
1220
+ },
1221
+
1222
+ getPositionedAncestor : function()
1223
+ {
1224
+ var current = this;
1225
+ while ( current.getName() != 'html' )
1226
+ {
1227
+ if ( current.getComputedStyle( 'position' ) != 'static' )
1228
+ return current;
1229
+
1230
+ current = current.getParent();
1231
+ }
1232
+ return null;
1233
+ },
1234
+
1235
+ getDocumentPosition : function( refDocument )
1236
+ {
1237
+ var x = 0, y = 0,
1238
+ body = this.getDocument().getBody(),
1239
+ quirks = this.getDocument().$.compatMode == 'BackCompat';
1240
+
1241
+ var doc = this.getDocument();
1242
+
1243
+ if ( document.documentElement[ "getBoundingClientRect" ] )
1244
+ {
1245
+ var box = this.$.getBoundingClientRect(),
1246
+ $doc = doc.$,
1247
+ $docElem = $doc.documentElement;
1248
+
1249
+ var clientTop = $docElem.clientTop || body.$.clientTop || 0,
1250
+ clientLeft = $docElem.clientLeft || body.$.clientLeft || 0,
1251
+ needAdjustScrollAndBorders = true;
1252
+
1253
+ /*
1254
+ * #3804: getBoundingClientRect() works differently on IE and non-IE
1255
+ * browsers, regarding scroll positions.
1256
+ *
1257
+ * On IE, the top position of the <html> element is always 0, no matter
1258
+ * how much you scrolled down.
1259
+ *
1260
+ * On other browsers, the top position of the <html> element is negative
1261
+ * scrollTop.
1262
+ */
1263
+ if ( CKEDITOR.env.ie )
1264
+ {
1265
+ var inDocElem = doc.getDocumentElement().contains( this ),
1266
+ inBody = doc.getBody().contains( this );
1267
+
1268
+ needAdjustScrollAndBorders = ( quirks && inBody ) || ( !quirks && inDocElem );
1269
+ }
1270
+
1271
+ if ( needAdjustScrollAndBorders )
1272
+ {
1273
+ x = box.left + ( !quirks && $docElem.scrollLeft || body.$.scrollLeft );
1274
+ x -= clientLeft;
1275
+ y = box.top + ( !quirks && $docElem.scrollTop || body.$.scrollTop );
1276
+ y -= clientTop;
1277
+ }
1278
+ }
1279
+ else
1280
+ {
1281
+ var current = this, previous = null, offsetParent;
1282
+ while ( current && !( current.getName() == 'body' || current.getName() == 'html' ) )
1283
+ {
1284
+ x += current.$.offsetLeft - current.$.scrollLeft;
1285
+ y += current.$.offsetTop - current.$.scrollTop;
1286
+
1287
+ // Opera includes clientTop|Left into offsetTop|Left.
1288
+ if ( !current.equals( this ) )
1289
+ {
1290
+ x += ( current.$.clientLeft || 0 );
1291
+ y += ( current.$.clientTop || 0 );
1292
+ }
1293
+
1294
+ var scrollElement = previous;
1295
+ while ( scrollElement && !scrollElement.equals( current ) )
1296
+ {
1297
+ x -= scrollElement.$.scrollLeft;
1298
+ y -= scrollElement.$.scrollTop;
1299
+ scrollElement = scrollElement.getParent();
1300
+ }
1301
+
1302
+ previous = current;
1303
+ current = ( offsetParent = current.$.offsetParent ) ?
1304
+ new CKEDITOR.dom.element( offsetParent ) : null;
1305
+ }
1306
+ }
1307
+
1308
+ if ( refDocument )
1309
+ {
1310
+ var currentWindow = this.getWindow(),
1311
+ refWindow = refDocument.getWindow();
1312
+
1313
+ if ( !currentWindow.equals( refWindow ) && currentWindow.$.frameElement )
1314
+ {
1315
+ var iframePosition = ( new CKEDITOR.dom.element( currentWindow.$.frameElement ) ).getDocumentPosition( refDocument );
1316
+
1317
+ x += iframePosition.x;
1318
+ y += iframePosition.y;
1319
+ }
1320
+ }
1321
+
1322
+ if ( !document.documentElement[ "getBoundingClientRect" ] )
1323
+ {
1324
+ // In Firefox, we'll endup one pixel before the element positions,
1325
+ // so we must add it here.
1326
+ if ( CKEDITOR.env.gecko && !quirks )
1327
+ {
1328
+ x += this.$.clientLeft ? 1 : 0;
1329
+ y += this.$.clientTop ? 1 : 0;
1330
+ }
1331
+ }
1332
+
1333
+ return { x : x, y : y };
1334
+ },
1335
+
1336
+ scrollIntoView : function( alignTop )
1337
+ {
1338
+ // Get the element window.
1339
+ var win = this.getWindow(),
1340
+ winHeight = win.getViewPaneSize().height;
1341
+
1342
+ // Starts from the offset that will be scrolled with the negative value of
1343
+ // the visible window height.
1344
+ var offset = winHeight * -1;
1345
+
1346
+ // Append the view pane's height if align to top.
1347
+ // Append element height if we are aligning to the bottom.
1348
+ if ( alignTop )
1349
+ offset += winHeight;
1350
+ else
1351
+ {
1352
+ offset += this.$.offsetHeight || 0;
1353
+
1354
+ // Consider the margin in the scroll, which is ok for our current needs, but
1355
+ // needs investigation if we will be using this function in other places.
1356
+ offset += parseInt( this.getComputedStyle( 'marginBottom' ) || 0, 10 ) || 0;
1357
+ }
1358
+
1359
+ // Append the offsets for the entire element hierarchy.
1360
+ var elementPosition = this.getDocumentPosition();
1361
+ offset += elementPosition.y;
1362
+
1363
+ // offset value might be out of range(nagative), fix it(#3692).
1364
+ offset = offset < 0 ? 0 : offset;
1365
+
1366
+ // Scroll the window to the desired position, if not already visible(#3795).
1367
+ var currentScroll = win.getScrollPosition().y;
1368
+ if ( offset > currentScroll || offset < currentScroll - winHeight )
1369
+ win.$.scrollTo( 0, offset );
1370
+ },
1371
+
1372
+ setState : function( state )
1373
+ {
1374
+ switch ( state )
1375
+ {
1376
+ case CKEDITOR.TRISTATE_ON :
1377
+ this.addClass( 'cke_on' );
1378
+ this.removeClass( 'cke_off' );
1379
+ this.removeClass( 'cke_disabled' );
1380
+ break;
1381
+ case CKEDITOR.TRISTATE_DISABLED :
1382
+ this.addClass( 'cke_disabled' );
1383
+ this.removeClass( 'cke_off' );
1384
+ this.removeClass( 'cke_on' );
1385
+ break;
1386
+ default :
1387
+ this.addClass( 'cke_off' );
1388
+ this.removeClass( 'cke_on' );
1389
+ this.removeClass( 'cke_disabled' );
1390
+ break;
1391
+ }
1392
+ },
1393
+
1394
+ /**
1395
+ * Returns the inner document of this IFRAME element.
1396
+ * @returns {CKEDITOR.dom.document} The inner document.
1397
+ */
1398
+ getFrameDocument : function()
1399
+ {
1400
+ var $ = this.$;
1401
+
1402
+ try
1403
+ {
1404
+ // In IE, with custom document.domain, it may happen that
1405
+ // the iframe is not yet available, resulting in "Access
1406
+ // Denied" for the following property access.
1407
+ $.contentWindow.document;
1408
+ }
1409
+ catch ( e )
1410
+ {
1411
+ // Trick to solve this issue, forcing the iframe to get ready
1412
+ // by simply setting its "src" property.
1413
+ $.src = $.src;
1414
+
1415
+ // In IE6 though, the above is not enough, so we must pause the
1416
+ // execution for a while, giving it time to think.
1417
+ if ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 )
1418
+ {
1419
+ window.showModalDialog(
1420
+ 'javascript:document.write("' +
1421
+ '<script>' +
1422
+ 'window.setTimeout(' +
1423
+ 'function(){window.close();}' +
1424
+ ',50);' +
1425
+ '</script>")' );
1426
+ }
1427
+ }
1428
+
1429
+ return $ && new CKEDITOR.dom.document( $.contentWindow.document );
1430
+ },
1431
+
1432
+ /**
1433
+ * Copy all the attributes from one node to the other, kinda like a clone
1434
+ * skipAttributes is an object with the attributes that must NOT be copied.
1435
+ * @param {CKEDITOR.dom.element} dest The destination element.
1436
+ * @param {Object} skipAttributes A dictionary of attributes to skip.
1437
+ * @example
1438
+ */
1439
+ copyAttributes : function( dest, skipAttributes )
1440
+ {
1441
+ var attributes = this.$.attributes;
1442
+ skipAttributes = skipAttributes || {};
1443
+
1444
+ for ( var n = 0 ; n < attributes.length ; n++ )
1445
+ {
1446
+ var attribute = attributes[n];
1447
+
1448
+ // Lowercase attribute name hard rule is broken for
1449
+ // some attribute on IE, e.g. CHECKED.
1450
+ var attrName = attribute.nodeName.toLowerCase(),
1451
+ attrValue;
1452
+
1453
+ // We can set the type only once, so do it with the proper value, not copying it.
1454
+ if ( attrName in skipAttributes )
1455
+ continue;
1456
+
1457
+ if ( attrName == 'checked' && ( attrValue = this.getAttribute( attrName ) ) )
1458
+ dest.setAttribute( attrName, attrValue );
1459
+ // IE BUG: value attribute is never specified even if it exists.
1460
+ else if ( attribute.specified ||
1461
+ ( CKEDITOR.env.ie && attribute.nodeValue && attrName == 'value' ) )
1462
+ {
1463
+ attrValue = this.getAttribute( attrName );
1464
+ if ( attrValue === null )
1465
+ attrValue = attribute.nodeValue;
1466
+
1467
+ dest.setAttribute( attrName, attrValue );
1468
+ }
1469
+ }
1470
+
1471
+ // The style:
1472
+ if ( this.$.style.cssText !== '' )
1473
+ dest.$.style.cssText = this.$.style.cssText;
1474
+ },
1475
+
1476
+ /**
1477
+ * Changes the tag name of the current element.
1478
+ * @param {String} newTag The new tag for the element.
1479
+ */
1480
+ renameNode : function( newTag )
1481
+ {
1482
+ // If it's already correct exit here.
1483
+ if ( this.getName() == newTag )
1484
+ return;
1485
+
1486
+ var doc = this.getDocument();
1487
+
1488
+ // Create the new node.
1489
+ var newNode = new CKEDITOR.dom.element( newTag, doc );
1490
+
1491
+ // Copy all attributes.
1492
+ this.copyAttributes( newNode );
1493
+
1494
+ // Move children to the new node.
1495
+ this.moveChildren( newNode );
1496
+
1497
+ // Replace the node.
1498
+ this.getParent() && this.$.parentNode.replaceChild( newNode.$, this.$ );
1499
+ newNode.$[ 'data-cke-expando' ] = this.$[ 'data-cke-expando' ];
1500
+ this.$ = newNode.$;
1501
+ },
1502
+
1503
+ /**
1504
+ * Gets a DOM tree descendant under the current node.
1505
+ * @param {Array|Number} indices The child index or array of child indices under the node.
1506
+ * @returns {CKEDITOR.dom.node} The specified DOM child under the current node. Null if child does not exist.
1507
+ * @example
1508
+ * var strong = p.getChild(0);
1509
+ */
1510
+ getChild : function( indices )
1511
+ {
1512
+ var rawNode = this.$;
1513
+
1514
+ if ( !indices.slice )
1515
+ rawNode = rawNode.childNodes[ indices ];
1516
+ else
1517
+ {
1518
+ while ( indices.length > 0 && rawNode )
1519
+ rawNode = rawNode.childNodes[ indices.shift() ];
1520
+ }
1521
+
1522
+ return rawNode ? new CKEDITOR.dom.node( rawNode ) : null;
1523
+ },
1524
+
1525
+ getChildCount : function()
1526
+ {
1527
+ return this.$.childNodes.length;
1528
+ },
1529
+
1530
+ disableContextMenu : function()
1531
+ {
1532
+ this.on( 'contextmenu', function( event )
1533
+ {
1534
+ // Cancel the browser context menu.
1535
+ if ( !event.data.getTarget().hasClass( 'cke_enable_context_menu' ) )
1536
+ event.data.preventDefault();
1537
+ } );
1538
+ },
1539
+
1540
+ /**
1541
+ * Gets element's direction. Supports both CSS 'direction' prop and 'dir' attr.
1542
+ */
1543
+ getDirection : function( useComputed )
1544
+ {
1545
+ return useComputed ? this.getComputedStyle( 'direction' ) : this.getStyle( 'direction' ) || this.getAttribute( 'dir' );
1546
+ },
1547
+
1548
+ /**
1549
+ * Gets, sets and removes custom data to be stored as HTML5 data-* attributes.
1550
+ * @name CKEDITOR.dom.element.data
1551
+ * @param {String} name The name of the attribute, execluding the 'data-' part.
1552
+ * @param {String} [value] The value to set. If set to false, the attribute will be removed.
1553
+ */
1554
+ data : function ( name, value )
1555
+ {
1556
+ name = 'data-' + name;
1557
+ if ( value === undefined )
1558
+ return this.getAttribute( name );
1559
+ else if ( value === false )
1560
+ this.removeAttribute( name );
1561
+ else
1562
+ this.setAttribute( name, value );
1563
+ }
1564
+ });
1565
+
1566
+ ( function()
1567
+ {
1568
+ var sides = {
1569
+ width : [ "border-left-width", "border-right-width","padding-left", "padding-right" ],
1570
+ height : [ "border-top-width", "border-bottom-width", "padding-top", "padding-bottom" ]
1571
+ };
1572
+
1573
+ function marginAndPaddingSize( type )
1574
+ {
1575
+ var adjustment = 0;
1576
+ for ( var i = 0, len = sides[ type ].length; i < len; i++ )
1577
+ adjustment += parseInt( this.getComputedStyle( sides [ type ][ i ] ) || 0, 10 ) || 0;
1578
+ return adjustment;
1579
+ }
1580
+
1581
+ /**
1582
+ * Update the element's size with box model awareness.
1583
+ * @name CKEDITOR.dom.element.setSize
1584
+ * @param {String} type [width|height]
1585
+ * @param {Number} size The length unit in px.
1586
+ * @param isBorderBox Apply the {@param width} and {@param height} based on border box model.
1587
+ */
1588
+ CKEDITOR.dom.element.prototype.setSize = function( type, size, isBorderBox )
1589
+ {
1590
+ if ( typeof size == 'number' )
1591
+ {
1592
+ if ( isBorderBox && !( CKEDITOR.env.ie && CKEDITOR.env.quirks ) )
1593
+ size -= marginAndPaddingSize.call( this, type );
1594
+
1595
+ this.setStyle( type, size + 'px' );
1596
+ }
1597
+ };
1598
+
1599
+ /**
1600
+ * Get the element's size, possibly with box model awareness.
1601
+ * @name CKEDITOR.dom.element.getSize
1602
+ * @param {String} type [width|height]
1603
+ * @param {Boolean} contentSize Get the {@param width} or {@param height} based on border box model.
1604
+ */
1605
+ CKEDITOR.dom.element.prototype.getSize = function( type, contentSize )
1606
+ {
1607
+ var size = Math.max( this.$[ 'offset' + CKEDITOR.tools.capitalize( type ) ],
1608
+ this.$[ 'client' + CKEDITOR.tools.capitalize( type ) ] ) || 0;
1609
+
1610
+ if ( contentSize )
1611
+ size -= marginAndPaddingSize.call( this, type );
1612
+
1613
+ return size;
1614
+ };
1615
+ })();