coloboque,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<form id="form" name="form">
<input id="vis" type="text" value="2300" /> высота, в мм
<br/>
<input id="shir" type="text" value="3800" /> ширина, в мм
<br/>
<b>Наполнение:</b>
<br/>
<select id="fill">
<option>Выбрать</option>
<option value="1300">Стекло</option>
<option value="1500">Зеркало </option>
<option value="1400">Ротанг</option>
<option value="1400">ДСП</option>
</select><br/>
<div>Рекомендованное количество дверей: <span id="recdver">0</span> шт.</div>
<div>Минимальное количество дверей: <span id="mindver">0</span> шт.</div>
<b>Кол-во дверей:</b>
<br/>
<select id="dveri">
<option value="0">Выбрать</option>
<option id="2dveri" value="2">2</option>
<option id="3dveri" value="3">3</option>
<option id="4dveri" value="4">4</option>
<option id="5dveri" value="5">5</option>
<option id="6dveri" value="6">6</option>
<option id="7dveri" value="7">7</option>
<option id="8dveri" value="8">8</option>
</select>
<div>Ширина 1ой двери: <span id="sh1dver">0</span> мм.</div>
<br/>
<input type="checkbox" value="1000" id="dost" />
<label for="dost">Требуется доставка?</label>
<br/>
<input type="checkbox" value="700" id="ust" />
<label for="ust">Требуется установка?</label>
<br/>
<input type="checkbox" value="1350" id="ris" />
<label for="ris">Нанесение пескоструйных рисунков</label>
<div>Примерная стоимость дверей: <span id="result">0</span> руб.</div>
</form>
<script>
document.body.onload = function() {
function calc() {
var d = document, profil = risunok = ustanovka = dostavka = 0;
var vis = +d.getElementById("vis").value,
shir = +d.getElementById("shir").value,
dveri = d.getElementById("dveri"),
fill = d.getElementById("fill"),
dost = d.getElementById("dost"),
ust = d.getElementById("ust"),
ris = d.getElementById("ris"),
result = d.getElementById("result"),
recvder = d.getElementById("recvder");
mindver = d.getElementById("mindver");
sh1dver = d.getElementById("sh1dver");
if (vis > 2600) {alert('К сожалению, мы производим двери высотой только до 2600мм! Введите другое значение')
};
if (shir < 600) {alert('Шкаф слишком узкий!')
};
var rec;
rec = Math.ceil(shir/800);
var mindveri;
mindveri = Math.ceil(shir/1200);
if(mindveri >= 3) {
if(dveri.options[dveri.selectedIndex].value == '2') {dveri.options[2].selected = true;}
d.getElementById('2dveri').disabled = true;
}
else d.getElementById('2dveri').disabled = false;
if(mindveri >= 4) {
if(dveri.options[dveri.selectedIndex].value == '3') {dveri.options[3].selected = true;}
d.getElementById('3dveri').disabled = true;
}
else d.getElementById('3dveri').disabled = false;
if(mindveri >= 5) {
if(dveri.options[dveri.selectedIndex].value == '4') {dveri.options[4].selected = true;}
d.getElementById('4dveri').disabled = true;
}
else d.getElementById('4dveri').disabled = false;
if(fill.selectedIndex == 3 || fill.selectedIndex == 4) {
ris.checked = false;
ris.disabled = true;
} else {
ris.disabled = false;
};
var sq = shir * vis / 1000000,
cdveri = +dveri.value||mindveri;
var shirdver;
shirdver = Math.ceil(shir/cdveri);
if (shirdver <= 600) profil = 2472 * cdveri;
else if (shirdver <= 800) profil = 2666 * cdveri;
else if (shirdver <= 1200) profil = 3053.5 * cdveri;
if (ust.checked) ustanovka = +ust.value * cdveri;
if (dost.checked) dostavka = +dost.value;
if (ris.checked) risunok = +ris.value * cdveri;
recdver.innerHTML = rec;
mindver.innerHTML = mindveri;
sh1dver.innerHTML = shirdver;
result.innerHTML = Math.ceil(sq +(+fill.value||0) + profil + dostavka + ustanovka + risunok );
};
document.form.onchange = calc;
calc();
}
</script>
</body>
</html>