/*
 * marquee_clss
 * Instanciar um objeto no inicio da pagina
 * setar os metodos subir, descer e parar no onmouseover e onmouseout
 * no fim da pagina chamar o método addMascara para setar as divs com mascara e o método iniciar
 * Exemplo:
  		obj_marque = new marquee_clss;
  		
  		<a onmouseout="obj_marque.parar(0);" onmouseover="obj_marque.descer(0);">
  			LINK PARA SUBIR
 		</a>		
		<div id="Palco">
			<div><img src="..." /></div>
		</div>
		<a onmouseout="obj_marque.parar(0);" onmouseover="obj_marque.subir(0);">
			LINK PARA DESCER
		</a>				
		
		obj_marque.addMascara("Palco");
		obj_marque.addMascara("...");
		obj_marque.iniciar();
 */
function marquee_clss(){
	var self = this;
	var mascara = new Array();
	var direcao = new Array();
	var id = null;
	var posicao = new Array();
	this.passo = 4;
	this.tempo = 100;
	
	this.subir = function(i){
		direcao[i] = 1;
	}
	this.descer = function(i){
		direcao[i] = -1;
	}	
	this.parar = function(i){
		direcao[i] = 0;
	}
	this.addMascara = function(div_id){
		var i = mascara.length;
		if( typeof( div_id ) == "string" )
			var div = document.getElementById(div_id) 
		else 
			var div = div_id;
		if(div != null)
		{
			mascara[i] = div;
			direcao[i] = 0;
			posicao[i] = 0;
		}
	}
	this.iniciar = function(){
		id = setInterval( rolar, self.tempo);
	}
	function rolar(){
		for(i=0;i < mascara.length;i++)
		{
			var div = mascara[i].getElementsByTagName("div")[0];			
			var tamanho = div.offsetHeight - mascara[i].offsetHeight;			
			var proxima_pos = posicao[i] + direcao[i] * self.passo;
			if( proxima_pos < 0 ) {
				proxima_pos = 0;
			}
			if( proxima_pos > tamanho ) {
				proxima_pos = tamanho;
			}
			posicao[i] = proxima_pos;				
			div.style.marginTop = -posicao[i] + "px";
		}

	}
}

/*
function marquee2_class() {
	var self			= this;
	var obs 			= new Array();
	var interval_id 	= null;
	this.passo 			= 4;
	this.tempo 			= 50;
	
	function rolar() {
		for( var i=0; i < obs.length; i++ ) {
			var ob = obs[i];
			var div = ob.box.getElementsByTagName( "div" )[0];
			var tam = div.offsetHeight - ob.msk.offsetHeight;
			var pos = ob.pos + ob.dir * self.passo;
			pos = ( pos < 0 ) ? ( 0 ) : ( pos > tam ) ? ( tam ) : ( pos );
			ob.pos = pos;
			div.style.marginTop = -pos + "px";
		}
	}
	
	function iniciar() {
		interval_id = setInterval( rolar, self.tempo);
	}
	
	iniciar();
	
	this.addBox = function( obj ) {
		if( typeof( obj ) == "string" ) obj = document.getElementById( obj );
		var inner = obj.innerHTML;
		var indice = obs.length;
		obj.idx = indice;
		obj.innerHTML = "";
		var a_up = document.createElement( "a" );
		a_up.innerHTML = "&nbsp;";
		a_up.style.display = "block";
		a_up.style.cursor = "pointer";
		a_up.idx = indice;
		obj.appendChild( a_up );
		var div = document.createElement( "div" );
		div.innerHTML = inner;
		div.style.overflow = "hidden";
		obj.appendChild( div );
		var a_down = document.createElement( "a" );
		a_down.innerHTML = "&nbsp;";
		a_down.style.display = "block";
		a_down.style.cursor = "pointer";
		a_down.idx = indice;
		obj.appendChild( a_down );


		obj.pos = 0;
		obj.dir = 0;
		obs[ indice ] = obj;
	}
}*/