// JavaScript Document
var noFading = false;
var timeBetweenSlides = 4000;	// Amount of time between each image(1000 = 1 second)
var fadingSpeed = 10 ;	// Speed of fading

var galleryContainer;	// Reference to the gallery div
var galleryWidth;	// Width of gallery
var galleryHeight;	// Height of galery
var slideIndex = -1;	// Index of current image shown
var slideIndexNext = false;	// Index of next image shown
var imageDivs = new Array();	// Array of image divs(Created dynamically)
var currentOpacity = 100;	// Initial opacity
var imagesInGallery = false;	// Number of images in gallery
var fading_timer;

function getGalleryImageSize(imageIndex)
{
if(imageIndex==imagesInGallery)
	{
	showGallery();
	}
else
	{
	var imgObj = document.getElementById('galleryImage' + imageIndex);
	var imgWidth = imgObj.width;
	var imgHeight = imgObj.height;
//	if(imgWidth>50){
	var tmpDiv = document.createElement('DIV');
	tmpDiv.id = 'galleryDiv' + imageIndex;
	tmpDiv.style.visibility = 'hidden';
	tmpDiv.className='imageInGallery';
	galleryContainer.appendChild(tmpDiv);
	tmpDiv.appendChild(imgObj);
	imgObj.style.left = Math.round((galleryWidth - imgWidth)/2)  + "px";
	imgObj.style.top = Math.round((galleryHeight - imgHeight)/2)  + "px";
	imageDivs.push(tmpDiv);
	tmpDiv.style.visibility = 'hidden';
	imageIndex++;
	getGalleryImageSize(imageIndex);
//	}else{
//	setTimeout('getGalleryImageSize(' + imageIndex + ')',10);
//	}
	}		
}

function showGallery()
{
if(document.getElementById("gallery_status").value=="0")
	{
	return;
	}

document.getElementById("oc").value=slideIndex;
document.getElementById("on").value=slideIndexNext;

if(slideIndex==-1)
	slideIndex=0;
else
	slideIndex++;	// Index of next image to show	
if(slideIndex>=imageDivs.length)
	slideIndex=0;
slideIndexNext = slideIndex+1;	// Index of the next next image

if(slideIndexNext>=imageDivs.length)
	slideIndexNext = 0;

document.getElementById("nc").value=slideIndex;
	
document.getElementById("nn").value=slideIndexNext;

currentOpacity=100;	// Reset current opacity
// Displaying image divs
imageDivs[slideIndex].style.visibility = 'visible';
if(navigator.userAgent.indexOf('Opera')<0)
	{
	imageDivs[slideIndexNext].style.visibility = 'visible';
	}
if(document.all)
	{// IE rules
	imageDivs[slideIndex].style.filter = 'alpha(opacity=100)';
	imageDivs[slideIndexNext].style.filter = 'alpha(opacity=1)';
	}
else
	{
	imageDivs[slideIndex].style.opacity = 0.99;	// Can't use 1 and 0 because of screen flickering in FF
	imageDivs[slideIndexNext].style.opacity = 0.01;
	}		
fading_timer=setTimeout('revealImage()',timeBetweenSlides);		
}
	
function revealImage()
{
if(noFading)
	{
	imageDivs[slideIndex].style.visibility = 'hidden';
	showGallery();
	return;
	}
document.getElementById("op").value=currentOpacity;
currentOpacity--;
if(document.all)
	{
	imageDivs[slideIndex].style.filter = 'alpha(opacity='+currentOpacity+')';
	imageDivs[slideIndexNext].style.filter = 'alpha(opacity='+(100-currentOpacity)+')';
	}
else
	{
	imageDivs[slideIndex].style.opacity = Math.max(0.01,currentOpacity/100);
	// Can't use 1 and 0 because of screen flickering in FF
	imageDivs[slideIndexNext].style.opacity = Math.min(0.99,(1 - (currentOpacity/100)));
	}
if(currentOpacity>0)
	{
	fading_timer=setTimeout('revealImage()',fadingSpeed);
	}
else
	{
	imageDivs[slideIndex].style.visibility = 'hidden';
	showGallery();
	}
}
	
