PageSourceSearch

https://protectbox.com/wp-content/plugins/registrationmagic-premium-1/public/js/script_rm_front.js?ver=6.1.0.1

js protectbox.com collected 2026-10-04 15:50:55 UTC 23,933 bytes, 707 lines download raw bytes

1
2/**
3 * FILE for all the javascript functionality for the front end of the plugin
4 */
5/* For front end OTP widget */
6var rm_ajax_url = rm_ajax.url;
7var rm_validation_attr = ['data-rm-valid-username','data-rm-valid-email'];
8var rm_js_data;
9var rm_front_user_page_number = 2;
10var max_otp_attempt = parseInt(rm_ajax.max_otp_attempt);
11
12function rmInitGoogleApi() {
13    if (typeof rmInitMap === 'function') {
14        var rm_all_maps = jQuery(".rm-map-controls-uninitialized");
15        
16        var i;
17        var curr_id = '';
18
19        for (i = 0; i < rm_all_maps.length; i++) { 
20            if(jQuery(rm_all_maps[i]).is(':visible')){
21            curr_id = rm_all_maps[i].getAttribute("id");
22            jQuery(rm_all_maps[i]).removeClass("rm-map-controls-uninitialized");
23            rmInitMap(curr_id);
24        }
25        }
26    }
27}
28
29// This is a dummy request to exchange cookies after auto login
30function rm_send_dummy_ajax_request(url){
31    var data = {'action' : 'rm_dummy_refresh'};
32    jQuery.post (rm_ajax_url, data, function(){
33        if(url)
34           window.location=url;
35        else{
36             //jQuery("#rm_ajax_login").hide();
37             //jQuery("#rm_ajax_after_login").show();
38        }
39    });            
40}
41
42function scroll_down_end(element) {
43
44    if (element.scrollTop + element.offsetHeight >= element.scrollHeight)
45    {
46        var div = jQuery(element).parent().siblings();
47        jQuery(div).children().removeAttr('disabled');
48
49    }
50    else
51    {
52    var text_height = jQuery(element).css('font-size').replace('px', '');
53        text_height = Math.ceil(parseInt(text_height));
54        var field_height = Math.floor(jQuery(element).height());
55        var line_per_field = Math.floor(jQuery(element).height() / text_height);
56        var text = jQuery(element).val();
57        var lines = text.split(/\r|\r\n|\n/);
58        var count = text.length;
59        
60        var count = count / field_height;
61        
62        var count = Math.floor(count);
63        
64        lines = lines.length;
65       count =count *line_per_field;
66        if (lines > count)
67            count = lines;
68     
69        if (count <= line_per_field)
70        {
71            count = 1;
72        }
73        
74        if ((count * field_height) <= field_height) {
75
76            var div = jQuery(element).parent().siblings();
77
78               jQuery(div).children().removeAttr('disabled');
79
80        }
81    }
82   
83}
84
85var rm_call_otp = function (event,elem,opType) {
86   
87    if (event.keyCode == 13 || opType=="submit") {
88
89        var otp_key_status = jQuery(elem + " #rm_otp_login #rm_otp_enter_otp .rm_otp_kcontact").is(":visible");
90        var user_key_status = jQuery(elem + " #rm_otp_login #rm_otp_enter_password .rm_otp_kcontact").is(":visible");
91        
92        var data = {
93            'action': 'rm_set_otp',
94            'rm_sec_nonce': rm_ajax.nonce,
95            'rm_otp_email': jQuery(elem + " #rm_otp_econtact").val(),
96            'rm_slug': 'rm_front_set_otp'
97        };
98        if (otp_key_status)
99        {
100            data.rm_otp_key = jQuery(elem + " #rm_otp_enter_otp .rm_otp_kcontact").val();
101        }else
102            if(user_key_status){
103                if(jQuery(elem + " #rm_rememberme").is(':checked'))
104                    data.rm_remember = 'yes';
105                data.rm_username = jQuery(elem + " #rm_username").val();
106                data.rm_user_key = jQuery(elem + " #rm_otp_enter_password .rm_otp_kcontact").val();
107            }
108            
109        jQuery(elem + " .rm_hide_when_loader").hide();
110        jQuery(elem + " .rm_loader").show();
111        jQuery.post(rm_ajax_url, data, function (response) {
112            jQuery(elem + " .rm_loader").hide();
113            jQuery(elem + " .rm_hide_when_loader").show();
114            var responseObj = jQuery.parseJSON(response);
115            if (responseObj.error == true) {
116                jQuery(elem + " #rm_otp_login .rm_f_notifications .rm_f_error").hide().html(responseObj.msg).slideDown('slow');
117                jQuery(elem + " #rm_otp_login .rm_f_notifications .rm_f_success").hide();
118                /*jQuery("#rm_otp_login " + responseObj.hide).hide('slow');*/
119            } else {
120                jQuery(elem + " #rm_otp_login .rm_f_notifications .rm_f_error").hide();
121                jQuery(elem + " #rm_otp_login .rm_f_notifications .rm_f_success").hide().html(responseObj.msg).slideDown('slow');
122                jQuery(elem + " #rm_otp_login " + responseObj.show).show();
123                jQuery(elem + " #rm_otp_login " + responseObj.hide).hide();
124
125                if(responseObj.username){
126                    jQuery(elem + " #rm_username").val(responseObj.username);
127                }else
128                    jQuery(elem + " #rm_username").val('');
129                
130                if (responseObj.reload) {
131                    location.reload();
132                }
133                
134                if (responseObj.redirect) {
135                    window.location = responseObj.redirect;
136                }
137                
138            }
139        });
140    }
141};
142
143/*All the functions to be hooked on the front end at document ready*/
144jQuery(document).ready(function () {
145    if(jQuery('#id_rm_tp_timezone').length > 0)
146       jQuery('#id_rm_tp_timezone').val(-new Date().getTimezoneOffset()/60);
147    var tab_container= jQuery('.rm_tabbing_container');
148    if(tab_container.length>0){
149        tab_container.tabs();
150    }
151    
152    jQuery('.rm_terms_textarea').each(function () {
153    var a = jQuery(this).children('textarea');
154      if (a.length > 0)
155            scroll_down_end(a);
156   });
157   
158    
159    jQuery(".rm_floating_action").click(function(){
160       jQuery(".rm_floating_box").toggle('medium');
161   });
162   
163    if(jQuery("#rm_f_mail_notification").length>0){
164       jQuery("#rm_f_mail_notification").show('fast', function () {
165        jQuery("#rm_f_mail_notification").fadeOut(3000);
166       }); 
167    }
168
169    //Code for async login check
170    /*
171    jQuery( document ).on( "click", ".rm_login_btn", function(event) {
172        var btnLbl = jQuery(this).val();
173        var formvalidid  = '';
174            if(jQuery("#rm_login_form_1").length){
175                formvalidid = 'rm_login_form_1';
176            } else if(jQuery("#rm_otp_form_1").length){
177                formvalidid = 'rm_otp_form_1';
178            }
179        if(validate_empty_required_fields(formvalidid)){
180            jQuery('.rm_login_btn').prop('disabled', true);
181            jQuery('.rm_login_btn').prop('value', '');
182            jQuery('.rm_login_btn').toggleClass('rm-login-btn-loader');
183            event.preventDefault();
184            var form = jQuery("#"+formvalidid);
185            jQuery.post( form.attr('action'), form.serialize()).done(function( data ) {
186                  if(data.includes("alert-error")){
187                      // remove previous errors
188                      jQuery('.alert-error').remove();
189                      // add errors
190                      var elements = jQuery(data);
191                      var found = jQuery('.alert-error', elements);
192                      jQuery('input[name="rm_slug"]').after(found);
193                      jQuery('.rm_login_btn').prop('disabled', false);
194                      jQuery('.rm_login_btn').prop('value', btnLbl);
195                      jQuery('.rm_login_btn').toggleClass('rm-login-btn-loader');
196                  } else if(data.includes("rm_otp_form_1")) {
197                      document.write(data);
198                  } else {
199                      // request for redirection url
200                      var ndata= {
201                          'action': 'rm_get_after_login_redirect',
202                      };
203                      jQuery.post(rm_ajax_url, ndata, function(response) {
204                          resp = JSON.parse(response);
205                          if(resp['redirect'] != '') {
206                              window.location.href = resp['redirect'];
207                          } else
208                              alert("Error occured during redirection");
209                      });
210                  }
211              });
212        }
213    });
214    */
215});
216
217/*
218function validate_empty_required_fields(formId) {
219    let allAreFilled = true;
220    document.getElementById(formId).querySelectorAll("[required]").forEach(function(i) {
221    if (!allAreFilled) allAreFilled = false;
222    if (!i.value) allAreFilled = false;
223    if (i.type === "radio") {
224      let radioValueCheck = false;
225      document.getElementById("myForm").querySelectorAll(`[name=${i.name}]`).forEach(function(r) {
226        if (r.checked) radioValueCheck = true;
227        })
228        allAreFilled = radioValueCheck;
229        }
230      })
231      if (!allAreFilled) {
232        allAreFilled = false;
233      }
234
235      return allAreFilled;
236}
237*/
238
239/*launches all the functions assigned to an element on click event*/
240
241function performClick(elemId, s_id, f_id) {
242    var elem = document.getElementById(elemId);
243    if (elem && document.createEvent) {
244        var evt = document.createEvent("MouseEvents");
245        evt.initEvent("click", true, false);
246        elem.dispatchEvent(evt);
247    }
248}
249
250
251function rm_append_field(tag, element_id) {
252    jQuery('#' + element_id).append("<" + tag + " class='appendable_options'>" + jQuery('#' + element_id).children(tag + ".appendable_options").html() + "</" + tag + ">");
253}
254
255function rm_delete_appended_field(element, element_id) {
256    if (jQuery(element).parents("#".element_id).children(".appendable_options").length > 1)
257        jQuery(element).parent(".appendable_options").remove();
258}
259
260var rm_toggleFloatingScreens= function(screen_name){
261   jQuery("#" + screen_name).animate({width:'toggle'},300,"linear");
262   /*jQuery("#" + screen_name).slideToggle('medium');*/
263   jQuery('.rm_floating_screens .rm_hidden').not("#" + screen_name).hide();
264}
265
266var rm_closeFloatingScreens= function(screen_name){
267   jQuery("#" + screen_name).animate({width:'toggle'},300,"linear",function(){
268        jQuery(this).hide();
269   });
270   /*jQuery('.rm_floating_screens .rm_hidden').hide('medium');*/
271}
272
273var rm_empty_tp_entry = function(tpid){
274    jQuery("#" + tpid).val('');
275}
276
277var rm_user_exists= function(el,url,data){
278    var valid;
279    jQuery.post(url, data, function(response) {
280        elementId= jQuery(el).attr('id');
281        jQuery("." + elementId + "-error").remove();
282        response= JSON.parse(response);
283        if(response.status){
284           /* if(!jQuery("#" + elementId + "-error").length)*/
285            jQuery(el).parent(".rminput").append('<div><label class="'+ elementId +'-error rm-form-field-invalid-msg">' + response.msg + '</label></div>');  
286            jQuery(el).attr(data.attr,0);
287            if (jQuery('#rm-menu').length > 0) {
288             jQuery("#rm-menu").css('transform', 'translateY(0px)');
289             }
290            
291        }
292        else{    
293             jQuery("." + elementId + "-error").remove();    
294             jQuery(el).attr(data.attr,1); 
295            }
296     });
297}
298
299var rm_get_state= function(el,url,data){ 
300    jQuery.post(url, data, function(response) {
301        elementId= jQuery(el).attr('id');
302        console.log(response);
303        //console.log(data.state_field_id);
304        var name = jQuery('#'+data.state_field_id+'_attrs').attr('data-name');
305        var placeholder = jQuery('#'+data.state_field_id+'_attrs').attr('data-placeholder');
306        var class_val = jQuery('#'+data.state_field_id+'_attrs').attr('data-class');
307        var style = jQuery('#'+data.state_field_id+'_attrs').attr('data-style');
308        console.log('--'+style);
309        var required = jQuery('#'+data.state_field_id+'_attrs').attr('data-required');
310        var required_attr = '';
311        if(required!=''){
312            required_attr = 'required="required"';
313        }
314        var value = jQuery('#'+data.state_field_id+'_attrs').attr('data-value');
315        if(response!='' && response!=0){
316            jQuery('#'+data.state_field_id).html('<select name="'+name+'" style="'+style+'" class="'+class_val+'" placeholder="'+placeholder+'" '+required_attr+'>'+response+'</select>');
317        }else{
318            jQuery('#'+data.state_field_id).html('<input type="text" name="'+name+'" style="'+style+'" placeholder="'+placeholder+'" class="'+class_val+'" value="'+value+'" '+required_attr+'>');
319        }
320    });
321}
322
323var rm_unique_field_check= function(obj){
324    if(obj.val()=="")
325        return; 
326    var data= {
327        'action': 'rm_unique_field',
328        'rm_sec_nonce': rm_ajax.nonce,
329        'value': obj.val(),
330        'field_name': obj.attr('name')
331    };
332    
333    jQuery.post(rm_ajax_url, data, function (response) {
334        try {
335            var rm_js_data= JSON.parse(response);
336            validate_rm_field_explicitly({element:obj,status: rm_js_data.status,msg: rm_js_data.msg});
337            
338        } catch(e) {
339            // error in the above string (in this case, yes)!
340        }
341    });
342}
343    
344function validate_rm_field_explicitly(data)    
345{   var elementId= data.element.attr('id');
346    var msg= data.msg;
347    var el= data.element;
348    if(data.status=='invalid')
349    {  
350       jQuery(el).parent(".rminput").append('<label id="' + elementId + '-error" 
350class="rm-form-field-invalid-msg">' + msg + '</label>');  
351            jQuery(el).attr(data.attr,0);
352            if (jQuery('#rm-menu').length > 0) {
353             jQuery("#rm-menu").css('transform', 'translateY(0px)');
354        }
355    }
356    else{
357         jQuery("#" + elementId + "-error").remove();         
358         jQuery(el).attr(data.attr,1);
359    }
360   
361}
362
363function handle_data(email,first_name,type,token) {
364	var data = {
365			'action': 'rm_login_social_user',
366			'email': email,
367            'type': type,
368            'token': token
369		};
370    
371		/* since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php*/
372		jQuery.post(rm_ajax_url, data, function(response) {
373            resp = JSON.parse(response);
374            if(resp['code'] == 'allowed') {
375                if(resp['msg'].length)
376                    location = resp['msg'];
377                else
378                    location.reload();
379            } else
380                alert(resp['msg']);
381        });
382}
383
384
385 
386function load_front_users(group_by,form_id,obj)
387{
388               
389    var data = {'action': 'rm_load_front_users','rm_sec_nonce': rm_ajax.nonce,'timerange': group_by,'form_id': form_id,'page_number': rm_front_user_page_number }; 
390    var request_in_progress= false;
391    jQuery(obj).prop('disabled',true);
392    
393    jQuery.post(rm_ajax_url, data, function (response) {
394    jQuery(obj).prop('disabled',false);
395    response= JSON.parse(response);
396    
397    if(response.page_number>0){
398        jQuery(".se-pre-con").css("display", "block");
399        jQuery(".se-pre-con").fadeOut(3000);
400       
401        rm_front_user_page_number= response.page_number;
402        
403    }
404    if(response.users.length==0){
405        alert('No more users found.');
406        jQuery("#rm-user-load-more").remove();
407    }
408    for(var i=0;i<response.users.length;i++){
409  
410           
411        var html= '<div class="rm-submission-field-row">' + 
412                    '<div class="rm-user-profile">' + response.users[i].profile + '</div>' + 
413                    '<div class="rm-user-data">' +
414                        '<div class="rm-user-label">' + response.users[i].display_name + '</div>' + 
415                        '<div class="rm-user-value">' + response.users[i].user_email + '</div>' +
416                    '</div>';
417        jQuery("#rm_user_list").append(html);
418    }
419    });
420} 
421
422function rm_send_verification_link(obj,user_id,activation_nonce){
423    var data = {
424        'action': 'rm_activation_link',
425        'user_id': user_id,
426        'activation_nonce': activation_nonce
427    };
428    
429    jQuery('.rm_verification_container').html(rm_ajax.request_processing);
430
431    jQuery.post(rm_ajax_url, data, function (response) {
432       try{
433         response= JSON.parse(response);  
434         //jQuery(obj).closest('.rm_verification_container').append('<div class="rm_ver_messae">' + response.msg + '</div>');
435         jQuery('.rm_verification_container').html('<div class="rm_ver_messae">' + response.msg + '</div>');
436        }
437       catch(ex){
438           console.log(ex);
439       } 
440    });
441}
442
443
444jQuery(document).ready(function () {
445    jQuery(".rm_mapv_container").each(function() {
446    if (jQuery(this).width() < 600) {
447        jQuery(this).addClass("rm_mapvsm");
448
449
450    } else {
451        jQuery(this).addClass("rm_mapvlg");
452
453    }
454    });
455});
456
457function rm_toggle_tel_error(valid,el,msg){
458    jQuery("." + el.prop('id') + "-error").remove();
459    var inputValue= el.val();
460    var form_con=el.closest('form');
461    setTimeout(function(){ form_con.find('[type=submit]').prop('disabled',false);},500);
462    if(inputValue.length==0 && el.prop('required')){
463        return false;
464    }
465    
466    if(!el.is(':visible'))
467    {
468        return false;
469    }
470    
471    if(el.length>0 && inputValue.length>0){
472         if(!valid){
473             if(el.closest(".rminput").length>0){
474                setTimeout(function(){el.closest(".rminput").append('<div><label class="'+ el.prop('id') +'-error rm-form-field-invalid-msg">' + msg + '</label></div'); },500);
475                         return true;
476             }
477             else{
478                setTimeout(function(){el.closest(".intl-tel-input").append('<div><label class="'+ el.prop('id') +'-error rm-form-field-invalid-msg">' + msg + '</label></div'); },500); 
479                         return false;
480             }  
481         }
482     }
483     return false;
484}
485
486function rm_toggle_tel_wc_error(valid,el,msg){
487    if(el.closest('.rmwc-input').length==0)
488        return true;
489    
490    
491    jQuery("." + el.prop('id') + "-error").remove();
492    var inputValue= el.val();
493    var form_con=el.closest('form');
494    setTimeout(function(){ form_con.find('[type=submit]').prop('disabled',false);},500);
495    if(inputValue.length==0 && el.prop('required')){
496        return true;
497    }
498    
499    if(!el.is(':visible'))
500    {
501        return true;
502    }
503    
504    if(el.length>0 && inputValue.length>0){
505         if(!valid){
506             if(el.closest(".rminput").length>0){
507                setTimeout(function(){el.closest(".rminput").append('<div><label class="'+ el.prop('id') +'-error rm-form-field-invalid-msg">' + msg + '</label></div'); },500);
508                         return false;
509             }
510             else{
511                setTimeout(function(){el.closest(".intl-tel-input").append('<div><label class="'+ el.prop('id') +'-error rm-form-field-invalid-msg">' + msg + '</label></div'); },500); 
512                         return true;
513             }  
514         }
515     }
516     return true;
517}
518
519function rm_get_country_code_by_name(country_list,selected_country){
520    var regex = new RegExp(selected_country + "\[[A-Z{{2}}\]",'i');
521    if(selected_country.toLowerCase()=='india'){
522        return 'in';
523    }
524    else if(selected_country.toLowerCase()=='' || selected_country.toLowerCase()=='us' || selected_country.toLowerCase()=='united_states'){
525        return 'us';
526    }
527    else if(selected_country.toLowerCase()=='canada'){
528        return 'ca';
529    }
530   
531    var country_code='';
532    for(country in country_list)
533    {
534        var found= country.search(regex);
535        if(found>=0){
536            var index= country.search(/\[[A-Z]{2}\]/i);
537      
538            if(index>=0) 
539            { 
540                country_code= country.substr(index+1,2).toLowerCase();
541                return country_code;
542            }
543        }
544    }
545    return country_code;
546}
547function rm_regernate_expired_otp(obj,username){
548        var data = {'action' : 'rm_genrate_fa_otp','rm_sec_nonce': rm_ajax.nonce,'username':username,'expired':1};
549        jQuery.post(rm_ajax_url, data, function(response){
550            response= JSON.parse(response);
551            var form_container= jQuery(obj).parents('form');
552            if(response.status){
553                form_container.find('.fa_otp_error').html(response.msg);
554            }
555        });
556         
557}
558
559var otp_generation_attempts=0;
560function rm_regernate_otp(obj,username){
561    if(max_otp_attempt>0 && max_otp_attempt>otp_generation_attempts){
562       otp_generation_attempts++;
563        var data = {'action' : 'rm_genrate_fa_otp','rm_sec_nonce': rm_ajax.nonce,'username':username};
564       jQuery.post(rm_ajax_url, data, function(response){
565            response= JSON.parse(response);
566            var form_container= jQuery(obj).parents('form');
567            if(response.status){
568                form_container.find('.fa_otp_error').html(response.msg);
569            }
570        });
571        if(otp_generation_attempts==max_otp_attempt){
572            jQuery(obj).hide();
573        }
574        
575    }
576  
577    
578}
579
580
581/*  Login Widget Popup */
582
583   jQuery(document).ready(function(){
584   
585    var rmColor = jQuery(".rm_widget_container").find("a").css('color');
586      jQuery(".widget_rm_login_btn_widget .rm_widget_container div a.rm-button").css("border-color", rmColor);
587      
588    var pgWidget_ParentWidth =  jQuery('.widget_rm_login_btn_widget').width();
589        if (pgWidget_ParentWidth < 280) {
590        jQuery('.widget_rm_login_btn_widget').addClass('rm-narrow-widget');
591   
592    }
593     
594     
595   });
596
597
598
599
600var resizeboxes  = function() {
601    if (jQuery("#rm_front_sub_tabs").width() < 800)
602    {
603        jQuery("#rm_front_sub_tabs").addClass("rmNarrow");
604        jQuery("#rm_front_sub_tabs").removeClass("rmWide");
605    }
606    else
607    {
608        jQuery("#rm_front_sub_tabs").removeClass("rmNarrow");
609        jQuery("#rm_front_sub_tabs").addClass("rmWide");
610    }
611};
612
613resizeboxes();
614
615jQuery(window).on('load', function(){
616    resizeboxes();   
617});
618    
619jQuery(document).ready(function(){
620    jQuery(".rm_form_field_type_richtext").parent() .addClass("rm-richtext-fw");
621    
622    jQuery("i.rm_front_field_icon").each(function(index) {
623        jQuery(this).css("opacity",jQuery(this).data("opacity"));
624    });
625});
626
627jQuery(document).ready(function(){
628
629    //jQuery(".rmagic-row").each(function(){
630    //    var classList = jQuery(this).find(".rmagic-fields-wrap").attr("class");
631    //    var classArr = classList.split(/\s+/);
632    //    if(classArr.length > 1){
633    //        var cplPad = classArr[1].split('-');
634    //        jQuery(this).css("padding", "cplPad[2]px"); 
635    //        console.log(cplPad[2]);
636    //    }
637    //});
638
639    var padArr = [];
640    jQuery(".rmagic-row").each(function () {
641        var classList = jQuery(this).find(".rmagic-fields-wrap").attr("class");
642        if(typeof classArr !== 'undefined') {
643        	var classArr = classList.split(/\s+/);
644			if (classArr.length > 1) {
645				var cplPad = classArr[1].split('-');
646				if (padArr.indexOf(cplPad[2]) < 0) {
647					padArr.push(cplPad[2]);
648				}
649			}
650		}
651    });
652    if (padArr.length > 0) {
653        var sheet = document.createElement('style');
654        var sheetStyle = '';
655        for (var i = 0; i < padArr.length; i++) {
656            sheetStyle += '.rm-gutter-' + padArr[i] + '{--rm-field-gutter:' + padArr[i] + 'px;}';
657        }
658        sheet.innerHTML = sheetStyle;
659        jQuery("head").append(sheet);
660    }
661
662}); 
663
664// Making sure action is empty on login form
665jQuery(document).ready(function () {
666    jQuery("form#rm_login_form_1").submit(function(event) {
667        jQuery(this).attr("action","");
668    });
669});
670
671
672
673jQuery(document).ready(function () {
674    if (jQuery(".rm_paypal_order_details")[0]) {
675        jQuery('html, body').animate({
676            scrollTop: jQuery('.rm_paypal_order_details').offset().top
677        }, 'slow');
678    }
679    
680    if (jQuery(".rm-stripe-product-info-box")[0]) {
681        jQuery('html, body').animate({
682            scrollTop: jQuery('.rm-stripe-product-info-box').offset().top
683        }, 'slow');
684    }
685    
686    if (jQuery(".rm-post-sub-msg")[0]) {
687        jQuery('html, body').animate({
688            scrollTop: jQuery('.rm-post-sub-msg').offset().top
689        }, 'slow');
690
691    }
692    
693    
694    if (jQuery(".rm_stripe_fields")[0]) {
695        jQuery('html, body').animate({
696            scrollTop: jQuery('.rm_stripe_fields').offset().top
697        }, 'slow');
698
699    }
700    
701    
702
703    
704
705    
706
707});

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.