$(document).ready(function () {
$.validator.addMethod("valueNotEquals", function (value, element, arg) {
return arg != value;
}, "Please select the option.");
$.validator.addMethod(
"regex",
function(value, element, regexp) {
if (regexp.constructor != RegExp)
regexp = new RegExp(regexp);
else if (regexp.global)
regexp.lastIndex = 0;
return this.optional(element) || regexp.test(value);
},
"Password should be min 8 alphanumeric characters with uppercase letters, lowercase letters and at least one number."
);
$('#login_tab').click(function(){
$('.optVerifaction').hide();
$('#userLoginForm').show();
$('.signUpBlock').show();
});
$('#userForm').validate({
errorClass: "help-block",
validClass: 'valid',
rules: {
'email': {
required: true,
email: true,
remote: {url: SITE_URL + 'ajax/checkEmailAvailibility/' + $('#email').val(), type: 'GET'}
},
'full_name': {
required: true
},
'contact_code': {
required: true
},
'contact_number': {
required: true,
number: true,
maxlength: 10,
minlength:10,
remote: {url: SITE_URL + 'ajax/checkUserContactAvailibility/' +$('#contact_number').val(), type: 'GET'}
},
'password': {
required: true,
minlength: 8,
regex: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,16}$/i,
},
'con_password': {
required: true,
equalTo: "#password"
},
'location': {
required: true
},
},
messages: {
'email': {
required: 'Please enter email address.',
email: 'Please enter valid email address.',
remote: 'Email address is already exist.'
},
'full_name': {
required: 'Please enter full name.',
},
'contact_code': {
required: 'Please select country code.',
},
'contact_number': {
required: 'Please enter contact number.',
pattern: 'Please enter valid contact number.',
maxlength: 'Contact number is no more than 10 digits.',
minlength:'Please specify a valid contact number.',
digits: 'Please specify a valid contact number.',
remote: 'Contact number is already exist.'
},
'password': {
required: 'Please enter new password.',
minlength: 'New password must be at least 8 characters long.'
},
'con_password': {
required: 'Please enter confirm password.',
equalTo: "New password and confirm password does not match."
},
'location': {
required: 'Please enter the location.',
}
},
errorPlacement: function (error, element) {
//element.parents('div.form-group').append(error);
},
highlight: function (element, errorClass, validClass) {
$(element).parents("div.form-group").addClass('has-error').removeClass(validClass);
},
invalidHandler: function (form, validator) {
var errors = validator.numberOfInvalids();
var errorMsgs = '';
$.each(validator.invalid, function (key, val) {
errorMsgs += val + '
';
});
if (errorMsgs) {
$.growl.error({title: 'Signup Error!', message: errorMsgs});
}
},
unhighlight: function (element, errorClass, validClass) {
$(element).parents(".has-error").removeClass('has-error').addClass(validClass);
},
submitHandler: function (form) {
var formData = $('#userForm').serialize();
$('#save').text('Please wait...');
$('#save').attr('disabled', true);
$.ajax({
type: 'POST',
url: SITE_URL + 'ajax/validUserSignup/',
data: formData,
success: function (response) {
var response1 = jQuery.parseJSON(response);
$('#save').text('Signup');
$('#save').attr('disabled', false);
if (response1.status == 'success') {
var form = $("#userForm");
form.validate().resetForm(); // clear out the validation errors
form[0].reset(); // clear out the form data
// abid $('#myModal').modal('toggle');
/* $.growl.notice({
"title": "Thanks for registration.",
message: 'An OTP is sent on your mobile number. Please enter OTP below to confirm your account.'
});*/
//$('.optVerifaction').show();
//$('.signUpBlock').hide();
document.location.replace(SITE_URL+'pages/info/reg-success');
$('#phone').val(response1.phone);
//todo
} else if (response1.status == 'error') {
$('.loading_div').hide();
$('.error-msg').html(response1.message);
$.growl.error({title: 'Signup Error!', message: response1.message});
}
},
error: function () {
}
});
}
});
$('#userLoginPageForm').validate({
errorClass: "help-block",
validClass: 'valid',
rules: {
"email": {
required: true,
email: true,
},
"password": {
required: true,
}
},
messages: {
"email": {
required: "Email address is required.",
email: "Valid email address is required.",
},
"password": {
required: "Password is required.",
},
},
errorPlacement: function (error, element) {
//element.parents('div.form-group').append(error);
},
highlight: function (element, errorClass, validClass) {
$(element).parents("div.form-group").addClass('has-error').removeClass(validClass);
},
unhighlight: function (element, errorClass, validClass) {
$(element).parents(".has-error").removeClass('has-error').addClass(validClass);
},
invalidHandler: function (form, validator) {
var errors = validator.numberOfInvalids();
var errorMsgs = '';
$.each(validator.invalid, function (key, val) {
errorMsgs += val + '
';
});
if (errorMsgs) {
$.growl.error({title: 'Login Error!', message: errorMsgs});
}
},
submitHandler: function (form) {
form.submit();
}
});
$('#userLoginForm').validate({
errorClass: "help-block",
validClass: 'valid',
rules: {
"username": {
required: true,
email: true,
},
"password": {
required: true,
regex: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,16}$/i,
}
},
messages: {
"username": {
required: "Email address is required.",
email: "Valid email address is required.",
},
"password": {
required: "Password is required.",
},
},
errorPlacement: function (error, element) {
//element.parents('div.form-group').append(error);
},
highlight: function (element, errorClass, validClass) {
$(element).parents("div.form-group").addClass('has-error').removeClass(validClass);
},
unhighlight: function (element, errorClass, validClass) {
$(element).parents(".has-error").removeClass('has-error').addClass(validClass);
},
invalidHandler: function (form, validator) {
var errors = validator.numberOfInvalids();
var errorMsgs = '';
$.each(validator.invalid, function (key, val) {
errorMsgs += val + '
';
});
if (errorMsgs) {
$.growl.error({title: 'Login Error!', message: errorMsgs});
}
},
submitHandler: function (form) {
var formData = $('#userLoginForm').serialize();
$('#login').text('Sign In...');
$('#login').attr('disabled', true);
$.ajax({
type: 'POST',
url: SITE_URL + 'ajax/loginProcess/',
data: formData,
success: function (response) {
var response1 = jQuery.parseJSON(response);
if (response1.code == '2') {
$('#login').text('Sign In');
$('#login').attr('disabled', false);
if(response1.status == 'error'){
$.growl.error({
message: response1.message
});
}else{
$.growl.error({
message: "Email address and password is incorrect."
});
}
} else if (response1.code == '4') {
/* $.growl.notice({
title: "",
message: "An OTP is sent on your mobile number. Please enter OTP below to confirm your account.",
});*/
document.location.replace(SITE_URL+'pages/info/email_not_verified');
//$('#userLoginForm').hide();
// $('.optVerifaction').show();
// $('#phone').val(response1.phone);
} else if (response1.code == '5') {
$.growl.error({
message: "Please verify your email address."
});
} else if (response1.code == '1') {
var form = $("#userLoginForm");
form.validate().resetForm(); // clear out the validation errors
// form[0].reset(); // clear out the form data
/* abid 24/8$.growl.notice({
"title": "Login Success.",
message: 'You are now logged in.'
});*/
var check_url = current_page.split('?');
if(check_url[1]!=undefined && check_url[1].indexOf('fbclid')==-1){
var check_url = check_url[1].split('=');
SITE_URL = SITE_URL.substring(0, SITE_URL.length-1);
current_page = decodeURIComponent(SITE_URL + check_url[1]);
}
window.location = current_page;
}
},
error: function () {}
});
}
});
$('#forgotPasswordForm').validate({
errorClass: "help-block",
validClass: 'valid',
rules: {
"email": {
required: true,
email: true,
},
},
messages: {
"username": {
required: "Email address is required.",
email: "Valid email address is required.",
},
},
errorPlacement: function (error, element) {
},
highlight: function (element, errorClass, validClass) {
$(element).parents("div.form-group").addClass('has-error').removeClass(validClass);
},
unhighlight: function (element, errorClass, validClass) {
$(element).parents(".has-error").removeClass('has-error').addClass(validClass);
},
invalidHandler: function (form, validator) {
var errors = validator.numberOfInvalids();
var errorMsgs = '';
$.each(validator.invalid, function (key, val) {
errorMsgs += val + '
';
});
if (errorMsgs) {
$.growl.error({title: 'Login Error!', message: errorMsgs});
}
},
submitHandler: function (form) {
var formData = $('#forgotPasswordForm').serialize();
$('#login').text('Sign In...');
$('#login').attr('disabled', true);
$.ajax({
type: 'POST',
url: SITE_URL + 'ajax/forgotPassword/',
data: formData,
beforeSend:function(){
$('#forgot_submit').text('Submit..');
$('#forgot_submit').attr('disabled', true);
},
success: function (response) {
var response1 = jQuery.parseJSON(response);
if (response1.success == '1') {
$('#forgotPassword').modal('hide');
$('#cpmail').modal('show');
$('#forgot_submit').text('Submit');
$('#forgot_submit').attr('disabled', false);
} else{
var form = $("#forgotPasswordForm");
form.validate().resetForm(); // clear out the validation errors
form[0].reset(); // clear out the form data
$.growl.notice({
"title": "Email Error.",
message: response1.message
});
$('#forgot_submit').text('Submit');
$('#forgot_submit').attr('disabled', false);
}
},
error: function () {}
});
}
});
$('#otpVerifyForm').validate({
errorClass: "help-block",
validClass: 'valid',
rules: {
"opt": {
required: true,
}
},
messages: {
"opt": {
required: "Please Enter OTP",
},
},
errorPlacement: function (error, element) {
},
highlight: function (element, errorClass, validClass) {
$(element).parents("div.form-group").addClass('has-error').removeClass(validClass);
},
unhighlight: function (element, errorClass, validClass) {
$(element).parents(".has-error").removeClass('has-error').addClass(validClass);
},
invalidHandler: function (form, validator) {
var errors = validator.numberOfInvalids();
var errorMsgs = '';
$.each(validator.invalid, function (key, val) {
errorMsgs += val + '
';
});
if (errorMsgs) {
$.growl.error({title: 'OTP Error!', message: errorMsgs});
}
},
submitHandler: function (form) {
var formData = $('#otpVerifyForm').serialize();
$('#otp_verify').text('Verifying...');
$('#otp_verify').attr('disabled', true);
$.ajax({
type: 'POST',
url: SITE_URL + 'ajax/verifyOtp/',
data: formData,
success: function (response) {
var response1 = jQuery.parseJSON(response);
if (response1.status == 'success') {
$('#otp_verify').text('OTP Verified');
window.location.href = window.location = SITE_URL + 'users/account';
// $('#qn').show();
// $('#sign_in_up').hide();
//$('#ques_block').show();
/*$.growl.notice({
"title": "OTP Verified Successfully",
message: ''
});*/
}else{
$('#otp_verify').text('Submit');
$('#otp_verify').attr('disabled', false);
$.growl.error({
"title": "OTP Error",
message: 'This OTP is not Valid.Enter a Valid OTP'
});
}
},
error: function () {}
});
}
});
$('#state').on('change', function () {
$.cookie('parent_locality_id', $('#state').val(), {expires: 365, path: '/'});
$.cookie('parent_locality_value', $('#state option:selected').text(), {expires: 365, path: '/'});
$('#zip_code').val("");
});
});