PageSourceSearch

https://getquipu.com/blog/app/plugins/mailin/js/mailin-front.js?ver=1772729832

js getquipu.com collected 2026-10-01 08:56:03 UTC 13,033 bytes, 296 lines download raw bytes

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

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.