Meny

Takskjutport

Välj RAL-kulör

Digital förhandsvisning på skärm (ca). Slutlig kulör kan avvika – be gärna om färgprov.
Få pris på garageport
Ingen vald
OBS: Skärmar visar färg olika. Vid exakt kulör – beställ alltid prov.
Nuvarande: Ingen vald
Snabbval
Klicka för att se på porten
Alla RAL
Förhandsvisningen använder blend: multiply (låst) för mer realistiskt resultat.
'; b.querySelector(".ff-ral__sw").style.background = it.h; b.addEventListener("click", function(){ setCurrent(it); }); quickEl.appendChild(b); }); } function buildSelect(list, filter){ var ft = (filter||"").toLowerCase().trim(); sel.innerHTML = ""; var o0 = document.createElement("option"); o0.value = ""; o0.textContent = "Välj en RAL-kulör…"; sel.appendChild(o0); var shown = 0; list.forEach(function(it){ var hay = ("RAL " + it.c + " " + (it.n||"")).toLowerCase(); if(ft && hay.indexOf(ft) === -1 && it.c.indexOf(ft) === -1) return; var o = document.createElement("option"); o.value = it.c; o.textContent = "RAL " + it.c + " – " + it.n; sel.appendChild(o); shown++; }); countEl.textContent = shown + " st"; } function attachEvents(){ btnApply.addEventListener("click", function(){ if(!sel.value) return; var it = findByCode(sel.value); if(it) setCurrent(it); }); sel.addEventListener("change", function(){ if(!sel.value) return; var it = findByCode(sel.value); if(it) setCurrent(it); }); search.addEventListener("input", function(){ var q = (search.value||"").trim(); // om någon skriver "ral 7016" var q2 = q.replace(/ral/ig,"").trim(); // filtrera dropdown buildSelect(RAL.length ? RAL : QUICK, q2); // om exakt 4 siffror -> auto-apply if(/^\d{4}$/.test(q2)){ var it = findByCode(q2); if(it){ sel.value = it.c; setCurrent(it); } } }); btnClear.addEventListener("click", function(){ search.value = ""; buildSelect(RAL.length ? RAL : QUICK, ""); sel.value = ""; setCurrent(null); }); btnCopy.addEventListener("click", function(){ if(!selected) return; var txt = "RAL " + selected.c; try{ navigator.clipboard.writeText(txt); }catch(e){ var ta=document.createElement("textarea"); ta.value=txt; document.body.appendChild(ta); ta.select(); document.execCommand("copy"); ta.remove(); } var old = btnCopy.textContent; btnCopy.textContent = "Kopierad!"; setTimeout(function(){ btnCopy.textContent = old; }, 900); }); } // init UI buildQuick(); attachEvents(); // Ladda full lista – annars fallback fetchRalClassic() .then(function(list){ RAL = list && list.length ? list : []; if(!RAL.length) RAL = QUICK.slice(0); buildSelect(RAL, ""); // startvärde var start = defaultRal ? findByCode(defaultRal) : null; if(start){ sel.value = start.c; setCurrent(start); }else{ setCurrent(null); } }) .catch(function(){ // fallback: bara snabbval i dropdown RAL = QUICK.slice(0); buildSelect(RAL, ""); var start2 = defaultRal ? findByCode(defaultRal) : null; if(start2){ sel.value = start2.c; setCurrent(start2); }else{ setCurrent(null); } }); } if(document.readyState === "loading") document.addEventListener("DOMContentLoaded", boot); else boot(); })();

Frågor & Svar