Переписал по своему (не судите строго), учитывая, в меру своего понимания, некоторые ваши замечания.
Получилось вот такое:
<!DOCTYPE HTML>
<html>
<head>
<title>Калькулятор</title>
<meta charset="utf-8"/>
</head>
<body>
<div id="calc">
<table>
<thead>
<tr><td>Устройство</td><td>Мощность</td><td>Пусковая мощность</td><td>Количество</td></tr>
</thead>
<tbody>
<tr><td colspan="4">Освещение (эквивалент 10 лам накаливания 100W</td></tr>
<tr id="item1"><td>На лампах накаливания</td><td><input type="text" value="1000" /></td><td><input type="text" /></td><td><input type="text"/></td></tr>
<tr id="item2"><td>На энергосберегающих лампах</td><td><input type="text" value="200" /></td><td><input type="text" /></td><td><input type="text"/></td></tr>
<tr id="item3"><td>На светодиодных лампах</td><td><input type="text" value="100" /></td><td><input type="text" /></td><td><input type="text"/></td></tr>
<tr><td colspan="4">Системы жизнеобеспечения дома</td></tr>
<tr id="item4"><td>Дополнительный циркуляционный насос</td><td><input type="text" value="60" /></td><td><input type="text" value="120" /></td><td><input type="text"/></td></tr>
<tr id="item5"><td>Двухконтурный газовый котел (турбо)</td><td><input type="text" value="120" /></td><td><input type="text" value="200" /></td><td><input type="text"/></td></tr>
<tr id="item6"><td>Насос скважины</td><td><input type="text" value="1200" /></td><td><input type="text" value="3000" /></td><td><input type="text"/></td></tr>
</tbody>
</table>
<button id="but">Посчитать</button>
Результат:<input type="text" id="res" />
</div>
<script>
var but = document.getElementById("but"); // Определяем кнопку
var res = document.getElementById("res"); // Определяем поле для вывода результат
var doit = function(){
var sum = 0; //Начально значение суммы
var maxpuskpow = 0; //Начально значение максимальной пусковой мощности
var pow = 0; //Начально значение максимальной мощности
var div = document.getElementById("calc");
var rows = div.getElementsByTagName("tr");
for(var n=0; n<rows.length; n++){
var inputs = rows[n].getElementsByTagName("input");
if (inputs.length == 3){ //Проверяем что-бы в этой строчке были инпуты
var pow = inputs[0].value;//определяем значение мощности
var qtt = inputs[2].value; //определяем количество приборов
var sum = (pow*qtt)+sum; // Вычисляем сумму и прибавляем к ней сумму предыдущих вычеслений
var puskpow = inputs[1].value; //определяем значение максимальной мощности
if(puskpow > maxpuskpow && qtt !=0){ //проверка на то указано ли количество и что мощность максимальная из отмеченных
var maxpuskpow = puskpow - pow; // вычитаем из максимальной мощности номинальную
}
res.value = sum + maxpuskpow; // вычисляем суммарную мощность - сумма номинальных мощностей + максимальная пусковая
}
}
}
but.addEventListener('click', doit); //выводим результат по клику
</script>
</body>
</html>
Вроде работает так как и хотел.
Что скажите по качеству кода, не сильно коряво вышло?