glebtv-ckeditor 4.1.1.7 → 4.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (548) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/ckeditor/CHANGES.md +177 -82
  3. data/app/assets/javascripts/ckeditor/build-config.js +33 -12
  4. data/app/assets/javascripts/ckeditor/ckeditor.js +735 -687
  5. data/app/assets/javascripts/ckeditor/config.js.erb +3 -4
  6. data/app/assets/javascripts/ckeditor/contents.css +1 -1
  7. data/app/assets/javascripts/ckeditor/lang/en.js +1 -1
  8. data/app/assets/javascripts/ckeditor/lang/ru.js +1 -1
  9. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +1 -1
  10. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +25 -0
  11. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +9 -0
  12. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +9 -0
  13. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +10 -0
  14. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +10 -0
  15. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +9 -0
  16. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +9 -0
  17. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +10 -0
  18. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +10 -0
  19. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +1 -1
  20. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +10 -0
  21. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +10 -0
  22. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +9 -0
  23. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +9 -0
  24. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +10 -0
  25. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +10 -0
  26. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +11 -0
  27. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +10 -0
  28. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +9 -0
  29. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +9 -0
  30. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +9 -0
  31. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +9 -0
  32. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +10 -0
  33. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +9 -0
  34. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +10 -0
  35. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +8 -0
  36. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +9 -0
  37. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +10 -0
  38. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +9 -0
  39. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +11 -0
  40. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +9 -0
  41. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +9 -0
  42. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +9 -0
  43. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +10 -0
  44. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +9 -0
  45. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +10 -0
  46. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +9 -0
  47. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +10 -0
  48. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +9 -0
  49. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +6 -6
  50. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +8 -0
  51. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +10 -0
  52. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +10 -0
  53. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +9 -0
  54. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +9 -0
  55. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +9 -0
  56. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +10 -0
  57. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +9 -0
  58. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +10 -0
  59. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +9 -0
  60. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +10 -0
  61. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +9 -0
  62. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +7 -0
  63. data/app/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +7 -0
  64. data/app/assets/javascripts/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  65. data/app/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  66. data/app/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +8 -8
  67. data/app/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.min.css +1 -1
  68. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/beautify.min.js +1 -0
  69. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.min.js +1 -1
  70. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.min.js +5637 -1
  71. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.modes.min.js +1 -1
  72. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.search-addons.min.js +1 -1
  73. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/af.js +10 -0
  74. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ar.js +10 -0
  75. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/bg.js +10 -0
  76. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/bn.js +10 -0
  77. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/bs.js +10 -0
  78. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ca.js +10 -0
  79. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/cs.js +10 -0
  80. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/cy.js +10 -0
  81. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/da.js +10 -0
  82. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/de.js +12 -0
  83. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/el.js +10 -0
  84. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/en-au.js +10 -0
  85. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/en-ca.js +10 -0
  86. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/en-gb.js +10 -0
  87. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/eo.js +10 -0
  88. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/es.js +10 -0
  89. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/et.js +10 -0
  90. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/eu.js +10 -0
  91. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/fa.js +10 -0
  92. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/fi.js +10 -0
  93. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/fo.js +10 -0
  94. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/fr-ca.js +10 -0
  95. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/fr.js +10 -0
  96. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/gl.js +10 -0
  97. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/gu.js +10 -0
  98. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/he.js +10 -0
  99. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/hi.js +10 -0
  100. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/hr.js +10 -0
  101. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/hu.js +10 -0
  102. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/is.js +10 -0
  103. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/it.js +10 -0
  104. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ja.js +10 -0
  105. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ka.js +10 -0
  106. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/km.js +10 -0
  107. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ko.js +10 -0
  108. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ku.js +10 -0
  109. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/lt.js +10 -0
  110. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/lv.js +10 -0
  111. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/mk.js +10 -0
  112. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/mn.js +10 -0
  113. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ms.js +10 -0
  114. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/nb.js +10 -0
  115. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/nl.js +10 -0
  116. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/no.js +10 -0
  117. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/pl.js +10 -0
  118. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/pt-br.js +10 -0
  119. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/pt.js +10 -0
  120. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ro.js +10 -0
  121. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/sk.js +10 -0
  122. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/sl.js +10 -0
  123. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/sr-latn.js +10 -0
  124. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/sr.js +10 -0
  125. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/sv.js +10 -0
  126. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/th.js +10 -0
  127. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/tr.js +10 -0
  128. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/ug.js +10 -0
  129. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/uk.js +10 -0
  130. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/vi.js +10 -0
  131. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/zh-cn.js +10 -0
  132. data/app/assets/javascripts/ckeditor/plugins/codemirror/lang/zh.js +10 -0
  133. data/app/assets/javascripts/ckeditor/plugins/codemirror/plugin.js +322 -16
  134. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/eclipse.css +1 -1
  135. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/midnight.css +52 -0
  136. data/app/assets/javascripts/ckeditor/plugins/codemirror/theme/rubyblue.css +1 -1
  137. data/app/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +13 -340
  138. data/app/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +1 -1
  139. data/app/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +9 -0
  140. data/app/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +24 -0
  141. data/app/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +1 -1
  142. data/app/assets/javascripts/ckeditor/plugins/font/lang/af.js +14 -0
  143. data/app/assets/javascripts/ckeditor/plugins/font/lang/ar.js +14 -0
  144. data/app/assets/javascripts/ckeditor/plugins/font/lang/bg.js +14 -0
  145. data/app/assets/javascripts/ckeditor/plugins/font/lang/bn.js +14 -0
  146. data/app/assets/javascripts/ckeditor/plugins/font/lang/bs.js +14 -0
  147. data/app/assets/javascripts/ckeditor/plugins/font/lang/ca.js +14 -0
  148. data/app/assets/javascripts/ckeditor/plugins/font/lang/cs.js +14 -0
  149. data/app/assets/javascripts/ckeditor/plugins/font/lang/cy.js +14 -0
  150. data/app/assets/javascripts/ckeditor/plugins/font/lang/da.js +14 -0
  151. data/app/assets/javascripts/ckeditor/plugins/font/lang/de.js +14 -0
  152. data/app/assets/javascripts/ckeditor/plugins/font/lang/el.js +14 -0
  153. data/app/assets/javascripts/ckeditor/plugins/font/lang/en-au.js +14 -0
  154. data/app/assets/javascripts/ckeditor/plugins/font/lang/en-ca.js +14 -0
  155. data/app/assets/javascripts/ckeditor/plugins/font/lang/en-gb.js +14 -0
  156. data/app/assets/javascripts/ckeditor/plugins/font/lang/en.js +1 -1
  157. data/app/assets/javascripts/ckeditor/plugins/font/lang/eo.js +14 -0
  158. data/app/assets/javascripts/ckeditor/plugins/font/lang/es.js +14 -0
  159. data/app/assets/javascripts/ckeditor/plugins/font/lang/et.js +14 -0
  160. data/app/assets/javascripts/ckeditor/plugins/font/lang/eu.js +14 -0
  161. data/app/assets/javascripts/ckeditor/plugins/font/lang/fa.js +14 -0
  162. data/app/assets/javascripts/ckeditor/plugins/font/lang/fi.js +14 -0
  163. data/app/assets/javascripts/ckeditor/plugins/font/lang/fo.js +14 -0
  164. data/app/assets/javascripts/ckeditor/plugins/font/lang/fr-ca.js +14 -0
  165. data/app/assets/javascripts/ckeditor/plugins/font/lang/fr.js +14 -0
  166. data/app/assets/javascripts/ckeditor/plugins/font/lang/gl.js +14 -0
  167. data/app/assets/javascripts/ckeditor/plugins/font/lang/gu.js +14 -0
  168. data/app/assets/javascripts/ckeditor/plugins/font/lang/he.js +14 -0
  169. data/app/assets/javascripts/ckeditor/plugins/font/lang/hi.js +14 -0
  170. data/app/assets/javascripts/ckeditor/plugins/font/lang/hr.js +14 -0
  171. data/app/assets/javascripts/ckeditor/plugins/font/lang/hu.js +14 -0
  172. data/app/assets/javascripts/ckeditor/plugins/font/lang/id.js +14 -0
  173. data/app/assets/javascripts/ckeditor/plugins/font/lang/is.js +14 -0
  174. data/app/assets/javascripts/ckeditor/plugins/font/lang/it.js +14 -0
  175. data/app/assets/javascripts/ckeditor/plugins/font/lang/ja.js +14 -0
  176. data/app/assets/javascripts/ckeditor/plugins/font/lang/ka.js +14 -0
  177. data/app/assets/javascripts/ckeditor/plugins/font/lang/km.js +14 -0
  178. data/app/assets/javascripts/ckeditor/plugins/font/lang/ko.js +14 -0
  179. data/app/assets/javascripts/ckeditor/plugins/font/lang/ku.js +14 -0
  180. data/app/assets/javascripts/ckeditor/plugins/font/lang/lt.js +14 -0
  181. data/app/assets/javascripts/ckeditor/plugins/font/lang/lv.js +14 -0
  182. data/app/assets/javascripts/ckeditor/plugins/font/lang/mk.js +14 -0
  183. data/app/assets/javascripts/ckeditor/plugins/font/lang/mn.js +14 -0
  184. data/app/assets/javascripts/ckeditor/plugins/font/lang/ms.js +14 -0
  185. data/app/assets/javascripts/ckeditor/plugins/font/lang/nb.js +14 -0
  186. data/app/assets/javascripts/ckeditor/plugins/font/lang/nl.js +14 -0
  187. data/app/assets/javascripts/ckeditor/plugins/font/lang/no.js +14 -0
  188. data/app/assets/javascripts/ckeditor/plugins/font/lang/pl.js +14 -0
  189. data/app/assets/javascripts/ckeditor/plugins/font/lang/pt-br.js +14 -0
  190. data/app/assets/javascripts/ckeditor/plugins/font/lang/pt.js +14 -0
  191. data/app/assets/javascripts/ckeditor/plugins/font/lang/ro.js +14 -0
  192. data/app/assets/javascripts/ckeditor/plugins/font/lang/ru.js +1 -1
  193. data/app/assets/javascripts/ckeditor/plugins/font/lang/si.js +14 -0
  194. data/app/assets/javascripts/ckeditor/plugins/font/lang/sk.js +14 -0
  195. data/app/assets/javascripts/ckeditor/plugins/font/lang/sl.js +14 -0
  196. data/app/assets/javascripts/ckeditor/plugins/font/lang/sq.js +14 -0
  197. data/app/assets/javascripts/ckeditor/plugins/font/lang/sr-latn.js +14 -0
  198. data/app/assets/javascripts/ckeditor/plugins/font/lang/sr.js +14 -0
  199. data/app/assets/javascripts/ckeditor/plugins/font/lang/sv.js +14 -0
  200. data/app/assets/javascripts/ckeditor/plugins/font/lang/th.js +14 -0
  201. data/app/assets/javascripts/ckeditor/plugins/font/lang/tr.js +14 -0
  202. data/app/assets/javascripts/ckeditor/plugins/font/lang/ug.js +14 -0
  203. data/app/assets/javascripts/ckeditor/plugins/font/lang/uk.js +14 -0
  204. data/app/assets/javascripts/ckeditor/plugins/font/lang/vi.js +14 -0
  205. data/app/assets/javascripts/ckeditor/plugins/font/lang/zh-cn.js +14 -0
  206. data/app/assets/javascripts/ckeditor/plugins/font/lang/zh.js +14 -0
  207. data/app/assets/javascripts/ckeditor/plugins/font/plugin.js +2 -2
  208. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +8 -0
  209. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +8 -0
  210. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +8 -0
  211. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +8 -0
  212. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +8 -0
  213. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +20 -0
  214. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +8 -0
  215. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +10 -0
  216. data/app/assets/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  217. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/docs/install.html +93 -0
  218. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/docs/styles.css +59 -0
  219. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/icon1.png +0 -0
  220. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/icon2.png +0 -0
  221. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/icon3.png +0 -0
  222. data/app/assets/javascripts/ckeditor/plugins/icons.png +0 -0
  223. data/app/assets/javascripts/ckeditor/plugins/icons_hidpi.png +0 -0
  224. data/app/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +10 -0
  225. data/app/assets/javascripts/ckeditor/plugins/iframe/icons/hidpi/iframe.png +0 -0
  226. data/app/assets/javascripts/ckeditor/plugins/iframe/icons/iframe.png +0 -0
  227. data/app/assets/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  228. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/af.js +11 -0
  229. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ar.js +11 -0
  230. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/bg.js +11 -0
  231. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/bn.js +11 -0
  232. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/bs.js +11 -0
  233. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ca.js +11 -0
  234. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/cs.js +11 -0
  235. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/cy.js +11 -0
  236. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/da.js +11 -0
  237. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/de.js +11 -0
  238. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/el.js +11 -0
  239. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/en-au.js +11 -0
  240. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/en-ca.js +11 -0
  241. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/en-gb.js +11 -0
  242. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/en.js +11 -0
  243. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/eo.js +11 -0
  244. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/es.js +11 -0
  245. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/et.js +11 -0
  246. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/eu.js +11 -0
  247. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/fa.js +11 -0
  248. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/fi.js +11 -0
  249. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/fo.js +11 -0
  250. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/fr-ca.js +11 -0
  251. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/fr.js +11 -0
  252. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/gl.js +11 -0
  253. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/gu.js +11 -0
  254. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/he.js +11 -0
  255. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/hi.js +11 -0
  256. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/hr.js +11 -0
  257. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/hu.js +11 -0
  258. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/id.js +11 -0
  259. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/is.js +11 -0
  260. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/it.js +11 -0
  261. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ja.js +11 -0
  262. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ka.js +11 -0
  263. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/km.js +11 -0
  264. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ko.js +11 -0
  265. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ku.js +11 -0
  266. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/lt.js +11 -0
  267. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/lv.js +11 -0
  268. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/mk.js +11 -0
  269. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/mn.js +11 -0
  270. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ms.js +11 -0
  271. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/nb.js +11 -0
  272. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/nl.js +11 -0
  273. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/no.js +11 -0
  274. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/pl.js +11 -0
  275. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/pt-br.js +11 -0
  276. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/pt.js +11 -0
  277. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ro.js +11 -0
  278. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ru.js +11 -0
  279. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/si.js +11 -0
  280. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/sk.js +11 -0
  281. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/sl.js +11 -0
  282. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/sq.js +11 -0
  283. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/sr-latn.js +11 -0
  284. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/sr.js +11 -0
  285. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/sv.js +11 -0
  286. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/th.js +11 -0
  287. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/tr.js +11 -0
  288. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ug.js +11 -0
  289. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/uk.js +11 -0
  290. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/vi.js +11 -0
  291. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/zh-cn.js +11 -0
  292. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/zh.js +11 -0
  293. data/app/assets/javascripts/ckeditor/plugins/iframe/plugin.js +83 -0
  294. data/app/assets/javascripts/ckeditor/plugins/iframedialog/plugin.js +3 -2
  295. data/app/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +1 -1
  296. data/app/assets/javascripts/ckeditor/plugins/{LoremIpsum/images → ipsum}/icon.png +0 -0
  297. data/app/assets/javascripts/ckeditor/plugins/ipsum/plugin.js +63 -0
  298. data/app/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +1 -1
  299. data/app/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +1 -1
  300. data/app/assets/javascripts/ckeditor/plugins/link/images/anchor.png +0 -0
  301. data/app/assets/javascripts/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  302. data/app/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +10 -0
  303. data/app/assets/javascripts/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  304. data/app/assets/javascripts/ckeditor/plugins/map/example_usage.js +30 -0
  305. data/app/assets/javascripts/ckeditor/plugins/map/map.gif +0 -0
  306. data/app/assets/javascripts/ckeditor/plugins/map/plugin.js +187 -0
  307. data/app/assets/javascripts/ckeditor/plugins/mediaembed/icons/hidpi/mediaembed.png +0 -0
  308. data/app/assets/javascripts/ckeditor/plugins/mediaembed/icons/mediaembed.png +0 -0
  309. data/app/assets/javascripts/ckeditor/plugins/mediaembed/plugin.js +64 -0
  310. data/app/assets/javascripts/ckeditor/plugins/oembed/images/placeholder.png +0 -0
  311. data/app/assets/javascripts/ckeditor/plugins/oembed/libs/jquery.oembed.js +69 -67
  312. data/app/assets/javascripts/ckeditor/plugins/oembed/libs/jquery.oembed.min.js +56 -53
  313. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/images/icon.png +0 -0
  314. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/images/placeholder.png +0 -0
  315. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/de.js +23 -0
  316. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/en.js +23 -0
  317. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/fr.js +25 -0
  318. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/nl.js +23 -0
  319. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/pl.js +23 -0
  320. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/ru.js +23 -0
  321. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/libs/jquery.oembed.js +971 -0
  322. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/libs/jquery.oembed.min.js +11 -0
  323. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/plugin.js +373 -0
  324. data/app/assets/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  325. data/app/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +21 -21
  326. data/app/assets/javascripts/ckeditor/plugins/preview/preview.html +10 -0
  327. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  328. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  329. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  330. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  331. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  332. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  333. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  334. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  335. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  336. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  337. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  338. data/app/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +10 -0
  339. data/app/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  340. data/app/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  341. data/app/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  342. data/app/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  343. data/app/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  344. data/app/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  345. data/app/assets/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  346. data/app/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  347. data/app/assets/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  348. data/app/assets/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  349. data/app/assets/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  350. data/app/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  351. data/app/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  352. data/app/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  353. data/app/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  354. data/app/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  355. data/app/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  356. data/app/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  357. data/app/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  358. data/app/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  359. data/app/assets/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  360. data/app/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  361. data/app/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  362. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +20 -0
  363. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ar.js +13 -0
  364. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/bg.js +13 -0
  365. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
  366. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
  367. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
  368. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
  369. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
  370. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +1 -1
  371. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
  372. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
  373. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/et.js +13 -0
  374. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
  375. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
  376. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
  377. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr.js +11 -0
  378. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/gl.js +13 -0
  379. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/he.js +12 -0
  380. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
  381. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hu.js +12 -0
  382. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/id.js +13 -0
  383. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
  384. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ja.js +9 -0
  385. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
  386. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
  387. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
  388. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
  389. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
  390. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
  391. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
  392. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt.js +13 -0
  393. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ru.js +13 -0
  394. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/si.js +13 -0
  395. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
  396. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sl.js +12 -0
  397. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
  398. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
  399. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
  400. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
  401. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
  402. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/uk.js +12 -0
  403. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/vi.js +14 -0
  404. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
  405. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +1 -1
  406. data/app/assets/javascripts/ckeditor/plugins/stylesheetparser/plugin.js +152 -0
  407. data/app/assets/javascripts/ckeditor/{samples/plugins/stylesheetparser → plugins/stylesheetparser/samples}/assets/sample.css +70 -70
  408. data/app/assets/javascripts/ckeditor/{samples/plugins/stylesheetparser → plugins/stylesheetparser/samples}/stylesheetparser.html +82 -82
  409. data/app/assets/javascripts/ckeditor/plugins/symbol/dialogs/lang/en.js +181 -0
  410. data/app/assets/javascripts/ckeditor/plugins/symbol/dialogs/symbol.js +18 -0
  411. data/app/assets/javascripts/ckeditor/plugins/symbol/icons/symbol.png +0 -0
  412. data/app/assets/javascripts/ckeditor/plugins/symbol/lang/en.js +1 -0
  413. data/app/assets/javascripts/ckeditor/plugins/symbol/plugin.js +15 -0
  414. data/app/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +1 -1
  415. data/app/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +1 -1
  416. data/app/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.css +84 -0
  417. data/app/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +10 -0
  418. data/app/assets/javascripts/ckeditor/plugins/templates/templates/default.js +6 -0
  419. data/app/assets/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  420. data/app/assets/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  421. data/app/assets/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  422. data/app/assets/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +9 -0
  423. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  424. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  425. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  426. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  427. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +15 -0
  428. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/yui.js +225 -0
  429. data/app/assets/javascripts/ckeditor/plugins/wordcount/css/wordcount.css +3 -0
  430. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/ca.js +11 -0
  431. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/de.js +11 -0
  432. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/en.js +11 -0
  433. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/es.js +11 -0
  434. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/fr.js +9 -0
  435. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/no.js +8 -0
  436. data/app/assets/javascripts/ckeditor/plugins/wordcount/lang/pl.js +11 -0
  437. data/app/assets/javascripts/ckeditor/plugins/wordcount/plugin.js +193 -0
  438. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +17 -0
  439. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmp.html +118 -0
  440. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +63 -7
  441. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc_ie.js +11 -0
  442. data/app/assets/javascripts/ckeditor/plugins/youtube/images/icon.png +0 -0
  443. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/de.js +21 -0
  444. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/en.js +21 -0
  445. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/fr.js +21 -0
  446. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/hu.js +21 -0
  447. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/it.js +21 -0
  448. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/ja.js +21 -0
  449. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/pt.js +21 -0
  450. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/ru.js +21 -0
  451. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/tr.js +21 -0
  452. data/app/assets/javascripts/ckeditor/plugins/youtube/plugin.js +321 -0
  453. data/app/assets/javascripts/ckeditor/skins/moono/dialog.css +2 -2
  454. data/app/assets/javascripts/ckeditor/skins/moono/dialog_ie.css +2 -2
  455. data/app/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css +2 -2
  456. data/app/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css +2 -2
  457. data/app/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css +2 -2
  458. data/app/assets/javascripts/ckeditor/skins/moono/dialog_opera.css +2 -2
  459. data/app/assets/javascripts/ckeditor/skins/moono/editor.css +2 -2
  460. data/app/assets/javascripts/ckeditor/skins/moono/editor_gecko.css +2 -2
  461. data/app/assets/javascripts/ckeditor/skins/moono/editor_ie.css +2 -2
  462. data/app/assets/javascripts/ckeditor/skins/moono/editor_ie7.css +2 -2
  463. data/app/assets/javascripts/ckeditor/skins/moono/editor_ie8.css +2 -2
  464. data/app/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css +2 -2
  465. data/app/assets/javascripts/ckeditor/skins/moono/icons.png +0 -0
  466. data/app/assets/javascripts/ckeditor/skins/moono/icons_hidpi.png +0 -0
  467. data/app/assets/javascripts/ckeditor/skins/moono/images/close.png +0 -0
  468. data/app/assets/javascripts/ckeditor/skins/moono/images/hidpi/close.png +0 -0
  469. data/app/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock-open.png +0 -0
  470. data/app/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock.png +0 -0
  471. data/app/assets/javascripts/ckeditor/skins/moono/images/hidpi/refresh.png +0 -0
  472. data/app/assets/javascripts/ckeditor/skins/moono/images/lock-open.png +0 -0
  473. data/app/assets/javascripts/ckeditor/skins/moono/images/lock.png +0 -0
  474. data/app/assets/javascripts/ckeditor/skins/moono/images/refresh.png +0 -0
  475. data/app/assets/javascripts/ckeditor/styles.js +1 -1
  476. data/app/helpers/ckeditor/application_helper.rb +11 -0
  477. data/app/views/layouts/ckeditor/application.html.erb +17 -17
  478. data/lib/ckeditor/version.rb +2 -2
  479. metadata +422 -74
  480. data/app/assets/javascripts/ckeditor/plugins/LoremIpsum/images/icon1.png +0 -0
  481. data/app/assets/javascripts/ckeditor/plugins/LoremIpsum/plugin.js +0 -66
  482. data/app/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.ckeditor.css +0 -112
  483. data/app/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.css +0 -246
  484. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/dialog/dialog.js +0 -81
  485. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/edit/closebrackets.js +0 -52
  486. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/edit/closetag.js +0 -85
  487. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/edit/continuecomment.js +0 -44
  488. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/edit/continuelist.js +0 -25
  489. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/edit/matchbrackets.js +0 -74
  490. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/fold/brace-fold.js +0 -31
  491. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/fold/foldcode.js +0 -32
  492. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/fold/xml-fold.js +0 -64
  493. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/format/autoFormatAll.js +0 -43
  494. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/format/formatting.js +0 -114
  495. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/search/match-highlighter.js +0 -60
  496. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/search/search.js +0 -131
  497. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/addon/search/searchcursor.js +0 -130
  498. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.js +0 -5516
  499. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/mode/css.js +0 -567
  500. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/mode/htmlmixed.js +0 -104
  501. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/mode/javascript.js +0 -437
  502. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/mode/xml.js +0 -328
  503. data/app/assets/javascripts/ckeditor/plugins/colorbutton/icons/bgcolor.png +0 -0
  504. data/app/assets/javascripts/ckeditor/plugins/colorbutton/icons/textcolor.png +0 -0
  505. data/app/assets/javascripts/ckeditor/plugins/colorbutton/lang/en.js +0 -53
  506. data/app/assets/javascripts/ckeditor/plugins/colorbutton/lang/ru.js +0 -53
  507. data/app/assets/javascripts/ckeditor/plugins/colorbutton/plugin.js +0 -277
  508. data/app/assets/javascripts/ckeditor/plugins/colordialog/lang/en.js +0 -11
  509. data/app/assets/javascripts/ckeditor/plugins/colordialog/lang/ru.js +0 -11
  510. data/app/assets/javascripts/ckeditor/plugins/colordialog/plugin.js +0 -65
  511. data/app/assets/javascripts/ckeditor/plugins/mediaembed/images/icon.png +0 -0
  512. data/app/assets/javascripts/ckeditor/plugins/panelbutton/plugin.js +0 -138
  513. data/app/assets/javascripts/ckeditor/samples/ajax.html +0 -82
  514. data/app/assets/javascripts/ckeditor/samples/api.html +0 -207
  515. data/app/assets/javascripts/ckeditor/samples/appendto.html +0 -57
  516. data/app/assets/javascripts/ckeditor/samples/assets/inlineall/logo.png +0 -0
  517. data/app/assets/javascripts/ckeditor/samples/assets/outputxhtml/outputxhtml.css +0 -204
  518. data/app/assets/javascripts/ckeditor/samples/assets/posteddata.php +0 -59
  519. data/app/assets/javascripts/ckeditor/samples/assets/sample.css +0 -3
  520. data/app/assets/javascripts/ckeditor/samples/assets/sample.jpg +0 -0
  521. data/app/assets/javascripts/ckeditor/samples/assets/uilanguages/languages.js +0 -7
  522. data/app/assets/javascripts/ckeditor/samples/datafiltering.html +0 -401
  523. data/app/assets/javascripts/ckeditor/samples/divreplace.html +0 -141
  524. data/app/assets/javascripts/ckeditor/samples/index.html +0 -125
  525. data/app/assets/javascripts/ckeditor/samples/inlineall.html +0 -311
  526. data/app/assets/javascripts/ckeditor/samples/inlinebycode.html +0 -122
  527. data/app/assets/javascripts/ckeditor/samples/plugins/dialog/assets/my_dialog.js +0 -48
  528. data/app/assets/javascripts/ckeditor/samples/plugins/dialog/dialog.html +0 -187
  529. data/app/assets/javascripts/ckeditor/samples/plugins/enterkey/enterkey.html +0 -103
  530. data/app/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.fla +0 -0
  531. data/app/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.swf +0 -0
  532. data/app/assets/javascripts/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/swfobject.js +0 -18
  533. data/app/assets/javascripts/ckeditor/samples/plugins/htmlwriter/outputforflash.html +0 -280
  534. data/app/assets/javascripts/ckeditor/samples/plugins/htmlwriter/outputhtml.html +0 -221
  535. data/app/assets/javascripts/ckeditor/samples/plugins/magicline/magicline.html +0 -207
  536. data/app/assets/javascripts/ckeditor/samples/plugins/toolbar/toolbar.html +0 -232
  537. data/app/assets/javascripts/ckeditor/samples/plugins/wysiwygarea/fullpage.html +0 -77
  538. data/app/assets/javascripts/ckeditor/samples/readonly.html +0 -73
  539. data/app/assets/javascripts/ckeditor/samples/replacebyclass.html +0 -57
  540. data/app/assets/javascripts/ckeditor/samples/replacebycode.html +0 -56
  541. data/app/assets/javascripts/ckeditor/samples/sample.css +0 -339
  542. data/app/assets/javascripts/ckeditor/samples/sample.js +0 -33
  543. data/app/assets/javascripts/ckeditor/samples/sample_posteddata.php +0 -16
  544. data/app/assets/javascripts/ckeditor/samples/tabindex.html +0 -75
  545. data/app/assets/javascripts/ckeditor/samples/uicolor.html +0 -69
  546. data/app/assets/javascripts/ckeditor/samples/uilanguages.html +0 -119
  547. data/app/assets/javascripts/ckeditor/samples/xhtmlstyle.html +0 -231
  548. data/app/assets/javascripts/ckeditor/skins/moono/images/mini.png +0 -0
