Adam Test
document.addEventListener("DOMContentLoaded", function () {
const zipCodeField = document.querySelector("#\\38 642df0c-774f-4e77-b086-db0be5f23dec");
if (!zipCodeField) {
console.error("Zip Code field not found!");
return;
}
// Create a container to display the dealer name
let dealerContainer = document.createElement("div");
dealerContainer.id = "dealer-name-display";
dealerContainer.style.marginTop = "10px";
dealerContainer.style.fontWeight = "bold";
dealerContainer.style.display = "none"; // Hidden by default
zipCodeField.parentElement.appendChild(dealerContainer);
let timeout = null;
zipCodeField.addEventListener("input", function () {
let zipCode = zipCodeField.value.trim();
// Only fetch when exactly 5 digits are entered
if (/^\d{5}$/.test(zipCode)) {
clearTimeout(timeout);
timeout = setTimeout(() => fetchDealerName(zipCode), 500); // Debounce API calls
} else {
dealerContainer.style.display = "none";
}
});
function fetchDealerName(zipCode) {
const apiUrl = `https://www.kinetico.com/api/dealers/search?postalCode=${zipCode}&country=US`;
fetch(apiUrl)
.then(response => response.json())
.then(data => {
if (data && data.dealers && data.dealers.length > 0) {
let dealerName = data.dealers[0].name; // Assuming the first dealer is the primary one
dealerContainer.innerText = `Expert Dealer: ${dealerName}`;
dealerContainer.style.display = "block";
} else {
dealerContainer.innerText = "No dealer found for this ZIP Code.";
dealerContainer.style.display = "block";
}
})
.catch(error => {
console.error("Error fetching dealer info:", error);
dealerContainer.innerText = "Error fetching dealer information.";
dealerContainer.style.display = "block";
});
}
});