PageSourceSearch

https://www.sellingo.ai/module_assets/js/merchant/home_register.js

js sellingo.ai collected 2026-10-05 15:50:10 UTC 51,143 bytes, 1,263 lines download raw bytes

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.