var slideShowSpeed = 3000;
var crossFadeDuration = 2000;
var Pic = new Array();
var started = false;
var imageid = 'slideShow';
var divid = 'slideShowHolder';
var t;
var j = 0;
var p = 0;

var preLoad = new Array();


function fs_startSlideShow(pics,speed,img_id,div_id)
{
  if(!started)
  {
    started=true;
    if(speed)
      slideShowSpeed = speed;
    if(img_id)
      imageid = img_id;
    if(div_id)
      divid = div_id;

    if(pics.indexOf(',')!=-1)
    {
      Pic = pics.split(",");
    }
    p = Pic.length
    for (i = 0; i < p; i++)
    {
      preLoad[i] = new Image();
      preLoad[i].src = Pic[i];
    }

    fs_runSlideShow();
  }
}

function fs_runSlideShow()
{

  blendimage('theme','slideShow',preLoad[j].src,crossFadeDuration);

  j = j + 1;
  if ( j > (p-1) )
    j = 0;
  setTimeout("fs_runSlideShow()", slideShowSpeed);
}

function blendimage(divid, imageid, imagefile, millisec)
{
  var speed = Math.round(millisec / 100);
  var timer = 0;

  //set the current image as background
  var elem1 = null;
  var elem2 = null;

  if ((elem1 = document.getElementById(divid)) &&
      (elem2 = document.getElementById(imageid))) {
    elem1.style.backgroundImage = "url(" + elem2.src + ")";
    elem1.style.backgroundRepeat = "no-repeat";

    //make image transparent
    changeOpac(0, imageid);

    //make new image
    elem2.src = imagefile;

    //make image transparent
    changeOpac(0, imageid);

    //fade in image
    for(i = 0; i < 100; i++)
    {
      setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
      timer++;
    }

    // By Stefan on 12-02-2007: This fix is writin in case a next image
    // is smaller then the last image so that they won't overlap in a ugly way.
    setTimeout("setBackGroundImage('" + divid + "', '" + imageid + "')", timer * speed);
  }
}

function setBackGroundImage(divId, imageId) {
  var elem1 = null;
  var elem2 = null;

  if ((elem1 = document.getElementById(divId)) && (elem2 = document.getElementById(imageId)))
   elem1.style.backgroundImage = "url('"+ elem2.src + "')";
}

function changeOpac(opacity, id)
{
  var object = null;
  if (object = document.getElementById(id)) {
    object.style.opacity = (opacity / 100);
    object.style.MozOpacity = (opacity / 100);
    object.style.KhtmlOpacity = (opacity / 100);
    object.style.filter = "alpha(opacity=" + opacity + ")";
  }
}