spree 0.8.5 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of spree might be problematic. Click here for more details.

Files changed (914) hide show
  1. data/CHANGELOG +97 -4
  2. data/CONTRIBUTORS +62 -29
  3. data/LICENSE +1 -1
  4. data/README.markdown +1 -1
  5. data/app/controllers/admin/base_controller.rb +10 -1
  6. data/app/controllers/admin/configurations_controller.rb +19 -8
  7. data/app/controllers/admin/coupons_controller.rb +17 -0
  8. data/app/controllers/admin/creditcard_payments_controller.rb +4 -8
  9. data/app/controllers/admin/images_controller.rb +42 -3
  10. data/app/controllers/admin/orders_controller.rb +12 -12
  11. data/app/controllers/admin/products_controller.rb +12 -32
  12. data/app/controllers/admin/prototypes_controller.rb +3 -1
  13. data/app/controllers/admin/reports_controller.rb +6 -6
  14. data/app/controllers/admin/shipments_controller.rb +12 -1
  15. data/app/controllers/admin/shipping_methods_controller.rb +17 -17
  16. data/app/controllers/admin/shipping_rates_controller.rb +20 -0
  17. data/app/controllers/admin/tax_rates_controller.rb +28 -0
  18. data/{vendor/extensions/tax_calculator/app → app}/controllers/admin/tax_settings_controller.rb +1 -1
  19. data/app/controllers/admin/taxons_controller.rb +18 -72
  20. data/app/controllers/admin/users_controller.rb +6 -6
  21. data/app/controllers/admin/zones_controller.rb +4 -4
  22. data/app/controllers/application.rb +3 -3
  23. data/app/controllers/checkouts_controller.rb +158 -0
  24. data/app/controllers/content_controller.rb +1 -8
  25. data/app/controllers/orders_controller.rb +11 -23
  26. data/app/controllers/products_controller.rb +24 -23
  27. data/app/controllers/spree/base_controller.rb +47 -3
  28. data/app/controllers/states_controller.rb +4 -5
  29. data/app/controllers/taxons_controller.rb +13 -9
  30. data/app/controllers/user_sessions_controller.rb +3 -1
  31. data/app/controllers/users_controller.rb +3 -7
  32. data/app/helpers/admin/base_helper.rb +74 -6
  33. data/app/helpers/admin/calculators_helper.rb +2 -0
  34. data/app/helpers/admin/orders_helper.rb +1 -1
  35. data/{vendor/extensions/tax_calculator/app → app}/helpers/admin/tax_rates_helper.rb +0 -0
  36. data/app/helpers/admin/taxonomies_helper.rb +0 -59
  37. data/app/helpers/application_helper.rb +1 -2
  38. data/app/helpers/checkouts_helper.rb +7 -0
  39. data/app/helpers/products_helper.rb +15 -15
  40. data/app/helpers/spree/base_helper.rb +27 -5
  41. data/app/helpers/taxons_helper.rb +9 -9
  42. data/app/metal/create_admin_user.rb +21 -0
  43. data/app/models/address.rb +42 -2
  44. data/app/models/adjustment.rb +37 -0
  45. data/app/models/app_configuration.rb +10 -1
  46. data/app/models/calculator.rb +41 -0
  47. data/app/models/calculator/flat_percent_item_total.rb +19 -0
  48. data/app/models/calculator/flat_rate.rb +18 -0
  49. data/app/models/calculator/flexi_rate.rb +33 -0
  50. data/app/models/calculator/per_item.rb +18 -0
  51. data/app/models/calculator/price_bucket.rb +31 -0
  52. data/app/models/calculator/sales_tax.rb +48 -0
  53. data/app/models/calculator/vat.rb +63 -0
  54. data/app/models/charge.rb +37 -0
  55. data/app/models/checkout.rb +48 -0
  56. data/app/models/country.rb +11 -1
  57. data/app/models/coupon.rb +27 -0
  58. data/app/models/credit.rb +27 -0
  59. data/app/models/creditcard.rb +5 -5
  60. data/app/models/creditcard_payment.rb +13 -5
  61. data/app/models/image.rb +23 -1
  62. data/app/models/inventory_unit.rb +4 -3
  63. data/app/models/line_item.rb +10 -4
  64. data/app/models/order.rb +125 -65
  65. data/app/models/order_mailer.rb +1 -1
  66. data/app/models/order_observer.rb +15 -0
  67. data/app/models/product.rb +101 -87
  68. data/app/models/shipment.rb +20 -14
  69. data/app/models/shipping_category.rb +2 -0
  70. data/app/models/shipping_method.rb +19 -6
  71. data/app/models/shipping_rate.rb +6 -0
  72. data/app/models/state.rb +8 -2
  73. data/app/models/state_event.rb +7 -0
  74. data/app/models/tax_category.rb +2 -0
  75. data/{vendor/extensions/tax_calculator/app → app}/models/tax_rate.rb +9 -3
  76. data/app/models/taxon.rb +21 -15
  77. data/app/models/user.rb +17 -18
  78. data/app/models/user_mailer.rb +1 -1
  79. data/app/models/variant.rb +51 -60
  80. data/app/models/zone.rb +38 -23
  81. data/app/views/admin/configurations/index.html.erb +12 -0
  82. data/app/views/admin/coupons/_form.html.erb +24 -0
  83. data/app/views/admin/coupons/edit.html.erb +8 -0
  84. data/app/views/admin/coupons/index.html.erb +38 -0
  85. data/app/views/admin/coupons/new.html.erb +9 -0
  86. data/app/views/admin/creditcard_payments/new.html.erb +1 -1
  87. data/app/views/admin/general_settings/edit.html.erb +1 -1
  88. data/app/views/admin/general_settings/show.html.erb +2 -4
  89. data/app/views/admin/images/_form.html.erb +12 -0
  90. data/app/views/admin/images/edit.html.erb +19 -0
  91. data/app/views/admin/images/index.html.erb +63 -0
  92. data/app/views/admin/images/new.html.erb +20 -8
  93. data/app/views/admin/inventory_settings/show.html.erb +2 -2
  94. data/app/views/admin/mail_settings/edit.html.erb +13 -4
  95. data/app/views/admin/mail_settings/show.html.erb +7 -0
  96. data/app/views/admin/option_types/index.html.erb +1 -1
  97. data/app/views/admin/orders/index.html.erb +41 -54
  98. data/app/views/admin/orders/show.html.erb +19 -2
  99. data/app/views/admin/products/_form.html.erb +29 -16
  100. data/app/views/admin/products/index.html.erb +12 -17
  101. data/app/views/admin/products/new.html.erb +5 -5
  102. data/app/views/admin/properties/index.html.erb +1 -1
  103. data/app/views/admin/prototypes/index.html.erb +1 -1
  104. data/app/views/admin/reports/sales_total.html.erb +4 -4
  105. data/app/views/admin/shared/_address.html.erb +3 -1
  106. data/app/views/admin/shared/_calculator_fields.html.erb +15 -0
  107. data/app/views/admin/shared/_edit_resource_links.html.erb +1 -1
  108. data/app/views/admin/shared/_form_address.html.erb +8 -2
  109. data/app/views/admin/shared/_new_resource_links.html.erb +1 -1
  110. data/app/views/admin/shared/_order_details.html.erb +3 -36
  111. data/app/views/admin/shared/_order_tabs.html.erb +2 -2
  112. data/app/views/admin/shared/_product_tabs.html.erb +25 -12
  113. data/app/views/admin/shared/_report_criteria.html.erb +3 -7
  114. data/app/views/admin/shipments/_form.html.erb +11 -1
  115. data/app/views/admin/shipping_categories/index.html.erb +1 -1
  116. data/app/views/admin/shipping_methods/_form.html.erb +3 -5
  117. data/app/views/admin/shipping_methods/edit.html.erb +2 -2
  118. data/app/views/admin/shipping_methods/index.html.erb +3 -3
  119. data/app/views/admin/shipping_rates/_form.html.erb +12 -0
  120. data/app/views/admin/shipping_rates/edit.html.erb +8 -0
  121. data/app/views/admin/shipping_rates/index.html.erb +30 -0
  122. data/app/views/admin/shipping_rates/new.html.erb +10 -0
  123. data/app/views/admin/tax_categories/index.html.erb +1 -1
  124. data/app/views/admin/tax_rates/_form.html.erb +16 -0
  125. data/{vendor/extensions/tax_calculator/app → app}/views/admin/tax_rates/edit.html.erb +2 -2
  126. data/{vendor/extensions/tax_calculator/app → app}/views/admin/tax_rates/index.html.erb +4 -4
  127. data/{vendor/extensions/tax_calculator/app → app}/views/admin/tax_rates/new.html.erb +0 -0
  128. data/{vendor/extensions/tax_calculator/app → app}/views/admin/tax_settings/edit.html.erb +3 -3
  129. data/{vendor/extensions/tax_calculator/app → app}/views/admin/tax_settings/show.html.erb +1 -1
  130. data/app/views/admin/taxonomies/_js_head.html.erb +13 -0
  131. data/app/views/admin/taxonomies/_list.html.erb +3 -3
  132. data/app/views/admin/taxonomies/_taxon.html.erb +12 -0
  133. data/app/views/admin/taxonomies/edit.html.erb +17 -7
  134. data/app/views/admin/users/index.html.erb +7 -9
  135. data/app/views/admin/variants/_form.html.erb +1 -1
  136. data/app/views/admin/variants/index.html.erb +2 -2
  137. data/app/views/admin/zones/index.html.erb +4 -4
  138. data/app/views/checkouts/_billing.html.erb +66 -0
  139. data/app/views/checkouts/_confirmation.html.erb +11 -0
  140. data/app/views/checkouts/_form.html.erb +20 -0
  141. data/app/views/checkouts/_payment.html.erb +45 -0
  142. data/app/views/{orders → checkouts}/_registration.html.erb +4 -4
  143. data/app/views/checkouts/_shipping.html.erb +68 -0
  144. data/app/views/checkouts/_shipping_method.html.erb +19 -0
  145. data/app/views/checkouts/_summary.html.erb +36 -0
  146. data/app/views/checkouts/edit.html.erb +13 -0
  147. data/app/views/checkouts/new.html.erb +13 -0
  148. data/app/views/layouts/admin.html.erb +15 -5
  149. data/app/views/layouts/application.html.erb +3 -11
  150. data/{vendor/plugins/resource_controller/test/app/views/layouts/application.rhtml → app/views/layouts/checkouts.html.erb} +2 -2
  151. data/app/views/order_mailer/cancel.html.erb +4 -3
  152. data/app/views/order_mailer/confirm.html.erb +5 -4
  153. data/app/views/orders/_form.html.erb +4 -1
  154. data/app/views/orders/_google_order.html.erb +2 -2
  155. data/app/views/orders/_line_item.html.erb +6 -3
  156. data/app/views/orders/edit.html.erb +3 -3
  157. data/app/views/orders/new.html.erb +2 -2
  158. data/app/views/products/_cart_form.html.erb +45 -14
  159. data/app/views/products/_thumbnails.html.erb +34 -6
  160. data/app/views/products/index.html.erb +6 -2
  161. data/app/views/products/show.html.erb +1 -1
  162. data/app/views/shared/_edit_resource_links.html.erb +1 -1
  163. data/app/views/shared/_filters.html.erb +52 -0
  164. data/app/views/shared/_footer.html.erb +1 -1
  165. data/app/views/shared/_head.html.erb +6 -0
  166. data/app/views/shared/_login.html.erb +2 -2
  167. data/app/views/shared/_new_resource_links.html.erb +1 -1
  168. data/app/views/shared/_order_details.html.erb +46 -36
  169. data/app/views/shared/_taxonomies.html.erb +5 -6
  170. data/app/views/states/index.js.erb +1 -1
  171. data/app/views/taxons/show.html.erb +1 -1
  172. data/bin/spree +43 -2
  173. data/config/boot.rb +2 -2
  174. data/config/environment.rb +13 -5
  175. data/config/environments/test.rb +6 -2
  176. data/config/initializers/locales.rb +20 -8
  177. data/config/initializers/paperclip.rb +20 -0
  178. data/config/initializers/spree.rb +12 -2
  179. data/config/locales/da.yml +614 -0
  180. data/config/locales/da_rails.yml +197 -0
  181. data/config/locales/de-CH.yml +614 -0
  182. data/config/locales/de-CH_rails.yml +142 -0
  183. data/config/locales/de.yml +95 -4
  184. data/config/locales/en-GB.yml +112 -21
  185. data/config/locales/en-GB_rails.yml +84 -42
  186. data/config/locales/en-US.yml +103 -12
  187. data/config/locales/es.yml +95 -4
  188. data/config/locales/fi.yml +614 -0
  189. data/config/locales/fi_rails.yml +143 -0
  190. data/config/locales/fr-FR.yml +95 -4
  191. data/config/locales/fr-FR_rails.yml +1 -1
  192. data/config/locales/il.yml +614 -0
  193. data/config/locales/il_rails.yml +103 -0
  194. data/config/locales/it.yml +102 -11
  195. data/config/locales/jp.yml +614 -0
  196. data/config/locales/jp_rails.yml +135 -0
  197. data/config/locales/mx.yml +614 -0
  198. data/config/locales/mx_rails.yml +181 -0
  199. data/config/locales/nb-NO.yml +95 -4
  200. data/config/locales/nl-BE.yml +95 -4
  201. data/config/locales/nl-NL.yml +614 -0
  202. data/config/locales/nl-NL_rails.yml +172 -0
  203. data/config/locales/pl.yml +102 -11
  204. data/config/locales/pt-BR.yml +101 -10
  205. data/config/locales/pt-PT.yml +95 -4
  206. data/config/locales/ru-RU.yml +414 -323
  207. data/config/locales/ru-RU_rails.yml +1 -1
  208. data/config/locales/th.yml +614 -0
  209. data/config/locales/th_rails.yml +195 -0
  210. data/config/routes.rb +10 -6
  211. data/config/schedule.rb +27 -0
  212. data/config/spree_permissions.yml +8 -7
  213. data/db/default/zone_members.yml +2 -14
  214. data/{vendor/extensions/tax_calculator/db → db}/migrate/20080620100001_create_tax_rates.rb +0 -0
  215. data/{vendor/extensions/tax_calculator/db → db}/migrate/20080704192456_update_tax_rates_add_zones_etc.rb +0 -0
  216. data/db/migrate/20090401223217_create_eu_vat_zone_again.rb +1 -1
  217. data/db/migrate/20090404192723_add_maestro_fields.rb +12 -0
  218. data/db/migrate/20090406091357_add_alternative_phone.rb +9 -0
  219. data/db/migrate/20090525000325_remove_address_orphans.rb +15 -0
  220. data/db/migrate/20090603153927_create_checkouts.rb +71 -0
  221. data/db/migrate/20090617181106_change_txn_type_to_int.rb +18 -0
  222. data/db/migrate/20090618203233_create_charges.rb +61 -0
  223. data/db/migrate/20090626235303_create_credits.rb +22 -0
  224. data/db/migrate/20090705101511_add_image_dimensions.rb +12 -0
  225. data/db/migrate/20090708175306_create_coupons.rb +16 -0
  226. data/db/migrate/20090708175317_create_discounts.rb +14 -0
  227. data/db/migrate/20090714094201_add_default_addresses_to_user.rb +11 -0
  228. data/db/migrate/20090715172345_create_calculators.rb +22 -0
  229. data/db/migrate/20090731085008_add_charge_source_to_charge.rb +11 -0
  230. data/db/migrate/20090803072025_create_shipping_rates.rb +12 -0
  231. data/db/migrate/20090804090559_create_calculators_for_tax_rates.rb +16 -0
  232. data/db/migrate/20090805131937_drop_credits_and_discounts.rb +9 -0
  233. data/db/migrate/20090805185015_remove_tax_type.rb +13 -0
  234. data/db/migrate/20090806063212_rename_charges_to_adjustments.rb +24 -0
  235. data/db/migrate/20090806160214_rename_base_to_source.rb +11 -0
  236. data/db/migrate/20090809170304_remove_checkout_shipping_address_and_method.rb +15 -0
  237. data/db/migrate/20090809193131_add_is_master_to_variants.rb +43 -0
  238. data/db/migrate/20090809201209_drop_master_price_from_products.rb +13 -0
  239. data/db/migrate/20090809231957_update_legacy_calculators.rb +9 -0
  240. data/db/migrate/20090823005402_coupon_starts_at.rb +13 -0
  241. data/db/migrate/20090828114732_add_queued_mail.rb +12 -0
  242. data/db/migrate/20090908141056_adjust_percent_calc_settings.rb +9 -0
  243. data/db/migrate/migrate/20080620100001_create_tax_rates.rb +13 -0
  244. data/db/migrate/migrate/20080704192456_update_tax_rates_add_zones_etc.rb +17 -0
  245. data/db/sample/adjustments.yml +20 -0
  246. data/db/sample/assets.yml +219 -11
  247. data/db/sample/calculators.yml +16 -0
  248. data/db/sample/checkouts.yml +8 -0
  249. data/db/sample/coupons.yml +4 -0
  250. data/db/sample/creditcards.yml +0 -1
  251. data/db/sample/orders.yml +0 -7
  252. data/db/sample/preferences.yml +20 -0
  253. data/db/sample/products.yml +0 -9
  254. data/db/sample/shipping_methods.yml +3 -10
  255. data/db/sample/variants.yml +13 -0
  256. data/db/schema.rb +73 -23
  257. data/db/seeds.rb +8 -3
  258. data/generate +4 -0
  259. data/lib/generators/extension/extension_generator.rb +1 -1
  260. data/lib/generators/extension/templates/Rakefile +1 -1
  261. data/lib/generators/extension/templates/extension.rb +22 -2
  262. data/lib/generators/extension_migration/extension_migration_generator.rb +3 -3
  263. data/lib/generators/instance/instance_generator.rb +4 -2
  264. data/lib/plugins/extension_patches/lib/asset_copy.rb +1 -50
  265. data/lib/plugins/monkey_patches/lib/monkey_patches.rb +2 -2
  266. data/lib/product_filters.rb +174 -0
  267. data/lib/product_scopes.rb +76 -0
  268. data/lib/spree.rb +2 -2
  269. data/lib/spree/config.rb +1 -1
  270. data/lib/spree/extension_loader.rb +10 -1
  271. data/lib/spree/file_utilz.rb +71 -0
  272. data/lib/spree/initializer.rb +13 -1
  273. data/lib/spree/setup.rb +7 -1
  274. data/lib/tasks/consistency.rake +30 -0
  275. data/lib/tasks/database.rake +1 -7
  276. data/lib/tasks/extensions.rake +24 -8
  277. data/lib/tasks/framework.rake +0 -1
  278. data/lib/tasks/release.rake +22 -11
  279. data/lib/tasks/sample/products/1009/large/ror_baseball_jersey_green.png +0 -0
  280. data/lib/tasks/sample/products/1009/mini/ror_baseball_jersey_green.png +0 -0
  281. data/lib/tasks/sample/products/1009/original/ror_baseball_jersey_green.png +0 -0
  282. data/lib/tasks/sample/products/1009/product/ror_baseball_jersey_green.png +0 -0
  283. data/lib/tasks/sample/products/1009/small/ror_baseball_jersey_green.png +0 -0
  284. data/lib/tasks/sample/products/1010/large/ror_baseball_jersey_back_green.png +0 -0
  285. data/lib/tasks/sample/products/1010/mini/ror_baseball_jersey_back_green.png +0 -0
  286. data/lib/tasks/sample/products/1010/original/ror_baseball_jersey_back_green.png +0 -0
  287. data/lib/tasks/sample/products/1010/product/ror_baseball_jersey_back_green.png +0 -0
  288. data/lib/tasks/sample/products/1010/small/ror_baseball_jersey_back_green.png +0 -0
  289. data/lib/tasks/sample/products/1011/large/ror_baseball_jersey_green.png +0 -0
  290. data/lib/tasks/sample/products/1011/mini/ror_baseball_jersey_green.png +0 -0
  291. data/lib/tasks/sample/products/1011/original/ror_baseball_jersey_green.png +0 -0
  292. data/lib/tasks/sample/products/1011/product/ror_baseball_jersey_green.png +0 -0
  293. data/lib/tasks/sample/products/1011/small/ror_baseball_jersey_green.png +0 -0
  294. data/lib/tasks/sample/products/1012/large/ror_baseball_jersey_back_green.png +0 -0
  295. data/lib/tasks/sample/products/1012/mini/ror_baseball_jersey_back_green.png +0 -0
  296. data/lib/tasks/sample/products/1012/original/ror_baseball_jersey_back_green.png +0 -0
  297. data/lib/tasks/sample/products/1012/product/ror_baseball_jersey_back_green.png +0 -0
  298. data/lib/tasks/sample/products/1012/small/ror_baseball_jersey_back_green.png +0 -0
  299. data/lib/tasks/sample/products/1013/large/ror_baseball_jersey_green.png +0 -0
  300. data/lib/tasks/sample/products/1013/mini/ror_baseball_jersey_green.png +0 -0
  301. data/lib/tasks/sample/products/1013/original/ror_baseball_jersey_green.png +0 -0
  302. data/lib/tasks/sample/products/1013/product/ror_baseball_jersey_green.png +0 -0
  303. data/lib/tasks/sample/products/1013/small/ror_baseball_jersey_green.png +0 -0
  304. data/lib/tasks/sample/products/1014/large/ror_baseball_jersey_back_green.png +0 -0
  305. data/lib/tasks/sample/products/1014/mini/ror_baseball_jersey_back_green.png +0 -0
  306. data/lib/tasks/sample/products/1014/original/ror_baseball_jersey_back_green.png +0 -0
  307. data/lib/tasks/sample/products/1014/product/ror_baseball_jersey_back_green.png +0 -0
  308. data/lib/tasks/sample/products/1014/small/ror_baseball_jersey_back_green.png +0 -0
  309. data/lib/tasks/sample/products/1015/large/ror_baseball_jersey_blue.png +0 -0
  310. data/lib/tasks/sample/products/1015/mini/ror_baseball_jersey_blue.png +0 -0
  311. data/lib/tasks/sample/products/1015/original/ror_baseball_jersey_blue.png +0 -0
  312. data/lib/tasks/sample/products/1015/product/ror_baseball_jersey_blue.png +0 -0
  313. data/lib/tasks/sample/products/1015/small/ror_baseball_jersey_blue.png +0 -0
  314. data/lib/tasks/sample/products/1016/large/ror_baseball_jersey_back_blue.png +0 -0
  315. data/lib/tasks/sample/products/1016/mini/ror_baseball_jersey_back_blue.png +0 -0
  316. data/lib/tasks/sample/products/1016/original/ror_baseball_jersey_back_blue.png +0 -0
  317. data/lib/tasks/sample/products/1016/product/ror_baseball_jersey_back_blue.png +0 -0
  318. data/lib/tasks/sample/products/1016/small/ror_baseball_jersey_back_blue.png +0 -0
  319. data/lib/tasks/sample/products/1017/large/ror_baseball_jersey_blue.png +0 -0
  320. data/lib/tasks/sample/products/1017/mini/ror_baseball_jersey_blue.png +0 -0
  321. data/lib/tasks/sample/products/1017/original/ror_baseball_jersey_blue.png +0 -0
  322. data/lib/tasks/sample/products/1017/product/ror_baseball_jersey_blue.png +0 -0
  323. data/lib/tasks/sample/products/1017/small/ror_baseball_jersey_blue.png +0 -0
  324. data/lib/tasks/sample/products/1018/large/ror_baseball_jersey_back_blue.png +0 -0
  325. data/lib/tasks/sample/products/1018/mini/ror_baseball_jersey_back_blue.png +0 -0
  326. data/lib/tasks/sample/products/1018/original/ror_baseball_jersey_back_blue.png +0 -0
  327. data/lib/tasks/sample/products/1018/product/ror_baseball_jersey_back_blue.png +0 -0
  328. data/lib/tasks/sample/products/1018/small/ror_baseball_jersey_back_blue.png +0 -0
  329. data/lib/tasks/sample/products/1019/large/ror_baseball_jersey_blue.png +0 -0
  330. data/lib/tasks/sample/products/1019/mini/ror_baseball_jersey_blue.png +0 -0
  331. data/lib/tasks/sample/products/1019/original/ror_baseball_jersey_blue.png +0 -0
  332. data/lib/tasks/sample/products/1019/product/ror_baseball_jersey_blue.png +0 -0
  333. data/lib/tasks/sample/products/1019/small/ror_baseball_jersey_blue.png +0 -0
  334. data/lib/tasks/sample/products/1020/large/ror_baseball_jersey_back_blue.png +0 -0
  335. data/lib/tasks/sample/products/1020/mini/ror_baseball_jersey_back_blue.png +0 -0
  336. data/lib/tasks/sample/products/1020/original/ror_baseball_jersey_back_blue.png +0 -0
  337. data/lib/tasks/sample/products/1020/product/ror_baseball_jersey_back_blue.png +0 -0
  338. data/lib/tasks/sample/products/1020/small/ror_baseball_jersey_back_blue.png +0 -0
  339. data/lib/tasks/sample/products/1021/large/ror_baseball_jersey_red.png +0 -0
  340. data/lib/tasks/sample/products/1021/mini/ror_baseball_jersey_red.png +0 -0
  341. data/lib/tasks/sample/products/1021/original/ror_baseball_jersey_red.png +0 -0
  342. data/lib/tasks/sample/products/1021/product/ror_baseball_jersey_red.png +0 -0
  343. data/lib/tasks/sample/products/1021/small/ror_baseball_jersey_red.png +0 -0
  344. data/lib/tasks/sample/products/1022/large/ror_baseball_jersey_back_red.png +0 -0
  345. data/lib/tasks/sample/products/1022/mini/ror_baseball_jersey_back_red.png +0 -0
  346. data/lib/tasks/sample/products/1022/original/ror_baseball_jersey_back_red.png +0 -0
  347. data/lib/tasks/sample/products/1022/product/ror_baseball_jersey_back_red.png +0 -0
  348. data/lib/tasks/sample/products/1022/small/ror_baseball_jersey_back_red.png +0 -0
  349. data/lib/tasks/sample/products/1023/large/ror_baseball_jersey_red.png +0 -0
  350. data/lib/tasks/sample/products/1023/mini/ror_baseball_jersey_red.png +0 -0
  351. data/lib/tasks/sample/products/1023/original/ror_baseball_jersey_red.png +0 -0
  352. data/lib/tasks/sample/products/1023/product/ror_baseball_jersey_red.png +0 -0
  353. data/lib/tasks/sample/products/1023/small/ror_baseball_jersey_red.png +0 -0
  354. data/lib/tasks/sample/products/1024/large/ror_baseball_jersey_back_red.png +0 -0
  355. data/lib/tasks/sample/products/1024/mini/ror_baseball_jersey_back_red.png +0 -0
  356. data/lib/tasks/sample/products/1024/original/ror_baseball_jersey_back_red.png +0 -0
  357. data/lib/tasks/sample/products/1024/product/ror_baseball_jersey_back_red.png +0 -0
  358. data/lib/tasks/sample/products/1024/small/ror_baseball_jersey_back_red.png +0 -0
  359. data/lib/tasks/sample/products/1025/large/ror_baseball_jersey_red.png +0 -0
  360. data/lib/tasks/sample/products/1025/mini/ror_baseball_jersey_red.png +0 -0
  361. data/lib/tasks/sample/products/1025/original/ror_baseball_jersey_red.png +0 -0
  362. data/lib/tasks/sample/products/1025/product/ror_baseball_jersey_red.png +0 -0
  363. data/lib/tasks/sample/products/1025/small/ror_baseball_jersey_red.png +0 -0
  364. data/lib/tasks/sample/products/1026/large/ror_baseball_jersey_back_red.png +0 -0
  365. data/lib/tasks/sample/products/1026/mini/ror_baseball_jersey_back_red.png +0 -0
  366. data/lib/tasks/sample/products/1026/original/ror_baseball_jersey_back_red.png +0 -0
  367. data/lib/tasks/sample/products/1026/product/ror_baseball_jersey_back_red.png +0 -0
  368. data/lib/tasks/sample/products/1026/small/ror_baseball_jersey_back_red.png +0 -0
  369. data/lib/tasks/translation.rake +1 -1
  370. data/lib/tasks/upgrade.rake +2 -9
  371. data/public/images/menu-current.png +0 -0
  372. data/public/images/progress.gif +0 -0
  373. data/public/javascripts/calculator.js +13 -0
  374. data/public/javascripts/checkout.js +163 -34
  375. data/public/javascripts/jquery.alerts/images/help.gif +0 -0
  376. data/public/javascripts/jquery.alerts/images/important.gif +0 -0
  377. data/public/javascripts/jquery.alerts/images/info.gif +0 -0
  378. data/public/javascripts/jquery.alerts/images/title.gif +0 -0
  379. data/public/javascripts/jquery.alerts/jquery.alerts.css +57 -0
  380. data/public/javascripts/jquery.alerts/jquery.alerts.js +235 -0
  381. data/public/javascripts/jquery.alerts/jquery.alerts.spree.css +30 -0
  382. data/public/javascripts/jquery.validate.min.js +16 -0
  383. data/public/javascripts/jsTree/source/_lib.js +126 -0
  384. data/public/javascripts/jsTree/source/themes/default/context.gif +0 -0
  385. data/public/javascripts/jsTree/source/themes/default/create.png +0 -0
  386. data/public/javascripts/jsTree/source/themes/default/dot.gif +0 -0
  387. data/public/javascripts/jsTree/source/themes/default/f.png +0 -0
  388. data/public/javascripts/jsTree/source/themes/default/fminus.gif +0 -0
  389. data/public/javascripts/jsTree/source/themes/default/fminus_rtl.gif +0 -0
  390. data/public/javascripts/jsTree/source/themes/default/fplus.gif +0 -0
  391. data/public/javascripts/jsTree/source/themes/default/fplus_rtl.gif +0 -0
  392. data/public/javascripts/jsTree/source/themes/default/lastli.gif +0 -0
  393. data/public/javascripts/jsTree/source/themes/default/lastli_rtl.gif +0 -0
  394. data/public/javascripts/jsTree/source/themes/default/li.gif +0 -0
  395. data/public/javascripts/jsTree/source/themes/default/remove.png +0 -0
  396. data/public/javascripts/jsTree/source/themes/default/rename.png +0 -0
  397. data/public/javascripts/jsTree/source/themes/default/style.css +44 -0
  398. data/public/javascripts/jsTree/source/themes/default/throbber.gif +0 -0
  399. data/public/javascripts/jsTree/source/themes/marker.gif +0 -0
  400. data/public/javascripts/jsTree/source/themes/marker_rtl.gif +0 -0
  401. data/public/javascripts/jsTree/source/themes/plus.gif +0 -0
  402. data/public/javascripts/jsTree/source/themes/remove.png +0 -0
  403. data/public/javascripts/jsTree/source/themes/spree/context.gif +0 -0
  404. data/public/javascripts/jsTree/source/themes/spree/create.png +0 -0
  405. data/public/javascripts/jsTree/source/themes/spree/dot.gif +0 -0
  406. data/public/javascripts/jsTree/source/themes/spree/f.png +0 -0
  407. data/public/javascripts/jsTree/source/themes/spree/fminus.gif +0 -0
  408. data/public/javascripts/jsTree/source/themes/spree/fminus_rtl.gif +0 -0
  409. data/public/javascripts/jsTree/source/themes/spree/fplus.gif +0 -0
  410. data/public/javascripts/jsTree/source/themes/spree/fplus_rtl.gif +0 -0
  411. data/public/javascripts/jsTree/source/themes/spree/lastli.gif +0 -0
  412. data/public/javascripts/jsTree/source/themes/spree/li.gif +0 -0
  413. data/public/javascripts/jsTree/source/themes/spree/remove.png +0 -0
  414. data/public/javascripts/jsTree/source/themes/spree/rename.png +0 -0
  415. data/public/javascripts/jsTree/source/themes/spree/style.css +39 -0
  416. data/public/javascripts/jsTree/source/themes/spree/throbber.gif +0 -0
  417. data/public/javascripts/jsTree/source/tree_component.css +62 -0
  418. data/public/javascripts/jsTree/source/tree_component.js +2315 -0
  419. data/public/javascripts/jsTree/source/tree_component.min.js +14 -0
  420. data/public/javascripts/spree.js +9 -0
  421. data/public/javascripts/taxonomy.js +202 -0
  422. data/public/stylesheets/admin/admin.css +36 -3
  423. data/public/stylesheets/compiled/screen.css +393 -306
  424. data/public/stylesheets/sass/_buttons.sass +59 -0
  425. data/public/stylesheets/sass/_cart.sass +21 -0
  426. data/public/stylesheets/sass/_checkout.sass +173 -0
  427. data/public/stylesheets/sass/_colors.sass +11 -0
  428. data/public/stylesheets/sass/_layout.sass +63 -0
  429. data/public/stylesheets/sass/_messages.sass +28 -0
  430. data/public/stylesheets/sass/_mixins.sass +17 -0
  431. data/public/stylesheets/sass/_navigation.sass +97 -0
  432. data/public/stylesheets/sass/_prices.sass +13 -0
  433. data/public/stylesheets/sass/_product_detail.sass +27 -0
  434. data/public/stylesheets/sass/_product_thumbnail.sass +58 -0
  435. data/public/stylesheets/sass/_registration.sass +9 -0
  436. data/public/stylesheets/sass/screen.sass +12 -555
  437. data/public/stylesheets/scaffold.css +54 -0
  438. data/spec/controllers/orders_controller_spec.rb +3 -2
  439. data/spec/models/address_spec.rb +2 -1
  440. data/spec/models/shipping_order_spec.rb +8 -6
  441. data/spec/models/zone_spec.rb +1 -1
  442. data/spec/preference_factory.rb +1 -1
  443. data/test/factories/address_factory.rb +20 -0
  444. data/test/factories/adjustments_factory.rb +53 -0
  445. data/test/factories/checkout_factory.rb +15 -0
  446. data/test/factories/country_factory.rb +5 -0
  447. data/test/factories/coupon_factory.rb +5 -0
  448. data/test/factories/creditcard_factory.rb +12 -0
  449. data/test/factories/creditcard_payment_factory.rb +11 -0
  450. data/test/factories/inventory_unit_factory.rb +2 -0
  451. data/test/factories/line_item_factory.rb +8 -0
  452. data/test/factories/options_factory.rb +10 -0
  453. data/test/factories/order_factory.rb +6 -0
  454. data/test/factories/preference_factory.rb +5 -0
  455. data/test/factories/product_factory.rb +13 -0
  456. data/test/factories/role_factory.rb +5 -0
  457. data/test/factories/shipment_factory.rb +6 -0
  458. data/test/factories/shipping_category_factory.rb +5 -0
  459. data/test/factories/shipping_method_factory.rb +13 -0
  460. data/test/factories/tax_category_factory.rb +8 -0
  461. data/test/factories/tax_rate_factory.rb +4 -0
  462. data/test/factories/taxon_factory.rb +16 -0
  463. data/test/factories/taxonomy_factory.rb +5 -0
  464. data/test/factories/user_factory.rb +11 -0
  465. data/test/factories/variant_factory.rb +13 -0
  466. data/test/factories/zone_factory.rb +10 -0
  467. data/test/fixtures/countries.yml +4 -0
  468. data/test/fixtures/gateway_configurations.yml +2 -0
  469. data/test/fixtures/gateways.yml +4 -0
  470. data/test/fixtures/states.yml +204 -0
  471. data/test/functional/calculators_controller_test.rb +8 -0
  472. data/test/functional/checkouts_controller_test.rb +77 -0
  473. data/test/functional/products_controller_test.rb +12 -0
  474. data/test/functional/users_controller_test.rb +25 -0
  475. data/test/test_helper.rb +66 -0
  476. data/test/unit/address_test.rb +39 -0
  477. data/test/unit/charge_test.rb +90 -0
  478. data/test/unit/checkout_test.rb +10 -0
  479. data/test/unit/country_test.rb +6 -0
  480. data/test/unit/coupon_test.rb +56 -0
  481. data/test/unit/credit_test.rb +61 -0
  482. data/test/unit/creditcard_payment_test.rb +28 -0
  483. data/test/unit/creditcard_test.rb +44 -0
  484. data/test/unit/factories_test.rb +29 -0
  485. data/test/unit/flat_percent_item_total_test.rb +28 -0
  486. data/test/unit/flat_rate_calculators_test.rb +13 -0
  487. data/test/unit/has_calculator_test.rb +22 -0
  488. data/test/unit/helpers/calculators_helper_test.rb +4 -0
  489. data/test/unit/helpers/checkouts_helper_test.rb +26 -0
  490. data/test/unit/helpers/products_helper_test.rb +32 -0
  491. data/test/unit/helpers/spree/base_helper_test.rb +43 -0
  492. data/test/unit/incomplete_checkout_test.rb +68 -0
  493. data/test/unit/inventory_unit_test.rb +20 -0
  494. data/test/unit/line_item_test.rb +73 -0
  495. data/test/unit/order_test.rb +80 -0
  496. data/test/unit/per_item_calculator_test.rb +14 -0
  497. data/test/unit/preference_test.rb +148 -0
  498. data/test/unit/product_test.rb +279 -0
  499. data/test/unit/sales_tax_calculator_test.rb +46 -0
  500. data/test/unit/shipping_method_test.rb +21 -0
  501. data/test/unit/state_event_test.rb +40 -0
  502. data/test/unit/state_test.rb +7 -0
  503. data/test/unit/tax_rate_test.rb +9 -0
  504. data/test/unit/variant_test.rb +128 -0
  505. data/test/unit/vat_calculator_test.rb +60 -0
  506. data/vendor/extensions/calculators/README.markdown +4 -0
  507. data/vendor/extensions/calculators/calculators_extension.rb +31 -0
  508. data/vendor/extensions/localization/public/images/flags/{dk.png → da.png} +0 -0
  509. data/vendor/extensions/localization/public/images/flags/de_CH.png +0 -0
  510. data/vendor/extensions/payment_gateway/README_PAYPAL.markdown +1 -1
  511. data/vendor/extensions/payment_gateway/db/migrate/20090517173727_add_currency_code_option_to_paypal_gateway.rb +13 -0
  512. data/vendor/extensions/payment_gateway/lib/spree/payment_gateway.rb +22 -12
  513. data/vendor/plugins/acts_as_adjacency_list/lib/active_record/acts/adjacency_list.rb +13 -20
  514. data/vendor/plugins/delegate_belongs_to/README +1 -0
  515. data/vendor/plugins/delegate_belongs_to/Rakefile +21 -0
  516. data/vendor/plugins/delegate_belongs_to/init.rb +2 -0
  517. data/vendor/plugins/delegate_belongs_to/lib/delegate_belongs_to.rb +95 -0
  518. data/vendor/plugins/delegate_belongs_to/spec/app_root/app/controllers/application.rb +2 -0
  519. data/vendor/plugins/delegate_belongs_to/spec/app_root/app/models/contact.rb +5 -0
  520. data/vendor/plugins/delegate_belongs_to/spec/app_root/app/models/user_default.rb +2 -0
  521. data/vendor/plugins/delegate_belongs_to/spec/app_root/app/models/user_mixed.rb +2 -0
  522. data/vendor/plugins/delegate_belongs_to/spec/app_root/app/models/user_no_default.rb +2 -0
  523. data/vendor/plugins/{resource_controller/test → delegate_belongs_to/spec/app_root}/config/boot.rb +14 -9
  524. data/vendor/plugins/delegate_belongs_to/spec/app_root/config/database.yml +21 -0
  525. data/vendor/plugins/delegate_belongs_to/spec/app_root/config/environment.rb +13 -0
  526. data/{public/favicon.ico → vendor/plugins/delegate_belongs_to/spec/app_root/config/environments/in_memory.rb} +0 -0
  527. data/vendor/plugins/{resource_controller/test/app/views/tags/index.rjs → delegate_belongs_to/spec/app_root/config/environments/mysql.rb} +0 -0
  528. data/vendor/plugins/delegate_belongs_to/spec/app_root/config/environments/postgresql.rb +0 -0
  529. data/vendor/plugins/delegate_belongs_to/spec/app_root/config/environments/sqlite.rb +0 -0
  530. data/vendor/plugins/delegate_belongs_to/spec/app_root/config/environments/sqlite3.rb +0 -0
  531. data/vendor/plugins/delegate_belongs_to/spec/app_root/config/routes.rb +4 -0
  532. data/vendor/plugins/delegate_belongs_to/spec/app_root/db/migrate/01_create_users.rb +22 -0
  533. data/vendor/plugins/delegate_belongs_to/spec/app_root/db/migrate/02_create_contacts.rb +12 -0
  534. data/vendor/plugins/delegate_belongs_to/spec/app_root/lib/console_with_fixtures.rb +4 -0
  535. data/vendor/plugins/delegate_belongs_to/spec/app_root/script/console +7 -0
  536. data/vendor/plugins/delegate_belongs_to/spec/model/with_defaults_spec.rb +30 -0
  537. data/vendor/plugins/delegate_belongs_to/spec/model/with_mixed_spec.rb +29 -0
  538. data/vendor/plugins/delegate_belongs_to/spec/model/with_no_defaults_spec.rb +30 -0
  539. data/vendor/plugins/delegate_belongs_to/spec/spec_helper.rb +68 -0
  540. data/vendor/plugins/has_calculator/README +7 -0
  541. data/vendor/plugins/has_calculator/init.rb +2 -0
  542. data/vendor/plugins/has_calculator/lib/has_calculator.rb +52 -0
  543. data/vendor/plugins/mail_queue/README +40 -0
  544. data/vendor/plugins/mail_queue/Rakefile +22 -0
  545. data/vendor/plugins/mail_queue/init.rb +1 -0
  546. data/vendor/plugins/mail_queue/install.rb +1 -0
  547. data/vendor/plugins/mail_queue/lib/mail_queue.rb +48 -0
  548. data/vendor/plugins/mail_queue/lib/queued_mail.rb +5 -0
  549. data/vendor/plugins/mail_queue/lib/test_mail_queue_mailer.rb +19 -0
  550. data/vendor/plugins/mail_queue/lib/test_mail_queue_mailer/notify.rhtml +1 -0
  551. data/vendor/plugins/mail_queue/tasks/mailer_queue_tasks.rake +4 -0
  552. data/vendor/plugins/mail_queue/test/mailer_queue_test.rb +29 -0
  553. data/vendor/plugins/paperclip/README.rdoc +126 -11
  554. data/vendor/plugins/paperclip/Rakefile +35 -24
  555. data/vendor/plugins/paperclip/lib/paperclip.rb +141 -67
  556. data/vendor/plugins/paperclip/lib/paperclip/attachment.rb +233 -117
  557. data/vendor/plugins/paperclip/lib/paperclip/callback_compatability.rb +33 -0
  558. data/vendor/plugins/paperclip/lib/paperclip/geometry.rb +4 -3
  559. data/vendor/plugins/paperclip/lib/paperclip/interpolations.rb +105 -0
  560. data/vendor/plugins/paperclip/lib/paperclip/iostream.rb +16 -1
  561. data/vendor/plugins/paperclip/lib/paperclip/matchers.rb +4 -0
  562. data/vendor/plugins/paperclip/lib/paperclip/matchers/have_attached_file_matcher.rb +49 -0
  563. data/vendor/plugins/paperclip/lib/paperclip/matchers/validate_attachment_content_type_matcher.rb +66 -0
  564. data/vendor/plugins/paperclip/lib/paperclip/matchers/validate_attachment_presence_matcher.rb +48 -0
  565. data/vendor/plugins/paperclip/lib/paperclip/matchers/validate_attachment_size_matcher.rb +83 -0
  566. data/vendor/plugins/paperclip/lib/paperclip/processor.rb +49 -0
  567. data/vendor/plugins/paperclip/lib/paperclip/storage.rb +54 -25
  568. data/vendor/plugins/paperclip/lib/paperclip/thumbnail.rb +13 -31
  569. data/vendor/plugins/paperclip/lib/paperclip/upfile.rb +11 -0
  570. data/vendor/plugins/paperclip/paperclip.gemspec +37 -0
  571. data/vendor/plugins/paperclip/shoulda_macros/paperclip.rb +58 -22
  572. data/vendor/plugins/paperclip/tasks/paperclip_tasks.rake +1 -1
  573. data/vendor/plugins/paperclip/test/attachment_test.rb +460 -54
  574. data/vendor/plugins/paperclip/test/database.yml +0 -1
  575. data/vendor/plugins/paperclip/test/fixtures/s3.yml +4 -0
  576. data/vendor/plugins/paperclip/test/fixtures/twopage.pdf +0 -0
  577. data/vendor/plugins/paperclip/test/geometry_test.rb +22 -13
  578. data/vendor/plugins/paperclip/test/helper.rb +46 -3
  579. data/vendor/plugins/paperclip/test/integration_test.rb +140 -52
  580. data/vendor/plugins/paperclip/test/interpolations_test.rb +120 -0
  581. data/vendor/plugins/paperclip/test/iostream_test.rb +32 -21
  582. data/vendor/plugins/paperclip/test/matchers/have_attached_file_matcher_test.rb +21 -0
  583. data/vendor/plugins/paperclip/test/matchers/validate_attachment_content_type_matcher_test.rb +30 -0
  584. data/vendor/plugins/paperclip/test/matchers/validate_attachment_presence_matcher_test.rb +21 -0
  585. data/vendor/plugins/paperclip/test/matchers/validate_attachment_size_matcher_test.rb +50 -0
  586. data/vendor/plugins/paperclip/test/paperclip_test.rb +148 -36
  587. data/vendor/plugins/paperclip/test/processor_test.rb +10 -0
  588. data/vendor/plugins/paperclip/test/storage_test.rb +126 -16
  589. data/vendor/plugins/paperclip/test/thumbnail_test.rb +51 -19
  590. metadata +586 -622
  591. data/app/views/admin/products/_images.html.erb +0 -42
  592. data/app/views/admin/taxonomies/_yui_head.html.erb +0 -17
  593. data/app/views/orders/_billing.html.erb +0 -53
  594. data/app/views/orders/_checkout_form.html.erb +0 -14
  595. data/app/views/orders/_confirmation.html.erb +0 -11
  596. data/app/views/orders/_payment.html.erb +0 -30
  597. data/app/views/orders/_shipping.html.erb +0 -54
  598. data/app/views/orders/_shipping_method.html.erb +0 -10
  599. data/app/views/orders/checkout.html.erb +0 -15
  600. data/config/initializers/searchlogic.rb +0 -6
  601. data/db/sample/images/ror_bag.jpg +0 -0
  602. data/db/sample/images/ror_baseball_jersey.jpg +0 -0
  603. data/db/sample/images/ror_jr_spaghetti.jpg +0 -0
  604. data/db/sample/images/ror_mug.jpg +0 -0
  605. data/db/sample/images/ror_ringer_tshirt.jpg +0 -0
  606. data/db/sample/images/ror_stein.jpg +0 -0
  607. data/db/sample/images/ror_tote.jpg +0 -0
  608. data/db/sample/zone_members.yml +0 -16
  609. data/db/sample/zones.yml +0 -6
  610. data/lib/flat_rate.rb +0 -10
  611. data/lib/spree/checkout.rb +0 -74
  612. data/public/assets/products/1/mini/ror_tote.jpeg +0 -0
  613. data/public/assets/products/1/original/ror_tote.jpeg +0 -0
  614. data/public/assets/products/1/product/ror_tote.jpeg +0 -0
  615. data/public/assets/products/1/small/ror_tote.jpeg +0 -0
  616. data/public/assets/products/10/mini/ror_ringer_back.jpeg +0 -0
  617. data/public/assets/products/10/original/ror_ringer_back.jpeg +0 -0
  618. data/public/assets/products/10/product/ror_ringer_back.jpeg +0 -0
  619. data/public/assets/products/10/small/ror_ringer_back.jpeg +0 -0
  620. data/public/assets/products/1004/mini/apache_baseball.png +0 -0
  621. data/public/assets/products/1004/original/apache_baseball.png +0 -0
  622. data/public/assets/products/1004/product/apache_baseball.png +0 -0
  623. data/public/assets/products/1004/small/apache_baseball.png +0 -0
  624. data/public/assets/products/1008/mini/ruby_baseball.png +0 -0
  625. data/public/assets/products/1008/original/ruby_baseball.png +0 -0
  626. data/public/assets/products/1008/product/ruby_baseball.png +0 -0
  627. data/public/assets/products/1008/small/ruby_baseball.png +0 -0
  628. data/public/assets/products/11/mini/ror_stein.jpeg +0 -0
  629. data/public/assets/products/11/original/ror_stein.jpeg +0 -0
  630. data/public/assets/products/11/product/ror_stein.jpeg +0 -0
  631. data/public/assets/products/11/small/ror_stein.jpeg +0 -0
  632. data/public/assets/products/12/mini/ror_stein_back.jpeg +0 -0
  633. data/public/assets/products/12/original/ror_stein_back.jpeg +0 -0
  634. data/public/assets/products/12/product/ror_stein_back.jpeg +0 -0
  635. data/public/assets/products/12/small/ror_stein_back.jpeg +0 -0
  636. data/public/assets/products/2/mini/ror_tote_back.jpeg +0 -0
  637. data/public/assets/products/2/original/ror_tote_back.jpeg +0 -0
  638. data/public/assets/products/2/product/ror_tote_back.jpeg +0 -0
  639. data/public/assets/products/2/small/ror_tote_back.jpeg +0 -0
  640. data/public/assets/products/3/mini/ror_bag.jpeg +0 -0
  641. data/public/assets/products/3/original/ror_bag.jpeg +0 -0
  642. data/public/assets/products/3/product/ror_bag.jpeg +0 -0
  643. data/public/assets/products/3/small/ror_bag.jpeg +0 -0
  644. data/public/assets/products/4/mini/ror_baseball.jpeg +0 -0
  645. data/public/assets/products/4/original/ror_baseball.jpeg +0 -0
  646. data/public/assets/products/4/product/ror_baseball.jpeg +0 -0
  647. data/public/assets/products/4/small/ror_baseball.jpeg +0 -0
  648. data/public/assets/products/5/mini/ror_baseball_back.jpeg +0 -0
  649. data/public/assets/products/5/original/ror_baseball_back.jpeg +0 -0
  650. data/public/assets/products/5/product/ror_baseball_back.jpeg +0 -0
  651. data/public/assets/products/5/small/ror_baseball_back.jpeg +0 -0
  652. data/public/assets/products/6/mini/ror_jr_spaghetti.jpeg +0 -0
  653. data/public/assets/products/6/original/ror_jr_spaghetti.jpeg +0 -0
  654. data/public/assets/products/6/product/ror_jr_spaghetti.jpeg +0 -0
  655. data/public/assets/products/6/small/ror_jr_spaghetti.jpeg +0 -0
  656. data/public/assets/products/7/mini/ror_mug.jpeg +0 -0
  657. data/public/assets/products/7/original/ror_mug.jpeg +0 -0
  658. data/public/assets/products/7/product/ror_mug.jpeg +0 -0
  659. data/public/assets/products/7/small/ror_mug.jpeg +0 -0
  660. data/public/assets/products/8/mini/ror_mug_back.jpeg +0 -0
  661. data/public/assets/products/8/original/ror_mug_back.jpeg +0 -0
  662. data/public/assets/products/8/product/ror_mug_back.jpeg +0 -0
  663. data/public/assets/products/8/small/ror_mug_back.jpeg +0 -0
  664. data/public/assets/products/9/mini/ror_ringer.jpeg +0 -0
  665. data/public/assets/products/9/original/ror_ringer.jpeg +0 -0
  666. data/public/assets/products/9/product/ror_ringer.jpeg +0 -0
  667. data/public/assets/products/9/small/ror_ringer.jpeg +0 -0
  668. data/public/javascripts/jquery.validate.pack.js +0 -15
  669. data/public/javascripts/spree-yui.js +0 -693
  670. data/public/javascripts/yui-includes.js +0 -57
  671. data/public/stylesheets/admin/david-admin.css +0 -210
  672. data/spec/controllers/admin/shipments_controller_spec.rb +0 -30
  673. data/spec/helpers/admin/configurations_helper_spec.rb +0 -11
  674. data/spec/helpers/admin/mail_settings_helper_spec.rb +0 -11
  675. data/spec/helpers/products_helper_spec.rb +0 -12
  676. data/spec/helpers/spree/base_helper_spec.rb +0 -30
  677. data/spec/models/country_spec.rb +0 -29
  678. data/spec/models/line_item_spec.rb +0 -78
  679. data/spec/models/preference_spec.rb +0 -185
  680. data/spec/models/product_spec.rb +0 -207
  681. data/spec/models/shipping_method_spec.rb +0 -59
  682. data/spec/models/state_event_spec.rb +0 -12
  683. data/spec/models/state_spec.rb +0 -28
  684. data/spec/models/variant_spec.rb +0 -98
  685. data/vendor/extensions/flat_rate_shipping/README.markdown +0 -3
  686. data/vendor/extensions/flat_rate_shipping/Rakefile +0 -120
  687. data/vendor/extensions/flat_rate_shipping/flat_rate_shipping_extension.rb +0 -11
  688. data/vendor/extensions/flat_rate_shipping/lib/flat_rate_shipping_configuration.rb +0 -7
  689. data/vendor/extensions/flat_rate_shipping/lib/spree/flat_rate_shipping/calculator.rb +0 -9
  690. data/vendor/extensions/flat_rate_shipping/lib/spree/flat_rate_shipping/config.rb +0 -22
  691. data/vendor/extensions/flat_rate_shipping/lib/tasks/flat_rate_shipping_extension_tasks.rake +0 -29
  692. data/vendor/extensions/flat_rate_shipping/spec/spec.opts +0 -6
  693. data/vendor/extensions/flat_rate_shipping/spec/spec_helper.rb +0 -37
  694. data/vendor/extensions/tax_calculator/README.markdown +0 -8
  695. data/vendor/extensions/tax_calculator/Rakefile +0 -120
  696. data/vendor/extensions/tax_calculator/app/controllers/admin/tax_rates_controller.rb +0 -27
  697. data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/_form.html.erb +0 -20
  698. data/vendor/extensions/tax_calculator/config/locales/de.yml +0 -30
  699. data/vendor/extensions/tax_calculator/config/locales/en-GB.yml +0 -30
  700. data/vendor/extensions/tax_calculator/config/locales/en-US.yml +0 -32
  701. data/vendor/extensions/tax_calculator/config/locales/es.yml +0 -30
  702. data/vendor/extensions/tax_calculator/config/locales/it.yml +0 -30
  703. data/vendor/extensions/tax_calculator/config/locales/nb-NO.yml +0 -30
  704. data/vendor/extensions/tax_calculator/config/locales/pl.yml +0 -30
  705. data/vendor/extensions/tax_calculator/config/locales/pt-BR.yml +0 -30
  706. data/vendor/extensions/tax_calculator/config/routes.rb +0 -4
  707. data/vendor/extensions/tax_calculator/lib/spree/sales_tax_calculator.rb +0 -31
  708. data/vendor/extensions/tax_calculator/lib/spree/tax/config.rb +0 -22
  709. data/vendor/extensions/tax_calculator/lib/spree/tax_calculator.rb +0 -18
  710. data/vendor/extensions/tax_calculator/lib/spree/vat_calculator.rb +0 -42
  711. data/vendor/extensions/tax_calculator/lib/tasks/tax_calculator_extension_tasks.rake +0 -18
  712. data/vendor/extensions/tax_calculator/lib/tax_configuration.rb +0 -7
  713. data/vendor/extensions/tax_calculator/spec/controllers/tax_calculator_spec.rb +0 -12
  714. data/vendor/extensions/tax_calculator/spec/helpers/admin/tax_rates_helper_spec.rb +0 -6
  715. data/vendor/extensions/tax_calculator/spec/helpers/products_helper_spec.rb +0 -88
  716. data/vendor/extensions/tax_calculator/spec/models/sales_tax_calculator_spec.rb +0 -53
  717. data/vendor/extensions/tax_calculator/spec/models/tax_calculator_spec.rb +0 -58
  718. data/vendor/extensions/tax_calculator/spec/models/tax_rate_spec.rb +0 -17
  719. data/vendor/extensions/tax_calculator/spec/models/vat_calculator_spec.rb +0 -56
  720. data/vendor/extensions/tax_calculator/spec/spec.opts +0 -6
  721. data/vendor/extensions/tax_calculator/spec/spec_helper.rb +0 -42
  722. data/vendor/extensions/tax_calculator/tax_calculator_extension.rb +0 -41
  723. data/vendor/plugins/resource_controller/test/Rakefile +0 -10
  724. data/vendor/plugins/resource_controller/test/app/controllers/accounts_controller.rb +0 -6
  725. data/vendor/plugins/resource_controller/test/app/controllers/application.rb +0 -7
  726. data/vendor/plugins/resource_controller/test/app/controllers/cms/options_controller.rb +0 -3
  727. data/vendor/plugins/resource_controller/test/app/controllers/cms/personnel_controller.rb +0 -2
  728. data/vendor/plugins/resource_controller/test/app/controllers/cms/photos_controller.rb +0 -6
  729. data/vendor/plugins/resource_controller/test/app/controllers/cms/products_controller.rb +0 -3
  730. data/vendor/plugins/resource_controller/test/app/controllers/comments_controller.rb +0 -3
  731. data/vendor/plugins/resource_controller/test/app/controllers/images_controller.rb +0 -4
  732. data/vendor/plugins/resource_controller/test/app/controllers/options_controller.rb +0 -8
  733. data/vendor/plugins/resource_controller/test/app/controllers/people_controller.rb +0 -9
  734. data/vendor/plugins/resource_controller/test/app/controllers/photos_controller.rb +0 -11
  735. data/vendor/plugins/resource_controller/test/app/controllers/posts_controller.rb +0 -10
  736. data/vendor/plugins/resource_controller/test/app/controllers/projects_controller.rb +0 -3
  737. data/vendor/plugins/resource_controller/test/app/controllers/somethings_controller.rb +0 -3
  738. data/vendor/plugins/resource_controller/test/app/controllers/tags_controller.rb +0 -13
  739. data/vendor/plugins/resource_controller/test/app/controllers/users_controller.rb +0 -12
  740. data/vendor/plugins/resource_controller/test/app/helpers/accounts_helper.rb +0 -2
  741. data/vendor/plugins/resource_controller/test/app/helpers/application_helper.rb +0 -3
  742. data/vendor/plugins/resource_controller/test/app/helpers/cms/products_helper.rb +0 -2
  743. data/vendor/plugins/resource_controller/test/app/helpers/comments_helper.rb +0 -2
  744. data/vendor/plugins/resource_controller/test/app/helpers/images_helper.rb +0 -2
  745. data/vendor/plugins/resource_controller/test/app/helpers/options_helper.rb +0 -2
  746. data/vendor/plugins/resource_controller/test/app/helpers/people_helper.rb +0 -2
  747. data/vendor/plugins/resource_controller/test/app/helpers/photos_helper.rb +0 -2
  748. data/vendor/plugins/resource_controller/test/app/helpers/posts_helper.rb +0 -2
  749. data/vendor/plugins/resource_controller/test/app/helpers/projects_helper.rb +0 -2
  750. data/vendor/plugins/resource_controller/test/app/helpers/somethings_helper.rb +0 -2
  751. data/vendor/plugins/resource_controller/test/app/helpers/tags_helper.rb +0 -2
  752. data/vendor/plugins/resource_controller/test/app/helpers/users_helper.rb +0 -2
  753. data/vendor/plugins/resource_controller/test/app/models/account.rb +0 -4
  754. data/vendor/plugins/resource_controller/test/app/models/comment.rb +0 -3
  755. data/vendor/plugins/resource_controller/test/app/models/image.rb +0 -3
  756. data/vendor/plugins/resource_controller/test/app/models/option.rb +0 -3
  757. data/vendor/plugins/resource_controller/test/app/models/personnel.rb +0 -3
  758. data/vendor/plugins/resource_controller/test/app/models/photo.rb +0 -5
  759. data/vendor/plugins/resource_controller/test/app/models/post.rb +0 -3
  760. data/vendor/plugins/resource_controller/test/app/models/product.rb +0 -3
  761. data/vendor/plugins/resource_controller/test/app/models/project.rb +0 -2
  762. data/vendor/plugins/resource_controller/test/app/models/something.rb +0 -2
  763. data/vendor/plugins/resource_controller/test/app/models/tag.rb +0 -3
  764. data/vendor/plugins/resource_controller/test/app/models/user.rb +0 -3
  765. data/vendor/plugins/resource_controller/test/app/views/accounts/_form.html.erb +0 -4
  766. data/vendor/plugins/resource_controller/test/app/views/accounts/edit.html.erb +0 -14
  767. data/vendor/plugins/resource_controller/test/app/views/accounts/new.html.erb +0 -12
  768. data/vendor/plugins/resource_controller/test/app/views/accounts/show.html.erb +0 -5
  769. data/vendor/plugins/resource_controller/test/app/views/cms/options/edit.rhtml +0 -17
  770. data/vendor/plugins/resource_controller/test/app/views/cms/options/index.rhtml +0 -20
  771. data/vendor/plugins/resource_controller/test/app/views/cms/options/new.rhtml +0 -16
  772. data/vendor/plugins/resource_controller/test/app/views/cms/options/show.rhtml +0 -8
  773. data/vendor/plugins/resource_controller/test/app/views/cms/photos/edit.rhtml +0 -17
  774. data/vendor/plugins/resource_controller/test/app/views/cms/photos/index.rhtml +0 -20
  775. data/vendor/plugins/resource_controller/test/app/views/cms/photos/new.rhtml +0 -16
  776. data/vendor/plugins/resource_controller/test/app/views/cms/photos/show.rhtml +0 -8
  777. data/vendor/plugins/resource_controller/test/app/views/cms/products/edit.rhtml +0 -17
  778. data/vendor/plugins/resource_controller/test/app/views/cms/products/index.rhtml +0 -20
  779. data/vendor/plugins/resource_controller/test/app/views/cms/products/new.rhtml +0 -16
  780. data/vendor/plugins/resource_controller/test/app/views/cms/products/show.rhtml +0 -8
  781. data/vendor/plugins/resource_controller/test/app/views/comments/edit.rhtml +0 -27
  782. data/vendor/plugins/resource_controller/test/app/views/comments/index.rhtml +0 -24
  783. data/vendor/plugins/resource_controller/test/app/views/comments/new.rhtml +0 -26
  784. data/vendor/plugins/resource_controller/test/app/views/comments/show.rhtml +0 -18
  785. data/vendor/plugins/resource_controller/test/app/views/images/_form.html.erb +0 -4
  786. data/vendor/plugins/resource_controller/test/app/views/images/edit.html.erb +0 -14
  787. data/vendor/plugins/resource_controller/test/app/views/images/new.html.erb +0 -12
  788. data/vendor/plugins/resource_controller/test/app/views/layouts/comments.rhtml +0 -17
  789. data/vendor/plugins/resource_controller/test/app/views/layouts/options.rhtml +0 -17
  790. data/vendor/plugins/resource_controller/test/app/views/layouts/people.rhtml +0 -17
  791. data/vendor/plugins/resource_controller/test/app/views/layouts/photos.rhtml +0 -17
  792. data/vendor/plugins/resource_controller/test/app/views/layouts/projects.rhtml +0 -17
  793. data/vendor/plugins/resource_controller/test/app/views/layouts/somethings.rhtml +0 -17
  794. data/vendor/plugins/resource_controller/test/app/views/layouts/tags.rhtml +0 -17
  795. data/vendor/plugins/resource_controller/test/app/views/options/_form.html.erb +0 -8
  796. data/vendor/plugins/resource_controller/test/app/views/options/edit.html.erb +0 -16
  797. data/vendor/plugins/resource_controller/test/app/views/options/index.html.erb +0 -21
  798. data/vendor/plugins/resource_controller/test/app/views/options/new.html.erb +0 -12
  799. data/vendor/plugins/resource_controller/test/app/views/options/show.html.erb +0 -10
  800. data/vendor/plugins/resource_controller/test/app/views/people/edit.rhtml +0 -17
  801. data/vendor/plugins/resource_controller/test/app/views/people/index.rhtml +0 -20
  802. data/vendor/plugins/resource_controller/test/app/views/people/new.rhtml +0 -16
  803. data/vendor/plugins/resource_controller/test/app/views/people/show.rhtml +0 -8
  804. data/vendor/plugins/resource_controller/test/app/views/photos/edit.rhtml +0 -17
  805. data/vendor/plugins/resource_controller/test/app/views/photos/index.rhtml +0 -20
  806. data/vendor/plugins/resource_controller/test/app/views/photos/new.rhtml +0 -16
  807. data/vendor/plugins/resource_controller/test/app/views/photos/show.rhtml +0 -8
  808. data/vendor/plugins/resource_controller/test/app/views/posts/edit.rhtml +0 -22
  809. data/vendor/plugins/resource_controller/test/app/views/posts/index.rhtml +0 -22
  810. data/vendor/plugins/resource_controller/test/app/views/posts/new.rhtml +0 -21
  811. data/vendor/plugins/resource_controller/test/app/views/posts/show.rhtml +0 -13
  812. data/vendor/plugins/resource_controller/test/app/views/projects/edit.rhtml +0 -17
  813. data/vendor/plugins/resource_controller/test/app/views/projects/index.rhtml +0 -20
  814. data/vendor/plugins/resource_controller/test/app/views/projects/new.rhtml +0 -16
  815. data/vendor/plugins/resource_controller/test/app/views/projects/show.rhtml +0 -8
  816. data/vendor/plugins/resource_controller/test/app/views/somethings/edit.rhtml +0 -17
  817. data/vendor/plugins/resource_controller/test/app/views/somethings/index.rhtml +0 -20
  818. data/vendor/plugins/resource_controller/test/app/views/somethings/new.rhtml +0 -16
  819. data/vendor/plugins/resource_controller/test/app/views/somethings/show.rhtml +0 -8
  820. data/vendor/plugins/resource_controller/test/app/views/tags/edit.rhtml +0 -17
  821. data/vendor/plugins/resource_controller/test/app/views/tags/index.rhtml +0 -20
  822. data/vendor/plugins/resource_controller/test/app/views/tags/new.rhtml +0 -16
  823. data/vendor/plugins/resource_controller/test/app/views/tags/show.rhtml +0 -8
  824. data/vendor/plugins/resource_controller/test/app/views/users/edit.rhtml +0 -17
  825. data/vendor/plugins/resource_controller/test/app/views/users/index.rhtml +0 -20
  826. data/vendor/plugins/resource_controller/test/app/views/users/new.rhtml +0 -16
  827. data/vendor/plugins/resource_controller/test/app/views/users/show.rhtml +0 -8
  828. data/vendor/plugins/resource_controller/test/config/database.yml +0 -9
  829. data/vendor/plugins/resource_controller/test/config/environment.rb +0 -47
  830. data/vendor/plugins/resource_controller/test/config/environments/development.rb +0 -21
  831. data/vendor/plugins/resource_controller/test/config/environments/test.rb +0 -19
  832. data/vendor/plugins/resource_controller/test/config/initializers/inflections.rb +0 -14
  833. data/vendor/plugins/resource_controller/test/config/routes.rb +0 -61
  834. data/vendor/plugins/resource_controller/test/db/migrate/001_create_posts.rb +0 -12
  835. data/vendor/plugins/resource_controller/test/db/migrate/002_create_products.rb +0 -11
  836. data/vendor/plugins/resource_controller/test/db/migrate/003_create_comments.rb +0 -13
  837. data/vendor/plugins/resource_controller/test/db/migrate/004_create_options.rb +0 -13
  838. data/vendor/plugins/resource_controller/test/db/migrate/005_create_photos.rb +0 -11
  839. data/vendor/plugins/resource_controller/test/db/migrate/006_create_tags.rb +0 -17
  840. data/vendor/plugins/resource_controller/test/db/migrate/007_create_somethings.rb +0 -11
  841. data/vendor/plugins/resource_controller/test/db/migrate/008_create_accounts.rb +0 -11
  842. data/vendor/plugins/resource_controller/test/db/migrate/009_add_account_id_to_photos.rb +0 -9
  843. data/vendor/plugins/resource_controller/test/db/migrate/010_create_projects.rb +0 -11
  844. data/vendor/plugins/resource_controller/test/db/migrate/011_create_images.rb +0 -12
  845. data/vendor/plugins/resource_controller/test/db/migrate/012_create_users.rb +0 -11
  846. data/vendor/plugins/resource_controller/test/db/migrate/013_create_personnel.rb +0 -11
  847. data/vendor/plugins/resource_controller/test/db/migrate/014_add_personnel_id_to_photos.rb +0 -9
  848. data/vendor/plugins/resource_controller/test/db/schema.rb +0 -78
  849. data/vendor/plugins/resource_controller/test/script/console +0 -3
  850. data/vendor/plugins/resource_controller/test/script/destroy +0 -3
  851. data/vendor/plugins/resource_controller/test/script/generate +0 -3
  852. data/vendor/plugins/resource_controller/test/script/server +0 -3
  853. data/vendor/plugins/resource_controller/test/test/fixtures/accounts.yml +0 -7
  854. data/vendor/plugins/resource_controller/test/test/fixtures/comments.yml +0 -11
  855. data/vendor/plugins/resource_controller/test/test/fixtures/images.yml +0 -6
  856. data/vendor/plugins/resource_controller/test/test/fixtures/options.yml +0 -9
  857. data/vendor/plugins/resource_controller/test/test/fixtures/personnel.yml +0 -5
  858. data/vendor/plugins/resource_controller/test/test/fixtures/photos.yml +0 -9
  859. data/vendor/plugins/resource_controller/test/test/fixtures/photos_tags.yml +0 -3
  860. data/vendor/plugins/resource_controller/test/test/fixtures/posts.yml +0 -9
  861. data/vendor/plugins/resource_controller/test/test/fixtures/products.yml +0 -7
  862. data/vendor/plugins/resource_controller/test/test/fixtures/projects.yml +0 -7
  863. data/vendor/plugins/resource_controller/test/test/fixtures/somethings.yml +0 -7
  864. data/vendor/plugins/resource_controller/test/test/fixtures/tags.yml +0 -7
  865. data/vendor/plugins/resource_controller/test/test/fixtures/users.yml +0 -5
  866. data/vendor/plugins/resource_controller/test/test/functional/cms/options_controller_test.rb +0 -23
  867. data/vendor/plugins/resource_controller/test/test/functional/cms/photos_controller_test.rb +0 -43
  868. data/vendor/plugins/resource_controller/test/test/functional/cms/products_controller_test.rb +0 -23
  869. data/vendor/plugins/resource_controller/test/test/functional/comments_controller_test.rb +0 -26
  870. data/vendor/plugins/resource_controller/test/test/functional/images_controller_test.rb +0 -37
  871. data/vendor/plugins/resource_controller/test/test/functional/people_controller_test.rb +0 -34
  872. data/vendor/plugins/resource_controller/test/test/functional/photos_controller_test.rb +0 -130
  873. data/vendor/plugins/resource_controller/test/test/functional/posts_controller_test.rb +0 -34
  874. data/vendor/plugins/resource_controller/test/test/functional/projects_controller_test.rb +0 -18
  875. data/vendor/plugins/resource_controller/test/test/functional/somethings_controller_test.rb +0 -28
  876. data/vendor/plugins/resource_controller/test/test/functional/tags_controller_test.rb +0 -64
  877. data/vendor/plugins/resource_controller/test/test/functional/users_controller_test.rb +0 -24
  878. data/vendor/plugins/resource_controller/test/test/test_helper.rb +0 -12
  879. data/vendor/plugins/resource_controller/test/test/unit/accessors_test.rb +0 -110
  880. data/vendor/plugins/resource_controller/test/test/unit/account_test.rb +0 -7
  881. data/vendor/plugins/resource_controller/test/test/unit/action_options_test.rb +0 -109
  882. data/vendor/plugins/resource_controller/test/test/unit/base_test.rb +0 -11
  883. data/vendor/plugins/resource_controller/test/test/unit/comment_test.rb +0 -10
  884. data/vendor/plugins/resource_controller/test/test/unit/failable_action_options_test.rb +0 -77
  885. data/vendor/plugins/resource_controller/test/test/unit/helpers/current_objects_test.rb +0 -133
  886. data/vendor/plugins/resource_controller/test/test/unit/helpers/internal_test.rb +0 -106
  887. data/vendor/plugins/resource_controller/test/test/unit/helpers/nested_test.rb +0 -86
  888. data/vendor/plugins/resource_controller/test/test/unit/helpers/singleton_current_objects_test.rb +0 -68
  889. data/vendor/plugins/resource_controller/test/test/unit/helpers/singleton_nested_test.rb +0 -77
  890. data/vendor/plugins/resource_controller/test/test/unit/helpers/singleton_urls_test.rb +0 -67
  891. data/vendor/plugins/resource_controller/test/test/unit/helpers/urls_test.rb +0 -75
  892. data/vendor/plugins/resource_controller/test/test/unit/helpers_test.rb +0 -25
  893. data/vendor/plugins/resource_controller/test/test/unit/image_test.rb +0 -7
  894. data/vendor/plugins/resource_controller/test/test/unit/option_test.rb +0 -10
  895. data/vendor/plugins/resource_controller/test/test/unit/photo_test.rb +0 -10
  896. data/vendor/plugins/resource_controller/test/test/unit/post_test.rb +0 -10
  897. data/vendor/plugins/resource_controller/test/test/unit/project_test.rb +0 -10
  898. data/vendor/plugins/resource_controller/test/test/unit/response_collector_test.rb +0 -49
  899. data/vendor/plugins/resource_controller/test/test/unit/something_test.rb +0 -10
  900. data/vendor/plugins/resource_controller/test/test/unit/tag_test.rb +0 -10
  901. data/vendor/plugins/resource_controller/test/test/unit/urligence_test.rb +0 -203
  902. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/Rakefile +0 -32
  903. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/bin/convert_to_should_syntax +0 -40
  904. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/init.rb +0 -3
  905. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda.rb +0 -43
  906. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/active_record_helpers.rb +0 -580
  907. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/color.rb +0 -77
  908. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/controller_tests.rb +0 -467
  909. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/html.rb +0 -201
  910. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/xml.rb +0 -170
  911. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/gem/proc_extensions.rb +0 -14
  912. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/gem/shoulda.rb +0 -239
  913. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/general.rb +0 -118
  914. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/private_helpers.rb +0 -22
