skylinecms 3.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (978) hide show
  1. data/.yardopts +8 -0
  2. data/CHANGELOG +111 -0
  3. data/COPYING +674 -0
  4. data/COPYING.LESSER +165 -0
  5. data/COPYRIGHT +14 -0
  6. data/README.md +46 -0
  7. data/Rakefile +42 -0
  8. data/app/controllers/skyline/application_controller.rb +256 -0
  9. data/app/controllers/skyline/article_versions_controller.rb +39 -0
  10. data/app/controllers/skyline/articles_controller.rb +245 -0
  11. data/app/controllers/skyline/authentications_controller.rb +34 -0
  12. data/app/controllers/skyline/browser/files_controller.rb +18 -0
  13. data/app/controllers/skyline/browser/images_controller.rb +20 -0
  14. data/app/controllers/skyline/browser/links_controller.rb +26 -0
  15. data/app/controllers/skyline/browser/pages_controller.rb +10 -0
  16. data/app/controllers/skyline/browser/tabs/media_library/media_files_controller.rb +31 -0
  17. data/app/controllers/skyline/content/editors/editable_list_controller.rb +23 -0
  18. data/app/controllers/skyline/content/editors/joinable_list_controller.rb +73 -0
  19. data/app/controllers/skyline/content_controller.rb +201 -0
  20. data/app/controllers/skyline/content_items_controller.rb +14 -0
  21. data/app/controllers/skyline/content_sections_controller.rb +15 -0
  22. data/app/controllers/skyline/link_section_links_controller.rb +14 -0
  23. data/app/controllers/skyline/locales_controller.rb +15 -0
  24. data/app/controllers/skyline/media_dirs_controller.rb +56 -0
  25. data/app/controllers/skyline/media_files_controller.rb +87 -0
  26. data/app/controllers/skyline/media_files_data_controller.rb +60 -0
  27. data/app/controllers/skyline/publications_controller.rb +45 -0
  28. data/app/controllers/skyline/published_publications_controller.rb +44 -0
  29. data/app/controllers/skyline/redirects_controller.rb +5 -0
  30. data/app/controllers/skyline/sections_controller.rb +24 -0
  31. data/app/controllers/skyline/settings_controller.rb +28 -0
  32. data/app/controllers/skyline/site/media_files_data_controller.rb +73 -0
  33. data/app/controllers/skyline/site/pages_controller.rb +50 -0
  34. data/app/controllers/skyline/skyline2_controller.rb +21 -0
  35. data/app/controllers/skyline/users_controller.rb +103 -0
  36. data/app/controllers/skyline/variant_current_editor_controller.rb +37 -0
  37. data/app/controllers/skyline/variants_controller.rb +71 -0
  38. data/app/helpers/skyline/application_helper.rb +82 -0
  39. data/app/helpers/skyline/browser/tabs/media_library/media_files_helper.rb +6 -0
  40. data/app/helpers/skyline/button_helper.rb +77 -0
  41. data/app/helpers/skyline/content_helper.rb +159 -0
  42. data/app/helpers/skyline/dialog_helper.rb +30 -0
  43. data/app/helpers/skyline/editors/boolean.rb +6 -0
  44. data/app/helpers/skyline/editors/checkable_list.rb +54 -0
  45. data/app/helpers/skyline/editors/date.rb +15 -0
  46. data/app/helpers/skyline/editors/date_time.rb +11 -0
  47. data/app/helpers/skyline/editors/display.rb +12 -0
  48. data/app/helpers/skyline/editors/editable_list.rb +81 -0
  49. data/app/helpers/skyline/editors/editor.rb +107 -0
  50. data/app/helpers/skyline/editors/file_browser.rb +54 -0
  51. data/app/helpers/skyline/editors/heading.rb +13 -0
  52. data/app/helpers/skyline/editors/inline_list.rb +9 -0
  53. data/app/helpers/skyline/editors/joinable_list.rb +118 -0
  54. data/app/helpers/skyline/editors/list.rb +15 -0
  55. data/app/helpers/skyline/editors/page_browser.rb +54 -0
  56. data/app/helpers/skyline/editors/text_field.rb +12 -0
  57. data/app/helpers/skyline/editors/textarea.rb +11 -0
  58. data/app/helpers/skyline/editors/textile.rb +12 -0
  59. data/app/helpers/skyline/editors/wysiwyg.rb +28 -0
  60. data/app/helpers/skyline/media_files_helper.rb +6 -0
  61. data/app/helpers/skyline/message_generator.rb +24 -0
  62. data/app/helpers/skyline/pages_helper.rb +44 -0
  63. data/app/helpers/skyline/presenters/article_list.rb +139 -0
  64. data/app/helpers/skyline/presenters/presenter.rb +127 -0
  65. data/app/helpers/skyline/presenters/table.rb +30 -0
  66. data/app/helpers/skyline/ref_object_helper.rb +84 -0
  67. data/app/helpers/skyline/translation_helper.rb +36 -0
  68. data/app/helpers/skyline/tree_helper.rb +62 -0
  69. data/app/helpers/skyline/users_helper.rb +2 -0
  70. data/app/middleware/skyline/flash_session_cookie_middleware.rb +16 -0
  71. data/app/middleware/skyline/plugins_loader_middleware.rb +10 -0
  72. data/app/middleware/skyline/sprockets_middleware.rb +71 -0
  73. data/app/models/skyline/article.rb +219 -0
  74. data/app/models/skyline/article_version.rb +95 -0
  75. data/app/models/skyline/associated_tag.rb +14 -0
  76. data/app/models/skyline/grant.rb +6 -0
  77. data/app/models/skyline/image_ref.rb +35 -0
  78. data/app/models/skyline/inline_ref.rb +182 -0
  79. data/app/models/skyline/link_ref.rb +34 -0
  80. data/app/models/skyline/link_section_link.rb +23 -0
  81. data/app/models/skyline/media_cache.rb +38 -0
  82. data/app/models/skyline/media_dir.rb +61 -0
  83. data/app/models/skyline/media_file.rb +132 -0
  84. data/app/models/skyline/media_node.rb +104 -0
  85. data/app/models/skyline/object_ref.rb +47 -0
  86. data/app/models/skyline/page.rb +256 -0
  87. data/app/models/skyline/page_fragment.rb +14 -0
  88. data/app/models/skyline/publication.rb +24 -0
  89. data/app/models/skyline/ref_object.rb +9 -0
  90. data/app/models/skyline/referable_uri.rb +17 -0
  91. data/app/models/skyline/right.rb +5 -0
  92. data/app/models/skyline/role.rb +8 -0
  93. data/app/models/skyline/section.rb +33 -0
  94. data/app/models/skyline/sections/content_collection_section.rb +26 -0
  95. data/app/models/skyline/sections/content_item_section.rb +27 -0
  96. data/app/models/skyline/sections/heading_section.rb +5 -0
  97. data/app/models/skyline/sections/iframe_section.rb +8 -0
  98. data/app/models/skyline/sections/link_section.rb +21 -0
  99. data/app/models/skyline/sections/media_section.rb +12 -0
  100. data/app/models/skyline/sections/page_fragment_section.rb +7 -0
  101. data/app/models/skyline/sections/raw_section.rb +7 -0
  102. data/app/models/skyline/sections/redirect_section.rb +16 -0
  103. data/app/models/skyline/sections/rss_section.rb +99 -0
  104. data/app/models/skyline/sections/splitter_section.rb +5 -0
  105. data/app/models/skyline/sections/wysiwyg_section.rb +12 -0
  106. data/app/models/skyline/site.rb +30 -0
  107. data/app/models/skyline/tag.rb +34 -0
  108. data/app/models/skyline/user.rb +192 -0
  109. data/app/models/skyline/variant.rb +178 -0
  110. data/app/observers/skyline/article_version_observer.rb +17 -0
  111. data/app/observers/skyline/file_cache_sweeper.rb +23 -0
  112. data/app/observers/skyline/media_file_observer.rb +32 -0
  113. data/app/observers/skyline/version_stamper.rb +42 -0
  114. data/app/templates/skyline/page/default/index.html.erb +19 -0
  115. data/app/templates/skyline/sections/content_collection_section/default/index.html.erb +2 -0
  116. data/app/templates/skyline/sections/content_item_section/default/index.html.erb +6 -0
  117. data/app/templates/skyline/sections/heading_section/default/index.html.erb +2 -0
  118. data/app/templates/skyline/sections/iframe_section/default/index.html.erb +1 -0
  119. data/app/templates/skyline/sections/link_section/default/index.html.erb +11 -0
  120. data/app/templates/skyline/sections/media_section/default/index.html.erb +15 -0
  121. data/app/templates/skyline/sections/page_fragment_section/default/index.html.erb +5 -0
  122. data/app/templates/skyline/sections/raw_section/default/index.html.erb +1 -0
  123. data/app/templates/skyline/sections/redirect_section/default/index.html.erb +0 -0
  124. data/app/templates/skyline/sections/rss_section/default/index.html.erb +11 -0
  125. data/app/templates/skyline/sections/splitter_section/default/index.html.erb +1 -0
  126. data/app/templates/skyline/sections/wysiwyg_section/default/index.html.erb +3 -0
  127. data/app/views/skyline/articles/_currently_editing.html.erb +18 -0
  128. data/app/views/skyline/articles/_meta.html.erb +146 -0
  129. data/app/views/skyline/articles/_security.html.erb +30 -0
  130. data/app/views/skyline/articles/_takeover_action.html.erb +36 -0
  131. data/app/views/skyline/articles/edit.html.erb +111 -0
  132. data/app/views/skyline/articles/edit_preview_only.html.erb +16 -0
  133. data/app/views/skyline/articles/index.html.erb +70 -0
  134. data/app/views/skyline/articles/page/_header.html.erb +72 -0
  135. data/app/views/skyline/articles/page/_index.html.erb +28 -0
  136. data/app/views/skyline/articles/page_fragment/_header.html.erb +23 -0
  137. data/app/views/skyline/articles/page_fragment/_index.html.erb +15 -0
  138. data/app/views/skyline/authentications/new.html.erb +58 -0
  139. data/app/views/skyline/browser/files/_index.html.erb +26 -0
  140. data/app/views/skyline/browser/images/_index.html.erb +62 -0
  141. data/app/views/skyline/browser/links/_index.html.erb +56 -0
  142. data/app/views/skyline/browser/pages/_index.html.erb +27 -0
  143. data/app/views/skyline/browser/tabs/external_image/_index.html.erb +18 -0
  144. data/app/views/skyline/browser/tabs/external_link/_index.html.erb +17 -0
  145. data/app/views/skyline/browser/tabs/media_library/_index.html.erb +51 -0
  146. data/app/views/skyline/browser/tabs/media_library/media_files/_index.html.erb +63 -0
  147. data/app/views/skyline/browser/tabs/media_library/media_files/_show.html.erb +44 -0
  148. data/app/views/skyline/browser/tabs/pages/_index.html.erb +49 -0
  149. data/app/views/skyline/content/_add.rhtml +30 -0
  150. data/app/views/skyline/content/_filter.rhtml +41 -0
  151. data/app/views/skyline/content/_group.html.erb +6 -0
  152. data/app/views/skyline/content/_import.html.erb +18 -0
  153. data/app/views/skyline/content/_index.html.erb +28 -0
  154. data/app/views/skyline/content/_meta.html.erb +45 -0
  155. data/app/views/skyline/content/_submit.html.erb +15 -0
  156. data/app/views/skyline/content/create.rhtml +13 -0
  157. data/app/views/skyline/content/edit.rhtml +13 -0
  158. data/app/views/skyline/content/editors/joinable_list/_add.html.erb +13 -0
  159. data/app/views/skyline/content/editors/joinable_list/_list.html.erb +69 -0
  160. data/app/views/skyline/content/error.rhtml +2 -0
  161. data/app/views/skyline/content/index.html.erb +0 -0
  162. data/app/views/skyline/content/list.rhtml +22 -0
  163. data/app/views/skyline/content/show.rhtml +9 -0
  164. data/app/views/skyline/content_items/_content_item.html.erb +3 -0
  165. data/app/views/skyline/content_sections/_tags.html.erb +22 -0
  166. data/app/views/skyline/layouts/articles.html.erb +30 -0
  167. data/app/views/skyline/layouts/content.html.erb +66 -0
  168. data/app/views/skyline/layouts/media.html.erb +22 -0
  169. data/app/views/skyline/layouts/pages.html.erb +59 -0
  170. data/app/views/skyline/layouts/settings.html.erb +40 -0
  171. data/app/views/skyline/link_section_links/_form.html.erb +29 -0
  172. data/app/views/skyline/locales/show.js.erb +14 -0
  173. data/app/views/skyline/media_dirs/_edit.html.erb +25 -0
  174. data/app/views/skyline/media_dirs/_index.html.erb +14 -0
  175. data/app/views/skyline/media_dirs/index.html.erb +42 -0
  176. data/app/views/skyline/media_files/_edit.html.erb +75 -0
  177. data/app/views/skyline/media_files/_header.html.erb +3 -0
  178. data/app/views/skyline/media_files/_index.html.erb +51 -0
  179. data/app/views/skyline/media_files/_new.html.erb +50 -0
  180. data/app/views/skyline/publications/_index.html.erb +35 -0
  181. data/app/views/skyline/sections/_content_collection_section.html.erb +30 -0
  182. data/app/views/skyline/sections/_content_item_section.html.erb +27 -0
  183. data/app/views/skyline/sections/_form.html.erb +45 -0
  184. data/app/views/skyline/sections/_heading_section.html.erb +23 -0
  185. data/app/views/skyline/sections/_iframe_section.html.erb +12 -0
  186. data/app/views/skyline/sections/_link_section.html.erb +33 -0
  187. data/app/views/skyline/sections/_media_section.html.erb +16 -0
  188. data/app/views/skyline/sections/_page_fragment_section.html.erb +8 -0
  189. data/app/views/skyline/sections/_raw_section.html.erb +1 -0
  190. data/app/views/skyline/sections/_redirect_section.html.erb +10 -0
  191. data/app/views/skyline/sections/_rss_section.html.erb +12 -0
  192. data/app/views/skyline/sections/_splitter_section.html.erb +1 -0
  193. data/app/views/skyline/sections/_wysiwyg_section.html.erb +21 -0
  194. data/app/views/skyline/settings/edit.html.erb +46 -0
  195. data/app/views/skyline/shared/_head.html.erb +29 -0
  196. data/app/views/skyline/shared/_header_area.html.erb +49 -0
  197. data/app/views/skyline/tags/_available_tags.html.erb +5 -0
  198. data/app/views/skyline/users/_edit.html.erb +3 -0
  199. data/app/views/skyline/users/_form.html.erb +73 -0
  200. data/app/views/skyline/users/_new.html.erb +3 -0
  201. data/app/views/skyline/users/index.html.erb +70 -0
  202. data/bin/skylinecms +5 -0
  203. data/config/initializers/dependencies.rb +21 -0
  204. data/config/initializers/javascript_generator_methods.rb +4 -0
  205. data/config/initializers/locales.rb +11 -0
  206. data/config/initializers/middlewares.rb +20 -0
  207. data/config/initializers/mime_types.rb +225 -0
  208. data/config/initializers/observers.rb +5 -0
  209. data/config/initializers/rails_defaults.rb +2 -0
  210. data/config/locales/en-US.yml +819 -0
  211. data/config/locales/nl-NL.yml +818 -0
  212. data/config/routes.rb +89 -0
  213. data/db/fixtures/files/test.gif +0 -0
  214. data/db/fixtures/roles_and_rights.rb +81 -0
  215. data/db/fixtures/roots.rb +15 -0
  216. data/db/migrate/20090302102548_add_media_nodes.rb +17 -0
  217. data/db/migrate/20090309133933_add_description_to_media_nodes.rb +9 -0
  218. data/db/migrate/20090309134731_add_tags.rb +11 -0
  219. data/db/migrate/20090309135746_create_media_files_tags.rb +12 -0
  220. data/db/migrate/20090319091342_create_media_caches.rb +13 -0
  221. data/db/migrate/20090327083240_create_users.rb +16 -0
  222. data/db/migrate/20090327084656_create_roles.rb +12 -0
  223. data/db/migrate/20090327084719_create_rights.rb +12 -0
  224. data/db/migrate/20090327084739_create_grants.rb +12 -0
  225. data/db/migrate/20090327090918_create_rights_roles.rb +12 -0
  226. data/db/migrate/20090408115155_create_ref_objects.rb +19 -0
  227. data/db/migrate/20090504140044_create_test_sections.rb +14 -0
  228. data/db/migrate/20090506083107_add_refering_column_name_to_ref_objects.rb +9 -0
  229. data/db/migrate/20090508145820_create_skyline_pages.rb +17 -0
  230. data/db/migrate/20090508145852_create_skyline_page_versions.rb +27 -0
  231. data/db/migrate/20090508150149_create_skyline_sections.rb +17 -0
  232. data/db/migrate/20090508150204_create_skyline_wysiwyg_sections.rb +12 -0
  233. data/db/migrate/20090508150210_create_skyline_rss_sections.rb +13 -0
  234. data/db/migrate/20090511074702_create_test_content_objs.rb +14 -0
  235. data/db/migrate/20090519143912_add_skyline_pages_locked.rb +9 -0
  236. data/db/migrate/20090525081942_rename_test_content_objs.rb +9 -0
  237. data/db/migrate/20090526090049_add_pages_url_part.rb +11 -0
  238. data/db/migrate/20090527130112_create_skyline_iframe_sections.rb +14 -0
  239. data/db/migrate/20090528080308_create_skyline_versions.rb +14 -0
  240. data/db/migrate/20090528090319_create_skyline_actions.rb +14 -0
  241. data/db/migrate/20090603104115_prefix_tables_for_skyline.rb +30 -0
  242. data/db/migrate/20090608131055_add_skyline_pages_navigation_title.rb +9 -0
  243. data/db/migrate/20090610134844_create_skyline_content_collection_sections.rb +13 -0
  244. data/db/migrate/20090610142139_add_skyline_tags_taggable_type.rb +11 -0
  245. data/db/migrate/20090610143446_move_skyline_media_files_skyline_tags_to_skyline_associated_tags.rb +14 -0
  246. data/db/migrate/20090616091122_add_skyline_pages_persistent.rb +10 -0
  247. data/db/migrate/20090616091432_add_skyline_pages_identifier.rb +9 -0
  248. data/db/migrate/20090616134834_create_skyline_heading_section.rb +12 -0
  249. data/db/migrate/20090624113754_create_skyline_content_item_section.rb +13 -0
  250. data/db/migrate/20090624134548_create_skyline_splitter_section.rb +11 -0
  251. data/db/migrate/20090624154213_create_skyline_link_sections.rb +12 -0
  252. data/db/migrate/20090624154251_create_skyline_link_section_links.rb +17 -0
  253. data/db/migrate/20090625110837_remove_skyline_actions.rb +14 -0
  254. data/db/migrate/20090630100045_add_media_nodes_file_type.rb +10 -0
  255. data/db/migrate/20090702160937_add_media_node_dimensions.rb +18 -0
  256. data/db/migrate/20090703101812_rename_page_title_tag.rb +9 -0
  257. data/db/migrate/20090706124019_add_skyline_media_node_title.rb +11 -0
  258. data/db/migrate/20090709142235_add_system_users_flag.rb +9 -0
  259. data/db/migrate/20090710145157_add_skyline_users_destroyed.rb +9 -0
  260. data/db/migrate/20090713133240_add_skyline_grants_primary_key.rb +9 -0
  261. data/db/migrate/20090714084713_migrate_sections_in_module.rb +24 -0
  262. data/db/migrate/20090723132822_add_skyline_page_version_current_editor.rb +13 -0
  263. data/db/migrate/20090804072505_create_skyline_sections_raw_sections.rb +13 -0
  264. data/db/migrate/20090804074053_create_skyline_sections_media_sections.rb +16 -0
  265. data/db/migrate/20090806134610_migrate_pages_to_articles.rb +23 -0
  266. data/db/migrate/20090806155411_create_skyline_page_datas.rb +85 -0
  267. data/db/migrate/20090807074314_create_skyline_sections_redirect_sections.rb +13 -0
  268. data/db/migrate/20090807112358_add_roles_system.rb +9 -0
  269. data/db/migrate/20090807130819_add_article_data_pointers.rb +48 -0
  270. data/db/migrate/20090807143152_remove_articles_cached_fields.rb +9 -0
  271. data/db/migrate/20090810130159_remove_page_url_part_constraint.rb +11 -0
  272. data/db/migrate/20090810131440_create_skyline_page_fragement_data.rb +12 -0
  273. data/db/migrate/20090812154655_create_skyline_sections_page_fragment_sections.rb +12 -0
  274. data/db/migrate/20090814102107_add_associated_tag_id.rb +9 -0
  275. data/db/migrate/20090904121447_create_skyline_referable_uris.rb +62 -0
  276. data/db/migrate/20091008134448_article_position_no_default.rb +9 -0
  277. data/db/migrate/20091013135821_allow_null_for_position_in_articles.rb +9 -0
  278. data/db/migrate/20091202130512_rename_users_destroyed_to_is_destroyed.rb +9 -0
  279. data/db/migrate/20091202152514_add_media_nodes_date.rb +9 -0
  280. data/doc/INSTALL.md +64 -0
  281. data/doc/MIGRATION.md +45 -0
  282. data/lib/skyline.rb +22 -0
  283. data/lib/skyline/cli/base.rb +21 -0
  284. data/lib/skyline/cli/init.rb +118 -0
  285. data/lib/skyline/cli/init/templates/config/initializers/skyline_configuration.rb +5 -0
  286. data/lib/skyline/cli/init/templates/tasks/skyline.rake +2 -0
  287. data/lib/skyline/configuration.rb +112 -0
  288. data/lib/skyline/content/class_meta_data.rb +105 -0
  289. data/lib/skyline/content/content.rb +315 -0
  290. data/lib/skyline/content/exportable.rb +28 -0
  291. data/lib/skyline/content/field_meta_data.rb +336 -0
  292. data/lib/skyline/content/implementation.rb +57 -0
  293. data/lib/skyline/content/meta_data/class_settings.rb +18 -0
  294. data/lib/skyline/content/meta_data/field.rb +212 -0
  295. data/lib/skyline/content/meta_data/field_group.rb +83 -0
  296. data/lib/skyline/content/meta_data/field_page.rb +82 -0
  297. data/lib/skyline/content/orderable.rb +81 -0
  298. data/lib/skyline/content/stack.rb +111 -0
  299. data/lib/skyline/content/versioning/version.rb +42 -0
  300. data/lib/skyline/content/versioning/versionable.rb +38 -0
  301. data/lib/skyline/content_item.rb +197 -0
  302. data/lib/skyline/content_item_section_selectable.rb +32 -0
  303. data/lib/skyline/form_builder_with_errors.rb +182 -0
  304. data/lib/skyline/indexer.rb +36 -0
  305. data/lib/skyline/javascript_generator_methods.rb +13 -0
  306. data/lib/skyline/plugins_manager.rb +29 -0
  307. data/lib/skyline/positionable.rb +47 -0
  308. data/lib/skyline/referable.rb +103 -0
  309. data/lib/skyline/renderable_scope.rb +27 -0
  310. data/lib/skyline/renderable_scope_interface.rb +29 -0
  311. data/lib/skyline/renderer.rb +392 -0
  312. data/lib/skyline/rendering/helpers/bread_crumb_helper.rb +46 -0
  313. data/lib/skyline/rendering/helpers/column_helper.rb +22 -0
  314. data/lib/skyline/rendering/helpers/renderer_helper.rb +130 -0
  315. data/lib/skyline/rendering/helpers/settings_helper.rb +31 -0
  316. data/lib/skyline/searchable_item.rb +132 -0
  317. data/lib/skyline/section_item.rb +35 -0
  318. data/lib/skyline/settings.rb +175 -0
  319. data/lib/skyline/taggable.rb +87 -0
  320. data/lib/skyline/url_validation.rb +66 -0
  321. data/lib/skyline/version.rb +13 -0
  322. data/lib/skyline/wildcard_renderable_scope.rb +15 -0
  323. data/lib/skylinecms.rb +3 -0
  324. data/public/skyline/images/backgrounds/advanced-closed.gif +0 -0
  325. data/public/skyline/images/backgrounds/advanced-open.gif +0 -0
  326. data/public/skyline/images/backgrounds/dialog-head.gif +0 -0
  327. data/public/skyline/images/backgrounds/dialog-shadow-bl-corner.png +0 -0
  328. data/public/skyline/images/backgrounds/dialog-shadow-bottom.png +0 -0
  329. data/public/skyline/images/backgrounds/dialog-shadow-br-corner.png +0 -0
  330. data/public/skyline/images/backgrounds/dialog-shadow-left.png +0 -0
  331. data/public/skyline/images/backgrounds/dialog-shadow-right.png +0 -0
  332. data/public/skyline/images/backgrounds/dialog-shadow-tl-corner.png +0 -0
  333. data/public/skyline/images/backgrounds/dialog-shadow-top.png +0 -0
  334. data/public/skyline/images/backgrounds/dialog-shadow-tr-corner.png +0 -0
  335. data/public/skyline/images/backgrounds/dots.gif +0 -0
  336. data/public/skyline/images/backgrounds/hover.gif +0 -0
  337. data/public/skyline/images/backgrounds/login-contentarea.gif +0 -0
  338. data/public/skyline/images/backgrounds/mainnavigation.gif +0 -0
  339. data/public/skyline/images/backgrounds/menu-arrow-bottom.gif +0 -0
  340. data/public/skyline/images/backgrounds/menu-arrow-right.gif +0 -0
  341. data/public/skyline/images/backgrounds/menubutton-active.gif +0 -0
  342. data/public/skyline/images/backgrounds/menubutton-arrow.gif +0 -0
  343. data/public/skyline/images/backgrounds/menubutton.gif +0 -0
  344. data/public/skyline/images/backgrounds/messages-confirmation.gif +0 -0
  345. data/public/skyline/images/backgrounds/messages-error-icon.gif +0 -0
  346. data/public/skyline/images/backgrounds/panel-dt.gif +0 -0
  347. data/public/skyline/images/backgrounds/panel-footer.gif +0 -0
  348. data/public/skyline/images/backgrounds/panel-head-closed.gif +0 -0
  349. data/public/skyline/images/backgrounds/panel-head-open.gif +0 -0
  350. data/public/skyline/images/backgrounds/panel-head.gif +0 -0
  351. data/public/skyline/images/backgrounds/pixel-blue.gif +0 -0
  352. data/public/skyline/images/backgrounds/pixel-gray.gif +0 -0
  353. data/public/skyline/images/backgrounds/progressbar-bar.gif +0 -0
  354. data/public/skyline/images/backgrounds/progressbar.gif +0 -0
  355. data/public/skyline/images/backgrounds/section-splitter.gif +0 -0
  356. data/public/skyline/images/backgrounds/selected.gif +0 -0
  357. data/public/skyline/images/backgrounds/splitter.gif +0 -0
  358. data/public/skyline/images/backgrounds/tree-li-closed.gif +0 -0
  359. data/public/skyline/images/backgrounds/tree-li-last.gif +0 -0
  360. data/public/skyline/images/backgrounds/tree-li-open.gif +0 -0
  361. data/public/skyline/images/backgrounds/tree-li.gif +0 -0
  362. data/public/skyline/images/backgrounds/tree-ul.gif +0 -0
  363. data/public/skyline/images/backgrounds/usernavigation.gif +0 -0
  364. data/public/skyline/images/buttons/buttons-medium.gif +0 -0
  365. data/public/skyline/images/buttons/buttons-small.gif +0 -0
  366. data/public/skyline/images/buttons/dialog-close.gif +0 -0
  367. data/public/skyline/images/buttons/section-delete.gif +0 -0
  368. data/public/skyline/images/icons/attachment.gif +0 -0
  369. data/public/skyline/images/icons/audio.gif +0 -0
  370. data/public/skyline/images/icons/cog-blue.gif +0 -0
  371. data/public/skyline/images/icons/cog.gif +0 -0
  372. data/public/skyline/images/icons/compressed.gif +0 -0
  373. data/public/skyline/images/icons/default.gif +0 -0
  374. data/public/skyline/images/icons/drag.gif +0 -0
  375. data/public/skyline/images/icons/excel.gif +0 -0
  376. data/public/skyline/images/icons/executable.gif +0 -0
  377. data/public/skyline/images/icons/false.gif +0 -0
  378. data/public/skyline/images/icons/file-failed.gif +0 -0
  379. data/public/skyline/images/icons/file-success.gif +0 -0
  380. data/public/skyline/images/icons/flash.gif +0 -0
  381. data/public/skyline/images/icons/folder.gif +0 -0
  382. data/public/skyline/images/icons/html.gif +0 -0
  383. data/public/skyline/images/icons/image.gif +0 -0
  384. data/public/skyline/images/icons/link-external.gif +0 -0
  385. data/public/skyline/images/icons/lock-open.gif +0 -0
  386. data/public/skyline/images/icons/lock.gif +0 -0
  387. data/public/skyline/images/icons/pages.gif +0 -0
  388. data/public/skyline/images/icons/pdf.gif +0 -0
  389. data/public/skyline/images/icons/powerpoint.gif +0 -0
  390. data/public/skyline/images/icons/text.gif +0 -0
  391. data/public/skyline/images/icons/toolbar.gif +0 -0
  392. data/public/skyline/images/icons/true.gif +0 -0
  393. data/public/skyline/images/icons/video.gif +0 -0
  394. data/public/skyline/images/icons/word.gif +0 -0
  395. data/public/skyline/images/logo.gif +0 -0
  396. data/public/skyline/images/logo.png +0 -0
  397. data/public/skyline/images/spinner.gif +0 -0
  398. data/public/skyline/javascripts/README +5 -0
  399. data/public/skyline/javascripts/src/application.js +403 -0
  400. data/public/skyline/javascripts/src/browser.js +267 -0
  401. data/public/skyline/javascripts/src/draggable_files.js +102 -0
  402. data/public/skyline/javascripts/src/library_uploader.js +226 -0
  403. data/public/skyline/javascripts/src/messages.js +61 -0
  404. data/public/skyline/javascripts/src/mootools_on_rails.js +53 -0
  405. data/public/skyline/javascripts/src/page_helper.js +49 -0
  406. data/public/skyline/javascripts/src/poller.js +51 -0
  407. data/public/skyline/javascripts/src/sections.js +70 -0
  408. data/public/skyline/javascripts/src/skyline.editor.js +1 -0
  409. data/public/skyline/javascripts/src/skyline.editor/assets/content.css +21 -0
  410. data/public/skyline/javascripts/src/skyline.editor/assets/dialog.css +116 -0
  411. data/public/skyline/javascripts/src/skyline.editor/assets/icons.gif +0 -0
  412. data/public/skyline/javascripts/src/skyline.editor/assets/ui.css +211 -0
  413. data/public/skyline/javascripts/src/skyline.editor/dialogs/anchor.htm +31 -0
  414. data/public/skyline/javascripts/src/skyline.editor/dialogs/charmap.htm +53 -0
  415. data/public/skyline/javascripts/src/skyline.editor/dialogs/color_picker.htm +75 -0
  416. data/public/skyline/javascripts/src/skyline.editor/dialogs/skyline_code.html +17 -0
  417. data/public/skyline/javascripts/src/skyline.editor/src/plugins/autoresize/editor_plugin.js +115 -0
  418. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinecode/dialog.js +87 -0
  419. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinecode/editor_plugin.js +38 -0
  420. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinecontextmenu/editor_plugin.js +89 -0
  421. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylineimage/dialog.js +88 -0
  422. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylineimage/editor_plugin.js +33 -0
  423. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinelink/dialog.js +113 -0
  424. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinelink/editor_plugin.js +51 -0
  425. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinetable/editor_plugin.js +1087 -0
  426. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinewindows/editor_plugin.js +263 -0
  427. data/public/skyline/javascripts/src/skyline.editor/src/script_loader.js +96 -0
  428. data/public/skyline/javascripts/src/skyline.editor/src/skyline.editor.js +135 -0
  429. data/public/skyline/javascripts/src/skyline.editor/src/theme.js +636 -0
  430. data/public/skyline/javascripts/src/skyline.editor/src/ui/separator.js +34 -0
  431. data/public/skyline/javascripts/src/skyline.editor/src/ui/toolbar.js +102 -0
  432. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.bat +2 -0
  433. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.xml +364 -0
  434. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/changelog.txt +886 -0
  435. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/css/content.css +51 -0
  436. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/css/word.css +53 -0
  437. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full.html +85 -0
  438. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full_jquery.html +94 -0
  439. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/index.html +10 -0
  440. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/image_list.js +9 -0
  441. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/link_list.js +10 -0
  442. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/media_list.js +10 -0
  443. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/template_list.js +9 -0
  444. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/logo.jpg +0 -0
  445. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/logo_over.jpg +0 -0
  446. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.avi +0 -0
  447. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.dcr +0 -0
  448. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.mov +0 -0
  449. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.ram +1 -0
  450. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.rm +0 -0
  451. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.swf +0 -0
  452. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/menu.html +16 -0
  453. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/simple.html +43 -0
  454. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/skins.html +212 -0
  455. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/templates/layout1.htm +15 -0
  456. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/templates/snippet1.htm +1 -0
  457. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/translate.html +80 -0
  458. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/word.html +67 -0
  459. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/AddOnManager.js +95 -0
  460. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/CommandManager.js +54 -0
  461. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ControlManager.js +489 -0
  462. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Developer.js +91 -0
  463. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Editor.js +2295 -0
  464. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorCommands.js +934 -0
  465. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorManager.js +453 -0
  466. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ForceBlocks.js +644 -0
  467. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Popup.js +412 -0
  468. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/UndoManager.js +183 -0
  469. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/WindowManager.js +169 -0
  470. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/adapter.js +240 -0
  471. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/jquery.tinymce.js +179 -0
  472. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/prototype/adapter.js +38 -0
  473. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/BlockQuote.js +135 -0
  474. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/CutCopyPaste.js +24 -0
  475. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/InsertHorizontalRule.js +15 -0
  476. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/RemoveFormat.js +173 -0
  477. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/UndoRedo.js +38 -0
  478. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/DOMUtils.js +1823 -0
  479. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Element.js +199 -0
  480. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/EventUtils.js +349 -0
  481. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Range.js +721 -0
  482. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/ScriptLoader.js +351 -0
  483. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Selection.js +747 -0
  484. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Serializer.js +979 -0
  485. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Sizzle.js +975 -0
  486. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/StringWriter.js +200 -0
  487. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/TridentSelection.js +273 -0
  488. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/XMLWriter.js +155 -0
  489. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/firebug/firebug-lite.js +2518 -0
  490. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/tinymce.js +549 -0
  491. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Button.js +68 -0
  492. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ColorSplitButton.js +212 -0
  493. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Container.js +56 -0
  494. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Control.js +182 -0
  495. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/DropMenu.js +397 -0
  496. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ListBox.js +320 -0
  497. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Menu.js +175 -0
  498. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuButton.js +128 -0
  499. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuItem.js +69 -0
  500. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/NativeListBox.js +198 -0
  501. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Separator.js +34 -0
  502. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/SplitButton.js +99 -0
  503. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Toolbar.js +86 -0
  504. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Cookie.js +126 -0
  505. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Dispatcher.js +101 -0
  506. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSON.js +81 -0
  507. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONP.js +25 -0
  508. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONRequest.js +87 -0
  509. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/URI.js +289 -0
  510. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/XHR.js +80 -0
  511. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/xml/Parser.js +126 -0
  512. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/jquery.tinymce.js +1 -0
  513. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/langs/en.js +154 -0
  514. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/license.txt +504 -0
  515. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css +5 -0
  516. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
  517. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js +54 -0
  518. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js +43 -0
  519. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js +5 -0
  520. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +62 -0
  521. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css +13 -0
  522. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
  523. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +47 -0
  524. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +237 -0
  525. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  526. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +443 -0
  527. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js +43 -0
  528. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css +8 -0
  529. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
  530. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js +58 -0
  531. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +528 -0
  532. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js +52 -0
  533. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +338 -0
  534. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -0
  535. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +111 -0
  536. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -0
  537. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +51 -0
  538. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -0
  539. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +117 -0
  540. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js +1 -0
  541. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin_src.js +616 -0
  542. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
  543. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +95 -0
  544. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
  545. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js +79 -0
  546. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -0
  547. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js +40 -0
  548. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm +40 -0
  549. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
  550. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
  551. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  552. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  553. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
  554. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
  555. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
  556. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  557. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  558. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  559. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  560. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  561. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  562. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
  563. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  564. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
  565. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js +22 -0
  566. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js +20 -0
  567. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm +27 -0
  568. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js +1 -0
  569. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js +81 -0
  570. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif +0 -0
  571. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js +19 -0
  572. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js +3 -0
  573. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
  574. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css +182 -0
  575. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -0
  576. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +146 -0
  577. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +576 -0
  578. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +461 -0
  579. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +85 -0
  580. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
  581. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +145 -0
  582. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +110 -0
  583. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
  584. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js +51 -0
  585. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  586. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +632 -0
  587. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  588. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  589. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  590. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  591. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  592. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  593. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  594. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +90 -0
  595. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  596. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +1 -0
  597. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +80 -0
  598. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js +1 -0
  599. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +209 -0
  600. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css +6 -0
  601. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css +16 -0
  602. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js +1 -0
  603. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js +405 -0
  604. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  605. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  606. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  607. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif +0 -0
  608. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  609. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif +0 -0
  610. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif +0 -0
  611. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js +73 -0
  612. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/js/media.js +630 -0
  613. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js +103 -0
  614. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/media.htm +822 -0
  615. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -0
  616. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +50 -0
  617. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -0
  618. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +87 -0
  619. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css +1 -0
  620. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -0
  621. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +74 -0
  622. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif +0 -0
  623. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  624. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  625. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +512 -0
  626. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js +36 -0
  627. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js +51 -0
  628. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
  629. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm +33 -0
  630. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm +27 -0
  631. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js +1 -0
  632. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js +50 -0
  633. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/example.html +28 -0
  634. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js +73 -0
  635. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/preview.html +17 -0
  636. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js +1 -0
  637. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js +31 -0
  638. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/blank.htm +1 -0
  639. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js +1 -0
  640. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin_src.js +438 -0
  641. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js +1 -0
  642. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js +98 -0
  643. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +6 -0
  644. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -0
  645. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +54 -0
  646. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +126 -0
  647. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +16 -0
  648. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +104 -0
  649. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css +1 -0
  650. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
  651. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +338 -0
  652. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  653. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/css/props.css +13 -0
  654. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js +1 -0
  655. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js +52 -0
  656. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/js/props.js +641 -0
  657. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js +63 -0
  658. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/props.htm +730 -0
  659. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -0
  660. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +109 -0
  661. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +183 -0
  662. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css +17 -0
  663. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/css/row.css +25 -0
  664. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/css/table.css +13 -0
  665. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
  666. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +1136 -0
  667. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +269 -0
  668. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js +29 -0
  669. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js +212 -0
  670. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js +440 -0
  671. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js +74 -0
  672. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +37 -0
  673. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +160 -0
  674. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +192 -0
  675. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/blank.htm +12 -0
  676. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/css/template.css +23 -0
  677. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js +1 -0
  678. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js +156 -0
  679. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/js/template.js +106 -0
  680. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js +15 -0
  681. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/template.htm +38 -0
  682. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -0
  683. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +73 -0
  684. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +148 -0
  685. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +148 -0
  686. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +153 -0
  687. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +148 -0
  688. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +11 -0
  689. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +9 -0
  690. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +169 -0
  691. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  692. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +136 -0
  693. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +169 -0
  694. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +25 -0
  695. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +25 -0
  696. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +123 -0
  697. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +25 -0
  698. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +60 -0
  699. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +231 -0
  700. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +59 -0
  701. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
  702. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +56 -0
  703. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +31 -0
  704. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +53 -0
  705. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +75 -0
  706. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js +1 -0
  707. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +1153 -0
  708. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +85 -0
  709. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  710. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  711. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js +72 -0
  712. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js +37 -0
  713. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js +325 -0
  714. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js +253 -0
  715. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js +245 -0
  716. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +156 -0
  717. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js +62 -0
  718. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js +62 -0
  719. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js +51 -0
  720. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +63 -0
  721. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css +32 -0
  722. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css +116 -0
  723. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  724. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  725. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  726. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  727. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  728. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  729. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +214 -0
  730. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css +32 -0
  731. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +115 -0
  732. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  733. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  734. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  735. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +215 -0
  736. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  737. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  738. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +31 -0
  739. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js +1 -0
  740. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js +85 -0
  741. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  742. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js +11 -0
  743. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css +25 -0
  744. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css +32 -0
  745. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
  746. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  747. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
  748. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js +1 -0
  749. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_dev.js +128 -0
  750. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery.js +1 -0
  751. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery_src.js +12198 -0
  752. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js +5 -0
  753. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype.js +1 -0
  754. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype_src.js +13057 -0
  755. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_src.js +13030 -0
  756. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/editable_selects.js +69 -0
  757. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/form_utils.js +199 -0
  758. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/mctabs.js +76 -0
  759. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/validate.js +219 -0
  760. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api.html +18 -0
  761. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_jquery.html +18 -0
  762. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_prototype.html +19 -0
  763. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/basic.html +548 -0
  764. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/crossdomain.html +87 -0
  765. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/css/unit.css +120 -0
  766. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/index.html +10 -0
  767. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/jquery_plugin.html +112 -0
  768. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/api.js +1438 -0
  769. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/testrunner.js +791 -0
  770. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/main.html +8 -0
  771. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/media.html +221 -0
  772. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/menu.html +22 -0
  773. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/parts.html +90 -0
  774. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/paste.html +132 -0
  775. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/performance.html +152 -0
  776. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/range.html +522 -0
  777. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/removeformat.html +88 -0
  778. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/selection.html +235 -0
  779. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/config.ini +27 -0
  780. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/footer.html +3 -0
  781. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/header.html +6 -0
  782. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/index.php +1 -0
  783. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/instructions.txt +4 -0
  784. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/logo.png +0 -0
  785. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/selectors.list +40 -0
  786. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/style.css +181 -0
  787. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/index.php +112 -0
  788. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/slickspeed.js +147 -0
  789. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/template.php +47 -0
  790. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/template.html +2865 -0
  791. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/test.xml +6 -0
  792. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/ant-contrib.jar +0 -0
  793. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/js_build_tools.jar +0 -0
  794. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnClientAdapter.jar +0 -0
  795. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnant.jar +0 -0
  796. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnjavahl.jar +0 -0
  797. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnkit.jar +0 -0
  798. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/yuicompressor.jar +0 -0
  799. data/public/skyline/javascripts/src/skyline.js +16 -0
  800. data/public/skyline/javascripts/src/skyline/assets/dialog/button-close.gif +0 -0
  801. data/public/skyline/javascripts/src/skyline/assets/dialog/dialog.css +104 -0
  802. data/public/skyline/javascripts/src/skyline/assets/dialog/head.gif +0 -0
  803. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-bl-corner.png +0 -0
  804. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-bottom.png +0 -0
  805. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-br-corner.png +0 -0
  806. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-left.png +0 -0
  807. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-right.png +0 -0
  808. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-tl-corner.png +0 -0
  809. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-top.png +0 -0
  810. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-tr-corner.png +0 -0
  811. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton-active.gif +0 -0
  812. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton-arrow.gif +0 -0
  813. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton.css +66 -0
  814. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton.gif +0 -0
  815. data/public/skyline/javascripts/src/skyline/assets/tree/icon.gif +0 -0
  816. data/public/skyline/javascripts/src/skyline/assets/tree/last.gif +0 -0
  817. data/public/skyline/javascripts/src/skyline/assets/tree/li.gif +0 -0
  818. data/public/skyline/javascripts/src/skyline/assets/tree/middle-closed.gif +0 -0
  819. data/public/skyline/javascripts/src/skyline/assets/tree/middle-open.gif +0 -0
  820. data/public/skyline/javascripts/src/skyline/assets/tree/tree.css +91 -0
  821. data/public/skyline/javascripts/src/skyline/assets/tree/tree_vert_line.png +0 -0
  822. data/public/skyline/javascripts/src/skyline/src/dialog.js +286 -0
  823. data/public/skyline/javascripts/src/skyline/src/drag.js +59 -0
  824. data/public/skyline/javascripts/src/skyline/src/field_replicator.js +55 -0
  825. data/public/skyline/javascripts/src/skyline/src/hover_select.js +46 -0
  826. data/public/skyline/javascripts/src/skyline/src/layout.js +417 -0
  827. data/public/skyline/javascripts/src/skyline/src/menu.js +54 -0
  828. data/public/skyline/javascripts/src/skyline/src/menubutton.js +122 -0
  829. data/public/skyline/javascripts/src/skyline/src/skyline.js +6 -0
  830. data/public/skyline/javascripts/src/skyline/src/sortable.js +146 -0
  831. data/public/skyline/javascripts/src/skyline/src/tabs.js +131 -0
  832. data/public/skyline/javascripts/src/skyline/src/tag_selector.js +110 -0
  833. data/public/skyline/javascripts/src/skyline/src/toggle.js +66 -0
  834. data/public/skyline/javascripts/src/skyline/src/tree.js +399 -0
  835. data/public/skyline/javascripts/src/skyline/src/uploader.js +115 -0
  836. data/public/skyline/javascripts/src/skyline/src/utils.js +31 -0
  837. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/FancyUpload2.js +251 -0
  838. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/FancyUpload3.Attach.js +222 -0
  839. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Fx.ProgressBar.js +71 -0
  840. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Swiff.Uploader.js +488 -0
  841. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Swiff.Uploader.swf +0 -0
  842. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-core.js +356 -0
  843. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-more.js +82 -0
  844. data/public/skyline/javascripts/src/utils.js +111 -0
  845. data/public/skyline/stylesheets/general.css +2291 -0
  846. data/public/skyline/stylesheets/ie.css +47 -0
  847. data/public/skyline/stylesheets/undohtml.css +53 -0
  848. data/public/skyline/stylesheets/wysiwyg.css +28 -0
  849. data/rails/init.rb +30 -0
  850. data/recipes/deploy.rb +31 -0
  851. data/tasks/database.rake +66 -0
  852. data/tasks/implementation.rake +2 -0
  853. data/vendor/andand/andand.rb +96 -0
  854. data/vendor/digitpaint/configure.rb +144 -0
  855. data/vendor/digitpaint/nested_attributes_positioning.rb +70 -0
  856. data/vendor/digitpaint/personify/README.md +86 -0
  857. data/vendor/digitpaint/personify/lib/parser/personify.rb +838 -0
  858. data/vendor/digitpaint/personify/lib/parser/personify.treetop +126 -0
  859. data/vendor/digitpaint/personify/lib/parser/personify_node_classes.rb +7 -0
  860. data/vendor/digitpaint/personify/lib/template.rb +16 -0
  861. data/vendor/digitpaint/personify/personify.rb +7 -0
  862. data/vendor/digitpaint/personify/script/generate_parser.rb +6 -0
  863. data/vendor/digitpaint/personify/vendor/treetop/History.txt +9 -0
  864. data/vendor/digitpaint/personify/vendor/treetop/README +164 -0
  865. data/vendor/digitpaint/personify/vendor/treetop/Rakefile +20 -0
  866. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/grammar ___ end.tmSnippet +20 -0
  867. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/rule ___ end.tmSnippet +18 -0
  868. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Syntaxes/Treetop Grammar.tmLanguage +251 -0
  869. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/info.plist +10 -0
  870. data/vendor/digitpaint/personify/vendor/treetop/bin/tt +28 -0
  871. data/vendor/digitpaint/personify/vendor/treetop/doc/contributing_and_planned_features.markdown +103 -0
  872. data/vendor/digitpaint/personify/vendor/treetop/doc/grammar_composition.markdown +65 -0
  873. data/vendor/digitpaint/personify/vendor/treetop/doc/index.markdown +90 -0
  874. data/vendor/digitpaint/personify/vendor/treetop/doc/pitfalls_and_advanced_techniques.markdown +51 -0
  875. data/vendor/digitpaint/personify/vendor/treetop/doc/semantic_interpretation.markdown +189 -0
  876. data/vendor/digitpaint/personify/vendor/treetop/doc/site.rb +110 -0
  877. data/vendor/digitpaint/personify/vendor/treetop/doc/sitegen.rb +60 -0
  878. data/vendor/digitpaint/personify/vendor/treetop/doc/syntactic_recognition.markdown +100 -0
  879. data/vendor/digitpaint/personify/vendor/treetop/doc/using_in_ruby.markdown +21 -0
  880. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.rb +551 -0
  881. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.treetop +97 -0
  882. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_node_classes.rb +7 -0
  883. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_test.rb +54 -0
  884. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus +0 -0
  885. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.rb +718 -0
  886. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.treetop +132 -0
  887. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_node_classes.rb +5 -0
  888. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_test.rb +89 -0
  889. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/test_helper.rb +18 -0
  890. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop.rb +11 -0
  891. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/bootstrap_gen_1_metagrammar.rb +45 -0
  892. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler.rb +6 -0
  893. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/grammar_compiler.rb +40 -0
  894. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/lexical_address_space.rb +17 -0
  895. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.rb +2955 -0
  896. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.treetop +404 -0
  897. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes.rb +19 -0
  898. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/anything_symbol.rb +20 -0
  899. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/atomic_expression.rb +14 -0
  900. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/character_class.rb +22 -0
  901. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/choice.rb +31 -0
  902. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/declaration_sequence.rb +24 -0
  903. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/grammar.rb +28 -0
  904. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/inline_module.rb +27 -0
  905. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/nonterminal.rb +13 -0
  906. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/optional.rb +19 -0
  907. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parenthesized_expression.rb +9 -0
  908. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_expression.rb +138 -0
  909. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_rule.rb +55 -0
  910. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/predicate.rb +45 -0
  911. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/repetition.rb +55 -0
  912. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/sequence.rb +68 -0
  913. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb +20 -0
  914. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/transient_prefix.rb +9 -0
  915. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/treetop_file.rb +9 -0
  916. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/ruby_builder.rb +113 -0
  917. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions.rb +2 -0
  918. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions/string.rb +42 -0
  919. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime.rb +5 -0
  920. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/compiled_parser.rb +95 -0
  921. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list.rb +4 -0
  922. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/head_node.rb +15 -0
  923. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +200 -0
  924. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/node.rb +164 -0
  925. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/syntax_node.rb +72 -0
  926. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_parse_failure.rb +16 -0
  927. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_syntax_node.rb +17 -0
  928. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/version.rb +9 -0
  929. data/vendor/digitpaint/personify/vendor/treetop/script/generate_metagrammar.rb +14 -0
  930. data/vendor/digitpaint/personify/vendor/treetop/script/svnadd +11 -0
  931. data/vendor/digitpaint/personify/vendor/treetop/script/svnrm +11 -0
  932. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/and_predicate_spec.rb +36 -0
  933. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/anything_symbol_spec.rb +52 -0
  934. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/character_class_spec.rb +188 -0
  935. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/choice_spec.rb +80 -0
  936. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/circular_compilation_spec.rb +28 -0
  937. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/failure_propagation_functional_spec.rb +21 -0
  938. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_compiler_spec.rb +84 -0
  939. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_spec.rb +41 -0
  940. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/nonterminal_symbol_spec.rb +40 -0
  941. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/not_predicate_spec.rb +38 -0
  942. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/one_or_more_spec.rb +35 -0
  943. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/optional_spec.rb +37 -0
  944. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parenthesized_expression_spec.rb +19 -0
  945. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parsing_rule_spec.rb +32 -0
  946. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/sequence_spec.rb +115 -0
  947. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_spec.rb +81 -0
  948. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_symbol_spec.rb +37 -0
  949. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.treetop +7 -0
  950. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.tt +7 -0
  951. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar_do.treetop +7 -0
  952. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/zero_or_more_spec.rb +56 -0
  953. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/a.treetop +11 -0
  954. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/b.treetop +11 -0
  955. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/c.treetop +10 -0
  956. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/d.treetop +10 -0
  957. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/grammar_composition_spec.rb +26 -0
  958. data/vendor/digitpaint/personify/vendor/treetop/spec/ruby_extensions/string_spec.rb +32 -0
  959. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/compiled_parser_spec.rb +101 -0
  960. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/delete_spec.rb +147 -0
  961. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/expire_range_spec.rb +349 -0
  962. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_and_delete_node.rb +385 -0
  963. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_spec.rb +660 -0
  964. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +6175 -0
  965. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +58 -0
  966. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture.rb +23 -0
  967. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +164 -0
  968. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/spec_helper.rb +84 -0
  969. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/syntax_node_spec.rb +53 -0
  970. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_helper.rb +106 -0
  971. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_suite.rb +4 -0
  972. data/vendor/digitpaint/personify/vendor/treetop/treetop.gemspec +18 -0
  973. data/vendor/digitpaint/unique_identifiers.rb +89 -0
  974. data/vendor/mootools-on-rails/README +54 -0
  975. data/vendor/mootools-on-rails/Rakefile +22 -0
  976. data/vendor/mootools-on-rails/lib/mootools_on_rails.rb +30 -0
  977. data/vendor/mootools-on-rails/lib/mootools_on_rails/mootools_helper.rb +501 -0
  978. metadata +1141 -0
