//*******************************************
//DO NOT REMOVE THIS COPYWRITE INFO!
//Transportation Savings Calculator
//2001 Daniel C. Peterson ALL RIGHTS RESERVED
//Created: 01/17/2001
//Last Modified: 05/23/2002
//This script may not be copied, edited, distributed or reproduced
//without express written permission from
//Daniel C. Peterson of Web Winder Website Services
//For commercial use rates, contact:
//Dan Peterson:
//Web Winder Website Services
//P.O. Box 11
//Bemidji, MN  56619
//dan@webwinder.com
//http://www.webwinder.com
//Commercial User Licence #:5782-1237-33-1198
//Commercial Licence Date:2008-09-11
//*******************************************



function stripNum(num) {

   num=num.toString();


   var len = num.length;
   var rnum = "";
   var test = "";
   var j = 0;

   var b = num.substring(0,1);
   if(b == "-") {
      rnum = "-";
   }

   for(i = 0; i <= len; i++) {

      b = num.substring(i,i+1);

      if(b == "0" || b == "1" || b == "2" || b == "3" || b == "4" || b == "5" || b == "6" || b == "7" || b == "8" || b == "9" || b == ".") {
         rnum = rnum + "" + b;

      }

   }

   if(rnum == "" || rnum == "-") {
      rnum = 0;
   }

   rnum = Number(rnum);

   return rnum;

}



function formatNumber(num) {

var isNeg=0;

    if(num < 0) {
       num=num*-1;
       isNeg=1;
    }

    
	onum=Math.round(num*100)/100;
		
	integer=Math.floor(onum);

	if (Math.ceil(onum) == integer) {
		decimal="00";
	} else{
		decimal=Math.round((onum-integer)*100)
	}
	decimal=decimal.toString();
	if (decimal.length<2) decimal="0"+decimal;

	integer=integer.toString();
	var tmpnum="";
	var tmpinteger="";
	var y=0;

	for (x=integer.length;x>0;x--) {
		tmpnum=tmpnum+integer.charAt(x-1);
		y=y+1;
		if (y==3 & x>1) {
			tmpnum=tmpnum+",";
			y=0;
		}
	}

	for (x=tmpnum.length;x>0;x--) {
		tmpinteger=tmpinteger+tmpnum.charAt(x-1);
	}
		
	finNum=tmpinteger+"."+decimal;

    if(isNeg == 1) {
       finNum = "-" + finNum;
    }

	return finNum;
}


function compute(form)  {

if(form.miles.value.length == 0) {
alert("Please enter the number of miles for the trip you want to compute savings for.");
form.miles.focus();
} else {

var Vmiles = stripNum(form.miles.value);

var Vfraction = form.fraction.selectedIndex;

if(Vfraction == 1) {
Vmiles = eval(Vmiles) + eval(.25);
} else
if(Vfraction == 2) {
Vmiles = eval(Vmiles) + eval(.50);
} else
if(Vfraction == 3) {
Vmiles = eval(Vmiles) + eval(.75);
}

var tripSavings =0;

var Vmpg = form.mpg.value;
if(Vmpg == "" || Vmpg == 0) {
Vmpg = 0;
}

var VgasCost = form.gasCost.value;
if(VgasCost == "" || VgasCost == 0) {
VgasCost = 0;
}

var Vtimes = form.times.value;
if(Vtimes == "" || Vtimes == 0) {
Vtimes = 0;
}

var Vperiod = form.period.selectedIndex;

var Vfare = form.fare.value;
if(Vfare == "" || Vfare == 0) {
Vfare = 0;
}

var VperMile = form.perMile.value;
if(VperMile == "" || VperMile == 0) {
VperMile = 0;
}

if(form.Hmethod.value == "gas") {
tripSavings = eval(Vmiles / Vmpg * VgasCost) + eval(Vfare);
} else {
tripSavings = eval(Vmiles * (VperMile / 100)) + eval(Vfare);
}

//ONE TIME CALCULATION
if(form.HtripNum.value == "once") {
form.tripSavings.value = "$" + formatNumber(tripSavings);
form.daySavings.value = "N/A";
form.weekSavings.value = "N/A";
form.monthSavings.value = "N/A";
form.yearSavings.value = "N/A";
form.lifeSavings.value = "N/A";

} else {

var factor = 0;
if(Vperiod == 1) {
factor = 365;
} else
if(Vperiod == 2) {
factor = 52;
} else
if(Vperiod == 3) {
factor = 12;
}

var VlifeYears = form.lifeYears.value;

form.tripSavings.value = "$" + formatNumber(tripSavings);
var VdaySavings = tripSavings * Vtimes * factor / 365;
form.daySavings.value = "$" + formatNumber(VdaySavings);
form.weekSavings.value = "$" + formatNumber(VdaySavings * 7);
form.monthSavings.value = "$" + formatNumber(VdaySavings * 30.4);
var VyearSavings = VdaySavings * 365;
form.yearSavings.value = "$" + formatNumber(VyearSavings);
form.yrDisplay.value = VlifeYears;
 
form.lifeSavings.value = "$" + formatNumber(VyearSavings * VlifeYears);
}

}
}

function computeGas(form) {
form.perMile.value = "N/A";
form.mpg.value = "22";
form.gasCost.value = "1.59";
form.Hmethod.value = "gas";
}

function computeMiles(form) {
form.perMile.value = "37";
form.mpg.value = "N/A";
form.gasCost.value = "N/A";
form.Hmethod.value = "mileage";
}

function computeOnce(form) {
form.times.value = "N/A";
form.period.selectedIndex = 0;
form.lifeYears.value = "N/A";
form.HtripNum.value = "once";
}

function computeMultiple(form) {
form.times.value = "1";
form.period.selectedIndex = 1;
form.lifeYears.value = "10";
form.HtripNum.value = "multiple";
}
