var whitespace = " \t\n\r";

function check(field)
{
	if (isNaN(field.value))
	{
		alert("Only numeric values are valid as input");
		if (field.value.length >0)
		{
			field.value = field.value.substr(0, field.value.length-1);
		}
	}
}

function recalculate()
{
	if (validateForm())
	{
		var p = new Number(document.form1.psum.value);
		var r = new Number(document.form1.pa.value)/100;
		
		var arr_fdate = document.form1.fdate.value.split('/');
		var fdate = new Date();
		fdate.setDate(1);
		fdate.setMonth(arr_fdate[1]-1);
	 
		if (arr_fdate[2] < 100) arr_fdate[2] = Number(arr_fdate[2]) + (arr_fdate[2] < 30 ? 2000 : 1900);
		fdate.setFullYear(arr_fdate[2]);

		fdate.setDate(arr_fdate[0]);
		
		
		var arr_tdate = document.form1.tdate.value.split('/');
		var tdate = new Date();
		tdate.setDate(1);
		tdate.setMonth(arr_tdate[1]-1);
	 
		if (arr_tdate[2] < 100) arr_tdate[2] = Number(arr_tdate[2]) + (arr_tdate[2] < 30 ? 2000 : 1900);
		tdate.setFullYear(arr_tdate[2]);

		tdate.setDate(arr_tdate[0]);
		
		
		
		
		//alert("f=" + fdate.toLocaleString() + " t=" + tdate.toLocaleString());
		var one_day=1000*60*60*24;
		
		var days = new Number((tdate - fdate)/one_day);
		if (days < 0 ) days = -days; 
		
		days = Math.round(days) 
		var n=days/365;
		
		var interest = new Number(p*r*n);
		var acrues = new Number ((p*r)/365);
		document.form1.days.value = days;
		document.form1.interest.value = interest.toFixed(2);
		document.form1.acrues.value = acrues.toFixed(2);
		document.form1.pandi.value = (interest+p).toFixed(2);
	}
}

function isEmpty(s)
{   
	return ((s == null) || (s.length == 0))
}

function isWhitespace(s)
{   var i;

    // Is s empty?
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
	// Check that current character isn't whitespace.
	var c = s.charAt(i);

	if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;
}
function ForceEntry(objField, FieldName)
{
	var strField = new String(objField.value);
	if (isWhitespace(strField)) 
	{
		alert("You need to enter information for " + FieldName);
		objField.focus();
		objField.select();
		return false;
	}

	return true;
}

function validateForm()
{
	var returnCode = true;
	returnCode = ForceEntry(document.form1.psum, "Principal Sum");
	
	if (returnCode) 
	{
		returnCode = ForceEntry(document.form1.pa, "Interest Rate(PA)");
	}
	
	if (returnCode) 
	{
		returnCode = ForceEntry(document.form1.fdate, "Interest From Date");
	}
	
	
	if (returnCode) 
	{
		returnCode = ForceEntry(document.form1.tdate, "Interest To Date");
	}
	
	if (returnCode) 
	{
		if (isNaN(document.form1.psum.value))
		{
			alert("Only numeric values are valid as input for Principal Sum");
			returnCode = false;
		}
	}
	
	if (returnCode) 
	{
		if (isNaN(document.form1.pa.value))
		{
			alert("Only numeric values are valid as input for Interest Rate(PA)");
			returnCode = false;
		}
	}
	

	if (returnCode) 
	{
		returnCode = cal_prs_date1(document.form1.fdate.value);
	}
	if (returnCode) 
	{
		returnCode = cal_prs_date1(document.form1.tdate.value);
	}
	return returnCode;
}
