PageSourceSearch

https://www.cambridgema.gov/Layouts/Cambridge2016/_resources/js/google-analytics.js?t=2026390000

js cambridgema.gov collected 2026-09-24 08:33:03 UTC 24,862 bytes, 536 lines download raw bytes

1// GA support functions
2var trackEvent = function (url, category, action, label) {
3	console.log(`Recording GA event\nCategory: ${category}\nAction: ${action}\nLabel: ${label}\nURL: ${url}`);
4	if (typeof gtag !== 'undefined') {
5		setTimeout(function () { console.log("Redirect timer fired for " + url); window.location = url; }, 1500);
6
7		gtag("event", action.replace(" ", "_").toLowerCase(), {
8			"event_category": category,
9			"event_label": label,
10			"event_callback": function () { window.location = url; }
11		});
12	} else { window.location = url; }
13};
14var trackEventNoCallback = function (category, action, label) {
15	console.log(`Recording GA event\nCategory: ${category}\nAction: ${action}\nLabel: ${label}`);
16	if (typeof gtag !== 'undefined') {
17		gtag("event", action.replace(" ", "_").toLowerCase(), {
18			"event_category": category,
19			"event_label": label
20		});
21	}
22};
23
24// Deprecated method - log that it was called, pass data along to the new method
25var trackEventNR = function (url, category, action, label) {
26	console.warn("trackEventNR() is deprecated - please transition to calling trackEvent() instead");
27	trackEventNoCallback("deprecated_JS", "trackEventNR", `${window.location}&${category}&${action}&${label}`);
28	trackEvent(url, category, action, label);
29}
30
31// Global tracking declarations
32$j(document).ready(function () {
33    // Track clicks inside of the global alert bar
34    $j(".globalAlert a").click(function () {
35        trackEventNoCallback("Global Alert", "Click", $j(this).closest(".globalAlert[data-alertName]").attr("data-alertName"));
36    });
37
38/*** Homepage Hero Tracking Begin ***/
39	// Homepage hero click tracking
40	$j("#featuredContent[data-heroname] a").click(function () {
41        trackEventNoCallback("City Homepage - Hero", "Click", $j(this).closest("#featuredContent[data-heroname]").attr("data-heroname"));
42    });
43
44    // Homepage banner click tracking
45    $j(".billboard[data-heroname] a").each(function () {
46        $j(this).click(function () {
47            // Special handling for the MDRF dual banner
48            var label = $j(this).closest(".billboard[data-heroname]").attr("data-heroname");
49            if ($j(this).attr("data-heroLinkName"))
50                label += " - " + $j(this).attr("data-heroLinkName");
51
52            trackEventNoCallback("City Homepage - Billboard", "Click", label);
53        });
54	});
55
56	// banner click tracking
57	$j("a.banner[data-bannername]").click(function () {
58		trackEventNoCallback("Banner", "Click", $j(this).attr("data-bannername"));
59	});
60
61    // Handling for COVID-19 Voting Info page
62    $j("a#featuredContent.trackMyBallot, a#featuredContent.voterRegistration2020").click(function () { trackEventNoCallback("COVID-19 Voting Info Page Banners", "Click", $j(this).attr("data-heroname")); });
63
64	// Homepage hero impression tracking
65	$j("#featuredContent[data-heroname]").each(function () {
66		if ($j(this).length) {
67			trackEventNoCallback("City Homepage - Hero Image", "Impression", $j(this).attr("data-heroname"));
68		}
69	});
70
71	// Banner impression tracking
72	$j(".banner[data-bannername]").each(function () {
73		if ($j(this).length) {
74			trackEventNoCallback("Banner", "Impression", $j(this).attr("data-bannername"));
75		}
76	});	
77/*** Homepage Hero Tracking End ***/
78
79	//Brand img and text
80	$j(".topNav .brand a").each(function () {
81		$j(this).click(function (t) {
82			trackEvent($j(this).attr("href"), "City Homepage - City Brand img/text ", "Click", $j(this).text().trim()), t.preventDefault();
83		})
84	});
85
86	//Top Nav Flyout Links
87	$j(".topNav .menu .bottom nav > ul > li .subMenu a").each(function () {
88        $j(this).click(function (t) {
89            if ($j(this).attr("target") === "_blank") {
90                trackEventNoCallback("City Homepage - Top Nav Links", "Submenu Link Click", $j(this).text().trim()), t.preventDefault();
91                window.open($j(this).attr("href"));
92            }
93            else
94                trackEvent($j(this).attr("href"), "City Homepage - Top Nav Links", "Submenu Link Click", $j(this).text().trim()), t.preventDefault();
95        });
96	});
97    $j(".deptNav .menu .bottom nav > ul > li .subMenu a").each(function () {
98        $j(this).click(function (t) {
99            if ($j(this).attr("target") === "_blank") {
100                trackEventNoCallback("Department Homepage - Top Nav Links", "Submenu Link Click", $j(this).text().trim()), t.preventDefault();
101                window.open($j(this).attr("href"));
102            }
103            else
104                trackEvent($j(this).attr("href"), "Department Homepage - Top Nav Links", "Submenu Link Click", $j(this).text().trim()), t.preventDefault();
105        });
106    });
107
108	//Quick Links Menu in Header
109	$j(".topNav .menu .top .toolsMenu > ul > li.quickLinks .quickLinksMenu > ul > li a").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "City Homepage - Subheader", "Click", $j(this).find("span").text()), t.preventDefault() }) });
110
111	//Subscribe
112	$j(".subscribe a").each(function () {
113		$j(this).click(function (t) {
114			trackEvent($j(this).attr("href"), "City Homepage - Subheader", "Click", "Subscribe"), t.preventDefault();
115		})
116	});
117
118	//Google Translate (not working)
119	$j(".translateMenu a").each(function () {
120		$j(this).click(function (t) {
121			trackEventNoCallback("City Homepage -  Subheader", "Click", "Google Translate");
122		})
123	});
124
125	//Footer Quick Links
126	$j("#bottomLinks a").each(function () {
127		$j(this).click(function (t) {
128			if ($j(this).attr("target") == "_blank") {
129				trackEventNoCallback("City Homepage - Fat Footer", "Click", $j(this).text()), t.preventDefault();
130				window.open($j(this).attr("href"));
131			}
132			else
133				trackEvent($j(this).attr("href"), "City Homepage - Fat Footer", "Click", $j(this).text()), t.preventDefault();
134		})
135	});
136
137	//Footer Social Buttons
138	$j("footer .socialLinks a").each(function () { $j(this).click(function (t) { trackEventNoCallback("City Homepage - Footer Social Links", "Click", $j(this).attr('class')) }) });
139
140	//Footer Links
141	$j("#footer a").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "City Homepage - Footer", "Click", $j(this).text()), t.preventDefault() }) });
142
143	//Track FAQs (not tracking first one)
144	$j(".faq > div.accordion h3[aria-expanded*='false']").each(function () { $j(this).click(function (t) { trackEventNoCallback("FAQ Expand", "Click", $j(this).find("div.accordionHeaderText").text()), t.preventDefault() }) });
145
146	//Well Links
147	$j(".wells a").each(function () {
148		$j(this).click(function (t) {
149			trackEventNoCallback("Well Link", "Click", $j(this).text());
150		})
151	});
152
153	//Pagination
154	$j(".dataPager li a").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "Pagination", "Click", $j(this).text()), t.preventDefault() }) });
155
156	//Back to Top button
157	$j("a.btnBackToTop").each(function () {
158		$j(this).click(function (t) {
159			trackEventNoCallback("Back To Top", "Back To Top", "");
160		})
161	});
162
163	//Mosaic Titles
164	$j("#heroImages figure figcaption h3 a").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "Mosaic Tile", "Click", $j(this).text()), t.preventDefault() }) });
165
166	//Search Icon
167	$j("#wrapper main #btnNavQuickSearch").each(function () { $j(this).click(function (t) { trackEventNoCallback("City Homepage - Search", "Main Search", $j("#wrapper main #txtQuickSearch").val()), t.preventDefault() }) });
168
169	//Coming Up View all
170	$j("#eventSlider h3 a").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "City Homepage - Coming Up", "Click", $j(this).text()), t.preventDefault() }) });
171
172	//Coming Up Pagination
173	$j("#eventSlider .cycle-pagers a").each(function () {
174		$j(this).click(function (t) {
175			trackEventNoCallback("City Homepage - Coming Up Pagination", "Click", $j(this).text());
176		})
177	});
178
179	//Home Page News Control - Image click
180	$j(".newsList .newsItem .newsLink .image a").each(function () {
181		$j(this).click(function (t) {
182			trackEvent($j(this).attr("href"), "City Homepage - News", "Click", $j(this).parent().siblings().find("a h2").text()), t.preventDefault();
183		})
184	});
185
186	//Home Page News Control - Title click
187	$j(".newsList .newsItem .newsLink .information a").each(function () {
188		$j(this).click(function (t) {
189			trackEvent($j(this).attr("href"), "City Homepage - News", "Click", $j(this).find("h2").text()), t.preventDefault();
190		})
191	});
192
193	//Social Media Aggregator Filter buttons
194	$j(".socialFeeds .socialFilters li .socialBtn").each(function () {
195		$j(this).click(function (t) {
196			trackEventNoCallback("Social Media Aggregator", "Click", "Filter - " + $j(this).attr("title")), t.preventDefault()
197		})
198	});
199
200	//Social Media Aggregator - Show More Button
201	var showMoreBtnClickNum = 1;
202	$j(".socialFeeds #showMoreFeeds").each(function () { $j(this).click(function (t) { trackEventNoCallback("Social Media Aggregator", "Click", "Show More " + showMoreBtnClickNum), t.preventDefault(); showMoreBtnClickNum++; }) });
203
204	//Service List Search
205	$j("#services .servicesList input[type='submit']").each(function () {
206		$j(this).click(function (t) {
207			trackEventNoCallback("Service List - Search", "Click", $j("#services .servicesList .byKeyword #txtKeyword").val() + " / " + $j("#services .servicesList .byKeyword #ddlDepartment").find("option:selected").text() + " / " + $j("#services .servicesList .byKeyword #ResultsDDL").find("option:selected").text());
208		})
209	});
210
211	//Service List Letter
212	$j("#services .servicesList .byLetter a").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "Service List - Filter By Letter", "Click", $j(this).text()), t.preventDefault() }) });
213
214	//Service List Online Button
215	$j("#services .servicesList #OnlineButton").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "Service List - Online Button", "Click", $j(this).text()), t.preventDefault() }) });
216
217	//Service List Service
218	$j("#services .servicesList .service h3 a").each(function () {
219		$j(this).click(function (t) {
220			if ($j(this).attr("target") == "_blank") {
221				trackEventNoCallback("Service List - Service Link", "Click", $j(this).text()), t.preventDefault();
222				window.open($j(this).attr("href"));
223			}
224			else
225				trackEvent($j(this).attr("href"), "Service List - Service Link", "Click", $j(this).text()), t.preventDefault();
226		})
227	});
228
229	//Service List Related department
230	$j("#services .servicesList .departments a").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "Service List - Related Department", "Click", $j(this).text()), t.preventDefault() }) });
231
232	//Service Detail Related department
233	$j(".servicesDetail #relatedDepartmentsList #departmentLink").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "Service Detail - Related Department", "Click", $j(this).text()), t.preventDefault() }) });
234
235	//Service Detail Online Button
236	$j(".servicesDetail #onlineLink").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "Service Detail - Online Button", "Click", $j(this).text()), t.preventDefault() }) });
237
238	// Want To List I Want To
239	$j("#iwantto .iwanttoList .iwantto h3 a").each(function () {
240		$j(this).click(function (t) {
241			if ($j(this).attr("target") == "_blank") {
242				trackEventNoCallback("I Want To List - I Want To Link", "Click", $j(this).text()), t.preventDefault();
243				window.open($j(this).attr("href"));
244			}
245			else
246				trackEvent($j(this).attr("href"), "I Want To List - I Want To Link", "Click", $j(this).text()), t.preventDefault();
247		})
248	});
249
250	//I Want To List Related department
251	$j("#iwantto .iwanttoList .departments a").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "I Want To List - Related Department", "Click", $j(this).text()), t.preventDefault() }) });
252
253	//I Want To Detail Related department
254	$j(".iWantToDetail #RelatedDepartments a.online").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "I Want To Detail - Related Department", "Click", $j(this).attr("href")), t.preventDefault() }) });
255
256	//I Want To List Search
257	$j("#iwantto .iwanttoList input[type='submit']").each(function () {
258		$j(this).click(function (t) {
259			trackEventNoCallback("I Want To List - Search", "Click", $j("#iwantto .iwanttoList .byKeyword #txtKeyword").val() + " / " + $j("#iwantto .iwanttoList .byKeyword #ddlDepartment").find("option:selected").text() + " / " + $j("#iwantto .iwanttoList .byKeyword #ResultsDDL").find("option:selected").text());
260		})
261	});
262
263	//Department Detail Foldable
264	$j(".departmentDetail #content .relatedInfo section h2").each(function () { $j(this).click(function (t) { trackEventNoCallback("Department Detail - Foldable", "Click", $j(this).text()), t.preventDefault() }) });
265
266	//Department Related service
267	$j(".departmentDetail #content .relatedInfo section #ServiceList a").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "Department Detail - Related Service", "Click", $j(this).text()), t.preventDefault() }) });
268
269	//Event Tag Click
270	$j("a[title='Event Tag']").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "Calendar List - Event Tag", "Click", $j(this).text()), t.preventDefault() }) });
271
272	// Useful Docs and Resouces
273	$j(".departmentDetail #documentList #documentLink").each(function () {
274		$j(this).click(function (t) {
275			if ($j(this).attr("target") == "_blank") {
276				trackEventNoCallback("Department Detail - Related Document", "Click", $j(this).text()), t.preventDefault();
277				window.open($j(this).attr("href"));
278			}
279			else
280				trackEvent($j(this).attr("href"), "Department Detail - Related Document", "Click", $j(this).text()), t.preventDefault();
281		})
282    });
283
284    // Related Departments
285    $j("ul[id$='relatedDepartmentList'] li a").on("click", function () { trackEventNoCallback("Related Departments Box", "Toggle", $j(this).text()); });
286
287	//City Calendar View
288	$j(".calendar .eventFilter .viewRange .buttonRow input").each(function () { $j(this).click(function (t) { trackEventNoCallback("Calendar List - View Change", "Click", $j(this).val()), t.preventDefault() }) });
289
290	//Mini Calendar Date click
291	$j(".calendar .eventFilter .calGrid tr td a").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "Calendar List - Day Navigation", "Click", $j(this).text() + " " + $j(".calendar .eventFilter .calPager span.title").text()), t.preventDefault() }) });
292
293	//Mini Calendar Prev and Next buttons
294	$j(".calendar .eventFilter .calPager a").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "Calendar List - Month Navigation", "Click", $j(this).text()), t.preventDefault() }) });
295
296	//Calendar Search
297	$j(".calendar .eventFilter .filterBy input[type='submit']").each(function () {
298		$j(this).click(function (t) {
299			trackEventNoCallback("Calendar List - Search", "Click", $j("#calendar .eventFilter .filterBox #bodycontent_0_ddlDepartment").find("option:selected").text() + " / " + $j("#calendar .eventFilter .filterBox #bodycontent_0_ddlTopic").find("option:selected").text() + " / " + $j("#calendar .eventFilter .filterBox #bodycontent_0_ddlNeighborhood").find("option:selected").text() + " / " + $j("#calendar .eventFilter .filterBox #keyword").val());
300		})
301	});
302
303	//Calendar List - Subscribe to Calendar Feed
304	$j(".calendar #subscribeRss input[type='submit']").each(function () {
305		$j(this).click(function (t) {
306			trackEventNoCallback("Calendar List - Subscribe RSS", "Click", $j(".mainPageHeader > h1").text());
307		})
308	});
309
310	//Calendar Detail - Add to Calendar
311	$j(".detailPage #addToCalendar input[type='submit']").each(function () {
312		$j(this).click(function (t) {
313			trackEventNoCallback("Calendar Detail - Add to Calendar", "Click", $j(".mainPageHeader > h1").text());
314		})
315	});
316
317	//// Track document link clicks (new window)
318	//$j("a[href$='.pdf'][target='_blank'], a[href$='.doc'][target='_blank'], a[href$='.docx'][target='_blank'], a[href$='.dotm'][target='_blank'], a[href$='.xlsx'][target='_blank'], a[href$='.xls'][target='_blank']").each(function () {
319	//	$j(this).click(function (t) {
320	//		trackEventNoCallback("Document Links", "Click", $j(this).attr("href")), t.preventDefault()
321	//	})
322	//});
323
324	//// Track document link clicks (same window)
325	//$j("a[href$='.pdf'], a[href$='.doc'], a[href$='.docx'], a[href$='.dotm'], a[href$='.xlsx'], a[href$='.xls']").not("[target]").each(function () {
326	//	$j(this).click(function (t) {
327	//		trackEvent($j(this).attr("href"), "Document Links", "Click", $j(this).attr("href")), t.preventDefault()
328	//	})
329	//});
330
331	//Publications Search
332	$j(".documentsFilter input[type='submit']").each(function () {
333		$j(this).click(function (t) {
334			trackEventNoCallback("Publications List - Search", "Click", $j(".documentsFilter select[id*='ddlDocumentType']").find("option:selected").text() + " / " + $j(".documentsFilter select[id*='ddlDocumentCategory']").find("option:selected").text() + " / " + $j(".documentsFilter #Keyword").val());
335		})
336	});
337
338	//Project Showcase
339	$j("#projectShowcase #showcaseList .showcase a").each(function () {
340		$j(this).click(function (t) {
341			trackEventNoCallback("Project Showcase", "Click", $j(this).find("h3").text());
342		})
343	});
344
345	//Home Resources
346	$j(".resources .resourceList a").each(function () {
347		$j(this).click(function (t) {
348			trackEventNoCallback("Resources", "Click", $j(this).find(".title").text());
349		})
350    });
351
352	//Equity and Inclusion Billboard
353	$j(".equityInclusionDash a").each(function () { $j(this).click(function (t) { trackEvent($j(this).attr("href"), "City Homepage - Billboard", "Click", "Interactive Equity and Inclusion Dashboard"), t.preventDefault() }) });
354
355	//JIRA Feedback Button
356	$j("#btnFeedback").each(function () {
357		$j(this).click(function (t) {
358			trackEventNoCallback("JIRA Feeback Button", "Click", "Open");
359		})
360	});
361
362	//JIRA Feedback Button Close Dialog
363	$j(".dialog-button-panel .cancel").each(function () {
364		$j(this).click(function (t) {
365			trackEventNoCallback("JIRA Feeback Button", "Click", "Close");
366		})
367	});
368
369	//Property Database Actions
370	//Basic Search
371	$j("#PropertyDBSearch #BasicSearchPanel INPUT[type = 'submit']").each(function () {
372		$j(this).click(function (t) {
373			trackEventNoCallback("Property Database", "Click", "Basic Search");
374		})
375	});
376
377	//Advanced Search
378	$j("#PropertyDBSearch #AdvancedSearchPanel INPUT[type = 'submit']").each(function () {
379		$j(this).click(function (t) {
380			trackEventNoCallback("Property Database", "Click", "Advanced Search");
381		})
382	});
383
384	// Moving Van Permit Application link click on I Want To page
385	if (top.location.pathname == "/iwantto/applyforamovingvanpermit") {
386		$j("#formsAndDocuments ul li a").first().click(function () {
387			trackEventNoCallback("Moving Van Permit Application", "Click", "");
388		});
389	}
390
391	// Subscribe Page - Subscribe Button Click
392	$j("section.mailSubscriptionList .btn").each(function () {
393		$j(this).click(function (t) {
394			trackEventNoCallback("Subscription Page - Subscribe Button", "Click", $j(this).siblings("h3").text());
395		});
396	});
397
398	// Subscribe Page - Filter/Reset Button Click
399	$j("section.mailSubscriptionFilter .btnContainer a").each(function () {
400		$j(this).click(function (t) {
401			trackEventNoCallback("Subscription Page - Filter Buttons", "Click", $j(this).text());
402		});
403	});
404
405	// Subscribe Page - Filter Checkbox Select
406	$j("section.mailSubscriptionFilter label input[type='checkbox']").each(function () {
407		$j(this).change(function () {
408			if (this.checked) {
409				trackEventNoCallback("Subscription Page - Filter Condition", "Select", $j(this).parent().parent().siblings("h3").text() + " /" + $j(this).parent().text());
410			}
411		});
412	});
413
414	// Report an Issue Button on CC Page
415	$j(".cc-report a").click(function (t) {
416		trackEventNoCallback("Commonwealth Connect Report Button", "Click", window.location.href);
417	});
418
419/*** Snow Center Tracking ***/
420	//Navigation
421	$j(".snowcenter2018 .navigation .primaryNav a").click(function (t) {
422		trackEventNoCallback("Snow Center - Top Navigation Links", "Click", $j(this).text());
423	});
424
425	//Mobile Navigation
426	$j(".snowcenter2018 .navigation .ddlPrimaryNav").change(function (t) {
427		trackEventNoCallback("Snow Center - Top Navigation Links Mobile", "Click", $j(this).find("option:selected").text());
428	});
429
430	//Current Status cards
431	$j(".currentStatus .cardContainer .card").click(function (t) {
432		trackEventNoCallback("Snow Center - Current Status Card", "Click", $j(this).find(".title").text());
433	});
434
435	//Transportation cards
436	$j(".snowcenter2018 #content .transportation .card").click(function (t) {
437		trackEventNoCallback("Snow Center - Transportation Card", "Click", $j(this).find(".title").text());
438	});
439
440	//Transportation cards - More Details Link
441	$j(".snowcenter2018 #content .transportation .card a").click(function (t) {
442		t.stopPropagation();
443		trackEventNoCallback("Snow Center - " + $j(this).parent().siblings(".title").text() + " Transportation Card Link", "Click", $j(this).text().trim());
444	});
445
446	//Parking Search
447	$j(".snowcenter2018 .parking .search .button").click(function (t) {
448		trackEventNoCallback("Snow Center - Parking Search", "Click", $j(".snowcenter2018 .parking .search input").val());
449	});
450
451	$j(".snowcenter2018 .parking .search input").keypress(function (t) {
452		if (t.keyCode == 13) {
453			trackEventNoCallback("Snow Center - Parking Search", "Keypress", $j(".snowcenter2018 .parking .search input").val());
454		}
455	});
456
457	//Report Links
458	$j(".snowcenter2018 #content .streetsSidewalks .reportLinkContainer .reportLink").click(function (t) {
459		trackEventNoCallback("Snow Center - Report Buttons", "Click", $j(this).text());
460	});
461
462	//Resource Tabs
463	$j(".snowcenter2018 #content .resourcesTabs > ul > li a").click(function (t) {
464		trackEventNoCallback("Snow Center - Resource Tabs", "Click", $j(this).text());
465	});
466
467	//All links
468	$j(".snowcenter2018 #content a").click(function (t) {
469		trackEventNoCallback("Snow Center - Links", "Click", $j(this).text());
470	});
471/*** Snow Center Tracking ***/
472
473    // Featured hero link click
474    $j(".featuredHeroesList a").each(function () {
475        $j(this).click(function (t) {
476            trackEventNoCallback("Featured Heroes", "Click", $j(this).find("div.text h2").text());
477        });
478	});
479
480/*** 19th Amendment Page ***/
481	$j(".nineteenthAmendmentPage .featuredEvent a").each(function () {
482		$j(this).click(function (t) {
483			trackEventNoCallback("19th Amendment Page - Resource Button", "Click", $j(this).text());
484		});
485	});
486
487	$j(".nineteenthAmendmentPage .rightRail .expandable a").each(function () {
488		$j(this).click(function (t) {
489			if($j(this).parent().attr("class") == "active")
490				trackEventNoCallback("19th Amendment Page - Contact", "Click", $j(this).text());
491		});
492	});
493
494	$j(".nineteenthAmendmentPage .bookList .book a").each(function () {
495		$j(this).click(function (t) {
496			trackEventNoCallback("19th Amendment Page - Books", "Click", $j(this).attr("href"));
497		});
498	});
499/*** 19th Amendment Page ***/
500
501	/* Multi-Language Bar */
502	$j("#multilingualHelpBar a").each(function () {
503		$j(this).click(function (t) {
504			trackEventNoCallback("Multi-Language Bar", "Click", $j(this).attr("data-lang"));
505		});
506	});
507
508	//Multi-Lingual Help Links
509	$j(".multiLingualHelpLinks a").each(function () {
510		$j(this).click(function (t) {
511			//trackEventNoCallback("Multi-Language Help Links", "Click", $j(this).attr("data-docname"));
512			trackEvent($j(this).attr("href"), "Multi-Language Help Links", "Click", $j(this).closest("section").find("h2").attr("title") + " - " + $j(this).attr("data-docname")), t.preventDefault();
513		});
514    });
515/* Multi-Language Bar */
516
517    // View Data Center (COVID-19) button
518    $j(".dataCenterButton").each(function () {
519        $j(this).click(function (t) {
520            trackEventNoCallback("COVID-19 Case Count Button", "Click", $j(this).attr("href"));
521        });
522	});
523
524	// Track the page URL whenever a user executes a print action
525	window.onafterprint = (event) => {
526		trackEventNoCallback("Page Printing", "Print", window.location.href);
527    };
528
529    // USWDS Banner clicks
530    $j(".usa-banner button").click(function (t) {
531        if ($j(this).attr("aria-expanded") == "false")
532            trackEventNoCallback("USWDS Security Banner", "Click", "Expand");
533        else
534            trackEventNoCallback("USWDS Security Banner", "Click", "Collapse");
535    });
536});

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.