var periodic;
var count;
var playlist;

function setup() {
  countdown();
  periodic = new PeriodicalExecuter(check_shout, 10);
  count = new PeriodicalExecuter(countdown, 1);
  playlist = new PeriodicalExecuter(check_playlist, 120);
  Form.focusFirstElement('form_shout')
}

function countdown() {
        time_left = time_left - 1;
        var minutes = (time_left - (time_left % 60 ) ) / 60;
        var seconds = time_left - (minutes * 60);
        if( minutes < 10 )
          minutes = "0" + minutes;
        if( seconds < 10 )
          seconds = "0" + seconds;
        $('time_counter').innerHTML = minutes + ":" + seconds;

        var width = (total_time / time_left );

        $('progress').width = 695 - ( (time_left / total_time )) * 695;

        if( time_left <= 0 )
          document.location.href="http://gurba.sytes.net/index.pl";
}

function do_shout() {
        if( $('captcha').value == "" )
                return;
        var form_params = Form.serialize('form_shout');
        new Ajax.Request('/action.pl?action=shout', {asynchronous: true, parameters: form_params, onSuccess: on_shout});
        $('captcha').value = "";
}


function check_shout() {
  var form_params = "";
  new Ajax.Request('/action.pl?action=shout', {asynchronous: true, parameters: form_params, onSuccess: on_shout});
}

function check_playlist() {
  var form_params = "";
  new Ajax.Request('/action.pl?action=playlist', {asynchronous: true, parameters: form_params, onSuccess: on_playlist });
}


var old_inner = "";

var on_playlist = function(t) {

  var changed = new Array;

  var new_inner = t.responseText;
  if( old_inner == "" ) {
    old_inner = new_inner;
    return;
  }

  var new_lines = new_inner.split("</tr>");
  var old_lines = old_inner.split("</tr>");


  var i = 0;

  for( i = 0; i < changed.length; i++ ) {
    changed[i] = false;
  }

  for( i = 0; i < new_lines.length; i++ ) {
    if( i >= old_lines.length ) {
      break;
    }

    var old_line = old_lines[i];
    var new_line = new_lines[i];
    if( old_line != new_line && new_line.indexOf("<td></td>") < 0 && new_line.indexOf("Random Song") < 0) {
      changed[i] = true;
      continue;
    }

    changed[i] = false;
  }

  //  alert(new_inner);



  Element.update('playlist_box', "<table width=594>" + new_inner + "</table>");



  for( i = 0; i < new_lines.length - 1; i++ ) {
    if( changed[i] == true ) {
      new Effect.Highlight('pl_' + i, {duration: 1.0, startcolor: '#D4D4D4', endcolor: '#F3AF2C'});
    }
  }


  old_inner = new_inner;

}

var old_shout = "";

var on_shout = function(t) {
        var entries = t.responseText.split("-|-");


        var rows = document.getElementsByClassName('shout_message', 'li');
        var i = 0;

        var first_num = -1;

        for( i = 0; i < entries.length; i++ ) {
          if( old_shout == entries[i] ) {
            first_num = i;
            break;
          }
        }


        if( first_num == 0 )
        return;


        if( first_num == -1 && old_shout != "" )
           first_num = entries.length;


        for( i = 0; i < entries.length; i++ ) {
                Element.update(rows[i], entries[i]);
                Element.show(rows[i]);
        }

        for( i = i; i < 12; i++ ) {
                Element.empty(rows[i]);
                Element.hide(rows[i]);
        }


        for( i = 0; i < first_num; i++ ) {
          new Effect.Highlight(rows[i], {duration: 1.0, startcolor: '#F3AF2C', endcolor: '#D4D4D4'});
        }
        old_shout = entries[0];
}
