noodall-ui 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (542) hide show
  1. data/.document +5 -0
  2. data/.gitignore +29 -0
  3. data/Gemfile +29 -0
  4. data/Gemfile.lock +205 -0
  5. data/LICENSE +20 -0
  6. data/README.rdoc +17 -0
  7. data/Rakefile +17 -0
  8. data/app/controllers/noodall/admin/assets_controller.rb +241 -0
  9. data/app/controllers/noodall/admin/base_controller.rb +8 -0
  10. data/app/controllers/noodall/admin/components_controller.rb +22 -0
  11. data/app/controllers/noodall/admin/groups_controller.rb +11 -0
  12. data/app/controllers/noodall/admin/nodes_controller.rb +159 -0
  13. data/app/controllers/noodall/nodes_controller.rb +41 -0
  14. data/app/helpers/noodall/admin/assets_helper.rb +15 -0
  15. data/app/helpers/noodall/admin/base_helper.rb +14 -0
  16. data/app/helpers/noodall/admin/nodes_helper.rb +37 -0
  17. data/app/helpers/noodall/components_helper.rb +38 -0
  18. data/app/helpers/noodall/layout_helper.rb +25 -0
  19. data/app/helpers/noodall/nodes_helper.rb +72 -0
  20. data/app/models/asset.rb +103 -0
  21. data/app/views/layouts/noodall_admin.html.erb +66 -0
  22. data/app/views/noodall/admin/assets/_browser.html.erb +28 -0
  23. data/app/views/noodall/admin/assets/_form.html.erb +54 -0
  24. data/app/views/noodall/admin/assets/_menu.html.erb +8 -0
  25. data/app/views/noodall/admin/assets/_show.html.erb +48 -0
  26. data/app/views/noodall/admin/assets/_tags.html.erb +13 -0
  27. data/app/views/noodall/admin/assets/add.html.erb +10 -0
  28. data/app/views/noodall/admin/assets/form.html.erb +12 -0
  29. data/app/views/noodall/admin/assets/form.js.erb +2 -0
  30. data/app/views/noodall/admin/assets/index.html.erb +65 -0
  31. data/app/views/noodall/admin/assets/index.js.erb +1 -0
  32. data/app/views/noodall/admin/assets/show.html.erb +3 -0
  33. data/app/views/noodall/admin/assets/show.js.erb +1 -0
  34. data/app/views/noodall/admin/assets/tags.html.erb +3 -0
  35. data/app/views/noodall/admin/assets/tags.js.erb +1 -0
  36. data/app/views/noodall/admin/components/_component.erb +0 -0
  37. data/app/views/noodall/admin/nodes/_body.html.erb +5 -0
  38. data/app/views/noodall/admin/nodes/_branch.html.erb +10 -0
  39. data/app/views/noodall/admin/nodes/_home.html.erb +27 -0
  40. data/app/views/noodall/admin/nodes/_slot_form.html.erb +16 -0
  41. data/app/views/noodall/admin/nodes/change_template.html.erb +38 -0
  42. data/app/views/noodall/admin/nodes/index.html.erb +69 -0
  43. data/app/views/noodall/admin/nodes/new.html.erb +30 -0
  44. data/app/views/noodall/admin/nodes/show.html.erb +144 -0
  45. data/app/views/noodall/admin/nodes/tree.html.erb +3 -0
  46. data/app/views/noodall/admin/nodes/tree.js.erb +2 -0
  47. data/app/views/noodall/components/_component.erb +0 -0
  48. data/app/views/noodall/nodes/search.html.erb +14 -0
  49. data/app/views/noodall/nodes/sitemap.html.erb +3 -0
  50. data/app/views/noodall/nodes/sitemap.xml.rxml +22 -0
  51. data/config/application.rb +29 -0
  52. data/config/boot.rb +13 -0
  53. data/config/cucumber.yml +8 -0
  54. data/config/database.yml +14 -0
  55. data/config/environment.rb +5 -0
  56. data/config/environments/development.rb +30 -0
  57. data/config/environments/production.rb +50 -0
  58. data/config/environments/test.rb +35 -0
  59. data/config/locales/en.yml +5 -0
  60. data/config.ru +4 -0
  61. data/demo/controllers/application_controller.rb +22 -0
  62. data/demo/initializers/dragonfly.rb +1 -0
  63. data/demo/initializers/mongo_mapper.rb +13 -0
  64. data/demo/initializers/noodall.rb +2 -0
  65. data/demo/initializers/secret_token.rb +7 -0
  66. data/demo/initializers/session_store.rb +8 -0
  67. data/demo/models/gallery.rb +17 -0
  68. data/demo/models/page_a.rb +9 -0
  69. data/demo/models/page_b.rb +4 -0
  70. data/demo/models/page_c.rb +7 -0
  71. data/demo/models/promo.rb +22 -0
  72. data/demo/models/user.rb +12 -0
  73. data/demo/routes.rb +3 -0
  74. data/demo/seeds.rb +8 -0
  75. data/demo/views/admin/components/_gallery.html.erb +49 -0
  76. data/demo/views/admin/components/_promo.html.erb +34 -0
  77. data/demo/views/admin/nodes/_page_a.html.erb +47 -0
  78. data/demo/views/admin/nodes/_page_b.html.erb +35 -0
  79. data/demo/views/admin/nodes/_page_c.html.erb +35 -0
  80. data/demo/views/components/_gallery.html.erb +23 -0
  81. data/demo/views/components/_promo.html.erb +5 -0
  82. data/demo/views/layouts/application.html.erb +121 -0
  83. data/demo/views/nodes/page_a.html.erb +14 -0
  84. data/demo/views/nodes/page_b.html.erb +9 -0
  85. data/demo/views/nodes/page_c.html.erb +12 -0
  86. data/features/change_templates.feature +25 -0
  87. data/features/content_templates.feature +18 -0
  88. data/features/gallery_component.feature +22 -0
  89. data/features/manage_assets.feature +28 -0
  90. data/features/manage_content_tree.feature +42 -0
  91. data/features/preview.feature +8 -0
  92. data/features/promo_component.feature +18 -0
  93. data/features/publish_content.feature +28 -0
  94. data/features/search.feature +12 -0
  95. data/features/sitemap.feature +9 -0
  96. data/features/step_definitions/asset_steps.rb +66 -0
  97. data/features/step_definitions/cms_node_steps.rb +126 -0
  98. data/features/step_definitions/component_steps.rb +137 -0
  99. data/features/step_definitions/content_steps.rb +187 -0
  100. data/features/step_definitions/date_select_steps.rb +39 -0
  101. data/features/step_definitions/groups_access_steps.rb +92 -0
  102. data/features/step_definitions/node_steps.rb +25 -0
  103. data/features/step_definitions/preview_steps.rb +7 -0
  104. data/features/step_definitions/pubish_content_steps.rb +45 -0
  105. data/features/step_definitions/search_steps.rb +21 -0
  106. data/features/step_definitions/sign_in_steps.rb +3 -0
  107. data/features/step_definitions/web_steps.rb +219 -0
  108. data/features/support/env.rb +52 -0
  109. data/features/support/logo.png +0 -0
  110. data/features/support/paths.rb +56 -0
  111. data/generators/component/USAGE +8 -0
  112. data/generators/component/component_generator.rb +35 -0
  113. data/generators/component/lib/insert_commands.rb +61 -0
  114. data/generators/component/templates/admin_template.html.erb +50 -0
  115. data/generators/component/templates/factory.rb +5 -0
  116. data/generators/component/templates/model.rb +8 -0
  117. data/generators/component/templates/template.html.erb +41 -0
  118. data/generators/node/USAGE +8 -0
  119. data/generators/node/lib/insert_commands.rb +47 -0
  120. data/generators/node/node_generator.rb +35 -0
  121. data/generators/node/templates/admin_template.html.erb +49 -0
  122. data/generators/node/templates/factory.rb +5 -0
  123. data/generators/node/templates/model.rb +11 -0
  124. data/generators/node/templates/template.html.erb +41 -0
  125. data/generators/node_features/USAGE +8 -0
  126. data/generators/node_features/node_features_generator.rb +16 -0
  127. data/lib/generators/noodall/node/USAGE +8 -0
  128. data/lib/generators/noodall/node/node_generator.rb +21 -0
  129. data/lib/generators/noodall/node/templates/admin_template.html.erb +52 -0
  130. data/lib/generators/noodall/node/templates/factory.rb +8 -0
  131. data/lib/generators/noodall/node/templates/model.rb +13 -0
  132. data/lib/generators/noodall/node/templates/template.html.erb +12 -0
  133. data/lib/noodall/canable.rb +1 -0
  134. data/lib/noodall/dragonfly.rb +23 -0
  135. data/lib/noodall/engine.rb +13 -0
  136. data/lib/noodall/permalinks.rb +12 -0
  137. data/lib/noodall/routes.rb +45 -0
  138. data/lib/noodall/ui/version.rb +5 -0
  139. data/lib/noodall/ui.rb +17 -0
  140. data/lib/noodall/video_thumbnail_encoder.rb +31 -0
  141. data/lib/noodall-ui.rb +6 -0
  142. data/lib/tasks/cucumber.rake +53 -0
  143. data/log/.gitignore +0 -0
  144. data/noodall-ui.gemspec +28 -0
  145. data/public/favicon.ico +0 -0
  146. data/public/images/admin/add-small.png +0 -0
  147. data/public/images/admin/add.png +0 -0
  148. data/public/images/admin/add_file.gif +0 -0
  149. data/public/images/admin/advanced.gif +0 -0
  150. data/public/images/admin/back.png +0 -0
  151. data/public/images/admin/cancel-small.gif +0 -0
  152. data/public/images/admin/cancel.gif +0 -0
  153. data/public/images/admin/change-bg.gif +0 -0
  154. data/public/images/admin/change.gif +0 -0
  155. data/public/images/admin/check.png +0 -0
  156. data/public/images/admin/clear.gif +0 -0
  157. data/public/images/admin/close.png +0 -0
  158. data/public/images/admin/create.gif +0 -0
  159. data/public/images/admin/delete.gif +0 -0
  160. data/public/images/admin/delete.png +0 -0
  161. data/public/images/admin/doc-icon.png +0 -0
  162. data/public/images/admin/document.png +0 -0
  163. data/public/images/admin/down.png +0 -0
  164. data/public/images/admin/download.png +0 -0
  165. data/public/images/admin/draft.gif +0 -0
  166. data/public/images/admin/draft.png +0 -0
  167. data/public/images/admin/edit.gif +0 -0
  168. data/public/images/admin/edit.png +0 -0
  169. data/public/images/admin/image.png +0 -0
  170. data/public/images/admin/image_small.png +0 -0
  171. data/public/images/admin/info-white.png +0 -0
  172. data/public/images/admin/info.png +0 -0
  173. data/public/images/admin/media.gif +0 -0
  174. data/public/images/admin/nav-2.gif +0 -0
  175. data/public/images/admin/nav.gif +0 -0
  176. data/public/images/admin/next.png +0 -0
  177. data/public/images/admin/no-type-icon.png +0 -0
  178. data/public/images/admin/pagination.gif +0 -0
  179. data/public/images/admin/pdf-icon.png +0 -0
  180. data/public/images/admin/prev.png +0 -0
  181. data/public/images/admin/preview.gif +0 -0
  182. data/public/images/admin/publish.gif +0 -0
  183. data/public/images/admin/remove.gif +0 -0
  184. data/public/images/admin/reset.gif +0 -0
  185. data/public/images/admin/select_image.gif +0 -0
  186. data/public/images/admin/select_images.gif +0 -0
  187. data/public/images/admin/set.gif +0 -0
  188. data/public/images/admin/sort.png +0 -0
  189. data/public/images/admin/tag.png +0 -0
  190. data/public/images/admin/templates/article-page.gif +0 -0
  191. data/public/images/admin/templates/articles-list.gif +0 -0
  192. data/public/images/admin/templates/course-page.gif +0 -0
  193. data/public/images/admin/templates/event-page.gif +0 -0
  194. data/public/images/admin/templates/events-list.gif +0 -0
  195. data/public/images/admin/templates/home.gif +0 -0
  196. data/public/images/admin/templates/landing-page.gif +0 -0
  197. data/public/images/admin/templates/page-a.gif +0 -0
  198. data/public/images/admin/templates/page-b.gif +0 -0
  199. data/public/images/admin/templates/school-landing-page.gif +0 -0
  200. data/public/images/admin/templates/study-landing-page.gif +0 -0
  201. data/public/images/admin/top-level.png +0 -0
  202. data/public/images/admin/top-level_small.png +0 -0
  203. data/public/images/admin/txt-icon.png +0 -0
  204. data/public/images/admin/uncheck.png +0 -0
  205. data/public/images/admin/up.png +0 -0
  206. data/public/images/admin/update.gif +0 -0
  207. data/public/images/admin/upload.png +0 -0
  208. data/public/images/admin/video.png +0 -0
  209. data/public/images/admin/view.png +0 -0
  210. data/public/images/admin/xls-icon.png +0 -0
  211. data/public/images/fancybox/blank.gif +0 -0
  212. data/public/images/fancybox/fancy_close.png +0 -0
  213. data/public/images/fancybox/fancy_loading.png +0 -0
  214. data/public/images/fancybox/fancy_nav_left.png +0 -0
  215. data/public/images/fancybox/fancy_nav_right.png +0 -0
  216. data/public/images/fancybox/fancy_shadow_e.png +0 -0
  217. data/public/images/fancybox/fancy_shadow_n.png +0 -0
  218. data/public/images/fancybox/fancy_shadow_ne.png +0 -0
  219. data/public/images/fancybox/fancy_shadow_nw.png +0 -0
  220. data/public/images/fancybox/fancy_shadow_s.png +0 -0
  221. data/public/images/fancybox/fancy_shadow_se.png +0 -0
  222. data/public/images/fancybox/fancy_shadow_sw.png +0 -0
  223. data/public/images/fancybox/fancy_shadow_w.png +0 -0
  224. data/public/images/fancybox/fancy_title_left.png +0 -0
  225. data/public/images/fancybox/fancy_title_main.png +0 -0
  226. data/public/images/fancybox/fancy_title_over.png +0 -0
  227. data/public/images/fancybox/fancy_title_right.png +0 -0
  228. data/public/images/fancybox/fancybox-x.png +0 -0
  229. data/public/images/fancybox/fancybox-y.png +0 -0
  230. data/public/images/fancybox/fancybox.png +0 -0
  231. data/public/images/plupload/backgrounds.gif +0 -0
  232. data/public/images/plupload/buttons-disabled.png +0 -0
  233. data/public/images/plupload/buttons.png +0 -0
  234. data/public/images/plupload/delete.gif +0 -0
  235. data/public/images/plupload/done.gif +0 -0
  236. data/public/images/plupload/error.gif +0 -0
  237. data/public/images/plupload/throbber.gif +0 -0
  238. data/public/images/plupload/transp50.png +0 -0
  239. data/public/javascripts/admin/application.js +586 -0
  240. data/public/javascripts/admin/asset_edit.js +30 -0
  241. data/public/javascripts/admin/assets.js +98 -0
  242. data/public/javascripts/admin/gotham.font.js +20 -0
  243. data/public/javascripts/admin/jquery.jqtransform.js +366 -0
  244. data/public/javascripts/admin/nodes.js +30 -0
  245. data/public/javascripts/admin/tiny_mce_config.js +118 -0
  246. data/public/javascripts/ajaxify.js +20 -0
  247. data/public/javascripts/application.js +37 -0
  248. data/public/javascripts/carousel.lite.js +1 -0
  249. data/public/javascripts/cufon-yui.js +8 -0
  250. data/public/javascripts/fancybox.js +1078 -0
  251. data/public/javascripts/plupload/gears_init.js +86 -0
  252. data/public/javascripts/plupload/jquery.plupload.queue.min.js +1 -0
  253. data/public/javascripts/plupload/plupload.flash.swf +0 -0
  254. data/public/javascripts/plupload/plupload.full.min.js +1 -0
  255. data/public/javascripts/plupload/plupload.silverlight.xap +0 -0
  256. data/public/javascripts/rails.js +132 -0
  257. data/public/javascripts/tiny_mce/jquery.tinymce.js +1 -0
  258. data/public/javascripts/tiny_mce/langs/en.js +169 -0
  259. data/public/javascripts/tiny_mce/license.txt +504 -0
  260. data/public/javascripts/tiny_mce/plugins/advhr/css/advhr.css +5 -0
  261. data/public/javascripts/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
  262. data/public/javascripts/tiny_mce/plugins/advhr/editor_plugin_src.js +57 -0
  263. data/public/javascripts/tiny_mce/plugins/advhr/js/rule.js +43 -0
  264. data/public/javascripts/tiny_mce/plugins/advhr/langs/en_dlg.js +5 -0
  265. data/public/javascripts/tiny_mce/plugins/advhr/rule.htm +57 -0
  266. data/public/javascripts/tiny_mce/plugins/advimage/css/advimage.css +13 -0
  267. data/public/javascripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
  268. data/public/javascripts/tiny_mce/plugins/advimage/editor_plugin_src.js +50 -0
  269. data/public/javascripts/tiny_mce/plugins/advimage/image.htm +232 -0
  270. data/public/javascripts/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  271. data/public/javascripts/tiny_mce/plugins/advimage/js/image.js +443 -0
  272. data/public/javascripts/tiny_mce/plugins/advimage/langs/en_dlg.js +43 -0
  273. data/public/javascripts/tiny_mce/plugins/advlink/css/advlink.css +8 -0
  274. data/public/javascripts/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
  275. data/public/javascripts/tiny_mce/plugins/advlink/editor_plugin_src.js +61 -0
  276. data/public/javascripts/tiny_mce/plugins/advlink/js/advlink.js +528 -0
  277. data/public/javascripts/tiny_mce/plugins/advlink/langs/en_dlg.js +52 -0
  278. data/public/javascripts/tiny_mce/plugins/advlink/link.htm +333 -0
  279. data/public/javascripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -0
  280. data/public/javascripts/tiny_mce/plugins/advlist/editor_plugin_src.js +154 -0
  281. data/public/javascripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -0
  282. data/public/javascripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +117 -0
  283. data/public/javascripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -0
  284. data/public/javascripts/tiny_mce/plugins/autosave/editor_plugin_src.js +422 -0
  285. data/public/javascripts/tiny_mce/plugins/autosave/langs/en.js +4 -0
  286. data/public/javascripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -0
  287. data/public/javascripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +120 -0
  288. data/public/javascripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
  289. data/public/javascripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +127 -0
  290. data/public/javascripts/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
  291. data/public/javascripts/tiny_mce/plugins/directionality/editor_plugin_src.js +82 -0
  292. data/public/javascripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -0
  293. data/public/javascripts/tiny_mce/plugins/emotions/editor_plugin_src.js +43 -0
  294. data/public/javascripts/tiny_mce/plugins/emotions/emotions.htm +40 -0
  295. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
  296. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
  297. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  298. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  299. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
  300. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
  301. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
  302. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  303. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  304. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  305. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  306. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  307. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  308. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
  309. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  310. data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
  311. data/public/javascripts/tiny_mce/plugins/emotions/js/emotions.js +22 -0
  312. data/public/javascripts/tiny_mce/plugins/emotions/langs/en_dlg.js +20 -0
  313. data/public/javascripts/tiny_mce/plugins/example/dialog.htm +22 -0
  314. data/public/javascripts/tiny_mce/plugins/example/editor_plugin.js +1 -0
  315. data/public/javascripts/tiny_mce/plugins/example/editor_plugin_src.js +84 -0
  316. data/public/javascripts/tiny_mce/plugins/example/img/example.gif +0 -0
  317. data/public/javascripts/tiny_mce/plugins/example/js/dialog.js +19 -0
  318. data/public/javascripts/tiny_mce/plugins/example/langs/en.js +3 -0
  319. data/public/javascripts/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
  320. data/public/javascripts/tiny_mce/plugins/fullpage/css/fullpage.css +182 -0
  321. data/public/javascripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -0
  322. data/public/javascripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +149 -0
  323. data/public/javascripts/tiny_mce/plugins/fullpage/fullpage.htm +571 -0
  324. data/public/javascripts/tiny_mce/plugins/fullpage/js/fullpage.js +471 -0
  325. data/public/javascripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +85 -0
  326. data/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
  327. data/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +148 -0
  328. data/public/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +109 -0
  329. data/public/javascripts/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
  330. data/public/javascripts/tiny_mce/plugins/iespell/editor_plugin_src.js +54 -0
  331. data/public/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  332. data/public/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +635 -0
  333. data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  334. data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  335. data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  336. data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  337. data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  338. data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  339. data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  340. data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +90 -0
  341. data/public/javascripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  342. data/public/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +1 -0
  343. data/public/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +83 -0
  344. data/public/javascripts/tiny_mce/plugins/layer/editor_plugin.js +1 -0
  345. data/public/javascripts/tiny_mce/plugins/layer/editor_plugin_src.js +212 -0
  346. data/public/javascripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -0
  347. data/public/javascripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +136 -0
  348. data/public/javascripts/tiny_mce/plugins/media/css/content.css +6 -0
  349. data/public/javascripts/tiny_mce/plugins/media/css/media.css +16 -0
  350. data/public/javascripts/tiny_mce/plugins/media/editor_plugin.js +1 -0
  351. data/public/javascripts/tiny_mce/plugins/media/editor_plugin_src.js +414 -0
  352. data/public/javascripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  353. data/public/javascripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  354. data/public/javascripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  355. data/public/javascripts/tiny_mce/plugins/media/img/realmedia.gif +0 -0
  356. data/public/javascripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  357. data/public/javascripts/tiny_mce/plugins/media/img/trans.gif +0 -0
  358. data/public/javascripts/tiny_mce/plugins/media/img/windowsmedia.gif +0 -0
  359. data/public/javascripts/tiny_mce/plugins/media/js/embed.js +73 -0
  360. data/public/javascripts/tiny_mce/plugins/media/js/media.js +630 -0
  361. data/public/javascripts/tiny_mce/plugins/media/langs/en_dlg.js +103 -0
  362. data/public/javascripts/tiny_mce/plugins/media/media.htm +817 -0
  363. data/public/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -0
  364. data/public/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +53 -0
  365. data/public/javascripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -0
  366. data/public/javascripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +90 -0
  367. data/public/javascripts/tiny_mce/plugins/pagebreak/css/content.css +1 -0
  368. data/public/javascripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -0
  369. data/public/javascripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +77 -0
  370. data/public/javascripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif +0 -0
  371. data/public/javascripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  372. data/public/javascripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  373. data/public/javascripts/tiny_mce/plugins/paste/editor_plugin_src.js +929 -0
  374. data/public/javascripts/tiny_mce/plugins/paste/js/pastetext.js +36 -0
  375. data/public/javascripts/tiny_mce/plugins/paste/js/pasteword.js +51 -0
  376. data/public/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
  377. data/public/javascripts/tiny_mce/plugins/paste/pastetext.htm +27 -0
  378. data/public/javascripts/tiny_mce/plugins/paste/pasteword.htm +21 -0
  379. data/public/javascripts/tiny_mce/plugins/preview/editor_plugin.js +1 -0
  380. data/public/javascripts/tiny_mce/plugins/preview/editor_plugin_src.js +53 -0
  381. data/public/javascripts/tiny_mce/plugins/preview/example.html +28 -0
  382. data/public/javascripts/tiny_mce/plugins/preview/jscripts/embed.js +73 -0
  383. data/public/javascripts/tiny_mce/plugins/preview/preview.html +17 -0
  384. data/public/javascripts/tiny_mce/plugins/print/editor_plugin.js +1 -0
  385. data/public/javascripts/tiny_mce/plugins/print/editor_plugin_src.js +34 -0
  386. data/public/javascripts/tiny_mce/plugins/save/editor_plugin.js +1 -0
  387. data/public/javascripts/tiny_mce/plugins/save/editor_plugin_src.js +101 -0
  388. data/public/javascripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +6 -0
  389. data/public/javascripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -0
  390. data/public/javascripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +57 -0
  391. data/public/javascripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +130 -0
  392. data/public/javascripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +16 -0
  393. data/public/javascripts/tiny_mce/plugins/searchreplace/searchreplace.htm +99 -0
  394. data/public/javascripts/tiny_mce/plugins/spellchecker/css/content.css +1 -0
  395. data/public/javascripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
  396. data/public/javascripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +341 -0
  397. data/public/javascripts/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  398. data/public/javascripts/tiny_mce/plugins/style/css/props.css +13 -0
  399. data/public/javascripts/tiny_mce/plugins/style/editor_plugin.js +1 -0
  400. data/public/javascripts/tiny_mce/plugins/style/editor_plugin_src.js +55 -0
  401. data/public/javascripts/tiny_mce/plugins/style/js/props.js +641 -0
  402. data/public/javascripts/tiny_mce/plugins/style/langs/en_dlg.js +63 -0
  403. data/public/javascripts/tiny_mce/plugins/style/props.htm +726 -0
  404. data/public/javascripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -0
  405. data/public/javascripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +112 -0
  406. data/public/javascripts/tiny_mce/plugins/table/cell.htm +178 -0
  407. data/public/javascripts/tiny_mce/plugins/table/css/cell.css +17 -0
  408. data/public/javascripts/tiny_mce/plugins/table/css/row.css +25 -0
  409. data/public/javascripts/tiny_mce/plugins/table/css/table.css +13 -0
  410. data/public/javascripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
  411. data/public/javascripts/tiny_mce/plugins/table/editor_plugin_src.js +1118 -0
  412. data/public/javascripts/tiny_mce/plugins/table/js/cell.js +286 -0
  413. data/public/javascripts/tiny_mce/plugins/table/js/merge_cells.js +27 -0
  414. data/public/javascripts/tiny_mce/plugins/table/js/row.js +237 -0
  415. data/public/javascripts/tiny_mce/plugins/table/js/table.js +449 -0
  416. data/public/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +74 -0
  417. data/public/javascripts/tiny_mce/plugins/table/merge_cells.htm +32 -0
  418. data/public/javascripts/tiny_mce/plugins/table/row.htm +155 -0
  419. data/public/javascripts/tiny_mce/plugins/table/table.htm +187 -0
  420. data/public/javascripts/tiny_mce/plugins/template/blank.htm +12 -0
  421. data/public/javascripts/tiny_mce/plugins/template/css/template.css +23 -0
  422. data/public/javascripts/tiny_mce/plugins/template/editor_plugin.js +1 -0
  423. data/public/javascripts/tiny_mce/plugins/template/editor_plugin_src.js +159 -0
  424. data/public/javascripts/tiny_mce/plugins/template/js/template.js +106 -0
  425. data/public/javascripts/tiny_mce/plugins/template/langs/en_dlg.js +15 -0
  426. data/public/javascripts/tiny_mce/plugins/template/template.htm +32 -0
  427. data/public/javascripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -0
  428. data/public/javascripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +76 -0
  429. data/public/javascripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -0
  430. data/public/javascripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +98 -0
  431. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +141 -0
  432. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +141 -0
  433. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +148 -0
  434. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/cite.htm +141 -0
  435. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +11 -0
  436. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +9 -0
  437. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/del.htm +161 -0
  438. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  439. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +144 -0
  440. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/ins.htm +161 -0
  441. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +28 -0
  442. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +28 -0
  443. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +126 -0
  444. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +28 -0
  445. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/del.js +63 -0
  446. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +231 -0
  447. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +62 -0
  448. data/public/javascripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
  449. data/public/javascripts/tiny_mce/themes/advanced/about.htm +54 -0
  450. data/public/javascripts/tiny_mce/themes/advanced/anchor.htm +26 -0
  451. data/public/javascripts/tiny_mce/themes/advanced/charmap.htm +53 -0
  452. data/public/javascripts/tiny_mce/themes/advanced/color_picker.htm +73 -0
  453. data/public/javascripts/tiny_mce/themes/advanced/editor_template.js +1 -0
  454. data/public/javascripts/tiny_mce/themes/advanced/editor_template_src.js +1167 -0
  455. data/public/javascripts/tiny_mce/themes/advanced/image.htm +80 -0
  456. data/public/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  457. data/public/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  458. data/public/javascripts/tiny_mce/themes/advanced/js/about.js +72 -0
  459. data/public/javascripts/tiny_mce/themes/advanced/js/anchor.js +37 -0
  460. data/public/javascripts/tiny_mce/themes/advanced/js/charmap.js +335 -0
  461. data/public/javascripts/tiny_mce/themes/advanced/js/color_picker.js +253 -0
  462. data/public/javascripts/tiny_mce/themes/advanced/js/image.js +245 -0
  463. data/public/javascripts/tiny_mce/themes/advanced/js/link.js +156 -0
  464. data/public/javascripts/tiny_mce/themes/advanced/js/source_editor.js +62 -0
  465. data/public/javascripts/tiny_mce/themes/advanced/langs/en.js +62 -0
  466. data/public/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +51 -0
  467. data/public/javascripts/tiny_mce/themes/advanced/link.htm +58 -0
  468. data/public/javascripts/tiny_mce/themes/advanced/skins/default/content.css +35 -0
  469. data/public/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +117 -0
  470. data/public/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  471. data/public/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  472. data/public/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  473. data/public/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  474. data/public/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  475. data/public/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  476. data/public/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +213 -0
  477. data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +35 -0
  478. data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +116 -0
  479. data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  480. data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  481. data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  482. data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +215 -0
  483. data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  484. data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  485. data/public/javascripts/tiny_mce/themes/advanced/source_editor.htm +26 -0
  486. data/public/javascripts/tiny_mce/themes/simple/editor_template.js +1 -0
  487. data/public/javascripts/tiny_mce/themes/simple/editor_template_src.js +85 -0
  488. data/public/javascripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  489. data/public/javascripts/tiny_mce/themes/simple/langs/en.js +11 -0
  490. data/public/javascripts/tiny_mce/themes/simple/skins/default/content.css +25 -0
  491. data/public/javascripts/tiny_mce/themes/simple/skins/default/ui.css +32 -0
  492. data/public/javascripts/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
  493. data/public/javascripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  494. data/public/javascripts/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
  495. data/public/javascripts/tiny_mce/tiny_mce.js +1 -0
  496. data/public/javascripts/tiny_mce/tiny_mce_popup.js +5 -0
  497. data/public/javascripts/tiny_mce/tiny_mce_src.js +13134 -0
  498. data/public/javascripts/tiny_mce/utils/editable_selects.js +70 -0
  499. data/public/javascripts/tiny_mce/utils/form_utils.js +200 -0
  500. data/public/javascripts/tiny_mce/utils/mctabs.js +77 -0
  501. data/public/javascripts/tiny_mce/utils/validate.js +220 -0
  502. data/public/stylesheets/admin/fancybox.css +341 -0
  503. data/public/stylesheets/admin/forms.css +520 -0
  504. data/public/stylesheets/admin/handheld.css +6 -0
  505. data/public/stylesheets/admin/ie.css +118 -0
  506. data/public/stylesheets/admin/ie6.css +23 -0
  507. data/public/stylesheets/admin/ie8.css +16 -0
  508. data/public/stylesheets/admin/layout.css +723 -0
  509. data/public/stylesheets/admin/print.css +27 -0
  510. data/public/stylesheets/admin/reset.css +81 -0
  511. data/public/stylesheets/admin/skin.css +698 -0
  512. data/public/stylesheets/admin/tinymce.css +2 -0
  513. data/public/stylesheets/admin/typography.css +207 -0
  514. data/public/stylesheets/ellipsis.xml +15 -0
  515. data/public/stylesheets/fancybox.css +313 -0
  516. data/public/stylesheets/forms.css +7 -0
  517. data/public/stylesheets/ie.css +12 -0
  518. data/public/stylesheets/ie8.css +8 -0
  519. data/public/stylesheets/layout.css +31 -0
  520. data/public/stylesheets/plupload.queue.css +181 -0
  521. data/public/stylesheets/reset.css +84 -0
  522. data/public/stylesheets/sass/forms.scss +7 -0
  523. data/public/stylesheets/sass/ie.scss +12 -0
  524. data/public/stylesheets/sass/ie8.scss +8 -0
  525. data/public/stylesheets/sass/layout.scss +45 -0
  526. data/public/stylesheets/sass/skin.scss +35 -0
  527. data/public/stylesheets/sass/typography.scss +162 -0
  528. data/public/stylesheets/skin.css +22 -0
  529. data/public/stylesheets/typography.css +162 -0
  530. data/script/cucumber +10 -0
  531. data/script/rails +6 -0
  532. data/spec/factories/asset.rb +16 -0
  533. data/spec/factories/component.rb +9 -0
  534. data/spec/factories/node.rb +15 -0
  535. data/spec/factories/user.rb +5 -0
  536. data/spec/files/beef.png +0 -0
  537. data/spec/files/get_video.flv +0 -0
  538. data/spec/files/test.pdf +0 -0
  539. data/spec/noodall-ui_spec.rb +9 -0
  540. data/spec/spec_helper.rb +4 -0
  541. data/tmp/.gitignore +0 -0
  542. metadata +685 -0
