var timer_id = 0;
var auto_ri = false;
var stopped = false;

var last_ri_idx_ar = [0,0,0];
var ri_busy_ar = [-1,-1,-1];

function revolve_images(_auto_ri, dont_stop)
{
  if (timer_id) clearTimeout(timer_id);

  auto_ri = _auto_ri ? _auto_ri : false;
  if (dont_stop) stopped = false;

  var url = "/xml/get_ri_next.php?id="+escape(revolving_images_cur_id);
  diXMLRequest.get(url, revolve_images_response);
}

function revolve_images_response(xmlDoc)
{
  if (stopped) return;

  var result_recs = xmlDoc.documentElement.getElementsByTagName("result");

  revolving_images_ar = []

  for (var i = 0; i < result_recs.length; i++)
  {
    var id = result_recs[i].getAttribute("id");
    var src = result_recs[i].getAttribute("src");
    var width = result_recs[i].getAttribute("width");
    var height = result_recs[i].getAttribute("height");
    var clean_title = result_recs[i].getAttribute("clean_title");
    var price = result_recs[i].getAttribute("price");
    var title = result_recs[i].getAttribute("title");
    revolving_images_cur_id = result_recs[i].getAttribute("nr");

    revolving_images_ar[revolving_images_ar.length] = {
      id: id,
      src: src,
      width: width,
      height: height,
      title: title,
      price: price,
      href: 'details/'+clean_title+'/',
      busy_by: 0
    };
  }

  if (revolving_images_ar.length == 0) return;

  for (var i = 0; i < revolving_images_ar.length; i++)
  {
    var j = i + 1;

    if (ri_busy_ar[i] != -1)
      revolving_images_ar[ri_busy_ar[i]].busy_by = 0;

    while (true)
    {
      if (last_ri_idx_ar[i] > revolving_images_ar.length - 1) last_ri_idx_ar[i] = 0;

      if (revolving_images_ar[last_ri_idx_ar[i]].busy_by != 0)
      {
        last_ri_idx_ar[i]++;

        continue;
      }

      var ri = _ge("revolving_img_"+j);
      ri.src = "/img/z.gif";
      ri.width = revolving_images_ar[last_ri_idx_ar[i]].width;
      ri.height = revolving_images_ar[last_ri_idx_ar[i]].height;
      ri.src = revolving_images_ar[last_ri_idx_ar[i]].src;

      var rad = _ge("revolving_a_details_"+j);
      rad.href = revolving_images_ar[last_ri_idx_ar[i]].href;

      var ra = _ge("revolving_a_"+j);
      ra.href = "javascript:add_to_cart("+revolving_images_ar[last_ri_idx_ar[i]].id+");";

      var rt = _ge("revolving_title_"+j);
      rt.innerHTML = revolving_images_ar[last_ri_idx_ar[i]].title;

      var rp = _ge("revolving_price_"+j);
      rp.innerHTML = revolving_images_ar[last_ri_idx_ar[i]].price;



      revolving_images_ar[last_ri_idx_ar[i]].busy_by = j;

      ri_busy_ar[i] = last_ri_idx_ar[i];
      last_ri_idx_ar[i]++;

      break;
    }
  }

  if (auto_ri && getCookie('revolving') == 'nicht')
  {
    stop_revolving();
    auto_ri = false;

    return;
  }
  else
  {
    deleteCookie('revolving', '/');
  }

  timer_id = setTimeout("revolve_images()", revolving_images_interval);

  var e = _ge('a_stop_revolving');
  var e2 = _ge('img_stop_revolving');
  if (e && e2)
  {
    e.href = "javascript:stop_revolving();";
    e2.src = "img/stop.gif";
    e2.alt = "stop revolving images";
  }
}

function stop_revolving()
{
  stopped = true;

  if (timer_id) clearTimeout(timer_id);

  var date = new Date();
  date.setFullYear(date.getFullYear() + 1);
  setCookie('revolving', 'nicht', date, '/');

  var e = _ge('a_stop_revolving');
  var e2 = _ge('img_stop_revolving');
  if (e && e2)
  {
    e.href = "javascript:revolve_images(false,true);";
    e2.src = "img/start.gif";
    e2.alt = "start revolving images";
  }
}