
//*******************************************
//DO NOT REMOVE THIS COPYWRITE INFO!
//Quit Smoking Meter
//2001 Daniel C. Peterson ALL RIGHTS RESERVED
//Created: 01/31/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 #:667-128-30-127
//Commercial Licence Date:2003-07-23
//*******************************************



function stripNum(num) {

var iPercent
var iDollar
var iSpace
var iComma
var numLength = num.length

//lalalla Line #114

if(numLength > 0) {

   num=num.toString();

   iPercent = num.indexOf("%");
   if(iPercent >= 0) {
      num=num.substring(0,iPercent) + "" + num.substring(iPercent + 1,numLength);
      numLength=num.length;
      }
   iDollar = num.indexOf("$");
   if(iDollar >= 0) {
      num=num.substring(0,iDollar) + "" + num.substring(iDollar + 1,numLength);
      numLength=num.length;
      }
   iSpace = num.indexOf(" ");
   if(iSpace >= 0) {
      num=num.substring(0,iSpace) + "" + num.substring(iSpace + 1,numLength);
      numLength=num.length;
      }
   iComma = num.indexOf(",");
   if(iComma >= 0) {
      while(iComma >=1) {
         num=num.substring(0,iComma) + "" + num.substring(iComma + 1,numLength);
         numLength=num.length;
         iComma = num.indexOf(",");
      }
      }

      num = eval(num);


} else {

num = 0;

}

return num;

}




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 convertTime(Vseconds) {

var newYear = 0;
var newMonth = 0;
var newWeek = 0;
var newDay = 0;
var newHour = 0;
var newMinute = 0;
var newSecond = 0;
var remain = 0;

if(Vseconds < 60) {
newYear = 0;
newMonth = 0;
newWeek = 0;
newDay = 0;
newHour = 0;
newMinute = 0;
newSecond = Vseconds;
} else
if(Vseconds < 3600) {
newYear = 0;
newMonth = 0;
newWeek = 0;
newDay = 0;
newHour = 0;
newMinute = parseInt(Vseconds / 60,10);
newSecond = Vseconds % 60;
} else
if(Vseconds < 86400) {
newYear = 0;
newMonth = 0;
newWeek = 0;
newDay = 0;
newHour = parseInt(Vseconds / 3600,10);
remain = Vseconds % 3600;
newMinute = parseInt(remain / 60,10);
newSecond = Vseconds % 60;
} else
if(Vseconds < 604800) {
newYear = 0;
newMonth = 0;
newWeek = 0;
newDay = parseInt(Vseconds / 86400,10);
remain = Vseconds % 86400;
newHour = parseInt(remain / 3600,10);
remain = Vseconds % 3600;
newMinute = parseInt(remain / 60,10);
newSecond = Vseconds % 60;
} else
if(Vseconds < 2628000) {
newYear = 0;
newMonth = 0;
newWeek = parseInt(Vseconds / 604800,10);
remain = Vseconds % 604800;
newDay = parseInt(remain / 86400,10);
remain = Vseconds % 86400;
newHour = parseInt(remain / 3600,10);
remain = Vseconds % 3600;
newMinute = parseInt(remain / 60,10);
newSecond = Vseconds % 60;
} else
if(Vseconds < 31536000) {
newYear = 0;
newMonth = parseInt(Vseconds / 2628000,10);
remain = Vseconds % 2628000;
newWeek = parseInt(remain / 604800,10);
remain = Vseconds % 604800;
newDay = parseInt(remain / 86400,10);
remain = Vseconds % 86400;
newHour = parseInt(remain / 3600,10);
remain = Vseconds % 3600;
newMinute = parseInt(remain / 60,10);
newSecond = Vseconds % 60;
} else {
newYear = parseInt(Vseconds / 31536000);
remain = Vseconds % 31536000;
newMonth = parseInt(remain / 2628000,10);
remain = Vseconds % 2628000;
newWeek = parseInt(remain / 604800,10);
remain = Vseconds % 604800;
newDay = parseInt(remain / 86400,10);
remain = Vseconds % 86400;
newHour = parseInt(remain / 3600,10);
remain = Vseconds % 3600;
newMinute = parseInt(remain / 60,10);
newSecond = Vseconds % 60;
}

var Vsummary = "";

var yearText;
if(newYear > 0) {
   if(newYear == 1) {
      yearText = "year";
      } else {
      yearText = "years";
   }
Vsummary = "" + Vsummary + "" + newYear + " " + yearText + ", ";
}

var monthText;
if(newMonth > 0) {
   if(newMonth == 1) {
      monthText = "month";
      } else {
      monthText = "months";
   }
Vsummary = "" + Vsummary + "" + newMonth + " " + monthText + ", ";
}

var weekText;
if(newWeek > 0) {
   if(newWeek == 1) {
      weekText = "week";
      } else {
      weekText = "weeks";
   }
Vsummary = "" + Vsummary + "" + newWeek + " " + weekText + ", ";
}

var dayText;
if(newDay > 0) {
   if(newDay == 1) {
      dayText = "day";
      } else {
      dayText = "days";
   }
Vsummary = "" + Vsummary + "" + newDay + " " + dayText + ", ";
}

var hourText;
if(newHour > 0) {
   if(newHour == 1) {
      hourText = "hour";
      } else {
      hourText = "hours";
   }
Vsummary = "" + Vsummary + "" + newHour + " " + hourText + ", ";
}

var minuteText;
if(newMinute > 0) {
   if(newMinute == 1) {
      minuteText = "minute";
      } else {
      minuteText = "minutes";
   }
Vsummary = "" + Vsummary + "" + newMinute + " " + minuteText + ", ";
}

var secondText;
   if(newSecond == 1) {
      secondText = "second";
      } else {
      secondText = "seconds";
   }
Vsummary = "" + Vsummary + "" + newSecond + " " + secondText + "";


return Vsummary;

}

