PageSourceSearch

https://copperblossom.com/wp-content/plugins/Acteol/public/formScript.js

js copperblossom.com collected 2026-10-06 06:24:21 UTC 16,505 bytes, 277 lines download raw bytes

1var CAPTCHA = [];
2
3function acteolValidateMarketingOption(data_token) {
4    var isValid_optin = true;
5    var errors = [];
6    if ($(".acteol-block-form[data-token="+ data_token +"]").find("input[type=checkbox]").length != 0) {
7        if ($(".acteol-block-form[data-token="+ data_token +"]").find(".form-check-input[id=SMSOptin_"+ data_token +"]").prop("checked") &&
8                !$(".acteol-block-form[data-token="+ data_token +"]").find("input[id=MobilePhone_"+ data_token +"]").val()) {
9                    isValid_optin = false;
10                    errors.push("Phone Number is required for SMS Opt-in.");
11                }
12        if ($(".acteol-block-form[data-token="+ data_token +"]").find(".form-check-input[id=EmailOptin_"+ data_token +"]").prop("checked") &&
13                    !$(".acteol-block-form[data-token="+ data_token +"]").find("input[id=Email_"+ data_token +"]").val()) {
14                        isValid_optin = false;
15                        errors.push("Email is required for Email Opt-in.");
16                    }
17    }
18
19    if (errors.length != 0) {
20        $(".acteol-block-form[data-token="+ data_token +"]").find("div[class=form-check]").last().after("<span class='acteol-validation-error'>"+errors.join('<br>')+"</span>");
21    }
22
23    return isValid_optin;
24}
25
26function acteol_validate_form(data_token) {
27    var isValid = true;
28
29    $('.acteol-validation-error').remove();
30    if (($("#acteol-recaptcha-"+ data_token).length != 0) || ($("#acteol-recapture-token-"+ data_token).length != 0)) {
31        if ($(".acteol-block-form[data-token="+ data_token +"]").find(".acteol-recaptcha-elmt").attr("recaptcha-type") == "V3") {
32            var token = $("#acteol-recapture-token-"+ data_token).val();
33            if (token) {
34                isValid = true;
35            } else {
36                isValid = false;
37                $(".acteol-block-form[data-token="+ data_token +"]").find($('#acteol-recaptcha-error-'+ data_token).text('Invalid reCAPTCHA'));
38            }
39        } else  {
40            var widget = $.map(CAPTCHA, function(e) { return e.id == data_token ? e : null });
41            var response = grecaptcha.getResponse(widget[0].widget);
42            if(response.length == 0) {
43                isValid = false;
44                $(".acteol-block-form[data-token="+ data_token +"]").find('div[id=acteol-recaptcha-'+ data_token +']').after("<span class='acteol-validation-error'>You can't leave reCAPTCHA Code empty</span>");
45            }
46        }
47    }
48
49    $(".acteol-block-form[data-token="+ data_token +"]").find("Select[data-required='1']").each(function() {
50        if ($(this).val() == "" || $(this).val() == "Select Location") {
51            $(".acteol-block-form[data-token="+ data_token +"]").find("Select[id="+ $(this).attr('id') +"]").after("<span class='acteol-validation-error'>Location is required </span>");
52            isValid = false;
53        }
54    });
55   
56    $(".acteol-block-form[data-token="+ data_token +"]").find("input[data-required='1']").each(function() {
57        if($(this).val() == "") {
58            $(".acteol-block-form[data-token="+ data_token +"]").find("input[id="+ $(this).attr('id') +"]").after("<span class='acteol-validation-error'>"+ $(this).attr("name") +" is required </span>");
59            isValid = false;
60        } else {
61            if ($(this).attr("id") == "PostCode_"+ data_token) {
62                if ( !validateAlphanumericField($(".acteol-block-form[data-token="+ data_token +"]").find("input[name=PostCode]"), "The PostCode should be alphanumeric") ) {
63                    isValid = false;
64                }
65            } else if ($(this).attr("id") == "Email_"+ data_token) {
66                if ( !validateEmailForm($(".acteol-block-form[data-token="+ data_token +"]").find("input[id=Email_"+ data_token +"]"), "Incorrect Email") ) {
67                    isValid = false;
68                }
69            } else if ($(this).attr("id") == "MobilePhone_"+ data_token) {
70                if ( !validateMobilePhone($(".acteol-block-form[data-token="+ data_token +"]").find("input[name=MobilePhone]"), "The phone number must start with 0 and contain 11 numbers") ) {
71                    isValid = false;
72                }
73            }
74        }
75    });
76  
77    if ($(".acteol-block-form[data-token="+ data_token +"]").find("input[type=text][id=Email_"+ data_token +"]").length != 0 && $(".acteol-block-form[data-token="+ data_token +"]").find("input[id=Email_"+ data_token +"]").val() != "") {
78        if ( !validateEmailForm($(".acteol-block-form[data-token="+ data_token +"]").find("input[id=Email_"+ data_token +"]"), "Incorrect Email") ) {
79            isValid = false;
80        }
81    }
82
83    if ($(".acteol-block-form[data-token="+ data_token +"]").find("input[id=MobilePhone_"+ data_token +"]").length != 0 && $(".acteol-block-form[data-token="+ data_token +"]").find("input[id=MobilePhone_"+ data_token +"]").val() != "") {
84        if ( !validateMobilePhone($(".acteol-block-form[data-token="+ data_token +"]").find("input[name=MobilePhone]"), "The phone number must start with 0 and contain 11 numbers") ) {
85            isValid = false;
86        }
87    }
88
89    if ($(".acteol-block-form[data-token="+ data_token +"]").find("input[id=PostCode_"+ data_token +"]").length != 0 && $(".acteol-block-form[data-token="+ data_token +"]").find("input[id=PostCode_"+ data_token +"]").val() != "") {
90        if ( !validateAlphanumericField($(".acteol-block-form[data-token="+ data_token +"]").find("input[name=PostCode]"), "The PostCode should be alphanumeric") ) {
91            isValid = false;
92        }
93    }
94
95    if (acteolValidateMarketingOption(data_token) == false) {
96        isValid = false;
97    }
98    
99    return isValid;
100}
101
102function ActeolCaptchaCallback() {
103    $(".acteol-recaptcha-elmt").each(function() {
104        var id = $(this).attr("id");
105        var type = $(this).attr("recaptcha-type");
106        var siteKey = $(this).attr("data-siteKey");
107        if (type == 'V3') {
108            grecaptcha.execute(siteKey, {action: "submit"}).then(function(token) {
109                $(".acteol-block-form[data-token="+ id.replace("acteol-recaptcha-", "") +"]").find("input[id=acteol-recapture-token-"+ id.replace("acteol-recaptcha-", "") + "]").val(token);
110            });
111        } else {
112            var widget_id = grecaptcha.render(id, {
113                sitekey: siteKey
114            });
115            CAPTCHA.push({
116                id: id.replace("acteol-recaptcha-", ""),
117                widget: widget_id
118            }); 
119            if (type == 'Invisible (V2)') {
120                grecaptcha.execute(widget_id);
121            }
122        }
123    });
124}
125
126function acteol_submit_form(data_token) {
127    var itemsForm = $(".acteol-block-form [data-token="+ data_token +"]").find("input[type=text]:not([name=ReferredByCode]):not([name=PostCode]),input[type=date],input[name=MobilePhone]").serializeArray();
128    var formData = {};
129    $.map(itemsForm, function(n, i) {
130        formData[n['name']] = n['value'];
131    });
132    var id = $("#acteol-contact-form-"+ data_token).attr("data-id");
133    if ($(".acteol-block-form[data-token="+ data_token +"]").find("input[id=acteol-contact-form-"+ id +"-confirmation]").val()!='')
134        confirmation = JSON.parse($(".acteol-block-form[data-token="+ data_token +"]").find("input[id=acteol-contact-form-"+ id +"-confirmation]").val());
135
136    if(acteol_validate_form(data_token)) {
137        $(".acteol-block-form[data-token="+ data_token +"]").find("button[id=acteol-btn-submit-"+ id +"]").prop('disabled', true);
138        $(".acteol-block-form[data-token="+ data_token +"]").find("button[id=acteol-btn-submit-"+ id +"]").find("span").show();
139        $.ajax({
140            method: 'POST',
141            url: ajaxurl,
142            data: {
143                action: "add_customer_contact",
144                data_customer:  {
145                    "PersonalInfo": 
146                        {
147                            "FirstName": formData.FirstName,
148                            "LastName": formData.LastName,
149                            "Email": formData.Email,
150                            "MobilePhone": formData.MobilePhone,
151                            "BirthDate": formData.BirthDate,
152                            "CustomerAddress": {
153                                "PostCode": $(".acteol-block-form[data-token=" + data_token +"]").find("input[name=PostCode]").val()
154                            },
155                        },
156                    "ExternalIdentifier": {
157                        "ExternalID": "",
158                        "ExternalSource": $('#acteol-form-source-' + data_token).val()
159                    },
160                    "Referrer": {
161                        "ReferredByCode": $(".acteol-block-form[data-token=" + data_token +"]").find("input[name=ReferredByCode]").val()
162                    },
163                    "SelectedLocationID": $(".acteol-block-form[data-token="+ data_token +"]").find("select").val() == 'Select Location' ? "": $(".acteol-block-form[data-token="+ data_token +"]").find("select").val(),
164                    "MarketingOptin": {
165                        "EmailOptin": $(".acteol-block-form[data-token="+ data_token +"]").find(".acteol-marketing-opt-in-all").length == 1 ? true : $(".acteol-block-form[data-token="+ data_token +"]").find("input[type=checkbox][name=EmailOptin]").is(":checked"),
166                        "SmsOptin": $(".acteol-block-form[data-token="+ data_token +"]").find(".acteol-marketing-opt-in-all").length == 1 ? true : $(".acteol-block-form[data-token="+ data_token +"]").find("input[type=checkbox][name=SMSOptin]").is(":checked")
167                    }
168                }
169            },
170            dataType: "json",
171            success: function (response) {
172                if(typeof response != "undefined" && typeof response.data != "undefined" && typeof response.data.response != "undefined" && response.data.response.code == 200) {
173                    data = JSON.parse(response.data.body);
174                    if (data.ResponseStatus == true) {
175                        $(".acteol-block-form [data-token="+ data_token +"]").find("button[id=acteol-btn-submit-"+ id +"]").find("span").hide();
176                        $('.acteol-block-form input').each(function() {
177                            var id = $(this).attr('id');
178                            if (id && id.indexOf('acteol-recapture-token') === -1) {
179                                $(this).val('');
180                            }
181                        });
182                        $('.acteol-block-form [data-token='+ data_token +']').find('input[type=checkbox]').prop('checked', false);
183                        $('.acteol-block-form [data-token='+ data_token +']').find('input[type=radio]').prop('checked', false);
184                        $("#"+$('.acteol-block-form[data-token='+ data_token +']').find("select").attr("id")).val($("#"+ $('.acteol-block-form').find("[data-token='${"+ data_token +"}'],select").attr("id") +" option:first").val());
185                        if (confirmation !== '') {
186                            if (confirmation.ActionSubmitID == 1) {
187                                if (confirmation.NotificationDisplayType == 1) {
188                                    $.bootstrapGrowl(confirmation.Message, {
189                                        ele:  "body",
190                                        type: 'success',
191                                        offset: {from: 'bottom', amount: 20},
192                                        align: 'right',
193                                        width: 'auto',
194                                        delay: 5000,
195                                        allow_dismiss: false,
196                                        stackup_spacing: 20
197                                    });
198                                    $(".bootstrap-growl").css("position", "fixed");
199                                } else if (confirmation.NotificationDisplayType == 2) {
200                                    $('#acteol-contact-form-'+ data_token).hide();
201                                    $("#acteol-block-form-confirmation-"+ id +'[data-token='+ data_token +']').css("display", "block");
202                                }
203                            } else if (confirmation.ActionSubmitID == 2) {
204                                if (confirmation.OptionOpenBrowserTab == 1) {
205                                    window.open(confirmation.LandingPageURL, '_blank');
206                                } else {
207                                    window.location = confirmation.LandingPageURL;
208                                }
209                            }
210                        }
211                    } else {
212                        $.bootstrapGrowl("An error has occured!", {
213                            ele: "body",
214                            type: 'danger',
215                            offset: {from: 'bottom', amount: 20},
216                            align: 'right',
217                            width: 'auto',
218                            delay: 5000,
219                            allow_dismiss: false,
220                            stackup_spacing: 20
221                        });
222                        $(".bootstrap-growl").css("position", "fixed");
223                    }
224                } else {
225                    $.bootstrapGrowl("An error has occured!", {
226                        ele: "body",
227                        type: 'danger',
228                        offset: {from: 'bottom', amount: 20},
229                        align: 'right',
230                        width: 'auto',
231                        delay: 5000,
232                        allow_dismiss: false,
233                        stackup_spacing: 20 
234                    });
235                    $(".bootstrap-growl").css("position", "fixed");
236                }
237                
238                if (($("#acteol-recaptcha-"+ data_token).length != 0) || ($("#acteol-recapture-token-"+ data_token).length != 0)) {
239                    if ($(".acteol-block-form[data-token="+ data_token +"]").find(".acteol-recaptcha-elmt").attr("recaptcha-type") != 'V3') {
240                        var widget = $.map(CAPTCHA, function(e) { return e.id == data_token ? e : null });
241                        if ($(".acteol-block-form[data-token="+ data_token +"]").find(".acteol-recaptcha-elmt").attr("recaptcha-type") != 'Invisible (V2)') {
242                            grecaptcha.reset(widget[0].widget);
243                        }
244                    }
245                }
246
247                $(".acteol-block-form [data-token="+ data_token +"]").find("button[id=acteol-btn-submit-"+ id +"]").find("span").hide();
248                $(".acteol-block-form[data-token="+ data_token +"]").find("button[id=acteol-btn-submit-"+ id +"]").prop('disabled', false);
249            },
250            error: function() {
251                $(".acteol-block-form [data-token="+ data_token +"]").find("button[id=acteol-btn-submit-"+ id +"]").find("span").hide();
252                $.bootstrapGrowl("An error has occured!", {
253                    ele: "body",
254                    type: 'danger',
255                    offset: {from: 'bottom', amount: 20},
256                    align: 'right',
257                    width: 'auto',
258                    delay: 5000,
259                    allow_dismiss: false,
260                    stackup_spacing: 20
261                });
262                $(".bootstrap-growl").css("position", "fixed");
263
264                if (($("#acteol-recaptcha-"+ data_token).length != 0) || ($("#acteol-recapture-token-"+ data_token).length != 0)) {
265                    if ($(".acteol-block-form[data-token="+ data_token +"]").find(".acteol-recaptcha-elmt").attr("recaptcha-type") != 'V3') {
266                        var widget = $.map(CAPTCHA, function(e) { return e.id == data_token ? e : null });
267                        if ($(".acteol-block-form[data-token="+ data_token +"]").find(".acteol-recaptcha-elmt").attr("recaptcha-type") != 'Invisible (V2)') {
268                            grecaptcha.reset(widget[0].widget);
269                        }
270                    }
271                }
272
273                $(".acteol-block-form[data-token="+ data_token +"]").find("button[id=acteol-btn-submit-"+ id +"]").prop('disabled', false);
274            }
275        });
276    }
277}

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.