var wdata = "";
var wchart = "";

//needs to get written in template
//var whouse_id = "";

var wlast_time = 0;
var wlast_value = 0;
var wRefreshInterval = 0;


function wwattsToDollars(watts) {
	dollars = (0.17668333/1000)*watts;
	return Math.round(dollars*10000)/10000;
}

function wAddDP(time,value) {
	if (time == wlast_time && value == wlast_value)	{
		return;
	}
	
	newRow = data.addRow();
	data.setValue(newRow,0,time);
	data.setValue(newRow,1,value);
	wlast_time = time; wlast_value = value;
	if (data.getNumberOfRows() > 40) { data.removeRow(0); }
}

function wRedrawChart() {
	chart.draw(data, {legend: 'none', min: 0, colors:["#41ba2f"]});

	energyCost = wwattsToDollars(wlast_value);

	if (energyCost < 1) {
		$('#current_rate_dollars').text(energyCost*100).format({format:"##"});
		$('#current_rate_dollars').html($('#current_rate_dollars').html()+"&cent;");
	}
	else {
		$('#current_rate_dollars').text(energyCost).format({format:"$#,###.00"});
	}

	$('#current_rate').text(wlast_value).format({format:"#,###,###"});

	// twiddle the arrows...
	rows = data.getNumberOfRows();
	lastrow = rows-1;
	secondlastrow = lastrow-1;
	if (secondlastrow<0) { return; }
	
	valold = data.getValue(secondlastrow,1)
	valnew = data.getValue(lastrow,1)

	difference = valnew-valold;

	if (Math.abs(difference) < 50) {
		return; // if we moved less than 50 watts, do nothing to the display
	}

	$('.arrows').hide();

	if (difference < 0) {
		$('#savings').fadeIn("slow");
		$('#downarrow').fadeIn("slow");
	}
	else {
		$('#uparrow').fadeIn("slow");
	}

	difference = Math.abs(difference);
	
	energyCost = Math.round(wwattsToDollars(difference)*100)/100;
	
	deltaCommentDollars = "$" + energyCost;
	if (deltaCommentDollars.length == 4) { deltaCommentDollars = deltaCommentDollars + "0"; }
	
	$('#deltacomment').text(deltaCommentDollars);
}

function wProcessDPs(data, textStatus) {

	flag = 0;
	for (i in data) {

		data[i][0] = data[i][0].replace("AM","a.m.");
		data[i][0] = data[i][0].replace("PM","p.m.");
		if (data[i][0][0] == '0') { data[i][0] = data[i][0].substr(1); } // trim a leading zero...
				
		wAddDP(data[i][0], data[i][1]);
		flag = 1;

	}

	if (flag) { wRedrawChart(); }
}

function wRefreshDPs() {
	jQuery.post("/house/newpoints", {houseid: whouse_id, requesting_page: 'welcome'}, wProcessDPs, "json");
}
	
function wStartRefresh() {
	wRefreshInterval = setInterval("wRefreshDPs()",10000);
}

//function wDrawChart() had template tags, so moved it to welcome
//function wDrawChart() {
//	
//	 if( whouse_id == ""){ return; }
//	 
//    data = new google.visualization.DataTable();
//    data.addColumn('string', 'Time');
//    data.addColumn('number', 'Watts');
//				
//		{% for data in udata %} wAddDP('{{data.time|date:"g:i:s a"}}',{{data.watts}}); 
//		{% endfor %}
//
//		chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
//
//	wRedrawChart();
//	wStartRefresh();
//}
//google.load("visualization", "1", {packages:["areachart"]});
//google.setOnLoadCallback(wDrawChart);
