alchemy 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (620) hide show
  1. data/LICENSE +20 -0
  2. data/README.md +6 -0
  3. data/Rakefile +21 -0
  4. data/app/assets/fonts/alchemy/LiberationSans-Bold-webfont.eot +0 -0
  5. data/app/assets/fonts/alchemy/LiberationSans-Bold-webfont.svg +154 -0
  6. data/app/assets/fonts/alchemy/LiberationSans-Bold-webfont.ttf +0 -0
  7. data/app/assets/fonts/alchemy/LiberationSans-Bold-webfont.woff +0 -0
  8. data/app/assets/fonts/alchemy/LiberationSans-BoldItalic-webfont.eot +0 -0
  9. data/app/assets/fonts/alchemy/LiberationSans-BoldItalic-webfont.svg +154 -0
  10. data/app/assets/fonts/alchemy/LiberationSans-BoldItalic-webfont.ttf +0 -0
  11. data/app/assets/fonts/alchemy/LiberationSans-BoldItalic-webfont.woff +0 -0
  12. data/app/assets/fonts/alchemy/LiberationSans-Italic-webfont.eot +0 -0
  13. data/app/assets/fonts/alchemy/LiberationSans-Italic-webfont.svg +154 -0
  14. data/app/assets/fonts/alchemy/LiberationSans-Italic-webfont.ttf +0 -0
  15. data/app/assets/fonts/alchemy/LiberationSans-Italic-webfont.woff +0 -0
  16. data/app/assets/fonts/alchemy/LiberationSans-Regular-webfont.eot +0 -0
  17. data/app/assets/fonts/alchemy/LiberationSans-Regular-webfont.svg +154 -0
  18. data/app/assets/fonts/alchemy/LiberationSans-Regular-webfont.ttf +0 -0
  19. data/app/assets/fonts/alchemy/LiberationSans-Regular-webfont.woff +0 -0
  20. data/app/assets/fonts/alchemy/Red Hat Liberation License.txt +78 -0
  21. data/app/assets/fonts/alchemy/overpass_bold-web.eot +0 -0
  22. data/app/assets/fonts/alchemy/overpass_bold-web.svg +470 -0
  23. data/app/assets/fonts/alchemy/overpass_bold-web.ttf +0 -0
  24. data/app/assets/fonts/alchemy/overpass_bold-web.woff +0 -0
  25. data/app/assets/fonts/alchemy/overpass_regular-web.eot +0 -0
  26. data/app/assets/fonts/alchemy/overpass_regular-web.svg +470 -0
  27. data/app/assets/fonts/alchemy/overpass_regular-web.ttf +0 -0
  28. data/app/assets/fonts/alchemy/overpass_regular-web.woff +0 -0
  29. data/app/assets/images/alchemy/icons/action-icons.png +0 -0
  30. data/app/assets/images/alchemy/icons/arrow_icon.png +0 -0
  31. data/app/assets/images/alchemy/icons/chosen-sprite.png +0 -0
  32. data/app/assets/images/alchemy/icons/error_icon.png +0 -0
  33. data/app/assets/images/alchemy/icons/objects.png +0 -0
  34. data/app/assets/images/alchemy/icons/spinner.gif +0 -0
  35. data/app/assets/images/alchemy/icons/spinner_head.gif +0 -0
  36. data/app/assets/images/alchemy/icons/success_icon.png +0 -0
  37. data/app/assets/images/alchemy/icons/warning_icon.png +0 -0
  38. data/app/assets/javascripts/alchemy/flash_messages.js +12 -0
  39. data/app/assets/javascripts/alchemy/forms.js +25 -0
  40. data/app/assets/javascripts/alchemy/i18n.js +36 -0
  41. data/app/assets/javascripts/alchemy/login.js +130 -0
  42. data/app/assets/javascripts/alchemy/password.js +99 -0
  43. data/app/assets/stylesheets/alchemy/components/_chosen.scss +423 -0
  44. data/app/assets/stylesheets/alchemy/components/_content.scss +58 -0
  45. data/app/assets/stylesheets/alchemy/components/_helpers.scss +38 -0
  46. data/app/assets/stylesheets/alchemy/components/_media.scss +49 -0
  47. data/app/assets/stylesheets/alchemy/components/_normalize.scss +448 -0
  48. data/app/assets/stylesheets/alchemy/components/_shared.scss +18 -0
  49. data/app/assets/stylesheets/alchemy/components/buttons/_buttons.scss +241 -0
  50. data/app/assets/stylesheets/alchemy/components/buttons/_buttons_vars.scss +10 -0
  51. data/app/assets/stylesheets/alchemy/components/flash_messages/_flash_messages.scss +93 -0
  52. data/app/assets/stylesheets/alchemy/components/flash_messages/_flash_messages_vars.scss +3 -0
  53. data/app/assets/stylesheets/alchemy/components/fonts/_liberation.scss +44 -0
  54. data/app/assets/stylesheets/alchemy/components/fonts/_overpass.scss +24 -0
  55. data/app/assets/stylesheets/alchemy/components/footer/_footer.scss +53 -0
  56. data/app/assets/stylesheets/alchemy/components/footer/_footer_vars.scss +4 -0
  57. data/app/assets/stylesheets/alchemy/components/forms/_forms.scss +536 -0
  58. data/app/assets/stylesheets/alchemy/components/forms/_forms_ie.scss +45 -0
  59. data/app/assets/stylesheets/alchemy/components/forms/_forms_mixins.scss +18 -0
  60. data/app/assets/stylesheets/alchemy/components/forms/_forms_responsive.scss +161 -0
  61. data/app/assets/stylesheets/alchemy/components/forms/_forms_vars.scss +25 -0
  62. data/app/assets/stylesheets/alchemy/components/header/_header.scss +214 -0
  63. data/app/assets/stylesheets/alchemy/components/header/_header_vars.scss +11 -0
  64. data/app/assets/stylesheets/alchemy/components/login/_login.scss +169 -0
  65. data/app/assets/stylesheets/alchemy/components/login/_login_mixins.scss +7 -0
  66. data/app/assets/stylesheets/alchemy/components/login/_login_vars.scss +19 -0
  67. data/app/assets/stylesheets/alchemy/components/sprites/_sprites.scss +110 -0
  68. data/app/assets/stylesheets/alchemy/components/sprites/_sprites_mixins.scss +9 -0
  69. data/app/assets/stylesheets/alchemy/components/text/_text.scss +30 -0
  70. data/app/assets/stylesheets/alchemy/components/text/_text_vars.scss +1 -0
  71. data/app/assets/stylesheets/alchemy/composites/content_elements.scss +6 -0
  72. data/app/assets/stylesheets/alchemy/composites/login.scss +9 -0
  73. data/app/assets/stylesheets/alchemy/composites/shell.scss +4 -0
  74. data/app/assets/stylesheets/alchemy/partials/_base.scss +8 -0
  75. data/app/assets/stylesheets/alchemy/partials/_colors.scss +99 -0
  76. data/app/assets/stylesheets/alchemy/partials/_mixins.scss +24 -0
  77. data/app/assets/stylesheets/alchemy/partials/_vars.scss +31 -0
  78. data/app/helpers/alchemy/gettext_translations.rb +27 -0
  79. data/app/helpers/alchemy/layout_helper.rb +19 -0
  80. data/app/helpers/alchemy/rails_translations.rb +21 -0
  81. data/app/helpers/alchemy/translation_helper.rb +19 -0
  82. data/app/views/alchemy/layouts/_base.haml +20 -0
  83. data/app/views/alchemy/layouts/_change_password_layout.html.haml +20 -0
  84. data/app/views/alchemy/layouts/_common_i18n.haml +4 -0
  85. data/app/views/alchemy/layouts/_header_layout.haml +13 -0
  86. data/app/views/alchemy/layouts/_login_layout.html.haml +58 -0
  87. data/app/views/alchemy/layouts/_user_session_layout.haml +17 -0
  88. data/app/views/alchemy/layouts/shell_layout.haml +10 -0
  89. data/lib/alchemy.rb +6 -0
  90. data/lib/alchemy/version.rb +3 -0
  91. data/test/alchemy_test.rb +7 -0
  92. data/test/test_helper.rb +9 -0
  93. data/vendor/assets/javascripts/alchemy/html5shiv.js +298 -0
  94. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/css/custom-theme/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  95. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/css/custom-theme/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  96. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/css/custom-theme/images/ui-bg_highlight-hard_75_dadada_1x100.png +0 -0
  97. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/css/custom-theme/images/ui-bg_highlight-hard_75_e6e6e6_1x100.png +0 -0
  98. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/css/custom-theme/images/ui-bg_highlight-hard_95_ffffff_1x100.png +0 -0
  99. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/css/custom-theme/images/ui-bg_highlight-soft_80_e0e0e0_1x100.png +0 -0
  100. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/css/custom-theme/images/ui-bg_inset-hard_65_ffffff_1x100.png +0 -0
  101. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/css/custom-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png +0 -0
  102. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/css/custom-theme/images/ui-icons_8f8f8f_256x240.png +0 -0
  103. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/css/custom-theme/images/ui-icons_97baed_256x240.png +0 -0
  104. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/css/custom-theme/images/ui-icons_cd0a0a_256x240.png +0 -0
  105. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/css/custom-theme/jquery-ui-1.8.11.custom.css +573 -0
  106. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/AUTHORS.txt +30 -0
  107. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/GPL-LICENSE.txt +278 -0
  108. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/MIT-LICENSE.txt +25 -0
  109. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/accordion/collapsible.html +57 -0
  110. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/accordion/custom-icons.html +69 -0
  111. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/accordion/default.html +85 -0
  112. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/accordion/fillspace.html +76 -0
  113. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/accordion/hoverintent.html +134 -0
  114. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/accordion/index.html +25 -0
  115. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/accordion/mouseover.html +57 -0
  116. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/accordion/no-auto-height.html +60 -0
  117. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/accordion/sortable.html +83 -0
  118. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/addClass/default.html +52 -0
  119. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/addClass/index.html +18 -0
  120. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/animate/default.html +61 -0
  121. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/animate/index.html +18 -0
  122. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/categories.html +71 -0
  123. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/combobox.html +171 -0
  124. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/custom-data.html +95 -0
  125. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/default.html +64 -0
  126. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/folding.html +62 -0
  127. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/images/jquery_32x32.png +0 -0
  128. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/images/jqueryui_32x32.png +0 -0
  129. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/images/sizzlejs_32x32.png +0 -0
  130. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/images/transparent_1x1.png +0 -0
  131. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/images/ui-anim_basic_16x16.gif +0 -0
  132. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/index.html +27 -0
  133. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/london.xml +114 -0
  134. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/maxheight.html +79 -0
  135. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/multiple-remote.html +84 -0
  136. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/multiple.html +99 -0
  137. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/remote-jsonp.html +86 -0
  138. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/remote-with-cache.html +59 -0
  139. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/remote.html +59 -0
  140. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/search.php +640 -0
  141. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/autocomplete/xml.html +72 -0
  142. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/button/checkbox.html +44 -0
  143. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/button/default.html +38 -0
  144. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/button/icons.html +56 -0
  145. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/button/index.html +23 -0
  146. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/button/radio.html +39 -0
  147. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/button/splitbutton.html +55 -0
  148. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/button/toolbar.html +120 -0
  149. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/alt-field.html +36 -0
  150. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/animation.html +58 -0
  151. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/buttonbar.html +35 -0
  152. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/date-formats.html +47 -0
  153. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/date-range.html +49 -0
  154. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/default.html +33 -0
  155. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/dropdown-month-year.html +36 -0
  156. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/icon-trigger.html +37 -0
  157. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/images/calendar.gif +0 -0
  158. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/index.html +31 -0
  159. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/inline.html +33 -0
  160. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/localization.html +162 -0
  161. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/min-max.html +33 -0
  162. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/multiple-calendars.html +36 -0
  163. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/other-months.html +37 -0
  164. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/datepicker/show-week.html +39 -0
  165. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/demos.css +334 -0
  166. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/dialog/animated.html +56 -0
  167. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/dialog/default.html +54 -0
  168. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/dialog/index.html +23 -0
  169. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/dialog/modal-confirmation.html +69 -0
  170. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/dialog/modal-form.html +167 -0
  171. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/dialog/modal-message.html +71 -0
  172. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/dialog/modal.html +60 -0
  173. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/draggable/constrain-movement.html +69 -0
  174. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/draggable/cursor-style.html +49 -0
  175. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/draggable/default.html +39 -0
  176. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/draggable/delay-start.html +45 -0
  177. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/draggable/events.html +77 -0
  178. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/draggable/handle.html +50 -0
  179. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/draggable/index.html +28 -0
  180. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/draggable/revert.html +44 -0
  181. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/draggable/scroll.html +51 -0
  182. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/draggable/snap-to.html +68 -0
  183. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/draggable/sortable.html +57 -0
  184. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/draggable/visual-feedback.html +77 -0
  185. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/accepted-elements.html +60 -0
  186. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/default.html +53 -0
  187. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/images/high_tatras.jpg +0 -0
  188. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/images/high_tatras2.jpg +0 -0
  189. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/images/high_tatras2_min.jpg +0 -0
  190. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/images/high_tatras3.jpg +0 -0
  191. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/images/high_tatras3_min.jpg +0 -0
  192. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/images/high_tatras4.jpg +0 -0
  193. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/images/high_tatras4_min.jpg +0 -0
  194. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/images/high_tatras_min.jpg +0 -0
  195. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/index.html +24 -0
  196. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/photo-manager.html +184 -0
  197. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/propagation.html +80 -0
  198. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/revert.html +61 -0
  199. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/shopping-cart.html +101 -0
  200. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/droppable/visual-feedback.html +78 -0
  201. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/effect/default.html +109 -0
  202. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/effect/easing.html +108 -0
  203. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/effect/index.html +19 -0
  204. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/hide/default.html +102 -0
  205. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/hide/index.html +18 -0
  206. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/images/calendar.gif +0 -0
  207. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/images/demo-config-on-tile.gif +0 -0
  208. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/images/demo-config-on.gif +0 -0
  209. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/images/demo-spindown-closed.gif +0 -0
  210. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/images/demo-spindown-open.gif +0 -0
  211. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/images/icon-docs-info.gif +0 -0
  212. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/images/pbar-ani.gif +0 -0
  213. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/index.html +321 -0
  214. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/position/cycler.html +122 -0
  215. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/position/default.html +153 -0
  216. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/position/images/earth.jpg +0 -0
  217. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/position/images/flight.jpg +0 -0
  218. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/position/images/rocket.jpg +0 -0
  219. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/position/index.html +19 -0
  220. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/progressbar/animated.html +44 -0
  221. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/progressbar/default.html +35 -0
  222. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/progressbar/images/pbar-ani.gif +0 -0
  223. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/progressbar/index.html +20 -0
  224. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/progressbar/resize.html +40 -0
  225. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/removeClass/default.html +52 -0
  226. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/removeClass/index.html +18 -0
  227. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/resizable/animate.html +43 -0
  228. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/resizable/aspect-ratio.html +42 -0
  229. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/resizable/constrain-area.html +47 -0
  230. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/resizable/default.html +40 -0
  231. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/resizable/delay-start.html +52 -0
  232. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/resizable/helper.html +43 -0
  233. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/resizable/index.html +28 -0
  234. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/resizable/max-min.html +45 -0
  235. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/resizable/snap-to-grid.html +42 -0
  236. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/resizable/synchronous-resize.html +49 -0
  237. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/resizable/textarea.html +41 -0
  238. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/resizable/visual-feedback.html +43 -0
  239. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/selectable/default.html +50 -0
  240. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/selectable/display-grid.html +55 -0
  241. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/selectable/index.html +20 -0
  242. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/selectable/serialize.html +61 -0
  243. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/show/default.html +104 -0
  244. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/show/index.html +18 -0
  245. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/colorpicker.html +95 -0
  246. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/default.html +37 -0
  247. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/hotelrooms.html +59 -0
  248. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/index.html +29 -0
  249. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/multiple-vertical.html +77 -0
  250. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/range-vertical.html +51 -0
  251. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/range.html +52 -0
  252. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/rangemax.html +50 -0
  253. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/rangemin.html +51 -0
  254. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/side-scroll.html +140 -0
  255. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/slider-vertical.html +52 -0
  256. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/steps.html +51 -0
  257. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/slider/tabs.html +67 -0
  258. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/sortable/connect-lists-through-tabs.html +78 -0
  259. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/sortable/connect-lists.html +58 -0
  260. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/sortable/default.html +51 -0
  261. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/sortable/delay-start.html +67 -0
  262. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/sortable/display-grid.html +54 -0
  263. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/sortable/empty-lists.html +69 -0
  264. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/sortable/index.html +26 -0
  265. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/sortable/items.html +70 -0
  266. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/sortable/placeholder.html +56 -0
  267. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/sortable/portlets.html +96 -0
  268. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/switchClass/default.html +47 -0
  269. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/switchClass/index.html +18 -0
  270. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/ajax.html +53 -0
  271. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/ajax/content1.html +4 -0
  272. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/ajax/content2.html +4 -0
  273. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/ajax/content3-slow.php +7 -0
  274. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/ajax/content4-broken.php +3 -0
  275. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/bottom.html +60 -0
  276. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/collapsible.html +55 -0
  277. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/cookie.html +56 -0
  278. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/default.html +49 -0
  279. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/index.html +25 -0
  280. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/manipulation.html +124 -0
  281. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/mouseover.html +53 -0
  282. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/sortable.html +58 -0
  283. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/tabs/vertical.html +61 -0
  284. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/toggle/default.html +94 -0
  285. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/toggle/index.html +18 -0
  286. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/toggleClass/default.html +46 -0
  287. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/demos/toggleClass/index.html +18 -0
  288. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/accordion.html +1017 -0
  289. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/addClass.html +109 -0
  290. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/animate.html +78 -0
  291. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/autocomplete.html +833 -0
  292. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/button.html +500 -0
  293. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/datepicker.html +2570 -0
  294. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/dialog.html +1698 -0
  295. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/draggable.html +1577 -0
  296. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/droppable.html +829 -0
  297. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/effect.html +143 -0
  298. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/hide.html +144 -0
  299. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/position.html +227 -0
  300. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/progressbar.html +460 -0
  301. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/removeClass.html +113 -0
  302. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/resizable.html +1201 -0
  303. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/selectable.html +848 -0
  304. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/show.html +144 -0
  305. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/slider.html +860 -0
  306. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/sortable.html +1952 -0
  307. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/switchClass.html +129 -0
  308. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/tabs.html +1549 -0
  309. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/toggle.html +144 -0
  310. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/docs/toggleClass.html +111 -0
  311. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/external/jquery.bgiframe-2.1.2.js +39 -0
  312. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/external/jquery.cookie.js +89 -0
  313. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/external/jquery.metadata.js +122 -0
  314. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/external/qunit.css +153 -0
  315. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/external/qunit.js +1261 -0
  316. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/jquery-1.5.1.js +8316 -0
  317. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  318. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  319. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  320. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  321. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  322. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  323. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  324. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  325. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-icons_222222_256x240.png +0 -0
  326. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-icons_2e83ff_256x240.png +0 -0
  327. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-icons_454545_256x240.png +0 -0
  328. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-icons_888888_256x240.png +0 -0
  329. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/images/ui-icons_cd0a0a_256x240.png +0 -0
  330. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.accordion.css +19 -0
  331. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.all.css +11 -0
  332. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.autocomplete.css +53 -0
  333. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.base.css +11 -0
  334. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.button.css +38 -0
  335. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.core.css +41 -0
  336. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.datepicker.css +68 -0
  337. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.dialog.css +21 -0
  338. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.progressbar.css +11 -0
  339. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.resizable.css +20 -0
  340. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.selectable.css +10 -0
  341. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.slider.css +24 -0
  342. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.tabs.css +18 -0
  343. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/base/jquery.ui.theme.css +252 -0
  344. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  345. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  346. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/images/ui-bg_highlight-hard_75_dadada_1x100.png +0 -0
  347. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/images/ui-bg_highlight-hard_75_e6e6e6_1x100.png +0 -0
  348. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/images/ui-bg_highlight-hard_95_ffffff_1x100.png +0 -0
  349. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/images/ui-bg_highlight-soft_80_e0e0e0_1x100.png +0 -0
  350. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/images/ui-bg_inset-hard_65_ffffff_1x100.png +0 -0
  351. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png +0 -0
  352. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/images/ui-icons_8f8f8f_256x240.png +0 -0
  353. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/images/ui-icons_97baed_256x240.png +0 -0
  354. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/images/ui-icons_cd0a0a_256x240.png +0 -0
  355. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery-ui-1.8.11.custom.css +573 -0
  356. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.accordion.css +19 -0
  357. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.all.css +11 -0
  358. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.autocomplete.css +53 -0
  359. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.base.css +11 -0
  360. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.button.css +38 -0
  361. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.core.css +41 -0
  362. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.datepicker.css +68 -0
  363. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.dialog.css +21 -0
  364. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.progressbar.css +11 -0
  365. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.resizable.css +20 -0
  366. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.selectable.css +10 -0
  367. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.slider.css +24 -0
  368. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.tabs.css +18 -0
  369. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/themes/custom-theme/jquery.ui.theme.css +254 -0
  370. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery-ui-i18n.js +1379 -0
  371. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-af.js +23 -0
  372. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-ar-DZ.js +23 -0
  373. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-ar.js +23 -0
  374. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-az.js +23 -0
  375. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-bg.js +24 -0
  376. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-bs.js +23 -0
  377. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-ca.js +23 -0
  378. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-cs.js +23 -0
  379. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-da.js +23 -0
  380. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-de.js +23 -0
  381. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-el.js +23 -0
  382. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-en-AU.js +23 -0
  383. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-en-GB.js +23 -0
  384. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-en-NZ.js +23 -0
  385. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-eo.js +23 -0
  386. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-es.js +23 -0
  387. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-et.js +23 -0
  388. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-eu.js +23 -0
  389. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-fa.js +23 -0
  390. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-fi.js +23 -0
  391. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-fo.js +23 -0
  392. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-fr-CH.js +23 -0
  393. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-fr.js +25 -0
  394. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-gl.js +23 -0
  395. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-he.js +23 -0
  396. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-hr.js +23 -0
  397. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-hu.js +23 -0
  398. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-hy.js +23 -0
  399. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-id.js +23 -0
  400. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-is.js +23 -0
  401. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-it.js +23 -0
  402. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-ja.js +23 -0
  403. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-ko.js +23 -0
  404. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-kz.js +23 -0
  405. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-lt.js +23 -0
  406. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-lv.js +23 -0
  407. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-ml.js +23 -0
  408. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-ms.js +23 -0
  409. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-nl.js +23 -0
  410. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-no.js +23 -0
  411. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-pl.js +23 -0
  412. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-pt-BR.js +23 -0
  413. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-pt.js +22 -0
  414. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-rm.js +21 -0
  415. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-ro.js +26 -0
  416. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-ru.js +23 -0
  417. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-sk.js +23 -0
  418. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-sl.js +24 -0
  419. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-sq.js +23 -0
  420. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-sr-SR.js +23 -0
  421. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-sr.js +23 -0
  422. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-sv.js +23 -0
  423. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-ta.js +23 -0
  424. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-th.js +23 -0
  425. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-tj.js +23 -0
  426. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-tr.js +23 -0
  427. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-uk.js +23 -0
  428. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-vi.js +23 -0
  429. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-zh-CN.js +23 -0
  430. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-zh-HK.js +23 -0
  431. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/i18n/jquery.ui.datepicker-zh-TW.js +23 -0
  432. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery-ui-1.8.11.custom.js +11577 -0
  433. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.blind.js +49 -0
  434. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.bounce.js +78 -0
  435. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.clip.js +54 -0
  436. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.core.js +747 -0
  437. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.drop.js +50 -0
  438. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.explode.js +79 -0
  439. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.fade.js +32 -0
  440. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.fold.js +56 -0
  441. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.highlight.js +50 -0
  442. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.pulsate.js +51 -0
  443. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.scale.js +178 -0
  444. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.shake.js +57 -0
  445. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.slide.js +50 -0
  446. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.effects.transfer.js +45 -0
  447. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.accordion.js +611 -0
  448. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.autocomplete.js +612 -0
  449. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.button.js +387 -0
  450. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.core.js +308 -0
  451. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.datepicker.js +1773 -0
  452. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.dialog.js +857 -0
  453. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.draggable.js +799 -0
  454. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.droppable.js +285 -0
  455. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.mouse.js +156 -0
  456. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.position.js +252 -0
  457. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.progressbar.js +108 -0
  458. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.resizable.js +812 -0
  459. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.selectable.js +266 -0
  460. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.slider.js +682 -0
  461. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.sortable.js +1073 -0
  462. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.tabs.js +758 -0
  463. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/jquery.ui.widget.js +262 -0
  464. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.blind.min.js +14 -0
  465. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.bounce.min.js +15 -0
  466. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.clip.min.js +14 -0
  467. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.core.min.js +30 -0
  468. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.drop.min.js +14 -0
  469. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.explode.min.js +15 -0
  470. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.fade.min.js +13 -0
  471. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.fold.min.js +14 -0
  472. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.highlight.min.js +14 -0
  473. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.pulsate.min.js +14 -0
  474. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.scale.min.js +20 -0
  475. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.shake.min.js +14 -0
  476. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.slide.min.js +14 -0
  477. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.effects.transfer.min.js +14 -0
  478. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.accordion.min.js +30 -0
  479. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.autocomplete.min.js +32 -0
  480. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.button.min.js +25 -0
  481. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.core.min.js +17 -0
  482. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.datepicker.min.js +82 -0
  483. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.dialog.min.js +40 -0
  484. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.draggable.min.js +50 -0
  485. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.droppable.min.js +26 -0
  486. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.mouse.min.js +17 -0
  487. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.position.min.js +16 -0
  488. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.progressbar.min.js +16 -0
  489. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.resizable.min.js +47 -0
  490. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.selectable.min.js +22 -0
  491. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.slider.min.js +33 -0
  492. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.sortable.min.js +60 -0
  493. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.tabs.min.js +35 -0
  494. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/ui/minified/jquery.ui.widget.min.js +15 -0
  495. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/development-bundle/version.txt +1 -0
  496. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/js/jquery-1.5.1.min.js +16 -0
  497. data/vendor/assets/javascripts/alchemy/jquery-ui-1.8.11.custom/js/jquery-ui-1.8.11.custom.min.js +783 -0
  498. data/vendor/assets/javascripts/alchemy/jquery/jquery-1.6.2.js +8981 -0
  499. data/vendor/assets/javascripts/alchemy/jquery/plugins/chosen.jquery.js +1003 -0
  500. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/API.txt +1201 -0
  501. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/FAQ.txt +76 -0
  502. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/LICENSE.txt +22 -0
  503. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/Makefile +9 -0
  504. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/NEWS.txt +508 -0
  505. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/PLUGINS.txt +137 -0
  506. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/README.txt +90 -0
  507. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/ajax.html +143 -0
  508. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/annotating.html +75 -0
  509. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/arrow-down.gif +0 -0
  510. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/arrow-left.gif +0 -0
  511. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/arrow-right.gif +0 -0
  512. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/arrow-up.gif +0 -0
  513. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/basic.html +38 -0
  514. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/data-eu-gdp-growth-1.json +4 -0
  515. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/data-eu-gdp-growth-2.json +4 -0
  516. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/data-eu-gdp-growth-3.json +4 -0
  517. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/data-eu-gdp-growth-4.json +4 -0
  518. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/data-eu-gdp-growth-5.json +4 -0
  519. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/data-eu-gdp-growth.json +4 -0
  520. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/data-japan-gdp-growth.json +4 -0
  521. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/data-usa-gdp-growth.json +4 -0
  522. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/graph-types.html +75 -0
  523. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/hs-2004-27-a-large_web.jpg +0 -0
  524. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/image.html +45 -0
  525. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/index.html +44 -0
  526. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/interacting-axes.html +97 -0
  527. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/interacting.html +93 -0
  528. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/layout.css +6 -0
  529. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/multiple-axes.html +60 -0
  530. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/navigate.html +118 -0
  531. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/percentiles.html +57 -0
  532. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/pie.html +756 -0
  533. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/realtime.html +83 -0
  534. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/resize.html +61 -0
  535. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/selection.html +114 -0
  536. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/setting-options.html +61 -0
  537. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/stacking.html +77 -0
  538. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/symbols.html +49 -0
  539. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/thresholding.html +54 -0
  540. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/time.html +71 -0
  541. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/tracking.html +95 -0
  542. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/turning-series.html +98 -0
  543. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/visitors.html +90 -0
  544. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/examples/zooming.html +98 -0
  545. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/excanvas.js +1427 -0
  546. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/excanvas.min.js +1 -0
  547. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.colorhelpers.js +179 -0
  548. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.colorhelpers.min.js +1 -0
  549. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.crosshair.js +167 -0
  550. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.crosshair.min.js +1 -0
  551. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.fillbetween.js +183 -0
  552. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.fillbetween.min.js +1 -0
  553. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.image.js +238 -0
  554. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.image.min.js +1 -0
  555. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.js +2599 -0
  556. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.min.js +6 -0
  557. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.navigate.js +336 -0
  558. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.navigate.min.js +1 -0
  559. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.pie.js +750 -0
  560. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.pie.min.js +1 -0
  561. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.resize.js +60 -0
  562. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.resize.min.js +1 -0
  563. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.selection.js +344 -0
  564. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.selection.min.js +1 -0
  565. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.stack.js +184 -0
  566. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.stack.min.js +1 -0
  567. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.symbol.js +70 -0
  568. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.symbol.min.js +1 -0
  569. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.threshold.js +103 -0
  570. data/vendor/assets/javascripts/alchemy/jquery/plugins/flot-0.7/jquery.flot.threshold.min.js +1 -0
  571. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/blank.svg +3 -0
  572. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/custom_test.js +67 -0
  573. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/jquery.svg.css +9 -0
  574. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/jquery.svg.js +1101 -0
  575. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/jquery.svg.min.js +7 -0
  576. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/jquery.svg.pack.js +7 -0
  577. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/jquery.svgfilter.js +396 -0
  578. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/jquery.svgfilter.min.js +7 -0
  579. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/jquery.svgfilter.pack.js +7 -0
  580. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/jquery.svggraph.js +1337 -0
  581. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/jquery.svggraph.min.js +7 -0
  582. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/jquery.svggraph.pack.js +7 -0
  583. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/lion.svg +161 -0
  584. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery-svg/test.js +714 -0
  585. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.ajaxfileupload.js +205 -0
  586. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.ba-bbq.js +1137 -0
  587. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.ba-resize.js +246 -0
  588. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.cookie.js +92 -0
  589. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.easing.1.3.js +205 -0
  590. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.fancyqueries.js +106 -0
  591. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.flash.js +288 -0
  592. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.form.js +964 -0
  593. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.hoverIntent.js +106 -0
  594. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.jeditable.ajaxupload.js +62 -0
  595. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.jeditable.js +556 -0
  596. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.jnotify.js +210 -0
  597. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.jscrollpane.js +1390 -0
  598. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.jscrollpane.min.js +11 -0
  599. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.linkHover.js +89 -0
  600. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.loadmask.min.js +10 -0
  601. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.mousewheel.js +78 -0
  602. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.multiselect.filter.js +176 -0
  603. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.multiselect.js +668 -0
  604. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.pack.js +11 -0
  605. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.periodicalupdater.js +175 -0
  606. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.sortElements.js +75 -0
  607. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.sparkline.min.js +94 -0
  608. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.text-overflow.js +60 -0
  609. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.timepickr.js +214 -0
  610. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.timers.js +142 -0
  611. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.tipsy.js +358 -0
  612. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.treeTable.js +226 -0
  613. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.trunk8.js +203 -0
  614. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.ui.multiselect.js +338 -0
  615. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.ui.totop.js +58 -0
  616. data/vendor/assets/javascripts/alchemy/jquery/plugins/jquery.uitablefilter.js +95 -0
  617. data/vendor/assets/javascripts/alchemy/jquery/plugins/ui.spinner.js +683 -0
  618. data/vendor/assets/javascripts/alchemy/rails.js +331 -0
  619. data/vendor/assets/javascripts/alchemy/underscore-1.3.1.js +999 -0
  620. metadata +683 -0