@@ -0,0 +1,14 @@
1
+ /*
2
+ * jsTree 0.9.8
3
+ * http://jstree.com/
4
+ *
5
+ * Copyright (c) 2009 Ivan Bozhanov (vakata.com)
6
+ *
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
+ * Date: 2009-05-15
12
+ *
13
+ */
14
+ (function($){$.fn.tree=function(opts){return this.each(function(){var conf=$.extend({},opts);if(tree_component.inst&&tree_component.inst[$(this).attr('id')])tree_component.inst[$(this).attr('id')].destroy();if(conf!==false)new tree_component().init(this,conf)})};$.tree_create=function(){return new tree_component()};$.tree_focused=function(){return tree_component.inst[tree_component.focused]};$.tree_reference=function(id){return tree_component.inst[id]||null};$.tree_rollback=function(data){for(var i in data){if(typeof data[i]=="function")continue;var tmp=tree_component.inst[i];var lock=!tmp.locked;if(lock)tmp.lock(true);if(tmp.inp)tmp.inp.val("").blur();tmp.context.append=false;tmp.container.html(data[i].html).find(".dragged").removeClass("dragged").end().find("div.context").remove();if(data[i].selected){tmp.selected=$("#"+data[i].selected);tmp.selected_arr=[];tmp.container.find("a.clicked").each(function(){tmp.selected_arr.push(tmp.get_node(this))})}if(lock)tmp.lock(false);delete lock;delete tmp}};function tree_component(){if(typeof tree_component.inst=="undefined"){tree_component.cntr=0;tree_component.inst={};tree_component.drag_drop={isdown:false,drag_node:false,drag_help:false,init_x:false,init_y:false,moving:false,origin_tree:false,marker:false,move_type:false,ref_node:false,appended:false,foreign:false,droppable:[],open_time:false,scroll_time:false};tree_component.mousedown=function(event){var tmp=$(event.target);if(tree_component.drag_drop.droppable.length&&tmp.is("."+tree_component.drag_drop.droppable.join(", ."))){tree_component.drag_drop.drag_help=$("<div id='jstree-dragged' class='tree tree-default'><ul><li class='last dragged foreign "+event.target.className+"'><a href='#'>"+tmp.text()+"</a></li></ul></div>");tree_component.drag_drop.drag_node=tree_component.drag_drop.drag_help.find("li:eq(0)");tree_component.drag_drop.isdown=true;tree_component.drag_drop.foreign=tmp;tmp.blur();event.preventDefault();event.stopPropagation();return false}event.stopPropagation();return true};tree_component.mouseup=function(event){var tmp=tree_component.drag_drop;if(tmp.open_time)clearTimeout(tmp.open_time);if(tmp.scroll_time)clearTimeout(tmp.scroll_time);if(tmp.foreign===false&&tmp.drag_node&&tmp.drag_node.size()){tmp.drag_help.remove();if(tmp.move_type){var tree1=tree_component.inst[tmp.ref_node.parents(".tree:eq(0)").attr("id")];if(tree1)tree1.moved(tmp.origin_tree.container.find("li.dragged"),tmp.ref_node,tmp.move_type,false,(tmp.origin_tree.settings.rules.drag_copy=="on"||(tmp.origin_tree.settings.rules.drag_copy=="ctrl"&&event.ctrlKey)))}tmp.move_type=false;tmp.ref_node=false}if(tmp.drag_node&&tmp.foreign!==false){tmp.drag_help.remove();if(tmp.move_type){var tree1=tree_component.inst[tmp.ref_node.parents(".tree:eq(0)").attr("id")];if(tree1)tree1.settings.callback.ondrop.call(null,tmp.foreign.get(0),tree1.get_node(tmp.ref_node).get(0),tmp.move_type,tree1)}tmp.foreign=false;tmp.move_type=false;tmp.ref_node=false}tree_component.drag_drop.marker.hide();tmp.drag_help=false;tmp.drag_node=false;tmp.isdown=false;tmp.init_x=false;tmp.init_y=false;tmp.moving=false;tmp.appended=false;$("li.dragged").removeClass("dragged");tmp.origin_tree=false;event.preventDefault();event.stopPropagation();return false};tree_component.mousemove=function(event){var tmp=tree_component.drag_drop;if(tmp.isdown){if(!tmp.moving&&Math.abs(tmp.init_x-event.pageX)<5&&Math.abs(tmp.init_y-event.pageY)<5){event.preventDefault();event.stopPropagation();return false}else tree_component.drag_drop.moving=true;if(tmp.open_time)clearTimeout(tmp.open_time);if(!tmp.appended){if(tmp.foreign!==false)tmp.origin_tree=$.tree_focused();$("body").append(tmp.drag_help);tmp.w=tmp.drag_help.width();tmp.appended=true}tmp.drag_help.css({"left":(event.pageX-(tmp.origin_tree.settings.ui.rtl?tmp.w:-5)),"top":(event.pageY+15)});if(event.target.tagName=="IMG"&&event.target.id=="marker")return false;var et=$(event.target);var cnt=et.is(".tree")?et:et.parents(".tree:eq(0)");if(cnt.size()==0||!tree_component.inst[cnt.attr("id")]){if(tmp.scroll_time)clearTimeout(tmp.scroll_time);if(tmp.drag_help.find("IMG").size()==0){tmp.drag_help.find("li:eq(0)").append("<img style='position:absolute; "+(tmp.origin_tree.settings.ui.rtl?"right":"left")+":4px; top:0px; background:white; padding:2px;' src='"+tmp.origin_tree.settings.ui.theme_path+"remove.png' />")}tmp.move_type=false;tmp.ref_node=false;tree_component.drag_drop.marker.hide();return false}var tree2=tree_component.inst[cnt.attr("id")];tree2.off_height();if(tmp.foreign===false&&tmp.origin_tree.container.get(0)!=tree2.container.get(0)&&(!tmp.origin_tree.settings.rules.multitree||!tree2.settings.rules.multitree)){if(tmp.drag_help.find("IMG").size()==0){tmp.drag_help.find("li:eq(0)").append("<img style='position:absolute; "+(tmp.origin_tree.settings.ui.rtl?"right":"left")+":4px; top:0px; background:white; padding:2px;' src='"+tmp.origin_tree.settings.ui.theme_path+"remove.png' />")}tmp.move_type=false;tmp.ref_node=false;tree_component.drag_drop.marker.hide();return false}if(tmp.scroll_time)clearTimeout(tmp.scroll_time);tmp.scroll_time=setTimeout(function(){tree2.scrollCheck(event.pageX,event.pageY)},50);var mov=false;var st=cnt.scrollTop();if(event.target.tagName=="A"){if(et.is("#jstree-dragged"))return false;if(tree2.get_node(event.target).hasClass("closed")){tmp.open_time=setTimeout(function(){tree2.open_branch(et)},500)}var et_off=et.offset();var goTo={x:(et_off.left-1),y:(event.pageY-et_off.top)};if(cnt.children("ul:eq(0)").hasClass("rtl"))goTo.x+=et.width()-8;var arr=[];if(goTo.y<tree2.li_height/3+1)arr=["before","inside","after"];else if(goTo.y>tree2.li_height*2/3-1)arr=["after","inside","before"];else{if(goTo.y<tree2.li_height/2)arr=["inside","before","after"];else arr=["inside","after","before"]}var ok=false;$.each(arr,function(i,val){if(tree2.checkMove(tmp.origin_tree.container.find("li.dragged"),et,val)){mov=val;ok=true;return false}});if(ok){switch(mov){case"before":goTo.y=et_off.top-2;if(cnt.children("ul:eq(0)").hasClass("rtl")){tree_component.drag_drop.marker.attr("src",tree2.settings.ui.theme_path+"marker_rtl.gif").width(40)}else{tree_component.drag_drop.marker.attr("src",tree2.settings.ui.theme_path+"marker.gif").width(40)}break;case"after":goTo.y=et_off.top-2+tree2.li_height;if(cnt.children("ul:eq(0)").hasClass("rtl")){tree_component.drag_drop.marker.attr("src",tree2.settings.ui.theme_path+"marker_rtl.gif").width(40)}else{tree_component.drag_drop.marker.attr("src",tree2.settings.ui.theme_path+"marker.gif").width(40)}break;case"inside":goTo.x-=2;if(cnt.children("ul:eq(0)").hasClass("rtl")){goTo.x+=36}goTo.y=et_off.top-2+tree2.li_height/2;tree_component.drag_drop.marker.attr("src",tree2.settings.ui.theme_path+"plus.gif").width(11);break}tmp.move_type=mov;tmp.ref_node=$(event.target);tmp.drag_help.find("IMG").remove();tree_component.drag_drop.marker.css({"left":goTo.x,"top":goTo.y}).show()}}if((et.is(".tree")||et.is("ul"))&&et.find("li:eq(0)").size()==0){var et_off=et.offset();tmp.move_type="inside";tmp.ref_node=cnt.children("ul:eq(0)");tmp.drag_help.find("IMG").remove();tree_component.drag_drop.marker.attr("src",tree2.settings.ui.theme_path+"plus.gif").width(11);tree_component.drag_drop.marker.css({"left":et_off.left+(cnt.children("ul:eq(0)").hasClass("rtl")?(cnt.width()-10):10),"top":et_off.top+15}).show()}else if(event.target.tagName!="A"||!ok){if(tmp.drag_help.find("IMG").size()==0){tmp.drag_help.find("li:eq(0)").append("<img style='position:absolute; "+(tmp.origin_tree.settings.ui.rtl?"right":"left")+":4px; top:0px; background:white; padding:2px;' src='"+tmp.origin_tree.settings.ui.theme_path+"remove.png' />")}tmp.move_type=false;tmp.ref_node=false;tree_component.drag_drop.marker.hide()}event.preventDefault();event.stopPropagation();return false}return true}};return{cntr:++tree_component.cntr,settings:{data:{type:"predefined",method:"GET",async:false,async_data:function(NODE,TREE_OBJ){return{id:$(NODE).attr("id")||0}},url:false,json:false,xml:false},selected:false,opened:[],languages:[],path:false,cookies:false,ui:{dots:true,rtl:false,animation:0,hover_mode:true,scroll_spd:4,theme_path:false,theme_name:"default",context:[{id:"create",label:"Create",icon:"create.png",visible:function(NODE,TREE_OBJ){if(NODE.length!=1)return false;return TREE_OBJ.check("creatable",NODE)},action:function(NODE,TREE_OBJ){TREE_OBJ.create(false,TREE_OBJ.get_node(NODE[0]))}},"separator",{id:"rename",label:"Rename",icon:"rename.png",visible:function(NODE,TREE_OBJ){if(NODE.length!=1)return false;return TREE_OBJ.check("renameable",NODE)},action:function(NODE,TREE_OBJ){TREE_OBJ.rename(NODE)}},{id:"delete",label:"Delete",icon:"remove.png",visible:function(NODE,TREE_OBJ){var ok=true;$.each(NODE,function(){if(TREE_OBJ.check("deletable",this)==false)ok=false;return false});return ok},action:function(NODE,TREE_OBJ){$.each(NODE,function(){TREE_OBJ.remove(this)})}}]},rules:{multiple:false,metadata:false,type_attr:"rel",multitree:false,createat:"bottom",use_inline:false,clickable:"all",renameable:"all",deletable:"all",creatable:"all",draggable:"none",dragrules:"all",drag_copy:false,droppable:[],drag_button:"left"},lang:{new_node:"New folder",loading:"Loading ..."},callback:{beforechange:function(NODE,TREE_OBJ){return true},beforeopen:function(NODE,TREE_OBJ){return true},beforeclose:function(NODE,TREE_OBJ){return true},beforemove:function(NODE,REF_NODE,TYPE,TREE_OBJ){return true},beforecreate:function(NODE,REF_NODE,TYPE,TREE_OBJ){return true},beforerename:function(NODE,LANG,TREE_OBJ){return true},beforedelete:function(NODE,TREE_OBJ){return true},onJSONdata:function(DATA,TREE_OBJ){return DATA},onselect:function(NODE,TREE_OBJ){},ondeselect:function(NODE,TREE_OBJ){},onchange:function(NODE,TREE_OBJ){},onrename:function(NODE,LANG,TREE_OBJ,RB){},onmove:function(NODE,REF_NODE,TYPE,TREE_OBJ,RB){},oncopy:function(NODE,REF_NODE,TYPE,TREE_OBJ,RB){},oncreate:function(NODE,REF_NODE,TYPE,TREE_OBJ,RB){},ondelete:function(NODE,TREE_OBJ,RB){},onopen:function(NODE,TREE_OBJ){},onopen_all:function(TREE_OBJ){},onclose:function(NODE,TREE_OBJ){},error:function(TEXT,TREE_OBJ){},ondblclk:function(NODE,TREE_OBJ){TREE_OBJ.toggle_branch.call(TREE_OBJ,NODE);TREE_OBJ.select_branch.call(TREE_OBJ,NODE)},onrgtclk:function(NODE,TREE_OBJ,EV){},onload:function(TREE_OBJ){},onfocus:function(TREE_OBJ){},ondrop:function(NODE,REF_NODE,TYPE,TREE_OBJ){}}},init:function(elem,conf){var _this=this;this.container=$(elem);if(this.container.size==0){alert("Invalid container node!");return}tree_component.inst[this.cntr]=this;if(!this.container.attr("id"))this.container.attr("id","jstree_"+this.cntr);tree_component.inst[this.container.attr("id")]=tree_component.inst[this.cntr];tree_component.focused=this.cntr;var opts=$.extend({},conf);if(opts&&opts.cookies){this.settings.cookies=$.extend({},this.settings.cookies,opts.cookies);delete opts.cookies;if(!this.settings.cookies.opts)this.settings.cookies.opts={}}if(opts&&opts.callback){this.settings.callback=$.extend({},this.settings.callback,opts.callback);delete opts.callback}if(opts&&opts.data){this.settings.data=$.extend({},this.settings.data,opts.data);delete opts.data}if(opts&&opts.ui){this.settings.ui=$.extend({},this.settings.ui,opts.ui);delete opts.ui}if(opts&&opts.rules){this.settings.rules=$.extend({},this.settings.rules,opts.rules);delete opts.rules}if(opts&&opts.lang){this.settings.lang=$.extend({},this.settings.lang,opts.lang);delete opts.lang}this.settings=$.extend({},this.settings,opts);if(this.settings.path==false){this.path="";$("script").each(function(){if(this.src.toString().match(/tree_component.*?js$/)){_this.path=this.src.toString().replace(/tree_component.*?js$/,"")}})}else this.path=this.settings.path;this.current_lang=this.settings.languages&&this.settings.languages.length?this.settings.languages[0]:false;if(this.settings.languages&&this.settings.languages.length){this.sn=get_sheet_num("tree_component.css");if(this.sn===false&&document.styleSheets.length)this.sn=document.styleSheets.length;var st=false;var id=this.container.attr("id")?"#"+this.container.attr("id"):".tree";for(var ln=0;ln<this.settings.languages.length;ln++){st=add_css(id+" ."+this.settings.languages[ln],this.sn);if(st!==false){if(this.settings.languages[ln]==this.current_lang)st.style.display="";else st.style.display="none"}}}if(this.settings.rules.droppable.length){for(var i in this.settings.rules.droppable){if(typeof this.settings.rules.droppable[i]=="function")continue;tree_component.drag_drop.droppable.push(this.settings.rules.droppable[i])}tree_component.drag_drop.droppable=$.unique(tree_component.drag_drop.droppable)}if(this.settings.ui.theme_path===false)this.settings.ui.theme_path=this.path+"themes/";this.theme=this.settings.ui.theme_path;if(_this.settings.ui.theme_name){this.theme+=_this.settings.ui.theme_name+"/";if(_this.settings.ui.theme_name!="themeroller"&&!tree_component.def_style){add_sheet(_this.settings.ui.theme_path+"default/style.css");tree_component.def_style=true}add_sheet(_this.theme+"style.css")}this.container.addClass("tree");if(_this.settings.ui.theme_name!="themeroller")this.container.addClass("tree-default");if(this.settings.ui.theme_name&&this.settings.ui.theme_name!="default")this.container.addClass("tree-"+_this.settings.ui.theme_name);if(this.settings.ui.theme_name=="themeroller")this.container.addClass("ui-widget ui-widget-content");if(this.settings.rules.multiple)this.selected_arr=[];this.offset=false;this.context_menu();this.hovered=false;this.locked=false;if(this.settings.rules.draggable!="none"&&tree_component.drag_drop.marker===false){var _this=this;tree_component.drag_drop.marker=$("<img>").attr({id:"marker",src:_this.settings.ui.theme_path+"marker.gif"}).css({height:"5px",width:"40px",display:"block",position:"absolute",left:"30px",top:"30px",zIndex:"1000"}).hide().appendTo("body")}this.refresh();this.attachEvents();this.focus()},off_height:function(){if(this.offset===false){this.container.css({position:"relative"});this.offset=this.container.offset();var tmp=0;tmp=parseInt($.curCSS(this.container.get(0),"paddingTop",true),10);if(tmp)this.offset.top+=tmp;tmp=parseInt($.curCSS(this.container.get(0),"borderTopWidth",true),10);if(tmp)this.offset.top+=tmp;this.container.css({position:""})}if(!this.li_height){var tmp=this.container.find("ul li.closed, ul li.leaf").eq(0);this.li_height=tmp.height();if(tmp.children("ul:eq(0)").size())this.li_height-=tmp.children("ul:eq(0)").height();if(!this.li_height)this.li_height=18}},context_menu:function(){this.context=false;if(this.settings.ui.context!=false){var str='<div class="tree-context tree-default-context tree-'+this.settings.ui.theme_name+'-context">';for(var i in this.settings.ui.context){if(typeof this.settings.ui.context[i]=="function")continue;if(this.settings.ui.context[i]=="separator"){str+="<span class='separator'>&nbsp;</span>";continue}var icn="";if(this.settings.ui.context[i].icon)icn='background-image:url(\''+(this.settings.ui.context[i].icon.indexOf("/")==-1?this.theme+this.settings.ui.context[i].icon:this.settings.ui.context[i].icon)+'\');';str+='<a rel="'+this.settings.ui.context[i].id+'" href="#" style="'+icn+'">'+this.settings.ui.context[i].label+'</a>'}str+='</div>';this.context=$(str);this.context.hide();this.context.append=false}},refresh:function(obj){if(this.locked)return this.error("LOCKED");var _this=this;this.is_partial_refresh=obj?true:false;this.opened=Array();if(this.settings.cookies&&$.cookie(this.settings.cookies.prefix+'_open')){var str=$.cookie(this.settings.cookies.prefix+'_open');var tmp=str.split(",");$.each(tmp,function(){if(this.replace(/^#/,"").length>0){_this.opened.push("#"+this.replace(/^#/,""))}});this.settings.opened=false}else if(this.settings.opened!=false){$.each(this.settings.opened,function(i,item){if(this.replace(/^#/,"").length>0){_this.opened.push("#"+this.replace(/^#/,""))}});this.settings.opened=false}else{this.container.find("li.open").each(function(i){if(this.id){_this.opened.push("#"+this.id)}})}if(this.selected){this.settings.selected=Array();if(obj){$(obj).find("li:has(a.clicked)").each(function(){$this=$(this);if($this.attr("id"))_this.settings.selected.push("#"+$this.attr("id"))})}else{if(this.selected_arr){$.each(this.selected_arr,function(){if(this.attr("id"))_this.settings.selected.push("#"+this.attr("id"))})}else{if(this.selected.attr("id"))this.settings.selected.push("#"+this.selected.attr("id"))}}}else if(this.settings.cookies&&$.cookie(this.settings.cookies.prefix+'_selected')){this.settings.selected=Array();var str=$.cookie(this.settings.cookies.prefix+'_selected');var tmp=str.split(",");$.each(tmp,function(){if(this.replace(/^#/,"").length>0){_this.settings.selected.push("#"+this.replace(/^#/,""))}})}else if(this.settings.selected!==false){var tmp=Array();if((typeof this.settings.selected).toLowerCase()=="object"){$.each(this.settings.selected,function(){if(this.replace(/^#/,"").length>0)tmp.push("#"+this.replace(/^#/,""))})}else{if(this.settings.selected.replace(/^#/,"").length>0)tmp.push("#"+this.settings.selected.replace(/^#/,""))}this.settings.selected=tmp}if(obj&&this.settings.data.async){this.opened=Array();obj=this.get_node(obj);obj.find("li.open").each(function(i){_this.opened.push("#"+this.id)});if(obj.hasClass("open"))obj.removeClass("open").addClass("closed");if(obj.hasClass("leaf"))obj.removeClass("leaf");obj.children("ul:eq(0)").html("");return this.open_branch(obj,true,function(){_this.reselect.apply(_this)})}if(this.settings.data.type=="xml_flat"||this.settings.data.type=="xml_nested"){this.scrtop=this.container.get(0).scrollTop;var xsl=(this.settings.data.type=="xml_flat")?"flat.xsl":"nested.xsl";if(this.settings.data.xml)this.container.getTransform(this.path+xsl,this.settings.data.xml,{params:{theme_name:_this.settings.ui.theme_name,theme_path:_this.theme},meth:_this.settings.data.method,dat:_this.settings.data.async_data.apply(_this,[obj,_this]),callback:function(){_this.context_menu.apply(_this);_this.reselect.apply(_this)}});else this.container.getTransform(this.path+xsl,this.settings.data.url,{params:{theme_name:_this.settings.ui.theme_name,theme_path:_this.theme},meth:_this.settings.data.method,dat:_this.settings.data.async_data.apply(_this,[obj,_this]),callback:function(){_this.context_menu.apply(_this);_this.reselect.apply(_this)}});return}else if(this.settings.data.type=="json"){if(this.settings.data.json){var str="";if(this.settings.data.json.length){for(var i=0;i<this.settings.data.json.length;i++){str+=this.parseJSON(this.settings.data.json[i])}}else str=this.parseJSON(this.settings.data.json);this.container.html("<ul>"+str+"</ul>");this.container.find("li:last-child").addClass("last").end().find("li:has(ul)").not(".open").addClass("closed");this.container.find("li").not(".open").not(".closed").addClass("leaf");this.context_menu();this.reselect()}else{var _this=this;$.ajax({type:this.settings.data.method,url:this.settings.data.url,data:this.settings.data.async_data(false,this),dataType:"json",success:function(data){data=_this.settings.callback.onJSONdata.call(null,data,_this);var str="";if(data.length){for(var i=0;i<data.length;i++){str+=_this.parseJSON(data[i])}}else str=_this.parseJSON(data);_this.container.html("<ul>"+str+"</ul>");_this.container.find("li:last-child").addClass("last").end().find("li:has(ul)").not(".open").addClass("closed");_this.container.find("li").not(".open").not(".closed").addClass("leaf");_this.context_menu.apply(_this);_this.reselect.apply(_this)},error:function(xhttp,textStatus,errorThrown){_this.error(errorThrown+" "+textStatus)}})}}else{this.container.children("ul:eq(0)");this.container.find("li:last-child").addClass("last").end().find("li:has(ul)").not(".open").addClass("closed");this.container.find("li").not(".open").not(".closed").addClass("leaf");this.reselect()}},parseJSON:function(data){if(!data||!data.data)return"";var str="";str+="<li ";var cls=false;if(data.attributes){for(var i in data.attributes){if(typeof data.attributes[i]=="function")continue;if(i=="class"){str+=" class='"+data.attributes[i]+" ";if(data.state=="closed"||data.state=="open")str+=" "+data.state+" ";str+="' ";cls=true}else str+=" "+i+"='"+data.attributes[i]+"' "}}if(!cls&&(data.state=="closed"||data.state=="open"))str+=" class='"+data.state+"' ";str+=">";if(this.settings.languages.length){for(var i=0;i<this.settings.languages.length;i++){var attr={};attr["href"]="#";attr["style"]="";attr["class"]=this.settings.languages[i];if(data.data[this.settings.languages[i]]&&(typeof data.data[this.settings.languages[i]].attributes).toLowerCase()!="undefined"){for(var j in data.data[this.settings.languages[i]].attributes){if(typeof data.data[this.settings.languages[i]].attributes[j]=="function")continue;if(j=="style"||j=="class")attr[j]+=" "+data.data[this.settings.languages[i]].attributes[j];else attr[j]=data.data[this.settings.languages[i]].attributes[j]}}if(data.data[this.settings.languages[i]]&&data.data[this.settings.languages[i]].icon&&this.settings.theme_name!="themeroller"){var icn=data.data[this.settings.languages[i]].icon.indexOf("/")==-1?this.theme+data.data[this.settings.languages[i]].icon:data.data[this.settings.languages[i]].icon;attr["style"]+=" ; background-image:url('"+icn+"'); "}str+="<a";for(var j in attr){if(typeof attr[j]=="function")continue;str+=' '+j+'="'+attr[j]+'" '}str+=">";if(data.data[this.settings.languages[i]]&&data.data[this.settings.languages[i]].icon&&this.settings.theme_name=="themeroller"){str+="<ins class='ui-icon "+data.data[this.settings.languages[i]].icon+"'>&nbsp;</ins>"}str+=((typeof data.data[this.settings.languages[i]].title).toLowerCase()!="undefined"?data.data[this.settings.languages[i]].title:data.data[this.settings.languages[i]])+"</a>"}}else{var attr={};attr["href"]="#";attr["style"]="";attr["class"]="";if((typeof data.data.attributes).toLowerCase()!="undefined"){for(var i in data.data.attributes){if(typeof data.data.attributes[i]=="function")continue;if(i=="style"||i=="class")attr[i]+=" "+data.data.attributes[i];else attr[i]=data.data.attributes[i]}}if(data.data.icon&&this.settings.ui.theme_name!="themeroller"){var icn=data.data.icon.indexOf("/")==-1?this.theme+data.data.icon:data.data.icon;attr["style"]+=" ; background-image:url('"+icn+"');"}str+="<a";for(var i in attr){if(typeof attr[j]=="function")continue;str+=' '+i+'="'+attr[i]+'" '}str+=">";if(data.data.icon&&this.settings.ui.theme_name=="themeroller"){str+="<ins class='ui-icon "+data.data.icon+"'>&nbsp;</ins>"}str+=((typeof data.data.title).toLowerCase()!="undefined"?data.data.title:data.data)+"</a>"}if(data.children&&data.children.length){str+='<ul>';for(var i=0;i<data.children.length;i++){str+=this.parseJSON(data.children[i])}str+='</ul>'}str+="</li>";return str},getJSON:function(nod,outer_attrib,inner_attrib,force){var _this=this;if(!nod||$(nod).size()==0){nod=this.container.children("ul").children("li")}else nod=$(nod);if(nod.size()>1){var arr=[];nod.each(function(){arr.push(_this.getJSON(this,outer_attrib,inner_attrib,force))});return arr}if(!outer_attrib)outer_attrib=["id","rel","class"];if(!inner_attrib)inner_attrib=[];var obj={attributes:{},data:false};for(var i in outer_attrib){if(typeof outer_attrib[i]=="function")continue;var val=(outer_attrib[i]=="class")?nod.attr(outer_attrib[i]).replace("last","").replace("leaf","").replace("closed","").replace("open",""):nod.attr(outer_attrib[i]);if(typeof val!="undefined"&&val.replace(" ","").length>0)obj.attributes[outer_attrib[i]]=val;delete val}if(this.settings.languages.length){obj.data={};for(var i in this.settings.languages){if(typeof this.settings.languages[i]=="function")continue;var a=nod.children("a."+this.settings.languages[i]);if(force||inner_attrib.length||a.get(0).style.backgroundImage.toString().length){obj.data[this.settings.languages[i]]={};obj.data[this.settings.languages[i]].title=a.text();if(a.get(0).style.backgroundImage.length){obj.data[this.settings.languages[i]].icon=a.get(0).style.backgroundImage.replace("url(","").replace(")","")}if(this.settings.ui.theme_name=="themeroller"&&a.children("ins").size()){var tmp=a.children("ins").attr("class");var cls=false;$.each(tmp.split(" "),function(i,val){if(val.indexOf("ui-icon-")==0){cls=val;return false}});if(cls)obj.data[this.settings.languages[i]].icon=cls}if(inner_attrib.length){obj.data[this.settings.languages[i]].attributes={};for(var j in inner_attrib){if(typeof inner_attrib[j]=="function")continue;var val=a.attr(inner_attrib[j]);if(typeof val!="undefined"&&val.replace(" ","").length>0)obj.data[this.settings.languages[i]].attributes[inner_attrib[j]]=val;delete val}}}else{obj.data[this.settings.languages[i]]=a.text()}}}else{var a=nod.children("a");if(force||inner_attrib.length||a.get(0).style.backgroundImage.toString().length){obj.data={};obj.data.title=a.text();if(a.get(0).style.backgroundImage.length){obj.data.icon=a.get(0).style.backgroundImage.replace("url(","").replace(")","")}if(this.settings.ui.theme_name=="themeroller"&&a.children("ins").size()){var tmp=a.children("ins").attr("class");var cls=false;$.each(tmp.split(" "),function(i,val){if(val.indexOf("ui-icon-")==0){cls=val;return false}});if(cls)obj.data[this.settings.languages[i]].icon=cls}if(inner_attrib.length){obj.data.attributes={};for(var j in inner_attrib){if(typeof inner_attrib[j]=="function")continue;var val=a.attr(inner_attrib[j]);if(typeof val!="undefined"&&val.replace(" ","").length>0)obj.data.attributes[inner_attrib[j]]=val;delete val}}}else{obj.data=a.text()}}if(nod.children("ul").size()>0){obj.children=[];nod.children("ul").children("li").each(function(){obj.children.push(_this.getJSON(this,outer_attrib,inner_attrib,force))})}return obj},getXML:function(tp,nod,outer_attrib,inner_attrib,cb){var _this=this;if(tp!="flat")tp="nested";if(!nod||$(nod).size()==0){nod=this.container.children("ul").children("li")}else nod=$(nod);if(nod.size()>1){var obj='<root>';nod.each(function(){obj+=_this.getXML(tp,this,outer_attrib,inner_attrib,true)});obj+='</root>';return obj}if(!outer_attrib)outer_attrib=["id","rel","class"];if(!inner_attrib)inner_attrib=[];var obj='';if(!cb)obj='<root>';obj+='<item ';if(tp=="flat"){var tmp_id=nod.parents("li:eq(0)").size()?nod.parents("li:eq(0)").attr("id"):0;obj+=' parent_id="'+tmp_id+'" ';delete tmp_id}for(var i in outer_attrib){if(typeof outer_attrib[i]=="function")continue;var val=(outer_attrib[i]=="class")?nod.attr(outer_attrib[i]).replace("last","").replace("leaf","").replace("closed","").replace("open",""):nod.attr(outer_attrib[i]);if(typeof val!="undefined"&&val.replace(" ","").length>0)obj+=' '+outer_attrib[i]+'="'+val+'" ';delete val}obj+='>';obj+='<content>';if(this.settings.languages.length){for(var i in this.settings.languages){if(typeof this.settings.languages[i]=="function")continue;var a=nod.children("a."+this.settings.languages[i]);obj+='<name ';if(inner_attrib.length||a.get(0).style.backgroundImage.toString().length||this.settings.ui.theme_name=="themeroller"){if(a.get(0).style.backgroundImage.length){obj+=' icon="'+a.get(0).style.backgroundImage.replace("url(","").replace(")","")+'" '}if(this.settings.ui.theme_name=="themeroller"&&a.children("ins").size()){var tmp=a.children("ins").attr("class");var cls=false;$.each(tmp.split(" "),function(i,val){if(val.indexOf("ui-icon-")==0){cls=val;return false}});if(cls)obj+=' icon="'+cls+'" '}if(inner_attrib.length){for(var j in inner_attrib){if(typeof inner_attrib[j]=="function")continue;var val=a.attr(inner_attrib[j]);if(typeof val!="undefined"&&val.replace(" ","").length>0)obj+=' '+inner_attrib[j]+'="'+val+'" ';delete val}}}obj+='><![CDATA['+a.text()+']]></name>'}}else{var a=nod.children("a");obj+='<name ';if(inner_attrib.length||a.get(0).style.backgroundImage.toString().length||this.settings.ui.theme_name=="themeroller"){if(a.get(0).style.backgroundImage.length){obj+=' icon="'+a.get(0).style.backgroundImage.replace("url(","").replace(")","")+'" '}if(this.settings.ui.theme_name=="themeroller"&&a.children("ins").size()){var tmp=a.children("ins").attr("class");var cls=false;$.each(tmp.split(" "),function(i,val){if(val.indexOf("ui-icon-")==0){cls=val;return false}});if(cls)obj+=' icon="'+cls+'" '}if(inner_attrib.length){for(var j in inner_attrib){if(typeof inner_attrib[j]=="function")continue;var val=a.attr(inner_attrib[j]);if(typeof val!="undefined"&&val.replace(" ","").length>0)obj+=' '+inner_attrib[j]+'="'+val+'" ';delete val}}}obj+='><![CDATA['+a.text()+']]></name>'}obj+='</content>';if(tp=="flat")obj+='</item>';if(nod.children("ul").size()>0){nod.children("ul").children("li").each(function(){obj+=_this.getXML(tp,this,outer_attrib,inner_attrib,true)})}if(tp=="nested")obj+='</item>';if(!cb)obj+='</root>';return obj},focus:function(){if(this.locked)return false;if(tree_component.focused!=this.cntr){tree_component.focused=this.cntr;this.settings.callback.onfocus.call(null,this)}},show_context:function(obj){this.context.show();var tmp=$(obj).children("a:visible").offset();this.context.css({"left":(tmp.left),"top":(tmp.top+parseInt(obj.children("a:visible").height())+2)})},hide_context:function(){if(this.context.to_remove&&this.context.apply_to)this.context.apply_to.children("a").removeClass("clicked");this.context.apply_to=false;this.context.hide()},attachEvents:function(){var _this=this;this.container.bind("mousedown.jstree",function(event){if(tree_component.drag_drop.isdown){tree_component.drag_drop.move_type=false;event.preventDefault();event.stopPropagation();event.stopImmediatePropagation();return false}}).bind("mouseup.jstree",function(event){setTimeout(function(){_this.focus.apply(_this)},5)}).bind("click.jstree",function(event){return true});$("#"+this.container.attr("id")+" li").live("click",function(event){if(event.target.tagName!="LI")return true;_this.off_height();if(event.pageY-$(event.target).offset().top>_this.li_height)return true;_this.toggle_branch.apply(_this,[event.target]);event.stopPropagation();return false});$("#"+this.container.attr("id")+" li a").live("click.jstree",function(event){if(event.which&&event.which==3)return true;if(_this.locked){event.preventDefault();event.target.blur();return _this.error("LOCKED")}_this.select_branch.apply(_this,[event.target,event.ctrlKey||_this.settings.rules.multiple=="on"]);if(_this.inp){_this.inp.blur()}event.preventDefault();event.target.blur();return false}).live("dblclick.jstree",function(event){if(_this.locked){event.preventDefault();event.stopPropagation();event.target.blur();return _this.error("LOCKED")}_this.settings.callback.ondblclk.call(null,_this.get_node(event.target).get(0),_this);event.preventDefault();event.stopPropagation();event.target.blur()}).live("contextmenu.jstree",function(event){if(_this.locked){event.target.blur();return _this.error("LOCKED")}var val=_this.settings.callback.onrgtclk.call(null,_this.get_node(event.target).get(0),_this,event);if(_this.context){if(_this.context.append==false){$("body").append(_this.context);_this.context.append=true;for(var i in _this.settings.ui.context){if(typeof _this.settings.ui.context[i]=="function")continue;if(_this.settings.ui.context[i]=="separator")continue;(function(){var func=_this.settings.ui.context[i].action;_this.context.children("[rel="+_this.settings.ui.context[i].id+"]").bind("click",function(event){if(!$(this).hasClass("disabled")){func.call(null,_this.context.apply_to||null,_this);_this.hide_context()}event.stopPropagation();event.preventDefault();return false}).bind("mouseup",function(event){this.blur();if($(this).hasClass("disabled")){event.stopPropagation();event.preventDefault();return false}}).bind("mousedown",function(event){event.stopPropagation();event.preventDefault()})})()}}var obj=_this.get_node(event.target);if(_this.inp){_this.inp.blur()}if(obj){if(!obj.children("a:eq(0)").hasClass("clicked")){_this.context.apply_to=obj;_this.context.to_remove=true;_this.context.apply_to.children("a").addClass("clicked");event.target.blur()}else{_this.context.to_remove=false;_this.context.apply_to=(_this.selected_arr&&_this.selected_arr.length>1)?_this.selected_arr:_this.selected}_this.context.children("a").removeClass("disabled").show();var go=false;for(var i in _this.settings.ui.context){if(typeof _this.settings.ui.context[i]=="function")continue;if(_this.settings.ui.context[i]=="separator")continue;var state=_this.settings.ui.context[i].visible.call(null,_this.context.apply_to,_this);if(state===false)_this.context.children("[rel="+_this.settings.ui.context[i].id+"]").addClass("disabled");if(state===-1)_this.context.children("[rel="+_this.settings.ui.context[i].id+"]").hide();else go=true}if(go==true)_this.show_context(obj);event.preventDefault();event.stopPropagation();return false}}return val}).live("mouseover.jstree",function(event){if(_this.locked){event.preventDefault();event.stopPropagation();return _this.error("LOCKED")}if((_this.settings.ui.hover_mode||_this.settings.ui.theme_name=="themeroller")&&_this.hovered!==false&&event.target.tagName=="A"){_this.hovered.children("a").removeClass("hover ui-state-hover");_this.hovered=false}if(_this.settings.ui.theme_name=="themeroller"){_this.hover_branch.apply(_this,[event.target])}});if(_this.settings.ui.theme_name=="themeroller"){$("#"+this.container.attr("id")+" li a").live("mouseout",function(event){if(_this.hovered)_this.hovered.children("a").removeClass("hover ui-state-hover")})}if(this.settings.rules.draggable!="none"){$("#"+this.container.attr("id")+" li a").live("mousedown.jstree",function(event){if(_this.settings.rules.drag_button=="left"&&event.which&&event.which!=1)return true;if(_this.settings.rules.drag_button=="right"&&event.which&&event.which!=3)return true;_this.focus.apply(_this);if(_this.locked)return _this.error("LOCKED");var obj=_this.get_node(event.target);if(_this.settings.rules.multiple!=false&&_this.selected_arr.length>1&&obj.children("a:eq(0)").hasClass("clicked")){var counter=0;for(var i in _this.selected_arr){if(typeof _this.selected_arr[i]=="function")continue;if(_this.check("draggable",_this.selected_arr[i])){_this.selected_arr[i].addClass("dragged");tree_component.drag_drop.origin_tree=_this;counter++}}if(counter>0){if(_this.check("draggable",obj))tree_component.drag_drop.drag_node=obj;else tree_component.drag_drop.drag_node=_this.container.find("li.dragged:eq(0)");tree_component.drag_drop.isdown=true;tree_component.drag_drop.drag_help=$("<div id='jstree-dragged' class='tree "+(_this.container.hasClass("tree-default")?" tree-default":"")+(_this.settings.ui.theme_name&&_this.settings.ui.theme_name!="default"?" tree-"+_this.settings.ui.theme_name:"")+"' />").append("<ul class='"+_this.container.children("ul:eq(0)").get(0).className+"' />");var tmp=$(tree_component.drag_drop.drag_node.get(0).cloneNode(true));if(_this.settings.languages.length>0)tmp.find("a").not("."+_this.current_lang).hide();tree_component.drag_drop.drag_help.children("ul:eq(0)").append(tmp);tree_component.drag_drop.drag_help.find("li:eq(0)").removeClass("last").addClass("last").children("a").html("Multiple selection").end().children("ul").remove()}}else{if(_this.check("draggable",obj)){tree_component.drag_drop.drag_node=obj;tree_component.drag_drop.drag_help=$("<div id='jstree-dragged' class='tree "+(_this.container.hasClass("tree-default")?" tree-default":"")+(_this.settings.ui.theme_name&&_this.settings.ui.theme_name!="default"?" tree-"+_this.settings.ui.theme_name:"")+"' />").append("<ul class='"+_this.container.children("ul:eq(0)").get(0).className+"' />");var tmp=$(obj.get(0).cloneNode(true));if(_this.settings.languages.length>0)tmp.find("a").not("."+_this.current_lang).hide();tree_component.drag_drop.drag_help.children("ul:eq(0)").append(tmp);tree_component.drag_drop.drag_help.find("li:eq(0)").removeClass("last").addClass("last");tree_component.drag_drop.isdown=true;tree_component.drag_drop.foreign=false;tree_component.drag_drop.origin_tree=_this;obj.addClass("dragged")}}tree_component.drag_drop.init_x=event.pageX;tree_component.drag_drop.init_y=event.pageY;obj.blur();event.preventDefault();event.stopPropagation();return false});$(document).bind("mousedown.jstree",tree_component.mousedown).bind("mouseup.jstree",tree_component.mouseup).bind("mousemove.jstree",tree_component.mousemove)}if(_this.context)$(document).bind("mousedown",function(){_this.hide_context()})},checkMove:function(NODES,REF_NODE,TYPE){if(this.locked)return this.error("LOCKED");var _this=this;if(REF_NODE.parents("li.dragged").size()>0||REF_NODE.is(".dragged"))return this.error("MOVE: NODE OVER SELF");if(NODES.size()==1){var NODE=NODES.eq(0);if(tree_component.drag_drop.foreign){if(this.settings.rules.droppable.length==0)return false;if(!NODE.is("."+this.settings.rules.droppable.join(", .")))return false;var ok=false;for(var i in this.settings.rules.droppable){if(typeof this.settings.rules.droppable[i]=="function")continue;if(NODE.is("."+this.settings.rules.droppable[i])){if(this.settings.rules.metadata){$.metadata.setType("attr",this.settings.rules.metadata);NODE.attr(this.settings.rules.metadata,"type: '"+this.settings.rules.droppable[i]+"'")}else{NODE.attr(this.settings.rules.type_attr,this.settings.rules.droppable[i])}ok=true;break}}if(!ok)return false}if(!this.check("dragrules",[NODE,TYPE,REF_NODE.parents("li:eq(0)")]))return this.error("MOVE: AGAINST DRAG RULES")}else{var ok=true;NODES.each(function(i){if(ok==false)return false;var ref=REF_NODE;var mv=TYPE;if(!_this.check.apply(_this,["dragrules",[$(this),mv,ref]]))ok=false});if(ok==false)return this.error("MOVE: AGAINST DRAG RULES")}if(this.settings.rules.use_inline&&this.settings.rules.metadata){var nd=false;if(TYPE=="inside")nd=REF_NODE.parents("li:eq(0)");else nd=REF_NODE.parents("li:eq(1)");if(nd.size()){if(typeof nd.metadata()["valid_children"]!="undefined"){var tmp=nd.metadata()["valid_children"];var ok=true;NODES.each(function(i){if(ok==false)return false;if($.inArray(_this.get_type(this),tmp)==-1)ok=false});if(ok==false)return this.error("MOVE: NOT A VALID CHILD")}if(typeof nd.metadata()["max_children"]!="undefined"){if((nd.children("ul:eq(0)").children("li").not(".dragged").size()+NODES.size())>nd.metadata().max_children)return this.error("MOVE: MAX CHILDREN REACHED")}var incr=0;NODES.each(function(j){var i=1;var t=$(this);while(i<100){t=t.children("ul").children("li");if(t.size()==0)break;i++}incr=Math.max(i,incr)});var ok=true;if((typeof $(nd).metadata().max_depth).toLowerCase()!="undefined"&&$(nd).metadata().max_depth<incr)ok=false;else{nd.parents("li").each(function(i){if(ok==false)return false;if((typeof $(this).metadata().max_depth).toLowerCase()!="undefined"){if((i+incr)>=$(this).metadata().max_depth)ok=false}})}if(ok==false)return this.error("MOVE: MAX_DEPTH REACHED")}}return true},reselect:function(is_callback){var _this=this;if(!is_callback)this.cl_count=0;else this.cl_count--;if(this.opened&&this.opened.length){var opn=false;for(var j=0;this.opened&&j<this.opened.length;j++){if(this.settings.data.async){if(this.get_node(this.opened[j]).size()>0){opn=true;var tmp=this.opened[j];delete this.opened[j];this.open_branch(tmp,true,function(){_this.reselect.apply(_this,[true])});this.cl_count++}}else this.open_branch(this.opened[j],true)}if(this.settings.data.async&&opn)return;delete this.opened}if(this.cl_count>0)return;if(this.settings.ui.rtl)this.container.css("direction","rtl").children("ul:eq(0)").addClass("rtl");else this.container.css("direction","ltr").children("ul:eq(0)").addClass("ltr");if(this.settings.ui.dots==false)this.container.children("ul:eq(0)").addClass("no_dots");if(this.scrtop){this.container.scrollTop(_this.scrtop);delete this.scrtop}if(this.settings.selected!==false){$.each(this.settings.selected,function(i){if(_this.is_partial_refresh)_this.select_branch($(_this.settings.selected[i],_this.container),(_this.settings.rules.multiple!==false));else _this.select_branch($(_this.settings.selected[i],_this.container),(_this.settings.rules.multiple!==false&&i>0))});this.settings.selected=false}if(this.settings.ui.theme_name=="themeroller")this.container.find("a").addClass("ui-state-default");this.settings.callback.onload.call(null,_this)},get_node:function(obj){var obj=$(obj);return obj.is("li")?obj:obj.parents("li:eq(0)")},get_type:function(obj){obj=!obj?this.selected:this.get_node(obj);if(!obj)return;if(this.settings.rules.metadata){$.metadata.setType("attr",this.settings.rules.metadata);var tmp=obj.metadata().type;if(tmp)return tmp}return obj.attr(this.settings.rules.type_attr)},scrollCheck:function(x,y){var _this=this;var cnt=_this.container;var off=_this.container.offset();var st=cnt.scrollTop();var sl=cnt.scrollLeft();var h_cor=(cnt.get(0).scrollWidth>cnt.width())?40:20;if(y-off.top<20)cnt.scrollTop(Math.max((st-_this.settings.ui.scroll_spd),0));if(cnt.height()-(y-off.top)<h_cor)cnt.scrollTop(st+_this.settings.ui.scroll_spd);if(x-off.left<20)cnt.scrollLeft(Math.max((sl-_this.settings.ui.scroll_spd),0));if(cnt.width()-(x-off.left)<40)cnt.scrollLeft(sl+_this.settings.ui.scroll_spd);if(cnt.scrollLeft()!=sl||cnt.scrollTop()!=st){_this.moveType=false;_this.moveRef=false;tree_component.drag_drop.marker.hide()}tree_component.drag_drop.scroll_time=setTimeout(function(){_this.scrollCheck(x,y)},50)},check:function(rule,nodes){if(this.locked)return this.error("LOCKED");if(rule!="dragrules"&&this.settings.rules.use_inline&&this.settings.rules.metadata){$.metadata.setType("attr",this.settings.rules.metadata);if(typeof this.get_node(nodes).metadata()[rule]!="undefined")return this.get_node(nodes).metadata()[rule]}if(!this.settings.rules[rule])return false;if(this.settings.rules[rule]=="none")return false;if(this.settings.rules[rule]=="all")return true;if(rule=="dragrules"){var nds=new Array();nds[0]=this.get_type(nodes[0]);nds[1]=nodes[1];nds[2]=this.get_type(nodes[2]);for(var i=0;i<this.settings.rules.dragrules.length;i++){var r=this.settings.rules.dragrules[i];var n=(r.indexOf("!")===0)?false:true;if(!n)r=r.replace("!","");var tmp=r.split(" ");for(var j=0;j<3;j++){if(tmp[j]==nds[j]||tmp[j]=="*")tmp[j]=true}if(tmp[0]===true&&tmp[1]===true&&tmp[2]===true)return n}return false}else return($.inArray(this.get_type(nodes),this.settings.rules[rule])!=-1)?true:false},hover_branch:function(obj){if(this.locked)return this.error("LOCKED");if(this.settings.ui.hover_mode==false&&this.settings.ui.theme_name!="themeroller")return this.select_branch(obj);var _this=this;var obj=_this.get_node(obj);if(!obj.size())return this.error("HOVER: NOT A VALID NODE");if(!_this.check("clickable",obj))return this.error("SELECT: NODE NOT SELECTABLE");if(this.hovered)this.hovered.children("A").removeClass("hover ui-state-hover");this.hovered=obj;this.hovered.children("a").removeClass("hover ui-state-hover").addClass(this.settings.ui.theme_name=="themeroller"?"hover ui-state-hover":"hover");var off_t=this.hovered.offset().top;var beg_t=this.container.offset().top;var end_t=beg_t+this.container.height();var h_cor=(this.container.get(0).scrollWidth>this.container.width())?40:20;if(off_t+5<beg_t)this.container.scrollTop(this.container.scrollTop()-(beg_t-off_t+5));if(off_t+h_cor>end_t)this.container.scrollTop(this.container.scrollTop()+(off_t+h_cor-end_t))},select_branch:function(obj,multiple){if(this.locked)return this.error("LOCKED");if(!obj&&this.hovered!==false)obj=this.hovered;var _this=this;obj=_this.get_node(obj);if(!obj.size())return this.error("SELECT: NOT A VALID NODE");obj.children("a").removeClass("hover ui-state-hover");if(!_this.check("clickable",obj))return this.error("SELECT: NODE NOT SELECTABLE");if(_this.settings.callback.beforechange.call(null,obj.get(0),_this)===false)return this.error("SELECT: STOPPED BY USER");if(this.settings.rules.multiple!=false&&multiple&&obj.children("a.clicked").size()>0){return this.deselect_branch(obj)}if(this.settings.rules.multiple!=false&&multiple){this.selected_arr.push(obj)}if(this.settings.rules.multiple!=false&&!multiple){for(var i in this.selected_arr){if(typeof this.selected_arr[i]=="function")continue;this.selected_arr[i].children("A").removeClass("clicked ui-state-active");this.settings.callback.ondeselect.call(null,this.selected_arr[i].get(0),_this)}this.selected_arr=[];this.selected_arr.push(obj);if(this.selected&&this.selected.children("A").hasClass("clicked")){this.selected.children("A").removeClass("clicked ui-state-active");this.settings.callback.ondeselect.call(null,this.selected.get(0),_this)}}if(!this.settings.rules.multiple){if(this.selected){this.selected.children("A").removeClass("clicked ui-state-active");this.settings.callback.ondeselect.call(null,this.selected.get(0),_this)}}this.selected=obj;if((this.settings.ui.hover_mode||this.settings.ui.theme_name=="themeroller")&&this.hovered!==false){this.hovered.children("A").removeClass("hover ui-state-hover");this.hovered=obj}this.selected.children("a").removeClass("clicked ui-state-active").addClass(this.settings.ui.theme_name=="themeroller"?"clicked ui-state-active":"clicked").end().parents("li.closed").each(function(){_this.open_branch(this,true)});var off_t=this.selected.offset().top;var beg_t=this.container.offset().top;var end_t=beg_t+this.container.height();var h_cor=(this.container.get(0).scrollWidth>this.container.width())?40:20;if(off_t+5<beg_t)this.container.scrollTop(this.container.scrollTop()-(beg_t-off_t+5));if(off_t+h_cor>end_t)this.container.scrollTop(this.container.scrollTop()+(off_t+h_cor-end_t));this.set_cookie("selected");this.settings.callback.onselect.call(null,this.selected.get(0),_this);this.settings.callback.onchange.call(null,this.selected.get(0),_this)},deselect_branch:function(obj){if(this.locked)return this.error("LOCKED");var _this=this;var obj=this.get_node(obj);obj.children("a").removeClass("clicked ui-state-active");this.settings.callback.ondeselect.call(null,obj.get(0),_this);if(this.settings.rules.multiple!=false&&this.selected_arr.length>1){this.selected_arr=[];this.container.find("a.clicked").filter(":first-child").parent().each(function(){_this.selected_arr.push($(this))});if(obj.get(0)==this.selected.get(0)){this.selected=this.selected_arr[0];this.set_cookie("selected")}}else{if(this.settings.rules.multiple!=false)this.selected_arr=[];this.selected=false;this.set_cookie("selected")}if(this.selected)this.settings.callback.onchange.call(null,this.selected.get(0),_this);else this.settings.callback.onchange.call(null,false,_this)},toggle_branch:function(obj){if(this.locked)return this.error("LOCKED");var obj=this.get_node(obj);if(obj.hasClass("closed"))return this.open_branch(obj);if(obj.hasClass("open"))return this.close_branch(obj)},open_branch:function(obj,disable_animation,callback){if(this.locked)return this.error("LOCKED");var obj=this.get_node(obj);if(!obj.size())return this.error("OPEN: NO SUCH NODE");if(obj.hasClass("leaf"))return this.error("OPEN: OPENING LEAF NODE");if(this.settings.data.async&&obj.find("li").size()==0){if(this.settings.callback.beforeopen.call(null,obj.get(0),this)===false)return this.error("OPEN: STOPPED BY USER");var _this=this;obj.children("ul:eq(0)").remove().end().append("<ul><li class='last'><a class='loading' href='#'>"+(_this.settings.lang.loading||"Loading ...")+"</a></li></ul>");obj.removeClass("closed").addClass("open");if(this.settings.data.type=="xml_flat"||this.settings.data.type=="xml_nested"){var xsl=(this.settings.data.type=="xml_flat")?"flat.xsl":"nested.xsl";obj.children("ul:eq(0)").getTransform(this.path+xsl,this.settings.data.url,{params:{theme_path:_this.theme},meth:this.settings.data.method,dat:this.settings.data.async_data(obj,this),repl:true,callback:function(str,json){if(str.length<15){obj.removeClass("closed").removeClass("open").addClass("leaf").children("ul").remove();if(callback)callback.call();return}_this.open_branch.apply(_this,[obj]);if(callback)callback.call()},error:function(){obj.removeClass("open").addClass("closed").children("ul:eq(0)").remove()}})}else{$.ajax({type:this.settings.data.method,url:this.settings.data.url,data:this.settings.data.async_data(obj,this),dataType:"json",success:function(data,textStatus){data=_this.settings.callback.onJSONdata.call(null,data,_this);if(!data||data.length==0){obj.removeClass("closed").removeClass("open").addClass("leaf").children("ul").remove();if(callback)callback.call();return}var str="";if(data.length){for(var i=0;i<data.length;i++){str+=_this.parseJSON(data[i])}}else str=_this.parseJSON(data);if(str.length>0){obj.children("ul:eq(0)").replaceWith("<ul>"+str+"</ul>");obj.find("li:last-child").addClass("last").end().find("li:has(ul)").not(".open").addClass("closed");obj.find("li").not(".open").not(".closed").addClass("leaf");_this.open_branch.apply(_this,[obj])}else obj.removeClass("closed").removeClass("open").addClass("leaf").children("ul").remove();if(callback)callback.call()},error:function(xhttp,textStatus,errorThrown){obj.removeClass("open").addClass("closed").children("ul:eq(0)").remove();_this.error(errorThrown+" "+textStatus)}})}return true}else{if(!this.settings.data.async){if(this.settings.callback.beforeopen.call(null,obj.get(0),this)===false)return this.error("OPEN: STOPPED BY USER")}if(this.settings.ui.theme_name=="themeroller")obj.find("a").not(".ui-state-default").addClass("ui-state-default");if(parseInt(this.settings.ui.animation)>0&&!disable_animation){obj.children("ul:eq(0)").css("display","none");obj.removeClass("closed").addClass("open");obj.children("ul:eq(0)").slideDown(parseInt(this.settings.ui.animation),function(){$(this).css("display","");if(callback)callback.call()})}else{obj.removeClass("closed").addClass("open");if(callback)callback.call()}this.set_cookie("open");this.settings.callback.onopen.call(null,obj.get(0),this);return true}},close_branch:function(obj,disable_animation){if(this.locked)return this.error("LOCKED");var _this=this;var obj=this.get_node(obj);if(!obj.size())return this.error("CLOSE: NO SUCH NODE");if(_this.settings.callback.beforeclose.call(null,obj.get(0),_this)===false)return this.error("CLOSE: STOPPED BY USER");if(parseInt(this.settings.ui.animation)>0&&!disable_animation&&obj.children("ul:eq(0)").size()==1){obj.children("ul:eq(0)").slideUp(parseInt(this.settings.ui.animation),function(){if(obj.hasClass("open"))obj.removeClass("open").addClass("closed");_this.set_cookie("open");$(this).css("display","")})}else{if(obj.hasClass("open"))obj.removeClass("open").addClass("closed");this.set_cookie("open")}if(this.selected&&obj.children("ul:eq(0)").find("a.clicked").size()>0){obj.find("li:has(a.clicked)").each(function(){_this.deselect_branch(this)});if(obj.children("a.clicked").size()==0)this.select_branch(obj,(this.settings.rules.multiple!=false&&this.selected_arr.length>0))}this.settings.callback.onclose.call(null,obj.get(0),this)},open_all:function(obj,callback){if(this.locked)return this.error("LOCKED");var _this=this;obj=obj?this.get_node(obj).parent():this.container;var s=obj.find("li.closed").size();if(!callback)this.cl_count=0;else this.cl_count--;if(s>0){this.cl_count+=s;obj.find("li.closed").each(function(){var __this=this;_this.open_branch.apply(_this,[this,true,function(){_this.open_all.apply(_this,[__this,true])}])})}else if(this.cl_count==0)this.settings.callback.onopen_all.call(null,this)},close_all:function(){if(this.locked)return this.error("LOCKED");var _this=this;this.container.find("li.open").each(function(){_this.close_branch(this,true)})},show_lang:function(i){if(this.locked)return this.error("LOCKED");if(this.settings.languages[i]==this.current_lang)return true;var st=false;var id=this.container.attr("id")?"#"+this.container.attr("id"):".tree";st=get_css(id+" ."+this.current_lang,this.sn);if(st!==false)st.style.display="none";st=get_css(id+" ."+this.settings.languages[i],this.sn);if(st!==false)st.style.display="";this.current_lang=this.settings.languages[i];return true},cycle_lang:function(){if(this.locked)return this.error("LOCKED");var i=$.inArray(this.current_lang,this.settings.languages);i++;if(i>this.settings.languages.length-1)i=0;this.show_lang(i)},create:function(obj,ref_node,position){if(this.locked)return this.error("LOCKED");var root=false;if(ref_node==-1){root=true;ref_node=this.container}else ref_node=ref_node?this.get_node(ref_node):this.selected;if(!root&&(!ref_node||!ref_node.size()))return this.error("CREATE: NO NODE SELECTED");var pos=position;var tmp=ref_node;if(position=="before"){position=ref_node.parent().children().index(ref_node);ref_node=ref_node.parents("li:eq(0)")}if(position=="after"){position=ref_node.parent().children().index(ref_node)+1;ref_node=ref_node.parents("li:eq(0)")}if(!root&&ref_node.size()==0){root=true;ref_node=this.container}if(!root){if(!this.check("creatable",ref_node))return this.error("CREATE: CANNOT CREATE IN NODE");if(ref_node.hasClass("closed")){if(this.settings.data.async&&ref_node.children("ul").size()==0){var _this=this;return this.open_branch(ref_node,true,function(){_this.create.apply(_this,[obj,ref_node,position])})}else this.open_branch(ref_node,true)}}var torename=false;if(!obj)obj={};else obj=$.extend(true,{},obj);if(!obj.attributes)obj.attributes={};if(this.settings.rules.metadata){if(!obj.attributes[this.settings.rules.metadata])obj.attributes[this.settings.rules.metadata]='{ "type" : "'+(this.get_type(tmp)||"")+'" }'}else{if(!obj.attributes[this.settings.rules.type_attr])obj.attributes[this.settings.rules.type_attr]=this.get_type(tmp)||""}if(this.settings.languages.length){if(!obj.data){obj.data={};torename=true}for(var i=0;i<this.settings.languages.length;i++){if(!obj.data[this.settings.languages[i]])obj.data[this.settings.languages[i]]=((typeof this.settings.lang.new_node).toLowerCase()!="string"&&this.settings.lang.new_node[i])?this.settings.lang.new_node[i]:this.settings.lang.new_node}}else{if(!obj.data){obj.data=this.settings.lang.new_node;torename=true}}var $li=$(this.parseJSON(obj));if($li.children("ul").size()){if(!$li.is(".open"))$li.addClass("closed")}else $li.addClass("leaf");$li.find("li:last-child").addClass("last").end().find("li:has(ul)").not(".open").addClass("closed");$li.find("li").not(".open").not(".closed").addClass("leaf");if(!root&&this.settings.rules.use_inline&&this.settings.rules.metadata){var t=this.get_type($li)||"";$.metadata.setType("attr",this.settings.rules.metadata);if(typeof ref_node.metadata()["valid_children"]!="undefined"){if($.inArray(t,ref_node.metadata()["valid_children"])==-1)return this.error("CREATE: NODE NOT A VALID CHILD")}if(typeof ref_node.metadata()["max_children"]!="undefined"){if((ref_node.children("ul:eq(0)").children("li").size()+1)>ref_node.metadata().max_children)return this.error("CREATE: MAX_CHILDREN REACHED")}var ok=true;if((typeof $(ref_node).metadata().max_depth).toLowerCase()!="undefined"&&$(ref_node).metadata().max_depth===0)ok=false;else{ref_node.parents("li").each(function(i){if($(this).metadata().max_depth){if((i+1)>=$(this).metadata().max_depth){ok=false;return false}}})}if(!ok)return this.error("CREATE: MAX_DEPTH REACHED")}if((typeof position).toLowerCase()=="undefined"||position=="inside")position=(this.settings.rules.createat=="top")?0:ref_node.children("ul:eq(0)").children("li").size();if(ref_node.children("ul").size()==0||(root==true&&ref_node.children("ul").children("li").size()==0)){if(!root)var a=this.moved($li,ref_node.children("a:eq(0)"),"inside",true);else var a=this.moved($li,this.container.children("ul:eq(0)"),"inside",true)}else if(pos=="before"&&ref_node.children("ul:eq(0)").children("li:nth-child("+(position+1)+")").size())var a=this.moved($li,ref_node.children("ul:eq(0)").children("li:nth-child("+(position+1)+")").children("a:eq(0)"),"before",true);else if(pos=="after"&&ref_node.children("ul:eq(0)").children("li:nth-child("+(position)+")").size())var a=this.moved($li,ref_node.children("ul:eq(0)").children("li:nth-child("+(position)+")").children("a:eq(0)"),"after",true);else if(ref_node.children("ul:eq(0)").children("li:nth-child("+(position+1)+")").size())var a=this.moved($li,ref_node.children("ul:eq(0)").children("li:nth-child("+(position+1)+")").children("a:eq(0)"),"before",true);else var a=this.moved($li,ref_node.children("ul:eq(0)").children("li:last").children("a:eq(0)"),"after",true);if(a===false)return this.error("CREATE: ABORTED");if(torename){this.select_branch($li.children("a:eq(0)"));this.rename()}return $li},rename:function(obj){if(this.locked)return this.error("LOCKED");obj=obj?this.get_node(obj):this.selected;var _this=this;if(!obj||!obj.size())return this.error("RENAME: NO NODE SELECTED");if(!this.check("renameable",obj))return this.error("RENAME: NODE NOT RENAMABLE");if(!this.settings.callback.beforerename.call(null,obj.get(0),_this.current_lang,_this))return this.error("RENAME: STOPPED BY USER");obj.parents("li.closed").each(function(){_this.open_branch(this)});if(this.current_lang)obj=obj.find("a."+this.current_lang).get(0);else obj=obj.find("a:first").get(0);last_value=obj.innerHTML;_this.inp=$("<input type='text' autocomplete='off' />");_this.inp.val(last_value.replace(/&amp;/g,"&").replace(/&gt;/g,">").replace(/&lt;/g,"<")).bind("mousedown",function(event){event.stopPropagation()}).bind("mouseup",function(event){event.stopPropagation()}).bind("click",function(event){event.stopPropagation()}).bind("keyup",function(event){var key=event.keyCode||event.which;if(key==27){this.value=last_value;this.blur();return}if(key==13){this.blur();return}});var rb={};rb[this.container.attr("id")]=this.get_rollback();_this.inp.blur(function(event){if(this.value=="")this.value=last_value;$(obj).text($(obj).parent().find("input").eq(0).attr("value")).get(0).style.display="";$(obj).prevAll("span").remove();_this.settings.callback.onrename.call(null,_this.get_node(obj).get(0),_this.current_lang,_this,rb);_this.inp=false});var spn=$("<span />").addClass(obj.className).append(_this.inp);spn.attr("style",$(obj).attr("style"));obj.style.display="none";$(obj).parent().prepend(spn);_this.inp.get(0).focus();_this.inp.get(0).select()},remove:function(obj){if(this.locked)return this.error("LOCKED");var rb={};rb[this.container.attr("id")]=this.get_rollback();if(obj&&(!this.selected||this.get_node(obj).get(0)!=this.selected.get(0))){obj=this.get_node(obj);if(obj.size()){if(!this.check("deletable",obj))return this.error("DELETE: NODE NOT DELETABLE");if(!this.settings.callback.beforedelete.call(null,obj.get(0),_this))return this.error("DELETE: STOPPED BY USER");$parent=obj.parent();obj=obj.remove();$parent.children("li:last").addClass("last");if($parent.children("li").size()==0){$li=$parent.parents("li:eq(0)");$li.removeClass("open").removeClass("closed").addClass("leaf").children("ul").remove();this.set_cookie("open")}this.settings.callback.ondelete.call(null,obj.get(0),this,rb)}}else if(this.selected){if(!this.check("deletable",this.selected))return this.error("DELETE: NODE NOT DELETABLE");if(!this.settings.callback.beforedelete.call(null,this.selected.get(0),_this))return this.error("DELETE: STOPPED BY USER");$parent=this.selected.parent();var obj=this.selected;if(this.settings.rules.multiple==false||this.selected_arr.length==1){var stop=true;var tmp=(this.selected.prev("li:eq(0)").size())?this.selected.prev("li:eq(0)"):this.selected.parents("li:eq(0)")}obj=obj.remove();$parent.children("li:last").addClass("last");if($parent.children("li").size()==0){$li=$parent.parents("li:eq(0)");$li.removeClass("open").removeClass("closed").addClass("leaf").children("ul").remove();this.set_cookie("open")}this.settings.callback.ondelete.call(null,obj.get(0),this,rb);if(stop&&tmp)this.select_branch(tmp);if(this.settings.rules.multiple!=false&&!stop){var _this=this;this.selected_arr=[];this.container.find("a.clicked").filter(":first-child").parent().each(function(){_this.selected_arr.push($(this))});if(this.selected_arr.length>0){this.selected=this.selected_arr[0];this.remove()}}}else return this.error("DELETE: NO NODE SELECTED")},next:function(obj,strict){obj=this.get_node(obj);if(!obj.size())return false;if(strict)return(obj.nextAll("li").size()>0)?obj.nextAll("li:eq(0)"):false;if(obj.hasClass("open"))return obj.find("li:eq(0)");else if(obj.nextAll("li").size()>0)return obj.nextAll("li:eq(0)");else return obj.parents("li").next("li").eq(0)},prev:function(obj,strict){obj=this.get_node(obj);if(!obj.size())return false;if(strict)return(obj.prevAll("li").size()>0)?obj.prevAll("li:eq(0)"):false;if(obj.prev("li").size()){var obj=obj.prev("li").eq(0);while(obj.hasClass("open"))obj=obj.children("ul:eq(0)").children("li:last");return obj}else return obj.parents("li:eq(0)").size()?obj.parents("li:eq(0)"):false},parent:function(obj){obj=this.get_node(obj);if(!obj.size())return false;return obj.parents("li:eq(0)").size()?obj.parents("li:eq(0)"):false},children:function(obj){obj=this.get_node(obj);if(!obj.size())return false;return obj.children("ul:eq(0)").children("li")},get_next:function(force){var obj=this.hovered||this.selected;return force?this.select_branch(this.next(obj)):this.hover_branch(this.next(obj))},get_prev:function(force){var obj=this.hovered||this.selected;return force?this.select_branch(this.prev(obj)):this.hover_branch(this.prev(obj))},get_left:function(force,rtl){if(this.settings.ui.rtl&&!rtl)return this.get_right(force,true);var obj=this.hovered||this.selected;if(obj){if(obj.hasClass("open"))this.close_branch(obj);else{return force?this.select_branch(this.parent(obj)):this.hover_branch(this.parent(obj))}}},get_right:function(force,rtl){if(this.settings.ui.rtl&&!rtl)return this.get_left(force,true);var obj=this.hovered||this.selected;if(obj){if(obj.hasClass("closed"))this.open_branch(obj);else{return force?this.select_branch(obj.find("li:eq(0)")):this.hover_branch(obj.find("li:eq(0)"))}}},toggleDots:function(){if(this.settings.ui.dots){this.settings.ui.dots=false;this.container.children("ul:eq(0)").addClass("no_dots")}else{this.settings.ui.dots=true;this.container.children("ul:eq(0)").removeClass("no_dots")}},toggleRTL:function(){if(this.settings.ui.rtl){this.settings.ui.rtl=false;this.container.css("direction","ltr").children("ul:eq(0)").removeClass("rtl").addClass("ltr")}else{this.settings.ui.rtl=true;this.container.css("direction","rtl").children("ul:eq(0)").removeClass("ltr").addClass("rtl")}},set_cookie:function(type){if(this.settings.cookies===false)return false;if(this.settings.cookies[type]===false)return false;switch(type){case"selected":if(this.settings.rules.multiple!=false&&this.selected_arr.length>1){var val=Array();$.each(this.selected_arr,function(){if(this.attr("id")){val.push(this.attr("id"))}});val=val.join(",")}else var val=this.selected?this.selected.attr("id"):false;$.cookie(this.settings.cookies.prefix+'_selected',val,this.settings.cookies.opts);break;case"open":var str="";this.container.find("li.open").each(function(i){if(this.id){str+=this.id+","}});$.cookie(this.settings.cookies.prefix+'_open',str.replace(/,$/ig,""),this.settings.cookies.opts);break}},get_rollback:function(){var rb={};if(this.context.to_remove&&this.context.apply_to)this.context.apply_to.children("a").removeClass("clicked");rb.html=this.container.html();if(this.context.to_remove&&this.context.apply_to)this.context.apply_to.children("a").addClass("clicked");rb.selected=this.selected?this.selected.attr("id"):false;return rb},moved:function(what,where,how,is_new,is_copy,rb){var what=$(what);var $parent=$(what).parents("ul:eq(0)");var $where=$(where);if(!rb){var rb={};rb[this.container.attr("id")]=this.get_rollback();if(!is_new){var tmp=what.size()>1?what.eq(0).parents(".tree:eq(0)"):what.parents(".tree:eq(0)");if(tmp.get(0)!=this.container.get(0)){tmp=tree_component.inst[tmp.attr("id")];rb[tmp.container.attr("id")]=tmp.get_rollback()}delete tmp}}if(how=="inside"&&this.settings.data.async&&this.get_node($where).hasClass("closed")){var _this=this;return this.open_branch(this.get_node($where),true,function(){_this.moved.apply(_this,[what,where,how,is_new,is_copy,rb])})}if(what.size()>1){var _this=this;var tmp=this.moved(what.eq(0),where,how,false,is_copy,rb);what.each(function(i){if(i==0)return;if(tmp){tmp=_this.moved(this,tmp.children("a:eq(0)"),"after",false,is_copy,rb)}});return}if(is_copy){_what=what.clone();_what.each(function(i){this.id=this.id+"_copy";$(this).find("li").each(function(){this.id=this.id+"_copy"});$(this).removeClass("dragged").find("a.clicked").removeClass("clicked ui-state-active").end().find("li.dragged").removeClass("dragged")})}else _what=what;if(is_new){if(!this.settings.callback.beforecreate.call(null,this.get_node(what).get(0),this.get_node(where).get(0),how,this))return false}else{if(!this.settings.callback.beforemove.call(null,this.get_node(what).get(0),this.get_node(where).get(0),how,this))return false}if(!is_new){var tmp=what.parents(".tree:eq(0)");if(tmp.get(0)!=this.container.get(0)){tmp=tree_component.inst[tmp.attr("id")];if(tmp.settings.languages.length){var res=[];if(this.settings.languages.length==0)res.push("."+tmp.current_lang);else{for(var i in this.settings.languages){if(typeof this.settings.languages[i]=="function")continue;for(var j in tmp.settings.languages){if(typeof tmp.settings.languages[j]=="function")continue;if(this.settings.languages[i]==tmp.settings.languages[j])res.push("."+this.settings.languages[i])}}}if(res.length==0)return this.error("MOVE: NO COMMON LANGUAGES");what.find("a").not(res.join(",")).remove()}what.find("a.clicked").removeClass("clicked ui-state-active")}}what=_what;switch(how){case"before":$where.parents("ul:eq(0)").children("li.last").removeClass("last");$where.parent().before(what.removeClass("last"));$where.parents("ul:eq(0)").children("li:last").addClass("last");break;case"after":$where.parents("ul:eq(0)").children("li.last").removeClass("last");$where.parent().after(what.removeClass("last"));$where.parents("ul:eq(0)").children("li:last").addClass("last");break;case"inside":if($where.parent().children("ul:first").size()){if(this.settings.rules.createat=="top")$where.parent().children("ul:first").prepend(what.removeClass("last")).children("li:last").addClass("last");else $where.parent().children("ul:first").children(".last").removeClass("last").end().append(what.removeClass("last")).children("li:last").addClass("last")}else{what.addClass("last");$where.parent().append("<ul/>").removeClass("leaf").addClass("closed");$where.parent().children("ul:first").prepend(what)}if($where.parent().hasClass("closed")){this.open_branch($where)}break;default:break}if($parent.find("li").size()==0){var $li=$parent.parent();$li.removeClass("open").removeClass("closed").addClass("leaf");if(!$li.is(".tree"))$li.children("ul").remove();$li.parents("ul:eq(0)").children("li.last").removeClass("last").end().children("li:last").addClass("last");this.set_cookie("open")}else{$parent.children("li.last").removeClass("last");$parent.children("li:last").addClass("last")}if(is_copy)this.settings.callback.oncopy.call(null,this.get_node(what).get(0),this.get_node(where).get(0),how,this,rb);else if(is_new)this.settings.callback.oncreate.call(null,this.get_node(what).get(0),($where.is("ul")?-1:this.get_node(where).get(0)),how,this,rb);else this.settings.callback.onmove.call(null,this.get_node(what).get(0),this.get_node(where).get(0),how,this,rb);return what},error:function(code){this.settings.callback.error.call(null,code,this);return false},lock:function(state){this.locked=state;if(this.locked)this.container.children("ul:eq(0)").addClass("locked");else this.container.children("ul:eq(0)").removeClass("locked")},cut:function(obj){if(this.locked)return this.error("LOCKED");obj=obj?this.get_node(obj):this.container.find("a.clicked").filter(":first-child").parent();if(!obj||!obj.size())return this.error("CUT: NO NODE SELECTED");this.copy_nodes=false;this.cut_nodes=obj},copy:function(obj){if(this.locked)return this.error("LOCKED");obj=obj?this.get_node(obj):this.container.find("a.clicked").filter(":first-child").parent();if(!obj||!obj.size())return this.error("COPY: NO NODE SELECTED");this.copy_nodes=obj;this.cut_nodes=false},paste:function(obj,position){if(this.locked)return this.error("LOCKED");var root=false;if(obj==-1){root=true;obj=this.container}else obj=obj?this.get_node(obj):this.selected;if(!root&&(!obj||!obj.size()))return this.error("PASTE: NO NODE SELECTED");if(!this.copy_nodes&&!this.cut_nodes)return this.error("PASTE: NOTHING TO DO");var _this=this;var pos=position;if(position=="before"){position=obj.parent().children().index(obj);obj=obj.parents("li:eq(0)")}else if(position=="after"){position=obj.parent().children().index(obj)+1;obj=obj.parents("li:eq(0)")}else if((typeof position).toLowerCase()=="undefined"||position=="inside"){position=(this.settings.rules.createat=="top")?0:obj.children("ul:eq(0)").children("li").size()}if(!root&&obj.size()==0){root=true;obj=this.container}if(this.copy_nodes&&this.copy_nodes.size()){var ok=true;if(!ok)return this.error("Invalid paste");if(!root&&!this.checkMove(this.copy_nodes,obj.children("a:eq(0)"),"inside"))return false;if(obj.children("ul").size()==0||(root==true&&obj.children("ul").children("li").size()==0)){if(!root)var a=this.moved(this.copy_nodes,obj.children("a:eq(0)"),"inside",false,true);else var a=this.moved(this.copy_nodes,this.container.children("ul:eq(0)"),"inside",false,true)}else if(pos=="before"&&obj.children("ul:eq(0)").children("li:nth-child("+(position+1)+")").size())var a=this.moved(this.copy_nodes,obj.children("ul:eq(0)").children("li:nth-child("+(position+1)+")").children("a:eq(0)"),"before",false,true);else if(pos=="after"&&obj.children("ul:eq(0)").children("li:nth-child("+(position)+")").size())var a=this.moved(this.copy_nodes,obj.children("ul:eq(0)").children("li:nth-child("+(position)+")").children("a:eq(0)"),"after",false,true);else if(obj.children("ul:eq(0)").children("li:nth-child("+(position+1)+")").size())var a=this.moved(this.copy_nodes,obj.children("ul:eq(0)").children("li:nth-child("+(position+1)+")").children("a:eq(0)"),"before",false,true);else var a=this.moved(this.copy_nodes,obj.children("ul:eq(0)").children("li:last").children("a:eq(0)"),"after",false,true);this.copy_nodes=false}if(this.cut_nodes&&this.cut_nodes.size()){var ok=true;obj.parents().andSelf().each(function(){if(_this.cut_nodes.index(this)!=-1){ok=false;return false}});if(!ok)return this.error("Invalid paste");if(!root&&!this.checkMove(this.cut_nodes,obj.children("a:eq(0)"),"inside"))return false;if(obj.children("ul").size()==0||(root==true&&obj.children("ul").children("li").size()==0)){if(!root)var a=this.moved(this.cut_nodes,obj.children("a:eq(0)"),"inside");else var a=this.moved(this.cut_nodes,this.container.children("ul:eq(0)"),"inside")}else if(pos=="before"&&obj.children("ul:eq(0)").children("li:nth-child("+(position+1)+")").size())var a=this.moved(this.cut_nodes,obj.children("ul:eq(0)").children("li:nth-child("+(position+1)+")").children("a:eq(0)"),"before");else if(pos=="after"&&obj.children("ul:eq(0)").children("li:nth-child("+(position)+")").size())var a=this.moved(this.cut_nodes,obj.children("ul:eq(0)").children("li:nth-child("+(position)+")").children("a:eq(0)"),"after");else if(obj.children("ul:eq(0)").children("li:nth-child("+(position+1)+")").size())var a=this.moved(this.cut_nodes,obj.children("ul:eq(0)").children("li:nth-child("+(position+1)+")").children("a:eq(0)"),"before");else var a=this.moved(this.cut_nodes,obj.children("ul:eq(0)").children("li:last").children("a:eq(0)"),"after");this.cut_nodes=false}},search:function(str){var _this=this;if(!str||(this.srch&&str!=this.srch)){this.srch="";this.srch_opn=false;this.container.find("a.search").removeClass("search ui-state-highlight")}this.srch=str;if(!str)return;if(this.settings.data.async){if(!this.srch_opn){var dd=$.extend({"search":str},this.settings.data.async_data(false,this));$.ajax({type:this.settings.data.method,url:this.settings.data.url,data:dd,dataType:"text",success:function(data){_this.srch_opn=$.unique(data.split(","));_this.search.apply(_this,[str])}})}else if(this.srch_opn.length){if(this.srch_opn&&this.srch_opn.length){var opn=false;for(var j=0;j<this.srch_opn.length;j++){if(this.get_node("#"+this.srch_opn[j]).size()>0){opn=true;var tmp="#"+this.srch_opn[j];delete this.srch_opn[j];this.open_branch(tmp,true,function(){_this.search.apply(_this,[str])})}}if(!opn){this.srch_opn=[];_this.search.apply(_this,[str])}}}else{var selector="a";if(this.settings.languages.length)selector+="."+this.current_lang;this.container.find(selector+":contains('"+str+"')").addClass(this.settings.ui.theme_name=="themeroller"?"search ui-state-highlight":"search");this.srch_opn=false}}else{var selector="a";if(this.settings.languages.length)selector+="."+this.current_lang;this.container.find(selector+":contains('"+str+"')").addClass(this.settings.ui.theme_name=="themeroller"?"search ui-state-highlight":"search").parents("li.closed").each(function(){_this.open_branch(this,true)})}},destroy:function(){this.hide_context();this.container.unbind(".jstree");$("#"+this.container.attr("id")).die("click.jstree").die("dblclick.jstree").die("contextmenu.jstree").die("mouseover.jstree").die("mouseout.jstree").die("mousedown.jstree");this.container.removeClass("tree ui-widget ui-widget-content tree-default tree-"+this.settings.ui.theme_name).children("ul").removeClass("no_dots rtl ltr locked").find("li").removeClass("leaf").removeClass("open").removeClass("closed").removeClass("last").children("a").removeClass("clicked hover search ui-state-active ui-state-hover ui-state-highlight ui-state-default");if(this.cntr==tree_component.focused){for(var i in tree_component.inst){if(i!=this.cntr&&i!=this.container.attr("id")){tree_component.inst[i].focus();break}}}tree_component.inst[this.cntr]=false;tree_component.inst[this.container.attr("id")]=false;delete tree_component.inst[this.cntr];delete tree_component.inst[this.container.attr("id")];tree_component.cntr--}}}})(jQuery);
@@ -7,3 +7,12 @@ Hopefully, this will evolve into a propper class.
7
7
  var spree;
8
8
  if (!spree) spree = {};
9
9
 
10
+ jQuery.noConflict()
11
+
12
+ jQuery(document).ajaxStart(function(){
13
+ jQuery("#progress").slideDown();
14
+ });
15
+
16
+ jQuery(document).ajaxStop(function(){
17
+ jQuery("#progress").slideUp();
18
+ });
@@ -0,0 +1,202 @@
1
+ var base_url = "/admin/taxonomies/" + taxonomy_id + "/taxons/";
2
+ var creating = false;
3
+ var delete_confirmed = false;
4
+ var last_rollback = null;
5
+
6
+
7
+ var show_progress = function(){
8
+ jQuery("#progress").show();
9
+ jQuery("#ajax_error").hide();
10
+ }
11
+
12
+ var hide_progress = function(){
13
+ jQuery("#progress").hide();
14
+ }
15
+
16
+ var handle_ajax_error = function(XMLHttpRequest, textStatus, errorThrown){
17
+ jQuery.tree_rollback(last_rollback);
18
+ jQuery("#progress").hide();
19
+ jQuery("#ajax_error").show().html("<strong>" + server_error + "</strong><br/>" + taxonomy_tree_error);
20
+ };
21
+
22
+ var handle_move = function(li, target, droppped, tree, rb) {
23
+ last_rollback = rb;
24
+ var position = jQuery(li).prevAll().length;
25
+
26
+ var parent = -1;
27
+
28
+ if(droppped=='inside'){
29
+ parent = target;
30
+ }else if(droppped=='after'){
31
+ parent = jQuery(target).parents()[1];
32
+ }else if(droppped=='before'){
33
+ parent = jQuery(target).parents()[1];
34
+ }
35
+
36
+ jQuery.ajax({
37
+ type: "POST",
38
+ url: base_url + li.id,
39
+ data: ({_method: "put", "taxon[parent_id]": parent.id, "taxon[position]": position, authenticity_token: AUTH_TOKEN}),
40
+ beforeSend: show_progress,
41
+ error: handle_ajax_error,
42
+ success: hide_progress
43
+ });
44
+
45
+ return true
46
+ };
47
+
48
+ var handle_dblclick = function(li, tree) {
49
+ tree.rename();
50
+ };
51
+
52
+ var handle_create = function(parent, sib, created, tree, rb){
53
+ last_rollback = rb;
54
+ creating=true;
55
+ };
56
+
57
+ var handle_created = function(id,result) {
58
+ hide_progress();
59
+
60
+ jQuery.tree_reference('taxonomy_tree').selected.attr('id', id);
61
+ }
62
+
63
+ var handle_rename = function(li, bl, tree, rb) {
64
+ var name = jQuery(li).children()[0].innerHTML;
65
+
66
+ if (creating){
67
+ //actually creating new
68
+ var position = jQuery(li).prevAll().length;
69
+ var parent = jQuery(li).parents()[1];
70
+
71
+ jQuery.ajax({
72
+ type: "POST",
73
+ url: base_url,
74
+ data: ({"taxon[name]": name, "taxon[parent_id]": parent.id, "taxon[position]": position, authenticity_token: AUTH_TOKEN}),
75
+ beforeSend: show_progress,
76
+ error: handle_ajax_error,
77
+ success: handle_created
78
+ });
79
+
80
+ creating = false;
81
+ }else{
82
+ //just renaming
83
+ last_rollback = rb;
84
+
85
+ jQuery.ajax({
86
+ type: "POST",
87
+ url: base_url + li.id,
88
+ data: ({_method: "put", "taxon[name]": name, authenticity_token: AUTH_TOKEN}),
89
+ beforeSend: show_progress,
90
+ error: handle_ajax_error,
91
+ success: hide_progress
92
+ });
93
+ }
94
+ };
95
+
96
+ var handle_before_delete = function(li){
97
+ if (!delete_confirmed){
98
+ jConfirm('Are you sure you want to delete this taxon?', 'Confirm Taxon Deletion', function(r) {
99
+ if(r){
100
+ delete_confirmed = true;
101
+ jQuery.tree_reference('taxonomy_tree').remove(li);
102
+ }
103
+ });
104
+ }
105
+
106
+ return delete_confirmed;
107
+ };
108
+
109
+ var handle_delete = function(li, tree, rb){
110
+ last_rollback = rb;
111
+
112
+ jQuery.ajax({
113
+ type: "POST",
114
+ url: base_url + li.id,
115
+ data: ({_method: "delete", authenticity_token: AUTH_TOKEN}),
116
+ beforeSend: show_progress,
117
+ error: handle_ajax_error,
118
+ success: hide_progress
119
+ });
120
+
121
+ delete_confirmed = false;
122
+ };
123
+
124
+ conf = {
125
+ ui : {
126
+ theme_path : "/javascripts/jsTree/source/themes/",
127
+ theme_name : "spree",
128
+ context : [
129
+ {
130
+ id : "create",
131
+ label : "Create",
132
+ icon : "create.png",
133
+ visible : function (NODE, TREE_OBJ) { if(NODE.length != 1) return false; return TREE_OBJ.check("creatable", NODE); },
134
+ action : function (NODE, TREE_OBJ) { TREE_OBJ.create({ attributes : { 'rel' : 'taxon' } }, TREE_OBJ.get_node(NODE)); }
135
+ },
136
+ "separator",
137
+ {
138
+ id : "rename",
139
+ label : "Rename",
140
+ icon : "rename.png",
141
+ visible : function (NODE, TREE_OBJ) { if(NODE.length != 1 || NODE[0].id == 'root') return false; return TREE_OBJ.check("renameable", NODE); },
142
+ action : function (NODE, TREE_OBJ) { jQuery.each(NODE, function () { TREE_OBJ.rename(this); }); }
143
+ },
144
+ {
145
+ id : "delete",
146
+ label : "Delete",
147
+ icon : "remove.png",
148
+ visible : function (NODE, TREE_OBJ) { var ok = true; jQuery.each(NODE, function () { if(TREE_OBJ.check("deletable", this) == false || this.id == 'root') ok = false; return false; }); return ok; },
149
+ action : function (NODE, TREE_OBJ) { jQuery.each(NODE, function () { TREE_OBJ.remove(this); }); }
150
+ },
151
+ "separator",
152
+ {
153
+ id : "cut",
154
+ label : "Cut",
155
+ icon : "cut.png",
156
+ visible : function (NODE, TREE_OBJ) { if(NODE.length != 1 || NODE[0].id == 'root') return false; return true; },
157
+ action : function (NODE, TREE_OBJ) { TREE_OBJ.cut(); jQuery(NODE).hide(); }
158
+ },
159
+ {
160
+ id : "paste",
161
+ label : "Paste",
162
+ icon : "paste.png",
163
+ visible : function (NODE, TREE_OBJ) { if(NODE.length != 1 || NODE[0].id == 'root') return false; return true; },
164
+ action : function (NODE, TREE_OBJ) { TREE_OBJ.open_branch(NODE); TREE_OBJ.paste(NODE); jQuery(NODE).children(":last").children(":last").show(); }
165
+ }
166
+
167
+ ]
168
+ },
169
+ lang : {
170
+ new_node : new_taxon,
171
+ loading : loading + "..."
172
+ },
173
+ rules : {
174
+ droppable : [ "tree-drop" ],
175
+ multiple : true,
176
+ deletable : ["taxon"],
177
+ draggable : ["taxon"],
178
+ dragrules : [ "taxon * taxon", "taxon inside root", ],
179
+ renameable : ["taxon"]
180
+ },
181
+ callback : {
182
+ onmove: handle_move,
183
+ ondblclk: handle_dblclick,
184
+ onrename: handle_rename,
185
+ oncreate: handle_create,
186
+ beforedelete: handle_before_delete,
187
+ ondelete: handle_delete
188
+ }
189
+ };
190
+
191
+ jQuery(document).ready(function(){
192
+
193
+ tax_tree = jQuery.tree_create();
194
+ tax_tree.init(jQuery("#taxonomy_tree"), jQuery.extend({},conf));
195
+
196
+ jQuery(document).keypress(function(e){
197
+ //surpress form submit on enter/return
198
+ if (e.keyCode == 13){
199
+ e.preventDefault();
200
+ }
201
+ });
202
+ });
@@ -1,7 +1,8 @@
1
1
  #language-bar,
2
2
  #login-nav,
3
3
  #store-nav {
4
- float: right; }
4
+ float: right;
5
+ margin-top: 10px;}
5
6
  #language-bar li,
6
7
  #login-nav li,
7
8
  #store-nav li {
@@ -42,7 +43,7 @@ body {
42
43
  color: #4884BD; }
43
44
  #header,
44
45
  #footer {
45
- padding: 1em 1em 0;
46
+ position: relative;
46
47
  clear: both; }
47
48
  #content {
48
49
  margin: 0em 1em 1em 1em;
@@ -128,7 +129,7 @@ body {
128
129
  color: #fff; }
129
130
  h1.logo {
130
131
  float: left;
131
- margin: 10px; }
132
+ margin: 20px 10px 10px 10px; }
132
133
  h1.logo a {
133
134
  background: url(../../images/admin/bg/spree_50.png) left center no-repeat;
134
135
  padding-left: 120px;
@@ -423,4 +424,36 @@ span.current_page {
423
424
  border: 1px solid navy;
424
425
  background-color: #2e6ab1;
425
426
  color: #FFF;
427
+ }
428
+
429
+ div#calculator-settings-warning {
430
+ color: #f00;
431
+ }
432
+ #progress{
433
+ display:none;
434
+ background:#154E8C url(../../images/admin/bg/admin_tab_back.png) repeat-x scroll left top;
435
+ color:#fff;
436
+ font-size:170%;
437
+ height:25px;
438
+ left:33%;
439
+ padding:10px 0 15px;
440
+ position:absolute;
441
+ text-align:center;
442
+ width:33%;
443
+ font-weight:bold;
444
+ -moz-border-radius-bottomleft:15px;
445
+ -moz-border-radius-bottomright:15px;
446
+ }
447
+ #progress img{
448
+ vertical-align:middle;
449
+ padding-right:10px;
450
+ }
451
+
452
+ ul#shipping-specs {
453
+ margin: 0;
454
+ padding-bottom:10px;
426
455
  }
456
+ ul#shipping-specs li {
457
+ list-style-image:none;
458
+ display:inline;
459
+ }
@@ -886,10 +886,29 @@ body.two-col #content {
886
886
  #footer {
887
887
  padding-top: 2em;
888
888
  clear: both; }
889
+ #footer div.left {
890
+ width: 45%; }
891
+ #footer div.right {
892
+ width: 55%; }
889
893
 
890
894
  h1 {
891
895
  font-size: 2.5em; }
892
896
 
897
+ .form-buttons, .clear {
898
+ clear: both; }
899
+
900
+ input.title {
901
+ width: auto; }
902
+
903
+ p.follow-all {
904
+ font-size: 1.3em;
905
+ text-align: center;
906
+ display: block; }
907
+ p img {
908
+ float: left;
909
+ margin-right: 5px;
910
+ vertical-align: middle; }
911
+
893
912
  .navigation-list {
894
913
  margin: 0 0 1.5em -15px; }
895
914
  .navigation-list li {
@@ -903,16 +922,26 @@ h1 {
903
922
  color: #333;
904
923
  display: block;
905
924
  line-height: 2.5em;
906
- padding-left: 20px; }
907
- .navigation-list li a:hover {
925
+ padding-left: 20px;
908
926
  width: 170px;
927
+ white-space: nowrap;
928
+ overflow: hidden; }
929
+ .navigation-list li a:hover {
909
930
  background: url(/images/menu-hover.png) right center no-repeat; }
910
931
  .navigation-list li.current {
911
932
  width: 200px; }
912
933
  .navigation-list li.current a {
913
- background: url(/images/menu-current.png) right center no-repeat; }
914
- .navigation-list li.current a:hover {
915
- width: 180px; }
934
+ width: 180px;
935
+ background: url(/images/menu-current.png) right center no-repeat;
936
+ white-space: nowrap;
937
+ overflow: hidden; }
938
+ .navigation-list li.current a.root {
939
+ width: 183px; }
940
+ .navigation-list a.root {
941
+ color: #222;
942
+ font-size: 1.5em;
943
+ text-indent: -5px;
944
+ line-height: 2.2em; }
916
945
 
917
946
  .breadcrumbs {
918
947
  margin-bottom: 1em; }
@@ -921,9 +950,9 @@ h1 {
921
950
  margin: 0px;
922
951
  padding: 0px;
923
952
  display: inline;
924
- overflow: auto;
925
953
  margin: 0;
926
- padding: 0; }
954
+ padding: 0;
955
+ overflow: auto; }
927
956
  .breadcrumbs ul li {
928
957
  margin: 0px;
929
958
  padding: 0px;
@@ -976,14 +1005,14 @@ ul#nav-bar {
976
1005
  text-align: right; }
