alchemy_cms 2.1.12 → 2.2.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (405) hide show
  1. data/.travis.yml +1 -1
  2. data/Gemfile +20 -16
  3. data/README.md +11 -7
  4. data/alchemy_cms.gemspec +31 -29
  5. data/app/assets/javascripts/alchemy/alchemy.base.js +234 -233
  6. data/app/assets/javascripts/alchemy/alchemy.buttons.js +26 -26
  7. data/app/assets/javascripts/alchemy/alchemy.datepicker.js +32 -32
  8. data/app/assets/javascripts/alchemy/alchemy.dirty.js +78 -78
  9. data/app/assets/javascripts/alchemy/alchemy.dragndrop.js +103 -103
  10. data/app/assets/javascripts/alchemy/alchemy.element_editor_selector.js +84 -84
  11. data/app/assets/javascripts/alchemy/alchemy.elements_window.js +88 -88
  12. data/app/assets/javascripts/alchemy/alchemy.file_progress.js +92 -0
  13. data/app/assets/javascripts/alchemy/alchemy.growler.js +23 -23
  14. data/app/assets/javascripts/alchemy/alchemy.html5.js +23 -0
  15. data/app/assets/javascripts/alchemy/alchemy.image_cropper.js +53 -52
  16. data/app/assets/javascripts/alchemy/alchemy.jquery_loader.js +33 -30
  17. data/app/assets/javascripts/alchemy/alchemy.js +2 -0
  18. data/app/assets/javascripts/alchemy/alchemy.js_extensions.js +14 -14
  19. data/app/assets/javascripts/alchemy/alchemy.link_overlay.js.coffee +181 -0
  20. data/app/assets/javascripts/alchemy/alchemy.menubar.js +48 -48
  21. data/app/assets/javascripts/alchemy/alchemy.page_sorter.js +39 -39
  22. data/app/assets/javascripts/alchemy/alchemy.preview.js +81 -83
  23. data/app/assets/javascripts/alchemy/alchemy.preview_window.js +86 -86
  24. data/app/assets/javascripts/alchemy/alchemy.routes.js.erb +23 -23
  25. data/app/assets/javascripts/alchemy/alchemy.swf_upload.js +208 -353
  26. data/app/assets/javascripts/alchemy/alchemy.uploader.js +279 -0
  27. data/app/assets/javascripts/alchemy/alchemy.windows.js +268 -268
  28. data/app/assets/javascripts/tiny_mce/plugins/alchemy_link/editor_plugin.js +42 -42
  29. data/app/assets/stylesheets/alchemy/_defaults.scss +89 -89
  30. data/app/assets/stylesheets/alchemy/base.css.scss +790 -804
  31. data/app/assets/stylesheets/alchemy/buttons.css.scss +263 -264
  32. data/app/assets/stylesheets/alchemy/dashboard.css.scss +66 -66
  33. data/app/assets/stylesheets/alchemy/elements.css.scss +575 -564
  34. data/app/assets/stylesheets/alchemy/flash.css.scss +45 -45
  35. data/app/assets/stylesheets/alchemy/frame.css.scss +262 -262
  36. data/app/assets/stylesheets/alchemy/icons.css.scss +86 -86
  37. data/app/assets/stylesheets/alchemy/jquery-ui.alchemy.css.scss +706 -707
  38. data/app/assets/stylesheets/alchemy/jquery.Jcrop.css.scss +46 -27
  39. data/app/assets/stylesheets/alchemy/jquery.sb.css.scss +107 -107
  40. data/app/assets/stylesheets/alchemy/login.css.scss +40 -38
  41. data/app/assets/stylesheets/alchemy/menubar.css.scss +84 -82
  42. data/app/assets/stylesheets/alchemy/modules.css.scss +9 -9
  43. data/app/assets/stylesheets/alchemy/pagination.css.scss +49 -49
  44. data/app/assets/stylesheets/alchemy/print.css +7 -7
  45. data/app/assets/stylesheets/alchemy/sitemap.css.scss +185 -154
  46. data/app/assets/stylesheets/alchemy/standard_set.css +205 -206
  47. data/app/assets/stylesheets/alchemy/tables.css.scss +94 -60
  48. data/app/assets/stylesheets/alchemy/tinymce_content.css.scss +34 -34
  49. data/app/assets/stylesheets/alchemy/tinymce_dialog.css.scss +177 -177
  50. data/app/assets/stylesheets/alchemy/upload.css.scss +68 -45
  51. data/app/assets/stylesheets/tiny_mce/plugins/inlinepopups/skins/alchemy/window.css.scss +222 -221
  52. data/app/controllers/alchemy/admin/attachments_controller.rb +100 -100
  53. data/app/controllers/alchemy/admin/base_controller.rb +116 -116
  54. data/app/controllers/alchemy/admin/clipboard_controller.rb +44 -44
  55. data/app/controllers/alchemy/admin/contents_controller.rb +55 -55
  56. data/app/controllers/alchemy/admin/dashboard_controller.rb +12 -11
  57. data/app/controllers/alchemy/admin/elements_controller.rb +109 -109
  58. data/app/controllers/alchemy/admin/essence_audios_controller.rb +8 -8
  59. data/app/controllers/alchemy/admin/essence_files_controller.rb +20 -20
  60. data/app/controllers/alchemy/admin/essence_flashes_controller.rb +8 -8
  61. data/app/controllers/alchemy/admin/essence_pictures_controller.rb +81 -81
  62. data/app/controllers/alchemy/admin/essence_videos_controller.rb +8 -8
  63. data/app/controllers/alchemy/admin/languages_controller.rb +16 -4
  64. data/app/controllers/alchemy/admin/layoutpages_controller.rb +9 -9
  65. data/app/controllers/alchemy/admin/pages_controller.rb +249 -248
  66. data/app/controllers/alchemy/admin/pictures_controller.rb +105 -105
  67. data/app/controllers/alchemy/admin/resources_controller.rb +111 -166
  68. data/app/controllers/alchemy/admin/trash_controller.rb +18 -18
  69. data/app/controllers/alchemy/admin/users_controller.rb +69 -69
  70. data/app/controllers/alchemy/attachments_controller.rb +27 -27
  71. data/app/controllers/alchemy/base_controller.rb +159 -155
  72. data/app/controllers/alchemy/elements_controller.rb +16 -16
  73. data/app/controllers/alchemy/messages_controller.rb +59 -59
  74. data/app/controllers/alchemy/pages_controller.rb +194 -198
  75. data/app/controllers/alchemy/pictures_controller.rb +57 -57
  76. data/app/controllers/alchemy/user_sessions_controller.rb +70 -70
  77. data/app/helpers/alchemy/admin/attachments_helper.rb +7 -7
  78. data/app/helpers/alchemy/admin/base_helper.rb +425 -425
  79. data/app/helpers/alchemy/admin/contents_helper.rb +72 -72
  80. data/app/helpers/alchemy/admin/elements_helper.rb +108 -107
  81. data/app/helpers/alchemy/admin/essences_helper.rb +108 -108
  82. data/app/helpers/alchemy/admin/pages_helper.rb +42 -42
  83. data/app/helpers/alchemy/admin/pictures_helper.rb +26 -26
  84. data/app/helpers/alchemy/base_helper.rb +90 -90
  85. data/app/helpers/alchemy/elements_helper.rb +167 -168
  86. data/app/helpers/alchemy/essences_helper.rb +133 -133
  87. data/app/helpers/alchemy/pages_helper.rb +515 -526
  88. data/app/helpers/alchemy/pictures_helper.rb +19 -0
  89. data/app/mailers/alchemy/messages.rb +13 -13
  90. data/app/mailers/alchemy/notifications.rb +19 -19
  91. data/app/models/alchemy.rb +3 -3
  92. data/app/models/alchemy/attachment.rb +52 -78
  93. data/app/models/alchemy/cell.rb +48 -48
  94. data/app/models/alchemy/content.rb +196 -196
  95. data/app/models/alchemy/element.rb +500 -490
  96. data/app/models/alchemy/essence_audio.rb +7 -7
  97. data/app/models/alchemy/essence_date.rb +10 -10
  98. data/app/models/alchemy/essence_file.rb +7 -7
  99. data/app/models/alchemy/essence_flash.rb +6 -6
  100. data/app/models/alchemy/essence_html.rb +9 -9
  101. data/app/models/alchemy/essence_picture.rb +17 -17
  102. data/app/models/alchemy/essence_richtext.rb +53 -53
  103. data/app/models/alchemy/essence_text.rb +21 -21
  104. data/app/models/alchemy/essence_video.rb +7 -7
  105. data/app/models/alchemy/folded_page.rb +3 -3
  106. data/app/models/alchemy/language.rb +91 -91
  107. data/app/models/alchemy/language/code.rb +14 -14
  108. data/app/models/alchemy/message.rb +48 -45
  109. data/app/models/alchemy/page.rb +555 -558
  110. data/app/models/alchemy/picture.rb +100 -99
  111. data/app/models/alchemy/user.rb +76 -74
  112. data/app/models/alchemy/user_session.rb +8 -8
  113. data/app/sweepers/alchemy/content_sweeper.rb +15 -15
  114. data/app/sweepers/alchemy/pages_sweeper.rb +50 -50
  115. data/app/sweepers/alchemy/pictures_sweeper.rb +14 -14
  116. data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +23 -23
  117. data/app/views/alchemy/admin/attachments/_attachment.html.erb +56 -56
  118. data/app/views/alchemy/admin/attachments/_file_to_assign.html.erb +15 -15
  119. data/app/views/alchemy/admin/attachments/_files_list.html.erb +16 -16
  120. data/app/views/alchemy/admin/attachments/create.js.erb +2 -2
  121. data/app/views/alchemy/admin/attachments/destroy.js.erb +3 -3
  122. data/app/views/alchemy/admin/attachments/edit.html.erb +10 -10
  123. data/app/views/alchemy/admin/attachments/index.html.erb +14 -14
  124. data/app/views/alchemy/admin/attachments/new.html.erb +9 -9
  125. data/app/views/alchemy/admin/clipboard/index.html.erb +21 -21
  126. data/app/views/alchemy/admin/clipboard/insert.js.erb +5 -5
  127. data/app/views/alchemy/admin/contents/_missing.html.erb +1 -1
  128. data/app/views/alchemy/admin/contents/create.js.erb +33 -33
  129. data/app/views/alchemy/admin/contents/destroy.js.erb +5 -5
  130. data/app/views/alchemy/admin/contents/new.html.erb +13 -13
  131. data/app/views/alchemy/admin/contents/order.js.erb +2 -2
  132. data/app/views/alchemy/admin/dashboard/index.html.erb +96 -92
  133. data/app/views/alchemy/admin/elements/_add_content.html.erb +12 -12
  134. data/app/views/alchemy/admin/elements/_element.html.erb +3 -3
  135. data/app/views/alchemy/admin/elements/_new_element_form.html.erb +28 -28
  136. data/app/views/alchemy/admin/elements/_picture_editor.html.erb +21 -21
  137. data/app/views/alchemy/admin/elements/create.js.erb +32 -32
  138. data/app/views/alchemy/admin/elements/index.html.erb +2 -2
  139. data/app/views/alchemy/admin/elements/new.html.erb +31 -31
  140. data/app/views/alchemy/admin/elements/order.js.erb +3 -3
  141. data/app/views/alchemy/admin/elements/trash.js.erb +13 -13
  142. data/app/views/alchemy/admin/elements/update.js.erb +6 -6
  143. data/app/views/alchemy/admin/essence_files/assign.js.erb +6 -6
  144. data/app/views/alchemy/admin/essence_pictures/crop.html.erb +32 -32
  145. data/app/views/alchemy/admin/essence_pictures/destroy.js.erb +1 -1
  146. data/app/views/alchemy/admin/essence_pictures/edit.html.erb +1 -1
  147. data/app/views/alchemy/admin/essence_pictures/update.js.erb +11 -11
  148. data/app/views/alchemy/admin/languages/_form.html.erb +51 -45
  149. data/app/views/alchemy/admin/languages/_language.html.erb +45 -45
  150. data/app/views/alchemy/admin/languages/_table.html.erb +25 -25
  151. data/app/views/alchemy/admin/layoutpages/index.html.erb +35 -35
  152. data/app/views/alchemy/admin/pages/_create_language_form.html.erb +42 -42
  153. data/app/views/alchemy/admin/pages/_external_link.html.erb +1 -1
  154. data/app/views/alchemy/admin/pages/_new_page_form.html.erb +27 -27
  155. data/app/views/alchemy/admin/pages/_page.html.erb +112 -112
  156. data/app/views/alchemy/admin/pages/_sitemap.html.erb +1 -1
  157. data/app/views/alchemy/admin/pages/configure.html.erb +71 -69
  158. data/app/views/alchemy/admin/pages/configure_external.html.erb +38 -38
  159. data/app/views/alchemy/admin/pages/destroy.js.erb +10 -10
  160. data/app/views/alchemy/admin/pages/edit.html.erb +165 -165
  161. data/app/views/alchemy/admin/pages/fold.js.erb +2 -2
  162. data/app/views/alchemy/admin/pages/index.html.erb +66 -66
  163. data/app/views/alchemy/admin/pages/locked.html.erb +1 -1
  164. data/app/views/alchemy/admin/pages/new.html.erb +40 -40
  165. data/app/views/alchemy/admin/pages/sort.js.erb +4 -4
  166. data/app/views/alchemy/admin/pages/unlock.js.erb +6 -6
  167. data/app/views/alchemy/admin/pages/update.js.erb +19 -19
  168. data/app/views/alchemy/admin/partials/_flash.html.erb +2 -2
  169. data/app/views/alchemy/admin/partials/_flash_notices.html.erb +1 -1
  170. data/app/views/alchemy/admin/partials/_flash_upload.html.erb +38 -0
  171. data/app/views/alchemy/admin/partials/_language_tree_select.html.erb +15 -15
  172. data/app/views/alchemy/admin/partials/_main_navigation_entry.html.erb +8 -8
  173. data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +35 -35
  174. data/app/views/alchemy/admin/partials/_search_form.html.erb +14 -14
  175. data/app/views/alchemy/admin/partials/_sub_navigation_tab.html.erb +6 -6
  176. data/app/views/alchemy/admin/partials/_upload_form.html.erb +56 -118
  177. data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +11 -11
  178. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +71 -71
  179. data/app/views/alchemy/admin/pictures/_picture.html.erb +32 -32
  180. data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +26 -26
  181. data/app/views/alchemy/admin/pictures/_pictures_list.html.erb +6 -6
  182. data/app/views/alchemy/admin/pictures/create.js.erb +7 -7
  183. data/app/views/alchemy/admin/pictures/index.html.erb +67 -67
  184. data/app/views/alchemy/admin/pictures/show_in_window.html.erb +5 -4
  185. data/app/views/alchemy/admin/resources/_form.html.erb +25 -19
  186. data/app/views/alchemy/admin/resources/_resource.html.erb +37 -36
  187. data/app/views/alchemy/admin/resources/_table.html.erb +17 -17
  188. data/app/views/alchemy/admin/resources/destroy.js.erb +1 -1
  189. data/app/views/alchemy/admin/resources/index.html.erb +14 -14
  190. data/app/views/alchemy/admin/trash/index.html.erb +20 -20
  191. data/app/views/alchemy/admin/users/_table.html.erb +52 -52
  192. data/app/views/alchemy/admin/users/_user.html.erb +35 -36
  193. data/app/views/alchemy/admin/users/index.html.erb +26 -27
  194. data/app/views/alchemy/base/error_notice.html.erb +2 -2
  195. data/app/views/alchemy/base/update.js.erb +1 -1
  196. data/app/views/alchemy/elements/_contactform_view.html.erb +76 -76
  197. data/app/views/alchemy/elements/_download_view.html.erb +1 -1
  198. data/app/views/alchemy/elements/_editor_not_found.html.erb +3 -3
  199. data/app/views/alchemy/elements/_searchresult_view.html.erb +2 -2
  200. data/app/views/alchemy/elements/_sitemap_editor.html.erb +1 -1
  201. data/app/views/alchemy/essences/_essence_audio_view.html.erb +13 -13
  202. data/app/views/alchemy/essences/_essence_date_editor.html.erb +10 -10
  203. data/app/views/alchemy/essences/_essence_file_editor.html.erb +62 -62
  204. data/app/views/alchemy/essences/_essence_file_view.html.erb +8 -8
  205. data/app/views/alchemy/essences/_essence_flash_view.html.erb +19 -19
  206. data/app/views/alchemy/essences/_essence_html_editor.html.erb +6 -6
  207. data/app/views/alchemy/essences/_essence_picture_editor.html.erb +73 -73
  208. data/app/views/alchemy/essences/_essence_picture_view.html.erb +34 -34
  209. data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +7 -7
  210. data/app/views/alchemy/essences/_essence_text_editor.html.erb +8 -8
  211. data/app/views/alchemy/navigation/_image_link.html.erb +12 -12
  212. data/app/views/alchemy/navigation/_link.html.erb +13 -13
  213. data/app/views/alchemy/navigation/_renderer.html.erb +17 -17
  214. data/app/views/alchemy/page_layouts/_layout_footer.html.erb +1 -1
  215. data/app/views/alchemy/page_layouts/_layout_header.html.erb +1 -1
  216. data/app/views/alchemy/pages/show.rss.builder +14 -14
  217. data/app/views/alchemy/search/_result.html.erb +7 -7
  218. data/app/views/alchemy/user_sessions/leave.html.erb +9 -9
  219. data/app/views/alchemy/user_sessions/login.html.erb +39 -39
  220. data/app/views/alchemy/user_sessions/logout.html.erb +1 -1
  221. data/app/views/layouts/alchemy/admin.html.erb +81 -81
  222. data/app/views/layouts/alchemy/login.html.erb +36 -36
  223. data/app/views/layouts/alchemy/pages.html.erb +48 -27
  224. data/bin/alchemy +136 -134
  225. data/config/alchemy/config.yml +13 -9
  226. data/config/locales/alchemy.de.yml +24 -30
  227. data/config/locales/alchemy.en.yml +11 -28
  228. data/config/routes.rb +146 -146
  229. data/db/migrate/20100607193638_create_essence_pictures.rb +3 -3
  230. data/db/migrate/20101109150312_alter_pages_visible_column_default.rb +1 -1
  231. data/db/migrate/20101109151812_create_languages.rb +3 -3
  232. data/db/migrate/20110115123343_remove_css_class_default_from_essence_pictures.rb +3 -3
  233. data/db/migrate/20110224105120_change_pages_visible_default.rb +3 -3
  234. data/db/migrate/20110228182659_remove_default_page_layout_from_pages.rb +2 -2
  235. data/db/migrate/20110414163140_remove_display_name_from_elements.rb +3 -3
  236. data/db/migrate/20110511100516_rename_essence_texts_title_to_link_title.rb +2 -2
  237. data/db/migrate/20110529130500_add_cell_id_to_elements.rb +3 -3
  238. data/db/migrate/20110530102804_change_pages_page_layout_column.rb +3 -3
  239. data/db/migrate/20110711142057_change_open_link_in_new_window_to_link_target.rb +1 -1
  240. data/db/migrate/20111116125112_namespace_alchemy_models.rb +21 -21
  241. data/lib/alchemy/auth_engine.rb +5 -5
  242. data/lib/alchemy/capistrano.rb +64 -64
  243. data/lib/alchemy/config.rb +47 -44
  244. data/lib/alchemy/engine.rb +41 -41
  245. data/lib/alchemy/essence.rb +50 -51
  246. data/lib/alchemy/i18n.rb +48 -48
  247. data/lib/alchemy/modules.rb +30 -30
  248. data/lib/alchemy/mount_point.rb +6 -6
  249. data/lib/alchemy/page_layout.rb +94 -93
  250. data/lib/alchemy/resource.rb +82 -0
  251. data/lib/alchemy/resources_helper.rb +56 -0
  252. data/lib/alchemy/scoped_pagination_url_helper.rb +8 -8
  253. data/lib/alchemy/seeder.rb +88 -88
  254. data/lib/alchemy/tinymce.rb +49 -49
  255. data/lib/alchemy/upgrader.rb +103 -103
  256. data/lib/alchemy/version.rb +1 -1
  257. data/lib/alchemy_cms.rb +26 -27
  258. data/lib/extensions/action_view.rb +1 -1
  259. data/lib/extensions/array.rb +3 -3
  260. data/lib/extensions/hash.rb +3 -3
  261. data/lib/middleware/flash_session_cookie.rb +1 -1
  262. data/lib/rails/generators/alchemy/deploy_script/deploy_script_generator.rb +24 -24
  263. data/lib/rails/generators/alchemy/elements/elements_generator.rb +7 -7
  264. data/lib/rails/generators/alchemy/elements/templates/view.html.erb +17 -17
  265. data/lib/rails/generators/alchemy/page_layouts/page_layouts_generator.rb +6 -6
  266. data/lib/rails/generators/alchemy/plugin/templates/authorization_rules.rb +8 -8
  267. data/lib/rails/generators/alchemy/scaffold/files/pages.html.erb +7 -7
  268. data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +36 -36
  269. data/lib/rails/templates/alchemy.rb +1 -1
  270. data/lib/tasks/ferret.rake +2 -2
  271. data/lib/tasks/fleximage.rake +32 -32
  272. data/lib/tasks/install.rake +12 -12
  273. data/lib/tasks/upgrade.rake +4 -4
  274. data/spec/controllers/admin/clipboard_controller_spec.rb +43 -43
  275. data/spec/controllers/admin/contents_controller_spec.rb +22 -22
  276. data/spec/controllers/admin/elements_controller_spec.rb +13 -13
  277. data/spec/controllers/admin/languages_controller_spec.rb +31 -0
  278. data/spec/controllers/admin/pages_controller_spec.rb +10 -41
  279. data/spec/controllers/admin/resources_controller_spec.rb +19 -0
  280. data/spec/controllers/admin/trash_controller_spec.rb +11 -11
  281. data/spec/controllers/base_controller_spec.rb +46 -46
  282. data/spec/controllers/pages_controller_spec.rb +102 -92
  283. data/spec/dummy/app/controllers/admin/events_controller.rb +3 -0
  284. data/spec/dummy/app/controllers/errors_controller.rb +5 -0
  285. data/spec/dummy/app/models/event.rb +3 -0
  286. data/spec/dummy/config.ru +1 -1
  287. data/spec/dummy/config/application.rb +3 -0
  288. data/spec/dummy/config/authorization_rules.rb +7 -0
  289. data/spec/dummy/config/environments/development.rb +8 -1
  290. data/spec/dummy/config/environments/production.rb +1 -1
  291. data/spec/dummy/config/environments/test.rb +5 -2
  292. data/spec/dummy/config/routes.rb +9 -1
  293. data/spec/dummy/db/schema.rb +47 -35
  294. data/spec/dummy/public/404.html +19 -7
  295. data/spec/dummy/public/404.html.bak +26 -0
  296. data/spec/dummy/public/422.html +19 -7
  297. data/spec/dummy/public/500.html +19 -7
  298. data/spec/dummy/script/rails +2 -2
  299. data/spec/factories.rb +76 -76
  300. data/spec/helpers/admin/base_helper_spec.rb +21 -21
  301. data/spec/helpers/admin/contents_helper_spec.rb +14 -14
  302. data/spec/helpers/admin/elements_helper_spec.rb +40 -40
  303. data/spec/helpers/admin/essences_helper_spec.rb +7 -7
  304. data/spec/helpers/elements_helper_spec.rb +154 -154
  305. data/spec/helpers/essences_helper_spec.rb +10 -10
  306. data/spec/helpers/pages_helper_spec.rb +369 -372
  307. data/spec/helpers/pictures_helper_spec.rb +14 -0
  308. data/spec/helpers/url_helpers_spec.rb +29 -34
  309. data/spec/integration/admin/pages_controller_spec.rb +50 -50
  310. data/spec/integration/admin/resources_integration_spec.rb +100 -0
  311. data/spec/integration/navigation_spec.rb +1 -1
  312. data/spec/integration/pages_controller_spec.rb +205 -207
  313. data/spec/integration/security_spec.rb +47 -47
  314. data/spec/javascripts/alchemy/link_overlay_spec.js.coffee +42 -0
  315. data/spec/javascripts/alchemy_integration_spec.coffee +12 -0
  316. data/spec/javascripts/fixtures/select.html +3 -0
  317. data/spec/javascripts/helpers/.gitkeep +0 -0
  318. data/spec/javascripts/helpers/jasmine-jquery-1.3.1.js +289 -0
  319. data/spec/javascripts/helpers/mock-ajax.js +207 -0
  320. data/spec/javascripts/helpers/test_responses/test_responses.js +1 -0
  321. data/spec/javascripts/spec.css +3 -0
  322. data/spec/javascripts/spec.js +2 -0
  323. data/spec/libraries/resource_spec.rb +122 -0
  324. data/spec/libraries/resources_helper_spec.rb +105 -0
  325. data/spec/models/content_spec.rb +67 -67
  326. data/spec/models/element_spec.rb +133 -133
  327. data/spec/models/essence_picture_spec.rb +5 -5
  328. data/spec/models/essence_richtext_spec.rb +4 -4
  329. data/spec/models/language_spec.rb +89 -89
  330. data/spec/models/page_spec.rb +436 -506
  331. data/spec/models/picture_spec.rb +34 -34
  332. data/spec/models/user_spec.rb +2 -2
  333. data/spec/page_layout_spec.rb +24 -20
  334. data/spec/routing_spec.rb +253 -253
  335. data/spec/spec_helper.rb +51 -50
  336. data/spec/support/alchemy/controller_hacks.rb +25 -25
  337. data/spec/support/alchemy/specs_helpers.rb +25 -25
  338. data/spec/support/integration_spec_helper.rb +24 -0
  339. data/vendor/assets/javascripts/jquery_plugins/jquery.html5uploader.js +271 -0
  340. data/vendor/assets/javascripts/jquery_plugins/jquery.in-place-edit.js +86 -85
  341. data/vendor/assets/javascripts/jquery_plugins/jquery.ui.nestedSortable.js +380 -377
  342. data/vendor/assets/javascripts/jquery_plugins/jquery.ui.tabspaging.js +285 -279
  343. data/vendor/assets/javascripts/swfupload/SWFObject License.txt +3 -3
  344. data/vendor/assets/javascripts/swfupload/swfupload.cookies.js +47 -47
  345. data/vendor/assets/javascripts/swfupload/swfupload.js +612 -612
  346. data/vendor/assets/javascripts/swfupload/swfupload.queue.js +93 -93
  347. data/vendor/assets/javascripts/swfupload/swfupload.speed.js +337 -337
  348. data/vendor/assets/javascripts/swfupload/swfupload.swfobject.js +706 -102
  349. data/vendor/assets/javascripts/tiny_mce/license.txt +6 -6
  350. data/vendor/assets/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +97 -97
  351. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/template.htm +386 -376
  352. data/vendor/assets/javascripts/tiny_mce/plugins/paste/js/pastetext.js +30 -30
  353. data/vendor/assets/javascripts/tiny_mce/plugins/paste/js/pasteword.js +45 -45
  354. data/vendor/assets/javascripts/tiny_mce/plugins/paste/pastetext.htm +20 -17
  355. data/vendor/assets/javascripts/tiny_mce/plugins/paste/pasteword.htm +12 -12
  356. data/vendor/assets/javascripts/tiny_mce/plugins/table/cell.htm +183 -173
  357. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/cell.css +4 -4
  358. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/row.css +7 -7
  359. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/table.css +3 -3
  360. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/cell.js +282 -280
  361. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/merge_cells.js +15 -15
  362. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/row.js +204 -204
  363. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/table.js +435 -435
  364. data/vendor/assets/javascripts/tiny_mce/plugins/table/merge_cells.htm +24 -22
  365. data/vendor/assets/javascripts/tiny_mce/plugins/table/row.htm +144 -136
  366. data/vendor/assets/javascripts/tiny_mce/plugins/table/table.htm +184 -168
  367. data/vendor/assets/javascripts/tiny_mce/themes/advanced/about.htm +62 -46
  368. data/vendor/assets/javascripts/tiny_mce/themes/advanced/anchor.htm +17 -16
  369. data/vendor/assets/javascripts/tiny_mce/themes/advanced/charmap.htm +56 -47
  370. data/vendor/assets/javascripts/tiny_mce/themes/advanced/color_picker.htm +67 -54
  371. data/vendor/assets/javascripts/tiny_mce/themes/advanced/editor_template.js +852 -1
  372. data/vendor/assets/javascripts/tiny_mce/themes/advanced/image.htm +79 -69
  373. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/about.js +48 -48
  374. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/anchor.js +28 -28
  375. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/charmap.js +317 -317
  376. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/color_picker.js +248 -246
  377. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/image.js +246 -246
  378. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/link.js +146 -146
  379. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/source_editor.js +31 -31
  380. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/de.js +1 -1
  381. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/de_dlg.js +1 -1
  382. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/en.js +1 -1
  383. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +1 -1
  384. data/vendor/assets/javascripts/tiny_mce/themes/advanced/link.htm +53 -46
  385. data/vendor/assets/javascripts/tiny_mce/themes/advanced/shortcuts.htm +57 -45
  386. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/content.css +182 -47
  387. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +399 -92
  388. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +891 -187
  389. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/content.css +102 -24
  390. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +377 -78
  391. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css +452 -77
  392. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +167 -45
  393. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +399 -92
  394. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +890 -190
  395. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +33 -7
  396. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +15 -4
  397. data/vendor/assets/javascripts/tiny_mce/themes/advanced/source_editor.htm +18 -15
  398. data/vendor/assets/javascripts/tiny_mce/utils/editable_selects.js +46 -46
  399. data/vendor/assets/javascripts/tiny_mce/utils/form_utils.js +124 -124
  400. data/vendor/assets/javascripts/tiny_mce/utils/mctabs.js +112 -112
  401. data/vendor/assets/javascripts/tiny_mce/utils/validate.js +213 -213
  402. metadata +102 -115
  403. data/app/assets/javascripts/alchemy/alchemy.link_overlay.js +0 -216
  404. data/lib/tasks/routes.rake +0 -29
  405. data/spec/integration/admin/resources_spec.rb +0 -19
