PageSourceSearch

https://www.institut-analgesia.org/wp-content/plugins/mailin/js/mailin-front.js?ver=1576157384

js institut-analgesia.org collected 2026-10-07 15:18:05 UTC 14,089 bytes, 304 lines download raw bytes

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

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.