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,106 @@
1
+ /**
2
+ Copyright 2011 Red Hat, Inc.
3
+
4
+ This software is licensed to you under the GNU General Public
5
+ License as published by the Free Software Foundation; either version
6
+ 2 of the License (GPLv2) or (at your option) any later version.
7
+ There is NO WARRANTY for this software, express or implied,
8
+ including the implied warranties of MERCHANTABILITY,
9
+ NON-INFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. You should
10
+ have received a copy of GPLv2 along with this software; if not, see
11
+ http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
12
+ */
13
+
14
+ (function($){
15
+ $.fn.fancyQueries = function () {
16
+ /* Handle closing of dropdown if clicked outside */
17
+ $(document).click(function (e) {
18
+ //console.log(e.target);
19
+ if(!( $(e.target).closest(".search").length ||
20
+ $(e.target).hasClass("queryeditor") ||
21
+ $(e.target).hasClass("showmore"))) {
22
+ $(".qdropdown").hide();
23
+ $(".queries").removeClass('open queryeditor');
24
+ }
25
+ });
26
+ $('#search').click(function(e){$(document).click();});
27
+ this.each(function () {
28
+ var $qdropdown = $('.qdropdown', this);
29
+ var searchbox = this;
30
+ var menuurl = $(searchbox).attr("data-url");
31
+ var $button;
32
+ var offset = $(this).offset();
33
+ var height = $(this).outerHeight();
34
+ var width = $(this).outerWidth();
35
+ /* Create Dropdown if it doesn't exist */
36
+ if (!$qdropdown.length) {
37
+ $qdropdown = $("<div class='qdropdown'></div>");
38
+ $qdropdown.appendTo(this).hide();
39
+ }
40
+ /* Create button and resize the search input to show it */
41
+ $button = $('<div class="queries"><span class="arrow"></span></div>"');
42
+ $button.attr("data-url", menuurl);
43
+ $button.appendTo($(this));
44
+ $("input",this).css('margin-left', '24px');
45
+ $("input",this).css('width', function () {
46
+ width = $(this).width() - 24;
47
+ return width;
48
+ });
49
+ /* Hook showing and hiding of the dropdown */
50
+ $button.click(function () {
51
+ if ($qdropdown.filter(":visible").length>0) {
52
+ $qdropdown.hide(); //hides all menus, not just in this context
53
+ $(".queries").removeClass('open queryeditor');
54
+ } else {
55
+ $('.qdropdown').hide(); //hide all first
56
+ $(".queries").removeClass('open queryeditor');
57
+
58
+ $.get(menuurl, function (data) {
59
+ var $list, hidden, $hideme;
60
+ $qdropdown.html(data).css('top', height - 1);
61
+ if ($qdropdown.width()+offset.left > $('#maincontent').width()) {
62
+ $qdropdown.removeClass('left-menu').addClass('right-menu');
63
+ } else {
64
+ $qdropdown.removeClass('right-menu').addClass('left-menu');
65
+ }
66
+
67
+ $qdropdown.show(200);
68
+
69
+ // process the elements of the list and truncate any that are too long with ellipsis (...) (e.g. jquery.text-overflow.js)
70
+ $(".one-line-ellipsis").ellipsis();
71
+
72
+ $button.addClass('open');
73
+ $list = $("ul:first", $qdropdown);
74
+ $("li.item:gt(9)", $list).hide();
75
+ hidden = $("li.item:hidden",$list).length;
76
+ if (hidden) {
77
+ $hideme = $('<a class="showmore">Show '+ hidden + ' more</a>');
78
+ $('#search_list').append($hideme);
79
+ $hideme.click(function (e) {
80
+ e.preventDefault();
81
+ $("li.item", $list).show();
82
+ $(this).remove(); //for some reason remove triggers a click or something.
83
+ });
84
+ }
85
+ });
86
+ }
87
+ });
88
+
89
+ /* Query Editor */
90
+ $(".queryeditor", $qdropdown[0]).live('click', function (e) {
91
+ var content = '<h1>Query Editor</h1>';
92
+ content += "<div><h2>FIXME</h2>";
93
+ content += "<p style='width: 400px; min-height: 100px;'>Initially I think this would provide help on how to compose a query. Once we have a better idea on what the queries look like, a gui editor.</p>" +
94
+ "<a href='#' onclick='$(document).click()'>Close</a></div>";
95
+ $button.removeClass('open').addClass('queryeditor');
96
+ $qdropdown.empty().hide().addClass('queryeditor').html(content);
97
+ if ($qdropdown.width()+offset.left > $('#maincontent').width()) {
98
+ $qdropdown.removeClass('left-menu').addClass('right-menu');
99
+ } else {
100
+ $qdropdown.removeClass('right-menu').addClass('left-menu');
101
+ }
102
+ $qdropdown.show(200);
103
+ });
104
+ });
105
+ };
106
+ })(jQuery);
@@ -0,0 +1,288 @@
1
+ /**
2
+ * Flash (http://jquery.lukelutman.com/plugins/flash)
3
+ * A jQuery plugin for embedding Flash movies.
4
+ *
5
+ * Version 1.0
6
+ * November 9th, 2006
7
+ *
8
+ * Copyright (c) 2006 Luke Lutman (http://www.lukelutman.com)
9
+ * Dual licensed under the MIT and GPL licenses.
10
+ * http://www.opensource.org/licenses/mit-license.php
11
+ * http://www.opensource.org/licenses/gpl-license.php
12
+ *
13
+ * Inspired by:
14
+ * SWFObject (http://blog.deconcept.com/swfobject/)
15
+ * UFO (http://www.bobbyvandersluis.com/ufo/)
16
+ * sIFR (http://www.mikeindustries.com/sifr/)
17
+ *
18
+ * IMPORTANT:
19
+ * The packed version of jQuery breaks ActiveX control
20
+ * activation in Internet Explorer. Use JSMin to minifiy
21
+ * jQuery (see: http://jquery.lukelutman.com/plugins/flash#activex).
22
+ *
23
+ **/
24
+ ;(function(){
25
+
26
+ var $$;
27
+
28
+ /**
29
+ *
30
+ * @desc Replace matching elements with a flash movie.
31
+ * @author Luke Lutman
32
+ * @version 1.0.1
33
+ *
34
+ * @name flash
35
+ * @param Hash htmlOptions Options for the embed/object tag.
36
+ * @param Hash pluginOptions Options for detecting/updating the Flash plugin (optional).
37
+ * @param Function replace Custom block called for each matched element if flash is installed (optional).
38
+ * @param Function update Custom block called for each matched if flash isn't installed (optional).
39
+ * @type jQuery
40
+ *
41
+ * @cat plugins/flash
42
+ *
43
+ * @example $('#hello').flash({ src: 'hello.swf' });
44
+ * @desc Embed a Flash movie.
45
+ *
46
+ * @example $('#hello').flash({ src: 'hello.swf' }, { version: 8 });
47
+ * @desc Embed a Flash 8 movie.
48
+ *
49
+ * @example $('#hello').flash({ src: 'hello.swf' }, { expressInstall: true });
50
+ * @desc Embed a Flash movie using Express Install if flash isn't installed.
51
+ *
52
+ * @example $('#hello').flash({ src: 'hello.swf' }, { update: false });
53
+ * @desc Embed a Flash movie, don't show an update message if Flash isn't installed.
54
+ *
55
+ **/
56
+ $$ = jQuery.fn.flash = function(htmlOptions, pluginOptions, replace, update) {
57
+
58
+ // Set the default block.
59
+ var block = replace || $$.replace;
60
+
61
+ // Merge the default and passed plugin options.
62
+ pluginOptions = $$.copy($$.pluginOptions, pluginOptions);
63
+
64
+ // Detect Flash.
65
+ if(!$$.hasFlash(pluginOptions.version)) {
66
+ // Use Express Install (if specified and Flash plugin 6,0,65 or higher is installed).
67
+ if(pluginOptions.expressInstall && $$.hasFlash(6,0,65)) {
68
+ // Add the necessary flashvars (merged later).
69
+ var expressInstallOptions = {
70
+ flashvars: {
71
+ MMredirectURL: location,
72
+ MMplayerType: 'PlugIn',
73
+ MMdoctitle: jQuery('title').text()
74
+ }
75
+ };
76
+ // Ask the user to update (if specified).
77
+ } else if (pluginOptions.update) {
78
+ // Change the block to insert the update message instead of the flash movie.
79
+ block = update || $$.update;
80
+ // Fail
81
+ } else {
82
+ // The required version of flash isn't installed.
83
+ // Express Install is turned off, or flash 6,0,65 isn't installed.
84
+ // Update is turned off.
85
+ // Return without doing anything.
86
+ return this;
87
+ }
88
+ }
89
+
90
+ // Merge the default, express install and passed html options.
91
+ htmlOptions = $$.copy($$.htmlOptions, expressInstallOptions, htmlOptions);
92
+
93
+ // Invoke $block (with a copy of the merged html options) for each element.
94
+ return this.each(function(){
95
+ block.call(this, $$.copy(htmlOptions));
96
+ });
97
+
98
+ };
99
+ /**
100
+ *
101
+ * @name flash.copy
102
+ * @desc Copy an arbitrary number of objects into a new object.
103
+ * @type Object
104
+ *
105
+ * @example $$.copy({ foo: 1 }, { bar: 2 });
106
+ * @result { foo: 1, bar: 2 };
107
+ *
108
+ **/
109
+ $$.copy = function() {
110
+ var options = {}, flashvars = {};
111
+ for(var i = 0; i < arguments.length; i++) {
112
+ var arg = arguments[i];
113
+ if(arg == undefined) continue;
114
+ jQuery.extend(options, arg);
115
+ // don't clobber one flash vars object with another
116
+ // merge them instead
117
+ if(arg.flashvars == undefined) continue;
118
+ jQuery.extend(flashvars, arg.flashvars);
119
+ }
120
+ options.flashvars = flashvars;
121
+ return options;
122
+ };
123
+ /*
124
+ * @name flash.hasFlash
125
+ * @desc Check if a specific version of the Flash plugin is installed
126
+ * @type Boolean
127
+ *
128
+ **/
129
+ $$.hasFlash = function() {
130
+ // look for a flag in the query string to bypass flash detection
131
+ if(/hasFlash\=true/.test(location)) return true;
132
+ if(/hasFlash\=false/.test(location)) return false;
133
+ var pv = $$.hasFlash.playerVersion().match(/\d+/g);
134
+ var rv = String([arguments[0], arguments[1], arguments[2]]).match(/\d+/g) || String($$.pluginOptions.version).match(/\d+/g);
135
+ for(var i = 0; i < 3; i++) {
136
+ pv[i] = parseInt(pv[i] || 0);
137
+ rv[i] = parseInt(rv[i] || 0);
138
+ // player is less than required
139
+ if(pv[i] < rv[i]) return false;
140
+ // player is greater than required
141
+ if(pv[i] > rv[i]) return true;
142
+ }
143
+ // major version, minor version and revision match exactly
144
+ return true;
145
+ };
146
+ /**
147
+ *
148
+ * @name flash.hasFlash.playerVersion
149
+ * @desc Get the version of the installed Flash plugin.
150
+ * @type String
151
+ *
152
+ **/
153
+ $$.hasFlash.playerVersion = function() {
154
+ // ie
155
+ try {
156
+ try {
157
+ // avoid fp6 minor version lookup issues
158
+ // see: http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
159
+ var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
160
+ try { axo.AllowScriptAccess = 'always'; }
161
+ catch(e) { return '6,0,0'; }
162
+ } catch(e) {}
163
+ return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
164
+ // other browsers
165
+ } catch(e) {
166
+ try {
167
+ if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){
168
+ return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
169
+ }
170
+ } catch(e) {}
171
+ }
172
+ return '0,0,0';
173
+ };
174
+ /**
175
+ *
176
+ * @name flash.htmlOptions
177
+ * @desc The default set of options for the object or embed tag.
178
+ *
179
+ **/
180
+ $$.htmlOptions = {
181
+ height: 240,
182
+ flashvars: {},
183
+ pluginspage: 'http://www.adobe.com/go/getflashplayer',
184
+ src: '#',
185
+ type: 'application/x-shockwave-flash',
186
+ width: 320
187
+ };
188
+ /**
189
+ *
190
+ * @name flash.pluginOptions
191
+ * @desc The default set of options for checking/updating the flash Plugin.
192
+ *
193
+ **/
194
+ $$.pluginOptions = {
195
+ expressInstall: false,
196
+ update: true,
197
+ version: '6.0.65'
198
+ };
199
+ /**
200
+ *
201
+ * @name flash.replace
202
+ * @desc The default method for replacing an element with a Flash movie.
203
+ *
204
+ **/
205
+ $$.replace = function(htmlOptions) {
206
+ this.innerHTML = '<div class="alt">'+this.innerHTML+'</div>';
207
+ jQuery(this)
208
+ .addClass('flash-replaced')
209
+ .prepend($$.transform(htmlOptions));
210
+ };
211
+ /**
212
+ *
213
+ * @name flash.update
214
+ * @desc The default method for replacing an element with an update message.
215
+ *
216
+ **/
217
+ $$.update = function(htmlOptions) {
218
+ var url = String(location).split('?');
219
+ url.splice(1,0,'?hasFlash=true&');
220
+ url = url.join('');
221
+ var msg = '<p>This content requires the Flash Player. <a href="http://www.adobe.com/go/getflashplayer">Download Flash Player</a>. Already have Flash Player? <a href="'+url+'">Click here.</a></p>';
222
+ this.innerHTML = '<span class="alt">'+this.innerHTML+'</span>';
223
+ jQuery(this)
224
+ .addClass('flash-update')
225
+ .prepend(msg);
226
+ };
227
+ /**
228
+ *
229
+ * @desc Convert a hash of html options to a string of attributes, using Function.apply().
230
+ * @example toAttributeString.apply(htmlOptions)
231
+ * @result foo="bar" foo="bar"
232
+ *
233
+ **/
234
+ function toAttributeString() {
235
+ var s = '';
236
+ for(var key in this)
237
+ if(typeof this[key] != 'function')
238
+ s += key+'="'+this[key]+'" ';
239
+ return s;
240
+ };
241
+ /**
242
+ *
243
+ * @desc Convert a hash of flashvars to a url-encoded string, using Function.apply().
244
+ * @example toFlashvarsString.apply(flashvarsObject)
245
+ * @result foo=bar&foo=bar
246
+ *
247
+ **/
248
+ function toFlashvarsString() {
249
+ var s = '';
250
+ for(var key in this)
251
+ if(typeof this[key] != 'function')
252
+ s += key+'='+encodeURIComponent(this[key])+'&';
253
+ return s.replace(/&$/, '');
254
+ };
255
+ /**
256
+ *
257
+ * @name flash.transform
258
+ * @desc Transform a set of html options into an embed tag.
259
+ * @type String
260
+ *
261
+ * @example $$.transform(htmlOptions)
262
+ * @result <embed src="foo.swf" ... />
263
+ *
264
+ * Note: The embed tag is NOT standards-compliant, but it
265
+ * works in all current browsers. flash.transform can be
266
+ * overwritten with a custom function to generate more
267
+ * standards-compliant markup.
268
+ *
269
+ **/
270
+ $$.transform = function(htmlOptions) {
271
+ htmlOptions.toString = toAttributeString;
272
+ if(htmlOptions.flashvars) htmlOptions.flashvars.toString = toFlashvarsString;
273
+ return '<embed ' + String(htmlOptions) + '/>';
274
+ };
275
+
276
+ /**
277
+ *
278
+ * Flash Player 9 Fix (http://blog.deconcept.com/2006/07/28/swfobject-143-released/)
279
+ *
280
+ **/
281
+ if (window.attachEvent) {
282
+ window.attachEvent("onbeforeunload", function(){
283
+ __flash_unloadHandler = function() {};
284
+ __flash_savedUnloadHandler = function() {};
285
+ });
286
+ }
287
+
288
+ })();
@@ -0,0 +1,964 @@
1
+ /*!
2
+ * jQuery Form Plugin
3
+ * version: 2.92 (22-NOV-2011)
4
+ * @requires jQuery v1.3.2 or later
5
+ *
6
+ * Examples and documentation at: http://malsup.com/jquery/form/
7
+ * Dual licensed under the MIT and GPL licenses:
8
+ * http://www.opensource.org/licenses/mit-license.php
9
+ * http://www.gnu.org/licenses/gpl.html
10
+ */
11
+ ;(function($) {
12
+
13
+ /*
14
+ Usage Note:
15
+ -----------
16
+ Do not use both ajaxSubmit and ajaxForm on the same form. These
17
+ functions are intended to be exclusive. Use ajaxSubmit if you want
18
+ to bind your own submit handler to the form. For example,
19
+
20
+ $(document).ready(function() {
21
+ $('#myForm').bind('submit', function(e) {
22
+ e.preventDefault(); // <-- important
23
+ $(this).ajaxSubmit({
24
+ target: '#output'
25
+ });
26
+ });
27
+ });
28
+
29
+ Use ajaxForm when you want the plugin to manage all the event binding
30
+ for you. For example,
31
+
32
+ $(document).ready(function() {
33
+ $('#myForm').ajaxForm({
34
+ target: '#output'
35
+ });
36
+ });
37
+
38
+ When using ajaxForm, the ajaxSubmit function will be invoked for you
39
+ at the appropriate time.
40
+ */
41
+
42
+ /**
43
+ * ajaxSubmit() provides a mechanism for immediately submitting
44
+ * an HTML form using AJAX.
45
+ */
46
+ $.fn.ajaxSubmit = function(options) {
47
+ // fast fail if nothing selected (http://dev.jquery.com/ticket/2752)
48
+ if (!this.length) {
49
+ log('ajaxSubmit: skipping submit process - no element selected');
50
+ return this;
51
+ }
52
+
53
+ var method, action, url, $form = this;
54
+
55
+ if (typeof options == 'function') {
56
+ options = { success: options };
57
+ }
58
+
59
+ method = this.attr('method');
60
+ action = this.attr('action');
61
+ url = (typeof action === 'string') ? $.trim(action) : '';
62
+ url = url || window.location.href || '';
63
+ if (url) {
64
+ // clean url (don't include hash vaue)
65
+ url = (url.match(/^([^#]+)/)||[])[1];
66
+ }
67
+
68
+ options = $.extend(true, {
69
+ url: url,
70
+ success: $.ajaxSettings.success,
71
+ type: method || 'GET',
72
+ iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
73
+ }, options);
74
+
75
+ // hook for manipulating the form data before it is extracted;
76
+ // convenient for use with rich editors like tinyMCE or FCKEditor
77
+ var veto = {};
78
+ this.trigger('form-pre-serialize', [this, options, veto]);
79
+ if (veto.veto) {
80
+ log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
81
+ return this;
82
+ }
83
+
84
+ // provide opportunity to alter form data before it is serialized
85
+ if (options.beforeSerialize && options.beforeSerialize(this, options) === false) {
86
+ log('ajaxSubmit: submit aborted via beforeSerialize callback');
87
+ return this;
88
+ }
89
+
90
+ var traditional = options.traditional;
91
+ if ( traditional === undefined ) {
92
+ traditional = $.ajaxSettings.traditional;
93
+ }
94
+
95
+ var qx,n,v,a = this.formToArray(options.semantic);
96
+ if (options.data) {
97
+ options.extraData = options.data;
98
+ qx = $.param(options.data, traditional);
99
+ }
100
+
101
+ // give pre-submit callback an opportunity to abort the submit
102
+ if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
103
+ log('ajaxSubmit: submit aborted via beforeSubmit callback');
104
+ return this;
105
+ }
106
+
107
+ // fire vetoable 'validate' event
108
+ this.trigger('form-submit-validate', [a, this, options, veto]);
109
+ if (veto.veto) {
110
+ log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
111
+ return this;
112
+ }
113
+
114
+ var q = $.param(a, traditional);
115
+ if (qx) {
116
+ q = ( q ? (q + '&' + qx) : qx );
117
+ }
118
+ if (options.type.toUpperCase() == 'GET') {
119
+ options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
120
+ options.data = null; // data is null for 'get'
121
+ }
122
+ else {
123
+ options.data = q; // data is the query string for 'post'
124
+ }
125
+
126
+ var callbacks = [];
127
+ if (options.resetForm) {
128
+ callbacks.push(function() { $form.resetForm(); });
129
+ }
130
+ if (options.clearForm) {
131
+ callbacks.push(function() { $form.clearForm(options.includeHidden); });
132
+ }
133
+
134
+ // perform a load on the target only if dataType is not provided
135
+ if (!options.dataType && options.target) {
136
+ var oldSuccess = options.success || function(){};
137
+ callbacks.push(function(data) {
138
+ var fn = options.replaceTarget ? 'replaceWith' : 'html';
139
+ $(options.target)[fn](data).each(oldSuccess, arguments);
140
+ });
141
+ }
142
+ else if (options.success) {
143
+ callbacks.push(options.success);
144
+ }
145
+
146
+ options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg
147
+ var context = options.context || options; // jQuery 1.4+ supports scope context
148
+ for (var i=0, max=callbacks.length; i < max; i++) {
149
+ callbacks[i].apply(context, [data, status, xhr || $form, $form]);
150
+ }
151
+ };
152
+
153
+ // are there files to upload?
154
+ var fileInputs = $('input:file:enabled[value]', this); // [value] (issue #113)
155
+ var hasFileInputs = fileInputs.length > 0;
156
+ var mp = 'multipart/form-data';
157
+ var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);
158
+
159
+ var fileAPI = !!(hasFileInputs && fileInputs.get(0).files && window.FormData);
160
+ log("fileAPI :" + fileAPI);
161
+ var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI;
162
+
163
+ // options.iframe allows user to force iframe mode
164
+ // 06-NOV-09: now defaulting to iframe mode if file input is detected
165
+ if (options.iframe !== false && (options.iframe || shouldUseFrame)) {
166
+ // hack to fix Safari hang (thanks to Tim Molendijk for this)
167
+ // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
168
+ if (options.closeKeepAlive) {
169
+ $.get(options.closeKeepAlive, function() {
170
+ fileUploadIframe(a);
171
+ });
172
+ }
173
+ else {
174
+ fileUploadIframe(a);
175
+ }
176
+ }
177
+ else if ((hasFileInputs || multipart) && fileAPI) {
178
+ options.progress = options.progress || $.noop;
179
+ fileUploadXhr(a);
180
+ }
181
+ else {
182
+ $.ajax(options);
183
+ }
184
+
185
+ // fire 'notify' event
186
+ this.trigger('form-submit-notify', [this, options]);
187
+ return this;
188
+
189
+ // XMLHttpRequest Level 2 file uploads (big hat tip to francois2metz)
190
+ function fileUploadXhr(a) {
191
+ var formdata = new FormData();
192
+
193
+ for (var i=0; i < a.length; i++) {
194
+ if (a[i].type == 'file')
195
+ continue;
196
+ formdata.append(a[i].name, a[i].value);
197
+ }
198
+
199
+ $form.find('input:file:enabled').each(function(){
200
+ var name = $(this).attr('name'), files = this.files;
201
+ if (name) {
202
+ for (var i=0; i < files.length; i++)
203
+ formdata.append(name, files[i]);
204
+ }
205
+ });
206
+
207
+ options.data = null;
208
+ var _beforeSend = options.beforeSend;
209
+ options.beforeSend = function(xhr, options) {
210
+ options.data = formdata;
211
+ if (xhr.upload) { // unfortunately, jQuery doesn't expose this prop (http://bugs.jquery.com/ticket/10190)
212
+ xhr.upload.onprogress = function(event) {
213
+ options.progress(event.position, event.total);
214
+ }
215
+ }
216
+ if (_beforeSend)
217
+ _beforeSend.call(options, xhr, options);
218
+ }
219
+ $.ajax(options);
220
+ }
221
+
222
+ // private function for handling file uploads (hat tip to YAHOO!)
223
+ function fileUploadIframe(a) {
224
+ var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle;
225
+ var useProp = !!$.fn.prop;
226
+
227
+ if (a) {
228
+ if ( useProp ) {
229
+ // ensure that every serialized input is still enabled
230
+ for (i=0; i < a.length; i++) {
231
+ el = $(form[a[i].name]);
232
+ el.prop('disabled', false);
233
+ }
234
+ } else {
235
+ for (i=0; i < a.length; i++) {
236
+ el = $(form[a[i].name]);
237
+ el.removeAttr('disabled');
238
+ }
239
+ };
240
+ }
241
+
242
+ if ($(':input[name=submit],:input[id=submit]', form).length) {
243
+ // if there is an input with a name or id of 'submit' then we won't be
244
+ // able to invoke the submit fn on the form (at least not x-browser)
245
+ alert('Error: Form elements must not have name or id of "submit".');
246
+ return;
247
+ }
248
+
249
+ s = $.extend(true, {}, $.ajaxSettings, options);
250
+ s.context = s.context || s;
251
+ id = 'jqFormIO' + (new Date().getTime());
252
+ if (s.iframeTarget) {
253
+ $io = $(s.iframeTarget);
254
+ n = $io.attr('name');
255
+ if (n == null)
256
+ $io.attr('name', id);
257
+ else
258
+ id = n;
259
+ }
260
+ else {
261
+ $io = $('<iframe name="' + id + '" src="'+ s.iframeSrc +'" />');
262
+ $io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
263
+ }
264
+ io = $io[0];
265
+
266
+
267
+ xhr = { // mock object
268
+ aborted: 0,
269
+ responseText: null,
270
+ responseXML: null,
271
+ status: 0,
272
+ statusText: 'n/a',
273
+ getAllResponseHeaders: function() {},
274
+ getResponseHeader: function() {},
275
+ setRequestHeader: function() {},
276
+ abort: function(status) {
277
+ var e = (status === 'timeout' ? 'timeout' : 'aborted');
278
+ log('aborting upload... ' + e);
279
+ this.aborted = 1;
280
+ $io.attr('src', s.iframeSrc); // abort op in progress
281
+ xhr.error = e;
282
+ s.error && s.error.call(s.context, xhr, e, status);
283
+ g && $.event.trigger("ajaxError", [xhr, s, e]);
284
+ s.complete && s.complete.call(s.context, xhr, e);
285
+ }
286
+ };
287
+
288
+ g = s.global;
289
+ // trigger ajax global events so that activity/block indicators work like normal
290
+ if (g && ! $.active++) {
291
+ $.event.trigger("ajaxStart");
292
+ }
293
+ if (g) {
294
+ $.event.trigger("ajaxSend", [xhr, s]);
295
+ }
296
+
297
+ if (s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false) {
298
+ if (s.global) {
299
+ $.active--;
300
+ }
301
+ return;
302
+ }
303
+ if (xhr.aborted) {
304
+ return;
305
+ }
306
+
307
+ // add submitting element to data if we know it
308
+ sub = form.clk;
309
+ if (sub) {
310
+ n = sub.name;
311
+ if (n && !sub.disabled) {
312
+ s.extraData = s.extraData || {};
313
+ s.extraData[n] = sub.value;
314
+ if (sub.type == "image") {
315
+ s.extraData[n+'.x'] = form.clk_x;
316
+ s.extraData[n+'.y'] = form.clk_y;
317
+ }
318
+ }
319
+ }
320
+
321
+ var CLIENT_TIMEOUT_ABORT = 1;
322
+ var SERVER_ABORT = 2;
323
+
324
+ function getDoc(frame) {
325
+ var doc = frame.contentWindow ? frame.contentWindow.document : frame.contentDocument ? frame.contentDocument : frame.document;
326
+ return doc;
327
+ }
328
+
329
+ // Rails CSRF hack (thanks to Yvan BARTH�LEMY)
330
+ var csrf_token = $('meta[name=csrf-token]').attr('content');
331
+ var csrf_param = $('meta[name=csrf-param]').attr('content');
332
+ if (csrf_param && csrf_token) {
333
+ s.extraData = s.extraData || {};
334
+ s.extraData[csrf_param] = csrf_token;
335
+ }
336
+
337
+ // take a breath so that pending repaints get some cpu time before the upload starts
338
+ function doSubmit() {
339
+ // make sure form attrs are set
340
+ var t = $form.attr('target'), a = $form.attr('action');
341
+
342
+ // update form attrs in IE friendly way
343
+ form.setAttribute('target',id);
344
+ if (!method) {
345
+ form.setAttribute('method', 'POST');
346
+ }
347
+ if (a != s.url) {
348
+ form.setAttribute('action', s.url);
349
+ }
350
+
351
+ // ie borks in some cases when setting encoding
352
+ if (! s.skipEncodingOverride && (!method || /post/i.test(method))) {
353
+ $form.attr({
354
+ encoding: 'multipart/form-data',
355
+ enctype: 'multipart/form-data'
356
+ });
357
+ }
358
+
359
+ // support timout
360
+ if (s.timeout) {
361
+ timeoutHandle = setTimeout(function() { timedOut = true; cb(CLIENT_TIMEOUT_ABORT); }, s.timeout);
362
+ }
363
+
364
+ // look for server aborts
365
+ function checkState() {
366
+ try {
367
+ var state = getDoc(io).readyState;
368
+ log('state = ' + state);
369
+ if (state.toLowerCase() == 'uninitialized')
370
+ setTimeout(checkState,50);
371
+ }
372
+ catch(e) {
373
+ log('Server abort: ' , e, ' (', e.name, ')');
374
+ cb(SERVER_ABORT);
375
+ timeoutHandle && clearTimeout(timeoutHandle);
376
+ timeoutHandle = undefined;
377
+ }
378
+ }
379
+
380
+ // add "extra" data to form if provided in options
381
+ var extraInputs = [];
382
+ try {
383
+ if (s.extraData) {
384
+ for (var n in s.extraData) {
385
+ extraInputs.push(
386
+ $('<input type="hidden" name="'+n+'">').attr('value',s.extraData[n])
387
+ .appendTo(form)[0]);
388
+ }
389
+ }
390
+
391
+ if (!s.iframeTarget) {
392
+ // add iframe to doc and submit the form
393
+ $io.appendTo('body');
394
+ io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);
395
+ }
396
+ setTimeout(checkState,15);
397
+ form.submit();
398
+ }
399
+ finally {
400
+ // reset attrs and remove "extra" input elements
401
+ form.setAttribute('action',a);
402
+ if(t) {
403
+ form.setAttribute('target', t);
404
+ } else {
405
+ $form.removeAttr('target');
406
+ }
407
+ $(extraInputs).remove();
408
+ }
409
+ }
410
+
411
+ if (s.forceSync) {
412
+ doSubmit();
413
+ }
414
+ else {
415
+ setTimeout(doSubmit, 10); // this lets dom updates render
416
+ }
417
+
418
+ var data, doc, domCheckCount = 50, callbackProcessed;
419
+
420
+ function cb(e) {
421
+ if (xhr.aborted || callbackProcessed) {
422
+ return;
423
+ }
424
+ try {
425
+ doc = getDoc(io);
426
+ }
427
+ catch(ex) {
428
+ log('cannot access response document: ', ex);
429
+ e = SERVER_ABORT;
430
+ }
431
+ if (e === CLIENT_TIMEOUT_ABORT && xhr) {
432
+ xhr.abort('timeout');
433
+ return;
434
+ }
435
+ else if (e == SERVER_ABORT && xhr) {
436
+ xhr.abort('server abort');
437
+ return;
438
+ }
439
+
440
+ if (!doc || doc.location.href == s.iframeSrc) {
441
+ // response not received yet
442
+ if (!timedOut)
443
+ return;
444
+ }
445
+ io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);
446
+
447
+ var status = 'success', errMsg;
448
+ try {
449
+ if (timedOut) {
450
+ throw 'timeout';
451
+ }
452
+
453
+ var isXml = s.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
454
+ log('isXml='+isXml);
455
+ if (!isXml && window.opera && (doc.body == null || doc.body.innerHTML == '')) {
456
+ if (--domCheckCount) {
457
+ // in some browsers (Opera) the iframe DOM is not always traversable when
458
+ // the onload callback fires, so we loop a bit to accommodate
459
+ log('requeing onLoad callback, DOM not available');
460
+ setTimeout(cb, 250);
461
+ return;
462
+ }
463
+ // let this fall through because server response could be an empty document
464
+ //log('Could not access iframe DOM after mutiple tries.');
465
+ //throw 'DOMException: not available';
466
+ }
467
+
468
+ //log('response detected');
469
+ var docRoot = doc.body ? doc.body : doc.documentElement;
470
+ xhr.responseText = docRoot ? docRoot.innerHTML : null;
471
+ xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
472
+ if (isXml)
473
+ s.dataType = 'xml';
474
+ xhr.getResponseHeader = function(header){
475
+ var headers = {'content-type': s.dataType};
476
+ return headers[header];
477
+ };
478
+ // support for XHR 'status' & 'statusText' emulation :
479
+ if (docRoot) {
480
+ xhr.status = Number( docRoot.getAttribute('status') ) || xhr.status;
481
+ xhr.statusText = docRoot.getAttribute('statusText') || xhr.statusText;
482
+ }
483
+
484
+ var dt = (s.dataType || '').toLowerCase();
485
+ var scr = /(json|script|text)/.test(dt);
486
+ if (scr || s.textarea) {
487
+ // see if user embedded response in textarea
488
+ var ta = doc.getElementsByTagName('textarea')[0];
489
+ if (ta) {
490
+ xhr.responseText = ta.value;
491
+ // support for XHR 'status' & 'statusText' emulation :
492
+ xhr.status = Number( ta.getAttribute('status') ) || xhr.status;
493
+ xhr.statusText = ta.getAttribute('statusText') || xhr.statusText;
494
+ }
495
+ else if (scr) {
496
+ // account for browsers injecting pre around json response
497
+ var pre = doc.getElementsByTagName('pre')[0];
498
+ var b = doc.getElementsByTagName('body')[0];
499
+ if (pre) {
500
+ xhr.responseText = pre.textContent ? pre.textContent : pre.innerText;
501
+ }
502
+ else if (b) {
503
+ xhr.responseText = b.textContent ? b.textContent : b.innerText;
504
+ }
505
+ }
506
+ }
507
+ else if (dt == 'xml' && !xhr.responseXML && xhr.responseText != null) {
508
+ xhr.responseXML = toXml(xhr.responseText);
509
+ }
510
+
511
+ try {
512
+ data = httpData(xhr, dt, s);
513
+ }
514
+ catch (e) {
515
+ status = 'parsererror';
516
+ xhr.error = errMsg = (e || status);
517
+ }
518
+ }
519
+ catch (e) {
520
+ log('error caught: ',e);
521
+ status = 'error';
522
+ xhr.error = errMsg = (e || status);
523
+ }
524
+
525
+ if (xhr.aborted) {
526
+ log('upload aborted');
527
+ status = null;
528
+ }
529
+
530
+ if (xhr.status) { // we've set xhr.status
531
+ status = (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) ? 'success' : 'error';
532
+ }
533
+
534
+ // ordering of these callbacks/triggers is odd, but that's how $.ajax does it
535
+ if (status === 'success') {
536
+ s.success && s.success.call(s.context, data, 'success', xhr);
537
+ g && $.event.trigger("ajaxSuccess", [xhr, s]);
538
+ }
539
+ else if (status) {
540
+ if (errMsg == undefined)
541
+ errMsg = xhr.statusText;
542
+ s.error && s.error.call(s.context, xhr, status, errMsg);
543
+ g && $.event.trigger("ajaxError", [xhr, s, errMsg]);
544
+ }
545
+
546
+ g && $.event.trigger("ajaxComplete", [xhr, s]);
547
+
548
+ if (g && ! --$.active) {
549
+ $.event.trigger("ajaxStop");
550
+ }
551
+
552
+ s.complete && s.complete.call(s.context, xhr, status);
553
+
554
+ callbackProcessed = true;
555
+ if (s.timeout)
556
+ clearTimeout(timeoutHandle);
557
+
558
+ // clean up
559
+ setTimeout(function() {
560
+ if (!s.iframeTarget)
561
+ $io.remove();
562
+ xhr.responseXML = null;
563
+ }, 100);
564
+ }
565
+
566
+ var toXml = $.parseXML || function(s, doc) { // use parseXML if available (jQuery 1.5+)
567
+ if (window.ActiveXObject) {
568
+ doc = new ActiveXObject('Microsoft.XMLDOM');
569
+ doc.async = 'false';
570
+ doc.loadXML(s);
571
+ }
572
+ else {
573
+ doc = (new DOMParser()).parseFromString(s, 'text/xml');
574
+ }
575
+ return (doc && doc.documentElement && doc.documentElement.nodeName != 'parsererror') ? doc : null;
576
+ };
577
+ var parseJSON = $.parseJSON || function(s) {
578
+ return window['eval']('(' + s + ')');
579
+ };
580
+
581
+ var httpData = function( xhr, type, s ) { // mostly lifted from jq1.4.4
582
+
583
+ var ct = xhr.getResponseHeader('content-type') || '',
584
+ xml = type === 'xml' || !type && ct.indexOf('xml') >= 0,
585
+ data = xml ? xhr.responseXML : xhr.responseText;
586
+
587
+ if (xml && data.documentElement.nodeName === 'parsererror') {
588
+ $.error && $.error('parsererror');
589
+ }
590
+ if (s && s.dataFilter) {
591
+ data = s.dataFilter(data, type);
592
+ }
593
+ if (typeof data === 'string') {
594
+ if (type === 'json' || !type && ct.indexOf('json') >= 0) {
595
+ data = parseJSON(data);
596
+ } else if (type === "script" || !type && ct.indexOf("javascript") >= 0) {
597
+ $.globalEval(data);
598
+ }
599
+ }
600
+ return data;
601
+ };
602
+ }
603
+ };
604
+
605
+ /**
606
+ * ajaxForm() provides a mechanism for fully automating form submission.
607
+ *
608
+ * The advantages of using this method instead of ajaxSubmit() are:
609
+ *
610
+ * 1: This method will include coordinates for <input type="image" /> elements (if the element
611
+ * is used to submit the form).
612
+ * 2. This method will include the submit element's name/value data (for the element that was
613
+ * used to submit the form).
614
+ * 3. This method binds the submit() method to the form for you.
615
+ *
616
+ * The options argument for ajaxForm works exactly as it does for ajaxSubmit. ajaxForm merely
617
+ * passes the options argument along after properly binding events for submit elements and
618
+ * the form itself.
619
+ */
620
+ $.fn.ajaxForm = function(options) {
621
+ // in jQuery 1.3+ we can fix mistakes with the ready state
622
+ if (this.length === 0) {
623
+ var o = { s: this.selector, c: this.context };
624
+ if (!$.isReady && o.s) {
625
+ log('DOM not ready, queuing ajaxForm');
626
+ $(function() {
627
+ $(o.s,o.c).ajaxForm(options);
628
+ });
629
+ return this;
630
+ }
631
+ // is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
632
+ log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
633
+ return this;
634
+ }
635
+
636
+ return this.ajaxFormUnbind().bind('submit.form-plugin', function(e) {
637
+ if (!e.isDefaultPrevented()) { // if event has been canceled, don't proceed
638
+ e.preventDefault();
639
+ $(this).ajaxSubmit(options);
640
+ }
641
+ }).bind('click.form-plugin', function(e) {
642
+ var target = e.target;
643
+ var $el = $(target);
644
+ if (!($el.is(":submit,input:image"))) {
645
+ // is this a child element of the submit el? (ex: a span within a button)
646
+ var t = $el.closest(':submit');
647
+ if (t.length == 0) {
648
+ return;
649
+ }
650
+ target = t[0];
651
+ }
652
+ var form = this;
653
+ form.clk = target;
654
+ if (target.type == 'image') {
655
+ if (e.offsetX != undefined) {
656
+ form.clk_x = e.offsetX;
657
+ form.clk_y = e.offsetY;
658
+ } else if (typeof $.fn.offset == 'function') { // try to use dimensions plugin
659
+ var offset = $el.offset();
660
+ form.clk_x = e.pageX - offset.left;
661
+ form.clk_y = e.pageY - offset.top;
662
+ } else {
663
+ form.clk_x = e.pageX - target.offsetLeft;
664
+ form.clk_y = e.pageY - target.offsetTop;
665
+ }
666
+ }
667
+ // clear form vars
668
+ setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100);
669
+ });
670
+ };
671
+
672
+ // ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
673
+ $.fn.ajaxFormUnbind = function() {
674
+ return this.unbind('submit.form-plugin click.form-plugin');
675
+ };
676
+
677
+ /**
678
+ * formToArray() gathers form element data into an array of objects that can
679
+ * be passed to any of the following ajax functions: $.get, $.post, or load.
680
+ * Each object in the array has both a 'name' and 'value' property. An example of
681
+ * an array for a simple login form might be:
682
+ *
683
+ * [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
684
+ *
685
+ * It is this array that is passed to pre-submit callback functions provided to the
686
+ * ajaxSubmit() and ajaxForm() methods.
687
+ */
688
+ $.fn.formToArray = function(semantic) {
689
+ var a = [];
690
+ if (this.length === 0) {
691
+ return a;
692
+ }
693
+
694
+ var form = this[0];
695
+ var els = semantic ? form.getElementsByTagName('*') : form.elements;
696
+ if (!els) {
697
+ return a;
698
+ }
699
+
700
+ var i,j,n,v,el,max,jmax;
701
+ for(i=0, max=els.length; i < max; i++) {
702
+ el = els[i];
703
+ n = el.name;
704
+ if (!n) {
705
+ continue;
706
+ }
707
+
708
+ if (semantic && form.clk && el.type == "image") {
709
+ // handle image inputs on the fly when semantic == true
710
+ if(!el.disabled && form.clk == el) {
711
+ a.push({name: n, value: $(el).val(), type: el.type });
712
+ a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
713
+ }
714
+ continue;
715
+ }
716
+
717
+ v = $.fieldValue(el, true);
718
+ if (v && v.constructor == Array) {
719
+ for(j=0, jmax=v.length; j < jmax; j++) {
720
+ a.push({name: n, value: v[j]});
721
+ }
722
+ }
723
+ else if (v !== null && typeof v != 'undefined') {
724
+ a.push({name: n, value: v, type: el.type});
725
+ }
726
+ }
727
+
728
+ if (!semantic && form.clk) {
729
+ // input type=='image' are not found in elements array! handle it here
730
+ var $input = $(form.clk), input = $input[0];
731
+ n = input.name;
732
+ if (n && !input.disabled && input.type == 'image') {
733
+ a.push({name: n, value: $input.val()});
734
+ a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
735
+ }
736
+ }
737
+ return a;
738
+ };
739
+
740
+ /**
741
+ * Serializes form data into a 'submittable' string. This method will return a string
742
+ * in the format: name1=value1&amp;name2=value2
743
+ */
744
+ $.fn.formSerialize = function(semantic) {
745
+ //hand off to jQuery.param for proper encoding
746
+ return $.param(this.formToArray(semantic));
747
+ };
748
+
749
+ /**
750
+ * Serializes all field elements in the jQuery object into a query string.
751
+ * This method will return a string in the format: name1=value1&amp;name2=value2
752
+ */
753
+ $.fn.fieldSerialize = function(successful) {
754
+ var a = [];
755
+ this.each(function() {
756
+ var n = this.name;
757
+ if (!n) {
758
+ return;
759
+ }
760
+ var v = $.fieldValue(this, successful);
761
+ if (v && v.constructor == Array) {
762
+ for (var i=0,max=v.length; i < max; i++) {
763
+ a.push({name: n, value: v[i]});
764
+ }
765
+ }
766
+ else if (v !== null && typeof v != 'undefined') {
767
+ a.push({name: this.name, value: v});
768
+ }
769
+ });
770
+ //hand off to jQuery.param for proper encoding
771
+ return $.param(a);
772
+ };
773
+
774
+ /**
775
+ * Returns the value(s) of the element in the matched set. For example, consider the following form:
776
+ *
777
+ * <form><fieldset>
778
+ * <input name="A" type="text" />
779
+ * <input name="A" type="text" />
780
+ * <input name="B" type="checkbox" value="B1" />
781
+ * <input name="B" type="checkbox" value="B2"/>
782
+ * <input name="C" type="radio" value="C1" />
783
+ * <input name="C" type="radio" value="C2" />
784
+ * </fieldset></form>
785
+ *
786
+ * var v = $(':text').fieldValue();
787
+ * // if no values are entered into the text inputs
788
+ * v == ['','']
789
+ * // if values entered into the text inputs are 'foo' and 'bar'
790
+ * v == ['foo','bar']
791
+ *
792
+ * var v = $(':checkbox').fieldValue();
793
+ * // if neither checkbox is checked
794
+ * v === undefined
795
+ * // if both checkboxes are checked
796
+ * v == ['B1', 'B2']
797
+ *
798
+ * var v = $(':radio').fieldValue();
799
+ * // if neither radio is checked
800
+ * v === undefined
801
+ * // if first radio is checked
802
+ * v == ['C1']
803
+ *
804
+ * The successful argument controls whether or not the field element must be 'successful'
805
+ * (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls).
806
+ * The default value of the successful argument is true. If this value is false the value(s)
807
+ * for each element is returned.
808
+ *
809
+ * Note: This method *always* returns an array. If no valid value can be determined the
810
+ * array will be empty, otherwise it will contain one or more values.
811
+ */
812
+ $.fn.fieldValue = function(successful) {
813
+ for (var val=[], i=0, max=this.length; i < max; i++) {
814
+ var el = this[i];
815
+ var v = $.fieldValue(el, successful);
816
+ if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length)) {
817
+ continue;
818
+ }
819
+ v.constructor == Array ? $.merge(val, v) : val.push(v);
820
+ }
821
+ return val;
822
+ };
823
+
824
+ /**
825
+ * Returns the value of the field element.
826
+ */
827
+ $.fieldValue = function(el, successful) {
828
+ var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
829
+ if (successful === undefined) {
830
+ successful = true;
831
+ }
832
+
833
+ if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
834
+ (t == 'checkbox' || t == 'radio') && !el.checked ||
835
+ (t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
836
+ tag == 'select' && el.selectedIndex == -1)) {
837
+ return null;
838
+ }
839
+
840
+ if (tag == 'select') {
841
+ var index = el.selectedIndex;
842
+ if (index < 0) {
843
+ return null;
844
+ }
845
+ var a = [], ops = el.options;
846
+ var one = (t == 'select-one');
847
+ var max = (one ? index+1 : ops.length);
848
+ for(var i=(one ? index : 0); i < max; i++) {
849
+ var op = ops[i];
850
+ if (op.selected) {
851
+ var v = op.value;
852
+ if (!v) { // extra pain for IE...
853
+ v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value;
854
+ }
855
+ if (one) {
856
+ return v;
857
+ }
858
+ a.push(v);
859
+ }
860
+ }
861
+ return a;
862
+ }
863
+ return $(el).val();
864
+ };
865
+
866
+ /**
867
+ * Clears the form data. Takes the following actions on the form's input fields:
868
+ * - input text fields will have their 'value' property set to the empty string
869
+ * - select elements will have their 'selectedIndex' property set to -1
870
+ * - checkbox and radio inputs will have their 'checked' property set to false
871
+ * - inputs of type submit, button, reset, and hidden will *not* be effected
872
+ * - button elements will *not* be effected
873
+ */
874
+ $.fn.clearForm = function(includeHidden) {
875
+ return this.each(function() {
876
+ $('input,select,textarea', this).clearFields(includeHidden);
877
+ });
878
+ };
879
+
880
+ /**
881
+ * Clears the selected form elements.
882
+ */
883
+ $.fn.clearFields = $.fn.clearInputs = function(includeHidden) {
884
+ var re = /^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i; // 'hidden' is not in this list
885
+ return this.each(function() {
886
+ var t = this.type, tag = this.tagName.toLowerCase();
887
+ if (re.test(t) || tag == 'textarea' || (includeHidden && /hidden/.test(t)) ) {
888
+ this.value = '';
889
+ }
890
+ else if (t == 'checkbox' || t == 'radio') {
891
+ this.checked = false;
892
+ }
893
+ else if (tag == 'select') {
894
+ this.selectedIndex = -1;
895
+ }
896
+ });
897
+ };
898
+
899
+ /**
900
+ * Resets the form data. Causes all form elements to be reset to their original value.
901
+ */
902
+ $.fn.resetForm = function() {
903
+ return this.each(function() {
904
+ // guard against an input with the name of 'reset'
905
+ // note that IE reports the reset function as an 'object'
906
+ if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType)) {
907
+ this.reset();
908
+ }
909
+ });
910
+ };
911
+
912
+ /**
913
+ * Enables or disables any matching elements.
914
+ */
915
+ $.fn.enable = function(b) {
916
+ if (b === undefined) {
917
+ b = true;
918
+ }
919
+ return this.each(function() {
920
+ this.disabled = !b;
921
+ });
922
+ };
923
+
924
+ /**
925
+ * Checks/unchecks any matching checkboxes or radio buttons and
926
+ * selects/deselects and matching option elements.
927
+ */
928
+ $.fn.selected = function(select) {
929
+ if (select === undefined) {
930
+ select = true;
931
+ }
932
+ return this.each(function() {
933
+ var t = this.type;
934
+ if (t == 'checkbox' || t == 'radio') {
935
+ this.checked = select;
936
+ }
937
+ else if (this.tagName.toLowerCase() == 'option') {
938
+ var $sel = $(this).parent('select');
939
+ if (select && $sel[0] && $sel[0].type == 'select-one') {
940
+ // deselect all other options
941
+ $sel.find('option').selected(false);
942
+ }
943
+ this.selected = select;
944
+ }
945
+ });
946
+ };
947
+
948
+ // expose debug var
949
+ $.fn.ajaxSubmit.debug = false;
950
+
951
+ // helper fn for console logging
952
+ function log() {
953
+ if (!$.fn.ajaxSubmit.debug)
954
+ return;
955
+ var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
956
+ if (window.console && window.console.log) {
957
+ window.console.log(msg);
958
+ }
959
+ else if (window.opera && window.opera.postError) {
960
+ window.opera.postError(msg);
961
+ }
962
+ };
963
+
964
+ })(jQuery);