Имеется js скрипт калькулятора:
var calculator = function(){
if ($('calculation') !== null) {
/*Вставить в любое место в javascripte, где удобно*/
arDiametr = []; //массив цен.
arDiametr[160] = 4000; //ключ - размер, значениен цена.
arDiametr[180] = 5000;
arDiametr[200] = 6000;
arDiametr[220] = 6500;
arDiametr[240] = 7000;
arDiametr[260] = 7500;
arDiametr[280] = 8000;
arDiametr[300] = 8500;
arDiametr[320] = 10500;
/*Вставить в любое место в javascripte, где удобно*/
var fixSizeW = 0; //доп мм для размера дома
var fixSizeOth = 0; //доп мм для размера надстроек
$('calculation').addEvent('click', function(){
var allSize = $(document.body).getElements('.Size');
var price = $(document.body).getElementById('diametr').get('value');
var space = 0;
Array.each(allSize, function(elem){
var inputs = elem.getElements('input');
var count = (elem.id === 'sizeWood')? $(document).getElement('input[name=level]').value : 1;
var addSize = (elem.id === 'sizeWood')? fixSizeW : fixSizeOth;
if (/[0-9]+/.test(inputs[0].value) !== false && /[0-9]+/.test(inputs[1].value) !== false)
space += (parseInt(inputs[0].value) + addSize) * (parseInt(inputs[1].value) + addSize) * count;
});
$(document).getElements('input[name=result]')[0].value = (space / 1000000 * price).toFixed(2);
});
var addNewStructure = function(){
var inputs = $(this).getParent('.Size').getElements('input');
var needAdd = true;
Array.each(inputs, function(elem){
var inp = $(document).getElements('input[name=' + elem.name + ']');
Array.each(inp, function(el){
if (/[0-9]+/.test(el.value) === false) {
needAdd = false;
}
});
})
if (needAdd === true) {
var newStruct = $(this).getParent('.Wood').clone();
Array.each(newStruct.getElements('input'), function(elem){
elem.value = '';
});
newStruct.inject($(this).getParent('.Wood'), 'after');
$(document).getElements('.StructureHouse input[type=text][name!=level]').removeEvent('blur').addEvent('blur', addNewStructure);
}
}
$(document).getElements('.StructureHouse input[type=text][name!=level]').addEvent('blur', addNewStructure);
var createSelect = (function() {
var selObj = $(document).getElementById('diametr');
Array.each(arDiametr, function(val, key){
var newOption = new Element('option', {
'value': val,
'text': key
}
);
newOption.inject(selObj);
});
}())
}
$(document.body).addEvent('contextmenu', function(e){
e.event.cancelBubble = true;
return false;
});
}
И форма вывода:
<center>
<div class="Main">
<div class="CalcContainer">
<div class="CalcHeader">
<h1>Калькулятор</h1>
<div class="B"></div>
</div><!--.CalcHeader-->
<div class="CalcForm">
<div class="TypeWood">
<div class="Wood">
<div class="CalcTitle">
Размер:
</div><!--.CalcTitle-->
<div class="Size" id="sizeWood">
<input type="text" name="lengthWood" value="" size="4" /> x
<input type="text" name="widthWood" value="" size="4" />
<span>(в мм)</span>
</div><!--.Size-->
<div class="B"></div>
</div><!--.Wood-->
<div class="Wood">
<div class="CalcTitle">
Диаметр бревна:
</div><!--.CalcTitle-->
<div class="SelectDiametr" id="selectDiametr">
<select id="diametr">
<option disabled="disabled">Выберите диаметр</option>
<option>160</option>
<option>180</option>
<option>200</option>
<option>220</option>
<option>240</option>
<option>260</option>
<option>280</option>
<option>300</option>
<option>320</option>
</select>
<span>(в мм)</span>
</div><!--.SelectDiametr-->
<div class="B"></div>
</div><!--.Wood-->
<div class="B"></div>
</div><!--.TypeWood-->
<div class="StructureHouse">
<div class="Wood">
<div class="CalcTitle">
Этажи:
</div><!--.CalcTitle-->
<div class="CountLevel" id="countLevel">
<input type="text" name="level" value="" size="4" />
<span>(в едн)</span>
</div><!--.CountLevel-->
<div class="B"></div>
</div><!--.Wood-->
<div class="Wood">
<div class="CalcTitle">
Крыльцо:
</div><!--.CalcTitle-->
<div class="Size" id="sizePorch">
<input type="text" name="lengthPorch" value="" size="4" /> x
<input type="text" name="widthPorch" value="" size="4" />
<span>(в мм)</span>
</div><!--.Size-->
<div class="B"></div>
</div><!--.Wood-->
<div class="Wood">
<div class="CalcTitle">
Терраса:
</div><!--.CalcTitle-->
<div class="Size" id="sizeTerrace">
<input type="text" name="lengthTerrace" value="" size="4" /> x
<input type="text" name="widthTerrace" value="" size="4" />
<span>(в мм)</span>
</div><!--.Size-->
<div class="B"></div>
</div><!--.Wood-->
<div class="Wood">
<div class="CalcTitle">
Балкон:
</div><!--.CalcTitle-->
<div class="Size" id="sizeBalcony">
<input type="text" name="lengthBalcony" value="" size="4" /> x
<input type="text" name="widthBalcony" value="" size="4" />
<span>(в мм)</span>
</div><!--.Size-->
<div class="B"></div>
</div><!--.Wood-->
<div class="B"></div>
</div><!--.StructureHouse-->
<div class="MaleCalculation">
<div class="Wood">
<div class="CalcButton">
<input type="button" value="Рассчитать" id="calculation" />
</div><!--.CalcTitle-->
<div class="Result" id="result">
<input type="text" readonly="readonly" value="0" name="result"/>
</div><!--.Result-->
<div class="B"></div>
</div><!--.Wood-->
</div><!--.MaleCalculation-->
<div class="B"></div>
</div><!--.CalcForm-->
</div>
</div><!--.Main-->
</center>
Раньше всё работало, но вот обновил сайт и вставляю это всё на страничку, но калькулятор не работает - при нажатии кнопки "рассчитать" ничего не происходит. Может кто-нибудь сможет в этом разобраться и подсказать, что здесь не так?
PS. Извиняюсь за длинный код, но не нашел, как под спойлер спрятать.