/*
 * libslide.js - Slideshow v0.8.1
 *
 * Author: vbtricks.de.vu
 * Website: http://www.vbtricks.de.vu
 * License: you may freely modify and redistribute this source
 *
 * <STYLE TYPE="text/css">
 * #slshLayer1 {
 *    width: 344px;
 *    height: 207px;
 * }
 * #slshLayer2 {
 *    width: 344px;
 *    height: 207px;
 *    background: url( "images/index01.jpg" );
 * }
 * </STYLE>
 * <SCRIPT TYPE="text/javascript" LANGUAGE="javascript" SRC="libslide.js"></SCRIPT>
 * <SCRIPT TYPE="text/javascript">
 *    var slshImages = new Array( "images/index01.jpg", "images/index02.jpg" );
 *    var slshUrls = new Array( "None", "None" );
 * </SCRIPT>
 * ...
 * <BODY onload="slshInit(false)">
 * ...
 * <DIV ID="slshLayer1"><DIV ID="slshLayer2">
 * <IMG SRC="images/onepixel.gif" ALT="Haus"
 *      WIDTH=344 HEIGHT=207 BORDER=0>
 * </DIV>
 */

var slshTimeOut = 60; // delay between two fade steps
var slshDelay = 1200; // how long a image is shown
                      // before the next is faded in
var slshDelta = 3;    // how much the opacity is modified
                      // per step(in percent)
var slshStartOpacity = 0;
var slshCurOpacity = slshStartOpacity;
var slshCurImage = 0;

/* ---------------------------------------------------------------------- */
/* sets the opacity of layer2                                             */
/* ---------------------------------------------------------------------- */
function slshSetOpacity(opacity)
{
   var layer2 = document.getElementById('slshLayer2');

   if( layer2 != null ) {
      var layer2style = layer2.style;
      layer2style.opacity = (opacity / 100);
      layer2style.MozOpacity = (opacity / 100);
      layer2style.KhtmlOpacity = (opacity / 100);
      layer2style.filter = "alpha(opacity=" + opacity + ")";
   } 
   slshCurOpacity = opacity;

   return;
}      

/* ---------------------------------------------------------------------- */
/* sets the href-property of the link                                     */
/* ---------------------------------------------------------------------- */
function slshSetLink(url)
{
   var slshLink = document.getElementById('slshLink');

   if( slshLink != null )
      slshLink.href = url;

   return;
}

/* ---------------------------------------------------------------------- */
/* sets the background-image of a div                                     */
/* ---------------------------------------------------------------------- */
function slshSetImage(div, url)
{
   if( div != null )
      div.style.backgroundImage = "URL('" + url + "')";

   return;
}

/* ---------------------------------------------------------------------- */
/* initializes the script                                                 */
/* ---------------------------------------------------------------------- */
function slshInit(randomize)
{
   slshSetOpacity(slshStartOpacity);
   if( randomize )
      slshCurImage = Math.round(Math.random()*(slshImages.length -1));
   slshSetLink(slshUrls[slshCurImage]);
   slshSetImage(document.getElementById('slshLayer1'), slshImages[slshCurImage]);
   slshSetImage(document.getElementById('slshLayer2'), slshImages[slshCurImage]);
   window.setTimeout("slshTick()", slshDelay);

   return;
}

/* ---------------------------------------------------------------------- */
/* event handler for the timer                                            */
/* ---------------------------------------------------------------------- */
function slshTick()
{
   var layer2 = document.getElementById('slshLayer2');
 
   slshSetOpacity(slshCurOpacity + slshDelta);
   if( slshCurOpacity >= 100 ) {
      var layer1 = document.getElementById('slshLayer1');
      slshSetImage(layer1, slshImages[slshCurImage]);
      slshSetLink(slshUrls[slshCurImage]);
      slshCurImage = (slshCurImage + 1) % slshImages.length;
      slshSetOpacity(slshStartOpacity);
      slshSetImage(layer2, slshImages[slshCurImage]);
      window.setTimeout("slshTick()", slshDelay);        
   } else
      window.setTimeout("slshTick()", slshTimeOut);

   return;
}

/* end of libslide.js */
