/////////////////////////////////////////////////////////////////////////////
// Image fader
// geklaut bei http://www.ruhepol-sauna.de/
/////////////////////////////////////////////////////////////////////////////

window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);

var d=document, imgs = new Array(), zInterval = null, current=0, pause=false;

function so_init()
  {
  // check functions, return if functions not available
  if (!d.getElementById || !d.createElement)
    {
    return;
    }

  // get all image tags in div id=imageFadeContainer
  imgs = d.getElementById("imageFadeContainer").getElementsByTagName("div");

  // loop over images in container and set transparency to 0
  for (i=1;i<imgs.length;i++)
    {
    imgs[i].xOpacity = 0;
    }

  // set first image visible
  imgs[0].style.display = "block";
  imgs[0].xOpacity = .99;

  // wait 1 second and call after so_xfade()
  setTimeout(so_xfade,1000);
  }

function so_xfade()
  {
  cOpacity = imgs[current].xOpacity;
  nIndex = imgs[current+1]?current+1:0;

  nOpacity = imgs[nIndex].xOpacity;

  cOpacity-=.05;
  nOpacity+=.05;

  imgs[nIndex].style.display = "block";
  imgs[current].xOpacity = cOpacity;
  imgs[nIndex].xOpacity = nOpacity;

  setOpacity(imgs[current]);
  setOpacity(imgs[nIndex]);

  if(cOpacity<=0)
    {
    imgs[current].style.display = "none";
    current = nIndex;
    // wait 5 seconds and call after so_xfade() to fade next image
    setTimeout(so_xfade,5000);
    }
  else
    {
    // fading all 50ms next step
    setTimeout(so_xfade,50);
    }

  function setOpacity(obj)
    {
    if(obj.xOpacity>.99)
      {
      obj.xOpacity = .99;
      return;
      }
    obj.style.opacity = obj.xOpacity;
    obj.style.MozOpacity = obj.xOpacity;
    obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
    }
  }
