locomotive-tinymce-rails 3.4.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) hide show
  1. data/LICENSE +18 -0
  2. data/README.md +67 -0
  3. data/Rakefile +65 -0
  4. data/app/assets/javascripts/tinymce/preinit.js.erb +5 -0
  5. data/app/assets/javascripts/tinymce-jquery.js +3 -0
  6. data/app/assets/javascripts/tinymce.js +2 -0
  7. data/lib/tinymce/rails/engine.rb +9 -0
  8. data/lib/tinymce/rails/sprockets_monkeypatch.rb +13 -0
  9. data/lib/tinymce/rails/version.rb +7 -0
  10. data/lib/tinymce/rails.rb +3 -0
  11. data/lib/tinymce-rails.rb +1 -0
  12. data/vendor/assets/javascripts/tinymce/jquery.tinymce.js +1 -0
  13. data/vendor/assets/javascripts/tinymce/langs/en.js +1 -0
  14. data/vendor/assets/javascripts/tinymce/license.txt +504 -0
  15. data/vendor/assets/javascripts/tinymce/plugins/advhr/css/advhr.css +5 -0
  16. data/vendor/assets/javascripts/tinymce/plugins/advhr/editor_plugin.js +1 -0
  17. data/vendor/assets/javascripts/tinymce/plugins/advhr/editor_plugin_src.js +57 -0
  18. data/vendor/assets/javascripts/tinymce/plugins/advhr/js/rule.js +43 -0
  19. data/vendor/assets/javascripts/tinymce/plugins/advhr/langs/en_dlg.js +1 -0
  20. data/vendor/assets/javascripts/tinymce/plugins/advhr/rule.htm +58 -0
  21. data/vendor/assets/javascripts/tinymce/plugins/advimage/css/advimage.css +13 -0
  22. data/vendor/assets/javascripts/tinymce/plugins/advimage/editor_plugin.js +1 -0
  23. data/vendor/assets/javascripts/tinymce/plugins/advimage/editor_plugin_src.js +50 -0
  24. data/vendor/assets/javascripts/tinymce/plugins/advimage/image.htm +235 -0
  25. data/vendor/assets/javascripts/tinymce/plugins/advimage/img/sample.gif +0 -0
  26. data/vendor/assets/javascripts/tinymce/plugins/advimage/js/image.js +462 -0
  27. data/vendor/assets/javascripts/tinymce/plugins/advimage/langs/en_dlg.js +1 -0
  28. data/vendor/assets/javascripts/tinymce/plugins/advlink/css/advlink.css +8 -0
  29. data/vendor/assets/javascripts/tinymce/plugins/advlink/editor_plugin.js +1 -0
  30. data/vendor/assets/javascripts/tinymce/plugins/advlink/editor_plugin_src.js +61 -0
  31. data/vendor/assets/javascripts/tinymce/plugins/advlink/js/advlink.js +532 -0
  32. data/vendor/assets/javascripts/tinymce/plugins/advlink/langs/en_dlg.js +1 -0
  33. data/vendor/assets/javascripts/tinymce/plugins/advlink/link.htm +338 -0
  34. data/vendor/assets/javascripts/tinymce/plugins/advlist/editor_plugin.js +1 -0
  35. data/vendor/assets/javascripts/tinymce/plugins/advlist/editor_plugin_src.js +176 -0
  36. data/vendor/assets/javascripts/tinymce/plugins/autolink/editor_plugin.js +1 -0
  37. data/vendor/assets/javascripts/tinymce/plugins/autolink/editor_plugin_src.js +172 -0
  38. data/vendor/assets/javascripts/tinymce/plugins/autoresize/editor_plugin.js +1 -0
  39. data/vendor/assets/javascripts/tinymce/plugins/autoresize/editor_plugin_src.js +137 -0
  40. data/vendor/assets/javascripts/tinymce/plugins/autosave/editor_plugin.js +1 -0
  41. data/vendor/assets/javascripts/tinymce/plugins/autosave/editor_plugin_src.js +431 -0
  42. data/vendor/assets/javascripts/tinymce/plugins/autosave/langs/en.js +4 -0
  43. data/vendor/assets/javascripts/tinymce/plugins/bbcode/editor_plugin.js +1 -0
  44. data/vendor/assets/javascripts/tinymce/plugins/bbcode/editor_plugin_src.js +120 -0
  45. data/vendor/assets/javascripts/tinymce/plugins/contextmenu/editor_plugin.js +1 -0
  46. data/vendor/assets/javascripts/tinymce/plugins/contextmenu/editor_plugin_src.js +160 -0
  47. data/vendor/assets/javascripts/tinymce/plugins/directionality/editor_plugin.js +1 -0
  48. data/vendor/assets/javascripts/tinymce/plugins/directionality/editor_plugin_src.js +82 -0
  49. data/vendor/assets/javascripts/tinymce/plugins/emotions/editor_plugin.js +1 -0
  50. data/vendor/assets/javascripts/tinymce/plugins/emotions/editor_plugin_src.js +43 -0
  51. data/vendor/assets/javascripts/tinymce/plugins/emotions/emotions.htm +42 -0
  52. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-cool.gif +0 -0
  53. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-cry.gif +0 -0
  54. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  55. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  56. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-frown.gif +0 -0
  57. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-innocent.gif +0 -0
  58. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-kiss.gif +0 -0
  59. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-laughing.gif +0 -0
  60. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  61. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-sealed.gif +0 -0
  62. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-smile.gif +0 -0
  63. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-surprised.gif +0 -0
  64. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  65. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-undecided.gif +0 -0
  66. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-wink.gif +0 -0
  67. data/vendor/assets/javascripts/tinymce/plugins/emotions/img/smiley-yell.gif +0 -0
  68. data/vendor/assets/javascripts/tinymce/plugins/emotions/js/emotions.js +43 -0
  69. data/vendor/assets/javascripts/tinymce/plugins/emotions/langs/en_dlg.js +1 -0
  70. data/vendor/assets/javascripts/tinymce/plugins/example/dialog.htm +22 -0
  71. data/vendor/assets/javascripts/tinymce/plugins/example/editor_plugin.js +1 -0
  72. data/vendor/assets/javascripts/tinymce/plugins/example/editor_plugin_src.js +84 -0
  73. data/vendor/assets/javascripts/tinymce/plugins/example/img/example.gif +0 -0
  74. data/vendor/assets/javascripts/tinymce/plugins/example/js/dialog.js +19 -0
  75. data/vendor/assets/javascripts/tinymce/plugins/example/langs/en.js +3 -0
  76. data/vendor/assets/javascripts/tinymce/plugins/example/langs/en_dlg.js +3 -0
  77. data/vendor/assets/javascripts/tinymce/plugins/example_dependency/editor_plugin.js +1 -0
  78. data/vendor/assets/javascripts/tinymce/plugins/example_dependency/editor_plugin_src.js +50 -0
  79. data/vendor/assets/javascripts/tinymce/plugins/fullpage/css/fullpage.css +143 -0
  80. data/vendor/assets/javascripts/tinymce/plugins/fullpage/editor_plugin.js +1 -0
  81. data/vendor/assets/javascripts/tinymce/plugins/fullpage/editor_plugin_src.js +405 -0
  82. data/vendor/assets/javascripts/tinymce/plugins/fullpage/fullpage.htm +259 -0
  83. data/vendor/assets/javascripts/tinymce/plugins/fullpage/js/fullpage.js +232 -0
  84. data/vendor/assets/javascripts/tinymce/plugins/fullpage/langs/en_dlg.js +1 -0
  85. data/vendor/assets/javascripts/tinymce/plugins/fullscreen/editor_plugin.js +1 -0
  86. data/vendor/assets/javascripts/tinymce/plugins/fullscreen/editor_plugin_src.js +159 -0
  87. data/vendor/assets/javascripts/tinymce/plugins/fullscreen/fullscreen.htm +110 -0
  88. data/vendor/assets/javascripts/tinymce/plugins/iespell/editor_plugin.js +1 -0
  89. data/vendor/assets/javascripts/tinymce/plugins/iespell/editor_plugin_src.js +54 -0
  90. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/editor_plugin.js +1 -0
  91. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/editor_plugin_src.js +699 -0
  92. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  93. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  94. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  95. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  96. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  97. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  98. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  99. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css +90 -0
  100. data/vendor/assets/javascripts/tinymce/plugins/inlinepopups/template.htm +387 -0
  101. data/vendor/assets/javascripts/tinymce/plugins/insertdatetime/editor_plugin.js +1 -0
  102. data/vendor/assets/javascripts/tinymce/plugins/insertdatetime/editor_plugin_src.js +83 -0
  103. data/vendor/assets/javascripts/tinymce/plugins/layer/editor_plugin.js +1 -0
  104. data/vendor/assets/javascripts/tinymce/plugins/layer/editor_plugin_src.js +262 -0
  105. data/vendor/assets/javascripts/tinymce/plugins/legacyoutput/editor_plugin.js +1 -0
  106. data/vendor/assets/javascripts/tinymce/plugins/legacyoutput/editor_plugin_src.js +139 -0
  107. data/vendor/assets/javascripts/tinymce/plugins/lists/editor_plugin.js +1 -0
  108. data/vendor/assets/javascripts/tinymce/plugins/lists/editor_plugin_src.js +925 -0
  109. data/vendor/assets/javascripts/tinymce/plugins/media/css/media.css +17 -0
  110. data/vendor/assets/javascripts/tinymce/plugins/media/editor_plugin.js +1 -0
  111. data/vendor/assets/javascripts/tinymce/plugins/media/editor_plugin_src.js +890 -0
  112. data/vendor/assets/javascripts/tinymce/plugins/media/js/embed.js +73 -0
  113. data/vendor/assets/javascripts/tinymce/plugins/media/js/media.js +464 -0
  114. data/vendor/assets/javascripts/tinymce/plugins/media/langs/en_dlg.js +1 -0
  115. data/vendor/assets/javascripts/tinymce/plugins/media/media.htm +922 -0
  116. data/vendor/assets/javascripts/tinymce/plugins/media/moxieplayer.swf +0 -0
  117. data/vendor/assets/javascripts/tinymce/plugins/nonbreaking/editor_plugin.js +1 -0
  118. data/vendor/assets/javascripts/tinymce/plugins/nonbreaking/editor_plugin_src.js +54 -0
  119. data/vendor/assets/javascripts/tinymce/plugins/noneditable/editor_plugin.js +1 -0
  120. data/vendor/assets/javascripts/tinymce/plugins/noneditable/editor_plugin_src.js +95 -0
  121. data/vendor/assets/javascripts/tinymce/plugins/pagebreak/editor_plugin.js +1 -0
  122. data/vendor/assets/javascripts/tinymce/plugins/pagebreak/editor_plugin_src.js +74 -0
  123. data/vendor/assets/javascripts/tinymce/plugins/paste/editor_plugin.js +1 -0
  124. data/vendor/assets/javascripts/tinymce/plugins/paste/editor_plugin_src.js +871 -0
  125. data/vendor/assets/javascripts/tinymce/plugins/paste/js/pastetext.js +36 -0
  126. data/vendor/assets/javascripts/tinymce/plugins/paste/js/pasteword.js +51 -0
  127. data/vendor/assets/javascripts/tinymce/plugins/paste/langs/en_dlg.js +1 -0
  128. data/vendor/assets/javascripts/tinymce/plugins/paste/pastetext.htm +27 -0
  129. data/vendor/assets/javascripts/tinymce/plugins/paste/pasteword.htm +21 -0
  130. data/vendor/assets/javascripts/tinymce/plugins/preview/editor_plugin.js +1 -0
  131. data/vendor/assets/javascripts/tinymce/plugins/preview/editor_plugin_src.js +53 -0
  132. data/vendor/assets/javascripts/tinymce/plugins/preview/example.html +28 -0
  133. data/vendor/assets/javascripts/tinymce/plugins/preview/jscripts/embed.js +73 -0
  134. data/vendor/assets/javascripts/tinymce/plugins/preview/preview.html +17 -0
  135. data/vendor/assets/javascripts/tinymce/plugins/print/editor_plugin.js +1 -0
  136. data/vendor/assets/javascripts/tinymce/plugins/print/editor_plugin_src.js +34 -0
  137. data/vendor/assets/javascripts/tinymce/plugins/save/editor_plugin.js +1 -0
  138. data/vendor/assets/javascripts/tinymce/plugins/save/editor_plugin_src.js +101 -0
  139. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/css/searchreplace.css +6 -0
  140. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/editor_plugin.js +1 -0
  141. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/editor_plugin_src.js +61 -0
  142. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/js/searchreplace.js +142 -0
  143. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/langs/en_dlg.js +1 -0
  144. data/vendor/assets/javascripts/tinymce/plugins/searchreplace/searchreplace.htm +100 -0
  145. data/vendor/assets/javascripts/tinymce/plugins/spellchecker/css/content.css +1 -0
  146. data/vendor/assets/javascripts/tinymce/plugins/spellchecker/editor_plugin.js +1 -0
  147. data/vendor/assets/javascripts/tinymce/plugins/spellchecker/editor_plugin_src.js +436 -0
  148. data/vendor/assets/javascripts/tinymce/plugins/spellchecker/img/wline.gif +0 -0
  149. data/vendor/assets/javascripts/tinymce/plugins/style/css/props.css +13 -0
  150. data/vendor/assets/javascripts/tinymce/plugins/style/editor_plugin.js +1 -0
  151. data/vendor/assets/javascripts/tinymce/plugins/style/editor_plugin_src.js +55 -0
  152. data/vendor/assets/javascripts/tinymce/plugins/style/js/props.js +635 -0
  153. data/vendor/assets/javascripts/tinymce/plugins/style/langs/en_dlg.js +1 -0
  154. data/vendor/assets/javascripts/tinymce/plugins/style/props.htm +840 -0
  155. data/vendor/assets/javascripts/tinymce/plugins/tabfocus/editor_plugin.js +1 -0
  156. data/vendor/assets/javascripts/tinymce/plugins/tabfocus/editor_plugin_src.js +122 -0
  157. data/vendor/assets/javascripts/tinymce/plugins/table/cell.htm +180 -0
  158. data/vendor/assets/javascripts/tinymce/plugins/table/css/cell.css +17 -0
  159. data/vendor/assets/javascripts/tinymce/plugins/table/css/row.css +25 -0
  160. data/vendor/assets/javascripts/tinymce/plugins/table/css/table.css +13 -0
  161. data/vendor/assets/javascripts/tinymce/plugins/table/editor_plugin.js +1 -0
  162. data/vendor/assets/javascripts/tinymce/plugins/table/editor_plugin_src.js +1408 -0
  163. data/vendor/assets/javascripts/tinymce/plugins/table/js/cell.js +319 -0
  164. data/vendor/assets/javascripts/tinymce/plugins/table/js/merge_cells.js +27 -0
  165. data/vendor/assets/javascripts/tinymce/plugins/table/js/row.js +237 -0
  166. data/vendor/assets/javascripts/tinymce/plugins/table/js/table.js +484 -0
  167. data/vendor/assets/javascripts/tinymce/plugins/table/langs/en_dlg.js +1 -0
  168. data/vendor/assets/javascripts/tinymce/plugins/table/merge_cells.htm +32 -0
  169. data/vendor/assets/javascripts/tinymce/plugins/table/row.htm +158 -0
  170. data/vendor/assets/javascripts/tinymce/plugins/table/table.htm +188 -0
  171. data/vendor/assets/javascripts/tinymce/plugins/template/blank.htm +12 -0
  172. data/vendor/assets/javascripts/tinymce/plugins/template/css/template.css +23 -0
  173. data/vendor/assets/javascripts/tinymce/plugins/template/editor_plugin.js +1 -0
  174. data/vendor/assets/javascripts/tinymce/plugins/template/editor_plugin_src.js +159 -0
  175. data/vendor/assets/javascripts/tinymce/plugins/template/js/template.js +106 -0
  176. data/vendor/assets/javascripts/tinymce/plugins/template/langs/en_dlg.js +1 -0
  177. data/vendor/assets/javascripts/tinymce/plugins/template/template.htm +31 -0
  178. data/vendor/assets/javascripts/tinymce/plugins/visualchars/editor_plugin.js +1 -0
  179. data/vendor/assets/javascripts/tinymce/plugins/visualchars/editor_plugin_src.js +83 -0
  180. data/vendor/assets/javascripts/tinymce/plugins/wordcount/editor_plugin.js +1 -0
  181. data/vendor/assets/javascripts/tinymce/plugins/wordcount/editor_plugin_src.js +114 -0
  182. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/abbr.htm +142 -0
  183. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/acronym.htm +142 -0
  184. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/attributes.htm +149 -0
  185. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/cite.htm +142 -0
  186. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/css/attributes.css +11 -0
  187. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/css/popup.css +9 -0
  188. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/del.htm +162 -0
  189. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  190. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/editor_plugin_src.js +132 -0
  191. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/ins.htm +162 -0
  192. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/abbr.js +28 -0
  193. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/acronym.js +28 -0
  194. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/attributes.js +111 -0
  195. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/cite.js +28 -0
  196. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/del.js +53 -0
  197. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/element_common.js +229 -0
  198. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/js/ins.js +53 -0
  199. data/vendor/assets/javascripts/tinymce/plugins/xhtmlxtras/langs/en_dlg.js +1 -0
  200. data/vendor/assets/javascripts/tinymce/themes/advanced/about.htm +52 -0
  201. data/vendor/assets/javascripts/tinymce/themes/advanced/anchor.htm +26 -0
  202. data/vendor/assets/javascripts/tinymce/themes/advanced/charmap.htm +55 -0
  203. data/vendor/assets/javascripts/tinymce/themes/advanced/color_picker.htm +74 -0
  204. data/vendor/assets/javascripts/tinymce/themes/advanced/editor_template.js +1 -0
  205. data/vendor/assets/javascripts/tinymce/themes/advanced/editor_template_src.js +1362 -0
  206. data/vendor/assets/javascripts/tinymce/themes/advanced/image.htm +80 -0
  207. data/vendor/assets/javascripts/tinymce/themes/advanced/img/colorpicker.jpg +0 -0
  208. data/vendor/assets/javascripts/tinymce/themes/advanced/img/flash.gif +0 -0
  209. data/vendor/assets/javascripts/tinymce/themes/advanced/img/icons.gif +0 -0
  210. data/vendor/assets/javascripts/tinymce/themes/advanced/img/iframe.gif +0 -0
  211. data/vendor/assets/javascripts/tinymce/themes/advanced/img/pagebreak.gif +0 -0
  212. data/vendor/assets/javascripts/tinymce/themes/advanced/img/quicktime.gif +0 -0
  213. data/vendor/assets/javascripts/tinymce/themes/advanced/img/realmedia.gif +0 -0
  214. data/vendor/assets/javascripts/tinymce/themes/advanced/img/shockwave.gif +0 -0
  215. data/vendor/assets/javascripts/tinymce/themes/advanced/img/trans.gif +0 -0
  216. data/vendor/assets/javascripts/tinymce/themes/advanced/img/video.gif +0 -0
  217. data/vendor/assets/javascripts/tinymce/themes/advanced/img/windowsmedia.gif +0 -0
  218. data/vendor/assets/javascripts/tinymce/themes/advanced/js/about.js +73 -0
  219. data/vendor/assets/javascripts/tinymce/themes/advanced/js/anchor.js +43 -0
  220. data/vendor/assets/javascripts/tinymce/themes/advanced/js/charmap.js +363 -0
  221. data/vendor/assets/javascripts/tinymce/themes/advanced/js/color_picker.js +329 -0
  222. data/vendor/assets/javascripts/tinymce/themes/advanced/js/image.js +251 -0
  223. data/vendor/assets/javascripts/tinymce/themes/advanced/js/link.js +153 -0
  224. data/vendor/assets/javascripts/tinymce/themes/advanced/js/source_editor.js +56 -0
  225. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/en.js +1 -0
  226. data/vendor/assets/javascripts/tinymce/themes/advanced/langs/en_dlg.js +1 -0
  227. data/vendor/assets/javascripts/tinymce/themes/advanced/link.htm +57 -0
  228. data/vendor/assets/javascripts/tinymce/themes/advanced/shortcuts.htm +47 -0
  229. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/content.css +50 -0
  230. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/dialog.css +117 -0
  231. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/img/buttons.png +0 -0
  232. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/img/items.gif +0 -0
  233. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  234. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  235. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/img/progress.gif +0 -0
  236. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/img/tabs.gif +0 -0
  237. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/default/ui.css +214 -0
  238. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/highcontrast/content.css +24 -0
  239. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/highcontrast/dialog.css +105 -0
  240. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/highcontrast/ui.css +102 -0
  241. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/content.css +48 -0
  242. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/dialog.css +117 -0
  243. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  244. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  245. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  246. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/ui.css +217 -0
  247. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  248. data/vendor/assets/javascripts/tinymce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  249. data/vendor/assets/javascripts/tinymce/themes/advanced/source_editor.htm +25 -0
  250. data/vendor/assets/javascripts/tinymce/themes/simple/editor_template.js +1 -0
  251. data/vendor/assets/javascripts/tinymce/themes/simple/editor_template_src.js +84 -0
  252. data/vendor/assets/javascripts/tinymce/themes/simple/img/icons.gif +0 -0
  253. data/vendor/assets/javascripts/tinymce/themes/simple/langs/en.js +1 -0
  254. data/vendor/assets/javascripts/tinymce/themes/simple/skins/default/content.css +25 -0
  255. data/vendor/assets/javascripts/tinymce/themes/simple/skins/default/ui.css +32 -0
  256. data/vendor/assets/javascripts/tinymce/themes/simple/skins/o2k7/content.css +17 -0
  257. data/vendor/assets/javascripts/tinymce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  258. data/vendor/assets/javascripts/tinymce/themes/simple/skins/o2k7/ui.css +35 -0
  259. data/vendor/assets/javascripts/tinymce/tiny_mce.js +1 -0
  260. data/vendor/assets/javascripts/tinymce/tiny_mce_jquery.js +1 -0
  261. data/vendor/assets/javascripts/tinymce/tiny_mce_jquery_src.js +15905 -0
  262. data/vendor/assets/javascripts/tinymce/tiny_mce_popup.js +5 -0
  263. data/vendor/assets/javascripts/tinymce/tiny_mce_src.js +16728 -0
  264. data/vendor/assets/javascripts/tinymce/utils/editable_selects.js +70 -0
  265. data/vendor/assets/javascripts/tinymce/utils/form_utils.js +210 -0
  266. data/vendor/assets/javascripts/tinymce/utils/mctabs.js +162 -0
  267. data/vendor/assets/javascripts/tinymce/utils/validate.js +252 -0
  268. metadata +334 -0
