{"version":3,"sources":["shop-by-monthly-payment.js"],"names":["slideOne","parseInt","value","sliderOne","minGap","sliderTwo","prMin","innerText","Number","toLocaleString","attr","$","slideTwo","prMax","val","removeAttr","monthlyPaymentSlider","buildTermsAprButtons","usedVehicleTermAPR","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","Symbol","iterator","next","done","termApr","append","err","return","on","removeClass","this","addClass","apr","data","console","price","updatePriceRange","updateEstMoPayment","tradein","currentTerm","allError","setMessage","msg","trigger","downPayment","hcpv_rpa_util","calcEstimateMonthlyPayment","replace","parseFloat","document","getElementById","querySelector","sbmpTabs","show","hasClass","hide","top","screen","height","left","window","open","intelliprice_url","getJSON","dataSource","Settings","Setting","currentApr","Output","Results","Item","set","Cookies","fail","event","preventDefault","moPayment","text","url","dataType","log"],"mappings":"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","file":"shop-by-monthly-payment.min.js","sourcesContent":["var sliderOne = document.getElementById(\"sliderOne\");\r\nvar sliderTwo = document.getElementById(\"sliderTwo\");\r\nvar minGap = 0;\r\nvar prMin = document.querySelector(\".pr-min\");\r\nvar prMax = document.querySelector(\".pr-max\");\r\nvar pmCurrent = document.querySelector(\".pm-current\");\r\nvar sbmpTabs = $(\".sbmp-tab\");\r\n\r\n// toggle SBMP tabs\r\nsbmpTabs.on(\"click\", function () { \r\n sbmpTabs.removeClass(\"active\");\r\n $(this).addClass(\"active\");\r\n\r\n if ($(this).hasClass(\"price-range\")) {\r\n $(\".pr\").show();\r\n $(\".pm\").hide();\r\n\r\n } else {\r\n $(\".pr\").hide();\r\n $(\".pm\").show();\r\n }\r\n });\r\n\r\n// price range slider\r\nfunction slideOne(){\r\n if(parseInt(sliderTwo.value) - parseInt(sliderOne.value) <= minGap){\r\n sliderOne.value = parseInt(sliderTwo.value) - minGap;\r\n }\r\n \r\n prMin.innerText = \"$\" + Number(sliderOne.value).toLocaleString() + \" -\";\r\n $(\".pr-values\").attr(\"data-min\", sliderOne.value);\r\n $(\"#searchBudget\").removeAttr(\"data-budget-submitted\");\r\n}\r\n\r\nfunction slideTwo(){\r\n if(parseInt(sliderTwo.value) - parseInt(sliderOne.value) <= minGap){\r\n sliderTwo.value = parseInt(sliderOne.value) + minGap;\r\n }\r\n\r\n prMax.innerText = sliderTwo.value == \"30000\" ? \"$\" + Number(sliderTwo.value).toLocaleString() + \"+\" : \"$\" + Number(sliderTwo.value).toLocaleString();\r\n\r\n $(\".pr-values\").attr(\"data-max\", sliderTwo.value);\r\n $(\"#searchBudget\").removeAttr(\"data-budget-submitted\");\r\n $(\"#downPayment\").val(sliderTwo.value / 10);\r\n}\r\n\r\n// estimated trade-in value popup\r\n$(\"[data-link='sbmp-tradein-val']\").on(\"click\", function () { \r\n var top = (screen.height / 2) - (800 / 2);\r\n var left = (screen.width / 2) - (700 / 2);\r\n \r\n window.open(intelliprice_url, 'KBB', \"scrollbars=yes,width=700,height=800,top=\" + top + \",left=\" + left);\r\n});\r\n\r\n// monthly payment range slider\r\nfunction monthlyPaymentSlider(value) {\r\n if (value < 1000) {\r\n pmCurrent.innerText = \"$\" + value;\r\n } else {\r\n // add comma \r\n pmCurrent.innerText = \"$\" + Number(value).toLocaleString();\r\n }\r\n};\r\n\r\n// apply APR from API\r\n$(function() {\r\n $.getJSON(`${hcpv_rpa_util.dataSource()}/handlers/get-payment-calculator-constants.ashx`, function(data) {\r\n var currentApr = data.Output.Results.Settings.Setting[7][\"#cdata-section\"];\r\n var usedVehicleTermAPR = data.Output.Results.Settings.Setting[8].Item;\r\n $(\"#apr\").val(currentApr);\r\n Cookies.set('api_apr', currentApr);\r\n buildTermsAprButtons(usedVehicleTermAPR)\r\n \r\n\r\n }).fail(function() {\r\n // pass some other default value\r\n $(\"#apr\").val(4.60);\r\n });\r\n});\r\n\r\nfunction buildTermsAprButtons(usedVehicleTermAPR) {\r\n for (const termApr of usedVehicleTermAPR) {\r\n $('.term-btns-wrapper').append(`\r\n \r\n `); \r\n }\r\n\r\n // toggle term button active\r\n $(\".term-btn\").on(\"click\", function clickHandler() { \r\n $(\".term-btn\").removeClass(\"current\");\r\n $(this).addClass(\"current\");\r\n \r\n var apr = $(this).data('termApr'); \r\n $('#searchBudget input#apr').val(apr);\r\n });\r\n}\r\n\r\n\r\n// form submission API call to get a recommended price\r\n$(\"#searchBudget\").on(\"submit\", function(event) {\r\n event.preventDefault();\r\n\r\n var moPayment = $(\"#moPaymentSlider\").val();\r\n var downPayment = $(\"#downPayment\").val();\r\n var tradein = $(\"#tradein\").val() || 0;\r\n var apr = $(\"#apr\").val();\r\n var currentTerm = $(\".term-btn.current\").text();\r\n var url = `${hcpv_rpa_util.dataSource()}/handlers/get-payment-calculator-reverse.ashx?APR=${apr}&Term=${currentTerm}&MonthlyPayment=${moPayment}&DownPayment=${downPayment}&TradeInValue=${tradein}`;\r\n $.ajax({\r\n url: url,\r\n dataType: 'json'\r\n }).done(function(data) {\r\n var price = data.Output.Results.FinanceBudget;\r\n console.log('API price ', price);\r\n\r\n $(\"#searchBudget\").attr(\"data-budget-submitted\", \"true\");\r\n updatePriceRange(parseInt(price));\r\n updateEstMoPayment(tradein, apr, currentTerm, downPayment);\r\n \r\n }).fail(function() {\r\n\r\n allError.setMessage({\r\n msg: \"Sorry about that! It seems that Inventory Search isn’t working the way it should, but you can be sure we’re working on getting it back up and running. Please check back in a bit.\",\r\n closeButton: true,\r\n template: 'A'\r\n });\r\n \r\n });\r\n\r\n });\r\n\r\n function updatePriceRange(price) {\r\n sliderOne.value = 5000;\r\n sliderTwo.value = price; \r\n prMin.innerText = \"$5,000 -\";\r\n prMax.innerText = \"$\" + Number(price).toLocaleString();\r\n\r\n // update slider and trigger change \r\n $(\".pr-values\").attr(\"data-max\", price);\r\n $(\".price-sliders\").trigger(\"change\");\r\n }\r\n\r\n // update estimated monthly payment for each vehicle card\r\n function updateEstMoPayment(tradein, apr, currentTerm, downPayment) {\r\n hcpv_rpa_util.calcEstimateMonthlyPayment(parseInt(tradein.replace(/,/g, '')), parseFloat(apr), parseInt(currentTerm), $(\".list-car-price\"), parseInt(downPayment.replace(/,/g, '')));\r\n}"]}