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