@@ -1,5 +1,5 @@
1
- GNU LESSER GENERAL PUBLIC LICENSE
2
- Version 2.1, February 1999
1
+ GNU LESSER GENERAL PUBLIC LICENSE
2
+ Version 2.1, February 1999
3
3
 
4
4
  Copyright (C) 1991, 1999 Free Software Foundation, Inc.
5
5
  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
@@ -10,7 +10,7 @@
10
10
  as the successor of the GNU Library Public License, version 2, hence
11
11
  the version number 2.1.]
12
12
 
13
- Preamble
13
+ Preamble
14
14
 
15
15
  The licenses for most software are designed to take away your
16
16
  freedom to share and change it. By contrast, the GNU General Public
@@ -112,7 +112,7 @@ modification follow. Pay close attention to the difference between a
112
112
  former contains code derived from the library, whereas the latter must
113
113
  be combined with the library in order to run.
114
114
 
115
- GNU LESSER GENERAL PUBLIC LICENSE
115
+ GNU LESSER GENERAL PUBLIC LICENSE
116
116
  TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
117
117
 
118
118
  0. This License Agreement applies to any software library or other
@@ -432,7 +432,7 @@ decision will be guided by the two goals of preserving the free status
432
432
  of all derivatives of our free software and of promoting the sharing