function initImageGallery()
	{
	galleryContainer = document.getElementById('imageSlideshowHolder');
	galleryWidth = galleryContainer.clientWidth;
	galleryHeight = galleryContainer.clientHeight;
	galleryImgArray = galleryContainer.getElementsByTagName('IMG');
	for(var no=0;no<galleryImgArray.length;no++)
		{
		galleryImgArray[no].id = 'galleryImage' + no;
		}
	imagesInGallery = galleryImgArray.length;
	getGalleryImageSize(0);
	}

function pauseShow()
{
document.getElementById("gallery_status").value="0";
clearTimeout(fading_timer);
}

function resumeShow()
{
if(document.getElementById("gallery_status").value=="0")
	{
	document.getElementById("gallery_status").value="1";
	fading_timer=setTimeout('revealImage()',fadingSpeed);
	}
}

function showPrevious()
{
pauseShow();
document.getElementById("oc").value=slideIndex;
document.getElementById("on").value=slideIndexNext;
document.getElementById("op").value=currentOpacity;

if(currentOpacity>=50)
	{
	currentOpacity=100;	// Reset current opacity
	if(navigator.userAgent.indexOf('Opera')<0)
		{
		imageDivs[slideIndexNext].style.visibility = 'hidden';
		imageDivs[slideIndex].style.visibility = 'hidden';
		}
	slideIndex--;

	if(slideIndex==-1)
		slideIndex=imageDivs.length-1;

	slideIndexNext = slideIndex+1;	// Index of the next next image
	if(slideIndexNext>=imageDivs.length)
		slideIndexNext = 0;
	document.getElementById("nc").value=slideIndex;
	document.getElementById("nn").value=slideIndexNext;

	if(navigator.userAgent.indexOf('Opera')<0)
		{
		imageDivs[slideIndexNext].style.visibility = 'visible';
		imageDivs[slideIndex].style.visibility = 'visible';
		}
	if(document.all)
		{// IE rules
		imageDivs[slideIndex].style.filter = 'alpha(opacity=100)';
		imageDivs[slideIndexNext].style.filter = 'alpha(opacity='+(100-currentOpacity)+')';
		}
	else
		{
		imageDivs[slideIndex].style.opacity = 0.99;	// Can't use 1 and 0 because of screen flickering in FF
		imageDivs[slideIndexNext].style.opacity = Math.min(0.99,(1 - (currentOpacity/100)));
		}		
	}
else
	{
	document.getElementById("nc").value=slideIndex;
	document.getElementById("nn").value=slideIndexNext;
	currentOpacity=100;	// Reset current opacity
/*	if(navigator.userAgent.indexOf('Opera')<0)
		{
		imageDivs[slideIndexNext].style.visibility = 'hidden';
		}*/
	if(document.all)
		{// IE rules
		imageDivs[slideIndex].style.filter = 'alpha(opacity=100)';
		imageDivs[slideIndexNext].style.filter = 'alpha(opacity='+(100-currentOpacity)+')';
		}
	else
		{
		imageDivs[slideIndex].style.opacity = 0.99;	// Can't use 1 and 0 because of screen flickering in FF
		imageDivs[slideIndexNext].style.opacity = Math.min(0.99,(1 - (currentOpacity/100)));
		}
	}
//alert("Old CIndex="+oc+"   Old Next="+on+"   New CIndex="+nc+"   New Next="+nn+"  Opacity="+op);
}

