(function(){"use strict";function init(){const culture=document.getElementsByTagName("html")[0].getAttribute("lang");debugLog(dataLayer,"GTM DataLayer present...");addListenerFor(document.getElementById("js-main-job-search"),"click",function(){const searchValues={culture:culture,search:getInputValueById("l-search"),location:getMultipleSelectById("l-location"),country:getMultipleSelectById("l-country"),region:getMultipleSelectById("l-region"),team:getMultipleSelectById("l-team"),type:getMultipleSelectById("l-type"),pattern:getMultipleSelectById("l-pattern"),remote:getCheckboxValueById("l-remote")};dataLayer.push({event:"job_search_filter",search_info:searchValues});debugTableLog(searchValues,"job_search_filter click")});addListenerFor(document.getElementById("js-quick-job-search"),"click",function(){const searchValues={culture:culture,search:getInputValueById("ql-search"),location:getInputValueById("ql-location")};dataLayer.push({event:"job_search",search_info:searchValues});debugTableLog(searchValues,"job_search_click")});const jobBoardPage=document.getElementsByClassName("js-template-jobBoard")[0];if(jobBoardPage){const qs=window.location.search.substring(1);if(qs.length>0){const searchValues=queryStringToObject(qs);searchValues.culture=culture;dataLayer.push({event:"job_search_page",search_info:searchValues});debugTableLog(searchValues,"job_search_page")}}const jobDetailPage=document.getElementById("js-job-detail");jobDetailPage&&(pushJobView("job_view",jobDetailPage,culture),addListenerFor(document.getElementById("js-apply-external"),"click",function(){pushJobView("job_apply",jobDetailPage,culture)}),addListenerFor(document.getElementById("js-application-form"),"submit",function(){pushJobView("job_apply",jobDetailPage,culture)}),addListenersFor(document.querySelectorAll("#js-job-share a"),"click",function(e){const method=e.target.closest("a").getAttribute("aria-label");pushJobShare(method,jobDetailPage,culture)}));addListenerFor(document.getElementById("js-talent-link-nav"),"click",function(){pushDataLayerEvent("nav_click_talent_community",culture)});addListenerFor(document.getElementById("js-saved-jobs-page"),"click",function(){pushDataLayerEvent("nav_click_saved_jobs",culture)});addListenersFor(document.getElementsByClassName("js-view-jobs"),"click",function(){pushDataLayerEvent("view_all_jobs_click",culture)});addListenersFor(document.getElementsByClassName("js-lang-selector"),"click",function(e){const json={event:"nav_click_lang_select",click_info:{culture:e.target.getAttribute("data-lang")}};dataLayer.push(json)});addListenersFor(document.getElementsByClassName("js-view-all-posts"),"click",function(){pushDataLayerEvent("view_all_blog_posts",culture)});addListenersFor(document.getElementsByClassName("js-cta-link"),"click",function(e){pushCtaClick(e.target.innerText,culture)});const blogDetailPage=document.getElementById("js-blog-detail");if(blogDetailPage){const title=blogDetailPage.getAttribute("data-blog-title"),category=blogDetailPage.getAttribute("data-blog-category"),json={event:"view_blog_post",blog_info:{blog_title:title,blog_category:category,culture:culture}};dataLayer.push(json);debugTableLog(json,"View blog post");addListenersFor(document.querySelectorAll(".js-blog-share a"),"click",function(e){const method=e.target.closest("a").getAttribute("aria-label"),json={event:"share_blog_post",blog_info:{share_method:method,blog_title:title,blog_category:category,culture:culture}};dataLayer.push(json);debugTableLog(json,"Share blog post")})}}function addListenerFor(elem,eventName,actionFunc){elem&&elem.addEventListener(eventName,actionFunc)}function addListenersFor(elems,eventName,actionFunc){if(elems)for(let i=0;i<elems.length;i++){let elem=elems[i];elem.addEventListener(eventName,actionFunc)}}function getInputValueById(id){const formElem=document.getElementById(id);return formElem?formElem.value:""}function getCheckboxValueById(id){const formElem=document.getElementById(id);return formElem?formElem.checked:!1}function getMultipleSelectById(id){const formElem=document.getElementById(id);return formElem?Array.from(formElem.selectedOptions).map(option=>option.value):null}function pushJobView(event,elem,culture){const data=getJobData(elem);if(data){const json={event:event,job_info:{job_title:data.title,job_id:data.jobId,culture:culture}};dataLayer.push(json);debugTableLog(json,event)}}function pushJobShare(method,elem,culture){const data=getJobData(elem);if(data){const json={event:"job_share",job_info:{share_method:method,job_title:data.title,job_id:data.jobId,culture:culture}};dataLayer.push(json);debugTableLog(json,"job_share")}}function pushCtaClick(text,culture){if(text){const json={event:"click_cta_banner",click_info:{click_text:text,culture:culture}};dataLayer.push(json);debugTableLog(json,"click_cta_banner")}}function getJobData(elem){return elem?{title:elem.hasAttribute("data-jobtitle")?elem.getAttribute("data-jobtitle"):elem.text,jobId:elem.getAttribute("data-id")}:null}function pushDataLayerEvent(value,culture){debugLog(value,"dataLayer push event");dataLayer.push({event:value,culture:culture})}function queryStringToObject(qs){const params={};return qs.split("&").forEach(function(pair){if(pair=pair.split("="),pair[1]!==undefined){let key=decodeURIComponent(pair[0]),val=decodeURIComponent(pair[1]);if(val=val?val.replace(/\++/g," ").trim():"",key.length===0)return;params[key]===undefined?params[key]=val:("function"!=typeof params[key].push&&(params[key]=[params[key]]),params[key].push(val))}}),params}function debugLog(data,title){debugMode&&data&&(title?console.log(title,data):console.log(data))}function debugTableLog(data,title){debugMode&&data&&(title?(console.log(title),console.table(data)):console.table(data))}const debugMode=!1;window.addEventListener("load",function(){typeof dataLayer!="undefined"&&dataLayer&&init()})})();
//# sourceMappingURL=/phb/nmap/dataLayer.js.v39e3612af5ec0b70db65649470c087dbd23d812e