westarete-skylinecms 3.0.8.20100329

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (977) hide show
  1. data/.yardopts +10 -0
  2. data/CHANGELOG +123 -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 +122 -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 +30 -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/button_helper.rb +77 -0
  40. data/app/helpers/skyline/content_helper.rb +160 -0
  41. data/app/helpers/skyline/dialog_helper.rb +30 -0
  42. data/app/helpers/skyline/editors/boolean.rb +6 -0
  43. data/app/helpers/skyline/editors/checkable_list.rb +54 -0
  44. data/app/helpers/skyline/editors/date.rb +15 -0
  45. data/app/helpers/skyline/editors/date_time.rb +11 -0
  46. data/app/helpers/skyline/editors/display.rb +12 -0
  47. data/app/helpers/skyline/editors/editable_list.rb +81 -0
  48. data/app/helpers/skyline/editors/editor.rb +107 -0
  49. data/app/helpers/skyline/editors/file_browser.rb +54 -0
  50. data/app/helpers/skyline/editors/heading.rb +13 -0
  51. data/app/helpers/skyline/editors/inline_list.rb +9 -0
  52. data/app/helpers/skyline/editors/joinable_list.rb +118 -0
  53. data/app/helpers/skyline/editors/list.rb +15 -0
  54. data/app/helpers/skyline/editors/page_browser.rb +54 -0
  55. data/app/helpers/skyline/editors/text_field.rb +12 -0
  56. data/app/helpers/skyline/editors/textarea.rb +11 -0
  57. data/app/helpers/skyline/editors/textile.rb +12 -0
  58. data/app/helpers/skyline/editors/wysiwyg.rb +28 -0
  59. data/app/helpers/skyline/media_files_helper.rb +7 -0
  60. data/app/helpers/skyline/message_generator.rb +25 -0
  61. data/app/helpers/skyline/pages_helper.rb +44 -0
  62. data/app/helpers/skyline/presenters/article_list.rb +139 -0
  63. data/app/helpers/skyline/presenters/presenter.rb +127 -0
  64. data/app/helpers/skyline/presenters/table.rb +30 -0
  65. data/app/helpers/skyline/ref_object_helper.rb +84 -0
  66. data/app/helpers/skyline/translation_helper.rb +36 -0
  67. data/app/helpers/skyline/tree_helper.rb +63 -0
  68. data/app/middleware/skyline/flash_session_cookie_middleware.rb +16 -0
  69. data/app/middleware/skyline/plugins_loader_middleware.rb +10 -0
  70. data/app/middleware/skyline/sprockets_middleware.rb +71 -0
  71. data/app/models/skyline/article.rb +272 -0
  72. data/app/models/skyline/article_version.rb +96 -0
  73. data/app/models/skyline/associated_tag.rb +15 -0
  74. data/app/models/skyline/grant.rb +7 -0
  75. data/app/models/skyline/image_ref.rb +36 -0
  76. data/app/models/skyline/inline_ref.rb +191 -0
  77. data/app/models/skyline/link_ref.rb +35 -0
  78. data/app/models/skyline/link_section_link.rb +24 -0
  79. data/app/models/skyline/media_cache.rb +39 -0
  80. data/app/models/skyline/media_dir.rb +62 -0
  81. data/app/models/skyline/media_file.rb +156 -0
  82. data/app/models/skyline/media_node.rb +105 -0
  83. data/app/models/skyline/object_ref.rb +48 -0
  84. data/app/models/skyline/page.rb +264 -0
  85. data/app/models/skyline/page_fragment.rb +14 -0
  86. data/app/models/skyline/publication.rb +25 -0
  87. data/app/models/skyline/ref_object.rb +10 -0
  88. data/app/models/skyline/referable_uri.rb +18 -0
  89. data/app/models/skyline/right.rb +6 -0
  90. data/app/models/skyline/role.rb +9 -0
  91. data/app/models/skyline/section.rb +34 -0
  92. data/app/models/skyline/sections/content_collection_section.rb +39 -0
  93. data/app/models/skyline/sections/content_item_section.rb +28 -0
  94. data/app/models/skyline/sections/heading_section.rb +6 -0
  95. data/app/models/skyline/sections/iframe_section.rb +9 -0
  96. data/app/models/skyline/sections/link_section.rb +22 -0
  97. data/app/models/skyline/sections/media_section.rb +40 -0
  98. data/app/models/skyline/sections/page_fragment_section.rb +8 -0
  99. data/app/models/skyline/sections/raw_section.rb +8 -0
  100. data/app/models/skyline/sections/redirect_section.rb +17 -0
  101. data/app/models/skyline/sections/rss_section.rb +101 -0
  102. data/app/models/skyline/sections/splitter_section.rb +6 -0
  103. data/app/models/skyline/sections/wysiwyg_section.rb +13 -0
  104. data/app/models/skyline/site.rb +30 -0
  105. data/app/models/skyline/tag.rb +34 -0
  106. data/app/models/skyline/user.rb +192 -0
  107. data/app/models/skyline/variant.rb +173 -0
  108. data/app/observers/skyline/article_version_observer.rb +17 -0
  109. data/app/observers/skyline/file_cache_sweeper.rb +23 -0
  110. data/app/observers/skyline/version_stamper.rb +42 -0
  111. data/app/templates/skyline/page/default/index.html.erb +21 -0
  112. data/app/templates/skyline/sections/content_collection_section/default/index.html.erb +1 -0
  113. data/app/templates/skyline/sections/content_item_section/default/index.html.erb +6 -0
  114. data/app/templates/skyline/sections/heading_section/default/index.html.erb +2 -0
  115. data/app/templates/skyline/sections/iframe_section/default/index.html.erb +1 -0
  116. data/app/templates/skyline/sections/link_section/default/index.html.erb +13 -0
  117. data/app/templates/skyline/sections/media_section/default/index.html.erb +15 -0
  118. data/app/templates/skyline/sections/page_fragment_section/default/index.html.erb +5 -0
  119. data/app/templates/skyline/sections/raw_section/default/index.html.erb +1 -0
  120. data/app/templates/skyline/sections/redirect_section/default/index.html.erb +0 -0
  121. data/app/templates/skyline/sections/rss_section/default/index.html.erb +11 -0
  122. data/app/templates/skyline/sections/splitter_section/default/index.html.erb +1 -0
  123. data/app/templates/skyline/sections/wysiwyg_section/default/index.html.erb +3 -0
  124. data/app/views/skyline/articles/_currently_editing.html.erb +18 -0
  125. data/app/views/skyline/articles/_meta.html.erb +146 -0
  126. data/app/views/skyline/articles/_security.html.erb +30 -0
  127. data/app/views/skyline/articles/_takeover_action.html.erb +36 -0
  128. data/app/views/skyline/articles/edit.html.erb +111 -0
  129. data/app/views/skyline/articles/edit_preview_only.html.erb +16 -0
  130. data/app/views/skyline/articles/index.html.erb +70 -0
  131. data/app/views/skyline/articles/page/_header.html.erb +72 -0
  132. data/app/views/skyline/articles/page/_index.html.erb +28 -0
  133. data/app/views/skyline/articles/page_fragment/_header.html.erb +23 -0
  134. data/app/views/skyline/articles/page_fragment/_index.html.erb +15 -0
  135. data/app/views/skyline/authentications/new.html.erb +58 -0
  136. data/app/views/skyline/browser/files/_index.html.erb +26 -0
  137. data/app/views/skyline/browser/images/_index.html.erb +62 -0
  138. data/app/views/skyline/browser/links/_index.html.erb +56 -0
  139. data/app/views/skyline/browser/pages/_index.html.erb +27 -0
  140. data/app/views/skyline/browser/tabs/external_image/_index.html.erb +18 -0
  141. data/app/views/skyline/browser/tabs/external_link/_index.html.erb +17 -0
  142. data/app/views/skyline/browser/tabs/media_library/_index.html.erb +51 -0
  143. data/app/views/skyline/browser/tabs/media_library/media_files/_index.html.erb +63 -0
  144. data/app/views/skyline/browser/tabs/media_library/media_files/_show.html.erb +44 -0
  145. data/app/views/skyline/browser/tabs/pages/_index.html.erb +49 -0
  146. data/app/views/skyline/content/_add.rhtml +30 -0
  147. data/app/views/skyline/content/_filter.rhtml +41 -0
  148. data/app/views/skyline/content/_group.html.erb +6 -0
  149. data/app/views/skyline/content/_import.html.erb +18 -0
  150. data/app/views/skyline/content/_index.html.erb +28 -0
  151. data/app/views/skyline/content/_meta.html.erb +45 -0
  152. data/app/views/skyline/content/_submit.html.erb +15 -0
  153. data/app/views/skyline/content/create.rhtml +13 -0
  154. data/app/views/skyline/content/edit.rhtml +13 -0
  155. data/app/views/skyline/content/editors/joinable_list/_add.html.erb +13 -0
  156. data/app/views/skyline/content/editors/joinable_list/_list.html.erb +69 -0
  157. data/app/views/skyline/content/error.rhtml +2 -0
  158. data/app/views/skyline/content/index.html.erb +0 -0
  159. data/app/views/skyline/content/list.rhtml +22 -0
  160. data/app/views/skyline/content/show.rhtml +9 -0
  161. data/app/views/skyline/content_items/_content_item.html.erb +3 -0
  162. data/app/views/skyline/content_sections/_tags.html.erb +22 -0
  163. data/app/views/skyline/layouts/articles.html.erb +30 -0
  164. data/app/views/skyline/layouts/content.html.erb +66 -0
  165. data/app/views/skyline/layouts/media.html.erb +22 -0
  166. data/app/views/skyline/layouts/pages.html.erb +59 -0
  167. data/app/views/skyline/layouts/settings.html.erb +40 -0
  168. data/app/views/skyline/link_section_links/_form.html.erb +29 -0
  169. data/app/views/skyline/locales/show.js.erb +14 -0
  170. data/app/views/skyline/media_dirs/_edit.html.erb +25 -0
  171. data/app/views/skyline/media_dirs/_index.html.erb +14 -0
  172. data/app/views/skyline/media_dirs/index.html.erb +42 -0
  173. data/app/views/skyline/media_files/_edit.html.erb +75 -0
  174. data/app/views/skyline/media_files/_header.html.erb +3 -0
  175. data/app/views/skyline/media_files/_index.html.erb +51 -0
  176. data/app/views/skyline/media_files/_new.html.erb +50 -0
  177. data/app/views/skyline/publications/_index.html.erb +35 -0
  178. data/app/views/skyline/sections/_content_collection_section.html.erb +30 -0
  179. data/app/views/skyline/sections/_content_item_section.html.erb +27 -0
  180. data/app/views/skyline/sections/_form.html.erb +45 -0
  181. data/app/views/skyline/sections/_heading_section.html.erb +23 -0
  182. data/app/views/skyline/sections/_iframe_section.html.erb +12 -0
  183. data/app/views/skyline/sections/_link_section.html.erb +33 -0
  184. data/app/views/skyline/sections/_media_section.html.erb +26 -0
  185. data/app/views/skyline/sections/_page_fragment_section.html.erb +8 -0
  186. data/app/views/skyline/sections/_raw_section.html.erb +1 -0
  187. data/app/views/skyline/sections/_redirect_section.html.erb +10 -0
  188. data/app/views/skyline/sections/_rss_section.html.erb +12 -0
  189. data/app/views/skyline/sections/_splitter_section.html.erb +1 -0
  190. data/app/views/skyline/sections/_wysiwyg_section.html.erb +21 -0
  191. data/app/views/skyline/settings/edit.html.erb +46 -0
  192. data/app/views/skyline/settings/index.html.erb +30 -0
  193. data/app/views/skyline/shared/_head.html.erb +29 -0
  194. data/app/views/skyline/shared/_header_area.html.erb +49 -0
  195. data/app/views/skyline/tags/_available_tags.html.erb +5 -0
  196. data/app/views/skyline/users/_edit.html.erb +3 -0
  197. data/app/views/skyline/users/_form.html.erb +73 -0
  198. data/app/views/skyline/users/_new.html.erb +3 -0
  199. data/app/views/skyline/users/index.html.erb +70 -0
  200. data/bin/skylinecms +5 -0
  201. data/config/initializers/dependencies.rb +24 -0
  202. data/config/initializers/javascript_generator_methods.rb +4 -0
  203. data/config/initializers/locales.rb +11 -0
  204. data/config/initializers/middlewares.rb +20 -0
  205. data/config/initializers/mime_types.rb +225 -0
  206. data/config/initializers/observers.rb +4 -0
  207. data/config/initializers/rails_defaults.rb +6 -0
  208. data/config/locales/en-US.yml +820 -0
  209. data/config/locales/nl-NL.yml +819 -0
  210. data/config/routes.rb +89 -0
  211. data/db/fixtures/files/test.gif +0 -0
  212. data/db/fixtures/roles_and_rights.rb +81 -0
  213. data/db/fixtures/roots.rb +15 -0
  214. data/db/migrate/20090302102548_add_media_nodes.rb +17 -0
  215. data/db/migrate/20090309133933_add_description_to_media_nodes.rb +9 -0
  216. data/db/migrate/20090309134731_add_tags.rb +11 -0
  217. data/db/migrate/20090309135746_create_media_files_tags.rb +12 -0
  218. data/db/migrate/20090319091342_create_media_caches.rb +13 -0
  219. data/db/migrate/20090327083240_create_users.rb +16 -0
  220. data/db/migrate/20090327084656_create_roles.rb +12 -0
  221. data/db/migrate/20090327084719_create_rights.rb +12 -0
  222. data/db/migrate/20090327084739_create_grants.rb +12 -0
  223. data/db/migrate/20090327090918_create_rights_roles.rb +12 -0
  224. data/db/migrate/20090408115155_create_ref_objects.rb +19 -0
  225. data/db/migrate/20090504140044_create_test_sections.rb +14 -0
  226. data/db/migrate/20090506083107_add_refering_column_name_to_ref_objects.rb +9 -0
  227. data/db/migrate/20090508145820_create_skyline_pages.rb +17 -0
  228. data/db/migrate/20090508145852_create_skyline_page_versions.rb +27 -0
  229. data/db/migrate/20090508150149_create_skyline_sections.rb +17 -0
  230. data/db/migrate/20090508150204_create_skyline_wysiwyg_sections.rb +12 -0
  231. data/db/migrate/20090508150210_create_skyline_rss_sections.rb +13 -0
  232. data/db/migrate/20090511074702_create_test_content_objs.rb +14 -0
  233. data/db/migrate/20090519143912_add_skyline_pages_locked.rb +9 -0
  234. data/db/migrate/20090525081942_rename_test_content_objs.rb +9 -0
  235. data/db/migrate/20090526090049_add_pages_url_part.rb +9 -0
  236. data/db/migrate/20090527130112_create_skyline_iframe_sections.rb +14 -0
  237. data/db/migrate/20090528080308_create_skyline_versions.rb +14 -0
  238. data/db/migrate/20090528090319_create_skyline_actions.rb +14 -0
  239. data/db/migrate/20090603104115_prefix_tables_for_skyline.rb +30 -0
  240. data/db/migrate/20090608131055_add_skyline_pages_navigation_title.rb +9 -0
  241. data/db/migrate/20090610134844_create_skyline_content_collection_sections.rb +13 -0
  242. data/db/migrate/20090610142139_add_skyline_tags_taggable_type.rb +11 -0
  243. data/db/migrate/20090610143446_move_skyline_media_files_skyline_tags_to_skyline_associated_tags.rb +14 -0
  244. data/db/migrate/20090616091122_add_skyline_pages_persistent.rb +9 -0
  245. data/db/migrate/20090616091432_add_skyline_pages_identifier.rb +9 -0
  246. data/db/migrate/20090616134834_create_skyline_heading_section.rb +12 -0
  247. data/db/migrate/20090624113754_create_skyline_content_item_section.rb +13 -0
  248. data/db/migrate/20090624134548_create_skyline_splitter_section.rb +11 -0
  249. data/db/migrate/20090624154213_create_skyline_link_sections.rb +12 -0
  250. data/db/migrate/20090624154251_create_skyline_link_section_links.rb +17 -0
  251. data/db/migrate/20090625110837_remove_skyline_actions.rb +14 -0
  252. data/db/migrate/20090630100045_add_media_nodes_file_type.rb +10 -0
  253. data/db/migrate/20090702160937_add_media_node_dimensions.rb +18 -0
  254. data/db/migrate/20090703101812_rename_page_title_tag.rb +9 -0
  255. data/db/migrate/20090706124019_add_skyline_media_node_title.rb +11 -0
  256. data/db/migrate/20090709142235_add_system_users_flag.rb +9 -0
  257. data/db/migrate/20090710145157_add_skyline_users_destroyed.rb +9 -0
  258. data/db/migrate/20090713133240_add_skyline_grants_primary_key.rb +9 -0
  259. data/db/migrate/20090714084713_migrate_sections_in_module.rb +24 -0
  260. data/db/migrate/20090723132822_add_skyline_page_version_current_editor.rb +13 -0
  261. data/db/migrate/20090804072505_create_skyline_sections_raw_sections.rb +13 -0
  262. data/db/migrate/20090804074053_create_skyline_sections_media_sections.rb +16 -0
  263. data/db/migrate/20090806134610_migrate_pages_to_articles.rb +23 -0
  264. data/db/migrate/20090806155411_create_skyline_page_datas.rb +85 -0
  265. data/db/migrate/20090807074314_create_skyline_sections_redirect_sections.rb +13 -0
  266. data/db/migrate/20090807112358_add_roles_system.rb +9 -0
  267. data/db/migrate/20090807130819_add_article_data_pointers.rb +48 -0
  268. data/db/migrate/20090807143152_remove_articles_cached_fields.rb +9 -0
  269. data/db/migrate/20090810130159_remove_page_url_part_constraint.rb +11 -0
  270. data/db/migrate/20090810131440_create_skyline_page_fragement_data.rb +12 -0
  271. data/db/migrate/20090812154655_create_skyline_sections_page_fragment_sections.rb +12 -0
  272. data/db/migrate/20090814102107_add_associated_tag_id.rb +9 -0
  273. data/db/migrate/20090904121447_create_skyline_referable_uris.rb +62 -0
  274. data/db/migrate/20091008134448_article_position_no_default.rb +10 -0
  275. data/db/migrate/20091013135821_allow_null_for_position_in_articles.rb +9 -0
  276. data/db/migrate/20091202130512_rename_users_destroyed_to_is_destroyed.rb +9 -0
  277. data/db/migrate/20091202152514_add_media_nodes_date.rb +9 -0
  278. data/db/migrate/20091221145204_add_skyline_media_section_link.rb +11 -0
  279. data/db/migrate/20100109145958_add_associated_tags_index.rb +9 -0
  280. data/db/migrate/20100120113953_remove_unused_articles_index.rb +9 -0
  281. data/doc/Bundler.md +71 -0
  282. data/doc/INSTALL.md +94 -0
  283. data/doc/MIGRATION.md +69 -0
  284. data/lib/skyline/belongs_to_referable.rb +166 -0
  285. data/lib/skyline/cli/base.rb +23 -0
  286. data/lib/skyline/cli/init/templates/config/initializers/skyline_configuration.rb +5 -0
  287. data/lib/skyline/cli/init/templates/tasks/skyline.rake +2 -0
  288. data/lib/skyline/cli/init.rb +119 -0
  289. data/lib/skyline/configuration.rb +101 -0
  290. data/lib/skyline/content/class_meta_data.rb +105 -0
  291. data/lib/skyline/content/content.rb +327 -0
  292. data/lib/skyline/content/exportable.rb +28 -0
  293. data/lib/skyline/content/field_meta_data.rb +336 -0
  294. data/lib/skyline/content/implementation.rb +57 -0
  295. data/lib/skyline/content/meta_data/class_settings.rb +18 -0
  296. data/lib/skyline/content/meta_data/field.rb +212 -0
  297. data/lib/skyline/content/meta_data/field_group.rb +83 -0
  298. data/lib/skyline/content/meta_data/field_page.rb +82 -0
  299. data/lib/skyline/content/orderable.rb +81 -0
  300. data/lib/skyline/content/stack.rb +111 -0
  301. data/lib/skyline/content/versioning/version.rb +43 -0
  302. data/lib/skyline/content/versioning/versionable.rb +40 -0
  303. data/lib/skyline/content_item_section_selectable.rb +32 -0
  304. data/lib/skyline/deprecated.rb +106 -0
  305. data/lib/skyline/form_builder.rb +182 -0
  306. data/lib/skyline/has_many_referables_in.rb +108 -0
  307. data/lib/skyline/javascript_generator_methods.rb +13 -0
  308. data/lib/skyline/plugins_manager.rb +29 -0
  309. data/lib/skyline/positionable.rb +47 -0
  310. data/lib/skyline/rendering/helpers/bread_crumb_helper.rb +48 -0
  311. data/lib/skyline/rendering/helpers/column_helper.rb +25 -0
  312. data/lib/skyline/rendering/helpers/renderer_helper.rb +147 -0
  313. data/lib/skyline/rendering/renderer.rb +391 -0
  314. data/lib/skyline/rendering/scopes/interface.rb +29 -0
  315. data/lib/skyline/rendering/scopes/wildcard.rb +16 -0
  316. data/lib/skyline/sections/interface.rb +42 -0
  317. data/lib/skyline/settings.rb +185 -0
  318. data/lib/skyline/taggable.rb +87 -0
  319. data/lib/skyline/version.rb +36 -0
  320. data/lib/skyline.rb +25 -0
  321. data/lib/skylinecms.rb +3 -0
  322. data/public/skyline/images/backgrounds/advanced-closed.gif +0 -0
  323. data/public/skyline/images/backgrounds/advanced-open.gif +0 -0
  324. data/public/skyline/images/backgrounds/dialog-head.gif +0 -0
  325. data/public/skyline/images/backgrounds/dialog-shadow-bl-corner.png +0 -0
  326. data/public/skyline/images/backgrounds/dialog-shadow-bottom.png +0 -0
  327. data/public/skyline/images/backgrounds/dialog-shadow-br-corner.png +0 -0
  328. data/public/skyline/images/backgrounds/dialog-shadow-left.png +0 -0
  329. data/public/skyline/images/backgrounds/dialog-shadow-right.png +0 -0
  330. data/public/skyline/images/backgrounds/dialog-shadow-tl-corner.png +0 -0
  331. data/public/skyline/images/backgrounds/dialog-shadow-top.png +0 -0
  332. data/public/skyline/images/backgrounds/dialog-shadow-tr-corner.png +0 -0
  333. data/public/skyline/images/backgrounds/dots.gif +0 -0
  334. data/public/skyline/images/backgrounds/hover.gif +0 -0
  335. data/public/skyline/images/backgrounds/login-contentarea.gif +0 -0
  336. data/public/skyline/images/backgrounds/mainnavigation.gif +0 -0
  337. data/public/skyline/images/backgrounds/menu-arrow-bottom.gif +0 -0
  338. data/public/skyline/images/backgrounds/menu-arrow-right.gif +0 -0
  339. data/public/skyline/images/backgrounds/menubutton-active.gif +0 -0
  340. data/public/skyline/images/backgrounds/menubutton-arrow.gif +0 -0
  341. data/public/skyline/images/backgrounds/menubutton.gif +0 -0
  342. data/public/skyline/images/backgrounds/messages-confirmation.gif +0 -0
  343. data/public/skyline/images/backgrounds/messages-error-icon.gif +0 -0
  344. data/public/skyline/images/backgrounds/panel-dt.gif +0 -0
  345. data/public/skyline/images/backgrounds/panel-footer.gif +0 -0
  346. data/public/skyline/images/backgrounds/panel-head-closed.gif +0 -0
  347. data/public/skyline/images/backgrounds/panel-head-open.gif +0 -0
  348. data/public/skyline/images/backgrounds/panel-head.gif +0 -0
  349. data/public/skyline/images/backgrounds/pixel-blue.gif +0 -0
  350. data/public/skyline/images/backgrounds/pixel-gray.gif +0 -0
  351. data/public/skyline/images/backgrounds/progressbar-bar.gif +0 -0
  352. data/public/skyline/images/backgrounds/progressbar.gif +0 -0
  353. data/public/skyline/images/backgrounds/section-splitter.gif +0 -0
  354. data/public/skyline/images/backgrounds/selected.gif +0 -0
  355. data/public/skyline/images/backgrounds/splitter.gif +0 -0
  356. data/public/skyline/images/backgrounds/tree-li-closed.gif +0 -0
  357. data/public/skyline/images/backgrounds/tree-li-last.gif +0 -0
  358. data/public/skyline/images/backgrounds/tree-li-open.gif +0 -0
  359. data/public/skyline/images/backgrounds/tree-li.gif +0 -0
  360. data/public/skyline/images/backgrounds/tree-ul.gif +0 -0
  361. data/public/skyline/images/backgrounds/usernavigation.gif +0 -0
  362. data/public/skyline/images/buttons/buttons-medium.gif +0 -0
  363. data/public/skyline/images/buttons/buttons-small.gif +0 -0
  364. data/public/skyline/images/buttons/dialog-close.gif +0 -0
  365. data/public/skyline/images/buttons/section-delete.gif +0 -0
  366. data/public/skyline/images/icons/attachment.gif +0 -0
  367. data/public/skyline/images/icons/audio.gif +0 -0
  368. data/public/skyline/images/icons/cog-blue.gif +0 -0
  369. data/public/skyline/images/icons/cog.gif +0 -0
  370. data/public/skyline/images/icons/compressed.gif +0 -0
  371. data/public/skyline/images/icons/default.gif +0 -0
  372. data/public/skyline/images/icons/drag.gif +0 -0
  373. data/public/skyline/images/icons/excel.gif +0 -0
  374. data/public/skyline/images/icons/executable.gif +0 -0
  375. data/public/skyline/images/icons/false.gif +0 -0
  376. data/public/skyline/images/icons/file-failed.gif +0 -0
  377. data/public/skyline/images/icons/file-success.gif +0 -0
  378. data/public/skyline/images/icons/flash.gif +0 -0
  379. data/public/skyline/images/icons/folder.gif +0 -0
  380. data/public/skyline/images/icons/html.gif +0 -0
  381. data/public/skyline/images/icons/image.gif +0 -0
  382. data/public/skyline/images/icons/link-external.gif +0 -0
  383. data/public/skyline/images/icons/lock-open.gif +0 -0
  384. data/public/skyline/images/icons/lock.gif +0 -0
  385. data/public/skyline/images/icons/pages.gif +0 -0
  386. data/public/skyline/images/icons/pdf.gif +0 -0
  387. data/public/skyline/images/icons/powerpoint.gif +0 -0
  388. data/public/skyline/images/icons/text.gif +0 -0
  389. data/public/skyline/images/icons/toolbar.gif +0 -0
  390. data/public/skyline/images/icons/true.gif +0 -0
  391. data/public/skyline/images/icons/video.gif +0 -0
  392. data/public/skyline/images/icons/word.gif +0 -0
  393. data/public/skyline/images/logo.gif +0 -0
  394. data/public/skyline/images/logo.png +0 -0
  395. data/public/skyline/images/spinner.gif +0 -0
  396. data/public/skyline/javascripts/README +5 -0
  397. data/public/skyline/javascripts/src/application.js +403 -0
  398. data/public/skyline/javascripts/src/browser.js +267 -0
  399. data/public/skyline/javascripts/src/draggable_files.js +102 -0
  400. data/public/skyline/javascripts/src/library_uploader.js +226 -0
  401. data/public/skyline/javascripts/src/messages.js +61 -0
  402. data/public/skyline/javascripts/src/mootools_on_rails.js +53 -0
  403. data/public/skyline/javascripts/src/page_helper.js +49 -0
  404. data/public/skyline/javascripts/src/poller.js +51 -0
  405. data/public/skyline/javascripts/src/sections.js +70 -0
  406. data/public/skyline/javascripts/src/skyline/assets/dialog/button-close.gif +0 -0
  407. data/public/skyline/javascripts/src/skyline/assets/dialog/dialog.css +104 -0
  408. data/public/skyline/javascripts/src/skyline/assets/dialog/head.gif +0 -0
  409. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-bl-corner.png +0 -0
  410. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-bottom.png +0 -0
  411. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-br-corner.png +0 -0
  412. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-left.png +0 -0
  413. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-right.png +0 -0
  414. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-tl-corner.png +0 -0
  415. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-top.png +0 -0
  416. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-tr-corner.png +0 -0
  417. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton-active.gif +0 -0
  418. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton-arrow.gif +0 -0
  419. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton.css +66 -0
  420. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton.gif +0 -0
  421. data/public/skyline/javascripts/src/skyline/assets/tree/icon.gif +0 -0
  422. data/public/skyline/javascripts/src/skyline/assets/tree/last.gif +0 -0
  423. data/public/skyline/javascripts/src/skyline/assets/tree/li.gif +0 -0
  424. data/public/skyline/javascripts/src/skyline/assets/tree/middle-closed.gif +0 -0
  425. data/public/skyline/javascripts/src/skyline/assets/tree/middle-open.gif +0 -0
  426. data/public/skyline/javascripts/src/skyline/assets/tree/tree.css +91 -0
  427. data/public/skyline/javascripts/src/skyline/assets/tree/tree_vert_line.png +0 -0
  428. data/public/skyline/javascripts/src/skyline/src/dialog.js +286 -0
  429. data/public/skyline/javascripts/src/skyline/src/drag.js +59 -0
  430. data/public/skyline/javascripts/src/skyline/src/field_replicator.js +55 -0
  431. data/public/skyline/javascripts/src/skyline/src/hover_select.js +46 -0
  432. data/public/skyline/javascripts/src/skyline/src/layout.js +417 -0
  433. data/public/skyline/javascripts/src/skyline/src/menu.js +54 -0
  434. data/public/skyline/javascripts/src/skyline/src/menubutton.js +122 -0
  435. data/public/skyline/javascripts/src/skyline/src/skyline.js +6 -0
  436. data/public/skyline/javascripts/src/skyline/src/sortable.js +146 -0
  437. data/public/skyline/javascripts/src/skyline/src/tabs.js +131 -0
  438. data/public/skyline/javascripts/src/skyline/src/tag_selector.js +110 -0
  439. data/public/skyline/javascripts/src/skyline/src/toggle.js +66 -0
  440. data/public/skyline/javascripts/src/skyline/src/tree.js +399 -0
  441. data/public/skyline/javascripts/src/skyline/src/uploader.js +115 -0
  442. data/public/skyline/javascripts/src/skyline/src/utils.js +31 -0
  443. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/FancyUpload2.js +251 -0
  444. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/FancyUpload3.Attach.js +222 -0
  445. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Fx.ProgressBar.js +71 -0
  446. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Swiff.Uploader.js +488 -0
  447. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Swiff.Uploader.swf +0 -0
  448. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-core.js +356 -0
  449. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-more.js +82 -0
  450. data/public/skyline/javascripts/src/skyline.editor/assets/content.css +21 -0
  451. data/public/skyline/javascripts/src/skyline.editor/assets/dialog.css +116 -0
  452. data/public/skyline/javascripts/src/skyline.editor/assets/icons.gif +0 -0
  453. data/public/skyline/javascripts/src/skyline.editor/assets/ui.css +211 -0
  454. data/public/skyline/javascripts/src/skyline.editor/dialogs/anchor.htm +31 -0
  455. data/public/skyline/javascripts/src/skyline.editor/dialogs/charmap.htm +53 -0
  456. data/public/skyline/javascripts/src/skyline.editor/dialogs/color_picker.htm +75 -0
  457. data/public/skyline/javascripts/src/skyline.editor/dialogs/skyline_code.html +17 -0
  458. data/public/skyline/javascripts/src/skyline.editor/src/plugins/autoresize/editor_plugin.js +115 -0
  459. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinecode/dialog.js +87 -0
  460. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinecode/editor_plugin.js +38 -0
  461. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinecontextmenu/editor_plugin.js +89 -0
  462. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylineimage/dialog.js +88 -0
  463. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylineimage/editor_plugin.js +33 -0
  464. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinelink/dialog.js +113 -0
  465. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinelink/editor_plugin.js +51 -0
  466. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinetable/editor_plugin.js +1087 -0
  467. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinewindows/editor_plugin.js +263 -0
  468. data/public/skyline/javascripts/src/skyline.editor/src/script_loader.js +96 -0
  469. data/public/skyline/javascripts/src/skyline.editor/src/skyline.editor.js +135 -0
  470. data/public/skyline/javascripts/src/skyline.editor/src/theme.js +636 -0
  471. data/public/skyline/javascripts/src/skyline.editor/src/ui/separator.js +34 -0
  472. data/public/skyline/javascripts/src/skyline.editor/src/ui/toolbar.js +102 -0
  473. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.bat +2 -0
  474. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.xml +364 -0
  475. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/changelog.txt +886 -0
  476. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/css/content.css +51 -0
  477. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/css/word.css +53 -0
  478. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full.html +85 -0
  479. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full_jquery.html +94 -0
  480. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/index.html +10 -0
  481. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/image_list.js +9 -0
  482. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/link_list.js +10 -0
  483. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/media_list.js +10 -0
  484. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/template_list.js +9 -0
  485. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/logo.jpg +0 -0
  486. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/logo_over.jpg +0 -0
  487. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.avi +0 -0
  488. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.dcr +0 -0
  489. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.mov +0 -0
  490. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.ram +1 -0
  491. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.rm +0 -0
  492. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.swf +0 -0
  493. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/menu.html +16 -0
  494. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/simple.html +43 -0
  495. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/skins.html +212 -0
  496. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/templates/layout1.htm +15 -0
  497. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/templates/snippet1.htm +1 -0
  498. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/translate.html +80 -0
  499. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/word.html +67 -0
  500. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/AddOnManager.js +95 -0
  501. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/CommandManager.js +54 -0
  502. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ControlManager.js +489 -0
  503. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Developer.js +91 -0
  504. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Editor.js +2295 -0
  505. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorCommands.js +934 -0
  506. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorManager.js +453 -0
  507. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ForceBlocks.js +644 -0
  508. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Popup.js +412 -0
  509. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/UndoManager.js +183 -0
  510. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/WindowManager.js +169 -0
  511. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/adapter.js +240 -0
  512. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/jquery.tinymce.js +179 -0
  513. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/prototype/adapter.js +38 -0
  514. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/BlockQuote.js +135 -0
  515. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/CutCopyPaste.js +24 -0
  516. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/InsertHorizontalRule.js +15 -0
  517. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/RemoveFormat.js +173 -0
  518. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/UndoRedo.js +38 -0
  519. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/DOMUtils.js +1823 -0
  520. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Element.js +199 -0
  521. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/EventUtils.js +349 -0
  522. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Range.js +721 -0
  523. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/ScriptLoader.js +351 -0
  524. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Selection.js +747 -0
  525. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Serializer.js +979 -0
  526. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Sizzle.js +975 -0
  527. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/StringWriter.js +200 -0
  528. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/TridentSelection.js +273 -0
  529. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/XMLWriter.js +155 -0
  530. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/firebug/firebug-lite.js +2518 -0
  531. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/tinymce.js +549 -0
  532. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Button.js +68 -0
  533. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ColorSplitButton.js +212 -0
  534. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Container.js +56 -0
  535. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Control.js +182 -0
  536. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/DropMenu.js +397 -0
  537. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ListBox.js +320 -0
  538. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Menu.js +175 -0
  539. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuButton.js +128 -0
  540. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuItem.js +69 -0
  541. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/NativeListBox.js +198 -0
  542. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Separator.js +34 -0
  543. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/SplitButton.js +99 -0
  544. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Toolbar.js +86 -0
  545. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Cookie.js +126 -0
  546. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Dispatcher.js +101 -0
  547. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSON.js +81 -0
  548. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONP.js +25 -0
  549. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONRequest.js +87 -0
  550. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/URI.js +289 -0
  551. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/XHR.js +80 -0
  552. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/xml/Parser.js +126 -0
  553. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/jquery.tinymce.js +1 -0
  554. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/langs/en.js +154 -0
  555. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/license.txt +504 -0
  556. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css +5 -0
  557. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
  558. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js +54 -0
  559. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js +43 -0
  560. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js +5 -0
  561. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +62 -0
  562. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css +13 -0
  563. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
  564. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +47 -0
  565. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +237 -0
  566. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  567. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +443 -0
  568. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js +43 -0
  569. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css +8 -0
  570. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
  571. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js +58 -0
  572. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +528 -0
  573. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js +52 -0
  574. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +338 -0
  575. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -0
  576. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +111 -0
  577. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -0
  578. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +51 -0
  579. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -0
  580. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +117 -0
  581. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js +1 -0
  582. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin_src.js +616 -0
  583. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
  584. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +95 -0
  585. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
  586. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js +79 -0
  587. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -0
  588. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js +40 -0
  589. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm +40 -0
  590. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
  591. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
  592. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  593. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  594. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
  595. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
  596. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
  597. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  598. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  599. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  600. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  601. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  602. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  603. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
  604. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  605. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
  606. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js +22 -0
  607. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js +20 -0
  608. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm +27 -0
  609. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js +1 -0
  610. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js +81 -0
  611. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif +0 -0
  612. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js +19 -0
  613. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js +3 -0
  614. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
  615. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css +182 -0
  616. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -0
  617. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +146 -0
  618. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +576 -0
  619. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +461 -0
  620. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +85 -0
  621. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
  622. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +145 -0
  623. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +110 -0
  624. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
  625. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js +51 -0
  626. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  627. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +632 -0
  628. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  629. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  630. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  631. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  632. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  633. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  634. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  635. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +90 -0
  636. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  637. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +1 -0
  638. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +80 -0
  639. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js +1 -0
  640. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +209 -0
  641. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css +6 -0
  642. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css +16 -0
  643. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js +1 -0
  644. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js +405 -0
  645. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  646. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  647. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  648. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif +0 -0
  649. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  650. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif +0 -0
  651. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif +0 -0
  652. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js +73 -0
  653. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/js/media.js +630 -0
  654. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js +103 -0
  655. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/media.htm +822 -0
  656. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -0
  657. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +50 -0
  658. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -0
  659. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +87 -0
  660. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css +1 -0
  661. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -0
  662. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +74 -0
  663. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif +0 -0
  664. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  665. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  666. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +512 -0
  667. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js +36 -0
  668. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js +51 -0
  669. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
  670. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm +33 -0
  671. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm +27 -0
  672. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js +1 -0
  673. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js +50 -0
  674. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/example.html +28 -0
  675. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js +73 -0
  676. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/preview.html +17 -0
  677. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js +1 -0
  678. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js +31 -0
  679. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/blank.htm +1 -0
  680. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js +1 -0
  681. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin_src.js +438 -0
  682. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js +1 -0
  683. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js +98 -0
  684. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +6 -0
  685. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -0
  686. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +54 -0
  687. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +126 -0
  688. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +16 -0
  689. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +104 -0
  690. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css +1 -0
  691. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
  692. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +338 -0
  693. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  694. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/css/props.css +13 -0
  695. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js +1 -0
  696. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js +52 -0
  697. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/js/props.js +641 -0
  698. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js +63 -0
  699. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/props.htm +730 -0
  700. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -0
  701. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +109 -0
  702. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +183 -0
  703. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css +17 -0
  704. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/css/row.css +25 -0
  705. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/css/table.css +13 -0
  706. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
  707. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +1136 -0
  708. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +269 -0
  709. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js +29 -0
  710. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js +212 -0
  711. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js +440 -0
  712. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js +74 -0
  713. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +37 -0
  714. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +160 -0
  715. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +192 -0
  716. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/blank.htm +12 -0
  717. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/css/template.css +23 -0
  718. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js +1 -0
  719. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js +156 -0
  720. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/js/template.js +106 -0
  721. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js +15 -0
  722. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/template.htm +38 -0
  723. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -0
  724. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +73 -0
  725. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +148 -0
  726. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +148 -0
  727. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +153 -0
  728. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +148 -0
  729. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +11 -0
  730. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +9 -0
  731. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +169 -0
  732. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  733. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +136 -0
  734. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +169 -0
  735. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +25 -0
  736. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +25 -0
  737. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +123 -0
  738. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +25 -0
  739. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +60 -0
  740. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +231 -0
  741. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +59 -0
  742. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
  743. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +56 -0
  744. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +31 -0
  745. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +53 -0
  746. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +75 -0
  747. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js +1 -0
  748. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +1153 -0
  749. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +85 -0
  750. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  751. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  752. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js +72 -0
  753. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js +37 -0
  754. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js +325 -0
  755. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js +253 -0
  756. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js +245 -0
  757. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +156 -0
  758. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js +62 -0
  759. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js +62 -0
  760. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js +51 -0
  761. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +63 -0
  762. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css +32 -0
  763. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css +116 -0
  764. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  765. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  766. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  767. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  768. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  769. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  770. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +214 -0
  771. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css +32 -0
  772. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +115 -0
  773. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  774. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  775. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  776. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +215 -0
  777. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  778. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  779. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +31 -0
  780. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js +1 -0
  781. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js +85 -0
  782. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  783. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js +11 -0
  784. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css +25 -0
  785. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css +32 -0
  786. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
  787. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  788. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
  789. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js +1 -0
  790. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_dev.js +128 -0
  791. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery.js +1 -0
  792. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery_src.js +12198 -0
  793. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js +5 -0
  794. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype.js +1 -0
  795. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype_src.js +13057 -0
  796. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_src.js +13030 -0
  797. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/editable_selects.js +69 -0
  798. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/form_utils.js +199 -0
  799. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/mctabs.js +76 -0
  800. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/validate.js +219 -0
  801. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api.html +18 -0
  802. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_jquery.html +18 -0
  803. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_prototype.html +19 -0
  804. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/basic.html +548 -0
  805. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/crossdomain.html +87 -0
  806. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/css/unit.css +120 -0
  807. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/index.html +10 -0
  808. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/jquery_plugin.html +112 -0
  809. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/api.js +1438 -0
  810. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/testrunner.js +791 -0
  811. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/main.html +8 -0
  812. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/media.html +221 -0
  813. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/menu.html +22 -0
  814. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/parts.html +90 -0
  815. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/paste.html +132 -0
  816. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/performance.html +152 -0
  817. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/range.html +522 -0
  818. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/removeformat.html +88 -0
  819. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/selection.html +235 -0
  820. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/config.ini +27 -0
  821. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/footer.html +3 -0
  822. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/header.html +6 -0
  823. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/index.php +1 -0
  824. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/instructions.txt +4 -0
  825. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/logo.png +0 -0
  826. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/selectors.list +40 -0
  827. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/style.css +181 -0
  828. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/index.php +112 -0
  829. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/slickspeed.js +147 -0
  830. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/template.php +47 -0
  831. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/template.html +2865 -0
  832. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/test.xml +6 -0
  833. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/ant-contrib.jar +0 -0
  834. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/js_build_tools.jar +0 -0
  835. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnClientAdapter.jar +0 -0
  836. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnant.jar +0 -0
  837. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnjavahl.jar +0 -0
  838. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnkit.jar +0 -0
  839. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/yuicompressor.jar +0 -0
  840. data/public/skyline/javascripts/src/skyline.editor.js +1 -0
  841. data/public/skyline/javascripts/src/skyline.js +16 -0
  842. data/public/skyline/javascripts/src/utils.js +111 -0
  843. data/public/skyline/stylesheets/general.css +2291 -0
  844. data/public/skyline/stylesheets/ie.css +47 -0
  845. data/public/skyline/stylesheets/undohtml.css +53 -0
  846. data/public/skyline/stylesheets/wysiwyg.css +28 -0
  847. data/rails/init.rb +32 -0
  848. data/recipes/deploy.rb +31 -0
  849. data/tasks/database.rake +66 -0
  850. data/tasks/implementation.rake +2 -0
  851. data/vendor/andand/andand.rb +96 -0
  852. data/vendor/digitpaint/configure.rb +144 -0
  853. data/vendor/digitpaint/nested_attributes_positioning.rb +70 -0
  854. data/vendor/digitpaint/personify/README.md +86 -0
  855. data/vendor/digitpaint/personify/lib/parser/personify.rb +838 -0
  856. data/vendor/digitpaint/personify/lib/parser/personify.treetop +126 -0
  857. data/vendor/digitpaint/personify/lib/parser/personify_node_classes.rb +7 -0
  858. data/vendor/digitpaint/personify/lib/template.rb +16 -0
  859. data/vendor/digitpaint/personify/personify.rb +7 -0
  860. data/vendor/digitpaint/personify/script/generate_parser.rb +6 -0
  861. data/vendor/digitpaint/personify/vendor/treetop/History.txt +9 -0
  862. data/vendor/digitpaint/personify/vendor/treetop/README +164 -0
  863. data/vendor/digitpaint/personify/vendor/treetop/Rakefile +20 -0
  864. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/grammar ___ end.tmSnippet +20 -0
  865. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/rule ___ end.tmSnippet +18 -0
  866. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Syntaxes/Treetop Grammar.tmLanguage +251 -0
  867. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/info.plist +10 -0
  868. data/vendor/digitpaint/personify/vendor/treetop/bin/tt +28 -0
  869. data/vendor/digitpaint/personify/vendor/treetop/doc/contributing_and_planned_features.markdown +103 -0
  870. data/vendor/digitpaint/personify/vendor/treetop/doc/grammar_composition.markdown +65 -0
  871. data/vendor/digitpaint/personify/vendor/treetop/doc/index.markdown +90 -0
  872. data/vendor/digitpaint/personify/vendor/treetop/doc/pitfalls_and_advanced_techniques.markdown +51 -0
  873. data/vendor/digitpaint/personify/vendor/treetop/doc/semantic_interpretation.markdown +189 -0
  874. data/vendor/digitpaint/personify/vendor/treetop/doc/site.rb +110 -0
  875. data/vendor/digitpaint/personify/vendor/treetop/doc/sitegen.rb +60 -0
  876. data/vendor/digitpaint/personify/vendor/treetop/doc/syntactic_recognition.markdown +100 -0
  877. data/vendor/digitpaint/personify/vendor/treetop/doc/using_in_ruby.markdown +21 -0
  878. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.rb +551 -0
  879. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.treetop +97 -0
  880. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_node_classes.rb +7 -0
  881. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_test.rb +54 -0
  882. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus +0 -0
  883. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.rb +718 -0
  884. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.treetop +132 -0
  885. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_node_classes.rb +5 -0
  886. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_test.rb +89 -0
  887. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/test_helper.rb +18 -0
  888. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/bootstrap_gen_1_metagrammar.rb +45 -0
  889. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/grammar_compiler.rb +40 -0
  890. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/lexical_address_space.rb +17 -0
  891. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.rb +2955 -0
  892. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.treetop +404 -0
  893. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/anything_symbol.rb +20 -0
  894. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/atomic_expression.rb +14 -0
  895. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/character_class.rb +22 -0
  896. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/choice.rb +31 -0
  897. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/declaration_sequence.rb +24 -0
  898. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/grammar.rb +28 -0
  899. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/inline_module.rb +27 -0
  900. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/nonterminal.rb +13 -0
  901. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/optional.rb +19 -0
  902. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parenthesized_expression.rb +9 -0
  903. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_expression.rb +138 -0
  904. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_rule.rb +55 -0
  905. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/predicate.rb +45 -0
  906. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/repetition.rb +55 -0
  907. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/sequence.rb +68 -0
  908. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb +20 -0
  909. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/transient_prefix.rb +9 -0
  910. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/treetop_file.rb +9 -0
  911. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes.rb +19 -0
  912. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/ruby_builder.rb +113 -0
  913. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler.rb +6 -0
  914. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions/string.rb +42 -0
  915. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions.rb +2 -0
  916. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/compiled_parser.rb +95 -0
  917. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/head_node.rb +15 -0
  918. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +200 -0
  919. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/node.rb +164 -0
  920. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list.rb +4 -0
  921. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/syntax_node.rb +72 -0
  922. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_parse_failure.rb +16 -0
  923. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_syntax_node.rb +17 -0
  924. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime.rb +5 -0
  925. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/version.rb +9 -0
  926. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop.rb +11 -0
  927. data/vendor/digitpaint/personify/vendor/treetop/script/generate_metagrammar.rb +14 -0
  928. data/vendor/digitpaint/personify/vendor/treetop/script/svnadd +11 -0
  929. data/vendor/digitpaint/personify/vendor/treetop/script/svnrm +11 -0
  930. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/and_predicate_spec.rb +36 -0
  931. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/anything_symbol_spec.rb +52 -0
  932. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/character_class_spec.rb +188 -0
  933. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/choice_spec.rb +80 -0
  934. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/circular_compilation_spec.rb +28 -0
  935. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/failure_propagation_functional_spec.rb +21 -0
  936. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_compiler_spec.rb +84 -0
  937. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_spec.rb +41 -0
  938. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/nonterminal_symbol_spec.rb +40 -0
  939. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/not_predicate_spec.rb +38 -0
  940. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/one_or_more_spec.rb +35 -0
  941. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/optional_spec.rb +37 -0
  942. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parenthesized_expression_spec.rb +19 -0
  943. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parsing_rule_spec.rb +32 -0
  944. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/sequence_spec.rb +115 -0
  945. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_spec.rb +81 -0
  946. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_symbol_spec.rb +37 -0
  947. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.treetop +7 -0
  948. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.tt +7 -0
  949. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar_do.treetop +7 -0
  950. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/zero_or_more_spec.rb +56 -0
  951. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/a.treetop +11 -0
  952. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/b.treetop +11 -0
  953. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/c.treetop +10 -0
  954. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/d.treetop +10 -0
  955. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/grammar_composition_spec.rb +26 -0
  956. data/vendor/digitpaint/personify/vendor/treetop/spec/ruby_extensions/string_spec.rb +32 -0
  957. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/compiled_parser_spec.rb +101 -0
  958. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/delete_spec.rb +147 -0
  959. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/expire_range_spec.rb +349 -0
  960. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_and_delete_node.rb +385 -0
  961. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_spec.rb +660 -0
  962. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +6175 -0
  963. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +58 -0
  964. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture.rb +23 -0
  965. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +164 -0
  966. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/spec_helper.rb +84 -0
  967. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/syntax_node_spec.rb +53 -0
  968. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_helper.rb +106 -0
  969. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_suite.rb +4 -0
  970. data/vendor/digitpaint/personify/vendor/treetop/treetop.gemspec +18 -0
  971. data/vendor/digitpaint/unique_identifiers.rb +89 -0
  972. data/vendor/mootools-on-rails/README +54 -0
  973. data/vendor/mootools-on-rails/Rakefile +22 -0
  974. data/vendor/mootools-on-rails/lib/mootools_on_rails/mootools_helper.rb +501 -0
  975. data/vendor/mootools-on-rails/lib/mootools_on_rails.rb +30 -0
  976. data/vendor/weppos/url_validation.rb +76 -0
  977. metadata +1192 -0
