function setPointer(theRow,theAction, theDefaultColor, thePointerColor, theMarkColor)
{
    var theCells = null;

    // 1. Pointer and mark feature are disabled or the browser can't get the
    //    row -> exits
    if ((thePointerColor == '' && theMarkColor == '')
        || typeof(theRow.style) == 'undefined') {
        return false;
    }

    // 2. Gets the current row and exits if the browser can't get it
    if (typeof(document.getElementsByTagName) != 'undefined') {
        theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        theCells = theRow.cells;
    }
    else {
        return false;
    }

    // 3. Gets the current color...
    var rowCellsCnt  = theCells.length;
    var domDetect    = null;
    var currentColor = null;
    var newColor     = null;
    // 3.1 ... with DOM compatible browsers except Opera that does not return
    //         valid values with "getAttribute"
    if (typeof(window.opera) == 'undefined'
        && typeof(theCells[0].getAttribute) != 'undefined') {
        currentColor = theCells[0].getAttribute('bgcolor');
        domDetect    = true;
        
    }
    // 3.2 ... with other browsers
    else {
        currentColor = theCells[0].style.backgroundColor;
        domDetect    = false;
    } // end 3

    // 4. Defines the new color
    // 4.1 Current color is the default one
    if (currentColor == ''
        || currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {
        if (theAction == 'over' && thePointerColor != '') {
            newColor              = thePointerColor;
            
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;         
        }
    }
    // 4.1.2 Current color is the pointer one
    else if (currentColor.toLowerCase() == thePointerColor.toLowerCase())
             {
        if (theAction == 'out') {
            newColor              = theDefaultColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;            
        }
    }
    // 4.1.3 Current color is the marker one
    else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {
    
        if (theAction == 'click') {       
            newColor              = theDefaultColor;          
        }
    } // end 4

    // 5. Sets the new color...
    if (newColor) {
        var c = null;
        // 5.1 ... with DOM compatible browsers except Opera
        if (domDetect) {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].setAttribute('bgcolor', newColor, 0);
            } // end for
        }
        // 5.2 ... with other browsers
        else {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].style.backgroundColor = newColor;
            }
        }
    } // end 5

    return true;
}

function ChangeOptions(lstPrimary, lstSecondary, strArray, strValorInit, strDisplayInit, indice) 
{
  var alen    = eval(strArray + ".length")
  var listLen = 1;
  var strKey  = eval("document.forms[indice]." + lstPrimary + ".options[document.forms[indice]." + lstPrimary + ".selectedIndex].value")
  
  eval("document.forms[indice]." + lstSecondary + ".options.length = 0");

    
	var Opcao = document.createElement("option");
	Opcao.value = strValorInit;
	Opcao.text = strDisplayInit;		
	eval("var init = document.forms[indice]." + lstSecondary  )	
	init.add(Opcao,0);

  for (var i = 1; i < alen; i++) 
  {
   if (eval(strArray + "[i][0] == " + strKey))
    {
    eval("document.forms[indice]." + lstSecondary + ".options[listLen] = new Option(" + strArray + "[i][2], " + strArray + "[i][1])");
    listLen = listLen + 1;
    }
  }

  if (listLen > 0)
  {eval("document.forms[indice]." + lstSecondary + ".options[0].selected = true");}
  
  if (document.all == null)  
    {history.go(0);}  
}

///////////////////////////////////////////////////
//  Função		:Confirma
//	objetivo	:direcionar para um link caso resposta seja positiva
//  Entrada: 
//		mensagem			: pergunta que terá que ser confimada
//		link				: link que será redirecionado caso resposta positiva
////////////////////////////////////////////////////
function Confirma(mensagem, link)
{ 
	bresposta = confirm(mensagem);
	if (bresposta == true)
	{
	location.href = link;
	} 
}
///////////////////////////////////////////////////
//  Função		:ConfirmaNWindow
//	objetivo	:direcionar para um link caso resposta seja positiva
//  Entrada: 
//		mensagem			: pergunta que terá que ser confimada
//		link				: link que será redirecionado caso resposta positiva
////////////////////////////////////////////////////
function ConfirmaNWindow(mensagem, link)
{ 
	bresposta = confirm(mensagem);
	if (bresposta == true)
	{
	newWindow=window.open(link);
	} 
}



