ckeditor-rails 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,19 +1,19 @@
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.themes} object, which is used to
8
- * manage themes registration and loading.
9
- */
10
-
11
- /**
12
- * Manages themes registration and loading.
13
- * @namespace
14
- * @augments CKEDITOR.resourceManager
15
- * @example
16
- */
17
- CKEDITOR.themes = new CKEDITOR.resourceManager(
18
- '_source/'+ // @Packager.RemoveLine
19
- 'themes/', 'theme' );
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.themes} object, which is used to
8
+ * manage themes registration and loading.
9
+ */
10
+
11
+ /**
12
+ * Manages themes registration and loading.
13
+ * @namespace
14
+ * @augments CKEDITOR.resourceManager
15
+ * @example
16
+ */
17
+ CKEDITOR.themes = new CKEDITOR.resourceManager(
18
+ '_source/'+ // @Packager.RemoveLine
19
+ 'themes/', 'theme' );
@@ -1,763 +1,763 @@
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.tools} object, which contains
8
- * utility functions.
9
- */
10
-
11
- (function()
12
- {
13
- var functions = [];
14
-
15
- CKEDITOR.on( 'reset', function()
16
- {
17
- functions = [];
18
- });
19
-
20
- /**
21
- * Utility functions.
22
- * @namespace
23
- * @example
24
- */
25
- CKEDITOR.tools =
26
- {
27
- /**
28
- * Compare the elements of two arrays.
29
- * @param {Array} arrayA An array to be compared.
30
- * @param {Array} arrayB The other array to be compared.
31
- * @returns {Boolean} "true" is the arrays have the same lenght and
32
- * their elements match.
33
- * @example
34
- * var a = [ 1, 'a', 3 ];
35
- * var b = [ 1, 3, 'a' ];
36
- * var c = [ 1, 'a', 3 ];
37
- * var d = [ 1, 'a', 3, 4 ];
38
- *
39
- * alert( CKEDITOR.tools.arrayCompare( a, b ) ); // false
40
- * alert( CKEDITOR.tools.arrayCompare( a, c ) ); // true
41
- * alert( CKEDITOR.tools.arrayCompare( a, d ) ); // false
42
- */
43
- arrayCompare : function( arrayA, arrayB )
44
- {
45
- if ( !arrayA && !arrayB )
46
- return true;
47
-
48
- if ( !arrayA || !arrayB || arrayA.length != arrayB.length )
49
- return false;
50
-
51
- for ( var i = 0 ; i < arrayA.length ; i++ )
52
- {
53
- if ( arrayA[ i ] != arrayB[ i ] )
54
- return false;
55
- }
56
-
57
- return true;
58
- },
59
-
60
- /**
61
- * Creates a deep copy of an object.
62
- * Attention: there is no support for recursive references.
63
- * @param {Object} object The object to be cloned.
64
- * @returns {Object} The object clone.
65
- * @example
66
- * var obj =
67
- * {
68
- * name : 'John',
69
- * cars :
70
- * {
71
- * Mercedes : { color : 'blue' },
72
- * Porsche : { color : 'red' }
73
- * }
74
- * };
75
- * var clone = CKEDITOR.tools.clone( obj );
76
- * clone.name = 'Paul';
77
- * clone.cars.Porsche.color = 'silver';
78
- * alert( obj.name ); // John
79
- * alert( clone.name ); // Paul
80
- * alert( obj.cars.Porsche.color ); // red
81
- * alert( clone.cars.Porsche.color ); // silver
82
- */
83
- clone : function( obj )
84
- {
85
- var clone;
86
-
87
- // Array.
88
- if ( obj && ( obj instanceof Array ) )
89
- {
90
- clone = [];
91
-
92
- for ( var i = 0 ; i < obj.length ; i++ )
93
- clone[ i ] = this.clone( obj[ i ] );
94
-
95
- return clone;
96
- }
97
-
98
- // "Static" types.
99
- if ( obj === null
100
- || ( typeof( obj ) != 'object' )
101
- || ( obj instanceof String )
102
- || ( obj instanceof Number )
103
- || ( obj instanceof Boolean )
104
- || ( obj instanceof Date )
105
- || ( obj instanceof RegExp) )
106
- {
107
- return obj;
108
- }
109
-
110
- // Objects.
111
- clone = new obj.constructor();
112
-
113
- for ( var propertyName in obj )
114
- {
115
- var property = obj[ propertyName ];
116
- clone[ propertyName ] = this.clone( property );
117
- }
118
-
119
- return clone;
120
- },
121
-
122
- /**
123
- * Turn the first letter of string to upper-case.
124
- * @param {String} str
125
- */
126
- capitalize: function( str )
127
- {
128
- return str.charAt( 0 ).toUpperCase() + str.substring( 1 ).toLowerCase();
129
- },
130
-
131
- /**
132
- * Copy the properties from one object to another. By default, properties
133
- * already present in the target object <strong>are not</strong> overwritten.
134
- * @param {Object} target The object to be extended.
135
- * @param {Object} source[,souce(n)] The objects from which copy
136
- * properties. Any number of objects can be passed to this function.
137
- * @param {Boolean} [overwrite] If 'true' is specified it indicates that
138
- * properties already present in the target object could be
139
- * overwritten by subsequent objects.
140
- * @param {Object} [properties] Only properties within the specified names
141
- * list will be received from the source object.
142
- * @returns {Object} the extended object (target).
143
- * @example
144
- * // Create the sample object.
145
- * var myObject =
146
- * {
147
- * prop1 : true
148
- * };
149
- *
150
- * // Extend the above object with two properties.
151
- * CKEDITOR.tools.extend( myObject,
152
- * {
153
- * prop2 : true,
154
- * prop3 : true
155
- * } );
156
- *
157
- * // Alert "prop1", "prop2" and "prop3".
158
- * for ( var p in myObject )
159
- * alert( p );
160
- */
161
- extend : function( target )
162
- {
163
- var argsLength = arguments.length,
164
- overwrite, propertiesList;
165
-
166
- if ( typeof ( overwrite = arguments[ argsLength - 1 ] ) == 'boolean')
167
- argsLength--;
168
- else if ( typeof ( overwrite = arguments[ argsLength - 2 ] ) == 'boolean' )
169
- {
170
- propertiesList = arguments [ argsLength -1 ];
171
- argsLength-=2;
172
- }
173
- for ( var i = 1 ; i < argsLength ; i++ )
174
- {
175
- var source = arguments[ i ];
176
- for ( var propertyName in source )
177
- {
178
- // Only copy existed fields if in overwrite mode.
179
- if ( overwrite === true || target[ propertyName ] == undefined )
180
- {
181
- // Only copy specified fields if list is provided.
182
- if ( !propertiesList || ( propertyName in propertiesList ) )
183
- target[ propertyName ] = source[ propertyName ];
184
-
185
- }
186
- }
187
- }
188
-
189
- return target;
190
- },
191
-
192
- /**
193
- * Creates an object which is an instance of a class which prototype is a
194
- * predefined object. All properties defined in the source object are
195
- * automatically inherited by the resulting object, including future
196
- * changes to it.
197
- * @param {Object} source The source object to be used as the prototype for
198
- * the final object.
199
- * @returns {Object} The resulting copy.
200
- */
201
- prototypedCopy : function( source )
202
- {
203
- var copy = function()
204
- {};
205
- copy.prototype = source;
206
- return new copy();
207
- },
208
-
209
- /**
210
- * Checks if an object is an Array.
211
- * @param {Object} object The object to be checked.
212
- * @type Boolean
213
- * @returns <i>true</i> if the object is an Array, otherwise <i>false</i>.
214
- * @example
215
- * alert( CKEDITOR.tools.isArray( [] ) ); // "true"
216
- * alert( CKEDITOR.tools.isArray( 'Test' ) ); // "false"
217
- */
218
- isArray : function( object )
219
- {
220
- return ( !!object && object instanceof Array );
221
- },
222
-
223
- /**
224
- * Whether the object contains no properties of it's own.
225
- * @param object
226
- */
227
- isEmpty : function ( object )
228
- {
229
- for ( var i in object )
230
- {
231
- if ( object.hasOwnProperty( i ) )
232
- return false;
233
- }
234
- return true;
235
- },
236
-
237
- /**
238
- * Transforms a CSS property name to its relative DOM style name.
239
- * @param {String} cssName The CSS property name.
240
- * @returns {String} The transformed name.
241
- * @example
242
- * alert( CKEDITOR.tools.cssStyleToDomStyle( 'background-color' ) ); // "backgroundColor"
243
- * alert( CKEDITOR.tools.cssStyleToDomStyle( 'float' ) ); // "cssFloat"
244
- */
245
- cssStyleToDomStyle : ( function()
246
- {
247
- var test = document.createElement( 'div' ).style;
248
-
249
- var cssFloat = ( typeof test.cssFloat != 'undefined' ) ? 'cssFloat'
250
- : ( typeof test.styleFloat != 'undefined' ) ? 'styleFloat'
251
- : 'float';
252
-
253
- return function( cssName )
254
- {
255
- if ( cssName == 'float' )
256
- return cssFloat;
257
- else
258
- {
259
- return cssName.replace( /-./g, function( match )
260
- {
261
- return match.substr( 1 ).toUpperCase();
262
- });
263
- }
264
- };
265
- } )(),
266
-
267
- /**
268
- * Build the HTML snippet of a set of &lt;style>/&lt;link>.
269
- * @param css {String|Array} Each of which are url (absolute) of a CSS file or
270
- * a trunk of style text.
271
- */
272
- buildStyleHtml : function ( css )
273
- {
274
- css = [].concat( css );
275
- var item, retval = [];
276
- for ( var i = 0; i < css.length; i++ )
277
- {
278
- item = css[ i ];
279
- // Is CSS style text ?
280
- if ( /@import|[{}]/.test(item) )
281
- retval.push('<style>' + item + '</style>');
282
- else
283
- retval.push('<link type="text/css" rel=stylesheet href="' + item + '">');
284
- }
285
- return retval.join( '' );
286
- },
287
-
288
- /**
289
- * Replace special HTML characters in a string with their relative HTML
290
- * entity values.
291
- * @param {String} text The string to be encoded.
292
- * @returns {String} The encode string.
293
- * @example
294
- * alert( CKEDITOR.tools.htmlEncode( 'A > B & C < D' ) ); // "A &amp;gt; B &amp;amp; C &amp;lt; D"
295
- */
296
- htmlEncode : function( text )
297
- {
298
- var standard = function( text )
299
- {
300
- var span = new CKEDITOR.dom.element( 'span' );
301
- span.setText( text );
302
- return span.getHtml();
303
- };
304
-
305
- var fix1 = ( standard( '\n' ).toLowerCase() == '<br>' ) ?
306
- function( text )
307
- {
308
- // #3874 IE and Safari encode line-break into <br>
309
- return standard( text ).replace( /<br>/gi, '\n' );
310
- } :
311
- standard;
312
-
313
- var fix2 = ( standard( '>' ) == '>' ) ?
314
- function( text )
315
- {
316
- // WebKit does't encode the ">" character, which makes sense, but
317
- // it's different than other browsers.
318
- return fix1( text ).replace( />/g, '&gt;' );
319
- } :
320
- fix1;
321
-
322
- var fix3 = ( standard( ' ' ) == '&nbsp; ' ) ?
323
- function( text )
324
- {
325
- // #3785 IE8 changes spaces (>= 2) to &nbsp;
326
- return fix2( text ).replace( /&nbsp;/g, ' ' );
327
- } :
328
- fix2;
329
-
330
- this.htmlEncode = fix3;
331
-
332
- return this.htmlEncode( text );
333
- },
334
-
335
- /**
336
- * Replace special HTML characters in HTMLElement's attribute with their relative HTML entity values.
337
- * @param {String} The attribute's value to be encoded.
338
- * @returns {String} The encode value.
339
- * @example
340
- * element.setAttribute( 'title', '<a " b >' );
341
- * alert( CKEDITOR.tools.htmlEncodeAttr( element.getAttribute( 'title' ) ); // "&gt;a &quot; b &lt;"
342
- */
343
- htmlEncodeAttr : function( text )
344
- {
345
- return text.replace( /"/g, '&quot;' ).replace( /</g, '&lt;' ).replace( />/g, '&gt;' );
346
- },
347
-
348
- /**
349
- * Gets a unique number for this CKEDITOR execution session. It returns
350
- * progressive numbers starting at 1.
351
- * @function
352
- * @returns {Number} A unique number.
353
- * @example
354
- * alert( CKEDITOR.tools.<b>getNextNumber()</b> ); // "1" (e.g.)
355
- * alert( CKEDITOR.tools.<b>getNextNumber()</b> ); // "2"
356
- */
357
- getNextNumber : (function()
358
- {
359
- var last = 0;
360
- return function()
361
- {
362
- return ++last;
363
- };
364
- })(),
365
-
366
- /**
367
- * Gets a unique ID for CKEditor's interface elements. It returns a
368
- * string with the "cke_" prefix and a progressive number.
369
- * @function
370
- * @returns {String} A unique ID.
371
- * @example
372
- * alert( CKEDITOR.tools.<b>getNextId()</b> ); // "cke_1" (e.g.)
373
- * alert( CKEDITOR.tools.<b>getNextId()</b> ); // "cke_2"
374
- */
375
- getNextId : function()
376
- {
377
- return 'cke_' + this.getNextNumber();
378
- },
379
-
380
- /**
381
- * Creates a function override.
382
- * @param {Function} originalFunction The function to be overridden.
383
- * @param {Function} functionBuilder A function that returns the new
384
- * function. The original function reference will be passed to this
385
- * function.
386
- * @returns {Function} The new function.
387
- * @example
388
- * var example =
389
- * {
390
- * myFunction : function( name )
391
- * {
392
- * alert( 'Name: ' + name );
393
- * }
394
- * };
395
- *
396
- * example.myFunction = CKEDITOR.tools.override( example.myFunction, function( myFunctionOriginal )
397
- * {
398
- * return function( name )
399
- * {
400
- * alert( 'Override Name: ' + name );
401
- * myFunctionOriginal.call( this, name );
402
- * };
403
- * });
404
- */
405
- override : function( originalFunction, functionBuilder )
406
- {
407
- return functionBuilder( originalFunction );
408
- },
409
-
410
- /**
411
- * Executes a function after specified delay.
412
- * @param {Function} func The function to be executed.
413
- * @param {Number} [milliseconds] The amount of time (millisecods) to wait
414
- * to fire the function execution. Defaults to zero.
415
- * @param {Object} [scope] The object to hold the function execution scope
416
- * (the "this" object). By default the "window" object.
417
- * @param {Object|Array} [args] A single object, or an array of objects, to
418
- * pass as arguments to the function.
419
- * @param {Object} [ownerWindow] The window that will be used to set the
420
- * timeout. By default the current "window".
421
- * @returns {Object} A value that can be used to cancel the function execution.
422
- * @example
423
- * CKEDITOR.tools.<b>setTimeout(
424
- * function()
425
- * {
426
- * alert( 'Executed after 2 seconds' );
427
- * },
428
- * 2000 )</b>;
429
- */
430
- setTimeout : function( func, milliseconds, scope, args, ownerWindow )
431
- {
432
- if ( !ownerWindow )
433
- ownerWindow = window;
434
-
435
- if ( !scope )
436
- scope = ownerWindow;
437
-
438
- return ownerWindow.setTimeout(
439
- function()
440
- {
441
- if ( args )
442
- func.apply( scope, [].concat( args ) ) ;
443
- else
444
- func.apply( scope ) ;
445
- },
446
- milliseconds || 0 );
447
- },
448
-
449
- /**
450
- * Remove spaces from the start and the end of a string. The following
451
- * characters are removed: space, tab, line break, line feed.
452
- * @function
453
- * @param {String} str The text from which remove the spaces.
454
- * @returns {String} The modified string without the boundary spaces.
455
- * @example
456
- * alert( CKEDITOR.tools.trim( ' example ' ); // "example"
457
- */
458
- trim : (function()
459
- {
460
- // We are not using \s because we don't want "non-breaking spaces" to be caught.
461
- var trimRegex = /(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;
462
- return function( str )
463
- {
464
- return str.replace( trimRegex, '' ) ;
465
- };
466
- })(),
467
-
468
- /**
469
- * Remove spaces from the start (left) of a string. The following
470
- * characters are removed: space, tab, line break, line feed.
471
- * @function
472
- * @param {String} str The text from which remove the spaces.
473
- * @returns {String} The modified string excluding the removed spaces.
474
- * @example
475
- * alert( CKEDITOR.tools.ltrim( ' example ' ); // "example "
476
- */
477
- ltrim : (function()
478
- {
479
- // We are not using \s because we don't want "non-breaking spaces" to be caught.
480
- var trimRegex = /^[ \t\n\r]+/g;
481
- return function( str )
482
- {
483
- return str.replace( trimRegex, '' ) ;
484
- };
485
- })(),
486
-
487
- /**
488
- * Remove spaces from the end (right) of a string. The following
489
- * characters are removed: space, tab, line break, line feed.
490
- * @function
491
- * @param {String} str The text from which remove the spaces.
492
- * @returns {String} The modified string excluding the removed spaces.
493
- * @example
494
- * alert( CKEDITOR.tools.ltrim( ' example ' ); // " example"
495
- */
496
- rtrim : (function()
497
- {
498
- // We are not using \s because we don't want "non-breaking spaces" to be caught.
499
- var trimRegex = /[ \t\n\r]+$/g;
500
- return function( str )
501
- {
502
- return str.replace( trimRegex, '' ) ;
503
- };
504
- })(),
505
-
506
- /**
507
- * Returns the index of an element in an array.
508
- * @param {Array} array The array to be searched.
509
- * @param {Object} entry The element to be found.
510
- * @returns {Number} The (zero based) index of the first entry that matches
511
- * the entry, or -1 if not found.
512
- * @example
513
- * var letters = [ 'a', 'b', 0, 'c', false ];
514
- * alert( CKEDITOR.tools.indexOf( letters, '0' ) ); "-1" because 0 !== '0'
515
- * alert( CKEDITOR.tools.indexOf( letters, false ) ); "4" because 0 !== false
516
- */
517
- indexOf :
518
- // #2514: We should try to use Array.indexOf if it does exist.
519
- ( Array.prototype.indexOf ) ?
520
- function( array, entry )
521
- {
522
- return array.indexOf( entry );
523
- }
524
- :
525
- function( array, entry )
526
- {
527
- for ( var i = 0, len = array.length ; i < len ; i++ )
528
- {
529
- if ( array[ i ] === entry )
530
- return i;
531
- }
532
- return -1;
533
- },
534
-
535
- /**
536
- * Creates a function that will always execute in the context of a
537
- * specified object.
538
- * @param {Function} func The function to be executed.
539
- * @param {Object} obj The object to which bind the execution context.
540
- * @returns {Function} The function that can be used to execute the
541
- * "func" function in the context of "obj".
542
- * @example
543
- * var obj = { text : 'My Object' };
544
- *
545
- * function alertText()
546
- * {
547
- * alert( this.text );
548
- * }
549
- *
550
- * var newFunc = <b>CKEDITOR.tools.bind( alertText, obj )</b>;
551
- * newFunc(); // Alerts "My Object".
552
- */
553
- bind : function( func, obj )
554
- {
555
- return function() { return func.apply( obj, arguments ); };
556
- },
557
-
558
- /**
559
- * Class creation based on prototype inheritance, with supports of the
560
- * following features:
561
- * <ul>
562
- * <li> Static fields </li>
563
- * <li> Private fields </li>
564
- * <li> Public (prototype) fields </li>
565
- * <li> Chainable base class constructor </li>
566
- * </ul>
567
- * @param {Object} definition The class definition object.
568
- * @returns {Function} A class-like JavaScript function.
569
- */
570
- createClass : function( definition )
571
- {
572
- var $ = definition.$,
573
- baseClass = definition.base,
574
- privates = definition.privates || definition._,
575
- proto = definition.proto,
576
- statics = definition.statics;
577
-
578
- if ( privates )
579
- {
580
- var originalConstructor = $;
581
- $ = function()
582
- {
583
- // Create (and get) the private namespace.
584
- var _ = this._ || ( this._ = {} );
585
-
586
- // Make some magic so "this" will refer to the main
587
- // instance when coding private functions.
588
- for ( var privateName in privates )
589
- {
590
- var priv = privates[ privateName ];
591
-
592
- _[ privateName ] =
593
- ( typeof priv == 'function' ) ? CKEDITOR.tools.bind( priv, this ) : priv;
594
- }
595
-
596
- originalConstructor.apply( this, arguments );
597
- };
598
- }
599
-
600
- if ( baseClass )
601
- {
602
- $.prototype = this.prototypedCopy( baseClass.prototype );
603
- $.prototype.constructor = $;
604
- $.prototype.base = function()
605
- {
606
- this.base = baseClass.prototype.base;
607
- baseClass.apply( this, arguments );
608
- this.base = arguments.callee;
609
- };
610
- }
611
-
612
- if ( proto )
613
- this.extend( $.prototype, proto, true );
614
-
615
- if ( statics )
616
- this.extend( $, statics, true );
617
-
618
- return $;
619
- },
620
-
621
- /**
622
- * Creates a function reference that can be called later using
623
- * CKEDITOR.tools.callFunction. This approach is specially useful to
624
- * make DOM attribute function calls to JavaScript defined functions.
625
- * @param {Function} fn The function to be executed on call.
626
- * @param {Object} [scope] The object to have the context on "fn" execution.
627
- * @returns {Number} A unique reference to be used in conjuction with
628
- * CKEDITOR.tools.callFunction.
629
- * @example
630
- * var ref = <b>CKEDITOR.tools.addFunction</b>(
631
- * function()
632
- * {
633
- * alert( 'Hello!');
634
- * });
635
- * CKEDITOR.tools.callFunction( ref ); // Hello!
636
- */
637
- addFunction : function( fn, scope )
638
- {
639
- return functions.push( function()
640
- {
641
- return fn.apply( scope || this, arguments );
642
- }) - 1;
643
- },
644
-
645
- /**
646
- * Removes the function reference created with {@see CKEDITOR.tools.addFunction}.
647
- * @param {Number} ref The function reference created with
648
- * CKEDITOR.tools.addFunction.
649
- */
650
- removeFunction : function( ref )
651
- {
652
- functions[ ref ] = null;
653
- },
654
-
655
- /**
656
- * Executes a function based on the reference created with
657
- * CKEDITOR.tools.addFunction.
658
- * @param {Number} ref The function reference created with
659
- * CKEDITOR.tools.addFunction.
660
- * @param {[Any,[Any,...]} params Any number of parameters to be passed
661
- * to the executed function.
662
- * @returns {Any} The return value of the function.
663
- * @example
664
- * var ref = CKEDITOR.tools.addFunction(
665
- * function()
666
- * {
667
- * alert( 'Hello!');
668
- * });
669
- * <b>CKEDITOR.tools.callFunction( ref )</b>; // Hello!
670
- */
671
- callFunction : function( ref )
672
- {
673
- var fn = functions[ ref ];
674
- return fn && fn.apply( window, Array.prototype.slice.call( arguments, 1 ) );
675
- },
676
-
677
- /**
678
- * Append the 'px' length unit to the size if it's missing.
679
- * @param length
680
- */
681
- cssLength : (function()
682
- {
683
- return function( length )
684
- {
685
- return length + ( !length || isNaN( Number( length ) ) ? '' : 'px' );
686
- };
687
- })(),
688
-
689
- /**
690
- * Convert the specified CSS length value to the calculated pixel length inside this page.
691
- * <strong>Note:</strong> Percentage based value is left intact.
692
- * @param {String} cssLength CSS length value.
693
- */
694
- convertToPx : ( function ()
695
- {
696
- var calculator;
697
-
698
- return function( cssLength )
699
- {
700
- if ( !calculator )
701
- {
702
- calculator = CKEDITOR.dom.element.createFromHtml(
703
- '<div style="position:absolute;left:-9999px;' +
704
- 'top:-9999px;margin:0px;padding:0px;border:0px;"' +
705
- '></div>', CKEDITOR.document );
706
- CKEDITOR.document.getBody().append( calculator );
707
- }
708
-
709
- if ( !(/%$/).test( cssLength ) )
710
- {
711
- calculator.setStyle( 'width', cssLength );
712
- return calculator.$.clientWidth;
713
- }
714
-
715
- return cssLength;
716
- };
717
- } )(),
718
-
719
- /**
720
- * String specified by {@param str} repeats {@param times} times.
721
- * @param str
722
- * @param times
723
- */
724
- repeat : function( str, times )
725
- {
726
- return new Array( times + 1 ).join( str );
727
- },
728
-
729
- /**
730
- * Return the first successfully executed function's return value that
731
- * doesn't throw any exception.
732
- */
733
- tryThese : function()
734
- {
735
- var returnValue;
736
- for ( var i = 0, length = arguments.length; i < length; i++ )
737
- {
738
- var lambda = arguments[i];
739
- try
740
- {
741
- returnValue = lambda();
742
- break;
743
- }
744
- catch (e) {}
745
- }
746
- return returnValue;
747
- },
748
-
749
- /**
750
- * Generate a combined key from a series of params.
751
- * @param {String} subKey One or more string used as sub keys.
752
- * @example
753
- * var key = CKEDITOR.tools.genKey( 'key1', 'key2', 'key3' );
754
- * alert( key ); // "key1-key2-key3".
755
- */
756
- genKey : function()
757
- {
758
- return Array.prototype.slice.call( arguments ).join( '-' );
759
- }
760
- };
761
- })();
762
-
763
- // PACKAGER_RENAME( CKEDITOR.tools )
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.tools} object, which contains
8
+ * utility functions.
9
+ */
10
+
11
+ (function()
12
+ {
13
+ var functions = [];
14
+
15
+ CKEDITOR.on( 'reset', function()
16
+ {
17
+ functions = [];
18
+ });
19
+
20
+ /**
21
+ * Utility functions.
22
+ * @namespace
23
+ * @example
24
+ */
25
+ CKEDITOR.tools =
26
+ {
27
+ /**
28
+ * Compare the elements of two arrays.
29
+ * @param {Array} arrayA An array to be compared.
30
+ * @param {Array} arrayB The other array to be compared.
31
+ * @returns {Boolean} "true" is the arrays have the same lenght and
32
+ * their elements match.
33
+ * @example
34
+ * var a = [ 1, 'a', 3 ];
35
+ * var b = [ 1, 3, 'a' ];
36
+ * var c = [ 1, 'a', 3 ];
37
+ * var d = [ 1, 'a', 3, 4 ];
38
+ *
39
+ * alert( CKEDITOR.tools.arrayCompare( a, b ) ); // false
40
+ * alert( CKEDITOR.tools.arrayCompare( a, c ) ); // true
41
+ * alert( CKEDITOR.tools.arrayCompare( a, d ) ); // false
42
+ */
43
+ arrayCompare : function( arrayA, arrayB )
44
+ {
45
+ if ( !arrayA && !arrayB )
46
+ return true;
47
+
48
+ if ( !arrayA || !arrayB || arrayA.length != arrayB.length )
49
+ return false;
50
+
51
+ for ( var i = 0 ; i < arrayA.length ; i++ )
52
+ {
53
+ if ( arrayA[ i ] != arrayB[ i ] )
54
+ return false;
55
+ }
56
+
57
+ return true;
58
+ },
59
+
60
+ /**
61
+ * Creates a deep copy of an object.
62
+ * Attention: there is no support for recursive references.
63
+ * @param {Object} object The object to be cloned.
64
+ * @returns {Object} The object clone.
65
+ * @example
66
+ * var obj =
67
+ * {
68
+ * name : 'John',
69
+ * cars :
70
+ * {
71
+ * Mercedes : { color : 'blue' },
72
+ * Porsche : { color : 'red' }
73
+ * }
74
+ * };
75
+ * var clone = CKEDITOR.tools.clone( obj );
76
+ * clone.name = 'Paul';
77
+ * clone.cars.Porsche.color = 'silver';
78
+ * alert( obj.name ); // John
79
+ * alert( clone.name ); // Paul
80
+ * alert( obj.cars.Porsche.color ); // red
81
+ * alert( clone.cars.Porsche.color ); // silver
82
+ */
83
+ clone : function( obj )
84
+ {
85
+ var clone;
86
+
87
+ // Array.
88
+ if ( obj && ( obj instanceof Array ) )
89
+ {
90
+ clone = [];
91
+
92
+ for ( var i = 0 ; i < obj.length ; i++ )
93
+ clone[ i ] = this.clone( obj[ i ] );
94
+
95
+ return clone;
96
+ }
97
+
98
+ // "Static" types.
99
+ if ( obj === null
100
+ || ( typeof( obj ) != 'object' )
101
+ || ( obj instanceof String )
102
+ || ( obj instanceof Number )
103
+ || ( obj instanceof Boolean )
104
+ || ( obj instanceof Date )
105
+ || ( obj instanceof RegExp) )
106
+ {
107
+ return obj;
108
+ }
109
+
110
+ // Objects.
111
+ clone = new obj.constructor();
112
+
113
+ for ( var propertyName in obj )
114
+ {
115
+ var property = obj[ propertyName ];
116
+ clone[ propertyName ] = this.clone( property );
117
+ }
118
+
119
+ return clone;
120
+ },
121
+
122
+ /**
123
+ * Turn the first letter of string to upper-case.
124
+ * @param {String} str
125
+ */
126
+ capitalize: function( str )
127
+ {
128
+ return str.charAt( 0 ).toUpperCase() + str.substring( 1 ).toLowerCase();
129
+ },
130
+
131
+ /**
132
+ * Copy the properties from one object to another. By default, properties
133
+ * already present in the target object <strong>are not</strong> overwritten.
134
+ * @param {Object} target The object to be extended.
135
+ * @param {Object} source[,souce(n)] The objects from which copy
136
+ * properties. Any number of objects can be passed to this function.
137
+ * @param {Boolean} [overwrite] If 'true' is specified it indicates that
138
+ * properties already present in the target object could be
139
+ * overwritten by subsequent objects.
140
+ * @param {Object} [properties] Only properties within the specified names
141
+ * list will be received from the source object.
142
+ * @returns {Object} the extended object (target).
143
+ * @example
144
+ * // Create the sample object.
145
+ * var myObject =
146
+ * {
147
+ * prop1 : true
148
+ * };
149
+ *
150
+ * // Extend the above object with two properties.
151
+ * CKEDITOR.tools.extend( myObject,
152
+ * {
153
+ * prop2 : true,
154
+ * prop3 : true
155
+ * } );
156
+ *
157
+ * // Alert "prop1", "prop2" and "prop3".
158
+ * for ( var p in myObject )
159
+ * alert( p );
160
+ */
161
+ extend : function( target )
162
+ {
163
+ var argsLength = arguments.length,
164
+ overwrite, propertiesList;
165
+
166
+ if ( typeof ( overwrite = arguments[ argsLength - 1 ] ) == 'boolean')
167
+ argsLength--;
168
+ else if ( typeof ( overwrite = arguments[ argsLength - 2 ] ) == 'boolean' )
169
+ {
170
+ propertiesList = arguments [ argsLength -1 ];
171
+ argsLength-=2;
172
+ }
173
+ for ( var i = 1 ; i < argsLength ; i++ )
174
+ {
175
+ var source = arguments[ i ];
176
+ for ( var propertyName in source )
177
+ {
178
+ // Only copy existed fields if in overwrite mode.
179
+ if ( overwrite === true || target[ propertyName ] == undefined )
180
+ {
181
+ // Only copy specified fields if list is provided.
182
+ if ( !propertiesList || ( propertyName in propertiesList ) )
183
+ target[ propertyName ] = source[ propertyName ];
184
+
185
+ }
186
+ }
187
+ }
188
+
189
+ return target;
190
+ },
191
+
192
+ /**
193
+ * Creates an object which is an instance of a class which prototype is a
194
+ * predefined object. All properties defined in the source object are
195
+ * automatically inherited by the resulting object, including future
196
+ * changes to it.
197
+ * @param {Object} source The source object to be used as the prototype for
198
+ * the final object.
199
+ * @returns {Object} The resulting copy.
200
+ */
201
+ prototypedCopy : function( source )
202
+ {
203
+ var copy = function()
204
+ {};
205
+ copy.prototype = source;
206
+ return new copy();
207
+ },
208
+
209
+ /**
210
+ * Checks if an object is an Array.
211
+ * @param {Object} object The object to be checked.
212
+ * @type Boolean
213
+ * @returns <i>true</i> if the object is an Array, otherwise <i>false</i>.
214
+ * @example
215
+ * alert( CKEDITOR.tools.isArray( [] ) ); // "true"
216
+ * alert( CKEDITOR.tools.isArray( 'Test' ) ); // "false"
217
+ */
218
+ isArray : function( object )
219
+ {
220
+ return ( !!object && object instanceof Array );
221
+ },
222
+
223
+ /**
224
+ * Whether the object contains no properties of it's own.
225
+ * @param object
226
+ */
227
+ isEmpty : function ( object )
228
+ {
229
+ for ( var i in object )
230
+ {
231
+ if ( object.hasOwnProperty( i ) )
232
+ return false;
233
+ }
234
+ return true;
235
+ },
236
+
237
+ /**
238
+ * Transforms a CSS property name to its relative DOM style name.
239
+ * @param {String} cssName The CSS property name.
240
+ * @returns {String} The transformed name.
241
+ * @example
242
+ * alert( CKEDITOR.tools.cssStyleToDomStyle( 'background-color' ) ); // "backgroundColor"
243
+ * alert( CKEDITOR.tools.cssStyleToDomStyle( 'float' ) ); // "cssFloat"
244
+ */
245
+ cssStyleToDomStyle : ( function()
246
+ {
247
+ var test = document.createElement( 'div' ).style;
248
+
249
+ var cssFloat = ( typeof test.cssFloat != 'undefined' ) ? 'cssFloat'
250
+ : ( typeof test.styleFloat != 'undefined' ) ? 'styleFloat'
251
+ : 'float';
252
+
253
+ return function( cssName )
254
+ {
255
+ if ( cssName == 'float' )
256
+ return cssFloat;
257
+ else
258
+ {
259
+ return cssName.replace( /-./g, function( match )
260
+ {
261
+ return match.substr( 1 ).toUpperCase();
262
+ });
263
+ }
264
+ };
265
+ } )(),
266
+
267
+ /**
268
+ * Build the HTML snippet of a set of &lt;style>/&lt;link>.
269
+ * @param css {String|Array} Each of which are url (absolute) of a CSS file or
270
+ * a trunk of style text.
271
+ */
272
+ buildStyleHtml : function ( css )
273
+ {
274
+ css = [].concat( css );
275
+ var item, retval = [];
276
+ for ( var i = 0; i < css.length; i++ )
277
+ {
278
+ item = css[ i ];
279
+ // Is CSS style text ?
280
+ if ( /@import|[{}]/.test(item) )
281
+ retval.push('<style>' + item + '</style>');
282
+ else
283
+ retval.push('<link type="text/css" rel=stylesheet href="' + item + '">');
284
+ }
285
+ return retval.join( '' );
286
+ },
287
+
288
+ /**
289
+ * Replace special HTML characters in a string with their relative HTML
290
+ * entity values.
291
+ * @param {String} text The string to be encoded.
292
+ * @returns {String} The encode string.
293
+ * @example
294
+ * alert( CKEDITOR.tools.htmlEncode( 'A > B & C < D' ) ); // "A &amp;gt; B &amp;amp; C &amp;lt; D"
295
+ */
296
+ htmlEncode : function( text )
297
+ {
298
+ var standard = function( text )
299
+ {
300
+ var span = new CKEDITOR.dom.element( 'span' );
301
+ span.setText( text );
302
+ return span.getHtml();
303
+ };
304
+
305
+ var fix1 = ( standard( '\n' ).toLowerCase() == '<br>' ) ?
306
+ function( text )
307
+ {
308
+ // #3874 IE and Safari encode line-break into <br>
309
+ return standard( text ).replace( /<br>/gi, '\n' );
310
+ } :
311
+ standard;
312
+
313
+ var fix2 = ( standard( '>' ) == '>' ) ?
314
+ function( text )
315
+ {
316
+ // WebKit does't encode the ">" character, which makes sense, but
317
+ // it's different than other browsers.
318
+ return fix1( text ).replace( />/g, '&gt;' );
319
+ } :
320
+ fix1;
321
+
322
+ var fix3 = ( standard( ' ' ) == '&nbsp; ' ) ?
323
+ function( text )
324
+ {
325
+ // #3785 IE8 changes spaces (>= 2) to &nbsp;
326
+ return fix2( text ).replace( /&nbsp;/g, ' ' );
327
+ } :
328
+ fix2;
329
+
330
+ this.htmlEncode = fix3;
331
+
332
+ return this.htmlEncode( text );
333
+ },
334
+
335
+ /**
336
+ * Replace special HTML characters in HTMLElement's attribute with their relative HTML entity values.
337
+ * @param {String} The attribute's value to be encoded.
338
+ * @returns {String} The encode value.
339
+ * @example
340
+ * element.setAttribute( 'title', '<a " b >' );
341
+ * alert( CKEDITOR.tools.htmlEncodeAttr( element.getAttribute( 'title' ) ); // "&gt;a &quot; b &lt;"
342
+ */
343
+ htmlEncodeAttr : function( text )
344
+ {
345
+ return text.replace( /"/g, '&quot;' ).replace( /</g, '&lt;' ).replace( />/g, '&gt;' );
346
+ },
347
+
348
+ /**
349
+ * Gets a unique number for this CKEDITOR execution session. It returns
350
+ * progressive numbers starting at 1.
351
+ * @function
352
+ * @returns {Number} A unique number.
353
+ * @example
354
+ * alert( CKEDITOR.tools.<b>getNextNumber()</b> ); // "1" (e.g.)
355
+ * alert( CKEDITOR.tools.<b>getNextNumber()</b> ); // "2"
356
+ */
357
+ getNextNumber : (function()
358
+ {
359
+ var last = 0;
360
+ return function()
361
+ {
362
+ return ++last;
363
+ };
364
+ })(),
365
+
366
+ /**
367
+ * Gets a unique ID for CKEditor's interface elements. It returns a
368
+ * string with the "cke_" prefix and a progressive number.
369
+ * @function
370
+ * @returns {String} A unique ID.
371
+ * @example
372
+ * alert( CKEDITOR.tools.<b>getNextId()</b> ); // "cke_1" (e.g.)
373
+ * alert( CKEDITOR.tools.<b>getNextId()</b> ); // "cke_2"
374
+ */
375
+ getNextId : function()
376
+ {
377
+ return 'cke_' + this.getNextNumber();
378
+ },
379
+
380
+ /**
381
+ * Creates a function override.
382
+ * @param {Function} originalFunction The function to be overridden.
383
+ * @param {Function} functionBuilder A function that returns the new
384
+ * function. The original function reference will be passed to this
385
+ * function.
386
+ * @returns {Function} The new function.
387
+ * @example
388
+ * var example =
389
+ * {
390
+ * myFunction : function( name )
391
+ * {
392
+ * alert( 'Name: ' + name );
393
+ * }
394
+ * };
395
+ *
396
+ * example.myFunction = CKEDITOR.tools.override( example.myFunction, function( myFunctionOriginal )
397
+ * {
398
+ * return function( name )
399
+ * {
400
+ * alert( 'Override Name: ' + name );
401
+ * myFunctionOriginal.call( this, name );
402
+ * };
403
+ * });
404
+ */
405
+ override : function( originalFunction, functionBuilder )
406
+ {
407
+ return functionBuilder( originalFunction );
408
+ },
409
+
410
+ /**
411
+ * Executes a function after specified delay.
412
+ * @param {Function} func The function to be executed.
413
+ * @param {Number} [milliseconds] The amount of time (millisecods) to wait
414
+ * to fire the function execution. Defaults to zero.
415
+ * @param {Object} [scope] The object to hold the function execution scope
416
+ * (the "this" object). By default the "window" object.
417
+ * @param {Object|Array} [args] A single object, or an array of objects, to
418
+ * pass as arguments to the function.
419
+ * @param {Object} [ownerWindow] The window that will be used to set the
420
+ * timeout. By default the current "window".
421
+ * @returns {Object} A value that can be used to cancel the function execution.
422
+ * @example
423
+ * CKEDITOR.tools.<b>setTimeout(
424
+ * function()
425
+ * {
426
+ * alert( 'Executed after 2 seconds' );
427
+ * },
428
+ * 2000 )</b>;
429
+ */
430
+ setTimeout : function( func, milliseconds, scope, args, ownerWindow )
431
+ {
432
+ if ( !ownerWindow )
433
+ ownerWindow = window;
434
+
435
+ if ( !scope )
436
+ scope = ownerWindow;
437
+
438
+ return ownerWindow.setTimeout(
439
+ function()
440
+ {
441
+ if ( args )
442
+ func.apply( scope, [].concat( args ) ) ;
443
+ else
444
+ func.apply( scope ) ;
445
+ },
446
+ milliseconds || 0 );
447
+ },
448
+
449
+ /**
450
+ * Remove spaces from the start and the end of a string. The following
451
+ * characters are removed: space, tab, line break, line feed.
452
+ * @function
453
+ * @param {String} str The text from which remove the spaces.
454
+ * @returns {String} The modified string without the boundary spaces.
455
+ * @example
456
+ * alert( CKEDITOR.tools.trim( ' example ' ); // "example"
457
+ */
458
+ trim : (function()
459
+ {
460
+ // We are not using \s because we don't want "non-breaking spaces" to be caught.
461
+ var trimRegex = /(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;
462
+ return function( str )
463
+ {
464
+ return str.replace( trimRegex, '' ) ;
465
+ };
466
+ })(),
467
+
468
+ /**
469
+ * Remove spaces from the start (left) of a string. The following
470
+ * characters are removed: space, tab, line break, line feed.
471
+ * @function
472
+ * @param {String} str The text from which remove the spaces.
473
+ * @returns {String} The modified string excluding the removed spaces.
474
+ * @example
475
+ * alert( CKEDITOR.tools.ltrim( ' example ' ); // "example "
476
+ */
477
+ ltrim : (function()
478
+ {
479
+ // We are not using \s because we don't want "non-breaking spaces" to be caught.
480
+ var trimRegex = /^[ \t\n\r]+/g;
481
+ return function( str )
482
+ {
483
+ return str.replace( trimRegex, '' ) ;
484
+ };
485
+ })(),
486
+
487
+ /**
488
+ * Remove spaces from the end (right) of a string. The following
489
+ * characters are removed: space, tab, line break, line feed.
490
+ * @function
491
+ * @param {String} str The text from which remove the spaces.
492
+ * @returns {String} The modified string excluding the removed spaces.
493
+ * @example
494
+ * alert( CKEDITOR.tools.ltrim( ' example ' ); // " example"
495
+ */
496
+ rtrim : (function()
497
+ {
498
+ // We are not using \s because we don't want "non-breaking spaces" to be caught.
499
+ var trimRegex = /[ \t\n\r]+$/g;
500
+ return function( str )
501
+ {
502
+ return str.replace( trimRegex, '' ) ;
503
+ };
504
+ })(),
505
+
506
+ /**
507
+ * Returns the index of an element in an array.
508
+ * @param {Array} array The array to be searched.
509
+ * @param {Object} entry The element to be found.
510
+ * @returns {Number} The (zero based) index of the first entry that matches
511
+ * the entry, or -1 if not found.
512
+ * @example
513
+ * var letters = [ 'a', 'b', 0, 'c', false ];
514
+ * alert( CKEDITOR.tools.indexOf( letters, '0' ) ); "-1" because 0 !== '0'
515
+ * alert( CKEDITOR.tools.indexOf( letters, false ) ); "4" because 0 !== false
516
+ */
517
+ indexOf :
518
+ // #2514: We should try to use Array.indexOf if it does exist.
519
+ ( Array.prototype.indexOf ) ?
520
+ function( array, entry )
521
+ {
522
+ return array.indexOf( entry );
523
+ }
524
+ :
525
+ function( array, entry )
526
+ {
527
+ for ( var i = 0, len = array.length ; i < len ; i++ )
528
+ {
529
+ if ( array[ i ] === entry )
530
+ return i;
531
+ }
532
+ return -1;
533
+ },
534
+
535
+ /**
536
+ * Creates a function that will always execute in the context of a
537
+ * specified object.
538
+ * @param {Function} func The function to be executed.
539
+ * @param {Object} obj The object to which bind the execution context.
540
+ * @returns {Function} The function that can be used to execute the
541
+ * "func" function in the context of "obj".
542
+ * @example
543
+ * var obj = { text : 'My Object' };
544
+ *
545
+ * function alertText()
546
+ * {
547
+ * alert( this.text );
548
+ * }
549
+ *
550
+ * var newFunc = <b>CKEDITOR.tools.bind( alertText, obj )</b>;
551
+ * newFunc(); // Alerts "My Object".
552
+ */
553
+ bind : function( func, obj )
554
+ {
555
+ return function() { return func.apply( obj, arguments ); };
556
+ },
557
+
558
+ /**
559
+ * Class creation based on prototype inheritance, with supports of the
560
+ * following features:
561
+ * <ul>
562
+ * <li> Static fields </li>
563
+ * <li> Private fields </li>
564
+ * <li> Public (prototype) fields </li>
565
+ * <li> Chainable base class constructor </li>
566
+ * </ul>
567
+ * @param {Object} definition The class definition object.
568
+ * @returns {Function} A class-like JavaScript function.
569
+ */
570
+ createClass : function( definition )
571
+ {
572
+ var $ = definition.$,
573
+ baseClass = definition.base,
574
+ privates = definition.privates || definition._,
575
+ proto = definition.proto,
576
+ statics = definition.statics;
577
+
578
+ if ( privates )
579
+ {
580
+ var originalConstructor = $;
581
+ $ = function()
582
+ {
583
+ // Create (and get) the private namespace.
584
+ var _ = this._ || ( this._ = {} );
585
+
586
+ // Make some magic so "this" will refer to the main
587
+ // instance when coding private functions.
588
+ for ( var privateName in privates )
589
+ {
590
+ var priv = privates[ privateName ];
591
+
592
+ _[ privateName ] =
593
+ ( typeof priv == 'function' ) ? CKEDITOR.tools.bind( priv, this ) : priv;
594
+ }
595
+
596
+ originalConstructor.apply( this, arguments );
597
+ };
598
+ }
599
+
600
+ if ( baseClass )
601
+ {
602
+ $.prototype = this.prototypedCopy( baseClass.prototype );
603
+ $.prototype.constructor = $;
604
+ $.prototype.base = function()
605
+ {
606
+ this.base = baseClass.prototype.base;
607
+ baseClass.apply( this, arguments );
608
+ this.base = arguments.callee;
609
+ };
610
+ }
611
+
612
+ if ( proto )
613
+ this.extend( $.prototype, proto, true );
614
+
615
+ if ( statics )
616
+ this.extend( $, statics, true );
617
+
618
+ return $;
619
+ },
620
+
621
+ /**
622
+ * Creates a function reference that can be called later using
623
+ * CKEDITOR.tools.callFunction. This approach is specially useful to
624
+ * make DOM attribute function calls to JavaScript defined functions.
625
+ * @param {Function} fn The function to be executed on call.
626
+ * @param {Object} [scope] The object to have the context on "fn" execution.
627
+ * @returns {Number} A unique reference to be used in conjuction with
628
+ * CKEDITOR.tools.callFunction.
629
+ * @example
630
+ * var ref = <b>CKEDITOR.tools.addFunction</b>(
631
+ * function()
632
+ * {
633
+ * alert( 'Hello!');
634
+ * });
635
+ * CKEDITOR.tools.callFunction( ref ); // Hello!
636
+ */
637
+ addFunction : function( fn, scope )
638
+ {
639
+ return functions.push( function()
640
+ {
641
+ return fn.apply( scope || this, arguments );
642
+ }) - 1;
643
+ },
644
+
645
+ /**
646
+ * Removes the function reference created with {@see CKEDITOR.tools.addFunction}.
647
+ * @param {Number} ref The function reference created with
648
+ * CKEDITOR.tools.addFunction.
649
+ */
650
+ removeFunction : function( ref )
651
+ {
652
+ functions[ ref ] = null;
653
+ },
654
+
655
+ /**
656
+ * Executes a function based on the reference created with
657
+ * CKEDITOR.tools.addFunction.
658
+ * @param {Number} ref The function reference created with
659
+ * CKEDITOR.tools.addFunction.
660
+ * @param {[Any,[Any,...]} params Any number of parameters to be passed
661
+ * to the executed function.
662
+ * @returns {Any} The return value of the function.
663
+ * @example
664
+ * var ref = CKEDITOR.tools.addFunction(
665
+ * function()
666
+ * {
667
+ * alert( 'Hello!');
668
+ * });
669
+ * <b>CKEDITOR.tools.callFunction( ref )</b>; // Hello!
670
+ */
671
+ callFunction : function( ref )
672
+ {
673
+ var fn = functions[ ref ];
674
+ return fn && fn.apply( window, Array.prototype.slice.call( arguments, 1 ) );
675
+ },
676
+
677
+ /**
678
+ * Append the 'px' length unit to the size if it's missing.
679
+ * @param length
680
+ */
681
+ cssLength : (function()
682
+ {
683
+ return function( length )
684
+ {
685
+ return length + ( !length || isNaN( Number( length ) ) ? '' : 'px' );
686
+ };
687
+ })(),
688
+
689
+ /**
690
+ * Convert the specified CSS length value to the calculated pixel length inside this page.
691
+ * <strong>Note:</strong> Percentage based value is left intact.
692
+ * @param {String} cssLength CSS length value.
693
+ */
694
+ convertToPx : ( function ()
695
+ {
696
+ var calculator;
697
+
698
+ return function( cssLength )
699
+ {
700
+ if ( !calculator )
701
+ {
702
+ calculator = CKEDITOR.dom.element.createFromHtml(
703
+ '<div style="position:absolute;left:-9999px;' +
704
+ 'top:-9999px;margin:0px;padding:0px;border:0px;"' +
705
+ '></div>', CKEDITOR.document );
706
+ CKEDITOR.document.getBody().append( calculator );
707
+ }
708
+
709
+ if ( !(/%$/).test( cssLength ) )
710
+ {
711
+ calculator.setStyle( 'width', cssLength );
712
+ return calculator.$.clientWidth;
713
+ }
714
+
715
+ return cssLength;
716
+ };
717
+ } )(),
718
+
719
+ /**
720
+ * String specified by {@param str} repeats {@param times} times.
721
+ * @param str
722
+ * @param times
723
+ */
724
+ repeat : function( str, times )
725
+ {
726
+ return new Array( times + 1 ).join( str );
727
+ },
728
+
729
+ /**
730
+ * Return the first successfully executed function's return value that
731
+ * doesn't throw any exception.
732
+ */
733
+ tryThese : function()
734
+ {
735
+ var returnValue;
736
+ for ( var i = 0, length = arguments.length; i < length; i++ )
737
+ {
738
+ var lambda = arguments[i];
739
+ try
740
+ {
741
+ returnValue = lambda();
742
+ break;
743
+ }
744
+ catch (e) {}
745
+ }
746
+ return returnValue;
747
+ },
748
+
749
+ /**
750
+ * Generate a combined key from a series of params.
751
+ * @param {String} subKey One or more string used as sub keys.
752
+ * @example
753
+ * var key = CKEDITOR.tools.genKey( 'key1', 'key2', 'key3' );
754
+ * alert( key ); // "key1-key2-key3".
755
+ */
756
+ genKey : function()
757
+ {
758
+ return Array.prototype.slice.call( arguments ).join( '-' );
759
+ }
760
+ };
761
+ })();
762
+
763
+ // PACKAGER_RENAME( CKEDITOR.tools )