PageSourceSearch

https://defesacivil.blumenau.sc.gov.br/static/assets/js/jquery.ajaxchimp.min.js

js blumenau.sc.gov.br collected 2026-09-24 09:31:38 UTC 4,820 bytes, 120 lines download raw bytes

1(function ($) {
2    'use strict';
3
4    $.ajaxChimp = {
5        responses: {
6            'We have sent you a confirmation email'                                             : 0,
7            'Please enter a valid email'                                                        : 1,
8            'An email address must contain a single @'                                          : 2,
9            'The domain portion of the email address is invalid (the portion after the @: )'    : 3,
10            'The username portion of the email address is invalid (the portion before the @: )' : 4,
11            'This email address looks fake or invalid. Please enter a real email address'       : 5
12        },
13        translations: {
14            'en': null
15        },
16        init: function (selector, options) {
17            $(selector).ajaxChimp(options);
18        }
19    };
20
21    $.fn.ajaxChimp = function (options) {
22        $(this).each(function(i, elem) {
23            var form = $(elem);
24            var email = form.find('input[type=email]');
25            var label = form.find('.info');
26
27            var settings = $.extend({
28                'url': form.attr('action'),
29                'language': 'en'
30            }, options);
31
32            var url = settings.url.replace('/post?', '/post-json?').concat('&c=?');
33
34            form.attr('novalidate', 'true');
35            email.attr('name', 'EMAIL');
36
37            form.submit(function () {
38                var msg;
39                function successCallback(resp) {
40                    if (resp.result === 'success') {
41                        msg = 'We have sent you a confirmation email';
42                        label.removeClass('error').addClass('valid');
43                        email.removeClass('error').addClass('valid');
44                    } else {
45                        email.removeClass('valid').addClass('error');
46                        label.removeClass('valid').addClass('error');
47                        var index = -1;
48                        try {
49                            var parts = resp.msg.split(' - ', 2);
50                            if (parts[1] === undefined) {
51                                msg = resp.msg;
52                            } else {
53                                var i = parseInt(parts[0], 10);
54                                if (i.toString() === parts[0]) {
55                                    index = parts[0];
56                                    msg = parts[1];
57                                } else {
58                                    index = -1;
59                                    msg = resp.msg;
60                                }
61                            }
62                        }
63                        catch (e) {
64                            index = -1;
65                            msg = resp.msg;
66                        }
67                    }
68
69                    // Translate and display message
70                    if (
71                        settings.language !== 'en'
72                        && $.ajaxChimp.responses[msg] !== undefined
73                        && $.ajaxChimp.translations
74                        && $.ajaxChimp.translations[settings.language]
75                        && $.ajaxChimp.translations[settings.language][$.ajaxChimp.responses[msg]]
76                    ) {
77                        msg = $.ajaxChimp.translations[settings.language][$.ajaxChimp.responses[msg]];
78                    }
79                    label.html(msg);
80
81                    label.show(2000);
82                    if (settings.callback) {
83                        settings.callback(resp);
84                    }
85                }
86
87                var data = {};
88                var dataArray = form.serializeArray();
89                $.each(dataArray, function (index, item) {
90                    data[item.name] = item.value;
91                });
92
93                $.ajax({
94                    url: url,
95                    data: data,
96                    success: successCallback,
97                    dataType: 'jsonp',
98                    error: function (resp, text) {
99                        console.log('mailchimp ajax submit error: ' + text);
100                    }
101                });
102
103                // Translate and display submit message
104                var submitMsg = 'Submitting...';
105                if(
106                    settings.language !== 'en'
107                    && $.ajaxChimp.translations
108                    && $.ajaxChimp.translations[settings.language]
109                    && $.ajaxChimp.translations[settings.language]['submit']
110                ) {
111                    submitMsg = $.ajaxChimp.translations[settings.language]['submit'];
112                }
113                label.html(submitMsg).show(2000);
114
115                return false;
116            });
117        });
118        return this;
119    };
120})(jQuery);

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.