var nn4 = (document.layers) ? true : false
var ie = (document.all) ? true : false
var dom = (document.getElementById && !document.all) ? true : false

var xmlHttp;
var ElecThisValue;
var ElecLastValue;
var ElecThisUnit;
var ElecLastUnit;
var ElecThisTime;
var ElecLastTime;

var ElecOldThisValue;
var ElecOldLastValue;
var ElecOldThisUnit;
var ElecOldLastUnit;
var ElecOldThisTime;
var ElecOldLastTime;
   
var GasThisValue;
var GasLastValue;
var GasThisUnit;
var GasLastUnit;
var GasThisTime;
var GasLastTime;

var GasOldThisValue;
var GasOldLastValue;
var GasOldThisUnit;
var GasOldLastUnit;
var GasOldThisTime;
var GasOldLastTime;
   
var WaterThisValue;
var WaterLastValue;
var WaterThisUnit;
var WaterLastUnit;
var WaterThisTime;
var WaterLastTime;

var WaterOldThisValue;
var WaterOldLastValue;
var WaterOldThisUnit;
var WaterOldLastUnit;
var WaterOldThisTime;
var WaterOldLastTime;
  
function timeRemaining() {




        var now = new Date();                                
         
        var deltaUTC = (now.getTimezoneOffset())*60;
        //now = now.getUTCDate();


         var nowUTC = parseInt((now.getTime()/1000)+deltaUTC);
var thisYear = now.getFullYear()-1;
if(thisYear > 1900){thisYear = thisYear - 1900}
	var lastyearUTC = now.setYear(now.getFullYear()-1);
        lastyearUTC = parseInt((lastyearUTC/1000)+deltaUTC);
        
        
        var paperSheets;
	var eleckWh;
	var waterm3;
	var oldpaperSaved;
	var oldelecSaved;
	var oldwaterSaved;
	var oldGHGSaved;
	var OldDollarSaved;
	var paperSave;
	var elecSave;
	var waterSave;
	var GHGSave;
	var DollarSave;
	var PaperSavedFactor;
	var ElecSavedFactor;
	var WaterSavedFactor;
	var GHGSavedFactor;
	var DollarSavedFactor;
	var paperFactor;
	var elecFactor;
	var waterFactor;
	var Meter1;
	var Meter2;
	var Meter3;
	var Meter4;
	var Meter5;
	var Meter6;
	var Meter7;
	var Meter8;


	


// Consumption meters calculated here
	//Meter1 = Elec this year
	Meter1 = string1(parseInt(ElecThisValue)+    (((parseInt(ElecThisValue)-parseInt(ElecLastValue)) / (parseInt(ElecThisTime) - parseInt(ElecLastTime))) * (parseInt(nowUTC) - parseInt(ElecThisTime))));
	//Meter1 = Elec Last year
	Meter2 = string1(parseInt(ElecOldThisValue)+    (((parseInt(ElecOldThisValue)-parseInt(ElecOldLastValue)) / (parseInt(ElecOldThisTime) - parseInt(ElecOldLastTime))) * (parseInt(lastyearUTC) - parseInt(ElecOldThisTime))));
	
	//Meter3 = Gas this year
	Meter3 = string(parseFloat(GasThisValue)+    (((parseFloat(GasThisValue)-parseFloat(GasLastValue)) / (parseInt(GasThisTime) - parseInt(GasLastTime))) * (parseInt(nowUTC) - parseInt(GasThisTime))));
	//Meter4 = Gas Last year
	Meter4 = string(parseFloat(GasOldThisValue)+    (((parseFloat(GasOldThisValue)-parseFloat(GasOldLastValue)) / (parseInt(GasOldThisTime) - parseInt(GasOldLastTime))) * (parseInt(lastyearUTC) - parseInt(GasOldThisTime))));
	
	//Meter5 = Water this year
	Meter5 = string1(parseInt(WaterThisValue)+    (((parseInt(WaterThisValue)-parseInt(WaterLastValue)) / (parseInt(WaterThisTime) - parseInt(WaterLastTime))) * (parseInt(nowUTC) - parseInt(WaterThisTime))));
	//Meter6 = Water Last year
	Meter6 = string1(parseInt(WaterOldThisValue)+    (((parseInt(WaterOldThisValue)-parseInt(WaterOldLastValue)) / (parseInt(WaterOldThisTime) - parseInt(WaterOldLastTime))) * (parseInt(lastyearUTC) - parseInt(WaterOldThisTime))));
	


// Savings meters calculated here
	




      writeEnergyConsumption('elCnsmptn', Meter1 + " " + ElecThisUnit);
      writeEnergyConsumption('oldelCnsmptn',Meter2 + " " + ElecOldThisUnit);

      writeEnergyConsumption('gasCnsmptn', Meter3 + " " + GasThisUnit);
      writeEnergyConsumption('oldgasCnsmptn',Meter4 + " " + GasOldThisUnit);
      
      writeEnergyConsumption('waterCnsmptn', Meter5 + " " + WaterThisUnit);
      writeEnergyConsumption('oldwaterCnsmptn',Meter6 + " " + WaterOldThisUnit);


     
	timerID = setTimeout("timeRemaining()", 10);
	timerRunning = true;

}

