Skip to content

Instantly share code, notes, and snippets.

@SpencerCooley
Created April 5, 2012 05:51
Show Gist options
  • Save SpencerCooley/2308311 to your computer and use it in GitHub Desktop.
Save SpencerCooley/2308311 to your computer and use it in GitHub Desktop.
<!-- Siding Calculator -->
<!-- Begin -->
function getSidingROI(form) {
sqft=eval(form.sqft.value)
bill=eval(form.bill.value)
homeValue=eval(form.homeValue.value)
<!-- Assumptions-->
energyDecrease=0.03
energyIncrease=0.05
sidingPercent=0.85
estimatedJobCost=5.5*sqft
homeValueInc=estimatedJobCost*sidingPercent
homeValueTotal=homeValue+homeValueInc
firstSavings=(energyDecrease*bill*12)+homeValueInc
y1 =energyDecrease*bill
y2 =y1*(1+energyIncrease)
y3 =y2*(1+energyIncrease)
y4 =y3*(1+energyIncrease)
y5 =y4*(1+energyIncrease)
y6 =y5*(1+energyIncrease)
y7 =y6*(1+energyIncrease)
y8 =y7*(1+energyIncrease)
y9 =y8*(1+energyIncrease)
y10=y9*(1+energyIncrease)
avgtmp=(y1+y2+y3+y4+y5)
fifthSavings=(12*avgtmp)+homeValueInc
tenthSavings=12*(avgtmp+y6+y7+y8+y9+y10)+homeValueInc
fiveROI=100*(fifthSavings/estimatedJobCost)
tenROI=100*(tenthSavings/estimatedJobCost)
form.homeValueInc.value = homeValueInc | 0
form.homeValueTotal.value = homeValueTotal | 0
form.firstSavings.value = firstSavings | 0
form.fifthSavings.value = fifthSavings | 0
form.tenthSavings.value = tenthSavings | 0
form.fiveROI.value = fiveROI | 0
form.tenROI.value = tenROI | 0
//form.msg.value = "* Job cost will vary depending upon Hardie type, size, etc."
}
<!-- End -->
<!-- windows calculator -->
<!-- Begin -->
function getWindowsROI(form) {
wndws=eval(form.wndws.value)
bill=eval(form.bill.value)
<!-- Assumptions-->
energyIncrease=0.05
energyDecrease=0.30
estimatedJobCost=585*wndws
tmp = estimatedJobCost-(110*wndws)
if (tmp > 5000) {
energyTaxCredit=5000*0.30
} else {
energyTaxCredit=tmp*0.30
}
firstSavings = (energyDecrease*bill*12)+energyTaxCredit
year11=energyDecrease*bill
year12=12*year11
year13=energyTaxCredit+year12
year21=year11*(1+energyIncrease)
year22=12*year21
year23=year22+year13
year31=year21*(1+energyIncrease)
year32=12*year31
year33=year32+year23
year41=year31*(1+energyIncrease)
year42=12*year41
year43=year42+year33
year51=year41*(1+energyIncrease)
year52=12*year51
year53=year52+year43
year61=year51*(1+energyIncrease)
year62=12*year61
year63=year62+year53
year71=year61*(1+energyIncrease)
year72=12*year71
year73=year72+year63
year81=year71*(1+energyIncrease)
year82=12*year81
year83=year82+year73
year91=year81*(1+energyIncrease)
year92=12*year91
year93=year92+year83
year101=year91*(1+energyIncrease)
year102=12*year101
year103=year102+year93
avgtmp=(year11+year21+year31+year41+year51)
fiveYearAvg1=avgtmp/5
fiveYearAvg2=12*fiveYearAvg1
fiveYearAvg2=fiveYearAvg2+year103
fifthSavings=(12*avgtmp)+energyTaxCredit
tenthSavings=12*(avgtmp+year61+year71+year81+year91+year101)+energyTaxCredit
fiveROI=100*(fifthSavings/estimatedJobCost)
tenROI=100*(tenthSavings/estimatedJobCost)
payBackYears=100*(5/fiveROI)
form.energyTaxCredit.value = energyTaxCredit | 0
form.firstSavings.value = firstSavings | 0
form.fifthSavings.value = fifthSavings | 0
form.tenthSavings.value = tenthSavings | 0
form.fiveROI.value = fiveROI | 0
form.tenROI.value = tenROI | 0
form.payBackYears.value = payBackYears.toFixed(1)
//form.msg.value = "* Job cost will vary depending upon type of windows selected, size, etc. ** Energy Tax Credit expires at the end of 2010."
}
<!-- End -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment