// JavaScript Document
var faderImage1ID= "BANNER_FADING-SLIDESHOW_IMAGE1";
var faderImage2ID= "BANNER_FADING-SLIDESHOW_IMAGE2";
var faderImage3ID= "BANNER_FADING-SLIDESHOW_IMAGE3";

var topOpacity = 100;

var fadingImgs = [document.getElementById(faderImage1ID),
					document.getElementById(faderImage2ID),
					document.getElementById(faderImage3ID)];

var FADE_STATES = {};
FADE_STATES.FIRST_SLIDE = true;
FADE_STATES.FADING = false;
FADE_STATES.PAUSED = false;
FADE_STATES.FADER_TICKS = 0;

var INIT_INTERVAL = 300;
var COMMON_INTERVAL = 500;

var ADD_FADER_TICKS_INTERVAL;


function unpauseFaderOnClick(){
	unpauseFaderSlideshow();
	showFaderPauseUnpauseUnpaused();
}
function pauseFaderOnClick(){
	pauseFaderSlideshow();
	showFaderPauseUnpausePaused();
}

function showFaderPauseUnpausePaused(){
	document.getElementById("BANNER_FADING-SLIDESHOW_PAUSE-UNPAUSE").src = "images/slideshow_unpause.png";
	document.getElementById("BANNER_FADING-SLIDESHOW_PAUSE-UNPAUSE").onclick = unpauseFaderOnClick;
}
function showFaderPauseUnpauseUnpaused(){
	document.getElementById("BANNER_FADING-SLIDESHOW_PAUSE-UNPAUSE").src = "images/slideshow_pause.png";
	document.getElementById("BANNER_FADING-SLIDESHOW_PAUSE-UNPAUSE").onclick = pauseFaderOnClick;											
}
										
function addFaderTick(){
	if(FADE_STATES.FIRST_SLIDE && FADE_STATES.FADER_TICKS == INIT_INTERVAL){
		FADE_STATES.FIRST_SLIDE = false;
		FADE_STATES.FADING = true;
		FADE_STATES.FADER_TICKS = -1;
		changeState();
		resetOpacities();
		topOpacity = 100;
	}
	else if(FADE_STATES.FADING && FADE_STATES.FADER_TICKS <= 100){
		changeOp();
	}
	else if(FADE_STATES.FADING && FADE_STATES.FADER_TICKS > 100){
		FADE_STATES.FADING = false;
	}
	else if(!FADE_STATES.FIRST_SLIDE && FADE_STATES.FADER_TICKS == COMMON_INTERVAL){
		FADE_STATES.FADING = true;
		FADE_STATES.FADER_TICKS = -1;
		changeState();
		resetOpacities();
		topOpacity = 100;
	}
	FADE_STATES.FADER_TICKS++;
}

function resetOpacities(){
	setOpacity(fadingImgs[0],100);
	setOpacity(fadingImgs[1],100);
	setOpacity(fadingImgs[2],100);																						
}
resetOpacities();
function changeState() {
	var swap = fadingImgs[2];
	fadingImgs[2] = fadingImgs[1];
	fadingImgs[1] = fadingImgs[0];
	fadingImgs[0] = swap;
	for(var i = 0; i<= 2; i++){
		fadingImgs[i].style.zIndex = i;
	}
}
function changeOp() {
	if(topOpacity == -1)
		return;
	setOpacity(fadingImgs[2],topOpacity--);
}
function setOpacity(theObject, opacity) {
	var object = theObject.style;
	object.opacity = (opacity/ 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";    
}
function pauseFaderSlideshow(){
	FADE_STATES.PAUSED = true;
	if(ADD_FADER_TICKS_INTERVAL != null){
		clearInterval(ADD_FADER_TICKS_INTERVAL);
	}
}
function unpauseFaderSlideshow(){
	FADE_STATES.PAUSED = false;
	if(ADD_FADER_TICKS_INTERVAL != null)
		clearInterval(ADD_FADER_TICKS_INTERVAL);
	ADD_FADER_TICKS_INTERVAL = setInterval("addFaderTick()", 1);
}
ADD_FADER_TICKS_INTERVAL = setInterval("addFaderTick()", 1);

