locomotive-tinymce-rails 3.4.7.5 → 3.5.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (627) hide show
  1. data/README.md +3 -21
  2. data/Rakefile +15 -16
  3. data/app/assets/javascripts/tinymce-jquery.js +1 -1
  4. data/lib/tinymce/rails/version.rb +2 -2
  5. data/vendor/assets/javascripts/tinymce/jquery.tinymce.js +1 -1
  6. data/vendor/assets/javascripts/tinymce/langs/de.js +1 -1
  7. data/vendor/assets/javascripts/tinymce/langs/en.js +1 -1
  8. data/vendor/assets/javascripts/tinymce/langs/es.js +1 -1
  9. data/vendor/assets/javascripts/tinymce/langs/et.js +0 -0
  10. data/vendor/assets/javascripts/tinymce/langs/fr.js +0 -0
  11. data/vendor/assets/javascripts/tinymce/langs/it.js +0 -0
  12. data/vendor/assets/javascripts/tinymce/langs/nb.js +1 -0
  13. data/vendor/assets/javascripts/tinymce/langs/nl.js +0 -0
  14. data/vendor/assets/javascripts/tinymce/langs/pl.js +0 -0
  15. data/vendor/assets/javascripts/tinymce/langs/pt.js +0 -0
  16. data/vendor/assets/javascripts/tinymce/langs/ru.js +0 -0
  17. data/vendor/assets/javascripts/tinymce/plugins/advhr/langs/de_dlg.js +0 -0
  18. data/vendor/assets/javascripts/tinymce/plugins/advhr/langs/es_dlg.js +0 -0
  19. data/vendor/assets/javascripts/tinymce/plugins/advhr/langs/et_dlg.js +0 -0
  20. data/vendor/assets/javascripts/tinymce/plugins/advhr/langs/fr_dlg.js +0 -0
  21. data/vendor/assets/javascripts/tinymce/plugins/advhr/langs/it_dlg.js +0 -0
  22. data/vendor/assets/javascripts/tinymce/plugins/advhr/langs/nb_dlg.js +1 -0
  23. data/vendor/assets/javascripts/tinymce/plugins/advhr/langs/nl_dlg.js +0 -0
  24. data/vendor/assets/javascripts/tinymce/plugins/advhr/langs/pl_dlg.js +0 -0
  25. data/vendor/assets/javascripts/tinymce/plugins/advhr/langs/pt_dlg.js +0 -0
  26. data/vendor/assets/javascripts/tinymce/plugins/advhr/langs/ru_dlg.js +0 -0
  27. data/vendor/assets/javascripts/tinymce/plugins/advimage/js/image.js +5 -3
  28. data/vendor/assets/javascripts/tinymce/plugins/advimage/langs/de_dlg.js +1 -1
  29. data/vendor/assets/javascripts/tinymce/plugins/advimage/langs/es_dlg.js +0 -0
  30. data/vendor/assets/javascripts/tinymce/plugins/advimage/langs/et_dlg.js +0 -0
  31. data/vendor/assets/javascripts/tinymce/plugins/advimage/langs/fr_dlg.js +0 -0
  32. data/vendor/assets/javascripts/tinymce/plugins/advimage/langs/it_dlg.js +0 -0
  33. data/vendor/assets/javascripts/tinymce/plugins/advimage/langs/nb_dlg.js +1 -0
  34. data/vendor/assets/javascripts/tinymce/plugins/advimage/langs/nl_dlg.js +0 -0
  35. data/vendor/assets/javascripts/tinymce/plugins/advimage/langs/pl_dlg.js +0 -0
  36. data/vendor/assets/javascripts/tinymce/plugins/advimage/langs/pt_dlg.js +0 -0
  37. data/vendor/assets/javascripts/tinymce/plugins/advimage/langs/ru_dlg.js +0 -0
  38. data/vendor/assets/javascripts/tinymce/plugins/advlink/js/advlink.js +16 -5
  39. data/vendor/assets/javascripts/tinymce/plugins/advlink/langs/de_dlg.js +1 -1
  40. data/vendor/assets/javascripts/tinymce/plugins/advlink/langs/es_dlg.js +0 -0
  41. data/vendor/assets/javascripts/tinymce/plugins/advlink/langs/et_dlg.js +0 -0
  42. data/vendor/assets/javascripts/tinymce/plugins/advlink/langs/fr_dlg.js +0 -0
  43. data/vendor/assets/javascripts/tinymce/plugins/advlink/langs/it_dlg.js +0 -0
  44. data/vendor/assets/javascripts/tinymce/plugins/advlink/langs/nb_dlg.js +1 -0
  45. data/vendor/assets/javascripts/tinymce/plugins/advlink/langs/nl_dlg.js +0 -0
  46. data/vendor/assets/javascripts/tinymce/plugins/advlink/langs/pl_dlg.js +0 -0
  47. data/vendor/assets/javascripts/tinymce/plugins/advlink/langs/pt_dlg.js +0 -0
  48. data/vendor/assets/javascripts/tinymce/plugins/advlink/langs/ru_dlg.js +0 -0
  49. data/vendor/assets/javascripts/tinymce/plugins/autolink/editor_plugin.js +1 -1
  50. data/vendor/assets/javascripts/tinymce/plugins/autolink/editor_plugin_src.js +24 -12
  51. data/vendor/assets/javascripts/tinymce/plugins/autoresize/editor_plugin.js +1 -1
  52. data/vendor/assets/javascripts/tinymce/plugins/autoresize/editor_plugin_src.js +20 -38
  53. data/vendor/assets/javascripts/tinymce/plugins/autosave/editor_plugin.js +1 -1
  54. data/vendor/assets/javascripts/tinymce/plugins/autosave/editor_plugin_src.js +4 -2
  55. data/vendor/assets/javascripts/tinymce/plugins/contextmenu/editor_plugin.js +1 -1
  56. data/vendor/assets/javascripts/tinymce/plugins/contextmenu/editor_plugin_src.js +10 -7
  57. data/vendor/assets/javascripts/tinymce/plugins/directionality/editor_plugin.js +1 -1
  58. data/vendor/assets/javascripts/tinymce/plugins/directionality/editor_plugin_src.js +22 -19
  59. data/vendor/assets/javascripts/tinymce/plugins/emotions/emotions.htm +1 -1
  60. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/de_dlg.js +1 -0
  61. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/en_dlg.js +1 -1
  62. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/es_dlg.js +1 -0
  63. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/et_dlg.js +1 -0
  64. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/fr_dlg.js +1 -0
  65. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/it_dlg.js +1 -0
  66. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/nb_dlg.js +1 -0
  67. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/nl_dlg.js +1 -0
  68. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/pl_dlg.js +0 -0
  69. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/pt_dlg.js +1 -0
  70. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/ru_dlg.js +1 -0
  71. data/vendor/assets/javascripts/tinymce/plugins/fullpage/langs/de_dlg.js +0 -0
  72. data/vendor/assets/javascripts/tinymce/plugins/fullpage/langs/es_dlg.js +0 -0
  73. data/vendor/assets/javascripts/tinymce/plugins/fullpage/langs/et_dlg.js +0 -0
  74. data/vendor/assets/javascripts/tinymce/plugins/fullpage/langs/fr_dlg.js +0 -0
  75. data/vendor/assets/javascripts/tinymce/plugins/fullpage/langs/it_dlg.js +0 -0
  76. data/vendor/assets/javascripts/tinymce/plugins/fullpage/langs/nb_dlg.js +1 -0
  77. data/vendor/assets/javascripts/tinymce/plugins/fullpage/langs/nl_dlg.js +0 -0
  78. data/vendor/assets/javascripts/tinymce/plugins/fullpage/langs/pl_dlg.js +0 -0
  79. data/vendor/assets/javascripts/tinymce/plugins/fullpage/langs/pt_dlg.js +0 -0
  80. data/vendor/assets/javascripts/tinymce/plugins/fullpage/langs/ru_dlg.js +0 -0
  81. data/vendor/assets/javascripts/tinymce/plugins/fullscreen/editor_plugin.js +1 -1
  82. data/vendor/assets/javascripts/tinymce/plugins/fullscreen/editor_plugin_src.js +5 -5
  83. data/vendor/assets/javascripts/tinymce/plugins/legacyoutput/editor_plugin.js +1 -1
  84. data/vendor/assets/javascripts/tinymce/plugins/legacyoutput/editor_plugin_src.js +1 -1
  85. data/vendor/assets/javascripts/tinymce/plugins/lists/editor_plugin.js +1 -1
  86. data/vendor/assets/javascripts/tinymce/plugins/lists/editor_plugin_src.js +98 -68
  87. data/vendor/assets/javascripts/tinymce/plugins/media/editor_plugin.js +1 -1
  88. data/vendor/assets/javascripts/tinymce/plugins/media/editor_plugin_src.js +23 -15
  89. data/vendor/assets/javascripts/tinymce/plugins/media/js/media.js +75 -26
  90. data/vendor/assets/javascripts/tinymce/plugins/media/langs/de_dlg.js +1 -1
  91. data/vendor/assets/javascripts/tinymce/plugins/media/langs/en_dlg.js +1 -1
  92. data/vendor/assets/javascripts/tinymce/plugins/media/langs/es_dlg.js +0 -0
  93. data/vendor/assets/javascripts/tinymce/plugins/media/langs/et_dlg.js +0 -0
  94. data/vendor/assets/javascripts/tinymce/plugins/media/langs/fr_dlg.js +0 -0
  95. data/vendor/assets/javascripts/tinymce/plugins/media/langs/it_dlg.js +0 -0
  96. data/vendor/assets/javascripts/tinymce/plugins/media/langs/nb_dlg.js +1 -0
  97. data/vendor/assets/javascripts/tinymce/plugins/media/langs/nl_dlg.js +0 -0
  98. data/vendor/assets/javascripts/tinymce/plugins/media/langs/pl_dlg.js +0 -0
  99. data/vendor/assets/javascripts/tinymce/plugins/media/langs/pt_dlg.js +0 -0
  100. data/vendor/assets/javascripts/tinymce/plugins/media/langs/ru_dlg.js +0 -0
  101. data/vendor/assets/javascripts/tinymce/plugins/noneditable/editor_plugin.js +1 -1
  102. data/vendor/assets/javascripts/tinymce/plugins/noneditable/editor_plugin_src.js +499 -57
  103. data/vendor/assets/javascripts/tinymce/plugins/paste/editor_plugin.js +1 -1
  104. data/vendor/assets/javascripts/tinymce/plugins/paste/editor_plugin_src.js +17 -3
  105. data/vendor/assets/javascripts/tinymce/plugins/paste/langs/de_dlg.js +1 -1
  106. data/vendor/assets/javascripts/tinymce/plugins/paste/langs/es_dlg.js +0 -0
  107. data/vendor/assets/javascripts/tinymce/plugins/paste/langs/et_dlg.js +0 -0
  108. data/vendor/assets/javascripts/tinymce/plugins/paste/langs/fr_dlg.js +0 -0
  109. data/vendor/assets/javascripts/tinymce/plugins/paste/langs/it_dlg.js +0 -0
  110. data/vendor/assets/javascripts/tinymce/plugins/paste/langs/nb_dlg.js +1 -0
  111. data/vendor/assets/javascripts/tinymce/plugins/paste/langs/nl_dlg.js +0 -0
  112. data/vendor/assets/javascripts/tinymce/plugins/paste/langs/pl_dlg.js +0 -0
  113. data/vendor/assets/javascripts/tinymce/plugins/paste/langs/pt_dlg.js +0 -0
  114. data/vendor/assets/javascripts/tinymce/plugins/paste/langs/ru_dlg.js +0 -0
  115. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/langs/de_dlg.js +0 -0
  116. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/langs/es_dlg.js +0 -0
  117. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/langs/et_dlg.js +0 -0
  118. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/langs/fr_dlg.js +0 -0
  119. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/langs/it_dlg.js +0 -0
  120. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/langs/nb_dlg.js +1 -0
  121. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/langs/nl_dlg.js +0 -0
  122. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/langs/pl_dlg.js +0 -0
  123. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/langs/pt_dlg.js +0 -0
  124. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/langs/ru_dlg.js +0 -0
  125. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/searchreplace.htm +1 -1
  126. data/vendor/assets/javascripts/tinymce/plugins/spellchecker/editor_plugin.js +1 -1
  127. data/vendor/assets/javascripts/tinymce/plugins/spellchecker/editor_plugin_src.js +4 -4
  128. data/vendor/assets/javascripts/tinymce/plugins/style/css/props.css +1 -0
  129. data/vendor/assets/javascripts/tinymce/plugins/style/editor_plugin.js +1 -1
  130. data/vendor/assets/javascripts/tinymce/plugins/style/editor_plugin_src.js +19 -3
  131. data/vendor/assets/javascripts/tinymce/plugins/style/js/props.js +77 -3
  132. data/vendor/assets/javascripts/tinymce/plugins/style/langs/de_dlg.js +0 -0
  133. data/vendor/assets/javascripts/tinymce/plugins/style/langs/es_dlg.js +0 -0
  134. data/vendor/assets/javascripts/tinymce/plugins/style/langs/et_dlg.js +0 -0
  135. data/vendor/assets/javascripts/tinymce/plugins/style/langs/fr_dlg.js +0 -0
  136. data/vendor/assets/javascripts/tinymce/plugins/style/langs/it_dlg.js +0 -0
  137. data/vendor/assets/javascripts/tinymce/plugins/style/langs/nb_dlg.js +1 -0
  138. data/vendor/assets/javascripts/tinymce/plugins/style/langs/nl_dlg.js +0 -0
  139. data/vendor/assets/javascripts/tinymce/plugins/style/langs/pl_dlg.js +0 -0
  140. data/vendor/assets/javascripts/tinymce/plugins/style/langs/pt_dlg.js +0 -0
  141. data/vendor/assets/javascripts/tinymce/plugins/style/langs/ru_dlg.js +0 -0
  142. data/vendor/assets/javascripts/tinymce/plugins/style/props.htm +6 -1
  143. data/vendor/assets/javascripts/tinymce/plugins/style/readme.txt +19 -0
  144. data/vendor/assets/javascripts/tinymce/plugins/tabfocus/editor_plugin.js +1 -1
  145. data/vendor/assets/javascripts/tinymce/plugins/tabfocus/editor_plugin_src.js +1 -1
  146. data/vendor/assets/javascripts/tinymce/plugins/table/editor_plugin.js +1 -1
  147. data/vendor/assets/javascripts/tinymce/plugins/table/editor_plugin_src.js +88 -40
  148. data/vendor/assets/javascripts/tinymce/plugins/table/js/cell.js +2 -2
  149. data/vendor/assets/javascripts/tinymce/plugins/table/js/row.js +17 -0
  150. data/vendor/assets/javascripts/tinymce/plugins/table/js/table.js +20 -3
  151. data/vendor/assets/javascripts/tinymce/plugins/table/langs/de_dlg.js +1 -1
  152. data/vendor/assets/javascripts/tinymce/plugins/table/langs/es_dlg.js +0 -0
  153. data/vendor/assets/javascripts/tinymce/plugins/table/langs/et_dlg.js +0 -0
  154. data/vendor/assets/javascripts/tinymce/plugins/table/langs/fr_dlg.js +0 -0
  155. data/vendor/assets/javascripts/tinymce/plugins/table/langs/it_dlg.js +0 -0
  156. data/vendor/assets/javascripts/tinymce/plugins/table/langs/nb_dlg.js +1 -0
  157. data/vendor/assets/javascripts/tinymce/plugins/table/langs/nl_dlg.js +0 -0
  158. data/vendor/assets/javascripts/tinymce/plugins/table/langs/pl_dlg.js +0 -0
  159. data/vendor/assets/javascripts/tinymce/plugins/table/langs/pt_dlg.js +0 -0
  160. data/vendor/assets/javascripts/tinymce/plugins/table/langs/ru_dlg.js +0 -0
  161. data/vendor/assets/javascripts/tinymce/plugins/table/row.htm +15 -15
  162. data/vendor/assets/javascripts/tinymce/plugins/template/langs/de_dlg.js +1 -0
  163. data/vendor/assets/javascripts/tinymce/plugins/template/langs/es_dlg.js +1 -0
  164. data/vendor/assets/javascripts/tinymce/plugins/template/langs/et_dlg.js +1 -0
  165. data/vendor/assets/javascripts/tinymce/plugins/template/langs/fr_dlg.js +1 -0
  166. data/vendor/assets/javascripts/tinymce/plugins/template/langs/it_dlg.js +1 -0
  167. data/vendor/assets/javascripts/tinymce/plugins/template/langs/nb_dlg.js +1 -0
  168. data/vendor/assets/javascripts/tinymce/plugins/template/langs/nl_dlg.js +1 -0
  169. data/vendor/assets/javascripts/tinymce/plugins/template/langs/pl_dlg.js +0 -0
  170. data/vendor/assets/javascripts/tinymce/plugins/template/langs/pt_dlg.js +1 -0
  171. data/vendor/assets/javascripts/tinymce/plugins/template/langs/ru_dlg.js +1 -0
  172. data/vendor/assets/javascripts/tinymce/plugins/visualblocks/css/visualblocks.css +21 -0
  173. data/vendor/assets/javascripts/tinymce/plugins/visualblocks/editor_plugin.js +1 -0
  174. data/vendor/assets/javascripts/tinymce/plugins/visualblocks/editor_plugin_src.js +63 -0
  175. data/vendor/assets/javascripts/tinymce/plugins/wordcount/editor_plugin.js +1 -1
  176. data/vendor/assets/javascripts/tinymce/plugins/wordcount/editor_plugin_src.js +14 -6
  177. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/langs/de_dlg.js +0 -0
  178. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/langs/es_dlg.js +0 -0
  179. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/langs/et_dlg.js +0 -0
  180. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/langs/fr_dlg.js +0 -0
  181. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/langs/it_dlg.js +0 -0
  182. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/langs/nb_dlg.js +1 -0
  183. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/langs/nl_dlg.js +0 -0
  184. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/langs/pl_dlg.js +0 -0
  185. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/langs/pt_dlg.js +0 -0
  186. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/langs/ru_dlg.js +0 -0
  187. data/vendor/assets/javascripts/tinymce/themes/advanced/color_picker.htm +2 -6
  188. data/vendor/assets/javascripts/tinymce/themes/advanced/editor_template.js +1 -1
  189. data/vendor/assets/javascripts/tinymce/themes/advanced/editor_template_src.js +176 -48
  190. data/vendor/assets/javascripts/tinymce/themes/advanced/img/icons.gif +0 -0
  191. data/vendor/assets/javascripts/tinymce/themes/advanced/js/anchor.js +19 -6
  192. data/vendor/assets/javascripts/tinymce/themes/advanced/js/color_picker.js +345 -329
  193. data/vendor/assets/javascripts/tinymce/themes/advanced/js/image.js +4 -2
  194. data/vendor/assets/javascripts/tinymce/themes/advanced/js/link.js +9 -3
  195. data/vendor/assets/javascripts/tinymce/themes/advanced/js/source_editor.js +27 -5
  196. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/de.js +1 -1
  197. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/de_dlg.js +1 -1
  198. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/en.js +1 -1
  199. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/en_dlg.js +1 -1
  200. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/es.js +0 -0
  201. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/es_dlg.js +0 -0
  202. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/et.js +0 -0
  203. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/et_dlg.js +0 -0
  204. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/fr.js +0 -0
  205. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/fr_dlg.js +0 -0
  206. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/it.js +0 -0
  207. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/it_dlg.js +0 -0
  208. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/nb.js +1 -0
  209. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/nb_dlg.js +1 -0
  210. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/nl.js +0 -0
  211. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/nl_dlg.js +0 -0
  212. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/pl.js +0 -0
  213. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/pl_dlg.js +0 -0
  214. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/pt.js +0 -0
  215. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/pt_dlg.js +0 -0
  216. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/ru.js +0 -0
  217. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/ru_dlg.js +0 -0
  218. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/dialog.css +3 -2
  219. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/ui.css +6 -1
  220. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/highcontrast/dialog.css +4 -3
  221. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/highcontrast/ui.css +5 -1
  222. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/dialog.css +3 -2
  223. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/ui.css +6 -1
  224. data/vendor/assets/javascripts/tinymce/themes/advanced/source_editor.htm +1 -1
  225. data/vendor/assets/javascripts/tinymce/themes/simple/langs/de.js +1 -0
  226. data/vendor/assets/javascripts/tinymce/themes/simple/langs/es.js +1 -0
  227. data/vendor/assets/javascripts/tinymce/themes/simple/langs/et.js +1 -0
  228. data/vendor/assets/javascripts/tinymce/themes/simple/langs/fr.js +1 -0
  229. data/vendor/assets/javascripts/tinymce/themes/simple/langs/it.js +1 -0
  230. data/vendor/assets/javascripts/tinymce/themes/simple/langs/nb.js +1 -0
  231. data/vendor/assets/javascripts/tinymce/themes/simple/langs/nl.js +1 -0
  232. data/vendor/assets/javascripts/tinymce/themes/simple/langs/pl.js +0 -0
  233. data/vendor/assets/javascripts/tinymce/themes/simple/langs/pt.js +1 -0
  234. data/vendor/assets/javascripts/tinymce/themes/simple/langs/ru.js +1 -0
  235. data/vendor/assets/javascripts/tinymce/tiny_mce.js +1 -1
  236. data/vendor/assets/javascripts/tinymce/tiny_mce_popup.js +1 -1
  237. data/vendor/assets/javascripts/tinymce/tiny_mce_src.js +9799 -8716
  238. data/vendor/assets/javascripts_old/tinymce/jquery.tinymce.js +1 -0
  239. data/vendor/assets/javascripts_old/tinymce/langs/de.js +1 -0
  240. data/vendor/assets/javascripts_old/tinymce/langs/en.js +1 -0
  241. data/vendor/assets/javascripts_old/tinymce/langs/es.js +1 -0
  242. data/vendor/assets/javascripts_old/tinymce/langs/et.js +1 -0
  243. data/vendor/assets/javascripts_old/tinymce/langs/fr.js +1 -0
  244. data/vendor/assets/javascripts_old/tinymce/langs/it.js +1 -0
  245. data/vendor/assets/javascripts_old/tinymce/langs/nl.js +1 -0
  246. data/vendor/assets/{javascripts → javascripts_old}/tinymce/langs/no.js +0 -0
  247. data/vendor/assets/javascripts_old/tinymce/langs/pl.js +1 -0
  248. data/vendor/assets/javascripts_old/tinymce/langs/pt.js +1 -0
  249. data/vendor/assets/javascripts_old/tinymce/langs/ru.js +1 -0
  250. data/vendor/assets/javascripts_old/tinymce/license.txt +504 -0
  251. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/css/advhr.css +5 -0
  252. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/editor_plugin.js +1 -0
  253. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/editor_plugin_src.js +57 -0
  254. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/js/rule.js +43 -0
  255. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/langs/de_dlg.js +1 -0
  256. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/langs/en_dlg.js +1 -0
  257. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/langs/es_dlg.js +1 -0
  258. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/langs/et_dlg.js +1 -0
  259. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/langs/fr_dlg.js +1 -0
  260. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/langs/it_dlg.js +1 -0
  261. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/langs/nl_dlg.js +1 -0
  262. data/vendor/assets/{javascripts → javascripts_old}/tinymce/plugins/advhr/langs/no_dlg.js +0 -0
  263. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/langs/pl_dlg.js +1 -0
  264. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/langs/pt_dlg.js +1 -0
  265. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/langs/ru_dlg.js +1 -0
  266. data/vendor/assets/javascripts_old/tinymce/plugins/advhr/rule.htm +58 -0
  267. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/css/advimage.css +13 -0
  268. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/editor_plugin.js +1 -0
  269. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/editor_plugin_src.js +50 -0
  270. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/image.htm +235 -0
  271. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/img/sample.gif +0 -0
  272. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/js/image.js +462 -0
  273. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/langs/de_dlg.js +1 -0
  274. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/langs/en_dlg.js +1 -0
  275. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/langs/es_dlg.js +1 -0
  276. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/langs/et_dlg.js +1 -0
  277. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/langs/fr_dlg.js +1 -0
  278. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/langs/it_dlg.js +1 -0
  279. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/langs/nl_dlg.js +1 -0
  280. data/vendor/assets/{javascripts → javascripts_old}/tinymce/plugins/advimage/langs/no_dlg.js +0 -0
  281. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/langs/pl_dlg.js +1 -0
  282. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/langs/pt_dlg.js +1 -0
  283. data/vendor/assets/javascripts_old/tinymce/plugins/advimage/langs/ru_dlg.js +1 -0
  284. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/css/advlink.css +8 -0
  285. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/editor_plugin.js +1 -0
  286. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/editor_plugin_src.js +61 -0
  287. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/js/advlink.js +532 -0
  288. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/langs/de_dlg.js +1 -0
  289. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/langs/en_dlg.js +1 -0
  290. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/langs/es_dlg.js +1 -0
  291. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/langs/et_dlg.js +1 -0
  292. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/langs/fr_dlg.js +1 -0
  293. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/langs/it_dlg.js +1 -0
  294. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/langs/nl_dlg.js +1 -0
  295. data/vendor/assets/{javascripts → javascripts_old}/tinymce/plugins/advlink/langs/no_dlg.js +0 -0
  296. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/langs/pl_dlg.js +1 -0
  297. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/langs/pt_dlg.js +1 -0
  298. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/langs/ru_dlg.js +1 -0
  299. data/vendor/assets/javascripts_old/tinymce/plugins/advlink/link.htm +338 -0
  300. data/vendor/assets/javascripts_old/tinymce/plugins/advlist/editor_plugin.js +1 -0
  301. data/vendor/assets/javascripts_old/tinymce/plugins/advlist/editor_plugin_src.js +176 -0
  302. data/vendor/assets/javascripts_old/tinymce/plugins/autolink/editor_plugin.js +1 -0
  303. data/vendor/assets/javascripts_old/tinymce/plugins/autolink/editor_plugin_src.js +172 -0
  304. data/vendor/assets/javascripts_old/tinymce/plugins/autoresize/editor_plugin.js +1 -0
  305. data/vendor/assets/javascripts_old/tinymce/plugins/autoresize/editor_plugin_src.js +137 -0
  306. data/vendor/assets/javascripts_old/tinymce/plugins/autosave/editor_plugin.js +1 -0
  307. data/vendor/assets/javascripts_old/tinymce/plugins/autosave/editor_plugin_src.js +431 -0
  308. data/vendor/assets/{javascripts → javascripts_old}/tinymce/plugins/autosave/langs/en.js +0 -0
  309. data/vendor/assets/javascripts_old/tinymce/plugins/bbcode/editor_plugin.js +1 -0
  310. data/vendor/assets/javascripts_old/tinymce/plugins/bbcode/editor_plugin_src.js +120 -0
  311. data/vendor/assets/javascripts_old/tinymce/plugins/contextmenu/editor_plugin.js +1 -0
  312. data/vendor/assets/javascripts_old/tinymce/plugins/contextmenu/editor_plugin_src.js +160 -0
  313. data/vendor/assets/javascripts_old/tinymce/plugins/directionality/editor_plugin.js +1 -0
  314. data/vendor/assets/javascripts_old/tinymce/plugins/directionality/editor_plugin_src.js +82 -0
  315. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/editor_plugin.js +1 -0
  316. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/editor_plugin_src.js +43 -0
  317. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/emotions.htm +42 -0
  318. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-cool.gif +0 -0
  319. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-cry.gif +0 -0
  320. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  321. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  322. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-frown.gif +0 -0
  323. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-innocent.gif +0 -0
  324. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-kiss.gif +0 -0
  325. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-laughing.gif +0 -0
  326. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  327. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-sealed.gif +0 -0
  328. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-smile.gif +0 -0
  329. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-surprised.gif +0 -0
  330. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  331. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-undecided.gif +0 -0
  332. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-wink.gif +0 -0
  333. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/img/smiley-yell.gif +0 -0
  334. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/js/emotions.js +43 -0
  335. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/langs/en_dlg.js +1 -0
  336. data/vendor/assets/javascripts_old/tinymce/plugins/emotions/langs/pl_dlg.js +1 -0
  337. data/vendor/assets/javascripts_old/tinymce/plugins/example/dialog.htm +22 -0
  338. data/vendor/assets/javascripts_old/tinymce/plugins/example/editor_plugin.js +1 -0
  339. data/vendor/assets/javascripts_old/tinymce/plugins/example/editor_plugin_src.js +84 -0
  340. data/vendor/assets/javascripts_old/tinymce/plugins/example/img/example.gif +0 -0
  341. data/vendor/assets/javascripts_old/tinymce/plugins/example/js/dialog.js +19 -0
  342. data/vendor/assets/javascripts_old/tinymce/plugins/example/langs/en.js +3 -0
  343. data/vendor/assets/javascripts_old/tinymce/plugins/example/langs/en_dlg.js +3 -0
  344. data/vendor/assets/javascripts_old/tinymce/plugins/example_dependency/editor_plugin.js +1 -0
  345. data/vendor/assets/javascripts_old/tinymce/plugins/example_dependency/editor_plugin_src.js +50 -0
  346. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/css/fullpage.css +143 -0
  347. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/editor_plugin.js +1 -0
  348. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/editor_plugin_src.js +405 -0
  349. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/fullpage.htm +259 -0
  350. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/js/fullpage.js +232 -0
  351. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/langs/de_dlg.js +1 -0
  352. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/langs/en_dlg.js +1 -0
  353. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/langs/es_dlg.js +1 -0
  354. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/langs/et_dlg.js +1 -0
  355. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/langs/fr_dlg.js +1 -0
  356. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/langs/it_dlg.js +1 -0
  357. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/langs/nl_dlg.js +1 -0
  358. data/vendor/assets/{javascripts → javascripts_old}/tinymce/plugins/fullpage/langs/no_dlg.js +0 -0
  359. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/langs/pl_dlg.js +1 -0
  360. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/langs/pt_dlg.js +1 -0
  361. data/vendor/assets/javascripts_old/tinymce/plugins/fullpage/langs/ru_dlg.js +1 -0
  362. data/vendor/assets/javascripts_old/tinymce/plugins/fullscreen/editor_plugin.js +1 -0
  363. data/vendor/assets/javascripts_old/tinymce/plugins/fullscreen/editor_plugin_src.js +159 -0
  364. data/vendor/assets/javascripts_old/tinymce/plugins/fullscreen/fullscreen.htm +110 -0
  365. data/vendor/assets/javascripts_old/tinymce/plugins/iespell/editor_plugin.js +1 -0
  366. data/vendor/assets/javascripts_old/tinymce/plugins/iespell/editor_plugin_src.js +54 -0
  367. data/vendor/assets/javascripts_old/tinymce/plugins/inlinepopups/editor_plugin.js +1 -0
  368. data/vendor/assets/javascripts_old/tinymce/plugins/inlinepopups/editor_plugin_src.js +699 -0
  369. data/vendor/assets/javascripts_old/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  370. data/vendor/assets/javascripts_old/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  371. data/vendor/assets/javascripts_old/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  372. data/vendor/assets/javascripts_old/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  373. data/vendor/assets/javascripts_old/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  374. data/vendor/assets/javascripts_old/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  375. data/vendor/assets/javascripts_old/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  376. data/vendor/assets/javascripts_old/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css +90 -0
  377. data/vendor/assets/javascripts_old/tinymce/plugins/inlinepopups/template.htm +387 -0
  378. data/vendor/assets/javascripts_old/tinymce/plugins/insertdatetime/editor_plugin.js +1 -0
  379. data/vendor/assets/javascripts_old/tinymce/plugins/insertdatetime/editor_plugin_src.js +83 -0
  380. data/vendor/assets/javascripts_old/tinymce/plugins/layer/editor_plugin.js +1 -0
  381. data/vendor/assets/javascripts_old/tinymce/plugins/layer/editor_plugin_src.js +262 -0
  382. data/vendor/assets/javascripts_old/tinymce/plugins/legacyoutput/editor_plugin.js +1 -0
  383. data/vendor/assets/javascripts_old/tinymce/plugins/legacyoutput/editor_plugin_src.js +139 -0
  384. data/vendor/assets/javascripts_old/tinymce/plugins/lists/editor_plugin.js +1 -0
  385. data/vendor/assets/javascripts_old/tinymce/plugins/lists/editor_plugin_src.js +925 -0
  386. data/vendor/assets/javascripts_old/tinymce/plugins/media/css/media.css +17 -0
  387. data/vendor/assets/javascripts_old/tinymce/plugins/media/editor_plugin.js +1 -0
  388. data/vendor/assets/javascripts_old/tinymce/plugins/media/editor_plugin_src.js +890 -0
  389. data/vendor/assets/javascripts_old/tinymce/plugins/media/js/embed.js +73 -0
  390. data/vendor/assets/javascripts_old/tinymce/plugins/media/js/media.js +464 -0
  391. data/vendor/assets/javascripts_old/tinymce/plugins/media/langs/de_dlg.js +1 -0
  392. data/vendor/assets/javascripts_old/tinymce/plugins/media/langs/en_dlg.js +1 -0
  393. data/vendor/assets/javascripts_old/tinymce/plugins/media/langs/es_dlg.js +1 -0
  394. data/vendor/assets/javascripts_old/tinymce/plugins/media/langs/et_dlg.js +1 -0
  395. data/vendor/assets/javascripts_old/tinymce/plugins/media/langs/fr_dlg.js +1 -0
  396. data/vendor/assets/javascripts_old/tinymce/plugins/media/langs/it_dlg.js +1 -0
  397. data/vendor/assets/javascripts_old/tinymce/plugins/media/langs/nl_dlg.js +1 -0
  398. data/vendor/assets/{javascripts → javascripts_old}/tinymce/plugins/media/langs/no_dlg.js +0 -0
  399. data/vendor/assets/javascripts_old/tinymce/plugins/media/langs/pl_dlg.js +1 -0
  400. data/vendor/assets/javascripts_old/tinymce/plugins/media/langs/pt_dlg.js +1 -0
  401. data/vendor/assets/javascripts_old/tinymce/plugins/media/langs/ru_dlg.js +1 -0
  402. data/vendor/assets/javascripts_old/tinymce/plugins/media/media.htm +922 -0
  403. data/vendor/assets/javascripts_old/tinymce/plugins/media/moxieplayer.swf +0 -0
  404. data/vendor/assets/javascripts_old/tinymce/plugins/nonbreaking/editor_plugin.js +1 -0
  405. data/vendor/assets/javascripts_old/tinymce/plugins/nonbreaking/editor_plugin_src.js +54 -0
  406. data/vendor/assets/javascripts_old/tinymce/plugins/noneditable/editor_plugin.js +1 -0
  407. data/vendor/assets/javascripts_old/tinymce/plugins/noneditable/editor_plugin_src.js +95 -0
  408. data/vendor/assets/javascripts_old/tinymce/plugins/pagebreak/editor_plugin.js +1 -0
  409. data/vendor/assets/javascripts_old/tinymce/plugins/pagebreak/editor_plugin_src.js +74 -0
  410. data/vendor/assets/javascripts_old/tinymce/plugins/paste/editor_plugin.js +1 -0
  411. data/vendor/assets/javascripts_old/tinymce/plugins/paste/editor_plugin_src.js +871 -0
  412. data/vendor/assets/javascripts_old/tinymce/plugins/paste/js/pastetext.js +36 -0
  413. data/vendor/assets/javascripts_old/tinymce/plugins/paste/js/pasteword.js +51 -0
  414. data/vendor/assets/javascripts_old/tinymce/plugins/paste/langs/de_dlg.js +1 -0
  415. data/vendor/assets/javascripts_old/tinymce/plugins/paste/langs/en_dlg.js +1 -0
  416. data/vendor/assets/javascripts_old/tinymce/plugins/paste/langs/es_dlg.js +1 -0
  417. data/vendor/assets/javascripts_old/tinymce/plugins/paste/langs/et_dlg.js +1 -0
  418. data/vendor/assets/javascripts_old/tinymce/plugins/paste/langs/fr_dlg.js +1 -0
  419. data/vendor/assets/javascripts_old/tinymce/plugins/paste/langs/it_dlg.js +1 -0
  420. data/vendor/assets/javascripts_old/tinymce/plugins/paste/langs/nl_dlg.js +1 -0
  421. data/vendor/assets/{javascripts → javascripts_old}/tinymce/plugins/paste/langs/no_dlg.js +0 -0
  422. data/vendor/assets/javascripts_old/tinymce/plugins/paste/langs/pl_dlg.js +1 -0
  423. data/vendor/assets/javascripts_old/tinymce/plugins/paste/langs/pt_dlg.js +1 -0
  424. data/vendor/assets/javascripts_old/tinymce/plugins/paste/langs/ru_dlg.js +1 -0
  425. data/vendor/assets/javascripts_old/tinymce/plugins/paste/pastetext.htm +27 -0
  426. data/vendor/assets/javascripts_old/tinymce/plugins/paste/pasteword.htm +21 -0
  427. data/vendor/assets/javascripts_old/tinymce/plugins/preview/editor_plugin.js +1 -0
  428. data/vendor/assets/javascripts_old/tinymce/plugins/preview/editor_plugin_src.js +53 -0
  429. data/vendor/assets/javascripts_old/tinymce/plugins/preview/example.html +28 -0
  430. data/vendor/assets/javascripts_old/tinymce/plugins/preview/jscripts/embed.js +73 -0
  431. data/vendor/assets/javascripts_old/tinymce/plugins/preview/preview.html +17 -0
  432. data/vendor/assets/javascripts_old/tinymce/plugins/print/editor_plugin.js +1 -0
  433. data/vendor/assets/javascripts_old/tinymce/plugins/print/editor_plugin_src.js +34 -0
  434. data/vendor/assets/javascripts_old/tinymce/plugins/save/editor_plugin.js +1 -0
  435. data/vendor/assets/javascripts_old/tinymce/plugins/save/editor_plugin_src.js +101 -0
  436. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/css/searchreplace.css +6 -0
  437. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/editor_plugin.js +1 -0
  438. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/editor_plugin_src.js +61 -0
  439. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/js/searchreplace.js +142 -0
  440. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/langs/de_dlg.js +1 -0
  441. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/langs/en_dlg.js +1 -0
  442. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/langs/es_dlg.js +1 -0
  443. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/langs/et_dlg.js +1 -0
  444. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/langs/fr_dlg.js +1 -0
  445. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/langs/it_dlg.js +1 -0
  446. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/langs/nl_dlg.js +1 -0
  447. data/vendor/assets/{javascripts → javascripts_old}/tinymce/plugins/searchreplace/langs/no_dlg.js +0 -0
  448. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/langs/pl_dlg.js +1 -0
  449. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/langs/pt_dlg.js +1 -0
  450. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/langs/ru_dlg.js +1 -0
  451. data/vendor/assets/javascripts_old/tinymce/plugins/searchreplace/searchreplace.htm +100 -0
  452. data/vendor/assets/javascripts_old/tinymce/plugins/spellchecker/css/content.css +1 -0
  453. data/vendor/assets/javascripts_old/tinymce/plugins/spellchecker/editor_plugin.js +1 -0
  454. data/vendor/assets/javascripts_old/tinymce/plugins/spellchecker/editor_plugin_src.js +436 -0
  455. data/vendor/assets/javascripts_old/tinymce/plugins/spellchecker/img/wline.gif +0 -0
  456. data/vendor/assets/javascripts_old/tinymce/plugins/style/css/props.css +13 -0
  457. data/vendor/assets/javascripts_old/tinymce/plugins/style/editor_plugin.js +1 -0
  458. data/vendor/assets/javascripts_old/tinymce/plugins/style/editor_plugin_src.js +55 -0
  459. data/vendor/assets/javascripts_old/tinymce/plugins/style/js/props.js +635 -0
  460. data/vendor/assets/javascripts_old/tinymce/plugins/style/langs/de_dlg.js +1 -0
  461. data/vendor/assets/javascripts_old/tinymce/plugins/style/langs/en_dlg.js +1 -0
  462. data/vendor/assets/javascripts_old/tinymce/plugins/style/langs/es_dlg.js +1 -0
  463. data/vendor/assets/javascripts_old/tinymce/plugins/style/langs/et_dlg.js +1 -0
  464. data/vendor/assets/javascripts_old/tinymce/plugins/style/langs/fr_dlg.js +1 -0
  465. data/vendor/assets/javascripts_old/tinymce/plugins/style/langs/it_dlg.js +1 -0
  466. data/vendor/assets/javascripts_old/tinymce/plugins/style/langs/nl_dlg.js +1 -0
  467. data/vendor/assets/{javascripts → javascripts_old}/tinymce/plugins/style/langs/no_dlg.js +0 -0
  468. data/vendor/assets/javascripts_old/tinymce/plugins/style/langs/pl_dlg.js +1 -0
  469. data/vendor/assets/javascripts_old/tinymce/plugins/style/langs/pt_dlg.js +1 -0
  470. data/vendor/assets/javascripts_old/tinymce/plugins/style/langs/ru_dlg.js +1 -0
  471. data/vendor/assets/javascripts_old/tinymce/plugins/style/props.htm +840 -0
  472. data/vendor/assets/javascripts_old/tinymce/plugins/tabfocus/editor_plugin.js +1 -0
  473. data/vendor/assets/javascripts_old/tinymce/plugins/tabfocus/editor_plugin_src.js +122 -0
  474. data/vendor/assets/javascripts_old/tinymce/plugins/table/cell.htm +180 -0
  475. data/vendor/assets/javascripts_old/tinymce/plugins/table/css/cell.css +17 -0
  476. data/vendor/assets/javascripts_old/tinymce/plugins/table/css/row.css +25 -0
  477. data/vendor/assets/javascripts_old/tinymce/plugins/table/css/table.css +13 -0
  478. data/vendor/assets/javascripts_old/tinymce/plugins/table/editor_plugin.js +1 -0
  479. data/vendor/assets/javascripts_old/tinymce/plugins/table/editor_plugin_src.js +1408 -0
  480. data/vendor/assets/javascripts_old/tinymce/plugins/table/js/cell.js +319 -0
  481. data/vendor/assets/javascripts_old/tinymce/plugins/table/js/merge_cells.js +27 -0
  482. data/vendor/assets/javascripts_old/tinymce/plugins/table/js/row.js +237 -0
  483. data/vendor/assets/javascripts_old/tinymce/plugins/table/js/table.js +484 -0
  484. data/vendor/assets/javascripts_old/tinymce/plugins/table/langs/de_dlg.js +1 -0
  485. data/vendor/assets/javascripts_old/tinymce/plugins/table/langs/en_dlg.js +1 -0
  486. data/vendor/assets/javascripts_old/tinymce/plugins/table/langs/es_dlg.js +1 -0
  487. data/vendor/assets/javascripts_old/tinymce/plugins/table/langs/et_dlg.js +1 -0
  488. data/vendor/assets/javascripts_old/tinymce/plugins/table/langs/fr_dlg.js +1 -0
  489. data/vendor/assets/javascripts_old/tinymce/plugins/table/langs/it_dlg.js +1 -0
  490. data/vendor/assets/javascripts_old/tinymce/plugins/table/langs/nl_dlg.js +1 -0
  491. data/vendor/assets/{javascripts → javascripts_old}/tinymce/plugins/table/langs/no_dlg.js +0 -0
  492. data/vendor/assets/javascripts_old/tinymce/plugins/table/langs/pl_dlg.js +1 -0
  493. data/vendor/assets/javascripts_old/tinymce/plugins/table/langs/pt_dlg.js +1 -0
  494. data/vendor/assets/javascripts_old/tinymce/plugins/table/langs/ru_dlg.js +1 -0
  495. data/vendor/assets/javascripts_old/tinymce/plugins/table/merge_cells.htm +32 -0
  496. data/vendor/assets/javascripts_old/tinymce/plugins/table/row.htm +158 -0
  497. data/vendor/assets/javascripts_old/tinymce/plugins/table/table.htm +188 -0
  498. data/vendor/assets/javascripts_old/tinymce/plugins/template/blank.htm +12 -0
  499. data/vendor/assets/javascripts_old/tinymce/plugins/template/css/template.css +23 -0
  500. data/vendor/assets/javascripts_old/tinymce/plugins/template/editor_plugin.js +1 -0
  501. data/vendor/assets/javascripts_old/tinymce/plugins/template/editor_plugin_src.js +159 -0
  502. data/vendor/assets/javascripts_old/tinymce/plugins/template/js/template.js +106 -0
  503. data/vendor/assets/javascripts_old/tinymce/plugins/template/langs/en_dlg.js +1 -0
  504. data/vendor/assets/javascripts_old/tinymce/plugins/template/langs/pl_dlg.js +1 -0
  505. data/vendor/assets/javascripts_old/tinymce/plugins/template/template.htm +31 -0
  506. data/vendor/assets/javascripts_old/tinymce/plugins/visualchars/editor_plugin.js +1 -0
  507. data/vendor/assets/javascripts_old/tinymce/plugins/visualchars/editor_plugin_src.js +83 -0
  508. data/vendor/assets/javascripts_old/tinymce/plugins/wordcount/editor_plugin.js +1 -0
  509. data/vendor/assets/javascripts_old/tinymce/plugins/wordcount/editor_plugin_src.js +114 -0
  510. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/abbr.htm +142 -0
  511. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/acronym.htm +142 -0
  512. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/attributes.htm +149 -0
  513. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/cite.htm +142 -0
  514. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/css/attributes.css +11 -0
  515. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/css/popup.css +9 -0
  516. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/del.htm +162 -0
  517. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  518. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/editor_plugin_src.js +132 -0
  519. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/ins.htm +162 -0
  520. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/js/abbr.js +28 -0
  521. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/js/acronym.js +28 -0
  522. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/js/attributes.js +111 -0
  523. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/js/cite.js +28 -0
  524. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/js/del.js +53 -0
  525. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/js/element_common.js +229 -0
  526. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/js/ins.js +53 -0
  527. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/langs/de_dlg.js +1 -0
  528. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/langs/en_dlg.js +1 -0
  529. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/langs/es_dlg.js +1 -0
  530. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/langs/et_dlg.js +1 -0
  531. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/langs/fr_dlg.js +1 -0
  532. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/langs/it_dlg.js +1 -0
  533. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/langs/nl_dlg.js +1 -0
  534. data/vendor/assets/{javascripts → javascripts_old}/tinymce/plugins/xhtmlxtras/langs/no_dlg.js +0 -0
  535. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/langs/pl_dlg.js +1 -0
  536. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/langs/pt_dlg.js +1 -0
  537. data/vendor/assets/javascripts_old/tinymce/plugins/xhtmlxtras/langs/ru_dlg.js +1 -0
  538. data/vendor/assets/javascripts_old/tinymce/themes/advanced/about.htm +52 -0
  539. data/vendor/assets/javascripts_old/tinymce/themes/advanced/anchor.htm +26 -0
  540. data/vendor/assets/javascripts_old/tinymce/themes/advanced/charmap.htm +55 -0
  541. data/vendor/assets/javascripts_old/tinymce/themes/advanced/color_picker.htm +74 -0
  542. data/vendor/assets/javascripts_old/tinymce/themes/advanced/editor_template.js +1 -0
  543. data/vendor/assets/javascripts_old/tinymce/themes/advanced/editor_template_src.js +1362 -0
  544. data/vendor/assets/javascripts_old/tinymce/themes/advanced/image.htm +80 -0
  545. data/vendor/assets/javascripts_old/tinymce/themes/advanced/img/colorpicker.jpg +0 -0
  546. data/vendor/assets/javascripts_old/tinymce/themes/advanced/img/flash.gif +0 -0
  547. data/vendor/assets/javascripts_old/tinymce/themes/advanced/img/icons.gif +0 -0
  548. data/vendor/assets/javascripts_old/tinymce/themes/advanced/img/iframe.gif +0 -0
  549. data/vendor/assets/javascripts_old/tinymce/themes/advanced/img/pagebreak.gif +0 -0
  550. data/vendor/assets/javascripts_old/tinymce/themes/advanced/img/quicktime.gif +0 -0
  551. data/vendor/assets/javascripts_old/tinymce/themes/advanced/img/realmedia.gif +0 -0
  552. data/vendor/assets/javascripts_old/tinymce/themes/advanced/img/shockwave.gif +0 -0
  553. data/vendor/assets/javascripts_old/tinymce/themes/advanced/img/trans.gif +0 -0
  554. data/vendor/assets/javascripts_old/tinymce/themes/advanced/img/video.gif +0 -0
  555. data/vendor/assets/javascripts_old/tinymce/themes/advanced/img/windowsmedia.gif +0 -0
  556. data/vendor/assets/javascripts_old/tinymce/themes/advanced/js/about.js +73 -0
  557. data/vendor/assets/javascripts_old/tinymce/themes/advanced/js/anchor.js +43 -0
  558. data/vendor/assets/javascripts_old/tinymce/themes/advanced/js/charmap.js +363 -0
  559. data/vendor/assets/javascripts_old/tinymce/themes/advanced/js/color_picker.js +329 -0
  560. data/vendor/assets/javascripts_old/tinymce/themes/advanced/js/image.js +251 -0
  561. data/vendor/assets/javascripts_old/tinymce/themes/advanced/js/link.js +153 -0
  562. data/vendor/assets/javascripts_old/tinymce/themes/advanced/js/source_editor.js +56 -0
  563. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/de.js +1 -0
  564. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/de_dlg.js +1 -0
  565. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/en.js +1 -0
  566. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/en_dlg.js +1 -0
  567. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/es.js +1 -0
  568. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/es_dlg.js +1 -0
  569. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/et.js +1 -0
  570. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/et_dlg.js +1 -0
  571. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/fr.js +1 -0
  572. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/fr_dlg.js +1 -0
  573. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/it.js +1 -0
  574. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/it_dlg.js +1 -0
  575. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/nl.js +1 -0
  576. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/nl_dlg.js +1 -0
  577. data/vendor/assets/{javascripts → javascripts_old}/tinymce/themes/advanced/langs/no.js +0 -0
  578. data/vendor/assets/{javascripts → javascripts_old}/tinymce/themes/advanced/langs/no_dlg.js +0 -0
  579. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/pl.js +1 -0
  580. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/pl_dlg.js +1 -0
  581. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/pt.js +1 -0
  582. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/pt_dlg.js +1 -0
  583. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/ru.js +1 -0
  584. data/vendor/assets/javascripts_old/tinymce/themes/advanced/langs/ru_dlg.js +1 -0
  585. data/vendor/assets/javascripts_old/tinymce/themes/advanced/link.htm +57 -0
  586. data/vendor/assets/javascripts_old/tinymce/themes/advanced/shortcuts.htm +47 -0
  587. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/default/content.css +50 -0
  588. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/default/dialog.css +117 -0
  589. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/default/img/buttons.png +0 -0
  590. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/default/img/items.gif +0 -0
  591. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  592. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  593. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/default/img/progress.gif +0 -0
  594. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/default/img/tabs.gif +0 -0
  595. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/default/ui.css +214 -0
  596. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/highcontrast/content.css +24 -0
  597. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/highcontrast/dialog.css +105 -0
  598. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/highcontrast/ui.css +102 -0
  599. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/o2k7/content.css +48 -0
  600. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/o2k7/dialog.css +117 -0
  601. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  602. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  603. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  604. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/o2k7/ui.css +217 -0
  605. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  606. data/vendor/assets/javascripts_old/tinymce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  607. data/vendor/assets/javascripts_old/tinymce/themes/advanced/source_editor.htm +25 -0
  608. data/vendor/assets/javascripts_old/tinymce/themes/simple/editor_template.js +1 -0
  609. data/vendor/assets/javascripts_old/tinymce/themes/simple/editor_template_src.js +84 -0
  610. data/vendor/assets/javascripts_old/tinymce/themes/simple/img/icons.gif +0 -0
  611. data/vendor/assets/javascripts_old/tinymce/themes/simple/langs/en.js +1 -0
  612. data/vendor/assets/javascripts_old/tinymce/themes/simple/langs/pl.js +1 -0
  613. data/vendor/assets/javascripts_old/tinymce/themes/simple/skins/default/content.css +25 -0
  614. data/vendor/assets/javascripts_old/tinymce/themes/simple/skins/default/ui.css +32 -0
  615. data/vendor/assets/javascripts_old/tinymce/themes/simple/skins/o2k7/content.css +17 -0
  616. data/vendor/assets/javascripts_old/tinymce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  617. data/vendor/assets/javascripts_old/tinymce/themes/simple/skins/o2k7/ui.css +35 -0
  618. data/vendor/assets/javascripts_old/tinymce/tiny_mce.js +1 -0
  619. data/vendor/assets/{javascripts → javascripts_old}/tinymce/tiny_mce_jquery.js +0 -0
  620. data/vendor/assets/{javascripts → javascripts_old}/tinymce/tiny_mce_jquery_src.js +0 -0
  621. data/vendor/assets/javascripts_old/tinymce/tiny_mce_popup.js +5 -0
  622. data/vendor/assets/javascripts_old/tinymce/tiny_mce_src.js +16728 -0
  623. data/vendor/assets/javascripts_old/tinymce/utils/editable_selects.js +70 -0
  624. data/vendor/assets/javascripts_old/tinymce/utils/form_utils.js +210 -0
  625. data/vendor/assets/javascripts_old/tinymce/utils/mctabs.js +162 -0
  626. data/vendor/assets/javascripts_old/tinymce/utils/validate.js +252 -0
  627. metadata +437 -20
