1var captchaRes = ''; 2var sibErrMsg; 3var gCaptchaSibWidget; 4var ajax_sib_front_object; 5var sibVerifyCallback = function (response) { 6 captchaRes = response; 7 var formIdInvisible = sessionStorage.getItem("formIdRecapcha"); 8 if (captchaRes) { 9 var validationErr = 0; 10 jQuery.each(jQuery(formIdInvisible).find('input[required=required]'), function () { 11 if (jQuery(this).val().trim() == '' || (jQuery(this).attr('type') == "checkbox" && jQuery(this).prop("checked") == false)) { 12 validationErr++; 13 var form = jQuery(this).closest('form'); 14 var requiredField = jQuery(this).closest('form').find('input[name="sib_form_alert_notice"]').val(); 15 if (requiredField !== undefined) { 16 sibErrMsg.requiredField = requiredField; 17 } 18 form.find('.sib_msg_disp').html('<p class="sib-alert-message sib-alert-message-warning ">' + sibErrMsg.requiredField + '</p>').show(); 19 return; 20 } 21 }); 22 } 23 if (validationErr == 0) { 24 jQuery(formIdInvisible).trigger('submit'); 25 } 26}; 27 28jQuery(document).ready(function(){ 29 jQuery('.sib_signup_form').find('input[required=required]').on("invalid", function () { 30 if(jQuery(this).val().trim() == '') 31 { 32 var alert_msg = jQuery(this).closest('form').find('input[name="sib_form_alert_notice"]').val(); 33 this.setCustomValidity(alert_msg); 34 } 35 else { 36 this.setCustomValidity(''); 37 } 38 }); 39 // run MA script identify() when submit on any forms with email field 40 jQuery(document).on('submit', 'form', function(e){ 41 var invalidEmail = jQuery(this).closest('form').find('input[name="sib_form_invalid_email_notice"]').val(); 42 var requiredField = jQuery(this).closest('form').find('input[name="sib_form_alert_notice"]').val(); 43 if (invalidEmail !== undefined) { 44 sibErrMsg.invalidMail = invalidEmail; 45 } 46 if (requiredField !== undefined) { 47 sibErrMsg.requiredField = requiredField; 48 } 49 50 if(!jQuery(this).hasClass('sib_signup_form')) { 51 var email = jQuery(this).find('input[type=email]').val(); 52 var emailPattern = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; 53 if (typeof sendinblue != 'undefined' && email != null && emailPattern.test(email)) { 54 var postData = jQuery('input[type!=password]',this).serializeObject(); 55 sendinblue.identify(email, postData); 56 } 57 } 58 else 59 { 60 e.preventDefault(); 61 var form = jQuery(this).closest('form'); 62 // for sms field 63 jQuery.each(form.find('.sib-sms'), function () { 64 var sms = jQuery(this).val(); 65 var sms_prefix = jQuery(this).closest('.sib-sms-field').find('input[name="sib_SMS_prefix"]').val(); 66 if ( sms == sms_prefix && !jQuery(this).prop('required')) { 67 jQuery(this).val(''); 68 } 69 }); 70 71 /** 72 * For safari 73 * Not support required attribute 74 */ 75 76 var required_fileds = []; 77 var err_index = 0; 78 79 var multi_lists = form.find(jQuery('.sib-multi-lists')); 80 if( multi_lists != undefined && multi_lists.data('require') == 'required' ) 81 { 82 if ( multi_lists.find('input:checked').length == 0 ) 83 { 84 err_index++; 85 multi_lists.addClass('sib_error'); 86 } 87 } 88 if(err_index > 0) 89 { 90 form.find('.sib_msg_disp').html('<p class="sib-alert-message sib-alert-message-warning ">' + sibErrMsg.requiredField + '</p>').show(); 91 return; 92 } 93 err_index=0; 94 jQuery.each(form.find('input[type="email"]'), function(){ 95 var Email = /^([a-zA-Z0-9_.+-])+@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/i; 96 if (!Email.test(jQuery(this).val())) 97 { 98 err_index++; 99 } 100 }); 101 if(err_index > 0) 102 { 103 form.find('.sib_msg_disp').html('<p class="sib-alert-message sib-alert-message-warning ">
103' + sibErrMsg.invalidMail + '</p>').show(); 104 return; 105 } 106 107 // Check sms validation 108 err_index = 0; 109 jQuery.each(form.find('.sib-sms'), function () { 110 var sms = jQuery(this).val(); 111 if ( is_valid_sms(sms) == false && sms != '' ) { 112 err_index ++; 113 } 114 }); 115 if(err_index > 0) 116 { 117 form.find('.sib_msg_disp').html('<p class="sib-alert-message sib-alert-message-warning ">' + sibErrMsg.invalidSMSFormat + '</p>').show(); 118 return; 119 } 120 121 jQuery(".sib-default-btn").attr("disabled", true); 122 form.find('.sib_loader').show(); 123 jQuery('.sib_msg_disp').hide(); 124 var postData = form.serializeArray(); 125 if( captchaRes != '' ) 126 { 127 postData.push({"name": "g-recaptcha-response", "value": captchaRes}); 128 } 129 captchaRes = ''; 130 if( jQuery('.sib-multi-lists').length ) 131 { 132 var interesting_lists = []; 133 jQuery('.sib-interesting-lists').each(function () { 134 postData.push({"name":"interestingLists[]", "value": jQuery(this).val()}) 135 }); 136 } 137 var formURL = form.attr("action"); 138 form.addClass('sib_processing'); 139 140 postData.push({ "name": "security", "value": ajax_sib_front_object.ajax_nonce }); 141 jQuery.ajax({ 142 url: formURL, 143 type: "POST", 144 dataType: "json", 145 data: postData, 146 success: function (data, textStatus, jqXHR) { 147 jQuery(".sib-default-btn").attr("disabled", false); 148 jQuery('.sib_loader').hide(); 149 if( jQuery('.sib-multi-lists').length ) 150 { 151 jQuery('.sib-multi-lists').removeClass('sib_error'); 152 } 153 if (data.status === 'success' || data.status === 'update') { 154 var cdata = '<p class="sib-alert-message sib-alert-message-success ">' + data.msg.successMsg + '</p>'; 155 form.find('.sib_msg_disp').html(cdata).show(); 156 } else if (data.status === 'failure') { 157 var cdata = '<p class="sib-alert-message sib-alert-message-error ">' + data.msg.errorMsg + '</p>'; 158 form.find('.sib_msg_disp').html(cdata).show(); 159 } else if (data.status === 'already_exist') { 160 var cdata = '<p class="sib-alert-message sib-alert-message-warning ">' + data.msg.existMsg + '</p>'; 161 form.find('.sib_msg_disp').html(cdata).show(); 162 } else if (data.status === 'invalid') { 163 var cdata = '<p class="sib-alert-message sib-alert-message-error ">' + data.msg.invalidMsg + '</p>'; 164 form.find('.sib_msg_disp').html(cdata).show(); 165 } else if (data.status === 'gcaptchaEmpty') { 166 var cdata = '<p class="sib-alert-message sib-alert-message-error ">' + data.msg + '</p>'; 167 form.find('.sib_msg_disp').html(cdata).show(); 168 } else if (data.status === 'gcaptchaFail') { 169 var cdata = '<p class="sib-alert-message sib-alert-message-error ">' + data.msg + '</p>'; 170 form.find('.sib_msg_disp').html(cdata).show(); 171 } 172 form[0].reset(); 173 if (data.redirect && (data.status === 'success' || data.status === 'update')) { 174 window.location.href = data.redirect; 175 } 176 177 //Render the cloudflare captcha again 178 if (typeof data.turnstileCaptcha !== 'undefined' && data.turnstileCaptcha) { 179 jQuery.each(form.find('.cf-turnstile'), function () { 180 var siteKey = jQuery(this).data("sitekey"); 181 var cfResponse = jQuery('input[name="cf-turnstile-response"]').val(); 182 if (cfResponse) { 183 var idToBeRendered = "#cf-turnstile-"+siteKey; 184 turnstile.render(idToBeRendered, { 185 sitekey: siteKey, 186 callback: function(token) { 187 console.log("Challenge Success"); 188 }, 189 }); 190 } 191 }); 192 } 193 var previous_code = form.find('.sib-cflags').data('dial-code'); 194 if ( previous_code ) 195 { 196 form.find('.sib-sms').val('+' + previous_code); 197 form.find('input[name="sib_SMS_prefix"]').val('+' + previous_code); 198 } 199 200 // run MA script identify() when subscribe on SIB forms 201 if (typeof sendinblue != 'undefined') { 202 var email = form.find('input[name=email]').val(); 203 var postData = form.serializeObject(); 204 if (data.status === 'success' || data.status === 'update' || data.status === 'already_exist') { 205 sendinblue.identify(email, postData); 206 } 207 } 208 jQuery(".sib-alert-message").delay(5000).hide('slow'); 209 form.removeClass('sib_processing'); 210 if (typeof grecaptcha != 'undefined') 211 { 212 grecaptcha.reset(gCaptchaSibWidget); 213 } 214 }, 215 error: function (jqXHR, textStatus, errorThrown) { 216 form.find('.sib_msg_disp').html(jqXHR).show(); 217 jQuery(".sib-default-btn").attr("disabled", false); 218 if (typeof grecaptcha != 'undefined') 219 { 220 grecaptcha.reset(gCaptchaSibWidget); 221 } 222 } 223 }); 224 } 225 }); 226 jQuery('.sib-country-block').on('click', function () { 227 jQuery('.sib-country-list').toggle(); 228 }); 229 if (jQuery('.sib-country-list').length > 0) 230 { 231 jQuery('.sib-country-list').ready( function () { 232 var data = { 233 action : 'sib_get_country_prefix', 234 security: ajax_sib_front_object.ajax_nonce, 235 }; 236 jQuery.post( ajax_sib_front_object.ajax_url, data, function (respond) { 237 jQuery('.sib-country-list').html(respond); 238 }); 239 }); 240 } 241 242 jQuery('body').on('click', function(e){ 243 if ( jQuery('.sib-sms-field .sib-country-list').length > 0 && !jQuery('.sib-sms-field .sib-country-list').is(e.target) && jQuery('.sib-sms-field .sib-country-list').has(e.target).length === 0 && jQuery('.sib-sms-field .sib-country-block').has(e.target).length === 0 ) { 244 jQuery('.sib-sms-field .sib-country-list').hide(); 245 } 246 }); 247 248 jQuery('.sib-country-list').on( 'click', 'li' , function () { 249 var country_code = jQuery(this).data('country-code').toLowerCase();
250 var dial_code = jQuery(this).data('dial-code'); 251 jQuery(this).closest('.sib-sms-field').find('.sib-sms').val('+' + dial_code ); 252 jQuery(this).closest('.sib-sms-field').find('input[name="sib_SMS_prefix"]').val('+' + dial_code ); 253 jQuery(this).closest('.sib-sms-field').find('.sib-cflags').css('background-image', 'url(' + ajax_sib_front_object.flag_url + country_code + '.png)'); 254 jQuery(this).closest('.sib-sms-field').find('.sib-cflags').data('dial-code', dial_code); 255 jQuery(this).closest('.sib-country-list').hide(); 256 }); 257 jQuery(".sib-sms").on('keypress', function (event){ 258 validateInteger(event, 'sms'); 259 }); 260 261 // allow to input 0-9 and - only for date field 262 jQuery(".sib-date").on('keypress', function(event) { 263 validateInteger(event, 'date'); 264 }); 265 function is_valid_sms( sms ) { 266 sms = sms.replace(/\b(0(?!\b))+/g, ""); 267 268 var tempSms = sms.replace(/( |\(|\)|\.|\-)/g, ''); 269 270 if (tempSms.length > 19 || tempSms.length < 6 || tempSms.charAt(0) != '+'){ 271 return false; 272 } 273 return true; 274 } 275 function validateInteger(evt,type) { 276 var theEvent = evt || window.event; 277 var key = theEvent.charCode || theEvent.which; 278 279 key = String.fromCharCode( key ); 280 // 0-9, +/-, space, brackets 281 var regex = /[ +0-9()-]/; 282 var smsLength = 0; 283 if( type == 'date' ) { 284 regex = /[ 0-9-/]/; 285 } 286 if( !regex.test(key)) { 287 theEvent.returnValue = false; 288 key = theEvent.keyCode; 289 // ignore input for del,tab, back, left, right, home amd end 290 if(theEvent.preventDefault && key != 9 && key != 8 ) theEvent.preventDefault(); 291 } 292 } 293 294 295}); 296// get serialized data form subscribe form 297jQuery.fn.serializeObject = function() 298{ 299 var o = {}; 300 var a = this.serializeArray(); 301 jQuery.each(a, function() { 302 if(this.name == 'sib_form_action' || this.name == 'sib_form_id' || this.name == 'email') 303 return true; // continue 304 if (o[this.name] !== undefined) { 305 if (!o[this.name].push) { 306 o[this.name] = [o[this.name]]; 307 } 308 o[this.name].push(this.value || ''); 309 } else { 310 o[this.name] = this.value || ''; 311 } 312 }); 313 return o; 314}; 315// get form id 316jQuery(document).ready(function () { 317 jQuery(".sib-default-btn").on("click", function () { 318 var row = jQuery(this).closest(".sib_signup_form"); 319 sessionStorage.setItem("formIdRecapcha", "#" + jQuery(row).attr('id')); 320 }) 321}) 322 323function errorCallbackForTurnstileErrors(){ 324}
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.