
var slideShowInstance = null;

function slideshow(s, obj){
  slideShowInstance = this;
  this.delay = 3000;
  this.speed = 50;
  this.index = 0;
  this.i = 0;
  this.timer = null;
  this.step = 0.1;  
  this.source = s;
  this.frame = getObj(obj);
  this.frame.style.position = 'relative';
  this.img = new Array();
  for(var i=0; i<=1; i++){
    this.img[i] = document.createElement("img");
    this.img[i].alt = '';
    this.img[i].style.position = 'absolute';
    this.img[i].style.left = '0px';
    this.img[i].style.top = '0px';
    setOpacity(this.img[i], 0);
    this.frame.appendChild(this.img[i]);
  }
  this.img[1 - this.i].src = this.source[this.index];
  this.rotate();
  this.timer = setInterval(function(){slideShowInstance.rotate();}, this.delay);
}

slideshow.prototype.rotate = function(){
  this.img[this.i].src = this.source[this.index];
  this.index++;
  if(this.index >= this.source.length) this.index = 0;
  this.fadeImages(this.img[this.i], this.img[1 - this.i], 0);
}

slideshow.prototype.fadeImages = function(imgIn, imgOut, opacity){
  if(opacity > 1){
    this.i = 1 - this.i;
  }
  else{
    opacity += this.step;
    setOpacity(imgIn, opacity);
    setOpacity(imgOut, 1 - opacity);
    setTimeout(function(){slideShowInstance.fadeImages(imgIn, imgOut, opacity)}, this.speed);
  }
}


function getObj(id){
   if(Boolean(document.getElementById))
      return document.getElementById(id);
   else if(Boolean(document.all))
      return eval('document.all.'+id);
   else
      return eval('document.'+id);
}

// ----------------------------------------------------------------------------
// funkce nastavi pruhlednost danemu elementu

function setOpacity(obj, level) {
  obj.style.opacity = level;
  obj.style.MozOpacity = level;
  obj.style.KhtmlOpacity = level;
  obj.style.filter = "alpha(opacity=" + (level * 100) + ");";
  obj.alpha = level;
}