977
1006
  .pagination a.page, .pagination span.page {
978
1007
  padding: 0px 5px;
979
- margin: 0 3px; }
1008
+ margin: 0px 3px; }
980
1009
  .pagination a.page {
981
1010
  text-decoration: none;
982
1011
  border: 1px solid #9aafe5;
983
1012
  color: #2e6ab1; }
984
1013
  .pagination a.page:hover, .pagination a.page:active {
985
1014
  border: 1px solid #2b66a5;
986
- color: #000; }
1015
+ color: black; }
987
1016
  .pagination a.next_page {
988
1017
  font-weight: bold; }
989
1018
  .pagination span.disabled_page {
@@ -994,99 +1023,7 @@ ul#nav-bar {
994
1023
  border: 1px solid;
995
1024
  border-color: #162f54;
996
1025
  background-color: #2e6ab1;
997
- color: #FFF; }
998
-
999
- .product-listing {
1000
- margin: 2em 0 0 0;
1001
- padding: 0; }
1002
- .product-listing li {
1003
- list-style-type: none;
1004
- margin-left: 0px; }
1005
- .product-listing li {
1006
- height: 180px;
1007
- width: 140px;
1008
- text-align: center;
1009
- float: left;
1010
- margin: 1em;
1011
- padding: 10px;
1012
- border: 1px solid #ddd;
1013
- position: relative;
1014
- -moz-border-radius: 3px;
1015
- -webkit-border-radius: 3px; }
1016
- .product-listing li a {
1017
- display: block;
1018
- text-decoration: none;
1019
- color: #111; }
1020
- .product-listing li a.info {
1021
- position: absolute;
1022
- bottom: 0px;
1023
- right: 0em;
1024
- padding: 5px;
1025
- width: 150px;
1026
- min-height: 60px;
1027
- background: #fff url(/images/shadow_top.png) 0px -35px repeat-x;
1028
- border-top: 1px solid #fff; }
1029
- .product-listing li a.info span {
1030
- display: block; }
1031
- .product-listing li.last {
1032
- margin-right: 0; }
1033
- .product-listing li:hover {
1034
- border-color: #1b1b1b; }
1035
- .product-listing li:hover a.info {
1036
- background: #1b1b1b url(/images/bottom_shine.png) bottom left repeat-x;
1037
- color: #fff; }
1038
-
1039
- ul#product-thumbnails {
1040
- margin: 0;
1041
- padding: 0;
1042
- list-style: none; }
1043
- ul#product-thumbnails li {
1044
- float: left;
1045
- margin-right: 5px;
1046
- padding: 3px;
1047
- border: 1px solid #fff; }
1048
- ul#product-thumbnails li:hover {
1049
- border-color: #ccc; }
1050
- ul#product-thumbnails li.selected {
1051
- border-color: #999; }
1052
-
1053
- #product-variants {
1054
- margin-bottom: 1em; }
1055
- #product-variants ul {
1056
- margin: 0;
1057
- padding: 0; }
1058
- #product-variants ul li {
1059
- list-style-type: none;
1060
- margin-left: 0px; }
1061
-
1062
- #product-images {
1063
- display: inline;
1064
- float: left;
1065
- margin-right: 10px;
1066
- width: 270px; }
1067
- * html #product-images {
1068
- overflow-x: hidden; }
1069
-
1070
- #product-description {
1071
- display: inline;
1072
- float: left;
1073
- margin-right: 10px;
1074
- width: 310px;
1075
- padding-right: 24px;
1076
- margin-right: 25px;
1077
- border-right: 1px solid #eee; }
1078
- * html #product-description {
1079
- overflow-x: hidden; }
1080
-
1081
- #cart-form {
1082
- display: inline;
1083
- float: left;
1084
- margin-right: 0;
1085
- width: 270px; }
1086
- * html #cart-form {
1087
- overflow-x: hidden; }
1088
- #cart-form button.large {
1089
- margin-bottom: 0px; }
1026
+ color: white; }
1090
1027
 
