// JavaScript Document
function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + '.' + cents);
}
function checkNumber(object_value) {
     if (object_value.length == 0)
        return true;

    //Returns true if value is a number defined as
    //   having an optional leading + or -.
    //   having at most 1 decimal point.
    //   otherwise containing only the characters 0-9.
	var start_format = " .+-0123456789";
	var number_format = " ,.0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;

    //The first character can be + - .  blank or a digit.
	check_char = start_format.indexOf(object_value.charAt(0))
    //Was it a decimal?
	if (check_char == 1)
	    decimal = true;
	else if (check_char < 1)
		return false;
        
	//Remaining characters can be only . or a digit, but only one decimal.
	for (var i = 1; i < object_value.length; i++)
	{
		check_char = number_format.indexOf(object_value.charAt(i))
		if (check_char < 0)
			return false;
		else if (check_char == 1)
		{
			if (decimal)		// Second decimal.
				return false;
			else
				decimal = true;
		}
		else if (check_char == 0)
		{
			if (decimal || digits)	
				trailing_blank = true;
        // ignore leading blanks

		}
	        else if (trailing_blank)
			return false;
		else
			digits = true;
	}	
    //All tests passed, so...
    return true
}

function checkInteger(object_value)
{
	if (object_value.length == 0)
		return true;

	var decimal_format = ".";
	var check_char = object_value.indexOf(decimal_format);

	if (check_char == -1)
		return checkNumber(object_value);
	else
		return false;
}
function floor(number) {
  return Math.floor(number*Math.pow(10,2))/Math.pow(10,2);
}
function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + '.' + cents);
}
function setRecalcMessage() {
	document.getElementById("HoursWastedTotal").innerHTML = '';
	document.getElementById("TotalSavings").innerHTML = '';
	document.getElementById("AnnualSavings").innerHTML = '';
	document.getElementById('RecalcMessage').style.display = '';
	
}
var iError;
function ReCalcSave(AffID) {
	iError = 0;
	ReCalc();
	if (iError==0) {
		var ParamString = '&MinutesPerDay='+document.SavingsCalc.MinutesPerDay.value+'&NumberOfSalesPeople=';
		ParamString = ParamString+document.SavingsCalc.NumberOfSalesPeople.value+'&NumberOfDays=';
		ParamString = ParamString+document.SavingsCalc.DaysPerWeek.value+'&HourlyRate=';
		ParamString = ParamString+document.SavingsCalc.HourlyRate.value;
		window.main.location="SaveSavings.cfm?AffID="+AffID+ParamString;
	}
}
function ReCalc() {
//	alert('ReCalc');
	if (document.SavingsCalc.MinutesPerDay.value=="") {
  		alert("Please Enter the Number of Minutes Per Day!");
		iError = 1;
      	document.SavingsCalc.MinutesPerDay.select();
   		document.SavingsCalc.MinutesPerDay.focus();
   		return false;
	}
	if (!checkInteger(document.SavingsCalc.MinutesPerDay.value)) {
  		alert("Please provide a valid Number of Minutes Per Day!");
		iError = 1;
   		document.SavingsCalc.MinutesPerDay.select();
   		document.SavingsCalc.MinutesPerDay.focus();
   		return false;
	}
	if (document.SavingsCalc.NumberOfSalesPeople.value=="") {
  		alert("Please Enter the Number of Salespeople!");
		iError = 1;
      	document.SavingsCalc.NumberOfSalesPeople.select();
   		document.SavingsCalc.NumberOfSalesPeople.focus();
   		return false;
	}
	if (!checkInteger(document.SavingsCalc.NumberOfSalesPeople.value)) {
  		alert("Please provide a valid Number of Salespeople!");
		iError = 1;
   		document.SavingsCalc.NumberOfSalesPeople.select();
   		document.SavingsCalc.NumberOfSalesPeople.focus();
   		return false;
	}
	if (document.SavingsCalc.DaysPerWeek.value=="") {
  		alert("Please Enter the Number of Days Per Week!");
		iError = 1;
      	document.SavingsCalc.DaysPerWeek.select();
   		document.SavingsCalc.DaysPerWeek.focus();
   		return false;
	}
	if (!checkInteger(document.SavingsCalc.DaysPerWeek.value)) {
  		alert("Please provide a valid Number of Days Per Week!");
		iError = 1;
   		document.SavingsCalc.DaysPerWeek.select();
   		document.SavingsCalc.DaysPerWeek.focus();
   		return false;
	}
	if (document.SavingsCalc.HourlyRate.value=="") {
  		alert("Please Enter the Hourly Rate!");
		iError = 1;
      	document.SavingsCalc.HourlyRate.select();
   		document.SavingsCalc.HourlyRate.focus();
   		return false;
	}
	if (!checkNumber(document.SavingsCalc.HourlyRate.value)) {
  		alert("Please provide a valid Hourly Rate!");
		iError = 1;
   		document.SavingsCalc.HourlyRate.select();
   		document.SavingsCalc.HourlyRate.focus();
   		return false;
	}
	var HoursWasted = document.SavingsCalc.MinutesPerDay.value / 60;
	HoursWasted = HoursWasted * document.SavingsCalc.NumberOfSalesPeople.value;
	HoursWasted = HoursWasted * document.SavingsCalc.DaysPerWeek.value;
	HoursWasted = HoursWasted * 4.3;
	TotalWastedDollars = HoursWasted * document.SavingsCalc.HourlyRate.value;
	TotalAnnualDollars = TotalWastedDollars * 12;
//alert (HoursWasted);
	
	document.getElementById("HoursWastedTotal").innerHTML = floor(HoursWasted);
	document.getElementById("TotalSavings").innerHTML = '$'+formatCurrency(floor(TotalWastedDollars));
	document.getElementById("AnnualSavings").innerHTML = '$'+formatCurrency(floor(TotalAnnualDollars));
	//document.getElementById("TotalSavingsOffer").innerHTML = '$'+formatCurrency(floor(TotalWastedDollars));

}