//*********************************************************
// Proposta: Pega 2 parâmetros: a string da página e o valor selecionado pelo colaborador
//			 e redireciona para página com a variável e o valor pré-selecionado
//  Entrada:	
//	 strPagina:	String contendo o nome da página que chamou a função
//strParametro:	Nome do parâmetro
//	  intValor:	Valor do parâmetro
//	
//    Saída:	Um redirecionamento para a página juntamente com o(s) parâmetro(s) e valor(es)
//
//*********************************************************

function Refresh(strPagina, strParametro1, intValor1, strParametro2, intValor2)
{	

	//Somente o primeiro parâmetro foi passado
	if ((intValor1 != '0') && (intValor2 == 'undefined'))
	{	
		location.href=strPagina+"?"+strParametro1+"="+intValor1;
  	}
  	//O primeiro e o segundo parâmetros foram passados
	if (intValor1 != "0" && intValor2 != 'undefined')
	{	
		location.href=strPagina+"?"+strParametro1+"="+intValor1+"&"+strParametro2+"="+intValor2;
  	}
  	
  	return;
}
///////////////////////////////////////////////////////////////
//	Verifica se a posição no array está preenchida
///////////////////////////////////////////////////////////////
function PosicaoPreenchida(Arranjo, Cont) {
	if(Arranjo == null)
		return false;
	if(Arranjo[Cont] == null)
		return false;
	else if(Arranjo[Cont] == "")
		return false;
	else
		return true;
}
function ReplaceFunciona(Valor, Procurado, Substituto) 
{
	var Cont;
	var ValorResultante = "";
	if(Valor != null)
		for(Cont = 0; Cont < Valor.length; Cont++)
			if(Valor.substring(Cont, Cont + 1) == Procurado)
				ValorResultante = ValorResultante + Substituto;
			else
				ValorResultante = ValorResultante + Valor.substring(Cont, Cont + 1);
	return ValorResultante;
}


//*********************************************************
// Proposta: Passa os ítens de um <SELECT> para um outrocumento e secundária
//
//  Entrada:	
//			 Origem:Valor do campo onde vai ser pego o(s) campo(s) selecionado(s)
//			Destino:Valor do campo para onde vai ser movido o(s) item(ns) selecionado(s) no primeiro <SELECT>
//			  Todos:Boleano que indica se é para mover todos os ítens ou não
//			
//      Saída:	Os ítnes são movidos para o segundo <SELECT>lassificacao 1 e 2  do documento
//
//*********************************************************
function PassaItem(Origem, Destino, Indice)
{
	var novoOption = new Option();
	var antigoOption = Origem.options(Indice);

	novoOption.text = antigoOption.text;
	novoOption.value = antigoOption.value;
	Destino.options.add(novoOption);
	
	Origem.options.remove(Indice);
}



function PassaItens(Origem, Destino, Todos)
{
	var i;
	var o = Origem.options;

	for(i = 0; i < o.length;)
	{
		if(Todos || o(i).selected)
		{
			PassaItem(Origem, Destino, i);
		}
		else
		{
			i++;
		}
	}
}

///////////////////////////////////////////////////
//	Valida os campos genéricos durante o preenchimento
///////////////////////////////////////////////////
function ValidaCampoPreenchimento(campo, proximo, tipo, maximo) {
	//	Verificando o preenchimento
	switch(tipo) {
		//	Campos moeda
		case 1:
			FormataMoeda(campo);
			break;
		//	Campos data
		case 2:		
			FormataData(campo);
			break;
	}
	//	Pulando para o próximo campo do formulário
	if(campo.value.length == maximo)
		proximo.focus();
}




//////////////////////////////////////////////////////////////////////////////////////////////////////
// Formata campos data dinamicamente
//////////////////////////////////////////////////////////////////////////////////////////////////////
function FormataData(intCampo) {
	//	Valor original	
	var valorOriginal = Filtra(intCampo.value);

	//	Valor formatado
	var valorFormatado = "";

	//	Posição no string
	var posicao = 0;
	
	//adicionei sinal de comentário, retirar depois
	//verificaValores (valorOriginal,intCampo)
	
	//	Formatando o valor
	for(posicao = 0; posicao < valorOriginal.length; posicao ++) {
		//	Barra
		if((posicao % 2) == 0 && posicao > 0 && posicao < 5)
			valorFormatado = valorFormatado + "/";
		//	Resultado final
		valorFormatado = valorFormatado + valorOriginal.substring(posicao, posicao + 1);
	}

	//	Atualizando o valor do campo
	intCampo.value = valorFormatado;
}