1091
1028
  .prices {
1092
1029
  font-weight: bold; }
@@ -1103,9 +1040,6 @@ ul#product-thumbnails {
1103
1040
  font-weight: normal;
1104
1041
  color: #666666; }
1105
1042
 
1106
- #subtotal {
1107
- float: right; }
1108
-
1109
1043
  #signup #new-customer, #login #existing-customer {
1110
1044
  display: inline;
1111
1045
  float: left;
@@ -1121,15 +1055,31 @@ ul#product-thumbnails {
1121
1055
  padding: 3px;
1122
1056
  margin: 0px; }
1123
1057
 
1058
+ .flash {
1059
+ -moz-border-radius: 5px;
1060
+ -webkit-border-radius: 5px; }
1061
+ .flash.notice, .flash.errors {
1062
+ font-size: 1.3em;
1063
+ margin-bottom: 1em;
1064
+ padding: 0.8em; }
1065
+ .flash.notice {
1066
+ background: #ccddff url(/images/shadow_top.png) 0px -50px repeat-x;
1067
+ color: #556699;
1068
+ border: 1px solid #99aacc; }
1069
+ .flash.errors {
1070
+ background: #f4b4b4 url(/images/shadow_top.png) 0px -50px repeat-x;
1071
+ color: black;
1072
+ border: 1px solid black; }
1073
+
1124
1074
  .formError, .errorExplanation {
1125
1075
  font-size: 1.3em;
1126
1076
  margin-bottom: 1em;
1127
1077
  padding: 0.8em;
1128
1078
  -moz-border-radius: 5px;
1129
1079
  -webkit-border-radius: 5px;
1130
- background: #F4B4B4 url(/images/shadow_top.png) repeat-x scroll 0pt -50px;
1131
- border: 1px solid #000;
1132
- color: #000; }
1080
+ background: #f4b4b4 url(/images/shadow_top.png) 0px -50px repeat-x;
1081
+ color: black;
1082
+ border: 1px solid black; }
1133
1083
  .formError p, .errorExplanation p {
1134
1084
  margin: 0px; }
1135
1085
  .formError ul, .errorExplanation ul {
@@ -1142,166 +1092,14 @@ ul#product-thumbnails {
1142
1092
  .fieldWithErrors {
1143
1093
  clear: none; }
1144
1094
 
1145
- div#checkout div#registration div.error, div#checkout div#shipping_method div.error {
1146
- width: 815px;
1147
- -moz-border-radius: 5px;
1148
- -webkit-border-radius: 5px; }
1149
- div#checkout div#billing input, div#checkout div#shipping input, div#checkout div#payment input, div#checkout div#registration_input input {
1150
- border: 1px solid #BBB; }
1151
- div#checkout div.inner {
1152
- display: none;
1153
- padding: 10px 2px; }
1154
- div#checkout h2 {
1155
- margin-bottom: 0.25em; }
1156
- div#checkout select.error, div#checkout input.error {
1157
- padding: 0px;
1158
- background: #FFF;
1159
- border: 1px solid #EAE8E3; }
1160
- div#checkout p {
1161
- clear: both;
1162
- margin-bottom: 15px; }
1163
- div#checkout p label {
1164
- float: left;
1165
- width: 150px;
1166
- position: relative;
1167
- top: 5px; }
1168
- div#checkout p span.req {
1169
- color: red;
1170
- margin-left: 2px;
1171
- position: relative;
1172
- top: -3px; }
1173
- div#checkout p input, div#checkout p select {
1174
- margin-left: 150px;
1175
- width: 200px;
1176
- margin: 0px; }
1177
- div#checkout p label.error {
1178
- color: red;
1179
- clear: both;
1180
- margin: 0px 0px 5px 150px;
1181
- top: 0px;
1182
- font-size: 11px;
1183
- border: none;
1184
- padding: 0px;
1185
- background: #FFF; }
1186
- div#checkout label.radio {
1187
- display: inline; }
1188
- div#checkout div#methods p, div#checkout div#registration_choice p {
1189
- margin-bottom: 7px; }
1190
- div#checkout div#methods p input, div#checkout div#methods p label, div#checkout div#registration_choice p input, div#checkout div#registration_choice p label {
1191
- display: inline;
1192
- float: none; }
1193
- div#checkout div#methods p label, div#checkout div#registration_choice p label {
1194
- margin: 0px 0px 0px 5px;
1195
- top: -1px;
1196
- width: 300px; }
1197
- div#checkout div#methods p input, div#checkout div#registration_choice p input {
1198
- width: 15px; }
1199
- div#checkout #registration {
1200
- background: transparent url(/images/steps/1.png) top right no-repeat; }
1201
- div#checkout #registration.completed, div#checkout #registration.disabled {
1202
- background-image: none; }
1203
- div#checkout #registration.completed h2, div#checkout #registration.disabled h2 {
1204
- background: transparent url(/images/steps/1_small.png) top left no-repeat; }
1205
- div#checkout #registration div#registration_choice {
1206
- float: left;
1207
- block: none;
1208
- margin-bottom: 1em; }
1209
- div#checkout #registration div#registration_input {
1210
- float: left;
1211
- margin-left: 100px; }
1212
- div#checkout #registration div#guest_user, div#checkout #registration div#existing_user {
1213
- display: none; }
1214
- div#checkout #registration div#already_logged_in {
1215
- display: none; }
1216
- div#checkout #billing {
1217
- background: transparent url(/images/steps/2.png) top right no-repeat; }
1218
- div#checkout #billing.completed, div#checkout #billing.disabled {
1219
- background-image: none; }
1220
- div#checkout #billing.completed h2, div#checkout #billing.disabled h2 {
1221
- background: transparent url(/images/steps/2_small.png) top left no-repeat; }
1222
- div#checkout #shipping {
1223
- background: transparent url(/images/steps/3.png) top right no-repeat; }
1224
- div#checkout #shipping label#use_billing {
1225
- top: -3px; }
1226
- div#checkout #shipping input#checkout_same_address {
1227
- border: none;
1228
- width: 12px; }
1229
- div#checkout #shipping.completed, div#checkout #shipping.disabled {
1230
- background-image: none; }
1231
- div#checkout #shipping.completed h2, div#checkout #shipping.disabled h2 {
1232
- background: transparent url(/images/steps/3_small.png) top left no-repeat;
1233
- padding-left: 32px; }
1234
- div#checkout #shipping_method {
1235
- background: transparent url(/images/steps/4.png) top right no-repeat; }
1236
- div#checkout #shipping_method div.inner {
1237
- padding-top: 0px; }
1238
- div#checkout #shipping_method.completed, div#checkout #shipping_method.disabled {
1239
- background-image: none; }
1240
- div#checkout #shipping_method.completed h2, div#checkout #shipping_method.disabled h2 {
1241
- background: transparent url(/images/steps/4_small.png) top left no-repeat; }
1242
- div#checkout #shipping_method div.error {
1243
- display: none; }
1244
- div#checkout #payment {
1245
- background: transparent url(/images/steps/5.png) top right no-repeat; }
1246
- div#checkout #payment.completed, div#checkout #payment.disabled {
1247
- background-image: none; }
1248
- div#checkout #payment.completed h2, div#checkout #payment.disabled h2 {
1249
- background: transparent url(/images/steps/5_small.png) top left no-repeat; }
1250
- div#checkout #payment p select {
1251
- width: 75px; }
1252
- div#checkout #confirmation {
1253
- background: transparent url(/images/steps/6.png) top right no-repeat; }
1254
- div#checkout #confirmation.completed, div#checkout #confirmation.disabled {
1255
- background-image: none; }
1256
- div#checkout #confirmation.completed h2, div#checkout #confirmation.disabled h2 {
1257
- background: transparent url(/images/steps/6_small.png) top left no-repeat; }
1258
- div#checkout #confirmation table.order-summary .price, div#checkout #confirmation table.order-summary .qty {
1259
- width: 165px; }
1260
- div#checkout #confirmation table.order-summary .total_display {
1261
- width: 300px; }
1262
- div#checkout #confirmation table.order-summary .total_display span {
1263
- display: block;
1264
- text-align: right;
1265
- padding-right: 150px; }
1266
- div#checkout #confirmation div#bdisplay, div#checkout #confirmation div#sdisplay {
1267
- float: left;
1268
- width: 300px;
1269
- clear: right; }
1270
- div#checkout .checkout.disabled h2, div#checkout .checkout.completed h2 {
1271
- padding-left: 32px;
1272
- color: #AFAFAF;
1273
- font-size: 1.4em;
1274
- padding-bottom: 10px;
1275
- border-bottom: 1px solid #ddd; }
1276
- div#checkout .checkout.disabled:last-child h2, div#checkout .checkout.completed:last-child h2 {
1277
- border-bottom: none; }
1278
- div#checkout .checkout.completed h2 {
1279
- color: #111;
1280
- border-color: #999; }
1281
- div#checkout input#continue_billing, div#checkout input#continue_shipping {
1282
- cursor: pointer;
1283
- width: 100px;
1284
- display: block;
1285
- clear: both;
1286
- margin-top: 10px; }
1287
- div#checkout p input#continue_registration, div#checkout p input#continue_shipping_method, div#checkout p input#continue_payment, div#checkout #confirm_order .inner input {
1288
- cursor: pointer;
1289
- width: 100px; }
1290
-
1291
- .form-buttons {
1292
- clear: both; }
1293
-
1294
- .clear {
1295
- clear: both; }
1296
-
1297
1095
  button,
