var pnPause = 5; // Tempo de espera (em segundos) entre uma notícia e outra
var pnTime = 50; // Tempo entre uma subida e outra (em ms)
var pnMove = 10; // Qtde de pxs que move por vez

function contemClasse(obj, clsN){
    if (obj.className){
        var cls = obj.className.split(" ");
        for (var i = 0; i < cls.length; i++)
            if (cls[i] == clsN)
                return true;
    }
    return false;
}

function getElementsByClass(cls, obj, tagname){
    var ret = Array();
    if (obj == null) obj = document;
    if (tagname == null) tagname = "*";
    var ch = obj.getElementsByTagName(tagname);
    for (var i = 0; i < ch.length; i++)
        if (contemClasse(ch[i], cls))
            ret.push(ch[i]);
    
    return ret;
}

function movePainel(pnId){
    var pn = getElementsByClass("news_panel",document,"div")[pnId];
    var pos = pn.destpos;
    if (pn.posA != pos){
        var ul = pn.getElementsByTagName("ul")[0];
        
        if (pn.posA > pos) var f = -1;
        else f = 1;
        
        if (Math.abs((pn.posA + (pnMove * f)) - pn.destpos) < pnMove) pn.posA = pos;
        else pn.posA = pn.posA + (pnMove * f);
        ul.style.marginTop = pn.posA + "px";
		
		if (pn.posA != pos) setTimeout("movePainel(" + pnId + ")", pnTime);
		else{
			var li_ini = pn.getElementsByTagName("li")[0];
			ul.removeChild(li_ini);
			pn.posA = 0;
			ul.style.marginTop = "0px";
			ul.appendChild(li_ini);
			pn.pauseTime = 0;
			setTimeout("ativaPainel(" + pnId + ")", 1000);
		}
    }
}
function initPainel(){
    var pns = getElementsByClass("news_panel",document,"div");
	for (var i = 0; i < pns.length; i++){
		pns[i].posA = 0;
		pns[i].destpos = 0;
		pns[i].pause = false;
		pns[i].pauseTime = 0;
		pns[i].onmouseover = function(){
			this.pause = true;
		}
		pns[i].onmouseout = function(){
			this.pause = false;
		}
		setTimeout("ativaPainel(" + i + ")", 1000);
	}
}

function ativaPainel(pnId){
	var pn = getElementsByClass("news_panel",document,"div")[pnId];
	pn.pauseTime++;
	if (pn.pause == false && pn.pauseTime >= pnPause){
		pn.pauseTime = 0;
		pn.destpos = pn.offsetHeight * -1;
		movePainel(pnId);
	}else setTimeout("ativaPainel(" + pnId + ")", 1000);
	if (pn.atual >= pn.total) pn.atual = 0;
}

window.onload = function(){
	initPainel();
}