YAHOO.calculator=new Object();YAHOO.calculator.Data={kwh:[],cost:[]};YAHOO.calculator.Data.states=stateData;var applianceEnergyUse=getApplianceEnergyUse();var treeData=getApplianceEnergyUse();function getApplianceEnergyUse(){return applianceEnergyUseValues}var stateSelect=document.getElementById("stateSelect");for(var stateIndex=0;stateIndex<YAHOO.calculator.Data.states.length;stateIndex++){var stateObject=YAHOO.calculator.Data.states[stateIndex];var stateKWH=(stateObject.kwh/100).toFixed(2);var selected=false;if(stateObject.state=="Maryland"){selected=true;var costPerKWH=document.getElementById("costPerKWH");costPerKWH.value=stateKWH}stateSelect.options[stateIndex]=new Option(stateObject.state,stateKWH,selected,selected)}var tree;var treeDataSource;(function(){var a=function(){tree=new YAHOO.widget.TreeView("applianceTreeContainer",treeData);tree.render();tree.subscribe("labelClick",treeLabelClick)};YAHOO.util.Event.onDOMReady(a)})();function treeLabelClick(e){if(e.data.kwValue===undefined){return}var b=e.data.kwValue;var a=(e.data.standbyValue?e.data.standbyValue:0);var l=document.getElementById("normalKilowattHours");var f=document.getElementById("normalHoursUsed");var j=document.getElementById("normalMinutesUsed");var h=document.getElementById("normalWattsUsed");var d=document.getElementById("standbyKilowattHours");var i=document.getElementById("standbyHoursUsed");var g=document.getElementById("standbyMinutesUsed");var k=document.getElementById("standbyWattsUsed");var m=e.data.typicalUse;var c=0;if(!m){m=0}m=m/30;if(m<1){c=60*m;m=0}f.value=m;j.value=c;h.value=b*1000;l.innerHTML=b;i.value=0;g.value=0;k.value=a*1000;d.innerHTML=a}function calculateUnit(a){if(a=="year"){return(365)}else{if(a=="month"){return(30)}else{if(a=="day"){return 1}else{if(a=="hour"){return -1}}}}return null}function findData(e,d,c,b){for(var a=0;a<e.length;a++){var f=e[a];if(f[d]==c){return f}else{if(f[b]!=null){return findData(f[b],d,c,b)}}}return null}function stateChanged(b){var a=document.getElementById("costPerKWH");if(b.selectedIndex>=0){a.value=b.options[b.selectedIndex].value}}function calculateEnergyUse(j){var c=j.normalWattsUsed.value;var h=parseFloat(j.normalHoursUsed.value);var f=parseFloat(j.normalMinutesUsed.value);var i=h+(f/60);var b=j.standbyWattsUsed.value;var g=parseFloat(j.standbyHoursUsed.value);var a=parseFloat(j.standbyMinutesUsed.value);var e=g+(a/60);var d=parseFloat(j.costPerKWH.value);if(kwhDataTable!=null){kwhDataTable.destroy()}if(costDataTable!=null){costDataTable.destroy()}if(chart!=null){chart.destroy()}createKWHGrid(["Normal","Standby"],[c,b],[i,e]);createCostGrid(["Normal","Standby"],[c,b],[i,e],d);createChart()}var previousHourValue=0;var previousMinuteValue=0;var kwhDataTable=null;var costDataTable=null;var chart=null;function onNormalValueChange(b){try{var a=document.getElementById("normalKilowattHours");a.innerHTML=calculateKWH(b.normalWattsUsed.value,b.normalHoursUsed.value,b.normalMinutesUsed.value)}catch(c){if(c=="OverHours"){b.normalHoursUsed.value=previousHourValue;b.normalMinutesUsed.value=previousMinuteValue;alert("Hours and minutes must be less than 1 day.")}}}function onStandbyValueChange(b){try{var a=document.getElementById("standbyKilowattHours");a.innerHTML=calculateKWH(b.standbyWattsUsed.value,b.standbyHoursUsed.value,b.standbyMinutesUsed.value)}catch(c){if(c=="OverHours"){b.normalHoursUsed.value=previousHourValue;b.normalMinutesUsed.value=previousMinuteValue;alert("Hours and minutes must be less than 1 day.")}}}function calculateKWH(e,a,c){e=parseFloat(e);a=parseFloat(a);c=parseFloat(c);var d=a+(c/60);if(d>24){throw"OverHours"}previousHourValue=a;previousMinuteValue=c;var b=(e*d)/1000;b=b.toFixed(3);return b}function createKWHTableData(g,e,c,l,d){var b=[];var k=[];var f=[1,7,30,365,1825];for(var i=0;i<f.length;i++){k[i]=0}for(energyIndex=0;energyIndex<e.length;energyIndex++){var a=(c[energyIndex]*l[energyIndex])/1000;b[energyIndex]=new Object();b[energyIndex][g[0].key]="<b>"+e[energyIndex]+"";for(var j=0;j<f.length;j++){var h=g[j+1];var m=a*f[j]*d;k[j]+=m;m=m.toFixed(3);b[energyIndex][h.key]=m}}b[energyIndex]=new Object();b[energyIndex][g[0].key]="<b>Total";for(var j=0;j<f.length;j++){var h=g[j+1];var m=a*f[j]*d;b[energyIndex][h.key]=k[j].toFixed(3)}return b}function createKWHGrid(b,c,a){var d=[{key:"energyuse",sortable:false,resizeable:true,label:"Energy Use"},{key:"day",formatter:YAHOO.widget.DataTable.formatNumber,sortable:false,resizeable:true,label:"Day"},{key:"week",formatter:YAHOO.widget.DataTable.formatNumber,sortable:false,resizeable:true,label:"Week"},{key:"month",formatter:YAHOO.widget.DataTable.formatNumber,sortable:false,resizeable:true,label:"Month"},{key:"year",formatter:YAHOO.widget.DataTable.formatNumber,sortable:false,resizeable:true,label:"Year"},{key:"fiveYears",formatter:YAHOO.widget.DataTable.formatNumber,sortable:false,resizeable:true,label:"Five Years"}];YAHOO.calculator.Data.kwh=createKWHTableData(d,b,c,a,1);this.myDataSource=new YAHOO.util.DataSource(YAHOO.calculator.Data.kwh);this.myDataSource.responseType=YAHOO.util.DataSource.TYPE_JSARRAY;this.myDataSource.responseSchema={fields:["energyuse","day","week","month","year","fiveYears"]};document.getElementById("kwhDataCaption").style.display="block";kwhDataTable=new YAHOO.widget.DataTable("kwhTable",d,this.myDataSource,{})}function createCostGrid(b,c,a,e){var d=[{key:"energyuse",sortable:false,resizeable:true,label:"Energy Use"},{key:"day",formatter:YAHOO.widget.DataTable.formatCurrency,sortable:false,resizeable:true,label:"Day"},{key:"week",formatter:YAHOO.widget.DataTable.formatCurrency,sortable:false,resizeable:true,label:"Week"},{key:"month",formatter:YAHOO.widget.DataTable.formatCurrency,sortable:false,resizeable:true,label:"Month"},{key:"year",formatter:YAHOO.widget.DataTable.formatCurrency,sortable:false,resizeable:true,label:"Year"},{key:"fiveYears",formatter:YAHOO.widget.DataTable.formatCurrency,sortable:false,resizeable:true,label:"Five Years"}];YAHOO.calculator.Data.cost=createKWHTableData(d,b,c,a,e);this.myDataSource=new YAHOO.util.DataSource(YAHOO.calculator.Data.cost);this.myDataSource.responseType=YAHOO.util.DataSource.TYPE_JSARRAY;this.myDataSource.responseSchema={fields:["energyuse","day","week","month","year","fiveYears"]};document.getElementById("costDataCaption").style.display="block";costDataTable=new YAHOO.widget.DataTable("costTable",d,this.myDataSource,{})}function createChart(){createChartData()}function createChartData(){var b=YAHOO.calculator.Data.kwh;var a=YAHOO.calculator.Data.cost;YAHOO.calculator.Data.chart=[{timePeriod:"day",cost:parseFloat(a[2].day)},{timePeriod:"week",cost:parseFloat(a[2].week)},{timePeriod:"month",cost:parseFloat(a[2].month)},{timePeriod:"year",cost:parseFloat(a[2].year)},{timePeriod:"fiveYears",cost:parseFloat(a[2].fiveYears)},]};