//		classe que marca linha quando passa mouse por cima
	function MarcaLinhas ()
	{
		this.selecionados = [];
		this.cont = 0;
		this.cont_retirados = 0;

		this.cores = [];
		this.cores[0] = "pad_over"; // 0: onclick
		this.cores[1] = "pad_over"; // 1: pasa in
		this.cores[2] = "pad"; // 2: pasa out
		this.cont_id = 0;
		
		this.Selecionado = function (id)
		{
			for (var i =0; i < this.cont; i++)
			{
				if (this.selecionados[i] == id)
				{
					return true;
				}
			}
		}
		
		this.RetiraSelecionado = function (id)
		{
			if (this.cont_retirados > 60)
			{
				var temp = [];
				var cont_ = 0;
				for (var i =0; i < this.cont; i++)
				{
					if (this.selecionados[i] != "")
					{
						temp[cont_] = this.selecionados[i];
						cont_++;
					}
				}
				this.selecionados = temp;
				this.cont = cont_;
				this.cont_retirados = 0;
			}
			
			for (var i =0; i < this.cont; i++)
			{
				if (this.selecionados[i] == id)
				{
					this.selecionados[i] = "";
					this.cont_retirados++;
					return true;
				}
			}
		}
		
		this.Seleciona = function (id)
		{
			if (!this.Selecionado(id))
			{
				this.selecionados[this.cont] = id;
				this.cont++;
			}
		}
		

		//acao 0: onclick
		//acao 1: pasa in
		//acao 2: pasa out
		this.PassaMouse = function (linha, acao)
		{
			var sel = (acao == 0);
			if (linha)
			{
				if (linha.id == "")
				{
					linha.id = "marcacao_linha_"+this.cont_id;
					this.cont_id++;
				}
				
				if (acao == 0 || !this.Selecionado(linha.id))
				{
					if (acao == 0 && this.Selecionado(linha.id))
					{
						this.RetiraSelecionado(linha.id);
						acao = 2;
					}
					for (var i = 0; i < linha.cells.length; i++)
					{
						linha.cells[i].className = this.cores[acao];
					}
				}
				if (acao == 0)
				{
					this.Seleciona(linha.id);
				}
			}
		}
	}
	
	var marcacao = new MarcaLinhas();
	function marcacao_linha(linha, acao)
	{
		marcacao.PassaMouse(linha, acao);
	}
