מחשבון חומרי בנייה (בטון B40 + פלדה) לממ"ד
(function () {
'use strict';
/* ===== הנחות חישוב – ניתן לעדכן כאן ===== */
var CFG = {
wallThickness: 0.25, /* עובי קיר (מ') */
ceilingThickness: 0.25, /* עובי תקרה (מ') */
floorThickness: 0.30, /* עובי רצפה/יסוד (מ') */
innerHeight: 2.5, /* גובה פנים (מ') */
openingsDeduction: 0.65, /* הפחתת נפח פתחים: דלת הדף + חלון (מ"ק) */
steelPerM3: 0.12, /* טון פלדה לכל מ"ק בטון */
wasteFactor: 1.05 /* 5% פחת */
};
var areaInput = document.getElementById('areaMat');
var areaVal = document.getElementById('areaMatVal');
var floorCheck = document.getElementById('includeFloorMat');
var concretePriceInput = document.getElementById('concreteUnitPrice');
var steelPriceInput = document.getElementById('steelUnitPrice');
var concreteQuantEl = document.getElementById('concreteQuant');
var concretePriceEl = document.getElementById('concretePrice');
var steelQuantEl = document.getElementById('steelQuant');
var steelPriceEl = document.getElementById('steelPrice');
var totalEl = document.getElementById('totalMatCost');
if (!areaInput || !areaVal || !floorCheck || !concretePriceInput || !steelPriceInput || !totalEl) { return; }
function fmt(n) { return Math.round(n).toLocaleString('he-IL'); }
function update() {
var area = parseFloat(areaInput.value) || 0;
areaVal.textContent = area + ' מ"ר';
/* הנחת חדר ריבועי: חישוב נפחי בטון לפי מידות בפועל */
var side = Math.sqrt(area);
var extSide = side + 2 * CFG.wallThickness;
var wallVol = 4 * (side + CFG.wallThickness) * CFG.innerHeight * CFG.wallThickness – CFG.openingsDeduction;
if (wallVol < 0) { wallVol = 0; }
var ceilingVol = extSide * extSide * CFG.ceilingThickness;
var floorVol = floorCheck.checked ? extSide * extSide * CFG.floorThickness : 0;
var concreteM3 = (wallVol + ceilingVol + floorVol) * CFG.wasteFactor;
var steelTon = concreteM3 * CFG.steelPerM3;
var concreteUnit = Math.max(0, parseFloat(concretePriceInput.value) || 0);
var steelUnit = Math.max(0, parseFloat(steelPriceInput.value) || 0);
var concreteCost = concreteM3 * concreteUnit;
var steelCost = steelTon * steelUnit;
concreteQuantEl.textContent = concreteM3.toFixed(1);
concretePriceEl.textContent = fmt(concreteCost);
steelQuantEl.textContent = steelTon.toFixed(2);
steelPriceEl.textContent = fmt(steelCost);
totalEl.textContent = fmt(concreteCost + steelCost);
}
areaInput.addEventListener('input', update);
floorCheck.addEventListener('change', update);
concretePriceInput.addEventListener('input', update);
steelPriceInput.addEventListener('input', update);
update();
})();