1298
1096
  a.button, input.button {
1097
+ -moz-border-radius: 0.3em;
1098
+ -webkit-border-radius: 0.3em;
1299
1099
  background: #efefef url(/images/buttons/bg-button.png) center left repeat-x !important;
1300
1100
  border-style: solid;
1301
1101
  border-width: 1px !important;
1302
1102
  border-color: #ddd #999 #999 #ddd !important;
1303
- -moz-border-radius: .3em;
1304
- -webkit-border-radius: .3em;
1305
1103
  -moz-outline-radius: .3em;
1306
1104
  color: #111;
1307
1105
  display: inline-block;
@@ -1313,7 +1111,7 @@ a.button, input.button {
1313
1111
  font-variant: normal;
1314
1112
  font-weight: normal;
1315
1113
  line-height: 1.2em;
1316
- margin: 0;
1114
+ margin: 0px;
1317
1115
  overflow: visible;
1318
1116
  padding: 10px 17px;
1319
1117
  text-decoration: none;
@@ -1330,78 +1128,367 @@ a.button, input.button {
1330
1128
  background-image: url(/images/buttons/bg-button-hover.png) !important; }
1331
1129
  button.large,
1332
1130
  a.button.large, input.button.large {
1333
- font-size: 1.4em !important;
1334
- line-height: 1.4em;
1335
1131
  -moz-border-radius: 5px;
1336
- -webkit-border-radius: 5px; }
1132
+ -webkit-border-radius: 5px;
1133
+ font-size: 1.4em !important;
1134
+ line-height: 1.4em; }
1337
1135
  button.small,
1338
1136
  a.button.small, input.button.small {
1137
+ -moz-border-radius: 4px;
1138
+ -webkit-border-radius: 4px;
1339
1139
  font-size: .9em;
1340
1140
  line-height: 1.4em;
1341
- padding: 5px 10px;
1342
- -moz-border-radius: 4px;
1343
- -webkit-border-radius: 4px; }
1141
+ padding: 5px 10px; }
1344
1142
  button.small img,