//////////////////////////////////////////////////////////////////////////////////
//	Proposta:	Verifica os valores de dia, mês e ano para ver se são válidos
//   Entrada: 
//    valorOriginal: O valor do campo
//			  campo: O Nome que foi dado ao campo
//
//    Saida:
//		True ou False, representando se valor é correto ou não
//////////////////////////////////////////////////////////////////////////////////

function verificaValores(valorOriginal,intCampo)
{

//	Campo dia entre 1 e 31
	if (valorOriginal.length >= 2)
	{
		var dia = parseInt(valorOriginal.substring(0,2))
		if(dia < 1 || dia > 31) 
		{
			alert("Dia incorreto");
			intCampo.focus;
			return false;
		}
	}	
	//	Campo mês entre 1 e 12
	if (valorOriginal.length >= 4)
	{
		var mes = parseInt(valorOriginal.substring(2,4))
		if(mes < 1 || mes > 12) 
		{
			alert("Mês incorreto");
			intCampo.focus;
			return false;
		}
	}	
	
	//	Campo ano entre 1900 e atual
	if (valorOriginal.length == 8)
	{
		var ano = parseInt(valorOriginal.substring(4,10))
		var today = new Date();
		if(ano < 1970 || ano > today.getFullYear()) 
		{
			alert("Ano incorreto");
			intCampo.focus;
			return false;
		}
	}	

}


//////////////////////////////////////////////////////////////////////////////////////////////////////
//	Filtra caracteres não numéricos
//////////////////////////////////////////////////////////////////////////////////////////////////////

function Filtra(valor) {
	//	Valor formatado
	var valorFormatado = "";

	//	Posicao no string
	var posicao = 0;
	
	//	Varrendo o string
	for(posicao = 0; posicao < valor.length; posicao ++) {
		if(!isNaN(valor.substring(posicao, posicao + 1)))		
			valorFormatado = valorFormatado + valor.substring(posicao, posicao + 1);
	}

	//	Retornando o valor filtrado e invertido
	return valorFormatado;
}



/*
//////////////////////////////////////////////////////////////////////////////////////////////////////
//	Filtra caracteres não numéricos e inverte o string
//////////////////////////////////////////////////////////////////////////////////////////////////////
function FiltraInverte(valor) {
	//	Valor formatado
	var valorFormatado = "";

	//	Posicao no string
	var posicao = 0;
	
	//	Varrendo o string
	for(posicao = 0; posicao < valor.length; posicao ++) {
		if(EhNumero(valor.substring(posicao, posicao + 1)))
			valorFormatado = valor.substring(posicao, posicao + 1) + valorFormatado;
	}

	//	Retornando o valor filtrado e invertido
	return valorFormatado;
}

//////////////////////////////////////////////////////////////////////////////////////////////////////
//	Pesquisa um determinado valor num array
//////////////////////////////////////////////////////////////////////////////////////////////////////
function PesquisaArray(array, valor) {
	//	Posicao no array
	var posicao = 0;
	
	for(posicao = 0; posicao < array.length; posicao ++)
		if(array[posicao] == valor)
			return true;
	return false;
}

*/


