var images = new Array();

if (document.images)
{
	play = new Image(49,20);
	play.src="images/play.gif";
	
	pause = new Image(49,20);
	pause.src="images/pause.gif";
	
	images[0]= new Image(521,242); 
	images[0].src="images/main1.jpg"; 
	
	images[1]= new Image(521,242); 
	images[1].src="images/main2.jpg"; 
	
	images[2]= new Image(521,242); 
	images[2].src="images/main3.jpg"; 
	
	images[3]= new Image(521,242); 
	images[3].src="images/main4.jpg"; 
}

//declare the runner.
var running = false;
var index = 0;
var control = false;

//vars for fade functionality
var multiplier = 50;
var delay = 200;

function showControl(called) { //doesn't work well with set_timeout for fading images
	if(!called && !control) {
		setTimeout('showControl(1)',500);
	} else {
		ctrl = document.getElementById('Control');
		ctrl.style.display = "block";
		control = true;
	}
}

function hideControl(called) {
	if(!called && control) {
		setTimeout('hideControl(1)',3000);
	} else {
		if(running) {
			ctrl = document.getElementById('Control');
			ctrl.style.display = "none";
			control = false;
		}
	}
}

function startRotation() {
	running = true;
	img = document.getElementById('ControlButton');
	img.src = pause.src;
	rotate();
}

function stopRotation() {
	running = false;
	img = document.getElementById('ControlButton');
	img.src = play.src;
}

function toggleRotation() {
	if(running) {
		stopRotation();
	} else {
		startRotation();
	}
}

function rotate() {
	if(running) {
		img = document.getElementById('MainImage');
		replaceImg = document.getElementById('ReplacementImage');
		
		img.src = images[index].src;
		index = (index+1)%images.length;
		document.getElementById('ReplacementImage').style.visibility = 'hidden';
		replaceImg.src = images[index].src; //causes flash in mozilla
			
		if (typeof document.getElementById('ReplacementImage').style.opacity != 'undefined') {
			document.getElementById('ReplacementImage').style.opacity = 0;
			setTimeout('document.getElementById(\'ReplacementImage\').style.visibility = \'visible\';', delay);
			for (var i=0; i < multiplier; i++) {
				setTimeout('document.getElementById(\'ReplacementImage\').style.opacity = '+i+'/' + multiplier + ';', delay + i * multiplier);
			}
		} else {
			if (document.getElementById('ReplacementImage').style.filter.indexOf("alpha") == -1) {
				var existingFilters='';
				if (document.getElementById('ReplacementImage').style.filter) {
					existingFilters = document.getElementById('ReplacementImage').style.filter+' ';
				}
				document.getElementById('ReplacementImage').style.filter = existingFilters+"alpha(opacity="+this.opacity+")";
			}
	
			document.getElementById('ReplacementImage').style.filter['alpha'] = 'opacity = 0';
			setTimeout('document.getElementById(\'ReplacementImage\').style.visibility = \'visible\';', delay);
			for (var i=0; i < multiplier; i++) {
				setTimeout('document.getElementById(\'ReplacementImage\').style.filter = \'alpha(opacity = '+(i*100/multiplier)+'\';', delay + (i * multiplier));
			}
		}
	}
	if(running) {
		setTimeout('rotate()',9000);
	}
}