{"version":3,"sources":["sign-up.js"],"names":["_focusForm","$","form","each","this","hasClass","val","trigger","_handlePlanChange","selectedIndex","_resetSubmitButton","btn","data","removeClass","_handleBlur","input","next","is","Date","now","remove","_handleFormSubmit","e","valid","emailField","passwordField","planField","errorize","test","length","stripe","send","submit","preventDefault","ready","on","prototype","payment"],"mappings":"CACA,WAGA,QAAAA,KACAC,EAAA,QAAAC,GAAAC,KAAA,WACA,MAAAF,GAAAG,MAAAC,SAAA,YAAA,KAAAJ,EAAAG,MAAAE,OACAL,EAAAG,MAAAG,QAAA,UACA,GAFA,SAOA,QAAAC,KACAJ,KAAAK,cAAA,GACAR,EAAA,cAAAM,QAAA,SAIA,QAAAG,KACA,GAAAC,GAAAV,EAAA,qBAAAC,EACAS,GAAAC,KAAA,aACAD,EAAAL,IAAAK,EAAAC,KAAA,aAGAD,EAAAE,YAAA,YAGA,QAAAC,KACA,GAAAC,GAAAd,EAAAG,MACAY,EAAAD,EAAAC,MACAA,GAAAC,GAAA,YAIAC,KAAAC,MAAAH,EAAAJ,KAAA,WAAA,KACAI,EAAAI,SAKA,QAAAC,GAAAC,GACArB,EAAA,WAAAmB,SACAnB,EAAA,SAAAY,YAAA,UAEA,IAAAU,IAAA,EAEAC,EAAAvB,EAAA,oBAAAC,GACAuB,EAAAxB,EAAA,uBAAAC,GACAwB,EAAAzB,EAAA,oBAAAC,EAiCA,OA/BAsB,GAAAlB,QACAiB,GAAA,EACAC,EAAAG,SAAA,mCAGAJ,IAAA,mCAAAK,KAAAJ,EAAAlB,SACAiB,GAAA,EACAC,EAAAG,SAAA,oCAGAJ,IAAAE,EAAAnB,QACAiB,GAAA,EACAE,EAAAE,SAAA,2BAGAJ,GAAAE,EAAAnB,MAAAuB,OAAA,IACAN,GAAA,EACAE,EAAAE,SAAA,gDAGAJ,GAAAG,EAAA,GAAAjB,cAAA,IACAc,GAAA,EACAG,EAAAC,SAAA,8BAGAJ,GACAtB,EAAA6B,OAAAC,KAAA,WACA7B,EAAA,GAAA8B,WAIAT,MAKAD,GAAAW,kBAJAvB,KACA,GAlFA,GAAAR,GAAAD,EAAA,OAwFAA,GAAAiC,MAAA,WACAlC,IACAC,EAAA,qBAAAkC,GAAA,SAAA3B,GACAP,EAAAmC,UAAAC,UACApC,EAAA,cAAAoC,QAAA,oBACApC,EAAA,WAAAoC,QAAA,oBACApC,EAAA,WAAAoC,QAAA,iBACAnC,EAAAiC,GAAA,SAAAd,GACApB,EAAA,gBAAAC,GAAAiC,GAAA,OAAArB","file":"sign-up.js","sourcesContent":["/* globals $, Stripe */\n(function() {\n var form = $('form');\n\n function _focusForm() {\n $('input', form).each(function() {\n if ($(this).hasClass('invalid') || $(this).val() === '') {\n $(this).trigger('focus');\n return false;\n }\n });\n }\n\n function _handlePlanChange() {\n if (this.selectedIndex > 0) {\n $('.cc-number').trigger('focus');\n }\n }\n\n function _resetSubmitButton() {\n var btn = $('input[type=submit]', form);\n if (btn.data('original')) {\n btn.val(btn.data('original'));\n }\n\n btn.removeClass('disabled');\n }\n\n function _handleBlur() {\n var input = $(this);\n var next = input.next();\n if (next.is('.bubble')) {\n\n // make sure it has been over a second since the bubble was created\n // 1password will immediately blur the form field\n if (Date.now() - next.data('created') > 1000) {\n next.remove();\n }\n }\n }\n\n function _handleFormSubmit(e) {\n $('.bubble').remove();\n $('input').removeClass('invalid');\n\n var valid = true;\n\n var emailField = $('input[name=email]', form);\n var passwordField = $('input[name=password]', form);\n var planField = $('select[name=plan]', form);\n\n if (!emailField.val()) {\n valid = false;\n emailField.errorize('Your email address is required');\n }\n\n if (valid && !/([^\\s]*?)@([^\\s]*?)\\.([^\\s]{2,})/.test(emailField.val())) {\n valid = false;\n emailField.errorize('Your email address is not valid');\n }\n\n if (valid && !passwordField.val()) {\n valid = false;\n passwordField.errorize('A password is required');\n }\n\n if (valid && passwordField.val().length < 8) {\n valid = false;\n passwordField.errorize('Your password must be at least 8 characters');\n }\n\n if (valid && planField[0].selectedIndex < 1) {\n valid = false;\n planField.errorize('You have to select a plan');\n }\n\n if (valid) {\n $.stripe.send(function() {\n form[0].submit();\n });\n }\n\n if (!valid) {\n _resetSubmitButton();\n return false;\n }\n\n e.preventDefault();\n }\n\n $.ready(function() {\n _focusForm();\n $('select[name=plan]').on('change', _handlePlanChange);\n if ($.prototype.payment) {\n $('.cc-number').payment('formatCardNumber');\n $('.cc-exp').payment('formatCardExpiry');\n $('.cc-cvc').payment('formatCardCVC');\n form.on('submit', _handleFormSubmit);\n $('input, select', form).on('blur', _handleBlur);\n }\n });\n} ());\n"],"sourceRoot":"/source/"}