// функции работы с числами

function test_111() {
	alert('test is OK');
}

function specificIsNaN (number) {
	if (isNaN(number)==true || (""+number)=="")
		return true;
	else 
		return false;
}

function delStartZero(str) {
	var i=0;
	while (str.charAt(i)=="0") i++;
	if (i==str.length)
		return "0";
	return (i==0) ? str : str.substr(i,str.length);
}

function checkNumber(str) {
	// return -1: не целое число
	// return -2: отрицательное число
	// return -4: пустая строка
	// иначе возвращается полученное целое число
	if (str=="") return -4;
	var newstr=delStartZero(str);
	var intNum = parseInt(newstr, 10);
	var notNumber = specificIsNaN(intNum);
	var strNum = ""+intNum;
	if ((newstr.length > strNum.length) || notNumber == true) 
		return -1;
	else return (intNum < 0) ? -2 : intNum;
}

function checkFloat(str) {
	// return -8: не число
	// return -2: отрицательное число
	// return -4: пустая строка
	if (str=="") return -4;
	var newstr=delStartZero(str);
	newstr=newstr.replace(/,/,".")
	var floatNum = parseFloat(newstr);
	var notNumber = specificIsNaN(floatNum);
	var strNum = ""+floatNum;
	if ((newstr.length > strNum.length) || notNumber == true) 
		return -8;
	else return (floatNum < 0) ? -2 : floatNum;

}
