PageSourceSearch

https://millneckvillage.com/wp-content/plugins/tw-subscriber-quick…/js/tw-subscriber-quick.js?ver=95723518

js millneckvillage.com collected 2026-09-25 05:31:15 UTC 7,675 bytes, 195 lines download raw bytes

1function validateEmail(email) {
2  var re =
3    /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
4  return re.test(String(email).toLowerCase());
5}
6
7
8jQuery(function($) {
9  $("#subs_button").off();
10})  
11
12var homepageExtraSubscribe = document.querySelector('#homepage-extra-subscribe');
13if(homepageExtraSubscribe) {
14  homepageExtraSubscribe.remove(); 
15}
16
17// Theme 2022 select news & notices 
18var homepageNewsNotices = document.querySelector("#twd-subscribe-news-notices");
19if(homepageNewsNotices) {
20  homepageNewsNotices.remove(); 
21}
22
23
24// Select subscribe topics title 
25var headerTitleExtraTopics = document.querySelector("label[for='twd-subscribe-topics']");
26if(headerTitleExtraTopics) {
27  headerTitleExtraTopics.remove();
28}
29
30// Select subscribe topics input
31var homepageExtraSubcriber = document.querySelector("#twd-subscribe-topics");
32if(homepageExtraSubcriber) {
33  homepageExtraSubcriber.remove("twd-form-control");  
34}
35
36// Select subscribe method 
37var headerTitleExtraMethod = document.querySelector("label[for='twd-subscribe-method']");
38if(headerTitleExtraMethod) {
39  headerTitleExtraMethod.remove();
40}
41
42
43// Select subscribe topics input
44var homepageExtraMethod = document.querySelector("#twd-subscribe-method");
45if(homepageExtraMethod)  {
46  homepageExtraMethod.remove("twd-form-control"); 
47}
48
49
50var homepageSubscriberBox = document.querySelector(".twd-subscriber-form-box.row"); 
51if(homepageSubscriberBox) {
52  homepageSubscriberBox.innerHTML += `<div class="row-disclaimer"><div class="homepage-subscriber-disclaimer">*Sign up here to receive ALL notifications for News, Agendas, Minutes, & Packets. If you don’t want to re
52ceive ALL notifications please visit the <a href="${TWDSubscriberQuick.subscribeUrl}">Subscribe to Updates</a> page to be able to select notifications for specific categories.</div></div>`;
53}
54
55var homepageSubscriberBoxTheme2022 = document.querySelector(".twd-subscriber-form-box.twd-subscriber-quick"); 
56if(homepageSubscriberBoxTheme2022) {
57  homepageSubscriberBoxTheme2022.innerHTML += `<div class="row-disclaimer"><div class="homepage-subscriber-disclaimer">*Sign up here to receive ALL notifications for News, Agendas, Minutes, & Packets. If you don’t want to receive ALL notifications please visit the <a href="${TWDSubscriberQuick.subscribeUrl}">Subscribe to Updates</a> page to be able to select notifications for specific categories.</div></div>`;
58}
59 
60jQuery(document).ready(function ($) {
61  $("#subs_button").on('click', function (e) {
62    e.preventDefault();
63    username = $("#sub_name").val();
64    if (username.length === 0) {
65      $("#sub_name").addClass("has-error");
66    } else {
67      if ($("#sub_name").hasClass("has-error")) {
68        $("#sub_name").removeClass("has-error");
69      }
70    }
71
72    email = $("#sub_email").val();
73    if (email.length === 0 || !validateEmail(email)) { 
74      $("#sub_email").addClass("has-error");
75    } else {
76      if ($("#sub_email").hasClass("has-error")) {
77        $("#sub_email").removeClass("has-error");
78      }
79    }
80
81    phone = $("#sub_phone").val();
82    if(phone) {
83      if (phone.length === 0 ) {
84        $("#sub_phone").addClass("has-error");
85      } else {
86        if ($("#sub_phone").hasClass("has-error")) {
87          $("#sub_phone").removeClass("has-error");
88        }
89      }
90    }
91
92    if (username != "" && email != "" && validateEmail(email)) {
93      let btn_html = $("#subs_button").html();
94      $("#subs_button + div.alert").remove();
95      $("#subs_button").html('<i class="fa fa-spinner fa-spin"></i> Working');
96
97      $("#sub_name").attr("readonly", true);
98      $("#sub_email").attr("readonly", true);
99      $("#sub_phone").attr("readonly", true);
100
101      $.ajax({
102        method: "POST",
103        url: TWDSubscriberQuick.ajaxUrl,
104        data: {
105          action: "twd_quick_subscribe",
106          _ajax_nonce: TWDSubscriberQuick._wpnonce,
107          sub_name: username,
108          sub_email: email,
109          sub_phone: phone,
110          msg: "Subscribed to post, post_terms, agenda, agenda_terms & agenda_docs",
111        },
112      })
113        .success(function (msg) {
114          //remove errors and display success
115        if ($("#sub_name").hasClass("has-error")) {
116          $("#sub_name").removeClass("has-error");
117        }
118        if ($("#sub_email").hasClass("has-error")) {
119          $("#sub_email").removeClass("has-error");
120        }
121        if ($("#sub_phpne").hasClass("has-error")) {
122          $("#sub_phone").removeClass("has-error");
123        }
124        $("#subs_button").html(btn_html);
125        $("#subs_button").removeClass("btn-default subscribe-button");
126
127        if(msg) {
128          let errrMessage = msg.replace(/[^\w\s]/gi, '')
129          errrMessage = errrMessage.replace(/string/g, ''); 
130          errrMessage = errrMessage.replace(/[0-9]/g, '');
131          $("#subs_button").addClass("btn-danger homepage-subscribed-danger font-weight-bold w-100");
132          $("#subs_button").html('Error Occurred!'); 
133          $("#homepage-subscriber-form").after(`<div id="subscribe-error" class="alert alert-danger alert-dismissible mt-3" role="alert"> ${errrMessage}<button type="button" class="btn-close close" data-dismiss="alert" data-bs-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>`); 
134          
135          
136          
137          // Remove alert, button danger & button text after 3 sec
138          setTimeout(function() { 
139            $("#subs_button").removeClass("btn-danger")
140            $("#subs_button").addClass("subscribe-button")
141            $("#subs_button").html('Subscribe now'); 
142            $("#subscribe-error").fadeOut()
143          }, 3000);
144          
145        } else {
146          if($("#subs_button").hasClass("homepage-subscribed-danger")) {
147            $("#subs_button").removeClass("homepage-subscribed-danger");
148          }
149          if($("#subs_button").hasClass("btn-danger")) {
150            $("#subs_button").removeClass("btn-danger");
151          }
152          $("#subs_button").addClass("btn-success homepage-subscribed-success font-weight-bold w-100");
153          $("#subs_button").html('Subscribed!');
154          // Remove success class after 3 sec
155          setTimeout(function() { 
156            $("#subs_button").removeClass("btn-success")
157            $("#subs_button").addClass("subscribe-button")
158            $("#subs_button").html('Subscribe now'); 
159          }, 3000);
160
161        }
162
163          //clear input values
164          //$('#homepage-extra-subscribe').slideUp();
165          $("#sub_name").val("");
166          $("#sub_email").val("");
167          $("#sub_phone").val("");
168          $("#sub_name").attr("readonly", false);
169          $("#sub_email").attr("readonly", false);
170          $("#sub_phone").attr("readonly", false);
171        })
172        .fail(function (jqXHR, textStatus) {
173          //display error message
174          if ($("#sub_name").hasClass("has-error")) {
175            $("#sub_name").removeClass("has-error");
176          }
177          if ($("#sub_email").hasClass("has-error")) {
178            $("#sub_email").removeClass("has-error");
179          }
180          $("#subs_button").removeClass("btn-default subscribe-button");
181          $("#subs_button").addClass("btn-danger");
182          $("#subs_button").html("Error");
183
184          //clear input values
185          //$('#homepage-extra-subscribe').slideUp();
186          $("#sub_name").val("");
187          $("#sub_email").val("");
188          $("#sub_phone").val("");
189          $("#sub_name").attr("readonly", false);
190          $("#sub_email").attr("readonly", false);
191          $("#sub_phone").attr("readonly", false);
192        });
193    }
194  });
195});

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.