@@ -0,0 +1,262 @@
1
+ /**
2
+ * editor_plugin_src.js
3
+ *
4
+ * Copyright 2009, 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
+ function findParentLayer(node) {
13
+ do {
14
+ if (node.className && node.className.indexOf('mceItemLayer') != -1) {
15
+ return node;
16
+ }
17
+ } while (node = node.parentNode);
18
+ };
19
+
20
+ tinymce.create('tinymce.plugins.Layer', {
21
+ init : function(ed, url) {
22
+ var t = this;
23
+
24
+ t.editor = ed;
25
+
26
+ // Register commands
27
+ ed.addCommand('mceInsertLayer', t._insertLayer, t);
28
+
29
+ ed.addCommand('mceMoveForward', function() {
30
+ t._move(1);
31
+ });
32
+
33
+ ed.addCommand('mceMoveBackward', function() {
34
+ t._move(-1);
35
+ });
36
+
37
+ ed.addCommand('mceMakeAbsolute', function() {
38
+ t._toggleAbsolute();
39
+ });
40
+
41
+ // Register buttons
42
+ ed.addButton('moveforward', {title : 'layer.forward_desc', cmd : 'mceMoveForward'});
43
+ ed.addButton('movebackward', {title : 'layer.backward_desc', cmd : 'mceMoveBackward'});
44
+ ed.addButton('absolute', {title : 'layer.absolute_desc', cmd : 'mceMakeAbsolute'});
45
+ ed.addButton('insertlayer', {title : 'layer.insertlayer_desc', cmd : 'mceInsertLayer'});
46
+
47
+ ed.onInit.add(function() {
48
+ var dom = ed.dom;
49
+
50
+ if (tinymce.isIE)
51
+ ed.getDoc().execCommand('2D-Position', false, true);
52
+ });
53
+
54
+ // Remove serialized styles when selecting a layer since it might be changed by a drag operation
55
+ ed.onMouseUp.add(function(ed, e) {
56
+ var layer = findParentLayer(e.target);
57
+
58
+ if (layer) {
59
+ ed.dom.setAttrib(layer, 'data-mce-style', '');
60
+ }
61
+ });
62
+
63
+ // Fixes edit focus issues with layers on Gecko
64
+ // This will enable designMode while inside a layer and disable it when outside
65
+ ed.onMouseDown.add(function(ed, e) {
66
+ var node = e.target, doc = ed.getDoc(), parent;
67
+
68
+ if (tinymce.isGecko) {
69
+ if (findParentLayer(node)) {
70
+ if (doc.designMode !== 'on') {
71
+ doc.designMode = 'on';
72
+
73
+ // Repaint caret
74
+ node = doc.body;
75
+ parent = node.parentNode;
76
+ parent.removeChild(node);
77
+ parent.appendChild(node);
78
+ }
79
+ } else if (doc.designMode == 'on') {
80
+ doc.designMode = 'off';
81
+ }
82
+ }
83
+ });
84
+
85
+ ed.onNodeChange.add(t._nodeChange, t);
86
+ ed.onVisualAid.add(t._visualAid, t);
87
+ },
88
+
89
+ getInfo : function() {
90
+ return {
91
+ longname : 'Layer',
92
+ author : 'Moxiecode Systems AB',
93
+ authorurl : 'http://tinymce.moxiecode.com',
94
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer',
95
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
96
+ };
97
+ },
98
+
99
+ // Private methods
100
+
101
+ _nodeChange : function(ed, cm, n) {
102
+ var le, p;
103
+
104
+ le = this._getParentLayer(n);
105
+ p = ed.dom.getParent(n, 'DIV,P,IMG');
106
+
107
+ if (!p) {
108
+ cm.setDisabled('absolute', 1);
109
+ cm.setDisabled('moveforward', 1);
110
+ cm.setDisabled('movebackward', 1);
111
+ } else {
112
+ cm.setDisabled('absolute', 0);
113
+ cm.setDisabled('moveforward', !le);
114
+ cm.setDisabled('movebackward', !le);
115
+ cm.setActive('absolute', le && le.style.position.toLowerCase() == "absolute");
116
+ }
117
+ },
118
+
119
+ // Private methods
120
+
121
+ _visualAid : function(ed, e, s) {
122
+ var dom = ed.dom;
123
+
124
+ tinymce.each(dom.select('div,p', e), function(e) {
125
+ if (/^(absolute|relative|fixed)$/i.test(e.style.position)) {
126
+ if (s)
127
+ dom.addClass(e, 'mceItemVisualAid');
128
+ else
129
+ dom.removeClass(e, 'mceItemVisualAid');
130
+
131
+ dom.addClass(e, 'mceItemLayer');
132
+ }
133
+ });
134
+ },
135
+
136
+ _move : function(d) {
137
+ var ed = this.editor, i, z = [], le = this._getParentLayer(ed.selection.getNode()), ci = -1, fi = -1, nl;
138
+
139
+ nl = [];
140
+ tinymce.walk(ed.getBody(), function(n) {
141
+ if (n.nodeType == 1 && /^(absolute|relative|static)$/i.test(n.style.position))
142
+ nl.push(n);
143
+ }, 'childNodes');
144
+
145
+ // Find z-indexes
146
+ for (i=0; i<nl.length; i++) {
147
+ z[i] = nl[i].style.zIndex ? parseInt(nl[i].style.zIndex) : 0;
148
+
149
+ if (ci < 0 && nl[i] == le)
150
+ ci = i;
151
+ }
152
+
153
+ if (d < 0) {
154
+ // Move back
155
+
156
+ // Try find a lower one
157
+ for (i=0; i<z.length; i++) {
158
+ if (z[i] < z[ci]) {
159
+ fi = i;
160
+ break;
161
+ }
162
+ }
163
+
164
+ if (fi > -1) {
165
+ nl[ci].style.zIndex = z[fi];
166
+ nl[fi].style.zIndex = z[ci];
167
+ } else {
168
+ if (z[ci] > 0)
169
+ nl[ci].style.zIndex = z[ci] - 1;
170
+ }
171
+ } else {
172
+ // Move forward
173
+
174
+ // Try find a higher one
175
+ for (i=0; i<z.length; i++) {
176
+ if (z[i] > z[ci]) {
177
+ fi = i;
178
+ break;
179
+ }
180
+ }
181
+
182
+ if (fi > -1) {
183
+ nl[ci].style.zIndex = z[fi];
184
+ nl[fi].style.zIndex = z[ci];
185
+ } else
186
+ nl[ci].style.zIndex = z[ci] + 1;
187
+ }
188
+
189
+ ed.execCommand('mceRepaint');
190
+ },
191
+
192
+ _getParentLayer : function(n) {
193
+ return this.editor.dom.getParent(n, function(n) {
194
+ return n.nodeType == 1 && /^(absolute|relative|static)$/i.test(n.style.position);
195
+ });
196
+ },
197
+
198
+ _insertLayer : function() {
199
+ var ed = this.editor, dom = ed.dom, p = dom.getPos(dom.getParent(ed.selection.getNode(), '*')), body = ed.getBody();
200
+
201
+ ed.dom.add(body, 'div', {
202
+ style : {
203
+ position : 'absolute',
204
+ left : p.x,
205
+ top : (p.y > 20 ? p.y : 20),
206
+ width : 100,
207
+ height : 100
208
+ },
209
+ 'class' : 'mceItemVisualAid mceItemLayer'
210
+ }, ed.selection.getContent() || ed.getLang('layer.content'));
211
+
212
+ // Workaround for IE where it messes up the JS engine if you insert a layer on IE 6,7
213
+ if (tinymce.isIE)
214
+ dom.setHTML(body, body.innerHTML);
215
+ },
216
+
217
+ _toggleAbsolute : function() {
218
+ var ed = this.editor, le = this._getParentLayer(ed.selection.getNode());
219
+
220
+ if (!le)
221
+ le = ed.dom.getParent(ed.selection.getNode(), 'DIV,P,IMG');
222
+
223
+ if (le) {
224
+ if (le.style.position.toLowerCase() == "absolute") {
225
+ ed.dom.setStyles(le, {
226
+ position : '',
227
+ left : '',
228
+ top : '',
229
+ width : '',
230
+ height : ''
231
+ });
232
+
233
+ ed.dom.removeClass(le, 'mceItemVisualAid');
234
+ ed.dom.removeClass(le, 'mceItemLayer');
235
+ } else {
236
+ if (le.style.left == "")
237
+ le.style.left = 20 + 'px';
238
+
239
+ if (le.style.top == "")
240
+ le.style.top = 20 + 'px';
241
+
242
+ if (le.style.width == "")
243
+ le.style.width = le.width ? (le.width + 'px') : '100px';
244
+
245
+ if (le.style.height == "")
246
+ le.style.height = le.height ? (le.height + 'px') : '100px';
247
+
248
+ le.style.position = "absolute";
249
+
250
+ ed.dom.setAttrib(le, 'data-mce-style', '');
251
+ ed.addVisual(ed.getBody());
252
+ }
253
+
254
+ ed.execCommand('mceRepaint');
255
+ ed.nodeChanged();
256
+ }
257
+ }
258
+ });
259
+
260
+ // Register plugin
261
+ tinymce.PluginManager.add('layer', tinymce.plugins.Layer);
262
+ })();
@@ -0,0 +1 @@
1
+ (function(a){a.onAddEditor.addToTop(function(c,b){b.settings.inline_styles=false});a.create("tinymce.plugins.LegacyOutput",{init:function(b){b.onInit.add(function(){var c="p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img",e=a.explode(b.settings.font_size_style_values),d=b.schema;b.formatter.register({alignleft:{selector:c,attributes:{align:"left"}},aligncenter:{selector:c,attributes:{align:"center"}},alignright:{selector:c,attributes:{align:"right"}},alignfull:{selector:c,attributes:{align:"justify"}},bold:[{inline:"b",remove:"all"},{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}}],italic:[{inline:"i",remove:"all"},{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}}],underline:[{inline:"u",remove:"all"},{inline:"span",styles:{textDecoration:"underline"},exact:true}],strikethrough:[{inline:"strike",remove:"all"},{inline:"span",styles:{textDecoration:"line-through"},exact:true}],fontname:{inline:"font",attributes:{face:"%value"}},fontsize:{inline:"font",attributes:{size:function(f){return a.inArray(e,f.value)+1}}},forecolor:{inline:"font",styles:{color:"%value"}},hilitecolor:{inline:"font",styles:{backgroundColor:"%value"}}});a.each("b,i,u,strike".split(","),function(f){d.addValidElements(f+"[*]")});if(!d.getElementRule("font")){d.addValidElements("font[face|size|color|style]")}a.each(c.split(","),function(f){var h=d.getElementRule(f),g;if(h){if(!h.attributes.align){h.attributes.align={};h.attributesOrder.push("align")}}});b.onNodeChange.add(function(g,k){var j,f,h,i;f=g.dom.getParent(g.selection.getNode(),"font");if(f){h=f.face;i=f.size}if(j=k.get("fontselect")){j.select(function(l){return l==h})}if(j=k.get("fontsizeselect")){j.select(function(m){var l=a.inArray(e,m.fontSize);return l+1==i})}})})},getInfo:function(){return{longname:"LegacyOutput",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/legacyoutput",version:a.majorVersion+"."+a.minorVersion}}});a.PluginManager.add("legacyoutput",a.plugins.LegacyOutput)})(tinymce);
@@ -0,0 +1,139 @@
1
+ /**
2
+ * editor_plugin_src.js
3
+ *
4
+ * Copyright 2009, 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
+ * This plugin will force TinyMCE to produce deprecated legacy output such as font elements, u elements, align
11
+ * attributes and so forth. There are a few cases where these old items might be needed for example in email applications or with Flash
12
+ *
13
+ * However you should NOT use this plugin if you are building some system that produces web contents such as a CMS. All these elements are
14
+ * not apart of the newer specifications for HTML and XHTML.
15
+ */
16
+
17
+ (function(tinymce) {
18
+ // Override inline_styles setting to force TinyMCE to produce deprecated contents
19
+ tinymce.onAddEditor.addToTop(function(tinymce, editor) {
20
+ editor.settings.inline_styles = false;
21
+ });
22
+
23
+ // Create the legacy ouput plugin
24
+ tinymce.create('tinymce.plugins.LegacyOutput', {
25
+ init : function(editor) {
26
+ editor.onInit.add(function() {
27
+ var alignElements = 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img',
28
+ fontSizes = tinymce.explode(editor.settings.font_size_style_values),
29
+ schema = editor.schema;
30
+
31
+ // Override some internal formats to produce legacy elements and attributes
32
+ editor.formatter.register({
33
+ // Change alignment formats to use the deprecated align attribute
34
+ alignleft : {selector : alignElements, attributes : {align : 'left'}},
35
+ aligncenter : {selector : alignElements, attributes : {align : 'center'}},
36
+ alignright : {selector : alignElements, attributes : {align : 'right'}},
37
+ alignfull : {selector : alignElements, attributes : {align : 'justify'}},
38
+
39
+ // Change the basic formatting elements to use deprecated element types
40
+ bold : [
41
+ {inline : 'b', remove : 'all'},
42
+ {inline : 'strong', remove : 'all'},
43
+ {inline : 'span', styles : {fontWeight : 'bold'}}
44
+ ],
45
+ italic : [
46
+ {inline : 'i', remove : 'all'},
47
+ {inline : 'em', remove : 'all'},
48
+ {inline : 'span', styles : {fontStyle : 'italic'}}
49
+ ],
50
+ underline : [
51
+ {inline : 'u', remove : 'all'},
52
+ {inline : 'span', styles : {textDecoration : 'underline'}, exact : true}
53
+ ],
54
+ strikethrough : [
55
+ {inline : 'strike', remove : 'all'},
56
+ {inline : 'span', styles : {textDecoration: 'line-through'}, exact : true}
57
+ ],
58
+
59
+ // Change font size and font family to use the deprecated font element
60
+ fontname : {inline : 'font', attributes : {face : '%value'}},
61
+ fontsize : {
62
+ inline : 'font',
63
+ attributes : {
64
+ size : function(vars) {
65
+ return tinymce.inArray(fontSizes, vars.value) + 1;
66
+ }
67
+ }
68
+ },
69
+
70
+ // Setup font elements for colors as well
71
+ forecolor : {inline : 'font', styles : {color : '%value'}},
72
+ hilitecolor : {inline : 'font', styles : {backgroundColor : '%value'}}
73
+ });
74
+
75
+ // Check that deprecated elements are allowed if not add them
76
+ tinymce.each('b,i,u,strike'.split(','), function(name) {
77
+ schema.addValidElements(name + '[*]');
78
+ });
79
+
80
+ // Add font element if it's missing
81
+ if (!schema.getElementRule("font"))
82
+ schema.addValidElements("font[face|size|color|style]");
83
+
84
+ // Add the missing and depreacted align attribute for the serialization engine
85
+ tinymce.each(alignElements.split(','), function(name) {
86
+ var rule = schema.getElementRule(name), found;
87
+
88
+ if (rule) {
89
+ if (!rule.attributes.align) {
90
+ rule.attributes.align = {};
91
+ rule.attributesOrder.push('align');
92
+ }
93
+ }
94
+ });
95
+
96
+ // Listen for the onNodeChange event so that we can do special logic for the font size and font name drop boxes
97
+ editor.onNodeChange.add(function(editor, control_manager) {
98
+ var control, fontElm, fontName, fontSize;
99
+
100
+ // Find font element get it's name and size
101
+ fontElm = editor.dom.getParent(editor.selection.getNode(), 'font');
102
+ if (fontElm) {
103
+ fontName = fontElm.face;
104
+ fontSize = fontElm.size;
105
+ }
106
+
107
+ // Select/unselect the font name in droplist
108
+ if (control = control_manager.get('fontselect')) {
109
+ control.select(function(value) {
110
+ return value == fontName;
111
+ });
112
+ }
113
+
114
+ // Select/unselect the font size in droplist
115
+ if (control = control_manager.get('fontsizeselect')) {
116
+ control.select(function(value) {
117
+ var index = tinymce.inArray(fontSizes, value.fontSize);
118
+
119
+ return index + 1 == fontSize;
120
+ });
121
+ }
122
+ });
123
+ });
124
+ },
125
+
126
+ getInfo : function() {
127
+ return {
128
+ longname : 'LegacyOutput',
129
+ author : 'Moxiecode Systems AB',
130
+ authorurl : 'http://tinymce.moxiecode.com',
131
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/legacyoutput',
132
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
133
+ };
134
+ }
135
+ });
136
+
137
+ // Register plugin
138
+ tinymce.PluginManager.add('legacyoutput', tinymce.plugins.LegacyOutput);
139
+ })(tinymce);
@@ -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)}());