433
433
  and reuse of software generally.
434
434
 
435
- NO WARRANTY
435
+ NO WARRANTY
436
436
 
437
437
  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
438
438
  WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
@@ -455,7 +455,7 @@ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
455
455
  SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
456
456
  DAMAGES.
457
457
 
458
- END OF TERMS AND CONDITIONS
458
+ END OF TERMS AND CONDITIONS
459
459
 
460
460
  How to Apply These Terms to Your New Libraries
461
461
 
@@ -1,109 +1,109 @@
1
1
  <!DOCTYPE html>
2
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
3
  <head>
4
- <title></title>
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
6
- <script type="text/javascript" src="../../tiny_mce.js"></script>
7
- <script type="text/javascript">
8
- function patchCallback(settings, key) {
9
- if (settings[key])
10
- settings[key] = "window.opener." + settings[key];
11
- }
12
-
13
- var settings = {}, paSe = window.opener.tinyMCE.activeEditor.settings, oeID = window.opener.tinyMCE.activeEditor.id;
14
-
15
- // Clone array
16
- for (var n in paSe)
17
- settings[n] = paSe[n];
18
-
19
- // Override options for fullscreen
20
- for (var n in paSe.fullscreen_settings)
21
- settings[n] = paSe.fullscreen_settings[n];
22
-
23
- // Patch callbacks, make them point to window.opener
24
- patchCallback(settings, 'urlconverter_callback');
25
- patchCallback(settings, 'insertlink_callback');
26
- patchCallback(settings, 'insertimage_callback');
27
- patchCallback(settings, 'setupcontent_callback');
28
- patchCallback(settings, 'save_callback');
29
- patchCallback(settings, 'onchange_callback');
30
- patchCallback(settings, 'init_instance_callback');
31
- patchCallback(settings, 'file_browser_callback');
32
- patchCallback(settings, 'cleanup_callback');
33
- patchCallback(settings, 'execcommand_callback');
34
- patchCallback(settings, 'oninit');
35
-
36
- // Set options
37
- delete settings.id;
38
- settings['mode'] = 'exact';
39
- settings['elements'] = 'fullscreenarea';
40
- settings['add_unload_trigger'] = false;
41
- settings['ask'] = false;
42
- settings['document_base_url'] = window.opener.tinyMCE.activeEditor.documentBaseURI.getURI();
43
- settings['fullscreen_is_enabled'] = true;
44
- settings['fullscreen_editor_id'] = oeID;
45
- settings['theme_advanced_resizing'] = false;
46
- settings['strict_loading_mode'] = true;
47
-
48
- settings.save_onsavecallback = function() {
49
- window.opener.tinyMCE.get(oeID).setContent(tinyMCE.get('fullscreenarea').getContent({format : 'raw'}), {format : 'raw'});
50
- window.opener.tinyMCE.get(oeID).execCommand('mceSave');
51
- window.close();
52
- };
53
-
54
- function unloadHandler(e) {
55
- moveContent();
56
- }
57
-
58
- function moveContent() {
59
- window.opener.tinyMCE.get(oeID).setContent(tinyMCE.activeEditor.getContent());
60
- }
61
-
62
- function closeFullscreen() {
63
- moveContent();
64
- window.close();
65
- }
66
-
67
- function doParentSubmit() {
68
- moveContent();
69
-
70
- if (window.opener.tinyMCE.selectedInstance.formElement.form)
71
- window.opener.tinyMCE.selectedInstance.formElement.form.submit();
72
-
73
- window.close();
74
-
75
- return false;
76
- }
77
-
78
- function render() {
79
- var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM;
80
-
81
- e.value = window.opener.tinyMCE.get(oeID).getContent();
82
-
83
- vp = dom.getViewPort();
84
- settings.width = vp.w;
85
- settings.height = vp.h - 15;
86
-
87
- tinymce.dom.Event.add(window, 'resize', function() {
88
- var vp = dom.getViewPort();
89
-
90
- tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h);
91
- });
92
-
93
- tinyMCE.init(settings);
94
- }
95
-
96
- // Add onunload
97
- tinymce.dom.Event.add(window, "beforeunload", unloadHandler);
98
- </script>
4
+ <title></title>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
6
+ <script type="text/javascript" src="../../tiny_mce.js"></script>
7
+ <script type="text/javascript">
8
+ function patchCallback(settings, key) {
9
+ if (settings[key])
10
+ settings[key] = "window.opener." + settings[key];
11
+ }
12
+
13
+ var settings = {}, paSe = window.opener.tinyMCE.activeEditor.settings, oeID = window.opener.tinyMCE.activeEditor.id;
14
+
15
+ // Clone array
16
+ for (var n in paSe)
17
+ settings[n] = paSe[n];
18
+
19
+ // Override options for fullscreen
20
+ for (var n in paSe.fullscreen_settings)
21
+ settings[n] = paSe.fullscreen_settings[n];
22
+
23
+ // Patch callbacks, make them point to window.opener
24
+ patchCallback(settings, 'urlconverter_callback');
25
+ patchCallback(settings, 'insertlink_callback');
26
+ patchCallback(settings, 'insertimage_callback');
27
+ patchCallback(settings, 'setupcontent_callback');
28
+ patchCallback(settings, 'save_callback');
29
+ patchCallback(settings, 'onchange_callback');
30
+ patchCallback(settings, 'init_instance_callback');
31
+ patchCallback(settings, 'file_browser_callback');
32
+ patchCallback(settings, 'cleanup_callback');
33
+ patchCallback(settings, 'execcommand_callback');
34
+ patchCallback(settings, 'oninit');
35
+
36
+ // Set options
37
+ delete settings.id;
38
+ settings['mode'] = 'exact';
39
+ settings['elements'] = 'fullscreenarea';
40
+ settings['add_unload_trigger'] = false;
41
+ settings['ask'] = false;
42
+ settings['document_base_url'] = window.opener.tinyMCE.activeEditor.documentBaseURI.getURI();
43
+ settings['fullscreen_is_enabled'] = true;
44
+ settings['fullscreen_editor_id'] = oeID;
45
+ settings['theme_advanced_resizing'] = false;
46
+ settings['strict_loading_mode'] = true;
47
+
48
+ settings.save_onsavecallback = function () {
49
+ window.opener.tinyMCE.get(oeID).setContent(tinyMCE.get('fullscreenarea').getContent({format:'raw'}), {format:'raw'});
50
+ window.opener.tinyMCE.get(oeID).execCommand('mceSave');
51
+ window.close();
52
+ };
53
+
54
+ function unloadHandler(e) {
55
+ moveContent();
56
+ }
57
+
58
+ function moveContent() {
59
+ window.opener.tinyMCE.get(oeID).setContent(tinyMCE.activeEditor.getContent());
60
+ }
61
+
62
+ function closeFullscreen() {
63
+ moveContent();
64
+ window.close();
65
+ }
66
+
67
+ function doParentSubmit() {
68
+ moveContent();
69
+
70
+ if (window.opener.tinyMCE.selectedInstance.formElement.form)
71
+ window.opener.tinyMCE.selectedInstance.formElement.form.submit();
72
+
73
+ window.close();
74
+
75
+ return false;
76
+ }
77
+
78
+ function render() {
79
+ var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM;
80
+
81
+ e.value = window.opener.tinyMCE.get(oeID).getContent();
82
+
83
+ vp = dom.getViewPort();
84
+ settings.width = vp.w;
85
+ settings.height = vp.h - 15;
86
+
87
+ tinymce.dom.Event.add(window, 'resize', function () {
88
+ var vp = dom.getViewPort();
89
+
90
+ tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h);
91
+ });
92
+
93
+ tinyMCE.init(settings);
94
+ }
95
+
96
+ // Add onunload
97
+ tinymce.dom.Event.add(window, "beforeunload", unloadHandler);
98
+ </script>
99
99
  </head>
