var error;

function isInt(strString)
{
	if (strString.length == 0) return true;

	var strValidChars = "0123456789-,.";
	var strChar;

	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length ; i++)
	{
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1)
		{
			return false;
		}
	}
	return true;

}

function isDouble(strString, fractionAmount)
{

	if (strString.length == 0) return true;

	var whole='';
	var fraction='';

	var pos=strString.indexOf('.')
	if (pos==-1)
	{
		whole=strString;
	}
	else
	{
		whole=strString.substring(0,pos);
		fraction=strString.substring(pos+1);
	}

	if (isInt(whole) && isInt(fraction) && fraction.length<=fractionAmount)
	{
		return true;
	}

	return false;
} 

function isNumeric(strString)
//  check for valid numeric strings	
{
	return isDouble(strString, 0);
}

function strToInt(strString)
{
	if (isInt(strString))
	{
		var r=0;
		var d=1;
		var sign=1;
		var drobnoe=false;
		var drPart=0;
		for (i = strString.length-1; i > -1 ; i--)
		{
			num=strString.substring(i,i+1);
			if (num=='-')
			{
				r=-r;
			}
			else if ((num==',')||(num=='.'))
			{			
				r = r/d;
				d=1;				
			} else
			{
				r=r+num*d;				
				d=d*10;
			}
		}
	
		return r;
	}
	error=error_only_numbers;
	return false;
}



var lastObject;
var changeFocus=false;
function checkObject(obj)
	{
	//alert(objName);
	if ((obj.name=='atmDay') || (obj.name=='endDay') || (obj.name=='startDay'))
		{
			if ((obj.value>31)|| (obj.value<1)) {
				obj.value='';
				alert(errorDay);
				lastObject=eval(obj);
				changeFocus=true;
				return;
			}
		}
		
	if ((obj.name=='atmMon') || (obj.name=='endMon') || (obj.name=='startMon'))
		{
			if ((obj.value>12)|| (obj.value<1)) {
				obj.value='';
				alert(errorMon);
				lastObject=eval(obj);
				changeFocus=true;
				return;
			}
		}
		
	if ((obj.name=='atmYear') || (obj.name=='endYear') || (obj.name=='startYear'))
		{
			if ((obj.value>2036) || (obj.value<2005)) {
				obj.value='';
				alert(errorYear);
				lastObject=eval(obj);
				changeFocus=true;
				return;
			}
		}
	//alert (obj.name)
	}
	
function checkFocus()
	{
	if (changeFocus)
		{
		changeFocus=false;
		lastObject.focus();
		}
	}

function checkDates()
	{
	var startDate=strToInt(document.clacForm.startYear.value)*10000+strToInt(document.clacForm.startMon.value)*100+strToInt(document.clacForm.startDay.value);
	var endDate=strToInt(document.clacForm.endYear.value)*10000+strToInt(document.clacForm.endMon.value)*100+strToInt(document.clacForm.endDay.value);
	if (startDate<endDate) return true;
							else return false;
	}
function checkCalcForm()
	{
	//procenti=4.5%25&startDay=&startMon=&startYear=&atmDay=&atmMon=&atmYear=&endDay=&endMon=&endYear=#
	if (document.clacForm.summa.value 
		&& document.clacForm.procenti.value 
		&& document.clacForm.startDay.value 
		&& document.clacForm.startMon.value 
		&& document.clacForm.startYear.value 
		&& document.clacForm.atmDay.value 
		&& document.clacForm.atmMon.value 
		&& document.clacForm.atmYear.value 
		&& document.clacForm.endDay.value 
		&& document.clacForm.endMon.value 
		&& document.clacForm.endYear.value)
			{
			if (checkDates()) 
				{
					//alert('ok');
					document.clacForm.submit(); 
					return;
				}	else error=errorDates;
			}
		else error=errorNotAll;
		if (error) alert(error);
	}
