Instant Quote

[stm-calc id="2025"]
Instant Quote Calculator

Instant Quote Calculator

Select Services and Quantities

Follow the images below to count your panels:

Panel Count Example

Panel Count Example




Do you want your screens cleaned?









document.addEventListener("DOMContentLoaded", function () { const quoteForm = document.getElementById("quoteForm"); const submitButton = document.getElementById("submitButton"); const quoteResult = document.getElementById("quoteResult"); const totalQuote = document.getElementById("totalQuote"); const cleanScreensRadio = document.getElementsByName("cleanScreens"); const screensCount = document.getElementById("screensCount"); cleanScreensRadio.forEach(function (radio) { radio.addEventListener("change", function () { if (radio.value === "yes") { screensCount.classList.remove("hidden"); } else { screensCount.classList.add("hidden"); } }); }); quoteForm.addEventListener("submit", function (event) { event.preventDefault(); const cleaningType = quoteForm.querySelector('input[name="cleaningType"]:checked').value; const panels = parseFloat(document.getElementById("panels").value); const screens = parseFloat(document.getElementById("screens").value); const solarPanels = parseFloat(document.getElementById("solarPanels").value); const skylights = parseFloat(document.getElementById("skylights").value); const doorWindows = parseFloat(document.getElementById("doorWindows").value); const cleanScreensValue = quoteForm.querySelector('input[name="cleanScreens"]:checked').value; let totalCost = 0; if (cleaningType === "outside") { totalCost += (panels + doorWindows + skylights) * 7 + solarPanels * 10; } else if (cleaningType === "inside_outside") { totalCost += (panels + doorWindows + skylights) * 14 + solarPanels * 20; } if (cleanScreensValue === "yes") { totalCost += screens * 3; } quoteResult.classList.remove("hidden"); totalQuote.textContent = `$${totalCost.toFixed(2)}`; }); });