var rota = new Array();
var imgPreload = new Image();
var current = 0;
var repeat;
var bgImg = 'main-image';
var srcImg = 'second-image';
var delay = 6000;

function initialize() {
	setTimeout("nextRota()", delay);
}

function changeTo(number) {
	number = parseInt(number);
	if(number > 4) number = 4;
	clearInterval(repeat);
	current = number;
	
	repeat = setInterval("nextRota()", delay);
	loadImage("/img/rota/" + rota[current], "updateFront(\"/img/rota/" + rota[current] + "\")", 0);
}

function nextRota() {
	setOpac(srcImg, 0);
	current++;
	if(rota[current] == null || rota[current] == "") {
		current = 0;
	}
	loadImage("/img/rota/" + rota[current], "updateFront(\"/img/rota/" + rota[current] + "\", \"nextRota()\", 6000)", 0);
}

function setOpac(id, value) {
	el = document.getElementById(id);
	if(el) {
		el.style.opacity = (value / 100);
		el.style.filter = 'alpha(opacity=' + value + ')';
	} else {
		alert("No element");
	}
}

function updateFront(imageSrc, func, delay) {
	if(func) {
		clearInterval(repeat);
		repeat = setInterval("" + func + "", parseInt(delay));
	}
	setSrc(srcImg, imageSrc);
	setTimeout('fade(4, \'' + srcImg + '\', 5)', 100);
	setTimeout('setBg(\'' + bgImg + '\', \'' + imageSrc + '\')', 500);
}

function fade(direction, identifier, speed) {
	el = document.getElementById(identifier);
	if(el) {
		if(!el.style.opacity) {
			el.style.opacity = 1;
		}
		value = ((el.style.opacity * 100) + direction);
		setOpac(identifier, value);
		
		if((direction > 0 && value < 100) || (direction < 0 && value > 0)) {
			setTimeout('fade(' + direction + ', "' + identifier + '", ' + speed + ')', speed);
		}
	} else {
		alert("No element");
	}
}

function loadImage(imageSrc, func, delay) {	
	if(func) {
		imgPreload.onload = function() { setTimeout("" + func + "", parseInt(delay)); }
	}
	
	imgPreload.src = imageSrc;
}

function setBg(id, image) {
	document.getElementById(id).style.background = '#fff url("' + image + '") left no-repeat';
}

function setSrc(id, image) {
	document.getElementById(id).src = image;
}

function innerEl(identifier, data) {
	document.getElementById(identifier).innerHTML = data;
}

function setOpac(id, value) {
	el = document.getElementById(id);
	if(el) {
		el.style.opacity = (value / 100);
		el.style.filter = 'alpha(opacity=' + value + ')';
	} else {
		alert("No element");
	}
}

addOnloadEvent('initialize()');