@@ -0,0 +1,7 @@
1
+ /* http://keith-wood.name/svg.html
2
+ SVG graphing extension for jQuery v1.0.1.
3
+ Written by Keith Wood (kbwood@iprimus.com.au) August 2007.
4
+ Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and
5
+ MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses.
6
+ Please attribute the author if you use it. */
7
+ var svgGraphing=null;(function($){svgManager.addExtension('graph',SVGGraph);svgGraphing=new SVGGraphing();function SVGGraphing(){this.regional=[];this.regional['']={percentageText:'Percentage'};this.region=this.regional['']}$.extend(SVGGraphing.prototype,{_chartTypes:[],addChartType:function(a,b){this._chartTypes[a]=b},chartTypes:function(){return this._chartTypes}});function SVGGraph(a){this._root=a;this._drawNow=true;for(var b in svgGraphing._chartTypes){this._chartType=svgGraphing._chartTypes[b];break}this._chartOptions={};this._title={value:'',offset:25,settings:{text_anchor:'middle'}};this._area=[0.1,0.1,0.8,0.9];this._chartFormat={fill:'none',stroke:'black'};this._gridlines=[];this._series=[];this._onstatus=null;this._chartGroup=this._root.group(null,'graph');this.xAxis=new SVGGraphAxis();this.xAxis.title('',40);this.yAxis=new SVGGraphAxis();this.yAxis.title('',40);this.x2Axis=null;this.y2Axis=null;this.legend=new SVGGraphLegend()}$.extend(SVGGraph.prototype,{X:0,Y:1,W:2,H:3,L:0,T:1,R:2,B:3,_percentageAxis:new SVGGraphAxis(svgGraphing.region.percentageText,0,100,10,0),chartType:function(a,b){if(arguments.length==0){return this._chartType}var c=svgGraphing._chartTypes[a];if(c){this._chartType=c;this._chartOptions=$.extend({},b||{})}this._drawGraph();return this},chartOptions:function(a){if(arguments.length==0){return this._chartOptions}this._chartOptions=$.extend({},a);this._drawGraph();return this},chartFormat:function(a,b,c){if(arguments.length==0){return this._chartFormat}if(typeof b=='object'){c=b;b=null}this._chartFormat=$.extend($.extend({fill:a},(b?{stroke:b}:{})),c||{});this._drawGraph();return this},chartArea:function(a,b,c,d){if(arguments.length==0){return this._area}this._area=(isArray(a)?a:[a,b,c,d]);this._drawGraph();return this},gridlines:function(a,b){if(arguments.length==0){return this._gridlines}this._gridlines=[(typeof a=='string'?{stroke:a}:a),(typeof b=='string'?{stroke:b}:b)];this._drawGraph();return this},title:function(a,b,c){if(arguments.length==0){return this._title}if(typeof b=='object'){c=b;b=null}this._title={value:a,offset:b||this._title.offset,settings:$.extend({text_anchor:'middle'},c||{})};this._drawGraph();return this},addSeries:function(a,b,c,d,e,f){if(typeof e=='object'){f=e;e=null}this._series[this._series.length]=new SVGGraphSeries(a,b,c,d,e,f||{});this._drawGraph();return this},series:function(){return this._series},noDraw:function(){this._drawNow=false;return this},redraw:function(){this._drawNow=true;this._drawGraph();return this},status:function(a){this._onstatus=a;return this},_drawGraph:function(){if(!this._drawNow){return}while(this._chartGroup.firstChild){this._chartGroup.removeChild(this._chartGroup.firstChild)}if(!this._chartGroup.parent){this._root._svg.appendChild(this._chartGroup)}this._chartType.drawGraph(this)},_drawTitle:function(){this._root.text(this._chartGroup,this._root._width()/2,this._title.offset,this._title.value,this._title.settings)},_getDims:function(a){a=a||this._area;var b=(a[this.L]>1?a[this.L]:this._root._width()*a[this.L]);var c=(a[this.T]>1?a[this.T]:this._root._height()*a[this.T]);var d=(a[this.R]>1?a[this.R]:this._root._width()*a[this.R])-b;var e=(a[this.B]>1?a[this.B]:this._root._height()*a[this.B])-c;return[b,c,d,e]},_drawChartBackground:function(a,b){var c=this._root.group(this._chartGroup,'background');var d=this._getDims();this._root.rect(c,d[this.X],d[this.Y],d[this.W],d[this.H],this._chartFormat);if(this._gridlines[0]&&this.yAxis._ticks.major&&!b){this._drawGridlines(c,this.yAxis,true,d,this._gridlines[0])}if(this._gridlines[1]&&this.xAxis._ticks.major&&!a){this._drawGridlines(c,this.xAxis,false,d,this._gridlines[1])}return c},_drawGridlines:function(a,b,c,d,e){var g=this._root.group(a,e);var f=(c?d[this.H]:d[this.W])/(b._scale.max-b._scale.min);var h=Math.floor(b._scale.min/b._ticks.major)*b._ticks.major;h=(h<b._scale.min?h+b._ticks.major:h);while(h<=b._scale.max){var v=(c?b._scale.max-h:h-b._scale.min)*f+(c?d[this.Y]:d[this.X]);this._root.line(g,(c?d[this.X]:v),(c?v:d[this.Y]),(c?d[this.X]+d[this.W]:v),(c?v:d[this.Y]+d[this.H]));h+=b._ticks.major}},_drawAxes:function(a){var b=this._getDims();if(this.xAxis&&!a){if(this.xAxis._title){this._root.text(this._chartGroup,b[this.X]+b[this.W]/2,b[this.Y]+b[this.H]+this.xAxis._titleOffset,this.xAxis._title)}this._drawAxis(this.xAxis,'xAxis',b[this.X],b[this.Y]+b[this.H],b[this.X]+b[this.W],b[this.Y]+b[this.H])}if(this.yAxis){if(this.yAxis._title){this._root.text(this._chartGroup,0,0,this.yAxis._title,{text_anchor:'middle',transform:'translate('+(b[this.X]-this.yAxis._titleOffset)+','+(b[this.Y]+b[this.H]/2)+') rotate(-90)'})}this._drawAxis(this.yAxis,'yAxis',b[this.X],b[this.Y],b[this.X],b[this.Y]+b[this.H])}if(this.x2Axis&&!a){if(this.x2Axis._title){this._root.text(this._chartGroup,b[this.X]+b[this.W]/2,b[this.X]-this.x2Axis._titleOffset,this.x2Axis._title)}this._drawAxis(this.x2Axis,'x2Axis',b[this.X],b[this.Y],b[this.X]+b[this.W],b[this.Y])}if(this.y2Axis){if(this.y2Axis._title){this._root.text(this._chartGroup,0,0,this.y2Axis._title,{text_anchor:'middle',transform:'translate('+(b[this.X]+b[this.W]+this.y2Axis._titleOffset)+','+(b[this.Y]+b[this.H]/2)+') rotate(-90)'})}this._drawAxis(this.y2Axis,'y2Axis',b[this.X]+b[this.W],b[this.Y],b[this.X]+b[this.W],b[this.Y]+b[this.H])}},_drawAxis:function(a,b,c,d,e,f){var g=(d==f);var h=this._root.group(this._chartGroup,b,a._lineFormat);var i=this._root.group(this._chartGroup,b+'Labels',$.extend({text_anchor:(g?'middle':'end')},a._labelFormat));this._root.line(h,c,d,e,f);if(a._ticks.major){var j=(e>(this._root._width()/2)&&f>(this._root._height()/2));var k=(g?e-c:f-d)/(a._scale.max-a._scale.min);var l=a._ticks.size;var m=Math.floor(a._scale.min/a._ticks.major)*a._ticks.major;m=(m<a._scale.min?m+a._ticks.major:m);var n=(!a._ticks.minor?a._scale.max+1:Math.floor(a._scale.min/a._ticks.minor)*a._ticks.minor);n=(n<a._scale.min?n+a._ticks.minor:n);var o=this._getTickOffsets(a,j);while(m<=a._scale.max||n<=a._scale.max){var p=Math.min(m,n);var q=(p==m?l:l/2);var v=(g?c:d)+(g?p-a._scale.min:a._scale.max-p)*k;this._root.line(h,(g?v:c+q*o[0]),(g?d+q*o[0]:v),(g?v:c+q*o[1]),(g?d+q*o[1]:v));if(p==m){this._root.text(i,(g?v:c-l),(g?d+2*l:v),(a._labels?a._labels[p]:''+p))}m+=(p==m?a._ticks.major:0);n+=(p==n?a._ticks.minor:0)}}},_getTickOffsets:function(a,b){return[(a._ticks.position==(b?'in':'out')||a._ticks.position=='both'?-1:0),(a._ticks.position==(b?'out':'in')||a._ticks.position=='both'?+1:0),]},_getPercentageAxis:function(){this._percentageAxis._title=svgGraphing.region.percentageText;return this._percentageAxis},_getTotals:function(){var a=[];var b=(this._series.length?this._series[0]._values.length:0);for(var i=0;i<b;i++){a[i]=0;for(var j=0;j<this._series.length;j++){a[i]+=this._series[j]._values[i]}}return a},_drawLegend:function(){if(!this.legend._show){return}var g=this._root.group(this._chartGroup,'legend');var a=this._getDims(this.legend._area);this._root.rect(g,a[this.X],a[this.Y],a[this.W],a[this.H],this.legend._bgSettings);var b=a[this.W]>a[this.H];var c=this._series.length;var d=(b?a[this.W]:a[this.H])/c;var e=a[this.X]+5;var f=a[this.Y]+(b?a[this.H]/2:d/2);for(var i=0;i<c;i++){var h=this._series[i];this._root.rect(g,e+(b?i*d:0),f+(b?0:i*d)-this.legend._sampleSize,this.legend._sampleSize,this.legend._sampleSize,{fill:h._fill,stroke:h._stroke,stroke_width:1});this._root.text(g,e+(b?i*d:0)+this.legend._sampleSize+5,f+(b?0:i*d),h._name,this.legend._textSettings)}},_showStatus:function(a){var b=(!this._onstatus?'':this._onstatus.toString().replace(/function (.*)\([\s\S]*/m,'$1'));return(!this._onstatus?{}:{onmouseover:'window.parent.'+b+'(\''+a+'\');',onmouseout:'window.parent.'+b+'(\'\');'})}});function SVGGraphAxis(a,b,c,d,e){this._title=a||'';this._titleFormat={};this._titleOffset=0;this._labels=null;this._labelFormat={};this._lineFormat={stroke:'black'};this._ticks={major:d||10,minor:e||0,size:10,position:'out'};this._scale={min:b||0,max:c||100};this._crossAt=0}$.extend(SVGGraphAxis.prototype,{scale:function(a,b){if(arguments.length==0){return this._scale}this._scale.min=a;this._scale.max=b;return this},ticks:function(a,b,c,d){if(arguments.length==0){return this._ticks}if(typeof c=='string'){d=c;c=null}this._ticks.major=a;this._ticks.minor=b;this._ticks.size=c||10;this._ticks.position=d||'out';return this},title:function(a,b,c){if(arguments.length==0){return{title:this._title,offset:this._titleOffset,format:this._titleFormat}}if(typeof b=='object'){c=b;b=null}this._title=a;if(b!=null){this._titleOffset=b}if(c){this._titleFormat=c}return this},labels:function(a,b){if(arguments.length==0){return{labels:this._labels,format:this._labelFormat}}this._labels=a;if(b){this._labelFormat=b}return this},line:function(a,b,c){if(arguments.length==0){return this._lineFormat}if(typeof b=='object'){c=b;b=null}$.extend(this._lineFormat,{stroke:a,stroke_width:b||1});$.extend(this._lineFormat,c||{});return this}});var B='green';var C='black';function SVGGraphSeries(a,b,c,d,e,f){this._name=a||'';this._values=b||[];this._axis=1;this._fill=c||B;this._stroke=d||C;this._strokeWidth=e||1;this._settings=f||{}}$.extend(SVGGraphSeries.prototype,{name:function(a){if(arguments.length==0){return this._name}this._name=a;return this},values:function(a,b){if(arguments.length==0){return this._values}if(isArray(a)){valus=a;a=null}this._name=a||this._name;this._values=b;return this},format:function(a,b,c,d){if(arguments.length==0){return $.extend({fill:this._fill,stroke:this._stroke,stroke_width:this._strokeWidth},this._settings)}if(typeof c=='object'){d=c;c=null}this._fill=a||B;this._stroke=b||this._stroke;this._strokeWidth=c||this._strokeWidth;$.extend(this._settings,d||{});return this}});function SVGGraphLegend(a,b){this._show=true;this._area=[0.9,0.1,1.0,0.9];this._sampleSize=15;this._bgSettings=a||{stroke:'gray'};this._textSettings=b||{}}$.extend(SVGGraphLegend.prototype,{show:function(a){if(arguments.length==0){return this._show}this._show=a;return this},area:function(a,b,c,d){if(arguments.length==0){return this._area}this._area=(isArray(a)?a:[a,b,c,d]);return this},settings:function(a,b,c){if(arguments.length==0){return{sampleSize:this._sampleSize,bgSettings:this._bgSettings,textSettings:this._textSettings}}if(typeof a=='object'){c=b;b=a;a=null}if(a){this._sampleSize=a}this._bgSettings=b;if(c){this._textSettings=c}return this}});function roundNumber(a,b){return Math.round(a*Math.pow(10,b))/Math.pow(10,b)}var D=['barWidth (number) - the width of each bar','barGap (number) - the gap between sets of bars'];function SVGColumnChart(){}$.extend(SVGColumnChart.prototype,{title:function(){return'Basic column chart'},description:function(){return'Compare sets of values as vertical bars with grouped categories.'},options:function(){return D},drawGraph:function(a){a._drawChartBackground(true);var b=a._chartOptions.barWidth||10;var c=a._chartOptions.barGap||10;var d=a._series.length;var e=(d?(a._series[0])._values.length:0);var f=a._getDims();var g=f[a.W]/((d*b+c)*e+c);var h=f[a.H]/(a.yAxis._scale.max-a.yAxis._scale.min);this._chart=a._root.group(a._chartGroup,'chart');for(var i=0;i<d;i++){this._drawSeries(a,i,d,b,c,f,g,h)}a._drawTitle();a._drawAxes(true);this._drawXAxis(a,d,e,b,c,f,g);a._drawLegend()},_drawSeries:function(a,b,c,d,e,f,h,j){var k=a._series[b];var g=a._root.group(this._chart,'series'+b,$.extend({stroke:k._stroke,stroke_width:k._strokeWidth},k._settings||{}));for(var i=0;i<k._values.length;i++){a._root.rect(g,f[a.X]+h*(e+i*(c*d+e)+(b*d)),f[a.Y]+j*(a.yAxis._scale.max-k._values[i]),h*d,j*k._values[i],$.extend({fill:k._fill},a._showStatus(k._name+' '+k._values[i])))}},_drawXAxis:function(a,b,c,d,e,f,g){var h=a.xAxis;if(h._title){a._root.text(a._chartGroup,f[a.X]+f[a.W]/2,f[a.Y]+f[a.H]+h._titleOffset,h._title,{text_anchor:'middle'})}var j=a._root.group(a._chartGroup,'xAxis',h._lineFormat);var k=a._root.group(a._chartGroup,'xAxisLabels',$.extend({text_anchor:'middle'},h._labelFormat));a._root.line(j,f[a.X],f[a.Y]+f[a.H],f[a.X]+f[a.W],f[a.Y]+f[a.H]);if(h._ticks.major){var l=a._getTickOffsets(h,true);for(var i=1;i<c;i++){var x=f[a.X]+g*(e/2+i*(b*d+e));a._root.line(j,x,f[a.Y]+f[a.H]+l[0]*h._ticks.size,x,f[a.Y]+f[a.H]+l[1]*h._ticks.size)}for(var i=0;i<c;i++){var x=f[a.X]+g*(e/2+(i+0.5)*(b*d+e));a._root.text(k,x,f[a.Y]+f[a.H]+2*h._ticks.size,(h._labels?h._labels[i]:''+i))}}}});function SVGStackedColumnChart(){}$.extend(SVGStackedColumnChart.prototype,{title:function(){return'Stacked column chart'},description:function(){return'Compare sets of values as vertical bars showing '+'relative contributions to the whole for each category.'},options:function(){return D},drawGraph:function(a){var b=a._drawChartBackground(true,true);var c=a._getDims();if(a._gridlines[0]&&a.xAxis._ticks.major){a._drawGridlines(b,a._getPercentageAxis(),true,c,a._gridlines[0])}var d=a._chartOptions.barWidth||10;var e=a._chartOptions.barGap||10;var f=a._series.length;var g=(f?(a._series[0])._values.length:0);var h=c[a.W]/((d+e)*g+e);var i=c[a.H];this._chart=a._root.group(a._chartGroup,'chart');this._drawColumns(a,f,g,d,e,c,h,i);a._drawTitle();a._root.text(a._chartGroup,0,0,svgGraphing.region.percentageText,{text_anchor:'middle',transform:'translate('+(c[a.X]-a.yAxis._titleOffset)+','+(c[a.Y]+c[a.H]/2)+') rotate(-90)'});a._drawAxis(a._getPercentageAxis(),'yAxis',c[a.X],c[a.Y],c[a.X],c[a.Y]+c[a.H]);this._drawXAxis(a,g,d,e,c,h);a._drawLegend()},_drawColumns:function(a,b,c,d,e,f,h,j){var k=a._getTotals();var l=[];for(var i=0;i<c;i++){l[i]=0}for(var s=0;s<b;s++){var m=a._series[s];var g=a._root.group(this._chart,'series'+s,$.extend({stroke:m._stroke,stroke_width:m._strokeWidth},m._settings||{}));for(var i=0;i<m._values.length;i++){l[i]+=m._values[i];a._root.rect(g,f[a.X]+h*(e+i*(d+e)),f[a.Y]+j*(k[i]-l[i])/k[i],h*d,j*m._values[i]/k[i],$.extend({fill:m._fill},a._showStatus(m._name+' '+roundNumber(m._values[i]/k[i]*100,2)+'%')))}}},_drawXAxis:function(a,b,c,d,e,f){var g=a.xAxis;if(g._title){a._root.text(a._chartGroup,e[a.X]+e[a.W]/2,e[a.Y]+e[a.H]+g._titleOffset,g._title,{text_anchor:'middle'})}var h=a._root.group(a._chartGroup,'xAxis',g._lineFormat);var j=a._root.group(a._chartGroup,'xAxisLabels',$.extend({text_anchor:'middle'},g._labelFormat));a._root.line(h,e[a.X],e[a.Y]+e[a.H],e[a.X]+e[a.W],e[a.Y]+e[a.H]);if(g._ticks.major){var k=a._getTickOffsets(g,true);for(var i=1;i<b;i++){var x=e[a.X]+f*(d/2+i*(c+d));a._root.line(h,x,e[a.Y]+e[a.H]+k[0]*g._ticks.size,x,e[a.Y]+e[a.H]+k[1]*g._ticks.size)}for(var i=0;i<b;i++){var x=e[a.X]+f*(d/2+(i+0.5)*(c+d));a._root.text(j,x,e[a.Y]+e[a.H]+2*g._ticks.size,(g._labels?g._labels[i]:''+i))}}}});function SVGRowChart(){}$.extend(SVGRowChart.prototype,{title:function(){return'Basic row chart'},description:function(){return'Compare sets of values as horizontal rows with grouped categories.'},options:function(){return D},drawGraph:function(a){var b=a._drawChartBackground(true,true);var c=a._getDims();a._drawGridlines(b,a.yAxis,false,c,a._gridlines[0]);var d=a._chartOptions.barWidth||10;var e=a._chartOptions.barGap||10;var f=a._series.length;var g=(f?(a._series[0])._values.length:0);var h=c[a.W]/(a.yAxis._scale.max-a.yAxis._scale.min);var j=c[a.H]/((f*d+e)*g+e);this._chart=a._root.group(a._chartGroup,'chart');for(var i=0;i<f;i++){this._drawSeries(a,i,f,d,e,c,h,j)}a._drawTitle();this._drawAxes(a,f,g,d,e,c,j);a._drawLegend()},_drawSeries:function(a,b,c,d,e,f,h,j){var k=a._series[b];var g=a._root.group(this._chart,'series'+b,$.extend({stroke:k._stroke,stroke_width:k._strokeWidth},k._settings||{}));for(var i=0;i<k._values.length;i++){a._root.rect(g,f[a.X]+h*(0-a.yAxis._scale.min),f[a.Y]+j*(e+i*(c*d+e)+(b*d)),h*k._values[i],j*d,$.extend({fill:k._fill},a._showStatus(k._name+' '+k._values[i])))}},_drawAxes:function(a,b,c,d,e,f,g){var h=a.yAxis;if(h){if(h._title){a._root.text(a._chartGroup,f[a.X]+f[a.W]/2,f[a.Y]+f[a.H]+h._titleOffset,h._title,h._titleFormat)}a._drawAxis(h,'xAxis',f[a.X],f[a.Y]+f[a.H],f[a.X]+f[a.W],f[a.Y]+f[a.H])}var h=a.xAxis;if(h._title){a._root.text(a._chartGroup,0,0,h._title,{text_anchor:'middle',transform:'translate('+(f[a.X]-h._titleOffset)+','+(f[a.Y]+f[a.H]/2)+') rotate(-90)'})}var j=a._root.group(a._chartGroup,'yAxis',h._lineFormat);var k=a._root.group(a._chartGroup,'yAxisLabels',$.extend({text_anchor:'end'},h._labelFormat));a._root.line(j,f[a.X],f[a.Y],f[a.X],f[a.Y]+f[a.H]);if(h._ticks.major){var l=a._getTickOffsets(h,false);for(var i=1;i<c;i++){var y=f[a.Y]+g*(e/2+i*(b*d+e));a._root.line(j,f[a.X]+l[0]*h._ticks.size,y,f[a.X]+l[1]*h._ticks.size,y)}for(var i=0;i<c;i++){var y=f[a.Y]+g*(e/2+(i+0.5)*(b*d+e));a._root.text(k,f[a.X]-h._ticks.size,y,(h._labels?h._labels[i]:''+i))}}}});function SVGStackedRowChart(){}$.extend(SVGStackedRowChart.prototype,{title:function(){return'Stacked row chart'},description:function(){return'Compare sets of values as horizontal bars showing '+'relative contributions to the whole for each category.'},options:function(){return D},drawGraph:function(a){var b=a._drawChartBackground(true,true);var c=a._getDims();if(a._gridlines[0]&&a.xAxis._ticks.major){a._drawGridlines(b,a._getPercentageAxis(),false,c,a._gridlines[0])}var d=a._chartOptions.barWidth||10;var e=a._chartOptions.barGap||10;var f=a._series.length;var g=(f?(a._series[0])._values.length:0);var h=c[a.W];var i=c[a.H]/((d+e)*g+e);this._chart=a._root.group(a._chartGroup,'chart');this._drawRows(a,f,g,d,e,c,h,i);a._drawTitle();a._root.text(a._chartGroup,c[a.X]+c[a.W]/2,c[a.Y]+c[a.H]+a.xAxis._titleOffset,svgGraphing.region.percentageText,{text_anchor:'middle'});a._drawAxis(a._getPercentageAxis(),'xAxis',c[a.X],c[a.Y]+c[a.H],c[a.X]+c[a.W],c[a.Y]+c[a.H]);this._drawYAxis(a,g,d,e,c,i);a._drawLegend()},_drawRows:function(a,b,c,d,e,f,h,j){var k=a._getTotals();var l=[];for(var i=0;i<c;i++){l[i]=0}for(var s=0;s<b;s++){var m=a._series[s];var g=a._root.group(this._chart,'series'+s,$.extend({stroke:m._stroke,stroke_width:m._strokeWidth},m._settings||{}));for(var i=0;i<m._values.length;i++){a._root.rect(g,f[a.X]+h*l[i]/k[i],f[a.Y]+j*(e+i*(d+e)),h*m._values[i]/k[i],j*d,$.extend({fill:m._fill},a._showStatus(m._name+' '+roundNumber(m._values[i]/k[i]*100,2)+'%')));l[i]+=m._values[i]}}},_drawYAxis:function(a,b,c,d,e,f){var g=a.xAxis;if(g._title){a._root.text(a._chartGroup,0,0,g._title,{text_anchor:'middle',transform:'translate('+(e[a.X]-g._titleOffset)+','+(e[a.Y]+e[a.H]/2)+') rotate(-90)'})}var h=a._root.group(a._chartGroup,'yAxis',g._lineFormat);var j=a._root.group(a._chartGroup,'yAxisLabels',$.extend({text_anchor:'end'},g._labelFormat));a._root.line(h,e[a.X],e[a.Y],e[a.X],e[a.Y]+e[a.H]);if(g._ticks.major){var k=a._getTickOffsets(g,false);for(var i=1;i<b;i++){var y=e[a.Y]+f*(d/2+i*(c+d));a._root.line(h,e[a.X]+k[0]*g._ticks.size,y,e[a.X]+k[1]*g._ticks.size,y)}for(var i=0;i<b;i++){var y=e[a.Y]+f*(d/2+(i+0.5)*(c+d));a._root.text(j,e[a.X]-g._ticks.size,y,(g._labels?g._labels[i]:''+i))}}}});function SVGLineChart(){}$.extend(SVGLineChart.prototype,{title:function(){return'Basic line chart'},description:function(){return'Compare sets of values as continuous lines.'},options:function(){return[]},drawGraph:function(a){a._drawChartBackground();var b=a._getDims();var c=b[a.W]/(a.xAxis._scale.max-a.xAxis._scale.min);var d=b[a.H]/(a.yAxis._scale.max-a.yAxis._scale.min);this._chart=a._root.group(a._chartGroup,'chart');for(var i=0;i<a._series.length;i++){this._drawSeries(a,i,b,c,d)}a._drawTitle();a._drawAxes();a._drawLegend()},_drawSeries:function(a,b,c,d,e){var f=a._series[b];var g=a._root.createPath();for(var i=0;i<f._values.length;i++){var x=c[a.X]+i*d;var y=c[a.Y]+(a.yAxis._scale.max-f._values[i])*e;if(i==0){g.moveTo(x,y)}else{g.lineTo(x,y)}}a._root.path(this._chart,g,$.extend($.extend({id:'series'+b,fill:'none',stroke:f._stroke,stroke_width:f._strokeWidth},a._showStatus(f._name),f._settings||{})))}});function SVGPieChart(){}$.extend(SVGPieChart.prototype,{_options:['explode (number[]) - indexes of sections to explode out of the pie','explodeDist (number) - the distance to move an exploded section','pieGap (number) - the distance between pies for multiple values'],title:function(){return'Pie chart'},description:function(){return'Compare relative sizes of values as contributions to the whole.'},options:function(){return this._options},drawGraph:function(a){a._drawChartBackground(true,true);this._chart=a._root.group(a._chartGroup,'chart');var b=a._getDims();this._drawSeries(a,b);a._drawTitle();a._drawLegend()},_drawSeries:function(a,b){var c=a._getTotals();var d=a._series.length;var e=(d?(a._series[0])._values.length:0);var f=a._root.createPath();var g=a._chartOptions.explode||[];var h=a._chartOptions.explodeDist||10;var l=(e<=1?0:a._chartOptions.pieGap||10);var m=(b[a.W]-(e*l)-l)/e/2;var n=b[a.H]/2;var o=Math.min(m,n)-(g.length>0?h:0);var p=a._root.group(a._chartGroup,'xAxisLabels',$.extend({text_anchor:'middle'},a.xAxis._labelFormat));var q=[];for(var i=0;i<e;i++){var r=b[a.X]+m+(i*(2*Math.min(m,n)+l))+l;var s=b[a.Y]+n;var t=0;for(var j=0;j<d;j++){var u=a._series[j];if(i==0){q[j]=a._root.group(this._chart,'series'+j,$.extend({stroke:u._stroke,stroke_width:u._strokeWidth},u._settings||{}))}if(u._values[i]==0){continue}var v=(t/c[i])*2*Math.PI;t+=u._values[i];var w=(t/c[i])*2*Math.PI;var z=false;for(var k=0;k<g.length;k++){if(g[k]==j){z=true;break}}var x=r+(z?h*Math.cos((v+w)/2):0);var y=s+(z?h*Math.sin((v+w)/2):0);var A=u._name+' '+roundNumber((w-v)/2/Math.PI*100,2)+'%';a._root.path(q[j],f.reset().moveTo(x,y).lineTo(x+o*Math.cos(v),y+o*Math.sin(v)).arcTo(o,o,0,(w-v<Math.PI?0:1),1,x+o*Math.cos(w),y+o*Math.sin(w)).close(),$.extend({fill:u._fill},a._showStatus(A)))}if(a.xAxis){a._root.text(p,r,b[a.Y]+b[a.H]+a.xAxis._titleOffset,a.xAxis._labels[i])}}}});function isArray(a){return(a.constructor&&a.constructor.toString().match(/\Array\(\)/))}svgGraphing.addChartType('column',new SVGColumnChart());svgGraphing.addChartType('stackedColumn',new SVGStackedColumnChart());svgGraphing.addChartType('row',new SVGRowChart());svgGraphing.addChartType('stackedRow',new SVGStackedRowChart());svgGraphing.addChartType('line',new SVGLineChart());svgGraphing.addChartType('pie',new SVGPieChart())})(jQuery)
@@ -0,0 +1,7 @@
1
+ /* http://keith-wood.name/svg.html
2
+ SVG graphing extension for jQuery v1.0.1.
3
+ Written by Keith Wood (kbwood@iprimus.com.au) August 2007.
4
+ Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and
5
+ MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses.
6
+ Please attribute the author if you use it. */
7
+ eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('6 1e=1a;(7($){43.3M(\'3E\',36);1e=1k 2Z();7 2Z(){4.2P=[];4.2P[\'\']={28:\'3K\'};4.2m=4.2P[\'\']}$.K(2Z.1r,{23:[],1U:7(a,b){4.23[a]=b},49:7(){F 4.23}});7 36(a){4.E=a;4.2r=17;O(6 b 2J 1e.23){4.2s=1e.23[b];3c}4.1g={};4.Q={35:\'\',2h:25,2B:{19:\'1j\'}};4.1G=[0.1,0.1,0.8,0.9];4.2u={1u:\'3s\',1c:\'2T\'};4.1l=[];4.U=[];4.2k=1a;4.M=4.E.Z(1a,\'3E\');4.V=1k 29();4.V.1q(\'\',40);4.11=1k 29();4.11.1q(\'\',40);4.1L=1a;4.1N=1a;4.1t=1k 2Y()}$.K(36.1r,{X:0,Y:1,W:2,H:3,L:0,T:1,R:2,B:3,31:1k 29(1e.2m.28,0,2g,10,0),4l:7(a,b){G(18.J==0){F 4.2s}6 c=1e.23[a];G(c){4.2s=c;4.1g=$.K({},b||{})}4.1A();F 4},4k:7(a){G(18.J==0){F 4.1g}4.1g=$.K({},a);4.1A();F 4},4j:7(a,b,c){G(18.J==0){F 4.2u}G(1v b==\'1S\'){c=b;b=1a}4.2u=$.K($.K({1u:a},(b?{1c:b}:{})),c||{});4.1A();F 4},4g:7(a,b,c,d){G(18.J==0){F 4.1G}4.1G=(2v(a)?a:[a,b,c,d]);4.1A();F 4},4b:7(a,b){G(18.J==0){F 4.1l}4.1l=[(1v a==\'2W\'?{1c:a}:a),(1v b==\'2W\'?{1c:b}:b)];4.1A();F 4},1q:7(a,b,c){G(18.J==0){F 4.Q}G(1v b==\'1S\'){c=b;b=1a}4.Q={35:a,2h:b||4.Q.2h,2B:$.K({19:\'1j\'},c||{})};4.1A();F 4},48:7(a,b,c,d,e,f){G(1v e==\'1S\'){f=e;e=1a}4.U[4.U.J]=1k 2V(a,b,c,d,e,f||{});4.1A();F 4},1P:7(){F 4.U},3Z:7(){4.2r=1O;F 4},3V:7(){4.2r=17;4.1A();F 4},3T:7(a){4.2k=a;F 4},1A:7(){G(!4.2r){F}2S(4.M.3p){4.M.3R(4.M.3p)}G(!4.M.2Q){4.E.3O.3N(4.M)}4.2s.1R(4)},1M:7(){4.E.14(4.M,4.E.2p()/2,4.Q.2h,4.Q.35,4.Q.2B)},1x:7(a){a=a||4.1G;6 b=(a[4.L]>1?a[4.L]:4.E.2p()*a[4.L]);6 c=(a[4.T]>1?a[4.T]:4.E.2M()*a[4.T]);6 d=(a[4.R]>1?a[4.R]:4.E.2p()*a[4.R])-b;6 e=(a[4.B]>1?a[4.B]:4.E.2M()*a[4.B])-c;F[b,c,d,e]},1K:7(a,b){6 c=4.E.Z(4.M,\'3L\');6 d=4.1x();4.E.1J(c,d[4.X],d[4.Y],d[4.W],d[4.H],4.2u);G(4.1l[0]&&4.11.I.16&&!b){4.1X(c,4.11,17,d,4.1l[0])}G(4.1l[1]&&4.V.I.16&&!a){4.1X(c,4.V,1O,d,4.1l[1])}F c},1X:7(a,b,c,d,e){6 g=4.E.Z(a,e);6 f=(c?d[4.H]:d[4.W])/(b.N.1b-b.N.12);6 h=13.39(b.N.12/b.I.16)*b.I.16;h=(h<b.N.12?h+b.I.16:h);2S(h<=b.N.1b){6 v=(c?b.N.1b-h:h-b.N.12)*f+(c?d[4.Y]:d[4.X]);4.E.1h(g,(c?d[4.X]:v),(c?v:d[4.Y]),(c?d[4.X]+d[4.W]:v),(c?v:d[4.Y]+d[4.H]));h+=b.I.16}},2n:7(a){6 b=4.1x();G(4.V&&!a){G(4.V.Q){4.E.14(4.M,b[4.X]+b[4.W]/2,b[4.Y]+b[4.H]+4.V.1d,4.V.Q)}4.1I(4.V,\'V\',b[4.X],b[4.Y]+b[4.H],b[4.X]+b[4.W],b[4.Y]+b[4.H])}G(4.11){G(4.11.Q){4.E.14(4.M,0,0,4.11.Q,{19:\'1j\',2l:\'2d(\'+(b[4.X]-4.11.1d)+\',\'+(b[4.Y]+b[4.H]/2)+\') 2j(-2i)\'})}4.1I(4.11,\'11\',b[4.X],b[4.Y],b[4.X],b[4.Y]+b[4.H])}G(4.1L&&!a){G(4.1L.Q){4.E.14(4.M,b[4.X]+b[4.W]/2,b[4.X]-4.1L.1d,4.1L.Q)}4.1I(4.1L,\'1L\',b[4.X],b[4.Y],b[4.X]+b[4.W],b[4.Y])}G(4.1N){G(4.1N.Q){4.E.14(4.M,0,0,4.1N.Q,{19:\'1j\',2l:\'2d(\'+(b[4.X]+b[4.W]+4.1N.1d)+\',\'+(b[4.Y]+b[4.H]/2)+\') 2j(-2i)\'})}4.1I(4.1N,\'1N\',b[4.X]+b[4.W],b[4.Y],b[4.X]+b[4.W],b[4.Y]+b[4.H])}},1I:7(a,b,c,d,e,f){6 g=(d==f);6 h=4.E.Z(4.M,b,a.1D);6 i=4.E.Z(4.M,b+\'4u\',$.K({19:(g?\'1j\':\'34\')},a.1C));4.E.1h(h,c,d,e,f);G(a.I.16){6 j=(e>(4.E.2p()/2)&&f>(4.E.2M()/2));6 k=(g?e-c:f-d)/(a.N.1b-a.N.12);6 l=a.I.1f;6 m=13.39(a.N.12/a.I.16)*a.I.16;m=(m<a.N.12?m+a.I.16:m);6 n=(!a.I.1Q?a.N.1b+1:13.39(a.N.12/a.I.1Q)*a.I.1Q);n=(n<a.N.12?n+a.I.1Q:n);6 o=4.22(a,j);2S(m<=a.N.1b||n<=a.N.1b){6 p=13.12(m,n);6 q=(p==m?l:l/2);6 v=(g?c:d)+(g?p-a.N.12:a.N.1b-p)*k;4.E.1h(h,(g?v:c+q*o[0]),(g?d+q*o[0]:v),(g?v:c+q*o[1]),(g?d+q*o[1]:v));G(p==m){4.E.14(i,(g?v:c-l),(g?d+2*l:v),(a.1i?a.1i[p]:\'\'+p))}m+=(p==m?a.I.16:0);n+=(p==n?a.I.1Q:0)}}},22:7(a,b){F[(a.I.21==(b?\'2J\':\'2f\')||a.I.21==\'3x\'?-1:0),(a.I.21==(b?\'2f\':\'2J\')||a.I.21==\'3x\'?+1:0),]},2e:7(){4.31.Q=1e.2m.28;F 4.31},2A:7(){6 a=[];6 b=(4.U.J?4.U[0].P.J:0);O(6 i=0;i<b;i++){a[i]=0;O(6 j=0;j<4.U.J;j++){a[i]+=4.U[j].P[i]}}F a},1W:7(){G(!4.1t.2z){F}6 g=4.E.Z(4.M,\'1t\');6 a=4.1x(4.1t.1G);4.E.1J(g,a[4.X],a[4.Y],a[4.W],a[4.H],4.1t.2y);6 b=a[4.W]>a[4.H];6 c=4.U.J;6 d=(b?a[4.W]:a[4.H])/c;6 e=a[4.X]+5;6 f=a[4.Y]+(b?a[4.H]/2:d/2);O(6 i=0;i<c;i++){6 h=4.U[i];4.E.1J(g,e+(b?i*d:0),f+(b?0:i*d)-4.1t.1V,4.1t.1V,4.1t.1V,{1u:h.1B,1c:h.1p,1y:1});4.E.14(g,e+(b?i*d:0)+4.1t.1V+5,f+(b?0:i*d),h.1n,4.1t.2x)}},1T:7(a){6 b=(!4.2k?\'\':4.2k.3v().4i(/7 (.*)\\([\\s\\S]*/m,\'$1\'));F(!4.2k?{}:{4h:\'3u.2Q.\'+b+\'(\\\'\'+a+\'\\\');\',4f:\'3u.2Q.\'+b+\'(\\\'\\\');\'})}});7 29(a,b,c,d,e){4.Q=a||\'\';4.2w={};4.1d=0;4.1i=1a;4.1C={};4.1D={1c:\'2T\'};4.I={16:d||10,1Q:e||0,1f:10,21:\'2f\'};4.N={12:b||0,1b:c||2g};4.4e=0}$.K(29.1r,{4d:7(a,b){G(18.J==0){F 4.N}4.N.12=a;4.N.1b=b;F 4},4c:7(a,b,c,d){G(18.J==0){F 4.I}G(1v c==\'2W\'){d=c;c=1a}4.I.16=a;4.I.1Q=b;4.I.1f=c||10;4.I.21=d||\'2f\';F 4},1q:7(a,b,c){G(18.J==0){F{1q:4.Q,2h:4.1d,2X:4.2w}}G(1v b==\'1S\'){c=b;b=1a}4.Q=a;G(b!=1a){4.1d=b}G(c){4.2w=c}F 4},3t:7(a,b){G(18.J==0){F{3t:4.1i,2X:4.1C}}4.1i=a;G(b){4.1C=b}F 4},1h:7(a,b,c){G(18.J==0){F 4.1D}G(1v b==\'1S\'){c=b;b=1a}$.K(4.1D,{1c:a,1y:b||1});$.K(4.1D,c||{});F 4}});6 B=\'4a\';6 C=\'2T\';7 2V(a,b,c,d,e,f){4.1n=a||\'\';4.P=b||[];4.47=1;4.1B=c||B;4.1p=d||C;4.1w=e||1;4.1z=f||{}}$.K(2V.1r,{46:7(a){G(18.J==0){F 4.1n}4.1n=a;F 4},1F:7(a,b){G(18.J==0){F 4.P}G(2v(a)){45=a;a=1a}4.1n=a||4.1n;4.P=b;F 4},2X:7(a,b,c,d){G(18.J==0){F $.K({1u:4.1B,1c:4.1p,1y:4.1w},4.1z)}G(1v c==\'1S\'){d=c;c=1a}4.1B=a||B;4.1p=b||4.1p;4.1w=c||4.1w;$.K(4.1z,d||{});F 4}});7 2Y(a,b){4.2z=17;4.1G=[0.9,0.1,1.0,0.9];4.1V=15;4.2y=a||{1c:\'44\'};4.2x=b||{}}$.K(2Y.1r,{42:7(a){G(18.J==0){F 4.2z}4.2z=a;F 4},41:7(a,b,c,d){G(18.J==0){F 4.1G}4.1G=(2v(a)?a:[a,b,c,d]);F 4},2B:7(a,b,c){G(18.J==0){F{3Y:4.1V,3X:4.2y,3W:4.2x}}G(1v a==\'1S\'){c=b;b=a;a=1a}G(a){4.1V=a}4.2y=b;G(c){4.2x=c}F 4}});7 2t(a,b){F 13.3U(a*13.3q(10,b))/13.3q(10,b)}6 D=[\'27 (2b) - 1E 3S 1s 2R 3Q\',\'2a (2b) - 1E 3P 3o 20 1s 2q\'];7 2O(){}$.K(2O.1r,{1q:7(){F\'2N 30 1m\'},1Z:7(){F\'1Y 20 1s 1F 26 3n 2q 3m 3l 3B.\'},24:7(){F D},1R:7(a){a.1K(17);6 b=a.1g.27||10;6 c=a.1g.2a||10;6 d=a.U.J;6 e=(d?(a.U[0]).P.J:0);6 f=a.1x();6 g=f[a.W]/((d*b+c)*e+c);6 h=f[a.H]/(a.11.N.1b-a.11.N.12);4.1o=a.E.Z(a.M,\'1m\');O(6 i=0;i<d;i++){4.1H(a,i,d,b,c,f,g,h)}a.1M();a.2n(17);4.2o(a,d,e,b,c,f,g);a.1W()},1H:7(a,b,c,d,e,f,h,j){6 k=a.U[b];6 g=a.E.Z(4.1o,\'1P\'+b,$.K({1c:k.1p,1y:k.1w},k.1z||{}));O(6 i=0;i<k.P.J;i++){a.E.1J(g,f[a.X]+h*(e+i*(c*d+e)+(b*d)),f[a.Y]+j*(a.11.N.1b-k.P[i]),h*d,j*k.P[i],$.K({1u:k.1B},a.1T(k.1n+\' \'+k.P[i])))}},2o:7(a,b,c,d,e,f,g){6 h=a.V;G(h.Q){a.E.14(a.M,f[a.X]+f[a.W]/2,f[a.Y]+f[a.H]+h.1d,h.Q,{19:\'1j\'})}6 j=a.E.Z(a.M,\'V\',h.1D);6 k=a.E.Z(a.M,\'2L\',$.K({19:\'1j\'},h.1C));a.E.1h(j,f[a.X],f[a.Y]+f[a.H],f[a.X]+f[a.W],f[a.Y]+f[a.H]);G(h.I.16){6 l=a.22(h,17);O(6 i=1;i<c;i++){6 x=f[a.X]+g*(e/2+i*(b*d+e));a.E.1h(j,x,f[a.Y]+f[a.H]+l[0]*h.I.1f,x,f[a.Y]+f[a.H]+l[1]*h.I.1f)}O(6 i=0;i<c;i++){6 x=f[a.X]+g*(e/2+(i+0.5)*(b*d+e));a.E.14(k,x,f[a.Y]+f[a.H]+2*h.I.1f,(h.1i?h.1i[i]:\'\'+i))}}}});7 2K(){}$.K(2K.1r,{1q:7(){F\'3k 30 1m\'},1Z:7(){F\'1Y 20 1s 1F 26 3n 2q 3j \'+\'2F 2I 2c 1E 2H O 2R 3i.\'},24:7(){F D},1R:7(a){6 b=a.1K(17,17);6 c=a.1x();G(a.1l[0]&&a.V.I.16){a.1X(b,a.2e(),17,c,a.1l[0])}6 d=a.1g.27||10;6 e=a.1g.2a||10;6 f=a.U.J;6 g=(f?(a.U[0]).P.J:0);6 h=c[a.W]/((d+e)*g+e);6 i=c[a.H];4.1o=a.E.Z(a.M,\'1m\');4.3h(a,f,g,d,e,c,h,i);a.1M();a.E.14(a.M,0,0,1e.2m.28,{19:\'1j\',2l:\'2d(\'+(c[a.X]-a.11.1d)+\',\'+(c[a.Y]+c[a.H]/2)+\') 2j(-2i)\'});a.1I(a.2e(),\'11\',c[a.X],c[a.Y],c[a.X],c[a.Y]+c[a.H]);4.2o(a,g,d,e,c,h);a.1W()},3h:7(a,b,c,d,e,f,h,j){6 k=a.2A();6 l=[];O(6 i=0;i<c;i++){l[i]=0}O(6 s=0;s<b;s++){6 m=a.U[s];6 g=a.E.Z(4.1o,\'1P\'+s,$.K({1c:m.1p,1y:m.1w},m.1z||{}));O(6 i=0;i<m.P.J;i++){l[i]+=m.P[i];a.E.1J(g,f[a.X]+h*(e+i*(d+e)),f[a.Y]+j*(k[i]-l[i])/k[i],h*d,j*m.P[i]/k[i],$.K({1u:m.1B},a.1T(m.1n+\' \'+2t(m.P[i]/k[i]*2g,2)+\'%\')))}}},2o:7(a,b,c,d,e,f){6 g=a.V;G(g.Q){a.E.14(a.M,e[a.X]+e[a.W]/2,e[a.Y]+e[a.H]+g.1d,g.Q,{19:\'1j\'})}6 h=a.E.Z(a.M,\'V\',g.1D);6 j=a.E.Z(a.M,\'2L\',$.K({19:\'1j\'},g.1C));a.E.1h(h,e[a.X],e[a.Y]+e[a.H],e[a.X]+e[a.W],e[a.Y]+e[a.H]);G(g.I.16){6 k=a.22(g,17);O(6 i=1;i<b;i++){6 x=e[a.X]+f*(d/2+i*(c+d));a.E.1h(h,x,e[a.Y]+e[a.H]+k[0]*g.I.1f,x,e[a.Y]+e[a.H]+k[1]*g.I.1f)}O(6 i=0;i<b;i++){6 x=e[a.X]+f*(d/2+(i+0.5)*(c+d));a.E.14(j,x,e[a.Y]+e[a.H]+2*g.I.1f,(g.1i?g.1i[i]:\'\'+i))}}}});7 2U(){}$.K(2U.1r,{1q:7(){F\'2N 2G 1m\'},1Z:7(){F\'1Y 20 1s 1F 26 3g 3J 3m 3l 3B.\'},24:7(){F D},1R:7(a){6 b=a.1K(17,17);6 c=a.1x();a.1X(b,a.11,1O,c,a.1l[0]);6 d=a.1g.27||10;6 e=a.1g.2a||10;6 f=a.U.J;6 g=(f?(a.U[0]).P.J:0);6 h=c[a.W]/(a.11.N.1b-a.11.N.12);6 j=c[a.H]/((f*d+e)*g+e);4.1o=a.E.Z(a.M,\'1m\');O(6 i=0;i<f;i++){4.1H(a,i,f,d,e,c,h,j)}a.1M();4.2n(a,f,g,d,e,c,j);a.1W()},1H:7(a,b,c,d,e,f,h,j){6 k=a.U[b];6 g=a.E.Z(4.1o,\'1P\'+b,$.K({1c:k.1p,1y:k.1w},k.1z||{}));O(6 i=0;i<k.P.J;i++){a.E.1J(g,f[a.X]+h*(0-a.11.N.12),f[a.Y]+j*(e+i*(c*d+e)+(b*d)),h*k.P[i],j*d,$.K({1u:k.1B},a.1T(k.1n+\' \'+k.P[i])))}},2n:7(a,b,c,d,e,f,g){6 h=a.11;G(h){G(h.Q){a.E.14(a.M,f[a.X]+f[a.W]/2,f[a.Y]+f[a.H]+h.1d,h.Q,h.2w)}a.1I(h,\'V\',f[a.X],f[a.Y]+f[a.H],f[a.X]+f[a.W],f[a.Y]+f[a.H])}6 h=a.V;G(h.Q){a.E.14(a.M,0,0,h.Q,{19:\'1j\',2l:\'2d(\'+(f[a.X]-h.1d)+\',\'+(f[a.Y]+f[a.H]/2)+\') 2j(-2i)\'})}6 j=a.E.Z(a.M,\'11\',h.1D);6 k=a.E.Z(a.M,\'3f\',$.K({19:\'34\'},h.1C));a.E.1h(j,f[a.X],f[a.Y],f[a.X],f[a.Y]+f[a.H]);G(h.I.16){6 l=a.22(h,1O);O(6 i=1;i<c;i++){6 y=f[a.Y]+g*(e/2+i*(b*d+e));a.E.1h(j,f[a.X]+l[0]*h.I.1f,y,f[a.X]+l[1]*h.I.1f,y)}O(6 i=0;i<c;i++){6 y=f[a.Y]+g*(e/2+(i+0.5)*(b*d+e));a.E.14(k,f[a.X]-h.I.1f,y,(h.1i?h.1i[i]:\'\'+i))}}}});7 2E(){}$.K(2E.1r,{1q:7(){F\'3k 2G 1m\'},1Z:7(){F\'1Y 20 1s 1F 26 3g 2q 3j \'+\'2F 2I 2c 1E 2H O 2R 3i.\'},24:7(){F D},1R:7(a){6 b=a.1K(17,17);6 c=a.1x();G(a.1l[0]&&a.V.I.16){a.1X(b,a.2e(),1O,c,a.1l[0])}6 d=a.1g.27||10;6 e=a.1g.2a||10;6 f=a.U.J;6 g=(f?(a.U[0]).P.J:0);6 h=c[a.W];6 i=c[a.H]/((d+e)*g+e);4.1o=a.E.Z(a.M,\'1m\');4.3e(a,f,g,d,e,c,h,i);a.1M();a.E.14(a.M,c[a.X]+c[a.W]/2,c[a.Y]+c[a.H]+a.V.1d,1e.2m.28,{19:\'1j\'});a.1I(a.2e(),\'V\',c[a.X],c[a.Y]+c[a.H],c[a.X]+c[a.W],c[a.Y]+c[a.H]);4.3d(a,g,d,e,c,i);a.1W()},3e:7(a,b,c,d,e,f,h,j){6 k=a.2A();6 l=[];O(6 i=0;i<c;i++){l[i]=0}O(6 s=0;s<b;s++){6 m=a.U[s];6 g=a.E.Z(4.1o,\'1P\'+s,$.K({1c:m.1p,1y:m.1w},m.1z||{}));O(6 i=0;i<m.P.J;i++){a.E.1J(g,f[a.X]+h*l[i]/k[i],f[a.Y]+j*(e+i*(d+e)),h*m.P[i]/k[i],j*d,$.K({1u:m.1B},a.1T(m.1n+\' \'+2t(m.P[i]/k[i]*2g,2)+\'%\')));l[i]+=m.P[i]}}},3d:7(a,b,c,d,e,f){6 g=a.V;G(g.Q){a.E.14(a.M,0,0,g.Q,{19:\'1j\',2l:\'2d(\'+(e[a.X]-g.1d)+\',\'+(e[a.Y]+e[a.H]/2)+\') 2j(-2i)\'})}6 h=a.E.Z(a.M,\'11\',g.1D);6 j=a.E.Z(a.M,\'3f\',$.K({19:\'34\'},g.1C));a.E.1h(h,e[a.X],e[a.Y],e[a.X],e[a.Y]+e[a.H]);G(g.I.16){6 k=a.22(g,1O);O(6 i=1;i<b;i++){6 y=e[a.Y]+f*(d/2+i*(c+d));a.E.1h(h,e[a.X]+k[0]*g.I.1f,y,e[a.X]+k[1]*g.I.1f,y)}O(6 i=0;i<b;i++){6 y=e[a.Y]+f*(d/2+(i+0.5)*(c+d));a.E.14(j,e[a.X]-g.I.1f,y,(g.1i?g.1i[i]:\'\'+i))}}}});7 2D(){}$.K(2D.1r,{1q:7(){F\'2N 1h 1m\'},1Z:7(){F\'1Y 20 1s 1F 26 3I 3H.\'},24:7(){F[]},1R:7(a){a.1K();6 b=a.1x();6 c=b[a.W]/(a.V.N.1b-a.V.N.12);6 d=b[a.H]/(a.11.N.1b-a.11.N.12);4.1o=a.E.Z(a.M,\'1m\');O(6 i=0;i<a.U.J;i++){4.1H(a,i,b,c,d)}a.1M();a.2n();a.1W()},1H:7(a,b,c,d,e){6 f=a.U[b];6 g=a.E.3w();O(6 i=0;i<f.P.J;i++){6 x=c[a.X]+i*d;6 y=c[a.Y]+(a.11.N.1b-f.P[i])*e;G(i==0){g.3b(x,y)}3G{g.3a(x,y)}}a.E.3r(4.1o,g,$.K($.K({4F:\'1P\'+b,1u:\'3s\',1c:f.1p,1y:f.1w},a.1T(f.1n),f.1z||{})))}});7 38(){}$.K(38.1r,{3F:[\'37 (2b[]) - 4E 1s 4D 2c 37 2f 1s 1E 3D\',\'3C (2b) - 1E 3z 2c 4C 4B 4A 4z\',\'3y (2b) - 1E 3z 3o 4y O 4x 1F\'],1q:7(){F\'4w 1m\'},1Z:7(){F\'1Y 2F 4v 1s 1F 26 2I 2c 1E 2H.\'},24:7(){F 4.3F},1R:7(a){a.1K(17,17);4.1o=a.E.Z(a.M,\'1m\');6 b=a.1x();4.1H(a,b);a.1M();a.1W()},1H:7(a,b){6 c=a.2A();6 d=a.U.J;6 e=(d?(a.U[0]).P.J:0);6 f=a.E.3w();6 g=a.1g.37||[];6 h=a.1g.3C||10;6 l=(e<=1?0:a.1g.3y||10);6 m=(b[a.W]-(e*l)-l)/e/2;6 n=b[a.H]/2;6 o=13.12(m,n)-(g.J>0?h:0);6 p=a.E.Z(a.M,\'2L\',$.K({19:\'1j\'},a.V.1C));6 q=[];O(6 i=0;i<e;i++){6 r=b[a.X]+m+(i*(2*13.12(m,n)+l))+l;6 s=b[a.Y]+n;6 t=0;O(6 j=0;j<d;j++){6 u=a.U[j];G(i==0){q[j]=a.E.Z(4.1o,\'1P\'+j,$.K({1c:u.1p,1y:u.1w},u.1z||{}))}G(u.P[i]==0){4t}6 v=(t/c[i])*2*13.2C;t+=u.P[i];6 w=(t/c[i])*2*13.2C;6 z=1O;O(6 k=0;k<g.J;k++){G(g[k]==j){z=17;3c}}6 x=r+(z?h*13.33((v+w)/2):0);6 y=s+(z?h*13.32((v+w)/2):0);6 A=u.1n+\' \'+2t((w-v)/2/13.2C*2g,2)+\'%\';a.E.3r(q[j],f.4s().3b(x,y).3a(x+o*13.33(v),y+o*13.32(v)).4r(o,o,0,(w-v<13.2C?0:1),1,x+o*13.33(w),y+o*13.32(w)).4q(),$.K({1u:u.1B},a.1T(A)))}G(a.V){a.E.14(p,r,b[a.Y]+b[a.H]+a.V.1d,a.V.1i[i])}}}});7 2v(a){F(a.3A&&a.3A.3v().4p(/\\4o\\(\\)/))}1e.1U(\'30\',1k 2O());1e.1U(\'4n\',1k 2K());1e.1U(\'2G\',1k 2U());1e.1U(\'4m\',1k 2E());1e.1U(\'1h\',1k 2D());1e.1U(\'3D\',1k 38())})(4G)',62,291,'||||this||var|function|||||||||||||||||||||||||||||||||_root|return|if||_ticks|length|extend||_chartGroup|_scale|for|_values|_title||||_series|xAxis||||group||yAxis|min|Math|text||major|true|arguments|text_anchor|null|max|stroke|_titleOffset|svgGraphing|size|_chartOptions|line|_labels|middle|new|_gridlines|chart|_name|_chart|_stroke|title|prototype|of|legend|fill|typeof|_strokeWidth|_getDims|stroke_width|_settings|_drawGraph|_fill|_labelFormat|_lineFormat|the|values|_area|_drawSeries|_drawAxis|rect|_drawChartBackground|x2Axis|_drawTitle|y2Axis|false|series|minor|drawGraph|object|_showStatus|addChartType|_sampleSize|_drawLegend|_drawGridlines|Compare|description|sets|position|_getTickOffsets|_chartTypes|options||as|barWidth|percentageText|SVGGraphAxis|barGap|number|to|translate|_getPercentageAxis|out|100|offset|90|rotate|_onstatus|transform|region|_drawAxes|_drawXAxis|_width|bars|_drawNow|_chartType|roundNumber|_chartFormat|isArray|_titleFormat|_textSettings|_bgSettings|_show|_getTotals|settings|PI|SVGLineChart|SVGStackedRowChart|relative|row|whole|contributions|in|SVGStackedColumnChart|xAxisLabels|_height|Basic|SVGColumnChart|regional|parent|each|while|black|SVGRowChart|SVGGraphSeries|string|format|SVGGraphLegend|SVGGraphing|column|_percentageAxis|sin|cos|end|value|SVGGraph|explode|SVGPieChart|floor|lineTo|moveTo|break|_drawYAxis|_drawRows|yAxisLabels|horizontal|_drawColumns|category|showing|Stacked|grouped|with|vertical|between|firstChild|pow|path|none|labels|window|toString|createPath|both|pieGap|distance|constructor|categories|explodeDist|pie|graph|_options|else|lines|continuous|rows|Percentage|background|addExtension|appendChild|_svg|gap|bar|removeChild|width|status|round|redraw|textSettings|bgSettings|sampleSize|noDraw||area|show|svgManager|gray|valus|name|_axis|addSeries|chartTypes|green|gridlines|ticks|scale|_crossAt|onmouseout|chartArea|onmouseover|replace|chartFormat|chartOptions|chartType|stackedRow|stackedColumn|Array|match|close|arcTo|reset|continue|Labels|sizes|Pie|multiple|pies|section|exploded|an|move|sections|indexes|id|jQuery'.split('|'),0,{}))
@@ -0,0 +1,161 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg xmlns="http://www.w3.org/2000/svg"
5
+ xmlns:xlink="http://www.w3.org/1999/xlink"
6
+ width="15cm" height="15cm">
7
+ <g transform="translate(100,10)">
8
+ <polygon fill="#f2cc99"
9
+ points=" 69,18 82,8 99,3 118,5 135,12 149,21 156,13 165,9 177,13 183,28 180,50 164,91 155,107 154,114 151,121 141,127 139,136 155,206 157,251 126,342 133,357 128,376 83,376 75,368 67,350 61,350 53,369 4,369 2,361 5,354 12,342 16,321 4,257 4,244 7,218 9,179 26,127 43,93 32,77 30,70 24,67 16,49 17,35 18,23 30,12 40,7 53,7 62,12"/>
10
+ <polygon fill="#e5b27f"
11
+ points=" 142,79 136,74 138,82 133,78 133,84 127,78 128,85 124,80 125,87 119,82 119,90 125,99 125,96 128,100 128,94 131,98 132,93 135,97 136,93 138,97 139,94 141,98 143,94 144,85"/>
12
+ <polygon fill="#eb8080"
13
+ points=" 127,101 132,100 137,99 144,101 143,105 135,110"/>
14
+ <polygon fill="#f2cc99"
15
+ points=" 178,229 157,248 139,296 126,349 137,356 158,357 183,342 212,332 235,288 235,261 228,252 212,250 188,251"/>
16
+ <g fill="#9c826b">
17
+ <polygon points=" 56,229 48,241 48,250 57,281 63,325 71,338 81,315 76,321 79,311 83,301 75,308 80,298 73,303 76,296 71,298 74,292 69,293 74,284 78,278 71,278 74,274 68,273 70,268 66,267 68,261 60,266 62,259 65,253 57,258 59,251 55,254 55,248 60,237 54,240 58,234 54,236"/>
18
+ <polygon points=" 74,363 79,368 81,368 85,362 89,363 92,370 96,373 101,372 108,361 110,371 113,373 116,371 120,358 122,363 123,371 126,371 129,367 132,357 135,361 130,376 127,377 94,378 84,376 76,371"/>
19
+ <polygon points=" 212,250 219,251 228,258 236,270 235,287 225,304 205,332 177,343 171,352 158,357 166,352 168,346 168,339 165,333 155,327 155,323 161,320 165,316 169,316 167,312 171,313 168,308 173,309 170,306 177,306 175,308 177,311 174,311 176,316 171,315 174,319 168,320 168,323 175,327 179,332 183,326 184,332 189,323 190,328 194,320 194,325 199,316 201,320 204,313 206,316 208,310 211,305 219,298 226,288 229,279 228,266 224,259 217,253"/>
20
+ <polygon points=" 151,205 151,238 149,252 141,268 128,282 121,301 130,300 126,313 118,324 116,337 120,346 133,352 133,340 137,333 145,329 156,327 153,319 153,291 157,271 170,259 178,277 193,250 174,216"/>
21
+ <polygon points=" 78,127 90,142 95,155 108,164 125,167 139,175 150,206 152,191 141,140 121,148 100,136"/>
22
+ <polygon points=" 21,58 35,63 38,68 32,69 42,74 40,79 47,80 54,83 45,94 34,81 32,73 24,66"/>
23
+ <polygon points=" 71,34 67,34 66,27 59,24 54,17 48,17 39,22 30,26 28,31 31,39 38,46 29,45 36,54 41,61 41,70 50,69 54,71 55,58 67,52 76,43 76,39 68,44"/>
24
+ <polygon points=" 139,74 141,83 143,89 144,104 148,104 155,106 154,86 157,77 155,72 150,77 144,77"/>
25
+ <polygon points=" 105,44 102,53 108,58 111,62 112,55"/>
26
+ <polygon points=" 141,48 141,54 144,58 139,62 137,66 136,59 137,52"/>
27
+ <polygon points=" 98,135 104,130 105,134 108,132 108,135 112,134 113,137 116,136 116,139 119,139 124,141 128,140 133,138 140,133 139,140 126,146 104,144"/>
28
+ <polygon points=" 97,116 103,119 103,116 111,118 116,117 122,114 127,107 135,111 142,107 141,114 145,118 149,121 145,125 140,124 127,121 113,125 100,124"/>
29
+ <polygon points=" 147,33 152,35 157,34 153,31 160,31 156,28 161,28 159,24 163,25 163,21 165,22 170,23 167,17 172,21 174,18 175,23 176,22 177,28 177,33 174,37 176,39 174,44 171,49 168,53 164,57 159,68 156,70 154,60 150,51 146,43 144,35"/>
30
+ <polygon points=" 85,72 89,74 93,75 100,76 105,75 102,79 94,79 88,76"/>
31
+ <polygon points=" 86,214 79,221 76,232 82,225 78,239 82,234 78,245 81,243 79,255 84,250 84,267 87,254 90,271 90,257 95,271 93,256 95,249 92,252 93,243 89,253 89,241 86,250 87,236 83,245 87,231 82,231 90,219 84,221"/>
32
+ </g>
33
+ <g fill="#ffcc7f">
34
+ <polygon points=" 93,68 96,72 100,73 106,72 108,66 105,63 100,62"/>
35
+ <polygon points=" 144,64 142,68 142,73 146,74 150,73 154,64 149,62"/>
36
+ </g>
37
+ <g fill="#9c826b">
38
+ <polygon points=" 57,91 42,111 52,105 41,117 53,112 46,120 53,116 50,124 57,119 55,127 61,122 60,130 67,126 66,134 71,129 72,136 77,130 76,137 80,133 82,138 86,135 96,135 94,129 86,124 83,117 77,123 79,117 73,120 75,112 68,116 71,111 65,114 69,107 63,110 68,102 61,107 66,98 61,103 63,97 57,99"/>
39
+ <polygon points=" 83,79 76,79 67,82 75,83 65,88 76,87 65,92 76,91 68,96 77,95 70,99 80,98 72,104 80,102 76,108 85,103 92,101 87,98 93,96 86,94 91,93 85,91 93,89 99,89 105,93 107,85 102,82 92,80"/>
40
+ <polygon points=" 109,77 111,83 109,89 113,94 117,90 117,81 114,78"/>
41
+ <polygon points=" 122,128 127,126 134,127 136,129 134,130 130,128 124,129"/>
42
+ <polygon points=" 78,27 82,32 80,33 82,36 78,37 82,40 78,42 81,46 76,47 78,49 74,50 82,52 87,50 83,48 91,46 86,45 91,42 88,40 92,37 86,34 90,31 86,29 89,26"/>
43
+ <polygon points=" 82,17 92,20 79,21 90,25 81,25 94,28 93,26 101,30 101,26 107,33 108,28 111,40 113,34 115,45 117,39 119,54 121,46 124,58 126,47 129,59 130,49 134,58 133,44 137,48 133,37 137,40 133,32 126,20 135,26 132,19 138,23 135,17 142,18 132,11 116,6 94,6 78,11 92,12 80,14 90,16"/>
44
+ <polygon points=" 142,234 132,227 124,223 115,220 110,225 118,224 127,229 135,236 122,234 115,237 113,242 121,238 139,243 121,245 111,254 95,254 102,244 104,235 110,229 100,231 104,224 113,216 122,215 132,217 141,224 145,230 149,240"/>
45
+ <polygon points=" 115,252 125,248 137,249 143,258 134,255 125,254"/>
46
+ <polygon points=" 114,212 130,213 140,219 147,225 144,214 137,209 128,207"/>
47
+ <polygon points=" 102,263 108,258 117,257 131,258 116,260 109,265"/>
48
+ <polygon points=" 51,241 35,224 40,238 23,224 31,242 19,239 28,247 17,246 25,250 37,254 39,263 44,271 47,294 48,317 51,328 60,351 60,323 53,262 47,246"/>
49
+ <polygon points=" 2,364 9,367 14,366 18,355 20,364 26,366 31,357 35,364 39,364 42,357 47,363 53,360 59,357 54,369 7,373"/>
50
+ <polygon points=" 7,349 19,345 25,339 18,341 23,333 28,326 23,326 27,320 23,316 25,311 20,298 15,277 12,264 9,249 10,223 3,248 5,261 15,307 17,326 11,343"/>
51
+ <polygon points=" 11,226 15,231 25,236 18,227"/>
52
+ <polygon points=" 13,214 19,217 32,227 23,214 16,208 15,190 24,148 31,121 24,137 14,170 8,189"/>
53
+ <polygon points=" 202,254 195,258 199,260 193,263 197,263 190,268 196,268 191,273 188,282 200,272 194,272 201,266 197,265 204,262 200,258 204,256"/>
54
+ </g>
55
+ <g fill="#845433">
56
+ <polygon points=" 151,213 165,212 179,225 189,246 187,262 179,275 176,263 177,247 171,233 163,230 165,251 157,264 146,298 145,321 133,326 143,285 154,260 153,240"/>
57
+ <polygon points=" 91,132 95,145 97,154 104,148 107,155 109,150 111,158 115,152 118,159 120,153 125,161 126,155 133,164 132,154 137,163 137,152 142,163 147,186 152,192 148,167 141,143 124,145 105,143"/>
58
+ </g>
59
+ <g fill="#9c826b">
60
+ <polygon points=" 31,57 23,52 26,51 20,44 23,42 21,36 22,29 25,23 24,32 30,43 26,41 30,50 26,48"/>
61
+ <polygon points=" 147,21 149,28 155,21 161,16 167,14 175,15 173,11 161,9"/>
62
+ <polygon points=" 181,39 175,51 169,57 171,65 165,68 165,75 160,76 162,91 171,71 180,51"/>
63
+ <polygon points=" 132,346 139,348 141,346 142,341 147,342 143,355 133,350"/>
64
+ <polygon points=" 146,355 151,352 155,348 157,343 160,349 151,356 147,357"/>
65
+ <polygon points=" 99,266 100,281 94,305 86,322 78,332 72,346 73,331 91,291"/>
66
+ <polygon points=" 20,347 32,342 45,340 54,345 45,350 42,353 38,350 31,353 29,356 23,350 19,353 15,349"/>
67
+ <polygon points=" 78,344 86,344 92,349 88,358 84,352"/>
68
+ <polygon points=" 93,347 104,344 117,345 124,354 121,357 116,351 112,351 108,355 102,351"/>
69
+ </g>
70
+ <g fill="#000000">
71
+ <polygon points=" 105,12 111,18 113,24 113,29 119,34 116,23 112,16"/>
72
+ <polygon points=" 122,27 125,34 127,43 128,34 125,29"/>
73
+ <polygon points=" 115,13 122,19 122,15 113,10"/>
74
+ </g>
75
+ <g fill="#ffe5b2">
76
+ <polygon points=" 116,172 107,182 98,193 98,183 90,199 89,189 84,207 88,206 87,215 95,206 93,219 91,230 98,216 97,226 104,214 112,209 104,208 113,202 126,200 139,207 132,198 142,203 134,192 142,195 134,187 140,185 130,181 136,177 126,177 125,171 116,180"/>
77
+ <polygon points=" 74,220 67,230 67,221 59,235 63,233 60,248 70,232 65,249 71,243 67,256 73,250 69,262 73,259 71,267 76,262 72,271 78,270 76,275 82,274 78,290 86,279 86,289 92,274 88,275 87,264 82,270 82,258 77,257 78,247 73,246 77,233 72,236"/>
78
+ <polygon points=" 133,230 147,242 148,250 145,254 138,247 129,246 142,245 138,241 128,237 137,238"/>
79
+ <polygon points=" 133,261 125,261 116,263 111,267 125,265"/>
80
+ <polygon points=" 121,271 109,273 103,279 99,305 92,316 85,327 83,335 89,340 97,341 94,336 101,336 96,331 103,330 97,327 108,325 99,322 109,321 100,318 110,317 105,314 110,312 107,310 113,308 105,306 114,303 105,301 115,298 107,295 115,294 108,293 117,291 109,289 117,286 109,286 118,283 112,281 118,279 114,278 119,276 115,274"/>
81
+ <polygon points=" 79,364 74,359 74,353 76,347 80,351 83,356 82,360"/>
82
+ <polygon points=" 91,363 93,356 97,353 103,355 105,360 103,366 99,371 94,368"/>
83
+ <polygon points=" 110,355 114,353 118,357 117,363 113,369 111,362"/>
84
+ <polygon points=" 126,354 123,358 124,367 126,369 129,361 129,357"/>
85
+ <polygon points=" 30,154 24,166 20,182 23,194 29,208 37,218 41,210 41,223 46,214 46,227 52,216 52,227 61,216 59,225 68,213 73,219 70,207 77,212 69,200 77,202 70,194 78,197 68,187 76,182 64,182 58,175 58,185 53,177 50,186 46,171 44,182 39,167 36,172 36,162 30,166"/>
86
+ <polygon points=" 44,130 41,137 45,136 43,150 48,142 48,157 53,150 52,164 60,156 61,169 64,165 66,175 70,167 74,176 77,168 80,183 85,172 90,182 93,174 98,181 99,173 104,175 105,169 114,168 102,163 95,157 94,166 90,154 87,162 82,149 75,159 72,148 68,155 67,143 62,148 62,138 58,145 56,133 52,142 52,128 49,134 47,125"/>
87
+ <polygon points=" 13,216 19,219 36,231 22,223 16,222 22,227 12,224 13,220 16,220"/>
88
+ <polygon points=" 10,231 14,236 25,239 27,237 19,234"/>
89
+ <polygon points=" 9,245 14,242 25,245 13,245"/>
90
+ <polygon points=" 33,255 26,253 18,254 25,256 18,258 27,260 18,263 27,265 19,267 29,270 21,272 29,276 21,278 30,281 22,283 31,287 24,288 32,292 23,293 34,298 26,299 37,303 32,305 39,309 33,309 39,314 34,314 40,318 34,317 40,321 34,321 41,326 33,326 40,330 33,332 39,333 33,337 42,337 54,341 49,337 52,335 47,330 50,330 45,325 49,325 45,321 48,321 45,316 46,306 45,286 43,274 36,261"/>
91
+ <polygon points=" 7,358 9,351 14,351 17,359 11,364"/>
92
+ <polygon points=" 44,354 49,351 52,355 49,361"/>
93
+ <polygon points=" 32,357 37,353 40,358 36,361"/>
94
+ <polygon points=" 139,334 145,330 154,330 158,334 154,341 152,348 145,350 149,340 147,336 141,339 139,345 136,342 136,339"/>
95
+ <polygon points=" 208,259 215,259 212,255 220,259 224,263 225,274 224,283 220,292 208,300 206,308 203,304 199,315 197,309 195,318 193,313 190,322 190,316 185,325 182,318 180,325 172,321 178,320 176,313 186,312 180,307 188,307 184,303 191,302 186,299 195,294 187,290 197,288 192,286 201,283 194,280 203,277 198,275 207,271 200,269 209,265 204,265 212,262"/>
96
+ <polygon points=" 106,126 106,131 109,132 111,134 115,132 115,135 119,133 118,137 123,137 128,137 133,134 136,130 136,127 132,124 118,128 112,128 106,126 106,126 106,126"/>
97
+ <polygon points=" 107,114 101,110 98,102 105,97 111,98 119,102 121,108 118,112 113,115"/>
98
+ <polygon points=" 148,106 145,110 146,116 150,118 152,111 151,107"/>
99
+ <polygon points=" 80,55 70,52 75,58 63,57 72,61 57,61 67,66 57,67 62,69 54,71 61,73 54,77 63,78 53,85 60,84 56,90 69,84 63,82 75,76 70,75 77,72 72,71 78,69 72,66 81,67 78,64 82,63 80,60 86,62"/>
100
+ <polygon points=" 87,56 91,52 96,50 102,56 98,56 92,60"/>
101
+ <polygon points=" 85,68 89,73 98,76 106,74 96,73 91,70"/>
102
+ <polygon points=" 115,57 114,64 111,64 115,75 122,81 122,74 126,79 126,74 131,78 130,72 133,77 131,68 126,61 119,57"/>
103
+ <polygon points=" 145,48 143,53 147,59 151,59 150,55"/>
104
+ <polygon points=" 26,22 34,15 43,10 52,10 59,16 47,15 32,22"/>
105
+ <polygon points=" 160,19 152,26 149,34 154,33 152,30 157,30 155,26 158,27 157,23 161,23"/>
106
+ </g>
107
+ <g fill="#000000">
108
+ <polygon points=" 98,117 105,122 109,122 105,117 113,120 121,120 130,112 128,108 123,103 123,99 128,101 132,106 135,109 142,105 142,101 145,101 145,91 148,101 145,105 136,112 135,116 143,124 148,120 150,122 142,128 133,122 121,125 112,126 103,125 100,129 96,124"/>
109
+ <polygon points=" 146,118 152,118 152,115 149,115"/>
110
+ <polygon points=" 148,112 154,111 154,109 149,109"/>
111
+ <polygon points=" 106,112 108,115 114,116 118,114"/>
112
+ <polygon points=" 108,108 111,110 116,110 119,108"/>
113
+ <polygon points=" 106,104 109,105 117,106 115,104"/>
114
+ <polygon points=" 50,25 41,26 34,33 39,43 49,58 36,51 47,68 55,69 54,59 61,57 74,46 60,52 67,42 57,48 61,40 54,45 60,36 59,29 48,38 52,30 47,32"/>
115
+ <polygon points=" 147,34 152,41 155,49 161,53 157,47 164,47 158,43 168,44 159,40 164,37 169,37 164,33 169,34 165,28 170,30 170,25 173,29 175,27 176,32 173,36 175,39 172,42 172,46 168,49 170,55 162,57 158,63 155,58 153,50 149,46"/>
116
+ <polygon points=" 155,71 159,80 157,93 157,102 155,108 150,101 149,93 154,101 152,91 151,83 155,79"/>
117
+ <polygon points=" 112,78 115,81 114,91 112,87 113,82"/>
118
+ <polygon points=" 78,28 64,17 58,11 47,9 36,10 28,16 21,26 18,41 20,51 23,61 33,65 28,68 37,74 36,81 43,87 48,90 43,100 40,98 39,90 31,80 30,72 22,71 17,61 14,46 16,28 23,17 33,9 45,6 54,6 65,12"/>
119
+ <polygon points=" 67,18 76,9 87,5 101,2 118,3 135,8 149,20 149,26 144,19 132,12 121,9 105,7 89,8 76,14 70,20"/>
120
+ <polygon points=" 56,98 48,106 56,103 47,112 56,110 52,115 57,113 52,121 62,115 58,123 65,119 63,125 69,121 68,127 74,125 74,129 79,128 83,132 94,135 93,129 85,127 81,122 76,126 75,121 71,124 71,117 66,121 66,117 62,117 64,112 60,113 60,110 57,111 61,105 57,107 60,101 55,102"/>
121
+ <polygon points=" 101,132 103,138 106,134 106,139 112,136 111,142 115,139 114,143 119,142 125,145 131,142 135,138 140,134 140,129 143,135 145,149 150,171 149,184 145,165 141,150 136,147 132,151 131,149 126,152 125,150 121,152 117,148 111,152 110,148 105,149 104,145 98,150 96,138 94,132 94,130 98,132"/>
122
+ <polygon points=" 41,94 32,110 23,132 12,163 6,190 7,217 5,236 3,247 9,230 12,211 12,185 18,160 26,134 35,110 43,99"/>
123
+ <polygon points=" 32,246 41,250 50,257 52,267 53,295 53,323 59,350 54,363 51,365 44,366 42,360 40,372 54,372 59,366 62,353 71,352 75,335 73,330 66,318 68,302 64,294 67,288 63,286 63,279 59,275 58,267 56,262 50,247 42,235 44,246 32,236 35,244"/>
124
+ <polygon points=" 134,324 146,320 159,322 173,327 179,337 179,349 172,355 158,357 170,350 174,343 170,333 163,328 152,326 134,329"/>
125
+ <polygon points=" 173,339 183,334 184,338 191,329 194,332 199,323 202,325 206,318 209,320 213,309 221,303 228,296 232,289 234,279 233,269 230,262 225,256 219,253 208,252 198,252 210,249 223,250 232,257 237,265 238,277 238,291 232,305 221,323 218,335 212,342 200,349 178,348"/>
126
+ <polygon points=" 165,296 158,301 156,310 156,323 162,324 159,318 162,308 162,304"/>
127
+ <polygon points=" 99,252 105,244 107,234 115,228 121,228 131,235 122,233 113,235 109,246 121,239 133,243 121,243 110,251"/>
128
+ <polygon points=" 117,252 124,247 134,249 136,253 126,252"/>
129
+ <polygon points=" 117,218 132,224 144,233 140,225 132,219 117,218 117,218 117,218"/>
130
+ <polygon points=" 122,212 134,214 143,221 141,213 132,210"/>
131
+ <polygon points=" 69,352 70,363 76,373 86,378 97,379 108,379 120,377 128,378 132,373 135,361 133,358 132,366 127,375 121,374 121,362 119,367 117,374 110,376 110,362 107,357 106,371 104,375 97,376 90,375 90,368 86,362 83,364 86,369 85,373 78,370 73,362 71,351"/>
132
+ <polygon points=" 100,360 96,363 99,369 102,364"/>
133
+ <polygon points=" 115,360 112,363 114,369 117,364"/>
134
+ <polygon points=" 127,362 125,364 126,369 128,365"/>
135
+ <polygon points=" 5,255 7,276 11,304 15,320 13,334 6,348 2,353 0,363 5,372 12,374 25,372 38,372 44,369 42,367 36,368 31,369 30,360 27,368 20,370 16,361 15,368 10,369 3,366 3,359 6,352 11,348 17,331 19,316 12,291 9,274"/>
136
+ <polygon points=" 10,358 7,362 10,366 11,362"/>
137
+ <polygon points=" 25,357 22,360 24,366 27,360"/>
138
+ <polygon points=" 37,357 34,361 36,365 38,361"/>
139
+ <polygon points=" 49,356 46,359 47,364 50,360"/>
140
+ <polygon points=" 130,101 132,102 135,101 139,102 143,103 142,101 137,100 133,100"/>
141
+ <polygon points=" 106,48 105,52 108,56 109,52"/>
142
+ <polygon points=" 139,52 139,56 140,60 142,58 141,56"/>
143
+ <polygon points=" 25,349 29,351 30,355 33,350 37,348 42,351 45,347 49,345 44,343 36,345"/>
144
+ <polygon points=" 98,347 105,351 107,354 109,349 115,349 120,353 118,349 113,346 104,346"/>
145
+ <polygon points=" 83,348 87,352 87,357 89,351 87,348"/>
146
+ <polygon points=" 155,107 163,107 170,107 186,108 175,109 155,109"/>
147
+ <polygon points=" 153,114 162,113 175,112 192,114 173,114 154,115"/>
148
+ <polygon points=" 152,118 164,120 180,123 197,129 169,123 151,120"/>
149
+ <polygon points=" 68,109 87,106 107,106 106,108 88,108"/>
150
+ <polygon points=" 105,111 95,112 79,114 71,116 85,115 102,113"/>
151
+ <polygon points=" 108,101 98,99 87,99 78,99 93,100 105,102"/>
152
+ <polygon points=" 85,63 91,63 97,60 104,60 108,62 111,69 112,75 110,74 108,71 103,73 106,69 105,65 103,64 103,67 102,70 99,70 97,66 94,67 97,72 88,67 84,66"/>
153
+ <polygon points=" 140,74 141,66 144,61 150,61 156,62 153,70 150,73 152,65 150,65 151,68 149,71 146,71 144,66 143,70 143,74"/>
154
+ <polygon points=" 146,20 156,11 163,9 172,9 178,14 182,18 184,32 182,42 182,52 177,58 176,67 171,76 165,90 157,105 160,92 164,85 168,78 167,73 173,66 172,62 175,59 174,55 177,53 180,46 181,29 179,21 173,13 166,11 159,13 153,18 148,23"/>
155
+ <polygon points=" 150,187 148,211 150,233 153,247 148,267 135,283 125,299 136,292 131,313 122,328 122,345 129,352 133,359 133,367 137,359 148,356 140,350 131,347 129,340 132,332 140,328 137,322 140,304 154,265 157,244 155,223 161,220 175,229 186,247 185,260 176,275 178,287 185,277 188,261 196,253 189,236 174,213"/>
156
+ <polygon points=" 147,338 142,341 143,345 141,354 147,343"/>
157
+ <polygon points=" 157,342 156,349 150,356 157,353 163,346 162,342"/>
158
+ <polygon points=" 99,265 96,284 92,299 73,339 73,333 87,300"/>
159
+ </g>
160
+ </g>
161
+ </svg>
@@ -0,0 +1,714 @@
1
+ // Demonstrate an onLoad callback to initialise a canvas
2
+ function drawIntro() {
3
+ var svg = svgManager.getSVGFor('#cool_graph');
4
+ svg.circle(null, 75, 75, 50, {fill: 'none', stroke: 'red', stroke_width: 3});
5
+ var g = svg.group(null, {stroke: 'black', stroke_width: 2});
6
+ svg.line(g, 15, 75, 135, 75);
7
+ svg.line(g, 75, 15, 75, 135);
8
+ }
9
+
10
+ // -----------------------------------------------------------------------------
11
+
12
+ var svgSpec = 'http://www.w3c.org/TR/SVG11/';
13
+ // SVG examples
14
+ var examples = [
15
+ ['Basic shapes', basicShapesDemo,
16
+ 'SVG provides for the creation of several basic shapes, including ' +
17
+ 'rectangles, rectangles with rounded corners, circles, ellipses, ' +
18
+ 'lines segments, polygonal lines, and closed polygons. ' +
19
+ 'Each shape may be drawn with its own fill and border colourings. ' +
20
+ 'Shapes may be moved and rotated via the transformation abilities of SVG. ' +
21
+ 'Grouping elements allows common attributes to be easily applied.<br/>' +
22
+ 'See the original documents: <a href="http://www.w3.org/TR/SVG11/images/shapes/rect01.svg" target="_blank">rectangle</a>, ' +
23
+ '<a href="http://www.w3.org/TR/SVG11/images/shapes/rect02.svg" target="_blank">rounded rectangle</a>, ' +
24
+ '<a href="http://www.w3.org/TR/SVG11/images/shapes/circle01.svg" target="_blank">circle</a>, ' +
25
+ '<a href="http://www.w3.org/TR/SVG11/images/shapes/ellipse01.svg" target="_blank">ellipse</a>, ' +
26
+ '<a href="http://www.w3.org/TR/SVG11/images/shapes/line01.svg" target="_blank">line</a>, ' +
27
+ '<a href="http://www.w3.org/TR/SVG11/images/shapes/polyline01.svg" target="_blank">polyline</a>, ' +
28
+ 'and <a href="http://www.w3.org/TR/SVG11/images/shapes/polygon01.svg" target="_blank">polygon</a>.',
29
+ '<rect x="20" y="50" width="100" height="50"\r\n' +
30
+ ' fill="yellow" stroke="navy" stroke-width="5" />\r\n' +
31
+ '<rect x="150" y="50" width="100" height="50" rx="10"\r\n' +
32
+ ' fill="green" />\r\n' +
33
+ '<g transform="translate(270 80) rotate(-30)">\r\n' +
34
+ ' <rect x="0" y="0" width="100" height="500" rx="10"\r\n' +
35
+ ' fill="none" stroke="purple" stroke-width="3" />\r\n' +
36
+ '</g>\r\n' +
37
+ '<circle cx="70" cy="220" r="50"\r\n' +
38
+ ' fill="red" stroke="blue" stroke-width="5" />\r\n' +
39
+ '<g transform="translate(175 220)">\r\n' +
40
+ ' <ellipse rx="75" ry="50" fill="red" />\r\n' +
41
+ '</g>\r\n' +
42
+ '<ellipse transform="translate(300 220) rotate(-30)"\r\n' +
43
+ ' rx="75" ry="50" fill="none" stroke="blue" stroke-width="10" />\r\n' +
44
+ '<g stroke="green" >\r\n' +
45
+ ' <line x1="450" y1="120" x2="550" y2="20" stroke-width="5" />\r\n' +
46
+ ' <line x1="550" y1="120" x2="650" y2="20" stroke-width="10" />\r\n' +
47
+ ' <line x1="650" y1="120" x2="750" y2="20" stroke-width="15" />\r\n' +
48
+ ' <line x1="750" y1="120" x2="850" y2="20" stroke-width="20" />\r\n' +
49
+ ' <line x1="850" y1="120" x2="950" y2="20" stroke-width="25" />\r\n' +
50
+ '</g>\r\n' +
51
+ '<polyline fill="none" stroke="blue" stroke-width="5" \r\n' +
52
+ ' points="450,250\r\n' +
53
+ ' 475,250 475,220 500,220 500,250\r\n' +
54
+ ' 525,250 525,200 550,200 550,250\r\n' +
55
+ ' 575,250 575,180 600,180 600,250\r\n' +
56
+ ' 625,250 625,160 650,160 650,250\r\n' +
57
+ ' 675,250" />\r\n' +
58
+ '<polygon fill="lime" stroke="blue" stroke-width="10" \r\n' +
59
+ ' points="800,150 900,180 900,240 800,270 700,240 700,180" />'],
60
+
61
+ ['Filters', filterDemo,
62
+ 'This example relies on the <i>filter</i> extension for the SVG plugin.<br/>' +
63
+ '1. Filter primitive \'feGaussianBlur\' takes input SourceAlpha, ' +
64
+ 'which is the alpha channel of the source graphic. The result is ' +
65
+ 'stored in a temporary buffer named "blur". Note that "blur" is ' +
66
+ 'used as input to both filter primitives 2 and 3.<br/>' +
67
+ '2. Filter primitive \'feOffset\' takes buffer "blur", shifts the ' +
68
+ 'result in a positive direction in both x and y, and creates a new ' +
69
+ 'buffer named "offsetBlur". The effect is that of a drop shadow.<br/>' +
70
+ '3. Filter primitive \'feSpecularLighting\', uses buffer "blur" as a ' +
71
+ 'model of a surface elevation and generates a lighting effect from a ' +
72
+ 'single point source. The result is stored in buffer "specOut".<br/>' +
73
+ '4. Filter primitive \'feComposite\' masks out the result of filter ' +
74
+ 'primitive 3 by the original source graphics alpha channel so that ' +
75
+ 'the intermediate result is no bigger than the original source graphic.<br/>' +
76
+ '5. Filter primitive \'feComposite\' composites the result of the ' +
77
+ 'specular lighting with the original source graphic.<br/>' +
78
+ '6. Filter primitive \'feMerge\' composites two layers together. ' +
79
+ 'The lower layer consists of the drop shadow result from filter primitive 2. ' +
80
+ 'The upper layer consists of the specular lighting result from filter primitive 5.<br/>' +
81
+ 'See the <a href="http://www.w3.org/TR/SVG11/images/filters/filters01.svg" target="_blank">original document</a>.',
82
+ '<desc>An example which combines multiple filter primitives\r\n' +
83
+ ' to produce a 3D lighting effect on a graphic consisting\r\n' +
84
+ ' of the string "SVG" sitting on top of oval filled in red\r\n' +
85
+ ' and surrounded by an oval outlined in red.</desc>\r\n' +
86
+ '<defs>\r\n' +
87
+ ' <filter id="MyFilter" filterUnits="userSpaceOnUse" x="0" y="0" width="200" height="120">\r\n' +
88
+ ' <feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>\r\n' +
89
+ ' <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>\r\n' +
90
+ ' <feSpecularLighting in="blur" surfaceScale="5" specularConstant=".75" \r\n' +
91
+ ' specularExponent="20" lighting-color="#bbbbbb" \r\n' +
92
+ ' result="specOut">\r\n' +
93
+ ' <fePointLight x="-5000" y="-10000" z="20000"/>\r\n' +
94
+ ' </feSpecularLighting>\r\n' +
95
+ ' <feComposite in="specOut" in2="SourceAlpha" operator="in" result="specOut"/>\r\n' +
96
+ ' <feComposite in="SourceGraphic" in2="specOut" operator="arithmetic" \r\n' +
97
+ ' k1="0" k2="1" k3="1" k4="0" result="litPaint"/>\r\n' +
98
+ ' <feMerge>\r\n' +
99
+ ' <feMergeNode in="offsetBlur"/>\r\n' +
100
+ ' <feMergeNode in="litPaint"/>\r\n' +
101
+ ' </feMerge>\r\n' +
102
+ ' </filter>\r\n' +
103
+ '</defs>\r\n' +
104
+ '<rect x="1" y="1" width="198" height="118" fill="#888888" stroke="blue" />\r\n' +
105
+ '<g filter="url(#MyFilter)" >\r\n' +
106
+ ' <g>\r\n' +
107
+ ' <path fill="none" stroke="#D90000" stroke-width="10" \r\n' +
108
+ ' d="M50,90 C0,90 0,30 50,30 L150,30 C200,30 200,90 150,90 z" />\r\n' +
109
+ ' <path fill="#D90000" \r\n' +
110
+ ' d="M60,80 C30,80 30,40 60,40 L140,40 C170,40 170,80 140,80 z" />\r\n' +
111
+ ' <g fill="#FFFFFF" stroke="black" font-size="45" font-family="Verdana" >\r\n' +
112
+ ' <text x="52" y="76">SVG</text>\r\n' +
113
+ ' </g>\r\n' +
114
+ ' </g>\r\n' +
115
+ '</g>'],
116
+
117
+ ['Gradients and Patterns', gradientPatternDemo,
118
+ 'Shows how to fill a rectangle by referencing a radial gradient paint server.<br/>' +
119
+ 'Shows how to fill a rectangle by referencing a pattern paint server. ' +
120
+ 'Note how the blue stroke of each triangle has been clipped at the top and the left. ' +
121
+ 'This is due to SVG\'s user agent style sheet setting the \'overflow\' property ' +
122
+ 'for \'pattern\' elements to hidden, which causes the pattern to be clipped to ' +
123
+ 'the bounds of the pattern tile.<br/>' +
124
+ 'See the original documents: <a href="http://www.w3.org/TR/SVG11/images/pservers/radgrad01.svg" target="_blank">gradient</a> ' +
125
+ 'and <a href="http://www.w3.org/TR/SVG11/images/pservers/pattern01.svg" target="_blank">pattern</a>.',
126
+ '<desc>Example radgrad01 - fill a rectangle by referencing a\r\n' +
127
+ ' radial gradient paint server</desc>\r\n' +
128
+ '<g>\r\n' +
129
+ ' <defs>\r\n' +
130
+ ' <radialGradient id="MyGradient" gradientUnits="userSpaceOnUse"\r\n' +
131
+ ' cx="200" cy="100" r="150" fx="200" fy="100">\r\n' +
132
+ ' <stop offset="0%" stop-color="red" />\r\n' +
133
+ ' <stop offset="50%" stop-color="blue" />\r\n' +
134
+ ' <stop offset="100%" stop-color="red" />\r\n' +
135
+ ' </radialGradient>\r\n' +
136
+ ' </defs>\r\n' +
137
+ ' <!-- The rectangle is filled using a radial gradient paint server -->\r\n' +
138
+ ' <rect fill="url(#MyGradient)" stroke="black" stroke-width="5"\r\n' +
139
+ ' x="50" y="50" width="300" height="100"/>\r\n' +
140
+ '</g>\r\n' +
141
+ '<g>\r\n' +
142
+ ' <defs>\r\n' +
143
+ ' <pattern id="TrianglePattern" patternUnits="userSpaceOnUse"\r\n' +
144
+ ' x="0" y="0" width="100" height="100" viewBox="0 0 10 10" >\r\n' +
145
+ ' <path d="M 0 0 L 7 0 L 3.5 7 z" fill="red" stroke="blue" />\r\n' +
146
+ ' </pattern> \r\n' +
147
+ ' </defs>\r\n' +
148
+ ' <!-- The ellipse is filled using a triangle pattern paint server\r\n' +
149
+ ' and stroked with black -->\r\n' +
150
+ ' <ellipse fill="url(#TrianglePattern)" stroke="black" stroke-width="5" \r\n' +
151
+ ' cx="550" cy="100" rx="175" ry="75" />\r\n' +
152
+ '</g>'],
153
+
154
+ ['Interactivity', interactiveDemo,
155
+ 'This example defines a function <code>circle_click</code> which is called ' +
156
+ 'by the onclick event attribute on the \'circle\' element. Each click toggles ' +
157
+ 'the circle\'s size between small and large.<br/>' +
158
+ 'See the <a href="http://www.w3.org/TR/SVG11/images/script/script01.svg" target="_blank">original document</a>.',
159
+ '<desc>Example script01 - invoke an ECMAScript function from an onclick event\r\n' +
160
+ '</desc>\r\n' +
161
+ '<!-- ECMAScript to change the radius with each click -->\r\n' +
162
+ '<script type="text/ecmascript"> <![CDATA[\r\n' +
163
+ ' function circle_click(evt) {\r\n' +
164
+ ' var circle = evt.target;\r\n' +
165
+ ' var currentRadius = circle.getAttribute("r");\r\n' +
166
+ ' if (currentRadius == 100)\r\n' +
167
+ ' circle.setAttribute("r", currentRadius*2);\r\n' +
168
+ ' else\r\n' +
169
+ ' circle.setAttribute("r", currentRadius*0.5);\r\n' +
170
+ ' }\r\n' +
171
+ ']]> </script>\r\n' +
172
+ '<!-- Act on each click event -->\r\n' +
173
+ '<circle onclick="circle_click(evt)" cx="300" cy="150" r="100"\r\n' +
174
+ ' fill="red"/>\r\n' +
175
+ '<text x="300" y="280" \r\n' +
176
+ ' font-family="Verdana" font-size="35" text-anchor="middle">\r\n' +
177
+ ' Click on circle to change its size\r\n' +
178
+ '</text>'],
179
+
180
+ ['Masking', maskingDemo,
181
+ 'In SVG, you can specify that any other graphics object or \'g\' element ' +
182
+ 'can be used as an alpha mask for compositing the current object into the background.<br/>' +
183
+ 'See the <a href="http://www.w3.org/TR/SVG11/images/masking/mask01.svg" target="_blank">original document</a>.',
184
+ '<desc>Example mask01 - blue text masked with gradient against red background\r\n' +
185
+ '</desc>\r\n' +
186
+ '<defs>\r\n' +
187
+ ' <linearGradient id="Gradient" gradientUnits="userSpaceOnUse"\r\n' +
188
+ ' x1="0" y1="0" x2="800" y2="0">\r\n' +
189
+ ' <stop offset="0" stop-color="white" stop-opacity="0" />\r\n' +
190
+ ' <stop offset="1" stop-color="white" stop-opacity="1" />\r\n' +
191
+ ' </linearGradient>\r\n' +
192
+ ' <mask id="Mask" maskUnits="userSpaceOnUse"\r\n' +
193
+ ' x="0" y="0" width="800" height="300">\r\n' +
194
+ ' <rect x="0" y="0" width="800" height="300" fill="url(#Gradient)" />\r\n' +
195
+ ' </mask>\r\n' +
196
+ ' <text id="Text" x="400" y="200" \r\n' +
197
+ ' font-family="Verdana" font-size="100" text-anchor="middle" >\r\n' +
198
+ ' Masked text\r\n' +
199
+ ' </text>\r\n' +
200
+ '</defs>\r\n' +
201
+ '<!-- Draw a pale red rectangle in the background -->\r\n' +
202
+ '<rect x="0" y="0" width="800" height="300" fill="#FF8080" />\r\n' +
203
+ '<!-- Draw the text string twice. First, filled blue, with the mask applied.\r\n' +
204
+ ' Second, outlined in black without the mask. -->\r\n' +
205
+ '<use xlink:href="#Text" fill="blue" mask="url(#Mask)" />\r\n' +
206
+ '<use xlink:href="#Text" fill="none" stroke="black" stroke-width="2" />'],
207
+
208
+ ['Styles and References', useStyleDemo,
209
+ 'Illustrates a \'use\' element with various methods of applying CSS styling.<br/>' +
210
+ 'See the <a href="http://www.w3.org/TR/SVG11/images/struct/Use04.svg" target="_blank">original document</a>.',
211
+ '<desc>Example Use04 - \'use\' with CSS styling</desc>\r\n' +
212
+ '<defs style=" /* rule 9 */ stroke-miterlimit: 10" >\r\n' +
213
+ ' <path id="MyPath" d="M100 50 L700 50 L700 250 L100 250"\r\n' +
214
+ ' class="MyPathClass" style=" /* rule 10 */ stroke-dasharray:300,100" />\r\n' +
215
+ '</defs>\r\n' +
216
+ '<style type="text/css">\r\n' +
217
+ ' <![CDATA[\r\n' +
218
+ ' /* rule 1 */ #MyUse { fill: blue }\r\n' +
219
+ ' /* rule 2 */ #MyPath { stroke: red }\r\n' +
220
+ ' /* rule 3 */ use { fill-opacity: .5 }\r\n' +
221
+ ' /* rule 4 */ path { stroke-opacity: .5 }\r\n' +
222
+ ' /* rule 5 */ .MyUseClass { stroke-linecap: round }\r\n' +
223
+ ' /* rule 6 */ .MyPathClass { stroke-linejoin: bevel }\r\n' +
224
+ ' /* rule 7 */ use > path { shape-rendering: optimizeQuality }\r\n' +
225
+ ' /* rule 8 */ g > path { visibility: hidden }\r\n' +
226
+ ' ]]>\r\n' +
227
+ '</style>\r\n' +
228
+ '<g style=" /* rule 11 */ stroke-width:40">\r\n' +
229
+ ' <use id="MyUse" xlink:href="#MyPath" \r\n' +
230
+ ' class="MyUseClass" style="/* rule 12 */ stroke-dashoffset:50" />\r\n' +
231
+ '</g>'],
232
+
233
+ ['Text', textDemo,
234
+ 'Shows how \'tspan\' elements can be included within \'textPath\' ' +
235
+ 'elements to adjust styling attributes and adjust the current text ' +
236
+ 'position before rendering a particular glyph. The first occurrence ' +
237
+ 'of the word "up" is filled with the color red. Attribute dy is used ' +
238
+ 'to lift the word "up" from the baseline.<br/>' +
239
+ 'See the <a href="http://www.w3.org/TR/SVG11/images/text/toap02.svg" target="_blank">original document</a>.',
240
+ '<defs>\r\n' +
241
+ ' <path id="MyPath"\r\n' +
242
+ ' d="M 100 200 \r\n' +
243
+ ' C 200 100 300 0 400 100\r\n' +
244
+ ' C 500 200 600 300 700 200\r\n' +
245
+ ' C 800 100 900 100 900 100" />\r\n' +
246
+ '</defs>\r\n' +
247
+ '<desc>Example toap02 - tspan within textPath</desc>\r\n' +
248
+ '<use xlink:href="#MyPath" fill="none" stroke="red" />\r\n' +
249
+ '<text font-family="Verdana" font-size="42.5" fill="blue" >\r\n' +
250
+ ' <textPath xlink:href="#MyPath">\r\n' +
251
+ ' We go \r\n' +
252
+ ' <tspan dy="-30" fill="red" >\r\n' +
253
+ ' up\r\n' +
254
+ ' </tspan>\r\n' +
255
+ ' <tspan dy="30">\r\n' +
256
+ ' ,\r\n' +
257
+ ' </tspan>\r\n' +
258
+ ' then we go down, then up again\r\n' +
259
+ ' </textPath>\r\n' +
260
+ '</text>'],
261
+
262
+ ['Transformations', transformDemo,
263
+ 'Defines two coordinate systems which are skewed ' +
264
+ 'relative to the origin coordinate system.<br/>' +
265
+ 'Transformations can be nested to any level. The effect of nested ' +
266
+ 'transformations is to post-multiply (i.e., concatenate) the subsequent ' +
267
+ 'transformation matrices onto previously defined transformations.<br/>' +
268
+ 'See the original documents: <a href="http://www.w3.org/TR/SVG11/images/coords/Skew.svg" target="_blank">skew</a> ' +
269
+ 'and <a href="http://www.w3.org/TR/SVG11/images/coords/Nested.svg" target="_blank">nesting</a>.',
270
+ '<desc>Example Skew - Show effects of skewX and skewY</desc>\r\n' +
271
+ '<!-- Establish a new coordinate system whose origin is at (30,100)\r\n' +
272
+ ' in the initial coord. system and which is skewed in X by 30 degrees. -->\r\n' +
273
+ '<g transform="translate(30,100)">\r\n' +
274
+ ' <g transform="skewX(30)">\r\n' +
275
+ ' <g fill="none" stroke="red" stroke-width="3" >\r\n' +
276
+ ' <line x1="0" y1="0" x2="50" y2="0" />\r\n' +
277
+ ' <line x1="0" y1="0" x2="0" y2="50" />\r\n' +
278
+ ' </g>\r\n' +
279
+ ' <text x="0" y="0" font-size="20" font-family="Verdana" fill="blue" >\r\n' +
280
+ ' ABC (skewX)\r\n' +
281
+ ' </text>\r\n' +
282
+ ' </g>\r\n' +
283
+ '</g>\r\n' +
284
+ '<!-- Establish a new coordinate system whose origin is at (200,100)\r\n' +
285
+ ' in the initial coord. system and which is skewed in Y by 30 degrees. -->\r\n' +
286
+ '<g transform="translate(200,100)">\r\n' +
287
+ ' <g transform="skewY(30)">\r\n' +
288
+ ' <g fill="none" stroke="red" stroke-width="3" >\r\n' +
289
+ ' <line x1="0" y1="0" x2="50" y2="0" />\r\n' +
290
+ ' <line x1="0" y1="0" x2="0" y2="50" />\r\n' +
291
+ ' </g>\r\n' +
292
+ ' <text x="0" y="0" font-size="20" font-family="Verdana" fill="blue" >\r\n' +
293
+ ' ABC (skewY)\r\n' +
294
+ ' </text>\r\n' +
295
+ ' </g>\r\n' +
296
+ '</g>\r\n' +
297
+ '<!-- First, a translate -->\r\n' +
298
+ '<g transform="translate(450,150)">\r\n' +
299
+ ' <g fill="none" stroke="red" stroke-width="3" >\r\n' +
300
+ ' <line x1="0" y1="0" x2="50" y2="0" />\r\n' +
301
+ ' <line x1="0" y1="0" x2="0" y2="50" />\r\n' +
302
+ ' </g>\r\n' +
303
+ ' <text x="0" y="0" font-size="16" font-family="Verdana" >\r\n' +
304
+ ' ....Translate(1)\r\n' +
305
+ ' </text>\r\n' +
306
+ ' <!-- Second, a rotate -->\r\n' +
307
+ ' <g transform="rotate(-45)">\r\n' +
308
+ ' <g fill="none" stroke="green" stroke-width="3" >\r\n' +
309
+ ' <line x1="0" y1="0" x2="50" y2="0" />\r\n' +
310
+ ' <line x1="0" y1="0" x2="0" y2="50" />\r\n' +
311
+ ' </g>\r\n' +
312
+ ' <text x="0" y="0" font-size="16" font-family="Verdana" >\r\n' +
313
+ ' ....Rotate(2)\r\n' +
314
+ ' </text>\r\n' +
315
+ ' <!-- Third, another translate -->\r\n' +
316
+ ' <g transform="translate(130,160)">\r\n' +
317
+ ' <g fill="none" stroke="blue" stroke-width="3" >\r\n' +
318
+ ' <line x1="0" y1="0" x2="50" y2="0" />\r\n' +
319
+ ' <line x1="0" y1="0" x2="0" y2="50" />\r\n' +
320
+ ' </g>\r\n' +
321
+ ' <text x="0" y="0" font-size="16" font-family="Verdana" >\r\n' +
322
+ ' ....Translate(3)\r\n' +
323
+ ' </text>\r\n' +
324
+ ' </g>\r\n' +
325
+ ' </g>\r\n' +
326
+ '</g>']];
327
+
328
+ // Populate the examples drop-down
329
+ function initExamples() {
330
+ var html = '<option value=""></option>';
331
+ for (var i = 0; i < examples.length; i++) {
332
+ html += '<option value="' + i + '">' + examples[i][0] + '</option>';
333
+ }
334
+ $('#example').html(html).change(pickExample)[0].selectedIndex = 0;
335
+ }
336
+
337
+ // Display the selected example
338
+ function pickExample() {
339
+ var ex = $('#example').val();
340
+ if (!ex) {
341
+ return;
342
+ }
343
+ $('#exampledesc').html(examples[ex][2]);
344
+ $('#svgsource pre').text(examples[ex][3]);
345
+ $('#svgcode pre').text(codeFormat(examples[ex][1].toString()));
346
+ var svg = svgManager.getSVGFor('#svgexample');
347
+ svg.clear();
348
+ examples[ex][1](svg);
349
+ }
350
+
351
+ // Format the JavaScript SVG code for display
352
+ function codeFormat(code) {
353
+ var lines = code.split('\n');
354
+ var formatted = '';
355
+ for (var i = 0; i < lines.length; i++) {
356
+ var line = $.trim(lines[i]);
357
+ if (!line || line.length == 1 || line.substring(0, 9) == 'function ') {
358
+ continue;
359
+ }
360
+ while (line.length > 50) {
361
+ var pos = line.substr(0, 50).lastIndexOf(' ');
362
+ if (pos == -1) {
363
+ break;
364
+ }
365
+ formatted += line.substr(0, pos) + '\r\n ' + ($.browser.msie ? ' ' : '');
366
+ line = line.substr(pos + 1);
367
+ }
368
+ formatted += line + '\r\n';
369
+ }
370
+ return formatted;
371
+ }
372
+
373
+ // Demonstrate basic SVG shapes and constructs
374
+ function basicShapesDemo(svg) {
375
+ svg.rect(null, 20, 50, 100, 50,
376
+ {fill: 'yellow', stroke: 'navy', stroke_width: 5});
377
+ svg.roundrect(null, 150, 50, 100, 50, 10, 10, {fill: 'green'});
378
+ var g = svg.group(null, {transform: 'translate(270 80) rotate(-30)'});
379
+ svg.roundrect(g, 0, 0, 100, 50, 10, 10, {fill: 'none', stroke: 'purple', stroke_width: 3});
380
+ svg.circle(null, 70, 220, 50, {fill: 'red', stroke: 'blue', stroke_width: 5});
381
+ var g = svg.group(null, {transform: 'translate(175 220)'});
382
+ svg.ellipse(g, '', '', 75, 50, {fill: 'yellow'});
383
+ svg.ellipse(null, '', '', 75, 50, {transform: 'translate(300 220) rotate(-30)',
384
+ fill: 'none', stroke: 'blue', stroke_width: 10});
385
+ var g = svg.group(null, {stroke: 'green'});
386
+ svg.line(g, 450, 120, 550, 20, {stroke_width: 5});
387
+ svg.line(g, 550, 120, 650, 20, {stroke_width: 10});
388
+ svg.line(g, 650, 120, 750, 20, {stroke_width: 15});
389
+ svg.line(g, 750, 120, 850, 20, {stroke_width: 20});
390
+ svg.line(g, 850, 120, 950, 20, {stroke_width: 25});
391
+ svg.polyline(null, [[450,250],
392
+ [475,250],[475,220],[500,220],[500,250],
393
+ [525,250],[525,200],[550,200],[550,250],
394
+ [575,250],[575,180],[600,180],[600,250],
395
+ [625,250],[625,160],[650,160],[650,250],[675,250]],
396
+ {fill: 'none', stroke: 'blue', stroke_width: 5});
397
+ svg.polygon(null, [[800,150],[900,180],[900,240],[800,270],[700,240],[700,180]],
398
+ {fill: 'lime', stroke: 'blue', stroke_width: 10});
399
+ }
400
+
401
+ // Demonstrate SVG filter effects
402
+ function filterDemo(svg) {
403
+ svg.describe(null, 'An example which combines multiple filter primitives ' +
404
+ 'to produce a 3D lighting effect on a graphic consisting ' +
405
+ 'of the string "SVG" sitting on top of oval filled in red ' +
406
+ 'and surrounded by an oval outlined in red.');
407
+ var defs = svg.defs();
408
+ var filter = svg.filter(defs, 'MyFilter', 0, 0, 200, 120,
409
+ {filterUnits: 'userSpaceOnUse'});
410
+ svg.filters.gaussianBlur(filter, 'blur', 'SourceAlpha', 4);
411
+ svg.filters.offset(filter, 'offsetBlur', 'blur', 4, 4);
412
+ var spec = svg.filters.specularLighting(filter, 'specOut', 'blur',
413
+ 5, 0.75, 20, {lighting_color: '#bbbbbb'});
414
+ svg.filters.pointLight(spec, '', -5000, -10000, 20000);
415
+ svg.filters.composite(filter, 'specOut', 'in', 'specOut', 'SourceAlpha');
416
+ svg.filters.composite(filter, 'litPaint', 'arithmetic', 'SourceGraphic',
417
+ 'specOut', 0, 1, 1, 0);
418
+ var merge = svg.filters.merge(filter, '', ['offsetBlur', 'litPaint']);
419
+ var g1 = svg.group(null, {filter: 'url(#MyFilter)'});
420
+ var g2 = svg.group(g1);
421
+ var path = svg.createPath();
422
+ svg.path(g2, path.moveTo(50, 90).curveCTo(0, 90, 0, 30, 50, 30).
423
+ lineTo(150, 30).curveCTo(200, 30, 200, 90, 150, 90).close(),
424
+ {fill: 'none', stroke: '#D90000', stroke_width: 10});
425
+ svg.path(g2, path.reset().moveTo(60, 80).curveCTo(30, 80, 30, 40, 60, 40).
426
+ lineTo(140, 40).curveCTo(170, 40, 170, 80, 140, 80).close(),
427
+ {fill: '#D90000'});
428
+ var g3 = svg.group(g2, {fill: '#FFFFFF', stroke: 'black',
429
+ font_size: 45, font_family: 'Verdana'});
430
+ svg.text(g3, 52, 76, 'SVG');
431
+ }
432
+
433
+ // Demonstrate SVG gradient and pattern fills
434
+ function gradientPatternDemo(svg) {
435
+ svg.describe(null, 'Example radgrad01 - fill a rectangle by ' +
436
+ 'referencing a radial gradient paint server');
437
+ var g = svg.group();
438
+ var defs = svg.defs(g);
439
+ svg.radialGradient(defs, 'MyGradient',
440
+ [['0%', 'red'], ['50%', 'blue'], ['100%', 'red']],
441
+ 200, 100, 150, 200, 100, {gradientUnits: 'userSpaceOnUse'});
442
+ svg.rect(g, 50, 50, 300, 100,
443
+ {fill: 'url(#MyGradient)', stroke: 'black', stroke_width: 5});
444
+ g = svg.group();
445
+ defs = svg.defs(g);
446
+ var ptn = svg.pattern(defs, 'TrianglePattern', 0, 0, 100, 100,
447
+ 0, 0, 10, 10, {patternUnits: 'userSpaceOnUse'});
448
+ var path = svg.createPath();
449
+ svg.path(ptn, path.moveTo(0, 0).lineTo([[7, 0], [3.5, 7]]).close(),
450
+ {fill: 'red', stroke: 'blue'});
451
+ svg.ellipse(g, 550, 100, 175, 75,
452
+ {fill: 'url(#TrianglePattern)', stroke: 'black', stroke_width: 5});
453
+ }
454
+
455
+ // Demonstrate SVG interactivity
456
+ function interactiveDemo(svg) {
457
+ svg.describe(null, 'Example script01 - invoke an ECMAScript function from an onclick event');
458
+ svg.script(null, 'function circle_click(evt) {\n' +
459
+ ' var circle = evt.target;\n' +
460
+ ' var currentRadius = circle.getAttribute("r");\n' +
461
+ ' if (currentRadius == 100)\n' +
462
+ ' circle.setAttribute("r", currentRadius*2);\n' +
463
+ ' else\n' +
464
+ ' circle.setAttribute("r", currentRadius*0.5);\n' +
465
+ '}', 'text/ecmascript');
466
+ svg.circle(null, 300, 150, 100, {onclick: 'circle_click(evt)', fill: 'red'});
467
+ svg.text(null, 300, 280, 'Click on circle to change its size',
468
+ {font_family: 'Verdana', font_size: 35, text_anchor: 'middle'});
469
+ }
470
+
471
+ // Demonstrate SVG masking operations
472
+ function maskingDemo(svg) {
473
+ svg.describe(null, 'Example mask01 - blue text masked with gradient against red background');
474
+ var defs = svg.defs();
475
+ svg.linearGradient(defs, 'Gradient', [[0, 'white', 0], [1, 'white', 1]],
476
+ 0, 0, 800, 0, {gradientUnits: 'userSpaceOnUse'});
477
+ var mask = svg.mask(defs, 'Mask', 0, 0, 800, 300, {maskUnits: 'userSpaceOnUse'});
478
+ svg.rect(mask, 0, 0, 800, 300, {fill: 'url(#Gradient)'});
479
+ svg.text(defs, 400, 200, 'Masked text', {id: 'Text',
480
+ font_family: 'Verdana', font_size: 100, text_anchor: 'middle'});
481
+ svg.rect(null, 0, 0, 800, 300, {fill: '#FF8080'});
482
+ svg.use(null, '#Text', {fill: 'blue', mask: 'url(#Mask)'});
483
+ svg.use(null, '#Text', {fill: 'none', stroke: 'black', stroke_width: 2});
484
+ }
485
+
486
+ // Demonstrate SVG text rendering
487
+ function textDemo(svg) {
488
+ var defs = svg.defs();
489
+ var path = svg.createPath();
490
+ svg.path(defs, path.moveTo(100, 200).curveCTo([[200, 100, 300, 0, 400, 100],
491
+ [500, 200, 600, 300, 700, 200], [800, 100, 900, 100, 900, 100]]),
492
+ {id: 'MyPath'});
493
+ svg.describe(null, 'Example toap02 - tspan within textPath');
494
+ svg.use(null, '#MyPath', {fill: 'none', stroke: 'red'});
495
+ var text = svg.text(null, '',
496
+ {font_family: 'Verdana', font_size: '42.5', fill: 'blue'});
497
+ var texts = svg.createText();
498
+ svg.textpath(text, '#MyPath', texts.string('We go ').span('up', {dy: -30, fill: 'red'}).
499
+ span(',', {dy: 30}).string(' then we go down, then up again'));
500
+ }
501
+
502
+ // Demonstrate SVG transformation support
503
+ function transformDemo(svg) {
504
+ svg.describe(null, 'Example Skew - Show effects of skewX and skewY');
505
+ var g1 = svg.group(null, {transform: 'translate(30,100)'});
506
+ var g2 = svg.group(g1, {transform: 'skewX(30)'});
507
+ var g3 = svg.group(g2, {fill: 'none', stroke: 'red', stroke_width: 3});
508
+ svg.line(g3, 0, 0, 50, 0);
509
+ svg.line(g3, 0, 0, 0, 50);
510
+ svg.text(g2, 0, 0, 'ABC (skewX)',
511
+ {font_size: 20, font_family: 'Verdana', fill: 'blue'});
512
+ g1 = svg.group(null, {transform: 'translate(200,100)'});
513
+ g2 = svg.group(g1, {transform: 'skewY(30)'});
514
+ g3 = svg.group(g2, {fill: 'none', stroke: 'red', stroke_width: 3});
515
+ svg.line(g3, 0, 0, 50, 0);
516
+ svg.line(g3, 0, 0, 0, 50);
517
+ svg.text(g2, 0, 0, 'ABC (skewY)',
518
+ {font_size: 20, font_family: 'Verdana', fill: 'blue'});
519
+
520
+ g1 = svg.group(null, {transform: 'translate(450,150)'});
521
+ g2 = svg.group(g1, {fill: 'none', stroke: 'red', stroke_width: 3});
522
+ svg.line(g2, 0, 0, 50, 0);
523
+ svg.line(g2, 0, 0, 0, 50);
524
+ svg.text(g1, 0, 0, '....Translate(1)',
525
+ {font_size: 16, font_family: 'Verdana'});
526
+ g2 = svg.group(g1, {transform: 'rotate(-45)'});
527
+ g3 = svg.group(g2, {fill: 'none', stroke: 'green', stroke_width: 3});
528
+ svg.line(g3, 0, 0, 50, 0);
529
+ svg.line(g3, 0, 0, 0, 50);
530
+ svg.text(g2, 0, 0, '....Rotate(2)',
531
+ {font_size: 16, font_family: 'Verdana'});
532
+ g3 = svg.group(g2, {transform: 'translate(130,160)'});
533
+ var g4 = svg.group(g3, {fill: 'none', stroke: 'blue', stroke_width: 3});
534
+ svg.line(g4, 0, 0, 50, 0);
535
+ svg.line(g4, 0, 0, 0, 50);
536
+ svg.text(g3, 0, 0, '....Translate(3)',
537
+ {font_size: 16, font_family: 'Verdana'});
538
+ }
539
+
540
+ // Demonstrate SVG referencing and CSS styling
541
+ function useStyleDemo(svg) {
542
+ svg.describe(null, 'Example Use04 - \'use\' with CSS styling');
543
+ var defs = svg.defs(null, '', {style: ' /* rule 9 */ stroke-miterlimit: 10'});
544
+ var path = svg.createPath();
545
+ svg.path(defs, path.moveTo(100, 50).lineTo([[700, 50], [700, 250], [100, 250]]),
546
+ {id: 'MyPath', _class: 'MyPathClass', style: ' /* rule 10 */ stroke-dasharray: 300,100'});
547
+ svg.style(null, '/* rule 1 */ #MyUse { fill: blue } ' +
548
+ '/* rule 2 */ #MyPath { stroke: red } ' +
549
+ '/* rule 3 */ use { fill-opacity: .5 } ' +
550
+ '/* rule 4 */ path { stroke-opacity: .5 } ' +
551
+ '/* rule 5 */ .MyUseClass { stroke-linecap: round } ' +
552
+ '/* rule 6 */ .MyPathClass { stroke-linejoin: bevel } ' +
553
+ '/* rule 7 */ use > path { shape-rendering: optimizeQuality } ' +
554
+ '/* rule 8 */ g > path { visibility: hidden }');
555
+ var g = svg.group(null, {style: ' /* rule 11 */ stroke-width: 40'});
556
+ svg.use(g, '#MyPath', {id: 'MyUse', _class: 'MyUseClass',
557
+ style: '/* rule 12 */ stroke-dashoffset: 50'});
558
+ }
559
+
560
+ // -----------------------------------------------------------------------------
561
+
562
+ // Add a node defined inline
563
+ function addInline() {
564
+ var svg = svgManager.getSVGFor('#svgload');
565
+ svg.add(null, '#svg1');
566
+ }
567
+
568
+ // Load an external document
569
+ function loadExternal() {
570
+ var svg = svgManager.getSVGFor('#svgload');
571
+ svg.load($('#loadURL').val());
572
+ }
573
+
574
+ // -----------------------------------------------------------------------------
575
+
576
+ // Synchronise the drawing section with user selection
577
+ function setDrawOptions() {
578
+ showHide = function(id, show) {
579
+ if (show) {
580
+ $(id).show();
581
+ }
582
+ else {
583
+ $(id).hide();
584
+ }
585
+ }
586
+ var shape = $('#shape').val();
587
+ showHide('#getRect', (shape == 'rect' || shape == 'roundrect'));
588
+ showHide('#getRounded', shape == 'roundrect');
589
+ showHide('#getCentre', (shape == 'circle' || shape == 'ellipse'));
590
+ showHide('#getRadius', (shape == 'circle'));
591
+ showHide('#getRadii', (shape == 'ellipse'));
592
+ showHide('#getLine', (shape == 'line'));
593
+ showHide('#getFill', (shape != 'line'));
594
+ }
595
+
596
+ var drawNodes = [];
597
+ var sketchpad = null;
598
+
599
+ $(document).ready(function() {
600
+ sketchpad = $('#svgsketch')[0];
601
+ });
602
+
603
+ // Draw the selected element on the canvas
604
+ function draw() {
605
+ var svg = svgManager.getSVGFor(sketchpad);
606
+ var rotate = $('#rotate').val();
607
+ var settings = $.extend({fill: $('#fill').val(),
608
+ stroke: $('#stroke').val(), stroke_width: $('#swidth').val()},
609
+ (rotate ? {transform: 'rotate(' + rotate + ')'} : {}));
610
+ var shape = $('#shape').val();
611
+ var node = null;
612
+ if (shape == 'rect') {
613
+ node = svg.rect(null, $('#left').val(), $('#top').val(),
614
+ $('#width').val(), $('#height').val(), settings);
615
+ }
616
+ else if (shape == 'roundrect') {
617
+ node = svg.roundrect(null, $('#left').val(), $('#top').val(),
618
+ $('#width').val(), $('#height').val(),
619
+ $('#roundX').val(), $('#roundY').val(), settings);
620
+ }
621
+ else if (shape == 'circle') {
622
+ node = svg.circle(null, $('#centreX').val(), $('#centreY').val(),
623
+ $('#radius').val(), settings);
624
+ }
625
+ else if (shape == 'ellipse') {
626
+ node = svg.ellipse(null, $('#centreX').val(), $('#centreY').val(),
627
+ $('#radiusX').val(), $('#radiusY').val(), settings);
628
+ }
629
+ else if (shape == 'line') {
630
+ node = svg.line(null, $('#startX').val(), $('#startY').val(),
631
+ $('#endX').val(), $('#endY').val(), settings);
632
+ }
633
+ drawNodes[drawNodes.length] = node;
634
+ }
635
+
636
+ // Remove the last drawn element
637
+ function undo() {
638
+ if (!drawNodes.length) {
639
+ return;
640
+ }
641
+ var svg = svgManager.getSVGFor(sketchpad);
642
+ svg.remove(drawNodes[drawNodes.length - 1]);
643
+ drawNodes.splice(drawNodes.length - 1, 1);
644
+ }
645
+
646
+ // Clear the canvas
647
+ function erase(name) {
648
+ svgManager.getSVGFor($(name)).clear();
649
+ drawNodes = [];
650
+ }
651
+
652
+ // -----------------------------------------------------------------------------
653
+
654
+ // Initialise the graphing options
655
+ function setGraphOptions() {
656
+ var html = '';
657
+ var chartTypes = svgGraphing.chartTypes();
658
+ for (var id in chartTypes) {
659
+ html += '<option value="' + id + '">' + chartTypes[id].title() + '</option>';
660
+ }
661
+ $('#chartType').html(html)[0].selectedIndex = 0;
662
+ }
663
+
664
+ var firstGraph = true;
665
+ var chartArea = [[0.1, 0.1, 0.95, 0.9], [0.2, 0.1, 0.95, 0.9],
666
+ [0.1, 0.1, 0.8, 0.9], [0.1, 0.25, 0.9, 0.9], [0.1, 0.1, 0.9, 0.8]];
667
+ var legendArea = [[0.0, 0.0, 0.0, 0.0], [0.005, 0.1, 0.125, 0.5],
668
+ [0.875, 0.1, 0.995, 0.5], [0.2, 0.1, 0.8, 0.2], [0.2, 0.9, 0.8, 0.995]];
669
+ var fills = [['lightblue', 'url(#fadeBlue)'], ['pink', 'url(#fadeRed)'],
670
+ ['lightgreen', 'url(#fadeGreen)']];
671
+
672
+ // Draw a new graph with the selected options
673
+ function graphIt() {
674
+ var svg = svgManager.getSVGFor('#svggraph');
675
+ if (firstGraph) {
676
+ var defs = svg.defs();
677
+ svg.linearGradient(defs, 'fadeBlue', [[0, 'lightblue'], [1, 'blue']]);
678
+ svg.linearGradient(defs, 'fadeRed', [[0, 'pink'], [1, 'red']]);
679
+ svg.linearGradient(defs, 'fadeGreen', [[0, 'lightgreen'], [1, 'green']]);
680
+ svg.graph.noDraw().title('Browser Usage').
681
+ addSeries('IE', [95.97, 91.80, 88.16, 86.64], 'lightblue', 'blue', 3).
682
+ addSeries('Netscape', [3.39, 2.83, 1.61, 0.00], 'pink', 'red', 3).
683
+ addSeries('Firefox', [0.00, 4.06, 8.13, 9.95], 'lightgreen', 'green', 3).
684
+ chartFormat('lightyellow', 'gray').
685
+ gridlines({stroke: 'gray', stroke_dasharray: '2,2'}, 'gray').
686
+ status(setStatus);
687
+ svg.graph.xAxis.title('Year').scale(0, 3).
688
+ ticks(1, 0).labels(['2002', '2004', '2005', '2006']);
689
+ svg.graph.yAxis.title('Percentage').scale(-5, 105).ticks(10, 5);
690
+ svg.graph.legend.settings({fill: 'lightgoldenrodyellow', stroke: 'gray'});
691
+ firstGraph = false;
692
+ }
693
+ var chartType = $('#chartType').val();
694
+ var legendPos = $('#legendPos').val() - 0;
695
+ var seriesFill = ($('#seriesFill').val() == 'plain' ? 0 : 1);
696
+ svg.graph.legend.show(legendPos).area(legendArea[legendPos]);
697
+ for (var i = 0; i < 3; i++) {
698
+ svg.graph.series()[i].format((fills[i])[seriesFill]);
699
+ }
700
+ svg.graph.noDraw().chartArea(chartArea[legendPos]).
701
+ chartType(chartType, {explode: [2], explodeDist: 10}).redraw();
702
+ chartType = svgGraphing.chartTypes()[chartType];
703
+ $('#graphDesc').text(chartType.description());
704
+ var options = '';
705
+ for (var i = 0; i < chartType.options().length; i++) {
706
+ options += '<li>' + chartType.options()[i] + '</li>';
707
+ }
708
+ $('#graphOptions').html(options || '<li>None</li>');
709
+ }
710
+
711
+ // Show the status values in a callback from the graph
712
+ function setStatus(value) {
713
+ window.status = value;
714
+ }