utvidet verandakalkulator

<div class=»deck-shape-selector»>
<label>Velg form på veranda:</label>
<select id=»shape» onchange=»updateInputs()»>
<option value=»square»>Rektangulær</option>
<option value=»l-shape»>L-formet</option>
<option value=»u-shape»>U-formet</option>
</select>
</div>

<div id=»input-fields»>
<div id=»section-a»>
<h4>Seksjon A (Hoveddel)</h4>
Lengde (m): <input type=»number» id=»lA» value=»4″>
Bredde (m): <input type=»number» id=»bA» value=»3″>
</div>

<div id=»section-b» style=»display:none;»>
<h4>Seksjon B</h4>
Lengde (m): <input type=»number» id=»lB» value=»2″>
Bredde (m): <input type=»number» id=»bB» value=»2″>
</div>

<div id=»section-c» style=»display:none;»>
<h4>Seksjon C</h4>
Lengde (m): <input type=»number» id=»lC» value=»2″>
Bredde (m): <input type=»number» id=»bC» value=»2″>
</div>
</div>

<button onclick=»calculateAdvanced()»>Beregn materialer</button>

<div id=»result-advanced»></div>

<script>
function updateInputs() {
const shape = document.getElementById(‘shape’).value;
document.getElementById(‘section-b’).style.display = (shape === ‘l-shape’ || shape === ‘u-shape’) ? ‘block’ : ‘none’;
document.getElementById(‘section-c’).style.display = (shape === ‘u-shape’) ? ‘block’ : ‘none’;
}

function calculateAdvanced() {
const shape = document.getElementById(‘shape’).value;
let totalArea = 0;

// Henter verdier for Seksjon A
const lA = parseFloat(document.getElementById(‘lA’).value);
const bA = parseFloat(document.getElementById(‘bA’).value);
totalArea += (lA * bA);

// Legger til Seksjon B hvis valgt
if (shape === ‘l-shape’ || shape === ‘u-shape’) {
const lB = parseFloat(document.getElementById(‘lB’).value);
const bB = parseFloat(document.getElementById(‘bB’).value);
totalArea += (lB * bB);
}

// Legger til Seksjon C hvis valgt
if (shape === ‘u-shape’) {
const lC = parseFloat(document.getElementById(‘lC’).value);
const bC = parseFloat(document.getElementById(‘bC’).value);
totalArea += (lC * bC);
}

// Beregning med svinn og fuge (bruker dine standarder: 10% svinn, 5mm fuge)
// For 120mm bord + 5mm fuge = 125mm (0.125m)
const løpemeter = (totalArea / 0.125) * 1.10;
const skruer = totalArea * 35; // Estimert 35 skruer per m2

document.getElementById(‘result-advanced’).innerHTML = `
<strong>Totalareal:</strong> ${totalArea.toFixed(2)} m²<br>
<strong>Terrassebord (28×120):</strong> ca. ${Math.ceil(løpemeter)} løpemeter<br>
<strong>Terrasseskruer:</strong> ca. ${Math.ceil(skruer)} stk
`;
}
</script>