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;
var force_display_close = 0;

var paddle = 0;

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, pNum)
{
  if (pNum != 0)
    paddle = pNum;
  
  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++)
    {
      var hibidder = obj['high_bidder_'+i].replace("paddle # ", "");
      
      if (hibidder == paddle)
      	  set_html_element('current_bid_'+i, '<span style="font-weight: bold;">' + "$ " + obj['current_bid_'+i] + ".00" + '</span>');
      else
      	  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]);
      if (hibidder == paddle)
      	  set_html_element('high_bidder_'+i, '<span style="font-weight: bold;">' + obj['high_bidder_'+i] + '</span>');
      else
      	  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]);
      if ((obj['bid_header2_short_'+i] == 'bids:') || (num_valid_items == 1))
      	  set_html_element('num_bids_'+i, obj['num_bids_'+i]);
      set_html_element('bid_header2_short_'+i, obj['bid_header2_short_'+i]);
      //set_html_element('start_time_'+i, obj['start_time_'+i]);
      //set_html_element('start_time_short_'+i, obj['start_time_short_'+i]);
      if (obj['time_display_' + i] == 1 && force_display_close == 0) {
      	  set_html_element('end_time_'+i, obj['start_time_'+i]);
      	  set_html_element('end_time_short_'+i, obj['start_time_short_'+i]);
      } else {
      	  set_html_element('end_time_'+i, obj['end_time_'+i]);
      	set_html_element('end_time_short_'+i, obj['end_time_short_'+i]);
      }
      if (obj['time_display_' + i] == 1)
      	  set_html_element('time_display_'+i, 'Starts:');
      else if (obj['time_display_' + i] == 2)
      	  set_html_element('time_display_'+i, 'Closes:');
	  else if (obj['time_display_' + i] == 3)
      	  set_html_element('time_display_'+i, 'Closed:');
    }
    if (last_update > obj.last_update)
      last_update = 0;
    else
      last_update = obj.last_update;
    ajax_request = null;
    }
  });
}


