var sitename = top.document.location.href.toLowerCase();
var popupWin;
var largerWin;
var largerWin2;
var largerWin3;
var glossaryWin;
var scrnwidth=screen.width;
var scrnheight=screen.height;
sitename = sitename.replace(/^http:\/\/(?:www\.)?/i, "");
sitename = sitename.replace(/\/.*$/i, "");
//alert(sitename);





/**
*
*  URL encode / decode
*
**/

var Url = {

	// public method for url encoding
	encode : function (string) {
		return escape(this._utf8_encode(string));
	},

	// public method for url decoding
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},

	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";

		for (var n = 0; n < string.length; n++) {

			var c = string.charCodeAt(n);

			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}

		}

		return utftext;
	},

	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;

		while ( i < utftext.length ) {

			c = utftext.charCodeAt(i);

			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}

		}

		return string;
	}

}



//

function commaSplit(srcNumber) 
{
	var txtNumber = '' + srcNumber;
	if (isNaN(txtNumber) || txtNumber == "") {
	alert("Oops!  That does not appear to be a valid number.  Please try again.");
	fieldName.select();
	fieldName.focus();
	}
	else {
	var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
	var arrNumber = txtNumber.split('.');
	arrNumber[0] += '.';
	do {
	arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
	} while (rxSplit.test(arrNumber[0]));
	if (arrNumber.length > 1) {
	return arrNumber.join('');
	}
	else {
	return arrNumber[0].split('.')[0];
		  }
	   }
}


if( document.layers )
{
	alert("This browser is not supported")
}
function howManyHours(fixtures, wattsPerFixture, hoursofOperation, daysPerYear)
{
	return ((fixtures * wattsPerFixture * hoursofOperation * daysPerYear)/1000)
}	
function CalculateWattSavings(sngEnergyStarWatts,  sngStandardWatts) 
{
	return sngStandardWatts - sngEnergyStarWatts;
}
function CalculateWattSavingsPerYear(sngEnergyStarWatts,  sngStandardWatts,  sngHoursOfUsePerDay, sngdaysAyear)
{
	return CalculateWattSavings(sngEnergyStarWatts, sngStandardWatts) * sngHoursOfUsePerDay * sngdaysAyear;
}
function CalculateOldWattSavingsPerYear(lngExistingWatts,  sngStandardWatts,  sngHoursOfUsePerDay, sngdaysAyear)
{
	return CalculateWattSavings(lngExistingWatts, sngStandardWatts) * sngHoursOfUsePerDay * sngdaysAyear;
}
function CalculateDollarSavingsPerYear(sngWattsPerYear,  sngEnergyCostPerKWH)
{
	return (sngWattsPerYear / 1000) * sngEnergyCostPerKWH;
}
function CalculateAverageReplacementCostPerYear(lngHoursLife,  sngCost,  sngHoursOfUsePerDay, sngdaysAyear)
{
	return ((sngHoursOfUsePerDay * sngdaysAyear)/lngHoursLife) * sngCost;
}
function reCalculate()
{
	with( document.getElementById("ExistingWatts") )
	{
		var lngExistingWatts = document.getElementById("ExistingWatts").value;
	}
	var lngreplaceMentWatts = document.getElementById("replaceMentWatts").value;
	if( document.getElementById("StandardCostDollars") )
	{
		var lngStandardCostDollars = document.getElementById("StandardCostDollars").value;
		var lngStandardCostCents = document.getElementById("StandardCostCents").value;
		var sngStandardCost = lngStandardCostDollars + "." + lngStandardCostCents;
		var lngEnergyStarCostDollars = document.getElementById("EnergyStarCostDollars").value;
		var lngEnergyStarCostCents = document.getElementById("EnergyStarCostCents").value;
		var sngEnergyStarCost = lngEnergyStarCostDollars + "." + lngEnergyStarCostCents;
	}
	var lngReplacementCount = document.getElementById("ReplacementCount").value;
	var lngHoursOfUse = document.getElementById("HoursOfUse").value;
	var sngDaysAyear = document.getElementById("daysAyear").value;
	var sngLampCost = document.getElementById("lampCost").value;

	//from GetElectricityCost
	var lngElectricityCostCents = document.getElementById("ElectricityCostCents").value;
	var sngElectricityCost = (lngElectricityCostCents)/100;


	var sngEnergyStarReplacementCostPerYear;
	var sngStandardReplacementCostPerYear;
	var sngSavingsPerYear;
	var sngEnergyStarPayoffMonths;
	var sngWattsSavingsPerYear;
	var sngEnergyStarLife;
	var lngStandardLife = 1000; //hours
	var lngEnergyStarLife = 10000; //hours
	
	oldHours = howManyHours(lngReplacementCount, lngExistingWatts, lngHoursOfUse, sngDaysAyear); // howManyHours(fixtures, wattsPerFixture, hoursofOperation, daysPerYear)
	newHours = howManyHours(lngReplacementCount, lngreplaceMentWatts, lngHoursOfUse, sngDaysAyear); // howManyHours(fixtures, wattsPerFixture, hoursofOperation, daysPerYear)
	
	sngWattsSavingsPerYear = CalculateWattSavingsPerYear(lngreplaceMentWatts, lngExistingWatts, lngHoursOfUse, sngDaysAyear);
	sngOldWattsSavingsPerYear = CalculateWattSavingsPerYear(lngExistingWatts, lngExistingWatts, lngHoursOfUse, sngDaysAyear);
	if( document.getElementById("StandardCostDollars") )
	{
		sngEnergyStarReplacementCostPerYear = CalculateAverageReplacementCostPerYear(lngEnergyStarLife, sngEnergyStarCost, lngHoursOfUse, sngDaysAyear) * lngReplacementCount;
		sngStandardReplacementCostPerYear = CalculateAverageReplacementCostPerYear(lngStandardLife, sngStandardCost, lngHoursOfUse, sngDaysAyear) * lngReplacementCount;
		sngSavingsPerYear = sngStandardReplacementCostPerYear - sngEnergyStarReplacementCostPerYear + (CalculateDollarSavingsPerYear(sngWattsSavingsPerYear, sngElectricityCost) * lngReplacementCount);
		sngEnergyStarPayoffMonths = Math.round(((sngEnergyStarCost * lngReplacementCount) / sngSavingsPerYear) * 12);//, 0);
		sngEnergyStarLife = toPrecision(lngEnergyStarLife / (sngdaysAyear * lngHoursOfUse), 1); //STM DISPLAY ONE DIGIT
		document.getElementById("EnergyStarPayoffMonths").innerHTML = sngEnergyStarPayoffMonths;
		document.getElementById("EnergyStarLife").innerHTML = sngEnergyStarLife;
	}
	else
	{
		sngSavingsPerYear = CalculateDollarSavingsPerYear(sngWattsSavingsPerYear, sngElectricityCost) * lngReplacementCount;
	}
//	document.getElementById("KWHUsePerYear").innerHTML = Update((oldHours*lngElectricityCostCents)/100);
//	document.getElementById("energyBefore").innerHTML = "$"+Update((oldHours*lngElectricityCostCents)/100)+" a year";
	energyBeforeVar = toPrecision(((oldHours*lngElectricityCostCents)/100) ,2);
	energyAfterVar = toPrecision(((newHours*lngElectricityCostCents)/100) ,2);
	annualSavingsVar = toPrecision((sngSavingsPerYear) ,2);
	monthlySavingsVar = toPrecision((sngSavingsPerYear/12) ,2);
	
	totalCost = sngLampCost * lngReplacementCount;
	monthsPayBack = toPrecision((totalCost)/(sngSavingsPerYear/12), 1);
	
	if (energyBeforeVar>999) {
		energyBeforeVar = commaSplit(energyBeforeVar);
	}
	if (energyAfterVar>999) {
		energyAfterVar = commaSplit(energyAfterVar);
	}
	if (annualSavingsVar>999) {
		annualSavingsVar = commaSplit(annualSavingsVar);
	}
	if (monthlySavingsVar>999) {
		monthlySavingsVar = commaSplit(monthlySavingsVar);
	}
	document.getElementById("energyBefore").innerHTML = "$"+energyBeforeVar+" per year";
	document.getElementById("energyAfter").innerHTML = "$"+energyAfterVar+" per year";
	document.getElementById("annualSavings").innerHTML = "$"+annualSavingsVar+" per year";
	document.getElementById("monthlySavings").innerHTML = "$"+monthlySavingsVar+" per month";
	document.getElementById("payBack").innerHTML = monthsPayBack+" month(s)";

	document.getElementById("energyCostOld_2").value = energyBeforeVar;
	document.getElementById("energyCostNew_2").value = energyAfterVar;
	document.getElementById("annualCost_2").value = annualSavingsVar;
	document.getElementById("monthlyCost_2").value = monthlySavingsVar;
	document.getElementById("payBack_2").value = monthsPayBack;

}