function computeForm(form) {

var VquitYear = stripNum(form.year.value);
if(VquitYear < 1900) {
   VquitYear += 1900;
}

var VquitMonth = stripNum(form.month.value);
VquitMonth = eval(VquitMonth) - eval(1);

var VquitDay = stripNum(form.day.value);

var VquitHour = stripNum(form.hour.value);
if(form.amPM.selectedIndex ==1) {
VquitHour = eval(VquitHour) + eval(12);
}
var VquitMinute = stripNum(form.minute.value);
var VquitSecond = stripNum(form.second.value);

var now = new Date();

//TEST START
var quitDate = new Date();
quitDate.setYear(VquitYear);
quitDate.setMonth(VquitMonth);
quitDate.setDate(VquitDay);
quitDate.setHours(VquitHour);
quitDate.setMinutes(VquitMinute);
quitDate.setSeconds(VquitSecond);

var dateDiff = eval(now) - eval(quitDate);
var Vtime = dateDiff / 1000;
var VtimeText = convertTime(Vtime);

//TEST END

var Vunits = 0;
if(form.units[0].checked) {
Vunits = 20;
} else {
Vunits = 25;
}

var VcostPerPack = stripNum(form.packCost.value);

var VcostPerCig = VcostPerPack / Vunits;

var VnumSmoked = stripNum(form.numSmoked.value);

var VsmokeDays = Vtime / 86400;

var VcigsSaved = VsmokeDays * VnumSmoked;
VcigsSavedText = formatNumber(VcigsSaved);
var decPos = VcigsSavedText.indexOf(".");
var cigsSaveText = VcigsSavedText.substring(0,decPos);
form.cigsSaved.value = cigsSaveText;

var VmoneySaved = VcigsSaved * VcostPerCig;

form.moneySaved.value = "$" + formatNumber(VmoneySaved);

var VlifeAdd = parseInt(VcigsSaved * 300);

var VlifeAddText = convertTime(VlifeAdd);

var numYears = stripNum(form.investYears.value);
var numMonths = numYears * 12;
var prin = VmoneySaved;
var count = 0;

var VintRate = stripNum(form.intRate.value);
if(VintRate >= 1) {
VintRate = VintRate / 100;
}
VintRate = VintRate / 12;

while(count < numMonths) {
prin = (prin * VintRate) + eval(prin);
count = count + 1;
}

form.futureVal.value = "$" + formatNumber(prin);

form.answer.value = "I have now stopped smoking for " + VtimeText + ". That translates into " + form.cigsSaved.value + " cigarettes NOT smoked, for a savings of " + form.moneySaved.value + "! At 5 minutes per cigarette I have increased my life expectancy by " + VlifeAddText + ".";

form.accomp1day.checked = false;
form.accomp2day.checked = false;
form.accomp3day.checked = false;
form.accomp4day.checked = false;
form.accomp5day.checked = false;
form.accomp6day.checked = false;
form.accomp1week.checked = false;
form.accomp2week.checked = false;
form.accomp3week.checked = false;
form.accomp1mon.checked = false;
form.accomp2mon.checked = false;
form.accomp3mon.checked = false;
form.accomp4mon.checked = false;
form.accomp5mon.checked = false;
form.accomp6mon.checked = false;
form.accomp7mon.checked = false;
form.accomp8mon.checked = false;
form.accomp9mon.checked = false;
form.accomp10mon.checked = false;
form.accomp11mon.checked = false;
form.accomp1year.checked = false;
form.accomp2year.checked = false;
form.accomp3year.checked = false;
form.accomp4year.checked = false;

if(Vtime > 86400) {
form.accomp1day.checked = true;
}
if(Vtime > 172800) {
form.accomp2day.checked = true;
}
if(Vtime > 259200) {
form.accomp3day.checked = true;
}
if(Vtime > 345600) {
form.accomp4day.checked = true;
}
if(Vtime > 432000) {
form.accomp5day.checked = true;
}
if(Vtime > 518400) {
form.accomp6day.checked = true;
}
if(Vtime > 604800) {
form.accomp1week.checked = true;
}
if(Vtime > 1209600) {
form.accomp2week.checked = true;
}
if(Vtime > 1814400) {
form.accomp3week.checked = true;
}
if(Vtime > 2628000) {
form.accomp1mon.checked = true;
}
if(Vtime > 5256000) {
form.accomp2mon.checked = true;
}
if(Vtime > 7884000) {
form.accomp3mon.checked = true;
}
if(Vtime > 10512000) {
form.accomp4mon.checked = true;
}
if(Vtime > 13140000) {
form.accomp5mon.checked = true;
}
if(Vtime > 15768000) {
form.accomp6mon.checked = true;
}
if(Vtime > 18396000) {
form.accomp7mon.checked = true;
}
if(Vtime > 21024000) {
form.accomp8mon.checked = true;
}
if(Vtime > 23652000) {
form.accomp9mon.checked = true;
}
if(Vtime > 26280000) {
form.accomp10mon.checked = true;
}
if(Vtime > 28908000) {
form.accomp11mon.checked = true;
}
if(Vtime > 31536000) {
form.accomp1year.checked = true;
}
if(Vtime > 63072000) {
form.accomp2year.checked = true;
}
if(Vtime > 94608000) {
form.accomp3year.checked = true;
}
if(Vtime > 126144000) {
form.accomp4year.checked = true;
}

}

