1toastr.options = 2{ 3 "positionClass": "toast-top-center" 4} 5/*----------- 6| Merchant Login and Forgot Password 7----------------------*/ 8$(document).ready(function() 9{ 10 $(document).on("keydown",'.type_otp',function() 11 { 12 var key = event.keyCode || event.charCode; 13 if( key == 8 || key == 46 ) 14 { 15 $(this).val(""); 16 $(this).closest('.input-group-col').prev().find('.type_otp').focus(); 17 } 18 // alert("type_otp event "); 19 var arr_segment =[]; 20 $(".type_otp").each(function(i,v) 21 { 22 arr_segment.push($(this).val()); 23 }); 24 if(arr_segment.length>0) 25 { 26 var otp = arr_segment.join(""); 27 $("#combine_otp").val(otp); 28 } 29 30 }); 31 32 /*combine OTP fields into one*/ 33 $(document).on("keyup",'.type_otp',function() 34 { 35 if (this.value.length == this.maxLength) 36 { 37 $(this).closest('.input-group-col').next().find('.type_otp').focus(); 38 } 39 40 // alert("type_otp event "); 41 var arr_segment =[]; 42 $(".type_otp").each(function(i,v) 43 { 44 arr_segment.push($(this).val()); 45 }); 46 if(arr_segment.length>0) 47 { 48 var otp = arr_segment.join(""); 49 $("#combine_otp").val(otp); 50 } 51 52 }); 53 54 55 $.validator.addMethod("validate_combine_otp", function(value, element) 56 { 57 var reqlength = $('.type_otp').length; 58 var value = $('.type_otp').filter(function () { 59 return this.value != ''; 60 }); 61 $("#verify_otp_error").html(''); 62 if (value.length>=6 && (value.length !== reqlength)) 63 { 64 return false; 65 } else { 66 return true 67 } 68 69 70 }); 71 72 $(".login_popup_register").on("click",function() 73 { 74 $("#modalLoginForm").modal('hide'); 75 $("#modalPlanLoginForm").modal('hide'); 76 77 $('#modalLoginForm :input').val(''); 78 // $('#modalPlanLoginForm :input').val(''); 79 80 $("#modalSendOTPRegisterForm").modal({ 81 backdrop: 'static', 82 keyboard: false 83 }); 84 $('#modalSendOTPRegisterForm').css('opacity','100'); 85 // $('#modalSendOTPRegisterForm .close').css('display', 'none'); 86 }); 87 88 $(".check_btn_registration").on("click",function() 89 { 90 $.ajax({ 91 url: base_url + 'unset_home_registration_number', 92 type: 'GET', 93 dataType: 'json', 94 success: function (response) 95 { 96 97 if($.trim(response.status)=='error') 98 { 99 window.toastr.clear(); 100 toastr.error(response.msg); 101 return false; 102 } 103 else if($.trim(response.status)=='success' ) 104 { 105 window.location.href = base_url + 'registration'; 106 } 107 108 } 109 110 }); 111 112 }); 113 114 115 /* Send OTP from popup */ 116 $("#send_otp").validate({ 117 118 errorElement: 'span', 119 errorClass: 'required', 120 errorPlacement:function (error, element) { 121 var obj = element.parent('.input-group'); 122 obj.append(error); 123 //console.log(error);return false; 124 125 }, 126 rules: { 127 user_mobile: { 128 required: true, 129 minlength: 10, 130 maxlength: 12, 131 number: true, 132 remote: { 133 url: base_url + 'API/common/is_merchant_duplicate', 134 type : "post", 135 data: 136 { 137 'mobile_no': function () 138 { 139 return $('#send_otp :input[name="user_mobile"]').val(); 140 }, 141 'sec_token':csrf_hash 142 143 144 }, 145 dataFilter: function(response) 146 { 147 var json = JSON.parse(response); 148 149 $('span#id_invalid_sendotp_err').text(""); 150 if(json.status == 'success') 151 { 152 return true; 153 } 154 else 155 { 156 $('span#id_invalid_sendotp_err').text(""); 157 var err_msg = json.message; 158 $('#id_invalid_sendotp_err').text(err_msg); 159 160 window.setTimeout( function() 161 { 162 $('#id_invalid_sendotp_err').text(""); 163 164 }, 3000); 165 return false;
166 } 167 } 168 } 169 170 }, 171 172 }, 173 messages: { 174 user_mobile: { 175 required: jkey_jq_mobile_required, 176 minlength: jkey_jq_mobile_minlength_10, 177 maxlength : jkey_jq_mobile_maxlength_12, 178 number: jkey_jq_mobile_invalid, 179 remote:"", 180 }, 181 182 183 184 }, submitHandler: function (form) 185 { 186 $('.m-progress').prop('disabled', true); 187 $(".m-progress").show(); 188 /*********************/ 189 190 191 var user_mobile = $('#send_otp #user_mobile').val(); 192 var lang_name = $('#send_otp #lang_name').val(); 193 194 $('#modalSendOTPRegisterForm .btn_send_otp').LoadingOverlay("show",{ 195 color : "rgba(0, 0, 0, 0.70)", 196 maxSize : "100px", 197 minSize : "20px", 198 zIndex : "9999" 199 }); 200 201 202 $.ajax({ 203 url: base_url + 'API/common/generate_mobile_verification_otp', 204 type: 'POST', 205 dataType: 'json', 206 data:{ 207 'mobile_no':user_mobile, 208 'source':'web', 209 'lang_name':lang_name, 210 'sec_token' : csrf_hash 211 }, 212 xhr: function () 213 { 214 var myXhr = $.ajaxSettings.xhr(); 215 return myXhr; 216 }, 217 success: function (data) 218 { 219 //console.log('dasdsadadasda'); return false; 220 $('#modalSendOTPRegisterForm .btn_send_otp').LoadingOverlay("hide"); 221 if (data.status == 'success') 222 { 223 224 let encrypted = data.OTP; 225 let secretKey = $('#crypt_Opt').val(); 226 //console.log(secretKey); 227 let decrypted = CryptoJSAesJson.decrypt(encrypted, '123456'); 228 //console.log('Decrypted:', decrypted); 229 230 231 $('#activate_timer').show(); 232 timer(45); 233 localStorage.setItem('OTP', decrypted); 234 localStorage.setItem('SendOTPForRegistration', decrypted); 235 localStorage.setItem('SendOTPOnMobile',user_mobile); 236 237 238 $("#modalSendOTPRegisterForm").modal('hide'); 239 $('#modalSendOTPRegisterForm :input').val(''); 240 241 242 $('#modalConfirmOTPRegisterForm #user_mobile').attr('value',user_mobile); 243 $('#modalConfirmOTPRegisterForm #user_mobile').attr('readonly',true); 244 245 246 $("#modalConfirmOTPRegisterForm").modal({ 247 backdrop: 'static', 248 keyboard: false 249 }); 250 $('#modalConfirmOTPRegisterForm').css('opacity','100'); 251 $('#modalConfirmOTPRegisterForm .close').css('display', 'none'); 252 253 return true; 254 } 255 else 256 { 257 var err_msg = data.message; 258 $('#id_invalid_sendotp_err').text(err_msg); 259 window.setTimeout( function() 260 { 261 $('#id_invalid_sendotp_err').text(""); 262 263 }, 3000); 264 265 return false;
266 } 267 } 268 269 270 271 }); 272 return false; // required to block normal submit since you used ajax 273 274 } 275 }); 276 277 278 /* Resend OTP*/ 279 $('#resend_otp').on('click',function() 280 { 281 $("#modalConfirmOTPRegisterForm #resend_otp").LoadingOverlay("show",{ 282 color : "rgba(0, 0, 0, 0.70)", 283 maxSize : "100px", 284 minSize : "20px", 285 zIndex : "9999" 286 }); 287 288 var user_mobile = $('#verify_otp #user_mobile').val(); 289 var lang_name = $('#verify_otp #lang_name').val(); 290 291 292 if(user_mobile!='') 293 { 294 $.ajax({ 295 type: "POST", 296 url: base_url+"API/Common/generate_mobile_verification_otp", 297 data: 298 { 299 'mobile_no':user_mobile, 300 'resend_otp':'1', 301 'lang_name':lang_name, 302 'source':'web', 303 'resend_otp':1, 304 'sec_token':csrf_hash, 305 }, 306 dataType:'JSON', 307 success: function (response) 308 { 309 $("#modalConfirmOTPRegisterForm #resend_otp").LoadingOverlay("hide"); 310 if($.trim(response.status)=='success') 311 { 312 var send_otp = response.OTP; 313 var succ_msg = jkey_otp_resent_success_message; 314 315 let encrypted = response.OTP; 316 let secretKey = $('#crypt_Opt').val(); 317 let decrypted = CryptoJSAesJson.decrypt(encrypted, '123456'); 318 319 //console.log('home_register_resend_otp OTP:', decrypted); 320 321 $('#id_verify_otp_success').text(succ_msg); 322 $('button#resend_otp').attr('disabled',true); 323 324 325 localStorage.setItem('OTP', decrypted); 326 localStorage.setItem('SendOTPForRegistration', decrypted); 327 timer(45); 328 window.setTimeout( function() 329 { 330 $('#id_verify_otp_success').text(""); 331 332 }, 3000); 333 return true; 334 335 336 } 337 else if($.trim(response.status)=='error') 338 { 339 var err_msg = data.message; 340 $('#id_invalid_verifyotp_err').text(err_msg); 341 window.setTimeout( function() 342 { 343 $('#id_invalid_verifyotp_err').text(""); 344 345 }, 3000); 346 347 return false; 348 } 349 350 351 } 352 }); 353 } 354 else 355 { 356 var err_msg = jkey_otp_enter_mobile_message; 357 $('#id_invalid_verifyotp_err').text(err_msg); 358 window.setTimeout( function() 359 { 360 $('#id_invalid_verifyotp_err').text(""); 361 362 }, 3000); 363 return false; 364 } 365 366 }); 367 368 369 370 /* Verify OTP from popup */ 371 $("#verify_otp").validate({ 372 373 errorElement: 'span', 374 errorClass: 'required', 375 errorPlacement:function (error, element) 376 { 377 var obj = element.parent('.input-group'); 378 obj.append(error); 379 380 }, 381 rules: { 382 user_mobile: { 383 required: true, 384 minlength: 10, 385 maxlength: 12, 386 number: true, 387 remote: { 388 url: base_url + 'API/common/is_merchant_duplicate', 389 type : "post", 390 data: 391 { 392 'mobile_no': function () 393 { 394 return $('#verify_otp :input[name="user_mobile"]').val(); 395 }, 396 'sec_token':csrf_hash 397 398 399 }, 400 dataFilter: function(response) 401 { 402 var json = JSON.parse(response); 403 404 $('span#id_invalid_verifyotp_err').text(""); 405 if(json.status == 'success') 406 { 407 return true; 408 } 409 else 410 { 411 $('span#id_invalid_verifyotp_err').text(""); 412 var err_msg = json.message; 413 $('#id_invalid_verifyotp_err').text(err_msg); 414 415 window.setTimeout( function() 416 { 417 $('#id_invalid_verifyotp_err').text(""); 418 419 }, 3000); 420 421 return false;
422 } 423 } 424 } 425 426 }, 427 otp_number:{ 428 validate_combine_otp:true, 429 } 430 }, 431 messages: { 432 user_mobile: { 433 required: jkey_jq_mobile_required, 434 minlength: jkey_jq_mobile_minlength_10, 435 maxlength : jkey_jq_mobile_maxlength_12, 436 number: jkey_jq_mobile_invalid, 437 remote:"", 438 }, 439 otp_number:{ 440 validate_combine_otp:jkey_jq_otp_invalid, 441 } 442 443 }, submitHandler: function (form) 444 { 445 $('.m-progress').prop('disabled', true); 446 $(".m-progress").show(); 447 /*********************/ 448 449 var local_otp = localStorage.getItem('SendOTPForRegistration'); 450 var local_otp_mobile = localStorage.getItem('SendOTPOnMobile'); 451 452 453 454 455 456 var user_mobile = $('#verify_otp #user_mobile').val(); 457 var otp_number = $('#verify_otp #combine_otp').val(); 458 var lang_name = $('#verify_otp #lang_name').val(); 459 460 if(otp_number != "" ) 461 { 462 463 if(user_mobile !="" && local_otp !="") 464 { 465 466 if(otp_number == local_otp) 467 { 468 $('#modalConfirmOTPRegisterForm .btn_verify_otp').LoadingOverlay("show",{ 469 color : "rgba(0, 0, 0, 0.70)", 470 maxSize : "100px", 471 minSize : "20px", 472 zIndex : "9999" 473 }); 474 $.post(base_url+'API/common/is_merchant_user', 475 { 476 'mobile_no':user_mobile, 477 'lang_name':lang_name, 478 'source' : 'web', 479 'sec_token' : csrf_hash 480 }, 481 function (data) 482 { 483 if (data.status == 'success') 484 { 485 $('#modalConfirmOTPRegisterForm .btn_verify_otp').LoadingOverlay("hide"); 486 var succ_msg = jkey_otp_verified_message; 487 $('#id_verify_otp_success').text(succ_msg); 488 localStorage.setItem('VerifyOTPSuccessData', JSON.stringify(data)); 489 490 window.setTimeout( function() 491 { 492 493 494 $('#id_verify_otp_success').text(""); 495 $("#modalConfirmOTPRegisterForm").modal('hide'); 496 497 window.location.href = base_url+'registration'; 498 }, 2000); 499 500 501 } 502 else 503 { 504 var err_msg = data.message; 505 $('#id_invalid_verifyotp_err').text(err_msg); 506 window.setTimeout( function() 507 { 508 $('#id_invalid_verifyotp_err').text(""); 509 510 }, 3000); 511 512 return false; 513 } 514 515 }, 'json') 516 517 } 518 else 519 { 520 $('#modalConfirmOTPRegisterForm .btn_verify_otp').LoadingOverlay("hide"); 521 var err_msg = jkey_invalid_otp_message; 522 $('#id_invalid_verifyotp_err').text(err_msg); 523 window.setTimeout( function() 524 { 525 $('#id_invalid_verifyotp_err').text(""); 526 527 }, 3000); 528 return false; 529 } 530 } 531 else 532 { 533 var err_msg = jkey_someting_went_wrong; 534 $('#id_invalid_verifyotp_err').text(err_msg); 535 window.setTimeout( function() 536 { 537 $('#id_invalid_verifyotp_err').text(""); 538 539 }, 3000); 540 541 return false; 542 } 543 } 544 else 545 { 546 var err_msg = jkey_invalid_otp_message; 547 $('#id_invalid_verifyotp_err').text(err_msg); 548 window.setTimeout( function() 549 { 550 $('#id_invalid_verifyotp_err').text(""); 551 552 }, 3000); 553 return false; 554 } 555 } 556 }); 557 558 /*slider 1*/ 559 560 $("#home_one").validate({ 561 errorElement: 'span', 562 //errorClass: 'required error', 563 errorPlacement:function (error, element) { 564 var obj = element.parent('.form-group'); 565 obj.append(error); 566 //console.log(element.attr("name") ); 567 568 }, 569 rules: { 570 user_mobile: { 571 required: true, 572 minlength: 10, 573 maxlength: 12, 574 number: true, 575 remote: 576 { 577 url: base_url + 'API/common/is_merchant_duplicate', 578 method : "post", 579 type : "json", 580 data: 581 { 582 'mobile_no': function () 583 { 584 return $('#home_one :input[name="user_mobile"]').val(); 585 }, 586 'sec_token':csrf_hash 587 588 }, 589 dataFilter: function(response) { 590 var json = JSON.parse(response); 591 592 if (json.status == 'error') 593 { 594 return "\"" + json.message + "\""; 595 } 596 else 597 { 598 return "true"; 599 } 600 } 601 } 602 } 603 604 }, 605 messages: { 606 user_mobile: { 607 required: jkey_jq_mobile_required, 608 minlength: jkey_jq_mobile_minlength_10, 609 maxlength : jkey_jq_mobile_maxlength_12, 610 number: jkey_jq_mobile_invalid 611 } 612 613 614 }, 615 submitHandler: function (form) 616 { 617 618 619 var user_mobile = $('#home_one :input[name="user_mobile"]').val(); 620 var lang_name = $('#home_one :input[name="lang_name"]').val(); 621 622 $('#home_one #submitBtn').LoadingOverlay("show",{ 623 color : "rgba(0, 0, 0, 0.70)", 624 maxSize : "100px", 625 minSize : "20px", 626 zIndex : "9999" 627 }); 628 $.ajax({ 629 url: base_url + 'API/common/generate_mobile_verification_otp', 630 type: 'POST', 631 dataType: 'json', 632 data:{ 633 'mobile_no':user_mobile, 634 'source':'web', 635 'lang_name':lang_name, 636 'sec_token' : csrf_hash 637 }, 638 xhr: function () 639 { 640 var myXhr = $.ajaxSettings.xhr(); 641 return myXhr; 642 }, 643 success: function (data) 644 { 645 $('#home_one #submitBtn').LoadingOverlay("hide"); 646 if (data.status == 'success') 647 { 648 //alert(data.OTP); 649 $('#activate_timer').show(); 650 timer(45); 651 localStorage.setItem('OTP', data.OTP); 652 localStorage.setItem('SendOTPForRegistration', data.OTP); 653 localStorage.setItem('SendOTPOnMobile',user_mobile); 654 655 656 $("#modalSendOTPRegisterForm").modal('hide'); 657 $('#modalSendOTPRegisterForm :input').val(''); 658 659 660 $('#modalConfirmOTPRegisterForm #user_mobile').attr('value',user_mobile); 661 $('#modalConfirmOTPRegisterForm #user_mobile').attr('readonly',true); 662 663 664 $("#modalConfirmOTPRegisterForm").modal({ 665 backdrop: 'static', 666 keyboard: false 667 }); 668 $('#modalConfirmOTPRegisterForm').css('opacity','100'); 669 $('#modalConfirmOTPRegisterForm .close').css('display', 'none'); 670 671 return true; 672 } 673 else 674 { 675 var err_msg = data.message; 676 $('#home_one .id_invalid_mobile_err').text(err_msg); 677 $('#home_one .id_invalid_mobile_err').css('display','block'); 678 window.setTimeout( function() 679 { 680 $('#home_one .id_invalid_mobile_err').text(""); 681 682 }, 3000); 683 684 return false;
685 } 686 }, 687 688 }); 689 return false; // required to block normal submit since you used ajax 690 691 692 693 } 694 }); 695 696 /*slider 2*/ 697 $("#home").validate({ 698 errorElement: 'span', 699 //errorClass: 'required error', 700 errorPlacement:function (error, element) { 701 var obj = element.parent('.form-group'); 702 obj.append(error); 703 //console.log(element.attr("name") ); 704 705 }, 706 rules: { 707 user_mobile: { 708 required: true, 709 minlength: 10, 710 maxlength: 12, 711 number: true, 712 remote: 713 { 714 url: base_url + 'API/common/is_merchant_duplicate', 715 method : "post", 716 type : "json", 717 data: 718 { 719 'mobile_no': function () 720 { 721 return $('#home :input[name="user_mobile"]').val(); 722 }, 723 'sec_token':csrf_hash 724 725 }, 726 dataFilter: function(response) { 727 var json = JSON.parse(response); 728 729 if (json.status == 'error') 730 { 731 return "\"" + json.message + "\""; 732 } 733 else 734 { 735 return "true"; 736 } 737 } 738 } 739 } 740 741 }, 742 messages: { 743 user_mobile: { 744 required: jkey_jq_mobile_required, 745 minlength: jkey_jq_mobile_minlength_10, 746 maxlength : jkey_jq_mobile_maxlength_12, 747 number: jkey_jq_mobile_invalid 748 } 749 750 751 }, 752 submitHandler: function (form) 753 { 754 var user_mobile = $('#home :input[name="user_mobile"]').val(); 755 var lang_name = $('#home :input[name="lang_name"]').val(); 756 757 $('#home #submitBtn').LoadingOverlay("show",{ 758 color : "rgba(0, 0, 0, 0.70)", 759 maxSize : "100px", 760 minSize : "20px", 761 zIndex : "9999" 762 }); 763 $.ajax({ 764 url: base_url + 'API/common/generate_mobile_verification_otp', 765 type: 'POST', 766 dataType: 'json', 767 data:{ 768 'mobile_no':user_mobile, 769 'source':'web', 770 'lang_name':lang_name, 771 'sec_token' : csrf_hash 772 }, 773 xhr: function () 774 { 775 var myXhr = $.ajaxSettings.xhr(); 776 return myXhr; 777 }, 778 success: function (data) 779 { 780 $('#home #submitBtn').LoadingOverlay("hide"); 781 if (data.status == 'success') 782 { 783 //alert(data.OTP); 784 $('#activate_timer').show(); 785 timer(45); 786 localStorage.setItem('OTP', data.OTP); 787 localStorage.setItem('SendOTPForRegistration', data.OTP); 788 localStorage.setItem('SendOTPOnMobile',user_mobile); 789 790 791 $("#modalSendOTPRegisterForm").modal('hide'); 792 $('#modalSendOTPRegisterForm :input').val(''); 793 794 795 $('#modalConfirmOTPRegisterForm #user_mobile').attr('value',user_mobile); 796 $('#modalConfirmOTPRegisterForm #user_mobile').attr('readonly',true); 797 798 799 $("#modalConfirmOTPRegisterForm").modal({ 800 backdrop: 'static', 801 keyboard: false 802 }); 803 $('#modalConfirmOTPRegisterForm').css('opacity','100'); 804 $('#modalConfirmOTPRegisterForm .close').css('display', 'none'); 805 806 return true; 807 } 808 else 809 { 810 var err_msg = data.message; 811 $('#home .id_invalid_mobile_err').text(err_msg); 812 $('#home .id_invalid_mobile_err').css('display','block'); 813 window.setTimeout( function() 814 { 815 $('#home .id_invalid_mobile_err').text(""); 816 817 }, 3000); 818 819 return false;
820 } 821 }, 822 823 }); 824 return false; // required to block normal submit since you used ajax 825 } 826 }); 827 828 /*slider 3*/ 829 $("#home1").validate({ 830 errorElement: 'span', 831 //errorClass: 'required error', 832 errorPlacement:function (error, element) { 833 var obj = element.parent('.form-group'); 834 obj.append(error); 835 //console.log(element.attr("name") ); 836 837 }, 838 rules: { 839 user_mobile: { 840 required: true, 841 minlength: 10, 842 maxlength: 12, 843 number: true, 844 remote: 845 { 846 url: base_url + 'API/common/is_merchant_duplicate', 847 method : "post", 848 type : "json", 849 data: 850 { 851 'mobile_no': function () 852 { 853 return $('#home1 :input[name="user_mobile"]').val(); 854 }, 855 'sec_token':csrf_hash 856 857 }, 858 dataFilter: function(response) { 859 var json = JSON.parse(response); 860 861 if (json.status == 'error') 862 { 863 return "\"" + json.message + "\""; 864 } 865 else 866 { 867 return "true"; 868 } 869 } 870 } 871 } 872 873 }, 874 messages: { 875 user_mobile: { 876 required: jkey_jq_mobile_required, 877 minlength: jkey_jq_mobile_minlength_10, 878 maxlength : jkey_jq_mobile_maxlength_12, 879 number: jkey_jq_mobile_invalid 880 } 881 882 883 }, 884 submitHandler: function (form) 885 { 886 var user_mobile = $('#home1 :input[name="user_mobile"]').val(); 887 var lang_name = $('#home1 :input[name="lang_name"]').val(); 888 889 $('#home1 #submitBtn').LoadingOverlay("show",{ 890 color : "rgba(0, 0, 0, 0.70)", 891 maxSize : "100px", 892 minSize : "20px", 893 zIndex : "9999" 894 }); 895 $.ajax({ 896 url: base_url + 'API/common/generate_mobile_verification_otp', 897 type: 'POST', 898 dataType: 'json', 899 data:{ 900 'mobile_no':user_mobile, 901 'source':'web', 902 'lang_name':lang_name, 903 'sec_token' : csrf_hash 904 }, 905 xhr: function () 906 { 907 var myXhr = $.ajaxSettings.xhr(); 908 return myXhr; 909 }, 910 success: function (data) 911 { 912 $('#home1 #submitBtn').LoadingOverlay("hide"); 913 if (data.status == 'success') 914 { 915 //alert(data.OTP); 916 $('#activate_timer').show(); 917 timer(45); 918 localStorage.setItem('OTP', data.OTP); 919 localStorage.setItem('SendOTPForRegistration', data.OTP); 920 localStorage.setItem('SendOTPOnMobile',user_mobile); 921 922 923 $("#modalSendOTPRegisterForm").modal('hide'); 924 $('#modalSendOTPRegisterForm :input').val(''); 925 926 927 $('#modalConfirmOTPRegisterForm #user_mobile').attr('value',user_mobile); 928 $('#modalConfirmOTPRegisterForm #user_mobile').attr('readonly',true); 929 930 931 $("#modalConfirmOTPRegisterForm").modal({ 932 backdrop: 'static', 933 keyboard: false 934 }); 935 $('#modalConfirmOTPRegisterForm').css('opacity','100'); 936 $('#modalConfirmOTPRegisterForm .close').css('display', 'none'); 937 938 return true; 939 } 940 else 941 { 942 var err_msg = data.message; 943 $('#home1 .id_invalid_mobile_err').text(err_msg); 944 $('#home1 .id_invalid_mobile_err').css('display','block'); 945 window.setTimeout( function() 946 { 947 $('#home1 .id_invalid_mobile_err').text(""); 948 949 }, 3000); 950 951 return false;
952 } 953 }, 954 955 }); 956 return false; // required to block normal submit since you used ajax 957 958 959 } 960 }); 961 962 /*slider 4*/ 963 $("#home2").validate({ 964 errorElement: 'span', 965 //errorClass: 'required error', 966 errorPlacement:function (error, element) { 967 var obj = element.parent('.form-group'); 968 obj.append(error); 969 //console.log(element.attr("name") ); 970 971 }, 972 rules: { 973 user_mobile: { 974 required: true, 975 minlength: 10, 976 maxlength: 12, 977 number: true, 978 remote: 979 { 980 url: base_url + 'API/common/is_merchant_duplicate', 981 method : "post", 982 type : "json", 983 data: 984 { 985 'mobile_no': function () 986 { 987 return $('#home2 :input[name="user_mobile"]').val(); 988 }, 989 'sec_token':csrf_hash 990 991 }, 992 dataFilter: function(response) { 993 var json = JSON.parse(response); 994 995 if (json.status == 'error') 996 { 997 return "\"" + json.message + "\""; 998 } 999 else 1000 { 1001 return "true"; 1002 } 1003 } 1004 } 1005 } 1006 1007 }, 1008 messages: { 1009 user_mobile: { 1010 required: jkey_jq_mobile_required, 1011 minlength: jkey_jq_mobile_minlength_10, 1012 maxlength : jkey_jq_mobile_maxlength_12, 1013 number: jkey_jq_mobile_invalid 1014 } 1015 1016 1017 }, 1018 submitHandler: function (form) 1019 { 1020 var user_mobile = $('#home2 :input[name="user_mobile"]').val(); 1021 var lang_name = $('#home2 :input[name="lang_name"]').val(); 1022 1023 $('#home2 #submitBtn').LoadingOverlay("show",{ 1024 color : "rgba(0, 0, 0, 0.70)", 1025 maxSize : "100px", 1026 minSize : "20px", 1027 zIndex : "9999" 1028 }); 1029 $.ajax({ 1030 url: base_url + 'API/common/generate_mobile_verification_otp', 1031 type: 'POST', 1032 dataType: 'json', 1033 data:{ 1034 'mobile_no':user_mobile, 1035 'source':'web', 1036 'lang_name':lang_name, 1037 'sec_token' : csrf_hash 1038 }, 1039 xhr: function () 1040 { 1041 var myXhr = $.ajaxSettings.xhr(); 1042 return myXhr; 1043 }, 1044 success: function (data) 1045 { 1046 $('#home2 #submitBtn').LoadingOverlay("hide"); 1047 if (data.status == 'success') 1048 { 1049 //alert(data.OTP); 1050 $('#activate_timer').show(); 1051 timer(45); 1052 localStorage.setItem('OTP', data.OTP); 1053 localStorage.setItem('SendOTPForRegistration', data.OTP); 1054 localStorage.setItem('SendOTPOnMobile',user_mobile); 1055 1056 1057 $("#modalSendOTPRegisterForm").modal('hide'); 1058 $('#modalSendOTPRegisterForm :input').val(''); 1059 1060 1061 $('#modalConfirmOTPRegisterForm #user_mobile').attr('value',user_mobile); 1062 $('#modalConfirmOTPRegisterForm #user_mobile').attr('readonly',true); 1063 1064 1065 $("#modalConfirmOTPRegisterForm").modal({ 1066 backdrop: 'static', 1067 keyboard: false 1068 }); 1069 $('#modalConfirmOTPRegisterForm').css('opacity','100'); 1070 $('#modalConfirmOTPRegisterForm .close').css('display', 'none'); 1071 1072 return true; 1073 } 1074 else 1075 { 1076 var err_msg = data.message; 1077 $('#home2 .id_invalid_mobile_err').text(err_msg); 1078 $('#home2 .id_invalid_mobile_err').css('display','block'); 1079 window.setTimeout( function() 1080 { 1081 $('#home2 .id_invalid_mobile_err').text(""); 1082 1083 }, 3000); 1084 1085 return false;
1086 } 1087 }, 1088 1089 }); 1090 return false; // required to block normal submit since you used ajax 1091 1092 1093 } 1094 }); 1095 1096 /*slider 5*/ 1097 $("#home3").validate({ 1098 errorElement: 'span', 1099 //errorClass: 'required error', 1100 errorPlacement:function (error, element) { 1101 var obj = element.parent('.form-group'); 1102 obj.append(error); 1103 //console.log(element.attr("name") ); 1104 1105 }, 1106 rules: { 1107 user_mobile: { 1108 required: true, 1109 minlength: 10, 1110 maxlength: 12, 1111 number: true, 1112 remote: 1113 { 1114 url: base_url + 'API/common/is_merchant_duplicate', 1115 method : "post", 1116 type : "json", 1117 data: 1118 { 1119 'mobile_no': function () 1120 { 1121 return $('#home3 :input[name="user_mobile"]').val(); 1122 }, 1123 'sec_token':csrf_hash 1124 1125 }, 1126 dataFilter: function(response) { 1127 var json = JSON.parse(response); 1128 1129 if (json.status == 'error') 1130 { 1131 return "\"" + json.message + "\""; 1132 } 1133 else 1134 { 1135 return "true"; 1136 } 1137 } 1138 } 1139 } 1140 1141 }, 1142 messages: { 1143 user_mobile: { 1144 required: jkey_jq_mobile_required, 1145 minlength: jkey_jq_mobile_minlength_10, 1146 maxlength : jkey_jq_mobile_maxlength_12, 1147 number: jkey_jq_mobile_invalid 1148 } 1149 1150 1151 }, 1152 submitHandler: function (form) 1153 { 1154 var user_mobile = $('#home3 :input[name="user_mobile"]').val(); 1155 var lang_name = $('#home3 :input[name="lang_name"]').val(); 1156 1157 $('#home3 #submitBtn').LoadingOverlay("show",{ 1158 color : "rgba(0, 0, 0, 0.70)", 1159 maxSize : "100px", 1160 minSize : "20px", 1161 zIndex : "9999" 1162 }); 1163 $.ajax({ 1164 url: base_url + 'API/common/generate_mobile_verification_otp', 1165 type: 'POST', 1166 dataType: 'json', 1167 data:{ 1168 'mobile_no':user_mobile, 1169 'source':'web', 1170 'lang_name':lang_name, 1171 'sec_token' : csrf_hash 1172 }, 1173 xhr: function () 1174 { 1175 var myXhr = $.ajaxSettings.xhr(); 1176 return myXhr; 1177 }, 1178 success: function (data) 1179 { 1180 $('#home3 #submitBtn').LoadingOverlay("hide"); 1181 if (data.status == 'success') 1182 { 1183 //alert(data.OTP); 1184 $('#activate_timer').show(); 1185 timer(45); 1186 localStorage.setItem('OTP', data.OTP); 1187 localStorage.setItem('SendOTPForRegistration', data.OTP); 1188 localStorage.setItem('SendOTPOnMobile',user_mobile); 1189 1190 1191 $("#modalSendOTPRegisterForm").modal('hide'); 1192 $('#modalSendOTPRegisterForm :input').val(''); 1193 1194 1195 $('#modalConfirmOTPRegisterForm #user_mobile').attr('value',user_mobile); 1196 $('#modalConfirmOTPRegisterForm #user_mobile').attr('readonly',true); 1197 1198 1199 $("#modalConfirmOTPRegisterForm").modal({ 1200 backdrop: 'static', 1201 keyboard: false 1202 }); 1203 $('#modalConfirmOTPRegisterForm').css('opacity','100'); 1204 $('#modalConfirmOTPRegisterForm .close').css('display', 'none'); 1205 1206 return true; 1207 } 1208 else 1209 { 1210 var err_msg = data.message; 1211 $('#home3 .id_invalid_mobile_err').text(err_msg); 1212 $('#home3 .id_invalid_mobile_err').css('display','block'); 1213 window.setTimeout( function() 1214 { 1215 $('#home3 .id_invalid_mobile_err').text(""); 1216 1217 }, 3000); 1218 1219 return false;
1220 } 1221 }, 1222 1223 }); 1224 return false; // required to block normal submit since you used ajax 1225 1226 1227 } 1228 }); 1229 1230 1231 1232 1233 /*Code to show 2 minute timer*/ 1234 let timerOn = true; 1235 function timer(remaining) 1236 { 1237 $('#timerdiv').css('display','block'); 1238 var m = Math.floor(remaining / 60); 1239 var s = remaining % 60; 1240 1241 m = m < 10 ? '0' + m : m; 1242 s = s < 10 ? '0' + s : s; 1243 document.getElementById('timer').innerHTML = m + ':' + s; 1244 remaining -= 1; 1245 1246 if(remaining >= 0 && timerOn) { 1247 setTimeout(function() { 1248 timer(remaining); 1249 }, 1000); 1250 return; 1251 } 1252 if(!timerOn) { 1253 1254 return; 1255 } 1256 $('button#resend_otp').attr('disabled',false); 1257 $('#timerdiv').css('display','none'); 1258 } 1259 1260 1261}); 1262 1263
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.