@@ -0,0 +1 @@
1
+ (function(){var e=tinymce.each,r=tinymce.dom.Event,g;function p(t,s){while(t&&(t.nodeType===8||(t.nodeType===3&&/^[ \t\n\r]*$/.test(t.nodeValue)))){t=s(t)}return t}function b(s){return p(s,function(t){return t.previousSibling})}function i(s){return p(s,function(t){return t.nextSibling})}function d(s,u,t){return s.dom.getParent(u,function(v){return tinymce.inArray(t,v)!==-1})}function n(s){return s&&(s.tagName==="OL"||s.tagName==="UL")}function c(u,v){var t,w,s;t=b(u.lastChild);while(n(t)){w=t;t=b(w.previousSibling)}if(w){s=v.create("li",{style:"list-style-type: none;"});v.split(u,w);v.insertAfter(s,w);s.appendChild(w);s.appendChild(w);u=s.previousSibling}return u}function m(t,s,u){t=a(t,s,u);return o(t,s,u)}function a(u,s,v){var t=b(u.previousSibling);if(t){return h(t,u,s?t:false,v)}else{return u}}function o(u,t,v){var s=i(u.nextSibling);if(s){return h(u,s,t?s:false,v)}else{return u}}function h(u,s,t,v){if(l(u,s,!!t,v)){return f(u,s,t)}else{if(u&&u.tagName==="LI"&&n(s)){u.appendChild(s)}}return s}function l(u,t,s,v){if(!u||!t){return false}else{if(u.tagName==="LI"&&t.tagName==="LI"){return t.style.listStyleType==="none"||j(t)}else{if(n(u)){return(u.tagName===t.tagName&&(s||u.style.listStyleType===t.style.listStyleType))||q(t)}else{return v&&u.tagName==="P"&&t.tagName==="P"}}}}function q(t){var s=i(t.firstChild),u=b(t.lastChild);return s&&u&&n(t)&&s===u&&(n(s)||s.style.listStyleType==="none"||j(s))}function j(u){var t=i(u.firstChild),s=b(u.lastChild);return t&&s&&t===s&&n(t)}function f(w,v,s){var u=b(w.lastChild),t=i(v.firstChild);if(w.tagName==="P"){w.appendChild(w.ownerDocument.createElement("br"))}while(v.firstChild){w.appendChild(v.firstChild)}if(s){w.style.listStyleType=s.style.listStyleType}v.parentNode.removeChild(v);h(u,t,false);return w}function k(t,u){var s;if(!u.is(t,"li,ol,ul")){s=u.getParent(t,"li");if(s){t=s}}return t}tinymce.create("tinymce.plugins.Lists",{init:function(y){var v="TABBING";var s="EMPTY";var I="ESCAPE";var z="PARAGRAPH";var M="UNKNOWN";var x=M;function E(T){return T.keyCode===tinymce.VK.TAB&&!(T.altKey||T.ctrlKey)&&(y.queryCommandState("InsertUnorderedList")||y.queryCommandState("InsertOrderedList"))}function D(){var T=y.selection.getRng();var U=T.startContainer;if(U.nodeType==3){return(T.endOffset==U.nodeValue.length)}else{if(U.nodeType==1){return T.endOffset==U.childNodes.length}}return false}function N(){var U=y.selection.getNode();var T=U.tagName==="P"&&U.parentNode.tagName==="LI"&&U.parentNode.lastChild===U;return y.selection.isCollapsed()&&T&&D()}function w(){var T=B();var V=T.parentNode.parentNode;var U=T.parentNode.lastChild===T;return U&&!t(V)&&O(T)}function t(T){if(n(T)){return T.parentNode&&T.parentNode.tagName==="LI"}else{return T.tagName==="LI"}}function F(){return y.selection.isCollapsed()&&O(B())}function B(){var T=y.selection.getStart();return((T.tagName=="BR"||T.tagName=="")&&T.parentNode.tagName=="LI")?T.parentNode:T}function O(T){var U=T.childNodes.length;if(T.tagName==="LI"){return U==0?true:U==1&&(T.firstChild.tagName==""||T.firstChild.tagName=="BR"||H(T))}return false}function H(T){var U=tinymce.grep(T.parentNode.childNodes,function(X){return X.tagName=="LI"});var V=T==U[U.length-1];var W=T.firstChild;return tinymce.isIE9&&V&&(W.nodeValue==String.fromCharCode(160)||W.nodeValue==String.fromCharCode(32))}function S(T){return T.keyCode===tinymce.VK.ENTER}function A(T){return S(T)&&!T.shiftKey}function L(T){if(E(T)){return v}else{if(A(T)&&w()){return I}else{if(A(T)&&F()){return s}else{if(A(T)&&N()){return z}else{return M}}}}}function C(T,U){if(x==v||x==s||tinymce.isGecko&&x==I){r.cancel(U)}}function J(V,X){if(x==z){var W=V.selection.getNode();var U=V.dom.create("li");var T=V.dom.getParent(W,"li");V.dom.insertAfter(U,T);if(tinyMCE.isIE8){U.appendChild(V.dom.create("&nbsp;"));V.selection.setCursorLocation(U,1)}else{if(tinyMCE.isGecko){setTimeout(function(){var Y=V.getDoc().createTextNode("\uFEFF");U.appendChild(Y);V.selection.setCursorLocation(U,0)},0)}else{V.selection.setCursorLocation(U,0)}}r.cancel(X)}}function u(W,Y){var ab;if(!tinymce.isGecko){return}var U=W.selection.getStart();if(Y.keyCode!=tinymce.VK.BACKSPACE||U.tagName!=="IMG"){return}function V(af){var ag=af.firstChild;var ae=null;do{if(!ag){break}if(ag.tagName==="LI"){ae=ag}}while(ag=ag.nextSibling);return ae}function ad(af,ae){while(af.childNodes.length>0){ae.appendChild(af.childNodes[0])}}ab=U.parentNode.previousSibling;if(!ab){return}var Z;if(ab.tagName==="UL"||ab.tagName==="OL"){Z=ab}else{if(ab.previousSibling&&(ab.previousSibling.tagName==="UL"||ab.previousSibling.tagName==="OL")){Z=ab.previousSibling}else{return}}var ac=V(Z);var T=W.dom.createRng();T.setStart(ac,1);T.setEnd(ac,1);W.selection.setRng(T);W.selection.collapse(true);var X=W.selection.getBookmark();var aa=U.parentNode.cloneNode(true);if(aa.tagName==="P"||aa.tagName==="DIV"){ad(aa,ac)}else{ac.appendChild(aa)}U.parentNode.parentNode.removeChild(U.parentNode);W.selection.moveToBookmark(X)}function G(T){var U=y.dom.getParent(T,"ol,ul");if(U!=null){var V=U.lastChild;V.appendChild(y.getDoc().createElement(""));y.selection.setCursorLocation(V,0)}}this.ed=y;y.addCommand("Indent",this.indent,this);y.addCommand("Outdent",this.outdent,this);y.addCommand("InsertUnorderedList",function(){this.applyList("UL","OL")},this);y.addCommand("InsertOrderedList",function(){this.applyList("OL","UL")},this);y.onInit.add(function(){y.editorCommands.addCommands({outdent:function(){var U=y.selection,V=y.dom;function T(W){W=V.getParent(W,V.isBlock);return W&&(parseInt(y.dom.getStyle(W,"margin-left")||0,10)+parseInt(y.dom.getStyle(W,"padding-left")||0,10))>0}return T(U.getStart())||T(U.getEnd())||y.queryCommandState("InsertOrderedList")||y.queryCommandState("InsertUnorderedList")}},"state")});y.onKeyUp.add(function(U,V){if(x==v){U.execCommand(V.shiftKey?"Outdent":"Indent",true,null);x=M;return r.cancel(V)}else{if(x==s){var T=B();var X=U.settings.list_outdent_on_enter===true||V.shiftKey;U.execCommand(X?"Outdent":"Indent",true,null);if(tinymce.isIE){G(T)}return r.cancel(V)}else{if(x==I){if(tinymce.isIE8){var W=U.getDoc().createTextNode("\uFEFF");U.selection.getNode().appendChild(W)}else{if(tinymce.isIE9||tinymce.isGecko){U.execCommand("Outdent");return r.cancel(V)}}}}}});function K(U,T){var V=y.getDoc().createTextNode("\uFEFF");U.insertBefore(V,T);y.selection.setCursorLocation(V,0);y.execCommand("mceRepaint")}function Q(U,W){if(S(W)){var T=B();if(T){var V=T.parentNode;var X=V&&V.parentNode;if(X&&X.nodeName=="LI"&&X.firstChild==V&&T==V.firstChild){K(X,V)}}}}function R(U,W){if(S(W)){var T=B();if(U.dom.select("ul li",T).length===1){var V=T.firstChild;K(T,V)}}}function P(U,Y){function V(ac,Z){var ab=[];var ad=new tinymce.dom.TreeWalker(Z,ac);for(var aa=ad.current();aa;aa=ad.next()){if(U.dom.is(aa,"ol,ul,li")){ab.push(aa)}}return ab}if(Y.keyCode==tinymce.VK.BACKSPACE){var T=B();if(T){var X=U.dom.getParent(T,"ol,ul");if(X&&X.firstChild===T){var W=V(X,T);U.execCommand("Outdent",false,W);U.undoManager.add();return r.cancel(Y)}}}}y.onKeyDown.add(function(T,U){x=L(U)});y.onKeyDown.add(C);y.onKeyDown.add(u);y.onKeyDown.add(J);if(tinymce.isGecko){y.onKeyUp.add(Q)}if(tinymce.isIE8){y.onKeyUp.add(R)}if(tinymce.isGecko||tinymce.isWebKit){y.onKeyDown.add(P)}},applyList:function(y,v){var C=this,z=C.ed,I=z.dom,s=[],H=false,u=false,w=false,B,G=z.selection.getSelectedBlocks();function E(t){if(t&&t.tagName==="BR"){I.remove(t)}}function F(M){var N=I.create(y),t;function L(O){if(O.style.marginLeft||O.style.paddingLeft){C.adjustPaddingFunction(false)(O)}}if(M.tagName==="LI"){}else{if(M.tagName==="P"||M.tagName==="DIV"||M.tagName==="BODY"){K(M,function(P,O){J(P,O,M.tagName==="BODY"?null:P.parentNode);t=P.parentNode;L(t);E(O)});if(t){if(t.tagName==="LI"&&(M.tagName==="P"||G.length>1)){I.split(t.parentNode.parentNode,t.parentNode)}m(t.parentNode,true)}return}else{t=I.create("li");I.insertAfter(t,M);t.appendChild(M);L(M);M=t}}I.insertAfter(N,M);N.appendChild(M);m(N,true);s.push(M)}function J(P,L,N){var t,O=P,M;while(!I.isBlock(P.parentNode)&&P.parentNode!==I.getRoot()){P=I.split(P.parentNode,P.previousSibling);P=P.nextSibling;O=P}if(N){t=N.cloneNode(true);P.parentNode.insertBefore(t,P);while(t.firstChild){I.remove(t.firstChild)}t=I.rename(t,"li")}else{t=I.create("li");P.parentNode.insertBefore(t,P)}while(O&&O!=L){M=O.nextSibling;t.appendChild(O);O=M}if(t.childNodes.length===0){t.innerHTML='<br _mce_bogus="1" />'}F(t)}function K(Q,T){var N,R,O=3,L=1,t="br,ul,ol,p,div,h1,h2,h3,h4,h5,h6,table,blockquote,address,pre,form,center,dl";function P(X,U){var V=I.createRng(),W;g.keep=true;z.selection.moveToBookmark(g);g.keep=false;W=z.selection.getRng(true);if(!U){U=X.parentNode.lastChild}V.setStartBefore(X);V.setEndAfter(U);return !(V.compareBoundaryPoints(O,W)>0||V.compareBoundaryPoints(L,W)<=0)}function S(U){if(U.nextSibling){return U.nextSibling}if(!I.isBlock(U.parentNode)&&U.parentNode!==I.getRoot()){return S(U.parentNode)}}N=Q.firstChild;var M=false;e(I.select(t,Q),function(U){if(U.hasAttribute&&U.hasAttribute("_mce_bogus")){return true}if(P(N,U)){I.addClass(U,"_mce_tagged_br");N=S(U)}});M=(N&&P(N,undefined));N=Q.firstChild;e(I.select(t,Q),function(V){var U=S(V);if(V.hasAttribute&&V.hasAttribute("_mce_bogus")){return true}if(I.hasClass(V,"_mce_tagged_br")){T(N,V,R);R=null}else{R=V}N=U});if(M){T(N,undefined,R)}}function D(t){K(t,function(M,L,N){J(M,L);E(L);E(N)})}function A(t){if(tinymce.inArray(s,t)!==-1){return}if(t.parentNode.tagName===v){I.split(t.parentNode,t);F(t);o(t.parentNode,false)}s.push(t)}function x(M){var O,N,L,t;if(tinymce.inArray(s,M)!==-1){return}M=c(M,I);while(I.is(M.parentNode,"ol,ul,li")){I.split(M.parentNode,M)}s.push(M);M=I.rename(M,"p");L=m(M,false,z.settings.force_br_newlines);if(L===M){O=M.firstChild;while(O){if(I.isBlock(O)){O=I.split(O.parentNode,O);t=true;N=O.nextSibling&&O.nextSibling.firstChild}else{N=O.nextSibling;if(t&&O.tagName==="BR"){I.remove(O)}t=false}O=N}}}e(G,function(t){t=k(t,I);if(t.tagName===v||(t.tagName==="LI"&&t.parentNode.tagName===v)){u=true}else{if(t.tagName===y||(t.tagName==="LI"&&t.parentNode.tagName===y)){H=true}else{w=true}}});if(w&&!H||u||G.length===0){B={LI:A,H1:F,H2:F,H3:F,H4:F,H5:F,H6:F,P:F,BODY:F,DIV:G.length>1?F:D,defaultAction:D,elements:this.selectedBlocks()}}else{B={defaultAction:x,elements:this.selectedBlocks()}}this.process(B)},indent:function(){var u=this.ed,w=u.dom,x=[];function s(z){var y=w.create("li",{style:"list-style-type: none;"});w.insertAfter(y,z);return y}function t(B){var y=s(B),D=w.getParent(B,"ol,ul"),C=D.tagName,E=w.getStyle(D,"list-style-type"),A={},z;if(E!==""){A.style="list-style-type: "+E+";"}z=w.create(C,A);y.appendChild(z);return z}function v(z){if(!d(u,z,x)){z=c(z,w);var y=t(z);y.appendChild(z);m(y.parentNode,false);m(y,false);x.push(z)}}this.process({LI:v,defaultAction:this.adjustPaddingFunction(true),elements:this.selectedBlocks()})},outdent:function(y,x){var w=this,u=w.ed,z=u.dom,s=[];function A(t){var C,B,D;if(!d(u,t,s)){if(z.getStyle(t,"margin-left")!==""||z.getStyle(t,"padding-left")!==""){return w.adjustPaddingFunction(false)(t)}D=z.getStyle(t,"text-align",true);if(D==="center"||D==="right"){z.setStyle(t,"text-align","left");return}t=c(t,z);C=t.parentNode;B=t.parentNode.parentNode;if(B.tagName==="P"){z.split(B,t.parentNode)}else{z.split(C,t);if(B.tagName==="LI"){z.split(B,t)}else{if(!z.is(B,"ol,ul")){z.rename(t,"p")}}}s.push(t)}}var v=x&&tinymce.is(x,"array")?x:this.selectedBlocks();this.process({LI:A,defaultAction:this.adjustPaddingFunction(false),elements:v});e(s,m)},process:function(y){var F=this,w=F.ed.selection,z=F.ed.dom,E,u;function B(t){var s=tinymce.grep(t.childNodes,function(H){return !(H.nodeName==="BR"||H.nodeName==="SPAN"&&z.getAttrib(H,"data-mce-type")=="bookmark"||H.nodeType==3&&(H.nodeValue==String.fromCharCode(160)||H.nodeValue==""))});return s.length===0}function x(s){z.removeClass(s,"_mce_act_on");if(!s||s.nodeType!==1||E.length>1&&B(s)){return}s=k(s,z);var t=y[s.tagName];if(!t){t=y.defaultAction}t(s)}function v(s){F.splitSafeEach(s.childNodes,x)}function C(s,t){return t>=0&&s.hasChildNodes()&&t<s.childNodes.length&&s.childNodes[t].tagName==="BR"}function D(){var t=w.getNode();var s=z.getParent(t,"td");return s!==null}E=y.elements;u=w.getRng(true);if(!u.collapsed){if(C(u.endContainer,u.endOffset-1)){u.setEnd(u.endContainer,u.endOffset-1);w.setRng(u)}if(C(u.startContainer,u.startOffset)){u.setStart(u.startContainer,u.startOffset+1);w.setRng(u)}}if(tinymce.isIE8){var G=F.ed.selection.getNode();if(G.tagName==="LI"&&!(G.parentNode.lastChild===G)){var A=F.ed.getDoc().createTextNode("\uFEFF");G.appendChild(A)}}g=w.getBookmark();y.OL=y.UL=v;F.splitSafeEach(E,x);w.moveToBookmark(g);g=null;if(!D()){F.ed.execCommand("mceRepaint")}},splitSafeEach:function(t,s){if(tinymce.isGecko&&(/Firefox\/[12]\.[0-9]/.test(navigator.userAgent)||/Firefox\/3\.[0-4]/.test(navigator.userAgent))){this.classBasedEach(t,s)}else{e(t,s)}},classBasedEach:function(v,u){var w=this.ed.dom,s,t;e(v,function(x){w.addClass(x,"_mce_act_on")});s=w.select("._mce_act_on");while(s.length>0){t=s.shift();w.removeClass(t,"_mce_act_on");u(t);s=w.select("._mce_act_on")}},adjustPaddingFunction:function(u){var s,v,t=this.ed;s=t.settings.indentation;v=/[a-z%]+/i.exec(s);s=parseInt(s,10);return function(w){var y,x;y=parseInt(t.dom.getStyle(w,"margin-left")||0,10)+parseInt(t.dom.getStyle(w,"padding-left")||0,10);if(u){x=y+s}else{x=y-s}t.dom.setStyle(w,"padding-left","");t.dom.setStyle(w,"margin-left",x>0?x+v:"")}},selectedBlocks:function(){var s=this.ed;var t=s.selection.getSelectedBlocks();return t.length==0?[s.dom.getRoot()]:t},getInfo:function(){return{longname:"Lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/lists",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("lists",tinymce.plugins.Lists)}());
@@ -0,0 +1,925 @@
1
+ /**
2
+ * editor_plugin_src.js
3
+ *
4
+ * Copyright 2011, Moxiecode Systems AB
5
+ * Released under LGPL License.
6
+ *
7
+ * License: http://tinymce.moxiecode.com/license
8
+ * Contributing: http://tinymce.moxiecode.com/contributing
9
+ */
10
+
11
+ (function() {
12
+ var each = tinymce.each, Event = tinymce.dom.Event, bookmark;
13
+
14
+ // Skips text nodes that only contain whitespace since they aren't semantically important.
15
+ function skipWhitespaceNodes(e, next) {
16
+ while (e && (e.nodeType === 8 || (e.nodeType === 3 && /^[ \t\n\r]*$/.test(e.nodeValue)))) {
17
+ e = next(e);
18
+ }
19
+ return e;
20
+ }
21
+
22
+ function skipWhitespaceNodesBackwards(e) {
23
+ return skipWhitespaceNodes(e, function(e) {
24
+ return e.previousSibling;
25
+ });
26
+ }
27
+
28
+ function skipWhitespaceNodesForwards(e) {
29
+ return skipWhitespaceNodes(e, function(e) {
30
+ return e.nextSibling;
31
+ });
32
+ }
33
+
34
+ function hasParentInList(ed, e, list) {
35
+ return ed.dom.getParent(e, function(p) {
36
+ return tinymce.inArray(list, p) !== -1;
37
+ });
38
+ }
39
+
40
+ function isList(e) {
41
+ return e && (e.tagName === 'OL' || e.tagName === 'UL');
42
+ }
43
+
44
+ function splitNestedLists(element, dom) {
45
+ var tmp, nested, wrapItem;
46
+ tmp = skipWhitespaceNodesBackwards(element.lastChild);
47
+ while (isList(tmp)) {
48
+ nested = tmp;
49
+ tmp = skipWhitespaceNodesBackwards(nested.previousSibling);
50
+ }
51
+ if (nested) {
52
+ wrapItem = dom.create('li', { style: 'list-style-type: none;'});
53
+ dom.split(element, nested);
54
+ dom.insertAfter(wrapItem, nested);
55
+ wrapItem.appendChild(nested);
56
+ wrapItem.appendChild(nested);
57
+ element = wrapItem.previousSibling;
58
+ }
59
+ return element;
60
+ }
61
+
62
+ function attemptMergeWithAdjacent(e, allowDifferentListStyles, mergeParagraphs) {
63
+ e = attemptMergeWithPrevious(e, allowDifferentListStyles, mergeParagraphs);
64
+ return attemptMergeWithNext(e, allowDifferentListStyles, mergeParagraphs);
65
+ }
66
+
67
+ function attemptMergeWithPrevious(e, allowDifferentListStyles, mergeParagraphs) {
68
+ var prev = skipWhitespaceNodesBackwards(e.previousSibling);
69
+ if (prev) {
70
+ return attemptMerge(prev, e, allowDifferentListStyles ? prev : false, mergeParagraphs);
71
+ } else {
72
+ return e;
73
+ }
74
+ }
75
+
76
+ function attemptMergeWithNext(e, allowDifferentListStyles, mergeParagraphs) {
77
+ var next = skipWhitespaceNodesForwards(e.nextSibling);
78
+ if (next) {
79
+ return attemptMerge(e, next, allowDifferentListStyles ? next : false, mergeParagraphs);
80
+ } else {
81
+ return e;
82
+ }
83
+ }
84
+
85
+ function attemptMerge(e1, e2, differentStylesMasterElement, mergeParagraphs) {
86
+ if (canMerge(e1, e2, !!differentStylesMasterElement, mergeParagraphs)) {
87
+ return merge(e1, e2, differentStylesMasterElement);
88
+ } else if (e1 && e1.tagName === 'LI' && isList(e2)) {
89
+ // Fix invalidly nested lists.
90
+ e1.appendChild(e2);
91
+ }
92
+ return e2;
93
+ }
94
+
95
+ function canMerge(e1, e2, allowDifferentListStyles, mergeParagraphs) {
96
+ if (!e1 || !e2) {
97
+ return false;
98
+ } else if (e1.tagName === 'LI' && e2.tagName === 'LI') {
99
+ return e2.style.listStyleType === 'none' || containsOnlyAList(e2);
100
+ } else if (isList(e1)) {
101
+ return (e1.tagName === e2.tagName && (allowDifferentListStyles || e1.style.listStyleType === e2.style.listStyleType)) || isListForIndent(e2);
102
+ } else return mergeParagraphs && e1.tagName === 'P' && e2.tagName === 'P';
103
+ }
104
+
105
+ function isListForIndent(e) {
106
+ var firstLI = skipWhitespaceNodesForwards(e.firstChild), lastLI = skipWhitespaceNodesBackwards(e.lastChild);
107
+ return firstLI && lastLI && isList(e) && firstLI === lastLI && (isList(firstLI) || firstLI.style.listStyleType === 'none' || containsOnlyAList(firstLI));
108
+ }
109
+
110
+ function containsOnlyAList(e) {
111
+ var firstChild = skipWhitespaceNodesForwards(e.firstChild), lastChild = skipWhitespaceNodesBackwards(e.lastChild);
112
+ return firstChild && lastChild && firstChild === lastChild && isList(firstChild);
113
+ }
114
+
115
+ function merge(e1, e2, masterElement) {
116
+ var lastOriginal = skipWhitespaceNodesBackwards(e1.lastChild), firstNew = skipWhitespaceNodesForwards(e2.firstChild);
117
+ if (e1.tagName === 'P') {
118
+ e1.appendChild(e1.ownerDocument.createElement('br'));
119
+ }
120
+ while (e2.firstChild) {
121
+ e1.appendChild(e2.firstChild);
122
+ }
123
+ if (masterElement) {
124
+ e1.style.listStyleType = masterElement.style.listStyleType;
125
+ }
126
+ e2.parentNode.removeChild(e2);
127
+ attemptMerge(lastOriginal, firstNew, false);
128
+ return e1;
129
+ }
130
+
131
+ function findItemToOperateOn(e, dom) {
132
+ var item;
133
+ if (!dom.is(e, 'li,ol,ul')) {
134
+ item = dom.getParent(e, 'li');
135
+ if (item) {
136
+ e = item;
137
+ }
138
+ }
139
+ return e;
140
+ }
141
+
142
+ tinymce.create('tinymce.plugins.Lists', {
143
+ init: function(ed) {
144
+ var LIST_TABBING = 'TABBING';
145
+ var LIST_EMPTY_ITEM = 'EMPTY';
146
+ var LIST_ESCAPE = 'ESCAPE';
147
+ var LIST_PARAGRAPH = 'PARAGRAPH';
148
+ var LIST_UNKNOWN = 'UNKNOWN';
149
+ var state = LIST_UNKNOWN;
150
+
151
+ function isTabInList(e) {
152
+ // Don't indent on Ctrl+Tab or Alt+Tab
153
+ return e.keyCode === tinymce.VK.TAB && !(e.altKey || e.ctrlKey) &&
154
+ (ed.queryCommandState('InsertUnorderedList') || ed.queryCommandState('InsertOrderedList'));
155
+ }
156
+
157
+ function isCursorAtEndOfContainer() {
158
+ var range = ed.selection.getRng();
159
+ var startContainer = range.startContainer;
160
+ if (startContainer.nodeType == 3) {
161
+ return (range.endOffset == startContainer.nodeValue.length);
162
+ } else if (startContainer.nodeType == 1) {
163
+ return range.endOffset == startContainer.childNodes.length;
164
+ }
165
+ return false;
166
+ }
167
+
168
+ // If we are at the end of a paragraph in a list item, pressing enter should create a new list item instead of a new paragraph.
169
+ function isEndOfParagraph() {
170
+ var node = ed.selection.getNode();
171
+ var isLastParagraphOfLi = node.tagName === 'P' && node.parentNode.tagName === 'LI' && node.parentNode.lastChild === node;
172
+ return ed.selection.isCollapsed() && isLastParagraphOfLi && isCursorAtEndOfContainer();
173
+ }
174
+
175
+ function isOnLastListItem() {
176
+ var li = getLi();
177
+ var grandParent = li.parentNode.parentNode;
178
+ var isLastItem = li.parentNode.lastChild === li;
179
+ return isLastItem && !isNestedList(grandParent) && isEmptyListItem(li);
180
+ }
181
+
182
+ function isNestedList(grandParent) {
183
+ if (isList(grandParent)) {
184
+ return grandParent.parentNode && grandParent.parentNode.tagName === 'LI';
185
+ } else {
186
+ return grandParent.tagName === 'LI';
187
+ }
188
+ }
189
+
190
+ function isInEmptyListItem() {
191
+ return ed.selection.isCollapsed() && isEmptyListItem(getLi());
192
+ }
193
+
194
+ function getLi() {
195
+ var n = ed.selection.getStart();
196
+ // Get start will return BR if the LI only contains a BR or an empty element as we use these to fix caret position
197
+ return ((n.tagName == 'BR' || n.tagName == '') && n.parentNode.tagName == 'LI') ? n.parentNode : n;
198
+ }
199
+
200
+ function isEmptyListItem(li) {
201
+ var numChildren = li.childNodes.length;
202
+ if (li.tagName === 'LI') {
203
+ return numChildren == 0 ? true : numChildren == 1 && (li.firstChild.tagName == '' || li.firstChild.tagName == 'BR' || isEmptyIE9Li(li));
204
+ }
205
+ return false;
206
+ }
207
+
208
+ function isEmptyIE9Li(li) {
209
+ // only consider this to be last item if there is no list item content or that content is nbsp or space since IE9 creates these
210
+ var lis = tinymce.grep(li.parentNode.childNodes, function(n) {return n.tagName == 'LI'});
211
+ var isLastLi = li == lis[lis.length - 1];
212
+ var child = li.firstChild;
213
+ return tinymce.isIE9 && isLastLi && (child.nodeValue == String.fromCharCode(160) || child.nodeValue == String.fromCharCode(32));
214
+ }
215
+
216
+ function isEnter(e) {
217
+ return e.keyCode === tinymce.VK.ENTER;
218
+ }
219
+
220
+ function isEnterWithoutShift(e) {
221
+ return isEnter(e) && !e.shiftKey;
222
+ }
223
+
224
+ function getListKeyState(e) {
225
+ if (isTabInList(e)) {
226
+ return LIST_TABBING;
227
+ } else if (isEnterWithoutShift(e) && isOnLastListItem()) {
228
+ return LIST_ESCAPE;
229
+ } else if (isEnterWithoutShift(e) && isInEmptyListItem()) {
230
+ return LIST_EMPTY_ITEM;
231
+ } else if (isEnterWithoutShift(e) && isEndOfParagraph()) {
232
+ return LIST_PARAGRAPH;
233
+ } else {
234
+ return LIST_UNKNOWN;
235
+ }
236
+ }
237
+
238
+ function cancelDefaultEvents(ed, e) {
239
+ // list escape is done manually using outdent as it does not create paragraphs correctly in td's
240
+ if (state == LIST_TABBING || state == LIST_EMPTY_ITEM || tinymce.isGecko && state == LIST_ESCAPE) {
241
+ Event.cancel(e);
242
+ }
243
+ }
244
+
245
+ // Creates a new list item after the current selection's list item parent
246
+ function createNewLi(ed, e) {
247
+ if (state == LIST_PARAGRAPH) {
248
+ var node = ed.selection.getNode();
249
+ var li = ed.dom.create("li");
250
+ var parentLi = ed.dom.getParent(node, 'li');
251
+ ed.dom.insertAfter(li, parentLi);
252
+
253
+ // Move caret to new list element.
254
+ if (tinyMCE.isIE8) {
255
+ li.appendChild(ed.dom.create("&nbsp;")); // IE needs an element within the bullet point
256
+ ed.selection.setCursorLocation(li, 1);
257
+ } else if (tinyMCE.isGecko) {
258
+ // This setTimeout is a hack as FF behaves badly if there is no content after the bullet point
259
+ setTimeout(function () {
260
+ var n = ed.getDoc().createTextNode('\uFEFF');
261
+ li.appendChild(n);
262
+ ed.selection.setCursorLocation(li, 0);
263
+ }, 0);
264
+ } else {
265
+ ed.selection.setCursorLocation(li, 0);
266
+ }
267
+ Event.cancel(e);
268
+ }
269
+ }
270
+
271
+ function imageJoiningListItem(ed, e) {
272
+ var prevSibling;
273
+
274
+ if (!tinymce.isGecko)
275
+ return;
276
+
277
+ var n = ed.selection.getStart();
278
+ if (e.keyCode != tinymce.VK.BACKSPACE || n.tagName !== 'IMG')
279
+ return;
280
+
281
+ function lastLI(node) {
282
+ var child = node.firstChild;
283
+ var li = null;
284
+ do {
285
+ if (!child)
286
+ break;
287
+
288
+ if (child.tagName === 'LI')
289
+ li = child;
290
+ } while (child = child.nextSibling);
291
+
292
+ return li;
293
+ }
294
+
295
+ function addChildren(parentNode, destination) {
296
+ while (parentNode.childNodes.length > 0)
297
+ destination.appendChild(parentNode.childNodes[0]);
298
+ }
299
+
300
+ // Check if there is a previous sibling
301
+ prevSibling = n.parentNode.previousSibling;
302
+ if (!prevSibling)
303
+ return;
304
+
305
+ var ul;
306
+ if (prevSibling.tagName === 'UL' || prevSibling.tagName === 'OL')
307
+ ul = prevSibling;
308
+ else if (prevSibling.previousSibling && (prevSibling.previousSibling.tagName === 'UL' || prevSibling.previousSibling.tagName === 'OL'))
309
+ ul = prevSibling.previousSibling;
310
+ else
311
+ return;
312
+
313
+ var li = lastLI(ul);
314
+
315
+ // move the caret to the end of the list item
316
+ var rng = ed.dom.createRng();
317
+ rng.setStart(li, 1);
318
+ rng.setEnd(li, 1);
319
+ ed.selection.setRng(rng);
320
+ ed.selection.collapse(true);
321
+
322
+ // save a bookmark at the end of the list item
323
+ var bookmark = ed.selection.getBookmark();
324
+
325
+ // copy the image an its text to the list item
326
+ var clone = n.parentNode.cloneNode(true);
327
+ if (clone.tagName === 'P' || clone.tagName === 'DIV')
328
+ addChildren(clone, li);
329
+ else
330
+ li.appendChild(clone);
331
+
332
+ // remove the old copy of the image
333
+ n.parentNode.parentNode.removeChild(n.parentNode);
334
+
335
+ // move the caret where we saved the bookmark
336
+ ed.selection.moveToBookmark(bookmark);
337
+ }
338
+
339
+ // fix the cursor position to ensure it is correct in IE
340
+ function setCursorPositionToOriginalLi(li) {
341
+ var list = ed.dom.getParent(li, 'ol,ul');
342
+ if (list != null) {
343
+ var lastLi = list.lastChild;
344
+ lastLi.appendChild(ed.getDoc().createElement(''));
345
+ ed.selection.setCursorLocation(lastLi, 0);
346
+ }
347
+ }
348
+
349
+ this.ed = ed;
350
+ ed.addCommand('Indent', this.indent, this);
351
+ ed.addCommand('Outdent', this.outdent, this);
352
+ ed.addCommand('InsertUnorderedList', function() {
353
+ this.applyList('UL', 'OL');
354
+ }, this);
355
+ ed.addCommand('InsertOrderedList', function() {
356
+ this.applyList('OL', 'UL');
357
+ }, this);
358
+
359
+ ed.onInit.add(function() {
360
+ ed.editorCommands.addCommands({
361
+ 'outdent': function() {
362
+ var sel = ed.selection, dom = ed.dom;
363
+
364
+ function hasStyleIndent(n) {
365
+ n = dom.getParent(n, dom.isBlock);
366
+ return n && (parseInt(ed.dom.getStyle(n, 'margin-left') || 0, 10) + parseInt(ed.dom.getStyle(n, 'padding-left') || 0, 10)) > 0;
367
+ }
368
+
369
+ return hasStyleIndent(sel.getStart()) || hasStyleIndent(sel.getEnd()) || ed.queryCommandState('InsertOrderedList') || ed.queryCommandState('InsertUnorderedList');
370
+ }
371
+ }, 'state');
372
+ });
373
+
374
+ ed.onKeyUp.add(function(ed, e) {
375
+ if (state == LIST_TABBING) {
376
+ ed.execCommand(e.shiftKey ? 'Outdent' : 'Indent', true, null);
377
+ state = LIST_UNKNOWN;
378
+ return Event.cancel(e);
379
+ } else if (state == LIST_EMPTY_ITEM) {
380
+ var li = getLi();
381
+ var shouldOutdent = ed.settings.list_outdent_on_enter === true || e.shiftKey;
382
+ ed.execCommand(shouldOutdent ? 'Outdent' : 'Indent', true, null);
383
+ if (tinymce.isIE) {
384
+ setCursorPositionToOriginalLi(li);
385
+ }
386
+
387
+ return Event.cancel(e);
388
+ } else if (state == LIST_ESCAPE) {
389
+ if (tinymce.isIE8) {
390
+ // append a zero sized nbsp so that caret is positioned correctly in IE8 after escaping and applying formatting.
391
+ // if there is no text then applying formatting for e.g a H1 to the P tag immediately following list after
392
+ // escaping from it will cause the caret to be positioned on the last li instead of staying the in P tag.
393
+ var n = ed.getDoc().createTextNode('\uFEFF');
394
+ ed.selection.getNode().appendChild(n);
395
+ } else if (tinymce.isIE9 || tinymce.isGecko) {
396
+ // IE9 does not escape the list so we use outdent to do this and cancel the default behaviour
397
+ // Gecko does not create a paragraph outdenting inside a TD so default behaviour is cancelled and we outdent ourselves
398
+ ed.execCommand('Outdent');
399
+ return Event.cancel(e);
400
+ }
401
+ }
402
+ });
403
+
404
+ function fixListItem(parent, reference) {
405
+ // a zero-sized non-breaking space is placed in the empty list item so that the nested list is
406
+ // displayed on the below line instead of next to it
407
+ var n = ed.getDoc().createTextNode('\uFEFF');
408
+ parent.insertBefore(n, reference);
409
+ ed.selection.setCursorLocation(n, 0);
410
+ // repaint to remove rendering artifact. only visible when creating new list
411
+ ed.execCommand('mceRepaint');
412
+ }
413
+
414
+ function fixIndentedListItemForGecko(ed, e) {
415
+ if (isEnter(e)) {
416
+ var li = getLi();
417
+ if (li) {
418
+ var parent = li.parentNode;
419
+ var grandParent = parent && parent.parentNode;
420
+ if (grandParent && grandParent.nodeName == 'LI' && grandParent.firstChild == parent && li == parent.firstChild) {
421
+ fixListItem(grandParent, parent);
422
+ }
423
+ }
424
+ }
425
+ }
426
+
427
+ function fixIndentedListItemForIE8(ed, e) {
428
+ if (isEnter(e)) {
429
+ var li = getLi();
430
+ if (ed.dom.select('ul li', li).length === 1) {
431
+ var list = li.firstChild;
432
+ fixListItem(li, list);
433
+ }
434
+ }
435
+ }
436
+
437
+ function fixDeletingFirstCharOfList(ed, e) {
438
+ function listElements(list, li) {
439
+ var elements = [];
440
+ var walker = new tinymce.dom.TreeWalker(li, list);
441
+ for (var node = walker.current(); node; node = walker.next()) {
442
+ if (ed.dom.is(node, 'ol,ul,li')) {
443
+ elements.push(node);
444
+ }
445
+ }
446
+ return elements;
447
+ }
448
+
449
+ if (e.keyCode == tinymce.VK.BACKSPACE) {
450
+ var li = getLi();
451
+ if (li) {
452
+ var list = ed.dom.getParent(li, 'ol,ul');
453
+ if (list && list.firstChild === li) {
454
+ var elements = listElements(list, li);
455
+ ed.execCommand("Outdent", false, elements);
456
+ ed.undoManager.add();
457
+ return Event.cancel(e);
458
+ }
459
+ }
460
+ }
461
+ }
462
+
463
+ ed.onKeyDown.add(function(_, e) { state = getListKeyState(e); });
464
+ ed.onKeyDown.add(cancelDefaultEvents);
465
+ ed.onKeyDown.add(imageJoiningListItem);
466
+ ed.onKeyDown.add(createNewLi);
467
+
468
+ if (tinymce.isGecko) {
469
+ ed.onKeyUp.add(fixIndentedListItemForGecko);
470
+ }
471
+ if (tinymce.isIE8) {
472
+ ed.onKeyUp.add(fixIndentedListItemForIE8);
473
+ }
474
+ if (tinymce.isGecko || tinymce.isWebKit) {
475
+ ed.onKeyDown.add(fixDeletingFirstCharOfList);
476
+ }
477
+ },
478
+
479
+ applyList: function(targetListType, oppositeListType) {
480
+ var t = this, ed = t.ed, dom = ed.dom, applied = [], hasSameType = false, hasOppositeType = false, hasNonList = false, actions,
481
+ selectedBlocks = ed.selection.getSelectedBlocks();
482
+
483
+ function cleanupBr(e) {
484
+ if (e && e.tagName === 'BR') {
485
+ dom.remove(e);
486
+ }
487
+ }
488
+
489
+ function makeList(element) {
490
+ var list = dom.create(targetListType), li;
491
+
492
+ function adjustIndentForNewList(element) {
493
+ // If there's a margin-left, outdent one level to account for the extra list margin.
494
+ if (element.style.marginLeft || element.style.paddingLeft) {
495
+ t.adjustPaddingFunction(false)(element);
496
+ }
497
+ }
498
+
499
+ if (element.tagName === 'LI') {
500
+ // No change required.
501
+ } else if (element.tagName === 'P' || element.tagName === 'DIV' || element.tagName === 'BODY') {
502
+ processBrs(element, function(startSection, br) {
503
+ doWrapList(startSection, br, element.tagName === 'BODY' ? null : startSection.parentNode);
504
+ li = startSection.parentNode;
505
+ adjustIndentForNewList(li);
506
+ cleanupBr(br);
507
+ });
508
+ if (li) {
509
+ if (li.tagName === 'LI' && (element.tagName === 'P' || selectedBlocks.length > 1)) {
510
+ dom.split(li.parentNode.parentNode, li.parentNode);
511
+ }
512
+ attemptMergeWithAdjacent(li.parentNode, true);
513
+ }
514
+ return;
515
+ } else {
516
+ // Put the list around the element.
517
+ li = dom.create('li');
518
+ dom.insertAfter(li, element);
519
+ li.appendChild(element);
520
+ adjustIndentForNewList(element);
521
+ element = li;
522
+ }
523
+ dom.insertAfter(list, element);
524
+ list.appendChild(element);
525
+ attemptMergeWithAdjacent(list, true);
526
+ applied.push(element);
527
+ }
528
+
529
+ function doWrapList(start, end, template) {
530
+ var li, n = start, tmp;
531
+ while (!dom.isBlock(start.parentNode) && start.parentNode !== dom.getRoot()) {
532
+ start = dom.split(start.parentNode, start.previousSibling);
533
+ start = start.nextSibling;
534
+ n = start;
535
+ }
536
+ if (template) {
537
+ li = template.cloneNode(true);
538
+ start.parentNode.insertBefore(li, start);
539
+ while (li.firstChild) dom.remove(li.firstChild);
540
+ li = dom.rename(li, 'li');
541
+ } else {
542
+ li = dom.create('li');
543
+ start.parentNode.insertBefore(li, start);
544
+ }
545
+ while (n && n != end) {
546
+ tmp = n.nextSibling;
547
+ li.appendChild(n);
548
+ n = tmp;
549
+ }
550
+ if (li.childNodes.length === 0) {
551
+ li.innerHTML = '<br _mce_bogus="1" />';
552
+ }
553
+ makeList(li);
554
+ }
555
+
556
+ function processBrs(element, callback) {
557
+ var startSection, previousBR, END_TO_START = 3, START_TO_END = 1,
558
+ breakElements = 'br,ul,ol,p,div,h1,h2,h3,h4,h5,h6,table,blockquote,address,pre,form,center,dl';
559
+
560
+ function isAnyPartSelected(start, end) {
561
+ var r = dom.createRng(), sel;
562
+ bookmark.keep = true;
563
+ ed.selection.moveToBookmark(bookmark);
564
+ bookmark.keep = false;
565
+ sel = ed.selection.getRng(true);
566
+ if (!end) {
567
+ end = start.parentNode.lastChild;
568
+ }
569
+ r.setStartBefore(start);
570
+ r.setEndAfter(end);
571
+ return !(r.compareBoundaryPoints(END_TO_START, sel) > 0 || r.compareBoundaryPoints(START_TO_END, sel) <= 0);
572
+ }
573
+
574
+ function nextLeaf(br) {
575
+ if (br.nextSibling)
576
+ return br.nextSibling;
577
+ if (!dom.isBlock(br.parentNode) && br.parentNode !== dom.getRoot())
578
+ return nextLeaf(br.parentNode);
579
+ }
580
+
581
+ // Split on BRs within the range and process those.
582
+ startSection = element.firstChild;
583
+ // First mark the BRs that have any part of the previous section selected.
584
+ var trailingContentSelected = false;
585
+ each(dom.select(breakElements, element), function(br) {
586
+ if (br.hasAttribute && br.hasAttribute('_mce_bogus')) {
587
+ return true; // Skip the bogus Brs that are put in to appease Firefox and Safari.
588
+ }
589
+ if (isAnyPartSelected(startSection, br)) {
590
+ dom.addClass(br, '_mce_tagged_br');
591
+ startSection = nextLeaf(br);
592
+ }
593
+ });
594
+ trailingContentSelected = (startSection && isAnyPartSelected(startSection, undefined));
595
+ startSection = element.firstChild;
596
+ each(dom.select(breakElements, element), function(br) {
597
+ // Got a section from start to br.
598
+ var tmp = nextLeaf(br);
599
+ if (br.hasAttribute && br.hasAttribute('_mce_bogus')) {
600
+ return true; // Skip the bogus Brs that are put in to appease Firefox and Safari.
601
+ }
602
+ if (dom.hasClass(br, '_mce_tagged_br')) {
603
+ callback(startSection, br, previousBR);
604
+ previousBR = null;
605
+ } else {
606
+ previousBR = br;
607
+ }
608
+ startSection = tmp;
609
+ });
610
+ if (trailingContentSelected) {
611
+ callback(startSection, undefined, previousBR);
612
+ }
613
+ }
614
+
615
+ function wrapList(element) {
616
+ processBrs(element, function(startSection, br, previousBR) {
617
+ // Need to indent this part
618
+ doWrapList(startSection, br);
619
+ cleanupBr(br);
620
+ cleanupBr(previousBR);
621
+ });
622
+ }
623
+
624
+ function changeList(element) {
625
+ if (tinymce.inArray(applied, element) !== -1) {
626
+ return;
627
+ }
628
+ if (element.parentNode.tagName === oppositeListType) {
629
+ dom.split(element.parentNode, element);
630
+ makeList(element);
631
+ attemptMergeWithNext(element.parentNode, false);
632
+ }
633
+ applied.push(element);
634
+ }
635
+
636
+ function convertListItemToParagraph(element) {
637
+ var child, nextChild, mergedElement, splitLast;
638
+ if (tinymce.inArray(applied, element) !== -1) {
639
+ return;
640
+ }
641
+ element = splitNestedLists(element, dom);
642
+ while (dom.is(element.parentNode, 'ol,ul,li')) {
643
+ dom.split(element.parentNode, element);
644
+ }
645
+ // Push the original element we have from the selection, not the renamed one.
646
+ applied.push(element);
647
+ element = dom.rename(element, 'p');
648
+ mergedElement = attemptMergeWithAdjacent(element, false, ed.settings.force_br_newlines);
649
+ if (mergedElement === element) {
650
+ // Now split out any block elements that can't be contained within a P.
651
+ // Manually iterate to ensure we handle modifications correctly (doesn't work with tinymce.each)
652
+ child = element.firstChild;
653
+ while (child) {
654
+ if (dom.isBlock(child)) {
655
+ child = dom.split(child.parentNode, child);
656
+ splitLast = true;
657
+ nextChild = child.nextSibling && child.nextSibling.firstChild;
658
+ } else {
659
+ nextChild = child.nextSibling;
660
+ if (splitLast && child.tagName === 'BR') {
661
+ dom.remove(child);
662
+ }
663
+ splitLast = false;
664
+ }
665
+ child = nextChild;
666
+ }
667
+ }
668
+ }
669
+
670
+ each(selectedBlocks, function(e) {
671
+ e = findItemToOperateOn(e, dom);
672
+ if (e.tagName === oppositeListType || (e.tagName === 'LI' && e.parentNode.tagName === oppositeListType)) {
673
+ hasOppositeType = true;
674
+ } else if (e.tagName === targetListType || (e.tagName === 'LI' && e.parentNode.tagName === targetListType)) {
675
+ hasSameType = true;
676
+ } else {
677
+ hasNonList = true;
678
+ }
679
+ });
680
+
681
+ if (hasNonList &&!hasSameType || hasOppositeType || selectedBlocks.length === 0) {
682
+ actions = {
683
+ 'LI': changeList,
684
+ 'H1': makeList,
685
+ 'H2': makeList,
686
+ 'H3': makeList,
687
+ 'H4': makeList,
688
+ 'H5': makeList,
689
+ 'H6': makeList,
690
+ 'P': makeList,
691
+ 'BODY': makeList,
692
+ 'DIV': selectedBlocks.length > 1 ? makeList : wrapList,
693
+ defaultAction: wrapList,
694
+ elements: this.selectedBlocks()
695
+ };
696
+ } else {
697
+ actions = {
698
+ defaultAction: convertListItemToParagraph,
699
+ elements: this.selectedBlocks()
700
+ };
701
+ }
702
+ this.process(actions);
703
+ },
704
+
705
+ indent: function() {
706
+ var ed = this.ed, dom = ed.dom, indented = [];
707
+
708
+ function createWrapItem(element) {
709
+ var wrapItem = dom.create('li', { style: 'list-style-type: none;'});
710
+ dom.insertAfter(wrapItem, element);
711
+ return wrapItem;
712
+ }
713
+
714
+ function createWrapList(element) {
715
+ var wrapItem = createWrapItem(element),
716
+ list = dom.getParent(element, 'ol,ul'),
717
+ listType = list.tagName,
718
+ listStyle = dom.getStyle(list, 'list-style-type'),
719
+ attrs = {},
720
+ wrapList;
721
+ if (listStyle !== '') {
722
+ attrs.style = 'list-style-type: ' + listStyle + ';';
723
+ }
724
+ wrapList = dom.create(listType, attrs);
725
+ wrapItem.appendChild(wrapList);
726
+ return wrapList;
727
+ }
728
+
729
+ function indentLI(element) {
730
+ if (!hasParentInList(ed, element, indented)) {
731
+ element = splitNestedLists(element, dom);
732
+ var wrapList = createWrapList(element);
733
+ wrapList.appendChild(element);
734
+ attemptMergeWithAdjacent(wrapList.parentNode, false);
735
+ attemptMergeWithAdjacent(wrapList, false);
736
+ indented.push(element);
737
+ }
738
+ }
739
+
740
+ this.process({
741
+ 'LI': indentLI,
742
+ defaultAction: this.adjustPaddingFunction(true),
743
+ elements: this.selectedBlocks()
744
+ });
745
+
746
+ },
747
+
748
+ outdent: function(ui, elements) {
749
+ var t = this, ed = t.ed, dom = ed.dom, outdented = [];
750
+
751
+ function outdentLI(element) {
752
+ var listElement, targetParent, align;
753
+ if (!hasParentInList(ed, element, outdented)) {
754
+ if (dom.getStyle(element, 'margin-left') !== '' || dom.getStyle(element, 'padding-left') !== '') {
755
+ return t.adjustPaddingFunction(false)(element);
756
+ }
757
+ align = dom.getStyle(element, 'text-align', true);
758
+ if (align === 'center' || align === 'right') {
759
+ dom.setStyle(element, 'text-align', 'left');
760
+ return;
761
+ }
762
+ element = splitNestedLists(element, dom);
763
+ listElement = element.parentNode;
764
+ targetParent = element.parentNode.parentNode;
765
+ if (targetParent.tagName === 'P') {
766
+ dom.split(targetParent, element.parentNode);
767
+ } else {
768
+ dom.split(listElement, element);
769
+ if (targetParent.tagName === 'LI') {
770
+ // Nested list, need to split the LI and go back out to the OL/UL element.
771
+ dom.split(targetParent, element);
772
+ } else if (!dom.is(targetParent, 'ol,ul')) {
773
+ dom.rename(element, 'p');
774
+ }
775
+ }
776
+ outdented.push(element);
777
+ }
778
+ }
779
+
780
+ var listElements = elements && tinymce.is(elements, 'array') ? elements : this.selectedBlocks();
781
+ this.process({
782
+ 'LI': outdentLI,
783
+ defaultAction: this.adjustPaddingFunction(false),
784
+ elements: listElements
785
+ });
786
+
787
+ each(outdented, attemptMergeWithAdjacent);
788
+ },
789
+
790
+ process: function(actions) {
791
+ var t = this, sel = t.ed.selection, dom = t.ed.dom, selectedBlocks, r;
792
+
793
+ function isEmptyElement(element) {
794
+ var excludeBrsAndBookmarks = tinymce.grep(element.childNodes, function(n) {
795
+ return !(n.nodeName === 'BR' || n.nodeName === 'SPAN' && dom.getAttrib(n, 'data-mce-type') == 'bookmark'
796
+ || n.nodeType == 3 && (n.nodeValue == String.fromCharCode(160) || n.nodeValue == ''));
797
+ });
798
+ return excludeBrsAndBookmarks.length === 0;
799
+ }
800
+
801
+ function processElement(element) {
802
+ dom.removeClass(element, '_mce_act_on');
803
+ if (!element || element.nodeType !== 1 || selectedBlocks.length > 1 && isEmptyElement(element)) {
804
+ return;
805
+ }
806
+ element = findItemToOperateOn(element, dom);
807
+ var action = actions[element.tagName];
808
+ if (!action) {
809
+ action = actions.defaultAction;
810
+ }
811
+ action(element);
812
+ }
813
+
814
+ function recurse(element) {
815
+ t.splitSafeEach(element.childNodes, processElement);
816
+ }
817
+
818
+ function brAtEdgeOfSelection(container, offset) {
819
+ return offset >= 0 && container.hasChildNodes() && offset < container.childNodes.length &&
820
+ container.childNodes[offset].tagName === 'BR';
821
+ }
822
+
823
+ function isInTable() {
824
+ var n = sel.getNode();
825
+ var p = dom.getParent(n, 'td');
826
+ return p !== null;
827
+ }
828
+
829
+ selectedBlocks = actions.elements;
830
+
831
+ r = sel.getRng(true);
832
+ if (!r.collapsed) {
833
+ if (brAtEdgeOfSelection(r.endContainer, r.endOffset - 1)) {
834
+ r.setEnd(r.endContainer, r.endOffset - 1);
835
+ sel.setRng(r);
836
+ }
837
+ if (brAtEdgeOfSelection(r.startContainer, r.startOffset)) {
838
+ r.setStart(r.startContainer, r.startOffset + 1);
839
+ sel.setRng(r);
840
+ }
841
+ }
842
+
843
+
844
+ if (tinymce.isIE8) {
845
+ // append a zero sized nbsp so that caret is restored correctly using bookmark
846
+ var s = t.ed.selection.getNode();
847
+ if (s.tagName === 'LI' && !(s.parentNode.lastChild === s)) {
848
+ var i = t.ed.getDoc().createTextNode('\uFEFF');
849
+ s.appendChild(i);
850
+ }
851
+ }
852
+
853
+ bookmark = sel.getBookmark();
854
+ actions.OL = actions.UL = recurse;
855
+ t.splitSafeEach(selectedBlocks, processElement);
856
+ sel.moveToBookmark(bookmark);
857
+ bookmark = null;
858
+
859
+ // we avoid doing repaint in a table as this will move the caret out of the table in Firefox 3.6
860
+ if (!isInTable()) {
861
+ // Avoids table or image handles being left behind in Firefox.
862
+ t.ed.execCommand('mceRepaint');
863
+ }
864
+ },
865
+
866
+ splitSafeEach: function(elements, f) {
867
+ if (tinymce.isGecko && (/Firefox\/[12]\.[0-9]/.test(navigator.userAgent) ||
868
+ /Firefox\/3\.[0-4]/.test(navigator.userAgent))) {
869
+ this.classBasedEach(elements, f);
870
+ } else {
871
+ each(elements, f);
872
+ }
873
+ },
874
+
875
+ classBasedEach: function(elements, f) {
876
+ var dom = this.ed.dom, nodes, element;
877
+ // Mark nodes
878
+ each(elements, function(element) {
879
+ dom.addClass(element, '_mce_act_on');
880
+ });
881
+ nodes = dom.select('._mce_act_on');
882
+ while (nodes.length > 0) {
883
+ element = nodes.shift();
884
+ dom.removeClass(element, '_mce_act_on');
885
+ f(element);
886
+ nodes = dom.select('._mce_act_on');
887
+ }
888
+ },
889
+
890
+ adjustPaddingFunction: function(isIndent) {
891
+ var indentAmount, indentUnits, ed = this.ed;
892
+ indentAmount = ed.settings.indentation;
893
+ indentUnits = /[a-z%]+/i.exec(indentAmount);
894
+ indentAmount = parseInt(indentAmount, 10);
895
+ return function(element) {
896
+ var currentIndent, newIndentAmount;
897
+ currentIndent = parseInt(ed.dom.getStyle(element, 'margin-left') || 0, 10) + parseInt(ed.dom.getStyle(element, 'padding-left') || 0, 10);
898
+ if (isIndent) {
899
+ newIndentAmount = currentIndent + indentAmount;
900
+ } else {
901
+ newIndentAmount = currentIndent - indentAmount;
902
+ }
903
+ ed.dom.setStyle(element, 'padding-left', '');
904
+ ed.dom.setStyle(element, 'margin-left', newIndentAmount > 0 ? newIndentAmount + indentUnits : '');
905
+ };
906
+ },
907
+
908
+ selectedBlocks: function() {
909
+ var ed = this.ed
910
+ var selectedBlocks = ed.selection.getSelectedBlocks();
911
+ return selectedBlocks.length == 0 ? [ ed.dom.getRoot() ] : selectedBlocks;
912
+ },
913
+
914
+ getInfo: function() {
915
+ return {
916
+ longname : 'Lists',
917
+ author : 'Moxiecode Systems AB',
918
+ authorurl : 'http://tinymce.moxiecode.com',
919
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/lists',
920
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
921
+ };
922
+ }
923
+ });
924
+ tinymce.PluginManager.add("lists", tinymce.plugins.Lists);
925
+ }());