{"version":3,"file":"wf-speed-cards.js","sources":["wf-speed-cards.js"],"sourcesContent":["// console.log(\"speed-cards.js loaded\");\ndocument.addEventListener(\"DOMContentLoaded\", (event) => {\n initSpeedSliderFunctions();\n});\nfunction initSpeedSliderFunctions() {\n console.log(\"speed-cards.js loaded\");\n\n // FUNCTIONALITY FOR PLAN FINDER\n function setElementDisplayStyle(elementId, displayValue) {\n const element = document.getElementById(elementId);\n if (element) {\n element.style.display = displayValue;\n }\n }\n // display number of users\n const minusButton = document.querySelector(\"#planFinderModal .minus-button\");\n const plusButton = document.querySelector(\"#planFinderModal .plus-button\");\n const numberDisplay = document.querySelector(\"#planFinderModal .number\");\n const chooseButton = document.querySelectorAll(\n \"#planFinderModal .chooseFinderSpeed\"\n );\n\n let onOrderPage = false;\n\n let count = 4;\n numberDisplay.textContent = count;\n\n // Check if we're on the ordering page\n if (\n $(\"#order-info\").length &&\n localStorage.getItem(\"lumos_location_id\") &&\n localStorage.getItem(\"lumos_location_id\") !== null\n ) {\n onOrderPage = true;\n }\n\n if (onOrderPage) {\n [].forEach.call(chooseButton, function (button) {\n button.innerText = \"Order Online\";\n });\n }\n\n minusButton.addEventListener(\"click\", function () {\n if (count > 1) {\n count--;\n numberDisplay.textContent = count;\n updateRecommendedPlan();\n }\n });\n\n plusButton.addEventListener(\"click\", function () {\n if (count < 10) {\n count++;\n numberDisplay.textContent = count;\n updateRecommendedPlan();\n }\n });\n\n [].forEach.call(chooseButton, function (button) {\n button.addEventListener(\"click\", function () {\n var selectedProduct = document.querySelector(\n \"#planFinderModal .product-container .internet-plan[style='display: block;']\"\n );\n // console.log(\n // selectedProduct,\n // selectedProduct.getAttribute(\"data-legacy-name\")\n // );\n localStorage.setItem(\n \"lumos_default_product\",\n selectedProduct.getAttribute(\"data-legacy-name\")\n );\n pushToDataLayer(this.id);\n $(\"#planFinderModal\").modal(\"hide\");\n\n // Secondary check for ordering page\n if (\n $(\"#order-info\").length &&\n localStorage.getItem(\"lumos_location_id\") &&\n localStorage.getItem(\"lumos_location_id\") !== null\n ) {\n onOrderPage = true;\n }\n\n // We're on the order page with a validated address\n if (onOrderPage) {\n setDefaultProduct();\n // We're somewehre else.\n } else {\n $(\"#addressCheckerModal\").modal(\"show\");\n }\n });\n });\n\n var modalElement = document.getElementById(\"planFinderModal\");\n\n modalElement.addEventListener(\"hidden.bs.modal\", function () {\n pushToDataLayer(\"help_me_choose_exit\");\n });\n\n var helpMeChooseEntrance = document.getElementById(\"help_me_choose_entrance\");\n helpMeChooseEntrance.addEventListener(\"click\", function () {\n pushToDataLayer(\"help_me_choose_entrance\");\n });\n\n // define consts\n const basicActivities = document.querySelectorAll(\n \"#planFinderModal .basic-activities-container input\"\n );\n const advancedActivities = document.querySelectorAll(\n \"#planFinderModal .advanced-activities\"\n );\n const advanced5GigActivities = document.querySelectorAll(\n \"#planFinderModal .advanced-5-gig-activities\"\n );\n const advanced8GigActivities = document.querySelectorAll(\n \"#planFinderModal .advanced-8-gig-activities\"\n );\n const allCards = document.querySelectorAll(\"#planFinderModal .internet-plan\");\n const mbps200 = document.getElementById(\"speed-200\");\n const mbps500 = document.getElementById(\"speed-500\");\n const gig1 = document.getElementById(\"speed-1\");\n const gig2 = document.getElementById(\"speed-2\");\n const gig5 = document.getElementById(\"speed-5\");\n const gig8 = document.getElementById(\"speed-8\");\n\n function updateRecommendedPlan() {\n envConsoleLog(\"updateRecommendedPlan\");\n // if(onOrderPage) {\n // return;\n // }\n\n const selectedBasicActivities = basicActivities\n ? Array.from(basicActivities).filter((input) => input.checked)\n : [];\n const selectedAdvancedActivities = advancedActivities\n ? Array.from(advancedActivities).filter((input) => input.checked)\n : [];\n const selectedAdvanced5GigActivities = advanced5GigActivities\n ? Array.from(advanced5GigActivities).filter((input) => input.checked)\n : [];\n const selectedAdvanced8GigActivities = advanced8GigActivities\n ? Array.from(advanced8GigActivities).filter((input) => input.checked)\n : [];\n\n const numberValue = parseInt(numberDisplay.textContent);\n\n // hide and display plans\n setElementDisplayStyle(\"speed-200\", \"none\");\n setElementDisplayStyle(\"speed-500\", \"none\");\n setElementDisplayStyle(\"speed-1\", \"none\");\n setElementDisplayStyle(\"speed-2\", \"none\");\n setElementDisplayStyle(\"speed-5\", \"none\");\n setElementDisplayStyle(\"speed-8\", \"none\");\n\n if (numberValue === 1) {\n mbps500.style.display = \"block\";\n } else if (numberValue === 2) {\n if (selectedAdvancedActivities.length === 0) {\n mbps500.style.display = \"block\";\n } else {\n mbps500.style.display = \"block\";\n }\n } else if (numberValue === 3 || numberValue === 4) {\n if (selectedAdvancedActivities.length > 0) {\n gig1.style.display = \"block\";\n } else {\n gig1.style.display = \"block\";\n }\n } else if (numberValue >= 5 && selectedAdvancedActivities.length > 0) {\n gig2.style.display = \"block\";\n } else if (numberValue >= 5) {\n gig1.style.display = \"block\";\n }\n\n // override and show 5 if certain options selected\n if (selectedAdvanced5GigActivities.length > 0) {\n allCards.forEach((card) => {\n card.style.display = \"none\";\n });\n if (gig5) {\n gig5.style.display = \"block\";\n } else if (gig2) {\n gig2.style.display = \"block\";\n } else if (gig1) {\n gig1.style.display = \"block\";\n }\n }\n\n if (selectedAdvanced8GigActivities.length > 0) {\n allCards.forEach((card) => {\n card.style.display = \"none\";\n });\n if (gig8) {\n gig8.style.display = \"block\";\n } else if (gig5) {\n gig5.style.display = \"block\";\n } else if (gig2) {\n gig2.style.display = \"block\";\n } else if (gig1) {\n gig1.style.display = \"block\";\n }\n }\n }\n\n // event listeners\n document\n .querySelector(\"#planFinderModal .basic-activities-container\")\n .addEventListener(\"change\", updateRecommendedPlan);\n document\n .querySelector(\"#planFinderModal .advanced-activities-container\")\n .addEventListener(\"change\", updateRecommendedPlan);\n\n // call the function when the page loads\n updateRecommendedPlan();\n\n show5GigSpeedcard();\n\n shopNowListener();\n\n // set heights of additional section the same\n\n // when doucment full loaded\n // if (localStorage.getItem(\"lumos_address_market\") && localStorage.getItem(\"lumos_address_market\") !== \"default\") {\n // envConsoleLog(\"fixing speed card section height\");\n $(\".speed-cards-carousel:not(.fieldset-container)\").each(function () {\n var maxHeight = 0;\n var contentMaxHeight = 0;\n\n // Find the tallest .additional-section in the current carousel\n $(this)\n .find(\".additional-section\")\n .each(function () {\n var thisHeight = $(this).height();\n if (thisHeight > maxHeight) {\n maxHeight = thisHeight;\n }\n });\n // find the tallest .content-section\n $(this)\n .find(\".content-section\")\n .each(function () {\n var thisContentHeight = $(this).height();\n if (thisContentHeight > contentMaxHeight) {\n contentMaxHeight = thisContentHeight;\n }\n });\n // // Set all .additional-section heights within the current carousel to the tallest found height\n $(this).find(\".additional-section\").height(maxHeight);\n $(this).find(\".content-section\").height(contentMaxHeight);\n });\n // }\n}\n\nfunction show5GigSpeedcard() {\n // console.log(\"show5GigSpeedcar\");\n // hide 5Gig price for non-tidewater customers\n if (localStorage.getItem(\"lumos_address_market\")) {\n var $fiveGigCard = $('div.card[data-product-id=\"5000\"]');\n if (localStorage.getItem(\"lumos_address_market\") !== \"tidewater\") {\n // console.log(\"not tidewater\");\n $fiveGigCard.each(function () {\n $(this).removeClass(\"border-most-popular\");\n $(this).find(\".most-popular\").addClass(\"hide\");\n $(this).find(\".price\").addClass(\"hide\");\n $(this).find(\".no-price\").removeClass(\"hide\");\n });\n } else {\n // console.log(\"is tidewater\");\n $fiveGigCard.each(function () {\n // $(this).addClass(\"border-most-popular\");\n $(this).find(\".most-popular\").removeClass(\"hide\");\n $(this).find(\".price\").removeClass(\"hide\");\n $(this).find(\".no-price\").addClass(\"hide\");\n });\n }\n }\n}\n\nfunction pushToDataLayer(eventType, additionalData = {}) {\n window.dataLayer = window.dataLayer || [];\n const defaultData = {\n data: \"modal:help_me_choose\",\n };\n const eventData = {\n event: eventType,\n ...defaultData,\n ...additionalData, // This will overwrite default data if the keys match\n };\n // console.log(\"pushToDataLayer\", eventData);\n window.dataLayer.push(eventData);\n}\n\n// function to get .shop-now-button click event and trigger the .shop-now-checkbox inside of it\nfunction shopNowListener() {\n const shopNowButtons = document.querySelectorAll(\n \".speed-cards-carousel:not(.fieldset-container) .shop-now-button, .plan-finder-tool .shop-now-button\"\n );\n shopNowButtons.forEach((button) => {\n button.addEventListener(\"click\", function () {\n const checkbox = button.querySelector(\".shop-now-checkbox\");\n // get the .card that is a parent of the button andd get its data-slide-index\n var card = button.closest(\".card\");\n const slideIndex = card.getAttribute(\"data-slide-index\");\n // localStorage.setItem(\"selected_feature_slide\", slideIndex);\n\n // if card is not set, get closest .internet-plan instead\n if (!card) {\n card = button.closest(\".internet-plan\");\n }\n\n localStorage.setItem(\n \"lumos_default_product\",\n card.getAttribute(\"data-legacy-name\")\n );\n checkbox.click();\n });\n });\n}\n\nsetSpeedSliderDropdowns();\nfunction setSpeedSliderDropdowns() {\n // custom dropdown for section slides\n $(\".wf-speed-cards .custom-dropdown\").on(\"click\", function () {\n $(this).find(\".dropdown-section\").toggle();\n $(this).find(\".dropdown-icon\").toggleClass(\"rotate\");\n // Close all other dropdowns\n $(\".wf-speed-cards .custom-dropdown\")\n .not(this)\n .find(\".dropdown-section\")\n .hide();\n });\n\n // prevent link clicks from closing dropdown\n $(\".wf-speed-cards .custom-dropdown\").on(\n \"click\",\n \"a, button\",\n function (event) {\n event.stopPropagation();\n }\n );\n}\n\n$(document).ready(function () {\n refreshSlide();\n});\n// listener on custom event for when the address is hcanged\nwindow.addEventListener(\"lumosAddressChange\", refreshSlide);\n\nfunction refreshSlide() {\n refreshUPIData();\n setSpeedSliderDropdowns();\n}\n"],"names":["initSpeedSliderFunctions","setElementDisplayStyle","elementId","displayValue","element","document","getElementById","style","display","minusButton","querySelector","plusButton","numberDisplay","chooseButton","querySelectorAll","let","onOrderPage","count","basicActivities","textContent","$","length","localStorage","getItem","forEach","call","button","innerText","addEventListener","updateRecommendedPlan","selectedProduct","setItem","getAttribute","pushToDataLayer","this","id","modal","setDefaultProduct","advancedActivities","advanced5GigActivities","advanced8GigActivities","allCards","mbps500","gig1","gig2","gig5","gig8","envConsoleLog","Array","from","filter","input","checked","selectedAdvancedActivities","selectedAdvanced5GigActivities","selectedAdvanced8GigActivities","numberValue","parseInt","card","show5GigSpeedcard","shopNowListener","each","maxHeight","contentMaxHeight","find","thisHeight","height","thisContentHeight","$fiveGigCard","removeClass","addClass","eventType","additionalData","window","dataLayer","eventData","event","data","push","checkbox","closest","click","setSpeedSliderDropdowns","on","toggle","toggleClass","not","hide","stopPropagation","refreshSlide","refreshUPIData","ready"],"mappings":"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"}