/**
 * Grocerus browsing niceties.
 */

var get_upc_query = {
  success: function(o) {
    var result = YAHOO.lang.JSON.parse(o.responseText);
    var text = '';
    if( result.exists ) {
      text = '<a href="' + groc_root_url + 'upc/' + result.upc + '">' + result.name + ' ' + result.quantity + ' ' + result.type + '</a>';
      $('category_upc_result').style.visibility = 'visible';
    } else if( Upc.is_valid(result.upc) ) {
      text = '<a href="' + groc_root_url + 'upc/' + result.upc + '">Mind adding this product?</a>';
      $('category_upc_result').style.visibility = 'visible';
    } else {
      $('category_upc_result').style.visibility = 'hidden';
    }
    $('category_upc_result').innerHTML = text;
  },

  failure: function(o) {
    $('receipt_upc_result').innerHTML = "Error!" + o;
  }
};

function check_upc_query() {
  var query = this.value;
  if( Upc.is_valid(query) ) {
    if( this.last_query != query ) {
      this.last_query = query;
      var transaction =
        YAHOO.util.Connect.asyncRequest('GET',
          req_upc_exists + "/" + Upc.flesh_out($('category_upc').last_query),
          get_upc_query, null);
    }
  } else {
    this.last_query = '';
    $('category_upc_result').innerHTML = '';
  }
  return true;
}

YAHOO.util.Event.addListener($('category_upc'), 'keyup', check_upc_query);

