PageSourceSearch

https://christianfidelity.com/Assets/js/app.js

js christianfidelity.com collected 2026-10-01 23:59:43 UTC 14,805 bytes, 326 lines download raw bytes

1$( document ).ready(function() {
2    validation();
3    //Function for animations that trigger when scrolled into view
4    function isScrolledIntoView(elem) {
5        const docViewTop = $(window).scrollTop();
6        const docViewBottom = docViewTop + $(window).height();
7        
8        const elemTop = $(elem).offset().top;
9        
10        return ((elemTop <= docViewBottom) && (elemTop >= docViewTop));
11    }
12    
13    //Offsets fixed navbar when navigating to a specific section on the home page from different page
14    //Stops scroll animations from triggering if user has navigated to home page from a different page
15    if (window.location.href.includes("#")) {
16        var y = $(window).scrollTop();
17        $(window).scrollTop(y-75);
18    } else {
19        $(window).scroll(function() {
20            $('.scroll-animations .animated').each(function() {
21              if (isScrolledIntoView(this) === true) {
22                $(this).addClass('slideInUp');
23              }
24            });
25        });
26    }
27    
28    //Navbar Scrolling
29        //When not on home page nav bar tabs will take you to home page at correct section
30        //If already on home page will animate scroll to correct section
31    $(".scroll-nav-tab").on("click", function () {
32        const section = $(this).data("section");
33
34        $("html, body").animate({ scrollTop: $("#" + section).offset().top - 75 }, 800);
35    });
36
37
38    //Customer Service Link in Features Section Scrolls to Contact Section
39    $("#cust-service-link").on("click", function () {
40        $("html, body").animate({ scrollTop: $("#contact").offset().top - 75 }, 800);
41    });
42
43
44    //Homepage Assurance Quote Calculator
45    //Hides Result and Shows Calculator
46    $("#BackNewQuote").on("click", function () {
47        $("#divAssuranceQuoteInput").addClass("fadeIn");
48        $("#divAssuranceQuoteOutput").css("display", "none");
49        $("#divAssuranceQuoteInput").css("display", "block");
50        $("#divAssuranceQuoteOutput").removeClass("fadeIn");
51    });
52
53});
54
55
56//Validation for Contact form on Homepage
57
58function validation() {
59    //************* REQUIRED ********************
60    $('.form-group input[required], .form-group textarea[required], .form-group select[required], .form-group radio[required]').on('keyup change', function () {
61        //closest - return the first ancestor
62
63        var $form = $(this).closest('section'),
64            $group = $(this).closest('.form-group'),
65            $addon = $group.find('.input-group-addon'),
66            $addon2 = $group.find('.val-error'),
67            state = false;
68
69        //Checking to see if the inputs validate against a pattern
70        if (!$group.data('validate')) {
71            state = $(this).val() ? true : false;
72        } else if ($group.data('validate') === "text") {
73            state = /^([a-zA-Z0-9_\-])+$/.test($(this).val())
74
75        } else if ($group.data('validate') === "money") {
76            //alert("money");
77            state = /^([0-9,.])+$/.test($(this).val())
78
79        } else if ($group.data('validate') === "age") {
80            state = /^\d{2}$/.test($(this).val())
81
82        } else if ($group.data('validate') === "email") {
83            state = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test($(this).val())
84        } else if ($group.data('validate') === 'phone') {
85            state = /^[(]{0,1}[0-9]{3}[)]{0,1}[-\s\.]{0,1}[0-9]{3}[-\s\.]{0,1}[0-9]{4}$/.test($(this).val())
86        } else if ($group.data('validate') === 'date') {
87            state = /^([0-9]{2}\/)([0-9]{2}\/)([0-9]{4})$/.test($(this).val())
88        } else if ($group.data('validate') === 'phone') {
89            state = /^\d{1,2,3}\/\d{1,2,3}\/\d{4}$/.test($(this).val())
90        } else if ($group.data('validate') === 'soc') {
91            state = /^\d{4}$/.test($(this).val())
92
93        } else if ($group.data('validate') === 'social') {
94            state = /^[(]{0,1}[0-9]{3}[)]{0,1}[-\s\.]{0,1}[0-9]{2}[-\s\.]{0,1}[0-9]{4}$/.test($(this).val())
95
96        } else if ($group.data('validate') === 'ein') {
97            state = /^\d{9}$/.test($(this).val())
98        } else if ($group.data('validate') === 'license') {
99            state = /^\d{15}$/.test($(this).val())
100        } else if ($group.data('validate') === 'zip') {
101            state = /^\d{5}
101$/.test($(this).val())
102        } else if ($group.data('validate') === "length") {
103            state = $(this).val().length >= $group.data('length') ? true : false;
104        } else if ($group.data('validate') === "number") {
105            state = !isNaN(parseFloat($(this).val())) && isFinite($(this).val())
106        } else if ($group.data('validate') === "noSpecChar") {
107            state = /^([A-Za-z0-9 ]*[A-Za-z0-9.][A-Za-z0-9 ]*)$/.test($(this).val())//numbers, letters upper and lower, and spaces
108        } else if ($group.data('validate') === "npn") {
109
110            state = /^\d{4,9}$/.test($(this).val());
111        }
112
113        //adding classes based on if inputs do or do not validate against pattern
114        if (state) {
115            $addon.removeClass('danger');
116            $addon.addClass('success');
117            $addon2.removeClass("val-error");/*.css("border", "solid thin green");, 1000, "easeInBack"*/
118
119        } else {
120            $addon.removeClass('success');
121            $addon.addClass('danger');
122        }
123
124    });
125
126    $('.form-group input[required], .form-group textarea[required], .form-group select[required], .form-group radio[required]').trigger('change');
127
128
129    //************* NOT REQUIRED ********************
130    $('.form-group form.not-required, .form-group textarea.not-required, .form-group select.not-required, .form-group radio.not-required').on('keyup change', function () {
131        //closest - return the first ancestor
132
133        var $form = $(this).closest('section'),
134            $group = $(this).closest('.form-group'),
135            $addon = $group.find('.input-group-addon'),
136            state = false;
137
138        //Checking to see if the inputs validate against a pattern
139        if (!$group.data('validate')) {
140            state = $(this).val() ? true : false;
141        } else if ($group.data('validate') === "text") {
142            state = /^([a-zA-Z0-9_\-])+$/.test($(this).val())
143
144        } else if ($group.data('validate') === "money") {
145            //alert("money");
146            state = /^([0-9,.])+$/.test($(this).val())
147
148        } else if ($group.data('validate') === "age") {
149            state = /^\d{2}$/.test($(this).val())
150
151        } else if ($group.data('validate') === "email") {
152            state = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test($(this).val())
153        } else if ($group.data('validate') === 'phone') {
154            state = /^[(]{0,1}[0-9]{3}[)]{0,1}[-\s\.]{0,1}[0-9]{3}[-\s\.]{0,1}[0-9]{4}$/.test($(this).val())
155        } else if ($group.data('validate') === 'date') {
156            state = /^([0-9]{2}\/)([0-9]{2}\/)([0-9]{4})$/.test($(this).val())
157        } else if ($group.data('validate') === 'phone') {
158            state = /^\d{1,2,3}\/\d{1,2,3}\/\d{4}$/.test($(this).val())
159        } else if ($group.data('validate') === 'soc') {
160            state = /^\d{4}$/.test($(this).val())
161
162        } else if ($group.data('validate') === 'social') {
163            state = /^[(]{0,1}[0-9]{3}[)]{0,1}[-\s\.]{0,1}[0-9]{2}[-\s\.]{0,1}[0-9]{4}$/.test($(this).val())
164
165        } else if ($group.data('validate') === 'ein') {
166            state = /^\d{9}$/.test($(this).val())
167        } else if ($group.data('validate') === 'license') {
168            state = /^\d{15}$/.test($(this).val())
169        } else if ($group.data('validate') === 'zip') {
170            state = /^\d{5}$/.test($(this).val())
171        } else if ($group.data('validate') === "length") {
172            state = $(this).val().length >= $group.data('length') ? true : false;
173        } else if ($group.data('validate') === "number") {
174            state = !isNaN(parseFloat($(this).val())) && isFinite($(this).val());
175        }
176
177        //adding classes based on if inputs do or do not validate against pattern
178        if (state) {
179            $addon.removeClass('not-req');
180            $addon.addClass('success');
181
182        } else {
183            $addon.removeClass('success');
184            $addon.addClass('not-req');
185        }
186
187    });
188
189    $('.form-group input.not-required, .form-group textarea.not-required, .form-group select.not-required, .form-group radio.not-required').trigger('change');
190
191}
192
193function validationEach() {
194    //************* REQUIRED ********************
195    $('.form-group input[required], .form-group textarea[required], .form-group select[required], .form-group radio[required]').each(function () {
196        //closest - return the first ancestor
197
198        var $form = $(this).closest('section'),
199            $group = $(this).closest('.form-group'),
200            $addon = $group.find('.input-group-addon'),
201            $addon2 = $group.find('.val-error'),
202            state = false;
203
204        //Checking to see if the inputs validate against a pattern
205        if (!$group.data('validate')) {
206            state = $(this).val() ? true : false;
207        } else if ($group.data('validate') === "text") {
208            state = /^([a-zA-Z0-9_\-])+$/.test($(this).val())
209
210        } else if ($group.data('validate') === "money") {
211            //alert("money");
212            state = /^([0-9,.])+$/.test($(this).val())
213
214        } else if ($group.data('validate') === "age") {
215            state = /^\d{2}$/.test($(this).val())
216
217        } else if ($group.data('validate') === "email") {
218            state = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test($(this).val())
219        } else if ($group.data('validate') === 'phone') {
220            state = /^[(]{0,1}[0-9]{3}[)]{0,1}[-\s\.]{0,1}[0-9]{3}[-\s\.]{0,1}[0-9]{4}$/.test($(this).val())
221        } else if ($group.data('validate') === 'date') {
222            state = /^([0-9]{2}\/)([0-9]{2}\/)([0-9]{4})$/.test($(this).val())
223        } else if ($group.data('validate') === 'phone') {
224            state = /^\d{1,2,3}\/\d{1,2,3}\/\d{4}$/.test($(this).val())
225        } else if ($group.data('validate') === 'soc') {
226            state = /^\d{4}$/.test($(this).val())
227
228        } else if ($group.data('validate') === 'social') {
229            state = /^[(]{0,1}[0-9]{3}[)]{0,1}[-\s\.]{0,1}[0-9]{2}[-\s\.]{0,1}[0-9]{4}$/.test($(this).val())
230
231        } else if ($group.data('validate') === 'ein') {
232            state = /^\d{9}$/.test($(this).val())
233        } else if ($group.data('validate') === 'license') {
234            state = /^\d{15}$/.test($(this).val())
235        } else if ($group.data('validate') === 'zip') {
236            state = /^\d{5}
236$/.test($(this).val())
237        } else if ($group.data('validate') === "length") {
238            state = $(this).val().length >= $group.data('length') ? true : false;
239        } else if ($group.data('validate') === "number") {
240            state = !isNaN(parseFloat($(this).val())) && isFinite($(this).val());
241        }
242
243        //adding classes based on if inputs do or do not validate against pattern
244        if (state) {
245            $addon.removeClass('danger');
246            $addon.addClass('success');
247            $addon2.removeClass("val-error");/*.css("border", "solid thin green");, 1000, "easeInBack"*/
248
249        } else {
250            $addon.removeClass('success');
251            $addon.addClass('danger');
252            //$icon.attr('class', 'fa fa-times');
253        }
254
255    });
256
257    $('.form-group input[required], .form-group textarea[required], .form-group select[required], .form-group radio[required]').trigger('change');
258
259
260    //************* NOT REQUIRED ********************
261    $('.form-group input.not-required, .form-group textarea.not-required, .form-group select.not-required, .form-group radio.not-required').on('keyup change', function () {
262        //closest - return the first ancestor
263
264        var $form = $(this).closest('section'),
265            $group = $(this).closest('.form-group'),
266            $addon = $group.find('.input-group-addon'),
267            state = false;
268
269        //Checking to see if the inputs validate against a pattern
270        if (!$group.data('validate')) {
271            state = $(this).val() ? true : false;
272        } else if ($group.data('validate') === "text") {
273            state = /^([a-zA-Z0-9_\-])+$/.test($(this).val())
274
275        } else if ($group.data('validate') === "money") {
276            //alert("money");
277            state = /^([0-9,.])+$/.test($(this).val())
278
279        } else if ($group.data('validate') === "age") {
280            state = /^\d{2}$/.test($(this).val())
281
282        } else if ($group.data('validate') === "email") {
283            state = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test($(this).val())
284        } else if ($group.data('validate') === 'phone') {
285            state = /^[(]{0,1}[0-9]{3}[)]{0,1}[-\s\.]{0,1}[0-9]{3}[-\s\.]{0,1}[0-9]{4}$/.test($(this).val())
286        } else if ($group.data('validate') === 'date') {
287            state = /^([0-9]{2}\/)([0-9]{2}\/)([0-9]{4})$/.test($(this).val())
288        } else if ($group.data('validate') === 'phone') {
289            state = /^\d{1,2,3}\/\d{1,2,3}\/\d{4}$/.test($(this).val())
290        } else if ($group.data('validate') === 'soc') {
291            state = /^\d{4}$/.test($(this).val())
292
293        } else if ($group.data('validate') === 'social') {
294            state = /^[(]{0,1}[0-9]{3}[)]{0,1}[-\s\.]{0,1}[0-9]{2}[-\s\.]{0,1}[0-9]{4}$/.test($(this).val())
295
296        } else if ($group.data('validate') === 'ein') {
297            state = /^\d{9}$/.test($(this).val())
298        } else if ($group.data('validate') === 'license') {
299            state = /^\d{15}$/.test($(this).val())
300        } else if ($group.data('validate') === 'zip') {
301            state = /^\d{5}$/.test($(this).val())
302        } else if ($group.data('validate') === "length") {
303            state = $(this).val().length >= $group.data('length') ? true : false;
304        } else if ($group.data('validate') === "number") {
305            state = !isNaN(parseFloat($(this).val())) && isFinite($(this).val());
306        }
307
308        //adding classes based on if inputs do or do not validate against pattern
309        if (state) {
310            $addon.removeClass('not-req');
311            $addon.addClass('success');
312
313        } else {
314            $addon.removeClass('success');
315            $addon.addClass('not-req');
316        }
317
318    });
319
320    $('.form-group input.not-required, .form-group textarea.not-required, .form-group select.not-required, .form-group radio.not-required').trigger('change');
321
322}
323
324
325
326

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.