var imgfdrImageArray = new Array();
var imgfdrConfig = new Array();

function imgfdrImageAdd(imageURL,hyperLink,linkTarget) {
	var imgfdrNewImage = new Object();
	imgfdrNewImage['image'] = imageURL;
	imgfdrNewImage['url'] = hyperLink;
	imgfdrNewImage['target'] = linkTarget;
	imgfdrImageArray.push(imgfdrNewImage);
}

function imgfdrStart() {
	// setup container
	var myContainer = document.getElementById(imgfdrConfig['containerID']);
	myContainer.innerHTML = '<img src="" border="0" id="imgfdrImageA" onClick="javascript:imgfdrHandleClick(\'A\');" style="position: absolute; top: 0px; left: 0px;"><img src="" border="0" id="imgfdrImageB" onClick="javascript:imgfdrHandleClick(\'B\');" style="position: absolute; top: 0px; left: 0px;">';
	// make images invisible
	setOpacity(imgfdrImage('A'),0);
	setOpacity(imgfdrImage('B'),1);
	// init "brain" :)
	imgfdrConfig['_curImgA'] = 0;
	imgfdrConfig['_curImgB'] = 1;

	imgfdrConfig['fadeVal'] = 0;
	imgfdrConfig['currentContainer'] = 'B';

	imgfdrNextImage();
}

function imgfdrImage(whichID) {
	return document.getElementById('imgfdrImage'+whichID);
}

function imgfdrNextImage() {
	// check which container is invisible
	var containerToUse = 'A';
	if (imgfdrConfig['currentContainer'] == 'A') {
		containerToUse = 'B';
	}

	var imageIDToUse = 0;
	if (imgfdrConfig['random'] == 1 && imgfdrImageArray.length > 1) {	// random mode (only available if more than one image)
		while (imageIDToUse == imgfdrConfig['_curImg'+(containerToUse == 'B'?'A':'B')] ) {
			// keep on randomizing until we get a new image
			imageIDToUse = Math.floor(Math.random() * imgfdrImageArray.length);
		}
	} else {
		imageIDToUse = imgfdrConfig['_curImg'+imgfdrConfig['currentContainer']] + 1; // increase old image
		if (imageIDToUse >= imgfdrImageArray.length) {
			imageIDToUse = 0; // wrap around if end of array
		}
	}

	imgfdrConfig['currentContainer'] = containerToUse;
	imgfdrConfig['_curImg'+containerToUse] = imageIDToUse;
	imgfdrImage(containerToUse).src = imgfdrConfig['imageURLPrefix'] + imgfdrImageArray[imageIDToUse]['image'];

	window.setTimeout("imgfdrNextImage()",imgfdrConfig['imageDelay']);
	imgfdrConfig['fadeTimer'] = window.setInterval("imgfdrDoFade()",Math.round(imgfdrConfig['fadeTime']/100));
	imgfdrConfig['fadeVal'] = 1;
}

function imgfdrHandleClick(containerToUse) {
	if (imgfdrImageArray[imgfdrConfig['_curImg'+containerToUse]]['url'] != '') { // URL given
		if (imgfdrImageArray[imgfdrConfig['_curImg'+containerToUse]]['target'] == '_blank') {
			windows.open(imgfdrImageArray[imgfdrConfig['_curImg'+containerToUse]]['url'],imgfdrImageArray[imgfdrConfig['_curImg'+containerToUse]]['target']);
		} else {
			window.location.href = imgfdrImageArray[imgfdrConfig['_curImg'+containerToUse]]['url'];
		}
	}
}

function imgfdrDoFade() {
	imgfdrConfig['fadeVal'] -= .01;
	//imgfdrConfig['fadeVal'] = 0;

	var containerIn = imgfdrConfig['currentContainer'];
	var containerOut = imgfdrConfig['currentContainer'] == 'A'?'B':'A';

	setOpacity(imgfdrImage(containerIn),1 - imgfdrConfig['fadeVal']);
	setOpacity(imgfdrImage(containerOut),imgfdrConfig['fadeVal']);

	if (imgfdrConfig['fadeVal'] <= .1) {
		window.clearInterval(imgfdrConfig['fadeTimer']);
		// hide the out container
		imgfdrImage(containerOut).style.display = 'none';
	} else {
		imgfdrImage(containerIn).style.display = 'block';
		imgfdrImage(containerOut).style.display = 'block';
	}
}

