var GlobalAjaxLoading = true;

/*-- Global loading for ajax*/
Ajax.Responders.register({
  
  onCreate: function() {
    if (GlobalAjaxLoading){
      if($('ajax-loading') && Ajax.activeRequestCount > 0){
        $('ajax-loading').removeClassName("hide");
      }
    }
      
  },
  
  onComplete: function() {
    if (GlobalAjaxLoading){
      if($('ajax-loading') && Ajax.activeRequestCount == 0){
        $('ajax-loading').addClassName("hide");
      }
    }
}
    
});

/*-- contact us form quick dump --*/
function checkForm(){
  var _1=document.getElementById("email").value;
  var _2=document.getElementById("name").value;
  var _3=document.getElementById("comment").value;
  if(_1.length==0||_2.length==0||_3.length==0) {
		alert("You must fill every part of this form to continue");
	}else{
		document.getElementById("contact_form").submit()
	}
}
var Countdown = function(el, seconds, debate_id, phase, refresh) {

  var _self = this;
  this.el = el;
  this.seconds = seconds;
  this.debate_id = debate_id;
  this.phase = phase;
  this.refresh = refresh;

  this.update = function() {
    if (this.seconds < 0) this.seconds = 0;
    var h = Math.floor(this.seconds / 3600).toString();
    var m = Math.floor(this.seconds % 3600 / 60).toString();
    if (m.length < 2) m = "0" + m;
    var s = Math.floor(this.seconds % 60).toString();
    if (s.length < 2) s = "0" + s;
    Element.update(this.el, h + ":" + m + ":" + s);
  };

  this.tick = function() {
    this.update();
    if (this.seconds > 0) {
      this.seconds--;
      setTimeout(function() {_self.tick()}, 1000);
    }
  };

  this.set_check = function() {
    var interval = this.seconds / 2;
    if (interval < 5) interval = 5;
    /* interval = 5; /* BOB */
    setTimeout(function() {
      var prevGlobalAjaxLoading = GlobalAjaxLoading;
      GlobalAjaxLoading = false;
      new Ajax.Request("/debates/" + debate_id + "/check_phase", {
        onComplete: function(transport) {
          GlobalAjaxLoading = prevGlobalAjaxLoading;
          var json = transport.responseText.evalJSON(true);
          if (json) {
            _self.seconds = json["secs"]
            if (_self.phase != json["phase"]) {
              window.location.reload();
              return;
            }
          }
          _self.set_check();
        }
      });
    }, interval * 1000);
  }

  this.tick();
  if (refresh)
    this.set_check();
};

var TextCounter = function(textarea, counter, limit) {

  this.adjust = function() {
    if (this.textarea.value.length > limit) {
      this.textarea.value = this.textarea.value.substring(0, limit);
    }
    Element.update(this.counter, limit - this.textarea.value.length);
  };

  this.textarea = $(textarea);
  this.counter = $(counter);
  this.adjust();

  var _self = this;
  this.textarea.observe('keydown', function() { _self.adjust() });
  this.textarea.observe('keyup', function() { _self.adjust() });
  this.textarea.observe('blur', function() { _self.adjust() });
};

