RedPenTool = function(){
}

RedPenTool.checkStatus = function(divid, fileid){
  var out = $(divid);
  var self = this;
  
  new Ajax.Request(RedPenTool.url_checkStatus, {
    method: 'post',
    parameters: 'fileid=' + fileid,
    onSuccess: function (t){
      var r = AjaxMessage.fromResponse(t);
      
      if (r.getMessage() == 'success'){
        var str1 = '<a onclick="openRptWindow(\'' +  r.getData().url + '\'); return false;" target="_blank" href="' + r.getData().url + '">';
        var str2 = '</a>';
      
        if (r.getData().evidenced == true){
          out.update(str1 + 'View/Mark (Annotations present)' + str2);
        } else {
          out.update(str1 + 'View/Mark' + str2);
        }
      } else if (r.getMessage() == 'pending'){
        out.update('Pending conversion');
        RedPenTool.addPeriodicalStatusCheck(divid, fileid);
      } else if (r.getMessage() == 'failed'){
        out.update('Conversion failed');
      } else {
        out.update(r.getMessage()); // probably failed conversion
      }
    }
  });
}

RedPenTool.addPeriodicalStatusCheck = function(div, fileid){
  var out = $(div);
  var updater = new Ajax.PeriodicalUpdater('', RedPenTool.url_checkStatus, {
    frequency: 10,
    decay: 1,
    method: 'post',
    parameters: { 'fileid' : fileid },
    onSuccess: function (t){
      var r = AjaxMessage.fromResponse(t);
      if (r.getMessage() == 'success'){
        var str1 = '<a onclick="openRptWindow(\'' +  r.getData().url + '\'); return false;" target="_blank" href="' + r.getData().url + '">';
        var str2 = '</a>';
        if (r.getData().evidenced == true){
          out.update(str1 + 'View/Mark (Annotations present)' + str2);
        } else {
          out.update(str1 + 'View/Mark' + str2);
        }
        updater.stop();
      } else if (r.getMessage() == 'pending'){
        out.update('Pending conversion');
      } else if (r.getMessage() == 'failed'){
        out.update('Conversion failed');
        updater.stop();
      } else {
        out.update(r.getMessage());
      }
    }
  });
  
  
}

