Code: Select all
function getMemberData()
{
//alert("get member data:" + crank);
// Load post arguments
loadpost();
var i = 0;
kmax = 0.0;
dmax = 0.0;
for (i = 0; i<12; i++)
{
if ( isNaN(kary[i]) || kary[i] < 0)
{
kary[i] = 0;
dary[i] = 0;
nary[i] = 0;
} else {
nary[i] = 1;
if (kary[i] > kmax) kmax = kary[i];
if (dary[i] > dmax) dmax = dary[i];
}
if ( pary[i] < 0) pary[i] = 0;
}
grank = (maxrank - crank) * 100 / maxrank;
grank = Number(grank.toFixed(0));
// Draw the Charts
drawChart4();
fillTable();
drawGage();
calcbill();
}
function loadpost ()
{
document.rateform.kwh01.value = kary[0];
document.rateform.kwh02.value = kary[1];
document.rateform.kwh03.value = kary[2];
document.rateform.kwh04.value = kary[3];
document.rateform.kwh05.value = kary[4];
document.rateform.kwh06.value = kary[5];
document.rateform.kwh07.value = kary[6];
document.rateform.kwh08.value = kary[7];
document.rateform.kwh09.value = kary[8];
document.rateform.kwh10.value = kary[9];
document.rateform.kwh11.value = kary[10];
document.rateform.kwh12.value = kary[11];
document.rateform.kw01.value = dary[0];
document.rateform.kw02.value = dary[1];
document.rateform.kw03.value = dary[2];
document.rateform.kw04.value = dary[3];
document.rateform.kw05.value = dary[4];
document.rateform.kw06.value = dary[5];
document.rateform.kw07.value = dary[6];
document.rateform.kw08.value = dary[7];
document.rateform.kw09.value = dary[8];
document.rateform.kw10.value = dary[9];
document.rateform.kw11.value = dary[10];
document.rateform.kw12.value = dary[11];
document.rateform.xphase.value = phase;
document.rateform.kwhtot.value = totk;
document.rateform.kwhavg.value = kavg;
document.rateform.kwtot.value = totd;
document.rateform.orate.value = origrate;
document.rateform.enddat.value = enddat;
//document.rateform.mrec.value = mrec;
//document.rateform.frec.value = frec;
var sel = document.getElementById('kratex');
for(var i, j = 0; i = sel.options[j]; j++) {
if(i.value == cur_rate) {
sel.selectedIndex = j;
break;
}
}
}
function wrtvaln(id,x,z,d)
{
xx = x;
if (nary[z] > 0)
{
document.getElementById(id).innerHTML = xx.toFixed(d);
} else {
document.getElementById(id).innerHTML = "-";
}
}
function wrtval(id,x,d)
{
xx = x;
document.getElementById(id).innerHTML = xx.toFixed(d);
}
function wrpct(id,x,d)
{
xx = x * 100;
document.getElementById(id).innerHTML = xx.toFixed(d) + "%";
}
function wrrev(id,x,d)
{
xx = x;
//if ( Math.abs(xx) < 1.5 ) xx = 0.0;
if ( xx < 0) {
xx = xx * -1.0;
xx = "($" + AddCom(xx.toFixed(d)) + ")";
document.getElementById(id).innerHTML = xx;
} else {
document.getElementById(id).innerHTML = "$" + AddCom(xx.toFixed(d));
}
}
function AddCom(nStr)
{
nStr += '';
nStr = nStr.replace(/,/g, '');
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1))
{
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
function drawChart4()
{
var moff = 0;
var xoff = 0;
var leg1 = 'Jan-Dec 2020';
var leg2 = 'Jan-Dec 2021';
if (enddat > 2112) {
xoff = enddat - 2200;
leg1 = mary[xoff] + "2020 - " + mary[xoff+11] + "2021";
leg2 = mary[xoff] + "2021 - " + mary[xoff+11] + "2022";
}
var xdata = google.visualization.arrayToDataTable([
['Month', leg1, leg2,'kwh 12 month running avg'],
[mary[xoff], pary[moff], kary[moff], ravg[moff]],
[mary[xoff+1], pary[moff+1], kary[moff+1], ravg[moff+1]],
[mary[xoff+2], pary[moff+2], kary[moff+2], ravg[moff+2]],
[mary[xoff+3], pary[moff+3], kary[moff+3], ravg[moff+3]],
[mary[xoff+4], pary[moff+4], kary[moff+4], ravg[moff+4]],
[mary[xoff+5], pary[moff+5], kary[moff+5], ravg[moff+5]],
[mary[xoff+6], pary[moff+6], kary[moff+6], ravg[moff+6]],
[mary[xoff+7], pary[moff+7], kary[moff+7], ravg[moff+7]],
[mary[xoff+8], pary[moff+8], kary[moff+8], ravg[moff+8]],
[mary[xoff+9], pary[moff+9], kary[moff+9], ravg[moff+9]],
[mary[xoff+10], pary[moff+10], kary[moff+10], ravg[moff+10]],
[mary[xoff+11], pary[moff+11], kary[moff+11], ravg[moff+11]]
]);
var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
var options = {
width: 580, height: 320,
vAxis: {title: 'kwh used', titleTextStyle: {color: 'black', fontSize: 16 }},
pointSize: 6,
chartArea: {width: "87%", left: 60, height: "90%", top:15},
seriesType: "bars",
legend: {position: 'in', textStyle: {color: 'black', fontSize: 12}},
series: [{type: 'bars', color: '#F88017'},{type: 'bars', color: 'Blue'},{type: 'line', color: '#800517'}]
};
chart.draw(xdata, options);
}
function fillTable()
{
var moff = 0;
var xxg = "G";
var yr1 = " 2021";
var yr2 = " 2021";
if (enddat > 2112) {
moff = enddat - 2200;
yr2 = " 2022";
}
document.getElementById('m1').innerHTML = mary[moff] + yr1;
document.getElementById('m2').innerHTML = mary[moff+1];
document.getElementById('m3').innerHTML = mary[moff+2];
document.getElementById('m4').innerHTML = mary[moff+3];
document.getElementById('m5').innerHTML = mary[moff+4];
document.getElementById('m6').innerHTML = mary[moff+5];
document.getElementById('m7').innerHTML = mary[moff+6];
document.getElementById('m8').innerHTML = mary[moff+7];
document.getElementById('m9').innerHTML = mary[moff+8];
document.getElementById('m10').innerHTML = mary[moff+9];
document.getElementById('m11').innerHTML = mary[moff+10];
document.getElementById('m12').innerHTML = mary[moff+11] + yr2;
wrtvaln('k1',kary[0],0,0);
wrtvaln('k2',kary[1],1.0);
wrtvaln('k3',kary[2],2,0);
wrtvaln('k4',kary[3],3,0);
wrtvaln('k5',kary[4],4,0);
wrtvaln('k6',kary[5],5,0);
wrtvaln('k7',kary[6],6,0);
wrtvaln('k8',kary[7],7,0);
wrtvaln('k9',kary[8],8,0);
wrtvaln('k10',kary[9],9,0);
wrtvaln('k11',kary[10],10,0);
wrtvaln('k12',kary[11],11,0);
wrtval('k13',totk,0);
wrtval('tkwh',totk,0);
wrtval('mxkwh',kmax,0);
wrtval('mavg',kavg,1);
wrtval('krank',crank,0);
wrtval('grk',grank,0);
xxr = 0;
if (cur_rate == 50) xxr = 1;
if (cur_rate == 51) xxr = 2;
if (cur_rate == 52) xxr = 3;
if (cur_rate == 53) xxr = 4;
xxg = "2021 G" + xxr + " Rate";
if (cur_rate == 54) {
xxr = "Irrig 1P";
xxg = "2021 Irr1P Rate";
newcls = "Irrig 1P";
document.getElementById('ratecd').innerHTML = "5";
}
if (cur_rate == 55) {
xxr = "Irrig 3P";
xxg = "2021 Irr3P Rate";
newcls = "Irrig 3P";
document.getElementById('ratecd').innerHTML = "6";
}
document.getElementById('newgx').innerHTML = newcls;
document.getElementById('currate').innerHTML = xxr;
//alert(xxg);
document.getElementById('g2015').innerHTML = xxg;
// set member id
document.getElementById('mrec').innerHTML = mrec;
document.getElementById('frec').innerHTML = frec;
// Logic to figure if acceptable class/rate
if ( cur_rate < 54 ) {
if ( kavg > 16666.0 ) {
document.getElementById('ratecd').innerHTML = "4";
} else if ( kavg > 5000.0 ) {
document.getElementById('ratecd').innerHTML = "3";
} else if ( kavg > 1200.0 ) {
document.getElementById('ratecd').innerHTML = "2";
}
}
// Logic to figure if class/rate OK
// rate g1... class g3/g3
if ( cur_rate == 50 && kavg > 1200.0 ) {
document.getElementById('classchg').innerHTML = "exceeds the limit for Class G1 and you may be changed to Class G2";
}
// rate g2 and class g3
if ( cur_rate == 51 && kavg > 5000.0 ) {
document.getElementById('classchg').innerHTML = "exceeds the limit for Class G2 and you may be changed to Class G3";
}
if ( cur_rate == 56 && kavg > 5000.0 ) {
document.getElementById('classchg').innerHTML = "exceeds the limit for Class G3 and you may be changed to Class G4";
}
// rate g2... class g1
if ( cur_rate == 51 && kavg <= 1200.0 ) {
document.getElementById('classchg').innerHTML = "is less than minimums for Class G2 and you may reduce to Class G1";
}
// rate g2... class g1
if ( cur_rate == 52 && kavg <= 5000.0 ) {
document.getElementById('classchg').innerHTML = "is less than minimums for Class G3 and you may reduce to Class G2";
}
// rate g2... class g1
if ( cur_rate == 53 && kavg <= 16667.0 ) {
document.getElementById('classchg').innerHTML = "is less than minimums for Class G4 and you may reduce to Class G3";
}
wrtvaln('kw1',dary[0],0,2);
wrtvaln('kw2',dary[1],1,2);
wrtvaln('kw3',dary[2],2,2);
wrtvaln('kw4',dary[3],3,2);
wrtvaln('kw5',dary[4],4,2);
wrtvaln('kw6',dary[5],5,2);
wrtvaln('kw7',dary[6],6,2);
wrtvaln('kw8',dary[7],7,2);
wrtvaln('kw9',dary[8],8,2);
wrtvaln('kw10',dary[9],9,2);
wrtvaln('kw11',dary[10],10,2);
wrtvaln('kw12',dary[11],11,2);
//wrtval('kw13',totd,2);
wrtval('mxkw',dmax,2);
}
function drawGage()
{
var zdata = new google.visualization.DataTable();
zdata.addColumn('string', 'Label');
zdata.addColumn('number', 'Value');
zdata.addRows([
['kwh rank', grank]
]);
var options = {
width: 150, height: 150,
yellowFrom:60, yellowTo: 100,
minorTicks: 5
};
var chart = new google.visualization.Gauge(document.getElementById('gage_div'));
chart.draw(zdata, options);
}
function calcrate (rate,docur)
{
var kfac = 1.0;
var kbase1 = 0.0;
var kbase3 = 0.0;
var kbase = 0.0;
var kener = 0.0;
var kdinc = 0.0;
var xt1 = 0;
var xt2 = 0;
var xt3 = 0;
var krate1 = 0.0;
var krate2 = 0.0;
var krate3 = 0.0;
var kopa = 0.0;
var kdem = 0.0;
var zkwh = 0.0;
var xdem = 0.0;
pbill = 0.0;
// Okanogan PUD
if (rate == 1)
{
kbase1 = 39.95;
kener = 0.0;
//xt1 = 500;
//xt2 = 2000;
xt2 = 2000;
krate1 = 0.05441;
krate2 = 0.07019;
kopa = 0.0000;
document.getElementById('pcomp').innerHTML = "Okanogan PUD rate 2021";
}
// Okanogan PUD
if (rate == 2)
{
kbase1 = 42.00;
kener = 0.0;
//xt1 = 500;
//xt2 = 2000;
xt2 = 2000;
krate1 = 0.05824;
krate2 = 0.06989;
kopa = 0.0000;
document.getElementById('pcomp').innerHTML = "Okanogan PUD rate Apr 2023";
}
// Orcas Coop
if (rate == 3)
{
kbase1 = 50.35;
xt2 = 4000;
krate1 = 0.1133;
krate2 = 0.1284;
xt3 = 5000;
krate3 = 0.1478;
kopa = 0.00079;
document.getElementById('pcomp').innerHTML = "OPALCO (Island County) winter rate";
}
// Colville
if (rate == 4)
{
kbase1 = 9.00;
xt2 = 800;
xt3 = 1500;
krate1 = 0.08519;
krate2 = 0.09911;
krate3 = 0.11621;
kfac = 1.06;
document.getElementById('pcomp').innerHTML = "Colville (Avista) rate";
}
// Oregon Trail
if (rate == 5)
{
kbase1 = 33.50;
krate1 = 0.06797;
kopa = 0.00000;
document.getElementById('pcomp').innerHTML = "Oregon Trail rate";
}
// Northern Lites
if (rate == 6)
{
kbase1 = 30.00;
xt2 = 1250;
krate1 = 0.08230;
krate2 = 0.10280;
document.getElementById('pcomp').innerHTML = "Northern Lights (Montana) rate";
}
// Western Oregon
if (rate == 7)
{
kbase1 = 52.00;
xt2 = 1500;
//xt3 = 1200;
krate1 = 0.16930;
krate2 = 0.13410;
//krate3 = 0.0890;
document.getElementById('pcomp').innerHTML = "Western Oregon Coop rate";
}
// Umatilla
if (rate == 200)
{
kbase1 = 22.00;
//xt2 = 1800;
krate1 = 0.0733;
//krate2 = 0.0800;
document.getElementById('pcomp').innerHTML = "Umatilla Electric Winter rate";
}
// Puget Sound Energy
if (rate == 301)
{
kbase1 = 7.49;
xt2 = 600;
krate1 = 0.08593;
krate2 = 0.10490;
document.getElementById('pcomp').innerHTML = "Puget Sound Energy rate";
}
// Tanner Electric
if (rate == 8)
{
kbase1 = 39.83;
krate1 = 0.0998;
document.getElementById('pcomp').innerHTML = "Tanner Electric rate";
}
// Nespelum Electric
if (rate == 9)
{
kbase1 = 23.50;
krate1 = 0.07690;
document.getElementById('pcomp').innerHTML = "Nespelem Electric rate";
}
// Inland Power
if (rate == 11)
{
kbase1 = 24.55;
krate1 = 0.0680;
document.getElementById('pcomp').innerHTML = "Inland Electric rate";
}
// Lakeview Power
if (rate == 91)
{
kbase1 = 25.00;
krate1 = 0.0750;
document.getElementById('pcomp').innerHTML = "Lakeview Electric rate";
}
// Sno county pud
if (rate == 10)
{
kbase1 = 57.00;
krate1 = 0.10174;
document.getElementById('pcomp').innerHTML = "Snohomish County PUD rate";
}
// Ferry Power
if (rate == 12)
{
kbase1 = 20.00;
krate1 = 0.08798;
document.getElementById('pcomp').innerHTML = "Ferry Power rate";
}
// glacier electric
if (rate == 13)
{
kbase1 = 25.00;
krate1 = 0.0725;
document.getElementById('pcomp').innerHTML = "Glacier Electric (Montana) rate";
}
// Chelan PUD
if (rate == 15)
{
kbase1 = 12.95;
krate1 = 0.0270;
document.getElementById('pcomp').innerHTML = "Chelan PUD residential rate";
}
// Parkland
if (rate == 17)
{
kbase1 = 20.00;
krate1 = 0.0671;
document.getElementById('pcomp').innerHTML = "Parkland Light Coop rate";
}
// Big Bend
if (rate == 18)
{
kbase1 = 28.00;
krate1 = 0.06640;
document.getElementById('pcomp').innerHTML = "Big Bend rate";
}
// Kittitas PUD
if (rate == 19)
{
kbase1 = 25.50;
krate1 = 0.0982;
document.getElementById('pcomp').innerHTML = "Kittitas PUD rate";
}
// Skamania
if (rate == 20)
{
kbase1 = 47.00;
krate1 = 0.0929;
document.getElementById('pcomp').innerHTML = "Skamania PUD rate";
}
// Pend Oreille
if (rate == 21)
{
kbase1 = 35.50;
krate1 = 0.0623;
document.getElementById('pcomp').innerHTML = "Pend Oreille PUD rate";
}
// Columbia REA
if (rate == 22)
{
kbase1 = 35.00;
krate1 = 0.0902;
document.getElementById('pcomp').innerHTML = "Columbia REA rate";
}
// Seattle
if (rate == 25)
{
kbase1 = 5.06;
xt2 = 480;
krate1 = 0.0780;
krate2 = 0.1326;
document.getElementById('pcomp').innerHTML = "Seattle rate";
}
// Tacoma
if (rate == 26)
{
kbase1 = 16.50;
krate1 = 0.079786;
document.getElementById('pcomp').innerHTML = "Tacoma rate";
}
// Old OCEC
if (rate == 23)
{
kbase1 = 29.00;
xt2 = 1400;
krate1 = 0.048;
krate2 = 0.058;
document.getElementById('pcomp').innerHTML = "OCEC 2006 rate";
}
// General 1 rate
if (rate == 181)
{
kbase1 = 32.00;
kdem = 0.0;
krate1 = 0.081;
document.getElementById('pcomp').innerHTML = "OCEC 2021 Gen Service 1 Rate (1)";
}
// General 2 rate
if (rate == 182)
{
kbase1 = 50.0;
kdem = 0.0;
krate1 = 0.0678;
xt2 = 5000;
krate2 = 0.0758;
document.getElementById('pcomp').innerHTML = "OCEC 2021 Gen Service 2 Rate (2)";
}
// General 3 rate
if (rate == 183)
{
kbase1 = 60.0;
kdem = 3.25
krate1 = 0.0493;
document.getElementById('pcomp').innerHTML = "OCEC 2021 Gen Service 3 Rate (3)";
}
// General 4 rate
if (rate == 184)
{
kbase1 = 145.0;
kdem = 3.25;
krate1 = 0.0477;
document.getElementById('pcomp').innerHTML = "OCEC 2021 Gen Service 4 Rate (4)";
}
// General Irr 1P rate
if (rate == 185)
{
kbase1 = 46.0;
kdem = 3.25;
krate1 = 0.04950;
document.getElementById('pcomp').innerHTML = "OCEC 2021 Irrigation 1P Rate (5)";
}
// General Irr 3P rate
if (rate == 186)
{
kbase1 = 59.0;
kdem = 3.25;
krate1 = 0.04950;
document.getElementById('pcomp').innerHTML = "OCEC 2021 Irrigation 3P Rate (6)";
}
// General 1 rate
if (rate == 191)
{
kbase1 = 32.00;
kdem = 0.0;
krate1 = 0.0836;
document.getElementById('pcomp').innerHTML = "OCEC 2021 Gen Service 1 Rate (1)";
}
// General 2 rate
if (rate == 192)
{
kbase1 = 50.0;
kdem = 0.0;
krate1 = 0.0704;
xt2 = 5000;
krate2 = 0.0784;
document.getElementById('pcomp').innerHTML = "OCEC 2021 Gen Service 2 Rate (2)";
}
// General 3 rate
if (rate == 193)
{
kbase1 = 60.0;
kdem = 3.50
krate1 = 0.05080;
document.getElementById('pcomp').innerHTML = "OCEC 2021 Gen Service 3 Rate (3)";
}
// General 4 rate
if (rate == 194)
{
kbase1 = 145.0;
kdem = 3.50;
krate1 = 0.0485;
document.getElementById('pcomp').innerHTML = "OCEC 2021 Gen Service 4 Rate (4)";
}
// General Irr 1P rate
if (rate == 195)
{
kbase1 = 46.0;
kdem = 3.50;
krate1 = 0.0508;
document.getElementById('pcomp').innerHTML = "OCEC 2021 Irrigation 1P Rate (5)";
}
// General Irr 3P rate
if (rate == 196)
{
kbase1 = 59.0;
kdem = 3.50;
krate1 = 0.0508;
document.getElementById('pcomp').innerHTML = "OCEC 2021 Irrigation 3P Rate (6)";
}
// General 1 rate
if (rate == 201)
{
kbase1 = 33.60;
kdem = 0.0;
krate1 = 0.0851;
document.getElementById('pcomp').innerHTML = "OCEC Apr 2023 Gen Service 1 Rate(1)";
}
// General 2 rate
if (rate == 202)
{
kbase1 = 52.50;
kdem = 0.0;
krate1 = 0.0712;
xt2 = 5000;
krate2 = 0.0796;
document.getElementById('pcomp').innerHTML = "OCEC Apr 2023 Gen Service 2 Rate(2)";
}
// General 3 rate
if (rate == 203)
{
kbase1 = 63.0;
kdem = 3.40
krate1 = 0.05180;
document.getElementById('pcomp').innerHTML = "OCEC Apr 2023 Gen Service 3 Rate(3)";
}
// General 4 rate
if (rate == 204)
{
kbase1 = 152.25;
kdem = 3.40;
krate1 = 0.0501;
document.getElementById('pcomp').innerHTML = "OCEC Apr 2023 Gen Service 4 Rate(4)";
}
// General Irr 1P rate
if (rate == 205)
{
kbase1 = 48.30;
kdem = 3.40;
krate1 = 0.0520;
document.getElementById('pcomp').innerHTML = "OCEC Apr 2023 Irrig 1P Rate(5)";
}
// General Irr 3P rate
if (rate == 206)
{
kbase1 = 62.0;
kdem = 3.40;
krate1 = 0.0520;
document.getElementById('pcomp').innerHTML = "OCEC Apr 2023 Irrig 3P Rate 6)";
}
if ( kbase3 == 0 ) kbase3 = kbase1;
kbase = kbase1;
if (phase == 3 )
{
kbase = kbase3;
}
wrtval('pbase',kbase1,2);
wrtval('pbase3',kbase3,2);
//wrtval('pener',kener,2);
//wrtval('ptier1',xt1,0);
wrtval('pdem',kdem,2);
wrtval('pdinc',kdinc,0);
wrtval('prate1',krate1,5);
wrtval('prate2',krate2,5);
wrtval('prate3',krate3,5);
wrtval('ptier2',xt2,0);
wrtval('ptier3',xt3,0);
wrtval('pkopa',kopa,4);
if (docur && origrate == 3) alert("Note: Just for your information, you are signed up for the current alternate rate w/o demand. Click to continue");
for (i = 0; i<12;i++)
{
xkwh = kary[i];
xkw = dary[i];
if (docur) crb[i] = 0;
if (nary[i] && docur)
{
if (cur_rate == 50) {
crb[i] = 32.00 + (xkwh * 0.081);
//if (xkwh > 1200) crb[i] = crb[i] + (xkwh -1200) * 0.006;
}
//alert("currate:" + cur_rate);
if (cur_rate == 51) {
crb[i] = 50.0 + (xkwh * 0.0678);
if (xkwh > 5000) crb[i] = crb[i] + (xkwh -5000) * 0.008;
}
if (cur_rate == 52) crb[i] = 60.0 + (xkwh * 0.0493) + (xkw * 3.25);
if (cur_rate == 53) crb[i] = 145.0 + (xkwh * 0.0477) + (xkw * 3.25);
if (cur_rate == 54) {
if ( mary[i] == "Oct" ) {
crb[i] = (xkwh * 0.0495) + (xkw * 3.25);
} else {
crb[i] = 46.0 + (xkwh * 0.0495) + (xkw * 3.25);
}
}
if (cur_rate == 55) {
if ( mary[i] == "Oct" ) {
crb[i] = (xkwh * 0.0495) + (xkw * 3.25);
} else {
crb[i] = 59.0 + (xkwh * 0.0495) + (xkw * 3.25);
}
}
}
// Calc with propsed rate
zkwh = 0;
if ( xt3 > 0 )
{
if (xkwh > xt3)
{
zkwh = zkwh + (xkwh - xt3) * krate3;
xkwh = xt3;
}
}
if ( xt2 > 0 )
{
if (xkwh > xt2)
{
zkwh = zkwh + (xkwh - xt2) * krate2;
xkwh = xt2;
}
}
// Check for kwh inc = ktier1
if (xkwh > xt1)
{
xkwh = xkwh - xt1;
} else {
xkwh = 0.0;
}
zkwh = zkwh + xkwh * krate1;
if ( kopa > 0 ) zkwh = zkwh + kary[i] * kopa;
// Calc demand rev
zdem = 0.0;
if (kdinc > 0)
{
if (xkw > kdinc )
{
xkw = xkw - kdinc;
} else {
xkw = 0.0;
}
}
zdem = xkw * kdem;
if (nary[i])
{
if (cur_rate == 55 || cur_rate == 54) {
if (mary[i] == "Oct") kbase = 0;
}
prb[i] = (kbase + zkwh + zdem + kener) * kfac;
chb[i] = (prb[i] - crb[i]) / crb[i];
if (docur) cbill = cbill + crb[i];
pbill = pbill + prb[i];
} else {
prb[i] = 0;
chb[i] = 0;
}
}
chgbill = (pbill - cbill) / cbill;
}
function calcbill ()
{
// Put rates in table...
calcrate(cur_rate,1);
wrrev('o1',crb[0],2);
wrrev('o2',crb[1],2);
wrrev('o3',crb[2],2);
wrrev('o4',crb[3],2);
wrrev('o5',crb[4],2);
wrrev('o6',crb[5],2);
wrrev('o7',crb[6],2);
wrrev('o8',crb[7],2);
wrrev('o9',crb[8],2);
wrrev('o10',crb[9],2);
wrrev('o11',crb[10],2);
wrrev('o12',crb[11],2);
wrrev('o13',cbill,2);
wrrev('zold',cbill,2);
}
function newbill ()
{
// Put rates in table...
var xrate = document.rateform.kratex.value;
calcrate(xrate,0);
wrrev('n1',prb[0],2);
wrrev('n2',prb[1],2);
wrrev('n3',prb[2],2);
wrrev('n4',prb[3],2);
wrrev('n5',prb[4],2);
wrrev('n6',prb[5],2);
wrrev('n7',prb[6],2);
wrrev('n8',prb[7],2);
wrrev('n9',prb[8],2);
wrrev('n10',prb[9],2);
wrrev('n11',prb[10],2);
wrrev('n12',prb[11],2);
wrrev('n13',pbill,2);
wrpct('c1',chb[0],1);
wrpct('c2',chb[1],1);
wrpct('c3',chb[2],1);
wrpct('c4',chb[3],1);
wrpct('c5',chb[4],1);
wrpct('c6',chb[5],1);
wrpct('c7',chb[6],1);
wrpct('c8',chb[7],1);
wrpct('c9',chb[8],1);
wrpct('c10',chb[9],1);
wrpct('c11',chb[10],1);
wrpct('c12',chb[11],1);
wrpct('c13',chgbill,1);
wrrev('zold',cbill,2);
wrrev('znew',pbill,2);
xtemp = pbill - cbill;
wrrev('zchg',xtemp,2);
xtemp = (pbill - cbill)/12.0;
wrrev('zchgm',xtemp,2);
}