// JavaScript Document -- Encapsulates slideshow funcionality

// changes image according to current image index (currImageIndex)
// also takes care of showing/hiding next/previous links
function changeImage(addValue) {	
	currImageIndex += addValue;

	if (currImageIndex == arrPics.length-1) {
		// no more pics to show. hide next anchor
		var obj = MM_findObj('divNext')
		obj.style.visibility = 'hidden';
		var obj = MM_findObj('divPrevious')
		obj.style.visibility = 'visible';
	} else if (currImageIndex == 0) {
		// hide previous anchor
		var obj = MM_findObj('divPrevious')
		obj.style.visibility = 'hidden';
		var obj = MM_findObj('divNext')
		obj.style.visibility = 'visible';
	} else if (currImageIndex == 1) {
		var obj = MM_findObj('divPrevious')
		obj.style.visibility = 'visible';
		var obj = MM_findObj('divNext')
		obj.style.visibility = 'visible';
	} else if (currImageIndex == arrPics.length-2) {
		var obj = MM_findObj('divNext')
		obj.style.visibility = 'visible';
		var obj = MM_findObj('divPrevious')
		obj.style.visibility = 'visible';
	}

	setImagePicAndLabel();
	
	// start fading
	initImage();
}

// resets slideshow
function resetImage() {
	var obj = MM_findObj('divPrevious')
	obj.style.visibility = 'hidden';
	var obj = MM_findObj('divNext')
	obj.style.visibility = 'visible';

	setImagePicAndLabel();
}

// sets slideshow picture and label based on loaded values in
// arrPics and arrLabels arrays
function setImagePicAndLabel() {
	var obj = MM_findObj('thephoto');
	obj.src = arrPics[currImageIndex];
	document.getElementById("picLabel").innerHTML = arrPicLabels[currImageIndex];
}

// **********Fading functions - DO NOT EDIT THIS!! ***********/
var fadingRatio = 20;
var fadingStep  = 10; //goes from 0 to 100 in steps of fadingStep
var fadingSpeed = 10; // in miliseconds	

function initImage() {
	imageId = 'thephoto';
	image = document.getElementById(imageId);
	setOpacity(image, 0);
	image.style.visibility = "visible";
	fadeIn(imageId, fadingRatio);
}

function fadeIn(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity <= 100) {
			setOpacity(obj, opacity);
			opacity += fadingStep;
			window.setTimeout("fadeIn('"+objId+"',"+opacity+")", fadingSpeed);
		}
	}
}
function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}

// ********** Show slideshow functions - DO NOT EDIT THIS!! ***********/

// shows slideshow layer
function showSlideshow() {
	var obj = MM_findObj('slideShow');
	obj.style.zIndex = 10;
	obj.style.visibility = "visible";
	whiteOn();
	resetImage();
}

// hides slideshow layer
function closeSlideshow() {
	MM_showHideLayers('preloadProgress','','hide')
	var obj = MM_findObj('slideShow');
	obj.style.zIndex = -1;
	obj.style.visibility = "hidden";
	currImageIndex = 0;
	setImagePicAndLabel();
	whiteOff();
}

// show whitening layer
function whiteOn() {
	MM_showHideLayers('whiteEffect','','show')
	setOpacityByObjId('whiteEffect',50);
}

// hides whitening layer
function whiteOff() {
	MM_showHideLayers('whiteEffect','','hide')
	setOpacityByObjId('whiteEffect',100);
}

// enables view picture link. 
// this function is called -> body onload() event
function enableViewPicLink() {
	var obj = MM_findObj('imgLoading');
	if (obj == null) return; // had to do this becase of the use of dw templates (same call to enableViewLink()) on all pages

	obj.src = obj.src.substr(0, obj.src.length - 4) + 'Ready.gif';
	var obj = MM_findObj('hrefViewPics');
	obj.href = 'javascript:showSlideshow();';
	obj.className = 'imageSlideshowHand';
}

/*----------------------------------------------------------------
preload slideshow images 

prerequisites:

- having defined arrPics array
-----------------------------------------------------------------*/
var preImages = new Array(arrPics.length);
var loaded	  = new Array(arrPics.length);

function loadImages() { 
	for (i = 0; i < arrPics.length; i++) { 
		preImages[i] = new Image();
		preImages[i].src = arrPics[i];
	}
	/*
	for (i = 0; i < preImages.length; i++) { 
		loaded[i] = false;
	}
	*/
}

loadImages();