function calculate()
{  


	var sack = document.getElementById("sack").value;
	if ( sack.length == 0 )
	{
		 alert("Please enter the price of your sack lunch");
		 return;
	}
	sack = fixNumber(sack);
	sack = parseFloat(sack);
	if ( isNaN(sack) )
	{
		 alert("Please enter the price of your sack lunch as a number");
		 return;
	}
	if ( sack < 0 )
	{
		 alert("Please enter a sack lunch price >= 0");
		 return;
	}


	var out = document.getElementById("out").value;
	if ( out.length == 0 )
	{
		 alert("Please enter the price of going out to eat");
		 return;
	}
	out = fixNumber(out);
	out = parseFloat(out);
	if ( isNaN(out) )
	{
		 alert("Please enter the going out price as a number");
		 return;
	}
	if ( out < 0 )
	{
		 alert("Please enter a going out price >= 0");
		 return;
	}

	if ( sack >= out )
	{
		alert("The cost of your sack lunch is greater or equal to the cost of going out.  You won't save any money.");
		return;
	}


	var days = document.getElementById("days").value;
	if ( days.length == 0 )
	{
		 alert("Please enter the number of days per week you go out to eat");
		 return;
	}
	days = fixNumber(days);
	days = parseFloat(days);
	if ( isNaN(days) )
	{
		 alert("Please enter the number of days per week you go out to eat as a number");
		 return;
	}
	if ( days < 1 || days > 7 )
	{
		 alert("Please enter the number of days per week you go out to eat, between 1 and 7");
		 return;
	}



	var years = document.getElementById("years").value;
	if ( years.length == 0 )
	{
		 alert("Please enter the number of years to calculate");
		 return;
	}
	years = fixNumber(years);
	years = parseFloat(years);
	if ( isNaN(years) )
	{
		 alert("Please enter the number of years to calculate as a number");
		 return;
	}
	if ( years < 1 || years > 100 )
	{
		 alert("Please nter the number of years to calculate between 1 and 100");
		 return;
	}
	

	var rate = document.getElementById("rate").value;
	if ( rate.length == 0 )
	{
		 alert("Please enter an interest rate");
		 return;
	}
	rate = fixNumber(rate);
	rate = parseFloat(rate);
	if ( isNaN(rate) )
	{
		 alert("Please enter the interest rate as a number");
		 return;
	}
	if ( rate < 0 )
	{
		alert("Please enter a rate of interest >= 0" );
	}


	var results = "<table cellpadding=\"0\" cellspacing=\"0\" class=\"data\">";
	results += "<tr><th>Year<th>Starting Amount<th>Interest Earned<th>Money Saved<th>Ending Amount";
	var i;
	var money = 0;
	for (i=1; i<=years; i++)
	{
		results += "<tr><td>" + i + "<td>" + formatDollars(money);
		var interest = money * (rate / 100);
		results += "<td>" + formatDollars(interest);
		var saved = (out-sack)*days*50;
		results += "<td>" + formatDollars(saved);
		money = money + interest + saved;
		results += "<td>" + formatDollars(money);
	}

	 
	var x = document.getElementById("results");


	x.innerHTML = results;
	x.style.display = "block";
}

