PageSourceSearch

https://www.paycom.com/js/data-layer.js?v=1790094117

js paycom.com collected 2026-09-24 09:01:47 UTC 26,459 bytes, 1,030 lines download raw bytes

1var pcDatalayer = {};
2
3pcDatalayer.success = false;
4pcDatalayer.dataCollection = {};
5
6pcDatalayer.cookieNames = {
7  "sessionId": "PHPSESSID",
8  "userId": "_mkto_trk"
9};
10
11// "data-social"
12pcDatalayer.validSocialAttributes = [
13  "Twitter",
14  "TwitterCareers",
15  "Facebook",
16  "FacebookCareers",
17  "LinkedIn",
18  "Instagram",
19  "InstagramCareers",
20  "YouTube",
21  "Email"
22]
23
24pcDatalayer.atsUrl = 'https://pc00.paycomonline.com/v4/ats/';
25
26pcDatalayer.isVisible = function (el) {
27  return !!( el.offsetWidth || el.offsetHeight || el.getClientRects().length );
28}
29
30pcDatalayer.isInViewport = function(el) {
31  var rect = el.getBoundingClientRect();
32
33  if(!pcDatalayer.isVisible(el)){
34    return false;
35  }
36
37  return (
38    rect.bottom >= 0 &&
39    rect.right >= 0 &&
40    rect.top <= (window.innerHeight || document.documentElement.clientHeight) &&
41    rect.left <= (window.innerWidth || document.documentElement.clientWidth)
42  );
43}
44
45pcDatalayer.getRawCookie = function (cookieName) {
46  var cookie;
47  var cookieArray = document.cookie.split(";");
48  var i;
49  cookieName = cookieName + "=";
50
51  for (i = 0; i < cookieArray.length; i++) {
52    cookie = cookieArray[i];
53    cookie = cookie.trim();
54
55    if (cookie.indexOf(cookieName) === 0) {
56      cookie = cookie.substring(cookieName.length, cookie.length);
57      return decodeURIComponent(cookie);
58    }
59  }
60
61  return null;
62};
63
64pcDatalayer.mergeData = function (data, additionalData){
65  var dataKey;
66  if(additionalData == null){
67    return data;
68  }
69
70  for (dataKey in additionalData) {
71    // eslint-disable-next-line no-prototype-builtins
72    if (additionalData.hasOwnProperty(dataKey)) {
73      data[dataKey] = additionalData[dataKey];
74    }
75  }
76
77  return data;
78}
79
80pcDatalayer.getCapiData = function ( additionalData ) {
81  var capiData = {};
82  capiData = this.mergeData( capiData, additionalData.capiData );
83  delete additionalData.capiData;
84
85  return capiData;
86}
87
88pcDatalayer.getEventCategory = function () {
89  if(jQuery.isEmptyObject(pcDatalayer.dataCollection)){
90    return document.title;
91  }
92  else{
93    return ("pageCategory" in pcDatalayer.dataCollection) ? pcDatalayer.dataCollection.pageCategory.toLowerCase()+' form' : 'Form';
94  }
95}
96
97/**
98 * Push an object of data to the datalayer.
99 * @param data - an object of key value pairs
100 */
101pcDatalayer.push = function(data) {
102  var finalData;
103  var dataKey;
104
105  window.dataLayer = window.dataLayer || [];
106  finalData = pcDatalayer.getGlobalInfo();
107
108  // First, merge in dataLayer php variables if they exist on page.
109  if(pcDatalayer.dataCollection != null){
110    for (dataKey in pcDatalayer.dataCollection) {
111      finalData[dataKey] = pcDatalayer.dataCollection[dataKey];
112    }
113  }
114
115  // Second, merge in data specific to this event.
116  if(data != null){
117    for (dataKey in data) {
118      finalData[dataKey] = data[dataKey];
119    }
120  }
121
122  // eslint-disable-next-line no-undef
123  dataLayer.push(finalData);
124}
125
126pcDatalayer.getSessionId = function () {
127  var sessionId = pcDatalayer.getRawCookie(pcDatalayer.cookieNames.sessionId);
128
129  if(sessionId != null){
130    return sessionId;
131  }
132
133  return null;
134}
135
136pcDatalayer.getUserId = function () {
137  var rawUserId = pcDatalayer.getRawCookie(pcDatalayer.cookieNames.userId);
138  var lookup = "paycom.com-";
139  var userId;
140
141  if(rawUserId == null){
142    return null;
143  }
144
145  userId = rawUserId.substr(rawUserId.lastIndexOf(lookup) + lookup.length);
146
147  if(userId != null){
148    return userId;
149  }
150
151  return null;
152};
153
154pcDatalayer.getGlobalInfo = function(){
155  var sessionID = pcDatalayer.getSessionId();
156  var userID = pcDatalayer.getUserId();
157  return {
158    "sessionID": sessionID,
159    "userID": userID,
160    "fullURL": window.location.href,
161    "pageTitle": document.title
162  };
163}
164
165pcDatalayer.pushUserInfoToDataLayer = function() {
166  var userID = pcDatalayer.getUserId();
167
168  if(userID != null){
169    pcDatalayer.push();
170    return true;
171  }
172
173  return false;
174}
175
176pcDatalayer.trackAppDownloadLinks = function() {
177  $("#iosStoreLink, #googlePlayLink").on("click", function(e){
178    var targetId = e.currentTarget.id;
179    var data = {
180      "eventCategory": document.title,
181      "eventAction": "downloadMobileApp",
182      "eventLabel": "Apple",
183      "event": "mobileAppDownload"
184    };
185
186    if(targetId === "googlePlayLink"){
187      data.eventLabel = "Android";
188    }
189
190    pcDatalayer.push(data);
191  });
192}
193
194pcDatalayer.getFormSubmitSuccessEventTime = function () {
195  var eventTime = '';
196
197  dataLayer.forEach( function ( object ) {
198    if ( object['eventAction'] !== 'formSubmitSuccess' ) {
199
200      return;
201    }
202
203    eventTime = object['eventTime'];
204    return object['eventTime'];
205  } )
206
207  return eventTime;
208}
209
210pcDatalayer.pushRequestMeetingEvent = function () {
211  pcDatalayer.push({
212    "eventCategory": document.title,
213    "eventAction": "requestMeetingClick",
214    "event": "requestMeeting"
215  });
216}
217
218pcDatalayer.trackVideoClicks = function() {
219  $(".vidyardContainer").on("click", function(){
220    var data = {
221      "eventCategory": document.title,
222      "eventAction": "videoView",
223      "eventLabel": $(this).find("a").attr("data-uuid"),
224      "event": "videoEvent"
225    };
226    pcDatalayer.push(data);
227  });
228}
229
230pcDatalayer.pushVideoViewEvent = function () {
231  window.onVidyardAPI = function (vidyardEmbed) {
232    vidyardEmbed.api.progressEvents(function (result) {
233      pcDatalayer.push({
234        "eventCategory": document.title,
235        "eventAction": "videoView",
236        "eventLabel": result.player.uuid,
237        "event": "videoEvent"
238      });
239    }, [1]);
240  }
241}
242
243pcDatalayer.adobeTarget = function (additionalData) {
244  var data = {
245    "event": "adobeTarget",
246  }
247
248  data = pcDatalayer.mergeData(data, additionalData);
249  pcDatalayer.push(data);
250}
251
252pcDatalayer.subscribeFormSubmission = function (additionalData) {
253  var data = {
254    "event": "emailSubscribe",
255    "eventCategory": this.getEventCategory(),
256    "eventAction": "emailSubscribe",
257    "eventLabel": ""
258  }
259
260  data = pcDatalayer.mergeData(data, additionalData)
261  pcDatalayer.push(data);
262}
263
264pcDatalayer.demoFormImpression = function (additionalData) {
265  var data = {
266    "event": "formEvent",
267    "eventCategory": this.getEventCategory(),
268    "eventAction": "formImpression",
269    "formType": "demo"
270  }
271
272  data = pcDatalayer.mergeData(data, additionalData);
273  pcDatalayer.push(data);
274}
275
276pcDatalayer.demoFormFieldInteraction = function (additionalData) {
277  var data = {
278    "event": "formEvent",
279    "eventCategory": this.getEventCategory(),
280    "eventAction": "formFieldInteraction",
281    "formType": "demo",
282    "eventLabel": ""
283  }
284
285  data = pcDatalayer.mergeData(data, additionalData);
286  pcDatalayer.push(data)
287}
288
289pcDatalayer.demoFormSuccessfulSubmit = function (additionalData) {
290  var capiData = this.getCapiData(additionalData);
291
292  this.pushFormSuccessfulSubmit( 'demo', additionalData );
293
294  if ( this.isClientInTheUsa() ) {
295
296    return;
297  }
298
299  if ( !this.isSocialMediaCookiesApproved() ) {
300
301    return;
302  }
303
304  this.ajaxToFacebook( 'sendFormConversion', {
305    'event_name': 'Demo Form Conversion',
306    'event_id' : this.getFormSubmitSuccessEventTime() + "_DemoConversion",
307    'form_data' : capiData
308  } );
309}
310
311pcDatalayer.demoFormFailure = function (additionalData) {
312  var data = {
313    "event": "formEvent",
314    "eventAction": "formSubmitError",
315    "eventCategory": this.getEventCategory(),
316    "formType": "demo",
317    "errorMessage": "",
318    "formSubmitsWithError": 1
319  }
320
321  data = pcDatalayer.mergeData(data, additionalData);
322  pcDatalayer.push(data)
323}
324
325pcDatalayer.multiStepDemoFieldInteraction = function (additionalData) {
326  var data = {
327    "event": "form_interaction",
328  }
329  data = pcDatalayer.mergeData(data, additionalData);
330  pcDatalayer.push(data)
331}
332
333pcDatalayer.multiStepDemoStepStart = function (additionalData) {
334  var data = {
335    "event": "step_start",
336  }
337  data = pcDatalayer.mergeData(data, additionalData);
338  pcDatalayer.push(data)
339}
340
341pcDatalayer.multiStepDemoStepCompletion = function (additionalData) {
342  var data = {
343    "event": "step_completion",
344  }
345  data = pcDatalayer.mergeData(data, additionalData);
346  pcDatalayer.push(data)
347}
348
349pcDatalayer.contentFormImpression = function (additionalData) {
350  var data = {
351    "event": "formEvent",
352    "eventCategory": this.getEventCategory(),
353    "eventAction": "formImpression",
354    "formType": "content"
355  }
356
357  data = pcDatalayer.mergeData(data, additionalData);
358  pcDatalayer.push(data);
359}
360
361pcDatalayer.contentFormFieldInteraction = function (additionalData) {
362  var data = {
363    "event": "formEvent",
364    "eventCategory": this.getEventCategory(),
365    "eventAction": "formFieldInteraction",
366    "formType": "content",
367    "eventLabel": ""
368  }
369
370  data = pcDatalayer.mergeData(data, additionalData);
371  pcDatalayer.push(data)
372}
373
374pcDatalayer.contentFormSuccessfulSubmit = function (additionalData) {
375  var capiData = this.getCapiData(additionalData);
376
377  this.pushFormSuccessfulSubmit( 'content', additionalData );
378
379  if ( this.isClientInTheUsa() ) {
380
381    return;
382  }
383
384  if ( !this.isSocialMediaCookiesApproved() ) {
385
386    return;
387  }
388
389  this.ajaxToFacebook( 'sendFormConversion', {
390    'event_name': 'Content Form Conversion',
391    'event_id' : this.getFormSubmitSuccessEventTime() + "_ContentConversion",
392    'form_data' : capiData
393  } );
394}
395
396pcDatalayer.contentFormFailure = function (additionalData) {
397  var data = {
398    "event": "formEvent",
399    "eventAction": "formSubmitError",
400    "eventCategory": this.getEventCategory(),
401    "formType": "content",
402    "errorMessage": "",
403    "formSubmitsWithError": 1
404  }
405
406  data = pcDatalayer.mergeData(data, additionalData);
407  pcDatalayer.push(data)
408}
409
410pcDatalayer.calculatorFormFieldInteraction = function (additionalData) {
411  var data = {
412    "event": "calculator_form_interaction",
413    "eventCategory": "Calculator",
414    "eventAction": "formFieldInteraction",
415    "formType": "calculator",
416    "pageCategory" : "Calculator",
417  }
418  data = pcDatalayer.mergeData(data, additionalData);
419  pcDatalayer.push(data)
420}
421
422pcDatalayer.calculatorFormSuccessfulSubmit = function (additionalData) {
423  var data = {
424    "event": "calculator_submit_success",
425    "eventCategory": "Calculator",
426    "eventAction": "formFieldInteraction",
427    "formType": "calculator",
428    "pageCategory" : "Calculator",
429  }
430  data = pcDatalayer.mergeData(data, additionalData);
431  pcDatalayer.push(data)
432}
433
434pcDatalayer.webinarFormImpression = function (additionalData) {
435  var data = {
436    "event": "formEvent",
437    "eventCategory": this.getEventCategory(),
438    "eventAction": "formImpression",
439    "formType": "webinar"
440  }
441
442  data = pcDatalayer.mergeData(data, additionalData);
443  pcDatalayer.push(data);
444}
445
446pcDatalayer.webinarFormFieldInteraction = function (additionalData) {
447  var data = {
448    "event": "formEvent",
449    "eventCategory": this.getEventCategory(),
450    "eventAction": "formFieldInteraction",
451    "formType": "webinar",
452    "eventLabel": ""
453  }
454
455  data = pcDatalayer.mergeData(data, additionalData);
456  pcDatalayer.push(data)
457}
458
459pcDatalayer.webinarFormSuccessfulSubmit = function (additionalData) {
460  var capiData = this.getCapiData(additionalData);
461
462  this.pushFormSuccessfulSubmit( 'webinar', additionalData );
463
464  if ( this.isClientInTheUsa() ) {
465
466    return;
467  }
468
469  if( !this.isSocialMediaCookiesApproved() ){
470
471    return;
472  }
473
474  this.ajaxToFacebook( 'sendFormConversion', {
475    'event_name': 'Webinar Form Conversion',
476    'event_id' : this.getFormSubmitSuccessEventTime() + "_WebinarConversion",
477    'form_data' : capiData
478  } );
479}
480
481pcDatalayer.webinarFormFailure = function (additionalData) {
482  var data = {
483    "event": "formEvent",
484    "eventAction": "formSubmitError",
485    "eventCategory": this.getEventCategory(),
486    "formType": "webinar",
487    "errorMessage": "",
488    "formSubmitsWithError": 1
489  }
490
491  data = pcDatalayer.mergeData(data, additionalData);
492  pcDatalayer.push(data)
493}
494
495pcDatalayer.contactFormImpression = function (additionalData) {
496  var data = {
497    "event": "formEvent",
498    "eventCategory": this.getEventCategory(),
499    "eventAction": "formImpression",
500    "formType": "contact"
501  }
502
503  data = pcDatalayer.mergeData(data, additionalData);
504  pcDatalayer.push(data);
505}
506
507pcDatalayer.contactFormFieldInteraction = function (additionalData) {
508  var data = {
509    "event": "formEvent",
510    "eventCategory": this.getEventCategory(),
511    "eventAction": "formFieldInteraction",
512    "formType": "contact",
513    "eventLabel": ""
514  }
515
516  data = pcDatalayer.mergeData(data, additionalData);
517  pcDatalayer.push(data)
518}
519
520pcDatalayer.contactFormSuccessfulSubmit = function (additionalData) {
521  var data = {
522    "event": "formEvent",
523    "eventCategory": this.getEventCategory(),
524    "eventAction": "formSubmitSuccess",
525    "formType": "contact",
526    "formSubmits": 1
527  };
528
529  data = pcDatalayer.mergeData(data, additionalData);
530  pcDatalayer.push(data);
531}
532
533pcDatalayer.contactFormFailure = function (additionalData) {
534  var data = {
535    "event": "formEvent",
536    "eventAction": "formSubmitError",
537    "eventCategory": this.getEventCategory(),
538    "formType": "contact",
539    "errorMessage": "",
540    "formSubmitsWithError": 1
541  }
542
543  data = pcDatalayer.mergeData(data, additionalData);
544  pcDatalayer.push(data)
545}
546
547pcDatalayer.quizFormImpression = function(additionalData) {
548  var data = {
549    "event": "formEvent",
550    "eventCategory": this.getEventCategory(),
551    "eventAction": "formImpression",
552    "formType": "content"
553  }
554
555  data = pcDatalayer.mergeData(data, additionalData);
556  pcDatalayer.push(data);
557}
558
559pcDatalayer.quizFormInteraction = function(additionalData) {
560  var data = {
561    "event": "formEvent",
562    "eventCategory": this.getEventCategory(),
563    "eventAction": "formFieldInteraction",
564    "formType": "content"
565  }
566
567  data = pcDatalayer.mergeData(data, additionalData);
568  pcDatalayer.push(data);
569}
570
571pcDatalayer.quizFormSuccess = function(additionalData) {
572  var data = {
573    "event": "formEvent",
574    "eventCategory": this.getEventCategory(),
575    "eventAction": "formSubmitSuccess",
576    "formType": "content",
577    "formSubmits": 1
578  };
579
580  data = pcDatalayer.mergeData(data, additionalData);
581  pcDatalayer.push(data);
582}
583
584pcDatalayer.quizFormError = function(additionalData) {
585  var data = {
586    "event": "formEvent",
587    "eventAction": "formSubmitError",
588    "eventCategory": this.getEventCategory(),
589    "formType": "content",
590    "errorMessage": "",
591    "formSubmitsWithError": 1
592  }
593
594  data = pcDatalayer.mergeData(data, additionalData);
595  pcDatalayer.push(data)
596}
597
598pcDatalayer.referralFormImpression = function ( additionalData ) {
599  this.pushFormImpression( 'referral', additionalData );
600}
601
602pcDatalayer.referralFormFieldInteraction  = function ( additionalData ) {
603  this.pushFormFieldInteraction( 'referral', additionalData );
604}
605
606pcDatalayer.referralFormSuccessfulSubmit = function ( additionalData ) {
607  this.pushFormSuccessfulSubmit( 'referral', additionalData );
608}
609
610pcDatalayer.referralFormFailure = function ( additionalData ) {
611  this.pushFormFailure( 'referral', additionalData );
612}
613
614pcDatalayer.engagementFormImpression = function ( additionalData ) {
615  this.pushFormImpression( 'engagement', additionalData );
616}
617
618pcDatalayer.engagementFormFieldInteraction  = function ( additionalData ) {
619  this.pushFormFieldInteraction( 'engagement', additionalData );
620}
621
622pcDatalayer.engagementFormSuccessfulSubmit = function ( additionalData ) {
623  this.pushFormSuccessfulSubmit( 'engagement', additionalData );
624}
625
626pcDatalayer.engagementFormFailure = function ( additionalData ) {
627  this.pushFormFailure( 'engagement', additionalData );
628}
629
630pcDatalayer.crrEmailFormSuccessfulSubmit = function ( additionalData ) {
631  this.pushFormSuccessfulSubmit( 'email', additionalData );
632}
633
634pcDatalayer.crrEmailFormFailure = function ( additionalData ) {
635  this.pushFormFailure( 'email', additionalData );
636}
637
638pcDatalayer.pushFormImpression = function ( formType, additionalData ) {
639  var data = {
640    "event"        : "formEvent",
641    "eventCategory": this.getEventCategory(),
642    "eventAction"  : "formImpression",
643    "formType"     : formType
644  }
645
646  data = this.mergeData( data, additionalData );
647  this.push( data );
648}
649
650pcDatalayer.pushFormFieldInteraction = function ( formType, additionalData ) {
651  var data = {
652    "event"        : "formEvent",
653    "eventCategory": this.getEventCategory(),
654    "eventAction"  : "formFieldInteraction",
655    "formType"     : formType
656  }
657
658  data = this.mergeData( data, additionalData );
659  this.push( data );
660}
661
662pcDatalayer.pushFormSuccessfulSubmit = function ( formType, additionalData ) {
663  var data = {
664    "event"        : "formEvent",
665    "eventCategory": this.getEventCategory(),
666    "eventAction"  : "formSubmitSuccess",
667    "formType"     : formType,
668    "formSubmits"  : 1,
669    'eventTime'    : Date.now(),
670  };
671
672  data = this.mergeData( data, additionalData );
673  this.push( data );
674}
675
676pcDatalayer.pushFormFailure = function ( formType, additionalData ) {
677  var data = {
678    "event"               : "formEvent",
679    "eventAction"         : "formSubmitError",
680    "eventCategory"       : this.getEventCategory(),
681    "formType"            : formType,
682    "errorMessage"        : "",
683    "formSubmitsWithError": 1
684  }
685
686  data = this.mergeData( data, additionalData );
687  this.push( data )
688}
689
690pcDatalayer.podcastPlayButton = function (additionalData) {
691  var data = {
692    "event": "podcastEvent",
693    "eventAction": "podcastPlay",
694    "eventCategory": document.title,
695    "eventLabel": ""
696  }
697
698  data = pcDatalayer.mergeData(data, additionalData);
699  pcDatalayer.push(data)
700}
701
702pcDatalayer.podcastPauseButton = function (additionalData) {
703  var data = {
704    "event": "podcastEvent",
705    "eventAction": "podcastStop",
706    "eventCategory": document.title,
707    "eventLabel": ""
708  }
709
710  data = pcDatalayer.mergeData(data, additionalData);
711  pcDatalayer.push(data)
712}
713
714pcDatalayer.podcastPlayProgress = function (additionalData) {
715  var data = {
716    "event": "podcastEvent",
717    "eventAction": "podcastPlayProgress",
718    "eventCategory": document.title,
719    "eventLabel": ""
720  }
721
722  data = pcDatalayer.mergeData(data, additionalData);
723  pcDatalayer.push(data)
724}
725
726pcDatalayer.podcastFollowClick = function (additionalData) {
727  var data = {
728    "event": "clickEvent",
729    "eventAction": "podcastFollowClick",
730    "eventCategory": document.title,
731    "eventLabel": ""
732  }
733
734  data = pcDatalayer.mergeData(data, additionalData);
735  pcDatalayer.push(data)
736}
737
738pcDatalayer.podcastImpression = function(additionalData) {
739  var data = {
740    "event": "podcastEvent",
741    "eventAction": "podcastView",
742    "eventCategory": document.title,
743    "eventLabel": ""
744  }
745
746  data = pcDatalayer.mergeData(data, additionalData);
747  pcDatalayer.push(data)
748}
749
750pcDatalayer.modalImpression = function (additionalData) {
751  var data = {
752    "event": "modalEvent",
753    "eventCategory": document.title,
754    "eventAction": "modalImpression"
755  }
756
757  data = pcDatalayer.mergeData(data, additionalData);
758  pcDatalayer.push(data);
759}
760
761pcDatalayer.modalInteraction = function (additionalData) {
762  var data = {
763    "event": "modalEvent",
764    "eventCategory": document.title,
765    "eventAction": "modalInteraction",
766    "eventLabel": ""
767  }
768
769  data = pcDatalayer.mergeData(data, additionalData);
770  pcDatalayer.push(data);
771}
772
773pcDatalayer.trackSocialIconClicks = function () {
774  $( "a[data-social]" ).on( "click", function () {
775    var socialIconLabel = $( this ).attr( "data-social" );
776    if ( pcDatalayer.validSocialAttributes.includes( socialIconLabel ) ) {
777      pcDatalayer.push( {
778        "eventCategory": document.title,
779        "eventAction"  : "socialMediaClick",
780        "eventLabel"   : socialIconLabel,
781        "event"        : "clickEvent"
782      } );
783    }
784  } );
785}
786
787pcDatalayer.socialShareButtonClick = function () {
788  $("a[social-share]").on("click", function () {
789    var socialPlatform = $( this ).attr( "social-share" );
790    if (pcDatalayer.validSocialAttributes.includes(socialPlatform)){
791      pcDatalayer.push( {
792        "event" : "social_share",
793        "content_type" : pcDatalayer.dataCollection['contentType'],
794        "social_platform" : socialPlatform
795      });
796    }
797  });
798}
799
800pcDatalayer.zeroSeach = function () {
801  var $hubWrapper = $("#hub-wrapper");
802    if($hubWrapper.find('.no-results').length !== 0){
803      const queryString = window.location.search;
804      const searchTerm = new URLSearchParams(queryString).get('search');
805      pcDatalayer.push( {
806        "event" : "zero_search_result",
807        "search_term" : searchTerm,
808      });
809    }
810}
811
812pcDatalayer.contentCheckboxFilter = function () {
813  $("#taxonomy-filter-form").on("submit", function () {
814    var filterTypes = [];
815    var filterValues = [];
816    $("#taxonomy-filter-form input:checked").each(function () {
817      var value = $.trim($(this).siblings('label').text());
818      if(!filterValues.includes(value)){
819        filterValues.push(value)
820      }
821      var type = $.trim($(this).parent().parent().siblings('.filter-container-title').text());
822      if(!filterTypes.includes(type)){
823        filterTypes.push(type);
824      }
825    });
826    pcDatalayer.push( {
827      "event" : "content_checkbox_filter",
828      "filter_types" : filterTypes,
829      "filter_values" : filterValues,
830    });
831  });
832}
833
834pcDatalayer.navigationClick = function () {
835  $("#gb-header #desktop-navigation a").on("click", function () {
836    var clickedUrl = $.trim($(this).attr('href'));
837    var clickedText = $.trim($(this).text());
838    if(clickedUrl === '/demo/') return;
839    pcDatalayer.push( {
840      "event" : "navigation_click",
841      "nav_type" : "desktop header",
842      "click_url" : clickedUrl,
843      "click_text" : clickedText
844    });
845  });
846  $("#gb-header #mobile-navigation a").on("click", function () {
847    var clickedUrl = $.trim($(this).attr('href'));
848    var clickedText = $.trim($(this).text());
849    if(clickedUrl === '/demo/') return;
850    pcDatalayer.push( {
851      "event" : "navigation_click",
852      "nav_type" : "mobile header",
853      "click_url" : clickedUrl,
854      "click_text" : clickedText
855    });
856  });
857  $("#gb-header .utility-nav a").on("click", function () {
858    var clickedUrl = $.trim($(this).attr('href'));
859    var clickedText = $.trim($(this).text());
860    pcDatalayer.push( {
861      "event" : "navigation_click",
862      "nav_type" : "utility header",
863      "click_url" : clickedUrl,
864      "click_text" : clickedText
865    });
866  });
867  $("#gb-footer #footer-top-nav a:not(.fa-brands, #iosStoreLink, #googlePlayLink)").on("click", function () {
868    var clickedUrl = $.trim($(this).attr('href'));
869    var clickedText = $.trim($(this).text());
870    pcDatalayer.push( {
871      "event" : "navigation_click",
872      "nav_type" : "footer",
873      "click_url" : clickedUrl,
874      "click_text" : clickedText
875    });
876  });
877  $("#gb-footer #utility-nav a").on("click", function () {
878    var clickedUrl = $.trim($(this).attr('href'));
879    var clickedText = $.trim($(this).text());
880    pcDatalayer.push( {
881      "event" : "navigation_click",
882      "nav_type" : "utility footer",
883      "click_url" : clickedUrl,
884      "click_text" : clickedText
885    });
886  });
887}
888
889pcDatalayer.ctaLinkClick = function () {
890  $("#main-content a, .main-content a").on("click", function () {
891    var clickedUrl = $(this).attr('href');
892    var clickedText = $.trim($(this).text());
893    if(clickedUrl === '' || clickedUrl === '#') return;
894    pcDatalayer.push( {
895      "event" : "cta_click",
896      "click_url" : clickedUrl,
897      "click_text" : clickedText
898    });
899  });
900}
901
902pcDatalayer.contentDownloadClick = function() {
903  $("a[data-action='contentDownload']").on("click", function(){
904    var data = {
905      "eventCategory": document.title,
906      "eventAction": $(this).attr("data-action"),
907      "eventLabel": $(this).attr("data-label"),
908      "event": "downloadEvent"
909    };
910    pcDatalayer.push(data);
911  });
912}
913
914pcDatalayer.trackApplyNowClicks = function () {
915  $( "a[href*='" + this.atsUrl + "']" ).on( "click", function () {
916    if($(this).text() == 'Search for jobs'){
917      pcDatalayer.pushApplyNowEvent("searchForJobsClick", "navButton", "searchForJobs");
918    }
919    else if($(this).attr('role') == 'button'){
920      pcDatalayer.pushApplyNowEvent("applyNowClick", "applyNowButton", "applyNow");
921    }
922    else{
923      pcDatalayer.pushApplyNowEvent("applyNowClick", "applyNowLink", "applyNow");
924    }
925  } );
926}
927
928pcDatalayer.pushApplyNowEvent = function (eventAction, eventLabel, event) {
929  this.push( {
930    "eventCategory": document.title,
931    "eventAction"  : eventAction,
932    "eventLabel"   : eventLabel,
933    "event"        : event
934  } );
935}
936
937pcDatalayer.isClientInTheUsa = function () {
938
939  return this.getRawCookie( 'pcIsGeoFenced' ) !== 'false';
940}
941
942pcDatalayer.isSocialMediaCookiesApproved = function () {
943  var oneTrustDataLayer;
944
945  $.each( dataLayer, function ( index, dataEvent ) {
946    if ( !dataEvent['OnetrustActiveGroups'] ) {
947
948      return;
949    }
950
951    oneTrustDataLayer = dataLayer[index]['OnetrustActiveGroups'];
952  } )
953
954  if ( !oneTrustDataLayer ) {
955
956    return;
957  }
958
959  return oneTrustDataLayer.match( /,8,/ ) !== null;
960}
961
962pcDatalayer.ajaxToFacebook = function ( eventType, payload ) {
963  payload = typeof payload !== 'undefined' ? payload : false;
964
965  var jsonData = {
966    'action': eventType,
967    'data'  : {
968      'event_source_url': window.location.href,
969    }
970  };
971
972  if ( payload ) {
973    jsonData['data'] = this.mergeData( jsonData['data'], payload );
974  }
975
976  var $fbcCookie = this.getRawCookie( '_fbc' );
977  if ( $fbcCookie != null ) {
978    jsonData['data']['fbc'] = $fbcCookie;
979  }
980  var $fbpCookie = this.getRawCookie( '_fbp' );
981  if ( $fbpCookie != null ) {
982    jsonData['data']['fbp'] = $fbpCookie;
983  }
984
985  $.ajax( {
986    type    : 'POST',
987    url     : '/includes/Facebook/',
988    data    : jsonData,
989    dataType: 'json'
990  } );
991}
992
993pcDatalayer.sendPageViewEvent = function () {
994  if ( this.isClientInTheUsa() ) {
995
996    return;
997  }
998
999  if ( !this.isSocialMediaCookiesApproved() ) {
1000
1001    return;
1002  }
1003
1004  this.ajaxToFacebook( 'sendPageView', {
1005    'event_id' : dataLayer[0]['gtm.start'] + "_PageView"
1006  } );
1007}
1008
1009
1010document.addEventListener("DOMContentLoaded", function() {
1011  pcDatalayer.success = pcDatalayer.pushUserInfoToDataLayer();
1012
1013  if(pcDatalayer.success === false){
1014    setTimeout(function () {
1015      pcDatalayer.push();
1016    }, 1500);
1017  }
1018
1019  pcDatalayer.trackAppDownloadLinks();
1020  pcDatalayer.trackVideoClicks();
1021  pcDatalayer.trackSocialIconClicks();
1022  pcDatalayer.pushVideoViewEvent();
1023  pcDatalayer.contentDownloadClick();
1024  pcDatalayer.trackApplyNowClicks();
1025  pcDatalayer.socialShareButtonClick();
1026  pcDatalayer.zeroSeach();
1027  pcDatalayer.contentCheckboxFilter();
1028  pcDatalayer.navigationClick();
1029  pcDatalayer.ctaLinkClick();
1030});

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.