Grove Fountain Views

0 Property
Sort by:

Compare listings

Compare
document.addEventListener("DOMContentLoaded", function () { const wrapper = document.getElementById("nasLangCurrency"); if (!wrapper) return; // safety const trigger = document.getElementById("nasLangTrigger"); const panel = document.getElementById("nasLangPanel"); const langSelect = panel.querySelector('.nas-select-lang'); const currSelect = panel.querySelector('.nas-select-curr'); const langValueEl = document.getElementById("nasLangValue"); const currValueEl = document.getElementById("nasCurrValue"); const triggerLangShort = document.getElementById("nasTriggerLang"); const triggerCurrShort = document.getElementById("nasTriggerCurr"); const unitButtons = panel.querySelectorAll(".nas-unit-btn"); console.log("NAS language switcher JS loaded"); // open/close main panel trigger.addEventListener("click", function (e) { e.stopPropagation(); wrapper.classList.toggle("is-open"); }); // click outside to close document.addEventListener("click", function (e) { if (!wrapper.contains(e.target)) { wrapper.classList.remove("is-open"); langSelect.classList.remove("open"); currSelect.classList.remove("open"); } }); // helper for custom select function setupSelect(selectEl) { const toggle = selectEl.querySelector(".nas-select-toggle"); const menu = selectEl.querySelector(".nas-select-menu"); const valueSpan = selectEl.querySelector(".nas-select-value"); toggle.addEventListener("click", function (e) { e.stopPropagation(); // close other selects document.querySelectorAll(".nas-select").forEach(function (s) { if (s !== selectEl) s.classList.remove("open"); }); selectEl.classList.toggle("open"); }); menu.querySelectorAll("li").forEach(function (item) { item.addEventListener("click", function (e) { e.stopPropagation(); menu.querySelectorAll("li").forEach(li => li.classList.remove("active")); item.classList.add("active"); valueSpan.textContent = item.textContent; selectEl.classList.remove("open"); if (selectEl.dataset.select === "language") { triggerLangShort.textContent = item.dataset.short; } else if (selectEl.dataset.select === "currency") { triggerCurrShort.textContent = item.dataset.short; } }); }); } setupSelect(langSelect); setupSelect(currSelect); // unit buttons SQ FT / SQ M unitButtons.forEach(btn => { btn.addEventListener("click", function () { unitButtons.forEach(b => b.classList.remove("active")); btn.classList.add("active"); }); }); // Save button document.getElementById("nasSaveBtn").addEventListener("click", function () { wrapper.classList.remove("is-open"); // later: hook this to WPML/currency switch }); });