@@ -0,0 +1,1823 @@
1
+ /**
2
+ * $Id: DOMUtils.js 1154 2009-06-10 17:31:03Z spocke $
3
+ *
4
+ * @author Moxiecode
5
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
6
+ */
7
+
8
+ (function(tinymce) {
9
+ // Shorten names
10
+ var each = tinymce.each, is = tinymce.is;
11
+ var isWebKit = tinymce.isWebKit, isIE = tinymce.isIE;
12
+
13
+ /**#@+
14
+ * @class Utility class for various DOM manipulation and retrival functions.
15
+ * @member tinymce.dom.DOMUtils
16
+ */
17
+ tinymce.create('tinymce.dom.DOMUtils', {
18
+ doc : null,
19
+ root : null,
20
+ files : null,
21
+ pixelStyles : /^(top|left|bottom|right|width|height|borderWidth)$/,
22
+ props : {
23
+ "for" : "htmlFor",
24
+ "class" : "className",
25
+ className : "className",
26
+ checked : "checked",
27
+ disabled : "disabled",
28
+ maxlength : "maxLength",
29
+ readonly : "readOnly",
30
+ selected : "selected",
31
+ value : "value",
32
+ id : "id",
33
+ name : "name",
34
+ type : "type"
35
+ },
36
+
37
+ /**
38
+ * Constructs a new DOMUtils instance. Consult the Wiki for more details on settings etc for this class.
39
+ *
40
+ * @constructor
41
+ * @param {Document} d Document reference to bind the utility class to.
42
+ * @param {settings} s Optional settings collection.
43
+ */
44
+ DOMUtils : function(d, s) {
45
+ var t = this;
46
+
47
+ t.doc = d;
48
+ t.win = window;
49
+ t.files = {};
50
+ t.cssFlicker = false;
51
+ t.counter = 0;
52
+ t.boxModel = !tinymce.isIE || d.compatMode == "CSS1Compat";
53
+ t.stdMode = d.documentMode === 8;
54
+
55
+ t.settings = s = tinymce.extend({
56
+ keep_values : false,
57
+ hex_colors : 1,
58
+ process_html : 1
59
+ }, s);
60
+
61
+ // Fix IE6SP2 flicker and check it failed for pre SP2
62
+ if (tinymce.isIE6) {
63
+ try {
64
+ d.execCommand('BackgroundImageCache', false, true);
65
+ } catch (e) {
66
+ t.cssFlicker = true;
67
+ }
68
+ }
69
+
70
+ tinymce.addUnload(t.destroy, t);
71
+ },
72
+
73
+ /**#@+
74
+ * @method
75
+ */
76
+
77
+ /**
78
+ * Returns the root node of the document this is normally the body but might be a DIV. Parents like getParent will not
79
+ * go above the point of this root node.
80
+ *
81
+ * @return {Element} Root element for the utility class.
82
+ */
83
+ getRoot : function() {
84
+ var t = this, s = t.settings;
85
+
86
+ return (s && t.get(s.root_element)) || t.doc.body;
87
+ },
88
+
89
+ /**
90
+ * Returns the viewport of the window.
91
+ *
92
+ * @param {Window} w Optional window to get viewport of.
93
+ * @return {Object} Viewport object with fields x, y, w and h.
94
+ */
95
+ getViewPort : function(w) {
96
+ var d, b;
97
+
98
+ w = !w ? this.win : w;
99
+ d = w.document;
100
+ b = this.boxModel ? d.documentElement : d.body;
101
+
102
+ // Returns viewport size excluding scrollbars
103
+ return {
104
+ x : w.pageXOffset || b.scrollLeft,
105
+ y : w.pageYOffset || b.scrollTop,
106
+ w : w.innerWidth || b.clientWidth,
107
+ h : w.innerHeight || b.clientHeight
108
+ };
109
+ },
110
+
111
+ /**
112
+ * Returns the rectangle for a specific element.
113
+ *
114
+ * @param {Element/String} e Element object or element ID to get rectange from.
115
+ * @return {object} Rectange for specified element object with x, y, w, h fields.
116
+ */
117
+ getRect : function(e) {
118
+ var p, t = this, sr;
119
+
120
+ e = t.get(e);
121
+ p = t.getPos(e);
122
+ sr = t.getSize(e);
123
+
124
+ return {
125
+ x : p.x,
126
+ y : p.y,
127
+ w : sr.w,
128
+ h : sr.h
129
+ };
130
+ },
131
+
132
+ /**
133
+ * Returns the size dimensions of the specified element.
134
+ *
135
+ * @param {Element/String} e Element object or element ID to get rectange from.
136
+ * @return {object} Rectange for specified element object with w, h fields.
137
+ */
138
+ getSize : function(e) {
139
+ var t = this, w, h;
140
+
141
+ e = t.get(e);
142
+ w = t.getStyle(e, 'width');
143
+ h = t.getStyle(e, 'height');
144
+
145
+ // Non pixel value, then force offset/clientWidth
146
+ if (w.indexOf('px') === -1)
147
+ w = 0;
148
+
149
+ // Non pixel value, then force offset/clientWidth
150
+ if (h.indexOf('px') === -1)
151
+ h = 0;
152
+
153
+ return {
154
+ w : parseInt(w) || e.offsetWidth || e.clientWidth,
155
+ h : parseInt(h) || e.offsetHeight || e.clientHeight
156
+ };
157
+ },
158
+
159
+ /**
160
+ * Returns a node by the specified selector function. This function will
161
+ * loop through all parent nodes and call the specified function for each node.
162
+ * If the function then returns true indicating that it has found what it was looking for, the loop execution will then end
163
+ * and the node it found will be returned.
164
+ *
165
+ * @param {Node/String} n DOM node to search parents on or ID string.
166
+ * @param {function} f Selection function to execute on each node or CSS pattern.
167
+ * @param {Node} r Optional root element, never go below this point.
168
+ * @return {Node} DOM Node or null if it wasn't found.
169
+ */
170
+ getParent : function(n, f, r) {
171
+ return this.getParents(n, f, r, false);
172
+ },
173
+
174
+ /**
175
+ * Returns a node list of all parents matching the specified selector function or pattern.
176
+ * If the function then returns true indicating that it has found what it was looking for and that node will be collected.
177
+ *
178
+ * @param {Node/String} n DOM node to search parents on or ID string.
179
+ * @param {function} f Selection function to execute on each node or CSS pattern.
180
+ * @param {Node} r Optional root element, never go below this point.
181
+ * @return {Array} Array of nodes or null if it wasn't found.
182
+ */
183
+ getParents : function(n, f, r, c) {
184
+ var t = this, na, se = t.settings, o = [];
185
+
186
+ n = t.get(n);
187
+ c = c === undefined;
188
+
189
+ if (se.strict_root)
190
+ r = r || t.getRoot();
191
+
192
+ // Wrap node name as func
193
+ if (is(f, 'string')) {
194
+ na = f;
195
+
196
+ if (f === '*') {
197
+ f = function(n) {return n.nodeType == 1;};
198
+ } else {
199
+ f = function(n) {
200
+ return t.is(n, na);
201
+ };
202
+ }
203
+ }
204
+
205
+ while (n) {
206
+ if (n == r || !n.nodeType || n.nodeType === 9)
207
+ break;
208
+
209
+ if (!f || f(n)) {
210
+ if (c)
211
+ o.push(n);
212
+ else
213
+ return n;
214
+ }
215
+
216
+ n = n.parentNode;
217
+ }
218
+
219
+ return c ? o : null;
220
+ },
221
+
222
+ /**
223
+ * Returns the specified element by ID or the input element if it isn't a string.
224
+ *
225
+ * @param {String/Element} n Element id to look for or element to just pass though.
226
+ * @return {Element} Element matching the specified id or null if it wasn't found.
227
+ */
228
+ get : function(e) {
229
+ var n;
230
+
231
+ if (e && this.doc && typeof(e) == 'string') {
232
+ n = e;
233
+ e = this.doc.getElementById(e);
234
+
235
+ // IE and Opera returns meta elements when they match the specified input ID, but getElementsByName seems to do the trick
236
+ if (e && e.id !== n)
237
+ return this.doc.getElementsByName(n)[1];
238
+ }
239
+
240
+ return e;
241
+ },
242
+
243
+ // #ifndef jquery
244
+
245
+ /**
246
+ * Selects specific elements by a CSS level 3 pattern. For example "div#a1 p.test".
247
+ * This function is optimized for the most common patterns needed in TinyMCE but it also performes good enough
248
+ * on more complex patterns.
249
+ *
250
+ * @param {String} p CSS level 1 pattern to select/find elements by.
251
+ * @param {Object} s Optional root element/scope element to search in.
252
+ * @return {Array} Array with all matched elements.
253
+ */
254
+ select : function(pa, s) {
255
+ var t = this;
256
+
257
+ return tinymce.dom.Sizzle(pa, t.get(s) || t.get(t.settings.root_element) || t.doc, []);
258
+ },
259
+
260
+ /**
261
+ * Returns true/false if the specified element matches the specified css pattern.
262
+ *
263
+ * @param {Node/NodeList} n DOM node to match or an array of nodes to match.
264
+ * @param {String} patt CSS pattern to match the element agains.
265
+ */
266
+ is : function(n, patt) {
267
+ return tinymce.dom.Sizzle.matches(patt, n.nodeType ? [n] : n).length > 0;
268
+ },
269
+
270
+ // #endif
271
+
272
+ /**
273
+ * Adds the specified element to another element or elements.
274
+ *
275
+ * @param {String/Element/Array} Element id string, DOM node element or array of id's or elements to add to.
276
+ * @param {String/Element} n Name of new element to add or existing element to add.
277
+ * @param {Object} a Optional object collection with arguments to add to the new element(s).
278
+ * @param {String} h Optional inner HTML contents to add for each element.
279
+ * @param {bool} c Optional internal state to indicate if it should create or add.
280
+ * @return {Element/Array} Element that got created or array with elements if multiple elements where passed.
281
+ */
282
+ add : function(p, n, a, h, c) {
283
+ var t = this;
284
+
285
+ return this.run(p, function(p) {
286
+ var e, k;
287
+
288
+ e = is(n, 'string') ? t.doc.createElement(n) : n;
289
+ t.setAttribs(e, a);
290
+
291
+ if (h) {
292
+ if (h.nodeType)
293
+ e.appendChild(h);
294
+ else
295
+ t.setHTML(e, h);
296
+ }
297
+
298
+ return !c ? p.appendChild(e) : e;
299
+ });
300
+ },
301
+
302
+ /**
303
+ * Creates a new element.
304
+ *
305
+ * @param {String} n Name of new element.
306
+ * @param {Object} a Optional object name/value collection with element attributes.
307
+ * @param {String} h Optional HTML string to set as inner HTML of the element.
308
+ * @return {Element} HTML DOM node element that got created.
309
+ */
310
+ create : function(n, a, h) {
311
+ return this.add(this.doc.createElement(n), n, a, h, 1);
312
+ },
313
+
314
+ /**
315
+ * Create HTML string for element. The elemtn will be closed unless an empty inner HTML string is passed.
316
+ *
317
+ * @param {String} n Name of new element.
318
+ * @param {Object} a Optional object name/value collection with element attributes.
319
+ * @param {String} h Optional HTML string to set as inner HTML of the element.
320
+ * @return {String} String with new HTML element like for example: <a href="#">test</a>.
321
+ */
322
+ createHTML : function(n, a, h) {
323
+ var o = '', t = this, k;
324
+
325
+ o += '<' + n;
326
+
327
+ for (k in a) {
328
+ if (a.hasOwnProperty(k))
329
+ o += ' ' + k + '="' + t.encode(a[k]) + '"';
330
+ }
331
+
332
+ if (tinymce.is(h))
333
+ return o + '>' + h + '</' + n + '>';
334
+
335
+ return o + ' />';
336
+ },
337
+
338
+ /**
339
+ * Removes/deletes the specified element(s) from the DOM.
340
+ *
341
+ * @param {String/Element/Array} n ID of element or DOM element object or array containing multiple elements/ids.
342
+ * @param {bool} k Optional state to keep children or not. If set to true all children will be placed at the location of the removed element.
343
+ * @return {Element/Array} HTML DOM element that got removed or array of elements depending on input.
344
+ */
345
+ remove : function(n, k) {
346
+ var t = this;
347
+
348
+ return this.run(n, function(n) {
349
+ var p, g, i;
350
+
351
+ p = n.parentNode;
352
+
353
+ if (!p)
354
+ return null;
355
+
356
+ if (k) {
357
+ for (i = n.childNodes.length - 1; i >= 0; i--)
358
+ t.insertAfter(n.childNodes[i], n);
359
+
360
+ //each(n.childNodes, function(c) {
361
+ // p.insertBefore(c.cloneNode(true), n);
362
+ //});
363
+ }
364
+
365
+ // Fix IE psuedo leak
366
+ if (t.fixPsuedoLeaks) {
367
+ p = n.cloneNode(true);
368
+ k = 'IELeakGarbageBin';
369
+ g = t.get(k) || t.add(t.doc.body, 'div', {id : k, style : 'display:none'});
370
+ g.appendChild(n);
371
+ g.innerHTML = '';
372
+
373
+ return p;
374
+ }
375
+
376
+ return p.removeChild(n);
377
+ });
378
+ },
379
+
380
+ /**
381
+ * Sets the CSS style value on a HTML element. The name can be a camelcase string
382
+ * or the CSS style name like background-color.
383
+ *
384
+ * @param {String/Element/Array} n HTML element/Element ID or Array of elements/ids to set CSS style value on.
385
+ * @param {String} na Name of the style value to set.
386
+ * @param {String} v Value to set on the style.
387
+ */
388
+ setStyle : function(n, na, v) {
389
+ var t = this;
390
+
391
+ return t.run(n, function(e) {
392
+ var s, i;
393
+
394
+ s = e.style;
395
+
396
+ // Camelcase it, if needed
397
+ na = na.replace(/-(\D)/g, function(a, b){
398
+ return b.toUpperCase();
399
+ });
400
+
401
+ // Default px suffix on these
402
+ if (t.pixelStyles.test(na) && (tinymce.is(v, 'number') || /^[\-0-9\.]+$/.test(v)))
403
+ v += 'px';
404
+
405
+ switch (na) {
406
+ case 'opacity':
407
+ // IE specific opacity
408
+ if (isIE) {
409
+ s.filter = v === '' ? '' : "alpha(opacity=" + (v * 100) + ")";
410
+
411
+ if (!n.currentStyle || !n.currentStyle.hasLayout)
412
+ s.display = 'inline-block';
413
+ }
414
+
415
+ // Fix for older browsers
416
+ s[na] = s['-moz-opacity'] = s['-khtml-opacity'] = v || '';
417
+ break;
418
+
419
+ case 'float':
420
+ isIE ? s.styleFloat = v : s.cssFloat = v;
421
+ break;
422
+
423
+ default:
424
+ s[na] = v || '';
425
+ }
426
+
427
+ // Force update of the style data
428
+ if (t.settings.update_styles)
429
+ t.setAttrib(e, 'mce_style');
430
+ });
431
+ },
432
+
433
+ /**
434
+ * Returns the current style or runtime/computed value of a element.
435
+ *
436
+ * @param {String/Element} n HTML element or element id string to get style from.
437
+ * @param {String} na Style name to return.
438
+ * @param {String} c Computed style.
439
+ * @return {String} Current style or computed style value of a element.
440
+ */
441
+ getStyle : function(n, na, c) {
442
+ n = this.get(n);
443
+
444
+ if (!n)
445
+ return false;
446
+
447
+ // Gecko
448
+ if (this.doc.defaultView && c) {
449
+ // Remove camelcase
450
+ na = na.replace(/[A-Z]/g, function(a){
451
+ return '-' + a;
452
+ });
453
+
454
+ try {
455
+ return this.doc.defaultView.getComputedStyle(n, null).getPropertyValue(na);
456
+ } catch (ex) {
457
+ // Old safari might fail
458
+ return null;
459
+ }
460
+ }
461
+
462
+ // Camelcase it, if needed
463
+ na = na.replace(/-(\D)/g, function(a, b){
464
+ return b.toUpperCase();
465
+ });
466
+
467
+ if (na == 'float')
468
+ na = isIE ? 'styleFloat' : 'cssFloat';
469
+
470
+ // IE & Opera
471
+ if (n.currentStyle && c)
472
+ return n.currentStyle[na];
473
+
474
+ return n.style[na];
475
+ },
476
+
477
+ /**
478
+ * Sets multiple styles on the specified element(s).
479
+ *
480
+ * @param {Element/String/Array} e DOM element, element id string or array of elements/ids to set styles on.
481
+ * @param {Object} o Name/Value collection of style items to add to the element(s).
482
+ */
483
+ setStyles : function(e, o) {
484
+ var t = this, s = t.settings, ol;
485
+
486
+ ol = s.update_styles;
487
+ s.update_styles = 0;
488
+
489
+ each(o, function(v, n) {
490
+ t.setStyle(e, n, v);
491
+ });
492
+
493
+ // Update style info
494
+ s.update_styles = ol;
495
+ if (s.update_styles)
496
+ t.setAttrib(e, s.cssText);
497
+ },
498
+
499
+ /**
500
+ * Sets the specified attributes value of a element or elements.
501
+ *
502
+ * @param {Element/String/Array} e DOM element, element id string or array of elements/ids to set attribute on.
503
+ * @param {String} n Name of attribute to set.
504
+ * @param {String} v Value to set on the attribute of this value is falsy like null 0 or '' it will remove the attribute instead.
505
+ */
506
+ setAttrib : function(e, n, v) {
507
+ var t = this;
508
+
509
+ // Whats the point
510
+ if (!e || !n)
511
+ return;
512
+
513
+ // Strict XML mode
514
+ if (t.settings.strict)
515
+ n = n.toLowerCase();
516
+
517
+ return this.run(e, function(e) {
518
+ var s = t.settings;
519
+
520
+ switch (n) {
521
+ case "style":
522
+ if (!is(v, 'string')) {
523
+ each(v, function(v, n) {
524
+ t.setStyle(e, n, v);
525
+ });
526
+
527
+ return;
528
+ }
529
+
530
+ // No mce_style for elements with these since they might get resized by the user
531
+ if (s.keep_values) {
532
+ if (v && !t._isRes(v))
533
+ e.setAttribute('mce_style', v, 2);
534
+ else
535
+ e.removeAttribute('mce_style', 2);
536
+ }
537
+
538
+ e.style.cssText = v;
539
+ break;
540
+
541
+ case "class":
542
+ e.className = v || ''; // Fix IE null bug
543
+ break;
544
+
545
+ case "src":
546
+ case "href":
547
+ if (s.keep_values) {
548
+ if (s.url_converter)
549
+ v = s.url_converter.call(s.url_converter_scope || t, v, n, e);
550
+
551
+ t.setAttrib(e, 'mce_' + n, v, 2);
552
+ }
553
+
554
+ break;
555
+
556
+ case "shape":
557
+ e.setAttribute('mce_style', v);
558
+ break;
559
+ }
560
+
561
+ if (is(v) && v !== null && v.length !== 0)
562
+ e.setAttribute(n, '' + v, 2);
563
+ else
564
+ e.removeAttribute(n, 2);
565
+ });
566
+ },
567
+
568
+ /**
569
+ * Sets the specified attributes of a element or elements.
570
+ *
571
+ * @param {Element/String/Array} e DOM element, element id string or array of elements/ids to set attributes on.
572
+ * @param {Object} o Name/Value collection of attribute items to add to the element(s).
573
+ */
574
+ setAttribs : function(e, o) {
575
+ var t = this;
576
+
577
+ return this.run(e, function(e) {
578
+ each(o, function(v, n) {
579
+ t.setAttrib(e, n, v);
580
+ });
581
+ });
582
+ },
583
+
584
+ /**
585
+ * Returns the specified attribute by name.
586
+ *
587
+ * @param {String/Element} e Element string id or DOM element to get attribute from.
588
+ * @param {String} n Name of attribute to get.
589
+ * @param {String} dv Optional default value to return if the attribute didn't exist.
590
+ * @return {String} Attribute value string, default value or null if the attribute wasn't found.
591
+ */
592
+ getAttrib : function(e, n, dv) {
593
+ var v, t = this;
594
+
595
+ e = t.get(e);
596
+
597
+ if (!e || e.nodeType !== 1)
598
+ return false;
599
+
600
+ if (!is(dv))
601
+ dv = '';
602
+
603
+ // Try the mce variant for these
604
+ if (/^(src|href|style|coords|shape)$/.test(n)) {
605
+ v = e.getAttribute("mce_" + n);
606
+
607
+ if (v)
608
+ return v;
609
+ }
610
+
611
+ if (isIE && t.props[n]) {
612
+ v = e[t.props[n]];
613
+ v = v && v.nodeValue ? v.nodeValue : v;
614
+ }
615
+
616
+ if (!v)
617
+ v = e.getAttribute(n, 2);
618
+
619
+ if (n === 'style') {
620
+ v = v || e.style.cssText;
621
+
622
+ if (v) {
623
+ v = t.serializeStyle(t.parseStyle(v));
624
+
625
+ if (t.settings.keep_values && !t._isRes(v))
626
+ e.setAttribute('mce_style', v);
627
+ }
628
+ }
629
+
630
+ // Remove Apple and WebKit stuff
631
+ if (isWebKit && n === "class" && v)
632
+ v = v.replace(/(apple|webkit)\-[a-z\-]+/gi, '');
633
+
634
+ // Handle IE issues
635
+ if (isIE) {
636
+ switch (n) {
637
+ case 'rowspan':
638
+ case 'colspan':
639
+ // IE returns 1 as default value
640
+ if (v === 1)
641
+ v = '';
642
+
643
+ break;
644
+
645
+ case 'size':
646
+ // IE returns +0 as default value for size
647
+ if (v === '+0' || v === 20 || v === 0)
648
+ v = '';
649
+
650
+ break;
651
+
652
+ case 'width':
653
+ case 'height':
654
+ case 'vspace':
655
+ case 'checked':
656
+ case 'disabled':
657
+ case 'readonly':
658
+ if (v === 0)
659
+ v = '';
660
+
661
+ break;
662
+
663
+ case 'hspace':
664
+ // IE returns -1 as default value
665
+ if (v === -1)
666
+ v = '';
667
+
668
+ break;
669
+
670
+ case 'maxlength':
671
+ case 'tabindex':
672
+ // IE returns default value
673
+ if (v === 32768 || v === 2147483647 || v === '32768')
674
+ v = '';
675
+
676
+ break;
677
+
678
+ case 'multiple':
679
+ case 'compact':
680
+ case 'noshade':
681
+ case 'nowrap':
682
+ if (v === 65535)
683
+ return n;
684
+
685
+ return dv;
686
+
687
+ case 'shape':
688
+ v = v.toLowerCase();
689
+ break;
690
+
691
+ default:
692
+ // IE has odd anonymous function for event attributes
693
+ if (n.indexOf('on') === 0 && v)
694
+ v = ('' + v).replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/, '$1');
695
+ }
696
+ }
697
+
698
+ return (v !== undefined && v !== null && v !== '') ? '' + v : dv;
699
+ },
700
+
701
+ /**
702
+ * Returns the absolute x, y position of a node. The position will be returned in a object with x, y fields.
703
+ *
704
+ * @param {Element/String} n HTML element or element id to get x, y position from.
705
+ * @param {Element} ro Optional root element to stop calculations at.
706
+ * @return {object} Absolute position of the specified element object with x, y fields.
707
+ */
708
+ getPos : function(n, ro) {
709
+ var t = this, x = 0, y = 0, e, d = t.doc, r;
710
+
711
+ n = t.get(n);
712
+ ro = ro || d.body;
713
+
714
+ if (n) {
715
+ // Use getBoundingClientRect on IE, Opera has it but it's not perfect
716
+ if (isIE && !t.stdMode) {
717
+ n = n.getBoundingClientRect();
718
+ e = t.boxModel ? d.documentElement : d.body;
719
+ x = t.getStyle(t.select('html')[0], 'borderWidth'); // Remove border
720
+ x = (x == 'medium' || t.boxModel && !t.isIE6) && 2 || x;
721
+ n.top += t.win.self != t.win.top ? 2 : 0; // IE adds some strange extra cord if used in a frameset
722
+
723
+ return {x : n.left + e.scrollLeft - x, y : n.top + e.scrollTop - x};
724
+ }
725
+
726
+ r = n;
727
+ while (r && r != ro && r.nodeType) {
728
+ x += r.offsetLeft || 0;
729
+ y += r.offsetTop || 0;
730
+ r = r.offsetParent;
731
+ }
732
+
733
+ r = n.parentNode;
734
+ while (r && r != ro && r.nodeType) {
735
+ x -= r.scrollLeft || 0;
736
+ y -= r.scrollTop || 0;
737
+ r = r.parentNode;
738
+ }
739
+ }
740
+
741
+ return {x : x, y : y};
742
+ },
743
+
744
+ /**
745
+ * Parses the specified style value into an object collection. This parser will also
746
+ * merge and remove any redundant items that browsers might have added. It will also convert non hex
747
+ * colors to hex values. Urls inside the styles will also be converted to absolute/relative based on settings.
748
+ *
749
+ * @param {String} st Style value to parse for example: border:1px solid red;.
750
+ * @return {Object} Object representation of that style like {border : '1px solid red'}
751
+ */
752
+ parseStyle : function(st) {
753
+ var t = this, s = t.settings, o = {};
754
+
755
+ if (!st)
756
+ return o;
757
+
758
+ function compress(p, s, ot) {
759
+ var t, r, b, l;
760
+
761
+ // Get values and check it it needs compressing
762
+ t = o[p + '-top' + s];
763
+ if (!t)
764
+ return;
765
+
766
+ r = o[p + '-right' + s];
767
+ if (t != r)
768
+ return;
769
+
770
+ b = o[p + '-bottom' + s];
771
+ if (r != b)
772
+ return;
773
+
774
+ l = o[p + '-left' + s];
775
+ if (b != l)
776
+ return;
777
+
778
+ // Compress
779
+ o[ot] = l;
780
+ delete o[p + '-top' + s];
781
+ delete o[p + '-right' + s];
782
+ delete o[p + '-bottom' + s];
783
+ delete o[p + '-left' + s];
784
+ };
785
+
786
+ function compress2(ta, a, b, c) {
787
+ var t;
788
+
789
+ t = o[a];
790
+ if (!t)
791
+ return;
792
+
793
+ t = o[b];
794
+ if (!t)
795
+ return;
796
+
797
+ t = o[c];
798
+ if (!t)
799
+ return;
800
+
801
+ // Compress
802
+ o[ta] = o[a] + ' ' + o[b] + ' ' + o[c];
803
+ delete o[a];
804
+ delete o[b];
805
+ delete o[c];
806
+ };
807
+
808
+ st = st.replace(/&(#?[a-z0-9]+);/g, '&$1_MCE_SEMI_'); // Protect entities
809
+
810
+ each(st.split(';'), function(v) {
811
+ var sv, ur = [];
812
+
813
+ if (v) {
814
+ v = v.replace(/_MCE_SEMI_/g, ';'); // Restore entities
815
+ v = v.replace(/url\([^\)]+\)/g, function(v) {ur.push(v);return 'url(' + ur.length + ')';});
816
+ v = v.split(':');
817
+ sv = tinymce.trim(v[1]);
818
+ sv = sv.replace(/url\(([^\)]+)\)/g, function(a, b) {return ur[parseInt(b) - 1];});
819
+
820
+ sv = sv.replace(/rgb\([^\)]+\)/g, function(v) {
821
+ return t.toHex(v);
822
+ });
823
+
824
+ if (s.url_converter) {
825
+ sv = sv.replace(/url\([\'\"]?([^\)\'\"]+)[\'\"]?\)/g, function(x, c) {
826
+ return 'url(' + s.url_converter.call(s.url_converter_scope || t, t.decode(c), 'style', null) + ')';
827
+ });
828
+ }
829
+
830
+ o[tinymce.trim(v[0]).toLowerCase()] = sv;
831
+ }
832
+ });
833
+
834
+ compress("border", "", "border");
835
+ compress("border", "-width", "border-width");
836
+ compress("border", "-color", "border-color");
837
+ compress("border", "-style", "border-style");
838
+ compress("padding", "", "padding");
839
+ compress("margin", "", "margin");
840
+ compress2('border', 'border-width', 'border-style', 'border-color');
841
+
842
+ if (isIE) {
843
+ // Remove pointless border
844
+ if (o.border == 'medium none')
845
+ o.border = '';
846
+ }
847
+
848
+ return o;
849
+ },
850
+
851
+ /**
852
+ * Serializes the specified style object into a string.
853
+ *
854
+ * @param {Object} o Object to serialize as string for example: {border : '1px solid red'}
855
+ * @return {String} String representation of the style object for example: border: 1px solid red.
856
+ */
857
+ serializeStyle : function(o) {
858
+ var s = '';
859
+
860
+ each(o, function(v, k) {
861
+ if (k && v) {
862
+ if (tinymce.isGecko && k.indexOf('-moz-') === 0)
863
+ return;
864
+
865
+ switch (k) {
866
+ case 'color':
867
+ case 'background-color':
868
+ v = v.toLowerCase();
869
+ break;
870
+ }
871
+
872
+ s += (s ? ' ' : '') + k + ': ' + v + ';';
873
+ }
874
+ });
875
+
876
+ return s;
877
+ },
878
+
879
+ /**
880
+ * Imports/loads the specified CSS file into the document bound to the class.
881
+ *
882
+ * @param {String} u URL to CSS file to load.
883
+ */
884
+ loadCSS : function(u) {
885
+ var t = this, d = t.doc, head;
886
+
887
+ if (!u)
888
+ u = '';
889
+
890
+ head = t.select('head')[0];
891
+
892
+ each(u.split(','), function(u) {
893
+ var link;
894
+
895
+ if (t.files[u])
896
+ return;
897
+
898
+ t.files[u] = true;
899
+ link = t.create('link', {rel : 'stylesheet', href : tinymce._addVer(u)});
900
+
901
+ // IE 8 has a bug where dynamically loading stylesheets would produce a 1 item remaining bug
902
+ // This fix seems to resolve that issue by realcing the document ones a stylesheet finishes loading
903
+ // It's ugly but it seems to work fine.
904
+ if (isIE && d.documentMode) {
905
+ link.onload = function() {
906
+ d.recalc();
907
+ link.onload = null;
908
+ };
909
+ }
910
+
911
+ head.appendChild(link);
912
+ });
913
+ },
914
+
915
+ /**
916
+ * Adds a class to the specified element or elements.
917
+ *
918
+ * @param {String/Element/Array} Element ID string or DOM element or array with elements or IDs.
919
+ * @param {String} c Class name to add to each element.
920
+ * @return {String/Array} String with new class value or array with new class values for all elements.
921
+ */
922
+ addClass : function(e, c) {
923
+ return this.run(e, function(e) {
924
+ var o;
925
+
926
+ if (!c)
927
+ return 0;
928
+
929
+ if (this.hasClass(e, c))
930
+ return e.className;
931
+
932
+ o = this.removeClass(e, c);
933
+
934
+ return e.className = (o != '' ? (o + ' ') : '') + c;
935
+ });
936
+ },
937
+
938
+ /**
939
+ * Removes a class from the specified element or elements.
940
+ *
941
+ * @param {String/Element/Array} Element ID string or DOM element or array with elements or IDs.
942
+ * @param {String} c Class name to remove to each element.
943
+ * @return {String/Array} String with new class value or array with new class values for all elements.
944
+ */
945
+ removeClass : function(e, c) {
946
+ var t = this, re;
947
+
948
+ return t.run(e, function(e) {
949
+ var v;
950
+
951
+ if (t.hasClass(e, c)) {
952
+ if (!re)
953
+ re = new RegExp("(^|\\s+)" + c + "(\\s+|$)", "g");
954
+
955
+ v = e.className.replace(re, ' ');
956
+
957
+ return e.className = tinymce.trim(v != ' ' ? v : '');
958
+ }
959
+
960
+ return e.className;
961
+ });
962
+ },
963
+
964
+ /**
965
+ * Returns true if the specified element has the specified class.
966
+ *
967
+ * @param {String/Element} n HTML element or element id string to check CSS class on.
968
+ * @param {String] c CSS class to check for.
969
+ * @return {bool} true/false if the specified element has the specified class.
970
+ */
971
+ hasClass : function(n, c) {
972
+ n = this.get(n);
973
+
974
+ if (!n || !c)
975
+ return false;
976
+
977
+ return (' ' + n.className + ' ').indexOf(' ' + c + ' ') !== -1;
978
+ },
979
+
980
+ /**
981
+ * Shows the specified element(s) by ID by setting the "display" style.
982
+ *
983
+ * @param {String/Element/Array} e ID of DOM element or DOM element or array with elements or IDs to show.
984
+ */
985
+ show : function(e) {
986
+ return this.setStyle(e, 'display', 'block');
987
+ },
988
+
989
+ /**
990
+ * Hides the specified element(s) by ID by setting the "display" style.
991
+ *
992
+ * @param {String/Element/Array} e ID of DOM element or DOM element or array with elements or IDs to hide.
993
+ */
994
+ hide : function(e) {
995
+ return this.setStyle(e, 'display', 'none');
996
+ },
997
+
998
+ /**
999
+ * Returns true/false if the element is hidden or not by checking the "display" style.
1000
+ *
1001
+ * @param {String/Element} e Id or element to check display state on.
1002
+ * @return {bool} true/false if the element is hidden or not.
1003
+ */
1004
+ isHidden : function(e) {
1005
+ e = this.get(e);
1006
+
1007
+ return !e || e.style.display == 'none' || this.getStyle(e, 'display') == 'none';
1008
+ },
1009
+
1010
+ /**
1011
+ * Returns a unique id. This can be useful when generating elements on the fly.
1012
+ * This method will not check if the element allready exists.
1013
+ *
1014
+ * @param {String} p Optional prefix to add infront of all ids defaults to "mce_".
1015
+ * @return {String} Unique id.
1016
+ */
1017
+ uniqueId : function(p) {
1018
+ return (!p ? 'mce_' : p) + (this.counter++);
1019
+ },
1020
+
1021
+ /**
1022
+ * Sets the specified HTML content inside the element or elements. The HTML will first be processed this means
1023
+ * URLs will get converted, hex color values fixed etc. Check processHTML for details.
1024
+ *
1025
+ * @param {Element/String/Array} e DOM element, element id string or array of elements/ids to set HTML inside.
1026
+ * @param {String} h HTML content to set as inner HTML of the element.
1027
+ */
1028
+ setHTML : function(e, h) {
1029
+ var t = this;
1030
+
1031
+ return this.run(e, function(e) {
1032
+ var x, i, nl, n, p, x;
1033
+
1034
+ h = t.processHTML(h);
1035
+
1036
+ if (isIE) {
1037
+ function set() {
1038
+ try {
1039
+ // IE will remove comments from the beginning
1040
+ // unless you padd the contents with something
1041
+ e.innerHTML = '<br />' + h;
1042
+ e.removeChild(e.firstChild);
1043
+ } catch (ex) {
1044
+ // IE sometimes produces an unknown runtime error on innerHTML if it's an block element within a block element for example a div inside a p
1045
+ // This seems to fix this problem
1046
+
1047
+ // Remove all child nodes
1048
+ while (e.firstChild)
1049
+ e.firstChild.removeNode();
1050
+
1051
+ // Create new div with HTML contents and a BR infront to keep comments
1052
+ x = t.create('div');
1053
+ x.innerHTML = '<br />' + h;
1054
+
1055
+ // Add all children from div to target
1056
+ each (x.childNodes, function(n, i) {
1057
+ // Skip br element
1058
+ if (i)
1059
+ e.appendChild(n);
1060
+ });
1061
+ }
1062
+ };
1063
+
1064
+ // IE has a serious bug when it comes to paragraphs it can produce an invalid
1065
+ // DOM tree if contents like this <p><ul><li>Item 1</li></ul></p> is inserted
1066
+ // It seems to be that IE doesn't like a root block element placed inside another root block element
1067
+ if (t.settings.fix_ie_paragraphs)
1068
+ h = h.replace(/<p><\/p>|<p([^>]+)><\/p>|<p[^\/+]\/>/gi, '<p$1 mce_keep="true">&nbsp;</p>');
1069
+
1070
+ set();
1071
+
1072
+ if (t.settings.fix_ie_paragraphs) {
1073
+ // Check for odd paragraphs this is a sign of a broken DOM
1074
+ nl = e.getElementsByTagName("p");
1075
+ for (i = nl.length - 1, x = 0; i >= 0; i--) {
1076
+ n = nl[i];
1077
+
1078
+ if (!n.hasChildNodes()) {
1079
+ if (!n.mce_keep) {
1080
+ x = 1; // Is broken
1081
+ break;
1082
+ }
1083
+
1084
+ n.removeAttribute('mce_keep');
1085
+ }
1086
+ }
1087
+ }
1088
+
1089
+ // Time to fix the madness IE left us
1090
+ if (x) {
1091
+ // So if we replace the p elements with divs and mark them and then replace them back to paragraphs
1092
+ // after we use innerHTML we can fix the DOM tree
1093
+ h = h.replace(/<p ([^>]+)>|<p>/g, '<div $1 mce_tmp="1">');
1094
+ h = h.replace(/<\/p>/g, '</div>');
1095
+
1096
+ // Set the new HTML with DIVs
1097
+ set();
1098
+
1099
+ // Replace all DIV elements with he mce_tmp attibute back to paragraphs
1100
+ // This is needed since IE has a annoying bug see above for details
1101
+ // This is a slow process but it has to be done. :(
1102
+ if (t.settings.fix_ie_paragraphs) {
1103
+ nl = e.getElementsByTagName("DIV");
1104
+ for (i = nl.length - 1; i >= 0; i--) {
1105
+ n = nl[i];
1106
+
1107
+ // Is it a temp div
1108
+ if (n.mce_tmp) {
1109
+ // Create new paragraph
1110
+ p = t.doc.createElement('p');
1111
+
1112
+ // Copy all attributes
1113
+ n.cloneNode(false).outerHTML.replace(/([a-z0-9\-_]+)=/gi, function(a, b) {
1114
+ var v;
1115
+
1116
+ if (b !== 'mce_tmp') {
1117
+ v = n.getAttribute(b);
1118
+
1119
+ if (!v && b === 'class')
1120
+ v = n.className;
1121
+
1122
+ p.setAttribute(b, v);
1123
+ }
1124
+ });
1125
+
1126
+ // Append all children to new paragraph
1127
+ for (x = 0; x<n.childNodes.length; x++)
1128
+ p.appendChild(n.childNodes[x].cloneNode(true));
1129
+
1130
+ // Replace div with new paragraph
1131
+ n.swapNode(p);
1132
+ }
1133
+ }
1134
+ }
1135
+ }
1136
+ } else
1137
+ e.innerHTML = h;
1138
+
1139
+ return h;
1140
+ });
1141
+ },
1142
+
1143
+ /**
1144
+ * Processes the HTML by replacing strong, em, del in gecko since it doesn't support them
1145
+ * properly in a RTE environment. It also converts any URLs in links and images and places
1146
+ * a converted value into a separate attribute with the mce prefix like mce_src or mce_href.
1147
+ *
1148
+ * @param {String} h HTML to process.
1149
+ * @return {String} Processed HTML code.
1150
+ */
1151
+ processHTML : function(h) {
1152
+ var t = this, s = t.settings;
1153
+
1154
+ if (!s.process_html)
1155
+ return h;
1156
+
1157
+ // Convert strong and em to b and i in FF since it can't handle them
1158
+ if (tinymce.isGecko) {
1159
+ h = h.replace(/<(\/?)strong>|<strong( [^>]+)>/gi, '<$1b$2>');
1160
+ h = h.replace(/<(\/?)em>|<em( [^>]+)>/gi, '<$1i$2>');
1161
+ } else if (isIE) {
1162
+ h = h.replace(/&apos;/g, '&#39;'); // IE can't handle apos
1163
+ h = h.replace(/\s+(disabled|checked|readonly|selected)\s*=\s*[\"\']?(false|0)[\"\']?/gi, ''); // IE doesn't handle default values correct
1164
+ }
1165
+
1166
+ // Fix some issues
1167
+ h = h.replace(/<a( )([^>]+)\/>|<a\/>/gi, '<a$1$2></a>'); // Force open
1168
+
1169
+ // Store away src and href in mce_src and mce_href since browsers mess them up
1170
+ if (s.keep_values) {
1171
+ // Wrap scripts and styles in comments for serialization purposes
1172
+ if (/<script|noscript|style/.test(h)) {
1173
+ function trim(s) {
1174
+ // Remove prefix and suffix code for element
1175
+ s = s.replace(/(<!--\[CDATA\[|\]\]-->)/g, '\n');
1176
+ s = s.replace(/^[\r\n]*|[\r\n]*$/g, '');
1177
+ s = s.replace(/^\s*(\/\/\s*<!--|\/\/\s*<!\[CDATA\[|<!--|<!\[CDATA\[)[\r\n]*/g, '');
1178
+ s = s.replace(/\s*(\/\/\s*\]\]>|\/\/\s*-->|\]\]>|-->|\]\]-->)\s*$/g, '');
1179
+
1180
+ return s;
1181
+ };
1182
+
1183
+ // Wrap the script contents in CDATA and keep them from executing
1184
+ h = h.replace(/<script([^>]+|)>([\s\S]*?)<\/script>/g, function(v, attribs, text) {
1185
+ // Force type attribute
1186
+ if (!attribs)
1187
+ attribs = ' type="text/javascript"';
1188
+
1189
+ // Prefix script type/language attribute values with mce- to prevent it from executing
1190
+ attribs = attribs.replace(/(type|language)=\"?/, '$&mce-');
1191
+ attribs = attribs.replace(/src=\"([^\"]+)\"?/, function(a, url) {
1192
+ if (s.url_converter)
1193
+ url = t.encode(s.url_converter.call(s.url_converter_scope || t, t.decode(url), 'src', 'script'));
1194
+
1195
+ return 'mce_src="' + url + '"';
1196
+ });
1197
+
1198
+ // Wrap text contents
1199
+ if (tinymce.trim(text))
1200
+ text = '<!--\n' + trim(text) + '\n// -->';
1201
+
1202
+ return '<mce:script' + attribs + '>' + text + '</mce:script>';
1203
+ });
1204
+
1205
+ // Wrap style elements
1206
+ h = h.replace(/<style([^>]+|)>([\s\S]*?)<\/style>/g, function(v, attribs, text) {
1207
+ // Wrap text contents
1208
+ if (text)
1209
+ text = '<!--\n' + trim(text) + '\n-->';
1210
+
1211
+ return '<mce:style' + attribs + '>' + text + '</mce:style><style ' + attribs + ' mce_bogus="1">' + text + '</style>';
1212
+ });
1213
+
1214
+ // Wrap noscript elements
1215
+ h = h.replace(/<noscript([^>]+|)>([\s\S]*?)<\/noscript>/g, function(v, attribs, text) {
1216
+ return '<mce:noscript' + attribs + '><!--' + t.encode(text).replace(/--/g, '&#45;&#45;') + '--></mce:noscript>';
1217
+ });
1218
+ }
1219
+
1220
+ h = h.replace(/<!\[CDATA\[([\s\S]+)\]\]>/g, '<!--[CDATA[$1]]-->');
1221
+
1222
+ // Process all tags with src, href or style
1223
+ h = h.replace(/<([\w:]+) [^>]*(src|href|style|shape|coords)[^>]*>/gi, function(a, n) {
1224
+ function handle(m, b, c) {
1225
+ var u = c;
1226
+
1227
+ // Tag already got a mce_ version
1228
+ if (a.indexOf('mce_' + b) != -1)
1229
+ return m;
1230
+
1231
+ if (b == 'style') {
1232
+ // No mce_style for elements with these since they might get resized by the user
1233
+ if (t._isRes(c))
1234
+ return m;
1235
+
1236
+ if (s.hex_colors) {
1237
+ u = u.replace(/rgb\([^\)]+\)/g, function(v) {
1238
+ return t.toHex(v);
1239
+ });
1240
+ }
1241
+
1242
+ if (s.url_converter) {
1243
+ u = u.replace(/url\([\'\"]?([^\)\'\"]+)\)/g, function(x, c) {
1244
+ return 'url(' + t.encode(s.url_converter.call(s.url_converter_scope || t, t.decode(c), b, n)) + ')';
1245
+ });
1246
+ }
1247
+ } else if (b != 'coords' && b != 'shape') {
1248
+ if (s.url_converter)
1249
+ u = t.encode(s.url_converter.call(s.url_converter_scope || t, t.decode(c), b, n));
1250
+ }
1251
+
1252
+ return ' ' + b + '="' + c + '" mce_' + b + '="' + u + '"';
1253
+ };
1254
+
1255
+ a = a.replace(/ (src|href|style|coords|shape)=[\"]([^\"]+)[\"]/gi, handle); // W3C
1256
+ a = a.replace(/ (src|href|style|coords|shape)=[\']([^\']+)[\']/gi, handle); // W3C
1257
+
1258
+ return a.replace(/ (src|href|style|coords|shape)=([^\s\"\'>]+)/gi, handle); // IE
1259
+ });
1260
+ }
1261
+
1262
+ return h;
1263
+ },
1264
+
1265
+ /**
1266
+ * Returns the outer HTML of an element.
1267
+ *
1268
+ * @param {String/Element} e Element ID or element object to get outer HTML from.
1269
+ * @return {String} Outer HTML string.
1270
+ */
1271
+ getOuterHTML : function(e) {
1272
+ var d;
1273
+
1274
+ e = this.get(e);
1275
+
1276
+ if (!e)
1277
+ return null;
1278
+
1279
+ if (e.outerHTML !== undefined)
1280
+ return e.outerHTML;
1281
+
1282
+ d = (e.ownerDocument || this.doc).createElement("body");
1283
+ d.appendChild(e.cloneNode(true));
1284
+
1285
+ return d.innerHTML;
1286
+ },
1287
+
1288
+ /**
1289
+ * Sets the specified outer HTML on a element or elements.
1290
+ *
1291
+ * @param {Element/String/Array} e DOM element, element id string or array of elements/ids to set outer HTML on.
1292
+ * @param {Object} h HTML code to set as outer value for the element.
1293
+ * @param {Document} d Optional document scope to use in this process defaults to the document of the DOM class.
1294
+ */
1295
+ setOuterHTML : function(e, h, d) {
1296
+ var t = this;
1297
+
1298
+ return this.run(e, function(e) {
1299
+ var n, tp;
1300
+
1301
+ e = t.get(e);
1302
+ d = d || e.ownerDocument || t.doc;
1303
+
1304
+ if (isIE && e.nodeType == 1)
1305
+ e.outerHTML = h;
1306
+ else {
1307
+ tp = d.createElement("body");
1308
+ tp.innerHTML = h;
1309
+
1310
+ n = tp.lastChild;
1311
+ while (n) {
1312
+ t.insertAfter(n.cloneNode(true), e);
1313
+ n = n.previousSibling;
1314
+ }
1315
+
1316
+ t.remove(e);
1317
+ }
1318
+ });
1319
+ },
1320
+
1321
+ /**
1322
+ * Entity decode a string, resolves any HTML entities like &aring;.
1323
+ *
1324
+ * @param {String} s String to decode entities on.
1325
+ * @return {String} Entity decoded string.
1326
+ */
1327
+ decode : function(s) {
1328
+ var e, n, v;
1329
+
1330
+ // Look for entities to decode
1331
+ if (/&[^;]+;/.test(s)) {
1332
+ // Decode the entities using a div element not super efficient but less code
1333
+ e = this.doc.createElement("div");
1334
+ e.innerHTML = s;
1335
+ n = e.firstChild;
1336
+ v = '';
1337
+
1338
+ if (n) {
1339
+ do {
1340
+ v += n.nodeValue;
1341
+ } while (n.nextSibling);
1342
+ }
1343
+
1344
+ return v || s;
1345
+ }
1346
+
1347
+ return s;
1348
+ },
1349
+
1350
+ /**
1351
+ * Entity encodes a string, encodes the most common entities <>"& into entities.
1352
+ *
1353
+ * @param {String} s String to encode with entities.
1354
+ * @return {String} Entity encoded string.
1355
+ */
1356
+ encode : function(s) {
1357
+ return s ? ('' + s).replace(/[<>&\"]/g, function (c, b) {
1358
+ switch (c) {
1359
+ case '&':
1360
+ return '&amp;';
1361
+
1362
+ case '"':
1363
+ return '&quot;';
1364
+
1365
+ case '<':
1366
+ return '&lt;';
1367
+
1368
+ case '>':
1369
+ return '&gt;';
1370
+ }
1371
+
1372
+ return c;
1373
+ }) : s;
1374
+ },
1375
+
1376
+ /**
1377
+ * Inserts a element after the reference element.
1378
+ *
1379
+ * @param {Element} Element to insert after the reference.
1380
+ * @param {Element/String/Array} r Reference element, element id or array of elements to insert after.
1381
+ * @return {Element/Array} Element that got added or an array with elements.
1382
+ */
1383
+ insertAfter : function(n, r) {
1384
+ var t = this;
1385
+
1386
+ r = t.get(r);
1387
+
1388
+ return this.run(n, function(n) {
1389
+ var p, ns;
1390
+
1391
+ p = r.parentNode;
1392
+ ns = r.nextSibling;
1393
+
1394
+ if (ns)
1395
+ p.insertBefore(n, ns);
1396
+ else
1397
+ p.appendChild(n);
1398
+
1399
+ return n;
1400
+ });
1401
+ },
1402
+
1403
+ /**
1404
+ * Returns true/false if the specified element is a block element or not.
1405
+ *
1406
+ * @param {Node} n Element/Node to check.
1407
+ * @return {bool} True/False state if the node is a block element or not.
1408
+ */
1409
+ isBlock : function(n) {
1410
+ if (n.nodeType && n.nodeType !== 1)
1411
+ return false;
1412
+
1413
+ n = n.nodeName || n;
1414
+
1415
+ return /^(H[1-6]|HR|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TR|TD|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP)$/.test(n);
1416
+ },
1417
+
1418
+ /**
1419
+ * Replaces the specified element or elements with the specified element, the new element will
1420
+ * be cloned if multiple inputs elements are passed.
1421
+ *
1422
+ * @param {Element} n New element to replace old ones with.
1423
+ * @param {Element/String/Array} o Element DOM node, element id or array of elements or ids to replace.
1424
+ * @param {bool} k Optional keep children state, if set to true child nodes from the old object will be added to new ones.
1425
+ */
1426
+ replace : function(n, o, k) {
1427
+ var t = this;
1428
+
1429
+ if (is(o, 'array'))
1430
+ n = n.cloneNode(true);
1431
+
1432
+ return t.run(o, function(o) {
1433
+ if (k) {
1434
+ each(o.childNodes, function(c) {
1435
+ n.appendChild(c.cloneNode(true));
1436
+ });
1437
+ }
1438
+
1439
+ // Fix IE psuedo leak for elements since replacing elements if fairly common
1440
+ // Will break parentNode for some unknown reason
1441
+ if (t.fixPsuedoLeaks && o.nodeType === 1) {
1442
+ o.parentNode.insertBefore(n, o);
1443
+ t.remove(o);
1444
+ return n;
1445
+ }
1446
+
1447
+ return o.parentNode.replaceChild(n, o);
1448
+ });
1449
+ },
1450
+
1451
+ /**
1452
+ * Find the common ancestor of two elements. This is a shorter method than using the DOM Range logic.
1453
+ *
1454
+ * @param {Element} a Element to find common ancestor of.
1455
+ * @param {Element} b Element to find common ancestor of.
1456
+ * @return {Element} Common ancestor element of the two input elements.
1457
+ */
1458
+ findCommonAncestor : function(a, b) {
1459
+ var ps = a, pe;
1460
+
1461
+ while (ps) {
1462
+ pe = b;
1463
+
1464
+ while (pe && ps != pe)
1465
+ pe = pe.parentNode;
1466
+
1467
+ if (ps == pe)
1468
+ break;
1469
+
1470
+ ps = ps.parentNode;
1471
+ }
1472
+
1473
+ if (!ps && a.ownerDocument)
1474
+ return a.ownerDocument.documentElement;
1475
+
1476
+ return ps;
1477
+ },
1478
+
1479
+ /**
1480
+ * Parses the specified RGB color value and returns a hex version of that color.
1481
+ *
1482
+ * @param {String} s RGB string value like rgb(1,2,3)
1483
+ * @return {String} Hex version of that RGB value like #FF00FF.
1484
+ */
1485
+ toHex : function(s) {
1486
+ var c = /^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(s);
1487
+
1488
+ function hex(s) {
1489
+ s = parseInt(s).toString(16);
1490
+
1491
+ return s.length > 1 ? s : '0' + s; // 0 -> 00
1492
+ };
1493
+
1494
+ if (c) {
1495
+ s = '#' + hex(c[1]) + hex(c[2]) + hex(c[3]);
1496
+
1497
+ return s;
1498
+ }
1499
+
1500
+ return s;
1501
+ },
1502
+
1503
+ /**
1504
+ * Returns a array of all single CSS classes in the document. A single CSS class is a simple
1505
+ * rule like ".class" complex ones like "div td.class" will not be added to output.
1506
+ *
1507
+ * @return {Array} Array with class objects each object has a class field might be other fields in the future.
1508
+ */
1509
+ getClasses : function() {
1510
+ var t = this, cl = [], i, lo = {}, f = t.settings.class_filter, ov;
1511
+
1512
+ if (t.classes)
1513
+ return t.classes;
1514
+
1515
+ function addClasses(s) {
1516
+ // IE style imports
1517
+ each(s.imports, function(r) {
1518
+ addClasses(r);
1519
+ });
1520
+
1521
+ each(s.cssRules || s.rules, function(r) {
1522
+ // Real type or fake it on IE
1523
+ switch (r.type || 1) {
1524
+ // Rule
1525
+ case 1:
1526
+ if (r.selectorText) {
1527
+ each(r.selectorText.split(','), function(v) {
1528
+ v = v.replace(/^\s*|\s*$|^\s\./g, "");
1529
+
1530
+ // Is internal or it doesn't contain a class
1531
+ if (/\.mce/.test(v) || !/\.[\w\-]+$/.test(v))
1532
+ return;
1533
+
1534
+ // Remove everything but class name
1535
+ ov = v;
1536
+ v = v.replace(/.*\.([a-z0-9_\-]+).*/i, '$1');
1537
+
1538
+ // Filter classes
1539
+ if (f && !(v = f(v, ov)))
1540
+ return;
1541
+
1542
+ if (!lo[v]) {
1543
+ cl.push({'class' : v});
1544
+ lo[v] = 1;
1545
+ }
1546
+ });
1547
+ }
1548
+ break;
1549
+
1550
+ // Import
1551
+ case 3:
1552
+ addClasses(r.styleSheet);
1553
+ break;
1554
+ }
1555
+ });
1556
+ };
1557
+
1558
+ try {
1559
+ each(t.doc.styleSheets, addClasses);
1560
+ } catch (ex) {
1561
+ // Ignore
1562
+ }
1563
+
1564
+ if (cl.length > 0)
1565
+ t.classes = cl;
1566
+
1567
+ return cl;
1568
+ },
1569
+
1570
+ /**
1571
+ * Executes the specified function on the element by id or dom element node or array of elements/id.
1572
+ *
1573
+ * @param {String/Element/Array} Element ID or DOM element object or array with ids or elements.
1574
+ * @param {function} f Function to execute for each item.
1575
+ * @param {Object} s Optional scope to execute the function in.
1576
+ * @return {Object/Array} Single object or array with objects depending on multiple input or not.
1577
+ */
1578
+ run : function(e, f, s) {
1579
+ var t = this, o;
1580
+
1581
+ if (t.doc && typeof(e) === 'string')
1582
+ e = t.get(e);
1583
+
1584
+ if (!e)
1585
+ return false;
1586
+
1587
+ s = s || this;
1588
+ if (!e.nodeType && (e.length || e.length === 0)) {
1589
+ o = [];
1590
+
1591
+ each(e, function(e, i) {
1592
+ if (e) {
1593
+ if (typeof(e) == 'string')
1594
+ e = t.doc.getElementById(e);
1595
+
1596
+ o.push(f.call(s, e, i));
1597
+ }
1598
+ });
1599
+
1600
+ return o;
1601
+ }
1602
+
1603
+ return f.call(s, e);
1604
+ },
1605
+
1606
+ /**
1607
+ * Returns an NodeList with attributes for the element.
1608
+ *
1609
+ * @param {HTMLElement/string} n Element node or string id to get attributes from.
1610
+ * @return {NodeList} NodeList with attributes.
1611
+ */
1612
+ getAttribs : function(n) {
1613
+ var o;
1614
+
1615
+ n = this.get(n);
1616
+
1617
+ if (!n)
1618
+ return [];
1619
+
1620
+ if (isIE) {
1621
+ o = [];
1622
+
1623
+ // Object will throw exception in IE
1624
+ if (n.nodeName == 'OBJECT')
1625
+ return n.attributes;
1626
+
1627
+ // It's crazy that this is faster in IE but it's because it returns all attributes all the time
1628
+ n.cloneNode(false).outerHTML.replace(/([a-z0-9\:\-_]+)=/gi, function(a, b) {
1629
+ o.push({specified : 1, nodeName : b});
1630
+ });
1631
+
1632
+ return o;
1633
+ }
1634
+
1635
+ return n.attributes;
1636
+ },
1637
+
1638
+ /**
1639
+ * Destroys all internal references to the DOM to solve IE leak issues.
1640
+ */
1641
+ destroy : function(s) {
1642
+ var t = this;
1643
+
1644
+ if (t.events)
1645
+ t.events.destroy();
1646
+
1647
+ t.win = t.doc = t.root = t.events = null;
1648
+
1649
+ // Manual destroy then remove unload handler
1650
+ if (!s)
1651
+ tinymce.removeUnload(t.destroy);
1652
+ },
1653
+
1654
+ /**
1655
+ * Created a new DOM Range object. This will use the native DOM Range API if it's
1656
+ * available if it's not it will fallback to the custom TinyMCE implementation.
1657
+ *
1658
+ * @return {DOMRange} DOM Range object.
1659
+ */
1660
+ createRng : function() {
1661
+ var d = this.doc;
1662
+
1663
+ return d.createRange ? d.createRange() : new tinymce.dom.Range(this);
1664
+ },
1665
+
1666
+ /**
1667
+ * Splits an element into two new elements and places the specified split
1668
+ * element or element between the new ones. For example splitting the paragraph at the bold element in
1669
+ * this example <p>abc<b>abc</b>123</p> would produce <p>abc</p><b>abc</b><p>123</p>.
1670
+ *
1671
+ * @param {Element} pe Parent element to split.
1672
+ * @param {Element} e Element to split at.
1673
+ * @param {Element} re Optional replacement element to replace the split element by.
1674
+ * @return {Element} Returns the split element or the replacement element if that is specified.
1675
+ */
1676
+ split : function(pe, e, re) {
1677
+ var t = this, r = t.createRng(), bef, aft, pa;
1678
+
1679
+ // W3C valid browsers tend to leave empty nodes to the left/right side of the contents, this makes sence
1680
+ // but we don't want that in our code since it serves no purpose
1681
+ // For example if this is chopped:
1682
+ // <p>text 1<span><b>CHOP</b></span>text 2</p>
1683
+ // would produce:
1684
+ // <p>text 1<span></span></p><b>CHOP</b><p><span></span>text 2</p>
1685
+ // this function will then trim of empty edges and produce:
1686
+ // <p>text 1</p><b>CHOP</b><p>text 2</p>
1687
+ function trimEdge(n, na) {
1688
+ n = n[na];
1689
+
1690
+ if (n && n[na] && n[na].nodeType == 1 && isEmpty(n[na]))
1691
+ t.remove(n[na]);
1692
+ };
1693
+
1694
+ function isEmpty(n) {
1695
+ n = t.getOuterHTML(n);
1696
+ n = n.replace(/<(img|hr|table)/gi, '-'); // Keep these convert them to - chars
1697
+ n = n.replace(/<[^>]+>/g, ''); // Remove all tags
1698
+
1699
+ return n.replace(/[ \t\r\n]+|&nbsp;|&#160;/g, '') == '';
1700
+ };
1701
+
1702
+ if (pe && e) {
1703
+ // Get before chunk
1704
+ r.setStartBefore(pe);
1705
+ r.setEndBefore(e);
1706
+ bef = r.extractContents();
1707
+
1708
+ // Get after chunk
1709
+ r = t.createRng();
1710
+ r.setStartAfter(e);
1711
+ r.setEndAfter(pe);
1712
+ aft = r.extractContents();
1713
+
1714
+ // Insert chunks and remove parent
1715
+ pa = pe.parentNode;
1716
+
1717
+ // Remove right side edge of the before contents
1718
+ trimEdge(bef, 'lastChild');
1719
+
1720
+ if (!isEmpty(bef))
1721
+ pa.insertBefore(bef, pe);
1722
+
1723
+ if (re)
1724
+ pa.replaceChild(re, e);
1725
+ else
1726
+ pa.insertBefore(e, pe);
1727
+
1728
+ // Remove left site edge of the after contents
1729
+ trimEdge(aft, 'firstChild');
1730
+
1731
+ if (!isEmpty(aft))
1732
+ pa.insertBefore(aft, pe);
1733
+
1734
+ t.remove(pe);
1735
+
1736
+ return re || e;
1737
+ }
1738
+ },
1739
+
1740
+ /**
1741
+ * Adds an event handler to the specified object.
1742
+ *
1743
+ * @param {Element/Document/Window/Array/String} o Object or element id string to add event handler to or an array of elements/ids/documents.
1744
+ * @param {String} n Name of event handler to add for example: click.
1745
+ * @param {function} f Function to execute when the event occurs.
1746
+ * @param {Object} s Optional scope to execute the function in.
1747
+ * @return {function} Function callback handler the same as the one passed in.
1748
+ */
1749
+ bind : function(target, name, func, scope) {
1750
+ var t = this;
1751
+
1752
+ if (!t.events)
1753
+ t.events = new tinymce.dom.EventUtils();
1754
+
1755
+ return t.events.add(target, name, func, scope || this);
1756
+ },
1757
+
1758
+ /**
1759
+ * Removes the specified event handler by name and function from a element or collection of elements.
1760
+ *
1761
+ * @param {String/Element/Array} o Element ID string or HTML element or an array of elements or ids to remove handler from.
1762
+ * @param {String} n Event handler name like for example: "click"
1763
+ * @param {function} f Function to remove.
1764
+ * @return {bool/Array} Bool state if true if the handler was removed or an array with states if multiple elements where passed in.
1765
+ */
1766
+ unbind : function(target, name, func) {
1767
+ var t = this;
1768
+
1769
+ if (!t.events)
1770
+ t.events = new tinymce.dom.EventUtils();
1771
+
1772
+ return t.events.remove(target, name, func);
1773
+ },
1774
+
1775
+ // #ifdef debug
1776
+
1777
+ dumpRng : function(r) {
1778
+ return 'startContainer: ' + r.startContainer.nodeName + ', startOffset: ' + r.startOffset + ', endContainer: ' + r.endContainer.nodeName + ', endOffset: ' + r.endOffset;
1779
+ },
1780
+
1781
+ // #endif
1782
+
1783
+ _isRes : function(c) {
1784
+ // Is live resizble element
1785
+ return /^(top|left|bottom|right|width|height)/i.test(c) || /;\s*(top|left|bottom|right|width|height)/i.test(c);
1786
+ }
1787
+
1788
+ /*
1789
+ walk : function(n, f, s) {
1790
+ var d = this.doc, w;
1791
+
1792
+ if (d.createTreeWalker) {
1793
+ w = d.createTreeWalker(n, NodeFilter.SHOW_TEXT, null, false);
1794
+
1795
+ while ((n = w.nextNode()) != null)
1796
+ f.call(s || this, n);
1797
+ } else
1798
+ tinymce.walk(n, f, 'childNodes', s);
1799
+ }
1800
+ */
1801
+
1802
+ /*
1803
+ toRGB : function(s) {
1804
+ var c = /^\s*?#([0-9A-F]{2})([0-9A-F]{1,2})([0-9A-F]{2})?\s*?$/.exec(s);
1805
+
1806
+ if (c) {
1807
+ // #FFF -> #FFFFFF
1808
+ if (!is(c[3]))
1809
+ c[3] = c[2] = c[1];
1810
+
1811
+ return "rgb(" + parseInt(c[1], 16) + "," + parseInt(c[2], 16) + "," + parseInt(c[3], 16) + ")";
1812
+ }
1813
+
1814
+ return s;
1815
+ }
1816
+ */
1817
+
1818
+ /**#@-*/
1819
+ });
1820
+
1821
+ // Setup page DOM
1822
+ tinymce.DOM = new tinymce.dom.DOMUtils(document, {process_html : 0});
1823
+ })(tinymce);