PageSourceSearch

https://atlantamission.org/wp-content/plugins/gravity-forms-timed-…/gravity-forms-timed-entries.js?ver=7.1.2

js atlantamission.org collected 2026-10-03 21:50:22 UTC 18,859 bytes, 383 lines download raw bytes

1jQuery(function($) {
2
3'use strict';
4
5var gfteClockActive = false;
6var	gftePageClockActive = [];
7	
8function gfteclock() {
9	if ($(".gfteStartTime input").length && $(".gfteStartTime input").val().length) {
10		$(".gftereadonly input").attr("readonly", true);
11        $(".gfteStartTime").show();
12        $(".gftetimertext").not(".gftehiddentimer").show();
13		$(".gftehidden").hide();
14		
15		if (!gfteClockActive) {
16			gfteClockActive = true;
17            
18			//Get variables from PHP
19            var gftebrowserTime = new Date();
20			var gftestartTime 	= $(".gfteStartTime input").val();
21			var gftetimerarray  = gftestartTime.split("%");
22			var gftebaseTime 	= new Date(gftetimerarray[0]);
23			var gfteinitialtime = gftetimerarray[0];
24			var gfteTimeLimiter	= gftetimerarray[1] === "none" ? "none" : parseInt(gftetimerarray[1]);
25			var gfteTimeSynch	= gftetimerarray[2] === "" ? "" : (parseInt(gftetimerarray[2]) * 1000);
26			var gfteTimeSyninit	= gftetimerarray[2] ? gftetimerarray[2] : '';
27			var gfteFormId		= gftetimerarray[3] ? gftetimerarray[3] : '';
28			var gfteBlockEdit	= gftetimerarray[4] ? gftetimerarray[4] : '';
29			var gfteAutoSubmit	= gftetimerarray[5] ? gftetimerarray[5] : '';
30			var gftePreciseTime	= gftetimerarray[6] ? gftetimerarray[6] : '';
31            var gfteStartPage	= gftetimerarray[7] ? gftetimerarray[7] : '';
32            var gfteCustomTime	= gftetimerarray[8] ? gftetimerarray[8] : '';
33            var gfteTimeOffset	= gftetimerarray[9] ? parseInt(gftetimerarray[9]) : Math.floor(gftebaseTime - gftebrowserTime);
34			var gfteLockedForm	= gftetimerarray[10] ? gftetimerarray[10] : 'false';
35            var gfteRedirect    = $("#gfteautoredirect").length ? $("#gfteautoredirect").html() : "";
36            var gfteClockendMsg = $("#gfteclockendmessage").length ? $("#gfteclockendmessage").html() : "Time Limit Reached";
37            
38			if (gftetimerarray.length < 10) {
39				$(".gfteStartTime input").attr("value", gftestartTime + '%' + gfteTimeOffset + '%' + gfteLockedForm + '%');
40			}
41			//GFTE LOCK FORM -for block edit or auto submit
42			var gtfeLockForm = function() {
43				gfteLockedForm	= 'true';
44				$(".gfteStartTime input").attr("value", gfteinitialtime + '%' + gfteTimeLimiter + '%' + gfteTimeSyninit + '%' + gfteFormId + '%' + gfteBlockEdit + '%' + gfteAutoSubmit + '%' + gftePreciseTime + '%' + gfteStartPage + '%' + gfteCustomTime + '%' + gfteTimeOffset + '%' + gfteLockedForm);
45			};
46			//Auto Submit Form
47			var gfteAutoSubmitter = function() {
48				if (gfteAutoSubmit) {
49					$('#gform_' + gfteFormId + ' .gform_body').hide();
50                    //$('.gform_page_fields, .gform_save_link, .gform_previous_button').hide();
51                    //$('#gform_' + gfteFormId).find(':input[value=Previous]').hide();
52					if(window['gf_submitting_' + gfteFormId]){
53						return false;
54					} 
55					window['gf_submitting_' + gfteFormId] = true;
56                    $('#gform_target_page_number_' + gfteFormId).attr('value', '0'); // gform_target_page_number_{formId} -> set to 0 to directly submit the form and not trigger the next page on submission for multipage forms
57					$('#gform_' + gfteFormId).trigger('submit',[true]); 
58					setTimeout(gfteAutoSubmitter, 100); // steps through remaining pages until submit from the timeout if target page # is not set
59				}
60			};
61            //Redirect page from Form
62			var gfteAutoRedirector = function() {
63				if (gfteRedirect) {
64                    $('#gform_' + gfteFormId + ' .gform_body').hide();
65					//window.location.href = gfteRedirect;
66					window.location.replace(gfteRedirect);
67					return true;
68				}
69			};
70			//Close down editing of form
71			var gtfereadonlyForm = function() {
72				if (gfteBlockEdit && !gfteAutoSubmit) {
73					$('#gform_' + gfteFormId).find(':input').not(':input[value=Submit], :input[value=Previous], :input[value=Next], :input[type=submit], .gfteNoBlock :input').attr({'readonly': 'readonly', 'style': 'pointer-events: none;', 'tabindex': '-1', 'focusable': 'false'});
74					$('#gform_' + gfteFormId + ' label').not('.gfteNoBlock label').attr({'readonly': 'readonly', 'style': 'pointer-events: none;'});
75                    $('#gform_' + gfteFormId).find('option:not(:selected)').not('.gfteNoBlock option').attr({'disabled': 'disabled'});
76					$(".gfteStartTime input").hide();
77				}
78			};
79			//Change field/element visibility
80			var gtfeChangeVisibility = function() {
81				$(".gfte-hide").hide().attr({'style': 'visibility: hidden; display: none !important;'});
82				$(".gfte-show").show().attr({'style': 'visibility: visible; display: block !important;'});	
83
84			};
85			//Custom time is up alert
86			var gfteTimesUpMessage = function() {
87				var gfte_message = $("#gftetimesupmessage").html();
88				if (gfteLockedForm === "false" && typeof(gfte_message) !== "undefined" && gfte_message !== null && gfte_message !== "" && gfteAutoSubmit === "" && gfteAutoSubmit === "" && $(".gfteStartTime input").length) {
89					alert($('#gftetimesupmessage').html());
90				}
91			};
92			//Variable Timed Events
93            var gftevarevents = function(gftevariruntime) {
94                var gftevaritimes = function(gftevaritimevalue) {
95                    var gftevartimefunction = gftevaritimevalue.split("::");
96                    if (Array.isArray(gftevartimefunction) && gftevartimefunction.length == 3 && !isNaN(parseFloat(gftevartimefunction[2])) && isFinite(gftevartimefunction[2])) {
97                        if (gftevariruntime >= gftevartimefunction[2]) {
98                            switch (gftevartimefunction[0]) {
99                               case "block":
100                                   $('#gform_' + gfteFormId + ' .' + gftevartimefunction[1]).find(':input, label').attr({'readonly': 'readonly', 'style': 'pointer-events: none;', 'tabindex': '-1', 'focusable': 'false'});
101                                   $('#gform_' + gfteFormId + ' .' + gftevartimefunction[1]).find('option:not(:selected)').attr({'disabled': 'disabled'});
102                                   break;   
103                               case "hide":
104                                   $('.' + gftevartimefunction[1]).hide().attr({'style': 'visibility: hidden; display: none !important;'});
105                                   break;
106                               case "show":
107                                   $('.' + gftevartimefunction[1]).show().attr({'style': 'visibility: visible; display: block !important;'});
108                                   break;   
109                               case "alert":
110                                    if (gftevariruntime == gftevartimefunction[2]) {
111                                        alert(gftevartimefunction[1]);
112                                        $("#gftetimedevents").html($("#gftetimedevents").html().replace(gftevaritimevalue, gftevaritimevalue + "::complete"));
113                                    }
114                                   break;
115                               default:
116                                    if (gftevariruntime == gftevartimefunction[2]) {
117                                        alert('"' + gftevartimefunction[1] + '" is not a valid option. You must use "block, hide, show, or alert". Check your Additional Timed Events entry for this time.');
118                                    $("#gftetimedevents").html($("#gftetimedevents").html().replace(gftevaritimevalue, gftevaritimevalue + "::complete"));
119                                    }
120                            }
121                        }
122                    }
123                };
124                if ($("#gftetimedevents").length && $("#gftetimedevents").html().length) {
125                    var gfteVariTime = $("#gftetimedevents").html().split(/\r?\n/);
126                    if (Array.isArray(gfteVariTime) && gfteVariTime.length) {
127                        gfteVariTime.forEach(gftevaritimes)
128                    }
129                }
130            };
131            //GFTE MAIN CLOCK            
132            var gfteclockwork = function() {
133				if ($(".gfteStartTime input").length) {
134					var gfteallseconds 	= Math.floor(((new Date() - gftebaseTime) + gfteTimeOff
134set) / 1000);                  
135					var gfteruntime		= gfteallseconds;
136					var gfte_runtime	= gfteTimeLimiter - gfteruntime;
137					var gfte_timesup	= function() {
138						$(".gfteCountdownTimer").html(gfteClockendMsg); //countdown
139						//$(".gfteCountupTimer").html(gfteClockendMsg); //countup
140					};
141					if (gfteallseconds > gfteTimeLimiter) {  //time limit reached
142						gfte_timesup();
143					}
144					var gftehours 		= Math.floor(gfteallseconds / 3600);
145					var gfte_hours 		= Math.floor(gfte_runtime / 3600);
146					gfteallseconds 		= gfteallseconds % 3600;
147					gfte_runtime 		= gfte_runtime % 3600;
148					var gfteminutes 	= Math.floor(gfteallseconds / 60);
149					var gfte_minutes 	= Math.floor(gfte_runtime / 60);
150					gfteallseconds 		= gfteallseconds % 60;
151					gfte_runtime 		= gfte_runtime % 60;
152					var gfteseconds 	= Math.floor(gfteallseconds);
153					var gfte_seconds 	= Math.floor(gfte_runtime);
154					if ($(".gfteseconds").length) {
155						$(".gfteseconds").html(gfteseconds);
156                        if (gfteminutes != 0) {
157                            $(".gfteminutes").html(gfteminutes);
158                            if ($(".gfteminutes").is(":hidden")) {
159                                $(".gfteminutes").show();
160                                $(".gfteminsseparator").show();
161                            }
162                        } else {
163                            if ($(".gfteminutes").is(":visible")) {
164                                $(".gfteminutes").hide();
165                                $(".gfteminsseparator").hide();
166                            }
167                        }
168                        if (gftehours != 0) {
169                            $(".gftehours").html(gftehours);
170                            if ($(".gftehours").is(":hidden")) {
171                                $(".gftehours").show();
172                                $(".gftehoursseparator").show();
173                            }
174                        } else {
175                            if ($(".gftehours").is(":visible")) {
176                                $(".gftehours").hide();
177                                $(".gftehoursseparator").hide();
178                            }
179                        }
180					}
181					if ($(".gfte-seconds").length) {
182						$(".gfte-seconds").html(gfte_seconds);
183						$(".gfte-minutes").html(gfte_minutes);
184						$(".gfte-hours").html(gfte_hours);
185                        if (!gfte_hours) {
186                            if ($(".gfte-hours").is(":visible")) {
187                                $(".gfte-hours").hide();
188                                $(".gfte-hoursseparator").hide();
189                            }
190                        }
191                        if (!gfte_minutes) {
192                            if ($(".gfte-minutes").is(":visible")) {
193                                $(".gfte-minutes").hide();
194                                $(".gfte-minsseparator").hide();
195                            }
196                        } else {
197                            if ($(".gfte-minutes").is(":hidden")) {
198                                $(".gfte-minutes").show();
199                                $(".gfte-minsseparator").show();
200                            }
201                        }
202					}                    
203					if ((gfteTimeLimiter !== "none" && gfteruntime >=  gfteTimeLimiter) || gfteLockedForm === "true") {
204						gtfereadonlyForm();
205						//gtfereadonlyFields();
206                        if (gfteAutoRedirector()) {
207							return;
208						}
209						gtfeChangeVisibility();
210						gfteAutoSubmitter();
211						gfteTimesUpMessage();
212						if (gfteLockedForm === "false") {
213							gtfeLockForm();
214						}
215					}
216                    //variable timed events trigger
217                    gftevarevents(gfteruntime);
218					
219				} else {
220					$(".gftetimertext").hide();
221				}
222			}
223            gfteclockwork();
224            setInterval(gfteclockwork, 1000);
225			//Get Server time via AJAX
226            var gfteservertimesynch = function() {
227                var gfteGetServerTime = new XMLHttpRequest();
228                gfteGetServerTime.open('HEAD', document.location, false);
229                gfteGetServerTime.send(null);
230                var gfteTimeReturn 	= new Date(gfteGetServerTime.getResponseHeader("DATE"));
231                var gftetimezoneOff = gfteTimeReturn.getTimezoneOffset();
232                gfteTimeReturn.setMinutes(gfteTimeReturn.getMinutes() + gftetimezoneOff);
233                var gftediffSecs 	= Math.floor(gfteTimeReturn - gftebaseTime) / 1000;
234                if ((gfteTimeLimiter !== "none" && gftediffSecs >=  gfteTimeLimiter) || gfteLockedForm === "true") {
235                    gtfereadonlyForm();
236                    //gtfereadonlyFields();
237					if (gfteAutoRedirector()) {
238                        return;
239                    }
240                    gtfeChangeVisibility();
241                    gfteAutoSubmitter();
242                    gfteTimesUpMessage();
243                    if (gfteLockedForm === "false") {
244                        gtfeLockForm();
245                    }
246					
247                }
248                //variable timed events trigger
249                gftevarevents(gftediffSecs);
250            }
251			if (gfteTimeSynch) {
252				setInterval(gfteservertimesynch, gfteTimeSynch);
253			}
254			//setTimeOut version
255		/*	if (gfteTimeSynch) {
256				var gfteTimeCompare = function(){
257					var gfteGetServerTime = new XMLHttpRequest();
258					gfteGetServerTime.open('HEAD', document.location, false);
259					gfteGetServerTime.send(null);
260					var gfteTimeReturn 	= gfteGetServerTime.getResponseHeader("DATE");
261					var gfteServerTime 	= new Date(gfteTimeReturn);
262					var gftetimediff 	= (gfteServerTime - gftebaseTime);
263					var gftediffSecs 	= Math.floor(gftetimediff / 1000);
264					$('#gfteoffsettime').html(gfteServerTime);
265					if (gftediffSecs >=  gfteTimeLimiter) {
266						$('#gform_submit_button_' + gfteFormId).click();
267					}
268					setTimeout(gfteTimeCompare, 10000);
269				};
270				gfteTimeCompare();
271			}*/
272		}
273	} else {
274       $(".gfteStartTime").hide();
275       $(".gftetimertext").hide();
276    }
277}
278
279//Page Clock Display
280function gftePageClock(current_page) {
281	if ($(".gfteStartTime input").length && $(".gfteStartTime input").val().length && $(".gftePageTime").length) {
282		
283		//var gftePageStart = Date.now();  //working non- ajax time calcs
284		$('.gftepageminutes, .gftepageminsseparator, .gftepagehours, .gftepagehoursseparator ').hide();
285				
286		if (!gftePageClockActive[current_page]) {
287            gftePageClockActive[current_page] = true;
288			var gfteUpdatePageClock = function() {
289
290                $(".gftePageTime.gftePageNumber_" + current_page).each(function() {
291                    var gftePageSecs        = 0;
292                    var gftePageTime 	  	= $(this).find('input').val();
293                    var gftePageTimeArray  	= gftePageTime.split("%");
294					var gftePageCounter		= gftePageTimeArray[3] ? +gftePageTimeArray[3] : 0;
295
296					//working non- ajax time calcs
297					//var gftePageCurrent		= Math.floor((Date.now() - gftePageStart) / 1000);
298					//gftePageSecs 			= Math.floor(+gftePageTimeArray[1]) + gftePageCurrent;
299					//alert (gftePageSecs);
300					//end working
301                    gftePageSecs 		= Math.floor(+gftePageTimeArray[1]) + gftePageCounter;
302                    var gftepagehours 	= Math.floor(gftePageSecs / 3600);
303                    gftePageSecs 		= gftePageSecs % 3600;
304                    var gftepageminutes = Math.floor(gftePageSecs / 60);
305                    gftePageSecs 		= gftePageSecs % 60;
306                    var gftepageseconds = Math.floor(gftePageSecs);
307                    
308                    //targeting display based on GF 2.5+ markup or legacy 
309                    var GFTEThis        = $(this).find('.gftepageseconds').length > 0 ? $(this) : $(this).siblings('.gftePageTimerText_' + current_page);
310                    GFTEThis.find('.gftepageseconds').html(gftepageseconds);
311                    if (gftepageminutes) {
312                        GFTEThis.find('.gftepageminutes').html(gftepageminutes);
313                        if (GFTEThis.find('.gftepageminutes').is(":hidden")) {
314                            GFTEThis.find('.gftepageminutes').show();
315                            GFTEThis.find('.gftepageminsseparator').show();
316                        }
317                    } else {
318                        if (GFTEThis.find('.gftepageminutes').is(":visible")) {
319                            GFTEThis.find('.gftepageminutes').hide();
320                            GFTEThis.find('.gftepageminsseparator').hide();
321                        }
322                    }
323                    if (gftepagehours) {
324                        GFTEThis.find('.gftepagehours').html(gftepagehours);
325                        if (GFTEThis.find('.gftepagehours').is(":hidden")) {
326                            GFTEThis.find('.gftepagehours').show();
327                            GFTEThis.find('.gftepagehoursseparator').show();
328                        }
329                    } else {
330                        if (GFTEThis.find('.gftepagehours').is(":visible")) {
331                            GFTEThis.find('.gftepagehours').hide();
332                            GFTEThis.find('.gftepagehoursseparator').hide();
333                        }
334                    }
335					
336					gftePageCounter = gftePageCounter + 1;
337					//var gftePageCurrent		= Math.floor((Date.now() - gftePageStart) / 1000); //working non- ajax time calcs
338					$(this).find('input').val(gftePageTimeArray[0] + '%' + gftePageTimeArray[1] + '%' + gftePageTimeArray[2] + '%' + gftePageCounter);
339                });
340            }
341		
342			gfteUpdatePageClock();
343			setInterval(gfteUpdatePageClock, 1000);
344		}
345	}
346}
347    
348// COPY TIME TO FIELD ONCLICK   //working!!
349function gfteClickCopyTime() {
350	if ($(".gfteCopyTime").length && ($(".gftePasteTime input").length || $(".gftePasteTimeSingle input").length) && $(".gfteClickTime").length) {
351        $(".gfteClickTime").click(function(){
352            $(".gftePasteTime input").val($(".gfteCopyTime p *:not(:has(*)):visible").text());
353            if ($(".gftePasteTimeSingle input").val() == '') {
354                $(".gftePasteTimeSingle input").val($(".gfteCopyTime p *:not(:has(*)):visible").text());
355            }
356        });
357    }
358}
359
360$(document).ready(function() {
361    /*$(document).on('gform_post_render', function(event, form_id, current_page){ //needs a way to get current page without this function
362        gfteclock();
363    });*/
364	gfteclock(); 
365	var current_page = $(".gfte_current_page_print").html();  
366	gftePageClock(current_page);
367    $('.gftehidden').hide();
368});
369	
370$(document).on('gform_post_render', function(event, form_id, current_page) {
371    gfteclock();
372    gftePageClock(current_page);
373    $('.gftehidden').hide();
374    gfteClickCopyTime()
375});
376
377$(document).ajaxComplete(function() {
378	//gfteclock();
379    $('.gftehidden').hide();
380});
381
382
383});

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.