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