@@ -38,9 +38,26 @@ function sendData2Master()
38
38
  catch (e) {}
39
39
  }
40
40
 
41
+ function OnMessage (event) {
42
+ var message = event.data;
43
+ var destination = window.parent.parent;
44
+ destination.XDTMaster.read( [ 'end', message, 'fpm' ] ) ;
45
+ }
46
+
47
+ function listenPostMessage() {
48
+ if (window.addEventListener) { // all browsers except IE before version 9
49
+ window.addEventListener ("message", OnMessage, false);
50
+ }else {
51
+ if (window.attachEvent) { // IE before version 9
52
+ window.attachEvent("onmessage", OnMessage);
53
+ }
54
+ }
55
+ }
56
+
41
57
  function onLoad()
42
58
  {
43
59
  interval = window.setInterval( sendData2Master, 100 );
60
+ listenPostMessage();
44
61
  }
45
62
 
46
63
  </script>
@@ -0,0 +1,118 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title>iframe</title>
6
+
7
+ <style>
8
+ html,body{
9
+ margin: 0;
10
+ height: 100%;
11
+ font: 13px/1.555 "Trebuchet MS", sans-serif;
12
+ }
13
+ a{
14
+ color: #888;
15
+ font-weight: bold;
16
+ text-decoration: none;
17
+ border-bottom: 1px solid #888;
18
+ }
19
+ .main-box {
20
+ color:#252525;
21
+ padding: 3px 5px;
22
+ text-align: justify;
23
+ }
24
+ .main-box p{margin: 0 0 14px;}
25
+ .main-box .cerr{
26
+ color: #f00000;
27
+ border-bottom-color: #f00000;
28
+ }
29
+ </style>
30
+ </head>
31
+ <body>
32
+ <div id="content" class="main-box"></div>
33
+ <iframe src="" frameborder="0" id="spelltext" name="spelltext" style="display:none; width: 100%" ></iframe>
34
+ <iframe src="" frameborder="0" id="loadsuggestfirst" name="loadsuggestfirst" style="display:none; width: 100%" ></iframe>
35
+ <iframe src="" frameborder="0" id="loadspellsuggestall" name="loadspellsuggestall" style="display:none; width: 100%" ></iframe>
36
+ <iframe src="" frameborder="0" id="loadOptionsForm" name="loadOptionsForm" style="display:none; width: 100%" ></iframe>
37
+ <script>
38
+ (function(window) {
39
+ // Constructor Manager PostMessage
40
+
41
+ var ManagerPostMessage = function() {
42
+ var _init = function(handler) {
43
+ if (document.addEventListener) {
44
+ window.addEventListener('message', handler, false);
45
+ } else {
46
+ window.attachEvent("onmessage", handler);
47
+ };
48
+ };
49
+ var _sendCmd = function(o) {
50
+ var str,
51
+ type = Object.prototype.toString,
52
+ fn = o.fn || null,
53
+ id = o.id || '',
54
+ target = o.target || window,
55
+ message = o.message || { 'id': id };
56
+
57
+ if (type.call(o.message) == "[object Object]") {
58
+ (o.message['id']) ? o.message['id'] : o.message['id'] = id;
59
+ message = o.message;
60
+ };
61
+
62
+ str = JSON.stringify(message, fn);
63
+ target.postMessage(str, '*');
64
+ };
65
+
66
+ return {
67
+ init: _init,
68
+ send: _sendCmd
69
+ };
70
+ };
71
+
72
+ var manageMessageTmp = new ManagerPostMessage;
73
+
74
+
75
+ var appString = (function(){
76
+ var spell = parent.CKEDITOR.config.wsc.DefaultParams.scriptPath;
77
+ var serverUrl = parent.CKEDITOR.config.wsc.DefaultParams.serviceHost;
78
+ return serverUrl + spell;
79
+ })();
80
+
81
+ function loadScript(src, callback) {
82
+ var scriptTag = document.createElement("script");
83
+ scriptTag.type = "text/javascript";
84
+ callback ? callback : callback = function() {};
85
+ if(scriptTag.readyState) {
86
+ //IE
87
+ scriptTag.onreadystatechange = function() {
88
+ if (scriptTag.readyState == "loaded" ||
89
+ scriptTag.readyState == "complete") {
90
+ scriptTag.onreadystatechange = null;
91
+ setTimeout(function(){scriptTag.parentNode.removeChild(scriptTag)},1)
92
+ callback();
93
+ }
94
+ };
95
+ }else{
96
+ //Others
97
+ scriptTag.onload = function() {
98
+ setTimeout(function(){scriptTag.parentNode.removeChild(scriptTag)},1);
99
+ callback();
100
+ };
101
+ };
102
+ scriptTag.src = src;
103
+ document.getElementsByTagName("head")[0].appendChild(scriptTag);
104
+ };
105
+
106
+
107
+ window.onload = function(){
108
+ loadScript(appString, function(){
109
+ manageMessageTmp.send({
110
+ 'id': 'iframeOnload',
111
+ 'target': window.parent
112
+ });
113
+ });
114
+ }
115
+ })(this);
116
+ </script>
117
+ </body>
118
+ </html>
@@ -2,10 +2,66 @@
2
2
  Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
