/***********************************************************************************************

	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 slideSpeedPersons = 0;
	var slideSpeedSamples = 0;
	var imageGalleryCaptions = new Array();

	function startPersonSlide(e)
	{
		if(document.all)e = event;
		id = this.id;
		if (this.id == 'persons_arrow_right') {
			document.getElementById('persons_arrow_right_img').src = 'images_basic/arrow_white_right.gif';
		} else {
			document.getElementById('persons_arrow_left_img').src = 'images_basic/arrow_white_left.gif';
		}
		if (this.id == 'persons_arrow_right') {
			slideSpeedMultiply = Math.floor((e.clientX - this.offsetLeft) / 5);
			slideSpeedPersons = -1*slideSpeedMultiply;
			slideSpeedPersons = Math.max(-10,slideSpeedPersons);
		} else {
			slideSpeedMultiply = 10 - Math.floor((e.clientX - this.offsetLeft) / 50);
			slideSpeedPersons = 1*slideSpeedMultiply;
			slideSpeedPersons = Math.min(10,slideSpeedPersons);
			if(slideSpeedPersons<0)slideSpeedPersons=10;
		}
	}

	function releasePersonSlide()
	{
		var id = this.id;
		if (this.id == 'persons_arrow_right') {
			document.getElementById('persons_arrow_right_img').src = 'images_basic/arrow_white_right.gif';
		} else {
			document.getElementById('persons_arrow_left_img').src = 'images_basic/arrow_white_left.gif';
		}
		slideSpeedPersons=0;
	}

	function startSamplesSlide(e)
	{
		if(document.all)e = event;
		id = this.id;
		if (this.id == 'samples_arrow_right') {
			document.getElementById('samples_arrow_right_img').src = 'images_basic/arrow_white_right.gif';
		} else {
			document.getElementById('samples_arrow_left_img').src = 'images_basic/arrow_white_left.gif';
		}
		if (this.id == 'samples_arrow_right') {
			slideSpeedMultiply = Math.floor((e.clientX - this.offsetLeft) / 5);
			slideSpeedSamples = -2*slideSpeedMultiply;
			slideSpeedSamples = Math.max(-10,slideSpeedSamples);
		} else {
			slideSpeedMultiply = 10 - Math.floor((e.clientX - this.offsetLeft) / 50);
			slideSpeedSamples = 1*slideSpeedMultiply;
			slideSpeedSamples = Math.min(10,slideSpeedSamples);
			if(slideSpeedSamples<0)slideSpeedSamples=10;
		}
	}

	function releaseSamplesSlide()
	{
		var id = this.id;
		if (this.id == 'samples_arrow_right') {
			document.getElementById('samples_arrow_right_img').src = 'images_basic/arrow_white_right.gif';
		} else {
			document.getElementById('samples_arrow_left_img').src = 'images_basic/arrow_white_left.gif';
		}
		slideSpeedSamples=0;
	}

	function gallerySlidePersons()
	{
		if(slideSpeedPersons!=0){
			var leftPos = imageGalleryObjPersons.offsetLeft;
			leftPos = leftPos/1 + slideSpeedPersons;
			if(leftPos>maxGalleryXPos){
				leftPos = maxGalleryXPos;
				slideSpeedPersons = 0;

			}
			if(leftPos<minGalleryXPos){
				leftPos = minGalleryXPos;
				slideSpeedPersons=0;
			}

			imageGalleryObjPersons.style.left = leftPos + 'px';
		}
		setTimeout('gallerySlidePersons()',20);

	}

	function gallerySlideSamples()
	{
		if(slideSpeedSamples!=0){
			var leftPos = imageGalleryObjSamples.offsetLeft;
			leftPos = leftPos/1 + slideSpeedSamples;
			if(leftPos>maxGalleryXPos){
				leftPos = maxGalleryXPos;
				slideSpeedSamples = 0;

			}
			if(leftPos<minGalleryXPos){
				leftPos = minGalleryXPos;
				slideSpeedSamples=0;
			}

			imageGalleryObjSamples.style.left = leftPos + 'px';
		}
		setTimeout('gallerySlideSamples()',20);

	}


	function showImage()
	{
		if(activeImage){
			activeImage.style.filter = 'alpha(opacity=100)';
			activeImage.style.opacity = 1;
		}
		this.style.filter = 'alpha(opacity=100)';
		this.style.opacity = 1;
		activeImage = this;
	}

	function initPersonsSlideShow(galleryID)
	{
		document.getElementById('persons_arrow_left').onmousemove = startPersonSlide;
		document.getElementById('persons_arrow_left').onmouseout = releasePersonSlide;
		document.getElementById('persons_arrow_right').onmousemove = startPersonSlide;
		document.getElementById('persons_arrow_right').onmouseout = releasePersonSlide;

		imageGalleryObjPersons = document.getElementById('persons_images');
		imageGalleryLeftPos = imageGalleryObjPersons.offsetLeft;
		imageGalleryWidth = document.getElementById(galleryID).offsetWidth - 80;
		maxGalleryXPos = imageGalleryObjPersons.offsetLeft;
		minGalleryXPos = imageGalleryWidth - document.getElementById('persons_slide_end').offsetLeft;
		var slideshowImages = imageGalleryObjPersons.getElementsByTagName('IMG');
		for(var no=0;no<slideshowImages.length;no++){
			slideshowImages[no].onmouseover = showImage;
		}

		var divs = imageGalleryObjPersons.getElementsByTagName('DIV');
		for(var no=0;no<divs.length;no++){
			if(divs[no].className=='imageCaption')imageGalleryCaptions[imageGalleryCaptions.length] = divs[no].innerHTML;
		}
		gallerySlidePersons();
	}

	function initSamplesSlideShow()
	{
		document.getElementById('samples_arrow_left').onmousemove = startSamplesSlide;
		document.getElementById('samples_arrow_left').onmouseout = releaseSamplesSlide;
		document.getElementById('samples_arrow_right').onmousemove = startSamplesSlide;
		document.getElementById('samples_arrow_right').onmouseout = releaseSamplesSlide;

		imageGalleryObjSamples = document.getElementById('samples_images');
		imageGalleryLeftPos = imageGalleryObjSamples.offsetLeft;
		imageGalleryWidth = document.getElementById('filmstrip').offsetWidth - 80;
		maxGalleryXPos = imageGalleryObjSamples.offsetLeft;
		minGalleryXPos = imageGalleryWidth - document.getElementById('samples_slide_end').offsetLeft;
		var slideshowImages = imageGalleryObjSamples.getElementsByTagName('IMG');
		for(var no=0;no<slideshowImages.length;no++){
			slideshowImages[no].onmouseover = showImage;
		}

		var divs = imageGalleryObjSamples.getElementsByTagName('DIV');
		for(var no=0;no<divs.length;no++){
			if(divs[no].className=='imageCaption')imageGalleryCaptions[imageGalleryCaptions.length] = divs[no].innerHTML;
		}
		gallerySlideSamples();
	}

	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';

	}
	
	function resetSamplesPosition() {
		imageGalleryObjSamples.style.left = 0;
	}
	
	function initPersonGallery(galleryID) {
		if (galleryID == "") {
			initPersonsSlideShow('personsGalleryContainer');
		} else {
			initPersonsSlideShow(galleryID);
		}
	}
	
	function onloads() {
		initPersonsSlideShow('personsGalleryContainer');
		initSamplesSlideShow();
	}
	