@@ -0,0 +1,87 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <title>Full featured example</title>
5
+
6
+ <!-- TinyMCE -->
7
+ <script type="text/javascript" src="http://b.test.com/tinymce/tinymce/trunk/jscripts/tiny_mce/tiny_mce_dev.js"></script>
8
+ <script type="text/javascript">
9
+ tinyMCE.init({
10
+ // General options
11
+ mode : "textareas",
12
+ theme : "advanced",
13
+ plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,spellchecker,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
14
+
15
+ // Theme options
16
+ theme_advanced_buttons1 : "spellchecker,save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
17
+ theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
18
+ theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
19
+ theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
20
+ theme_advanced_toolbar_location : "top",
21
+ theme_advanced_toolbar_align : "left",
22
+ theme_advanced_statusbar_location : "bottom",
23
+ theme_advanced_resizing : true,
24
+
25
+ // Example content CSS (should be your site CSS)
26
+ content_css : "examples/content.css",
27
+
28
+ // Drop lists for link/image/media/template dialogs
29
+ template_external_list_url : "examples/lists/template_list.js",
30
+ external_link_list_url : "lists/link_list.js",
31
+ external_image_list_url : "lists/image_list.js",
32
+ media_external_list_url : "lists/media_list.js",
33
+
34
+ spellchecker_rpc_url : '/tinymce/spellchecker_php/trunk/rpc.php',
35
+
36
+ // Replace values for the template plugin
37
+ template_replace_values : {
38
+ username : "Some User",
39
+ staffid : "991234"
40
+ }
41
+ });
42
+ </script>
43
+ <!-- /TinyMCE -->
44
+
45
+ </head>
46
+ <body>
47
+
48
+ <form method="post" action="http://tinymce.moxiecode.com/dump.php?example=true">
49
+ <h3>Full featured example</h3>
50
+
51
+ <p>
52
+ This page shows all available buttons and plugins that are included in the TinyMCE core package.
53
+ There are more examples on how to use TinyMCE in the <a href="http://wiki.moxiecode.com/examples/tinymce/">Wiki</a>.
54
+ </p>
55
+
56
+ <!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded -->
57
+ <textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%">
58
+ &lt;p&gt;
59
+ This is some example text that you can edit inside the &lt;strong&gt;TinyMCE editor&lt;/strong&gt;.
60
+ &lt;/p&gt;
61
+ &lt;p&gt;
62
+ Nam nisi elit, cursus in rhoncus sit amet, pulvinar laoreet leo. Nam sed lectus quam, ut sagittis tellus. Quisque dignissim mauris a augue rutrum tempor. Donec vitae purus nec massa vestibulum ornare sit amet id tellus. Nunc quam mauris, fermentum nec lacinia eget, sollicitudin nec ante. Aliquam molestie volutpat dapibus. Nunc interdum viverra sodales. Morbi laoreet pulvinar gravida. Quisque ut turpis sagittis nunc accumsan vehicula. Duis elementum congue ultrices. Cras faucibus feugiat arcu quis lacinia. In hac habitasse platea dictumst. Pellentesque fermentum magna sit amet tellus varius ullamcorper. Vestibulum at urna augue, eget varius neque. Fusce facilisis venenatis dapibus. Integer non sem at arcu euismod tempor nec sed nisl. Morbi ultricies, mauris ut ultricies adipiscing, felis odio condimentum massa, et luctus est nunc nec eros.
63
+ &lt;/p&gt;
64
+ </textarea>
65
+
66
+ <div>
67
+ <!-- Some integration calls -->
68
+ <a href="javascript:;" onmousedown="tinyMCE.get('elm1').show();">[Show]</a>
69
+ <a href="javascript:;" onmousedown="tinyMCE.get('elm1').hide();">[Hide]</a>
70
+ <a href="javascript:;" onmousedown="tinyMCE.execCommand('mceAddControl', false, 'elm1');">[Add]</a>
71
+ <a href="javascript:;" onmousedown="tinyMCE.execCommand('mceRemoveControl', false, 'elm1');">[Remove]</a>
72
+ <a href="javascript:;" onmousedown="tinyMCE.get('elm1').execCommand('Bold');">[Bold]</a>
73
+ <a href="javascript:;" onmousedown="alert(tinyMCE.get('elm1').getContent());">[Get contents]</a>
74
+ <a href="javascript:;" onmousedown="alert(tinyMCE.get('elm1').selection.getContent());">[Get selected HTML]</a>
75
+ <a href="javascript:;" onmousedown="alert(tinyMCE.get('elm1').selection.getContent({format : 'text'}));">[Get selected text]</a>
76
+ <a href="javascript:;" onmousedown="alert(tinyMCE.get('elm1').selection.getNode().nodeName);">[Get selected element]</a>
77
+ <a href="javascript:;" onmousedown="tinyMCE.execCommand('mceInsertContent',false,'<b>Hello world!!</b>');">[Insert HTML]</a>
78
+ <a href="javascript:;" onmousedown="tinyMCE.execCommand('mceReplaceContent',false,'<b>{$selection}</b>');">[Replace selection]</a>
79
+ </div>
80
+
81
+ <br />
82
+ <input type="submit" name="save" value="Submit" />
83
+ <input type="reset" name="reset" value="Reset" />
84
+ </form>
85
+
86
+ </body>
87
+ </html>
@@ -0,0 +1,120 @@
1
+ body, div, h1 { font-family: 'trebuchet ms', verdana, arial; margin: 0; padding: 0 }
2
+ body {font-size: 10pt; }
3
+ h1 { padding: 15px; font-size: large; background-color: #06b; color: white; }
4
+ h1 a { color: white; }
5
+ h2 { padding: 10px; background-color: #eee; color: black; margin: 0; font-size: small; font-weight: normal }
6
+
7
+ .pass { color: green; }
8
+ .fail { color: red; }
9
+ p.result { margin-left: 1em; }
10
+
11
+ #banner { height: 2em; border-bottom: 1px solid white; }
12
+ h2.pass { background-color: green; }
13
+ h2.fail { background-color: red; }
14
+
15
+ div.testrunner-toolbar { background: #eee; border-top: 1px solid black; padding: 10px; }
16
+
17
+ ol#tests > li > strong { cursor:pointer; }
18
+
19
+ div#fx-tests h4 {
20
+ background: red;
21
+ }
22
+
23
+ div#fx-tests h4.pass {
24
+ background: green;
25
+ }
26
+
27
+ div#fx-tests div.box {
28
+ background: red url(data/cow.jpg) no-repeat;
29
+ overflow: hidden;
30
+ border: 2px solid #000;
31
+ }
32
+
33
+ div#fx-tests div.overflow {
34
+ overflow: visible;
35
+ }
36
+
37
+ div.inline {
38
+ display: inline;
39
+ }
40
+
41
+ div.autoheight {
42
+ height: auto;
43
+ }
44
+
45
+ div.autowidth {
46
+ width: auto;
47
+ }
48
+
49
+ div.autoopacity {
50
+ opacity: auto;
51
+ }
52
+
53
+ div.largewidth {
54
+ width: 100px;
55
+ }
56
+
57
+ div.largeheight {
58
+ height: 100px;
59
+ }
60
+
61
+ div.largeopacity {
62
+ filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
63
+ }
64
+
65
+ div.medwidth {
66
+ width: 50px;
67
+ }
68
+
69
+ div.medheight {
70
+ height: 50px;
71
+ }
72
+
73
+ div.medopacity {
74
+ opacity: 0.5;
75
+ filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);
76
+ }
77
+
78
+ div.nowidth {
79
+ width: 0px;
80
+ }
81
+
82
+ div.noheight {
83
+ height: 0px;
84
+ }
85
+
86
+ div.noopacity {
87
+ opacity: 0;
88
+ filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
89
+ }
90
+
91
+ div.hidden {
92
+ display: none;
93
+ }
94
+
95
+ div#fx-tests div.widewidth {
96
+ background-repeat: repeat-x;
97
+ }
98
+
99
+ div#fx-tests div.wideheight {
100
+ background-repeat: repeat-y;
101
+ }
102
+
103
+ div#fx-tests div.widewidth.wideheight {
104
+ background-repeat: repeat;
105
+ }
106
+
107
+ div#fx-tests div.noback {
108
+ background-image: none;
109
+ }
110
+
111
+ div.chain, div.chain div { width: 100px; height: 20px; position: relative; float: left; }
112
+ div.chain div { position: absolute; top: 0px; left: 0px; }
113
+
114
+ div.chain.test { background: red; }
115
+ div.chain.test div { background: green; }
116
+
117
+ div.chain.out { background: green; }
118
+ div.chain.out div { background: red; display: none; }
119
+
120
+ div#show-tests * { display: none; }
@@ -0,0 +1,10 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Testcases for TinyMCE</title>
5
+ </head>
6
+ <frameset cols="200,80%">
7
+ <frame src="menu.html" name="menu" />
8
+ <frame src="main.html" name="main" />
9
+ </frameset>
10
+ </html>
@@ -0,0 +1,112 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <script src="http://code.jquery.com/jquery-latest.js"></script>
5
+ <script type="text/javascript" src="js/testrunner.js"></script>
6
+ <script type="text/javascript" src="../jscripts/tiny_mce/classes/adapter/jquery/jquery.tinymce.js"></script>
7
+ <link rel="stylesheet" href="css/unit.css" type="text/css" />
8
+ <script>
9
+ test("Get contents using jQuery", function() {
10
+ expect(4);
11
+
12
+ tinyMCE.get('elm1').setContent('<p>Editor 1</p>');
13
+
14
+ equals($('#elm1').html(), '<p>Editor 1</p>');
15
+ equals($('#elm1').val(), '<p>Editor 1</p>');
16
+ equals($('#elm1').attr('value'), '<p>Editor 1</p>');
17
+ equals($('#elm1').text(), 'Editor 1');
18
+ });
19
+
20
+ test("Set contents using jQuery", function() {
21
+ expect(4);
22
+
23
+ $('#elm1').html('Test 1');
24
+ equals($('#elm1').html(), '<p>Test 1</p>');
25
+
26
+ $('#elm1').val('Test 2');
27
+ equals($('#elm1').html(), '<p>Test 2</p>');
28
+
29
+ $('#elm1').text('Test 3');
30
+ equals($('#elm1').html(), '<p>Test 3</p>');
31
+
32
+ $('#elm1').attr('value', 'Test 4');
33
+ equals($('#elm1').html(), '<p>Test 4</p>');
34
+ });
35
+
36
+ test("append/prepend contents using jQuery", function() {
37
+ expect(2);
38
+
39
+ tinyMCE.get('elm1').setContent('<p>Editor 1</p>');
40
+
41
+ $('#elm1').append('<p>Test 1</p>');
42
+ equals($('#elm1').html(), '<p>Editor 1</p>\n<p>Test 1</p>');
43
+
44
+ $('#elm1').prepend('<p>Test 2</p>');
45
+ equals($('#elm1').html(), '<p>Test 2</p>\n<p>Editor 1</p>\n<p>Test 1</p>');
46
+ });
47
+
48
+ test("Find using :tinymce selector", function() {
49
+ expect(1);
50
+
51
+ equals($('textarea:tinymce').length, 2);
52
+ });
53
+
54
+ test("Set contents using :tinymce selector", function() {
55
+ expect(3);
56
+
57
+ $('textarea:tinymce').val('Test 1');
58
+ equals($('#elm1').val(), '<p>Test 1</p>');
59
+ equals($('#elm2').val(), '<p>Test 1</p>');
60
+ equals($('#elm3').val(), 'Textarea');
61
+ });
62
+
63
+ test("Get contents using :tinymce selector", function() {
64
+ expect(1);
65
+
66
+ $('textarea:tinymce').val('Test get');
67
+ equals($('textarea:tinymce').val(), '<p>Test get</p>');
68
+ });
69
+
70
+ $().ready(function() {
71
+ $('textarea.tinymce').tinymce({
72
+ // Location of TinyMCE script
73
+ script_url : '../jscripts/tiny_mce/tiny_mce.js',
74
+
75
+ // General options
76
+ theme : "advanced",
77
+ plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
78
+
79
+ // Theme options
80
+ theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
81
+ theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
82
+ theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
83
+ theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
84
+ theme_advanced_toolbar_location : "top",
85
+ theme_advanced_toolbar_align : "left",
86
+ theme_advanced_statusbar_location : "bottom",
87
+ theme_advanced_resizing : true,
88
+
89
+ // Example content CSS (should be your site CSS)
90
+ content_css : "css/content.css",
91
+ init_instance_callback : function(ed) {
92
+ // When both editors are initi
93
+ if (tinyMCE.get('elm1').initialized && tinyMCE.get('elm2').initialized)
94
+ run();
95
+ }
96
+ });
97
+ });
98
+ </script>
99
+ </head>
100
+ <body>
101
+ <h1>TinyMCE jQuery plugin tests</h1>
102
+ <h2 id="banner"></h2>
103
+ <h2 id="userAgent"></h2>
104
+ <ol id="tests"></ol>
105
+ <div id="main"></div>
106
+ <div id="content">
107
+ <textarea id="elm1" name="elm1" class="tinymce">Editor 1</textarea>
108
+ <textarea id="elm2" name="elm2" class="tinymce">Editor 2</textarea>
109
+ <textarea id="elm3" name="elm3">Textarea</textarea>
110
+ </div>
111
+ </body>
112
+ </html>
@@ -0,0 +1,1438 @@
1
+ $(window).load(function() {
2
+ /**
3
+ * Fakes a mouse event.
4
+ *
5
+ * @param {Element/String} e DOM element object or element id to send fake event to.
6
+ * @param {String} na Event name to fake like "click".
7
+ * @param {Object} o Optional object with data to send with the event like cordinates.
8
+ */
9
+ function fakeMouseEvent(e, na, o) {
10
+ var ev;
11
+
12
+ o = tinymce.extend({
13
+ screenX : 0,
14
+ screenY : 0,
15
+ clientX : 0,
16
+ clientY : 0
17
+ }, o);
18
+
19
+ e = tinymce.DOM.get(e);
20
+
21
+ if (e.fireEvent) {
22
+ ev = document.createEventObject();
23
+ tinymce.extend(ev, o);
24
+ e.fireEvent('on' + na, ev);
25
+ return;
26
+ }
27
+
28
+ ev = document.createEvent('MouseEvents');
29
+
30
+ if (ev.initMouseEvent)
31
+ ev.initMouseEvent(na, true, true, window, 1, o.screenX, o.screenY, o.clientX, o.clientY, false, false, true, false, 0, null);
32
+
33
+ e.dispatchEvent(ev);
34
+ };
35
+
36
+ /**
37
+ * Fakes a key event.
38
+ *
39
+ * @param {Element/String} e DOM element object or element id to send fake event to.
40
+ * @param {String} na Event name to fake like "keydown".
41
+ * @param {Object} o Optional object with data to send with the event like keyCode and charCode.
42
+ */
43
+ function fakeKeyEvent(e, na, o) {
44
+ var ev;
45
+
46
+ o = tinymce.extend({
47
+ keyCode : 13,
48
+ charCode : 0
49
+ }, o);
50
+
51
+ e = tinymce.DOM.get(e);
52
+
53
+ if (e.fireEvent) {
54
+ ev = document.createEventObject();
55
+ tinymce.extend(ev, o);
56
+ e.fireEvent('on' + na, ev);
57
+ return;
58
+ }
59
+
60
+ if (document.createEvent) {
61
+ try {
62
+ // Fails in Safari
63
+ ev = document.createEvent('KeyEvents');
64
+ ev.initKeyEvent(na, true, true, window, false, false, false, false, o.keyCode, o.charCode);
65
+ } catch (ex) {
66
+ ev = document.createEvent('Events');
67
+ ev.initEvent(na, true, true);
68
+
69
+ ev.keyCode = o.keyCode;
70
+ ev.charCode = o.charCode;
71
+ }
72
+ } else {
73
+ ev = document.createEvent('UIEvents');
74
+
75
+ if (ev.initUIEvent)
76
+ ev.initUIEvent(na, true, true, window, 1);
77
+
78
+ ev.keyCode = o.keyCode;
79
+ ev.charCode = o.charCode;
80
+ }
81
+
82
+ e.dispatchEvent(ev);
83
+ };
84
+
85
+ (function() {
86
+ test('tinymce - is', function() {
87
+ expect(9);
88
+
89
+ ok(!tinymce.is(null, 'test'));
90
+ ok(!tinymce.is('', 'test'));
91
+ ok(tinymce.is('', 'string'));
92
+ ok(tinymce.is(3, 'number'));
93
+ ok(tinymce.is(3.1, 'number'));
94
+ ok(tinymce.is([], 'array'));
95
+ ok(tinymce.is({}, 'object'));
96
+ ok(tinymce.is(window.abc, 'undefined'));
97
+ ok(!tinymce.is(window.abc));
98
+ });
99
+
100
+ test('tinymce - each', function() {
101
+ var c;
102
+
103
+ expect(6);
104
+
105
+ c = 0;
106
+ tinymce.each([1, 2, 3], function(v) {
107
+ c += v;
108
+ });
109
+ equals(c, 6);
110
+
111
+ c = 0;
112
+ tinymce.each([1, 2, 3], function(v, i) {
113
+ c += i;
114
+ });
115
+ equals(c, 3);
116
+
117
+ c = 0;
118
+ tinymce.each({a : 1, b : 2, c : 3}, function(v, i) {
119
+ c += v;
120
+ });
121
+ equals(c, 6);
122
+
123
+ c = '';
124
+ tinymce.each({a : 1, b : 2, c : 3}, function(v, k) {
125
+ c += k;
126
+ });
127
+ equals(c, 'abc');
128
+
129
+ c = 0;
130
+ tinymce.each(null, function(v) {
131
+ c += v;
132
+ });
133
+ equals(c, 0);
134
+
135
+ c = 0;
136
+ tinymce.each(1, function(v) {
137
+ c += v;
138
+ });
139
+ equals(c, 0);
140
+ });
141
+
142
+ test('tinymce - map', function() {
143
+ var c;
144
+
145
+ expect(1);
146
+
147
+ c = tinymce.map([1,2,3], function(v) {
148
+ return v + 1;
149
+ });
150
+ equals(c.join(','), '2,3,4');
151
+ });
152
+
153
+ test('tinymce - grep', function() {
154
+ var c;
155
+
156
+ expect(3);
157
+
158
+ c = tinymce.grep([1,2,3,4], function(v) {
159
+ return v > 2;
160
+ });
161
+ equals(c.join(','), '3,4');
162
+
163
+ c = [1,2,3,4];
164
+ c.test = 1
165
+ c = tinymce.grep(c);
166
+ ok(!c.test);
167
+ equals(c.join(','), '1,2,3,4');
168
+ });
169
+
170
+ test('tinymce - explode', function() {
171
+ expect(2);
172
+
173
+ equals(tinymce.explode(' a, b, c ').join(','), 'a,b,c');
174
+ equals(tinymce.explode(' a; b; c ', ';').join(','), 'a,b,c');
175
+ });
176
+
177
+ test('tinymce - inArray', function() {
178
+ expect(4);
179
+
180
+ equals(tinymce.inArray([1,2,3], 2), 1);
181
+ equals(tinymce.inArray([1,2,3], 7), -1);
182
+ equals(tinymce.inArray({a : 1, b : 2, c : 3}, 2), -1);
183
+ equals(tinymce.inArray(null, 7), -1);
184
+ });
185
+
186
+ test('tinymce - extend', function() {
187
+ var o;
188
+
189
+ expect(5);
190
+
191
+ o = tinymce.extend({
192
+ a : 1,
193
+ b : 2,
194
+ c : 3
195
+ }, {
196
+ a : 2,
197
+ d : 4
198
+ });
199
+
200
+ equals(o.a, 2);
201
+ equals(o.b, 2);
202
+ equals(o.d, 4);
203
+
204
+ o = tinymce.extend({
205
+ a : 1,
206
+ b : 2,
207
+ c : 3
208
+ }, {
209
+ a : 2,
210
+ d : 4
211
+ }, {
212
+ e : 5
213
+ });
214
+
215
+ equals(o.d, 4);
216
+ equals(o.e, 5);
217
+ });
218
+
219
+ test('tinymce - trim', function() {
220
+ expect(5);
221
+
222
+ equals(tinymce.trim('a'), 'a');
223
+ equals(tinymce.trim(' \r a'), 'a');
224
+ equals(tinymce.trim('a \n '), 'a');
225
+ equals(tinymce.trim(' a \t '), 'a');
226
+ equals(tinymce.trim(null), '');
227
+ });
228
+
229
+ test('tinymce - create', function() {
230
+ var o;
231
+
232
+ expect(13);
233
+
234
+ tinymce.create('tinymce.Test1', {
235
+ Test1 : function(c) {
236
+ this.c = c;
237
+ this.c++;
238
+ },
239
+
240
+ method1 : function() {
241
+ this.c++;
242
+ },
243
+
244
+ method2 : function() {
245
+ this.c++;
246
+ }
247
+ });
248
+
249
+ tinymce.create('tinymce.Test2:tinymce.Test1', {
250
+ Test2 : function(c) {
251
+ this.parent(c);
252
+ this.c += 2;
253
+ },
254
+
255
+ method1 : function() {
256
+ this.c+=2;
257
+ },
258
+
259
+ method2 : function() {
260
+ this.parent();
261
+ this.c+=2;
262
+ }
263
+ });
264
+
265
+ tinymce.create('tinymce.Test3:tinymce.Test2', {
266
+ Test3 : function(c) {
267
+ this.parent(c);
268
+ this.c += 4;
269
+ },
270
+
271
+ method1 : function() {
272
+ this.c+=2;
273
+ },
274
+
275
+ method2 : function() {
276
+ this.parent();
277
+ this.c+=3;
278
+ }
279
+ });
280
+
281
+ tinymce.create('tinymce.Test4:tinymce.Test3', {
282
+ method2 : function() {
283
+ this.parent();
284
+ this.c+=3;
285
+ },
286
+
287
+ 'static' : {
288
+ method3 : function() {
289
+ return 3;
290
+ }
291
+ }
292
+ });
293
+
294
+ tinymce.create('static tinymce.Test5', {
295
+ method1 : function() {
296
+ return 3;
297
+ }
298
+ });
299
+
300
+ o = new tinymce.Test1(3);
301
+ equals(o.c, 4);
302
+ o.method1();
303
+ equals(o.c, 5);
304
+
305
+ o = new tinymce.Test2(3);
306
+ equals(o.c, 6);
307
+ o.method1();
308
+ equals(o.c, 8);
309
+ o.method2();
310
+ equals(o.c, 11);
311
+
312
+ o = new tinymce.Test3(3);
313
+ equals(o.c, 10);
314
+ o.method1();
315
+ equals(o.c, 12);
316
+ o.method2();
317
+ equals(o.c, 18);
318
+
319
+ o = new tinymce.Test4(3);
320
+ equals(o.c, 10);
321
+ o.method1();
322
+ equals(o.c, 12);
323
+ o.method2();
324
+ equals(o.c, 21);
325
+ equals(tinymce.Test4.method3(), 3);
326
+
327
+ equals(tinymce.Test5.method1(), 3);
328
+ });
329
+
330
+ test('tinymce - walk', function() {
331
+ var c;
332
+
333
+ expect(3);
334
+
335
+ c = 0;
336
+ tinymce.walk({
337
+ a : {
338
+ a1 : 1,
339
+ a2 : 2,
340
+ a3 : 3
341
+ },
342
+
343
+ b : {
344
+ b1 : 4,
345
+ b2 : {
346
+ b21 : 5,
347
+ b22 : 6,
348
+ b23 : 7
349
+ },
350
+ b3 : 8
351
+ }
352
+ }, function(v) {
353
+ if (tinymce.is(v, 'number'))
354
+ c += v;
355
+ });
356
+ equals(c, 36);
357
+
358
+ c = 0;
359
+ tinymce.walk({
360
+ items : [
361
+ 1,
362
+ {items : [2, {a1 : 3, items : [4, 5], b1 : 6}, 7]},
363
+ 8
364
+ ]
365
+ }, function(v) {
366
+ if (tinymce.is(v, 'number'))
367
+ c += v;
368
+ }, 'items');
369
+ equals(c, 27);
370
+
371
+ c = 0;
372
+ tinymce.walk(null);
373
+ equals(c, 0);
374
+ });
375
+
376
+ test('tinymce - createNS', function() {
377
+ expect(2);
378
+
379
+ tinymce.createNS('a.b.c.d.e');
380
+ a.b.c.d.e.x = 1;
381
+ tinymce.createNS('a.b.c.d.e.f');
382
+ a.b.c.d.e.f = 2;
383
+ equals(a.b.c.d.e.x, 1);
384
+ equals(a.b.c.d.e.f, 2);
385
+ });
386
+
387
+ test('tinymce - get', function() {
388
+ expect(2);
389
+
390
+ tinymce.createNS('a.b.c.d.e');
391
+ a.b.c.d.e.x = 1;
392
+ equals(tinymce.resolve('a.b.c.d.e.x'), 1);
393
+ ok(!tinymce.resolve('a.b.c.d.e.y'));
394
+ });
395
+ })();
396
+
397
+ (function() {
398
+ var DOM = new tinymce.dom.DOMUtils(document, {keep_values : true});
399
+
400
+ test('tinymce.dom.DOMUtils - parseStyle', function() {
401
+ var dom;
402
+
403
+ expect(9);
404
+
405
+ DOM.add(document.body, 'div', {id : 'test'});
406
+
407
+ dom = new tinymce.dom.DOMUtils(document, {hex_colors : true, keep_values : true, url_converter : function(u, n, e) {
408
+ return 'X' + u + 'Y';
409
+ }});
410
+
411
+ equals(
412
+ dom.serializeStyle(dom.parseStyle('border: 1px solid red; color: green')),
413
+ 'border: 1px solid red; color: green;'
414
+ );
415
+
416
+ equals(
417
+ dom.serializeStyle(dom.parseStyle('border: 1px solid rgb(0, 255, 255); color: green')),
418
+ 'border: 1px solid #00ffff; color: green;'
419
+ );
420
+
421
+ equals(
422
+ dom.serializeStyle(dom.parseStyle('border-top: 1px solid red; border-left: 1px solid red; border-bottom: 1px solid red; border-right: 1px solid red;')),
423
+ 'border: 1px solid red;'
424
+ );
425
+
426
+ equals(
427
+ dom.serializeStyle(dom.parseStyle('background: transparent url(test.gif);')),
428
+ 'background: transparent url(Xtest.gifY);'
429
+ );
430
+
431
+ equals(
432
+ dom.serializeStyle(dom.parseStyle('background: transparent url(http://www.site.com/test.gif?a=1&b=2);')),
433
+ 'background: transparent url(Xhttp://www.site.com/test.gif?a=1&b=2Y);'
434
+ );
435
+
436
+ dom.setHTML('test', '<span id="test2" style="border: 1px solid #00ff00;"></span>');
437
+ equals(dom.getAttrib('test2', 'style'), 'border: 1px solid #00ff00;');
438
+
439
+ dom.setHTML('test', '<span id="test2" style="background-image: url(test.gif);"></span>');
440
+ equals(dom.getAttrib('test2', 'style'), 'background-image: url(Xtest.gifY);');
441
+
442
+ dom.get('test').innerHTML = '<span id="test2" style="border: 1px solid #00ff00"></span>';
443
+ equals(dom.getAttrib('test2', 'style'), tinymce.isIE ? 'border: #00ff00 1px solid;' : 'border: 1px solid #00ff00;'); // IE has a separate output
444
+
445
+ dom.get('test').innerHTML = '<span id="test2" style="background-image: url(http://www.site.com/test.gif);"></span>';
446
+ equals(dom.getAttrib('test2', 'style'), 'background-image: url(Xhttp://www.site.com/test.gifY);');
447
+
448
+ DOM.remove('test');
449
+ });
450
+
451
+ test('tinymce.dom.DOMUtils - addClass', function() {
452
+ expect(10);
453
+
454
+ DOM.add(document.body, 'div', {id : 'test'});
455
+
456
+ DOM.get('test').className = '';
457
+ DOM.addClass('test', 'abc');
458
+ equals(DOM.get('test').className, 'abc');
459
+
460
+ DOM.get('test').className = '';
461
+ equals(DOM.addClass('test', 'abc'), 'abc');
462
+ equals(DOM.addClass(null, 'abc'), false);
463
+
464
+ DOM.addClass('test', '123');
465
+ equals(DOM.get('test').className, 'abc 123');
466
+
467
+ DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
468
+ DOM.addClass(DOM.select('span', 'test'), 'abc');
469
+ equals(DOM.get('test2').className, 'abc');
470
+ equals(DOM.get('test3').className, 'abc');
471
+ equals(DOM.get('test4').className, 'abc');
472
+ DOM.get('test').innerHTML = '';
473
+
474
+ DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
475
+ DOM.addClass(['test2', 'test3', 'test4'], 'abc');
476
+ equals(DOM.get('test2').className, 'abc');
477
+ equals(DOM.get('test3').className, 'abc');
478
+ equals(DOM.get('test4').className, 'abc');
479
+ DOM.get('test').innerHTML = '';
480
+
481
+ DOM.remove('test');
482
+ });
483
+
484
+ test('tinymce.dom.DOMUtils - removeClass', function() {
485
+ expect(4);
486
+
487
+ DOM.add(document.body, 'div', {id : 'test'});
488
+
489
+ DOM.get('test').className = 'abc 123 xyz';
490
+ DOM.removeClass('test', '123');
491
+ equals(DOM.get('test').className, 'abc xyz');
492
+
493
+ DOM.get('test').innerHTML = '<span id="test2" class="test1"></span><span id="test3" class="test test1 test"></span><span id="test4" class="test1 test"></span>';
494
+ DOM.removeClass(DOM.select('span', 'test'), 'test1');
495
+ equals(DOM.get('test2').className, '');
496
+ equals(DOM.get('test3').className, 'test test');
497
+ equals(DOM.get('test4').className, 'test');
498
+ DOM.get('test').innerHTML = '';
499
+
500
+ DOM.remove('test');
501
+ });
502
+
503
+ test('tinymce.dom.DOMUtils - hasClass', function() {
504
+ expect(7);
505
+
506
+ DOM.add(document.body, 'div', {id : 'test'});
507
+
508
+ DOM.get('test').className = 'abc 123 xyz';
509
+ ok(DOM.hasClass('test', 'abc'));
510
+ ok(DOM.hasClass('test', '123'));
511
+ ok(DOM.hasClass('test', 'xyz'));
512
+ ok(!DOM.hasClass('test', 'aaa'));
513
+
514
+ DOM.get('test').className = 'abc';
515
+ ok(DOM.hasClass('test', 'abc'));
516
+
517
+ DOM.get('test').className = 'aaa abc';
518
+ ok(DOM.hasClass('test', 'abc'));
519
+
520
+ DOM.get('test').className = 'abc aaa';
521
+ ok(DOM.hasClass('test', 'abc'));
522
+
523
+ DOM.remove('test');
524
+ });
525
+
526
+ test('tinymce.dom.DOMUtils - add', function() {
527
+ var e;
528
+
529
+ expect(5);
530
+
531
+ DOM.add(document.body, 'div', {id : 'test'});
532
+
533
+ DOM.add('test', 'span', {'class' : 'abc 123'}, 'content <b>abc</b>');
534
+ e = DOM.get('test').getElementsByTagName('span')[0];
535
+ equals(e.className, 'abc 123');
536
+ equals(e.innerHTML.toLowerCase(), 'content <b>abc</b>');
537
+ DOM.remove(e);
538
+
539
+ DOM.add('test', 'span', {'class' : 'abc 123'});
540
+ e = DOM.get('test').getElementsByTagName('span')[0];
541
+ equals(e.className, 'abc 123');
542
+ DOM.remove(e);
543
+
544
+ DOM.add('test', 'span');
545
+ e = DOM.get('test').getElementsByTagName('span')[0];
546
+ equals(e.nodeName, 'SPAN');
547
+ DOM.remove(e);
548
+
549
+ DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
550
+ DOM.add(['test2', 'test3', 'test4'], 'span', {'class' : 'abc 123'});
551
+ equals(DOM.select('span', 'test').length, 6);
552
+
553
+ DOM.remove('test');
554
+ });
555
+
556
+ test('tinymce.dom.DOMUtils - create', function() {
557
+ var e;
558
+
559
+ expect(3);
560
+
561
+ e = DOM.create('span', {'class' : 'abc 123'}, 'content <b>abc</b>');
562
+
563
+ equals(e.nodeName, 'SPAN');
564
+ equals(e.className, 'abc 123');
565
+ equals(e.innerHTML.toLowerCase(), 'content <b>abc</b>');
566
+ });
567
+
568
+ test('tinymce.dom.DOMUtils - createHTML', function() {
569
+ expect(4);
570
+
571
+ equals(DOM.createHTML('span', {'id' : 'id1', 'class' : 'abc 123'}, 'content <b>abc</b>'), '<span id="id1" class="abc 123">content <b>abc</b></span>');
572
+ equals(DOM.createHTML('span', {'id' : 'id1', 'class' : 'abc 123'}), '<span id="id1" class="abc 123" />');
573
+ equals(DOM.createHTML('span'), '<span />');
574
+ equals(DOM.createHTML('span', null, 'content <b>abc</b>'), '<span>content <b>abc</b></span>');
575
+ });
576
+
577
+ test('tinymce.dom.DOMUtils - uniqueId', function() {
578
+ DOM.counter = 0;
579
+
580
+ expect(3);
581
+
582
+ equals(DOM.uniqueId(), 'mce_0');
583
+ equals(DOM.uniqueId(), 'mce_1');
584
+ equals(DOM.uniqueId(), 'mce_2');
585
+ });
586
+
587
+ test('tinymce.dom.DOMUtils - showHide', function() {
588
+ expect(10);
589
+
590
+ DOM.add(document.body, 'div', {id : 'test'});
591
+
592
+ DOM.show('test');
593
+ equals(DOM.get('test').style.display, 'block');
594
+ ok(!DOM.isHidden('test'));
595
+
596
+ DOM.hide('test');
597
+ equals(DOM.get('test').style.display, 'none');
598
+ ok(DOM.isHidden('test'));
599
+
600
+ DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
601
+ DOM.hide(['test2', 'test3', 'test4'], 'test');
602
+ equals(DOM.get('test2').style.display, 'none');
603
+ equals(DOM.get('test3').style.display, 'none');
604
+ equals(DOM.get('test4').style.display, 'none');
605
+
606
+ DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
607
+ DOM.show(['test2', 'test3', 'test4'], 'test');
608
+ equals(DOM.get('test2').style.display, 'block');
609
+ equals(DOM.get('test3').style.display, 'block');
610
+ equals(DOM.get('test4').style.display, 'block');
611
+
612
+ // Cleanup
613
+ DOM.setAttrib('test', 'style', '');
614
+
615
+ DOM.remove('test');
616
+ });
617
+
618
+ test('tinymce.dom.DOMUtils - select', function() {
619
+ expect(4);
620
+
621
+ DOM.add(document.body, 'div', {id : 'test'});
622
+
623
+ DOM.setHTML('test', '<div>test 1</div><div>test 2 <div>test 3</div></div><div>test 4</div>');
624
+ equals(DOM.select('div', 'test').length, 4);
625
+ ok(DOM.select('div', 'test').reverse);
626
+
627
+ DOM.setHTML('test', '<div class="test1 test2 test3">test 1</div><div class="test2">test 2 <div>test 3</div></div><div>test 4</div>')
628
+ equals(DOM.select('div.test2', 'test').length, 2);
629
+
630
+ DOM.setHTML('test', '<div class="test1 test2 test3">test 1</div><div class="test2">test 2 <div>test 3</div></div><div>test 4</div>')
631
+ equals(DOM.select('div div', 'test').length, 1, null, tinymce.isWebKit); // Issue: http://bugs.webkit.org/show_bug.cgi?id=17461
632
+ //alert(DOM.select('div div', 'test').length +","+DOM.get('test').querySelectorAll('div div').length);
633
+
634
+ DOM.remove('test');
635
+ });
636
+
637
+ test('tinymce.dom.DOMUtils - is', function() {
638
+ expect(3);
639
+
640
+ DOM.add(document.body, 'div', {id : 'test'});
641
+ DOM.setHTML('test', '<div id="textX" class="test">test 1</div>');
642
+
643
+ ok(DOM.is(DOM.get('textX'), 'div'));
644
+ ok(DOM.is(DOM.get('textX'), 'div#textX.test'));
645
+ ok(!DOM.is(DOM.get('textX'), 'div#textX2'));
646
+
647
+ DOM.remove('test');
648
+ });
649
+
650
+ test('tinymce.dom.DOMUtils - encode', function() {
651
+ expect(1);
652
+
653
+ equals(DOM.encode('abc<>"&\'���'), 'abc&lt;&gt;&quot;&amp;\'���');
654
+ });
655
+
656
+ test('tinymce.dom.DOMUtils - setGetAttrib', function() {
657
+ var dom;
658
+
659
+ expect(11);
660
+
661
+ DOM.add(document.body, 'div', {id : 'test'});
662
+
663
+ DOM.setAttrib('test', 'class', 'test 123');
664
+ equals(DOM.getAttrib('test', 'class'), 'test 123');
665
+
666
+ DOM.setAttrib('test', 'src', 'url');
667
+ equals(DOM.getAttrib('test', 'src'), 'url');
668
+ equals(DOM.getAttrib('test', 'mce_src'), 'url');
669
+ equals(DOM.getAttrib('test', 'abc'), '');
670
+
671
+ DOM.setAttribs('test', {'class' : '123', title : 'abc'});
672
+ equals(DOM.getAttrib('test', 'class'), '123');
673
+ equals(DOM.getAttrib('test', 'title'), 'abc');
674
+
675
+ dom = new tinymce.dom.DOMUtils(document, {keep_values : true, url_converter : function(u, n, e) {
676
+ return '&<>"' + u + '&<>"' + n;
677
+ }});
678
+
679
+ dom.setAttribs('test', {src : '123', href : 'abc'});
680
+ equals(DOM.getAttrib('test', 'src'), '&<>"123&<>"src');
681
+ equals(DOM.getAttrib('test', 'href'), '&<>"abc&<>"href');
682
+
683
+ DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
684
+ DOM.setAttribs(['test2', 'test3', 'test4'], {test1 : "1", test2 : "2"});
685
+ equals(DOM.getAttrib('test2', 'test1'), '1');
686
+ equals(DOM.getAttrib('test3', 'test2'), '2');
687
+ equals(DOM.getAttrib('test4', 'test1'), '1');
688
+
689
+ DOM.remove('test');
690
+ });
691
+
692
+ test('tinymce.dom.DOMUtils - setGetStyles', function() {
693
+ expect(7);
694
+
695
+ DOM.add(document.body, 'div', {id : 'test'});
696
+
697
+ DOM.setStyle('test', 'font-size', '20px');
698
+ equals(DOM.getStyle('test', 'font-size'), '20px', null, tinymce.isWebKit);
699
+
700
+ DOM.setStyle('test', 'fontSize', '21px');
701
+ equals(DOM.getStyle('test', 'fontSize'), '21px', null, tinymce.isWebKit);
702
+
703
+ DOM.setStyles('test', {fontSize : '22px', display : 'inline'});
704
+ equals(DOM.getStyle('test', 'fontSize'), '22px', null, tinymce.isWebKit);
705
+ equals(DOM.getStyle('test', 'display'), 'inline', null, tinymce.isWebKit);
706
+
707
+ DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
708
+ DOM.setStyles(['test2', 'test3', 'test4'], {fontSize : "22px"});
709
+ equals(DOM.getStyle('test2', 'fontSize'), '22px');
710
+ equals(DOM.getStyle('test3', 'fontSize'), '22px');
711
+ equals(DOM.getStyle('test4', 'fontSize'), '22px');
712
+
713
+ DOM.setAttrib('test', 'style', '');
714
+
715
+ DOM.remove('test');
716
+ });
717
+
718
+ test('tinymce.dom.DOMUtils - getPos', function() {
719
+ expect(2);
720
+
721
+ DOM.add(document.body, 'div', {id : 'test'});
722
+
723
+ DOM.setStyles('test', {position : 'absolute', left : 100, top : 110});
724
+ equals(DOM.getPos('test').x, 100);
725
+ equals(DOM.getPos('test').y, 110);
726
+
727
+ DOM.setAttrib('test', 'style', '');
728
+
729
+ DOM.remove('test');
730
+ });
731
+
732
+ test('tinymce.dom.DOMUtils - getParent', function() {
733
+ expect(6);
734
+
735
+ DOM.add(document.body, 'div', {id : 'test'});
736
+
737
+ DOM.get('test').innerHTML = '<div><span>ab<a id="test2" href="">abc</a>c</span></div>';
738
+
739
+ equals(DOM.getParent('test2', function(n) {return n.nodeName == 'SPAN';}).nodeName, 'SPAN');
740
+ equals(DOM.getParent('test2', function(n) {return n.nodeName == 'BODY';}).nodeName, 'BODY');
741
+ equals(DOM.getParent('test2', function(n) {return n.nodeName == 'BODY';}, document.body), null);
742
+ equals(DOM.getParent('test2', function(n) {return false;}), null);
743
+ equals(DOM.getParent('test2', 'SPAN').nodeName, 'SPAN');
744
+ equals(DOM.getParent('test2', 'body', DOM.get('test')), null);
745
+
746
+ DOM.get('test').innerHTML = '';
747
+
748
+ DOM.remove('test');
749
+ });
750
+
751
+ test('tinymce.dom.DOMUtils - getParents', function() {
752
+ expect(4);
753
+
754
+ DOM.add(document.body, 'div', {id : 'test'});
755
+ DOM.get('test').innerHTML = '<div><span class="test">ab<span><a id="test2" href="">abc</a>c</span></span></div>';
756
+
757
+ equals(DOM.getParents('test2', function(n) {return n.nodeName == 'SPAN';}).length, 2);
758
+ equals(DOM.getParents('test2', 'span').length, 2);
759
+ equals(DOM.getParents('test2', 'span.test').length, 1);
760
+ equals(DOM.getParents('test2', 'body', DOM.get('test')).length, 0);
761
+
762
+ DOM.remove('test');
763
+ });
764
+
765
+ test('tinymce.dom.DOMUtils - is', function() {
766
+ expect(2);
767
+
768
+ DOM.add(document.body, 'div', {id : 'test'});
769
+ DOM.get('test').innerHTML = '<div><span class="test">ab<span><a id="test2" href="">abc</a>c</span></span></div>';
770
+
771
+ ok(DOM.is(DOM.select('span', 'test'), 'span'));
772
+ ok(DOM.is(DOM.select('#test2', 'test'), '#test2'));
773
+
774
+ DOM.remove('test');
775
+ });
776
+
777
+ test('tinymce.dom.DOMUtils - getViewPort', function() {
778
+ var wp;
779
+
780
+ expect(4);
781
+
782
+ wp = DOM.getViewPort();
783
+ equals(wp.x, 0);
784
+ equals(wp.y, 0);
785
+ ok(wp.w > 0);
786
+ ok(wp.h > 0);
787
+ });
788
+
789
+ test('tinymce.dom.DOMUtils - getRect', function() {
790
+ var r;
791
+
792
+ expect(5);
793
+
794
+ DOM.add(document.body, 'div', {id : 'test'});
795
+
796
+ DOM.setStyles('test', {position : 'absolute', left : 100, top : 110, width : 320, height : 240});
797
+ r = DOM.getRect('test');
798
+ equals(r.x, 100);
799
+ equals(r.y, 110);
800
+ equals(r.w, 320);
801
+ equals(r.h, 240);
802
+
803
+ DOM.setAttrib('test', 'style', '');
804
+
805
+ DOM.get('test').innerHTML = '<div style="width:320px;height:240px"><div id="test2" style="width:50%;height:240px"></div></div>';
806
+ r = DOM.getRect('test2');
807
+ equals(r.w, 160);
808
+
809
+ DOM.remove('test');
810
+ });
811
+
812
+ test('tinymce.dom.DOMUtils - getSize', function() {
813
+ var r;
814
+
815
+ expect(2);
816
+
817
+ DOM.add(document.body, 'div', {id : 'test'});
818
+
819
+ DOM.get('test').innerHTML = '<div style="width:320px;height:240px"><div id="test2" style="width:50%;height:240px"></div></div>';
820
+ r = DOM.getSize('test2');
821
+ equals(r.w, 160);
822
+
823
+ DOM.get('test').innerHTML = '<div style="width:320px;height:240px"><div id="test2" style="width:100px;height:240px"></div></div>';
824
+ r = DOM.getSize('test2');
825
+ equals(r.w, 100);
826
+
827
+ DOM.remove('test');
828
+ });
829
+
830
+ test('tinymce.dom.DOMUtils - loadCSS', function() {
831
+ var c = 0;
832
+
833
+ expect(1);
834
+
835
+ DOM.loadCSS('css/unit.css?a=1,css/unit.css?a=2,css/unit.css?a=3');
836
+
837
+ tinymce.each(document.getElementsByTagName('link'), function(n) {
838
+ if (n.href.indexOf('unit.css?a=') != -1)
839
+ c++;
840
+ });
841
+
842
+ equals(c, 3, null, tinymce.isOpera);
843
+ });
844
+
845
+ test('tinymce.dom.DOMUtils - insertAfter', function() {
846
+ expect(2);
847
+
848
+ DOM.add(document.body, 'div', {id : 'test'});
849
+
850
+ DOM.setHTML('test', '<span id="test2"></span>');
851
+ DOM.insertAfter(DOM.create('br'), 'test2');
852
+ equals(DOM.get('test2').nextSibling.nodeName, 'BR');
853
+
854
+ DOM.setHTML('test', '<span>test</span><span id="test2"></span><span>test</span>');
855
+ DOM.insertAfter(DOM.create('br'), 'test2');
856
+ equals(DOM.get('test2').nextSibling.nodeName, 'BR');
857
+
858
+ DOM.remove('test');
859
+ });
860
+
861
+ test('tinymce.dom.DOMUtils - isBlock', function() {
862
+ expect(4);
863
+
864
+ ok(DOM.isBlock(DOM.create('div')));
865
+ ok(DOM.isBlock('DIV'));
866
+ ok(!DOM.isBlock('SPAN'));
867
+ ok(!DOM.isBlock('div'));
868
+ });
869
+
870
+ test('tinymce.dom.DOMUtils - remove', function() {
871
+ expect(3);
872
+
873
+ DOM.add(document.body, 'div', {id : 'test'});
874
+
875
+ DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
876
+ DOM.remove('test2', 1);
877
+ equals(DOM.get('test').innerHTML.toLowerCase(), '<span>test</span><span>test2</span>');
878
+
879
+ DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
880
+ equals(DOM.remove('test2').nodeName, 'SPAN');
881
+
882
+ DOM.get('test').innerHTML = '<span id="test2"></span><span id="test3"></span><span id="test4"></span>';
883
+ DOM.remove(['test2', 'test4']);
884
+ equals(DOM.select('span', 'test').length, 1);
885
+
886
+ DOM.remove('test');
887
+ });
888
+
889
+ test('tinymce.dom.DOMUtils - replace', function() {
890
+ expect(2);
891
+
892
+ DOM.add(document.body, 'div', {id : 'test'});
893
+
894
+ DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
895
+ DOM.replace(DOM.create('div', {id : 'test2'}), 'test2', 1);
896
+ equals(DOM.get('test2').innerHTML.toLowerCase(), '<span>test</span><span>test2</span>');
897
+
898
+ DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
899
+ DOM.replace(DOM.create('div', {id : 'test2'}), 'test2');
900
+ equals(DOM.get('test2').innerHTML, '');
901
+
902
+ DOM.remove('test');
903
+ });
904
+
905
+ test('tinymce.dom.DOMUtils - toHex', function() {
906
+ expect(5);
907
+
908
+ equals(DOM.toHex('rgb(0, 255, 255)'), '#00ffff');
909
+ equals(DOM.toHex('rgb(255, 0, 0)'), '#ff0000');
910
+ equals(DOM.toHex('rgb(0, 0, 255)'), '#0000ff');
911
+ equals(DOM.toHex('rgb ( 0 , 0 , 255 ) '), '#0000ff');
912
+ equals(DOM.toHex(' RGB ( 0 , 0 , 255 ) '), '#0000ff');
913
+ });
914
+
915
+ test('tinymce.dom.DOMUtils - getOuterHTML', function() {
916
+ expect(3);
917
+
918
+ DOM.add(document.body, 'div', {id : 'test'});
919
+
920
+ DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
921
+ equals(DOM.getOuterHTML('test2').toLowerCase(), tinymce.isIE ? '<span id=test2><span>test</span><span>test2</span></span>' : '<span id="test2"><span>test</span><span>test2</span></span>');
922
+
923
+ DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
924
+ DOM.setOuterHTML('test2', '<div id="test2">123</div>');
925
+ equals(tinymce.trim(DOM.getOuterHTML('test2') || '').toLowerCase(), tinymce.isIE ? '<div id=test2>123</div>' : '<div id="test2">123</div>');
926
+
927
+ DOM.setHTML('test', '<span id="test2"><span>test</span><span>test2</span></span>');
928
+ DOM.setOuterHTML('test2', '<div id="test2">123</div><div id="test3">abc</div>');
929
+ equals(tinymce.trim(DOM.get('test').innerHTML).toLowerCase().replace(/>\s+</g, '><'), tinymce.isIE ? '<div id=test2>123</div><div id=test3>abc</div>' : '<div id="test2">123</div><div id="test3">abc</div>');
930
+
931
+ DOM.remove('test');
932
+ });
933
+
934
+ test('tinymce.dom.DOMUtils - processHTML', function() {
935
+ var dom;
936
+
937
+ expect(10);
938
+
939
+ dom = new tinymce.dom.DOMUtils(document, {hex_colors : true, keep_values : true, url_converter : function(u) {
940
+ return '&<>"' + u + '&<>"';
941
+ }});
942
+
943
+ equals(
944
+ dom.processHTML('<span style="background-image:url(\'http://www.somesite.com\');">test</span>'),
945
+ '<span style="background-image:url(\'http://www.somesite.com\');" mce_style="background-image:url(\'http://www.somesite.com\');">test</span>'
946
+ );
947
+
948
+ equals(
949
+ dom.processHTML('test1 <strong>test2</strong> <strong id="test1">test3</strong> <em>test2</em> <em id="test2">test3</em>'),
950
+ tinymce.isGecko ? 'test1 <b>test2</b> <b id="test1">test3</b> <i>test2</i> <i id="test2">test3</i>' : 'test1 <strong>test2</strong> <strong id="test1">test3</strong> <em>test2</em> <em id="test2">test3</em>'
951
+ );
952
+
953
+ equals(
954
+ dom.processHTML('some content <img src="some.gif" /> some more content <a href="somelink.htm">link</a>'),
955
+ 'some content <img src="some.gif" mce_src="&amp;&lt;&gt;&quot;some.gif&amp;&lt;&gt;&quot;" /> some more content <a href="somelink.htm" mce_href="&amp;&lt;&gt;&quot;somelink.htm&amp;&lt;&gt;&quot;">link</a>'
956
+ );
957
+
958
+ equals(
959
+ dom.processHTML('some content <img src=some.gif /> some more content <a href=somelink.htm>link</a>'),
960
+ 'some content <img src="some.gif" mce_src="&amp;&lt;&gt;&quot;some.gif&amp;&lt;&gt;&quot;" /> some more content <a href="somelink.htm" mce_href="&amp;&lt;&gt;&quot;somelink.htm&amp;&lt;&gt;&quot;">link</a>'
961
+ );
962
+
963
+ equals(
964
+ dom.processHTML("some content <img src='some.gif' /> some more content <a href='somelink.htm'>link</a>"),
965
+ 'some content <img src="some.gif" mce_src="&amp;&lt;&gt;&quot;some.gif&amp;&lt;&gt;&quot;" /> some more content <a href="somelink.htm" mce_href="&amp;&lt;&gt;&quot;somelink.htm&amp;&lt;&gt;&quot;">link</a>'
966
+ );
967
+
968
+ equals(
969
+ dom.processHTML('some content <img src="some.gif" mce_src="&amp;&lt;&gt;&quot;some.gif&amp;&lt;&gt;&quot;" /> some more content <a href="somelink.htm" mce_href="&amp;&lt;&gt;&quot;somelink.htm&amp;&lt;&gt;&quot;">link</a>'),
970
+ 'some content <img src="some.gif" mce_src="&amp;&lt;&gt;&quot;some.gif&amp;&lt;&gt;&quot;" /> some more content <a href="somelink.htm" mce_href="&amp;&lt;&gt;&quot;somelink.htm&amp;&lt;&gt;&quot;">link</a>'
971
+ );
972
+
973
+ equals(
974
+ dom.processHTML('<span style="border-left-color: rgb(0, 255, 255); border-top-color: rgb(0, 255, 255);"></span>'),
975
+ '<span style="border-left-color: rgb(0, 255, 255); border-top-color: rgb(0, 255, 255);" mce_style="border-left-color: #00ffff; border-top-color: #00ffff;"></span>'
976
+ );
977
+
978
+ equals(
979
+ dom.processHTML('<span style="background: url(test.gif);"></span>'),
980
+ '<span style="background: url(test.gif);" mce_style="background: url(&amp;&lt;&gt;&quot;test.gif&amp;&lt;&gt;&quot;);"></span>'
981
+ );
982
+
983
+ equals(
984
+ dom.processHTML('<a href="test.html"/>'),
985
+ '<a href="test.html" mce_href="&amp;&lt;&gt;&quot;test.html&amp;&lt;&gt;&quot;"></a>'
986
+ );
987
+
988
+ equals(
989
+ dom.processHTML('<a/>'),
990
+ '<a></a>'
991
+ );
992
+ });
993
+
994
+ test('tinymce.dom.DOMUtils - encodeDecode', function() {
995
+ expect(2);
996
+
997
+ equals(DOM.encode('���&<>"'), '���&amp;&lt;&gt;&quot;');
998
+ equals(DOM.decode('&aring;&auml;&ouml;&amp;&lt;&gt;&quot;'), '���&<>"');
999
+ });
1000
+
1001
+ test('tinymce.dom.DOMUtils - split', function() {
1002
+ var point, parent;
1003
+ //expect(2);
1004
+
1005
+ DOM.add(document.body, 'div', {id : 'test'}, '<p><b>text1<span>inner</span>text2</b></p>');
1006
+
1007
+ parent = DOM.select('p', DOM.get('test'))[0];
1008
+ point = DOM.select('span', DOM.get('test'))[0];
1009
+
1010
+ DOM.split(parent, point);
1011
+ equals(DOM.get('test').innerHTML.toLowerCase().replace(/\s+/g, ''), '<p><b>text1</b></p><span>inner</span><p><b>text2</b></p>');
1012
+
1013
+ DOM.remove('test');
1014
+ });
1015
+
1016
+ DOM.remove('test');
1017
+ })();
1018
+
1019
+ (function() {
1020
+ var Event = tinymce.dom.Event, DOM = new tinymce.dom.DOMUtils(document, {keep_values : true});
1021
+
1022
+ test('tinymce.dom.Event - addRemove', function() {
1023
+ var c = 0;
1024
+
1025
+ expect(2);
1026
+
1027
+ DOM.add(document.body, 'div', {id : 'test'});
1028
+ DOM.get('test').innerHTML = '<span id="test2"></span>';
1029
+
1030
+ function mouseCheck(e) {
1031
+ if (e.clientX == 10 || e.clientX == 101)
1032
+ c++;
1033
+ };
1034
+
1035
+ function mouseCheckCancel(e) {
1036
+ if (e.clientX == 101)
1037
+ return Event.cancel(e);
1038
+ };
1039
+
1040
+ function keyCheck(e) {
1041
+ if (e.keyCode == 13)
1042
+ c++;
1043
+ };
1044
+
1045
+ Event.add('test2', 'click', mouseCheckCancel);
1046
+ Event.add('test', 'click', mouseCheck);
1047
+ fakeMouseEvent('test', 'click', {clientX : 10});
1048
+ fakeMouseEvent('test2', 'click', {clientX : 101});
1049
+
1050
+ Event.add('test', 'keydown', keyCheck);
1051
+ fakeKeyEvent('test', 'keydown', {keyCode : 13});
1052
+
1053
+ equals(c, 2, '[%d] Event count doesn\'t add up. Value: %d should be %d.', tinymce.isWebKit);
1054
+
1055
+ c = 0;
1056
+ Event.remove('test', 'click', mouseCheck);
1057
+ Event.remove('test', 'keydown', keyCheck);
1058
+ fakeMouseEvent('test', 'click', {clientX : 10});
1059
+ fakeKeyEvent('test', 'keydown', {keyCode : 13});
1060
+
1061
+ equals(c, 0, '[%d] Event count doesn\'t add up. Value: %d should be %d.', tinymce.isWebKit);
1062
+
1063
+ DOM.remove('test');
1064
+ });
1065
+ })();
1066
+
1067
+ (function() {
1068
+ var Serializer = tinymce.dom.Serializer, DOM = new tinymce.dom.DOMUtils(document, {keep_values : true});
1069
+
1070
+ test('tinymce.DOM.Serializer - serialize', function() {
1071
+ var ser = new tinymce.dom.Serializer({dom : DOM}), h, a, b;
1072
+
1073
+ expect(45);
1074
+
1075
+ DOM.add(document.body, 'div', {id : 'test'});
1076
+ DOM.counter = 0;
1077
+
1078
+ ser.setRules('@[id|title|class|style],div,img[src|alt|-style|border],span,hr');
1079
+ DOM.setHTML('test', '<img title="test" src="file.gif" alt="test" border="0" style="border: 1px solid red" class="test" /><span id="test2">test</span><hr />');
1080
+ equals(ser.serialize(DOM.get('test')), '<div id="test"><img title="test" class="test" src="file.gif" alt="test" border="0" /><span id="test2">test</span><hr /></div>');
1081
+
1082
+ ser.setRules('*a[*],em/i[*],strong/b[*i*]');
1083
+ DOM.setHTML('test', '<a href="test">test</a><strong title="test" class="test">test2</strong><em title="test">test3</em>');
1084
+ equals(ser.serialize(DOM.get('test')), '<a href="test">test</a><strong title="test">test2</strong><em title="test">test3</em>');
1085
+
1086
+ ser.setRules('br,hr,input[type|name|value],div[id],span[id],strong/b,a,em/i,a[!href|!name],img[src|border=0|title={$uid}]');
1087
+ DOM.setHTML('test', '<br /><hr /><input type="text" name="test" value="val" class="no" /><span id="test2" class="no"><b class="no">abc</b><em class="no">123</em></span>123<a href="file.html">link</a><a name="anchor"></a><a>no</a><img src="file.gif" />');
1088
+ equals(ser.serialize(DOM.get('test')), '<div id="test"><br /><hr /><input type="text" name="test" value="val" /><span id="test2"><strong>abc</strong><em>123</em></span>123<a href="file.html">link</a><a name="anchor"></a>no<img src="file.gif" border="0" title="mce_0" /></div>');
1089
+
1090
+ ser.setRules('input[type|name|value|checked|disabled|readonly],select,option[selected]');
1091
+ DOM.setHTML('test', '<input type="radio" checked="1" disabled="1" value="1"><input type="radio" checked="0" disabled="0" value="1"><input type="checkbox" checked="false" disabled="false" value="1"><input type="radio" checked="checked" disabled="disabled" value="1"><input type="text" readonly="true"><select><option selected="1">test1</option><option selected="0">test2</option><option selected="false">test3</option></select>');
1092
+ equals(ser.serialize(DOM.get('test')), '<input type="radio" value="1" checked="checked" disabled="disabled" /><input type="radio" value="1" /><input type="checkbox" value="1" /><input type="radio" value="1" checked="checked" disabled="disabled" /><input type="text" readonly="readonly" /><select><option selected="selected">test1</option><option>test2</option><option>test3</option></select>');
1093
+
1094
+ ser.setRules('a[href|target<_blank?_top|title:forced value]');
1095
+ DOM.setHTML('test', '<a href="file.htm" target="_blank" title="title">link</a><a href="#" target="test">test2</a>');
1096
+ equals(ser.serialize(DOM.get('test')), '<a href="file.htm" target="_blank" title="forced value">link</a><a href="#" title="forced value">test2</a>');
1097
+
1098
+ ser.setRules('*[*]');
1099
+ DOM.setHTML('test', '<label for="test">label</label>');
1100
+ equals(ser.serialize(DOM.get('test')), '<div id="test"><label for="test">label</label></div>');
1101
+
1102
+ ser.setRules('*[*]');
1103
+ DOM.setHTML('test', '<!-- abc -->');
1104
+ equals(ser.serialize(DOM.get('test')), '<div id="test"><!-- abc --></div>', null, tinymce.isOldWebKit);
1105
+
1106
+ ser.setRules('*[*]');
1107
+ DOM.setHTML('test', '<span style="border: 1px solid red">test</span>');
1108
+ equals(ser.serialize(DOM.get('test')), '<div id="test"><span style="border: 1px solid red">test</span></div>', null, tinymce.isOldWebKit);
1109
+
1110
+ ser.setRules('*[*]');
1111
+ DOM.setHTML('test', '<div mce_name="mytag" class="test">test</div>');
1112
+ equals(ser.serialize(DOM.get('test')), '<div id="test"><mytag class="test">test</mytag></div>', null, tinymce.isOldWebKit);
1113
+
1114
+ ser.setRules('*[*]');
1115
+ DOM.setHTML('test', '<div test:attr="test">test</div>');
1116
+ equals(ser.serialize(DOM.get('test'), {getInner : 1}), '<div test:attr="test">test</div>');
1117
+
1118
+ ser.setRules('#p');
1119
+ DOM.setHTML('test', '<p>test</p><p></p>');
1120
+ equals(ser.serialize(DOM.get('test')), '<p>test</p><p>&nbsp;</p>', null, tinymce.isOldWebKit);
1121
+
1122
+ ser.setRules('img[src|border=0|alt=]');
1123
+ DOM.setHTML('test', '<img src="file.gif" border="0" alt="" />');
1124
+ equals(ser.serialize(DOM.get('test')), '<img src="file.gif" border="0" alt="" />');
1125
+
1126
+ ser.setRules('img[src|border=0|alt=],*[*]');
1127
+ DOM.setHTML('test', '<img src="file.gif" /><hr />');
1128
+ equals(ser.serialize(DOM.get('test')), '<div id="test"><img src="file.gif" border="0" alt="" /><hr /></div>');
1129
+
1130
+ ser.setRules('*[*]');
1131
+ DOM.setHTML('test', '<span id="test2"><b>abc</b></span>123<a href="file.html">link</a>');
1132
+ a = ser.onPreProcess.add(function(se, o) {
1133
+ equals(o.test, 'abc');
1134
+ DOM.setAttrib(o.node.getElementsByTagName('span')[0], 'class', 'abc');
1135
+ });
1136
+ b = ser.onPostProcess.add(function(se, o) {
1137
+ equals(o.test, 'abc');
1138
+ o.content = o.content.replace(/<b>/g, '<b class="123">');
1139
+ });
1140
+ equals(ser.serialize(DOM.get('test'), {test : 'abc'}), '<div id="test"><span class="abc" id="test2"><b class="123">abc</b></span>123<a href="file.html">link</a></div>');
1141
+ ser.onPreProcess.remove(a);
1142
+ ser.onPostProcess.remove(b);
1143
+
1144
+ ser.setRules('*[*]');
1145
+ DOM.setHTML('test', '<ol><li>a</li><ol><li>b</li><li>c</li></ol><li>e</li></ol>');
1146
+ equals(ser.serialize(DOM.get('test')), '<div id="test"><ol><li>a<ol><li>b</li><li>c</li></ol></li><li>e</li></ol></div>');
1147
+
1148
+ ser = new tinymce.dom.Serializer({valid_elements : 'img[src|border=0|alt=]', extended_valid_elements : 'div[id],img[src|alt=]'});
1149
+ DOM.setHTML('test', '<img src="file.gif" alt="" />');
1150
+ equals(ser.serialize(DOM.get('test')), '<div id="test"><img src="file.gif" alt="" /></div>', null, tinymce.isOldWebKit);
1151
+
1152
+ ser = new tinymce.dom.Serializer({invalid_elements : 'hr,br'});
1153
+ DOM.setHTML('test', '<img src="file.gif" /><hr /><br />');
1154
+ equals(ser.serialize(DOM.get('test')), '<div id="test"><img src="file.gif" /></div>');
1155
+
1156
+ ser = new tinymce.dom.Serializer({entity_encoding : 'numeric'});
1157
+ DOM.setHTML('test', '&lt;&gt;&amp;&quot;&nbsp;���');
1158
+ equals(ser.serialize(DOM.get('test')), '<div id="test">&lt;&gt;&amp;"&#160;&#229;&#228;&#246;</div>');
1159
+
1160
+ ser = new tinymce.dom.Serializer({entity_encoding : 'named'});
1161
+ DOM.setHTML('test', '&lt;&gt;&amp;&quot;&nbsp;���');
1162
+ equals(ser.serialize(DOM.get('test')), '<div id="test">&lt;&gt;&amp;"&nbsp;&aring;&auml;&ouml;</div>');
1163
+
1164
+ ser = new tinymce.dom.Serializer({entity_encoding : 'named+numeric',entities : '160,nbsp,34,quot,38,amp,60,lt,62,gt'});
1165
+ DOM.setHTML('test', '&lt;&gt;&amp;&quot;&nbsp;���');
1166
+ equals(ser.serialize(DOM.get('test')), '<div id="test">&lt;&gt;&amp;"&nbsp;&#229;&#228;&#246;</div>');
1167
+
1168
+ ser = new tinymce.dom.Serializer({entity_encoding : 'raw'});
1169
+ DOM.setHTML('test', '&lt;&gt;&amp;&quot;&nbsp;���');
1170
+ equals(ser.serialize(DOM.get('test')), '<div id="test">&lt;&gt;&amp;"\u00a0���</div>');
1171
+
1172
+ ser.setRules('+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],*[*]');
1173
+ DOM.setHTML('test', '<br /><hr /><span class="test"><img src="file.gif" /></span>');
1174
+ equals(ser.serialize(DOM.get('test')), '<div id="test"><br /><hr /><span class="test"><img src="file.gif" alt="" /></span></div>');
1175
+
1176
+ ser.setRules('*[*]');
1177
+ ser.setValidChildRules('h1/h2/h3/h4/h5/h6/a[%itrans_na],div[%itrans|%btrans]');
1178
+ DOM.setHTML('test', '<h1>test <a href="file">link</a> test</h1>');
1179
+ equals(ser.serialize(DOM.get('test')), '<div id="test"><h1>test link test</h1></div>');
1180
+
1181
+ ser = new tinymce.dom.Serializer({entity_encoding : 'raw'});
1182
+ ser.setRules('*[*]');
1183
+ DOM.setHTML('test', 'test1<prefix:test>Test</prefix:test>test2');
1184
+ equals(ser.serialize(DOM.get('test')), '<div id="test">test1<prefix:test>Test</prefix:test>test2</div>');
1185
+
1186
+ ser.setRules('style');
1187
+ DOM.setHTML('test', '<style> body { background:#fff }</style>');
1188
+ equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<style><!--\n body { background:#fff }\n--></style>');
1189
+
1190
+ ser.setRules('style');
1191
+ DOM.setHTML('test', '<style>\r\n<![CDATA[\r\n body { background:#fff }]]></style>');
1192
+ equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<style><!--\n body { background:#fff }\n--></style>');
1193
+
1194
+ ser.setRules('script[type|language|src]');
1195
+ DOM.setHTML('test', '<script>var a = b < c1;</script>');
1196
+ equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\nvar a = b < c1;\n// ]]></script>');
1197
+
1198
+ DOM.setHTML('test', '<script type="text/javascript">var a = b < c2;</script>');
1199
+ equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\nvar a = b < c2;\n// ]]></script>');
1200
+
1201
+ DOM.setHTML('test', '<script type="text/javascript">\n\tvar a = b < c22;\n\t if (a < b)\n\t\talert(1);\n</script>');
1202
+ equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\n\tvar a = b < c22;\n\t if (a < b)\n\t\talert(1);\n// ]]></script>');
1203
+
1204
+ DOM.setHTML('test', '<script type="text/javascript"><!-- var a = b < c3; // --></script>');
1205
+ equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\n var a = b < c3;\n// ]]></script>');
1206
+
1207
+ DOM.setHTML('test', '<script type="text/javascript">\n\n<!-- var a = b < c3;\n\n--></script>');
1208
+ equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\n var a = b < c3;\n// ]]></script>');
1209
+
1210
+ DOM.setHTML('test', '<script type="text/javascript">// <![CDATA[var a = b < c4; // ]]></script>');
1211
+ equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\nvar a = b < c4;\n// ]]></script>');
1212
+
1213
+ DOM.setHTML('test', '<script type="text/javascript"><![CDATA[var a = b < c4; ]]></script>');
1214
+ equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\nvar a = b < c4;\n// ]]></script>');
1215
+
1216
+ DOM.setHTML('test', '<script type="text/javascript">\n\n<![CDATA[\n\nvar a = b < c4;\n\n]]>\n\n</script>');
1217
+ equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '<script type="text/javascript">// <![CDATA[\nvar a = b < c4;\n// ]]></script>');
1218
+
1219
+ DOM.setHTML('test', '<script type="text/javascript" src="test.js"></script>');
1220
+ equals(ser.serialize(DOM.get('test')), '<script type="text/javascript" src="test.js"></script>');
1221
+
1222
+ ser.setRules('noscript[test]');
1223
+ DOM.setHTML('test', '<noscript test="test"><br></noscript>');
1224
+ equals(ser.serialize(DOM.get('test')), '<noscript test="test"><br></noscript>');
1225
+
1226
+ DOM.setHTML('test', '<noscript><br></noscript>');
1227
+ equals(ser.serialize(DOM.get('test')), '<noscript><br></noscript>');
1228
+
1229
+ DOM.setHTML('test', '<noscript><!-- text --><br></noscript>');
1230
+ equals(ser.serialize(DOM.get('test')), '<noscript><!-- text --><br></noscript>');
1231
+
1232
+ ser.setRules('map[id|name],area[shape|coords|href|target|alt]');
1233
+ DOM.setHTML('test', '<map id="planetmap" name="planetmap"><area shape="rect" coords="0,0,82,126" href="sun.htm" target="_blank" alt="Sun" /></map>');
1234
+ equals(ser.serialize(DOM.get('test')), '<map id="planetmap" name="planetmap"><area shape="rect" coords="0,0,82,126" href="sun.htm" target="_blank" alt="Sun" /></map>');
1235
+
1236
+ DOM.setHTML('test', '123<![CDATA[<test>]]>abc');
1237
+ equals(ser.serialize(DOM.get('test')), '123<![CDATA[<test>]]>abc');
1238
+
1239
+ DOM.setHTML('test', '123<![CDATA[<te\n\nst>]]>abc');
1240
+ equals(ser.serialize(DOM.get('test')).replace(/\r/g, ''), '123<![CDATA[<te\n\nst>]]>abc');
1241
+
1242
+ ser.setRules('ul,li,br');
1243
+ DOM.setHTML('test', '<ul><li>test<br /></li><li>test<br /></li><li>test<br /></li></ul>');
1244
+ equals(ser.serialize(DOM.get('test')), '<ul><li>test</li><li>test</li><li>test</li></ul>');
1245
+
1246
+ ser.setRules('input[type|value|name|id|maxlength|size|tabindex]');
1247
+ DOM.setHTML('test', '<input type="checkbox" value="test" /><input type="button" />');
1248
+ equals(ser.serialize(DOM.get('test')), '<input type="checkbox" value="test" /><input type="button" />');
1249
+
1250
+ DOM.remove('test');
1251
+ });
1252
+ })();
1253
+
1254
+ (function() {
1255
+ var Dispatcher = tinymce.util.Dispatcher;
1256
+
1257
+ test('tinymce.util.Dispatcher - dispatcher', function() {
1258
+ var ev, v, f;
1259
+
1260
+ expect(5);
1261
+
1262
+ ev = new Dispatcher();
1263
+ ev.add(function(a, b, c) {
1264
+ v = a + b + c;
1265
+ });
1266
+ ev.dispatch(1, 2, 3);
1267
+ equals(v, 6);
1268
+
1269
+ ev = new Dispatcher();
1270
+ v = 0;
1271
+ f = ev.add(function(a, b, c) {
1272
+ v = a + b + c;
1273
+ });
1274
+ ev.remove(f);
1275
+ ev.dispatch(1, 2, 3);
1276
+ equals(v, 0);
1277
+
1278
+ ev = new Dispatcher({test : 1});
1279
+ v = 0;
1280
+ f = ev.add(function(a, b, c) {
1281
+ v = a + b + c + this.test;
1282
+ });
1283
+ ev.dispatch(1, 2, 3);
1284
+ equals(v, 7);
1285
+
1286
+ ev = new Dispatcher();
1287
+ v = 0;
1288
+ f = ev.add(function(a, b, c) {
1289
+ v = a + b + c + this.test;
1290
+ }, {test : 1});
1291
+ ev.dispatch(1, 2, 3);
1292
+ equals(v, 7);
1293
+
1294
+ ev = new Dispatcher();
1295
+ v = '';
1296
+ f = ev.add(function(a, b, c) {
1297
+ v += 'b';
1298
+ }, {test : 1});
1299
+ f = ev.addToTop(function(a, b, c) {
1300
+ v += 'a';
1301
+ }, {test : 1});
1302
+ ev.dispatch();
1303
+ equals(v, 'ab');
1304
+ });
1305
+ })();
1306
+
1307
+ (function() {
1308
+ var Cookie = tinymce.util.Cookie;
1309
+
1310
+ test('tinymce.util.Cookie - cookie', function() {
1311
+ var f = document.location.protocol == 'file:';
1312
+
1313
+ expect(4);
1314
+
1315
+ Cookie.set('test', 'test123');
1316
+ equals(Cookie.get('test'), 'test123', null, f);
1317
+
1318
+ Cookie.set('test', 'test1234');
1319
+ equals(Cookie.get('test'), 'test1234', null, f);
1320
+
1321
+ Cookie.setHash('test', {a : 1, b : 2});
1322
+ ok(Cookie.getHash('test') ? Cookie.getHash('test').b == 2 : null, null, f);
1323
+
1324
+ Cookie.setHash('test', {a : 1, b : 3});
1325
+ ok(Cookie.getHash('test') ? Cookie.getHash('test').b == 3 : null, null, f);
1326
+ });
1327
+ })();
1328
+
1329
+ (function() {
1330
+ var JSON = tinymce.util.JSON;
1331
+
1332
+ test('tinymce.util.JSON - serialize', function() {
1333
+ expect(1);
1334
+
1335
+ equals(JSON.serialize({arr1 : [1, 2, 3, [1, 2, 3]], bool1 : true, float1: 3.14, int1 : 123, null1 : null, obj1 : {key1 : "val1", key2 : "val2"}, str1 : 'abc\u00C5123'}), '{"arr1":[1,2,3,[1,2,3]],"bool1":true,"float1":3.14,"int1":123,"null1":null,"obj1":{"key1":"val1","key2":"val2"},"str1":"abc\\u00c5123"}');
1336
+ });
1337
+
1338
+ test('tinymce.util.JSON - parse', function() {
1339
+ expect(1);
1340
+
1341
+ equals(JSON.parse('{"arr1":[1,2,3,[1,2,3]],"bool1":true,"float1":3.14,"int1":123,"null1":null,"obj1":{"key1":"val1","key2":"val2"},"str1":"abc\\u00c5123"}').str1, 'abc\u00c5123');
1342
+ });
1343
+ })();
1344
+
1345
+ (function() {
1346
+ var URI = tinymce.util.URI;
1347
+
1348
+ test('tinymce.util.URI - parseFullURLs', function() {
1349
+ expect(2);
1350
+
1351
+ equals(new URI('http://abc:123@www.site.com:8080/path/dir/file.ext?key1=val1&key2=val2#hash').getURI(), 'http://abc:123@www.site.com:8080/path/dir/file.ext?key1=val1&key2=val2#hash');
1352
+ ok(new URI('http://a2bc:123@www.site.com:8080/path/dir/file.ext?key1=val1&key2=val2#hash').getURI() != 'http://abc:123@www.site.com:8080/path/dir/file.ext?key1=val1&key2=val2#hash');
1353
+ });
1354
+
1355
+ test('tinymce.util.URI - relativeURLs', function() {
1356
+ expect(24);
1357
+
1358
+ equals(new URI('http://www.site.com/dir1/dir2/file.html').toRelative('http://www.site.com/dir1/dir3/file.html'), '../dir3/file.html');
1359
+ equals(new URI('http://www.site.com/dir1/dir2/file.html').toRelative('http://www.site.com/dir3/dir4/file.html'), '../../dir3/dir4/file.html');
1360
+ equals(new URI('http://www.site.com/dir1/').toRelative('http://www.site.com/dir1/dir3/file.htm'), 'dir3/file.htm');
1361
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('http://www.site2.com/dir1/dir3/file.htm'), 'http://www.site2.com/dir1/dir3/file.htm');
1362
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('http://www.site.com:8080/dir1/dir3/file.htm'), 'http://www.site.com:8080/dir1/dir3/file.htm');
1363
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('https://www.site.com/dir1/dir3/file.htm'), 'https://www.site.com/dir1/dir3/file.htm');
1364
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('/file.htm'), '../../file.htm');
1365
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('/file.htm?id=1#a'), '../../file.htm?id=1#a');
1366
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('mailto:test@test.com'), 'mailto:test@test.com');
1367
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('news:test'), 'news:test');
1368
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('javascript:void(0);'), 'javascript:void(0);');
1369
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('about:blank'), 'about:blank');
1370
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('#test'), '#test');
1371
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('test.htm'), 'test.htm');
1372
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('http://www.site.com/dir1/dir2/test.htm'), 'test.htm');
1373
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('dir2/test.htm'), 'dir2/test.htm');
1374
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('../dir2/test.htm'), 'test.htm');
1375
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('../dir3/'), '../dir3/');
1376
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('../../../../../../test.htm'), '../../test.htm');
1377
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('//www.site.com/test.htm'), '../../test.htm');
1378
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('@@tinymce'), '@@tinymce'); // Zope 3 URL
1379
+ equals(new URI('http://www.site.com/dir1/dir2/').toRelative('../@@tinymce'), '../@@tinymce'); // Zope 3 URL
1380
+ equals(new URI('http://www.site.com/').toRelative('dir2/test.htm'), 'dir2/test.htm');
1381
+ equals(new URI('http://www.site.com/').toRelative('./'), './');
1382
+ });
1383
+
1384
+ test('tinymce.util.URI - absoluteURLs', function() {
1385
+ expect(15);
1386
+
1387
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('../dir3'), 'http://www.site.com/dir1/dir3');
1388
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('../dir3', 1), '/dir1/dir3');
1389
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('../../../../dir3'), 'http://www.site.com/dir3');
1390
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('../abc/def/../../abc/../dir3/file.htm'), 'http://www.site.com/dir1/dir3/file.htm');
1391
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('http://www.site.com/dir2/dir3'), 'http://www.site.com/dir2/dir3');
1392
+ equals(new URI('http://www.site2.com/dir1/dir2/').toAbsolute('http://www.site2.com/dir2/dir3'), 'http://www.site2.com/dir2/dir3');
1393
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('mailto:test@test.com'), 'mailto:test@test.com');
1394
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('news:test'), 'news:test');
1395
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('javascript:void(0);'), 'javascript:void(0);');
1396
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('about:blank'), 'about:blank');
1397
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('#test'), '#test');
1398
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('test.htm'), 'http://www.site.com/dir1/dir2/test.htm');
1399
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('../@@tinymce'), 'http://www.site.com/dir1/@@tinymce'); // Zope 3 URL
1400
+ equals(new URI('http://www.site.com/dir1/dir2/').getURI(), 'http://www.site.com/dir1/dir2/');
1401
+ equals(new URI('http://www.site.com/dir1/dir2/').toAbsolute('/dir1/dir1/'), 'http://www.site.com/dir1/dir1/');
1402
+ });
1403
+
1404
+ test('tinymce.util.URI - strangeURLs', function() {
1405
+ expect(3);
1406
+
1407
+ equals(new URI('//www.site.com').getURI(), '//www.site.com');
1408
+ equals(new URI('mailto:test@test.com').getURI(), 'mailto:test@test.com');
1409
+ equals(new URI('news:somegroup').getURI(), 'news:somegroup');
1410
+ });
1411
+ })();
1412
+
1413
+ (function() {
1414
+ var Parser = tinymce.xml.Parser;
1415
+
1416
+ test('tinymce.util.Parser - parser', function() {
1417
+ var f = document.location.protocol == 'file:', p, d;
1418
+
1419
+ expect(3);
1420
+
1421
+ p = new Parser({async : false});
1422
+ p.load('test.xml', function(d) {
1423
+ equals(d.getElementsByTagName('tag').length, 1);
1424
+ });
1425
+
1426
+ p = new Parser({async : false});
1427
+ p.load('test.xml', function(d) {
1428
+ equals(tinymce.trim(p.getText(d.getElementsByTagName('tag')[0])), '���');
1429
+ });
1430
+
1431
+ p = new Parser({async : false});
1432
+ d = p.loadXML('<root><tag>���</tag></root>');
1433
+ equals(tinymce.trim(p.getText(d.getElementsByTagName('tag')[0])), '���');
1434
+ });
1435
+ })();
1436
+
1437
+ run();
1438
+ });