100
100
  <body style="margin:0;overflow:hidden;width:100%;height:100%" scrolling="no" scroll="no">
101
101
  <form onsubmit="doParentSubmit();">
102
- <textarea id="fullscreenarea" style="width:100%; height:100%"></textarea>
102
+ <textarea id="fullscreenarea" style="width:100%; height:100%"></textarea>
103
103
  </form>
104
104
 
105
105
  <script type="text/javascript">
106
- render();
106
+ render();
107
107
  </script>
108
108
 
109
109
  </body>
@@ -1,386 +1,396 @@
1
1
  <!-- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -->
2
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
3
  <head>
4
- <title>Template for dialogs</title>
5
- <link rel="stylesheet" type="text/css" href="skins/clearlooks2/window.css" />
4
+ <title>Template for dialogs</title>
5
+ <link rel="stylesheet" type="text/css" href="skins/clearlooks2/window.css"/>
6
6
  </head>
7
7
  <body>
8
8
 
9
9
  <div class="mceEditor">
10
- <div class="clearlooks2" style="width:400px; height:100px; left:10px;">
11
- <div class="mceWrapper">
12
- <div class="mceTop">
13
- <div class="mceLeft"></div>
14
- <div class="mceCenter"></div>
15
- <div class="mceRight"></div>
16
- <span>Blured</span>
17
- </div>
18
-
19
- <div class="mceMiddle">
20
- <div class="mceLeft"></div>
21
- <span>Content</span>
22
- <div class="mceRight"></div>
23
- </div>
24
-
25
- <div class="mceBottom">
26
- <div class="mceLeft"></div>
27
- <div class="mceCenter"></div>
28
- <div class="mceRight"></div>
29
- <span>Statusbar text.</span>
30
- </div>
31
-
32
- <a class="mceMove" href="#"></a>
33
- <a class="mceMin" href="#"></a>
34
- <a class="mceMax" href="#"></a>
35
- <a class="mceMed" href="#"></a>
36
- <a class="mceClose" href="#"></a>
37
- <a class="mceResize mceResizeN" href="#"></a>
38
- <a class="mceResize mceResizeS" href="#"></a>
39
- <a class="mceResize mceResizeW" href="#"></a>
40
- <a class="mceResize mceResizeE" href="#"></a>
41
- <a class="mceResize mceResizeNW" href="#"></a>
42
- <a class="mceResize mceResizeNE" href="#"></a>
43
- <a class="mceResize mceResizeSW" href="#"></a>
44
- <a class="mceResize mceResizeSE" href="#"></a>
45
- </div>
46
- </div>
47
-
48
- <div class="clearlooks2" style="width:400px; height:100px; left:420px;">
49
- <div class="mceWrapper mceMovable mceFocus">
50
- <div class="mceTop">
51
- <div class="mceLeft"></div>
52
- <div class="mceCenter"></div>
53
- <div class="mceRight"></div>
54
- <span>Focused</span>
55
- </div>
56
-
57
- <div class="mceMiddle">
58
- <div class="mceLeft"></div>
59
- <span>Content</span>
60
- <div class="mceRight"></div>
61
- </div>
62
-
63
- <div class="mceBottom">
64
- <div class="mceLeft"></div>
65
- <div class="mceCenter"></div>
66
- <div class="mceRight"></div>
67
- <span>Statusbar text.</span>
68
- </div>
69
-
70
- <a class="mceMove" href="#"></a>
71
- <a class="mceMin" href="#"></a>
72
- <a class="mceMax" href="#"></a>
73
- <a class="mceMed" href="#"></a>
74
- <a class="mceClose" href="#"></a>
75
- <a class="mceResize mceResizeN" href="#"></a>
76
- <a class="mceResize mceResizeS" href="#"></a>
77
- <a class="mceResize mceResizeW" href="#"></a>
78
- <a class="mceResize mceResizeE" href="#"></a>
79
- <a class="mceResize mceResizeNW" href="#"></a>
80
- <a class="mceResize mceResizeNE" href="#"></a>
81
- <a class="mceResize mceResizeSW" href="#"></a>
82
- <a class="mceResize mceResizeSE" href="#"></a>
83
- </div>
84
- </div>
85
-
86
- <div class="clearlooks2" style="width:400px; height:100px; left:10px; top:120px;">
87
- <div class="mceWrapper mceMovable mceFocus mceStatusbar">
88
- <div class="mceTop">
89
- <div class="mceLeft"></div>
90
- <div class="mceCenter"></div>
91
- <div class="mceRight"></div>
92
- <span>Statusbar</span>
93
- </div>
94
-
95
- <div class="mceMiddle">
96
- <div class="mceLeft"></div>
97
- <span>Content</span>
98
- <div class="mceRight"></div>
99
- </div>
100
-
101
- <div class="mceBottom">
102
- <div class="mceLeft"></div>
103
- <div class="mceCenter"></div>
104
- <div class="mceRight"></div>
105
- <span>Statusbar text.</span>
106
- </div>
107
-
108
- <a class="mceMove" href="#"></a>
109
- <a class="mceMin" href="#"></a>
110
- <a class="mceMax" href="#"></a>
111
- <a class="mceMed" href="#"></a>
112
- <a class="mceClose" href="#"></a>
113
- <a class="mceResize mceResizeN" href="#"></a>
114
- <a class="mceResize mceResizeS" href="#"></a>
115
- <a class="mceResize mceResizeW" href="#"></a>
116
- <a class="mceResize mceResizeE" href="#"></a>
117
- <a class="mceResize mceResizeNW" href="#"></a>
118
- <a class="mceResize mceResizeNE" href="#"></a>
119
- <a class="mceResize mceResizeSW" href="#"></a>
120
- <a class="mceResize mceResizeSE" href="#"></a>
121
- </div>
122
- </div>
123
-
124
- <div class="clearlooks2" style="width:400px; height:100px; left:420px; top:120px;">
125
- <div class="mceWrapper mceMovable mceFocus mceStatusbar mceResizable">
126
- <div class="mceTop">
127
- <div class="mceLeft"></div>
128
- <div class="mceCenter"></div>
129
- <div class="mceRight"></div>
130
- <span>Statusbar, Resizable</span>
131
- </div>
132
-
133
- <div class="mceMiddle">
134
- <div class="mceLeft"></div>
135
- <span>Content</span>
136
- <div class="mceRight"></div>
137
- </div>
138
-
139
- <div class="mceBottom">
140
- <div class="mceLeft"></div>
141
- <div class="mceCenter"></div>
142
- <div class="mceRight"></div>
143
- <span>Statusbar text.</span>
144
- </div>
145
-
146
- <a class="mceMove" href="#"></a>
147
- <a class="mceMin" href="#"></a>
148
- <a class="mceMax" href="#"></a>
149
- <a class="mceMed" href="#"></a>
150
- <a class="mceClose" href="#"></a>
151
- <a class="mceResize mceResizeN" href="#"></a>
152
- <a class="mceResize mceResizeS" href="#"></a>
153
- <a class="mceResize mceResizeW" href="#"></a>
154
- <a class="mceResize mceResizeE" href="#"></a>
155
- <a class="mceResize mceResizeNW" href="#"></a>
156
- <a class="mceResize mceResizeNE" href="#"></a>
157
- <a class="mceResize mceResizeSW" href="#"></a>
158
- <a class="mceResize mceResizeSE" href="#"></a>
159
- </div>
160
- </div>
161
-
162
- <div class="clearlooks2" style="width:400px; height:100px; left:10px; top:230px;">
163
- <div class="mceWrapper mceMovable mceFocus mceResizable mceMaximizable">
164
- <div class="mceTop">
165
- <div class="mceLeft"></div>
166
- <div class="mceCenter"></div>
167
- <div class="mceRight"></div>
168
- <span>Resizable, Maximizable</span>
169
- </div>
170
-
171
- <div class="mceMiddle">
172
- <div class="mceLeft"></div>
173
- <span>Content</span>
174
- <div class="mceRight"></div>
175
- </div>
176
-
177
- <div class="mceBottom">
178
- <div class="mceLeft"></div>
179
- <div class="mceCenter"></div>
180
- <div class="mceRight"></div>
181
- <span>Statusbar text.</span>
182
- </div>
183
-
184
- <a class="mceMove" href="#"></a>
185
- <a class="mceMin" href="#"></a>
186
- <a class="mceMax" href="#"></a>
187
- <a class="mceMed" href="#"></a>
188
- <a class="mceClose" href="#"></a>
189
- <a class="mceResize mceResizeN" href="#"></a>
190
- <a class="mceResize mceResizeS" href="#"></a>
191
- <a class="mceResize mceResizeW" href="#"></a>
192
- <a class="mceResize mceResizeE" href="#"></a>
193
- <a class="mceResize mceResizeNW" href="#"></a>
194
- <a class="mceResize mceResizeNE" href="#"></a>
195
- <a class="mceResize mceResizeSW" href="#"></a>
196
- <a class="mceResize mceResizeSE" href="#"></a>
197
- </div>
198
- </div>
199
-
200
- <div class="clearlooks2" style="width:400px; height:100px; left:420px; top:230px;">
201
- <div class="mceWrapper mceMovable mceStatusbar mceResizable mceMaximizable">
202
- <div class="mceTop">
203
- <div class="mceLeft"></div>
204
- <div class="mceCenter"></div>
205
- <div class="mceRight"></div>
206
- <span>Blurred, Maximizable, Statusbar, Resizable</span>
207
- </div>
208
-
209
- <div class="mceMiddle">
210
- <div class="mceLeft"></div>
211
- <span>Content</span>
212
- <div class="mceRight"></div>
213
- </div>
214
-
215
- <div class="mceBottom">
216
- <div class="mceLeft"></div>
217
- <div class="mceCenter"></div>
218
- <div class="mceRight"></div>
219
- <span>Statusbar text.</span>
220
- </div>
221
-
222
- <a class="mceMove" href="#"></a>
223
- <a class="mceMin" href="#"></a>
224
- <a class="mceMax" href="#"></a>
225
- <a class="mceMed" href="#"></a>
226
- <a class="mceClose" href="#"></a>
227
- <a class="mceResize mceResizeN" href="#"></a>
228
- <a class="mceResize mceResizeS" href="#"></a>
229
- <a class="mceResize mceResizeW" href="#"></a>
230
- <a class="mceResize mceResizeE" href="#"></a>
231
- <a class="mceResize mceResizeNW" href="#"></a>
232
- <a class="mceResize mceResizeNE" href="#"></a>
233
- <a class="mceResize mceResizeSW" href="#"></a>
234
- <a class="mceResize mceResizeSE" href="#"></a>
235
- </div>
236
- </div>
237
-
238
- <div class="clearlooks2" style="width:400px; height:100px; left:10px; top:340px;">
239
- <div class="mceWrapper mceMovable mceFocus mceResizable mceMaximized mceMinimizable mceMaximizable">
240
- <div class="mceTop">
241
- <div class="mceLeft"></div>
242
- <div class="mceCenter"></div>
243
- <div class="mceRight"></div>
244
- <span>Maximized, Maximizable, Minimizable</span>
245
- </div>
246
-
247
- <div class="mceMiddle">
248
- <div class="mceLeft"></div>
249
- <span>Content</span>
250
- <div class="mceRight"></div>
251
- </div>
252
-
253
- <div class="mceBottom">
254
- <div class="mceLeft"></div>
255
- <div class="mceCenter"></div>
256
- <div class="mceRight"></div>
257
- <span>Statusbar text.</span>
258
- </div>
259
-
260
- <a class="mceMove" href="#"></a>
261
- <a class="mceMin" href="#"></a>
262
- <a class="mceMax" href="#"></a>
263
- <a class="mceMed" href="#"></a>
264
- <a class="mceClose" href="#"></a>
265
- <a class="mceResize mceResizeN" href="#"></a>
266
- <a class="mceResize mceResizeS" href="#"></a>
267
- <a class="mceResize mceResizeW" href="#"></a>
268
- <a class="mceResize mceResizeE" href="#"></a>
269
- <a class="mceResize mceResizeNW" href="#"></a>
270
- <a class="mceResize mceResizeNE" href="#"></a>
271
- <a class="mceResize mceResizeSW" href="#"></a>
272
- <a class="mceResize mceResizeSE" href="#"></a>
273
- </div>
274
- </div>
275
-
276
- <div class="clearlooks2" style="width:400px; height:100px; left:420px; top:340px;">
277
- <div class="mceWrapper mceMovable mceStatusbar mceResizable mceMaximized mceMinimizable mceMaximizable">
278
- <div class="mceTop">
279
- <div class="mceLeft"></div>
280
- <div class="mceCenter"></div>
281
- <div class="mceRight"></div>
282
- <span>Blured</span>
283
- </div>
284
-
285
- <div class="mceMiddle">
286
- <div class="mceLeft"></div>
287
- <span>Content</span>
288
- <div class="mceRight"></div>
289
- </div>
290
-
291
- <div class="mceBottom">
292
- <div class="mceLeft"></div>
293
- <div class="mceCenter"></div>
294
- <div class="mceRight"></div>
295
- <span>Statusbar text.</span>
296
- </div>
297
-
298
- <a class="mceMove" href="#"></a>
299
- <a class="mceMin" href="#"></a>
300
- <a class="mceMax" href="#"></a>
301
- <a class="mceMed" href="#"></a>
302
- <a class="mceClose" href="#"></a>
303
- <a class="mceResize mceResizeN" href="#"></a>
304
- <a class="mceResize mceResizeS" href="#"></a>
305
- <a class="mceResize mceResizeW" href="#"></a>
306
- <a class="mceResize mceResizeE" href="#"></a>
307
- <a class="mceResize mceResizeNW" href="#"></a>
308
- <a class="mceResize mceResizeNE" href="#"></a>
309
- <a class="mceResize mceResizeSW" href="#"></a>
310
- <a class="mceResize mceResizeSE" href="#"></a>
311
- </div>
312
- </div>
313
-
314
- <div class="clearlooks2" style="width:400px; height:130px; left:10px; top:450px;">
315
- <div class="mceWrapper mceMovable mceFocus mceModal mceAlert">
316
- <div class="mceTop">
317
- <div class="mceLeft"></div>
318
- <div class="mceCenter"></div>
319
- <div class="mceRight"></div>
320
- <span>Alert</span>
321
- </div>
322
-
323
- <div class="mceMiddle">
324
- <div class="mceLeft"></div>
325
- <span>
326
- This is a very long error message. This is a very long error message.
327
- This is a very long error message. This is a very long error message.
328
- This is a very long error message. This is a very long error message.
329
- This is a very long error message. This is a very long error message.
330
- This is a very long error message. This is a very long error message.
331
- This is a very long error message. This is a very long error message.
332
- </span>
333
- <div class="mceRight"></div>
334
- <div class="mceIcon"></div>
335
- </div>
336
-
337
- <div class="mceBottom">
338
- <div class="mceLeft"></div>
339
- <div class="mceCenter"></div>
340
- <div class="mceRight"></div>
341
- </div>
342
-
343
- <a class="mceMove" href="#"></a>
344
- <a class="mceButton mceOk" href="#">Ok</a>
345
- <a class="mceClose" href="#"></a>
346
- </div>
347
- </div>
348
-
349
- <div class="clearlooks2" style="width:400px; height:130px; left:420px; top:450px;">
350
- <div class="mceWrapper mceMovable mceFocus mceModal mceConfirm">
351
- <div class="mceTop">
352
- <div class="mceLeft"></div>
353
- <div class="mceCenter"></div>
354
- <div class="mceRight"></div>
355
- <span>Confirm</span>
356
- </div>
357
-
358
- <div class="mceMiddle">
359
- <div class="mceLeft"></div>
360
- <span>
361
- This is a very long error message. This is a very long error message.
362
- This is a very long error message. This is a very long error message.
363
- This is a very long error message. This is a very long error message.
364
- This is a very long error message. This is a very long error message.
365
- This is a very long error message. This is a very long error message.
366
- This is a very long error message. This is a very long error message.
367
- </span>
368
- <div class="mceRight"></div>
369
- <div class="mceIcon"></div>
370
- </div>
371
-
372
- <div class="mceBottom">
373
- <div class="mceLeft"></div>
374
- <div class="mceCenter"></div>
375
- <div class="mceRight"></div>
376
- </div>
377
-
378
- <a class="mceMove" href="#"></a>
379
- <a class="mceButton mceOk" href="#">Ok</a>
380
- <a class="mceButton mceCancel" href="#">Cancel</a>
381
- <a class="mceClose" href="#"></a>
382
- </div>
383
- </div>
10
+ <div class="clearlooks2" style="width:400px; height:100px; left:10px;">
11
+ <div class="mceWrapper">
12
+ <div class="mceTop">
13
+ <div class="mceLeft"></div>
14
+ <div class="mceCenter"></div>
15
+ <div class="mceRight"></div>
16
+ <span>Blured</span>
17
+ </div>
18
+
19
+ <div class="mceMiddle">
20
+ <div class="mceLeft"></div>
21
+ <span>Content</span>
22
+
23
+ <div class="mceRight"></div>
24
+ </div>
25
+
26
+ <div class="mceBottom">
27
+ <div class="mceLeft"></div>
28
+ <div class="mceCenter"></div>
29
+ <div class="mceRight"></div>
30
+ <span>Statusbar text.</span>
31
+ </div>
32
+
33
+ <a class="mceMove" href="#"></a>
34
+ <a class="mceMin" href="#"></a>
35
+ <a class="mceMax" href="#"></a>
36
+ <a class="mceMed" href="#"></a>
37
+ <a class="mceClose" href="#"></a>
38
+ <a class="mceResize mceResizeN" href="#"></a>
39
+ <a class="mceResize mceResizeS" href="#"></a>
40
+ <a class="mceResize mceResizeW" href="#"></a>
41
+ <a class="mceResize mceResizeE" href="#"></a>
42
+ <a class="mceResize mceResizeNW" href="#"></a>
43
+ <a class="mceResize mceResizeNE" href="#"></a>
44
+ <a class="mceResize mceResizeSW" href="#"></a>
45
+ <a class="mceResize mceResizeSE" href="#"></a>
46
+ </div>
47
+ </div>
48
+
49
+ <div class="clearlooks2" style="width:400px; height:100px; left:420px;">
50
+ <div class="mceWrapper mceMovable mceFocus">
51
+ <div class="mceTop">
52
+ <div class="mceLeft"></div>
53
+ <div class="mceCenter"></div>
54
+ <div class="mceRight"></div>
55
+ <span>Focused</span>
56
+ </div>
57
+
58
+ <div class="mceMiddle">
59
+ <div class="mceLeft"></div>
60
+ <span>Content</span>
61
+
62
+ <div class="mceRight"></div>
63
+ </div>
64
+
65
+ <div class="mceBottom">
66
+ <div class="mceLeft"></div>
67
+ <div class="mceCenter"></div>
68
+ <div class="mceRight"></div>
69
+ <span>Statusbar text.</span>
70
+ </div>
71
+
72
+ <a class="mceMove" href="#"></a>
73
+ <a class="mceMin" href="#"></a>
74
+ <a class="mceMax" href="#"></a>
75
+ <a class="mceMed" href="#"></a>
76
+ <a class="mceClose" href="#"></a>
77
+ <a class="mceResize mceResizeN" href="#"></a>
78
+ <a class="mceResize mceResizeS" href="#"></a>
79
+ <a class="mceResize mceResizeW" href="#"></a>
80
+ <a class="mceResize mceResizeE" href="#"></a>
81
+ <a class="mceResize mceResizeNW" href="#"></a>
82
+ <a class="mceResize mceResizeNE" href="#"></a>
83
+ <a class="mceResize mceResizeSW" href="#"></a>
84
+ <a class="mceResize mceResizeSE" href="#"></a>
85
+ </div>
86
+ </div>
87
+
88
+ <div class="clearlooks2" style="width:400px; height:100px; left:10px; top:120px;">
89
+ <div class="mceWrapper mceMovable mceFocus mceStatusbar">
90
+ <div class="mceTop">
91
+ <div class="mceLeft"></div>
92
+ <div class="mceCenter"></div>
93
+ <div class="mceRight"></div>
94
+ <span>Statusbar</span>
95
+ </div>
96
+
97
+ <div class="mceMiddle">
98
+ <div class="mceLeft"></div>
99
+ <span>Content</span>
100
+
101
+ <div class="mceRight"></div>
102
+ </div>
103
+
104
+ <div class="mceBottom">
105
+ <div class="mceLeft"></div>
106
+ <div class="mceCenter"></div>
107
+ <div class="mceRight"></div>
108
+ <span>Statusbar text.</span>
109
+ </div>
110
+
111
+ <a class="mceMove" href="#"></a>
112
+ <a class="mceMin" href="#"></a>
113
+ <a class="mceMax" href="#"></a>
114
+ <a class="mceMed" href="#"></a>
115
+ <a class="mceClose" href="#"></a>
116
+ <a class="mceResize mceResizeN" href="#"></a>
117
+ <a class="mceResize mceResizeS" href="#"></a>
118
+ <a class="mceResize mceResizeW" href="#"></a>
119
+ <a class="mceResize mceResizeE" href="#"></a>
120
+ <a class="mceResize mceResizeNW" href="#"></a>
121
+ <a class="mceResize mceResizeNE" href="#"></a>
122
+ <a class="mceResize mceResizeSW" href="#"></a>
123
+ <a class="mceResize mceResizeSE" href="#"></a>
124
+ </div>
125
+ </div>
126
+
127
+ <div class="clearlooks2" style="width:400px; height:100px; left:420px; top:120px;">
128
+ <div class="mceWrapper mceMovable mceFocus mceStatusbar mceResizable">
129
+ <div class="mceTop">
130
+ <div class="mceLeft"></div>
131
+ <div class="mceCenter"></div>
132
+ <div class="mceRight"></div>
133
+ <span>Statusbar, Resizable</span>
134
+ </div>
135
+
136
+ <div class="mceMiddle">
137
+ <div class="mceLeft"></div>
138
+ <span>Content</span>
139
+
140
+ <div class="mceRight"></div>
141
+ </div>
142
+
143
+ <div class="mceBottom">
144
+ <div class="mceLeft"></div>
145
+ <div class="mceCenter"></div>
146
+ <div class="mceRight"></div>
147
+ <span>Statusbar text.</span>
148
+ </div>
149
+
150
+ <a class="mceMove" href="#"></a>
151
+ <a class="mceMin" href="#"></a>
152
+ <a class="mceMax" href="#"></a>
153
+ <a class="mceMed" href="#"></a>
154
+ <a class="mceClose" href="#"></a>
155
+ <a class="mceResize mceResizeN" href="#"></a>
156
+ <a class="mceResize mceResizeS" href="#"></a>
157
+ <a class="mceResize mceResizeW" href="#"></a>
158
+ <a class="mceResize mceResizeE" href="#"></a>
159
+ <a class="mceResize mceResizeNW" href="#"></a>
160
+ <a class="mceResize mceResizeNE" href="#"></a>
161
+ <a class="mceResize mceResizeSW" href="#"></a>
162
+ <a class="mceResize mceResizeSE" href="#"></a>
163
+ </div>
164
+ </div>
165
+
166
+ <div class="clearlooks2" style="width:400px; height:100px; left:10px; top:230px;">
167
+ <div class="mceWrapper mceMovable mceFocus mceResizable mceMaximizable">
168
+ <div class="mceTop">
169
+ <div class="mceLeft"></div>
170
+ <div class="mceCenter"></div>
171
+ <div class="mceRight"></div>
172
+ <span>Resizable, Maximizable</span>
173
+ </div>
174
+
175
+ <div class="mceMiddle">
176
+ <div class="mceLeft"></div>
177
+ <span>Content</span>
178
+
179
+ <div class="mceRight"></div>
180
+ </div>
181
+
182
+ <div class="mceBottom">
183
+ <div class="mceLeft"></div>
184
+ <div class="mceCenter"></div>
185
+ <div class="mceRight"></div>
186
+ <span>Statusbar text.</span>
187
+ </div>
188
+
189
+ <a class="mceMove" href="#"></a>
190
+ <a class="mceMin" href="#"></a>
191
+ <a class="mceMax" href="#"></a>
192
+ <a class="mceMed" href="#"></a>
193
+ <a class="mceClose" href="#"></a>
194
+ <a class="mceResize mceResizeN" href="#"></a>
195
+ <a class="mceResize mceResizeS" href="#"></a>
196
+ <a class="mceResize mceResizeW" href="#"></a>
197
+ <a class="mceResize mceResizeE" href="#"></a>
198
+ <a class="mceResize mceResizeNW" href="#"></a>
199
+ <a class="mceResize mceResizeNE" href="#"></a>
200
+ <a class="mceResize mceResizeSW" href="#"></a>
201
+ <a class="mceResize mceResizeSE" href="#"></a>
202
+ </div>
203
+ </div>
204
+
205
+ <div class="clearlooks2" style="width:400px; height:100px; left:420px; top:230px;">
206
+ <div class="mceWrapper mceMovable mceStatusbar mceResizable mceMaximizable">
207
+ <div class="mceTop">
208
+ <div class="mceLeft"></div>
209
+ <div class="mceCenter"></div>
210
+ <div class="mceRight"></div>
211
+ <span>Blurred, Maximizable, Statusbar, Resizable</span>
212
+ </div>
213
+
214
+ <div class="mceMiddle">
215
+ <div class="mceLeft"></div>
216
+ <span>Content</span>
217
+
218
+ <div class="mceRight"></div>
219
+ </div>
220
+
221
+ <div class="mceBottom">
222
+ <div class="mceLeft"></div>
223
+ <div class="mceCenter"></div>
224
+ <div class="mceRight"></div>
225
+ <span>Statusbar text.</span>
226
+ </div>
227
+
228
+ <a class="mceMove" href="#"></a>
229
+ <a class="mceMin" href="#"></a>
230
+ <a class="mceMax" href="#"></a>
231
+ <a class="mceMed" href="#"></a>
232
+ <a class="mceClose" href="#"></a>
233
+ <a class="mceResize mceResizeN" href="#"></a>
234
+ <a class="mceResize mceResizeS" href="#"></a>
235
+ <a class="mceResize mceResizeW" href="#"></a>
236
+ <a class="mceResize mceResizeE" href="#"></a>
237
+ <a class="mceResize mceResizeNW" href="#"></a>
238
+ <a class="mceResize mceResizeNE" href="#"></a>
239
+ <a class="mceResize mceResizeSW" href="#"></a>
240
+ <a class="mceResize mceResizeSE" href="#"></a>
241
+ </div>
242
+ </div>
243
+
244
+ <div class="clearlooks2" style="width:400px; height:100px; left:10px; top:340px;">
245
+ <div class="mceWrapper mceMovable mceFocus mceResizable mceMaximized mceMinimizable mceMaximizable">
246
+ <div class="mceTop">
247
+ <div class="mceLeft"></div>
248
+ <div class="mceCenter"></div>
249
+ <div class="mceRight"></div>
250
+ <span>Maximized, Maximizable, Minimizable</span>
251
+ </div>
252
+
253
+ <div class="mceMiddle">
254
+ <div class="mceLeft"></div>
255
+ <span>Content</span>
256
+
257
+ <div class="mceRight"></div>
258
+ </div>
259
+
260
+ <div class="mceBottom">
261
+ <div class="mceLeft"></div>
262
+ <div class="mceCenter"></div>
263
+ <div class="mceRight"></div>
264
+ <span>Statusbar text.</span>
265
+ </div>
266
+
267
+ <a class="mceMove" href="#"></a>
268
+ <a class="mceMin" href="#"></a>
269
+ <a class="mceMax" href="#"></a>
270
+ <a class="mceMed" href="#"></a>
271
+ <a class="mceClose" href="#"></a>
272
+ <a class="mceResize mceResizeN" href="#"></a>
273
+ <a class="mceResize mceResizeS" href="#"></a>
274
+ <a class="mceResize mceResizeW" href="#"></a>
275
+ <a class="mceResize mceResizeE" href="#"></a>
276
+ <a class="mceResize mceResizeNW" href="#"></a>
277
+ <a class="mceResize mceResizeNE" href="#"></a>
278
+ <a class="mceResize mceResizeSW" href="#"></a>
279
+ <a class="mceResize mceResizeSE" href="#"></a>
280
+ </div>
281
+ </div>
282
+
283
+ <div class="clearlooks2" style="width:400px; height:100px; left:420px; top:340px;">
284
+ <div class="mceWrapper mceMovable mceStatusbar mceResizable mceMaximized mceMinimizable mceMaximizable">
285
+ <div class="mceTop">
286
+ <div class="mceLeft"></div>
287
+ <div class="mceCenter"></div>
288
+ <div class="mceRight"></div>
289
+ <span>Blured</span>
290
+ </div>
291
+
292
+ <div class="mceMiddle">
293
+ <div class="mceLeft"></div>
294
+ <span>Content</span>
295
+
296
+ <div class="mceRight"></div>
297
+ </div>
298
+
299
+ <div class="mceBottom">
300
+ <div class="mceLeft"></div>
301
+ <div class="mceCenter"></div>
302
+ <div class="mceRight"></div>
303
+ <span>Statusbar text.</span>
304
+ </div>
305
+
306
+ <a class="mceMove" href="#"></a>
307
+ <a class="mceMin" href="#"></a>
308
+ <a class="mceMax" href="#"></a>
309
+ <a class="mceMed" href="#"></a>
310
+ <a class="mceClose" href="#"></a>
311
+ <a class="mceResize mceResizeN" href="#"></a>
312
+ <a class="mceResize mceResizeS" href="#"></a>
313
+ <a class="mceResize mceResizeW" href="#"></a>
314
+ <a class="mceResize mceResizeE" href="#"></a>
315
+ <a class="mceResize mceResizeNW" href="#"></a>
316
+ <a class="mceResize mceResizeNE" href="#"></a>
317
+ <a class="mceResize mceResizeSW" href="#"></a>
318
+ <a class="mceResize mceResizeSE" href="#"></a>
319
+ </div>
320
+ </div>
321
+
322
+ <div class="clearlooks2" style="width:400px; height:130px; left:10px; top:450px;">
323
+ <div class="mceWrapper mceMovable mceFocus mceModal mceAlert">
324
+ <div class="mceTop">
325
+ <div class="mceLeft"></div>
326
+ <div class="mceCenter"></div>
327
+ <div class="mceRight"></div>
328
+ <span>Alert</span>
329
+ </div>
330
+
331
+ <div class="mceMiddle">
332
+ <div class="mceLeft"></div>
333
+ <span>
334
+ This is a very long error message. This is a very long error message.
335
+ This is a very long error message. This is a very long error message.
336
+ This is a very long error message. This is a very long error message.
337
+ This is a very long error message. This is a very long error message.
338
+ This is a very long error message. This is a very long error message.
339
+ This is a very long error message. This is a very long error message.
340
+ </span>
341
+
342
+ <div class="mceRight"></div>
343
+ <div class="mceIcon"></div>
344
+ </div>
345
+
346
+ <div class="mceBottom">
347
+ <div class="mceLeft"></div>
348
+ <div class="mceCenter"></div>
349
+ <div class="mceRight"></div>
350
+ </div>
351
+
352
+ <a class="mceMove" href="#"></a>
353
+ <a class="mceButton mceOk" href="#">Ok</a>
354
+ <a class="mceClose" href="#"></a>
355
+ </div>
356
+ </div>
357
+
358
+ <div class="clearlooks2" style="width:400px; height:130px; left:420px; top:450px;">
359
+ <div class="mceWrapper mceMovable mceFocus mceModal mceConfirm">
360
+ <div class="mceTop">
361
+ <div class="mceLeft"></div>
362
+ <div class="mceCenter"></div>
363
+ <div class="mceRight"></div>
364
+ <span>Confirm</span>
365
+ </div>
366
+
367
+ <div class="mceMiddle">
368
+ <div class="mceLeft"></div>
369
+ <span>
370
+ This is a very long error message. This is a very long error message.
371
+ This is a very long error message. This is a very long error message.
372
+ This is a very long error message. This is a very long error message.
373
+ This is a very long error message. This is a very long error message.
374
+ This is a very long error message. This is a very long error message.
375
+ This is a very long error message. This is a very long error message.
376
+ </span>
377
+
378
+ <div class="mceRight"></div>
379
+ <div class="mceIcon"></div>
380
+ </div>
381
+
382
+ <div class="mceBottom">
383
+ <div class="mceLeft"></div>
384
+ <div class="mceCenter"></div>
385
+ <div class="mceRight"></div>
386
+ </div>
387
+
388
+ <a class="mceMove" href="#"></a>
389
+ <a class="mceButton mceOk" href="#">Ok</a>
390
+ <a class="mceButton mceCancel" href="#">Cancel</a>
391
+ <a class="mceClose" href="#"></a>
392
+ </div>
393
+ </div>
384
394
  </div>
385
395
 
386
396
  </body>