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

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 activeImage = false;
var imageGalleryLeftPos = false;
var imageGalleryWidth = false;
var imageGalleryObj = false;
var maxGalleryXPos = false;
var slideSpeed = 0;
function startSlide(e){
	if(document.all)e = event;
	var id = this.id;
	this.getElementsByTagName('IMG')[0].src = 'photos/' + this.id + '_over.png';	
	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 skipBackward(){	
	imageGalleryObj.style.left = '0px';
	slideSpeed=0;
}
	
function playSlide(){	
	slideSpeedMultiply = 2;
	slideSpeed = -1*slideSpeedMultiply;
	slideSpeed = Math.max(-10,slideSpeed);
}

function skipForward(){	
	imageGalleryObj.style.left = minGalleryXPos + 'px';
	slideSpeed=0;
}

function showOver(){
	var id = this.id;
	this.getElementsByTagName('IMG')[0].src = 'photos/' + this.id + '_over.png';
}

function showOut(){
	var id = this.id;
	this.getElementsByTagName('IMG')[0].src = 'photos/' + this.id + '.png';
}

/*
function stopSlide(){
	slideSpeed=0;
}
*/

function releaseSlide(){
	var id = this.id;
	this.getElementsByTagName('IMG')[0].src = 'photos/' + this.id + '.png';
	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=50)';	
		activeImage.style.opacity = 0.5;
		*/
	}	
	this.style.filter = 'alpha(opacity=100)';
	this.style.opacity = 1;	
	activeImage = this;	
}

function initSlideShow(){
	document.getElementById('skip_backward').onclick = skipBackward;
	document.getElementById('skip_backward').onmouseover = showOver;
	document.getElementById('skip_backward').onmouseout = showOut;
	document.getElementById('arrow_left').onmousedown = startSlide;
	document.getElementById('arrow_left').onmouseup = releaseSlide;
	document.getElementById('play').onclick = playSlide;
	document.getElementById('play').onmouseover = showOver;
	document.getElementById('play').onmouseout = showOut;
	document.getElementById('stop').onclick = releaseSlide;
	document.getElementById('stop').onmouseover = showOver;
	document.getElementById('stop').onmouseout = showOut;
	document.getElementById('arrow_right').onmousedown = startSlide;
	document.getElementById('arrow_right').onmouseup = releaseSlide;
	document.getElementById('skip_forward').onclick = skipForward;
	document.getElementById('skip_forward').onmouseover = showOver;
	document.getElementById('skip_forward').onmouseout = showOut;
	
	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;
	}
	gallerySlide();
	playSlide();
}

function showPreview(imagePath){
	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];
	img.src = imagePath;
	
}

window.onload = initSlideShow;