1345
1143
  a.button.small img, input.button.small img {
1346
1144
  margin: 0 3px 0 0 !important; }
1347
- button.update img,
1348
- button.checkout img,
1349
- a.button.update img, input.button.update img,
1350
- a.button.checkout img, input.button.checkout img {
1145
+ button.update img, button.checkout img,
1146
+ a.button.update img, a.button.checkout img, input.button.update img, input.button.checkout img {
1351
1147
  margin-right: 7px; }
1352
1148
  button img,
1353
1149
  a.button img, input.button img {
1354
1150
  vertical-align: middle; }
1151
+ button:focus,
1152
+ a.button:focus, input.button:focus {
1153
+ outline: none; }
1355
1154
 
1356
- input.title {
1357
- width: auto; }
1155
+ button::-moz-focus-inner {
1156
+ padding: 0px;
1157
+ border: none; }
1358
1158
 
1359
1159
  p a.button img, p button img {
1360
1160
  margin: 0 5px 0 0; }
1361
- p.follow-all {
1362
- font-size: 1.3em;
1363
- text-align: center;
1364
- display: block; }
1365
- p img {
1366
- float: left;
1367
- margin-right: 5px;
1368
- vertical-align: middle; }
1369
1161
 
1370
- a.button:focus {
1371
- outline: none; }
1372
- a.button:active {
1373
- }
1162
+ .product-listing {
1163
+ margin: 2em 0px 0px 0px;
1164
+ padding: 0px; }
1165
+ .product-listing li {
1166
+ list-style-type: none;
1167
+ margin-left: 0px; }
1168
+ .product-listing li {
1169
+ -moz-border-radius: 3px;
1170
+ -webkit-border-radius: 3px;
1171
+ height: 180px;
1172
+ width: 140px;
1173
+ text-align: center;
1174
+ float: left;
1175
+ margin: 1em;
1176
+ padding: 10px;
1177
+ border: 1px solid #ddd;
1178
+ position: relative; }
1179
+ .product-listing li a {
1180
+ display: block;
1181
+ text-decoration: none;
1182
+ color: #111; }
1183
+ .product-listing li a.info {
1184
+ position: absolute;
1185
+ bottom: 0px;
1186
+ right: 0px;
1187
+ padding: 5px;
1188
+ width: 150px;
1189
+ min-height: 60px;
1190
+ background: #FFF url(/images/shadow_top.png) 0px -35px repeat-x;
1191
+ border-top: 1px solid white; }
1192
+ .product-listing li a.info span {
1193
+ display: block; }
1194
+ .product-listing li.last {
1195
+ margin-right: 0px; }
1196
+ .product-listing li:hover {
1197
+ border-color: #1B1B1B; }
1198
+ .product-listing li:hover a.info {
1199
+ background: #1B1B1B url(/images/bottom_shine.png) bottom left repeat-x;
1200
+ color: #fff; }
1374
1201
 
1375
- button::-moz-focus-inner {
1202
+ ul.thumbnails {
1203
+ margin: 0;
1376
1204
  padding: 0;
1377
- border: none; }
1205
+ list-style: none; }
1206
+ ul.thumbnails li {
1207
+ float: left;
1208
+ margin-right: 5px;
1209
+ padding: 3px;
1210
+ border: 1px solid white;
1211
+ min-height: 50px;
1212
+ width: 50px;
1213
+ position: relative; }
1214
+ ul.thumbnails li:hover {
1215
+ border-color: #CCC; }
1216
+ ul.thumbnails li.selected {
1217
+ border-color: #999; }
1218
+ ul.thumbnails li img {
1219
+ position: absolute;
1220
+ top: 0;
1221
+ bottom: 0;
1222
+ left: 0;
1223
+ right: 0;
1224
+ margin: auto; }
1225
+
1226
+ #product-variants {
1227
+ margin-bottom: 1em; }
1228
+ #product-variants ul {
1229
+ margin: 0;
1230
+ padding: 0; }
1231
+ #product-variants ul li {
1232
+ list-style-type: none;
1233
+ margin-left: 0px; }
1234
+
1235
+ #product-images {
1236
+ display: inline;
1237
+ float: left;
1238
+ margin-right: 10px;
1239
+ width: 270px; }
1240
+ * html #product-images {
1241
+ overflow-x: hidden; }
1242
+ #product-images h4 {
1243
+ padding: 6px 0px;
1244
+ margin: 0px;
1245
+ font-weight: bold;
1246
+ clear: both; }
1247
+ #product-images #main-image {
1248
+ min-height: 250px;
1249
+ position: relative; }
1250
+ #product-images #main-image img {
1251
+ position: absolute;
1252
+ top: 0;
1253
+ bottom: 0;
1254
+ left: 0;
1255
+ right: 0;
1256
+ margin: auto; }
1257
+
1258
+ #product-description {
1259
+ display: inline;
1260
+ float: left;
1261
+ margin-right: 10px;
1262
+ width: 310px;
1263
+ padding-right: 24px;
1264
+ margin-right: 25px;
1265
+ border-right: 1px solid #eee; }
1266
+ * html #product-description {
1267
+ overflow-x: hidden; }
1268
+
1269
+ #cart-form {
1270
+ display: inline;
1271
+ float: left;
1272
+ margin-right: 0;
1273
+ width: 270px; }
1274
+ * html #cart-form {
1275
+ overflow-x: hidden; }
1276
+
1277
+ div#subtotal {
1278
+ float: right;
1279
+ width: 49%;
1280
+ text-align: right;
1281
+ width: auto;
1282
+ text-align: left; }
1378
1283
 
