ckeditor-rails 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (708) hide show
  1. data/README.md +17 -14
  2. data/lib/ckeditor-rails/version.rb +1 -1
  3. data/vendor/assets/ckeditor/ckeditor/.htaccess +1 -1
  4. data/vendor/assets/ckeditor/ckeditor/CHANGES.html +139 -3
  5. data/vendor/assets/ckeditor/ckeditor/INSTALL.html +92 -92
  6. data/vendor/assets/ckeditor/ckeditor/LICENSE.html +2 -2
  7. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/application.xml +32 -32
  8. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/run.bat +9 -9
  9. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/run.sh +1 -1
  10. data/vendor/assets/ckeditor/ckeditor/_samples/adobeair/sample.html +45 -45
  11. data/vendor/assets/ckeditor/ckeditor/_samples/ajax.html +98 -98
  12. data/vendor/assets/ckeditor/ckeditor/_samples/api.html +192 -192
  13. data/vendor/assets/ckeditor/ckeditor/_samples/api_dialog.html +198 -198
  14. data/vendor/assets/ckeditor/ckeditor/_samples/api_dialog/my_dialog.js +28 -28
  15. data/vendor/assets/ckeditor/ckeditor/_samples/asp/advanced.asp +105 -105
  16. data/vendor/assets/ckeditor/ckeditor/_samples/asp/events.asp +136 -136
  17. data/vendor/assets/ckeditor/ckeditor/_samples/asp/index.html +103 -103
  18. data/vendor/assets/ckeditor/ckeditor/_samples/asp/replace.asp +72 -72
  19. data/vendor/assets/ckeditor/ckeditor/_samples/asp/replaceall.asp +77 -77
  20. data/vendor/assets/ckeditor/ckeditor/_samples/asp/sample_posteddata.asp +46 -46
  21. data/vendor/assets/ckeditor/ckeditor/_samples/asp/standalone.asp +72 -72
  22. data/vendor/assets/ckeditor/ckeditor/_samples/assets/_posteddata.php +59 -59
  23. data/vendor/assets/ckeditor/ckeditor/_samples/assets/output_xhtml.css +204 -204
  24. data/vendor/assets/ckeditor/ckeditor/_samples/assets/parsesample.css +70 -70
  25. data/vendor/assets/ckeditor/ckeditor/_samples/assets/swfobject.js +18 -18
  26. data/vendor/assets/ckeditor/ckeditor/_samples/autogrow.html +108 -107
  27. data/vendor/assets/ckeditor/ckeditor/_samples/bbcode.html +125 -125
  28. data/vendor/assets/ckeditor/ckeditor/_samples/devtools.html +94 -94
  29. data/vendor/assets/ckeditor/ckeditor/_samples/divreplace.html +154 -154
  30. data/vendor/assets/ckeditor/ckeditor/_samples/enterkey.html +115 -115
  31. data/vendor/assets/ckeditor/ckeditor/_samples/fullpage.html +82 -82
  32. data/vendor/assets/ckeditor/ckeditor/_samples/index.html +116 -116
  33. data/vendor/assets/ckeditor/ckeditor/_samples/jqueryadapter.html +99 -99
  34. data/vendor/assets/ckeditor/ckeditor/_samples/output_for_flash.html +275 -275
  35. data/vendor/assets/ckeditor/ckeditor/_samples/output_html.html +285 -285
  36. data/vendor/assets/ckeditor/ckeditor/_samples/output_xhtml.html +181 -177
  37. data/vendor/assets/ckeditor/ckeditor/_samples/php/advanced.php +120 -120
  38. data/vendor/assets/ckeditor/ckeditor/_samples/php/events.php +153 -153
  39. data/vendor/assets/ckeditor/ckeditor/_samples/php/index.html +47 -47
  40. data/vendor/assets/ckeditor/ckeditor/_samples/php/replace.php +87 -87
  41. data/vendor/assets/ckeditor/ckeditor/_samples/php/replaceall.php +88 -88
  42. data/vendor/assets/ckeditor/ckeditor/_samples/php/standalone.php +83 -83
  43. data/vendor/assets/ckeditor/ckeditor/_samples/placeholder.html +81 -81
  44. data/vendor/assets/ckeditor/ckeditor/_samples/readonly.html +91 -91
  45. data/vendor/assets/ckeditor/ckeditor/_samples/replacebyclass.html +64 -64
  46. data/vendor/assets/ckeditor/ckeditor/_samples/replacebycode.html +97 -97
  47. data/vendor/assets/ckeditor/ckeditor/_samples/sample.css +163 -163
  48. data/vendor/assets/ckeditor/ckeditor/_samples/sample.js +65 -65
  49. data/vendor/assets/ckeditor/ckeditor/_samples/sample_posteddata.php +21 -21
  50. data/vendor/assets/ckeditor/ckeditor/_samples/sharedspaces.html +153 -153
  51. data/vendor/assets/ckeditor/ckeditor/_samples/skins.html +110 -110
  52. data/vendor/assets/ckeditor/ckeditor/_samples/stylesheetparser.html +93 -93
  53. data/vendor/assets/ckeditor/ckeditor/_samples/tableresize.html +115 -115
  54. data/vendor/assets/ckeditor/ckeditor/_samples/ui_color.html +129 -129
  55. data/vendor/assets/ckeditor/ckeditor/_samples/ui_languages.html +134 -134
  56. data/vendor/assets/ckeditor/ckeditor/_source/adapters/jquery.js +306 -306
  57. data/vendor/assets/ckeditor/ckeditor/_source/core/_bootstrap.js +87 -87
  58. data/vendor/assets/ckeditor/ckeditor/_source/core/ckeditor.js +141 -141
  59. data/vendor/assets/ckeditor/ckeditor/_source/core/ckeditor_base.js +235 -227
  60. data/vendor/assets/ckeditor/ckeditor/_source/core/ckeditor_basic.js +238 -238
  61. data/vendor/assets/ckeditor/ckeditor/_source/core/command.js +225 -209
  62. data/vendor/assets/ckeditor/ckeditor/_source/core/commanddefinition.js +129 -129
  63. data/vendor/assets/ckeditor/ckeditor/_source/core/config.js +447 -431
  64. data/vendor/assets/ckeditor/ckeditor/_source/core/dataprocessor.js +65 -65
  65. data/vendor/assets/ckeditor/ckeditor/_source/core/dom.js +20 -20
  66. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/comment.js +44 -32
  67. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/document.js +251 -251
  68. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/documentfragment.js +49 -49
  69. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/domobject.js +258 -258
  70. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/element.js +1796 -1681
  71. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/elementpath.js +117 -119
  72. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/event.js +145 -145
  73. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/node.js +691 -695
  74. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/nodelist.js +26 -26
  75. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/range.js +2068 -2032
  76. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/rangelist.js +213 -213
  77. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/text.js +128 -128
  78. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/walker.js +496 -462
  79. data/vendor/assets/ckeditor/ckeditor/_source/core/dom/window.js +96 -96
  80. data/vendor/assets/ckeditor/ckeditor/_source/core/dtd.js +266 -266
  81. data/vendor/assets/ckeditor/ckeditor/_source/core/editor.js +1059 -1059
  82. data/vendor/assets/ckeditor/ckeditor/_source/core/editor_basic.js +186 -186
  83. data/vendor/assets/ckeditor/ckeditor/_source/core/env.js +305 -291
  84. data/vendor/assets/ckeditor/ckeditor/_source/core/event.js +342 -342
  85. data/vendor/assets/ckeditor/ckeditor/_source/core/eventInfo.js +120 -120
  86. data/vendor/assets/ckeditor/ckeditor/_source/core/focusmanager.js +152 -152
  87. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser.js +224 -224
  88. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/basicwriter.js +145 -145
  89. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/cdata.js +43 -43
  90. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/comment.js +60 -60
  91. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/element.js +308 -308
  92. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/filter.js +288 -288
  93. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/fragment.js +537 -497
  94. data/vendor/assets/ckeditor/ckeditor/_source/core/htmlparser/text.js +53 -55
  95. data/vendor/assets/ckeditor/ckeditor/_source/core/lang.js +157 -157
  96. data/vendor/assets/ckeditor/ckeditor/_source/core/loader.js +240 -240
  97. data/vendor/assets/ckeditor/ckeditor/_source/core/plugindefinition.js +83 -83
  98. data/vendor/assets/ckeditor/ckeditor/_source/core/plugins.js +103 -103
  99. data/vendor/assets/ckeditor/ckeditor/_source/core/resourcemanager.js +238 -238
  100. data/vendor/assets/ckeditor/ckeditor/_source/core/scriptloader.js +180 -180
  101. data/vendor/assets/ckeditor/ckeditor/_source/core/skins.js +184 -184
  102. data/vendor/assets/ckeditor/ckeditor/_source/core/themes.js +19 -19
  103. data/vendor/assets/ckeditor/ckeditor/_source/core/tools.js +763 -763
  104. data/vendor/assets/ckeditor/ckeditor/_source/core/ui.js +128 -128
  105. data/vendor/assets/ckeditor/ckeditor/_source/lang/_languages.js +84 -84
  106. data/vendor/assets/ckeditor/ckeditor/_source/lang/_translationstatus.txt +63 -61
  107. data/vendor/assets/ckeditor/ckeditor/_source/lang/af.js +815 -812
  108. data/vendor/assets/ckeditor/ckeditor/_source/lang/ar.js +815 -812
  109. data/vendor/assets/ckeditor/ckeditor/_source/lang/bg.js +815 -812
  110. data/vendor/assets/ckeditor/ckeditor/_source/lang/bn.js +815 -812
  111. data/vendor/assets/ckeditor/ckeditor/_source/lang/bs.js +815 -812
  112. data/vendor/assets/ckeditor/ckeditor/_source/lang/ca.js +815 -812
  113. data/vendor/assets/ckeditor/ckeditor/_source/lang/cs.js +815 -812
  114. data/vendor/assets/ckeditor/ckeditor/_source/lang/cy.js +815 -812
  115. data/vendor/assets/ckeditor/ckeditor/_source/lang/da.js +815 -812
  116. data/vendor/assets/ckeditor/ckeditor/_source/lang/de.js +815 -812
  117. data/vendor/assets/ckeditor/ckeditor/_source/lang/el.js +815 -812
  118. data/vendor/assets/ckeditor/ckeditor/_source/lang/en-au.js +815 -812
  119. data/vendor/assets/ckeditor/ckeditor/_source/lang/en-ca.js +815 -812
  120. data/vendor/assets/ckeditor/ckeditor/_source/lang/en-gb.js +815 -812
  121. data/vendor/assets/ckeditor/ckeditor/_source/lang/en.js +815 -812
  122. data/vendor/assets/ckeditor/ckeditor/_source/lang/eo.js +815 -812
  123. data/vendor/assets/ckeditor/ckeditor/_source/lang/es.js +815 -812
  124. data/vendor/assets/ckeditor/ckeditor/_source/lang/et.js +815 -812
  125. data/vendor/assets/ckeditor/ckeditor/_source/lang/eu.js +815 -812
  126. data/vendor/assets/ckeditor/ckeditor/_source/lang/fa.js +815 -812
  127. data/vendor/assets/ckeditor/ckeditor/_source/lang/fi.js +815 -812
  128. data/vendor/assets/ckeditor/ckeditor/_source/lang/fo.js +815 -812
  129. data/vendor/assets/ckeditor/ckeditor/_source/lang/fr-ca.js +815 -812
  130. data/vendor/assets/ckeditor/ckeditor/_source/lang/fr.js +815 -812
  131. data/vendor/assets/ckeditor/ckeditor/_source/lang/gl.js +815 -812
  132. data/vendor/assets/ckeditor/ckeditor/_source/lang/gu.js +815 -812
  133. data/vendor/assets/ckeditor/ckeditor/_source/lang/he.js +815 -812
  134. data/vendor/assets/ckeditor/ckeditor/_source/lang/hi.js +815 -812
  135. data/vendor/assets/ckeditor/ckeditor/_source/lang/hr.js +815 -812
  136. data/vendor/assets/ckeditor/ckeditor/_source/lang/hu.js +815 -812
  137. data/vendor/assets/ckeditor/ckeditor/_source/lang/is.js +815 -812
  138. data/vendor/assets/ckeditor/ckeditor/_source/lang/it.js +815 -812
  139. data/vendor/assets/ckeditor/ckeditor/_source/lang/ja.js +815 -812
  140. data/vendor/assets/ckeditor/ckeditor/_source/lang/ka.js +815 -812
  141. data/vendor/assets/ckeditor/ckeditor/_source/lang/km.js +815 -812
  142. data/vendor/assets/ckeditor/ckeditor/_source/lang/ko.js +815 -812
  143. data/vendor/assets/ckeditor/ckeditor/_source/lang/lt.js +815 -812
  144. data/vendor/assets/ckeditor/ckeditor/_source/lang/lv.js +815 -812
  145. data/vendor/assets/ckeditor/ckeditor/_source/lang/mk.js +814 -0
  146. data/vendor/assets/ckeditor/ckeditor/_source/lang/mn.js +815 -812
  147. data/vendor/assets/ckeditor/ckeditor/_source/lang/ms.js +815 -812
  148. data/vendor/assets/ckeditor/ckeditor/_source/lang/nb.js +815 -812
  149. data/vendor/assets/ckeditor/ckeditor/_source/lang/nl.js +815 -812
  150. data/vendor/assets/ckeditor/ckeditor/_source/lang/no.js +815 -812
  151. data/vendor/assets/ckeditor/ckeditor/_source/lang/pl.js +815 -812
  152. data/vendor/assets/ckeditor/ckeditor/_source/lang/pt-br.js +814 -811
  153. data/vendor/assets/ckeditor/ckeditor/_source/lang/pt.js +815 -812
  154. data/vendor/assets/ckeditor/ckeditor/_source/lang/ro.js +815 -812
  155. data/vendor/assets/ckeditor/ckeditor/_source/lang/ru.js +815 -812
  156. data/vendor/assets/ckeditor/ckeditor/_source/lang/sk.js +815 -812
  157. data/vendor/assets/ckeditor/ckeditor/_source/lang/sl.js +815 -812
  158. data/vendor/assets/ckeditor/ckeditor/_source/lang/sr-latn.js +815 -812
  159. data/vendor/assets/ckeditor/ckeditor/_source/lang/sr.js +815 -812
  160. data/vendor/assets/ckeditor/ckeditor/_source/lang/sv.js +814 -811
  161. data/vendor/assets/ckeditor/ckeditor/_source/lang/th.js +815 -812
  162. data/vendor/assets/ckeditor/ckeditor/_source/lang/tr.js +814 -811
  163. data/vendor/assets/ckeditor/ckeditor/_source/lang/ug.js +814 -0
  164. data/vendor/assets/ckeditor/ckeditor/_source/lang/uk.js +815 -812
  165. data/vendor/assets/ckeditor/ckeditor/_source/lang/vi.js +815 -812
  166. data/vendor/assets/ckeditor/ckeditor/_source/lang/zh-cn.js +815 -812
  167. data/vendor/assets/ckeditor/ckeditor/_source/lang/zh.js +815 -812
  168. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -222
  169. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/_translationstatus.txt +23 -0
  170. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/cs.js +89 -0
  171. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/cy.js +89 -0
  172. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/da.js +89 -0
  173. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/de.js +89 -0
  174. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/el.js +89 -0
  175. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -108
  176. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/eo.js +89 -0
  177. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/fa.js +89 -0
  178. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/fi.js +89 -0
  179. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/fr.js +89 -0
  180. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/gu.js +89 -0
  181. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/he.js +89 -216
  182. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/it.js +89 -0
  183. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/mk.js +89 -0
  184. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/nb.js +89 -0
  185. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/nl.js +89 -0
  186. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/no.js +89 -0
  187. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/tr.js +89 -0
  188. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/ug.js +89 -0
  189. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/vi.js +89 -0
  190. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/lang/zh-cn.js +89 -0
  191. data/vendor/assets/ckeditor/ckeditor/_source/plugins/a11yhelp/plugin.js +47 -47
  192. data/vendor/assets/ckeditor/ckeditor/_source/plugins/about/dialogs/about.js +76 -76
  193. data/vendor/assets/ckeditor/ckeditor/_source/plugins/about/plugin.js +24 -24
  194. data/vendor/assets/ckeditor/ckeditor/_source/plugins/adobeair/plugin.js +228 -228
  195. data/vendor/assets/ckeditor/ckeditor/_source/plugins/ajax/plugin.js +152 -152
  196. data/vendor/assets/ckeditor/ckeditor/_source/plugins/autogrow/plugin.js +141 -88
  197. data/vendor/assets/ckeditor/ckeditor/_source/plugins/basicstyles/plugin.js +129 -101
  198. data/vendor/assets/ckeditor/ckeditor/_source/plugins/bbcode/plugin.js +931 -931
  199. data/vendor/assets/ckeditor/ckeditor/_source/plugins/bidi/plugin.js +334 -334
  200. data/vendor/assets/ckeditor/ckeditor/_source/plugins/blockquote/plugin.js +305 -305
  201. data/vendor/assets/ckeditor/ckeditor/_source/plugins/button/plugin.js +290 -290
  202. data/vendor/assets/ckeditor/ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -223
  203. data/vendor/assets/ckeditor/ckeditor/_source/plugins/clipboard/plugin.js +479 -453
  204. data/vendor/assets/ckeditor/ckeditor/_source/plugins/colorbutton/plugin.js +300 -294
  205. data/vendor/assets/ckeditor/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +387 -340
  206. data/vendor/assets/ckeditor/ckeditor/_source/plugins/colordialog/plugin.js +15 -15
  207. data/vendor/assets/ckeditor/ckeditor/_source/plugins/contextmenu/plugin.js +179 -177
  208. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/_translationstatus.txt +27 -0
  209. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/bg.js +16 -0
  210. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/cs.js +16 -0
  211. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/cy.js +16 -0
  212. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/da.js +16 -0
  213. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/de.js +16 -0
  214. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/el.js +16 -0
  215. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/en.js +16 -16
  216. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/eo.js +16 -0
  217. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/et.js +16 -0
  218. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/fa.js +16 -0
  219. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/fi.js +16 -0
  220. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/fr.js +16 -0
  221. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/gu.js +16 -0
  222. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/he.js +16 -0
  223. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/hr.js +16 -0
  224. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/it.js +16 -0
  225. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/nb.js +16 -0
  226. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/nl.js +16 -0
  227. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/no.js +16 -0
  228. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/pl.js +16 -0
  229. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/tr.js +16 -0
  230. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/ug.js +16 -0
  231. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/uk.js +16 -0
  232. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/vi.js +16 -0
  233. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/lang/zh-cn.js +16 -0
  234. data/vendor/assets/ckeditor/ckeditor/_source/plugins/devtools/plugin.js +173 -173
  235. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialog/dialogDefinition.js +1166 -1166
  236. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialog/plugin.js +3319 -3289
  237. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialogadvtab/plugin.js +208 -207
  238. data/vendor/assets/ckeditor/ckeditor/_source/plugins/dialogui/plugin.js +1549 -1541
  239. data/vendor/assets/ckeditor/ckeditor/_source/plugins/div/dialogs/div.js +535 -535
  240. data/vendor/assets/ckeditor/ckeditor/_source/plugins/div/plugin.js +121 -121
  241. data/vendor/assets/ckeditor/ckeditor/_source/plugins/docprops/dialogs/docprops.js +674 -686
  242. data/vendor/assets/ckeditor/ckeditor/_source/plugins/docprops/plugin.js +22 -22
  243. data/vendor/assets/ckeditor/ckeditor/_source/plugins/domiterator/plugin.js +366 -361
  244. data/vendor/assets/ckeditor/ckeditor/_source/plugins/editingblock/plugin.js +278 -275
  245. data/vendor/assets/ckeditor/ckeditor/_source/plugins/elementspath/plugin.js +218 -218
  246. data/vendor/assets/ckeditor/ckeditor/_source/plugins/enterkey/plugin.js +433 -413
  247. data/vendor/assets/ckeditor/ckeditor/_source/plugins/entities/plugin.js +254 -250
  248. data/vendor/assets/ckeditor/ckeditor/_source/plugins/fakeobjects/plugin.js +175 -175
  249. data/vendor/assets/ckeditor/ckeditor/_source/plugins/filebrowser/plugin.js +533 -524
  250. data/vendor/assets/ckeditor/ckeditor/_source/plugins/find/dialogs/find.js +915 -903
  251. data/vendor/assets/ckeditor/ckeditor/_source/plugins/find/plugin.js +47 -47
  252. data/vendor/assets/ckeditor/ckeditor/_source/plugins/flash/dialogs/flash.js +674 -673
  253. data/vendor/assets/ckeditor/ckeditor/_source/plugins/flash/plugin.js +154 -154
  254. data/vendor/assets/ckeditor/ckeditor/_source/plugins/floatpanel/plugin.js +476 -428
  255. data/vendor/assets/ckeditor/ckeditor/_source/plugins/font/plugin.js +234 -234
  256. data/vendor/assets/ckeditor/ckeditor/_source/plugins/format/plugin.js +197 -197
  257. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/button.js +118 -118
  258. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -153
  259. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/form.js +177 -177
  260. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +100 -100
  261. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -135
  262. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/select.js +558 -558
  263. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/textarea.js +135 -114
  264. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -199
  265. data/vendor/assets/ckeditor/ckeditor/_source/plugins/forms/plugin.js +288 -288
  266. data/vendor/assets/ckeditor/ckeditor/_source/plugins/horizontalrule/plugin.js +48 -48
  267. data/vendor/assets/ckeditor/ckeditor/_source/plugins/htmldataprocessor/plugin.js +600 -595
  268. data/vendor/assets/ckeditor/ckeditor/_source/plugins/htmlwriter/plugin.js +319 -319
  269. data/vendor/assets/ckeditor/ckeditor/_source/plugins/iframe/dialogs/iframe.js +229 -229
  270. data/vendor/assets/ckeditor/ckeditor/_source/plugins/iframe/plugin.js +87 -87
  271. data/vendor/assets/ckeditor/ckeditor/_source/plugins/iframedialog/plugin.js +188 -188
  272. data/vendor/assets/ckeditor/ckeditor/_source/plugins/image/dialogs/image.js +1406 -1406
  273. data/vendor/assets/ckeditor/ckeditor/_source/plugins/image/plugin.js +164 -81
  274. data/vendor/assets/ckeditor/ckeditor/_source/plugins/indent/plugin.js +480 -461
  275. data/vendor/assets/ckeditor/ckeditor/_source/plugins/justify/plugin.js +251 -253
  276. data/vendor/assets/ckeditor/ckeditor/_source/plugins/keystrokes/plugin.js +225 -225
  277. data/vendor/assets/ckeditor/ckeditor/_source/plugins/link/dialogs/anchor.js +144 -144
  278. data/vendor/assets/ckeditor/ckeditor/_source/plugins/link/dialogs/link.js +1427 -1424
  279. data/vendor/assets/ckeditor/ckeditor/_source/plugins/link/plugin.js +374 -374
  280. data/vendor/assets/ckeditor/ckeditor/_source/plugins/list/plugin.js +967 -734
  281. data/vendor/assets/ckeditor/ckeditor/_source/plugins/listblock/plugin.js +260 -268
  282. data/vendor/assets/ckeditor/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +225 -225
  283. data/vendor/assets/ckeditor/ckeditor/_source/plugins/liststyle/plugin.js +66 -66
  284. data/vendor/assets/ckeditor/ckeditor/_source/plugins/maximize/plugin.js +353 -352
  285. data/vendor/assets/ckeditor/ckeditor/_source/plugins/menu/plugin.js +542 -541
  286. data/vendor/assets/ckeditor/ckeditor/_source/plugins/menubutton/plugin.js +98 -98
  287. data/vendor/assets/ckeditor/ckeditor/_source/plugins/newpage/plugin.js +55 -54
  288. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pagebreak/plugin.js +164 -164
  289. data/vendor/assets/ckeditor/ckeditor/_source/plugins/panel/plugin.js +396 -403
  290. data/vendor/assets/ckeditor/ckeditor/_source/plugins/panelbutton/plugin.js +144 -144
  291. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastefromword/filter/default.js +1367 -1367
  292. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastefromword/plugin.js +141 -141
  293. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -67
  294. data/vendor/assets/ckeditor/ckeditor/_source/plugins/pastetext/plugin.js +98 -98
  295. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +71 -71
  296. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/_translationstatus.txt +26 -0
  297. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/bg.js +16 -0
  298. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/cs.js +16 -0
  299. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/cy.js +16 -0
  300. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/da.js +16 -0
  301. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/de.js +16 -0
  302. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/el.js +16 -0
  303. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/en.js +16 -16
  304. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/eo.js +16 -0
  305. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/et.js +16 -0
  306. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/fa.js +16 -0
  307. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/fi.js +16 -0
  308. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/fr.js +16 -0
  309. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/he.js +16 -16
  310. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/hr.js +16 -0
  311. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/it.js +16 -0
  312. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/nb.js +16 -0
  313. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/nl.js +16 -0
  314. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/no.js +16 -0
  315. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/pl.js +16 -0
  316. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/tr.js +16 -0
  317. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/ug.js +16 -0
  318. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/uk.js +16 -0
  319. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/vi.js +16 -0
  320. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/lang/zh-cn.js +16 -0
  321. data/vendor/assets/ckeditor/ckeditor/_source/plugins/placeholder/plugin.js +171 -171
  322. data/vendor/assets/ckeditor/ckeditor/_source/plugins/popup/plugin.js +69 -64
  323. data/vendor/assets/ckeditor/ckeditor/_source/plugins/preview/plugin.js +113 -109
  324. data/vendor/assets/ckeditor/ckeditor/_source/plugins/print/plugin.js +42 -42
  325. data/vendor/assets/ckeditor/ckeditor/_source/plugins/removeformat/plugin.js +185 -185
  326. data/vendor/assets/ckeditor/ckeditor/_source/plugins/resize/plugin.js +169 -168
  327. data/vendor/assets/ckeditor/ckeditor/_source/plugins/richcombo/plugin.js +381 -381
  328. data/vendor/assets/ckeditor/ckeditor/_source/plugins/save/plugin.js +56 -56
  329. data/vendor/assets/ckeditor/ckeditor/_source/plugins/scayt/dialogs/options.js +537 -537
  330. data/vendor/assets/ckeditor/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +71 -71
  331. data/vendor/assets/ckeditor/ckeditor/_source/plugins/scayt/plugin.js +973 -964
  332. data/vendor/assets/ckeditor/ckeditor/_source/plugins/selection/plugin.js +1855 -1601
  333. data/vendor/assets/ckeditor/ckeditor/_source/plugins/showblocks/plugin.js +160 -160
  334. data/vendor/assets/ckeditor/ckeditor/_source/plugins/showborders/plugin.js +207 -207
  335. data/vendor/assets/ckeditor/ckeditor/_source/plugins/smiley/dialogs/smiley.js +224 -224
  336. data/vendor/assets/ckeditor/ckeditor/_source/plugins/smiley/plugin.js +94 -94
  337. data/vendor/assets/ckeditor/ckeditor/_source/plugins/sourcearea/plugin.js +209 -209
  338. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +350 -350
  339. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/_translationstatus.txt +19 -0
  340. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/cs.js +126 -0
  341. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/cy.js +126 -0
  342. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/de.js +126 -0
  343. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/en.js +126 -89
  344. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/eo.js +126 -0
  345. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/et.js +126 -0
  346. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/fa.js +126 -0
  347. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/fi.js +126 -0
  348. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/fr.js +126 -0
  349. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/hr.js +126 -0
  350. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/it.js +126 -0
  351. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/nb.js +126 -0
  352. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/nl.js +126 -0
  353. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/no.js +126 -0
  354. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/tr.js +126 -0
  355. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/ug.js +126 -0
  356. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/lang/zh-cn.js +126 -0
  357. data/vendor/assets/ckeditor/ckeditor/_source/plugins/specialchar/plugin.js +70 -70
  358. data/vendor/assets/ckeditor/ckeditor/_source/plugins/styles/plugin.js +1706 -1696
  359. data/vendor/assets/ckeditor/ckeditor/_source/plugins/styles/styles/default.js +88 -88
  360. data/vendor/assets/ckeditor/ckeditor/_source/plugins/stylescombo/plugin.js +218 -218
  361. data/vendor/assets/ckeditor/ckeditor/_source/plugins/stylesheetparser/plugin.js +148 -148
  362. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tab/plugin.js +367 -367
  363. data/vendor/assets/ckeditor/ckeditor/_source/plugins/table/dialogs/table.js +618 -602
  364. data/vendor/assets/ckeditor/ckeditor/_source/plugins/table/plugin.js +78 -78
  365. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tableresize/plugin.js +443 -443
  366. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +520 -525
  367. data/vendor/assets/ckeditor/ckeditor/_source/plugins/tabletools/plugin.js +1185 -1194
  368. data/vendor/assets/ckeditor/ckeditor/_source/plugins/templates/dialogs/templates.js +234 -234
  369. data/vendor/assets/ckeditor/ckeditor/_source/plugins/templates/plugin.js +100 -99
  370. data/vendor/assets/ckeditor/ckeditor/_source/plugins/templates/templates/default.js +94 -94
  371. data/vendor/assets/ckeditor/ckeditor/_source/plugins/toolbar/plugin.js +545 -545
  372. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +205 -205
  373. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/_translationstatus.txt +27 -0
  374. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/bg.js +15 -0
  375. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/cs.js +15 -0
  376. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/cy.js +15 -0
  377. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/da.js +15 -0
  378. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/de.js +15 -0
  379. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/el.js +15 -0
  380. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/en.js +15 -15
  381. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/eo.js +15 -0
  382. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/et.js +15 -0
  383. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/fa.js +15 -0
  384. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/fi.js +15 -0
  385. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/fr.js +15 -0
  386. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/he.js +15 -15
  387. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/hr.js +15 -0
  388. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/it.js +15 -0
  389. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/mk.js +15 -0
  390. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/nb.js +15 -0
  391. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/nl.js +15 -0
  392. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/no.js +15 -0
  393. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/pl.js +15 -0
  394. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/tr.js +15 -0
  395. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/ug.js +15 -0
  396. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/uk.js +15 -0
  397. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/vi.js +15 -0
  398. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/lang/zh-cn.js +15 -0
  399. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/plugin.js +37 -37
  400. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +15 -15
  401. data/vendor/assets/ckeditor/ckeditor/_source/plugins/uicolor/yui/yui.js +71 -71
  402. data/vendor/assets/ckeditor/ckeditor/_source/plugins/undo/plugin.js +593 -580
  403. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +49 -49
  404. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +52 -52
  405. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/wsc.css +82 -82
  406. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/dialogs/wsc.js +192 -192
  407. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wsc/plugin.js +33 -33
  408. data/vendor/assets/ckeditor/ckeditor/_source/plugins/wysiwygarea/plugin.js +1346 -1351
  409. data/vendor/assets/ckeditor/ckeditor/_source/plugins/xml/plugin.js +170 -170
  410. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/dialog.css +989 -943
  411. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/editor.css +25 -25
  412. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/elementspath.css +73 -73
  413. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/icons.css +366 -366
  414. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/mainui.css +206 -203
  415. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/menu.css +232 -232
  416. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/panel.css +217 -217
  417. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/presets.css +49 -49
  418. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/reset.css +85 -84
  419. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/richcombo.css +287 -287
  420. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/skin.js +236 -236
  421. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/templates.css +88 -88
  422. data/vendor/assets/ckeditor/ckeditor/_source/skins/kama/toolbar.css +408 -407
  423. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/dialog.css +891 -844
  424. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/editor.css +25 -25
  425. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/elementspath.css +74 -74
  426. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/icons.css +363 -363
  427. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/mainui.css +153 -153
  428. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/menu.css +229 -229
  429. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/panel.css +212 -212
  430. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/presets.css +49 -49
  431. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/reset.css +85 -84
  432. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/richcombo.css +309 -309
  433. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/skin.js +74 -74
  434. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/templates.css +87 -87
  435. data/vendor/assets/ckeditor/ckeditor/_source/skins/office2003/toolbar.css +522 -522
  436. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/dialog.css +907 -861
  437. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/editor.css +25 -25
  438. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/elementspath.css +74 -74
  439. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/icons.css +363 -363
  440. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/mainui.css +162 -162
  441. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/menu.css +232 -232
  442. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/panel.css +212 -212
  443. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/presets.css +50 -50
  444. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/reset.css +85 -84
  445. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/richcombo.css +302 -302
  446. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/skin.js +70 -70
  447. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/templates.css +87 -87
  448. data/vendor/assets/ckeditor/ckeditor/_source/skins/v2/toolbar.css +465 -465
  449. data/vendor/assets/ckeditor/ckeditor/_source/themes/default/theme.js +407 -395
  450. data/vendor/assets/ckeditor/ckeditor/adapters/jquery.js +6 -6
  451. data/vendor/assets/ckeditor/ckeditor/ckeditor.asp +955 -955
  452. data/vendor/assets/ckeditor/ckeditor/ckeditor.js +134 -130
  453. data/vendor/assets/ckeditor/ckeditor/ckeditor.pack +211 -211
  454. data/vendor/assets/ckeditor/ckeditor/ckeditor.php +29 -29
  455. data/vendor/assets/ckeditor/ckeditor/ckeditor_basic.js +8 -8
  456. data/vendor/assets/ckeditor/ckeditor/ckeditor_basic_source.js +20 -20
  457. data/vendor/assets/ckeditor/ckeditor/ckeditor_php4.php +566 -566
  458. data/vendor/assets/ckeditor/ckeditor/ckeditor_php5.php +556 -556
  459. data/vendor/assets/ckeditor/ckeditor/ckeditor_source.js +14 -4
  460. data/vendor/assets/ckeditor/ckeditor/config.js +11 -11
  461. data/vendor/assets/ckeditor/ckeditor/contents.css +25 -25
  462. data/vendor/assets/ckeditor/ckeditor/lang/_languages.js +1 -1
  463. data/vendor/assets/ckeditor/ckeditor/lang/_translationstatus.txt +61 -59
  464. data/vendor/assets/ckeditor/ckeditor/lang/af.js +2 -2
  465. data/vendor/assets/ckeditor/ckeditor/lang/ar.js +2 -2
  466. data/vendor/assets/ckeditor/ckeditor/lang/bg.js +2 -2
  467. data/vendor/assets/ckeditor/ckeditor/lang/bn.js +2 -2
  468. data/vendor/assets/ckeditor/ckeditor/lang/bs.js +2 -2
  469. data/vendor/assets/ckeditor/ckeditor/lang/ca.js +2 -2
  470. data/vendor/assets/ckeditor/ckeditor/lang/cs.js +2 -2
  471. data/vendor/assets/ckeditor/ckeditor/lang/cy.js +2 -2
  472. data/vendor/assets/ckeditor/ckeditor/lang/da.js +2 -2
  473. data/vendor/assets/ckeditor/ckeditor/lang/de.js +2 -2
  474. data/vendor/assets/ckeditor/ckeditor/lang/el.js +2 -2
  475. data/vendor/assets/ckeditor/ckeditor/lang/en-au.js +2 -2
  476. data/vendor/assets/ckeditor/ckeditor/lang/en-ca.js +2 -2
  477. data/vendor/assets/ckeditor/ckeditor/lang/en-gb.js +2 -2
  478. data/vendor/assets/ckeditor/ckeditor/lang/en.js +2 -2
  479. data/vendor/assets/ckeditor/ckeditor/lang/eo.js +2 -2
  480. data/vendor/assets/ckeditor/ckeditor/lang/es.js +2 -2
  481. data/vendor/assets/ckeditor/ckeditor/lang/et.js +2 -2
  482. data/vendor/assets/ckeditor/ckeditor/lang/eu.js +2 -2
  483. data/vendor/assets/ckeditor/ckeditor/lang/fa.js +2 -2
  484. data/vendor/assets/ckeditor/ckeditor/lang/fi.js +2 -2
  485. data/vendor/assets/ckeditor/ckeditor/lang/fo.js +2 -2
  486. data/vendor/assets/ckeditor/ckeditor/lang/fr-ca.js +2 -2
  487. data/vendor/assets/ckeditor/ckeditor/lang/fr.js +2 -2
  488. data/vendor/assets/ckeditor/ckeditor/lang/gl.js +2 -2
  489. data/vendor/assets/ckeditor/ckeditor/lang/gu.js +2 -2
  490. data/vendor/assets/ckeditor/ckeditor/lang/he.js +2 -2
  491. data/vendor/assets/ckeditor/ckeditor/lang/hi.js +2 -2
  492. data/vendor/assets/ckeditor/ckeditor/lang/hr.js +2 -2
  493. data/vendor/assets/ckeditor/ckeditor/lang/hu.js +2 -2
  494. data/vendor/assets/ckeditor/ckeditor/lang/is.js +2 -2
  495. data/vendor/assets/ckeditor/ckeditor/lang/it.js +2 -2
  496. data/vendor/assets/ckeditor/ckeditor/lang/ja.js +2 -2
  497. data/vendor/assets/ckeditor/ckeditor/lang/ka.js +2 -2
  498. data/vendor/assets/ckeditor/ckeditor/lang/km.js +2 -2
  499. data/vendor/assets/ckeditor/ckeditor/lang/ko.js +2 -2
  500. data/vendor/assets/ckeditor/ckeditor/lang/lt.js +2 -2
  501. data/vendor/assets/ckeditor/ckeditor/lang/lv.js +2 -2
  502. data/vendor/assets/ckeditor/ckeditor/lang/mk.js +6 -0
  503. data/vendor/assets/ckeditor/ckeditor/lang/mn.js +2 -2
  504. data/vendor/assets/ckeditor/ckeditor/lang/ms.js +2 -2
  505. data/vendor/assets/ckeditor/ckeditor/lang/nb.js +2 -2
  506. data/vendor/assets/ckeditor/ckeditor/lang/nl.js +2 -2
  507. data/vendor/assets/ckeditor/ckeditor/lang/no.js +2 -2
  508. data/vendor/assets/ckeditor/ckeditor/lang/pl.js +2 -2
  509. data/vendor/assets/ckeditor/ckeditor/lang/pt-br.js +2 -2
  510. data/vendor/assets/ckeditor/ckeditor/lang/pt.js +2 -2
  511. data/vendor/assets/ckeditor/ckeditor/lang/ro.js +2 -2
  512. data/vendor/assets/ckeditor/ckeditor/lang/ru.js +2 -2
  513. data/vendor/assets/ckeditor/ckeditor/lang/sk.js +2 -2
  514. data/vendor/assets/ckeditor/ckeditor/lang/sl.js +2 -2
  515. data/vendor/assets/ckeditor/ckeditor/lang/sr-latn.js +2 -2
  516. data/vendor/assets/ckeditor/ckeditor/lang/sr.js +2 -2
  517. data/vendor/assets/ckeditor/ckeditor/lang/sv.js +2 -2
  518. data/vendor/assets/ckeditor/ckeditor/lang/th.js +2 -2
  519. data/vendor/assets/ckeditor/ckeditor/lang/tr.js +2 -2
  520. data/vendor/assets/ckeditor/ckeditor/lang/ug.js +6 -0
  521. data/vendor/assets/ckeditor/ckeditor/lang/uk.js +2 -2
  522. data/vendor/assets/ckeditor/ckeditor/lang/vi.js +2 -2
  523. data/vendor/assets/ckeditor/ckeditor/lang/zh-cn.js +2 -2
  524. data/vendor/assets/ckeditor/ckeditor/lang/zh.js +2 -2
  525. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +1 -1
  526. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt +23 -0
  527. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/cs.js +6 -0
  528. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/cy.js +6 -0
  529. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/da.js +6 -0
  530. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/de.js +6 -0
  531. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/el.js +6 -0
  532. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/en.js +2 -2
  533. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/eo.js +6 -0
  534. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/fa.js +6 -0
  535. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/fi.js +6 -0
  536. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/fr.js +6 -0
  537. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/gu.js +6 -0
  538. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/he.js +2 -2
  539. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/it.js +6 -0
  540. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/mk.js +6 -0
  541. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/nb.js +6 -0
  542. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/nl.js +6 -0
  543. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/no.js +6 -0
  544. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/tr.js +6 -0
  545. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/ug.js +6 -0
  546. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/vi.js +6 -0
  547. data/vendor/assets/ckeditor/ckeditor/plugins/a11yhelp/lang/zh-cn.js +6 -0
  548. data/vendor/assets/ckeditor/ckeditor/plugins/about/dialogs/about.js +1 -1
  549. data/vendor/assets/ckeditor/ckeditor/plugins/adobeair/plugin.js +1 -1
  550. data/vendor/assets/ckeditor/ckeditor/plugins/ajax/plugin.js +1 -1
  551. data/vendor/assets/ckeditor/ckeditor/plugins/autogrow/plugin.js +2 -2
  552. data/vendor/assets/ckeditor/ckeditor/plugins/bbcode/plugin.js +1 -1
  553. data/vendor/assets/ckeditor/ckeditor/plugins/clipboard/dialogs/paste.js +2 -2
  554. data/vendor/assets/ckeditor/ckeditor/plugins/colordialog/dialogs/colordialog.js +3 -3
  555. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/_translationstatus.txt +27 -0
  556. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/bg.js +6 -0
  557. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/cs.js +6 -0
  558. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/cy.js +6 -0
  559. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/da.js +6 -0
  560. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/de.js +6 -0
  561. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/el.js +6 -0
  562. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/en.js +1 -1
  563. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/eo.js +6 -0
  564. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/et.js +6 -0
  565. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/fa.js +6 -0
  566. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/fi.js +6 -0
  567. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/fr.js +6 -0
  568. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/gu.js +6 -0
  569. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/he.js +6 -0
  570. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/hr.js +6 -0
  571. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/it.js +6 -0
  572. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/nb.js +6 -0
  573. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/nl.js +6 -0
  574. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/no.js +6 -0
  575. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/pl.js +6 -0
  576. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/tr.js +6 -0
  577. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/ug.js +6 -0
  578. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/uk.js +6 -0
  579. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/vi.js +6 -0
  580. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/lang/zh-cn.js +6 -0
  581. data/vendor/assets/ckeditor/ckeditor/plugins/devtools/plugin.js +2 -2
  582. data/vendor/assets/ckeditor/ckeditor/plugins/dialog/dialogDefinition.js +1 -1
  583. data/vendor/assets/ckeditor/ckeditor/plugins/div/dialogs/div.js +1 -1
  584. data/vendor/assets/ckeditor/ckeditor/plugins/docprops/dialogs/docprops.js +3 -3
  585. data/vendor/assets/ckeditor/ckeditor/plugins/docprops/plugin.js +1 -1
  586. data/vendor/assets/ckeditor/ckeditor/plugins/find/dialogs/find.js +6 -6
  587. data/vendor/assets/ckeditor/ckeditor/plugins/flash/dialogs/flash.js +2 -2
  588. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/button.js +1 -1
  589. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/checkbox.js +1 -1
  590. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/form.js +1 -1
  591. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/hiddenfield.js +1 -1
  592. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/radio.js +1 -1
  593. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/select.js +1 -1
  594. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/textarea.js +2 -2
  595. data/vendor/assets/ckeditor/ckeditor/plugins/forms/dialogs/textfield.js +1 -1
  596. data/vendor/assets/ckeditor/ckeditor/plugins/iframe/dialogs/iframe.js +1 -1
  597. data/vendor/assets/ckeditor/ckeditor/plugins/iframedialog/plugin.js +1 -1
  598. data/vendor/assets/ckeditor/ckeditor/plugins/image/dialogs/image.js +9 -9
  599. data/vendor/assets/ckeditor/ckeditor/plugins/link/dialogs/anchor.js +1 -1
  600. data/vendor/assets/ckeditor/ckeditor/plugins/link/dialogs/link.js +6 -6
  601. data/vendor/assets/ckeditor/ckeditor/plugins/liststyle/dialogs/liststyle.js +1 -1
  602. data/vendor/assets/ckeditor/ckeditor/plugins/pastefromword/filter/default.js +1 -1
  603. data/vendor/assets/ckeditor/ckeditor/plugins/pastetext/dialogs/pastetext.js +1 -1
  604. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/dialogs/placeholder.js +1 -1
  605. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/_translationstatus.txt +26 -0
  606. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/bg.js +6 -0
  607. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/cs.js +6 -0
  608. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/cy.js +6 -0
  609. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/da.js +6 -0
  610. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/de.js +6 -0
  611. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/el.js +6 -0
  612. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/en.js +1 -1
  613. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/eo.js +6 -0
  614. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/et.js +6 -0
  615. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/fa.js +6 -0
  616. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/fi.js +6 -0
  617. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/fr.js +6 -0
  618. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/he.js +1 -1
  619. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/hr.js +6 -0
  620. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/it.js +6 -0
  621. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/nb.js +6 -0
  622. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/nl.js +6 -0
  623. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/no.js +6 -0
  624. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/pl.js +6 -0
  625. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/tr.js +6 -0
  626. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/ug.js +6 -0
  627. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/uk.js +6 -0
  628. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/vi.js +6 -0
  629. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/lang/zh-cn.js +6 -0
  630. data/vendor/assets/ckeditor/ckeditor/plugins/placeholder/plugin.js +2 -2
  631. data/vendor/assets/ckeditor/ckeditor/plugins/scayt/dialogs/options.js +1 -1
  632. data/vendor/assets/ckeditor/ckeditor/plugins/scayt/dialogs/toolbar.css +1 -1
  633. data/vendor/assets/ckeditor/ckeditor/plugins/smiley/dialogs/smiley.js +1 -1
  634. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/dialogs/specialchar.js +2 -2
  635. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/_translationstatus.txt +19 -0
  636. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/cs.js +6 -0
  637. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/cy.js +6 -0
  638. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/de.js +6 -0
  639. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/en.js +2 -2
  640. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/eo.js +6 -0
  641. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/et.js +6 -0
  642. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/fa.js +6 -0
  643. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/fi.js +6 -0
  644. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/fr.js +6 -0
  645. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/hr.js +6 -0
  646. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/it.js +6 -0
  647. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/nb.js +6 -0
  648. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/nl.js +6 -0
  649. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/no.js +6 -0
  650. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/tr.js +6 -0
  651. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/ug.js +6 -0
  652. data/vendor/assets/ckeditor/ckeditor/plugins/specialchar/lang/zh-cn.js +6 -0
  653. data/vendor/assets/ckeditor/ckeditor/plugins/styles/styles/default.js +1 -1
  654. data/vendor/assets/ckeditor/ckeditor/plugins/stylesheetparser/plugin.js +1 -1
  655. data/vendor/assets/ckeditor/ckeditor/plugins/table/dialogs/table.js +5 -5
  656. data/vendor/assets/ckeditor/ckeditor/plugins/tableresize/plugin.js +1 -1
  657. data/vendor/assets/ckeditor/ckeditor/plugins/tabletools/dialogs/tableCell.js +3 -3
  658. data/vendor/assets/ckeditor/ckeditor/plugins/templates/dialogs/templates.js +1 -1
  659. data/vendor/assets/ckeditor/ckeditor/plugins/templates/templates/default.js +1 -1
  660. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/dialogs/uicolor.js +1 -1
  661. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/_translationstatus.txt +27 -0
  662. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/bg.js +6 -0
  663. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/cs.js +6 -0
  664. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/cy.js +6 -0
  665. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/da.js +6 -0
  666. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/de.js +6 -0
  667. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/el.js +6 -0
  668. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/en.js +1 -1
  669. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/eo.js +6 -0
  670. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/et.js +6 -0
  671. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/fa.js +6 -0
  672. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/fi.js +6 -0
  673. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/fr.js +6 -0
  674. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/he.js +1 -1
  675. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/hr.js +6 -0
  676. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/it.js +6 -0
  677. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/mk.js +6 -0
  678. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/nb.js +6 -0
  679. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/nl.js +6 -0
  680. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/no.js +6 -0
  681. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/pl.js +6 -0
  682. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/tr.js +6 -0
  683. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/ug.js +6 -0
  684. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/uk.js +6 -0
  685. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/vi.js +6 -0
  686. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/lang/zh-cn.js +6 -0
  687. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/plugin.js +2 -2
  688. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/yui/assets/yui.css +1 -1
  689. data/vendor/assets/ckeditor/ckeditor/plugins/uicolor/yui/yui.js +1 -1
  690. data/vendor/assets/ckeditor/ckeditor/plugins/wsc/dialogs/ciframe.html +1 -1
  691. data/vendor/assets/ckeditor/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +1 -1
  692. data/vendor/assets/ckeditor/ckeditor/plugins/wsc/dialogs/wsc.css +1 -1
  693. data/vendor/assets/ckeditor/ckeditor/plugins/wsc/dialogs/wsc.js +2 -2
  694. data/vendor/assets/ckeditor/ckeditor/plugins/xml/plugin.js +1 -1
  695. data/vendor/assets/ckeditor/ckeditor/skins/kama/dialog.css +2 -2
  696. data/vendor/assets/ckeditor/ckeditor/skins/kama/editor.css +4 -4
  697. data/vendor/assets/ckeditor/ckeditor/skins/kama/skin.js +1 -1
  698. data/vendor/assets/ckeditor/ckeditor/skins/kama/templates.css +1 -1
  699. data/vendor/assets/ckeditor/ckeditor/skins/office2003/dialog.css +2 -2
  700. data/vendor/assets/ckeditor/ckeditor/skins/office2003/editor.css +2 -2
  701. data/vendor/assets/ckeditor/ckeditor/skins/office2003/skin.js +1 -1
  702. data/vendor/assets/ckeditor/ckeditor/skins/office2003/templates.css +1 -1
  703. data/vendor/assets/ckeditor/ckeditor/skins/v2/dialog.css +2 -2
  704. data/vendor/assets/ckeditor/ckeditor/skins/v2/editor.css +2 -2
  705. data/vendor/assets/ckeditor/ckeditor/skins/v2/skin.js +1 -1
  706. data/vendor/assets/ckeditor/ckeditor/skins/v2/templates.css +1 -1
  707. data/vendor/assets/ckeditor/ckeditor/themes/default/theme.js +8 -8
  708. metadata +225 -3
