
/*
initial developer:
http://theunfocused.net/moz/ubiquity/verbs/",
Blair McBride 
license: MPL

contributor:
http://tomazkovacic.com/
Tomaz Kovacic
Koornk version - Updates your koornk status
*/


CmdUtils.CreateCommand({
  name: "koornk",
  takes: {status: noun_arb_text},
  
  homepage: "http://tomazkovacic.com/koornk/",
  author: {name: "Blair McBride", homepage: "http://theunfocused.net/"},
  contributors: ["Tomaz Kovacic"],
  license: "MPL",
  help: "Koornk version - Updates your koornk status",


  
  preview: function(previewBlock, statusText) {
    var previewTemplate = "Kokodajs: <br/>" +       
                          "<b>${status}</b><br /><br />" + 
                          "Characters remaining: <b>${chars}</b>";
    var truncateTemplate = "<br />The last <b>${truncate}</b> " + 
                           "characters will be truncated!";
    var previewData = {
      status: statusText.text,
      chars: 150 - statusText.text.length
    };
      
    var previewHTML = CmdUtils.renderTemplate(previewTemplate,
                                                    previewData);
    
    if(previewData.chars < 0) {
      var truncateData = {
        truncate: 0 - previewData.chars
      };
      
      previewHTML += CmdUtils.renderTemplate(truncateTemplate,
                                                   truncateData);
    }
    
    previewBlock.innerHTML = previewHTML;
  },
  
  execute: function(statusText) {
    if(statusText.text.length < 1) {
      displayMessage("Koornk requires a status to be entered");
      return;
    }
    
    var updateUrl = "http://www.koornk.com/api/update/";
    var updateParams = {
       status: statusText.text,
       origin:"t4StaTEc"
    };
    
    jQuery.ajax({
      type: "POST",
      url: updateUrl,
      data: updateParams,
      dataType: "json",
      error: function() {
        displayMessage("Koornk error - status not updated");
      },
      success: function() {
        displayMessage("Koornk status updated");
      }
    });
  }
});
