engineyard-theme 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (362) hide show
  1. data/Gemfile +7 -0
  2. data/Gemfile.lock +77 -0
  3. data/History.md +3 -0
  4. data/LICENSE.txt +20 -0
  5. data/README.md +46 -0
  6. data/Rakefile +33 -0
  7. data/VERSION +1 -0
  8. data/app/helpers/engineyard_theme_helper.rb +15 -0
  9. data/app/helpers/static_helper.rb +18 -0
  10. data/app/views/engineyard-theme/_footer.html.erb +57 -0
  11. data/app/views/engineyard-theme/_header.html.erb +70 -0
  12. data/app/views/shared/_appcloud_signup_button.html.erb +1 -0
  13. data/app/views/shared/_contact_sales_button.html.erb +1 -0
  14. data/app/views/shared/_countdown.html.erb +6 -0
  15. data/app/views/shared/_featured.html.erb +78 -0
  16. data/app/views/shared/_global_nav.html.erb +85 -0
  17. data/app/views/shared/_livechat_button.html.erb +1 -0
  18. data/app/views/shared/_optimizer.html.erb +21 -0
  19. data/app/views/shared/_recorded_webinars_sidebar.erb +10 -0
  20. data/app/views/shared/_tracking.html.erb +36 -0
  21. data/app/views/shared/_video.html.erb +7 -0
  22. data/app/views/shared/forms/_regions.html.erb +262 -0
  23. data/engineyard-theme.gemspec +406 -0
  24. data/example/public/engineyard-theme/images/award-bossie2010.png +0 -0
  25. data/example/public/engineyard-theme/images/award-crn-2010.png +0 -0
  26. data/example/public/engineyard-theme/images/award-ondemand100-2010.png +0 -0
  27. data/example/public/engineyard-theme/images/award-sdtimes100-2010.png +0 -0
  28. data/example/public/engineyard-theme/images/aws-logo.jpg +0 -0
  29. data/example/public/engineyard-theme/images/bg-dragbar.png +0 -0
  30. data/example/public/engineyard-theme/images/bg-header.png +0 -0
  31. data/example/public/engineyard-theme/images/bg_clouds.png +0 -0
  32. data/example/public/engineyard-theme/images/bg_feature_menu.png +0 -0
  33. data/example/public/engineyard-theme/images/bg_header.png +0 -0
  34. data/example/public/engineyard-theme/images/bg_hero_highlight.png +0 -0
  35. data/example/public/engineyard-theme/images/bg_hero_nav.png +0 -0
  36. data/example/public/engineyard-theme/images/bg_hero_panel.png +0 -0
  37. data/example/public/engineyard-theme/images/bg_stroke.png +0 -0
  38. data/example/public/engineyard-theme/images/blog-cloud.png +0 -0
  39. data/example/public/engineyard-theme/images/border.png +0 -0
  40. data/example/public/engineyard-theme/images/btn_contact_sales.png +0 -0
  41. data/example/public/engineyard-theme/images/btn_live_chat.png +0 -0
  42. data/example/public/engineyard-theme/images/btn_sign_up.png +0 -0
  43. data/example/public/engineyard-theme/images/btn_signup_now.png +0 -0
  44. data/example/public/engineyard-theme/images/btn_submit_a_ticket.png +0 -0
  45. data/example/public/engineyard-theme/images/collage_cloud_products.png +0 -0
  46. data/example/public/engineyard-theme/images/collage_dev_resources.png +0 -0
  47. data/example/public/engineyard-theme/images/collage_rails_in_the_cloud.png +0 -0
  48. data/example/public/engineyard-theme/images/controls.png +0 -0
  49. data/example/public/engineyard-theme/images/customers/logo-armadealo.png +0 -0
  50. data/example/public/engineyard-theme/images/customers/logo-bleacherreport.png +0 -0
  51. data/example/public/engineyard-theme/images/customers/logo-boost.png +0 -0
  52. data/example/public/engineyard-theme/images/customers/logo-cafepress.png +0 -0
  53. data/example/public/engineyard-theme/images/customers/logo-catalogchoice.png +0 -0
  54. data/example/public/engineyard-theme/images/customers/logo-chictopia.png +0 -0
  55. data/example/public/engineyard-theme/images/customers/logo-divvy.png +0 -0
  56. data/example/public/engineyard-theme/images/customers/logo-elabs.png +0 -0
  57. data/example/public/engineyard-theme/images/customers/logo-fangamb.png +0 -0
  58. data/example/public/engineyard-theme/images/customers/logo-getsatisfaction.png +0 -0
  59. data/example/public/engineyard-theme/images/customers/logo-griffin.png +0 -0
  60. data/example/public/engineyard-theme/images/customers/logo-healthleap.png +0 -0
  61. data/example/public/engineyard-theme/images/customers/logo-howcast.png +0 -0
  62. data/example/public/engineyard-theme/images/customers/logo-kgb.png +0 -0
  63. data/example/public/engineyard-theme/images/customers/logo-motista.png +0 -0
  64. data/example/public/engineyard-theme/images/customers/logo-newrelic.png +0 -0
  65. data/example/public/engineyard-theme/images/customers/logo-oneforty.png +0 -0
  66. data/example/public/engineyard-theme/images/customers/logo-openindie.png +0 -0
  67. data/example/public/engineyard-theme/images/customers/logo-pivotallabs.png +0 -0
  68. data/example/public/engineyard-theme/images/customers/logo-plantmyphone.png +0 -0
  69. data/example/public/engineyard-theme/images/customers/logo-playmesh.png +0 -0
  70. data/example/public/engineyard-theme/images/customers/logo-redbubble.png +0 -0
  71. data/example/public/engineyard-theme/images/customers/logo-repairpal.png +0 -0
  72. data/example/public/engineyard-theme/images/customers/logo-seekingalpha.png +0 -0
  73. data/example/public/engineyard-theme/images/customers/logo-spongecell.png +0 -0
  74. data/example/public/engineyard-theme/images/customers/logo-teambox.png +0 -0
  75. data/example/public/engineyard-theme/images/customers/logo-tikaro.png +0 -0
  76. data/example/public/engineyard-theme/images/customers/logo-topzy.png +0 -0
  77. data/example/public/engineyard-theme/images/customers/logo-transfs.png +0 -0
  78. data/example/public/engineyard-theme/images/customers/logo-z2live.png +0 -0
  79. data/example/public/engineyard-theme/images/customers/logo-zendesk.png +0 -0
  80. data/example/public/engineyard-theme/images/estimator-header.png +0 -0
  81. data/example/public/engineyard-theme/images/estimator-widget.png +0 -0
  82. data/example/public/engineyard-theme/images/hero-cli-lg.png +0 -0
  83. data/example/public/engineyard-theme/images/hero_appcloud.png +0 -0
  84. data/example/public/engineyard-theme/images/hero_appcloud_home.png +0 -0
  85. data/example/public/engineyard-theme/images/hero_appcloud_sm.png +0 -0
  86. data/example/public/engineyard-theme/images/hero_bundler_home.png +0 -0
  87. data/example/public/engineyard-theme/images/hero_cli.png +0 -0
  88. data/example/public/engineyard-theme/images/hero_company.png +0 -0
  89. data/example/public/engineyard-theme/images/hero_developer_resources.png +0 -0
  90. data/example/public/engineyard-theme/images/hero_fog.png +0 -0
  91. data/example/public/engineyard-theme/images/hero_getsatisfaction.png +0 -0
  92. data/example/public/engineyard-theme/images/hero_jruby.png +0 -0
  93. data/example/public/engineyard-theme/images/hero_jrubyconf2010.png +0 -0
  94. data/example/public/engineyard-theme/images/hero_mountain_rb.png +0 -0
  95. data/example/public/engineyard-theme/images/hero_professional_services.png +0 -0
  96. data/example/public/engineyard-theme/images/hero_rails_mobile_workshop.png +0 -0
  97. data/example/public/engineyard-theme/images/hero_rails_technical_paper.png +0 -0
  98. data/example/public/engineyard-theme/images/hero_railsdispatch.png +0 -0
  99. data/example/public/engineyard-theme/images/hero_rubinius.png +0 -0
  100. data/example/public/engineyard-theme/images/hero_rubyconf2010.png +0 -0
  101. data/example/public/engineyard-theme/images/hero_support_center.png +0 -0
  102. data/example/public/engineyard-theme/images/hero_tickets.png +0 -0
  103. data/example/public/engineyard-theme/images/hero_xcloud.png +0 -0
  104. data/example/public/engineyard-theme/images/hero_xcloud_home.png +0 -0
  105. data/example/public/engineyard-theme/images/hero_xcloud_homepage.png +0 -0
  106. data/example/public/engineyard-theme/images/home_tour.png +0 -0
  107. data/example/public/engineyard-theme/images/icn-asc.png +0 -0
  108. data/example/public/engineyard-theme/images/icn-dsc.png +0 -0
  109. data/example/public/engineyard-theme/images/icn_auditable.png +0 -0
  110. data/example/public/engineyard-theme/images/icn_auto_deploy.png +0 -0
  111. data/example/public/engineyard-theme/images/icn_bundler.png +0 -0
  112. data/example/public/engineyard-theme/images/icn_cafe_press.png +0 -0
  113. data/example/public/engineyard-theme/images/icn_capacity.png +0 -0
  114. data/example/public/engineyard-theme/images/icn_cli.png +0 -0
  115. data/example/public/engineyard-theme/images/icn_cloning.png +0 -0
  116. data/example/public/engineyard-theme/images/icn_config.png +0 -0
  117. data/example/public/engineyard-theme/images/icn_database.png +0 -0
  118. data/example/public/engineyard-theme/images/icn_debug_ruby.jpg +0 -0
  119. data/example/public/engineyard-theme/images/icn_event.png +0 -0
  120. data/example/public/engineyard-theme/images/icn_facebook.png +0 -0
  121. data/example/public/engineyard-theme/images/icn_facebook_color.png +0 -0
  122. data/example/public/engineyard-theme/images/icn_feature_summary_live_demo.png +0 -0
  123. data/example/public/engineyard-theme/images/icn_feature_summary_newsletter.png +0 -0
  124. data/example/public/engineyard-theme/images/icn_feature_summary_pdf.png +0 -0
  125. data/example/public/engineyard-theme/images/icn_feature_summary_rails3_webinar.png +0 -0
  126. data/example/public/engineyard-theme/images/icn_feature_textmate.png +0 -0
  127. data/example/public/engineyard-theme/images/icn_fog.png +0 -0
  128. data/example/public/engineyard-theme/images/icn_get_satisfaction.png +0 -0
  129. data/example/public/engineyard-theme/images/icn_griffin.png +0 -0
  130. data/example/public/engineyard-theme/images/icn_howcast.png +0 -0
  131. data/example/public/engineyard-theme/images/icn_itunes.png +0 -0
  132. data/example/public/engineyard-theme/images/icn_itunes_color.png +0 -0
  133. data/example/public/engineyard-theme/images/icn_jruby.png +0 -0
  134. data/example/public/engineyard-theme/images/icn_kgb.png +0 -0
  135. data/example/public/engineyard-theme/images/icn_limitless_scalability.png +0 -0
  136. data/example/public/engineyard-theme/images/icn_linkedin.png +0 -0
  137. data/example/public/engineyard-theme/images/icn_linkedin_color.png +0 -0
  138. data/example/public/engineyard-theme/images/icn_modular.png +0 -0
  139. data/example/public/engineyard-theme/images/icn_monitoring.png +0 -0
  140. data/example/public/engineyard-theme/images/icn_new_relic.png +0 -0
  141. data/example/public/engineyard-theme/images/icn_ornament.png +0 -0
  142. data/example/public/engineyard-theme/images/icn_pivotal_labs.png +0 -0
  143. data/example/public/engineyard-theme/images/icn_press_release.png +0 -0
  144. data/example/public/engineyard-theme/images/icn_provisioning.png +0 -0
  145. data/example/public/engineyard-theme/images/icn_rails.png +0 -0
  146. data/example/public/engineyard-theme/images/icn_rails_sm.png +0 -0
  147. data/example/public/engineyard-theme/images/icn_rss.png +0 -0
  148. data/example/public/engineyard-theme/images/icn_rss_color.png +0 -0
  149. data/example/public/engineyard-theme/images/icn_rubinius.png +0 -0
  150. data/example/public/engineyard-theme/images/icn_rubysoc.png +0 -0
  151. data/example/public/engineyard-theme/images/icn_runtime.png +0 -0
  152. data/example/public/engineyard-theme/images/icn_templates.png +0 -0
  153. data/example/public/engineyard-theme/images/icn_twitter.png +0 -0
  154. data/example/public/engineyard-theme/images/icn_twitter_color.png +0 -0
  155. data/example/public/engineyard-theme/images/icn_url_monitoring.png +0 -0
  156. data/example/public/engineyard-theme/images/icn_utility.png +0 -0
  157. data/example/public/engineyard-theme/images/icn_zendesk.png +0 -0
  158. data/example/public/engineyard-theme/images/icon-bookmark_s1.png +0 -0
  159. data/example/public/engineyard-theme/images/icon-check.png +0 -0
  160. data/example/public/engineyard-theme/images/icon-closed.png +0 -0
  161. data/example/public/engineyard-theme/images/icon-email.png +0 -0
  162. data/example/public/engineyard-theme/images/icon-net.png +0 -0
  163. data/example/public/engineyard-theme/images/icon-open.png +0 -0
  164. data/example/public/engineyard-theme/images/icon-twitter.png +0 -0
  165. data/example/public/engineyard-theme/images/icon-web.png +0 -0
  166. data/example/public/engineyard-theme/images/icon_search.png +0 -0
  167. data/example/public/engineyard-theme/images/img-backgrounds.png +0 -0
  168. data/example/public/engineyard-theme/images/img-cli.png +0 -0
  169. data/example/public/engineyard-theme/images/img-cloud-architecture.png +0 -0
  170. data/example/public/engineyard-theme/images/img-customer-bleacher.jpg +0 -0
  171. data/example/public/engineyard-theme/images/img-customer-pivotal.jpg +0 -0
  172. data/example/public/engineyard-theme/images/img-customer-spongecell.jpg +0 -0
  173. data/example/public/engineyard-theme/images/img-icons.png +0 -0
  174. data/example/public/engineyard-theme/images/img-migration-timeline.png +0 -0
  175. data/example/public/engineyard-theme/images/img-mov-migration.png +0 -0
  176. data/example/public/engineyard-theme/images/img-sample-badge-reverse.png +0 -0
  177. data/example/public/engineyard-theme/images/img-sample-badge.png +0 -0
  178. data/example/public/engineyard-theme/images/img-sample-letterform-reverse.png +0 -0
  179. data/example/public/engineyard-theme/images/img-sample-letterform.png +0 -0
  180. data/example/public/engineyard-theme/images/img-sample-logo.png +0 -0
  181. data/example/public/engineyard-theme/images/img-webui.png +0 -0
  182. data/example/public/engineyard-theme/images/img_appcloud.png +0 -0
  183. data/example/public/engineyard-theme/images/img_platform.png +0 -0
  184. data/example/public/engineyard-theme/images/img_worldmap.png +0 -0
  185. data/example/public/engineyard-theme/images/img_xcloud.png +0 -0
  186. data/example/public/engineyard-theme/images/john-screen.png +0 -0
  187. data/example/public/engineyard-theme/images/layout/bg-black-trans.png +0 -0
  188. data/example/public/engineyard-theme/images/layout/bg-f7noise.gif +0 -0
  189. data/example/public/engineyard-theme/images/layout/bg-header-shadow.png +0 -0
  190. data/example/public/engineyard-theme/images/layout/bg-header.gif +0 -0
  191. data/example/public/engineyard-theme/images/layout/bg-vertical-rule.png +0 -0
  192. data/example/public/engineyard-theme/images/layout/icons/add.png +0 -0
  193. data/example/public/engineyard-theme/images/layout/icons/delete.png +0 -0
  194. data/example/public/engineyard-theme/images/layout/icons/detach.png +0 -0
  195. data/example/public/engineyard-theme/images/layout/icons/down.png +0 -0
  196. data/example/public/engineyard-theme/images/layout/icons/edit.png +0 -0
  197. data/example/public/engineyard-theme/images/layout/icons/email.png +0 -0
  198. data/example/public/engineyard-theme/images/layout/icons/gem-add.png +0 -0
  199. data/example/public/engineyard-theme/images/layout/icons/right.png +0 -0
  200. data/example/public/engineyard-theme/images/layout/icons/social/facebook.png +0 -0
  201. data/example/public/engineyard-theme/images/layout/icons/social/rss.png +0 -0
  202. data/example/public/engineyard-theme/images/layout/icons/social/twitter.png +0 -0
  203. data/example/public/engineyard-theme/images/layout/icons/unix-add.png +0 -0
  204. data/example/public/engineyard-theme/images/layout/logo_appcloud.png +0 -0
  205. data/example/public/engineyard-theme/images/layout/quickstart-rules.png +0 -0
  206. data/example/public/engineyard-theme/images/loading.gif +0 -0
  207. data/example/public/engineyard-theme/images/loading_background.png +0 -0
  208. data/example/public/engineyard-theme/images/logo-aptana.png +0 -0
  209. data/example/public/engineyard-theme/images/logo-atomic.png +0 -0
  210. data/example/public/engineyard-theme/images/logo-aws.png +0 -0
  211. data/example/public/engineyard-theme/images/logo-engineyard.png +0 -0
  212. data/example/public/engineyard-theme/images/logo-jruby.png +0 -0
  213. data/example/public/engineyard-theme/images/logo-kinetic.png +0 -0
  214. data/example/public/engineyard-theme/images/logo-newrelic.png +0 -0
  215. data/example/public/engineyard-theme/images/logo-rubinius.png +0 -0
  216. data/example/public/engineyard-theme/images/logo-sendgrid.png +0 -0
  217. data/example/public/engineyard-theme/images/logo-sun.png +0 -0
  218. data/example/public/engineyard-theme/images/logo-terremark.png +0 -0
  219. data/example/public/engineyard-theme/images/logo.png +0 -0
  220. data/example/public/engineyard-theme/images/logo_engine_only.png +0 -0
  221. data/example/public/engineyard-theme/images/logo_engineyard.png +0 -0
  222. data/example/public/engineyard-theme/images/logo_rails.png +0 -0
  223. data/example/public/engineyard-theme/images/overlay.png +0 -0
  224. data/example/public/engineyard-theme/images/profile_acyron.png +0 -0
  225. data/example/public/engineyard-theme/images/profile_atjernlund.jpg +0 -0
  226. data/example/public/engineyard-theme/images/profile_chriss.jpg +0 -0
  227. data/example/public/engineyard-theme/images/profile_davids.jpg +0 -0
  228. data/example/public/engineyard-theme/images/profile_default.jpg +0 -0
  229. data/example/public/engineyard-theme/images/profile_dennisb.jpg +0 -0
  230. data/example/public/engineyard-theme/images/profile_djaworski.jpg +0 -0
  231. data/example/public/engineyard-theme/images/profile_dylane.jpg +0 -0
  232. data/example/public/engineyard-theme/images/profile_ezequielc.jpg +0 -0
  233. data/example/public/engineyard-theme/images/profile_ezygmuntowicz.jpg +0 -0
  234. data/example/public/engineyard-theme/images/profile_jamiem.jpg +0 -0
  235. data/example/public/engineyard-theme/images/profile_jarnold.jpg +0 -0
  236. data/example/public/engineyard-theme/images/profile_jash.jpg +0 -0
  237. data/example/public/engineyard-theme/images/profile_jdillon.jpg +0 -0
  238. data/example/public/engineyard-theme/images/profile_jlundsford.jpg +0 -0
  239. data/example/public/engineyard-theme/images/profile_johnh.jpg +0 -0
  240. data/example/public/engineyard-theme/images/profile_justinp.jpg +0 -0
  241. data/example/public/engineyard-theme/images/profile_jvantuyl.jpg +0 -0
  242. data/example/public/engineyard-theme/images/profile_kevinr.jpg +0 -0
  243. data/example/public/engineyard-theme/images/profile_leej.jpg +0 -0
  244. data/example/public/engineyard-theme/images/profile_lwalley.jpg +0 -0
  245. data/example/public/engineyard-theme/images/profile_mattd.jpg +0 -0
  246. data/example/public/engineyard-theme/images/profile_mattp.jpg +0 -0
  247. data/example/public/engineyard-theme/images/profile_maxm.jpg +0 -0
  248. data/example/public/engineyard-theme/images/profile_mcampbell.jpg +0 -0
  249. data/example/public/engineyard-theme/images/profile_mlasky.jpg +0 -0
  250. data/example/public/engineyard-theme/images/profile_mmullany.jpg +0 -0
  251. data/example/public/engineyard-theme/images/profile_mojot.jpg +0 -0
  252. data/example/public/engineyard-theme/images/profile_mutwink.jpg +0 -0
  253. data/example/public/engineyard-theme/images/profile_pfenton.jpg +0 -0
  254. data/example/public/engineyard-theme/images/profile_psonsini.jpg +0 -0
  255. data/example/public/engineyard-theme/images/profile_raphaelk.jpg +0 -0
  256. data/example/public/engineyard-theme/images/profile_rlevy.jpg +0 -0
  257. data/example/public/engineyard-theme/images/profile_ronellyt.jpg +0 -0
  258. data/example/public/engineyard-theme/images/profile_rthomas.jpg +0 -0
  259. data/example/public/engineyard-theme/images/profile_sgardner.jpg +0 -0
  260. data/example/public/engineyard-theme/images/profile_sgross.png +0 -0
  261. data/example/public/engineyard-theme/images/profile_shair.jpg +0 -0
  262. data/example/public/engineyard-theme/images/profile_spareenja.jpg +0 -0
  263. data/example/public/engineyard-theme/images/profile_sudaraw.jpg +0 -0
  264. data/example/public/engineyard-theme/images/profile_timg.jpg +0 -0
  265. data/example/public/engineyard-theme/images/profile_tmornini.jpg +0 -0
  266. data/example/public/engineyard-theme/images/profile_tsaleh.jpg +0 -0
  267. data/example/public/engineyard-theme/images/profile_tweibley.jpg +0 -0
  268. data/example/public/engineyard-theme/images/profile_tylerb.jpg +0 -0
  269. data/example/public/engineyard-theme/images/profile_urosz.jpg +0 -0
  270. data/example/public/engineyard-theme/images/profile_waynes.jpg +0 -0
  271. data/example/public/engineyard-theme/images/profile_willj.jpg +0 -0
  272. data/example/public/engineyard-theme/images/profile_zachr.jpg +0 -0
  273. data/example/public/engineyard-theme/images/rails.png +0 -0
  274. data/example/public/engineyard-theme/images/scalability-analysis.gif +0 -0
  275. data/example/public/engineyard-theme/images/slide1.jpg +0 -0
  276. data/example/public/engineyard-theme/images/swipe_blue.png +0 -0
  277. data/example/public/engineyard-theme/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  278. data/example/public/engineyard-theme/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  279. data/example/public/engineyard-theme/images/ui-bg_flat_10_000000_40x100.png +0 -0
  280. data/example/public/engineyard-theme/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  281. data/example/public/engineyard-theme/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  282. data/example/public/engineyard-theme/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  283. data/example/public/engineyard-theme/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  284. data/example/public/engineyard-theme/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  285. data/example/public/engineyard-theme/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  286. data/example/public/engineyard-theme/images/ui-icons_222222_256x240.png +0 -0
  287. data/example/public/engineyard-theme/images/ui-icons_228ef1_256x240.png +0 -0
  288. data/example/public/engineyard-theme/images/ui-icons_ef8c08_256x240.png +0 -0
  289. data/example/public/engineyard-theme/images/ui-icons_ffd27a_256x240.png +0 -0
  290. data/example/public/engineyard-theme/images/ui-icons_ffffff_256x240.png +0 -0
  291. data/example/public/engineyard-theme/images/video-intro-to-appcloud.png +0 -0
  292. data/example/public/engineyard-theme/images/x_avatar_leah.jpg +0 -0
  293. data/example/public/engineyard-theme/images/x_photo_community.jpg +0 -0
  294. data/example/public/engineyard-theme/images/x_tyler_bird.jpeg +0 -0
  295. data/example/public/engineyard-theme/images/x_video_mike_grafton.jpg +0 -0
  296. data/example/public/engineyard-theme/javascripts/admin.js +239 -0
  297. data/example/public/engineyard-theme/javascripts/application.js +725 -0
  298. data/example/public/engineyard-theme/javascripts/application.min.js +559 -0
  299. data/example/public/engineyard-theme/javascripts/default.js +702 -0
  300. data/example/public/engineyard-theme/javascripts/html5shiv.js +5 -0
  301. data/example/public/engineyard-theme/javascripts/jquery.js +6240 -0
  302. data/example/public/engineyard-theme/javascripts/jquery.tools.min.js +20 -0
  303. data/example/public/engineyard-theme/javascripts/jquery.ui.js +778 -0
  304. data/example/public/engineyard-theme/javascripts/pricing.js +420 -0
  305. data/example/public/engineyard-theme/javascripts/pricing.min.js +32 -0
  306. data/example/public/engineyard-theme/javascripts/promos.js +131 -0
  307. data/example/public/engineyard-theme/javascripts/rails.js +132 -0
  308. data/example/public/engineyard-theme/javascripts/rails.min.js +8058 -0
  309. data/example/public/engineyard-theme/stylesheets/admin.css +487 -0
  310. data/example/public/engineyard-theme/stylesheets/application.css +2423 -0
  311. data/example/public/engineyard-theme/stylesheets/estimator.css +178 -0
  312. data/example/public/engineyard-theme/stylesheets/ie.css +22 -0
  313. data/example/public/engineyard-theme/stylesheets/ie7.css +57 -0
  314. data/example/public/engineyard-theme/stylesheets/migration.css +50 -0
  315. data/example/public/engineyard-theme/stylesheets/print.css +2 -0
  316. data/example/public/engineyard-theme/stylesheets/sass/_960gs.sass +228 -0
  317. data/example/public/engineyard-theme/stylesheets/sass/_buttons.sass +226 -0
  318. data/example/public/engineyard-theme/stylesheets/sass/_color.sass +41 -0
  319. data/example/public/engineyard-theme/stylesheets/sass/_forms.sass +367 -0
  320. data/example/public/engineyard-theme/stylesheets/sass/_globalvariables.sass +78 -0
  321. data/example/public/engineyard-theme/stylesheets/sass/_header.sass +96 -0
  322. data/example/public/engineyard-theme/stylesheets/sass/_icons.sass +72 -0
  323. data/example/public/engineyard-theme/stylesheets/sass/_jquery.tooltip.sass +24 -0
  324. data/example/public/engineyard-theme/stylesheets/sass/_jquery_ui.sass +1450 -0
  325. data/example/public/engineyard-theme/stylesheets/sass/_layout.sass +2222 -0
  326. data/example/public/engineyard-theme/stylesheets/sass/_logic.sass +16 -0
  327. data/example/public/engineyard-theme/stylesheets/sass/_messaging.sass +68 -0
  328. data/example/public/engineyard-theme/stylesheets/sass/_plugins.sass +267 -0
  329. data/example/public/engineyard-theme/stylesheets/sass/_sendgrid.sass +76 -0
  330. data/example/public/engineyard-theme/stylesheets/sass/_styleguide.sass +126 -0
  331. data/example/public/engineyard-theme/stylesheets/sass/_tables.sass +646 -0
  332. data/example/public/engineyard-theme/stylesheets/sass/_thickbox.sass +188 -0
  333. data/example/public/engineyard-theme/stylesheets/sass/_type.sass +295 -0
  334. data/example/public/engineyard-theme/stylesheets/sass/admin.sass +468 -0
  335. data/example/public/engineyard-theme/stylesheets/sass/application.sass +1714 -0
  336. data/example/public/engineyard-theme/stylesheets/sass/estimator.sass +188 -0
  337. data/example/public/engineyard-theme/stylesheets/sass/ie.sass +20 -0
  338. data/example/public/engineyard-theme/stylesheets/sass/ie7.sass +58 -0
  339. data/example/public/engineyard-theme/stylesheets/sass/migration.sass +50 -0
  340. data/example/public/engineyard-theme/stylesheets/sass/partials/_banners.sass +92 -0
  341. data/example/public/engineyard-theme/stylesheets/sass/partials/_base.sass +621 -0
  342. data/example/public/engineyard-theme/stylesheets/sass/partials/_blog.sass +156 -0
  343. data/example/public/engineyard-theme/stylesheets/sass/partials/_buttons.sass +62 -0
  344. data/example/public/engineyard-theme/stylesheets/sass/partials/_clear.sass +15 -0
  345. data/example/public/engineyard-theme/stylesheets/sass/partials/_colorbox.sass +117 -0
  346. data/example/public/engineyard-theme/stylesheets/sass/partials/_connect.sass +42 -0
  347. data/example/public/engineyard-theme/stylesheets/sass/partials/_estimator.sass +209 -0
  348. data/example/public/engineyard-theme/stylesheets/sass/partials/_footer.sass +19 -0
  349. data/example/public/engineyard-theme/stylesheets/sass/partials/_header.sass +182 -0
  350. data/example/public/engineyard-theme/stylesheets/sass/partials/_opensource.sass +148 -0
  351. data/example/public/engineyard-theme/stylesheets/sass/partials/_overrides.sass +4 -0
  352. data/example/public/engineyard-theme/stylesheets/sass/partials/_popularity.sass +39 -0
  353. data/example/public/engineyard-theme/stylesheets/sass/partials/_resets.sass +36 -0
  354. data/example/public/engineyard-theme/stylesheets/sass/partials/_signup.sass +62 -0
  355. data/example/public/engineyard-theme/stylesheets/sass/partials/_subnav.sass +44 -0
  356. data/example/public/engineyard-theme/stylesheets/sass/partials/_two_column.sass +139 -0
  357. data/example/public/engineyard-theme/stylesheets/sass/print.sass +3 -0
  358. data/example/public/engineyard-theme/stylesheets/sass/screen.sass +473 -0
  359. data/example/public/engineyard-theme/stylesheets/screen.css +2447 -0
  360. data/lib/engineyard-theme.rb +12 -0
  361. data/lib/generators/engineyard_theme_generator.rb +15 -0
  362. metadata +474 -0
