1jQuery(document).on('click', '.prev_action', function() { 2 var nextstap = jQuery(this).attr('data-step'); 3 var currentstep = nextstap - 1; 4 jQuery('.wizard-stape-cart').hide(); 5 jQuery('#wizard_stape_' + currentstep).show(); 6 jQuery('.pSteps[ data-tab-id="' + currentstep + '"]').removeClass("completeStep"); 7 jQuery('.pSteps[ data-tab-id="' + currentstep + '"]').addClass("activeStep"); 8 jQuery('.pSteps[ data-tab-id="' + nextstap + '"]').removeClass("activeStep"); 9 // jQuery('html, body').animate({ 10 // scrollTop: jQuery("body").offset().top 11 // }, 1200); 12}); 13 14jQuery(document).on('click', '.back-step', function() { 15 var backstap = parseInt(jQuery(this).attr('data-tab-id')); 16 var currentstep = jQuery('.progressBar ul li').length + 1; 17 jQuery('.wizard-stape-cart').hide(); 18 jQuery('#wizard_stape_' + backstap).show(); 19 jQuery('.pSteps[ data-tab-id="' + backstap + '"]').addClass("activeStep"); 20 jQuery('.pSteps[ data-tab-id="' + backstap + '"]').removeClass("completeStep"); 21 // jQuery('html, body').animate({ 22 // scrollTop: jQuery("body").offset().top 23 // }, 1200); 24 for (i = 1; i < currentstep; i++) { 25 if (backstap < i) { 26 jQuery('.pSteps[ data-tab-id="' + i + '"]').removeClass("completeStep"); 27 jQuery('.pSteps[ data-tab-id="' + i + '"]').removeClass("activeStep"); 28 } 29 } 30}); 31 32jQuery(document).on('click', '.next-step', function() { 33 var currentstep = parseInt(jQuery(this).attr('data-step')); 34 var nextstap = currentstep + 1; 35 jQuery('.wizard-stape-cart').hide(); 36 jQuery('#wizard_stape_' + nextstap).show(); 37 jQuery('.pSteps[ data-tab-id="' + currentstep + '"]').addClass("completeStep"); 38 jQuery('.pSteps[ data-tab-id="' + nextstap + '"]').addClass("activeStep"); 39 jQuery('.pSteps[ data-tab-id="' + currentstep + '"]').removeClass("activeStep"); 40 // jQuery('html, body').animate({ 41 // scrollTop: jQuery("body").offset().top 42 // }, 1200); 43}); 44 function fid(id, key) { 45 return `#${id}_${key}`; 46} 47function validate(form) { 48 let valid = true; 49 const key = $(form).data("key"); 50 51 // Name 52 if (jQuery(fid("rvrname", key)).val().trim() === "") { 53 jQuery(fid("rvrname_err", key)).text("Name required"); 54 jQuery(fid("rvrname", key)) 55 .removeClass("input-success") 56 .addClass("error-field"); 57 valid = false; 58 } else { 59 jQuery(fid("rvrname_err", key)).text(""); 60 jQuery(fid("rvrname", key)) 61 .removeClass("error-field") 62 .addClass("input-success"); 63 } 64 65 // Email 66 if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(jQuery(fid("rvremail", key)).val())) { 67 jQuery(fid("rvremail_err", key)).text("Invalid Email"); 68 jQuery(fid("rvremail", key)) 69 .removeClass("input-success") 70 .addClass("error-field"); 71 valid = false; 72 } else { 73 jQuery(fid("rvremail_err", key)).text(""); 74 jQuery(fid("rvremail", key)) 75 .removeClass("error-field") 76 .addClass("input-success"); 77 } 78 79 // Mobile 80 if (!/^[6-9]\d{9}$/.test(jQuery(fid("mobile", key)).val())) { 81 jQuery(fid("rvrmobile_err", key)).text("Invalid Mobile"); 82 jQuery(fid("mobile", key)) 83 .removeClass("input-success") 84 .addClass("error-field"); 85 valid = false; 86 } else { 87 jQuery(fid("rvrmobile_err", key)).text(""); 88 jQuery(fid("mobile", key)) 89 .removeClass("error-field") 90 .addClass("input-success"); 91 } 92 93 // Message 94 if (jQuery(fid("rvrmessage", key)).val().trim().length < 5) { 95 jQuery(fid("rvrmessage_err", key)).text("Message too short"); 96 jQuery(fid("rvrmessage", key)) 97 .removeClass("input-success") 98 .addClass("error-field"); 99 valid = false; 100 } else { 101 jQuery(fid("rvrmessage_err", key)).text(""); 102 jQuery(fid("rvrmessage", key)) 103 .removeClass("error-field") 104 .addClass("input-success"); 105 } 106 107 if (jQuery(fid("rvrservice", key)).val() === "") { 108 jQuery(fid("rvrservice_err", key)).text("Please select a service"); 109 jQuery(fid("rvrservice", key)) 110 .removeClass("input-success") 111 .addClass("error-field"); 112 valid = false; 113 } else { 114 jQuery(fid("rvrservice_err", key)).text(""); 115 jQuery(fid("rvrservice", key)) 116 .removeClass("error-field") 117 .addClass("input-success"); 118 } 119 120 jQuery(fid("submitBtn", key)).prop("disabled", !valid); 121 return valid; 122} 123jQuery(".secureForm").on("submit", function (e) { 124 if (!validate(this)) { 125 e.preventDefault(); 126 return; 127 } 128
129 const key = $(this).data("key"); 130 jQuery(fid("submitBtn", key)) 131 .prop("disabled", true) 132 .text("Please wait..."); 133}); 134jQuery("input, textarea").on("focus", function () { 135 $(this).removeClass("error-field input-success").addClass("input-active"); 136}); 137 138jQuery("input, textarea").on("blur", function () { 139 $(this).removeClass("input-active"); 140 validate($(this).closest("form")); 141}); 142function refreshCaptcha(key) { 143 fetch("/rvm-include/rvfcaptcha_generate.php?refresh=1&key=" + key) 144 .then(res => res.text()) 145 .then(data => { 146 document.getElementById("cap_" + key).innerHTML = data; 147 }); 148}
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.