{"version":3,"sources":["handleCookieData.js"],"names":["handleCookieData","bindEnquiryButtons","isEnquiryButtons","document","querySelectorAll","forEach","buttonElm","addEventListener","eve","preventDefault","cookie","querySelector","dataset","umbracoId","getExistingCookie","getCookie","getExistingCookieList","split","includes","window","location","href","push","filter","n","join","setCookie","bindBrochureButtons","bindFormSubmission","submitButton","deleteCookies","bindRemoveLineItems","removeLineItems","elm","lineItemId","removeCookie","deleteCookie","reload","name","value","expiryDays","expiryDate","Date","getDate","cookies","i","length","charAt","substring","indexOf","cookieToRemove","init"],"mappings":"AAAA,MAAMA,iBAAmB,MACvB,MAOMC,EAAqB,KACzB,IAAIC,EAAmBC,SAASC,iBAAiB,yBACxB,OAArBF,GACJA,EAAiBG,QAAQC,GAAaA,EAAUC,iBAAiB,QAASC,IACxEA,EAAIC,iBACJ,MAAMC,EAASP,SAASQ,cAAc,qBAAqBC,QAAQC,UACnE,IAAIC,EAAoBC,EAAU,iBAC9BC,EAAwBF,EAAkBG,MAAM,KAEhDH,GAAqBE,EAAsBE,SAASR,GACtDS,OAAOC,SAAWd,EAAUM,QAAQS,MAEpCL,EAAsBM,KAAKZ,GAC3BI,EAAoBE,EAAsBO,OAAOC,GAAKA,GAAGC,KAAK,KAC9DC,EAAU,gBAAiBZ,EAAmB,GAC9CK,OAAOC,SAAWd,EAAUM,QAAQS,UAKpCM,EAAsB,KAC1B,IAAIzB,EAAmBC,SAASC,iBAAiB,0BACxB,OAArBF,GACJA,EAAiBG,QAAQC,GAAaA,EAAUC,iBAAiB,QAASC,IACxEA,EAAIC,iBACJ,MAAMC,EAASP,SAASQ,cAAc,qBAAqBC,QAAQC,UACnEa,EAAU,iBAAkBhB,EAAQ,GACpCS,OAAOC,SAAWd,EAAUM,QAAQS,SAIlCO,EAAqB,KACzB,IAAIC,EAAe1B,SAASQ,cAAc,kCACrB,OAAjBkB,GACJA,EAAatB,iBAAiB,QAAS,KACrCuB,EAAc,iBACdA,EAAc,qBAIZC,EAAsB,KAC1B,IAAIC,EAAkB7B,SAASC,iBAAiB,wBACxB,OAApB4B,GACJA,EAAgB3B,QAAQ4B,GAAOA,EAAI1B,iBAAiB,QAAS,KAC3D,IAAI2B,EAAaD,EAAIrB,QAAQuB,aAC7BC,EAAa,gBAAiBF,GAC9Bf,OAAOC,SAASiB,aAIdX,EAAY,CAACY,EAAMC,EAAOC,KAC9B,IAAIC,GAAa,IAAIC,MAAOC,UAAyB,GAAbH,EAAkB,GAAK,GAC/DrC,SAASO,OAAS4B,EAAO,IAAMC,EAAQ,YAAmBE,EAAa,kBAGnE1B,EAAYuB,IAChBA,GAAc,IACd,IAAIM,EAAUzC,SAASO,OAAOO,MAAM,KAEpC,IAAK,IAAI4B,EAAI,EAAGA,EAAID,EAAQE,OAAQD,IAAK,CACvC,IAAInC,EAASkC,EAAQC,GAErB,KAA4B,MAArBnC,EAAOqC,OAAO,IACnBrC,EAASA,EAAOsC,UAAU,GAG5B,GAA6B,IAAzBtC,EAAOuC,QAAQX,GACjB,OAAO5B,EAAOsC,UAAUV,EAAKQ,OAAQpC,EAAOoC,QAIhD,MAAO,IAGHhB,EAAgBc,IACpBzC,SAASO,OAASkC,EAAU,4DAGxBR,EAAe,CAACQ,EAASM,KAC7B,IAAIpC,EAAoBC,EAAU6B,GAC9B5B,EAAwBF,EAAkBG,MAAM,KAEhDH,GAAqBE,EAAsBE,SAASgC,KAGrB,KAFjCpC,EAAoBE,EAAsBO,OAAOC,GAAKA,IAAM0B,GAAgBzB,KAAK,MAE3DqB,SACpB3C,SAASO,OAASkC,EAAU,4DAG9BlB,EAAUkB,EAAS9B,EAAmB,KAI1C,MAAO,CACLqC,KArGW,KACXlD,IACA0B,IACAC,IACAG,KAkGAL,UAAAA,EACAX,UAAAA,EACAqB,aAAAA,IAzGqB,GA6GzBjC,SAASI,iBAAiB,mBAAoB,IAAMP,iBAAiBmD","sourcesContent":["const handleCookieData = (() => {\r\n \r\n const init = () => {\r\n bindEnquiryButtons();\r\n bindBrochureButtons();\r\n bindFormSubmission();\r\n bindRemoveLineItems();\r\n }\r\n \r\n const bindEnquiryButtons = () => {\r\n let isEnquiryButtons = document.querySelectorAll('[data-enquiry-button]');\r\n if(isEnquiryButtons === null) return;\r\n isEnquiryButtons.forEach(buttonElm => buttonElm.addEventListener(\"click\", (eve) => {\r\n eve.preventDefault(); \r\n const cookie = document.querySelector(\"[data-umbraco-id]\").dataset.umbracoId;\r\n let getExistingCookie = getCookie(\"enquiryNodeId\");\r\n let getExistingCookieList = getExistingCookie.split('|');\r\n if (getExistingCookie && getExistingCookieList.includes(cookie)) {\r\n window.location = buttonElm.dataset.href;\r\n } else {\r\n getExistingCookieList.push(cookie);\r\n getExistingCookie = getExistingCookieList.filter(n => n).join(\"|\");\r\n setCookie(\"enquiryNodeId\", getExistingCookie, 1);\r\n window.location = buttonElm.dataset.href;\r\n } \r\n }));\r\n }\r\n\r\n const bindBrochureButtons = () => {\r\n let isEnquiryButtons = document.querySelectorAll('[data-brochure-button]');\r\n if(isEnquiryButtons === null) return;\r\n isEnquiryButtons.forEach(buttonElm => buttonElm.addEventListener(\"click\", (eve) => {\r\n eve.preventDefault();\r\n const cookie = document.querySelector(\"[data-umbraco-id]\").dataset.umbracoId;\r\n setCookie(\"brochureNodeId\", cookie, 1);\r\n window.location = buttonElm.dataset.href;\r\n }));\r\n }\r\n \r\n const bindFormSubmission = () => {\r\n let submitButton = document.querySelector('[data-umb=\"submit-forms-form\"]');\r\n \r\n if(submitButton === null) return;\r\n \r\n submitButton.addEventListener(\"click\", () => {\r\n deleteCookies(\"enquiryNodeId\");\r\n deleteCookies(\"brochureNodeId\");\r\n })\r\n }\r\n \r\n const bindRemoveLineItems = () => {\r\n let removeLineItems = document.querySelectorAll('[data-remove-cookie]');\r\n \r\n if(removeLineItems === null) return;\r\n \r\n removeLineItems.forEach(elm => elm.addEventListener(\"click\", () => {\r\n let lineItemId = elm.dataset.removeCookie;\r\n \r\n deleteCookie(\"enquiryNodeId\", lineItemId);\r\n \r\n window.location.reload();\r\n }))\r\n }\r\n \r\n const setCookie = (name, value, expiryDays) => {\r\n let expiryDate = new Date().getDate() + (expiryDays * 24 * 60 * 60);\r\n document.cookie = name + \"=\" + value + \";\" + \"expires=\" + expiryDate + \";path=/\" + \";secure\";\r\n }\r\n \r\n const getCookie = (name) => {\r\n name = name + \"=\";\r\n \r\n let cookies = document.cookie.split(';')\r\n \r\n for(let i = 0; i < cookies.length; i++)\r\n {\r\n let cookie = cookies[i];\r\n \r\n while(cookie.charAt(0) === ' ') {\r\n cookie = cookie.substring(1);\r\n }\r\n \r\n if (cookie.indexOf(name) === 0) {\r\n return cookie.substring(name.length, cookie.length);\r\n }\r\n }\r\n \r\n return \"\";\r\n }\r\n\r\n const deleteCookies = (cookies) => {\r\n\r\n document.cookie = cookies + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; secure\";\r\n }\r\n \r\n const deleteCookie = (cookies, cookieToRemove) => {\r\n\r\n let getExistingCookie = getCookie(cookies);\r\n let getExistingCookieList = getExistingCookie.split('|');\r\n if (getExistingCookie && getExistingCookieList.includes(cookieToRemove)) {\r\n getExistingCookie = getExistingCookieList.filter(n => n !== cookieToRemove).join(\"|\");\r\n \r\n if (getExistingCookie.length === 0)\r\n {\r\n document.cookie = cookies + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; secure\";\r\n }\r\n \r\n setCookie(cookies, getExistingCookie, 1);\r\n }\r\n }\r\n \r\n return {\r\n init,\r\n setCookie,\r\n getCookie,\r\n deleteCookie\r\n }\r\n})();\r\ndocument.addEventListener(\"DOMContentLoaded\", () => handleCookieData.init())"],"file":"handleCookieData-min.js"}