var home30; var avg30; var home7; var avg7; var cost_pos = new Array(); cost_pos[0] = '0px -195px'; cost_pos[1] = '0px -195px'; cost_pos[2] = '0px -195px'; cost_pos[3] = '0px -195px'; cost_pos[4] = '0px -195px'; var kw_pos = new Array(); kw_pos[0] = '0px -195px'; kw_pos[1] = '0px -195px'; kw_pos[2] = '0px -195px'; kw_pos[3] = '0px -195px'; kw_pos[4] = '0px -195px'; var carb_pos = new Array(); carb_pos[0] = '0px -195px'; carb_pos[1] = '0px -195px'; carb_pos[2] = '0px -195px'; carb_pos[3] = '0px -195px'; carb_pos[4] = '0px -195px'; var bval = 5200; var cost = 14.00; // in pence var ctm = 0; var wtm = 0; var carbtm = 0; var notes = []; var home24 = []; var avg24 = []; var datasets; var plot; var ch_zng = ''; var ch_w = ''; var guptime = 0; var wuptime = 0; var sunset = 0; var sunrise = 0; var gdisp = 24; $j = jQuery.noConflict(); function pad(number,length) { var str = '' + number; while (str.length < length) str = '0' + str; return str; } function formatPower(v) { if (v > 1000000) return (v / 1000000) + "MW"; else if (v >= 1000) return (v / 1000) + "kW"; else return v + "W"; } function createTooltip(event){ if ( $j(this).attr('id') == "ieu_info" ) { positionTooltip(event, "ieu-wrap"); } else if ( $j(this).attr('id') == "mb_info" ) { positionTooltip(event, "mb-wrap"); } positionTooltip(event); }; function positionTooltip(event, wrap){ var tPosX = event.pageX +10; var tPosY = event.pageY +10; $j('#'+wrap).css({top: tPosY, left: tPosX}); $j('#'+wrap).show(); }; function showTooltip(x, y, contents) { $j('
' + contents + '
').css( { position: 'absolute', display: 'none', 'z-index': 4000, top: y + 5, left: x + 5, border: '1px solid #fdd', padding: '2px', 'background-color': '#fee', opacity: 0.80 }).appendTo("body").fadeIn(200); } function get30() { jQuery.ajax({ url: 'http://status2.energyhive.co.uk/my_30.json', type: 'GET', dataType: 'json', data:$data, timeout: 3000, error: function(){ alert('Unable to load month data'); }, success: function(json){ home30 = json.graph.home; avg30 = json.graph.average; } }); } function get7() { jQuery.ajax({ url: 'http://status2.energyhive.co.uk/my_7.json', type: 'GET', dataType: 'json', data:$data, timeout: 3000, error: function(){ alert('Unable to load week data'); }, success: function(json){ home7 = json.graph.home; avg7 = json.graph.average; } }); } (function($j) { $j.fn.vCenter = function(options) { var pos = { sTop : function() { return window.pageYOffset || document.documentElement && document.documentElement.scrollTop || document.body.scrollTop; }, sLeft : function() { return window.pageXOffset || document.documentElement && document.documentElement.scrollLeft || document.body.scrollLeft; }, wWidth : function() { return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body.clientWidth; }, wHeight : function() { return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body.clientHeight; } }; return this.each(function(index) { if (index == 0) { var $this = $j(this); var elHeight = $this.height(); var elWidth = $this.width(); var elTop = pos.sTop() + (pos.wHeight() / 2) - (elHeight / 2); var elLeft = pos.sLeft() + (pos.wWidth() / 2) - (elWidth / 2); $this.css({ position: 'absolute', marginTop: '0', top: elTop, left: elLeft }); } }); }; })(jQuery); /* This function was originally written by the nice folks at http://tweet.seaofclouds.com/ and is under the MIT license - http://www.opensource.org/licenses/mit-license.php */ (function($j) { $j.fn.tweet = function(o){ var s = { username: ["energyhive"], // [string] required, unless you want to display our tweets. :) it can be an array, just do ["username1","username2","etc"] avatar_size: null, // [integer] height and width of avatar if displayed (48px max) count: 3, // [integer] how many tweets to display? intro_text: null, // [string] do you want text BEFORE your your tweets? outro_text: null, // [string] do you want text AFTER your tweets? join_text: null, // [string] optional text in between date and tweet, try setting to "auto" auto_join_text_default: "i said,", // [string] auto text for non verb: "i said" bullocks auto_join_text_ed: "i", // [string] auto text for past tense: "i" surfed auto_join_text_ing: "i am", // [string] auto tense for present tense: "i was" surfing auto_join_text_reply: "i replied to", // [string] auto tense for replies: "i replied to" @someone "with" auto_join_text_url: "i was looking at", // [string] auto tense for urls: "i was looking at" http:... loading_text: null, // [string] optional loading text, displayed while tweets load query: null // [string] optional search query }; $j.fn.extend({ linkUrl: function() { var returning = []; var regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi; this.each(function() { returning.push(this.replace(regexp,"$1")) }); return $j(returning); }, linkUser: function() { var returning = []; var regexp = /[\@]+([A-Za-z0-9-_]+)/gi; this.each(function() { returning.push(this.replace(regexp,"@$1")) }); return $j(returning); }, linkHash: function() { var returning = []; var regexp = / [\#]+([A-Za-z0-9-_]+)/gi; this.each(function() { returning.push(this.replace(regexp, ' #$1')) }); return $j(returning); } }); function relative_time(time_value) { var parsed_date = Date.parse(time_value); var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); var delta = parseInt((relative_to.getTime() - parsed_date) / 1000); if(delta < 60) { return 'less than a minute ago'; } else if(delta < 120) { return 'about a minute ago'; } else if(delta < (45*60)) { return (parseInt(delta / 60)).toString() + ' minutes ago'; } else if(delta < (90*60)) { return 'about an hour ago'; } else if(delta < (24*60*60)) { return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago'; } else if(delta < (48*60*60)) { return '1 day ago'; } else { return (parseInt(delta / 86400)).toString() + ' days ago'; } } if(o) $j.extend(s, o); return this.each(function(){ var list = $j('