function get_element(id) {
  if (document.layers)	{			
    return document.layers[id];
  } else if( document.all ) {
    return document.all[id];
  } else if( document.getElementById ) {
    return document.getElementById(id);
  } else {
    return null;
  }
}

function is_child_of(parent, child) {
  while (child.parentNode) {
    child = child.parentNode;
    if (child == parent) return true;
  }
  return false;
}

/******************************************************************************/
var banners_count = 1;
var banners_curr  = 1;
var banners_timer = 0;
banners_cycle(false);

function banners_cycle(shorter) {
  banners_timer = setTimeout("banners_update()", shorter ? 2000 : 5000);
}

function banners_mouseout(element, event) {
  var mouse;
  if (event.toElement) {
    mouse = event.toElement;
  } else if (event.relatedTarget) {
    mouse = event.relatedTarget;
  } else {
    mouse = null;
  }
  if (!is_child_of(element, mouse))
    banners_cycle(true);
}

function banners_set_count(cnt) {
  banners_count = cnt;
}

function banners_skip(i) {
  new_i = banners_curr + i - 1;
  while (new_i < 0) new_i += banners_count;
  new_i = (new_i % banners_count) + 1;
  banners_show(new_i);
}

function banners_show(i) {
  clearTimeout(banners_timer);
  if (i != banners_curr) {
    get_element("banner-"+banners_curr).className = 'banner';
    get_element("banner-btn-"+banners_curr).className = 'button';
    get_element("banner-"+i).className = "banner selected";
    get_element("banner-btn-"+i).className = "button selected";
    banners_curr = i;
  }
}

function banners_update() {
  banners_skip(1);
  banners_cycle(false);
}

