   	/***********************************************************************************************

	

	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()

	{

		this.style.filter = 'alpha(opacity=100)';

		this.style.opacity = 1;	

		activeImage = this;	

	}

	

	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;
