/*
Objeto banner:
*/
function Banner(Place){
	this.interval = 5000; 	 // intervalo entre a rotação (em ms)
	this.random_display = 1; // Exibir randomicamente
	this.index = 0;			 // Em qual banner estamos
	this.image_list = new Array();	//Lista de Urls
	this.url_list = new Array();	//Lista de Banners
	this.preloaded_img = new Image(); //Obj img pro preloader
	this.place = Place;		//Local onde vai entrar as img
};

/*
Abri a url do banner clicado
*/
Banner.prototype.Abrir =  function(){
	if(this.url_list[this.image_index].length){
		window.open(this.url_list[this.image_index]);
	};
}

/*
Seleciona e faz o preloader da proxima imagem
*/
Banner.prototype.getNextImage = function(){
	if(this.random_display){		
		this.image_index = generate(0, this.image_list.length - 1);
	}else{
		this.image_index = (image_index+1) % this.image_list.length - 1;
	}		
	this.preloaded_img.src = this.image_list[this.image_index];
	return;
}

/*
Troca a imagem atual que esta sendo exibida pela proxima.
*/
Banner.prototype.Rotacionar = function(){
	this.getNextImage();
	document[this.place].src = this.preloaded_img.src;
	var thisObj = this;
	var callback = function(){ 
		thisObj.Rotacionar();
	};
	setTimeout(callback, this.interval);
}

/*
Testa se o obj esta configurado corretamente e comeca a mostrar as imagens
*/
Banner.prototype.Iniciar = function(){
	var thisObj = this;
	document[this.place].onclick = function(){ 
		thisObj.Abrir() 
	}
	if(this.image_list.length > 0){
		this.Rotacionar();
	};
}

/* gera um numero aleatorio para escolher automaticamente os banners */
function generate(x, y) {
	var range = y - x + 1;
	return Math.floor(Math.random() * range) + x;
}