////////////////////////////////////////////////////////////////////////////////////////
//	Verifica se o string tem algum dígito que não seja número
////////////////////////////////////////////////////////////////////////////////////////
function SoNumero (Valor,Campo) 
{
	var Numeros="1234567890";
	for (Cont=0; Cont < Valor.length; Cont++) 
	{
		TempChar = Valor.substring(Cont,Cont+1);
		if	(Numeros.indexOf(TempChar,0) == -1)	
		{
			Campo.value = "";
			Campo.focus();
			alert("Campo Numérico");
			return (false);
		}
		
	}
	return (true);
}
////////////////////////////////////////////////////////////////////////////////////////
//	so permite a entrada de números
////////////////////////////////////////////////////////////////////////////////////////
function SoEntraNumero (Campo) 
{ 
	var Numeros="1234567890";
	var Valor =  Campo.value;
	var NumeroValidado="";	
	for (Cont=0; Cont < Valor.length; Cont++) 
	{
		TempChar = Valor.substring(Cont,Cont+1);		
		if	(Numeros.indexOf(TempChar,0) == -1)
		{			
			alert("Campo Numérico");			
		}
		else
		{
			NumeroValidado = NumeroValidado + TempChar;
		}
		
	}
	Campo.value = NumeroValidado;
}
////////////////////////////////////////////////////////////////////////////////////////
//	so permite a entrada de números
////////////////////////////////////////////////////////////////////////////////////////
function SoEntraNumeroVirgula (Campo) 
{ 
	var Numeros="1234567890,";
	var Valor =  Campo.value;
	var NumeroValidado="";	
	for (Cont=0; Cont < Valor.length; Cont++) 
	{
		TempChar = Valor.substring(Cont,Cont+1);		
		if	(Numeros.indexOf(TempChar,0) == -1)
		{			
			alert("Campo Numérico separado por virgula");			
		}
		else
		{
			NumeroValidado = NumeroValidado + TempChar;
		}
		
	}
	Campo.value = NumeroValidado;
}
////////////////////////////////////////////////////////////////////////////////////
//Função que valida CNPJ/CPF														  //
////////////////////////////////////////////////////////////////////////////////////
function CNPJ(obj,nome,nivel) 
{

	var str
	var det = document.all(nome)
 	str = obj.value;


if (str.length != 0 ){    
   var MaskNumber = "";
   for (var i = 0; i < str.length; i++)
   {
      var chr = str.substring(i, i + 1);
      if (chr != "." && chr != "/" && chr != "-")
      {
         MaskNumber += chr;
      }
   }

   str = MaskNumber;


  if (str.length == 14)
  {
	 var MaskNumber = "";
     var Lpad = "00000000000000";     
     
     for (var i = 0; i < str.length; i++)
     {
        var chr = str.substring(i, i + 1);
        if (chr >= "0" && chr <= "9")
        {
           MaskNumber += chr;
        }
     }
        MaskNumber = Lpad.substring(0, 14 - MaskNumber.length) + MaskNumber;
        MaskNumber = MaskNumber.substring((MaskNumber.length - 14), MaskNumber.length);
        SumBlock1 = 0,
        RemBlock1 = 0;
        SumBlock2 = 0;
        RemBlock2 = 0;
     for (var i = 0; i < (MaskNumber.length - 2); i++)
     {
        var chr = MaskNumber.substring(i, i + 1);
        if (i <= 3)
        {
           SumBlock1 += eval(chr * (5 - i));
        }
        else
        {
           SumBlock1 += eval(chr * (13 - i));
        }
     }
        RemBlock1 = eval(SumBlock1 - (parseInt(SumBlock1 / 11) * 11));
        if (RemBlock1 <= 1)
        {
           RemBlock1 = 0;
        }
        else
        {
           RemBlock1 = eval(11 - RemBlock1);
        }
     for (var i = 0; i < (MaskNumber.length - 2); i++)
     {
        var chr = MaskNumber.substring(i, i + 1);
        if (i <= 4)
        {
           SumBlock2 += eval(chr * (6 - i));
        }
        else
        {
           SumBlock2 += eval(chr * (14 - i));
        }
     }
        SumBlock2 += eval(2 * RemBlock1);
        RemBlock2 = eval(SumBlock2 - (parseInt(SumBlock2 / 11) * 11));
        if (RemBlock2 <= 1)
        {
           RemBlock2 = 0;
        }
        else
        {
           RemBlock2 = eval(11 - RemBlock2);
        }
     var result = "";
	
     if ((RemBlock1 == MaskNumber.substring(12,13)) && (RemBlock2 == MaskNumber.substring(13,14)))
     {
			if(MaskNumber!='00000000000' && MaskNumber!='11111111111' && MaskNumber!='22222222222' && MaskNumber!='33333333333' && MaskNumber!='44444444444' && MaskNumber!='55555555555' && MaskNumber!='66666666666' && MaskNumber!='77777777777' && MaskNumber!='88888888888' && MaskNumber!='99999999999') 
			{
				if (str.length<18)
				{
					obj.value=''
					for (var i = 0; i < str.length; i++)
					{
						obj.value = obj.value + str.substr(i,1)
						mascarar(obj,'##.###.###/####-##')
						
					}	
				}
				return true;
			}  
			else
			{alert("os digitos verificadores são: "+RemBlock1+RemBlock2)
				alert("CNPJ Inválido!")
				obj.value = "";
				obj.focus();
				return false;
			}
		}
		else
			{
				alert("CNPJ Inválido!")
				obj.value = "";
				obj.focus();
				return false;
			}
  }
else if (str.length == 11 && str.length != 0)
{

	   var MaskNumber = "";
	   var Lpad = "00000000000";
	   for (var i = 0; i < str.length; i++)
	   {
	      var chr = str.substring(i, i + 1);
	      if (chr >= "0" && chr <= "9")
	      {
	         MaskNumber += chr;
	      }
	   }
     
	   MaskNumber = Lpad.substring(0, 11 - MaskNumber.length) + MaskNumber;
	   MaskNumber = MaskNumber.substring((MaskNumber.length - 11), MaskNumber.length);
	   SumBlock1 = 0,
	   RemBlock1 = 0;
	   SumBlock2 = 0;
	   RemBlock2 = 0;

      	        
	   for (var i = 0; i < (MaskNumber.length - 2); i++)
	   {
	      var chr = MaskNumber.substring(i, i + 1);
	      SumBlock1 += eval(chr * (10 - i));
	   }
 	   RemBlock1 = eval(SumBlock1 - (parseInt(SumBlock1 / 11) * 11));
	   if (RemBlock1 <= 1)
	   {
	      RemBlock1 = 0;
	   }
	   else
	   {
	      RemBlock1 = eval(11 - RemBlock1);
	   }
	   for (var i = 0; i < (MaskNumber.length - 2); i++)
	   {
	      var chr = MaskNumber.substring(i, i + 1);
	      if (i <= 9)
	      {
	         SumBlock2 += eval(chr * (11 - i));
	      }
	   }
	   SumBlock2 += eval(2 * RemBlock1);
	   RemBlock2 = eval(SumBlock2 - (parseInt(SumBlock2 / 11) * 11));
	   if (RemBlock2 <= 1)
	   {
	      RemBlock2 = 0;
	   }
	   else
	   {
	      RemBlock2 = eval(11 - RemBlock2);
	   }
	   var result = "";	
	       
		if ((RemBlock1 == MaskNumber.substring(09,10)) && (RemBlock2 == MaskNumber.substring(10,11)))
		{		
			if(MaskNumber!='00000000000' && MaskNumber!='11111111111' && MaskNumber!='22222222222' && MaskNumber!='33333333333' && MaskNumber!='44444444444' && MaskNumber!='55555555555' && MaskNumber!='66666666666' && MaskNumber!='77777777777' && MaskNumber!='88888888888' && MaskNumber!='99999999999') 
			{
				if (str.length<14)
				{
					obj.value=''
					for (var i = 0; i < str.length; i++)
					{
						obj.value = obj.value + str.substr(i,1)
						mascarar(obj,'###.###.###-##')
					}	
				}
				return true;
			}  
			else
			{
				alert("CPF Inválido!")
				obj.value = "";
				obj.focus();
				return false;
			}
		} 
		else
			{alert("os  verificadores são: "+RemBlock1+RemBlock2)
				alert("CPF Inválido!")
				obj.value = "";
				obj.focus();
				return false;
			}
	}
 else
			{
				alert("Dados Inválido!")
				obj.value = "";
				obj.focus();
				return false;
			}
}
}




var args;

function AbreFecha(Ancora){
var src = Ancora.childNodes.item(0).src;
var display;

	if (src.substr(src.length - 5, 1) == "7")
	{
		Ancora.childNodes.item(0).src = "/SDCD/imagens/i8.gif";
		display = "none";
	}
	else
	{
		Ancora.childNodes.item(0).src = "/SDCD/imagens/i7.gif";
		display = "block";
	}

	if ((args != null)&&(args[0] != arguments[0]))
	{
		args[0].childNodes.item(0).src = "/SDCD/imagens/i8.gif";
		for(var i = 1; i < args.length; i++)
		{
			document.all(args[i]).style.display = "none";
		}
	}

	for(var i = 1; i < arguments.length; i++)
	{		
		document.all(arguments[i]).style.display = (document.all(arguments[i]).style.display=='none'?'block':'none');
	}

	args = arguments;
}



