solidus_frontend 1.0.0.pre

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

Potentially problematic release.


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

Files changed (416) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +26 -0
  3. data/README.md +21 -0
  4. data/app/assets/images/credit_cards/amex_cid.gif +0 -0
  5. data/app/assets/images/credit_cards/credit_card.gif +0 -0
  6. data/app/assets/images/credit_cards/discover_cid.gif +0 -0
  7. data/app/assets/images/credit_cards/icons/american_express.png +0 -0
  8. data/app/assets/images/credit_cards/icons/cirrus.png +0 -0
  9. data/app/assets/images/credit_cards/icons/delta.png +0 -0
  10. data/app/assets/images/credit_cards/icons/diners_club.png +0 -0
  11. data/app/assets/images/credit_cards/icons/directdebit.png +0 -0
  12. data/app/assets/images/credit_cards/icons/discover.png +0 -0
  13. data/app/assets/images/credit_cards/icons/egold.png +0 -0
  14. data/app/assets/images/credit_cards/icons/maestro.png +0 -0
  15. data/app/assets/images/credit_cards/icons/master.png +0 -0
  16. data/app/assets/images/credit_cards/icons/paypal.png +0 -0
  17. data/app/assets/images/credit_cards/icons/solo.png +0 -0
  18. data/app/assets/images/credit_cards/icons/switch.png +0 -0
  19. data/app/assets/images/credit_cards/icons/visa.png +0 -0
  20. data/app/assets/images/credit_cards/icons/visaelectron.png +0 -0
  21. data/app/assets/images/credit_cards/icons/westernunion.png +0 -0
  22. data/app/assets/images/credit_cards/icons/wirecard.png +0 -0
  23. data/app/assets/images/credit_cards/icons/worldpay.png +0 -0
  24. data/app/assets/images/credit_cards/master_cid.jpg +0 -0
  25. data/app/assets/images/credit_cards/visa_cid.gif +0 -0
  26. data/app/assets/images/favicon.ico +0 -0
  27. data/app/assets/images/icons/add-to-cart.png +0 -0
  28. data/app/assets/images/icons/checkout.png +0 -0
  29. data/app/assets/images/icons/delete.png +0 -0
  30. data/app/assets/images/icons/update.png +0 -0
  31. data/app/assets/images/spinner.gif +0 -0
  32. data/app/assets/images/spree/frontend/cart.png +0 -0
  33. data/app/assets/images/spree/frontend/select_arrow.gif +0 -0
  34. data/app/assets/javascripts/spree/frontend/cart.js.coffee +15 -0
  35. data/app/assets/javascripts/spree/frontend/checkout/address.js.coffee +86 -0
  36. data/app/assets/javascripts/spree/frontend/checkout/payment.js.coffee +79 -0
  37. data/app/assets/javascripts/spree/frontend/checkout.js.coffee +11 -0
  38. data/app/assets/javascripts/spree/frontend/product.js.coffee +47 -0
  39. data/app/assets/javascripts/spree/frontend.js +5 -0
  40. data/app/assets/stylesheets/spree/frontend/_variables.scss +61 -0
  41. data/app/assets/stylesheets/spree/frontend/screen.css.scss +1321 -0
  42. data/app/assets/stylesheets/spree/frontend.css +6 -0
  43. data/app/controllers/spree/checkout_controller.rb +167 -0
  44. data/app/controllers/spree/content_controller.rb +23 -0
  45. data/app/controllers/spree/home_controller.rb +12 -0
  46. data/app/controllers/spree/locale_controller.rb +16 -0
  47. data/app/controllers/spree/orders_controller.rb +115 -0
  48. data/app/controllers/spree/products_controller.rb +45 -0
  49. data/app/controllers/spree/store_controller.rb +47 -0
  50. data/app/controllers/spree/taxons_controller.rb +28 -0
  51. data/app/models/spree/frontend_configuration.rb +5 -0
  52. data/app/views/spree/address/_form.html.erb +75 -0
  53. data/app/views/spree/checkout/_address.html.erb +33 -0
  54. data/app/views/spree/checkout/_confirm.html.erb +12 -0
  55. data/app/views/spree/checkout/_delivery.html.erb +100 -0
  56. data/app/views/spree/checkout/_payment.html.erb +71 -0
  57. data/app/views/spree/checkout/_summary.html.erb +72 -0
  58. data/app/views/spree/checkout/edit.html.erb +37 -0
  59. data/app/views/spree/checkout/payment/_check.html.erb +0 -0
  60. data/app/views/spree/checkout/payment/_gateway.html.erb +32 -0
  61. data/app/views/spree/content/cvv.html.erb +13 -0
  62. data/app/views/spree/content/test.html.erb +1 -0
  63. data/app/views/spree/home/index.html.erb +12 -0
  64. data/app/views/spree/layouts/spree_application.html.erb +37 -0
  65. data/app/views/spree/orders/_adjustment_row.html.erb +8 -0
  66. data/app/views/spree/orders/_adjustments.html.erb +24 -0
  67. data/app/views/spree/orders/_form.html.erb +28 -0
  68. data/app/views/spree/orders/_line_item.html.erb +36 -0
  69. data/app/views/spree/orders/edit.html.erb +47 -0
  70. data/app/views/spree/orders/show.html.erb +22 -0
  71. data/app/views/spree/payments/_payment.html.erb +18 -0
  72. data/app/views/spree/products/_cart_form.html.erb +65 -0
  73. data/app/views/spree/products/_image.html.erb +5 -0
  74. data/app/views/spree/products/_promotions.html.erb +19 -0
  75. data/app/views/spree/products/_properties.html.erb +15 -0
  76. data/app/views/spree/products/_taxons.html.erb +14 -0
  77. data/app/views/spree/products/_thumbnails.html.erb +19 -0
  78. data/app/views/spree/products/index.html.erb +27 -0
  79. data/app/views/spree/products/show.html.erb +51 -0
  80. data/app/views/spree/shared/_address.html.erb +38 -0
  81. data/app/views/spree/shared/_filters.html.erb +27 -0
  82. data/app/views/spree/shared/_footer.html.erb +6 -0
  83. data/app/views/spree/shared/_google_analytics.html.erb +36 -0
  84. data/app/views/spree/shared/_head.html.erb +14 -0
  85. data/app/views/spree/shared/_header.html.erb +5 -0
  86. data/app/views/spree/shared/_link_to_cart.html.erb +1 -0
  87. data/app/views/spree/shared/_main_nav_bar.html.erb +12 -0
  88. data/app/views/spree/shared/_nav_bar.html.erb +7 -0
  89. data/app/views/spree/shared/_order_details.html.erb +147 -0
  90. data/app/views/spree/shared/_products.html.erb +46 -0
  91. data/app/views/spree/shared/_search.html.erb +11 -0
  92. data/app/views/spree/shared/_shipment_tracking.html.erb +9 -0
  93. data/app/views/spree/shared/_sidebar.html.erb +3 -0
  94. data/app/views/spree/shared/_taxonomies.html.erb +9 -0
  95. data/app/views/spree/shared/unauthorized.html.erb +0 -0
  96. data/app/views/spree/store/cart_link.html.erb +1 -0
  97. data/app/views/spree/taxons/_taxon.html.erb +4 -0
  98. data/app/views/spree/taxons/show.html.erb +20 -0
  99. data/config/initializers/assets.rb +1 -0
  100. data/config/initializers/canonical_rails.rb +15 -0
  101. data/config/initializers/check_for_orphaned_preferences.rb +9 -0
  102. data/config/initializers/deprecation_checker.rb +7 -0
  103. data/config/initializers/rails_5868.rb +8 -0
  104. data/config/initializers/spree.rb +4 -0
  105. data/config/routes.rb +37 -0
  106. data/lib/solidus_frontend.rb +1 -0
  107. data/lib/spree/frontend/engine.rb +19 -0
  108. data/lib/spree/frontend/middleware/seo_assist.rb +51 -0
  109. data/lib/spree/frontend/preference_rescue.rb +25 -0
  110. data/lib/spree/frontend.rb +10 -0
  111. data/lib/spree_frontend.rb +1 -0
  112. data/lib/tasks/rake_util.rb +19 -0
  113. data/lib/tasks/taxon.rake +14 -0
  114. data/vendor/assets/images/datepicker/cal.gif +0 -0
  115. data/vendor/assets/images/flags/ad.png +0 -0
  116. data/vendor/assets/images/flags/ae.png +0 -0
  117. data/vendor/assets/images/flags/af.png +0 -0
  118. data/vendor/assets/images/flags/ag.png +0 -0
  119. data/vendor/assets/images/flags/ai.png +0 -0
  120. data/vendor/assets/images/flags/al.png +0 -0
  121. data/vendor/assets/images/flags/am.png +0 -0
  122. data/vendor/assets/images/flags/an.png +0 -0
  123. data/vendor/assets/images/flags/ao.png +0 -0
  124. data/vendor/assets/images/flags/ar.png +0 -0
  125. data/vendor/assets/images/flags/as.png +0 -0
  126. data/vendor/assets/images/flags/at.png +0 -0
  127. data/vendor/assets/images/flags/au.png +0 -0
  128. data/vendor/assets/images/flags/aw.png +0 -0
  129. data/vendor/assets/images/flags/ax.png +0 -0
  130. data/vendor/assets/images/flags/az.png +0 -0
  131. data/vendor/assets/images/flags/ba.png +0 -0
  132. data/vendor/assets/images/flags/bb.png +0 -0
  133. data/vendor/assets/images/flags/bd.png +0 -0
  134. data/vendor/assets/images/flags/be.png +0 -0
  135. data/vendor/assets/images/flags/bf.png +0 -0
  136. data/vendor/assets/images/flags/bg.png +0 -0
  137. data/vendor/assets/images/flags/bh.png +0 -0
  138. data/vendor/assets/images/flags/bi.png +0 -0
  139. data/vendor/assets/images/flags/bj.png +0 -0
  140. data/vendor/assets/images/flags/bm.png +0 -0
  141. data/vendor/assets/images/flags/bn.png +0 -0
  142. data/vendor/assets/images/flags/bo.png +0 -0
  143. data/vendor/assets/images/flags/br.png +0 -0
  144. data/vendor/assets/images/flags/bs.png +0 -0
  145. data/vendor/assets/images/flags/bt.png +0 -0
  146. data/vendor/assets/images/flags/bv.png +0 -0
  147. data/vendor/assets/images/flags/bw.png +0 -0
  148. data/vendor/assets/images/flags/by.png +0 -0
  149. data/vendor/assets/images/flags/bz.png +0 -0
  150. data/vendor/assets/images/flags/ca.png +0 -0
  151. data/vendor/assets/images/flags/catalonia.png +0 -0
  152. data/vendor/assets/images/flags/cc.png +0 -0
  153. data/vendor/assets/images/flags/cd.png +0 -0
  154. data/vendor/assets/images/flags/cf.png +0 -0
  155. data/vendor/assets/images/flags/cg.png +0 -0
  156. data/vendor/assets/images/flags/ch.png +0 -0
  157. data/vendor/assets/images/flags/ci.png +0 -0
  158. data/vendor/assets/images/flags/ck.png +0 -0
  159. data/vendor/assets/images/flags/cl.png +0 -0
  160. data/vendor/assets/images/flags/cm.png +0 -0
  161. data/vendor/assets/images/flags/cn.png +0 -0
  162. data/vendor/assets/images/flags/co.png +0 -0
  163. data/vendor/assets/images/flags/cr.png +0 -0
  164. data/vendor/assets/images/flags/cs.png +0 -0
  165. data/vendor/assets/images/flags/cu.png +0 -0
  166. data/vendor/assets/images/flags/cv.png +0 -0
  167. data/vendor/assets/images/flags/cx.png +0 -0
  168. data/vendor/assets/images/flags/cy.png +0 -0
  169. data/vendor/assets/images/flags/cz.png +0 -0
  170. data/vendor/assets/images/flags/de.png +0 -0
  171. data/vendor/assets/images/flags/dj.png +0 -0
  172. data/vendor/assets/images/flags/dk.png +0 -0
  173. data/vendor/assets/images/flags/dm.png +0 -0
  174. data/vendor/assets/images/flags/do.png +0 -0
  175. data/vendor/assets/images/flags/dz.png +0 -0
  176. data/vendor/assets/images/flags/ec.png +0 -0
  177. data/vendor/assets/images/flags/ee.png +0 -0
  178. data/vendor/assets/images/flags/eg.png +0 -0
  179. data/vendor/assets/images/flags/eh.png +0 -0
  180. data/vendor/assets/images/flags/england.png +0 -0
  181. data/vendor/assets/images/flags/er.png +0 -0
  182. data/vendor/assets/images/flags/es.png +0 -0
  183. data/vendor/assets/images/flags/et.png +0 -0
  184. data/vendor/assets/images/flags/europeanunion.png +0 -0
  185. data/vendor/assets/images/flags/fam.png +0 -0
  186. data/vendor/assets/images/flags/fi.png +0 -0
  187. data/vendor/assets/images/flags/fj.png +0 -0
  188. data/vendor/assets/images/flags/fk.png +0 -0
  189. data/vendor/assets/images/flags/fm.png +0 -0
  190. data/vendor/assets/images/flags/fo.png +0 -0
  191. data/vendor/assets/images/flags/fr.png +0 -0
  192. data/vendor/assets/images/flags/ga.png +0 -0
  193. data/vendor/assets/images/flags/gb.png +0 -0
  194. data/vendor/assets/images/flags/gd.png +0 -0
  195. data/vendor/assets/images/flags/ge.png +0 -0
  196. data/vendor/assets/images/flags/gf.png +0 -0
  197. data/vendor/assets/images/flags/gh.png +0 -0
  198. data/vendor/assets/images/flags/gi.png +0 -0
  199. data/vendor/assets/images/flags/gl.png +0 -0
  200. data/vendor/assets/images/flags/gm.png +0 -0
  201. data/vendor/assets/images/flags/gn.png +0 -0
  202. data/vendor/assets/images/flags/gp.png +0 -0
  203. data/vendor/assets/images/flags/gq.png +0 -0
  204. data/vendor/assets/images/flags/gr.png +0 -0
  205. data/vendor/assets/images/flags/gs.png +0 -0
  206. data/vendor/assets/images/flags/gt.png +0 -0
  207. data/vendor/assets/images/flags/gu.png +0 -0
  208. data/vendor/assets/images/flags/gw.png +0 -0
  209. data/vendor/assets/images/flags/gy.png +0 -0
  210. data/vendor/assets/images/flags/hk.png +0 -0
  211. data/vendor/assets/images/flags/hm.png +0 -0
  212. data/vendor/assets/images/flags/hn.png +0 -0
  213. data/vendor/assets/images/flags/hr.png +0 -0
  214. data/vendor/assets/images/flags/ht.png +0 -0
  215. data/vendor/assets/images/flags/hu.png +0 -0
  216. data/vendor/assets/images/flags/id.png +0 -0
  217. data/vendor/assets/images/flags/ie.png +0 -0
  218. data/vendor/assets/images/flags/il.png +0 -0
  219. data/vendor/assets/images/flags/in.png +0 -0
  220. data/vendor/assets/images/flags/io.png +0 -0
  221. data/vendor/assets/images/flags/iq.png +0 -0
  222. data/vendor/assets/images/flags/ir.png +0 -0
  223. data/vendor/assets/images/flags/is.png +0 -0
  224. data/vendor/assets/images/flags/it.png +0 -0
  225. data/vendor/assets/images/flags/ja.png +0 -0
  226. data/vendor/assets/images/flags/jm.png +0 -0
  227. data/vendor/assets/images/flags/jo.png +0 -0
  228. data/vendor/assets/images/flags/ke.png +0 -0
  229. data/vendor/assets/images/flags/kg.png +0 -0
  230. data/vendor/assets/images/flags/kh.png +0 -0
  231. data/vendor/assets/images/flags/ki.png +0 -0
  232. data/vendor/assets/images/flags/km.png +0 -0
  233. data/vendor/assets/images/flags/kn.png +0 -0
  234. data/vendor/assets/images/flags/kp.png +0 -0
  235. data/vendor/assets/images/flags/kr.png +0 -0
  236. data/vendor/assets/images/flags/kw.png +0 -0
  237. data/vendor/assets/images/flags/ky.png +0 -0
  238. data/vendor/assets/images/flags/kz.png +0 -0
  239. data/vendor/assets/images/flags/la.png +0 -0
  240. data/vendor/assets/images/flags/lb.png +0 -0
  241. data/vendor/assets/images/flags/lc.png +0 -0
  242. data/vendor/assets/images/flags/li.png +0 -0
  243. data/vendor/assets/images/flags/lk.png +0 -0
  244. data/vendor/assets/images/flags/lr.png +0 -0
  245. data/vendor/assets/images/flags/ls.png +0 -0
  246. data/vendor/assets/images/flags/lt.png +0 -0
  247. data/vendor/assets/images/flags/lu.png +0 -0
  248. data/vendor/assets/images/flags/lv.png +0 -0
  249. data/vendor/assets/images/flags/ly.png +0 -0
  250. data/vendor/assets/images/flags/ma.png +0 -0
  251. data/vendor/assets/images/flags/mc.png +0 -0
  252. data/vendor/assets/images/flags/md.png +0 -0
  253. data/vendor/assets/images/flags/me.png +0 -0
  254. data/vendor/assets/images/flags/mg.png +0 -0
  255. data/vendor/assets/images/flags/mh.png +0 -0
  256. data/vendor/assets/images/flags/mk.png +0 -0
  257. data/vendor/assets/images/flags/ml.png +0 -0
  258. data/vendor/assets/images/flags/mm.png +0 -0
  259. data/vendor/assets/images/flags/mn.png +0 -0
  260. data/vendor/assets/images/flags/mo.png +0 -0
  261. data/vendor/assets/images/flags/mp.png +0 -0
  262. data/vendor/assets/images/flags/mq.png +0 -0
  263. data/vendor/assets/images/flags/mr.png +0 -0
  264. data/vendor/assets/images/flags/ms.png +0 -0
  265. data/vendor/assets/images/flags/mt.png +0 -0
  266. data/vendor/assets/images/flags/mu.png +0 -0
  267. data/vendor/assets/images/flags/mv.png +0 -0
  268. data/vendor/assets/images/flags/mw.png +0 -0
  269. data/vendor/assets/images/flags/mx.png +0 -0
  270. data/vendor/assets/images/flags/my.png +0 -0
  271. data/vendor/assets/images/flags/mz.png +0 -0
  272. data/vendor/assets/images/flags/na.png +0 -0
  273. data/vendor/assets/images/flags/nc.png +0 -0
  274. data/vendor/assets/images/flags/ne.png +0 -0
  275. data/vendor/assets/images/flags/nf.png +0 -0
  276. data/vendor/assets/images/flags/ng.png +0 -0
  277. data/vendor/assets/images/flags/ni.png +0 -0
  278. data/vendor/assets/images/flags/nl.png +0 -0
  279. data/vendor/assets/images/flags/no.png +0 -0
  280. data/vendor/assets/images/flags/np.png +0 -0
  281. data/vendor/assets/images/flags/nr.png +0 -0
  282. data/vendor/assets/images/flags/nu.png +0 -0
  283. data/vendor/assets/images/flags/nz.png +0 -0
  284. data/vendor/assets/images/flags/om.png +0 -0
  285. data/vendor/assets/images/flags/pa.png +0 -0
  286. data/vendor/assets/images/flags/pe.png +0 -0
  287. data/vendor/assets/images/flags/pf.png +0 -0
  288. data/vendor/assets/images/flags/pg.png +0 -0
  289. data/vendor/assets/images/flags/ph.png +0 -0
  290. data/vendor/assets/images/flags/pk.png +0 -0
  291. data/vendor/assets/images/flags/pl.png +0 -0
  292. data/vendor/assets/images/flags/pm.png +0 -0
  293. data/vendor/assets/images/flags/pn.png +0 -0
  294. data/vendor/assets/images/flags/pr.png +0 -0
  295. data/vendor/assets/images/flags/ps.png +0 -0
  296. data/vendor/assets/images/flags/pt.png +0 -0
  297. data/vendor/assets/images/flags/pw.png +0 -0
  298. data/vendor/assets/images/flags/py.png +0 -0
  299. data/vendor/assets/images/flags/qa.png +0 -0
  300. data/vendor/assets/images/flags/re.png +0 -0
  301. data/vendor/assets/images/flags/ro.png +0 -0
  302. data/vendor/assets/images/flags/rs.png +0 -0
  303. data/vendor/assets/images/flags/ru.png +0 -0
  304. data/vendor/assets/images/flags/rw.png +0 -0
  305. data/vendor/assets/images/flags/sa.png +0 -0
  306. data/vendor/assets/images/flags/sb.png +0 -0
  307. data/vendor/assets/images/flags/sc.png +0 -0
  308. data/vendor/assets/images/flags/scotland.png +0 -0
  309. data/vendor/assets/images/flags/sd.png +0 -0
  310. data/vendor/assets/images/flags/se.png +0 -0
  311. data/vendor/assets/images/flags/sg.png +0 -0
  312. data/vendor/assets/images/flags/sh.png +0 -0
  313. data/vendor/assets/images/flags/si.png +0 -0
  314. data/vendor/assets/images/flags/sj.png +0 -0
  315. data/vendor/assets/images/flags/sk.png +0 -0
  316. data/vendor/assets/images/flags/sl.png +0 -0
  317. data/vendor/assets/images/flags/sm.png +0 -0
  318. data/vendor/assets/images/flags/sn.png +0 -0
  319. data/vendor/assets/images/flags/so.png +0 -0
  320. data/vendor/assets/images/flags/sr.png +0 -0
  321. data/vendor/assets/images/flags/st.png +0 -0
  322. data/vendor/assets/images/flags/sv.png +0 -0
  323. data/vendor/assets/images/flags/sy.png +0 -0
  324. data/vendor/assets/images/flags/sz.png +0 -0
  325. data/vendor/assets/images/flags/tc.png +0 -0
  326. data/vendor/assets/images/flags/td.png +0 -0
  327. data/vendor/assets/images/flags/tf.png +0 -0
  328. data/vendor/assets/images/flags/tg.png +0 -0
  329. data/vendor/assets/images/flags/th.png +0 -0
  330. data/vendor/assets/images/flags/tj.png +0 -0
  331. data/vendor/assets/images/flags/tk.png +0 -0
  332. data/vendor/assets/images/flags/tl.png +0 -0
  333. data/vendor/assets/images/flags/tm.png +0 -0
  334. data/vendor/assets/images/flags/tn.png +0 -0
  335. data/vendor/assets/images/flags/to.png +0 -0
  336. data/vendor/assets/images/flags/tr.png +0 -0
  337. data/vendor/assets/images/flags/tt.png +0 -0
  338. data/vendor/assets/images/flags/tv.png +0 -0
  339. data/vendor/assets/images/flags/tw.png +0 -0
  340. data/vendor/assets/images/flags/tz.png +0 -0
  341. data/vendor/assets/images/flags/ua.png +0 -0
  342. data/vendor/assets/images/flags/ug.png +0 -0
  343. data/vendor/assets/images/flags/um.png +0 -0
  344. data/vendor/assets/images/flags/us.png +0 -0
  345. data/vendor/assets/images/flags/uy.png +0 -0
  346. data/vendor/assets/images/flags/uz.png +0 -0
  347. data/vendor/assets/images/flags/va.png +0 -0
  348. data/vendor/assets/images/flags/vc.png +0 -0
  349. data/vendor/assets/images/flags/ve.png +0 -0
  350. data/vendor/assets/images/flags/vg.png +0 -0
  351. data/vendor/assets/images/flags/vi.png +0 -0
  352. data/vendor/assets/images/flags/vn.png +0 -0
  353. data/vendor/assets/images/flags/vu.png +0 -0
  354. data/vendor/assets/images/flags/wales.png +0 -0
  355. data/vendor/assets/images/flags/wf.png +0 -0
  356. data/vendor/assets/images/flags/ws.png +0 -0
  357. data/vendor/assets/images/flags/ye.png +0 -0
  358. data/vendor/assets/images/flags/yt.png +0 -0
  359. data/vendor/assets/images/flags/za.png +0 -0
  360. data/vendor/assets/images/flags/zm.png +0 -0
  361. data/vendor/assets/images/flags/zw.png +0 -0
  362. data/vendor/assets/images/jquery.formalize/button.png +0 -0
  363. data/vendor/assets/images/jquery.formalize/select_arrow.gif +0 -0
  364. data/vendor/assets/javascripts/jquery.formalize.min.js +1 -0
  365. data/vendor/assets/javascripts/jquery.validate/additional-methods.min.js +12 -0
  366. data/vendor/assets/javascripts/jquery.validate/jquery.validate.min.js +12 -0
  367. data/vendor/assets/javascripts/jquery.validate/localization/messages_ar.js +25 -0
  368. data/vendor/assets/javascripts/jquery.validate/localization/messages_bg.js +25 -0
  369. data/vendor/assets/javascripts/jquery.validate/localization/messages_ca.js +25 -0
  370. data/vendor/assets/javascripts/jquery.validate/localization/messages_cs.js +25 -0
  371. data/vendor/assets/javascripts/jquery.validate/localization/messages_da.js +22 -0
  372. data/vendor/assets/javascripts/jquery.validate/localization/messages_de.js +22 -0
  373. data/vendor/assets/javascripts/jquery.validate/localization/messages_el.js +25 -0
  374. data/vendor/assets/javascripts/jquery.validate/localization/messages_es.js +25 -0
  375. data/vendor/assets/javascripts/jquery.validate/localization/messages_et.js +23 -0
  376. data/vendor/assets/javascripts/jquery.validate/localization/messages_eu.js +25 -0
  377. data/vendor/assets/javascripts/jquery.validate/localization/messages_fa.js +25 -0
  378. data/vendor/assets/javascripts/jquery.validate/localization/messages_fi.js +23 -0
  379. data/vendor/assets/javascripts/jquery.validate/localization/messages_fr.js +47 -0
  380. data/vendor/assets/javascripts/jquery.validate/localization/messages_ge.js +23 -0
  381. data/vendor/assets/javascripts/jquery.validate/localization/messages_he.js +25 -0
  382. data/vendor/assets/javascripts/jquery.validate/localization/messages_hr.js +25 -0
  383. data/vendor/assets/javascripts/jquery.validate/localization/messages_hu.js +24 -0
  384. data/vendor/assets/javascripts/jquery.validate/localization/messages_it.js +25 -0
  385. data/vendor/assets/javascripts/jquery.validate/localization/messages_ja.js +25 -0
  386. data/vendor/assets/javascripts/jquery.validate/localization/messages_ka.js +25 -0
  387. data/vendor/assets/javascripts/jquery.validate/localization/messages_kk.js +25 -0
  388. data/vendor/assets/javascripts/jquery.validate/localization/messages_ko.js +25 -0
  389. data/vendor/assets/javascripts/jquery.validate/localization/messages_lt.js +25 -0
  390. data/vendor/assets/javascripts/jquery.validate/localization/messages_lv.js +25 -0
  391. data/vendor/assets/javascripts/jquery.validate/localization/messages_ms.js +25 -0
  392. data/vendor/assets/javascripts/jquery.validate/localization/messages_nl.js +35 -0
  393. data/vendor/assets/javascripts/jquery.validate/localization/messages_no.js +25 -0
  394. data/vendor/assets/javascripts/jquery.validate/localization/messages_pl.js +25 -0
  395. data/vendor/assets/javascripts/jquery.validate/localization/messages_ptbr.js +24 -0
  396. data/vendor/assets/javascripts/jquery.validate/localization/messages_ptpt.js +24 -0
  397. data/vendor/assets/javascripts/jquery.validate/localization/messages_ro.js +25 -0
  398. data/vendor/assets/javascripts/jquery.validate/localization/messages_ru.js +25 -0
  399. data/vendor/assets/javascripts/jquery.validate/localization/messages_se.js +23 -0
  400. data/vendor/assets/javascripts/jquery.validate/localization/messages_si.js +25 -0
  401. data/vendor/assets/javascripts/jquery.validate/localization/messages_sk.js +22 -0
  402. data/vendor/assets/javascripts/jquery.validate/localization/messages_sl.js +25 -0
  403. data/vendor/assets/javascripts/jquery.validate/localization/messages_sr.js +25 -0
  404. data/vendor/assets/javascripts/jquery.validate/localization/messages_sv.js +23 -0
  405. data/vendor/assets/javascripts/jquery.validate/localization/messages_th.js +25 -0
  406. data/vendor/assets/javascripts/jquery.validate/localization/messages_tr.js +25 -0
  407. data/vendor/assets/javascripts/jquery.validate/localization/messages_tw.js +24 -0
  408. data/vendor/assets/javascripts/jquery.validate/localization/messages_uk.js +25 -0
  409. data/vendor/assets/javascripts/jquery.validate/localization/messages_vi.js +25 -0
  410. data/vendor/assets/javascripts/jquery.validate/localization/messages_zh.js +25 -0
  411. data/vendor/assets/javascripts/jquery.validate/localization/messages_zhtw.js +26 -0
  412. data/vendor/assets/javascripts/jquery.validate/localization/methods_de.js +12 -0
  413. data/vendor/assets/javascripts/jquery.validate/localization/methods_nl.js +9 -0
  414. data/vendor/assets/javascripts/jquery.validate/localization/methods_pt.js +9 -0
  415. data/vendor/assets/stylesheets/jquery.formalize.css.erb +363 -0
  416. metadata +527 -0
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1 @@
1
+ var FORMALIZE=function(a,b,c){function d(a){var b=c.createElement("b");return b.innerHTML="<!--[if IE "+a+"]><br><![endif]-->",!!b.getElementsByTagName("br").length}var e="placeholder"in c.createElement("input"),f="autofocus"in c.createElement("input"),g=d(6),h=d(7);return{go:function(){var a,b=this.init;for(a in b)b.hasOwnProperty(a)&&b[a]()},init:{full_input_size:function(){h&&a("textarea, input.input_full").length&&a("textarea, input.input_full").wrap('<span class="input_full_wrap"></span>')},ie6_skin_inputs:function(){if(g&&a("input, select, textarea").length){var b=/button|submit|reset/,c=/date|datetime|datetime-local|email|month|number|password|range|search|tel|text|time|url|week/;a("input").each(function(){var d=a(this);this.getAttribute("type").match(b)?(d.addClass("ie6_button"),this.disabled&&d.addClass("ie6_button_disabled")):this.getAttribute("type").match(c)&&(d.addClass("ie6_input"),this.disabled&&d.addClass("ie6_input_disabled"))}),a("textarea, select").each(function(){this.disabled&&a(this).addClass("ie6_input_disabled")})}},autofocus:function(){f||!a(":input[autofocus]").length||a(":input[autofocus]:visible:first").focus()},placeholder:function(){!e&&!!a(":input[placeholder]").length&&(FORMALIZE.misc.add_placeholder(),a(":input[placeholder]").each(function(){if(this.type!=="password"){var b=a(this),c=b.attr("placeholder");b.focus(function(){b.val()===c&&b.val("").removeClass("placeholder_text")}).blur(function(){FORMALIZE.misc.add_placeholder()}),b.closest("form").submit(function(){b.val()===c&&b.val("").removeClass("placeholder_text")}).bind("reset",function(){setTimeout(FORMALIZE.misc.add_placeholder,50)})}}))}},misc:{add_placeholder:function(){e||!a(":input[placeholder]").length||a(":input[placeholder]").each(function(){if(this.type!=="password"){var b=a(this),c=b.attr("placeholder");(!b.val()||b.val()===c)&&b.val(c).addClass("placeholder_text")}})}}}}(jQuery,this,this.document);jQuery(document).ready(function(){FORMALIZE.go()})
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * jQuery Validation Plugin 1.11.1
3
+ *
4
+ * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
5
+ * http://docs.jquery.com/Plugins/Validation
6
+ *
7
+ * Copyright 2013 Jörn Zaefferer
8
+ * Released under the MIT license:
9
+ * http://www.opensource.org/licenses/mit-license.php
10
+ */
11
+
12
+ !function(){function stripHtml(value){return value.replace(/<.[^<>]*?>/g," ").replace(/&nbsp;|&#160;/gi," ").replace(/[.(),;:!?%#$'"_+=\/\-]*/g,"")}jQuery.validator.addMethod("maxWords",function(value,element,params){return this.optional(element)||stripHtml(value).match(/\b\w+\b/g).length<=params},jQuery.validator.format("Please enter {0} words or less."));jQuery.validator.addMethod("minWords",function(value,element,params){return this.optional(element)||stripHtml(value).match(/\b\w+\b/g).length>=params},jQuery.validator.format("Please enter at least {0} words."));jQuery.validator.addMethod("rangeWords",function(value,element,params){var valueStripped=stripHtml(value);var regex=/\b\w+\b/g;return this.optional(element)||valueStripped.match(regex).length>=params[0]&&valueStripped.match(regex).length<=params[1]},jQuery.validator.format("Please enter between {0} and {1} words."))}();jQuery.validator.addMethod("letterswithbasicpunc",function(value,element){return this.optional(element)||/^[a-z\-.,()'"\s]+$/i.test(value)},"Letters or punctuation only please");jQuery.validator.addMethod("alphanumeric",function(value,element){return this.optional(element)||/^\w+$/i.test(value)},"Letters, numbers, and underscores only please");jQuery.validator.addMethod("lettersonly",function(value,element){return this.optional(element)||/^[a-z]+$/i.test(value)},"Letters only please");jQuery.validator.addMethod("nowhitespace",function(value,element){return this.optional(element)||/^\S+$/i.test(value)},"No white space please");jQuery.validator.addMethod("ziprange",function(value,element){return this.optional(element)||/^90[2-5]\d\{2\}-\d{4}$/.test(value)},"Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx");jQuery.validator.addMethod("zipcodeUS",function(value,element){return this.optional(element)||/\d{5}-\d{4}$|^\d{5}$/.test(value)},"The specified US ZIP Code is invalid");jQuery.validator.addMethod("integer",function(value,element){return this.optional(element)||/^-?\d+$/.test(value)},"A positive or negative non-decimal number please");jQuery.validator.addMethod("vinUS",function(v){if(v.length!==17){return false}var i,n,d,f,cd,cdv;var LL=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"];var VL=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9];var FL=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2];var rs=0;for(i=0;i<17;i++){f=FL[i];d=v.slice(i,i+1);if(i===8){cdv=d}if(!isNaN(d)){d*=f}else{for(n=0;n<LL.length;n++){if(d.toUpperCase()===LL[n]){d=VL[n];d*=f;if(isNaN(cdv)&&n===8){cdv=LL[n]}break}}}rs+=d}cd=rs%11;if(cd===10){cd="X"}if(cd===cdv){return true}return false},"The specified vehicle identification number (VIN) is invalid.");jQuery.validator.addMethod("dateITA",function(value,element){var check=false;var re=/^\d{1,2}\/\d{1,2}\/\d{4}$/;if(re.test(value)){var adata=value.split("/");var gg=parseInt(adata[0],10);var mm=parseInt(adata[1],10);var aaaa=parseInt(adata[2],10);var xdata=new Date(aaaa,mm-1,gg);if(xdata.getFullYear()===aaaa&&xdata.getMonth()===mm-1&&xdata.getDate()===gg){check=true}else{check=false}}else{check=false}return this.optional(element)||check},"Please enter a correct date");jQuery.validator.addMethod("iban",function(value,element){if(this.optional(element)){return true}if(!/^([a-zA-Z0-9]{4} ){2,8}[a-zA-Z0-9]{1,4}|[a-zA-Z0-9]{12,34}$/.test(value)){return false}var iban=value.replace(/ /g,"").toUpperCase();var countrycode=iban.substring(0,2);var bbancountrypatterns={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"};var bbanpattern=bbancountrypatterns[countrycode];if(typeof bbanpattern!=="undefined"){var ibanregexp=new RegExp("^[A-Z]{2}\\d{2}"+bbanpattern+"$","");if(!ibanregexp.test(iban)){return false}}var ibancheck=iban.substring(4,iban.length)+iban.substring(0,4);var ibancheckdigits="";var leadingZeroes=true;var charAt;for(var i=0;i<ibancheck.length;i++){charAt=ibancheck.charAt(i);if(charAt!=="0"){leadingZeroes=false}if(!leadingZeroes){ibancheckdigits+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(charAt)}}var cRest="";var cOperator="";for(var p=0;p<ibancheckdigits.length;p++){var cChar=ibancheckdigits.charAt(p);cOperator=""+cRest+""+cChar;cRest=cOperator%97}return cRest===1},"Please specify a valid IBAN");jQuery.validator.addMethod("dateNL",function(value,element){return this.optional(element)||/^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(value)},"Please enter a correct date");jQuery.validator.addMethod("phoneNL",function(value,element){return this.optional(element)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(value)},"Please specify a valid phone number.");jQuery.validator.addMethod("mobileNL",function(value,element){return this.optional(element)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(value)},"Please specify a valid mobile number");jQuery.validator.addMethod("postalcodeNL",function(value,element){return this.optional(element)||/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(value)},"Please specify a valid postal code");jQuery.validator.addMethod("bankaccountNL",function(value,element){if(this.optional(element)){return true}if(!/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(value)){return false}var account=value.replace(/ /g,"");var sum=0;var len=account.length;for(var pos=0;pos<len;pos++){var factor=len-pos;var digit=account.substring(pos,pos+1);sum=sum+factor*digit}return sum%11===0},"Please specify a valid bank account number");jQuery.validator.addMethod("giroaccountNL",function(value,element){return this.optional(element)||/^[0-9]{1,7}$/.test(value)},"Please specify a valid giro account number");jQuery.validator.addMethod("bankorgiroaccountNL",function(value,element){return this.optional(element)||$.validator.methods["bankaccountNL"].call(this,value,element)||$.validator.methods["giroaccountNL"].call(this,value,element)},"Please specify a valid bank or giro account number");jQuery.validator.addMethod("time",function(value,element){return this.optional(element)||/^([01]\d|2[0-3])(:[0-5]\d){1,2}$/.test(value)},"Please enter a valid time, between 00:00 and 23:59");jQuery.validator.addMethod("time12h",function(value,element){return this.optional(element)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(value)},"Please enter a valid time in 12-hour am/pm format");jQuery.validator.addMethod("phoneUS",function(phone_number,element){phone_number=phone_number.replace(/\s+/g,"");return this.optional(element)||phone_number.length>9&&phone_number.match(/^(\+?1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/)},"Please specify a valid phone number");jQuery.validator.addMethod("phoneUK",function(phone_number,element){phone_number=phone_number.replace(/\(|\)|\s+|-/g,"");return this.optional(element)||phone_number.length>9&&phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/)},"Please specify a valid phone number");jQuery.validator.addMethod("mobileUK",function(phone_number,element){phone_number=phone_number.replace(/\(|\)|\s+|-/g,"");return this.optional(element)||phone_number.length>9&&phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[45789]\d{2}|624)\s?\d{3}\s?\d{3})$/)},"Please specify a valid mobile number");jQuery.validator.addMethod("phonesUK",function(phone_number,element){phone_number=phone_number.replace(/\(|\)|\s+|-/g,"");return this.optional(element)||phone_number.length>9&&phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[45789]\d{8}|624\d{6})))$/)},"Please specify a valid uk phone number");jQuery.validator.addMethod("postcodeUK",function(value,element){return this.optional(element)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(value)},"Please specify a valid UK postcode");jQuery.validator.addMethod("strippedminlength",function(value,element,param){return jQuery(value).text().length>=param},jQuery.validator.format("Please enter at least {0} characters"));jQuery.validator.addMethod("email2",function(value,element,param){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value)},jQuery.validator.messages.email);jQuery.validator.addMethod("url2",function(value,element,param){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value)},jQuery.validator.messages.url);jQuery.validator.addMethod("creditcardtypes",function(value,element,param){if(/[^0-9\-]+/.test(value)){return false}value=value.replace(/\D/g,"");var validTypes=0;if(param.mastercard){validTypes|=1}if(param.visa){validTypes|=2}if(param.amex){validTypes|=4}if(param.dinersclub){validTypes|=8}if(param.enroute){validTypes|=16}if(param.discover){validTypes|=32}if(param.jcb){validTypes|=64}if(param.unknown){validTypes|=128}if(param.all){validTypes=1|2|4|8|16|32|64|128}if(validTypes&1&&/^(5[12345])/.test(value)){return value.length===16}if(validTypes&2&&/^(4)/.test(value)){return value.length===16}if(validTypes&4&&/^(3[47])/.test(value)){return value.length===15}if(validTypes&8&&/^(3(0[012345]|[68]))/.test(value)){return value.length===14}if(validTypes&16&&/^(2(014|149))/.test(value)){return value.length===15}if(validTypes&32&&/^(6011)/.test(value)){return value.length===16}if(validTypes&64&&/^(3)/.test(value)){return value.length===16}if(validTypes&64&&/^(2131|1800)/.test(value)){return value.length===15}if(validTypes&128){return true}return false},"Please enter a valid credit card number.");jQuery.validator.addMethod("ipv4",function(value,element,param){return this.optional(element)||/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(value)},"Please enter a valid IP v4 address.");jQuery.validator.addMethod("ipv6",function(value,element,param){return this.optional(element)||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(value)},"Please enter a valid IP v6 address.");jQuery.validator.addMethod("pattern",function(value,element,param){if(this.optional(element)){return true}if(typeof param==="string"){param=new RegExp("^(?:"+param+")$")}return param.test(value)},"Invalid format.");jQuery.validator.addMethod("require_from_group",function(value,element,options){var validator=this;var selector=options[1];var validOrNot=$(selector,element.form).filter(function(){return validator.elementValue(this)}).length>=options[0];if(!$(element).data("being_validated")){var fields=$(selector,element.form);fields.data("being_validated",true);fields.valid();fields.data("being_validated",false)}return validOrNot},jQuery.format("Please fill at least {0} of these fields."));jQuery.validator.addMethod("skip_or_fill_minimum",function(value,element,options){var validator=this,numberRequired=options[0],selector=options[1];var numberFilled=$(selector,element.form).filter(function(){return validator.elementValue(this)}).length;var valid=numberFilled>=numberRequired||numberFilled===0;if(!$(element).data("being_validated")){var fields=$(selector,element.form);fields.data("being_validated",true);fields.valid();fields.data("being_validated",false)}return valid},jQuery.format("Please either skip these fields or fill at least {0} of them."));jQuery.validator.addMethod("accept",function(value,element,param){var typeParam=typeof param==="string"?param.replace(/\s/g,"").replace(/,/g,"|"):"image/*",optionalValue=this.optional(element),i,file;if(optionalValue){return optionalValue}if($(element).attr("type")==="file"){typeParam=typeParam.replace(/\*/g,".*");if(element.files&&element.files.length){for(i=0;i<element.files.length;i++){file=element.files[i];if(!file.type.match(new RegExp(".?("+typeParam+")$","i"))){return false}}}}return true},jQuery.format("Please enter a value with a valid mimetype."));jQuery.validator.addMethod("extension",function(value,element,param){param=typeof param==="string"?param.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(element)||value.match(new RegExp(".("+param+")$","i"))},jQuery.format("Please enter a value with a valid extension."));
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * jQuery Validation Plugin 1.11.1
3
+ *
4
+ * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
5
+ * http://docs.jquery.com/Plugins/Validation
6
+ *
7
+ * Copyright 2013 Jörn Zaefferer
8
+ * Released under the MIT license:
9
+ * http://www.opensource.org/licenses/mit-license.php
10
+ */
11
+
12
+ !function($){$.extend($.fn,{validate:function(options){if(!this.length){if(options&&options.debug&&window.console){console.warn("Nothing selected, can't validate, returning nothing.")}return}var validator=$.data(this[0],"validator");if(validator){return validator}this.attr("novalidate","novalidate");validator=new $.validator(options,this[0]);$.data(this[0],"validator",validator);if(validator.settings.onsubmit){this.validateDelegate(":submit","click",function(event){if(validator.settings.submitHandler){validator.submitButton=event.target}if($(event.target).hasClass("cancel")){validator.cancelSubmit=true}if($(event.target).attr("formnovalidate")!==undefined){validator.cancelSubmit=true}});this.submit(function(event){if(validator.settings.debug){event.preventDefault()}function handle(){var hidden;if(validator.settings.submitHandler){if(validator.submitButton){hidden=$("<input type='hidden'/>").attr("name",validator.submitButton.name).val($(validator.submitButton).val()).appendTo(validator.currentForm)}validator.settings.submitHandler.call(validator,validator.currentForm,event);if(validator.submitButton){hidden.remove()}return false}return true}if(validator.cancelSubmit){validator.cancelSubmit=false;return handle()}if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false}return handle()}else{validator.focusInvalid();return false}})}return validator},valid:function(){if($(this[0]).is("form")){return this.validate().form()}else{var valid=true;var validator=$(this[0].form).validate();this.each(function(){valid=valid&&validator.element(this)});return valid}},removeAttrs:function(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(index,value){result[value]=$element.attr(value);$element.removeAttr(value)});return result},rules:function(command,argument){var element=this[0];if(command){var settings=$.data(element.form,"validator").settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));delete existingRules.messages;staticRules[element.name]=existingRules;if(argument.messages){settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages)}break;case"remove":if(!argument){delete staticRules[element.name];return existingRules}var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method]});return filtered}}var data=$.validator.normalizeRules($.extend({},$.validator.classRules(element),$.validator.attributeRules(element),$.validator.dataRules(element),$.validator.staticRules(element)),element);if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data)}return data}});$.extend($.expr[":"],{blank:function(a){return!$.trim(""+$(a).val())},filled:function(a){return!!$.trim(""+$(a).val())},unchecked:function(a){return!$(a).prop("checked")}});$.validator=function(options,form){this.settings=$.extend(true,{},$.validator.defaults,options);this.currentForm=form;this.init()};$.validator.format=function(source,params){if(arguments.length===1){return function(){var args=$.makeArray(arguments);args.unshift(source);return $.validator.format.apply(this,args)}}if(arguments.length>2&&params.constructor!==Array){params=$.makeArray(arguments).slice(1)}if(params.constructor!==Array){params=[params]}$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),function(){return n})});return source};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:":hidden",ignoreTitle:false,onfocusin:function(element,event){this.lastActive=element;if(this.settings.focusCleanup&&!this.blockFocusCleanup){if(this.settings.unhighlight){this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass)}this.addWrapper(this.errorsFor(element)).hide()}},onfocusout:function(element,event){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element)}},onkeyup:function(element,event){if(event.which===9&&this.elementValue(element)===""){return}else if(element.name in this.submitted||element===this.lastElement){this.element(element)}},onclick:function(element,event){if(element.name in this.submitted){this.element(element)}else if(element.parentNode.name in this.submitted){this.element(element.parentNode)}},highlight:function(element,errorClass,validClass){if(element.type==="radio"){this.findByName(element.name).addClass(errorClass).removeClass(validClass)}else{$(element).addClass(errorClass).removeClass(validClass)}},unhighlight:function(element,errorClass,validClass){if(element.type==="radio"){this.findByName(element.name).removeClass(errorClass).addClass(validClass)}else{$(element).removeClass(errorClass).addClass(validClass)}}},setDefaults:function(settings){$.extend($.validator.defaults,settings)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=this.groups={};$.each(this.settings.groups,function(key,value){if(typeof value==="string"){value=value.split(/\s/)}$.each(value,function(index,name){groups[name]=key})});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value)});function delegate(event){var validator=$.data(this[0].form,"validator"),eventType="on"+event.type.replace(/^validate/,"");if(validator.settings[eventType]){validator.settings[eventType].call(validator,this[0],event)}}$(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, "+"[type='number'], [type='search'] ,[type='tel'], [type='url'], "+"[type='email'], [type='datetime'], [type='date'], [type='month'], "+"[type='week'], [type='time'], [type='datetime-local'], "+"[type='range'], [type='color'] ","focusin focusout keyup",delegate).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",delegate);if(this.settings.invalidHandler){$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)}},form:function(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid()){$(this.currentForm).triggerHandler("invalid-form",[this])}this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var i=0,elements=this.currentElements=this.elements();elements[i];i++){this.check(elements[i])}return this.valid()},element:function(element){element=this.validationTargetFor(this.clean(element));this.lastElement=element;this.prepareElement(element);this.currentElements=$(element);var result=this.check(element)!==false;if(result){delete this.invalid[element.name]}else{this.invalid[element.name]=true}if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers)}this.showErrors();return result},showErrors:function(errors){if(errors){$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]})}this.successList=$.grep(this.successList,function(element){return!(element.name in errors)})}if(this.settings.showErrors){this.settings.showErrors.call(this,this.errorMap,this.errorList)}else{this.defaultShowErrors()}},resetForm:function(){if($.fn.resetForm){$(this.currentForm).resetForm()}this.submitted={};this.lastElement=null;this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass).removeData("previousValue")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(obj){var count=0;for(var i in obj){count++}return count},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()===0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(e){}}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name===lastActive.name}).length===1&&lastActive},elements:function(){var validator=this,rulesCache={};return $(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){if(!this.name&&validator.settings.debug&&window.console){console.error("%o has no name assigned",this)}if(this.name in rulesCache||!validator.objectLength($(this).rules())){return false}rulesCache[this.name]=true;return true})},clean:function(selector){return $(selector)[0]},errors:function(){var errorClass=this.settings.errorClass.replace(" ",".");return $(this.settings.errorElement+"."+errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.currentElements=$([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element)},elementValue:function(element){var type=$(element).attr("type"),val=$(element).val();if(type==="radio"||type==="checkbox"){return $("input[name='"+$(element).attr("name")+"']:checked").val()}if(typeof val==="string"){return val.replace(/\r/g,"")}return val},check:function(element){element=this.validationTargetFor(this.clean(element));var rules=$(element).rules();var dependencyMismatch=false;var val=this.elementValue(element);var result;for(var method in rules){var rule={method:method,parameters:rules[method]};try{result=$.validator.methods[method].call(this,val,element,rule.parameters);if(result==="dependency-mismatch"){dependencyMismatch=true;continue}dependencyMismatch=false;if(result==="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return}if(!result){this.formatAndAdd(element,rule);return false}}catch(e){if(this.settings.debug&&window.console){console.log("Exception occurred when checking element "+element.id+", check the '"+rule.method+"' method.",e)}throw e}}if(dependencyMismatch){return}if(this.objectLength(rules)){this.successList.push(element)}return true},customDataMessage:function(element,method){return $(element).data("msg-"+method.toLowerCase())||element.attributes&&$(element).attr("data-msg-"+method.toLowerCase())},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor===String?m:m[method])},findDefined:function(){for(var i=0;i<arguments.length;i++){if(arguments[i]!==undefined){return arguments[i]}}return undefined},defaultMessage:function(element,method){return this.findDefined(this.customMessage(element.name,method),this.customDataMessage(element,method),!this.settings.ignoreTitle&&element.title||undefined,$.validator.messages[method],"<strong>Warning: No message defined for "+element.name+"</strong>")},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule.method),theregex=/\$?\{(\d+)\}/g;if(typeof message==="function"){message=message.call(this,rule.parameters,element)}else if(theregex.test(message)){message=$.validator.format(message.replace(theregex,"{$1}"),rule.parameters)}this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message},addWrapper:function(toToggle){if(this.settings.wrapper){toToggle=toToggle.add(toToggle.parent(this.settings.wrapper))}return toToggle},defaultShowErrors:function(){var i,elements;for(i=0;this.errorList[i];i++){var error=this.errorList[i];if(this.settings.highlight){this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass)}this.showLabel(error.element,error.message)}if(this.errorList.length){this.toShow=this.toShow.add(this.containers)}if(this.settings.success){for(i=0;this.successList[i];i++){this.showLabel(this.successList[i])}}if(this.settings.unhighlight){for(i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass)}}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return $(this.errorList).map(function(){return this.element})},showLabel:function(element,message){var label=this.errorsFor(element);if(label.length){label.removeClass(this.settings.validClass).addClass(this.settings.errorClass);label.html(message)}else{label=$("<"+this.settings.errorElement+">").attr("for",this.idOrName(element)).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){label=label.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()}if(!this.labelContainer.append(label).length){if(this.settings.errorPlacement){this.settings.errorPlacement(label,$(element))}else{label.insertAfter(element)}}}if(!message&&this.settings.success){label.text("");if(typeof this.settings.success==="string"){label.addClass(this.settings.success)}else{this.settings.success(label,element)}}this.toShow=this.toShow.add(label)},errorsFor:function(element){var name=this.idOrName(element);return this.errors().filter(function(){return $(this).attr("for")===name})},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name)},validationTargetFor:function(element){if(this.checkable(element)){element=this.findByName(element.name).not(this.settings.ignore)[0]}return element},checkable:function(element){return/radio|checkbox/i.test(element.type)},findByName:function(name){return $(this.currentForm).find("[name='"+name+"']")},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case"select":return $("option:selected",element).length;case"input":if(this.checkable(element)){return this.findByName(element.name).filter(":checked").length}}return value.length},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):true},dependTypes:{"boolean":function(param,element){return param},string:function(param,element){return!!$(param,element.form).length},"function":function(param,element){return param(element)}},optional:function(element){var val=this.elementValue(element);return!$.validator.methods.required.call(this,val,element)&&"dependency-mismatch"},startRequest:function(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true}},stopRequest:function(element,valid){this.pendingRequest--;if(this.pendingRequest<0){this.pendingRequest=0}delete this.pending[element.name];if(valid&&this.pendingRequest===0&&this.formSubmitted&&this.form()){$(this.currentForm).submit();this.formSubmitted=false}else if(!valid&&this.pendingRequest===0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted=false}},previousValue:function(element){return $.data(element,"previousValue")||$.data(element,"previousValue",{old:null,valid:true,message:this.defaultMessage(element,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},number:{number:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(className,rules){if(className.constructor===String){this.classRuleSettings[className]=rules}else{$.extend(this.classRuleSettings,className)}},classRules:function(element){var rules={};var classes=$(element).attr("class");if(classes){$.each(classes.split(" "),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this])}})}return rules},attributeRules:function(element){var rules={};var $element=$(element);var type=$element[0].getAttribute("type");for(var method in $.validator.methods){var value;if(method==="required"){value=$element.get(0).getAttribute(method);if(value===""){value=true}value=!!value}else{value=$element.attr(method)}if(/min|max/.test(method)&&(type===null||/number|range|text/.test(type))){value=Number(value)}if(value){rules[method]=value}else if(type===method&&type!=="range"){rules[method]=true}}if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength}return rules},dataRules:function(element){var method,value,rules={},$element=$(element);for(method in $.validator.methods){value=$element.data("rule-"+method.toLowerCase());if(value!==undefined){rules[method]=value}}return rules},staticRules:function(element){var rules={};var validator=$.data(element.form,"validator");if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{}}return rules},normalizeRules:function(rules,element){$.each(rules,function(prop,val){if(val===false){delete rules[prop];return}if(val.param||val.depends){var keepRule=true;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break}if(keepRule){rules[prop]=val.param!==undefined?val.param:true}else{delete rules[prop]}}});$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter});$.each(["minlength","maxlength"],function(){if(rules[this]){rules[this]=Number(rules[this])}});$.each(["rangelength","range"],function(){var parts;if(rules[this]){if($.isArray(rules[this])){rules[this]=[Number(rules[this][0]),Number(rules[this][1])]}else if(typeof rules[this]==="string"){parts=rules[this].split(/[\s,]+/);rules[this]=[Number(parts[0]),Number(parts[1])]}}});if($.validator.autoCreateRanges){if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max}if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength}}return rules},normalizeRule:function(data){if(typeof data==="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true});data=transformed}return data},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message!==undefined?message:$.validator.messages[name];if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name))}},methods:{required:function(value,element,param){if(!this.depend(param,element)){return"dependency-mismatch"}if(element.nodeName.toLowerCase()==="select"){var val=$(element).val();return val&&val.length>0}if(this.checkable(element)){return this.getLength(value,element)>0}return $.trim(value).length>0},email:function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(value)},url:function(value,element){return this.optional(element)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value)},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value).toString())},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(value)},number:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value)},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value)},creditcard:function(value,element){if(this.optional(element)){return"dependency-mismatch"}if(/[^0-9 \-]+/.test(value)){return false}var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(var n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9){nDigit-=9}}nCheck+=nDigit;bEven=!bEven}return nCheck%10===0},minlength:function(value,element,param){var length=$.isArray(value)?value.length:this.getLength($.trim(value),element);return this.optional(element)||length>=param},maxlength:function(value,element,param){var length=$.isArray(value)?value.length:this.getLength($.trim(value),element);return this.optional(element)||length<=param},rangelength:function(value,element,param){var length=$.isArray(value)?value.length:this.getLength($.trim(value),element);return this.optional(element)||length>=param[0]&&length<=param[1]},min:function(value,element,param){return this.optional(element)||value>=param},max:function(value,element,param){return this.optional(element)||value<=param},range:function(value,element,param){return this.optional(element)||value>=param[0]&&value<=param[1]},equalTo:function(value,element,param){var target=$(param);if(this.settings.onfocusout){target.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){$(element).valid()})}return value===target.val()},remote:function(value,element,param){if(this.optional(element)){return"dependency-mismatch"}var previous=this.previousValue(element);if(!this.settings.messages[element.name]){this.settings.messages[element.name]={}}previous.originalMessage=this.settings.messages[element.name].remote;this.settings.messages[element.name].remote=previous.message;param=typeof param==="string"&&{url:param}||param;if(previous.old===value){return previous.valid}previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function(response){validator.settings.messages[element.name].remote=previous.originalMessage;var valid=response===true||response==="true";if(valid){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);delete validator.invalid[element.name];validator.showErrors()}else{var errors={};var message=response||validator.defaultMessage(element,"remote");errors[element.name]=previous.message=$.isFunction(message)?message(value):message;validator.invalid[element.name]=true;validator.showErrors(errors)}previous.valid=valid;validator.stopRequest(element,valid)}},param));return"pending"}}});$.format=$.validator.format}(jQuery);!function($){var pendingRequests={};if($.ajaxPrefilter){$.ajaxPrefilter(function(settings,_,xhr){var port=settings.port;if(settings.mode==="abort"){if(pendingRequests[port]){pendingRequests[port].abort()}pendingRequests[port]=xhr}})}else{var ajax=$.ajax;$.ajax=function(settings){var mode=("mode"in settings?settings:$.ajaxSettings).mode,port=("port"in settings?settings:$.ajaxSettings).port;if(mode==="abort"){if(pendingRequests[port]){pendingRequests[port].abort()}pendingRequests[port]=ajax.apply(this,arguments);return pendingRequests[port]}return ajax.apply(this,arguments)}}}(jQuery);!function($){$.extend($.fn,{validateDelegate:function(delegate,type,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments)}})}})}(jQuery);
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Translated default messages for the jQuery validation plugin.
3
+ * Locale: AR (Arabic; العربية)
4
+ */
5
+ (function ($) {
6
+ $.extend($.validator.messages, {
7
+ required: "هذا الحقل إلزامي",
8
+ remote: "يرجى تصحيح هذا الحقل للمتابعة",
9
+ email: "رجاء إدخال عنوان بريد إلكتروني صحيح",
10
+ url: "رجاء إدخال عنوان موقع إلكتروني صحيح",
11
+ date: "رجاء إدخال تاريخ صحيح",
12
+ dateISO: "رجاء إدخال تاريخ صحيح (ISO)",
13
+ number: "رجاء إدخال عدد بطريقة صحيحة",
14
+ digits: "رجاء إدخال أرقام فقط",
15
+ creditcard: "رجاء إدخال رقم بطاقة ائتمان صحيح",
16
+ equalTo: "رجاء إدخال نفس القيمة",
17
+ accept: "رجاء إدخال ملف بامتداد موافق عليه",
18
+ maxlength: $.validator.format("الحد الأقصى لعدد الحروف هو {0}"),
19
+ minlength: $.validator.format("الحد الأدنى لعدد الحروف هو {0}"),
20
+ rangelength: $.validator.format("عدد الحروف يجب أن يكون بين {0} و {1}"),
21
+ range: $.validator.format("رجاء إدخال عدد قيمته بين {0} و {1}"),
22
+ max: $.validator.format("رجاء إدخال عدد أقل من أو يساوي (0}"),
23
+ min: $.validator.format("رجاء إدخال عدد أكبر من أو يساوي (0}")
24
+ });
25
+ }(jQuery));
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Translated default messages for the jQuery validation plugin.
3
+ * Locale: BG (Bulgarian; български език)
4
+ */
5
+ (function ($) {
6
+ $.extend($.validator.messages, {
7
+ required: "Полето е задължително.",
8
+ remote: "Моля, въведете правилната стойност.",
9
+ email: "Моля, въведете валиден email.",
10
+ url: "Моля, въведете валидно URL.",
11
+ date: "Моля, въведете валидна дата.",
12
+ dateISO: "Моля, въведете валидна дата (ISO).",
13
+ number: "Моля, въведете валиден номер.",
14
+ digits: "Моля, въведете само цифри",
15
+ creditcard: "Моля, въведете валиден номер на кредитна карта.",
16
+ equalTo: "Моля, въведете същата стойност отново.",
17
+ accept: "Моля, въведете стойност с валидно разширение.",
18
+ maxlength: $.validator.format("Моля, въведете повече от {0} символа."),
19
+ minlength: $.validator.format("Моля, въведете поне {0} символа."),
20
+ rangelength: $.validator.format("Моля, въведете стойност с дължина между {0} и {1} символа."),
21
+ range: $.validator.format("Моля, въведете стойност между {0} и {1}."),
22
+ max: $.validator.format("Моля, въведете стойност по-малка или равна на {0}."),
23
+ min: $.validator.format("Моля, въведете стойност по-голяма или равна на {0}.")
24
+ });
25
+ }(jQuery));
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Translated default messages for the jQuery validation plugin.
3
+ * Locale: CA (Catalan; català)
4
+ */
5
+ (function ($) {
6
+ $.extend($.validator.messages, {
7
+ required: "Aquest camp és obligatori.",
8
+ remote: "Si us plau, omple aquest camp.",
9
+ email: "Si us plau, escriu una adreça de correu-e vàlida",
10
+ url: "Si us plau, escriu una URL vàlida.",
11
+ date: "Si us plau, escriu una data vàlida.",
12
+ dateISO: "Si us plau, escriu una data (ISO) vàlida.",
13
+ number: "Si us plau, escriu un número enter vàlid.",
14
+ digits: "Si us plau, escriu només dígits.",
15
+ creditcard: "Si us plau, escriu un número de tarjeta vàlid.",
16
+ equalTo: "Si us plau, escriu el maateix valor de nou.",
17
+ accept: "Si us plau, escriu un valor amb una extensió acceptada.",
18
+ maxlength: $.validator.format("Si us plau, no escriguis més de {0} caracters."),
19
+ minlength: $.validator.format("Si us plau, no escriguis menys de {0} caracters."),
20
+ rangelength: $.validator.format("Si us plau, escriu un valor entre {0} i {1} caracters."),
21
+ range: $.validator.format("Si us plau, escriu un valor entre {0} i {1}."),
22
+ max: $.validator.format("Si us plau, escriu un valor menor o igual a {0}."),
23
+ min: $.validator.format("Si us plau, escriu un valor major o igual a {0}.")
24
+ });
25
+ }(jQuery));
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Translated default messages for the jQuery validation plugin.
3
+ * Locale: CS (Czech; čeština, český jazyk)
4
+ */
5
+ (function ($) {
6
+ $.extend($.validator.messages, {
7
+ required: "Tento údaj je povinný.",
8
+ remote: "Prosím, opravte tento údaj.",
9
+ email: "Prosím, zadejte platný e-mail.",
10
+ url: "Prosím, zadejte platné URL.",
11
+ date: "Prosím, zadejte platné datum.",
12
+ dateISO: "Prosím, zadejte platné datum (ISO).",
13
+ number: "Prosím, zadejte číslo.",
14
+ digits: "Prosím, zadávejte pouze číslice.",
15
+ creditcard: "Prosím, zadejte číslo kreditní karty.",
16
+ equalTo: "Prosím, zadejte znovu stejnou hodnotu.",
17
+ accept: "Prosím, zadejte soubor se správnou příponou.",
18
+ maxlength: $.validator.format("Prosím, zadejte nejvíce {0} znaků."),
19
+ minlength: $.validator.format("Prosím, zadejte nejméně {0} znaků."),
20
+ rangelength: $.validator.format("Prosím, zadejte od {0} do {1} znaků."),
21
+ range: $.validator.format("Prosím, zadejte hodnotu od {0} do {1}."),
22
+ max: $.validator.format("Prosím, zadejte hodnotu menší nebo rovnu {0}."),
23
+ min: $.validator.format("Prosím, zadejte hodnotu větší nebo rovnu {0}.")
24
+ });
25
+ }(jQuery));
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Translated default messages for the jQuery validation plugin.
3
+ * Locale: DA (Danish; dansk)
4
+ */
5
+ (function ($) {
6
+ $.extend($.validator.messages, {
7
+ required: "Dette felt er påkrævet.",
8
+ maxlength: $.validator.format("Indtast højst {0} tegn."),
9
+ minlength: $.validator.format("Indtast mindst {0} tegn."),
10
+ rangelength: $.validator.format("Indtast mindst {0} og højst {1} tegn."),
11
+ email: "Indtast en gyldig email-adresse.",
12
+ url: "Indtast en gyldig URL.",
13
+ date: "Indtast en gyldig dato.",
14
+ number: "Indtast et tal.",
15
+ digits: "Indtast kun cifre.",
16
+ equalTo: "Indtast den samme værdi igen.",
17
+ range: $.validator.format("Angiv en værdi mellem {0} og {1}."),
18
+ max: $.validator.format("Angiv en værdi der højst er {0}."),
19
+ min: $.validator.format("Angiv en værdi der mindst er {0}."),
20
+ creditcard: "Indtast et gyldigt kreditkortnummer."
21
+ });
22
+ }(jQuery));
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Translated default messages for the jQuery validation plugin.
3
+ * Locale: DE (German, Deutsch)
4
+ */
5
+ (function ($) {
6
+ $.extend($.validator.messages, {
7
+ required: "Dieses Feld ist ein Pflichtfeld.",
8
+ maxlength: $.validator.format("Geben Sie bitte maximal {0} Zeichen ein."),
9
+ minlength: $.validator.format("Geben Sie bitte mindestens {0} Zeichen ein."),
10
+ rangelength: $.validator.format("Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein."),
11
+ email: "Geben Sie bitte eine gültige E-Mail Adresse ein.",
12
+ url: "Geben Sie bitte eine gültige URL ein.",
13
+ date: "Bitte geben Sie ein gültiges Datum ein.",
14
+ number: "Geben Sie bitte eine Nummer ein.",
15
+ digits: "Geben Sie bitte nur Ziffern ein.",
16
+ equalTo: "Bitte denselben Wert wiederholen.",
17
+ range: $.validator.format("Geben Sie bitte einen Wert zwischen {0} und {1} ein."),
18
+ max: $.validator.format("Geben Sie bitte einen Wert kleiner oder gleich {0} ein."),
19
+ min: $.validator.format("Geben Sie bitte einen Wert größer oder gleich {0} ein."),
20
+ creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein."
21
+ });
22
+ }(jQuery));
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Translated default messages for the jQuery validation plugin.
3
+ * Locale: EL (Greek; ελληνικά)
4
+ */
5
+ (function ($) {
6
+ $.extend($.validator.messages, {
7
+ required: "Αυτό το πεδίο είναι υποχρεωτικό.",
8
+ remote: "Παρακαλώ διορθώστε αυτό το πεδίο.",
9
+ email: "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email.",
10
+ url: "Παρακαλώ εισάγετε ένα έγκυρο URL.",
11
+ date: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία.",
12
+ dateISO: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία (ISO).",
13
+ number: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό.",
14
+ digits: "Παρακαλώ εισάγετε μόνο αριθμητικά ψηφία.",
15
+ creditcard: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό πιστωτικής κάρτας.",
16
+ equalTo: "Παρακαλώ εισάγετε την ίδια τιμή ξανά.",
17
+ accept: "Παρακαλώ εισάγετε μια τιμή με έγκυρη επέκταση αρχείου.",
18
+ maxlength: $.validator.format("Παρακαλώ εισάγετε μέχρι και {0} χαρακτήρες."),
19
+ minlength: $.validator.format("Παρακαλώ εισάγετε τουλάχιστον {0} χαρακτήρες."),
20
+ rangelength: $.validator.format("Παρακαλώ εισάγετε μια τιμή με μήκος μεταξύ {0} και {1} χαρακτήρων."),
21
+ range: $.validator.format("Παρακαλώ εισάγετε μια τιμή μεταξύ {0} και {1}."),
22
+ max: $.validator.format("Παρακαλώ εισάγετε μια τιμή μικρότερη ή ίση του {0}."),
23
+ min: $.validator.format("Παρακαλώ εισάγετε μια τιμή μεγαλύτερη ή ίση του {0}.")
24
+ });
25
+ }(jQuery));
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Translated default messages for the jQuery validation plugin.
3
+ * Locale: ES (Spanish; Español)
4
+ */
5
+ (function ($) {
6
+ $.extend($.validator.messages, {
7
+ required: "Este campo es obligatorio.",
8
+ remote: "Por favor, rellena este campo.",
9
+ email: "Por favor, escribe una dirección de correo válida",
10
+ url: "Por favor, escribe una URL válida.",
11
+ date: "Por favor, escribe una fecha válida.",
12
+ dateISO: "Por favor, escribe una fecha (ISO) válida.",
13
+ number: "Por favor, escribe un número entero válido.",
14
+ digits: "Por favor, escribe sólo dígitos.",
15
+ creditcard: "Por favor, escribe un número de tarjeta válido.",
16
+ equalTo: "Por favor, escribe el mismo valor de nuevo.",
17
+ accept: "Por favor, escribe un valor con una extensión aceptada.",
18
+ maxlength: $.validator.format("Por favor, no escribas más de {0} caracteres."),
19
+ minlength: $.validator.format("Por favor, no escribas menos de {0} caracteres."),
20
+ rangelength: $.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."),
21
+ range: $.validator.format("Por favor, escribe un valor entre {0} y {1}."),
22
+ max: $.validator.format("Por favor, escribe un valor menor o igual a {0}."),
23
+ min: $.validator.format("Por favor, escribe un valor mayor o igual a {0}.")
24
+ });
25
+ }(jQuery));
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Translated default messages for the jQuery validation plugin.
3
+ * Locale: ET (Estonian; eesti, eesti keel)
4
+ */
5
+ (function ($) {
6
+ $.extend($.validator.messages, {
7
+ required: "See väli peab olema täidetud.",
8
+ maxlength: $.validator.format("Palun sisestage vähem kui {0} tähemärki."),
9
+ minlength: $.validator.format("Palun sisestage vähemalt {0} tähemärki."),
10
+ rangelength: $.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1} tähemärki."),
11
+ email: "Palun sisestage korrektne e-maili aadress.",
12
+ url: "Palun sisestage korrektne URL.",
13
+ date: "Palun sisestage korrektne kuupäev.",
14
+ dateISO: "Palun sisestage korrektne kuupäev (YYYY-MM-DD).",
15
+ number: "Palun sisestage korrektne number.",
16
+ digits: "Palun sisestage ainult numbreid.",
17
+ equalTo: "Palun sisestage sama väärtus uuesti.",
18
+ range: $.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1}."),
19
+ max: $.validator.format("Palun sisestage väärtus, mis on väiksem või võrdne arvuga {0}."),
20
+ min: $.validator.format("Palun sisestage väärtus, mis on suurem või võrdne arvuga {0}."),
21
+ creditcard: "Palun sisestage korrektne krediitkaardi number."
22
+ });
23
+ }(jQuery));