3
3
  For licensing, see LICENSE.html or http://ckeditor.com/license
4
4
  */
5
- CKEDITOR.dialog.add("checkspell",function(a){function c(a,c){var d=0;return function(){"function"==typeof window.doSpell?("undefined"!=typeof e&&window.clearInterval(e),j(a)):180==d++&&window._cancelOnError(c)}}function j(c){var f=new window._SP_FCK_LangCompare,b=CKEDITOR.getUrl(a.plugins.wsc.path+"dialogs/"),e=b+"tmpFrameset.html";window.gFCKPluginName="wsc";f.setDefaulLangCode(a.config.defaultLanguage);window.doSpell({ctrl:g,lang:a.config.wsc_lang||f.getSPLangCode(a.langCode),intLang:a.config.wsc_uiLang||
6
- f.getSPLangCode(a.langCode),winType:d,onCancel:function(){c.hide()},onFinish:function(b){a.focus();c.getParentEditor().setData(b.value);c.hide()},staticFrame:e,framesetPath:e,iframePath:b+"ciframe.html",schemaURI:b+"wsc.css",userDictionaryName:a.config.wsc_userDictionaryName,customDictionaryName:a.config.wsc_customDictionaryIds&&a.config.wsc_customDictionaryIds.split(","),domainName:a.config.wsc_domainName});CKEDITOR.document.getById(h).setStyle("display","none");CKEDITOR.document.getById(d).setStyle("display",
7
- "block")}var b=CKEDITOR.tools.getNextNumber(),d="cke_frame_"+b,g="cke_data_"+b,h="cke_error_"+b,e,b=document.location.protocol||"http:",i=a.lang.wsc.notAvailable,k='<textarea style="display: none" id="'+g+'" rows="10" cols="40"> </textarea><div id="'+h+'" style="display:none;color:red;font-size:16px;font-weight:bold;padding-top:160px;text-align:center;z-index:11;"></div><iframe src="" style="width:100%;background-color:#f1f1e3;" frameborder="0" name="'+d+'" id="'+d+'" allowtransparency="1"></iframe>',
8
- l=a.config.wsc_customLoaderScript||b+"//loader.webspellchecker.net/sproxy_fck/sproxy.php?plugin=fck2&customerid="+a.config.wsc_customerId+"&cmd=script&doc=wsc&schema=22";a.config.wsc_customLoaderScript&&(i+='<p style="color:#000;font-size:11px;font-weight: normal;text-align:center;padding-top:10px">'+a.lang.wsc.errorLoading.replace(/%s/g,a.config.wsc_customLoaderScript)+"</p>");window._cancelOnError=function(c){if("undefined"==typeof window.WSC_Error){CKEDITOR.document.getById(d).setStyle("display",
9
- "none");var b=CKEDITOR.document.getById(h);b.setStyle("display","block");b.setHtml(c||a.lang.wsc.notAvailable)}};return{title:a.config.wsc_dialogTitle||a.lang.wsc.title,minWidth:485,minHeight:380,buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){var b=this.getContentElement("general","content").getElement();b.setHtml(k);b.getChild(2).setStyle("height",this._.contentSize.height+"px");"function"!=typeof window.doSpell&&CKEDITOR.document.getHead().append(CKEDITOR.document.createElement("script",
10
- {attributes:{type:"text/javascript",src:l}}));b=a.getData();CKEDITOR.document.getById(g).setValue(b);e=window.setInterval(c(this,i),250)},onHide:function(){window.ooo=void 0;window.int_framsetLoaded=void 0;window.framesetLoaded=void 0;window.is_window_opened=!1},contents:[{id:"general",label:a.config.wsc_dialogTitle||a.lang.wsc.title,padding:0,elements:[{type:"html",id:"content",html:""}]}]}});
11
- CKEDITOR.dialog.on("resize",function(a){var a=a.data,c=a.dialog;"checkspell"==c._.name&&((c=(c=c.getContentElement("general","content").getElement())&&c.getChild(2))&&c.setSize("height",a.height),c&&c.setSize("width",a.width))});
5
+ (function(){function t(a){if(!a)throw"Languages-by-groups list are required for construct selectbox";var c=[],d="",f;for(f in a)for(var g in a[f]){var h=a[f][g];"en_US"==h?d=h:c.push(h)}c.sort();d&&c.unshift(d);return{getCurrentLangGroup:function(c){a:{for(var d in a)for(var f in a[d])if(f.toUpperCase()===c.toUpperCase()){c=d;break a}c=""}return c},setLangList:function(){var c={},d;for(d in a)for(var f in a[d])c[a[d][f]]=f;return c}()}}var e=function(){var a=function(a,b,f){var f=f||{},g=f.expires;
6
+ if("number"==typeof g&&g){var h=new Date;h.setTime(h.getTime()+1E3*g);g=f.expires=h}g&&g.toUTCString&&(f.expires=g.toUTCString());var b=encodeURIComponent(b),a=a+"="+b,e;for(e in f)b=f[e],a+="; "+e,!0!==b&&(a+="="+b);document.cookie=a};return{postMessage:{init:function(a){document.addEventListener?window.addEventListener("message",a,!1):window.attachEvent("onmessage",a)},send:function(a){var b=a.fn||null,f=a.id||"",g=a.target||window,e=a.message||{id:f};"[object Object]"==Object.prototype.toString.call(a.message)&&
7
+ (a.message.id||(a.message.id=f),e=a.message);a=window.JSON.stringify(e,b);g.postMessage(a,"*")}},hash:{create:function(){},parse:function(){}},cookie:{set:a,get:function(a){return(a=document.cookie.match(RegExp("(?:^|; )"+a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)")))?decodeURIComponent(a[1]):void 0},remove:function(c){a(c,"",{expires:-1})}}}}(),a=a||{};a.TextAreaNumber=null;a.load=!0;a.cmd={SpellTab:"spell",Thesaurus:"thes",GrammTab:"grammar"};a.dialog=null;a.optionNode=null;a.selectNode=
8
+ null;a.grammerSuggest=null;a.textNode={};a.iframeMain=null;a.dataTemp="";a.div_overlay=null;a.textNodeInfo={};a.selectNode={};a.selectNodeResponce={};a.langList=null;a.langSelectbox=null;a.banner="";a.show_grammar=null;a.div_overlay_no_check=null;a.targetFromFrame={};a.onLoadOverlay=null;a.LocalizationComing={};a.OverlayPlace=null;a.LocalizationButton={ChangeTo:{instance:null,text:"Change to"},ChangeAll:{instance:null,text:"Change All"},IgnoreWord:{instance:null,text:"Ignore word"},IgnoreAllWords:{instance:null,
9
+ text:"Ignore all words"},Options:{instance:null,text:"Options",optionsDialog:{instance:null}},AddWord:{instance:null,text:"Add word"},FinishChecking:{instance:null,text:"Finish Checking"}};a.LocalizationLabel={ChangeTo:{instance:null,text:"Change to"},Suggestions:{instance:null,text:"Suggestions"}};var u=function(b){for(var c in b)b[c].instance.getElement().setText(a.LocalizationComing[c])},v=function(b){for(var c in b){if(!b[c].instance.setLabel)break;b[c].instance.setLabel(a.LocalizationComing[c])}},
10
+ j,n;a.framesetHtml=function(b){return'<iframe src="'+a.templatePath+'" id='+a.iframeNumber+"_"+b+' frameborder="0" allowtransparency="1" style="width:100%;border: 1px solid #AEB3B9;overflow: auto;background:#fff; border-radius: 3px;"></iframe>'};a.setIframe=function(b,c){var d=a.framesetHtml(c);return b.getElement().setHtml(d)};a.setCurrentIframe=function(b){a.setIframe(a.dialog._.contents[b].Content,b)};a.setHeightBannerFrame=function(){var b=a.dialog.getContentElement("SpellTab","banner").getElement(),
11
+ c=a.dialog.getContentElement("GrammTab","banner").getElement(),d=a.dialog.getContentElement("Thesaurus","banner").getElement();b.setStyle("height","90px");c.setStyle("height","90px");d.setStyle("height","90px")};a.setHeightFrame=function(){document.getElementById(a.iframeNumber+"_"+a.dialog._.currentTabId).style.height="240px"};a.sendData=function(b){var c=b._.currentTabId,d=b._.contents[c].Content,f,g;a.setIframe(d,c);b.parts.tabs.removeAllListeners();b.parts.tabs.on("click",function(e){e=e||window.event;
12
+ e.data.getTarget().is("a")&&c!=b._.currentTabId&&(c=b._.currentTabId,d=b._.contents[c].Content,f=a.iframeNumber+"_"+c,a.div_overlay.setEnable(),d.getElement().getChildCount()?q(a.targetFromFrame[f],a.cmd[c]):(a.setIframe(d,c),g=document.getElementById(f),a.targetFromFrame[f]=g.contentWindow))})};a.buildSelectLang=function(a){var c=new CKEDITOR.dom.element("div"),d=new CKEDITOR.dom.element("select"),a="wscLang"+a;c.addClass("cke_dialog_ui_input_select");c.setAttribute("role","presentation");c.setStyles({height:"auto",
13
+ position:"absolute",right:"0",top:"-1px",width:"160px","white-space":"normal"});d.setAttribute("id",a);d.addClass("cke_dialog_ui_input_select");d.setStyles({width:"160px"});c.append(d);return c};a.buildOptionLang=function(b,c){var d=document.getElementById("wscLang"+c),f=document.createDocumentFragment(),g,e,i=[];if(0===d.options.length){for(g in b)i.push([g,b[g]]);i.sort();for(var k=0;k<i.length;k++)g=document.createElement("option"),g.setAttribute("value",i[k][1]),e=document.createTextNode(i[k][0]),
14
+ g.appendChild(e),i[k][1]==a.selectingLang&&g.setAttribute("selected","selected"),f.appendChild(g);d.appendChild(f)}};a.buildOptionSynonyms=function(b){b=a.selectNodeResponce[b];a.selectNode.synonyms.clear();for(var c=0;c<b.length;c++)a.selectNode.synonyms.add(b[c],b[c]);a.selectNode.synonyms.getInputElement().$.firstChild.selected=!0;a.textNode.Thesaurus.setValue(a.selectNode.synonyms.getInputElement().getValue())};var o=function(a){var c=document,d=a.target||c.body,f=a.id||"overlayBlock",g=a.opacity||
15
+ "0.9",a=a.background||"#f1f1f1",e=c.getElementById(f),i=e||c.createElement("div");i.style.cssText="position: absolute;top:30px;bottom:41px;left:1px;right:1px;z-index: 10020;padding:0;margin:0;background:"+a+";opacity: "+g+";filter: alpha(opacity="+100*g+");display: none;";i.id=f;e||d.appendChild(i);return{setDisable:function(){i.style.display="none"},setEnable:function(){i.style.display="block"}}},w=function(b,c,d){var f=new CKEDITOR.dom.element("div"),e=new CKEDITOR.dom.element("input"),h=new CKEDITOR.dom.element("label"),
16
+ i="wscGrammerSuggest"+b+"_"+c;f.addClass("cke_dialog_ui_input_radio");f.setAttribute("role","presentation");f.setStyles({width:"97%",padding:"5px","white-space":"normal"});e.setAttributes({type:"radio",value:c,name:"wscGrammerSuggest",id:i});e.setStyles({"float":"left"});e.on("click",function(b){a.textNode.GrammTab.setValue(b.sender.getValue())});d&&e.setAttribute("checked",!0);e.addClass("cke_dialog_ui_radio_input");h.appendText(b);h.setAttribute("for",i);h.setStyles({display:"block","line-height":"16px",
17
+ "margin-left":"18px","white-space":"normal"});f.append(e);f.append(h);return f},r=function(b){b=b||"true";null!==b&&"false"==b&&a.dialog.hidePage("GrammTab")},m=function(b){var c=new t(b),b="wscLang"+a.dialog.getParentEditor().name,b=document.getElementById(b),d=a.iframeNumber+"_"+a.dialog._.currentTabId;a.buildOptionLang(c.setLangList,a.dialog.getParentEditor().name);s[c.getCurrentLangGroup(a.selectingLang)]();r(a.show_grammar);b.onchange=function(){s[c.getCurrentLangGroup(this.value)]();r(a.show_grammar);
18
+ a.div_overlay.setEnable();a.selectingLang=this.value;e.postMessage.send({message:{changeLang:a.selectingLang,text:a.dataTemp},target:a.targetFromFrame[d],id:"selectionLang_outer__page"})}},x=function(b){if("no_any_suggestions"==b){b="No suggestions";a.LocalizationButton.ChangeTo.instance.disable();a.LocalizationButton.ChangeAll.instance.disable();var c=function(b){b=a.LocalizationButton[b].instance;b.getElement().hasClass("cke_disabled")?b.getElement().setStyle("color","#a0a0a0"):b.disable()};c("ChangeTo");
19
+ c("ChangeAll")}else a.LocalizationButton.ChangeTo.instance.enable(),a.LocalizationButton.ChangeAll.instance.enable(),a.LocalizationButton.ChangeTo.instance.getElement().setStyle("color","#333"),a.LocalizationButton.ChangeAll.instance.getElement().setStyle("color","#333");return b},y={iframeOnload:function(){a.div_overlay.setEnable();var b=a.dialog._.currentTabId;q(a.targetFromFrame[a.iframeNumber+"_"+b],a.cmd[b])},suggestlist:function(b){delete b.id;a.div_overlay_no_check.setDisable();p();m(a.langList);
20
+ var c=x(b.word),d="";c instanceof Array&&(c=b.word[0]);d=c=c.split(",");n.clear();a.textNode.SpellTab.setValue(d[0]);for(b=0;b<d.length;b++)n.add(d[b],d[b]);l();a.div_overlay.setDisable()},grammerSuggest:function(b){delete b.id;delete b.mocklangs;p();m(a.langList);var c=b.grammSuggest[0];a.grammerSuggest.getElement().setHtml("");a.textNode.GrammTab.reset();a.textNode.GrammTab.setValue(c);a.textNodeInfo.GrammTab.getElement().setHtml("");a.textNodeInfo.GrammTab.getElement().setText(b.info);for(var b=
21
+ b.grammSuggest,c=b.length,d=!0,f=0;f<c;f++)a.grammerSuggest.getElement().append(w(b[f],b[f],d)),d=!1;l();a.div_overlay.setDisable()},thesaurusSuggest:function(b){delete b.id;delete b.mocklangs;p();m(a.langList);a.selectNodeResponce=b;a.textNode.Thesaurus.reset();a.selectNode.categories.clear();for(var c in b)a.selectNode.categories.add(c,c);b=a.selectNode.categories.getInputElement().getChildren().$[0].value;a.selectNode.categories.getInputElement().getChildren().$[0].selected=!0;a.buildOptionSynonyms(b);
22
+ l();a.div_overlay.setDisable()},finish:function(b){delete b.id;a.dialog.getContentElement(a.dialog._.currentTabId,"bottomGroup").getElement().hide();a.dialog.getContentElement(a.dialog._.currentTabId,"BlockFinishChecking").getElement().show();a.div_overlay.setDisable()},settext:function(b){delete b.id;a.dialog.getParentEditor().focus();a.dialog.getParentEditor().setData(b.text,a.dataTemp="");a.dialog.hide()},ReplaceText:function(b){delete b.id;a.div_overlay.setEnable();a.dataTemp=b.text;a.selectingLang=
23
+ b.currentLang;window.setTimeout(function(){a.div_overlay.setDisable()},500);u(a.LocalizationButton);v(a.LocalizationLabel)},options_checkbox_send:function(b){delete b.id;b={osp:e.cookie.get("osp"),udn:e.cookie.get("udn"),cust_dic_ids:a.cust_dic_ids};e.postMessage.send({message:b,target:a.targetFromFrame[a.iframeNumber+"_"+a.dialog._.currentTabId],id:"options_outer__page"})},getOptions:function(b){var c=b.DefOptions.udn;a.LocalizationComing=b.DefOptions.localizationButtonsAndText;a.show_grammar=b.show_grammar;
24
+ a.langList=b.lang;if(a.bnr=b.bannerId){a.setHeightBannerFrame();var d=b.banner;a.dialog.getContentElement(a.dialog._.currentTabId,"banner").getElement().setHtml(d)}else a.setHeightFrame();"undefined"==c&&(a.userDictionaryName?(c=a.userDictionaryName,d={osp:e.cookie.get("osp"),udn:a.userDictionaryName,cust_dic_ids:a.cust_dic_ids,id:"options_dic_send",udnCmd:"create"},e.postMessage.send({message:d,target:a.targetFromFrame[void 0]})):c="");e.cookie.set("osp",b.DefOptions.osp);e.cookie.set("udn",c);e.cookie.set("cust_dic_ids",
25
+ b.DefOptions.cust_dic_ids);e.postMessage.send({id:"giveOptions"})},options_dic_send:function(){var b={osp:e.cookie.get("osp"),udn:e.cookie.get("udn"),cust_dic_ids:a.cust_dic_ids,id:"options_dic_send",udnCmd:e.cookie.get("udnCmd")};e.postMessage.send({message:b,target:a.targetFromFrame[a.iframeNumber+"_"+a.dialog._.currentTabId]})},data:function(a){delete a.id},giveOptions:function(){},setOptionsConfirmF:function(){},setOptionsConfirmT:function(){j.setValue("")},clickBusy:function(){a.div_overlay.setEnable()},
26
+ suggestAllCame:function(){a.div_overlay.setDisable();a.div_overlay_no_check.setDisable()},TextCorrect:function(){m(a.langList)}},z=function(a){a=a||window.event;a=window.JSON.parse(a.data);y[a.id](a)},q=function(b,c,d,f){c=c||CKEDITOR.config.wsc_cmd;d=d||a.dataTemp;e.postMessage.send({message:{customerId:a.wsc_customerId,text:d,txt_ctrl:a.TextAreaNumber,cmd:c,cust_dic_ids:a.cust_dic_ids,udn:a.userDictionaryName,slang:a.selectingLang,reset_suggest:f||!1},target:b,id:"data_outer__page"});a.div_overlay.setEnable()},
27
+ s={superset:function(){a.dialog.showPage("Thesaurus");a.dialog.showPage("GrammTab");a.dialog.showPage("SpellTab")},usual:function(){a.dialog.hidePage("Thesaurus");a.dialog.hidePage("GrammTab");a.dialog.showPage("SpellTab")}},A=function(b){var c=new function(a){var b={};return{getCmdByTab:function(c){for(var e in a)b[a[e]]=e;return b[c]}}}(a.cmd);b.selectPage(c.getCmdByTab(CKEDITOR.config.wsc_cmd));a.sendData(b)},l=function(){a.dialog.getContentElement(a.dialog._.currentTabId,"bottomGroup").getElement().show()},
28
+ p=function(){a.dialog.getContentElement(a.dialog._.currentTabId,"BlockFinishChecking").getElement().hide()};CKEDITOR.dialog.add("checkspell",function(b){var c=function(){a.div_overlay.setEnable();var c=a.dialog._.currentTabId,f=a.iframeNumber+"_"+c,g=a.textNode[c].getValue();e.postMessage.send({message:{cmd:this.getElement().getAttribute("title-cmd"),tabId:c,new_word:g},target:a.targetFromFrame[f],id:"cmd_outer__page"});"FinishChecking"==this.getElement().getAttribute("title-cmd")&&b.config.wsc_onFinish.call(CKEDITOR.document.getWindow().getFrame())};
29
+ return{title:b.config.wsc_dialogTitle||b.lang.wsc.title,minWidth:560,minHeight:444,buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){a.dialog=this;a.TextAreaNumber="cke_textarea_"+CKEDITOR.currentInstance.name;e.postMessage.init(z);a.dataTemp=CKEDITOR.currentInstance.getData();a.OverlayPlace=a.dialog.parts.tabs.getParent().$;if(CKEDITOR&&CKEDITOR.config){a.wsc_customerId=b.config.wsc_customerId;a.cust_dic_ids=b.config.wsc_customDictionaryIds;a.userDictionaryName=b.config.wsc_userDictionaryName;
30
+ a.defaultLanguage=CKEDITOR.config.defaultLanguage;var c="file:"==document.location.protocol?"http:":document.location.protocol;CKEDITOR.scriptLoader.load(b.config.wsc_customLoaderScript||c+"//loader.webspellchecker.net/sproxy_fck/sproxy.php?plugin=fck2&customerid="+a.wsc_customerId+"&cmd=script&doc=wsc&schema=22",function(c){CKEDITOR.config&&CKEDITOR.config.wsc&&CKEDITOR.config.wsc.DefaultParams?(a.serverLocationHash=CKEDITOR.config.wsc.DefaultParams.serviceHost,a.logotype=CKEDITOR.config.wsc.DefaultParams.logoPath,
31
+ a.loadIcon=CKEDITOR.config.wsc.DefaultParams.iconPath,a.loadIconEmptyEditor=CKEDITOR.config.wsc.DefaultParams.iconPathEmptyEditor,a.LangComparer=new CKEDITOR.config.wsc.DefaultParams._SP_FCK_LangCompare):(a.serverLocationHash=DefaultParams.serviceHost,a.logotype=DefaultParams.logoPath,a.loadIcon=DefaultParams.iconPath,a.loadIconEmptyEditor=DefaultParams.iconPathEmptyEditor,a.LangComparer=new _SP_FCK_LangCompare);a.pluginPath=CKEDITOR.getUrl(b.plugins.wsc.path);a.iframeNumber=a.TextAreaNumber;a.templatePath=
32
+ a.pluginPath+"dialogs/tmp.html";a.LangComparer.setDefaulLangCode(a.defaultLanguage);a.currentLang=b.config.wsc_lang||a.LangComparer.getSPLangCode(b.langCode);a.selectingLang=a.currentLang;a.div_overlay=new o({opacity:"1",background:"#fff url("+a.loadIcon+") no-repeat 50% 50%",target:a.OverlayPlace});var d=a.dialog.parts.tabs.getId(),d=CKEDITOR.document.getById(d);d.setStyle("width","97%");d.getElementsByTag("DIV").count()||d.append(a.buildSelectLang(a.dialog.getParentEditor().name));a.div_overlay_no_check=
33
+ new o({opacity:"1",id:"no_check_over",background:"#fff url("+a.loadIconEmptyEditor+") no-repeat 50% 50%",target:a.OverlayPlace});c&&(A(a.dialog),a.dialog.setupContent(a.dialog))})}else a.dialog.hide()},onHide:function(){a.dataTemp=""},contents:[{id:"SpellTab",label:"SpellChecker",accessKey:"S",elements:[{type:"html",id:"banner",label:"banner",style:"",html:"<div></div>"},{type:"html",id:"Content",label:"spellContent",html:"",setup:function(b){var b=a.iframeNumber+"_"+b._.currentTabId,c=document.getElementById(b);
34
+ a.targetFromFrame[b]=c.contentWindow}},{type:"hbox",id:"bottomGroup",style:"width:560px; margin: 0 auto;",widths:["50%","50%"],children:[{type:"hbox",id:"leftCol",align:"left",width:"50%",children:[{type:"vbox",id:"rightCol1",widths:["50%","50%"],children:[{type:"text",id:"text",label:a.LocalizationLabel.ChangeTo.text+":",labelLayout:"horizontal",labelStyle:"font: 12px/25px arial, sans-serif;",width:"140px","default":"",onShow:function(){a.textNode.SpellTab=this;a.LocalizationLabel.ChangeTo.instance=
35
+ this},onHide:function(){this.reset()}},{type:"hbox",id:"rightCol",align:"right",width:"30%",children:[{type:"vbox",id:"rightCol_col__left",children:[{type:"text",id:"labelSuggestions",label:a.LocalizationLabel.Suggestions.text+":",onShow:function(){a.LocalizationLabel.Suggestions.instance=this;this.getInputElement().hide()}},{type:"html",id:"logo",html:'<img width="99" height="68" border="0" src="" title="WebSpellChecker.net" alt="WebSpellChecker.net" style="display: inline-block;">',setup:function(){this.getElement().$.src=
36
+ a.logotype;this.getElement().getParent().setStyles({"text-align":"left"})}}]},{type:"select",id:"list_of_suggestions",labelStyle:"font: 12px/25px arial, sans-serif;",size:"6",inputStyle:"width: 140px; height: auto;",items:[["loading..."]],onShow:function(){n=this},onHide:function(){this.clear()},onChange:function(){a.textNode.SpellTab.setValue(this.getValue())}}]}]}]},{type:"hbox",id:"rightCol",align:"right",width:"50%",children:[{type:"vbox",id:"rightCol_col__left",widths:["50%","50%","50%","50%"],
37
+ children:[{type:"button",id:"ChangeTo",label:a.LocalizationButton.ChangeTo.text,title:"Change to",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.ChangeTo.instance=this},onClick:c},{type:"button",id:"ChangeAll",label:a.LocalizationButton.ChangeAll.text,title:"Change All",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.ChangeAll.instance=this},onClick:c},{type:"button",id:"AddWord",
38
+ label:a.LocalizationButton.AddWord.text,title:"Add word",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.AddWord.instance=this},onClick:c},{type:"button",id:"FinishChecking",label:a.LocalizationButton.FinishChecking.text,title:"Finish Checking",style:"width: 100%;margin-top: 9px;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.FinishChecking.instance=this},onClick:c}]},{type:"vbox",id:"rightCol_col__right",
39
+ widths:["50%","50%","50%"],children:[{type:"button",id:"IgnoreWord",label:a.LocalizationButton.IgnoreWord.text,title:"Ignore word",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.IgnoreWord.instance=this},onClick:c},{type:"button",id:"IgnoreAllWords",label:a.LocalizationButton.IgnoreAllWords.text,title:"Ignore all words",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.IgnoreAllWords.instance=
40
+ this},onClick:c},{type:"button",id:"option",label:a.LocalizationButton.Options.text,title:"Option",style:"width: 100%;",onLoad:function(){a.LocalizationButton.Options.instance=this;"file:"==document.location.protocol&&this.disable()},onClick:function(){"file:"==document.location.protocol?alert("WSC: Options functionality is disabled when runing from file system"):b.openDialog("options")}}]}]}]},{type:"hbox",id:"BlockFinishChecking",style:"width:560px; margin: 0 auto;",widths:["70%","30%"],onShow:function(){this.getElement().hide()},
41
+ onHide:l,children:[{type:"hbox",id:"leftCol",align:"left",width:"70%",children:[{type:"vbox",id:"rightCol1",setup:function(){this.getChild()[0].getElement().$.src=a.logotype;this.getChild()[0].getElement().getParent().setStyles({"text-align":"center"})},children:[{type:"html",id:"logo",html:'<img width="99" height="68" border="0" src="" title="WebSpellChecker.net" alt="WebSpellChecker.net" style="display: inline-block;">'}]}]},{type:"hbox",id:"rightCol",align:"right",width:"30%",children:[{type:"vbox",
42
+ id:"rightCol_col__left",children:[{type:"button",id:"Option_button",label:a.LocalizationButton.Options.text,title:"Option",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);"file:"==document.location.protocol&&this.disable()},onClick:function(){"file:"==document.location.protocol?alert("WSC: Options functionality is disabled when runing from file system"):b.openDialog("options")}},{type:"button",id:"FinishChecking",label:a.LocalizationButton.FinishChecking.text,
43
+ title:"Finish Checking",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onClick:c}]}]}]}]},{id:"GrammTab",label:"Grammar",accessKey:"G",elements:[{type:"html",id:"banner",label:"banner",style:"",html:"<div></div>"},{type:"html",id:"Content",label:"GrammarContent",html:"",setup:function(){var b=a.iframeNumber+"_"+a.dialog._.currentTabId,c=document.getElementById(b);a.targetFromFrame[b]=c.contentWindow}},{type:"vbox",id:"bottomGroup",style:"width:560px; margin: 0 auto;",
44
+ children:[{type:"hbox",id:"leftCol",widths:["66%","34%"],children:[{type:"vbox",children:[{type:"text",id:"text",label:"Change to:",labelLayout:"horizontal",labelStyle:"font: 12px/25px arial, sans-serif;",inputStyle:"float: right; width: 200px;","default":"",onShow:function(){a.textNode.GrammTab=this},onHide:function(){this.reset()}},{type:"html",id:"html_text",html:"<div style='min-height: 17px; line-height: 17px; padding: 5px; text-align: left;background: #F1F1F1;color: #595959; white-space: normal!important;'></div>",
45
+ onShow:function(){a.textNodeInfo.GrammTab=this}},{type:"html",id:"radio",html:"",onShow:function(){a.grammerSuggest=this}}]},{type:"vbox",children:[{type:"button",id:"ChangeTo",label:"Change to",title:"Change to",style:"width: 133px; float: right;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onClick:c},{type:"button",id:"IgnoreWord",label:"Ignore word",title:"Ignore word",style:"width: 133px; float: right;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},
46
+ onClick:c},{type:"button",id:"IgnoreAllWords",label:"Ignore Problem",title:"Ignore Problem",style:"width: 133px; float: right;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onClick:c},{type:"button",id:"FinishChecking",label:"Finish Checking",title:"Finish Checking",style:"width: 133px; float: right; margin-top: 9px;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onClick:c}]}]}]},{type:"hbox",id:"BlockFinishChecking",style:"width:560px; margin: 0 auto;",
47
+ widths:["70%","30%"],onShow:function(){this.getElement().hide()},onHide:l,children:[{type:"hbox",id:"leftCol",align:"left",width:"70%",children:[{type:"vbox",id:"rightCol1",children:[{type:"html",id:"logo",html:'<img width="99" height="68" border="0" src="" title="WebSpellChecker.net" alt="WebSpellChecker.net" style="display: inline-block;">',setup:function(){this.getElement().$.src=a.logotype;this.getElement().getParent().setStyles({"text-align":"center"})}}]}]},{type:"hbox",id:"rightCol",align:"right",
48
+ width:"30%",children:[{type:"vbox",id:"rightCol_col__left",children:[{type:"button",id:"FinishChecking",label:"Finish Checking",title:"Finish Checking",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onClick:c}]}]}]}]},{id:"Thesaurus",label:"Thesaurus",accessKey:"T",elements:[{type:"html",id:"banner",label:"banner",style:"",html:"<div></div>"},{type:"html",id:"Content",label:"spellContent",html:"",setup:function(){var b=a.iframeNumber+"_"+a.dialog._.currentTabId,
49
+ c=document.getElementById(b);a.targetFromFrame[b]=c.contentWindow}},{type:"vbox",id:"bottomGroup",style:"width:560px; margin: -10px auto; overflow: hidden;",children:[{type:"hbox",widths:["75%","25%"],children:[{type:"vbox",children:[{type:"hbox",widths:["65%","35%"],children:[{type:"text",id:"ChangeTo",label:"Change to:",labelLayout:"horizontal",inputStyle:"width: 160px;",labelStyle:"font: 12px/25px arial, sans-serif;","default":"",onShow:function(){a.textNode.Thesaurus=this},onHide:function(){this.reset()}},
50
+ {type:"button",id:"ChangeTo",label:"Change to",title:"Change to",style:"width: 121px; margin-top: 1px;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onClick:c}]},{type:"hbox",children:[{type:"select",id:"categories",label:"Categories:",labelStyle:"font: 12px/25px arial, sans-serif;",size:"5",inputStyle:"width: 180px; height: auto;",items:[],onShow:function(){a.selectNode.categories=this},onHide:function(){this.clear()},onChange:function(){a.buildOptionSynonyms(this.getValue())}},
51
+ {type:"select",id:"synonyms",label:"Synonyms:",labelStyle:"font: 12px/25px arial, sans-serif;",size:"5",inputStyle:"width: 180px; height: auto;",items:[],onShow:function(){a.selectNode.synonyms=this;a.textNode.Thesaurus.setValue(this.getValue())},onHide:function(){this.clear()},onChange:function(){a.textNode.Thesaurus.setValue(this.getValue())}}]}]},{type:"vbox",width:"120px",style:"margin-top:46px;",children:[{type:"html",id:"logotype",label:"WebSpellChecker.net",html:'<img width="99" height="68" border="0" src="" title="WebSpellChecker.net" alt="WebSpellChecker.net" style="display: inline-block;">',
52
+ setup:function(){this.getElement().$.src=a.logotype;this.getElement().getParent().setStyles({"text-align":"center"})}},{type:"button",id:"FinishChecking",label:"Finish Checking",title:"Finish Checking",style:"width: 121px; float: right; margin-top: 9px;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onClick:c}]}]}]},{type:"hbox",id:"BlockFinishChecking",style:"width:560px; margin: 0 auto;",widths:["70%","30%"],onShow:function(){this.getElement().hide()},children:[{type:"hbox",
53
+ id:"leftCol",align:"left",width:"70%",children:[{type:"vbox",id:"rightCol1",children:[{type:"html",id:"logo",html:'<img width="99" height="68" border="0" src="" title="WebSpellChecker.net" alt="WebSpellChecker.net" style="display: inline-block;">',setup:function(){this.getElement().$.src=a.logotype;this.getElement().getParent().setStyles({"text-align":"center"})}}]}]},{type:"hbox",id:"rightCol",align:"right",width:"30%",children:[{type:"vbox",id:"rightCol_col__left",children:[{type:"button",id:"FinishChecking",
54
+ label:"Finish Checking",title:"Finish Checking",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onClick:c}]}]}]}]}]}});CKEDITOR.dialog.add("options",function(){var b=null,c={},d={},f=null,g=null;e.cookie.get("udn");e.cookie.get("osp");var h=function(){g=this.getElement().getAttribute("title-cmd");var a=[];a[0]=d.IgnoreAllCapsWords;a[1]=d.IgnoreWordsNumbers;a[2]=d.IgnoreMixedCaseWords;a[3]=d.IgnoreDomainNames;a=a.toString().replace(/,/g,"");e.cookie.set("osp",
55
+ a);e.cookie.set("udnCmd",g?g:"ignore");"delete"!=g&&(a="",""!==j.getValue()&&(a=j.getValue()),e.cookie.set("udn",a));e.postMessage.send({id:"options_dic_send"})},i=function(){f.getElement().setHtml(a.LocalizationComing.error);f.getElement().show()};return{title:a.LocalizationComing.Options,minWidth:430,minHeight:130,resizable:CKEDITOR.DIALOG_RESIZE_NONE,contents:[{id:"OptionsTab",label:"Options",accessKey:"O",elements:[{type:"hbox",id:"options_error",children:[{type:"html",style:"display: block;text-align: center;white-space: normal!important; font-size: 12px;color:red",
56
+ html:"<div></div>",onShow:function(){f=this}}]},{type:"vbox",id:"Options_content",children:[{type:"hbox",id:"Options_manager",widths:["52%","48%"],children:[{type:"fieldset",label:"Spell Checking Options",style:"border: none;margin-top: 13px;padding: 10px 0 10px 10px",onShow:function(){this.getInputElement().$.children[0].innerHTML=a.LocalizationComing.SpellCheckingOptions},children:[{type:"vbox",id:"Options_checkbox",children:[{type:"checkbox",id:"IgnoreAllCapsWords",label:"Ignore All-Caps Words",
57
+ labelStyle:"margin-left: 5px; font: 12px/16px arial, sans-serif;display: inline-block;white-space: normal;",style:"float:left; min-height: 16px;","default":"",onClick:function(){d[this.id]=!this.getValue()?0:1}},{type:"checkbox",id:"IgnoreWordsNumbers",label:"Ignore Words with Numbers",labelStyle:"margin-left: 5px; font: 12px/16px arial, sans-serif;display: inline-block;white-space: normal;",style:"float:left; min-height: 16px;","default":"",onClick:function(){d[this.id]=!this.getValue()?0:1}},{type:"checkbox",
58
+ id:"IgnoreMixedCaseWords",label:"Ignore Mixed-Case Words",labelStyle:"margin-left: 5px; font: 12px/16px arial, sans-serif;display: inline-block;white-space: normal;",style:"float:left; min-height: 16px;","default":"",onClick:function(){d[this.id]=!this.getValue()?0:1}},{type:"checkbox",id:"IgnoreDomainNames",label:"Ignore Domain Names",labelStyle:"margin-left: 5px; font: 12px/16px arial, sans-serif;display: inline-block;white-space: normal;",style:"float:left; min-height: 16px;","default":"",onClick:function(){d[this.id]=
59
+ !this.getValue()?0:1}}]}]},{type:"vbox",id:"Options_DictionaryName",children:[{type:"text",id:"DictionaryName",style:"margin-bottom: 10px",label:"Dictionary Name:",labelLayout:"vertical",labelStyle:"font: 12px/25px arial, sans-serif;","default":"",onLoad:function(){j=this;this.setValue(a.userDictionaryName?a.userDictionaryName:(e.cookie.get("udn"),this.getValue()))},onShow:function(){j=this;this.setValue(!e.cookie.get("udn")?this.getValue():e.cookie.get("udn"));this.setLabel(a.LocalizationComing.DictionaryName)},
60
+ onHide:function(){this.reset()}},{type:"hbox",id:"Options_buttons",children:[{type:"vbox",id:"Options_leftCol_col",widths:["50%","50%"],children:[{type:"button",id:"create",label:"Create",title:"Create",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onShow:function(){this.getElement().setText(a.LocalizationComing.Create)},onClick:h},{type:"button",id:"restore",label:"Restore",title:"Restore",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",
61
+ this.id)},onShow:function(){this.getElement().setText(a.LocalizationComing.Restore)},onClick:h}]},{type:"vbox",id:"Options_rightCol_col",widths:["50%","50%"],children:[{type:"button",id:"rename",label:"Rename",title:"Rename",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onShow:function(){this.getElement().setText(a.LocalizationComing.Rename)},onClick:h},{type:"button",id:"delete",label:"Remove",title:"Remove",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",
62
+ this.id)},onShow:function(){this.getElement().setText(a.LocalizationComing.Remove)},onClick:h}]}]}]}]},{type:"hbox",id:"Options_text",children:[{type:"html",style:"text-align: justify;margin-top: 15px;white-space: normal!important; font-size: 12px;color:#777;",html:"<div>"+a.LocalizationComing.OptionsTextIntro+"</div>",onShow:function(){this.getElement().setText(a.LocalizationComing.OptionsTextIntro)}}]}]}]}],buttons:[CKEDITOR.dialog.okButton,CKEDITOR.dialog.cancelButton],onOk:function(){var a=[];
63
+ a[0]=d.IgnoreAllCapsWords;a[1]=d.IgnoreWordsNumbers;a[2]=d.IgnoreMixedCaseWords;a[3]=d.IgnoreDomainNames;a=a.toString().replace(/,/g,"");e.cookie.set("osp",a);e.cookie.set("udn",j.getValue());e.postMessage.send({id:"options_checkbox_send"});f.getElement().hide();f.getElement().setHtml(" ")},onLoad:function(){b=this;e.postMessage.init(i);c.IgnoreAllCapsWords=b.getContentElement("OptionsTab","IgnoreAllCapsWords");c.IgnoreWordsNumbers=b.getContentElement("OptionsTab","IgnoreWordsNumbers");c.IgnoreMixedCaseWords=
64
+ b.getContentElement("OptionsTab","IgnoreMixedCaseWords");c.IgnoreDomainNames=b.getContentElement("OptionsTab","IgnoreDomainNames")},onShow:function(){var b=e.cookie.get("osp").split("");d.IgnoreAllCapsWords=b[0];d.IgnoreWordsNumbers=b[1];d.IgnoreMixedCaseWords=b[2];d.IgnoreDomainNames=b[3];!parseInt(d.IgnoreAllCapsWords,10)?c.IgnoreAllCapsWords.setValue("",!1):c.IgnoreAllCapsWords.setValue("checked",!1);!parseInt(d.IgnoreWordsNumbers,10)?c.IgnoreWordsNumbers.setValue("",!1):c.IgnoreWordsNumbers.setValue("checked",
65
+ !1);!parseInt(d.IgnoreMixedCaseWords,10)?c.IgnoreMixedCaseWords.setValue("",!1):c.IgnoreMixedCaseWords.setValue("checked",!1);!parseInt(d.IgnoreDomainNames,10)?c.IgnoreDomainNames.setValue("",!1):c.IgnoreDomainNames.setValue("checked",!1);d.IgnoreAllCapsWords=!c.IgnoreAllCapsWords.getValue()?0:1;d.IgnoreWordsNumbers=!c.IgnoreWordsNumbers.getValue()?0:1;d.IgnoreMixedCaseWords=!c.IgnoreMixedCaseWords.getValue()?0:1;d.IgnoreDomainNames=!c.IgnoreDomainNames.getValue()?0:1;c.IgnoreAllCapsWords.getElement().$.lastChild.innerHTML=
66
+ a.LocalizationComing.IgnoreAllCapsWords;c.IgnoreWordsNumbers.getElement().$.lastChild.innerHTML=a.LocalizationComing.IgnoreWordsWithNumbers;c.IgnoreMixedCaseWords.getElement().$.lastChild.innerHTML=a.LocalizationComing.IgnoreMixedCaseWords;c.IgnoreDomainNames.getElement().$.lastChild.innerHTML=a.LocalizationComing.IgnoreDomainNames}}});CKEDITOR.dialog.on("resize",function(b){var b=b.data,c=b.dialog,d=CKEDITOR.document.getById(a.iframeNumber+"_"+c._.currentTabId);"checkspell"==c._.name&&(a.bnr?d&&
67
+ d.setSize("height",b.height-310):d&&d.setSize("height",b.height-220))});CKEDITOR.on("dialogDefinition",function(b){var c=b.data.definition;a.onLoadOverlay=new o({opacity:"1",background:"#fff",target:c.dialog.parts.tabs.getParent().$});a.onLoadOverlay.setEnable();c.dialog.on("show",function(){});c.dialog.on("cancel",function(){c.dialog.getParentEditor().config.wsc_onClose.call(this.document.getWindow().getFrame());a.div_overlay.setDisable();return!1},this,null,-1)})})();
@@ -0,0 +1,11 @@
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
+ CKEDITOR.dialog.add("checkspell",function(a){function c(a,c){var d=0;return function(){"function"==typeof window.doSpell?("undefined"!=typeof e&&window.clearInterval(e),j(a)):180==d++&&window._cancelOnError(c)}}function j(c){var f=new window._SP_FCK_LangCompare,b=CKEDITOR.getUrl(a.plugins.wsc.path+"dialogs/"),e=b+"tmpFrameset.html";window.gFCKPluginName="wsc";f.setDefaulLangCode(a.config.defaultLanguage);window.doSpell({ctrl:g,lang:a.config.wsc_lang||f.getSPLangCode(a.langCode),intLang:a.config.wsc_uiLang||
6
+ f.getSPLangCode(a.langCode),winType:d,onCancel:function(){c.hide()},onFinish:function(b){a.focus();c.getParentEditor().setData(b.value);c.hide()},staticFrame:e,framesetPath:e,iframePath:b+"ciframe.html",schemaURI:b+"wsc.css",userDictionaryName:a.config.wsc_userDictionaryName,customDictionaryName:a.config.wsc_customDictionaryIds&&a.config.wsc_customDictionaryIds.split(","),domainName:a.config.wsc_domainName});CKEDITOR.document.getById(h).setStyle("display","none");CKEDITOR.document.getById(d).setStyle("display",
7
+ "block")}var b=CKEDITOR.tools.getNextNumber(),d="cke_frame_"+b,g="cke_data_"+b,h="cke_error_"+b,e,b=document.location.protocol||"http:",i=a.lang.wsc.notAvailable,k='<textarea style="display: none" id="'+g+'" rows="10" cols="40"> </textarea><div id="'+h+'" style="display:none;color:red;font-size:16px;font-weight:bold;padding-top:160px;text-align:center;z-index:11;"></div><iframe src="" style="width:100%;background-color:#f1f1e3;" frameborder="0" name="'+d+'" id="'+d+'" allowtransparency="1"></iframe>',
8
+ l=a.config.wsc_customLoaderScript||b+"//loader.webspellchecker.net/sproxy_fck/sproxy.php?plugin=fck2&customerid="+a.config.wsc_customerId+"&cmd=script&doc=wsc&schema=22";a.config.wsc_customLoaderScript&&(i+='<p style="color:#000;font-size:11px;font-weight: normal;text-align:center;padding-top:10px">'+a.lang.wsc.errorLoading.replace(/%s/g,a.config.wsc_customLoaderScript)+"</p>");window._cancelOnError=function(c){if("undefined"==typeof window.WSC_Error){CKEDITOR.document.getById(d).setStyle("display",
9
+ "none");var b=CKEDITOR.document.getById(h);b.setStyle("display","block");b.setHtml(c||a.lang.wsc.notAvailable)}};return{title:a.config.wsc_dialogTitle||a.lang.wsc.title,minWidth:485,minHeight:380,buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){var b=this.getContentElement("general","content").getElement();b.setHtml(k);b.getChild(2).setStyle("height",this._.contentSize.height+"px");"function"!=typeof window.doSpell&&CKEDITOR.document.getHead().append(CKEDITOR.document.createElement("script",
10
+ {attributes:{type:"text/javascript",src:l}}));b=a.getData();CKEDITOR.document.getById(g).setValue(b);e=window.setInterval(c(this,i),250)},onHide:function(){window.ooo=void 0;window.int_framsetLoaded=void 0;window.framesetLoaded=void 0;window.is_window_opened=!1},contents:[{id:"general",label:a.config.wsc_dialogTitle||a.lang.wsc.title,padding:0,elements:[{type:"html",id:"content",html:""}]}]}});
11
+ CKEDITOR.dialog.on("resize",function(a){var a=a.data,c=a.dialog;"checkspell"==c._.name&&((c=(c=c.getContentElement("general","content").getElement())&&c.getChild(2))&&c.setSize("height",a.height),c&&c.setSize("width",a.width))});
@@ -0,0 +1,21 @@
1
+ CKEDITOR.plugins.setLang('youtube', 'de', {
2
+ button : 'Youtube Video einbinden',
3
+ title : 'Youtube Video einbinden',
4
+ txtEmbed : 'Embed Code hier einfügen',
5
+ txtUrl : 'Youtube Video URL hier einfügen',
6
+ txtWidth : 'Breite',
7
+ txtHeight : 'Höhe',
8
+ chkRelated : 'Video Vorschläge am Video Ende einblenden',
9
+ txtStartAt : 'Start bei Position (ss oder mm:ss oder hh:mm:ss)',
10
+ chkPrivacy : 'Aktiviere die erweiterte Privatsphäre',
11
+ chkOlderCode : 'Benutzer alten Embed Code',
12
+ noCode : 'Sie müssen einen Embed Code oder URL angeben',
13
+ invalidEmbed : 'Der angegebene Embed Code scheint nicht gültig zu sein.',
14
+ invalidUrl : 'Die angegebene URL scheint nicht gültig zu sein.',
15
+ or : 'oder',
16
+ noWidth : 'Geben Sie eine Breite an',
17
+ invalidWidth : 'Geben Sie eine gültige Breite an',
18
+ noHeight : 'Geben Sie eine Höhe an',
19
+ invalidHeight : 'Geben Sie eine gültige Höhe an',
20
+ invalidTime : 'Geben Sie eine gültige Startzeit an'
21
+ });
@@ -0,0 +1,21 @@
1
+ CKEDITOR.plugins.setLang('youtube', 'en', {
2
+ button : 'Embed Youtube Video',
3
+ title : 'Embed Youtube Video',
4
+ txtEmbed : 'Paste Embed Code Here',
5
+ txtUrl : 'Paste Youtube Video URL',
6
+ txtWidth : 'Width',
7
+ txtHeight : 'Height',
8
+ chkRelated : 'Show suggested videos at the video\'s end',
9
+ txtStartAt : 'Start at (ss or mm:ss or hh:mm:ss)',
10
+ chkPrivacy : 'Enable privacy-enhanced mode',
11
+ chkOlderCode : 'Use old embed code',
12
+ noCode : 'You must input an embed code or URL',
13
+ invalidEmbed : 'The embed code you\'ve entered doesn\'t appear to be valid',
14
+ invalidUrl : 'The URL you\'ve entered doesn\'t appear to be valid',
15
+ or : 'or',
16
+ noWidth : 'You must inform the width',
17
+ invalidWidth : 'Inform a valid width',
18
+ noHeight : 'You must inform the height',
19
+ invalidHeight : 'Inform a valid height',
20
+ invalidTime : 'Inform a valid start time'
21
+ });
@@ -0,0 +1,21 @@
1
+ CKEDITOR.plugins.setLang('youtube', 'fr', {
2
+ button : 'Ins�rer une vid�o Youtube',
3
+ title : 'Ins�rer une vid�o youtube',
4
+ txtEmbed : 'Coller le code embed ici',
5
+ txtUrl : 'Coller l\'url de la vid�o ici',
6
+ txtWidth : 'Largeur',
7
+ txtHeight : 'Hauteur',
8
+ chkRelated : 'Montrer les suggestions de vid�o � la fin',
9
+ txtStartAt : 'Commencer � (ss ou mm:ss ou hh:mm:ss)',
10
+ chkPrivacy : 'Activer la protection de la vie priv�e',
11
+ chkOlderCode : 'Utiliser l\'ancien code embed',
12
+ noCode : 'Vous devez entrer un code embed ou une url',
13
+ invalidEmbed : 'Le code embed est invalide',
14
+ invalidUrl : 'L\'url est invalide',
15
+ or : 'ou',
16
+ noWidth : 'Vous devez saisir une largeur',
17
+ invalidWidth : 'La largeur saisie est invalide',
18
+ noHeight : 'Vous devez saisir une hauteur',
19
+ invalidHeight : 'La hauteur saisie est invalide',
20
+ invalidTime : 'Le temps de d�part de la vid�o est invalide'
21
+ });
@@ -0,0 +1,21 @@
1
+ CKEDITOR.plugins.setLang('youtube', 'hu', {
2
+ button : 'Youtube videó beillesztése',
3
+ title : 'Youtube videó beillesztése',
4
+ txtEmbed : 'Illessze be a beágyazott kódot',
5
+ txtUrl : 'Illessze be a Youtube videó URL-jét',
6
+ txtWidth : 'Szélesség',
7
+ txtHeight : 'Magasság',
8
+ txtStartAt : 'Kezdő időpont (ss vagy mm:ss vagy hh:mm:ss)',
9
+ chkRelated : 'Ajánlott videók megjelenítése, amikor a videó befejeződik',
10
+ chkPrivacy : 'Fokozott adatvédelmi mód engedélyezése',
11
+ chkOlderCode : 'Régi beágyazott kód használata',
12
+ noCode : 'A beágyazott kód, vagy az URL megadása kötelező',
13
+ invalidEmbed : 'A beágyazott kód érvénytelen',
14
+ invalidUrl : 'A megadott URL érvénytelen',
15
+ or : 'vagy',
16
+ noWidth : 'A szélesség megadása kötelező',
17
+ invalidWidth : 'Érvényes szélességet adjon meg',
18
+ noHeight : 'A magasság megadása kötelező',
19
+ invalidHeight : 'Érvényes magasságot adjon meg',
20
+ invalidTime : 'Érvényes kezdő időpontot adjon meg'
21
+ });
@@ -0,0 +1,21 @@
1
+ CKEDITOR.plugins.setLang('youtube', 'it', {
2
+ button : 'Incorpora video Youtube',
3
+ title : 'Incorpora video Youtube',
4
+ txtEmbed : 'Incolla qui il codice di incorporamento',
5
+ txtUrl : 'Incolla l\'URL del video Youtube',
6
+ txtWidth : 'Larghezza',
7
+ txtHeight : 'Altezza',
8
+ chkRelated : 'Mostra i video suggeriti dopo il video',
9
+ txtStartAt : 'Inizia a (ss o mm:ss o hh:mm:ss)',
10
+ chkPrivacy : 'Abilita la protezione della privacy',
11
+ chkOlderCode : 'Usa il vecchio codice di incorporamento',
12
+ noCode : 'Devi inserire un codice di incorporamento o un URL',
13
+ invalidEmbed : 'Il codice di incorporamento inserito non sembra valido',
14
+ invalidUrl : 'L\'URL inserito non sembra valido',
15
+ or : 'o',
16
+ noWidth : 'Devi indicare la larghezza',
17
+ invalidWidth : 'Indica una larghezza valida',
18
+ noHeight : 'Devi indicare l\'altezza',
19
+ invalidHeight : 'Indica un\'altezza valida',
20
+ invalidTime : 'Indica un tempo di inizio valido'
21
+ });
@@ -0,0 +1,21 @@
1
+ CKEDITOR.plugins.setLang('youtube', 'ja', {
2
+ button : 'Youtube動画埋め込み',
3
+ title : 'Youtube動画埋め込み',
4
+ txtEmbed : '埋め込みコードを貼り付けてください',
5
+ txtUrl : 'URLを貼り付けてください',
6
+ txtWidth : '幅',
7
+ txtHeight : '高さ',
8
+ chkRelated : '動画が終わったら関連動画を表示する',
9
+ txtStartAt : 'Start at',
10
+ chkPrivacy : 'プライバシー強化モードを有効にする',
11
+ chkOlderCode : '以前の埋め込みコードを使用する',
12
+ noCode : '埋め込みコードまたはURLを入力してください',
13
+ invalidEmbed : '不適切な埋め込みコードが入力されました',
14
+ invalidUrl : '不適切なURLが入力されました',
15
+ or : 'または',
16
+ noWidth : '幅を指定してください',
17
+ invalidWidth : '幅指定に誤りがあります',
18
+ noHeight : '高さを指定してください',
19
+ invalidHeight : '高さ指定に誤りがあります',
20
+ invalidTime : 'Inform a valid start time'
21
+ });
@@ -0,0 +1,21 @@
1
+ CKEDITOR.plugins.setLang('youtube', 'pt', {
2
+ button : 'Inserir Vídeo do Youtube',
3
+ title : 'Inserir Vídeo do Youtube',
4
+ txtEmbed : 'Cole aqui o código embed de um vídeo do Youtube',
5
+ txtUrl : 'Cole aqui uma URL de um vídeo do Youtube',
6
+ txtWidth : 'Largura',
7
+ txtHeight : 'Altura',
8
+ chkRelated : 'Mostrar vídeos sugeridos ao final do vídeo',
9
+ txtStartAt : 'Iniciar em (ss ou mm:ss ou hh:mm:ss)',
10
+ chkPrivacy : 'Ativar o modo de privacidade aprimorada',
11
+ chkOlderCode : 'Usar código de incorporação antigo',
12
+ noCode : 'Você precisa informar um código embed ou uma URL',
13
+ invalidEmbed : 'O código informado não parece ser válido',
14
+ invalidUrl : 'A URL informada não parece ser válida',
15
+ or : 'ou',
16
+ noWidth : 'Você deve informar a largura do vídeo',
17
+ invalidWidth : 'Informe uma largura válida',
18
+ noHeight : 'Você deve informar a altura do vídeo',
19
+ invalidHeight : 'Informe uma altura válida',
20
+ invalidTime : 'O tempo informado é inválido'
21
+ });
@@ -0,0 +1,21 @@
1
+ CKEDITOR.plugins.setLang('youtube', 'ru', {
2
+ button : 'Вставить YouTube видео',
3
+ title : 'Вставить YouTube видео',
4
+ txtEmbed : 'Вставьте HTML-код сюда',
5
+ txtUrl : 'Вставьте адрес видео (URL)',
6
+ txtWidth : 'Ширина',
7
+ txtHeight : 'Высота',
8
+ chkRelated : 'Показать похожие видео после завершения просмотра',
9
+ txtStartAt : 'Начать с (сс или мм:сс или чч:мм:сс)',
10
+ chkPrivacy : 'Включить режим повышенной конфиденциальности',
11
+ chkOlderCode : 'Использовать старый код вставки',
12
+ noCode : 'Вы должны ввести HTML-код или адрес',
13
+ invalidEmbed : 'Ваш HTML-код не похож на правильный',
14
+ invalidUrl : 'Ваш адрес видео не похож на правильный',
15
+ or : 'или',
16
+ noWidth : 'Вы должны указать ширину',
17
+ invalidWidth : 'Укажите правильную ширину',
18
+ noHeight : 'Вы должны указать высоту',
19
+ invalidHeight : 'Укажите правильную высоту',
20
+ invalidTime : 'Укажите правильное время начала'
21
+ });
@@ -0,0 +1,21 @@
1
+ CKEDITOR.plugins.setLang('youtube', 'tr', {
2
+ button : 'Youtube Video Gömün (Embed)',
3
+ title : 'Youtube Video',
4
+ txtEmbed : 'Youtube gömülü kodu (embed) buraya yapıştırınız',
5
+ txtUrl : 'Youtube linkinizi buraya yapıştırınız',
6
+ txtWidth : 'Genişlik',
7
+ txtHeight : 'Yükseklik',
8
+ chkRelated : 'Önerilen videoları video bitiminde göster',
9
+ txtStartAt : 'Video başlangıç anı (ss ya da dd:ss ya da ss:dd:ss)',
10
+ chkPrivacy : 'Gizlilik modunu etkinleştir',
11
+ chkOlderCode : 'Eski gömülü kodu (embed) kullan',
12
+ noCode : 'Gömülü kod (embed) veya url yapıştırmak zorundasınız',
13
+ invalidEmbed : 'Verdiğiniz gömülü kod (embed) ile video bulunamadı',
14
+ invalidUrl : 'Verdiğiniz linkte video bulunamadı',
15
+ or : 'ya da',
16
+ noWidth : 'Genişliği belirtmek zorundasınız',
17
+ invalidWidth : 'Bir genişlik belirtin',
18
+ noHeight : 'Yükseliği belirtmek zorundasınız',
19
+ invalidHeight : 'Yükseklik belirtin',
20
+ invalidTime : 'Başlangıç anını doğru girin, örneğin: 13 (13. saniye) ya da 12:25 (12. dakika 25. saniye) ya da 01.25.33 (1 saat 25 dakika 33 saniye)'
21
+ });
@@ -0,0 +1,321 @@
1
+ /*
2
+ * Youtube Embed Plugin
3
+ *
4
+ * @author Jonnas Fonini <contato@fonini.net>
5
+ * @version 1.0.7
6
+ */
7
+ ( function() {
8
+ CKEDITOR.plugins.add( 'youtube',
9
+ {
10
+ lang: [ 'en', 'pt', 'ja', 'hu', 'it', 'fr', 'tr', 'ru', 'de' ],
11
+ init: function( editor )
12
+ {
13
+ editor.addCommand( 'youtube', new CKEDITOR.dialogCommand( 'youtube', {
14
+ allowedContent: 'iframe[!width,!height,!src,!frameborder,!allowfullscreen]; object param[*]'
15
+ }));
16
+
17
+ editor.ui.addButton( 'Youtube',
18
+ {
19
+ label : editor.lang.youtube.button,
20
+ toolbar : 'insert',
21
+ command : 'youtube',
22
+ icon : this.path + 'images/icon.png'
23
+ });
24
+
25
+ CKEDITOR.dialog.add( 'youtube', function ( instance )
26
+ {
27
+ var video;
28
+
29
+ return {
30
+ title : editor.lang.youtube.title,
31
+ minWidth : 500,
32
+ minHeight : 200,
33
+ contents :
34
+ [{
35
+ id : 'youtubePlugin',
36
+ expand : true,
37
+ elements :
38
+ [{
39
+ id : 'txtEmbed',
40
+ type : 'textarea',
41
+ label : editor.lang.youtube.txtEmbed,
42
+ autofocus : 'autofocus',
43
+ onKeyUp : function ( api )
44
+ {
45
+ if ( this.getValue().length > 0 )
46
+ {
47
+ this.getDialog().getContentElement( 'youtubePlugin', 'txtUrl' ).disable();
48
+ }
49
+ else {
50
+ this.getDialog().getContentElement( 'youtubePlugin', 'txtUrl' ).enable();
51
+ }
52
+ },
53
+ validate : function ()
54
+ {
55
+ if ( this.isEnabled() )
56
+ {
57
+ if ( !this.getValue() )
58
+ {
59
+ alert( editor.lang.youtube.noCode );
60
+ return false;
61
+ }
62
+ else
63
+ if ( this.getValue().length === 0 || this.getValue().indexOf( '//' ) === -1 )
64
+ {
65
+ alert( editor.lang.youtube.invalidEmbed );
66
+ return false;
67
+ }
68
+ }
69
+ }
70
+ },
71
+ {
72
+ type : 'html',
73
+ html : editor.lang.youtube.or + '<hr>'
74
+ },
75
+ {
76
+ type : 'hbox',
77
+ widths : [ '70%', '15%', '15%' ],
78
+ children :
79
+ [
80
+ {
81
+ id : 'txtUrl',
82
+ type : 'text',
83
+ label : editor.lang.youtube.txtUrl,
84
+ onKeyUp : function ( api )
85
+ {
86
+ if ( this.getValue().length > 0 )
87
+ {
88
+ this.getDialog().getContentElement( 'youtubePlugin', 'txtEmbed' ).disable();
89
+ }
90
+ else {
91
+ this.getDialog().getContentElement( 'youtubePlugin', 'txtEmbed' ).enable();
92
+ }
93
+ },
94
+ validate : function ()
95
+ {
96
+ if ( this.isEnabled() )
97
+ {
98
+ if ( !this.getValue() )
99
+ {
100
+ alert( editor.lang.youtube.noCode );
101
+ return false;
102
+ }
103
+ else{
104
+ video = ytVidId(this.getValue());
105
+
106
+ if ( this.getValue().length === 0 || video === false)
107
+ {
108
+ alert( editor.lang.youtube.invalidUrl );
109
+ return false;
110
+ }
111
+ }
112
+ }
113
+ }
114
+ },
115
+ {
116
+ type : 'text',
117
+ id : 'txtWidth',
118
+ width : '60px',
119
+ label : editor.lang.youtube.txtWidth,
120
+ 'default' : editor.config.youtube_width != null ? editor.config.youtube_width : '640',
121
+ validate : function ()
122
+ {
123
+ if ( this.getValue() )
124
+ {
125
+ var width = parseInt ( this.getValue() ) || 0;
126
+
127
+ if ( width === 0 )
128
+ {
129
+ alert( editor.lang.youtube.invalidWidth );
130
+ return false;
131
+ }
132
+ }
133
+ else {
134
+ alert( editor.lang.youtube.noWidth );
135
+ return false;
136
+ }
137
+ }
138
+ },
139
+ {
140
+ type : 'text',
141
+ id : 'txtHeight',
142
+ width : '60px',
143
+ label : editor.lang.youtube.txtHeight,
144
+ 'default' : editor.config.youtube_height != null ? editor.config.youtube_height : '360',
145
+ validate : function ()
146
+ {
147
+ if ( this.getValue() )
148
+ {
149
+ var height = parseInt ( this.getValue() ) || 0;
150
+
151
+ if ( height === 0 )
152
+ {
153
+ alert( editor.lang.youtube.invalidHeight );
154
+ return false;
155
+ }
156
+ }
157
+ else {
158
+ alert( editor.lang.youtube.noHeight );
159
+ return false;
160
+ }
161
+ }
162
+ }
163
+ ]
164
+ },
165
+ {
166
+ type : 'hbox',
167
+ widths : [ '55%', '45%' ],
168
+ children :
169
+ [
170
+ {
171
+ id : 'chkRelated',
172
+ type : 'checkbox',
173
+ 'default' : editor.config.youtube_related != null ? editor.config.youtube_related : true,
174
+ label : editor.lang.youtube.chkRelated
175
+ },
176
+ {
177
+ id : 'chkOlderCode',
178
+ type : 'checkbox',
179
+ 'default' : editor.config.youtube_older != null ? editor.config.youtube_older : false,
180
+ label : editor.lang.youtube.chkOlderCode
181
+ }
182
+ ]
183
+ },
184
+ {
185
+ type : 'hbox',
186
+ widths : [ '55%', '45%' ],
187
+ children :
188
+ [
189
+ {
190
+ id : 'chkPrivacy',
191
+ type : 'checkbox',
192
+ label : editor.lang.youtube.chkPrivacy,
193
+ 'default' : editor.config.youtube_privacy != null ? editor.config.youtube_privacy : false
194
+ },
195
+ {
196
+ id : 'txtStartAt',
197
+ type : 'text',
198
+ label : editor.lang.youtube.txtStartAt,
199
+ validate : function ()
200
+ {
201
+ if ( this.getValue() )
202
+ {
203
+ var str = this.getValue();
204
+
205
+ if ( !/^(?:(?:([01]?\d|2[0-3]):)?([0-5]?\d):)?([0-5]?\d)$/i.test( str ) )
206
+ {
207
+ alert( editor.lang.youtube.invalidTime );
208
+ return false;
209
+ }
210
+ }
211
+ }
212
+ }
213
+ ]
214
+ }
215
+ ]
216
+ }
217
+ ],
218
+ onOk: function()
219
+ {
220
+ var content = '';
221
+
222
+ if ( this.getContentElement( 'youtubePlugin', 'txtEmbed' ).isEnabled() )
223
+ {
224
+ content = this.getValueOf( 'youtubePlugin', 'txtEmbed' );
225
+ }
226
+ else {
227
+ var url = '//', params = [], startSecs;
228
+ var width = this.getValueOf( 'youtubePlugin', 'txtWidth' );
229
+ var height = this.getValueOf( 'youtubePlugin', 'txtHeight' );
230
+
231
+ if ( this.getContentElement( 'youtubePlugin', 'chkPrivacy' ).getValue() === true )
232
+ {
233
+ url += 'www.youtube-nocookie.com/';
234
+ }
235
+ else {
236
+ url += 'www.youtube.com/';
237
+ }
238
+
239
+ url += 'embed/' + video;
240
+
241
+ if ( this.getContentElement( 'youtubePlugin', 'chkRelated' ).getValue() === false )
242
+ {
243
+ params.push('rel=0');
244
+ }
245
+
246
+ startSecs = this.getValueOf( 'youtubePlugin', 'txtStartAt' );
247
+ if ( startSecs ){
248
+ var seconds = hmsToSeconds( startSecs );
249
+
250
+ params.push('start=' + seconds);
251
+ }
252
+
253
+ if ( this.getContentElement( 'youtubePlugin', 'chkOlderCode' ).getValue() === true )
254
+ {
255
+ url = url.replace('embed/', 'v/');
256
+ url = url.replace(/&/g, '&amp;');
257
+
258
+ if ( params.length == 0 )
259
+ {
260
+ url += '?';
261
+ }
262
+
263
+ url += 'hl=pt_BR&amp;version=3';
264
+
265
+ content = '<object width="' + width + '" height="' + height + '">';
266
+ content += '<param name="movie" value="' + url + '"></param>';
267
+ content += '<param name="allowFullScreen" value="true"></param>';
268
+ content += '<param name="allowscriptaccess" value="always"></param>';
269
+ content += '<embed src="' + url + '" type="application/x-shockwave-flash" ';
270
+ content += 'width="' + width + '" height="' + height + '" allowscriptaccess="always" ';
271
+ content += 'allowfullscreen="true"></embed>';
272
+ content += '</object>';
273
+ }
274
+ else {
275
+ if ( params.length > 0 )
276
+ {
277
+ url = url + '?' + params.join( '&' );
278
+ }
279
+
280
+ content = '<iframe width="' + width + '" height="' + height + '" src="' + url + '" ';
281
+ content += 'frameborder="0" allowfullscreen></iframe>';
282
+ }
283
+ }
284
+
285
+ var instance = this.getParentEditor();
286
+ instance.insertHtml( content );
287
+ }
288
+ };
289
+ });
290
+ }
291
+ });
292
+ })();
293
+
294
+
295
+ /**
296
+ * JavaScript function to match (and return) the video Id
297
+ * of any valid Youtube Url, given as input string.
298
+ * @author: Stephan Schmitz <eyecatchup@gmail.com>
299
+ * @url: http://stackoverflow.com/a/10315969/624466
300
+ */
301
+ function ytVidId( url )
302
+ {
303
+ var p = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
304
+ return ( url.match( p ) ) ? RegExp.$1 : false;
305
+ }
306
+
307
+ /**
308
+ * Converts time in hms format to seconds only
309
+ */
310
+ function hmsToSeconds( time )
311
+ {
312
+ var arr = time.split(':'), s = 0, m = 1;
313
+
314
+ while (arr.length > 0)
315
+ {
316
+ s += m * parseInt(arr.pop(), 10);
317
+ m *= 60;
318
+ }
319
+
320
+ return s;
321
+ }