
function right_real(str)
{
	if (str!='') {	
		var zap = str.indexOf(',');
		if (zap!=-1) str = str.substring(0,zap) + '.' + str.substring(zap+1);
	}
	str = str * 1;
	return str;
}
<!--подсчет периметра-->
function calc_perimetr()
{
	mylength = right_real(calc.mylength.value);
	mywidth = right_real(calc.mywidth.value);
	calc.perimetr.value = (mylength + mywidth)*2;
}


function calc_result()
{
	oboi = right_real(calc.oboi.value);
	if (oboi==1){
	wwidth=53; lengh=10.05;
	} else { if (oboi==2)
					{
	wwidth=70; lengh=10;
					} else 
					{
	if (oboi==3)	
						{
						wwidth=106; lengh=10;
						} else 
						{
	wwidth=106; lengh=25;
						}
						}
						}
	
	perim = right_real(calc.perimetr.value)*100;
	//wwidth = 	right_real(calc.wwidth.value)*1;
	if (wwidth!=0) cp = Math.ceil(perim / wwidth); else cp = 0;
	//alert(cp);
	
	rapport = right_real(calc.rapport.value);
	//alert(rapport);

	if (calc.sdvig.checked)
	{
		sdvig = rapport / 2; 
	} else {
		sdvig = 0; 
	}

	//alert(rapport);
	zapas = calc.zapas.value*1
	
	hp = right_real(calc.pheight.value)*100 + zapas;
	if (rapport!=0) {
		povtor = Math.ceil(hp / rapport);
		hp_real = povtor * rapport + sdvig;
	} else {
		hp_real = hp;
	}
	//alert(hp_real);
	result = Math.ceil(hp_real * cp / 100 / lengh);
	calc.result.value = result;
	border = right_real(calc.border.value);
	if (border==1) {
	calc.borresult.value = 0;
	} else { if (border==2)
	{
	calc.borresult.value = Math.ceil(calc.perimetr.value / 5);
	} else 
						{
	calc.borresult.value = Math.ceil(calc.perimetr.value / 10);
						}
						}
	return false;
}



function check_valid(formObj) {
	/*
	функция проверка корректности заполнения формы
	Last modified by DoTJ 30.05.2007
	http://dotj.ru/
	*/

	if(empty_field(formObj.perimetr, 0, 0)) {
		if( (empty_field(formObj.width, 0, 0)) && (empty_field(formObj.height, 0, 0)) ) {
			alert('Необходимо заполнить поля Ширина и Высота помещения, либо периметр');  return false;
		}
	}

    if( empty_field(formObj.height, 0, 0)  ) { alert('Необходимо заполнить поле ' + formObj.height.title); return false; }

    if( empty_field(formObj.door_height, 1, 1)  ) { alert('Необходимо заполнить поле ' + formObj.door_height.title); return false; }
    if( empty_field(formObj.door_width, 1, 1)  ) { alert('Необходимо заполнить поле ' + formObj.door_width.title); return false; }

	if( empty_field(formObj.wp_width, 0, 0)  ) { alert('Необходимо заполнить поле ' + formObj.wp_width.title); return false; }
	if( empty_field(formObj.wp_rapp_img, 0, 1)  ) { alert('Необходимо заполнить поле ' + formObj.wp_rapp_img.title); return false; }

	if( empty_field(formObj.rulon_length, 1, 1)  ) { alert('Необходимо заполнить поле ' + formObj.rulon_length.title); return false; }
	if( empty_field(formObj.price, 1, 1)  ) { alert('Необходимо заполнить поле ' + formObj.price.title); return false; }
}

function empty_field(textObj, could_be_empty, could_be_null) {
	/*
	функция проверки правильности заполнения текстового поля
	Last modified by DoTJ 30.05.2007
	*/

	if(could_be_empty == "0") {
		if(textObj.value == "") { return true; }
	}

	if(could_be_null == "0") {
		if(textObj.value == "0") { return true; }
	}

	if(textObj.value.length == 0) { return false; }
	for(var i=0; i<textObj.value.length; i++) {
		var ch = textObj.value.charAt(i);
		if( ((ch < '0') || (ch > '9')) && (ch != '.') && (ch != ',') ) { return true; }
	}

	return false;
}

