/*=========================================================================================
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');
}
}