И JavaScript к нему присобачен - файл calc.js. Вот кусок из него(окончание):
var form = $("#calculator");
$.validator.addMethod("mynumber", function (value, element) {
return this.optional(element) || /^(\d+|\d+(,|.)?\d{1,2})$/.test(value);
}, "Введите число");
$.validator.addMethod("minCustom", function( value, element, param ) {
return this.optional( element ) || value.replace(",",".") >= param;
}, "Введите число больше 0");
form.validate({
rules: {
length:{
required: true,
mynumber: true,
minCustom: 1
},
width:{
required: true,
mynumber: true,
minCustom: 1
},
lights:{
required: true,
digits: true
},
chandeliers:{
required: true,
digits: true
},
pipelines:{
required: true,
digits: true
},
angles:{
required: true,
digits: true,
min: 4
}
},
messages: {
length:{
required: 'Это поле обязательно',
/*number: 'Введите число',
min: 'Введите число больше 0'*/
},
width:{
required: 'Это поле обязательно',
/*number: 'Введите число',
min: 'Введите число больше 0'*/
},
lights:{
required: 'Это поле обязательно',
digits: 'Введите число'
},
chandeliers:{
required: 'Это поле обязательно',
digits: 'Введите число'
},
pipelines:{
required: 'Это поле обязательно',
digits: 'Введите число'
},
angles:{
required: 'Это поле обязательно',
digits: 'Введите число',
min: 'Кол-во углов должно быть больше 4'
}
},
submitHandler: function(form) {
console.log("it's ok");
}
});
var prices = {
mat: {
ger_pongs: 400,
chi_msd: 300,
bel_ptsm: 350,
fra_ctn: 470
},
sat: {
ger_pongs: 400,
chi_msd: 300,
bel_ptsm: 350,
fra_ctn: 470
},
gla: {
ger_pongs: 430,
chi_msd: 330,
bel_ptsm: 380,
fra_ctn: 500
},
matw: {
ger_descor: 750,
fra_clipso: 1470,
ita_cerutti: 1550
}
};
$('#calc-btn').click(function() {
if( form.valid() ){
var material = $("#material").val();
var country = $("#country").val();
var price = prices[material][country];
var length = $('#length').val();
length = parseFloat( length.replace(",",".") );
var width = $('#width').val();
width = parseFloat( width.replace(",",".") );
var lights = $('#lights').val();
var chandeliers = $('#chandeliers').val();
var pipelines = $('#pipelines').val();
var angles = $('#angles').val();
var priceResult = ( length*width*price ) + ( chandeliers*280 ) + ( ( angles-4 )*120 ) + ( pipelines*220 )+ ( ( (length+width)*2 )*200 ) + (lights*450);
$('#price-result').empty();
$('#price-result').text(priceResult);
$('#calculator tr.price').removeClass('hidden');
$('.price_block div').css('display','block');
}else{
$('#calculator tr.price').addClass('hidden');
}
});
});