@@ -1,695 +1,691 @@
1
- /*
2
- Copyright (c) 2003-2011, 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.node} class which is the base
8
- * class for classes that represent DOM nodes.
9
- */
10
-
11
- /**
12
- * Base class for classes representing DOM nodes. This constructor may return
13
- * an instance of a class that inherits from this class, like
14
- * {@link CKEDITOR.dom.element} or {@link CKEDITOR.dom.text}.
15
- * @augments CKEDITOR.dom.domObject
16
- * @param {Object} domNode A native DOM node.
17
- * @constructor
18
- * @see CKEDITOR.dom.element
19
- * @see CKEDITOR.dom.text
20
- * @example
21
- */
22
- CKEDITOR.dom.node = function( domNode )
23
- {
24
- if ( domNode )
25
- {
26
- switch ( domNode.nodeType )
27
- {
28
- // Safari don't consider document as element node type. (#3389)
29
- case CKEDITOR.NODE_DOCUMENT :
30
- return new CKEDITOR.dom.document( domNode );
31
-
32
- case CKEDITOR.NODE_ELEMENT :
33
- return new CKEDITOR.dom.element( domNode );
34
-
35
- case CKEDITOR.NODE_TEXT :
36
- return new CKEDITOR.dom.text( domNode );
37
- }
38
-
39
- // Call the base constructor.
40
- CKEDITOR.dom.domObject.call( this, domNode );
41
- }
42
-
43
- return this;
44
- };
45
-
46
- CKEDITOR.dom.node.prototype = new CKEDITOR.dom.domObject();
47
-
48
- /**
49
- * Element node type.
50
- * @constant
51
- * @example
52
- */
53
- CKEDITOR.NODE_ELEMENT = 1;
54
-
55
- /**
56
- * Document node type.
57
- * @constant
58
- * @example
59
- */
60
- CKEDITOR.NODE_DOCUMENT = 9;
61
-
62
- /**
63
- * Text node type.
64
- * @constant
65
- * @example
66
- */
67
- CKEDITOR.NODE_TEXT = 3;
68
-
69
- /**
70
- * Comment node type.
71
- * @constant
72
- * @example
73
- */
74
- CKEDITOR.NODE_COMMENT = 8;
75
-
76
- CKEDITOR.NODE_DOCUMENT_FRAGMENT = 11;
77
-
78
- CKEDITOR.POSITION_IDENTICAL = 0;
79
- CKEDITOR.POSITION_DISCONNECTED = 1;
80
- CKEDITOR.POSITION_FOLLOWING = 2;
81
- CKEDITOR.POSITION_PRECEDING = 4;
82
- CKEDITOR.POSITION_IS_CONTAINED = 8;
83
- CKEDITOR.POSITION_CONTAINS = 16;
84
-
85
- CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype,
86
- /** @lends CKEDITOR.dom.node.prototype */
87
- {
88
- /**
89
- * Makes this node a child of another element.
90
- * @param {CKEDITOR.dom.element} element The target element to which
91
- * this node will be appended.
92
- * @returns {CKEDITOR.dom.element} The target element.
93
- * @example
94
- * var p = new CKEDITOR.dom.element( 'p' );
95
- * var strong = new CKEDITOR.dom.element( 'strong' );
96
- * strong.appendTo( p );
97
- *
98
- * // result: "<p><strong></strong></p>"
99
- */
100
- appendTo : function( element, toStart )
101
- {
102
- element.append( this, toStart );
103
- return element;
104
- },
105
-
106
- clone : function( includeChildren, cloneId )
107
- {
108
- var $clone = this.$.cloneNode( includeChildren );
109
-
110
- var removeIds = function( node )
111
- {
112
- if ( node.nodeType != CKEDITOR.NODE_ELEMENT )
113
- return;
114
-
115
- if ( !cloneId )
116
- node.removeAttribute( 'id', false );
117
- node.removeAttribute( 'data-cke-expando', false );
118
-
119
- if ( includeChildren )
120
- {
121
- var childs = node.childNodes;
122
- for ( var i=0; i < childs.length; i++ )
123
- removeIds( childs[ i ] );
124
- }
125
- };
126
-
127
- // The "id" attribute should never be cloned to avoid duplication.
128
- removeIds( $clone );
129
-
130
- return new CKEDITOR.dom.node( $clone );
131
- },
132
-
133
- hasPrevious : function()
134
- {
135
- return !!this.$.previousSibling;
136
- },
137
-
138
- hasNext : function()
139
- {
140
- return !!this.$.nextSibling;
141
- },
142
-
143
- /**
144
- * Inserts this element after a node.
145
- * @param {CKEDITOR.dom.node} node The node that will precede this element.
146
- * @returns {CKEDITOR.dom.node} The node preceding this one after
147
- * insertion.
148
- * @example
149
- * var em = new CKEDITOR.dom.element( 'em' );
150
- * var strong = new CKEDITOR.dom.element( 'strong' );
151
- * strong.insertAfter( em );
152
- *
153
- * // result: "&lt;em&gt;&lt;/em&gt;&lt;strong&gt;&lt;/strong&gt;"
154
- */
155
- insertAfter : function( node )
156
- {
157
- node.$.parentNode.insertBefore( this.$, node.$.nextSibling );
158
- return node;
159
- },
160
-
161
- /**
162
- * Inserts this element before a node.
163
- * @param {CKEDITOR.dom.node} node The node that will succeed this element.
164
- * @returns {CKEDITOR.dom.node} The node being inserted.
165
- * @example
166
- * var em = new CKEDITOR.dom.element( 'em' );
167
- * var strong = new CKEDITOR.dom.element( 'strong' );
168
- * strong.insertBefore( em );
169
- *
170
- * // result: "&lt;strong&gt;&lt;/strong&gt;&lt;em&gt;&lt;/em&gt;"
171
- */
172
- insertBefore : function( node )
173
- {
174
- node.$.parentNode.insertBefore( this.$, node.$ );
175
- return node;
176
- },
177
-
178
- insertBeforeMe : function( node )
179
- {
180
- this.$.parentNode.insertBefore( node.$, this.$ );
181
- return node;
182
- },
183
-
184
- /**
185
- * Retrieves a uniquely identifiable tree address for this node.
186
- * The tree address returned is an array of integers, with each integer
187
- * indicating a child index of a DOM node, starting from
188
- * <code>document.documentElement</code>.
189
- *
190
- * For example, assuming <code>&lt;body&gt;</code> is the second child
191
- * of <code>&lt;html&gt;</code> (<code>&lt;head&gt;</code> being the first),
192
- * and we would like to address the third child under the
193
- * fourth child of <code>&lt;body&gt;</code>, the tree address returned would be:
194
- * [1, 3, 2]
195
- *
196
- * The tree address cannot be used for finding back the DOM tree node once
197
- * the DOM tree structure has been modified.
198
- */
199
- getAddress : function( normalized )
200
- {
201
- var address = [];
202
- var $documentElement = this.getDocument().$.documentElement;
203
- var node = this.$;
204
-
205
- while ( node && node != $documentElement )
206
- {
207
- var parentNode = node.parentNode;
208
-
209
- if ( parentNode )
210
- {
211
- // Get the node index. For performance, call getIndex
212
- // directly, instead of creating a new node object.
213
- address.unshift( this.getIndex.call( { $ : node }, normalized ) );
214
- }
215
-
216
- node = parentNode;
217
- }
218
-
219
- return address;
220
- },
221
-
222
- /**
223
- * Gets the document containing this element.
224
- * @returns {CKEDITOR.dom.document} The document.
225
- * @example
226
- * var element = CKEDITOR.document.getById( 'example' );
227
- * alert( <strong>element.getDocument().equals( CKEDITOR.document )</strong> ); // "true"
228
- */
229
- getDocument : function()
230
- {
231
- return new CKEDITOR.dom.document( this.$.ownerDocument || this.$.parentNode.ownerDocument );
232
- },
233
-
234
- getIndex : function( normalized )
235
- {
236
- // Attention: getAddress depends on this.$
237
-
238
- var current = this.$,
239
- index = 0;
240
-
241
- while ( ( current = current.previousSibling ) )
242
- {
243
- // When normalizing, do not count it if this is an
244
- // empty text node or if it's a text node following another one.
245
- if ( normalized && current.nodeType == 3 &&
246
- ( !current.nodeValue.length ||
247
- ( current.previousSibling && current.previousSibling.nodeType == 3 ) ) )
248
- {
249
- continue;
250
- }
251
-
252
- index++;
253
- }
254
-
255
- return index;
256
- },
257
-
258
- getNextSourceNode : function( startFromSibling, nodeType, guard )
259
- {
260
- // If "guard" is a node, transform it in a function.
261
- if ( guard && !guard.call )
262
- {
263
- var guardNode = guard;
264
- guard = function( node )
265
- {
266
- return !node.equals( guardNode );
267
- };
268
- }
269
-
270
- var node = ( !startFromSibling && this.getFirst && this.getFirst() ),
271
- parent;
272
-
273
- // Guarding when we're skipping the current element( no children or 'startFromSibling' ).
274
- // send the 'moving out' signal even we don't actually dive into.
275
- if ( !node )
276
- {
277
- if ( this.type == CKEDITOR.NODE_ELEMENT && guard && guard( this, true ) === false )
278
- return null;
279
- node = this.getNext();
280
- }
281
-
282
- while ( !node && ( parent = ( parent || this ).getParent() ) )
283
- {
284
- // The guard check sends the "true" paramenter to indicate that
285
- // we are moving "out" of the element.
286
- if ( guard && guard( parent, true ) === false )
287
- return null;
288
-
289
- node = parent.getNext();
290
- }
291
-
292
- if ( !node )
293
- return null;
294
-
295
- if ( guard && guard( node ) === false )
296
- return null;
297
-
298
- if ( nodeType && nodeType != node.type )
299
- return node.getNextSourceNode( false, nodeType, guard );
300
-
301
- return node;
302
- },
303
-
304
- getPreviousSourceNode : function( startFromSibling, nodeType, guard )
305
- {
306
- if ( guard && !guard.call )
307
- {
308
- var guardNode = guard;
309
- guard = function( node )
310
- {
311
- return !node.equals( guardNode );
312
- };
313
- }
314
-
315
- var node = ( !startFromSibling && this.getLast && this.getLast() ),
316
- parent;
317
-
318
- // Guarding when we're skipping the current element( no children or 'startFromSibling' ).
319
- // send the 'moving out' signal even we don't actually dive into.
320
- if ( !node )
321
- {
322
- if ( this.type == CKEDITOR.NODE_ELEMENT && guard && guard( this, true ) === false )
323
- return null;
324
- node = this.getPrevious();
325
- }
326
-
327
- while ( !node && ( parent = ( parent || this ).getParent() ) )
328
- {
329
- // The guard check sends the "true" paramenter to indicate that
330
- // we are moving "out" of the element.
331
- if ( guard && guard( parent, true ) === false )
332
- return null;
333
-
334
- node = parent.getPrevious();
335
- }
336
-
337
- if ( !node )
338
- return null;
339
-
340
- if ( guard && guard( node ) === false )
341
- return null;
342
-
343
- if ( nodeType && node.type != nodeType )
344
- return node.getPreviousSourceNode( false, nodeType, guard );
345
-
346
- return node;
347
- },
348
-
349
- getPrevious : function( evaluator )
350
- {
351
- var previous = this.$, retval;
352
- do
353
- {
354
- previous = previous.previousSibling;
355
- retval = previous && new CKEDITOR.dom.node( previous );
356
- }
357
- while ( retval && evaluator && !evaluator( retval ) )
358
- return retval;
359
- },
360
-
361
- /**
362
- * Gets the node that follows this element in its parent's child list.
363
- * @param {Function} evaluator Filtering the result node.
364
- * @returns {CKEDITOR.dom.node} The next node or null if not available.
365
- * @example
366
- * var element = CKEDITOR.dom.element.createFromHtml( '&lt;div&gt;&lt;b&gt;Example&lt;/b&gt; &lt;i&gt;next&lt;/i&gt;&lt;/div&gt;' );
367
- * var first = <strong>element.getFirst().getNext()</strong>;
368
- * alert( first.getName() ); // "i"
369
- */
370
- getNext : function( evaluator )
371
- {
372
- var next = this.$, retval;
373
- do
374
- {
375
- next = next.nextSibling;
376
- retval = next && new CKEDITOR.dom.node( next );
377
- }
378
- while ( retval && evaluator && !evaluator( retval ) )
379
- return retval;
380
- },
381
-
382
- /**
383
- * Gets the parent element for this node.
384
- * @returns {CKEDITOR.dom.element} The parent element.
385
- * @example
386
- * var node = editor.document.getBody().getFirst();
387
- * var parent = node.<strong>getParent()</strong>;
388
- * alert( node.getName() ); // "body"
389
- */
390
- getParent : function()
391
- {
392
- var parent = this.$.parentNode;
393
- return ( parent && parent.nodeType == 1 ) ? new CKEDITOR.dom.node( parent ) : null;
394
- },
395
-
396
- getParents : function( closerFirst )
397
- {
398
- var node = this;
399
- var parents = [];
400
-
401
- do
402
- {
403
- parents[ closerFirst ? 'push' : 'unshift' ]( node );
404
- }
405
- while ( ( node = node.getParent() ) )
406
-
407
- return parents;
408
- },
409
-
410
- getCommonAncestor : function( node )
411
- {
412
- if ( node.equals( this ) )
413
- return this;
414
-
415
- if ( node.contains && node.contains( this ) )
416
- return node;
417
-
418
- var start = this.contains ? this : this.getParent();
419
-
420
- do
421
- {
422
- if ( start.contains( node ) )
423
- return start;
424
- }
425
- while ( ( start = start.getParent() ) );
426
-
427
- return null;
428
- },
429
-
430
- getPosition : function( otherNode )
431
- {
432
- var $ = this.$;
433
- var $other = otherNode.$;
434
-
435
- if ( $.compareDocumentPosition )
436
- return $.compareDocumentPosition( $other );
437
-
438
- // IE and Safari have no support for compareDocumentPosition.
439
-
440
- if ( $ == $other )
441
- return CKEDITOR.POSITION_IDENTICAL;
442
-
443
- // Only element nodes support contains and sourceIndex.
444
- if ( this.type == CKEDITOR.NODE_ELEMENT && otherNode.type == CKEDITOR.NODE_ELEMENT )
445
- {
446
- if ( $.contains )
447
- {
448
- if ( $.contains( $other ) )
449
- return CKEDITOR.POSITION_CONTAINS + CKEDITOR.POSITION_PRECEDING;
450
-
451
- if ( $other.contains( $ ) )
452
- return CKEDITOR.POSITION_IS_CONTAINED + CKEDITOR.POSITION_FOLLOWING;
453
- }
454
-
455
- if ( 'sourceIndex' in $ )
456
- {
457
- return ( $.sourceIndex < 0 || $other.sourceIndex < 0 ) ? CKEDITOR.POSITION_DISCONNECTED :
458
- ( $.sourceIndex < $other.sourceIndex ) ? CKEDITOR.POSITION_PRECEDING :
459
- CKEDITOR.POSITION_FOLLOWING;
460
- }
461
- }
462
-
463
- // For nodes that don't support compareDocumentPosition, contains
464
- // or sourceIndex, their "address" is compared.
465
-
466
- var addressOfThis = this.getAddress(),
467
- addressOfOther = otherNode.getAddress(),
468
- minLevel = Math.min( addressOfThis.length, addressOfOther.length );
469
-
470
- // Determinate preceed/follow relationship.
471
- for ( var i = 0 ; i <= minLevel - 1 ; i++ )
472
- {
473
- if ( addressOfThis[ i ] != addressOfOther[ i ] )
474
- {
475
- if ( i < minLevel )
476
- {
477
- return addressOfThis[ i ] < addressOfOther[ i ] ?
478
- CKEDITOR.POSITION_PRECEDING : CKEDITOR.POSITION_FOLLOWING;
479
- }
480
- break;
481
- }
482
- }
483
-
484
- // Determinate contains/contained relationship.
485
- return ( addressOfThis.length < addressOfOther.length ) ?
486
- CKEDITOR.POSITION_CONTAINS + CKEDITOR.POSITION_PRECEDING :
487
- CKEDITOR.POSITION_IS_CONTAINED + CKEDITOR.POSITION_FOLLOWING;
488
- },
489
-
490
- /**
491
- * Gets the closest ancestor node of this node, specified by its name.
492
- * @param {String} reference The name of the ancestor node to search or
493
- * an object with the node names to search for.
494
- * @param {Boolean} [includeSelf] Whether to include the current
495
- * node in the search.
496
- * @returns {CKEDITOR.dom.node} The located ancestor node or null if not found.
497
- * @since 3.6.1
498
- * @example
499
- * // Suppose we have the following HTML structure:
500
- * // &lt;div id="outer"&gt;&lt;div id="inner"&gt;&lt;p&gt;&lt;b&gt;Some text&lt;/b&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
501
- * // If node == &lt;b&gt;
502
- * ascendant = node.getAscendant( 'div' ); // ascendant == &lt;div id="inner"&gt
503
- * ascendant = node.getAscendant( 'b' ); // ascendant == null
504
- * ascendant = node.getAscendant( 'b', true ); // ascendant == &lt;b&gt;
505
- * ascendant = node.getAscendant( { div: 1, p: 1} ); // Searches for the first 'div' or 'p': ascendant == &lt;div id="inner"&gt
506
- */
507
- getAscendant : function( reference, includeSelf )
508
- {
509
- var $ = this.$,
510
- name;
511
-
512
- if ( !includeSelf )
513
- $ = $.parentNode;
514
-
515
- while ( $ )
516
- {
517
- if ( $.nodeName && ( name = $.nodeName.toLowerCase(), ( typeof reference == 'string' ? name == reference : name in reference ) ) )
518
- return new CKEDITOR.dom.node( $ );
519
-
520
- $ = $.parentNode;
521
- }
522
- return null;
523
- },
524
-
525
- hasAscendant : function( name, includeSelf )
526
- {
527
- var $ = this.$;
528
-
529
- if ( !includeSelf )
530
- $ = $.parentNode;
531
-
532
- while ( $ )
533
- {
534
- if ( $.nodeName && $.nodeName.toLowerCase() == name )
535
- return true;
536
-
537
- $ = $.parentNode;
538
- }
539
- return false;
540
- },
541
-
542
- move : function( target, toStart )
543
- {
544
- target.append( this.remove(), toStart );
545
- },
546
-
547
- /**
548
- * Removes this node from the document DOM.
549
- * @param {Boolean} [preserveChildren] Indicates that the children
550
- * elements must remain in the document, removing only the outer
551
- * tags.
552
- * @example
553
- * var element = CKEDITOR.dom.element.getById( 'MyElement' );
554
- * <strong>element.remove()</strong>;
555
- */
556
- remove : function( preserveChildren )
557
- {
558
- var $ = this.$;
559
- var parent = $.parentNode;
560
-
561
- if ( parent )
562
- {
563
- if ( preserveChildren )
564
- {
565
- // Move all children before the node.
566
- for ( var child ; ( child = $.firstChild ) ; )
567
- {
568
- parent.insertBefore( $.removeChild( child ), $ );
569
- }
570
- }
571
-
572
- parent.removeChild( $ );
573
- }
574
-
575
- return this;
576
- },
577
-
578
- replace : function( nodeToReplace )
579
- {
580
- this.insertBefore( nodeToReplace );
581
- nodeToReplace.remove();
582
- },
583
-
584
- trim : function()
585
- {
586
- this.ltrim();
587
- this.rtrim();
588
- },
589
-
590
- ltrim : function()
591
- {
592
- var child;
593
- while ( this.getFirst && ( child = this.getFirst() ) )
594
- {
595
- if ( child.type == CKEDITOR.NODE_TEXT )
596
- {
597
- var trimmed = CKEDITOR.tools.ltrim( child.getText() ),
598
- originalLength = child.getLength();
599
-
600
- if ( !trimmed )
601
- {
602
- child.remove();
603
- continue;
604
- }
605
- else if ( trimmed.length < originalLength )
606
- {
607
- child.split( originalLength - trimmed.length );
608
-
609
- // IE BUG: child.remove() may raise JavaScript errors here. (#81)
610
- this.$.removeChild( this.$.firstChild );
611
- }
612
- }
613
- break;
614
- }
615
- },
616
-
617
- rtrim : function()
618
- {
619
- var child;
620
- while ( this.getLast && ( child = this.getLast() ) )
621
- {
622
- if ( child.type == CKEDITOR.NODE_TEXT )
623
- {
624
- var trimmed = CKEDITOR.tools.rtrim( child.getText() ),
625
- originalLength = child.getLength();
626
-
627
- if ( !trimmed )
628
- {
629
- child.remove();
630
- continue;
631
- }
632
- else if ( trimmed.length < originalLength )
633
- {
634
- child.split( trimmed.length );
635
-
636
- // IE BUG: child.getNext().remove() may raise JavaScript errors here.
637
- // (#81)
638
- this.$.lastChild.parentNode.removeChild( this.$.lastChild );
639
- }
640
- }
641
- break;
642
- }
643
-
644
- if ( !CKEDITOR.env.ie && !CKEDITOR.env.opera )
645
- {
646
- child = this.$.lastChild;
647
-
648
- if ( child && child.type == 1 && child.nodeName.toLowerCase() == 'br' )
649
- {
650
- // Use "eChildNode.parentNode" instead of "node" to avoid IE bug (#324).
651
- child.parentNode.removeChild( child ) ;
652
- }
653
- }
654
- },
655
-
656
- /**
657
- * Checks if this node is read-only (should not be changed). Additionally
658
- * it returns the element that defines the read-only state of this node
659
- * (if present). It may be the node itself or any of its parent
660
- * nodes.
661
- * @returns {CKEDITOR.dom.element|Boolean} An element containing
662
- * read-only attributes or "false" if none is found.
663
- * @since 3.5
664
- * @example
665
- * // For the following HTML:
666
- * // &lt;div contenteditable="false"&gt;Some &lt;b&gt;text&lt;/b&gt;&lt;/div&gt;
667
- *
668
- * // If "ele" is the above &lt;div&gt;
669
- * ele.isReadOnly(); // the &lt;div&gt; element
670
- *
671
- * // If "ele" is the above &lt;b&gt;
672
- * ele.isReadOnly(); // the &lt;div&gt; element
673
- */
674
- isReadOnly : function()
675
- {
676
- var current = this;
677
- while( current )
678
- {
679
- if ( current.type == CKEDITOR.NODE_ELEMENT )
680
- {
681
- if ( current.is( 'body' ) || !!current.data( 'cke-editable' ) )
682
- break;
683
-
684
- if ( current.getAttribute( 'contentEditable' ) == 'false' )
685
- return current;
686
- else if ( current.getAttribute( 'contentEditable' ) == 'true' )
687
- break;
688
- }
689
- current = current.getParent();
690
- }
691
-
692
- return false;
693
- }
694
- }
695
- );
1
+ /*
2
+ Copyright (c) 2003-2012, 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.node} class which is the base
8
+ * class for classes that represent DOM nodes.
9
+ */
10
+
11
+ /**
12
+ * Base class for classes representing DOM nodes. This constructor may return
13
+ * an instance of a class that inherits from this class, like
14
+ * {@link CKEDITOR.dom.element} or {@link CKEDITOR.dom.text}.
15
+ * @augments CKEDITOR.dom.domObject
16
+ * @param {Object} domNode A native DOM node.
17
+ * @constructor
18
+ * @see CKEDITOR.dom.element
19
+ * @see CKEDITOR.dom.text
20
+ * @example
21
+ */
22
+ CKEDITOR.dom.node = function( domNode )
23
+ {
24
+ if ( domNode )
25
+ {
26
+ var type = domNode.nodeType == CKEDITOR.NODE_DOCUMENT ? 'document'
27
+ : domNode.nodeType == CKEDITOR.NODE_ELEMENT ? 'element'
28
+ : domNode.nodeType == CKEDITOR.NODE_TEXT ? 'text'
29
+ : domNode.nodeType == CKEDITOR.NODE_COMMENT ? 'comment'
30
+ : 'domObject'; // Call the base constructor otherwise.
31
+
32
+ return new CKEDITOR.dom[ type ]( domNode );
33
+ }
34
+
35
+ return this;
36
+ };
37
+
38
+ CKEDITOR.dom.node.prototype = new CKEDITOR.dom.domObject();
39
+
40
+ /**
41
+ * Element node type.
42
+ * @constant
43
+ * @example
44
+ */
45
+ CKEDITOR.NODE_ELEMENT = 1;
46
+
47
+ /**
48
+ * Document node type.
49
+ * @constant
50
+ * @example
51
+ */
52
+ CKEDITOR.NODE_DOCUMENT = 9;
53
+
54
+ /**
55
+ * Text node type.
56
+ * @constant
57
+ * @example
58
+ */
59
+ CKEDITOR.NODE_TEXT = 3;
60
+
61
+ /**
62
+ * Comment node type.
63
+ * @constant
64
+ * @example
65
+ */
66
+ CKEDITOR.NODE_COMMENT = 8;
67
+
68
+ CKEDITOR.NODE_DOCUMENT_FRAGMENT = 11;
69
+
70
+ CKEDITOR.POSITION_IDENTICAL = 0;
71
+ CKEDITOR.POSITION_DISCONNECTED = 1;
72
+ CKEDITOR.POSITION_FOLLOWING = 2;
73
+ CKEDITOR.POSITION_PRECEDING = 4;
74
+ CKEDITOR.POSITION_IS_CONTAINED = 8;
75
+ CKEDITOR.POSITION_CONTAINS = 16;
76
+
77
+ CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype,
78
+ /** @lends CKEDITOR.dom.node.prototype */
79
+ {
80
+ /**
81
+ * Makes this node a child of another element.
82
+ * @param {CKEDITOR.dom.element} element The target element to which
83
+ * this node will be appended.
84
+ * @returns {CKEDITOR.dom.element} The target element.
85
+ * @example
86
+ * var p = new CKEDITOR.dom.element( 'p' );
87
+ * var strong = new CKEDITOR.dom.element( 'strong' );
88
+ * strong.appendTo( p );
89
+ *
90
+ * // result: "&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;"
91
+ */
92
+ appendTo : function( element, toStart )
93
+ {
94
+ element.append( this, toStart );
95
+ return element;
96
+ },
97
+
98
+ clone : function( includeChildren, cloneId )
99
+ {
100
+ var $clone = this.$.cloneNode( includeChildren );
101
+
102
+ var removeIds = function( node )
103
+ {
104
+ if ( node.nodeType != CKEDITOR.NODE_ELEMENT )
105
+ return;
106
+
107
+ if ( !cloneId )
108
+ node.removeAttribute( 'id', false );
109
+ node.removeAttribute( 'data-cke-expando', false );
110
+
111
+ if ( includeChildren )
112
+ {
113
+ var childs = node.childNodes;
114
+ for ( var i=0; i < childs.length; i++ )
115
+ removeIds( childs[ i ] );
116
+ }
117
+ };
118
+
119
+ // The "id" attribute should never be cloned to avoid duplication.
120
+ removeIds( $clone );
121
+
122
+ return new CKEDITOR.dom.node( $clone );
123
+ },
124
+
125
+ hasPrevious : function()
126
+ {
127
+ return !!this.$.previousSibling;
128
+ },
129
+
130
+ hasNext : function()
131
+ {
132
+ return !!this.$.nextSibling;
133
+ },
134
+
135
+ /**
136
+ * Inserts this element after a node.
137
+ * @param {CKEDITOR.dom.node} node The node that will precede this element.
138
+ * @returns {CKEDITOR.dom.node} The node preceding this one after
139
+ * insertion.
140
+ * @example
141
+ * var em = new CKEDITOR.dom.element( 'em' );
142
+ * var strong = new CKEDITOR.dom.element( 'strong' );
143
+ * strong.insertAfter( em );
144
+ *
145
+ * // result: "&lt;em&gt;&lt;/em&gt;&lt;strong&gt;&lt;/strong&gt;"
146
+ */
147
+ insertAfter : function( node )
148
+ {
149
+ node.$.parentNode.insertBefore( this.$, node.$.nextSibling );
150
+ return node;
151
+ },
152
+
153
+ /**
154
+ * Inserts this element before a node.
155
+ * @param {CKEDITOR.dom.node} node The node that will succeed this element.
156
+ * @returns {CKEDITOR.dom.node} The node being inserted.
157
+ * @example
158
+ * var em = new CKEDITOR.dom.element( 'em' );
159
+ * var strong = new CKEDITOR.dom.element( 'strong' );
160
+ * strong.insertBefore( em );
161
+ *
162
+ * // result: "&lt;strong&gt;&lt;/strong&gt;&lt;em&gt;&lt;/em&gt;"
163
+ */
164
+ insertBefore : function( node )
165
+ {
166
+ node.$.parentNode.insertBefore( this.$, node.$ );
167
+ return node;
168
+ },
169
+
170
+ insertBeforeMe : function( node )
171
+ {
172
+ this.$.parentNode.insertBefore( node.$, this.$ );
173
+ return node;
174
+ },
175
+
176
+ /**
177
+ * Retrieves a uniquely identifiable tree address for this node.
178
+ * The tree address returned is an array of integers, with each integer
179
+ * indicating a child index of a DOM node, starting from
180
+ * <code>document.documentElement</code>.
181
+ *
182
+ * For example, assuming <code>&lt;body&gt;</code> is the second child
183
+ * of <code>&lt;html&gt;</code> (<code>&lt;head&gt;</code> being the first),
184
+ * and we would like to address the third child under the
185
+ * fourth child of <code>&lt;body&gt;</code>, the tree address returned would be:
186
+ * [1, 3, 2]
187
+ *
188
+ * The tree address cannot be used for finding back the DOM tree node once
189
+ * the DOM tree structure has been modified.
190
+ */
191
+ getAddress : function( normalized )
192
+ {
193
+ var address = [];
194
+ var $documentElement = this.getDocument().$.documentElement;
195
+ var node = this.$;
196
+
197
+ while ( node && node != $documentElement )
198
+ {
199
+ var parentNode = node.parentNode;
200
+
201
+ if ( parentNode )
202
+ {
203
+ // Get the node index. For performance, call getIndex
204
+ // directly, instead of creating a new node object.
205
+ address.unshift( this.getIndex.call( { $ : node }, normalized ) );
206
+ }
207
+
208
+ node = parentNode;
209
+ }
210
+
211
+ return address;
212
+ },
213
+
214
+ /**
215
+ * Gets the document containing this element.
216
+ * @returns {CKEDITOR.dom.document} The document.
217
+ * @example
218
+ * var element = CKEDITOR.document.getById( 'example' );
219
+ * alert( <strong>element.getDocument().equals( CKEDITOR.document )</strong> ); // "true"
220
+ */
221
+ getDocument : function()
222
+ {
223
+ return new CKEDITOR.dom.document( this.$.ownerDocument || this.$.parentNode.ownerDocument );
224
+ },
225
+
226
+ getIndex : function( normalized )
227
+ {
228
+ // Attention: getAddress depends on this.$
229
+
230
+ var current = this.$,
231
+ index = 0;
232
+
233
+ while ( ( current = current.previousSibling ) )
234
+ {
235
+ // When normalizing, do not count it if this is an
236
+ // empty text node or if it's a text node following another one.
237
+ if ( normalized && current.nodeType == 3 &&
238
+ ( !current.nodeValue.length ||
239
+ ( current.previousSibling && current.previousSibling.nodeType == 3 ) ) )
240
+ {
241
+ continue;
242
+ }
243
+
244
+ index++;
245
+ }
246
+
247
+ return index;
248
+ },
249
+
250
+ getNextSourceNode : function( startFromSibling, nodeType, guard )
251
+ {
252
+ // If "guard" is a node, transform it in a function.
253
+ if ( guard && !guard.call )
254
+ {
255
+ var guardNode = guard;
256
+ guard = function( node )
257
+ {
258
+ return !node.equals( guardNode );
259
+ };
260
+ }
261
+
262
+ var node = ( !startFromSibling && this.getFirst && this.getFirst() ),
263
+ parent;
264
+
265
+ // Guarding when we're skipping the current element( no children or 'startFromSibling' ).
266
+ // send the 'moving out' signal even we don't actually dive into.
267
+ if ( !node )
268
+ {
269
+ if ( this.type == CKEDITOR.NODE_ELEMENT && guard && guard( this, true ) === false )
270
+ return null;
271
+ node = this.getNext();
272
+ }
273
+
274
+ while ( !node && ( parent = ( parent || this ).getParent() ) )
275
+ {
276
+ // The guard check sends the "true" paramenter to indicate that
277
+ // we are moving "out" of the element.
278
+ if ( guard && guard( parent, true ) === false )
279
+ return null;
280
+
281
+ node = parent.getNext();
282
+ }
283
+
284
+ if ( !node )
285
+ return null;
286
+
287
+ if ( guard && guard( node ) === false )
288
+ return null;
289
+
290
+ if ( nodeType && nodeType != node.type )
291
+ return node.getNextSourceNode( false, nodeType, guard );
292
+
293
+ return node;
294
+ },
295
+
296
+ getPreviousSourceNode : function( startFromSibling, nodeType, guard )
297
+ {
298
+ if ( guard && !guard.call )
299
+ {
300
+ var guardNode = guard;
301
+ guard = function( node )
302
+ {
303
+ return !node.equals( guardNode );
304
+ };
305
+ }
306
+
307
+ var node = ( !startFromSibling && this.getLast && this.getLast() ),
308
+ parent;
309
+
310
+ // Guarding when we're skipping the current element( no children or 'startFromSibling' ).
311
+ // send the 'moving out' signal even we don't actually dive into.
312
+ if ( !node )
313
+ {
314
+ if ( this.type == CKEDITOR.NODE_ELEMENT && guard && guard( this, true ) === false )
315
+ return null;
316
+ node = this.getPrevious();
317
+ }
318
+
319
+ while ( !node && ( parent = ( parent || this ).getParent() ) )
320
+ {
321
+ // The guard check sends the "true" paramenter to indicate that
322
+ // we are moving "out" of the element.
323
+ if ( guard && guard( parent, true ) === false )
324
+ return null;
325
+
326
+ node = parent.getPrevious();
327
+ }
328
+
329
+ if ( !node )
330
+ return null;
331
+
332
+ if ( guard && guard( node ) === false )
333
+ return null;
334
+
335
+ if ( nodeType && node.type != nodeType )
336
+ return node.getPreviousSourceNode( false, nodeType, guard );
337
+
338
+ return node;
339
+ },
340
+
341
+ getPrevious : function( evaluator )
342
+ {
343
+ var previous = this.$, retval;
344
+ do
345
+ {
346
+ previous = previous.previousSibling;
347
+
348
+ // Avoid returning the doc type node.
349
+ // http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-412266927
350
+ retval = previous && previous.nodeType != 10 && new CKEDITOR.dom.node( previous );
351
+ }
352
+ while ( retval && evaluator && !evaluator( retval ) )
353
+ return retval;
354
+ },
355
+
356
+ /**
357
+ * Gets the node that follows this element in its parent's child list.
358
+ * @param {Function} evaluator Filtering the result node.
359
+ * @returns {CKEDITOR.dom.node} The next node or null if not available.
360
+ * @example
361
+ * var element = CKEDITOR.dom.element.createFromHtml( '&lt;div&gt;&lt;b&gt;Example&lt;/b&gt; &lt;i&gt;next&lt;/i&gt;&lt;/div&gt;' );
362
+ * var first = <strong>element.getFirst().getNext()</strong>;
363
+ * alert( first.getName() ); // "i"
364
+ */
365
+ getNext : function( evaluator )
366
+ {
367
+ var next = this.$, retval;
368
+ do
369
+ {
370
+ next = next.nextSibling;
371
+ retval = next && new CKEDITOR.dom.node( next );
372
+ }
373
+ while ( retval && evaluator && !evaluator( retval ) )
374
+ return retval;
375
+ },
376
+
377
+ /**
378
+ * Gets the parent element for this node.
379
+ * @returns {CKEDITOR.dom.element} The parent element.
380
+ * @example
381
+ * var node = editor.document.getBody().getFirst();
382
+ * var parent = node.<strong>getParent()</strong>;
383
+ * alert( node.getName() ); // "body"
384
+ */
385
+ getParent : function()
386
+ {
387
+ var parent = this.$.parentNode;
388
+ return ( parent && parent.nodeType == 1 ) ? new CKEDITOR.dom.node( parent ) : null;
389
+ },
390
+
391
+ getParents : function( closerFirst )
392
+ {
393
+ var node = this;
394
+ var parents = [];
395
+
396
+ do
397
+ {
398
+ parents[ closerFirst ? 'push' : 'unshift' ]( node );
399
+ }
400
+ while ( ( node = node.getParent() ) )
401
+
402
+ return parents;
403
+ },
404
+
405
+ getCommonAncestor : function( node )
406
+ {
407
+ if ( node.equals( this ) )
408
+ return this;
409
+
410
+ if ( node.contains && node.contains( this ) )
411
+ return node;
412
+
413
+ var start = this.contains ? this : this.getParent();
414
+
415
+ do
416
+ {
417
+ if ( start.contains( node ) )
418
+ return start;
419
+ }
420
+ while ( ( start = start.getParent() ) );
421
+
422
+ return null;
423
+ },
424
+
425
+ getPosition : function( otherNode )
426
+ {
427
+ var $ = this.$;
428
+ var $other = otherNode.$;
429
+
430
+ if ( $.compareDocumentPosition )
431
+ return $.compareDocumentPosition( $other );
432
+
433
+ // IE and Safari have no support for compareDocumentPosition.
434
+
435
+ if ( $ == $other )
436
+ return CKEDITOR.POSITION_IDENTICAL;
437
+
438
+ // Only element nodes support contains and sourceIndex.
439
+ if ( this.type == CKEDITOR.NODE_ELEMENT && otherNode.type == CKEDITOR.NODE_ELEMENT )
440
+ {
441
+ if ( $.contains )
442
+ {
443
+ if ( $.contains( $other ) )
444
+ return CKEDITOR.POSITION_CONTAINS + CKEDITOR.POSITION_PRECEDING;
445
+
446
+ if ( $other.contains( $ ) )
447
+ return CKEDITOR.POSITION_IS_CONTAINED + CKEDITOR.POSITION_FOLLOWING;
448
+ }
449
+
450
+ if ( 'sourceIndex' in $ )
451
+ {
452
+ return ( $.sourceIndex < 0 || $other.sourceIndex < 0 ) ? CKEDITOR.POSITION_DISCONNECTED :
453
+ ( $.sourceIndex < $other.sourceIndex ) ? CKEDITOR.POSITION_PRECEDING :
454
+ CKEDITOR.POSITION_FOLLOWING;
455
+ }
456
+ }
457
+
458
+ // For nodes that don't support compareDocumentPosition, contains
459
+ // or sourceIndex, their "address" is compared.
460
+
461
+ var addressOfThis = this.getAddress(),
462
+ addressOfOther = otherNode.getAddress(),
463
+ minLevel = Math.min( addressOfThis.length, addressOfOther.length );
464
+
465
+ // Determinate preceed/follow relationship.
466
+ for ( var i = 0 ; i <= minLevel - 1 ; i++ )
467
+ {
468
+ if ( addressOfThis[ i ] != addressOfOther[ i ] )
469
+ {
470
+ if ( i < minLevel )
471
+ {
472
+ return addressOfThis[ i ] < addressOfOther[ i ] ?
473
+ CKEDITOR.POSITION_PRECEDING : CKEDITOR.POSITION_FOLLOWING;
474
+ }
475
+ break;
476
+ }
477
+ }
478
+
479
+ // Determinate contains/contained relationship.
480
+ return ( addressOfThis.length < addressOfOther.length ) ?
481
+ CKEDITOR.POSITION_CONTAINS + CKEDITOR.POSITION_PRECEDING :
482
+ CKEDITOR.POSITION_IS_CONTAINED + CKEDITOR.POSITION_FOLLOWING;
483
+ },
484
+
485
+ /**
486
+ * Gets the closest ancestor node of this node, specified by its name.
487
+ * @param {String} reference The name of the ancestor node to search or
488
+ * an object with the node names to search for.
489
+ * @param {Boolean} [includeSelf] Whether to include the current
490
+ * node in the search.
491
+ * @returns {CKEDITOR.dom.node} The located ancestor node or null if not found.
492
+ * @since 3.6.1
493
+ * @example
494
+ * // Suppose we have the following HTML structure:
495
+ * // &lt;div id="outer"&gt;&lt;div id="inner"&gt;&lt;p&gt;&lt;b&gt;Some text&lt;/b&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
496
+ * // If node == &lt;b&gt;
497
+ * ascendant = node.getAscendant( 'div' ); // ascendant == &lt;div id="inner"&gt
498
+ * ascendant = node.getAscendant( 'b' ); // ascendant == null
499
+ * ascendant = node.getAscendant( 'b', true ); // ascendant == &lt;b&gt;
500
+ * ascendant = node.getAscendant( { div: 1, p: 1} ); // Searches for the first 'div' or 'p': ascendant == &lt;div id="inner"&gt
501
+ */
502
+ getAscendant : function( reference, includeSelf )
503
+ {
504
+ var $ = this.$,
505
+ name;
506
+
507
+ if ( !includeSelf )
508
+ $ = $.parentNode;
509
+
510
+ while ( $ )
511
+ {
512
+ if ( $.nodeName && ( name = $.nodeName.toLowerCase(), ( typeof reference == 'string' ? name == reference : name in reference ) ) )
513
+ return new CKEDITOR.dom.node( $ );
514
+
515
+ $ = $.parentNode;
516
+ }
517
+ return null;
518
+ },
519
+
520
+ hasAscendant : function( name, includeSelf )
521
+ {
522
+ var $ = this.$;
523
+
524
+ if ( !includeSelf )
525
+ $ = $.parentNode;
526
+
527
+ while ( $ )
528
+ {
529
+ if ( $.nodeName && $.nodeName.toLowerCase() == name )
530
+ return true;
531
+
532
+ $ = $.parentNode;
533
+ }
534
+ return false;
535
+ },
536
+
537
+ move : function( target, toStart )
538
+ {
539
+ target.append( this.remove(), toStart );
540
+ },
541
+
542
+ /**
543
+ * Removes this node from the document DOM.
544
+ * @param {Boolean} [preserveChildren] Indicates that the children
545
+ * elements must remain in the document, removing only the outer
546
+ * tags.
547
+ * @example
548
+ * var element = CKEDITOR.dom.element.getById( 'MyElement' );
549
+ * <strong>element.remove()</strong>;
550
+ */
551
+ remove : function( preserveChildren )
552
+ {
553
+ var $ = this.$;
554
+ var parent = $.parentNode;
555
+
556
+ if ( parent )
557
+ {
558
+ if ( preserveChildren )
559
+ {
560
+ // Move all children before the node.
561
+ for ( var child ; ( child = $.firstChild ) ; )
562
+ {
563
+ parent.insertBefore( $.removeChild( child ), $ );
564
+ }
565
+ }
566
+
567
+ parent.removeChild( $ );
568
+ }
569
+
570
+ return this;
571
+ },
572
+
573
+ replace : function( nodeToReplace )
574
+ {
575
+ this.insertBefore( nodeToReplace );
576
+ nodeToReplace.remove();
577
+ },
578
+
579
+ trim : function()
580
+ {
581
+ this.ltrim();
582
+ this.rtrim();
583
+ },
584
+
585
+ ltrim : function()
586
+ {
587
+ var child;
588
+ while ( this.getFirst && ( child = this.getFirst() ) )
589
+ {
590
+ if ( child.type == CKEDITOR.NODE_TEXT )
591
+ {
592
+ var trimmed = CKEDITOR.tools.ltrim( child.getText() ),
593
+ originalLength = child.getLength();
594
+
595
+ if ( !trimmed )
596
+ {
597
+ child.remove();
598
+ continue;
599
+ }
600
+ else if ( trimmed.length < originalLength )
601
+ {
602
+ child.split( originalLength - trimmed.length );
603
+
604
+ // IE BUG: child.remove() may raise JavaScript errors here. (#81)
605
+ this.$.removeChild( this.$.firstChild );
606
+ }
607
+ }
608
+ break;
609
+ }
610
+ },
611
+
612
+ rtrim : function()
613
+ {
614
+ var child;
615
+ while ( this.getLast && ( child = this.getLast() ) )
616
+ {
617
+ if ( child.type == CKEDITOR.NODE_TEXT )
618
+ {
619
+ var trimmed = CKEDITOR.tools.rtrim( child.getText() ),
620
+ originalLength = child.getLength();
621
+
622
+ if ( !trimmed )
623
+ {
624
+ child.remove();
625
+ continue;
626
+ }
627
+ else if ( trimmed.length < originalLength )
628
+ {
629
+ child.split( trimmed.length );
630
+
631
+ // IE BUG: child.getNext().remove() may raise JavaScript errors here.
632
+ // (#81)
633
+ this.$.lastChild.parentNode.removeChild( this.$.lastChild );
634
+ }
635
+ }
636
+ break;
637
+ }
638
+
639
+ if ( !CKEDITOR.env.ie && !CKEDITOR.env.opera )
640
+ {
641
+ child = this.$.lastChild;
642
+
643
+ if ( child && child.type == 1 && child.nodeName.toLowerCase() == 'br' )
644
+ {
645
+ // Use "eChildNode.parentNode" instead of "node" to avoid IE bug (#324).
646
+ child.parentNode.removeChild( child ) ;
647
+ }
648
+ }
649
+ },
650
+
651
+ /**
652
+ * Checks if this node is read-only (should not be changed).
653
+ * @returns {Boolean}
654
+ * @since 3.5
655
+ * @example
656
+ * // For the following HTML:
657
+ * // &lt;div contenteditable="false"&gt;Some &lt;b&gt;text&lt;/b&gt;&lt;/div&gt;
658
+ *
659
+ * // If "ele" is the above &lt;div&gt;
660
+ * ele.isReadOnly(); // true
661
+ */
662
+ isReadOnly : function()
663
+ {
664
+ var element = this;
665
+ if ( this.type != CKEDITOR.NODE_ELEMENT )
666
+ element = this.getParent();
667
+
668
+ if ( element && typeof element.$.isContentEditable != 'undefined' )
669
+ return ! ( element.$.isContentEditable || element.data( 'cke-editable' ) );
670
+ else
671
+ {
672
+ // Degrade for old browsers which don't support "isContentEditable", e.g. FF3
673
+ var current = element;
674
+ while( current )
675
+ {
676
+ if ( current.is( 'body' ) || !!current.data( 'cke-editable' ) )
677
+ break;
678
+
679
+ if ( current.getAttribute( 'contentEditable' ) == 'false' )
680
+ return true;
681
+ else if ( current.getAttribute( 'contentEditable' ) == 'true' )
682
+ break;
683
+
684
+ current = current.getParent();
685
+ }
686
+
687
+ return false;
688
+ }
689
+ }
690
+ }
691
+ );