var stop = 0;
var timex;

function now_playing() {
new Ajax.Request('/ajax/nowplaying/', {
  onSuccess: function(response) {
    np = response.responseText.evalJSON()
    if (np.now_playing) {
      title = get_title(np.now_playing)
      document.title = title+" %% Anime Soup Radio";
      $('now_playing_artist').innerHTML = np.now_playing.artist
      $('now_playing_title').innerHTML = np.now_playing.title
      $('now_playing_album').innerHTML = np.now_playing.album
      $('now_playing_listening').innerHTML = np.listening
      var requests = np.requests;
      var tracks = '' ;
      if (requests && requests.length > 0) {
        tracks += '    <table id="list" style="width: 80%; margin: 0 auto;">\n';
        tracks += '    <tr>\n';
        tracks += '      <th>#</th><th>' + gettext('Title') + '</th>\n';
        tracks += '    </tr>\n';
        for (var i = 0; i < requests.length; i++) {
          if (i%2 == 0) style = 'even'; else style = 'odd';
          tracks += '      <tr class="'+style+'">\n' 
          tracks += '        <td style="text-align: center;">'+(i+1)+'</td>\n';
          tracks += '        <td>'+get_title(requests[i])+'</td>\n';
          tracks += '      </tr>\n';
        }
        tracks += '    </table>\n';
        $('requests').innerHTML = tracks;
      }
      else {
        $('requests').innerHTML = ""
      }
      timer = np.remaining;
      stop = 0;
      setTimeout('timer_refresh();', 1000);
    } else { setTimeout('now_playing();', 10000); }
  }
});
}

function request(track_id) {
$('request_' + track_id).innerHTML = '<span style="color: gray">' + gettext('Requesting...') + '</span>';
new Ajax.Request('/ajax/request/' + track_id + '/', {
  onSuccess: function(response) {
    json = response.responseText.evalJSON()
    switch(json.success) {
      case 1:
        $('request_' + track_id).innerHTML = '<span style="color: green">' + gettext('Requested') + '</span>'
        break
      default:
        $('request_' + track_id).innerHTML = '<span style="color: red">' + gettext('Error with requesting') + '</span>'
    }
  }
});
}

function get_title(track) {
  if (track.name)
    title = track.name;
  else {
    title = track.title;
    if (track.artist != '') title = track.artist+' — '+title;
    if (track.album != '') title = title+' ('+track.album+')';
  }
  return title;
}

function timer_refresh() {
  timer--;
  /*var hours = Math.floor(timer/3600);*/
  var minutes = Math.floor(timer/60);
  var seconds = timer%60;
  if (minutes < 10) minutes = '0'+minutes;
  if (seconds < 10) seconds = '0'+seconds;
  $('now_playing_timer').innerHTML = minutes+':'+seconds;
  if (timer < 1) {
    stop = 1;
    now_playing();
  }
  if (!stop) setTimeout('timer_refresh();', 1000);
}
