
var in_bImagesLoaded = false;
var in_bRunning = true;
var in_aoImages;
var in_aiHistory = new Array();
var in_iHistoryIdx = -1;
var in_iImgIdxToDisplay;
var in_timerRef;
var in_TIMER_PAUSE = 5000;

function in_initialize() {
	if(in_preloadImages()) {
		in_addListeners();
		in_startRotation();
	}
}


function in_preloadImages() {
    if (!document.images) {
		return false;
    }
    
    if(!in_bImagesLoaded) {
		if (typeof(in_aaImageData) != "object") {
			alert("Image Navigator Error!\nFatal: Required image array ('in_aaImageData') is not present.");
			return false;
		}
		
		in_aoImages = new Array();
		
		for(var i=0; i<in_aaImageData.length; i++) {
			var img = new Image();
			img.src = in_imgPath +in_aaImageData[i][1];
			
			in_aoImages[i] = new Array();
			in_aoImages[i][0] = in_aaImageData[i][0];
			in_aoImages[i][1] = img;
		}
		
        bImagesLoaded = true;
    }
    
    return true;
}

function in_startRotation() {
	window.setTimeout('in_showNext()', 4500);
}

function in_stopRotation() {
	in_clearTimeout();	
}

function in_showNext() {
	in_clearTimeout();
	
	if(!in_bRunning) {
		return true;
	}
	
	//var iImgIdx = Math.round(Math.random()*(in_aoImages.length-1));
	var iImgIdx = in_getNextImageIdx();
	in_showImage(iImgIdx, true);
	in_timerRef = window.setTimeout("in_showNext()", in_TIMER_PAUSE);
	
	return true;
}

function in_showPrevious() {
	in_clearTimeout();
	
	if(in_iHistoryIdx > 0)
	{
		in_iHistoryIdx = in_iHistoryIdx - 1;
		//alert("Going back one (HIdx: " +in_iHistoryIdx +",AIdx: " +in_aiHistory[in_iHistoryIdx] +")");
		in_showImage(in_aiHistory[in_iHistoryIdx], false);
		
	}else if (in_aiHistory.length > 0) {
		in_iHistoryIdx = in_aiHistory.length - 1;
		//alert("Going to end of list (Idx:" +in_aiHistory[in_iHistoryIdx] +")");
		
		in_showImage(in_aiHistory[in_iHistoryIdx], false);
	}
	
	in_timerRef = window.setTimeout("in_showNext()", in_TIMER_PAUSE);
}

function in_showImage(idx, bSetHistory) {
	var elTargetImg = document.getElementById(in_sTargetImageId);
	var elTargetText = document.getElementById("spImgDesc");
	
	if(bSetHistory) {
		in_aiHistory.push(idx); //store
		in_iHistoryIdx = in_aiHistory.length-1;
	}

	in_iImgIdxToDisplay = idx;
	
	if(elTargetImg){
		if (elTargetImg.src != "") {
			Effect.Fade(in_sTargetImageId, {duration:.3});
		}
				
		window.setTimeout('document.getElementById(in_sTargetImageId).src = in_aoImages[in_iImgIdxToDisplay][1].src;',550);
		window.setTimeout('Effect.Appear(in_sTargetImageId, {duration:.7})',500);
	}
	
	if (elTargetText) {
		elTargetText.innerHTML = in_aoImages[idx][0];
	}	
}

function in_getNextImageIdx() {
	if(in_aaImageData.length > 0) {
		if (in_iHistoryIdx >= 0) {
			//not the first image displayed
			return ((in_aiHistory[in_iHistoryIdx] + 1) <= (in_aaImageData.length -1)) ? in_aiHistory[in_iHistoryIdx] + 1 : 0;
		} else {
			//this is the first image displayed
			return 0;
		}
	}
	alert("Image Navigator Error:\n in_getNextImageIdx() - No image data loaded.");
}

function in_clearTimeout() {
	window.clearTimeout(in_timerRef);
}

function in_addListeners() {
	var elTargetImg = document.getElementById(in_sTargetImageId);
	if (elTargetImg) {
		addEvent(elTargetImg, 'click', in_showNext);
	}
}






//END