
/**
 *  boxroll.js -> mostra textos rolantes (verticalmente) dentro de um DIV
 *  ----------
 *
 *  Autor: Cau Guanabara
 *  E-mail: caugb@ibest.com.br
 *  Data:  2005-11-07
 */

var br_inc, br_timeout, br_height, br_length, br_tab;
var br_diff = 2; // porquê??
var br_time = 8000;
var br_amount = 5;
var br_delay = 100;
var br_paused = false;

function boxRoll(elem, items) {
_ini_elem = elem;
_ini_items = items;
br_height = elem.clientHeight;
br_length = items.length;
br_inc = br_height * -1;
elem.innerHTML = '';
br_makeBox(elem, items);
//elem.onmouseover = function() { br_paused = true; };
//elem.onmouseout = function() { br_paused = false; };
br_nextItem(0);
}

function br_makeBox(elem, items) {
br_tab = document.createElement("table");
br_tab.cellpadding = 0;
br_tab.cellspacing = 0;
br_tab.border = 0;
br_tab.style.width = '100%';
br_tab.style.marginTop = br_height+'px';
var tb = document.createElement("tbody");

  for(var i = 0; i < br_length; i++) {
	var tr = document.createElement("tr");
	var td = document.createElement("td");
	//td.style.backgroundColor = i % 2 == 0 ? '#999' : '#666';
	td.style.height = (br_height - br_diff - 3)+'px';
	td.vAlign = 'top';
	td.style.padding = '0px';
	td.style.paddingLeft = '10px';
	td.innerHTML = items[i];
	tr.appendChild(td);
	tb.appendChild(tr);
	}
br_tab.appendChild(tb);
elem.appendChild(br_tab);
}

function br_moveBox(num) {
	if(br_paused) return;
br_inc = (num > ((br_height * br_length) - 1)) ? br_height * -1 : num;
br_tab.style.marginTop = (br_inc * -1)+'px';
}

function br_nextItem(num) { 
var lastlim = (br_height * (br_length - 1)) - 1;
	if(br_timeout) clearTimeout(br_timeout); 
	if(br_inc > lastlim) {
	boxRoll(_ini_elem, _ini_items);
	return;
	}
br_timeout = setTimeout("timeLoop('i = "+(br_inc + 1)+"; i < "+
                       (br_inc + br_height + 1)+"; i += "+br_amount+"','br_moveBox(i);',"+
											  br_delay+",'br_nextItem("+(br_inc > lastlim ? 0 : br_time)+");');", num);
}
