  // Predefined variables
  var opacity = 0;
  var curbanner = 0;
  var cycletimer = null;
  var fadetimer  = null;

  var banners = Array(4);
  banners[0] = "url('/images/banners/banner1.png')";
  banners[1] = "url('/images/banners/banner4.png')";
  banners[2] = "url('/images/banners/banner3.png')";
  banners[3] = "url('/images/banners/banner2.png')";

  var links = Array(4);
  links[0] = "http://wiki.legacy-game.net/index.php/Hunting_Drops";
  links[1] = "http://www.twitter.com/legacyZorg";
  links[2] = "http://wiki.legacy-game.net/index.php/Spectral_Items";
  links[3] = "http://www.facebook.com/#/group.php?gid=38177196700";

  var curlink = links[0];

  // Switch banners with prety fading
  function switchBanner(banner) {
    if (banner != curbanner) {
      clearTimeout(cycletimer);
      clearTimeout(fadetimer);

      opacity = 100;
      setOpacity(document.getElementById('top-banner'), opacity);

      document.getElementById('banner' + curbanner).style.color    = '#FFFFFF';
      document.getElementById('banner' + banner).style.color       = '#FFCC00';
      document.getElementById('top-banner').style.backgroundImage  = banners[curbanner];
      document.getElementById('next-banner').style.backgroundImage = banners[banner];

      curbanner = banner;

      fadeIn('top-banner');
      cycletimer = setTimeout('autoCycle()', 7000);
    }
  }
  // Automatic 7 second cycle
  function autoCycle() {
    if (curbanner < 3) {
      switchBanner(curbanner+1);
    } else {
      switchBanner(0);
    }
  }

  // Fade an div out one step at a time.
  function fadeIn(objId) {
    obj = document.getElementById(objId);
    if (opacity > 0) {
      if (opacity == 20) curlink = links[curbanner];

      opacity -= 10;
      setOpacity(obj, opacity);

      if (opacity >= 10) fadetimer = setTimeout("fadeIn('"+objId+"')", 50);
    }
  }

  // Change opacity of an object in all browsers
  function setOpacity(obj, opac) {
    opac = (opac == 100)?99.999:opac;
    obj.style.filter = "alpha(opacity:"+opac+")";
    obj.style.KHTMLOpacity = opac/100;
    obj.style.MozOpacity = opac/100;
    obj.style.opacity = opac/100;
  }