{"version":3,"file":"productpage.7e8344584bdb1bd269cf.js","mappings":"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","sources":["webpack://www.bowling.com/./src/components/window.fbq.ts","webpack://www.bowling.com/./src/components/window.ttq.ts","webpack://www.bowling.com/./src/productpage.ts"],"sourcesContent":["/// <reference types=\"@types/facebook-pixel\"/>\r\ninterface MyWindow extends Window {\r\n fbq: facebook.Pixel.Event;\r\n}\r\n\r\ndeclare const window: MyWindow;\r\n\r\nexport default window.fbq;\r\n","interface MyWindow extends Window {\r\n ttq: any;\r\n}\r\n\r\ndeclare const window: MyWindow;\r\n\r\nexport default window.ttq;\r\n","import $ from \"jquery\";\r\nimport \"kbw-countdown/dist/js/jquery.plugin\";\r\nimport \"kbw-countdown/dist/js/jquery.countdown\";\r\nimport {\r\n validateAllValid,\r\n removeElementValidation,\r\n addElementValidation,\r\n} from \"./components/validation\";\r\nimport {scrollTo} from \"./components/scrollto\";\r\nimport gtag from \"./components/window.gtag\";\r\nimport fbq from \"./components/window.fbq\";\r\nimport ttq from \"./components/window.ttq\";\r\n\r\ninterface ProductPageItem {\r\n id: number;\r\n countdownText: string;\r\n showCountdown: boolean;\r\n price: number;\r\n saleCountdownText: string;\r\n saleEndYear: number;\r\n saleEndMonth: number;\r\n saleEndDay: number;\r\n saleEndHour: number;\r\n saleEndMinute: number;\r\n addedAt: string;\r\n name: string;\r\n category: string;\r\n brand: string;\r\n}\r\n\r\ninterface MyWindow extends Window {\r\n pageItem: ProductPageItem;\r\n basicDrillingIDs: any;\r\n customDrillingIDs: any;\r\n endSaleTime: any;\r\n endTime: any;\r\n}\r\n\r\ndeclare const window: MyWindow;\r\n\r\nif (typeof gtag !== \"undefined\") {\r\n gtag(\"event\", \"view_item\", {\r\n currency: \"USD\",\r\n value: window.pageItem.price,\r\n items: [\r\n {\r\n item_id: `pid_${window.pageItem.id}`,\r\n item_name: window.pageItem.name,\r\n currency: \"USD\",\r\n price: window.pageItem.price,\r\n item_brand: window.pageItem.brand,\r\n item_category: window.pageItem.category,\r\n google_business_vertical: \"retail\",\r\n },\r\n ],\r\n });\r\n}\r\n\r\nconst productNote = document.querySelector(\".productNote\");\r\nconst productNoteRemaining = document.querySelector(\"#productNoteRemaining\");\r\nif (\r\n typeof productNote !== undefined &&\r\n productNote !== null &&\r\n typeof productNoteRemaining !== undefined &&\r\n productNoteRemaining !== null\r\n) {\r\n productNote.addEventListener(\"input\", (event) => {\r\n if (\r\n !(event.currentTarget instanceof HTMLTextAreaElement) ||\r\n !(productNoteRemaining instanceof HTMLElement)\r\n )\r\n return;\r\n const target = event.currentTarget;\r\n const maxLength = 150;\r\n const currentLength = target.value.length;\r\n const remaining = maxLength - currentLength;\r\n productNoteRemaining.innerText = remaining.toString();\r\n });\r\n}\r\n\r\n$(document).ready(() => {\r\n $(\"span.showAnswerForm\").click((e) => {\r\n $(e.currentTarget).slideUp(\"fast\", () => {\r\n $(e.currentTarget).next(\"div.answerformbox\").slideDown(\"fast\");\r\n });\r\n e.preventDefault();\r\n });\r\n\r\n const $hash = window.location.hash;\r\n if ($hash === \"#revbox\") {\r\n scrollTo(\"#revbox\");\r\n }\r\n \r\n const questposted = document.querySelector(\"#questposted\");\r\n if( questposted !== null && questposted instanceof HTMLElement)\r\n {\r\n scrollTo(\"#questbox\");\r\n $(\"#tb_email\").focus();\r\n }\r\n \r\n if ($hash === \"#answerpost\") {\r\n scrollTo(\"#questbox\");\r\n $(\"#answerposted\").show(500).delay(5000).hide(500);\r\n }\r\n if ($hash.indexOf(\"iq\") > -1) {\r\n if ($hash.length >= 4) {\r\n scrollTo($hash);\r\n $(`${$hash} span.showAnswerForm`).slideUp(\"fast\", () => {\r\n $(`${$hash} span.showAnswerForm`)\r\n .next(\"div.answerformbox\")\r\n .slideDown(\"fast\");\r\n });\r\n }\r\n }\r\n\r\n $(\"#btnPinTop\").click((e) => {\r\n $(e.currentTarget).hide(500);\r\n });\r\n $(\".showFontImg\").click((e) => {\r\n $(\".imgshowFont\").show();\r\n $(e.currentTarget).hide();\r\n });\r\n $(\".showFontColorImg\").click((e) => {\r\n $(\".imgshowFontColor\").show();\r\n $(e.currentTarget).hide();\r\n });\r\n $(\".showFreeTextDetails\").click((e) => {\r\n $(\".freeTextDetails\").show();\r\n $(e.currentTarget).hide();\r\n });\r\n\r\n $(\"#form_question\").submit((e) => {\r\n let isValid = true;\r\n $(\"#tb_question_validation\").hide();\r\n $(\"#tb_nickname_validation\").hide();\r\n if ($(\"#tb_question\").val() === \"\") {\r\n $(\"#tb_question_validation\").show();\r\n isValid = false;\r\n }\r\n if ($(\"#tb_nickname\").val() === \"\") {\r\n $(\"#tb_nickname_validation\").show();\r\n isValid = false;\r\n }\r\n if (!isValid) {\r\n e.preventDefault();\r\n }\r\n });\r\n $(\"#form_question_addEmail\").submit((e) => {\r\n let isValid = true;\r\n $(\"#tb_email_validation\").hide();\r\n if ($(\"#tb_email\").val() === \"\") {\r\n $(\"#tb_email_validation\").show();\r\n isValid = false;\r\n }\r\n if (!isValid) {\r\n e.preventDefault();\r\n }\r\n });\r\n $(\"#noThanksQEmail\").click((e) => {\r\n $(\"#questposted\").fadeOut();\r\n e.preventDefault();\r\n });\r\n $(\".form_answer\").submit((e) => {\r\n const id = $(e.currentTarget).data(\"id\");\r\n let isValid = true;\r\n $(`#tb_answer_${id}_validation`).hide();\r\n $(`#tb_nickname_${id}_validation`).hide();\r\n if ($(`#tb_answer_${id}`).val() === \"\") {\r\n $(`#tb_answer_${id}_validation`).show();\r\n isValid = false;\r\n }\r\n if ($(`#tb_nickname_${id}`).val() === \"\") {\r\n $(`#tb_nickname_${id}_validation`).show();\r\n isValid = false;\r\n }\r\n if (!isValid) {\r\n e.preventDefault();\r\n }\r\n });\r\n});\r\n\r\nfunction HideBlockElement(elem: HTMLElement) {\r\n elem.classList.remove(\"d-block\");\r\n elem.classList.add(\"d-none\");\r\n}\r\n\r\nfunction ShowBlockElement(elem: HTMLElement) {\r\n elem.classList.remove(\"d-none\");\r\n elem.classList.add(\"d-block\");\r\n}\r\n\r\nfunction weightChange(e: HTMLSelectElement) {\r\n const currID = parseInt(e.value, 10) || 0;\r\n const drillProt = document.querySelector(\"#divDrillingProt\") as HTMLElement;\r\n const drill = document.querySelector(\"#divDrilling\") as HTMLElement;\r\n const drillMsg = document.querySelector(\"#drillingMessage\") as HTMLElement;\r\n const dblWarr = document.querySelector(\"#divDblWarr\") as HTMLElement;\r\n const sixPoundWarranty = document.querySelector(\r\n \"#sixPoundWarranty\"\r\n ) as HTMLElement;\r\n const drillProtList = document.querySelector(\r\n \"#drpDrillingProt\"\r\n ) as HTMLSelectElement;\r\n const dblWarrList = document.querySelector(\r\n \"#drpDblWarr\"\r\n ) as HTMLSelectElement;\r\n const drillList = document.querySelector(\"#drpDrilling\") as HTMLSelectElement;\r\n const selectedOption = e.querySelector(\"option:checked\");\r\n\r\n if (selectedOption.getAttribute(\"showWarrantyWarning\") === \"true\") {\r\n if (drillProt !== null) {\r\n HideBlockElement(drillProt);\r\n drillProtList.value = \"\";\r\n removeElementValidation(\"#drpDrillingProt\");\r\n drillProtList.dispatchEvent(new CustomEvent(\"change\", {bubbles: true}));\r\n }\r\n if (drill !== null) {\r\n HideBlockElement(drill);\r\n drillList.value = \"\";\r\n drillList.dispatchEvent(new CustomEvent(\"change\", {bubbles: true}));\r\n }\r\n if (dblWarr !== null) {\r\n HideBlockElement(dblWarr);\r\n dblWarrList.value = \"\";\r\n dblWarrList.dispatchEvent(new CustomEvent(\"change\", {bubbles: true}));\r\n }\r\n if (drillMsg !== null) HideBlockElement(drillMsg);\r\n if (sixPoundWarranty !== null) ShowBlockElement(sixPoundWarranty);\r\n } else {\r\n if (drillProt !== null) {\r\n ShowBlockElement(drillProt);\r\n addElementValidation(\"#drpDrillingProt\");\r\n drillProtList.dispatchEvent(new CustomEvent(\"change\", {bubbles: true}));\r\n }\r\n if (drill !== null) ShowBlockElement(drill);\r\n if (dblWarr !== null && dblWarr instanceof Element)\r\n ShowBlockElement(dblWarr);\r\n if (sixPoundWarranty !== null && sixPoundWarranty instanceof Element)\r\n HideBlockElement(sixPoundWarranty);\r\n if (\r\n window.basicDrillingIDs.includes(currID) ||\r\n window.customDrillingIDs.includes(currID)\r\n ) {\r\n if (drill !== null) ShowBlockElement(drill);\r\n } else if (drill !== null) {\r\n HideBlockElement(drill);\r\n drillList.value = \"\";\r\n drillList.dispatchEvent(new CustomEvent(\"change\", {bubbles: true}));\r\n }\r\n }\r\n}\r\n\r\nfunction drillingChange(e: HTMLSelectElement) {\r\n const currID = parseInt(e.value, 10) || 0;\r\n const drillMsg = document.querySelector(\"#drillingMessage\") as HTMLElement;\r\n const drillProtList = document.querySelector(\r\n \"#drpDrillingProt\"\r\n ) as HTMLSelectElement;\r\n const isShown =\r\n e.dataset.isShown !== undefined && e.dataset.isShown === \"true\";\r\n if (currID !== 0) {\r\n if (drillMsg !== null && drillMsg instanceof Element)\r\n ShowBlockElement(drillMsg);\r\n drillProtList.querySelector(\"option[value=yes]\").innerHTML =\r\n \"Drilling Protection (FREE!)\";\r\n drillProtList.value = \"yes\";\r\n drillProtList.setAttribute(\"disabled\", \"disabled\");\r\n drillProtList.dispatchEvent(new CustomEvent(\"change\", {bubbles: true}));\r\n e.dataset.isShown = \"true\";\r\n } else if (isShown) {\r\n if (drillMsg !== null) HideBlockElement(drillMsg);\r\n drillProtList.querySelector(\"option[value=yes]\").innerHTML =\r\n \"Drilling Protection ($7.95)\";\r\n drillProtList.value = \"\";\r\n drillProtList.removeAttribute(\"disabled\");\r\n drillProtList.dispatchEvent(new CustomEvent(\"change\", {bubbles: true}));\r\n e.dataset.isShown = \"false\";\r\n }\r\n}\r\n\r\nif (document.querySelector(\"#div_prodchoices\") !== null) {\r\n document\r\n .querySelector(\"#div_prodchoices\")\r\n .addEventListener(\"change\", (event) => {\r\n if (event.target instanceof Element) {\r\n const weightDDL = event.target.closest(\".weightDDL\");\r\n const drpDrilling = event.target.closest(\"#drpDrilling\");\r\n if (weightDDL !== null && weightDDL instanceof HTMLSelectElement)\r\n weightChange(weightDDL);\r\n if (drpDrilling !== null && drpDrilling instanceof HTMLSelectElement)\r\n drillingChange(drpDrilling);\r\n }\r\n });\r\n}\r\n\r\nfunction hideCountdown() {\r\n this.classList.remove(\"show\");\r\n}\r\n\r\nfunction serverTime(): Date {\r\n const url = new URL(\"/api/servertime\", document.location.toString());\r\n const xhr = new XMLHttpRequest();\r\n xhr.open(\"GET\", url, false); // false makes the request synchronous\r\n xhr.send(null);\r\n if (xhr.status === 200) {\r\n console.log(xhr.responseText);\r\n console.log(new Date(xhr.responseText));\r\n return new Date(xhr.responseText);\r\n } else {\r\n console.log(\"Error getting server time\");\r\n return new Date();\r\n }\r\n}\r\n\r\nconst shipCounter = document.querySelector(\"#shipCounter\");\r\nif (window.pageItem.showCountdown && shipCounter !== null) {\r\n $(\"#shipCounter\").countdown({\r\n until: new Date(window.endTime),\r\n serverSync: serverTime,\r\n layout: `${window.pageItem.countdownText} <span id=\"counterBox\" class=\"text-dark font-weight-bold\">{hnn}{sep}{mnn}{sep}{snn}</span>`,\r\n onExpiry: hideCountdown,\r\n });\r\n}\r\n\r\nif (window.pageItem.saleCountdownText.length > 0) {\r\n if (\r\n window.pageItem.saleCountdownText[\r\n window.pageItem.saleCountdownText.length - 1\r\n ] === \" \"\r\n ) {\r\n $(\"#saleCounter\").countdown({\r\n until: new Date(window.endSaleTime),\r\n serverSync: serverTime,\r\n layout: `<span class=\"text-danger\">${window.pageItem.saleCountdownText}</span> <strong><span id=\"counterBox\" class=\"text-danger font-weight-bold\">{hnn}{sep}{mnn}{sep}{snn}</span></strong>`,\r\n onExpiry: hideCountdown,\r\n });\r\n } else {\r\n $(\"#saleCounter\").countdown({\r\n until: new Date(window.endTime),\r\n serverSync: serverTime,\r\n layout: `<strong>${window.pageItem.saleCountdownText}</strong>`,\r\n onExpiry: hideCountdown,\r\n });\r\n }\r\n}\r\n\r\nconst sortRev = document.querySelector(\"#sortRev\");\r\nif (sortRev !== null && sortRev instanceof HTMLSelectElement) {\r\n sortRev.addEventListener(\"change\", (e) => {\r\n sortRev.closest(\"form\").submit();\r\n });\r\n}\r\n\r\n$(document).ready(function () {\r\n // Parse the query string to find the 'section' parameter \r\n const urlParams: URLSearchParams = new URLSearchParams(window.location.search);\r\n const section: string | null = urlParams.get('section');\r\n\r\n // If there's a section parameter \r\n if (section) {\r\n // Find the element to scroll to \r\n const $element: JQuery<HTMLElement> = $('#' + section);\r\n\r\n // If the element exists, scroll to it \r\n if ($element.length) {\r\n // Scroll to the element (with a slight offset from the top) \r\n $('html, body').animate({\r\n scrollTop: $element.offset()?.top ?? 0 - 80 // Adjust the offset as needed \r\n }, 800); // Adjust animation speed as needed \r\n\r\n // Remove the query string from the URL without reloading the page \r\n const newUrl: string = window.location.protocol + \"//\" +\r\n window.location.host +\r\n window.location.pathname;\r\n\r\n // Replace the current URL in the browser history \r\n window.history.replaceState({path: newUrl}, '', newUrl);\r\n }\r\n }\r\n});\r\n\r\ndocument.addEventListener(\"submit\", (e) => {\r\n console.log(e);\r\n if (e.target instanceof HTMLFormElement) {\r\n if (\r\n e.target.id === \"emailGcForm\" ||\r\n e.target.id === \"mailGcForm\" ||\r\n e.target.id === \"addItemForm\"\r\n ) {\r\n // validation\r\n if (!validateAllValid()) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n } else {\r\n // show overlay with spinner when adding to cart\r\n $(\"#addtocart_spinner\").LoadingOverlay(\"show\");\r\n\r\n if (typeof gtag !== \"undefined\") {\r\n gtag(\"event\", \"add_to_cart\", {\r\n currency: \"USD\",\r\n value: window.pageItem.price,\r\n items: [\r\n {\r\n id: `pid_${window.pageItem.id}`,\r\n google_business_vertical: \"retail\",\r\n },\r\n ],\r\n });\r\n }\r\n\r\n if (typeof fbq !== \"undefined\") {\r\n fbq(\"track\", \"AddToCart\", {\r\n content_ids: [`pid_${window.pageItem.id}`],\r\n content_type: \"product_group\",\r\n value: window.pageItem.price,\r\n currency: \"USD\",\r\n });\r\n }\r\n\r\n if (typeof ttq !== \"undefined\") {\r\n ttq.track(\"AddToCart\", {\r\n \"contents\": [\r\n {\r\n \"content_id\": `pid_${window.pageItem.id}`,\r\n \"content_type\": \"product_group\",\r\n }\r\n ],\r\n \"value\": window.pageItem.price,\r\n \"currency\": \"USD\",\r\n });\r\n }\r\n }\r\n }\r\n }\r\n});\r\n"],"names":["window","currency","value","pageItem","price","items","item_id","id","item_name","name","item_brand","brand","item_category","category","google_business_vertical","productNote","document","querySelector","productNoteRemaining","HideBlockElement","elem","classList","remove","add","ShowBlockElement","hideCountdown","this","serverTime","url","URL","location","toString","xhr","XMLHttpRequest","open","send","status","console","log","responseText","Date","undefined","addEventListener","event","currentTarget","HTMLTextAreaElement","HTMLElement","remaining","length","innerText","ready","click","e","slideUp","next","slideDown","preventDefault","$hash","hash","questposted","focus","show","delay","hide","indexOf","submit","isValid","val","fadeOut","data","target","Element","weightDDL","closest","drpDrilling","HTMLSelectElement","currID","parseInt","drillProt","drill","drillMsg","dblWarr","sixPoundWarranty","drillProtList","dblWarrList","drillList","getAttribute","dispatchEvent","CustomEvent","bubbles","basicDrillingIDs","includes","customDrillingIDs","isShown","dataset","innerHTML","setAttribute","removeAttribute","drillingChange","shipCounter","showCountdown","countdown","until","endTime","serverSync","layout","countdownText","onExpiry","saleCountdownText","endSaleTime","sortRev","section","URLSearchParams","search","get","$element","animate","scrollTop","offset","top","newUrl","protocol","host","pathname","history","replaceState","path","HTMLFormElement","LoadingOverlay","content_ids","content_type","stopPropagation"],"sourceRoot":""}