@@ -0,0 +1,420 @@
1
+ // Pricing Calculator // scott leonard // 06.2009 // zero@botfarm.com
2
+ var pricing = {
3
+
4
+ plan: {
5
+ unitPrice: [0.110, 0.200, 0.420, 0.780, 0.780, 1.320, 2.550], // [Small, High CPU Med, Large, XL, Hgh CPU XL]
6
+ computeHoursMultiple: 720,
7
+ ebsStorageIo: 0.10,
8
+ ebsStorage: 0.10,
9
+ s3Space: 0.15,
10
+ s3XferIn: 0.10,
11
+ s3XferOut: 0.17,
12
+ s3Puts: 0.01,
13
+ s3Gets: 0.01,
14
+ bandwidthIn: 0.10,
15
+ bandwidthOut: 0.15
16
+ },
17
+
18
+ // support pricing
19
+ standardSupportTier: [275, 375, 575, 975, 2150],
20
+ additionalStandardSupport: 425,
21
+ premiumSupportTier: [475, 625, 975, 1675, 3575],
22
+ additionalPremiumSupport: 725,
23
+
24
+ // slider limits
25
+ maxPageviews: 1000000,
26
+ maxPagesize: 2000,
27
+
28
+
29
+ init: function() {
30
+
31
+ pricing.planMin = 0;
32
+ pricing.totalServers = 0;
33
+ pricing.maxServers = 20;
34
+
35
+ $('#servers .minus').click(function() {
36
+ var input = $(this).parent().children('input');
37
+ var newValue = parseInt(input.val()) - 1;
38
+ input.val(newValue);
39
+ pricing.update();
40
+ });
41
+
42
+ $('#servers .plus').click(function() {
43
+ var input = $(this).parent().children('input');
44
+ var newValue = parseInt(input.val()) + 1;
45
+ input.val(newValue);
46
+ pricing.update();
47
+ });
48
+
49
+ $('#servers input').change(function() {
50
+ pricing.update()
51
+ });
52
+
53
+ $("input[name='support_group']").change(function() {
54
+ pricing.update()
55
+ });
56
+
57
+ $('#pageviews_widget').slider({
58
+ value: 1000,
59
+ min: 0,
60
+ max: pricing.maxPageviews,
61
+ step: 10000,
62
+ slide: function(event, ui) {
63
+ $('#pageviews').val(pricing.formatValue(ui.value));
64
+ },
65
+ change: pricing.update,
66
+ animate: true
67
+ });
68
+
69
+ $('#pagesize_widget').slider({
70
+ value: 300,
71
+ min: 0,
72
+ max: pricing.maxPagesize,
73
+ step: 100,
74
+ slide: function(event, ui) {
75
+ $('#pagesize').val(pricing.formatValue(ui.value) + 'Kbs');
76
+ },
77
+ change: pricing.update,
78
+ animate: true
79
+ });
80
+
81
+ $('#total_backups_widget').slider({
82
+ value: 1,
83
+ min: 1,
84
+ max: 30,
85
+ step: 1,
86
+ slide: function(event, ui) {
87
+ $('#total_backups').val(ui.value);
88
+ },
89
+ change: pricing.update,
90
+ animate: true
91
+ });
92
+
93
+ $('#backup_frequency_widget').slider({
94
+ value: 0,
95
+ min: 0,
96
+ max: 5,
97
+ step: 1,
98
+ slide: function(event, ui) {
99
+ if (ui.value == 5) { $('#backup_frequency').val('every hour')}
100
+ else if (ui.value == 4) { $('#backup_frequency').val('every 2 hours')}
101
+ else if (ui.value == 3) { $('#backup_frequency').val('every 6 hours')}
102
+ else if (ui.value == 2) { $('#backup_frequency').val('twice a day')}
103
+ else if (ui.value == 1) { $('#backup_frequency').val('once a day')}
104
+ else if (ui.value == 0) { $('#backup_frequency').val('never')}
105
+ },
106
+ change: pricing.update,
107
+ animate: true
108
+ });
109
+ pricing.update();
110
+
111
+ },
112
+
113
+ update: function() {
114
+
115
+ $('#console').html('');
116
+
117
+ var count = 0;
118
+ $('#servers input').each( function(i) {
119
+ if (pricing.totalServers > pricing.maxServers) { $(this).val(0) }
120
+ else {
121
+ count = count + parseInt($(this).val());
122
+
123
+ // Debugging
124
+ // debug.writeServers(parseInt($(this).val()));
125
+ }
126
+
127
+ if ($(this).val() != 0) { $('#servers .minus')[i].disabled = false }
128
+ else { $('#servers .minus')[i].disabled = true }
129
+
130
+ });
131
+
132
+ if ($('#backup_frequency_widget').slider('value') <= 0){
133
+ $('#total_backups_widget').slider('disable');
134
+ $('#total_backups_widget').fadeTo('slow', 0.4);
135
+ } else {
136
+ $('#total_backups_widget').slider('enable');
137
+ $('#total_backups_widget').fadeTo('slow', 1);
138
+ }
139
+
140
+ pricing.totalServers = count;
141
+ $('#servers_remaining').html(count);
142
+
143
+ // $('#servers_remaining').html(pricing.maxServers - count);
144
+
145
+ if (count == pricing.maxServers) { $('#servers .plus').attr('disabled', true) }
146
+ else { $('#servers .plus').attr('disabled', false) }
147
+
148
+ // caclulate total
149
+
150
+ var prices = pricing.plan;
151
+
152
+ var total = 0;
153
+ var totalComputeHours = pricing.totalServers * prices.computeHoursMultiple;
154
+ var standardSupportTotal = 0;
155
+ var premiumSupportTotal = 0;
156
+
157
+ $('input.number').each(function(i) {
158
+ total += parseInt($(this).val()) * 720 * prices.unitPrice[i];
159
+ });
160
+
161
+ if (pricing.totalServers) {
162
+
163
+ var s3Xfer = 14;
164
+ var bwidth = 10;
165
+ var per24hours = [0,1,2,6,12,24];
166
+ var backupFreq = per24hours[$('#backup_frequency_widget').slider('value')]
167
+ var pageviews = $('#pageviews').val().replace(/\$|\,/g,'')
168
+ var pagesize = $('#pagesize').val().replace(/\$|\,/g,'')
169
+
170
+ if (parseInt($('#total_backups').val()) <= 0 || backupFreq <= 0) {
171
+ var ebsStorageIO = 0;
172
+ } else {
173
+ if (parseInt(pageviews) <= 0) {
174
+ var ebsStorageIO = (parseInt(Math.log(1)) * (parseInt(pagesize) / 300) * (Math.log(backupFreq * parseInt($('#total_backups').val()))) ) / 1.5 + 1;
175
+ }
176
+ else {
177
+ var ebsStorageIO = (parseInt(Math.log(pageviews)) * (parseInt(pagesize) / 300) * (Math.log(backupFreq * parseInt($('#total_backups').val()))) ) / 1.5 + 1;
178
+ }
179
+ }
180
+
181
+ if (parseInt(pageviews) > 0) {
182
+ var bandwidthIn = (parseInt(pagesize) / 300) * (parseInt(Math.sqrt(pageviews)) / 10)
183
+ } else {
184
+ var bandwidthIn = 0;
185
+ }
186
+
187
+ var ebsStorage = ebsStorageIO / 5;
188
+ var s3Space = ebsStorage / 2;
189
+ var s3In = ebsStorageIO / 6;
190
+ var s3Out = ebsStorageIO / 20;
191
+ var s3Puts = backupFreq * 6;
192
+ var s3Gets = backupFreq;
193
+ var bandwidthOut = bandwidthIn * 10;
194
+
195
+ total += ebsStorage * prices.ebsStorage;
196
+ total += ebsStorageIO * prices.ebsStorageIo;
197
+ total += s3Space * prices.s3Space;
198
+ total += s3In * prices.s3XferIn;
199
+ total += s3Out * prices.s3XferOut;
200
+ total += s3Puts * prices.s3Puts;
201
+ total += s3Gets * prices.s3Gets;
202
+ total += bandwidthIn * prices.bandwidthIn;
203
+ total += bandwidthOut * prices.bandwidthOut;
204
+
205
+ var supportTier = 0;
206
+ var additionalSupport = 0;
207
+ if (totalComputeHours > 2500 && totalComputeHours <= 5000) supportTier = 1;
208
+ else if (totalComputeHours > 5000 && totalComputeHours <= 10000) supportTier = 2;
209
+ else if (totalComputeHours > 10000 && totalComputeHours <= 20000) supportTier = 3;
210
+ else if (totalComputeHours > 20000 && totalComputeHours <= 50000) supportTier = 4;
211
+ else if (totalComputeHours > 50000) {
212
+ supportTier = 4;
213
+ additionalSupport = (totalComputeHours - 50000) / 10000;
214
+ }
215
+ standardSupportTotal = pricing.standardSupportTier[supportTier];
216
+ premiumSupportTotal = pricing.premiumSupportTier[supportTier];
217
+
218
+ }
219
+
220
+ // Calculate Minimum
221
+
222
+ if(total < pricing.planMin){
223
+ standardSupportTotal = pricing.standardSupportTier[0];
224
+ total = pricing.planMin;
225
+ $('#total p').html('*monthly<br/>minimum')
226
+ } else {
227
+ $('#total p').html('');
228
+ }
229
+
230
+
231
+ // Updates Support Tier prices
232
+ var selected_support = $("input[name='support_group']:checked").val();
233
+ var supportTotal = 0;
234
+
235
+ if (pricing.totalServers > 0) {
236
+ $('#standard_support_total').html(pricing.formatTotal(standardSupportTotal) + " Month");
237
+ $('#premium_support_total').html(pricing.formatTotal(premiumSupportTotal) + " Month");
238
+ if (selected_support == 'standard') { supportTotal = standardSupportTotal }
239
+ else if (selected_support == 'premium') { supportTotal = premiumSupportTotal }
240
+ } else {
241
+ $('#standard_support_total').html("&mdash;");
242
+ $('#premium_support_total').html("&mdash;");
243
+ }
244
+ $('#total #estimate').html(pricing.formatTotal(total + supportTotal));
245
+
246
+ },
247
+
248
+ formatTotal: function(strValue) {
249
+
250
+ strValue = strValue.toString().replace(/\$|\,/g,'');
251
+ dblValue = parseFloat(strValue);
252
+
253
+ blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
254
+ dblValue = Math.floor(dblValue*100+0.50000000001);
255
+ intCents = dblValue%100;
256
+ strCents = intCents.toString();
257
+ dblValue = Math.floor(dblValue/100).toString();
258
+ if(intCents<10)
259
+ strCents = "0" + strCents;
260
+ for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
261
+ dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
262
+ dblValue.substring(dblValue.length-(4*i+3));
263
+ return (((blnSign)?'':'-') + '$' + dblValue + '.' + strCents);
264
+ },
265
+
266
+ formatValue: function(strValue) {
267
+ strValue = strValue.toString().replace(/\$|\,/g,'');
268
+ dblValue = parseFloat(strValue);
269
+ blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
270
+ dblValue = Math.floor(dblValue*100);
271
+
272
+ intCents = dblValue%100;
273
+ strCents = intCents.toString();
274
+ dblValue = Math.floor(dblValue/100).toString();
275
+
276
+ for (var i=0 ; i < Math.floor((dblValue.length-(1+i))/3); i++) {
277
+ dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+dblValue.substring(dblValue.length-(4*i+3));
278
+ }
279
+ return (((blnSign)?'':'-') + dblValue);
280
+ }
281
+ }
282
+
283
+ var estimator = {
284
+ serverName: ["Small", "Medium", "Large"],
285
+ serverPrice: [0.11, 0.200, 0.420],
286
+ computeHours: 720,
287
+ maxServers: 20,
288
+ priceAdj: 1.075,
289
+
290
+ select_default: function() {
291
+ units = 1;
292
+ database = 0;
293
+ $('#dedicated_db').removeAttr('checked');
294
+ estimator.update();
295
+ },
296
+
297
+ init: function() {
298
+ $('#estimator input').change(function(){
299
+ if ($('#servers').val() > estimator.maxServers) {
300
+ units = estimator.maxServers;
301
+ $('#servers').val(units);
302
+ } else {
303
+ units = $('#servers').val();
304
+ }
305
+ if($('#dedicated_db:checked').val()) database = 1;
306
+ else database = 0;
307
+ $('#configuration li').removeClass('selected');
308
+ estimator.update();
309
+ }),
310
+
311
+ // Only allow numbers in the servers text field
312
+ $('#servers').keydown(function(event){
313
+ // Allow only backspace and delete
314
+ if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9) {
315
+ // let it happen, don't do anything
316
+ } else {
317
+ // Ensure that it is a number and stop the keypress
318
+ if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105)) {
319
+ } else {
320
+ event.preventDefault();
321
+ }
322
+ }
323
+ }),
324
+
325
+ $('#shared').click(function(){
326
+ units = 1;
327
+ database = 0;
328
+ $('#dedicated_db').removeAttr('checked');
329
+ estimator.update(true);
330
+ }),
331
+
332
+ $('#dedicated').click(function(){
333
+ units = 1;
334
+ database = 1;
335
+ $('#dedicated_db').attr('checked', 'checked');
336
+ estimator.update(true);
337
+ }),
338
+
339
+ $('#cluster').click(function(){
340
+ units = 2;
341
+ database = 1;
342
+ $('#dedicated_db').attr('checked', 'checked');
343
+ estimator.update(true);
344
+ }),
345
+
346
+ $('#configuration li').click(function(){
347
+ $(this).parent().children('li').removeClass("selected");
348
+ $(this).addClass("selected");
349
+ }),
350
+
351
+ $('.preset').click(function(){
352
+ $(this).addClass('selected');
353
+ $('.custom').removeClass('selected');
354
+ $('.examples').removeClass('selected');
355
+ $('#configuration').removeClass('hidden');
356
+ $('#examples').addClass('hidden');
357
+ $('#customize').addClass('hidden');
358
+ }),
359
+ $('.custom').click(function(){
360
+ $(this).addClass('selected');
361
+ $('.preset').removeClass('selected');
362
+ $('.examples').removeClass('selected');
363
+ $('#configuration').addClass('hidden');
364
+ $('#examples').addClass('hidden');
365
+ $('#customize').removeClass('hidden');
366
+ }),
367
+ $('.examples').click(function(){
368
+ $(this).addClass('selected');
369
+ $('.preset').removeClass('selected');
370
+ $('.custom').removeClass('selected');
371
+ $('#configuration').addClass('hidden');
372
+ $('#customize').addClass('hidden');
373
+ $('#examples').removeClass('hidden');
374
+ })
375
+ },
376
+ update_ui: function() {
377
+ $('#servers').val(units);
378
+ $('#small_server').attr('checked', 'checked');
379
+ },
380
+
381
+ // Get total
382
+ update: function(preconfig) {
383
+ if(preconfig) estimator.update_ui();
384
+
385
+ var serverSize = $("#server_size input[name='server_size']:checked").val();
386
+ var serverCosts = (estimator.serverPrice[serverSize] * units) + (estimator.serverPrice[serverSize] * database);
387
+ var monthlyCosts = serverCosts * estimator.computeHours;
388
+ var total = monthlyCosts * estimator.priceAdj;
389
+
390
+ $('#total').html(estimator.formatTotal(total));
391
+
392
+ // Updating cost details
393
+ $('.detail_server_count').html(units);
394
+ $('.detail_server_size').html(estimator.serverName[serverSize]);
395
+ $('.detail_server_cost').html(estimator.serverPrice[serverSize] * 100);
396
+ $('.server_subtotal').html(estimator.formatTotal(estimator.serverPrice[serverSize] * units * estimator.computeHours));
397
+ $('.db_server_count').html(database);
398
+ $('.db_subtotal').html("+ " + estimator.formatTotal(estimator.serverPrice[serverSize] * database * estimator.computeHours));
399
+ $('.priceAdj').html("+ " + estimator.formatTotal(monthlyCosts * (estimator.priceAdj - 1)));
400
+ if(database != 0) { $('.has_db').html("+ 1 " + estimator.serverName[serverSize] + " dedicated database instance"); } else { $('.has_db').html("");};
401
+ },
402
+
403
+ // Format total
404
+ formatTotal: function(strValue) {
405
+ strValue = strValue.toString().replace(/\$|\,/g,'');
406
+ dblValue = parseFloat(strValue);
407
+
408
+ blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
409
+ dblValue = Math.floor(dblValue*100+0.50000000001);
410
+ intCents = dblValue%100;
411
+ strCents = intCents.toString();
412
+ dblValue = Math.floor(dblValue/100).toString();
413
+ if(intCents<10)
414
+ strCents = "0" + strCents;
415
+ for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
416
+ dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
417
+ dblValue.substring(dblValue.length-(4*i+3));
418
+ return (((blnSign)?'':'-') + '$' + dblValue + '.' + strCents);
419
+ }
420
+ };
@@ -0,0 +1,32 @@
1
+ var pricing={plan:{unitPrice:[0.110,0.200,0.420,0.780,0.780,1.320,2.550],computeHoursMultiple:720,ebsStorageIo:0.10,ebsStorage:0.10,s3Space:0.15,s3XferIn:0.10,s3XferOut:0.17,s3Puts:0.01,s3Gets:0.01,bandwidthIn:0.10,bandwidthOut:0.15},standardSupportTier:[275,375,575,975,2150],additionalStandardSupport:425,premiumSupportTier:[475,625,975,1675,3575],additionalPremiumSupport:725,maxPageviews:1000000,maxPagesize:2000,init:function(){pricing.planMin=0;pricing.totalServers=0;pricing.maxServers=20;$('#servers .minus').click(function(){var input=$(this).parent().children('input');var newValue=parseInt(input.val())-1;input.val(newValue);pricing.update();});$('#servers .plus').click(function(){var input=$(this).parent().children('input');var newValue=parseInt(input.val())+1;input.val(newValue);pricing.update();});$('#servers input').change(function(){pricing.update()});$("input[name='support_group']").change(function(){pricing.update()});$('#pageviews_widget').slider({value:1000,min:0,max:pricing.maxPageviews,step:10000,slide:function(event,ui){$('#pageviews').val(pricing.formatValue(ui.value));},change:pricing.update,animate:true});$('#pagesize_widget').slider({value:300,min:0,max:pricing.maxPagesize,step:100,slide:function(event,ui){$('#pagesize').val(pricing.formatValue(ui.value)+'Kbs');},change:pricing.update,animate:true});$('#total_backups_widget').slider({value:1,min:1,max:30,step:1,slide:function(event,ui){$('#total_backups').val(ui.value);},change:pricing.update,animate:true});$('#backup_frequency_widget').slider({value:0,min:0,max:5,step:1,slide:function(event,ui){if(ui.value==5){$('#backup_frequency').val('every hour')}
2
+ else if(ui.value==4){$('#backup_frequency').val('every 2 hours')}
3
+ else if(ui.value==3){$('#backup_frequency').val('every 6 hours')}
4
+ else if(ui.value==2){$('#backup_frequency').val('twice a day')}
5
+ else if(ui.value==1){$('#backup_frequency').val('once a day')}
6
+ else if(ui.value==0){$('#backup_frequency').val('never')}},change:pricing.update,animate:true});pricing.update();},update:function(){$('#console').html('');var count=0;$('#servers input').each(function(i){if(pricing.totalServers>pricing.maxServers){$(this).val(0)}
7
+ else{count=count+parseInt($(this).val());}
8
+ if($(this).val()!=0){$('#servers .minus')[i].disabled=false}
9
+ else{$('#servers .minus')[i].disabled=true}});if($('#backup_frequency_widget').slider('value')<=0){$('#total_backups_widget').slider('disable');$('#total_backups_widget').fadeTo('slow',0.4);}else{$('#total_backups_widget').slider('enable');$('#total_backups_widget').fadeTo('slow',1);}
10
+ pricing.totalServers=count;$('#servers_remaining').html(count);if(count==pricing.maxServers){$('#servers .plus').attr('disabled',true)}
11
+ else{$('#servers .plus').attr('disabled',false)}
12
+ var prices=pricing.plan;var total=0;var totalComputeHours=pricing.totalServers*prices.computeHoursMultiple;var standardSupportTotal=0;var premiumSupportTotal=0;$('input.number').each(function(i){total+=parseInt($(this).val())*720*prices.unitPrice[i];});if(pricing.totalServers){var s3Xfer=14;var bwidth=10;var per24hours=[0,1,2,6,12,24];var backupFreq=per24hours[$('#backup_frequency_widget').slider('value')]
13
+ var pageviews=$('#pageviews').val().replace(/\$|\,/g,'')
14
+ var pagesize=$('#pagesize').val().replace(/\$|\,/g,'')
15
+ if(parseInt($('#total_backups').val())<=0||backupFreq<=0){var ebsStorageIO=0;}else{if(parseInt(pageviews)<=0){var ebsStorageIO=(parseInt(Math.log(1))*(parseInt(pagesize)/300)*(Math.log(backupFreq*parseInt($('#total_backups').val()))))/1.5+1;}
16
+ else{var ebsStorageIO=(parseInt(Math.log(pageviews))*(parseInt(pagesize)/300)*(Math.log(backupFreq*parseInt($('#total_backups').val()))))/1.5+1;}}
17
+ if(parseInt(pageviews)>0){var bandwidthIn=(parseInt(pagesize)/300)*(parseInt(Math.sqrt(pageviews))/10)}else{var bandwidthIn=0;}
18
+ var ebsStorage=ebsStorageIO/5;var s3Space=ebsStorage/2;var s3In=ebsStorageIO/6;var s3Out=ebsStorageIO/20;var s3Puts=backupFreq*6;var s3Gets=backupFreq;var bandwidthOut=bandwidthIn*10;total+=ebsStorage*prices.ebsStorage;total+=ebsStorageIO*prices.ebsStorageIo;total+=s3Space*prices.s3Space;total+=s3In*prices.s3XferIn;total+=s3Out*prices.s3XferOut;total+=s3Puts*prices.s3Puts;total+=s3Gets*prices.s3Gets;total+=bandwidthIn*prices.bandwidthIn;total+=bandwidthOut*prices.bandwidthOut;var supportTier=0;var additionalSupport=0;if(totalComputeHours>2500&&totalComputeHours<=5000)supportTier=1;else if(totalComputeHours>5000&&totalComputeHours<=10000)supportTier=2;else if(totalComputeHours>10000&&totalComputeHours<=20000)supportTier=3;else if(totalComputeHours>20000&&totalComputeHours<=50000)supportTier=4;else if(totalComputeHours>50000){supportTier=4;additionalSupport=(totalComputeHours-50000)/10000;}
19
+ standardSupportTotal=pricing.standardSupportTier[supportTier];premiumSupportTotal=pricing.premiumSupportTier[supportTier];}
20
+ if(total<pricing.planMin){standardSupportTotal=pricing.standardSupportTier[0];total=pricing.planMin;$('#total p').html('*monthly<br/>minimum')}else{$('#total p').html('');}
21
+ var selected_support=$("input[name='support_group']:checked").val();var supportTotal=0;if(pricing.totalServers>0){$('#standard_support_total').html(pricing.formatTotal(standardSupportTotal)+" Month");$('#premium_support_total').html(pricing.formatTotal(premiumSupportTotal)+" Month");if(selected_support=='standard'){supportTotal=standardSupportTotal}
22
+ else if(selected_support=='premium'){supportTotal=premiumSupportTotal}}else{$('#standard_support_total').html("—");$('#premium_support_total').html("—");}
23
+ $('#total #estimate').html(pricing.formatTotal(total+supportTotal));},formatTotal:function(strValue){strValue=strValue.toString().replace(/\$|\,/g,'');dblValue=parseFloat(strValue);blnSign=(dblValue==(dblValue=Math.abs(dblValue)));dblValue=Math.floor(dblValue*100+0.50000000001);intCents=dblValue%100;strCents=intCents.toString();dblValue=Math.floor(dblValue/100).toString();if(intCents<10)
24
+ strCents="0"+strCents;for(var i=0;i<Math.floor((dblValue.length-(1+i))/3);i++)
25
+ dblValue=dblValue.substring(0,dblValue.length-(4*i+3))+','+
26
+ dblValue.substring(dblValue.length-(4*i+3));return(((blnSign)?'':'-')+'$'+dblValue+'.'+strCents);},formatValue:function(strValue){strValue=strValue.toString().replace(/\$|\,/g,'');dblValue=parseFloat(strValue);blnSign=(dblValue==(dblValue=Math.abs(dblValue)));dblValue=Math.floor(dblValue*100);intCents=dblValue%100;strCents=intCents.toString();dblValue=Math.floor(dblValue/100).toString();for(var i=0;i<Math.floor((dblValue.length-(1+i))/3);i++){dblValue=dblValue.substring(0,dblValue.length-(4*i+3))+','+dblValue.substring(dblValue.length-(4*i+3));}
27
+ return(((blnSign)?'':'-')+dblValue);}}
28
+ var estimator={serverName:["Small","Medium","Large"],serverPrice:[0.11,0.200,0.420],computeHours:720,maxServers:20,priceAdj:1.075,select_default:function(){units=1;database=0;$('#dedicated_db').removeAttr('checked');estimator.update();},init:function(){$('#estimator input').change(function(){if($('#servers').val()>estimator.maxServers){units=estimator.maxServers;$('#servers').val(units);}else{units=$('#servers').val();}
29
+ if($('#dedicated_db:checked').val())database=1;else database=0;$('#configuration li').removeClass('selected');estimator.update();}),$('#servers').keydown(function(event){if(event.keyCode==46||event.keyCode==8||event.keyCode==9){}else{if((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)){}else{event.preventDefault();}}}),$('#shared').click(function(){units=1;database=0;$('#dedicated_db').removeAttr('checked');estimator.update(true);}),$('#dedicated').click(function(){units=1;database=1;$('#dedicated_db').attr('checked','checked');estimator.update(true);}),$('#cluster').click(function(){units=2;database=1;$('#dedicated_db').attr('checked','checked');estimator.update(true);}),$('#configuration li').click(function(){$(this).parent().children('li').removeClass("selected");$(this).addClass("selected");}),$('.preset').click(function(){$(this).addClass('selected');$('.custom').removeClass('selected');$('.examples').removeClass('selected');$('#configuration').removeClass('hidden');$('#examples').addClass('hidden');$('#customize').addClass('hidden');}),$('.custom').click(function(){$(this).addClass('selected');$('.preset').removeClass('selected');$('.examples').removeClass('selected');$('#configuration').addClass('hidden');$('#examples').addClass('hidden');$('#customize').removeClass('hidden');}),$('.examples').click(function(){$(this).addClass('selected');$('.preset').removeClass('selected');$('.custom').removeClass('selected');$('#configuration').addClass('hidden');$('#customize').addClass('hidden');$('#examples').removeClass('hidden');})},update_ui:function(){$('#servers').val(units);$('#small_server').attr('checked','checked');},update:function(preconfig){if(preconfig)estimator.update_ui();var serverSize=$("#server_size input[name='server_size']:checked").val();var serverCosts=(estimator.serverPrice[serverSize]*units)+(estimator.serverPrice[serverSize]*database);var monthlyCosts=serverCosts*estimator.computeHours;var total=monthlyCosts*estimator.priceAdj;$('#total').html(estimator.formatTotal(total));$('.detail_server_count').html(units);$('.detail_server_size').html(estimator.serverName[serverSize]);$('.detail_server_cost').html(estimator.serverPrice[serverSize]*100);$('.server_subtotal').html(estimator.formatTotal(estimator.serverPrice[serverSize]*units*estimator.computeHours));$('.db_server_count').html(database);$('.db_subtotal').html("+ "+estimator.formatTotal(estimator.serverPrice[serverSize]*database*estimator.computeHours));$('.priceAdj').html("+ "+estimator.formatTotal(monthlyCosts*(estimator.priceAdj-1)));if(database!=0){$('.has_db').html("+ 1 "+estimator.serverName[serverSize]+" dedicated database instance");}else{$('.has_db').html("");};},formatTotal:function(strValue){strValue=strValue.toString().replace(/\$|\,/g,'');dblValue=parseFloat(strValue);blnSign=(dblValue==(dblValue=Math.abs(dblValue)));dblValue=Math.floor(dblValue*100+0.50000000001);intCents=dblValue%100;strCents=intCents.toString();dblValue=Math.floor(dblValue/100).toString();if(intCents<10)
30
+ strCents="0"+strCents;for(var i=0;i<Math.floor((dblValue.length-(1+i))/3);i++)
31
+ dblValue=dblValue.substring(0,dblValue.length-(4*i+3))+','+
32
+ dblValue.substring(dblValue.length-(4*i+3));return(((blnSign)?'':'-')+'$'+dblValue+'.'+strCents);}};