/*
Budget Calculator
*/

function cattle(form)
{
var B3 = eval(form.B3.value);
var C7 = form.C7.value;
var C8 = eval(form.C8.value);
var C9 = eval(form.C9.value);
var C10 = eval(form.C10.value);
var C11 = eval(form.C11.value);
var C12 = eval(form.C12.value);
var C13 = eval(form.C13.value);
var C14 = eval(form.C14.value);
var C15 = eval(form.C15.value);
var C16 = eval(form.C16.value);
var C17 = eval(form.C17.value);
var C18 = eval(form.C18.value);

var C19 = C8+C10
var F14 = C10/B3
var E9 = C8*C9
var E11 = C10*C11
var E12 = C12
var E13 = C13
var E14 = ((E9*(C14/100))/365)*F14
var E15 = ((E11*0.54*(C15/100))/365)*F14
var E16 = C16 * F14
var E17 = E9*(C17/100)
var E18 = C18
var E19 = E9 + E11 + E12 + E13 + E14 + E15 + E16 + E17 + E18
var E20 = (E19/C19)*100

form.C19.value = C19
form.E9.value = E9
form.E11.value = E11
form.E12.value = E12
form.E13.value = E13
form.E14.value = (Math.round(E14*100))/100
form.E15.value = (Math.round(E15*100))/100
form.E16.value = (Math.round(E16*100))/100
form.E17.value = E17
form.E18.value = E18
form.E19.value = (Math.round(E19*100))/100
form.E20.value = (Math.round(E20*100))/100
form.F14.value = Math.round(F14)


form.E22.value = isValidDate(form.C7.value,Math.round(F14))

}


function isValidDate(dateStr, days) {
// Date validation
// Checks for the following valid date formats:
// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2,4})$/; // requires 4 digit year

var matchArray = dateStr.match(datePat); // is the format ok?
if (matchArray == null)
	{
	alert(dateStr + " Date is not in a valid format.")
	return false;
	}

month = matchArray[1]; // parse date into variables
day = matchArray[3];
year = matchArray[4];

if (month < 1 || month > 12)
	{ // check month range
	alert("Month must be between 1 and 12.");
	return false;
	}

if (day < 1 || day > 31)
	{
	alert("Day must be between 1 and 31.");
	return false;
	}

if ((month==4 || month==6 || month==9 || month==11) && day==31)
	{
	alert("Month "+month+" doesn't have 31 days!")
	return false;
	}

if (month == 2)
	{ // check for february 29th
	var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
	if (day>29 || (day==29 && !isleap)) {
	alert("February " + year + " doesn't have " + day + " days!");
	return false;
   	}

}

date1 = new Date();
var s;
var tempyear;

day2=eval(day)+days
month2=eval(month)-1
date1temp = new Date(year,month2,day2);
date1.setTime(date1temp.getTime());
s = (date1.getMonth() + 1) + "/";
s += date1.getDate() + "/";

//if the year is 2 digit we need to add a 0

tempyear = "";

tempyear = tempyear + date1.getYear();
if (tempyear.length ==1)
	{
	tempyear = "0" + tempyear;
	}
if(tempyear.length==3)
{
	tempyear="20" + tempyear.substr(1);
}
s += tempyear;

return s;
}