  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 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];
      }

      runSlideShow();
    }
  }

  function runSlideShow()
  {
    blendimage(divid, imageid, preLoad[j].src);

	  j = j + 1;

	  if (j > (p-1))
		  j = 0;

	  setTimeout("runSlideShow()", slideShowSpeed);
  }

  function blendimage(divid, imageid, imagefile)
  {
    var imgHolder = document.getElementById(divid);
    var imgElem   = document.getElementById(imageid);

    if (imgElem && imgHolder && (imgElem.src != imagefile))
    {
      var speed = Math.round(crossFadeDuration / 100);
      var timer = 0;

      // Set the current image as background
      imgHolder.style.backgroundImage = "url(" + imgElem.src + ")";
      imgHolder.style.backgroundRepeat = "no-repeat";

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

      // Make new image
      imgElem.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 elem = null;
    var elemImage = null;

    if (elem = document.getElementById(divId))
    {
      if (elemImage = document.getElementById(imageId))
        elem.style.backgroundImage = "url('" + elemImage.src + "')";

    }
  }

  function changeOpac(opacity, id)
  {
    var elem = null;

    if (elem = document.getElementById(id))
    {
      object                = elem.style;
      object.opacity        = (opacity / 100);
      object.MozOpacity     = (opacity / 100);
      object.KhtmlOpacity   = (opacity / 100);
      object.filter         = "alpha(opacity=" + opacity + ")";
    }
  }