var last_update = 0;
var bid_timer = null;
var bid_url = null;
var ajax_request = null;
var closing = false;
var num_items = 1;
var num_valid_items = 1;

window.onbeforeunload = function (ev) {
  closing = true;
  if (ajax_request != null) {
    ajax_request.transport.abort();
  }
}

function get_num_items(url) {
  var cgivars = url.split("?");
  var vars = cgivars[1].split("&");
  for (var j=0;j<vars.length;j++) {
    var pair = vars[j].split("=");
    if (pair[0] == "numitems")
      numitems = pair[1];
  }
}

function set_html_element(name, value) {
  var obj = $(name);
  if (obj != null)
    obj.innerHTML = value;
  return (obj);
}


function on_bid_timer(ev) {
    if (!closing && ajax_request == null && last_update > 0) {
        make_bid_request(bid_url);
  }
}

function make_bid_request(url)
{
  bid_url = url;

  get_num_items(url);
  var temp = window.location.protocol+"//"+window.location.hostname+url+"&last_update="+last_update;

  if (bid_timer == null)
    bid_timer = window.setInterval(on_bid_timer, 10);

  ajax_request = new Ajax.Request(temp,
  {
    method: 'get',
    onSuccess: function(transport) {
    obj = eval("("+transport.responseText+")");
    num_valid_items = obj.numvaliditems;

    for (i = 0; i < num_valid_items; i++)
    {
      set_html_element('current_bid_'+i, 
                       "$ " + obj['current_bid_'+i] + ".00");
      set_html_element('minimum_increment_'+i, 
                       "$ " + obj['min_increment_'+i] +".00");
      set_html_element('minimum_bid_'+i,
                       "$ " + obj['min_bid_'+i] + ".00");
      set_html_element('reserve_met_'+i, obj['reserve_met_'+i]);
      set_html_element('num_bids_'+i, obj['num_bids_'+i]);
      set_html_element('high_bidder_'+i, obj['high_bidder_'+i]);
      set_html_element('bid_header_'+i, obj['bid_header_'+i]);
      set_html_element('bid_header_short_'+i, obj['bid_header_short_'+i]);
      set_html_element('end_time_'+i, obj['end_time_'+i]);
      set_html_element('end_time_short_'+i, obj['end_time_short_'+i]);
    }
    if (last_update > obj.last_update)
      last_update = 0;
    else
      last_update = obj.last_update;
    ajax_request = null;
    }
  });
}