//CALCULATE COST OF PAST SMOKING
function pastCost(form) {

var Vunits = 0;
if(form.units[0].checked) {
Vunits = 20;
} else {
Vunits = 25;
}

var VcostPerPack = stripNum(form.packCost.value);

var VcostPerCig = VcostPerPack / Vunits;

var VstartAge = stripNum(form.startAge.value);
var VstopAge = stripNum(form.stopAge.value);
var numCigsPerDay = stripNum(form.numSmoked.value);

var numYearsSmoked = eval(VstopAge) - eval(VstartAge);
var numDaysSmoked = numYearsSmoked * 365;
var numCigsSmoked = numDaysSmoked * numCigsPerDay;
var costOfCigsSmoked = numCigsSmoked * VcostPerCig;

var numMonths = numYearsSmoked * 12;
var prin = 0;
var ma = costOfCigsSmoked / numMonths;
var count = 0;

var VintRate = form.intRate.value;
if(VintRate >= 1) {
VintRate = VintRate / 100;
}
VintRate = VintRate / 12;

while(count < numMonths) {
prin = (prin * VintRate) + eval(prin + ma);
count = eval(count) + eval(1);
}

var forgoneInt = eval(prin) - eval(costOfCigsSmoked);

var VnumCigsSmoked = formatNumber(numCigsSmoked);
var decPos = VnumCigsSmoked.indexOf(".");
VnumCigsSmoked = VnumCigsSmoked.substring(0,decPos);


var part1 = ("<HEAD><TITLE>My Past Smoking Costs</TITLE></HEAD>" + "<BODY BGCOLOR=white><BR><BR><CENTER><FONT FACE='Arial'><big><strong>My Past Smoking Costs</strong></big></FONT></CENTER><P>");

var part2 = "<CENTER><TABLE BORDER=1 CELLPADDING=4 CELLSPACING=0><TR><TD><FONT FACE='Arial'><small>Number years I have smoked:</small></FONT></TD><TD ALIGN=RIGHT><FONT FACE='Arial'><small> " + numYearsSmoked + "</small></FONT></TD></TR><TR><TD><FONT FACE='Arial'><small>Number of cigarettes I have smoked:</small></FONT></TD><TD ALIGN=RIGHT><FONT FACE='Arial'><small> " + VnumCigsSmoked + "</small></FONT></TD></TR><TR><TD><FONT FACE='Arial'><small>Total amount I have spent on cigarettes:</small></FONT></TD><TD ALIGN=RIGHT><FONT FACE='Arial'><small> $" + formatNumber(costOfCigsSmoked) + "</small></FONT></TD></TR><TR><TD><FONT FACE='Arial'><small>Forgone interest earnings on money spent:</small></FONT></TD><TD ALIGN=RIGHT><FONT FACE='Arial'><small> $" + formatNumber(forgoneInt) + "</small></FONT></TD></TR><TR><TD><FONT FACE='Arial'><small>Total cost of my past smoking:</small></FONT></TD><TD ALIGN=RIGHT><FONT FACE='Arial'><small> $" + formatNumber(prin) + "</small></FONT></TD></TR></TABLE></CENTER>";

var part3 = ("<P><CENTER><FORM METHOD='POST'><INPUT TYPE=\'BUTTON\' VALUE=\'Close\' onClick=\'window.close()\'></FORM></CENTER></BODY></HTML>");

var schedule = (part1 + "" + part2 + "" + part3 + "");

  reportWin = window.open("","","width=500,height=300,toolbar=yes,menubar=yes,scrollbars=yes");
  reportWin.document.write(schedule);
  reportWin.document.close();

}