function writeEnergyConsumption (labelid,str) {

  if (nn4) {
      document.labelid.document.open();
      document.labelid.document.write(str);
      document.labelid.document.close();
  } else if (ie) {
          document.all[labelid].innerHTML=str;
       }
       else if (dom) {
          document.getElementById(labelid).innerHTML=str;
       }

}

function startClock() {
xmlHttp=GetXmlHttpObject();

if (xmlHttp) {
   var url="/httpapp/getEnergyDataFeed_new.php";
   xmlHttp.onreadystatechange=stateChanged;
   xmlHttp.open("GET",url,true);
   xmlHttp.send(null);
   
   
}

        timeRemaining();
}

// make the number into a string
function string(number) {
        var tempnum;
        var templen;
        var space;
		space = "                ";

// get decimal value, and convert to string by adding space	
 		tempnum= Math.round(number * 100) + " ";
		templen = tempnum.length;
		tempnum= tempnum.substring(0,templen-3) + "." +  tempnum.substring(templen-3);

// add commas in appropriate places
        if (tempnum.length > 13) {
        tempnum = tempnum.substring(0,tempnum.length-13) + "," + tempnum.substring(tempnum.length-13, 99);
        }

        if (tempnum.length > 10) {
        tempnum = tempnum.substring(0,tempnum.length-10) + "," + tempnum.substring(tempnum.length-10, 99);
        }

        if (tempnum.length > 7) {
        tempnum = tempnum.substring(0,tempnum.length-7) + "," + tempnum.substring(tempnum.length-7, 99);
        }

// add padding at front		
		tempnum = space.substring(0, 19 - tempnum.length) + tempnum;
        return tempnum;

}

// 2nd version doesn't have decimal.
function string1(number) {
        var tempnum;
        var templen;
        var space;
		space = "                ";

 		tempnum= Math.round(number) + " ";
		templen = tempnum.length;

// add commas in appropriate places
        if (tempnum.length > 10) {
        tempnum = tempnum.substring(0,tempnum.length-10) + "," + tempnum.substring(tempnum.length-10, 99);
        }

        if (tempnum.length > 7) {
        tempnum = tempnum.substring(0,tempnum.length-7) + "," + tempnum.substring(tempnum.length-7, 99);
        }

        if (tempnum.length > 4) {
        tempnum = tempnum.substring(0,tempnum.length-4) + "," + tempnum.substring(tempnum.length-4, 99);
        }

// add padding at front		
		tempnum = space.substring(0, 24 - tempnum.length) + tempnum;
        return tempnum;

}
function getEnergyConsumption() {


xmlHttp=GetXmlHttpObject();

if (xmlHttp) {
   var url="/httpapp/getEnergyDataFeed_new.php";
   xmlHttp.onreadystatechange=stateChanged;
   xmlHttp.open("GET",url,true);
   xmlHttp.send(null);
   
   
}
return 1;
} 

