/*
 * @projectDescription Biblioteca de Efeitos da Manager
 * 
 * @author José Wilker da S. Lima
 * @version 1.0
 * 
 */
if (effects == undefined) var effects = {}; // verifica se o namespaces já existe
eMarquee = function(){}; // define o construtor da classe

// cria uma nova classe
eMarquee.prototype = {
	
	// função para iniciar a classe
    init: function(tempoTransicao, largura, altura, pausar, atributoLargura, conteudo, idCria){
        this.marqueewidth = largura + atributoLargura;
        this.marqueeheight = altura + atributoLargura;
        this.marqueespeed = tempoTransicao;
        this.pauseit = pausar;
        this.marqueecontent = conteudo;
        this.id_elemento_pai = idCria;
        this.ativa();
        
    },
    
	// metodo para determinar as váriaveis e calcular o tempo de transição entre as mensagens
    ativa: function(){
        this.marqueespeed = (document.all) ? this.marqueespeed : Math.max(1, this.marqueespeed - 1);
        this.copyspeed = this.marqueespeed;
        this.pausespeed = (this.pauseit == 0) ? this.copyspeed : 0;
        this.iedom = document.all || document.getElementById;
        this.actualheight = "";
        this.verify();
        this.populate(this.marqueecontent);
    },
    
	// metodo para verificar a altura atual do objeto e inserir o texto.
    populate: function(marqueecontent){
        this.allMarquee.innerHTML = marqueecontent;
        this.actualheight = this.allMarquee.offsetHeight;
    },
    
	// metodo para rolar o texto dentro da div
    chamaRolagem: function(){
        if (this.iedom) {
            if (parseInt(this.allMarquee.style.top) > (this.actualheight * (-1))) {
                this.allMarquee.style.top = parseInt(this.allMarquee.style.top) - this.copyspeed + "px";
            }
            else {
                this.allMarquee.style.top = parseInt(this.marqueeheight) + 1 + "px";
            }
        }
    },
    
	// metodo para criar o marquee dentro da div informada  
    verify: function(){
        elemento_pai = document.getElementById(this.id_elemento_pai);
        
        allMarqueeDivRola = document.createElement('div');
        allMarqueeDivRola.style.position = "relative";
        allMarqueeDivRola.style.overflow = "hidden";
        allMarqueeDivRola.style.height = this.marqueeheight;
        allMarqueeDivRola.style.width = this.marqueewidth;
        elemento_pai.appendChild(allMarqueeDivRola);
        
        this.allMarquee = document.createElement('div');
        this.allMarquee.style.position = "absolute";
        this.allMarquee.style.left = "0px";
        this.allMarquee.style.top = "0px";
        this.allMarquee.style.width = "100%";
        allMarqueeDivRola.appendChild(this.allMarquee);
        
    },
    
	// metodo para ativar a rolagem do texto
    ativaRolagem: function(classe){
        window.clearTimeout(this.lefttimeout);
		this.lefttime = setInterval("" + classe + ".chamaRolagem('play')", 50);
    },
    
	// metodo para da play na rolagem do texto
    play: function(classe){
        this.ativaRolagem(classe);
    },
    
	// metodo para parar a rolagem do texto assim que o mouse estiver sobre o objeto
    stop: function(classe){
        window.clearInterval(this.lefttime);
		this.lefttime="";
        this.lefttimeout = setTimeout("" + classe + ".ativaRolagem('" + classe + "')", 10000);
    }
}