1379
1284
  table {
1380
1285
  border-collapse: collapse; }
1381
1286
  table th {
1382
1287
  background: transparent;
1383
1288
  padding: 10px;
1384
- border-bottom: 1px solid #ddd; }
1289
+ border-bottom: 1px solid #DDD; }
1385
1290
  table#cart tr td {
1386
- border-bottom: 1px solid #ddd;
1291
+ border-bottom: 1px solid #DDD;
1387
1292
  padding: 1em 0; }
1388
1293
  table#cart tr#none td {
1389
1294
  border-bottom: none; }
1390
1295
  table#cart h4 {
1391
1296
  margin-bottom: 0em; }
1392
1297
 
1393
- .flash {
1394
- -moz-border-radius: 5px;
1395
- -webkit-border-radius: 5px; }
1396
- .flash.notice, .flash.errors {
1397
- font-size: 1.3em;
1398
- margin-bottom: 1em;
1399
- padding: 0.8em; }
1400
- .flash.notice {
1401
- background: #cdf url(/images/shadow_top.png) 0 -50px repeat-x;
1402
- color: #569;
1403
- border: 1px solid #9ac; }
1404
- .flash.errors {
1405
- color: #000;
1406
- background: #F4B4B4 url(/images/shadow_top.png) 0 -50px repeat-x;
1407
- border: 1px solid #000; }
1298
+ div#checkout {
1299
+ width: 720px;
1300
+ float: left; }
1301
+ div#checkout div#registration div.error, div#checkout div#shipping_method div.error {
1302
+ -moz-border-radius: 5px;
1303
+ -webkit-border-radius: 5px;
1304
+ width: 815px; }
1305
+ div#checkout div#billing input, div#checkout div#shipping input, div#checkout div#payment input, div#checkout div#registration_input input {
1306
+ border: 1px solid #bbbbbb; }
1307
+ div#checkout select.error, div#checkout input.error {
1308
+ padding: 0px;
1309
+ background: white;
1310
+ border: 1px solid #EAE8E3; }
1311
+ div#checkout p {
1312
+ clear: both;
1313
+ margin-bottom: 15px; }
1314
+ div#checkout p label {
1315
+ float: left;
1316
+ width: 150px;
1317
+ position: relative;
1318
+ top: 5px; }
1319
+ div#checkout p span.req {
1320
+ color: red;
1321
+ margin-left: 2px;
1322
+ position: relative;
1323
+ top: -3px; }
1324
+ div#checkout p input, div#checkout p select {
1325
+ margin-left: 150px;
1326
+ width: 200px;
1327
+ margin: 0px; }
1328
+ div#checkout p label.error {
1329
+ color: red;
1330
+ clear: both;
1331
+ margin: 0px 0px 5px 150px;
1332
+ top: 0px;
1333
+ font-size: 11px;
1334
+ border: none;
1335
+ padding: 0px;
1336
+ background: white; }
1337
+ div#checkout label.radio {
1338
+ display: inline; }
1339
+ div#checkout div#methods p, div#checkout div#registration_choice p {
1340
+ margin-bottom: 7px; }
1341
+ div#checkout div#methods p input, div#checkout div#methods p label, div#checkout div#registration_choice p input, div#checkout div#registration_choice p label {
1342
+ display: inline;
1343
+ float: none; }
1344
+ div#checkout div#methods p label, div#checkout div#registration_choice p label {
1345
+ margin: 0px 0px 0px 5px;
1346
+ top: -1px;
1347
+ width: 300px; }
1348
+ div#checkout div#methods p input, div#checkout div#registration_choice p input {
1349
+ width: 15px; }
1350
+ div#checkout #registration {
1351
+ background: transparent url(/images/steps/1.png) top right no-repeat; }
1352
+ div#checkout #registration.completed, div#checkout #registration.disabled {
1353
+ background-image: none; }
1354
+ div#checkout #registration.completed h2, div#checkout #registration.disabled h2 {
1355
+ background: transparent url(/images/steps/1_small.png) top left no-repeat;
1356
+ margin-bottom: 0.25em; }
1357
+ div#checkout #registration div.inner {
1358
+ display: none;
1359
+ padding: 10px 2px; }
1360
+ div#checkout #registration div#registration_choice {
1361
+ float: left;
1362
+ block: none;
1363
+ margin-bottom: 1em; }
1364
+ div#checkout #registration div#registration_input {
1365
+ float: left;
1366
+ margin-left: 100px; }
1367
+ div#checkout #registration div#guest_user, div#checkout #registration div#existing_user, div#checkout #registration div#already_logged_in {
1368
+ display: none; }
1369
+ div#checkout #billing {
1370
+ background: transparent url(/images/steps/2.png) top right no-repeat; }
1371
+ div#checkout #billing.completed, div#checkout #billing.disabled {
1372
+ background-image: none; }
1373
+ div#checkout #billing.completed h2, div#checkout #billing.disabled h2 {
1374
+ background: transparent url(/images/steps/2_small.png) top left no-repeat;
1375
+ margin-bottom: 0.25em; }
1376
+ div#checkout #billing div.inner {
1377
+ display: none;
1378
+ padding: 10px 2px; }
1379
+ div#checkout #shipping {
1380
+ background: transparent url(/images/steps/3.png) top right no-repeat; }
1381
+ div#checkout #shipping.completed, div#checkout #shipping.disabled {
1382
+ background-image: none; }
1383
+ div#checkout #shipping.completed h2, div#checkout #shipping.disabled h2 {
1384
+ background: transparent url(/images/steps/3_small.png) top left no-repeat;
1385
+ margin-bottom: 0.25em; }
1386
+ div#checkout #shipping div.inner {
1387
+ display: none;
1388
+ padding: 10px 2px; }
1389
+ div#checkout #shipping span#clear_same_address {
1390
+ clear: both;
1391
+ display: block; }
1392
+ div#checkout #shipping span#checkout_same_address {
1393
+ float: left;
1394
+ display: block;
1395
+ border: 1px solid #bbbbbb;
1396
+ width: 20px;
1397
+ height: 20px; }
1398
+ div#checkout #shipping span#checkout_same_address:hover {
1399
+ cursor: pointer; }
1400
+ div#checkout #shipping span#checkout_same_address.is_checked {
1401
+ background: transparent url(/images/checkmark.png) top right no-repeat; }
1402
+ div#checkout #shipping.completed h2, div#checkout #shipping.disabled h2 {
1403
+ padding-left: 32px; }
1404
+ div#checkout #shipping_method {
1405
+ background: transparent url(/images/steps/4.png) top right no-repeat; }
1406
+ div#checkout #shipping_method.completed, div#checkout #shipping_method.disabled {
1407
+ background-image: none; }
1408
+ div#checkout #shipping_method.completed h2, div#checkout #shipping_method.disabled h2 {
1409
+ background: transparent url(/images/steps/4_small.png) top left no-repeat;
1410
+ margin-bottom: 0.25em; }
1411
+ div#checkout #shipping_method div.inner {
1412
+ display: none;
1413
+ padding: 10px 2px; }
1414
+ div#checkout #shipping_method div.inner {
1415
+ padding-top: 0px; }
1416
+ div#checkout #shipping_method div.error {
1417
+ display: none; }
1418
+ div#checkout #payment {
1419
+ background: transparent url(/images/steps/5.png) top right no-repeat; }
1420
+ div#checkout #payment.completed, div#checkout #payment.disabled {
1421
+ background-image: none; }
1422
+ div#checkout #payment.completed h2, div#checkout #payment.disabled h2 {
1423
+ background: transparent url(/images/steps/5_small.png) top left no-repeat;
1424
+ margin-bottom: 0.25em; }
1425
+ div#checkout #payment div.inner {
1426
+ display: none;
1427
+ padding: 10px 2px; }
1428
+ div#checkout #payment p select {
1429
+ width: 75px; }
1430
+ div#checkout #confirmation {
1431
+ background: transparent url(/images/steps/6.png) top right no-repeat; }
1432
+ div#checkout #confirmation.completed, div#checkout #confirmation.disabled {
1433
+ background-image: none; }
1434
+ div#checkout #confirmation.completed h2, div#checkout #confirmation.disabled h2 {
1435
+ background: transparent url(/images/steps/6_small.png) top left no-repeat;
1436
+ margin-bottom: 0.25em; }
1437
+ div#checkout #confirmation div.inner {
1438
+ display: none;
1439
+ padding: 10px 2px; }
1440
+ div#checkout #confirmation table.order-summary .price, div#checkout #confirmation table.order-summary .qty {
1441
+ width: 165px; }
1442
+ div#checkout #confirmation table.order-summary .total_display {
1443
+ width: 300px; }
1444
+ div#checkout #confirmation table.order-summary .total_display span {
1445
+ display: block;
1446
+ text-align: right;
1447
+ padding-right: 150px; }
1448
+ div#checkout #confirmation div#bdisplay, div#checkout #confirmation div#sdisplay {
1449
+ float: left;
1450
+ width: 300px;
1451
+ clear: right; }
1452
+ div#checkout .checkout.disabled h2, div#checkout .checkout.completed h2 {
1453
+ padding-left: 32px;
1454
+ color: #AFAFAF;
1455
+ font-size: 1.4em;
1456
+ padding-bottom: 10px;
1457
+ border-bottom: 1px solid #DDD; }
1458
+ div#checkout .checkout.disabled:last-child h2, div#checkout .checkout.completed:last-child h2 {
1459
+ border-bottom: none; }
1460
+ div#checkout .checkout.completed h2 {
1461
+ color: #111;
1462
+ border-color: #999; }
1463
+ div#checkout input#continue_billing, div#checkout input#continue_shipping {
1464
+ display: block;
1465
+ clear: both;
1466
+ margin-top: 10px; }
1467
+ div#checkout input#continue_billing, div#checkout input#continue_shipping, div#checkout p input#continue_registration, div#checkout p input#continue_shipping_method, div#checkout p input#continue_payment, div#checkout #confirm_order .inner input {
1468
+ cursor: pointer;
1469
+ width: 100px; }
1470
+ div#checkout input#checkout_same_address {
1471
+ margin-top: 8px;
1472
+ width: 15px; }
1473
+
1474
+ div#order table.order-summary .price, div#order table.order-summary .qty {
1475
+ width: 165px; }
1476
+ div#order table.order-summary .total_display {
1477
+ width: 300px; }
1478
+ div#order table.order-summary .total_display span {
1479
+ display: block;
1480
+ text-align: right;
1481
+ padding-right: 150px; }
1482
+
1483
+
1484
+ tbody#order-credits {
1485
+ color: #f00; }
1486
+
1487
+ div#checkout-summary {
1488
+ float: right;
1489
+ width: 180px;
1490
+ background-color: #C3C9DF;
1491
+ padding: 20px;
1492
+ margin-top: 10px; }
1493
+ div#checkout-summary th, div#checkout-summary td, div#checkout-summary caption {
1494
+ padding: 0px; }