     /***********************************************************************************************

  Copyright (c) 2005 - Alf Magne Kalleland post@dhtmlgoodies.com

  UPDATE LOG:

  March, 10th, 2006 : Added support for a message while large image is loading

  Get this and other scripts at www.dhtmlgoodies.com

  You can use this script freely as long as this copyright message is kept intact.

  ***********************************************************************************************/

  var displayWaitMessage=true;  // Display a please wait message while images are loading?


  var activeImage = false;
  var imageGalleryLeftPos = false;
  var imageGalleryWidth = false;
  var imageGalleryObj = false;
  var maxGalleryXPos = false;
  var slideSpeed = 0;
  var imageGalleryCaptions = new Array();
  function startSlide(e)
  {
    if(document.all)e = event;
    var id = this.id;
    this.getElementsByTagName('IMG')[0].src = 'images/' + this.id + '_over.gif';
    if(this.id=='arrow_right'){
      slideSpeedMultiply = Math.floor((e.clientX - this.offsetLeft) / 5);
      slideSpeed = -1*slideSpeedMultiply;
      slideSpeed = Math.max(-10,slideSpeed);
    }else{
      slideSpeedMultiply = 10 - Math.floor((e.clientX - this.offsetLeft) / 5);
      slideSpeed = 1*slideSpeedMultiply;
      slideSpeed = Math.min(10,slideSpeed);
      if(slideSpeed<0)slideSpeed=10;
    }
  }

  function releaseSlide()
  {
    var id = this.id;
    this.getElementsByTagName('IMG')[0].src = 'images/' + this.id + '.gif';
    slideSpeed=0;
  }

  function gallerySlide()
  {
    if(slideSpeed!=0){
      var leftPos = imageGalleryObj.offsetLeft;
      leftPos = leftPos/1 + slideSpeed;
      if(leftPos>maxGalleryXPos){
        leftPos = maxGalleryXPos;
        slideSpeed = 0;

      }
      if(leftPos<minGalleryXPos){
        leftPos = minGalleryXPos;
        slideSpeed=0;
      }

      imageGalleryObj.style.left = leftPos + 'px';
    }
    setTimeout('gallerySlide()',20);

  }

  function showImage()
  {
    if(activeImage){
      activeImage.style.filter = 'alpha(opacity=100)';
      activeImage.style.opacity = 1;
      activeImage.style.border = "1px solid #000000";
    }
    this.style.filter = 'alpha(opacity=100)';
    this.style.opacity = 1;
    activeImage = this;
    activeImage.style.border = "2px solid #FF0000";
  }

  function initSlideShow()
  {
    document.getElementById('arrow_left').onmousemove = startSlide;
    document.getElementById('arrow_left').onmouseout = releaseSlide;
    document.getElementById('arrow_right').onmousemove = startSlide;
    document.getElementById('arrow_right').onmouseout = releaseSlide;

    imageGalleryObj = document.getElementById('theImages');
    imageGalleryLeftPos = imageGalleryObj.offsetLeft;
    imageGalleryWidth = document.getElementById('galleryContainer').offsetWidth - 80;
    maxGalleryXPos = imageGalleryObj.offsetLeft;
    minGalleryXPos = imageGalleryWidth - document.getElementById('slideEnd').offsetLeft;
    var slideshowImages = imageGalleryObj.getElementsByTagName('IMG');
    for(var no=0;no<slideshowImages.length;no++){
      slideshowImages[no].onmouseover = showImage;
    }

    var divs = imageGalleryObj.getElementsByTagName('DIV');
    for(var no=0;no<divs.length;no++){
      if(divs[no].className=='imageCaption')imageGalleryCaptions[imageGalleryCaptions.length] = divs[no].innerHTML;
    }
    gallerySlide();
  }

  function showPreview(imagePath,imageIndex){
    var subImages = document.getElementById('previewPane').getElementsByTagName('IMG');
    if(subImages.length==0){
      var img = document.createElement('IMG');
      document.getElementById('previewPane').appendChild(img);
    }else img = subImages[0];

    if(displayWaitMessage){
      document.getElementById('waitMessage').style.display='inline';
    }
    document.getElementById('largeImageCaption').style.display='none';
    img.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1); };
    img.src = imagePath;

  }
  function hideWaitMessageAndShowCaption(imageIndex)
  {
    document.getElementById('waitMessage').style.display='none';
    document.getElementById('largeImageCaption').innerHTML = imageGalleryCaptions[imageIndex];
    document.getElementById('largeImageCaption').style.display='block';

  }
  window.onload = initSlideShow;
