BOSSFIGHTER = function(){
  var url = 'bossfighter.php?from=foo&to=bar&callback=BOSSFIGHTER.get';
  var message = '{term1} wins over {term2} by {result1} vs. ' + 
                '{result2} - that is {difference} more!';
  var errormessage = 'Error: You are only allowed to use full words as ' +
                     'fight terms.';
  var sameerrormessage = 'Error: Use different terms, duh!';
  var callback = alert;
  function fight(o){
    seed('bossfighter.php?t1=' + o.firstterm + '&t2=' + o.secondterm +
         '&callback=BOSSFIGHTER.get');
    callback = o.callback;
  }
  function get(o){
    console.log(o);
    var out = '';
    if(o.error === 'bad term'){
      out = errormessage;
    }
    if(o.error === 'same'){
      out = sameerrormessage;
    } 
    if(typeof o.error === 'undefined'){
      out = message.replace('{term1}',o.winner);
      out = out.replace('{term2}',o.loser);
      out = out.replace('{result1}',o.winnervalue);
      out = out.replace('{result2}',o.loservalue);
      out = out.replace('{difference}',o.by);
    }
    callback(out);
  }
  function seed(src){
    var s = document.createElement('script');
    s.setAttribute('type','text/javascript');
    s.setAttribute('src',src);
    document.getElementsByTagName('head')[0].appendChild(s);
  }
  return {
    fight:fight,
    get:get,
    message:message
  }
}();