@@ -0,0 +1,118 @@
1
+ lite_tiny_mce_config = {
2
+ script_url : '/javascripts/tiny_mce/tiny_mce.js',
3
+
4
+ content_css : "/stylesheets/admin/tinymce.css",
5
+
6
+ theme : "advanced",
7
+ mode : "specific_textareas",
8
+ editor_selector : "lite-editor",
9
+ strict_loading_mode : 1,
10
+ convert_urls : false,
11
+ plugins : "safari,inlinepopups,xhtmlxtras,paste,media,advimage,table,media",
12
+ //"safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking",
13
+ // Theme options
14
+ theme_advanced_blockformats : "h2,h3,h4,p",
15
+ theme_advanced_buttons1 : "bold,italic,underline,|,table,delete_table,col_before,col_after,row_before,row_after,delete_col,delete_row",
16
+ theme_advanced_buttons2 : "",
17
+ theme_advanced_buttons3 : "",
18
+ theme_advanced_buttons4 : "",
19
+ theme_advanced_path : false,
20
+ theme_advanced_toolbar_location : "top",
21
+ theme_advanced_toolbar_align : "left",
22
+ theme_advanced_statusbar_location : "bottom",
23
+ theme_advanced_resizing : true,
24
+ theme_advanced_styles : "Footnote=footnote",
25
+
26
+ paste_auto_cleanup_on_paste : true,
27
+ paste_strip_class_attributes: 'mso'
28
+ };
29
+
30
+ tiny_mce_config = {};
31
+
32
+ // add in some bits for the advanced editor
33
+ $.extend(tiny_mce_config, lite_tiny_mce_config, {
34
+ editor_selector : "editor",
35
+ theme_advanced_buttons1 : "bold,italic,underline,|,formatselect,removeformat ,|,bullist,numlist,|,link,unlink,anchor,|,outdent,indent,blockquote,|,justifyleft,justifycenter,justifyright,justifyfull",
36
+ theme_advanced_buttons2 : "table,delete_table,col_before,col_after,row_before,row_after,delete_col,delete_row,|,code,attribs,image,media, assetbrowser,nodebrowser",
37
+
38
+ setup : function(ed) {
39
+ // Add a custom button
40
+ ed.addButton('assetbrowser', {
41
+ title : 'Insert Asset',
42
+ image : '/images/admin/image_small.png',
43
+ href: '#asset-browser',
44
+ onclick : function() {
45
+ Browser.before_close = function() {
46
+ asset_id = Browser.assets_to_add[0];
47
+ if (asset_id) {
48
+ add_url = $('#asset-' + asset_id).siblings('a.show').attr('href').split('?')[0] + '/add';
49
+ $.get(add_url, { node_id: Node.id() }, function(data) {
50
+ tinyMCE.activeEditor.focus();
51
+ tinyMCE.activeEditor.selection.setContent(data);
52
+ $.fancybox.close();
53
+ }, 'html');
54
+ }
55
+ return false;
56
+ };
57
+ Browser.open();
58
+ }
59
+ });
60
+
61
+ ed.addButton('nodebrowser', {
62
+ title : 'Insert an internal link',
63
+ image : '/images/admin/top-level_small.png',
64
+ href: '#asset-browser',
65
+ onclick : function() {
66
+ // open asset lightbox
67
+ $.get("/admin/nodes/tree", function() {
68
+ // reopen the opening form if you close this form
69
+ $.fancybox({
70
+ href: '#tree-browser',
71
+ title: "Link to content"
72
+ });
73
+ $('#tree-browser').attr('class', 'tinymce');
74
+ },
75
+ 'script');
76
+ }
77
+ });
78
+
79
+ ed.onPostProcess.add(function(ed, o) {
80
+ if(o.save){
81
+ // remove mce empty spans
82
+ o.content = o.content.replace(/<span id=._mce_start. .*?><\/span>/ig, '');
83
+ }
84
+ });
85
+
86
+ // wow what a hack: insert a containing span for the page name if nothing is selected,
87
+ // then insert the link, then remove containing span after all is good
88
+ $('#tree-browser.tinymce li a').live('click', function(event) {
89
+ add_url = $(this).attr('href').split('?')[0];
90
+
91
+ if(tinyMCE.activeEditor.selection.getContent().length === 0){
92
+ tinyMCE.execInstanceCommand(tinyMCE.activeEditor.id, 'mceInsertRawHTML', false, '<span class="tmp_tag">' + $(this).text() + '</span>');
93
+ spans = tinyMCE.activeEditor.dom.select('span');
94
+
95
+ $.each(spans, function(i, span){
96
+ if($(span).hasClass('tmp_tag')) {
97
+ tinyMCE.activeEditor.selection.select(span);
98
+ }
99
+ });
100
+ }
101
+
102
+ tinyMCE.execInstanceCommand(tinyMCE.activeEditor.id, 'mceInsertLink', false, add_url, true);
103
+ $.fancybox.close();
104
+
105
+ tinyMCE.activeEditor.setContent(tinyMCE.activeEditor.getContent().replace(/<span class="tmp_tag">(.*?)<\/span>/i, "$1"));
106
+
107
+ event.stopImmediatePropagation();
108
+ return false;
109
+ });
110
+
111
+ }
112
+ });
113
+
114
+
115
+
116
+ $(function() {
117
+ $('textarea.editor').tinymce(tiny_mce_config);
118
+ });
@@ -0,0 +1,20 @@
1
+ // Set a form to send via ajax and remove current errors
2
+ // usage:
3
+ // ajaxifyForms('#new_subscriber')
4
+ function ajaxifyForms(selector) {
5
+ $(selector).live('submit', function() {
6
+ $(this).find('#errorExplanation, .success').slideUp('fast', function() { $(this).remove();});
7
+ $.post($(this).attr('action'), $(this).serialize(), null, 'script' );
8
+ return false;
9
+ });
10
+ }
11
+
12
+ // Set a link to get via ajax
13
+ // usage:
14
+ // ajaxifyLinks('#tags a')
15
+ function ajaxifyLinks(selector) {
16
+ $(selector).live('click', function() {
17
+ $.get($(this).attr('href'), $(this).serialize(), null, 'script' );
18
+ return false;
19
+ });
20
+ }
@@ -0,0 +1,37 @@
1
+ // APPLICATION.JS
2
+ // In jQuery if you dont mind.
3
+
4
+
5
+ // Cufon
6
+ Cufon.replace( "", {hover: 'true',fontFamily: 'Helvetica Neue LT Std'});
7
+
8
+
9
+ $(document).ready(function () {
10
+
11
+ // Gallery
12
+ if($("ul.gallery li").length > 3) {
13
+ $("#gallery").prepend("<a class='carousel-back'>Backward</a>");
14
+ $("#gallery").append("<a class='carousel-forward'>Forward</a>");
15
+
16
+ $(".image-gallery").jCarouselLite({
17
+ visible: 3,
18
+ btnNext: ".carousel-forward",
19
+ btnPrev: ".carousel-back"
20
+ });
21
+ };
22
+
23
+ // Use fancy box on all images that link to an image
24
+ $("a[href$=jpg], a[href$=png], a[href$=gif]").fancybox({
25
+ 'zoomOpacity' : true,
26
+ 'overlayShow' : true,
27
+ 'zoomSpeedIn' : 500,
28
+ 'zoomSpeedOut' : 500,
29
+ 'overlayOpacity' : 0.8,
30
+ 'overlayColor' : '#000'
31
+ });
32
+
33
+ // External links open in a new tab/window
34
+ $("a[href^=http]").attr('target', '_blank');
35
+
36
+
37
+ }); // close document.ready
@@ -0,0 +1 @@
1
+ (function($){$.fn.jCarouselLite=function(o){o=$.extend({btnPrev:null,btnNext:null,btnGo:null,mouseWheel:false,auto:null,speed:200,easing:null,vertical:false,circular:true,visible:3,start:0,scroll:1,beforeStart:null,afterEnd:null},o||{});return this.each(function(){var b=false,animCss=o.vertical?"top":"left",sizeCss=o.vertical?"height":"width";var c=$(this),ul=$("ul",c),tLi=$("li",ul),tl=tLi.size(),v=o.visible;if(o.circular){ul.prepend(tLi.slice(tl-v-1+1).clone(true)).append(tLi.slice(0,v).clone(true));o.start+=v}var f=$("li",ul),itemLength=f.size(),curr=o.start;c.css("visibility","visible");f.css({overflow:"hidden",float:o.vertical?"none":"left"});ul.css({margin:"0",padding:"0",position:"relative","list-style-type":"none","z-index":"1"});c.css({overflow:"hidden",position:"relative","z-index":"2",left:"0px"});var g=o.vertical?height(f):width(f);var h=g*itemLength;var j=g*v;f.css({width:f.width(),height:f.height()});ul.css(sizeCss,h+"px").css(animCss,-(curr*g));c.css(sizeCss,j+"px");if(o.btnPrev)$(o.btnPrev).click(function(){return go(curr-o.scroll)});if(o.btnNext)$(o.btnNext).click(function(){return go(curr+o.scroll)});if(o.btnGo)$.each(o.btnGo,function(i,a){$(a).click(function(){return go(o.circular?o.visible+i:i)})});if(o.mouseWheel&&c.mousewheel)c.mousewheel(function(e,d){return d>0?go(curr-o.scroll):go(curr+o.scroll)});if(o.auto)setInterval(function(){go(curr+o.scroll)},o.auto+o.speed);function vis(){return f.slice(curr).slice(0,v)};function go(a){if(!b){if(o.beforeStart)o.beforeStart.call(this,vis());if(o.circular){if(a<=o.start-v-1){ul.css(animCss,-((itemLength-(v*2))*g)+"px");curr=a==o.start-v-1?itemLength-(v*2)-1:itemLength-(v*2)-o.scroll}else if(a>=itemLength-v+1){ul.css(animCss,-((v)*g)+"px");curr=a==itemLength-v+1?v+1:v+o.scroll}else curr=a}else{if(a<0||a>itemLength-v)return;else curr=a}b=true;ul.animate(animCss=="left"?{left:-(curr*g)}:{top:-(curr*g)},o.speed,o.easing,function(){if(o.afterEnd)o.afterEnd.call(this,vis());b=false});if(!o.circular){$(o.btnPrev+","+o.btnNext).removeClass("disabled");$((curr-o.scroll<0&&o.btnPrev)||(curr+o.scroll>itemLength-v&&o.btnNext)||[]).addClass("disabled")}}return false}})};function css(a,b){return parseInt($.css(a[0],b))||0};function width(a){return a[0].offsetWidth+css(a,'marginLeft')+css(a,'marginRight')};function height(a){return a[0].offsetHeight+css(a,'marginTop')+css(a,'marginBottom')}})(jQuery);
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2009 Simo Kinnunen.
3
+ * Licensed under the MIT license.
4
+ *
5
+ * @version 1.02
6
+ */
7
+ var Cufon=(function(){var m=function()
8
+ {return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E<B;++E){D=C[E].split("=",2).reverse();G.stops.push([D[1]||E/(B-1),D[0]])}return G}),hasClass:function(C,B){return RegExp("(?:^|\\s)"+B+"(?=\\s|$)").test(C.className)},quotedList:j(function(E){var D=[],C=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,B;while(B=C.exec(E)){D.push(B[3]||B[1])}return D}),recognizesMedia:j(function(G){var E=document.createElement("style"),D,C,B;E.type="text/css";E.media=G;try{E.appendChild(document.createTextNode("/**/"))}catch(F){}C=g("head")[0];C.insertBefore(E,C.firstChild);D=(E.sheet||E.styleSheet);B=D&&!D.disabled;C.removeChild(E);return B}),removeClass:function(D,C){var B=RegExp("(?:^|\\s+)"+C+"(?=\\s|$)","g");D.className=D.className.replace(B,"");return D},supports:function(D,C){var B=document.createElement("span").style;if(B[D]===undefined){return false}B[D]=C;return B[D]===C},textAlign:function(E,D,B,C){if(D.get("textAlign")=="right"){if(B>0){E=" "+E}}else{if(B<C-1){E+=" "}}return E},textDecoration:function(G,F){if(!F){F=this.getStyle(G)}var C={underline:null,overline:null,"line-through":null};for(var B=G;B.parentNode&&B.parentNode.nodeType==1;){var E=true;for(var D in C){if(!k(C,D)||C[D]){continue}if(F.get("textDecoration").indexOf(D)!=-1){C[D]=F.get("color")}E=false}if(E){break}F=this.getStyle(B=B.parentNode)}return C},textShadow:j(function(F){if(F=="none"){return null}var E=[],G={},B,C=0;var D=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(B=D.exec(F)){if(B[0]==","){E.push(G);G={};C=0}else{if(B[1]){G.color=B[1]}else{G[["offX","offY","blur"][C++]]=B[2]}}}E.push(G);return E}),textTransform:(function(){var B={uppercase:function(C){return C.toUpperCase()},lowercase:function(C){return C.toLowerCase()},capitalize:function(C){return C.replace(/\b./g,function(D){return D.toUpperCase()})}};return function(E,D){var C=B[D.get("textTransform")];return C?C(E):E}})(),whiteSpace:(function(){var B={inline:1,"inline-block":1,"run-in":1};return function(E,C,D){if(B[C.get("display")]){return E}if(!D.previousSibling){E=E.replace(/^\s+/,"")}if(!D.nextSibling){E=E.replace(/\s+$/,"")}return E}})()};n.ready=(function(){var B=!n.recognizesMedia("all"),E=false;var D=[],H=function(){B=true;for(var K;K=D.shift();K()){}};var I=g("link"),J=g("style");function C(K){return K.disabled||G(K.sheet,K.media||"screen")}function G(M,P){if(!n.recognizesMedia(P||"all")){return true}if(!M||M.disabled){return false}try{var Q=M.cssRules,O;if(Q){search:for(var L=0,K=Q.length;O=Q[L],L<K;++L){switch(O.type){case 2:break;case 3:if(!G(O.styleSheet,O.media.mediaText)){return false}break;default:break search}}}}catch(N){}return true}function F(){if(document.createStyleSheet){return true}var L,K;for(K=0;L=I[K];++K){if(L.rel.toLowerCase()=="stylesheet"&&!C(L)){return false}}for(K=0;L=J[K];++K){if(!C(L)){return false}}return true}x.ready(function(){if(!E){E=n.getStyle(document.body).isUsable()}if(B||(E&&F())){H()}else{setTimeout(arguments.callee,10)}});return function(K){if(B){K()}else{D.push(K)}}})();function s(C){var B=this.face=C.face;this.glyphs=C.glyphs;this.w=C.w;this.baseSize=parseInt(B["units-per-em"],10);this.family=B["font-family"].toLowerCase();this.weight=B["font-weight"];this.style=B["font-style"]||"normal";this.viewBox=(function(){var E=B.bbox.split(/\s+/);var D={minX:parseInt(E[0],10),minY:parseInt(E[1],10),maxX:parseInt(E[2],10),maxY:parseInt(E[3],10)};D.width=D.maxX-D.minX;D.height=D.maxY-D.minY;D.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return D})();this.ascent=-parseInt(B.ascent,10);this.descent=-parseInt(B.descent,10);this.height=-this.ascent+this.descent}function f(){var C={},B={oblique:"italic",italic:"oblique"};this.add=function(D){(C[D.style]||(C[D.style]={}))[D.weight]=D};this.get=function(H,I){var G=C[H]||C[B[H]]||C.normal||C.italic||C.oblique;if(!G){return null}I={normal:400,bold:700}[I]||parseInt(I,10);if(G[I]){return G[I]}var E={1:1,99:0}[I%100],K=[],F,D;if(E===undefined){E=I>400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||J<F){F=J}if(!D||J>D){D=J}K.push(J)}if(I<F){I=F}if(I>D){I=D}K.sort(function(M,L){return(E?(M>I&&L>I)?M<L:M>L:(M<I&&L<I)?M>L:M<L)?-1:1});return G[K[0]]}}function r(){function D(F,G){if(F.contains){return F.contains(G)}return F.compareDocumentPosition(G)&16}function B(G){var F=G.relatedTarget;if(!F||D(this,F)){return}C(this)}function E(F){C(this)}function C(F){setTimeout(function(){m.replace(F,d.get(F).options,true)},10)}this.attach=function(F){if(F.onmouseenter===undefined){q(F,"mouseover",B);q(F,"mouseout",B)}else{q(F,"mouseenter",E);q(F,"mouseleave",E)}}}function u(){var C=[],D={};function B(H){var E=[],G;for(var F=0;G=H[F];++F){E[F]=C[D[G]]}return E}this.add=function(F,E){D[F]=C.push(E)-1};this.repeat=function(){var E=arguments.length?B(arguments):C,F;for(var G=0;F=E[G++];){m.replace(F[0],F[1],true)}}}function A(){var D={},B=0;function C(E){return E.cufid||(E.cufid=++B)}this.get=function(E){var F=C(E);return D[F]||(D[F]={})}}function a(B){var D={},C={};this.extend=function(E){for(var F in E){if(k(E,F)){D[F]=E[F]}}return this};this.get=function(E){return D[E]!=undefined?D[E]:B[E]};this.getSize=function(F,E){return C[F]||(C[F]=new n.Size(this.get(F),E))};this.isUsable=function(){return !!B}}function q(C,B,D){if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}}function v(C,B){var D=d.get(C);if(D.options){return C}if(B.hover&&B.hoverables[C.nodeName.toLowerCase()]){b.attach(C)}D.options=B;return C}function j(B){var C={};return function(D){if(!k(C,D)){C[D]=B.apply(null,arguments)}return C[D]}}function c(F,E){var B=n.quotedList(E.get("fontFamily").toLowerCase()),D;for(var C=0;D=B[C];++C){if(i[D]){return i[D].get(E.get("fontStyle"),E.get("fontWeight"))}}return null}function g(B){return document.getElementsByTagName(B)}function k(C,B){return C.hasOwnProperty(B)}function h(){var B={},D,F;for(var E=0,C=arguments.length;D=arguments[E],E<C;++E){for(F in D){if(k(D,F)){B[F]=D[F]}}}return B}function o(E,M,C,N,F,D){var K=document.createDocumentFragment(),H;if(M===""){return K}var L=N.separate;var I=M.split(p[L]),B=(L=="words");if(B&&t){if(/^\s/.test(M)){I.unshift("")}if(/\s$/.test(M)){I.push("")}}for(var J=0,G=I.length;J<G;++J){H=z[N.engine](E,B?n.textAlign(I[J],C,J,G):I[J],C,N,F,D,J<G-1);if(H){K.appendChild(H)}}return K}function l(C,J){var B=n.getStyle(v(C,J)).extend(J);var D=c(C,B),E,H,G,F,I;for(E=C.firstChild;E;E=G){H=E.nodeType;G=E.nextSibling;if(H==3){if(F){F.appendData(E.data);C.removeChild(E)}else{F=E}if(G){continue}}if(F){C.replaceChild(o(D,n.whiteSpace(F.data,B,F),B,J,E,C),F);F=null}if(H==1&&E.firstChild){if(n.hasClass(E,"cufon")){z[J.engine](D,null,B,J,E,C)}else{arguments.callee(E,J)}}}}var t=" ".split(/\s+/).length==0;var d=new A();var b=new r();var y=new u();var e=false;var z={},i={},w={enableTextDecoration:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textShadow:"none"};var p={words:/[^\S\u00a0]+/,characters:"",none:/^/};m.now=function(){x.ready();return m};m.refresh=function(){y.repeat.apply(y,arguments);return m};m.registerEngine=function(C,B){if(!B){return m}z[C]=B;return m.set("engine",C)};m.registerFont=function(D){var B=new s(D),C=B.family;if(!i[C]){i[C]=new f()}i[C].add(B);return m.set("fontFamily",'"'+C+'"')};m.replace=function(D,C,B){C=h(w,C);if(!C.engine){return m}if(!e){n.addClass(x.root(),"cufon-active cufon-loading");n.ready(function(){n.addClass(n.removeClass(x.root(),"cufon-loading"),"cufon-ready")});e=true}if(C.hover){C.forceHitArea=true}if(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}if(!B){y.add(D,arguments)}if(D.nodeType||typeof D=="string"){D=[D]}n.ready(function(){for(var F=0,E=D.length;F<E;++F){var G=D[F];if(typeof G=="string"){m.replace(C.selector(G),C,true)}else{l(G,C)}}});return m};m.set=function(B,C){w[B]=C;return m};return m})();Cufon.registerEngine("canvas",(function(){var b=document.createElement("canvas");if(!b||!b.getContext||!b.getContext.apply){return}b=null;var a=Cufon.CSS.supports("display","inline-block");var e=!a&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var f=document.createElement("style");f.type="text/css";f.appendChild(document.createTextNode((".cufon-canvas{text-indent:0;}@media screen,projection{.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}.cufon-canvas .cufon-alt{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?".cufon-canvas canvas{position:relative;}":".cufon-canvas canvas{position:absolute;}")+"}@media print{.cufon-canvas{padding:0;}.cufon-canvas canvas{display:none;}.cufon-canvas .cufon-alt{display:inline;}}").replace(/;/g,"!important;")));document.getElementsByTagName("head")[0].appendChild(f);function d(p,h){var n=0,m=0;var g=[],o=/([mrvxe])([^a-z]*)/g,k;generate:for(var j=0;k=o.exec(p);++j){var l=k[2].split(",");switch(k[1]){case"v":g[j]={m:"bezierCurveTo",a:[n+~~l[0],m+~~l[1],n+~~l[2],m+~~l[3],n+=~~l[4],m+=~~l[5]]};break;case"r":g[j]={m:"lineTo",a:[n+=~~l[0],m+=~~l[1]]};break;case"m":g[j]={m:"moveTo",a:[n=~~l[0],m=~~l[1]]};break;case"x":g[j]={m:"closePath"};break;case"e":break generate}h[g[j].m].apply(h,g[j].a)}return g}function c(m,k){for(var j=0,h=m.length;j<h;++j){var g=m[j];k[g.m].apply(k,g.a)}}return function(ah,H,Z,D,L,ai){var n=(H===null);if(n){H=L.alt}var J=ah.viewBox;var p=Z.getSize("fontSize",ah.baseSize);var X=Z.get("letterSpacing");X=(X=="normal")?0:p.convertFrom(parseInt(X,10));var K=0,Y=0,W=0,F=0;var I=D.textShadow,U=[];if(I){for(var ag=I.length;ag--;){var O=I[ag];var T=p.convertFrom(parseFloat(O.offX));var R=p.convertFrom(parseFloat(O.offY));U[ag]=[T,R];if(R<K){K=R}if(T>Y){Y=T}if(R>W){W=R}if(T<F){F=T}}}var al=Cufon.CSS.textTransform(H,Z).split(""),B;var o=ah.glyphs,E,r,ac;var h=0,v,N=[];for(var ag=0,ae=0,ab=al.length;ag<ab;++ag){E=o[B=al[ag]]||ah.missingGlyph;if(!E){continue}if(r){h-=ac=r[B]||0;N[ae-1]-=ac}h+=v=N[ae++]=~~(E.w||ah.w)+X;r=E.k}if(v===undefined){return null}Y+=J.width-v;F+=J.minX;var C,q;if(n){C=L;q=L.firstChild}else{C=document.createElement("span");C.className="cufon cufon-canvas";C.alt=H;q=document.createElement("canvas");C.appendChild(q);if(D.printable){var ad=document.createElement("span");ad.className="cufon-alt";ad.appendChild(document.createTextNode(H));C.appendChild(ad)}}var am=C.style;var Q=q.style;var m=p.convert(J.height);var ak=Math.ceil(m);var V=ak/m;var P=V*Cufon.CSS.fontStretch(Z.get("fontStretch"));var S=h*P;var aa=Math.ceil(p.convert(S+Y-F));var t=Math.ceil(p.convert(J.height-K+W));q.width=aa;q.height=t;Q.width=aa+"px";Q.height=t+"px";K+=J.minY;Q.top=Math.round(p.convert(K-ah.ascent))+"px";Q.left=Math.round(p.convert(F))+"px";var A=Math.ceil(p.convert(S))+"px";if(a){am.width=A;am.height=p.convert(ah.height)+"px"}else{am.paddingLeft=A;am.paddingBottom=(p.convert(ah.height)-1)+"px"}var aj=q.getContext("2d"),M=m/J.height;aj.scale(M,M*V);aj.translate(-F,-K);aj.lineWidth=ah.face["underline-thickness"];aj.save();function s(i,g){aj.strokeStyle=g;aj.beginPath();aj.moveTo(0,i);aj.lineTo(h,i);aj.stroke()}var u=D.enableTextDecoration?Cufon.CSS.textDecoration(ai,Z):{};if(u.underline){s(-ah.face["underline-position"],u.underline)}if(u.overline){s(ah.ascent,u.overline)}function af(){aj.scale(P,1);for(var x=0,k=0,g=al.length;x<g;++x){var y=o[al[x]]||ah.missingGlyph;if(!y){continue}if(y.d){aj.beginPath();if(y.code){c(y.code,aj)}else{y.code=d("m"+y.d,aj)}aj.fill()}aj.translate(N[k++],0)}aj.restore()}if(I){for(var ag=I.length;ag--;){var O=I[ag];aj.save();aj.fillStyle=O.color;aj.translate.apply(aj,U[ag]);af()}}var z=D.textGradient;if(z){var G=z.stops,w=aj.createLinearGradient(0,J.minY,0,J.maxY);for(var ag=0,ab=G.length;ag<ab;++ag){w.addColorStop.apply(w,G[ag])}aj.fillStyle=w}else{aj.fillStyle=Z.get("color")}af();if(u["line-through"]){s(-ah.descent,u["line-through"])}return C}})());Cufon.registerEngine("vml",(function(){var e=document.namespaces;if(!e){return}e.add("cvml","urn:schemas-microsoft-com:vml");e=null;var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize){return}b=null;var g=(document.documentMode||0)<8;document.write(('<style type="text/css">.cufon-vml-canvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}.cufon-vml-canvas{position:absolute;text-align:left;}.cufon-vml{display:inline-block;position:relative;vertical-align:'+(g?"middle":"text-bottom")+";}.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px;}a .cufon-vml{cursor:pointer}}@media print{.cufon-vml *{display:none;}.cufon-vml .cufon-alt{display:inline;}}</style>").replace(/;/g,"!important;"));function c(h,i){return a(h,/(?:em|ex|%)$|^[a-z-]+$/i.test(i)?"1em":i)}function a(k,l){if(/px$/i.test(l)){return parseFloat(l)}var j=k.style.left,i=k.runtimeStyle.left;k.runtimeStyle.left=k.currentStyle.left;k.style.left=l.replace("%","em");var h=k.style.pixelLeft;k.style.left=j;k.runtimeStyle.left=i;return h}var f={};function d(o){var p=o.id;if(!f[p]){var m=o.stops,n=document.createElement("cvml:fill"),h=[];n.type="gradient";n.angle=180;n.focus="0";n.method="sigma";n.color=m[0][1];for(var l=1,i=m.length-1;l<i;++l){h.push(m[l][0]*100+"% "+m[l][1])}n.colors=h.join(",");n.color2=m[i][1];f[p]=n}return f[p]}return function(aj,K,ad,G,O,ak,ab){var o=(K===null);if(o){K=O.alt}var M=aj.viewBox;var q=ad.computedFontSize||(ad.computedFontSize=new Cufon.CSS.Size(c(ak,ad.get("fontSize"))+"px",aj.baseSize));var aa=ad.computedLSpacing;if(aa==undefined){aa=ad.get("letterSpacing");ad.computedLSpacing=aa=(aa=="normal")?0:~~q.convertFrom(a(ak,aa))}var C,r;if(o){C=O;r=O.firstChild}else{C=document.createElement("span");C.className="cufon cufon-vml";C.alt=K;r=document.createElement("span");r.className="cufon-vml-canvas";C.appendChild(r);if(G.printable){var ag=document.createElement("span");ag.className="cufon-alt";ag.appendChild(document.createTextNode(K));C.appendChild(ag)}if(!ab){C.appendChild(document.createElement("cvml:shape"))}}var ap=C.style;var V=r.style;var m=q.convert(M.height),am=Math.ceil(m);var Z=am/m;var T=Z*Cufon.CSS.fontStretch(ad.get("fontStretch"));var Y=M.minX,X=M.minY;V.height=am;V.top=Math.round(q.convert(X-aj.ascent));V.left=Math.round(q.convert(Y));ap.height=q.convert(aj.height)+"px";var v=G.enableTextDecoration?Cufon.CSS.textDecoration(ak,ad):{};var J=ad.get("color");var ao=Cufon.CSS.textTransform(K,ad).split(""),B;var p=aj.glyphs,H,s,af;var h=0,P=[],W=0,x;var z,L=G.textShadow;for(var ai=0,ah=0,ae=ao.length;ai<ae;++ai){H=p[B=ao[ai]]||aj.missingGlyph;if(!H){continue}if(s){h-=af=s[B]||0;P[ah-1]-=af}h+=x=P[ah++]=~~(H.w||aj.w)+aa;s=H.k}if(x===undefined){return null}var A=-Y+h+(M.width-x);var an=q.convert(A*T),ac=Math.round(an);var S=A+","+M.height,n;var N="r"+S+"ns";var y=G.textGradient&&d(G.textGradient);for(ai=0,ah=0;ai<ae;++ai){H=p[ao[ai]]||aj.missingGlyph;if(!H){continue}if(o){z=r.childNodes[ah];while(z.firstChild){z.removeChild(z.firstChild)}}else{z=document.createElement("cvml:shape");r.appendChild(z)}z.stroked="f";z.coordsize=S;z.coordorigin=n=(Y-W)+","+X;z.path=(H.d?"m"+H.d+"xe":"")+"m"+n+N;z.fillcolor=J;if(y){z.appendChild(y.cloneNode(false))}var al=z.style;al.width=ac;al.height=am;if(L){var u=L[0],t=L[1];var F=Cufon.CSS.color(u.color),D;var R=document.createElement("cvml:shadow");R.on="t";R.color=F.color;R.offset=u.offX+","+u.offY;if(t){D=Cufon.CSS.color(t.color);R.type="double";R.color2=D.color;R.offset2=t.offX+","+t.offY}R.opacity=F.opacity||(D&&D.opacity)||1;z.appendChild(R)}W+=P[ah++]}var Q=z.nextSibling,w,E;if(G.forceHitArea){if(!Q){Q=document.createElement("cvml:rect");Q.stroked="f";Q.className="cufon-vml-cover";w=document.createElement("cvml:fill");w.opacity=0;Q.appendChild(w);r.appendChild(Q)}E=Q.style;E.width=ac;E.height=am}else{if(Q){r.removeChild(Q)}}ap.width=Math.max(Math.ceil(q.convert(h*T)),0);if(g){var U=ad.computedYAdjust;if(U===undefined){var I=ad.get("lineHeight");if(I=="normal"){I="1em"}else{if(!isNaN(I)){I+="em"}}ad.computedYAdjust=U=0.5*(a(ak,I)-parseFloat(ap.height))}if(U){ap.marginTop=Math.ceil(U)+"px";ap.marginBottom=U+"px"}}return C}})());