function toPrecision(arg, precision)
{
	var fixedReg = new RegExp("\\.\\d{" + precision + "}"); // a dot followed by precision number of digits
	var decimalReg = /\./; // a dot
	var breakOut = 0;
	with( Math )
	{
		////debugger;
		arg = round(arg * pow(10, precision)) / (pow(10, precision));
		if ( !decimalReg.test(arg) && precision > 0 )
		{
			arg += ".0";
		}
		while( !fixedReg.test(arg) && breakOut < precision )
		{
			arg += "0";
			breakOut++;
		}
	}
	return arg;
}


//	NORMAL Function to View Larger Image.
//	Opens a 500 x 500 window
function openLarger(imgurl,imgalt) {
	var xspot=Math.round((scrnwidth/2)-(250));
	var yspot=Math.round((scrnheight/2)-(280));
	if (!largerWin || largerWin.closed) {
		largerWin = window.open("","","width=300,height=300,top="+yspot+",screenY="+yspot+",left="+xspot+",screenX="+xspot);
	}
	else {
		window.largerWin.close();
		largerWin = window.open("","","width=300,height=300,top="+yspot+",screenY="+yspot+",left="+xspot+",screenX="+xspot);
	}
	drawstr =  '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">';
	drawstr += '<html><head><title>'+imgalt+'</title></head>';
	drawstr += '<body bgcolor=white marginheight=0 marginwidth=0 topmargin=0 leftmargin=0>';
	drawstr += '<img src=';
	drawstr += imgurl;
	drawstr += ' border=0 alt=';
	drawstr += imgalt;
	drawstr += '>';
	drawstr += '</body></html>';
	largerWin.document.open();
	largerWin.document.write(drawstr);
	largerWin.document.close();
}

