var stats_api_root = 'http://api.gosetsuden.jp';

function setStats() {
  function _get_stats() {
    _get_instant_latest()
  }

  var usage_instant_latest;
  var usage_instant_timestamp;
  var usage_instant_timestamp_str;
  function _get_instant_latest() {
    $.getJSON(stats_api_root + '/usage/tokyo/instant/latest?callback=?', 
       function(data, status) {
         usage_instant_latest = data[0].usage;
         usage_instant_timestamp = data[0].timestamp;
         var dt = new Date(usage_instant_timestamp);
         usage_instant_timestamp_str = dt.getFullYear() + ' 年 ' 
                                      + (dt.getMonth() + 1) + ' 月 '
                                      + dt.getDate() + ' 日 '
                                      + dt.getHours() + ' 時 '
                                      + dt.getMinutes() + ' 分';
         _get_peak_supply_today();
       }
     );
  }

  var peak_supply_today;
  function _get_peak_supply_today() {
    $.getJSON(stats_api_root + '/peak/tokyo/supply/today?callback=?', 
      function(data, status) {
        peak_supply_today = data[0].usage;
        _set_stats();
      }
    );
  }

  function _set_stats() {
    var per = (usage_instant_latest / peak_supply_today) * 100;
    var per_str = per.toFixed(1) + '%';
    var bar_width = $('#stats-holder').width() * (usage_instant_latest / peak_supply_today);
    var html = [];
        html.push('<div id="stats">');
        html.push('<p id="stats-title">東京電力<br />現在の電力使用状況</p>');
        html.push('<div id="stats-indicator">');
        html.push('<div id="stats-bar" style="width:' + bar_width + 'px;">');
        html.push(per_str);
        html.push('</div>');
        html.push('</div>');
        html.push('<p id="stats-source">データ提供：<br /><a href="http://api.gosetsuden.jp/" target="_blank">Google Go 節電 API</a></p>');
        html.push('</div>');
    $('#stats-holder').html(html.join(''));
  }
  _get_stats();
}

Number.prototype.unitnum = function() {
  var i = this / 10000 + ' 万'
  return i;
}

Array.prototype.randomize = function() {
  var i = this.shuffle();
  return i.shift();
}

Array.prototype.shuffle = function() {
  var i = this.length;
  while(i){
    var j = Math.floor(Math.random()*i);
    var t = this[--i];
    this[i] = this[j];
    this[j] = t;
  }
  return this;
}

