/*========================================================================================= File Name: auth-register.js Description: Auth register js file. ---------------------------------------------------------------------------------------- Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template Author: PIXINVENT Author URL: http://www.themeforest.net/user/pixinvent ==========================================================================================*/ $(function () { ('use strict'); var pageRegisterForm = $('.auth-register-form'); var pageRegisterForm2 = $('.auth-register-form2'); var agencyRegisterForm = $('.auth-agency-register-form'); var agencyRegisterForm2 = $('.auth-agency-register-form2'); // jQuery Validation // -------------------------------------------------------------------- if (pageRegisterForm.length) { pageRegisterForm.validate({ /* * ? To enable validation onkeyup onkeyup: function (element) { $(element).valid(); },*/ /* * ? To enable validation on focusout onfocusout: function (element) { $(element).valid(); }, */ rules: { 'user_firstname': { required: true }, 'user_lastname': { required: true }, 'user_email': { required: true, email: true }, 'user_password': { required: true, strong_password: true }, 'user_confirmpassword': { required: true, equalTo: '#user_password' }, //'user_country': { // required: true //}, 'accept_terms': { required: true } }, submitHandler: function (form) { $.ajax({ type: "POST", url: "/api/auth_register", dataType: "json", data: $(form).serialize(), beforeSend: function () { $("button[type=button]").addClass('disabled'); Swal.fire({ title: 'Please wait...', html: 'We are creating your account.', allowEscapeKey: false, allowOutsideClick: false, didOpen: () => { Swal.showLoading() } }); }, success: function (response) { console.log(response); if (response.status == 1) { /*Swal.fire( 'Good job!', response.message, 'success' ).then(function (result) { if (true) { window.location.href = response.data['redirect_to']; } }) */ window.location.href = response.data['redirect_to']; console.log(response); } else { Swal.fire({ title: 'Error ' + response.responseCode + '!', text: response.message, icon: 'error', customClass: { confirmButton: 'btn btn-primary' }, buttonsStyling: false }); } } }); return false; // required to block normal submit since you used ajax } }); $.validator.addMethod("strong_password", function (value, element) { let password = value; if (!(/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@#$%&])(.{8,20}$)/.test(password))) { return false; } return true; }, function (value, element) { let password = $(element).val(); if (!(/^(.{8,20}$)/.test(password))) { return 'Password must be between 8 to 20 characters long.'; } else if (!(/^(?=.*[A-Z])/.test(password))) { return 'Password must contain at least one uppercase.'; } else if (!(/^(?=.*[a-z])/.test(password))) { return 'Password must contain at least one lowercase.'; } else if (!(/^(?=.*[0-9])/.test(password))) { return 'Password must contain at least one digit.'; } else if (!(/^(?=.*[@#$%&])/.test(password))) { return "Password must contain special characters from @#$%&."; } return false; }); } if (pageRegisterForm2.length) { pageRegisterForm2.validate({ rules: { 'user_address': { required: true }, 'user_city': { required: true }, 'user_country': { required: true }, 'user_state': { required: true, }, 'user_zip': { required: true }, 'user_phone': { required: true, phonevalidate: true }, 'card_number': { required: true }, 'card_expiry_month': { required: true }, 'card_expiry_year': { required: true }, 'card_cvv': { required: true }, 'accept_terms': { required: true } }, submitHandler: function (form) { $.ajax({ type: "POST", url: "/api/auth_register_step2", dataType: "json", data: $(form).serialize(), beforeSend: function () { $(".pay_now").addClass('disabled'); Swal.fire({ title: 'Please wait...', html: 'We are creating your account.', allowEscapeKey: false, allowOutsideClick: false, didOpen: () => { Swal.showLoading() } }); }, success: function (response) { console.log(response); if (response.status == 1) { if (response.responseCode == 201) { // Swal.close(); Swal.closeModal(); // initialize(); $("#openStripeModal").modal("show"); //stripe_checkout } } // openStripeModal // if (response.status == 1) { // if (response.responseCode == 302) { // var apimessage = response.data['apimessage']; // if (apimessage && apimessage.url) { // window.location.href = apimessage.url; // } else if (apimessage && apimessage.script) { // eval(apimessage.script); // } // } // else { // window.location.href = response.data['redirect_to']; // } // } else { // Swal.fire({ // title: 'Error ' + response.responseCode + '!', // text: response.message, // icon: 'error', // customClass: { // confirmButton: 'btn btn-primary' // }, // buttonsStyling: false // }); // } } }); return false; // required to block normal submit since you used ajax } }); jQuery.validator.addMethod("phonevalidate", 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"); } if (agencyRegisterForm.length) { agencyRegisterForm.validate({ /* * ? To enable validation onkeyup onkeyup: function (element) { $(element).valid(); },*/ /* * ? To enable validation on focusout onfocusout: function (element) { $(element).valid(); }, */ rules: { 'user_firstname': { required: true }, 'user_lastname': { required: true }, 'user_email': { required: true, email: true }, 'user_password': { required: true, strong_password: true }, 'user_confirmpassword': { required: true, equalTo: '#user_password' }, //'user_country': { // required: true //}, 'accept_terms': { required: true } }, submitHandler: function (form) { $.ajax({ type: "POST", url: "/api/auth_agency_register", dataType: "json", data: $(form).serialize(), beforeSend: function () { $("button[type=button]").addClass('disabled'); Swal.fire({ title: 'Please wait...', html: 'We are creating your account.', allowEscapeKey: false, allowOutsideClick: false, didOpen: () => { Swal.showLoading() } }); }, success: function (response) { console.log(response); if (response.status == 1) { /*Swal.fire( 'Good job!', response.message, 'success' ).then(function (result) { if (true) { window.location.href = response.data['redirect_to']; } }) */ window.location.href = response.data['redirect_to']; console.log(response); } else { Swal.fire({ title: 'Error ' + response.responseCode + '!', text: response.message, icon: 'error', customClass: { confirmButton: 'btn btn-primary' }, buttonsStyling: false }); } } }); return false; // required to block normal submit since you used ajax } }); $.validator.addMethod("strong_password", function (value, element) { let password = value; if (!(/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@#$%&])(.{8,20}$)/.test(password))) { return false; } return true; }, function (value, element) { let password = $(element).val(); if (!(/^(.{8,20}$)/.test(password))) { return 'Password must be between 8 to 20 characters long.'; } else if (!(/^(?=.*[A-Z])/.test(password))) { return 'Password must contain at least one uppercase.'; } else if (!(/^(?=.*[a-z])/.test(password))) { return 'Password must contain at least one lowercase.'; } else if (!(/^(?=.*[0-9])/.test(password))) { return 'Password must contain at least one digit.'; } else if (!(/^(?=.*[@#$%&])/.test(password))) { return "Password must contain special characters from @#$%&."; } return false; }); } if (agencyRegisterForm2.length) { agencyRegisterForm2.validate({ rules: { 'user_address': { required: true }, 'user_city': { required: true }, 'user_country': { required: true }, 'user_state': { required: true, }, 'user_zip': { required: true }, 'user_phone': { required: true, phonevalidate: true }, 'card_number': { required: true }, 'card_expiry_month': { required: true }, 'card_expiry_year': { required: true }, 'card_cvv': { required: true }, 'accept_terms': { required: true } }, submitHandler: function (form) { $.ajax({ type: "POST", url: "/api/auth_agency_register_step2", dataType: "json", data: $(form).serialize(), beforeSend: function () { $("button[type=button]").addClass('disabled'); Swal.fire({ title: 'Please wait...', html: 'We are creating your account.', allowEscapeKey: false, allowOutsideClick: false, didOpen: () => { Swal.showLoading() } }); }, success: function (response) { console.log(response); if (response.status == 1) { if (response.responseCode == 302) { var apimessage = response.data['apimessage']; if (apimessage && apimessage.url) { window.location.href = apimessage.url; } else if (apimessage && apimessage.script) { eval(apimessage.script); } } else { window.location.href = response.data['redirect_to']; } } else { Swal.fire({ title: 'Error ' + response.responseCode + '!', text: response.message, icon: 'error', customClass: { confirmButton: 'btn btn-primary' }, buttonsStyling: false }); } } }); return false; // required to block normal submit since you used ajax } }); jQuery.validator.addMethod("phonevalidate", 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"); } }); function emailverified(status, redirect_to = null) { if (status == true) { Swal.fire({ title: 'Good Job!', text: 'Your email is verified successfully.', icon: 'success', customClass: { confirmButton: 'btn btn-success' }, buttonsStyling: false, confirmButtonText: 'Sign in now', allowOutsideClick: false, backdrop: 'rgba(0,0,0,0.8)' }) } if (status == false) { Swal.fire({ title: 'Error!', text: 'Email verification is not successful.', icon: 'error', customClass: { confirmButton: 'btn btn-dark' }, buttonsStyling: false, confirmButtonText: 'Try Again' }).then(function (result) { if (true) { window.location.href = redirect_to; console.log('redirect'); } }); } } var inputphone = $("#user_phone"); if (inputphone.length) { inputphone.intlTelInput({ allowDropdown: true, nationalMode: true, separateDialCode: true }); var cleavePhone = new Cleave("input[name=user_phone]", { phone: true, phoneRegionCode: "US" }); inputphone.on("countrychange", function () { var SelectedCountry = inputphone.intlTelInput("getSelectedCountryData"); console.log(SelectedCountry); //cleavePhone.setPhoneRegionCode(SelectedCountry); cleavePhone.setRawValue(""); inputphone.focus(); $('input[name=user_phone_code]').val(SelectedCountry.dialCode); }); } function validcouponcheck() { var couponVal; var plnprice = 0; var totPrice = 0; couponVal = $('#coupon_code').val(); plnprice = $('#plnprice').val(); //console.log(plnprice); if (couponVal != 'CPP20OFF') { $('#coupon_code-error').addClass('error'); $('#coupon_code').addClass('error'); $('#coupon_code-error').text('Invalid Coupon Code'); $('#coupon_code-error').removeClass('alert alert-success'); $('#couponDiv').addClass('d-none'); //$('#priceDiv').html("$2988 $"+ plnprice); $('#duebf').html(plnprice); $('#dueaf').html(''); } else { $('#coupon_code-error').removeClass('error'); $('#coupon_code').removeClass('error'); $('#coupon_code-error').addClass('alert alert-success'); $('#coupon_code-error').text('20% discount is applied.'); var discountPrice = Math.round(plnprice * 20 / 100); var showPrice = Math.round(plnprice - discountPrice); //console.log(showPrice); //console.log(totPrice); //$('#saveprc').text(totPrice); //$('#prevPrice').html(''+plnprice+''); //$('#priceDiv').html("$2988 $"+ plnprice); $("#discountPrice").text('-$' + discountPrice); $('#duebf').html('' + plnprice + ''); $('#dueaf').html('$' + showPrice); //$('#tp').text('$'+showPrice); $('#couponDiv').removeClass('d-none'); $('.applyBtn').addClass('d-none'); } }