function showNext()
{
pauseShow();
document.getElementById("oc").value=slideIndex;
document.getElementById("on").value=slideIndexNext;
document.getElementById("op").value=currentOpacity;

if(currentOpacity>=50)
	{
	currentOpacity=100;	// Reset current opacity
	if(navigator.userAgent.indexOf('Opera')<0)
		{
		imageDivs[slideIndexNext].style.visibility = 'hidden';
		imageDivs[slideIndex].style.visibility = 'hidden';
		}
	slideIndex++;

	if(slideIndex==imageDivs.length)
		slideIndex=0;

	slideIndexNext = slideIndex+1;	// Index of the next next image
	if(slideIndexNext>=imageDivs.length)
		slideIndexNext = 0;
	document.getElementById("nc").value=slideIndex;
	document.getElementById("nn").value=slideIndexNext;

	if(navigator.userAgent.indexOf('Opera')<0)
		{
		imageDivs[slideIndexNext].style.visibility = 'visible';
		imageDivs[slideIndex].style.visibility = 'visible';
		}
	if(document.all)
		{// IE rules
		imageDivs[slideIndex].style.filter = 'alpha(opacity=100)';
		imageDivs[slideIndexNext].style.filter = 'alpha(opacity='+(100-currentOpacity)+')';
		}
	else
		{
		imageDivs[slideIndex].style.opacity = 0.99;	// Can't use 1 and 0 because of screen flickering in FF
		imageDivs[slideIndexNext].style.opacity = Math.min(0.99,(1 - (currentOpacity/100)));
		}		
	}
else
	{
	document.getElementById("nc").value=slideIndex;
	document.getElementById("nn").value=slideIndexNext;
	currentOpacity=100;	// Reset current opacity
/*	if(navigator.userAgent.indexOf('Opera')<0)
		{
		imageDivs[slideIndexNext].style.visibility = 'hidden';
		}*/
	if(document.all)
		{// IE rules
		imageDivs[slideIndex].style.filter = 'alpha(opacity=100)';
		imageDivs[slideIndexNext].style.filter = 'alpha(opacity='+(100-currentOpacity)+')';
		}
	else
		{
		imageDivs[slideIndex].style.opacity = 0.99;	// Can't use 1 and 0 because of screen flickering in FF
		imageDivs[slideIndexNext].style.opacity = Math.min(0.99,(1 - (currentOpacity/100)));
		}
	}
}

function selectImage(index)
{
if(index<0 || index>=imageDivs.length)
	{
	return;
	}
pauseShow();
document.getElementById("oc").value=slideIndex;
document.getElementById("on").value=slideIndexNext;
document.getElementById("op").value=currentOpacity;
if(navigator.userAgent.indexOf('Opera')<0)
	{
	imageDivs[slideIndexNext].style.visibility = 'hidden';
	imageDivs[slideIndex].style.visibility = 'hidden';
	}

currentOpacity=100;	// Reset current opacity
if(navigator.userAgent.indexOf('Opera')<0)
	{
	imageDivs[slideIndexNext].style.visibility = 'hidden';
	imageDivs[slideIndex].style.visibility = 'hidden';
	}

slideIndex=index;
slideIndexNext=parseInt(slideIndex)+1;
if(slideIndexNext>=imageDivs.length)
	slideIndexNext=0;

document.getElementById("nc").value=slideIndex;
document.getElementById("nn").value=slideIndexNext;

if(navigator.userAgent.indexOf('Opera')<0)
	{
	imageDivs[slideIndexNext].style.visibility = 'visible';
	imageDivs[slideIndex].style.visibility = 'visible';
	}
if(document.all)
	{// IE rules
	imageDivs[slideIndex].style.filter = 'alpha(opacity=100)';
	imageDivs[slideIndexNext].style.filter = 'alpha(opacity='+(100-currentOpacity)+')';
	}
else
	{
	imageDivs[slideIndex].style.opacity = 0.99;	// Can't use 1 and 0 because of screen flickering in FF
	imageDivs[slideIndexNext].style.opacity = Math.min(0.99,(1 - (currentOpacity/100)));
	}		
}
