//classe para a transição de imagens

function Transicao(tT, tE, imgs, dF, imgA){
	this.tempoTransicao = tT;
	this.tempoExposicao = tE;
	this.arrayImagens = imgs;
	this.divFundo = dF;
	this.imagem = imgA;
	var i = 0;
	var intervalo;
	var self = this;

	this.fazTransicao = function(){
		intervalo = setInterval(function(){
						if(i == self.arrayImagens.length) i = 0;
						self.blendImage();
						i++;
					}, this.tempoExposicao);
	}
	
	this.pausa = function(){
		clearInterval(intervalo);
	}
	
	this.reinicia = function(){
		this.fazTransicao();
	}
	
	this.proximo = function(){
		this.pausa();
		if(i == this.arrayImagens.length-1){ i = 0; }
		else { i++; }
		document.getElementById(this.divFundo).style.backgroundImage = "url(" + this.arrayImagens[i] + ")";
		document.getElementById(this.imagem).src = this.arrayImagens[i];		
	}
	
	this.anterior = function(){
		this.pausa();
		if(i == 0){ i = this.arrayImagens.length-1;}
		else{ i--; }
		document.getElementById(this.divFundo).style.backgroundImage = "url(" + this.arrayImagens[i] + ")";
		document.getElementById(this.imagem).src = this.arrayImagens[i];	
	}
	
	this.blendImage = function(){
		var divid = this.divFundo;
		var imageid = this.imagem;
		var imagefile = this.arrayImagens[i];
		var millisec = this.tempoTransicao;
		var speed = Math.round(millisec / 100);
		var timer = 0;
		var temp = document.getElementById(imageid).src;
		
		//set the current image as background
		document.getElementById(divid).style.backgroundImage = "url(" + temp + ")";
	
		//make image transparent
		changeOpac(0, imageid);
	
		//make new image
		document.getElementById(imageid).src = imagefile;

		//fade in image
		for(var j = 0; j <= 100; j++) {
			setTimeout("changeOpac(" + j + ",'" + imageid + "')",(timer * speed));
			timer++;
		}
	}
	


}

function changeOpac (opacity, id){
		var object = document.getElementById(id).style; 
		object.opacity = (opacity / 100);
		object.MozOpacity = (opacity / 100);
		object.KhtmlOpacity = (opacity / 100);
		object.filter = "alpha(opacity=" + opacity + ")";		
}


function preloadImgs(aImg){
	imgObject = new Image();
	
	for(var i=0; i<aImg.length; i++){
		imgObject.src = aImg[i];
	}	
}


function Scroll(d, q, v){
	this.div = d; //qual a div
	this.qt = q; //quantidade de scroll
	this.vl = v; //velocidade
	var intervalo;
	var x = 0;
	var self = this;
	
	this.scrollDown = function(){
		intervalo = setInterval ( function(){
										x = x + self.qt;
										document.getElementById(self.div).scrollTop = x;
									}, this.vl);
	}
	
	this.scrollUp = function(){
		intervalo = setInterval ( function(){
										x = x - self.qt;
										document.getElementById(self.div).scrollTop = x;
									}, this.vl);
}

	this.stopScroll = function(){
		clearInterval(intervalo);
	}
	
	this.topo = function(){
		this.stopScroll();
		document.getElementById(this.div).scrollTop = 0;
		x = 0;
	}
}