function stateChanged() 
{ 

if (xmlHttp.readyState==4) { 
    var str = xmlHttp.responseText;   
    var utility = str.split(":-:");
    if (utility.length > 1) {
      var electricity = utility[0].split(';');
      var gas = utility[1].split(';');
      var water = utility[2].split(';');
   
   var ElecValues = electricity[0].split('|');
   var ElecValuesOld = electricity[1].split('|');
   var GasValues = gas[0].split('|');
   var GasValuesOld = gas[1].split('|');
   var WaterValues = water[0].split('|');
   var WaterValuesOld = water[1].split('|');
   
   var ElecValuesThisValue = ElecValues[0].split('*');
   var ElecValuesLastValue = ElecValues[1].split('*');
   
   var ElecValuesOldThisValue = ElecValuesOld[0].split('*');
   var ElecValuesOldLastValue = ElecValuesOld[1].split('*');
   
   
   ElecThisValue = ElecValuesThisValue[0];
   ElecLastValue = ElecValuesLastValue[0];
   
   ElecThisUnit = ElecValuesThisValue[1];
   ElecLastUnit = ElecValuesLastValue[1];
   
   ElecThisTime = ElecValuesThisValue[2];
   ElecLastTime = ElecValuesLastValue[2]; 
   
   ElecOldThisValue = ElecValuesOldThisValue[0];
   ElecOldLastValue = ElecValuesOldLastValue[0];
   ElecOldThisUnit = ElecValuesOldThisValue[1];
   ElecOldLastUnit = ElecValuesOldLastValue[1];
   ElecOldThisTime = ElecValuesOldThisValue[2];
   ElecOldLastTime = ElecValuesOldLastValue[2];
   
   
   var GasValuesThisValue = GasValues[0].split('*');
   var GasValuesLastValue = GasValues[1].split('*');
   
   var GasValuesOldThisValue = GasValuesOld[0].split('*');
   var GasValuesOldLastValue = GasValuesOld[1].split('*');
   
   
   GasThisValue = GasValuesThisValue[0];
   GasLastValue = GasValuesLastValue[0];
   
   GasThisUnit = GasValuesThisValue[1];
   GasLastUnit = GasValuesLastValue[1];
   
   GasThisTime = GasValuesThisValue[2];
   GasLastTime = GasValuesLastValue[2]; 
   
   GasOldThisValue = GasValuesOldThisValue[0];
   GasOldLastValue = GasValuesOldLastValue[0];
   GasOldThisUnit = GasValuesOldThisValue[1];
   GasOldLastUnit = GasValuesOldLastValue[1];
   GasOldThisTime = GasValuesOldThisValue[2];
   GasOldLastTime = GasValuesOldLastValue[2];
      

   
   var WaterValuesThisValue = WaterValues[0].split('*');
   var WaterValuesLastValue = WaterValues[1].split('*');
   
   var WaterValuesOldThisValue = WaterValuesOld[0].split('*');
   var WaterValuesOldLastValue = WaterValuesOld[1].split('*');
   
   
   WaterThisValue = WaterValuesThisValue[0];
   WaterLastValue = WaterValuesLastValue[0];
   
   WaterThisUnit = WaterValuesThisValue[1];
   WaterLastUnit = WaterValuesLastValue[1];
   
   WaterThisTime = WaterValuesThisValue[2];
   WaterLastTime = WaterValuesLastValue[2]; 
   
   WaterOldThisValue = WaterValuesOldThisValue[0];
   WaterOldLastValue = WaterValuesOldLastValue[0];
   WaterOldThisUnit = WaterValuesOldThisValue[1];
   WaterOldLastUnit = WaterValuesOldLastValue[1];
   WaterOldThisTime = WaterValuesOldThisValue[2];
   WaterOldLastTime = WaterValuesOldLastValue[2];
      
     
  }
}

}


function writeEnergyConsumption (labelid,str) {

  if (nn4) {
      document.labelid.document.open();
      document.labelid.document.write(str);
      document.labelid.document.close();
  } else if (ie) {
          document.all[labelid].innerHTML=str;
       }
       else if (dom) {
          document.getElementById(labelid).innerHTML=str;
       }

}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try 
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e) {return null; }
    }
  }
return xmlHttp;
}
