function CarregaDados(AuxTipo, AuxCampo)
{
	if (AuxTipo == "TipoEndereco")
	{
		while (form1.elements["coreti_int_idf_" + AuxCampo].length > 0)
			form1.elements["coreti_int_idf_" + AuxCampo].remove(0);

		self.frames["ISubOculto1"].location = "popula.php?acao=Pop" + AuxTipo + "&campo=coreti_int_idf_" + AuxCampo;
	}
	if (AuxTipo == "Cidade")
	{
		while (form1.elements["corcid_int_idf_" + AuxCampo].length > 0)
			form1.elements["corcid_int_idf_" + AuxCampo].remove(0);

		self.frames["ISubOculto2"].location = "popula.php?acao=Pop" + AuxTipo + "&campo=corcid_int_idf_" + AuxCampo;
	}
	if (AuxTipo == "TipoTelefone")
	{
		while (form1.elements["cortti_int_idf_" + AuxCampo].length > 0)
			form1.elements["cortti_int_idf_" + AuxCampo].remove(0);

		self.frames["ISubOculto1"].location = "popula.php?acao=Pop" + AuxTipo + "&campo=cortti_int_idf_" + AuxCampo;
	}
}

function validadata(Data)
{
 var err    = 0;
 var string = Data;
 var valid  = "0123456789/";
 var ok     = "yes";

  for (var i=0; i<string.length; i++)
  {
    var temp = "" + string.substring(i, i+1);

    if (valid.indexOf(temp) == "-1")
      err = 1;
  }

  if (string.length != 10)
    err = 1;

  dia    = string.substring(0, 2);
  barra1 = string.substring(2, 3);
  mes    = string.substring(3, 5);
  barra2 = string.substring(5, 6);
  ano    = string.substring(6, 10);

  if ((dia < 1) || (dia > 31))
    err = 1;

  if (barra1 != '/')
    err = 1;

  if ((mes < 1) || (mes > 12))
    err = 1;

  if (barra2 != '/')
    err = 1;

  if (ano < 0)
    err = 1;

  if (mes == 4 || mes == 6 || mes == 9 || mes == 11)
  {
    if (dia == 31)
      err = 1;
  }

  if (mes == 2)
  {
    var g = parseInt(ano/4);

    if (isNaN(g))
      err = 1;

    if (dia > 29)
      err = 1;

    if ((dia == 29) && (((ano/4) != parseInt(ano/4))))
      err = 1;
  }

  if (err == 1)
    return(false);
  else
    return(true);
}

//***********************************************************************************************
//*** Funcao para validar duas datas, se data inicial > data fim
//*** Parametros: Data inicial, Data final (formato DD/MM/AAAA válido)
//*** Retorna   : true se data inicial < data fim e false caso contrario
//***********************************************************************************************

function comparadata(dataini, datafim)
{
	var inicial = dataini.substr(6,4) + dataini.substr(3,2) + dataini.substr(0,2);
	var final   = datafim.substr(6,4) + datafim.substr(3,2) + datafim.substr(0,2);

  if (inicial > final)
    return(false);
  else
    return(true);
}

//***********************************************************************************************
//*** Funcao para calcular o número de dias entre duas datas (Estilo DateDiff no ASP)
//*** Parametros: Data inicial, Data final (formato DD/MM/AAAA válido)
//*** Retorna   : O número de dias do intervalo
//***********************************************************************************************

function DateDiff(Datainicial, DataFinal)
{
 var auxDatainicial = new Date(Datainicial.substring(6),(Datainicial.substring(3,5)-1),Datainicial.substring(0,2));
 var auxDataFinal   = new  Date(DataFinal.substring(6),(DataFinal.substring(3,5)-1),DataFinal.substring(0,2));
 var auxDatainicial = auxDatainicial.getTime();
 var auxDataFinal   = auxDataFinal.getTime();
 var Dias           = Math.round((((((auxDataFinal - auxDatainicial)/1000)/60)/60)/24)+1);

 return(Dias);
}

//***********************************************************************************************
//*** Funcao para validar campo numérico
//*** Parametros: Numero
//*** Retorna   : true se número válido e false caso contrario
//***********************************************************************************************

function validanumero(numero)
{
 var valid = "0123456789";
 var ok    = "yes";
 var temp;

  for (var i=0; i<numero.length; i++)
  {
    temp = "" + numero.substring(i, i+1);

    if (valid.indexOf(temp) == "-1")
      ok = "no";
  }

  if (ok == "no")
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para verificar se existe virgula (,) numa string
//*** Parametro: campo (eh a string a ser verificada)
//*** Retorna  : false se houver virgula na string e true caso contrario
//***********************************************************************************************

function verificavirgula(campo)
{
 var valid = ",";
 var ok    = "yes";
 var temp;

  for (var i=0; i<campo.length; i++)
  {
    temp = "" + campo.substring(i, i+1);

    if (valid.indexOf(temp) != "-1")
      ok = "no";
  }

  if (ok == "no")
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para verificar se existe 2 pontos (:) numa string
//*** Parametro: campo (eh a string a ser verificada)
//*** Retorna  : false se houver 2 pontos na string e true caso contrario
//***********************************************************************************************

function verifica2pontos(campo)
{
 var valid = ":";
 var ok    = "yes";
 var temp;

  for (var i=0; i<campo.length; i++)
  {
    temp = "" + campo.substring(i, i+1);

    if (valid.indexOf(temp) != "-1")
      ok = "no";
  }

  if (ok == "no")
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para validar campo numérico, com ponto, barras e traços
//*** Parametros: Numero
//*** Retorna   : true se número válido e false caso contrario
//***********************************************************************************************

function validanumero2(numero)
{
 var valid = "0123456789.-/";
 var ok    = "yes";
 var temp;

  for (var i=0; i<numero.length; i++)
  {
    temp = "" + numero.substring(i, i+1);

    if (valid.indexOf(temp) == "-1")
      ok = "no";
  }

  if (ok == "no")
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para verificar se existe ponto (.) numa string
//*** Parametro: campo (eh a string a ser verificada)
//*** Retorna  : false se houver ponto na string e true caso contrario
//***********************************************************************************************

function verificaponto(campo)
{
 var valid = ".";
 var ok    = "yes";
 var temp;

  for (var i=0; i<campo.length; i++)
  {
    temp = "" + campo.substring(i, i+1);

    if (valid.indexOf(temp) != "-1")
      ok = "no";
  }

  if (ok == "no")
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para validar horário no formato hh:mm
//*** Parametros: horário
//*** Retorna   : true se horário válido e false caso contrario
//***********************************************************************************************

function validahorario(horario)
{
 var ok     = "yes";
 var string = horario;
 var valid  = "0123456789:";
 var quebra;
 var temp;

  for (var i=0; i< string.length; i++)
  {
    temp = "" + string.substring(i, i+1);

    if (valid.indexOf(temp) == "-1")
      ok = "no";
  }

  if ((ok == "yes") && (string.length != 4 && string.length != 5))
    ok = "no";

  if ((ok == "yes") && (string.indexOf(":") == "-1")) 
    ok = "no";

  if (ok == "yes")
  {
    quebra = string.split(":");
  
    if (quebra[0].length == 1)
    {
      if (quebra[0] < 0 || quebra[0] > 9) 
        ok = "no";
   
      if (string.substr(1,1) != ":") 
        ok ="no";
    }
    else 
    {
      if (quebra[0].length == 2)
      {
        if (quebra[0] < 0 || quebra[0] > 23) 
          ok = "no";    
    
        if (string.substr(2,1) != ":") 
          ok ="no";
      }
      else
        ok = "no";
    }
  }

  if ((ok == "yes") && (quebra[1].length == 2)) 
  {
    if (quebra[1] < 0 || quebra[1] > 59) 
      ok = "no"; 
  }   
  else 
    ok = "no";     

  if (ok == "no") 
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para validar horário no formato (hhh:mm ou >)
//*** Parametros: horário                                   
//*** Retorna   : true se horário válido e false caso contrario
//***********************************************************************************************

function validahorario2(horario)
{    
 var ok     = "yes";
 var string = horario;
 var valid  = "0123456789:";
 var quebra;
 var temp;

  for (var i=0; i< string.length; i++) 
  {
    temp = "" + string.substring(i, i+1);

    if (valid.indexOf(temp) == "-1") 
      ok = "no";
  }

  if ((ok == "yes") && (string.indexOf(":") == "-1")) 
    ok = "no";

  if (ok == "yes")
  {
    quebra = string.split(":");

    if (quebra[0].length == 1)
    {
      if (quebra[0] < 0 || quebra[0] > 9) 
        ok = "no";

      if (string.substr(1,1) != ":")
        ok ="no";
    }
  }

  if ((ok == "yes") && (quebra[1].length == 2)) 
  {
    if (quebra[1] < 0 || quebra[1] > 59) 
      ok = "no"; 
  }   
  else 
    ok = "no";     

  if (ok == "no") 
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para validar dois horarios, se hora inicial <= hora fim  
//*** Parametros: Hora inicial, Hora final (formato HH:MM válido)     
//*** Retorna   : true se hora inicial < hora fim e false caso contrario 
//***********************************************************************************************

function comparahora(horaini, horafim)
{
 var inicial = horaini.substr(0,2) + horaini.substr(3,2);
 var final   = horafim.substr(0,2) + horafim.substr(3,2);

  if (inicial >= final) 
    return (false);
  else
    return (true);
}

//***********************************************************************************************
//*** Funcao para validar dois horarios, se hora inicial < hora fim  
//*** Parametros: Hora inicial, Hora final (formato HH:MM válido)
//*** Retorna   : true se hora inicial <= hora fim e false caso contrario
//***********************************************************************************************

function comparahora2(horaini, horafim)
{
 var inicial = horaini.substr(0,2) + horaini.substr(3,2);
 var final   = horafim.substr(0,2) + horafim.substr(3,2);

  if (inicial > final) 
    return (false);
  else
    return (true);
}

//*********************************************************************************************** 
//*** Funcao para verificar o separador decimal de um numero               
//*** Parametro: Numero (Eh necessario que exista um ponto ou uma virgula) 
//*** Retorna  : true se o separador decimal for virgula e retorna false se for ponto
//***********************************************************************************************

function VerificaSeparadorDecimal(Entrada)
{
 var qtde = 0;

  for (var i=Entrada.length-1; i>=0; i--)
  {
    switch (Entrada.substr(i, 1)) 
    {
      case ',':

        if (qtde != 3) 
          return(true);   		 			
        else
          return(false);

      break;
      case '.':

        if (qtde != 3)
          return(false);
        else
          return(true);
 
      break;
      default:

     	qtde++;
      
      break;
    }
  } 
}

//***********************************************************************************************
//*** Funcao para simula o formatnumber do VBScript (Colocar o numero no formato 99.999,99)
//*** Parametro: Numero como foi digita                       
//*** Retorna  : Numero no formato 99.999,99                    
//***********************************************************************************************

function FormataNumero(nNum, nDec)
{
	if (nNum < 0)
	{
		nNum	=	nNum * -1;
		sNeg	= "S";
	}
	else 
	{
		nNum	=	nNum * 1;
		sNeg	= "N";		
	}

	nNum	= trim(nNum.toString());

	if (nNum.indexOf(".") != -1)
	{
		var Aux 		= nNum.split(".");
		var AuxInt 	= Aux[0];
		var AuxDec	= Aux[1];
	}
	else
	{
		var AuxInt 	= nNum;
		var AuxDec	= "0";
	}
	Int = '';
	j		=	0;
	for (i=AuxInt.length-1; i>=0; i--) 
	{
		if (j == 3) 
		{
			Int	=  "." + Int;
			j		= 0;
		}
		Int = AuxInt.charAt(i) + Int;
		j++;
	}
	if (AuxDec.length < nDec+1)
	{
		for (y=AuxDec.length; y<nDec; y++)
			AuxDec	+= "0";
	}
	if (sNeg == "S")
		return "-" + Int + "," + AuxDec.substring(0,nDec);
	else
		return Int + "," + AuxDec.substring(0,nDec);	
}

//***********************************************************************************************
//*** Funcao para validar CEP                                           
//*** Parametro: CEP como foi digitado                                  
//*** Retorna  : CEP no formato 99999-999 ou true/false                  
//***********************************************************************************************

function validacep(CEP)
{
 var err   = 0;
 string    = CEP;
 var valid = "0123456789-";
 var ok    = "yes";
 var aux   = "N";
 var temp;

  for (var i=0; i< string.length; i++) 
  {
    temp = "" + string.substring(i, i+1);

    if (valid.indexOf(temp) == "-1") 
      err = 1;
  }

  for (var i=0; i< string.length; i++) 
  {
    var tmp = string.substring(i,i+1);

    if (tmp == "-") 
      aux = "S";
  }

  if (aux == "N")
    return(false);

  if (string.length == 9) 
  {
    traco  = string.substring(5, 6);

    if (traco != "-") 
      err = 1;
  }

  if (string.length == 8) 
  {
    CEPaux1 = string.substring(0, 5);
    CEPaux2 = string.substring(5, 8);
    CEPaux  = CEPaux1 + "-" + CEPaux2;
    return(CEPaux);       
  }

  if (string.length < 8) 
    err = 1;

  if (aux == "N")
    err = 1;

  if (err == 1)
    return(false);

 return(true);       
}

//***********************************************************************************************
//*** Funcao para validar duas datas, se data inicial >= data fim       
//*** Parametros: Data inicial, Data final (formato DD/MM/AAAA válido) 
//*** Retorna   : true se data inicial < data fim e false caso contrario  
//***********************************************************************************************

function comparadata2(dataini, datafim)
{
 var inicial = dataini.substr(6,4) + dataini.substr(3,2) + dataini.substr(0,2);
 var final   = datafim.substr(6,4) + datafim.substr(3,2) + datafim.substr(0,2);

  if (inicial >= final) 
    return (false);
  else
    return (true);
}

//***********************************************************************************************
//*** Funcao para validar UF (Invalida os espaços em branco)
//*** Parametros: String UF 
//*** Retorna   : true se a UF estiver certa e false se estiver errada
//***********************************************************************************************

function validauf(uf)
{
 var err   = 0;
 string    = uf;
 var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
 var ok    = "yes";
 var temp;

   for (var i=0; i< string.length; i++) 
   {
     temp = "" + string.substring(i, i+1);

     if (valid.indexOf(temp) == "-1") 
       err = 1;
   }

   if (string.length != 2) 
     err = 1;

   if (err == 1)
     return(false);

 return(true);       
}


//***********************************************************************************************
//*** Funcao para validar Telefone
//*** Parametros: numero de Telefone 
//*** Retorna   : true se a Telefone estiver certo e false se estiver errado
//***********************************************************************************************

function validafone(numero)
{
 var valid = "0123456789-()";
 var ok    = "yes";
 var temp;

  for (var i=0; i<numero.length; i++) 
  {
    temp = "" + numero.substring(i, i+1);

    if (temp != " ")
    {
      if (valid.indexOf(temp) == "-1")
        ok = "no";   
    }
  } 

  if (ok == "no") 
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para validar Dinheiro
//*** Parametros: numero  
//*** Retorna   : true se o formato estiver certo e false se estiver errado
//***********************************************************************************************

function validamoney(numero)
{
 var valid  = "0123456789,";
 var valid2 = ",";
 var ok     = "yes";
 var aux3   = "no";
 var aux    = numero.length;
 var temp1  = numero.indexOf(valid2)+1;
 var aux1   = numero.substring(numero.indexOf(valid2),aux).length;

  for (var i=0; i<numero.length; i++) 
  {
    var temp = "" + numero.substring(i, i+1);
    var aux2 = numero.substring(i, i+1);

    if (valid.indexOf(temp) == "-1") 
      ok = "no";   

    if (aux2 == ",") 
      aux3 = "yes";   
  }

  if (aux3 == "yes") 
  {
    var aux4 = numero.substr(temp1,aux);

    if (!validanumero(aux4))
    {
     aux3 = "no"; 
     ok   = "no";   
    }
  }

  if (aux3 == "yes") 
  {
    if (aux1 != 3) 
      ok = "no";
  }

  if (ok == "no") 
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para validar caracteres especiais em campo texto
//*** Parametros: caracteres
//*** Retorna   : true se não houver caracteres especiais false caso encontre
//***********************************************************************************************

function validacaracteres(caracteres)
{
 var valid = "\'\"#§|;";
 var ok    = "yes";
 var temp;

  for (var i=0; i<caracteres.length; i++) 
  {
    temp = "" + caracteres.substring(i, i+1);

    if (valid.indexOf(temp) != "-1") 
      ok = "no";
  } 

  if (ok == "no") 
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para validar caracteres especiais em campo texto (essa pode &)
//*** Parametros: caracteres
//*** Retorna   : true se não houver caracteres especiais false caso encontre
//***********************************************************************************************

function validacaracteres2(caracteres)
{
 var valid = "\'\"#%+;";
 var ok    = "yes";
 var temp;

  for (var i=0; i<caracteres.length; i++) 
  {
    temp = "" + caracteres.substring(i, i+1);

    if (valid.indexOf(temp) != "-1") 
      ok = "no";
  } 

  if (ok == "no") 
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para validar caracteres especiais em campo texto (essa pode +)
//*** Parametros: caracteres
//*** Retorna   : true se não houver caracteres especiais false caso encontre
//***********************************************************************************************

function validacaracteres3(caracteres)
{
 var valid = "\'\"#%;&";
 var ok    = "yes";
 var temp;

  for (var i=0; i<caracteres.length; i++) 
  {
    temp = "" + caracteres.substring(i, i+1);

    if (valid.indexOf(temp) != "-1") 
      ok = "no";
  } 

  if (ok == "no") 
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para validar campo numérico
//*** Parametros: Numero
//*** Retorna   : true se número válido e false caso contrario
//***********************************************************************************************

function validanumero3(numero)
{
 var valid = "0123456789:";
 var ok    = "yes";
 var temp;

   for (var i=0; i<numero.length; i++) 
   {
     temp = "" + numero.substring(i, i+1);

     if (valid.indexOf(temp) == "-1") 
       ok = "no";   
   } 

   if (ok == "no") 
     return(false);

 return(true);
}

//***********************************************************************************************
//*** Funcao para tirar espaços em branco de um string
//*** Parametros: Numero
//*** Retorna   : true se número válido e false caso contrario
//***********************************************************************************************

function trim(string)
{
 var str = string.replace(/^\s*/, "");
     str = str.replace(/\s*$/, "");
 return str;
}

//***********************************************************************************************
//*** Funcao para validar tipo de campo float
//*** Parametros: Numero,decimais,inteiros
//*** Retorna   : true se número válido e false caso contrario
//***********************************************************************************************

function validafloat(numero,dec,inteiro)
{
 var valid  = "0123456789,";
 var valid2 = ",";
 var ok     = "yes";
 var aux    = numero.length;
 var temp1  = numero.indexOf(valid2)+1;
 var aux1   = numero.substring(numero.indexOf(valid2),aux).length;
 var aux3   = "no";
 var aux4   = parseInt(dec)+1;

  for (var i=0; i<numero.length; i++) 
  {
    var temp = "" + numero.substring(i, i+1);
    var aux2 = numero.substring(i, i+1);

    if (valid.indexOf(temp) == "-1") 
      ok = "no";   

    if (aux2 == ",") 
      aux3 = "yes";   
  }

  if (aux3 == "yes") 
  {
    var aux5 = numero.substr(temp1,aux);

    if (!validanumero(aux5))
    {
      aux3 = "no"; 
      ok   = "no";   
    }
  }

  if (aux3 == "yes") 
  {
    if (aux1 != aux4) 
      ok = "no";
  }

  if (inteiro != -1) 
  {  		
    posicaoVirgula = numero.indexOf(valid2);

    if (posicaoVirgula != -1)
    {
      parteInteira    = numero.substr(0, posicaoVirgula);
      digitosInteiros = parteInteira.length;

      if (digitosInteiros > inteiro) 
        ok = "no";
    }
    else
    {
      if (numero.length > inteiro) 
        ok = "no";
    }
  }

  if (ok == "no") 
    return(false);

 return(true);
}

//***********************************************************************************************
//*** Máscara da Data para formato (DD/MM/AAAA)
//*** Parametros: Data
//*** Retorna   : Data com máscara correta
//***********************************************************************************************

function DataPress(Data)
{ 
  if(event.keyCode != 08)
   {
    if ((Data.length == 2) || (Data.length == 5))
     return Data + "/";
    else
     return Data;
   }
  else
   return Data;
}

//***********************************************************************************************
//*** Máscara da Data para formato (MM/AAAA)
//*** Parametros: Data
//*** Retorna   : Data com máscara correta
//***********************************************************************************************

function DataPress2(Data)
{ 
  if (event.keyCode != 08)
  {
    if (Data.length == 2)
      return Data + "/";
    else
      return Data;
  }
  else
   return Data;
}

//***********************************************************************************************
//*** Máscara do campo dinheiro
//*** Parametros: No Text colocar no onKeyPress = "return(validaDinheiro(this,event))" 
//*** Retorna   : String no formato correto
//***********************************************************************************************

function validaDinheiro(fld,e) 
{
 var milSep     = ".";
 var decSep     = ",";
 var sep        = 0;
 var key        = '';
 var i = j      = 0;
 var len = len2 = 0;
 var strCheck   = '0123456789';
 var aux = aux2 = '';
 var whichCode  = (window.Event) ? e.which : e.keyCode;

  if (whichCode == 13) 
    return true;  

  key = String.fromCharCode(whichCode);  

  if (strCheck.indexOf(key) == -1) 
    return false;  

  len = fld.value.length;

  for (i = 0; i < len; i++)
    if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
      break;

  aux = '';

  for (; i < len; i++)
    if (strCheck.indexOf(fld.value.charAt(i))!=-1) 
      aux += fld.value.charAt(i);

  aux += key;
  len = aux.length;

  if (len == 0) 
    fld.value = '';

  if (len == 1) 
    fld.value = '0'+ decSep + '0' + aux;
 
  if (len == 2) 
    fld.value = '0'+ decSep + aux;
 
  if (len > 2) 
  {
    aux2 = '';

    for (j = 0, i = len - 3; i >= 0; i--) 
    {
      if (j == 3) 
      {
        aux2 += milSep;
        j = 0;
      }
     aux2 += aux.charAt(i);
     j++;
    }
   
    fld.value = '';
    len2 = aux2.length;

    for (i = len2 - 1; i >= 0; i--)
      fld.value += aux2.charAt(i);
      fld.value += decSep + aux.substr(len - 2, len);
  }

 return false;

}

//***********************************************************************************************
//*** Máscara do campo dinheiro
//*** Parametros: No Text colocar no onKeyPress = "return(validaDinheiro2(this,event))" 
//*** Retorna   : String no formato correto SEM PONTO.
//***********************************************************************************************

function validaDinheiro2(fld,e) 
{
 var decSep     = ",";
 var sep        = 0;
 var key        = '';
 var i = j      = 0;
 var len = len2 = 0;
 var strCheck   = '0123456789';
 var aux = aux2 = '';
 var whichCode  = (window.Event) ? e.which : e.keyCode;

  if (whichCode == 13) 
    return true;  

  key = String.fromCharCode(whichCode);  

  if (strCheck.indexOf(key) == -1) 
    return false;  

  len = fld.value.length;

  for (i = 0; i < len; i++)
    if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
      break;

  aux = '';

  for (; i < len; i++)
    if (strCheck.indexOf(fld.value.charAt(i))!=-1) 
      aux += fld.value.charAt(i);

  aux += key;
  len = aux.length;

  if (len == 0) 
    fld.value = '';

  if (len == 1) 
    fld.value = '0'+ decSep + '0' + aux;
 
  if (len == 2) 
    fld.value = '0'+ decSep + aux;
 
  if (len > 2) 
  {
    aux2 = '';

    for (j = 0, i = len - 3; i >= 0; i--) 
    {
     aux2 += aux.charAt(i);
     j++;
    }
   
    fld.value = '';
    len2 = aux2.length;

    for (i = len2 - 1; i >= 0; i--)
      fld.value += aux2.charAt(i);
      fld.value += decSep + aux.substr(len - 2, len);
  }

 return false;

}

//***********************************************************************************************
//*** Funcao para validar CNPJ OU CPF                              
//*** Parametros: (value,'CNPJ') ou (value,'CPF')     
//*** Retorna   : true se CPF ou CNPJ válido e false caso contrario 
//***********************************************************************************************

function validaCPFCNPJ(CNUMB,CTYPE)
{
 CNUMB = ParseNumb(CNUMB);

  if (CNUMB == 0)
    return(false);
  else
  {
    g = CNUMB.length-2;

    if (TestDigit(CNUMB,CTYPE,g))
    {
      g = CNUMB.length-1;

      if (TestDigit(CNUMB,CTYPE,g))
        return(true);
      else
        return(false);
    }
    else
      return(false);
  }
}

//***********************************************************************************************

function ClearStr(str, char)
{
 while ((cx=str.indexOf(char)) != -1)
   str = str.substring(0,cx) + str.substring(cx + 1);
 return(str);
}

//***********************************************************************************************
 
function ParseNumb(c)
{
 c = ClearStr(c,'-');
 c = ClearStr(c,'/');
 c = ClearStr(c,',');
 c = ClearStr(c,'.');
 c = ClearStr(c,'(');
 c = ClearStr(c,')');
 c = ClearStr(c,' ');

  if ((parseFloat(c) / c != 1))
  {
    if (parseFloat(c) * c == 0)
      return(c);
    else
      return(0);
  }
  else
    return(c);
}

//***********************************************************************************************

function TestDigit(CNUMB,CTYPE,g)
{
 var dig=0;
 var ind=2;

  for (f=g;f>0;f--)
  {
    dig += parseInt(CNUMB.charAt(f-1)) * ind;

    if (CTYPE == 'CNPJ')
    { 
      if (ind > 8)
        ind = 2;
      else 
        ind++;
    }
    else
      ind++; 
  }
  
  dig %= 11;

  if (dig < 2)
    dig = 0;
  else
    dig = 11-dig;
 
  if (dig != parseInt(CNUMB.charAt(g)))
    return(false);
  else
    return(true);
}

//***********************************************************************************************
//*** Funcao para converter minutos em horas
//*** Parametros: minutos
//*** Retorna   : o valor no formato "00:00"
//***********************************************************************************************

function MtoH(Valor)
{
  if (Valor >= 0)
  {
    var hor    = (Valor/60); 
    var aux    = hor.toString().split(".");
        hor    = hor-aux[0];
        aux[1] = Math.round(Math.round((hor*60)*100)/100);

    if (aux[0] < 10)
      var auxHoras = "0" + aux[0]; 
    else
    {
      if (aux[0] < 1000) 
        var auxHoras = aux[0]; 
     else
        var auxHoras = MascaraInt(aux[0]); 
    }

    if (aux[1]<10)
      var auxMinutos = "0" + aux[1];
    else
      var auxMinutos = aux[1];

    Valor = auxHoras + ":" + auxMinutos;
  }      
  else
  {
    var Valor    = Valor.toString();
    var auxValor = parseInt(Valor.substr(1,Valor.length));
    var hor      = (auxValor/60); 
    var aux      = hor.toString().split(".");
        hor      = hor-aux[0];
        aux[1]   = (Math.round((hor*60)*100)/100);

    if (aux[0] < 10)
      var auxHoras = "0" + aux[0]; 
    else
    {
      if (aux[0] < 1000) 
        var auxHoras = aux[0]; 
     else
        var auxHoras = MascaraInt(aux[0]); 
    }

    if (aux[1]<10)
      var auxMinutos = "0" + aux[1];
    else
      var auxMinutos = aux[1];

    Valor = "-" + auxHoras + ":" + auxMinutos;
  }

 return(Valor);

}

//***********************************************************************************************
//*** Funcao para converter horas em minutos
//*** Parametros: hora no formato "000:00"
//*** Retorna   : o valor em minutos
//***********************************************************************************************

function HtoM(valor)
{
 valor = valor.split(":");
 valor = (valor[0] * 60)+(valor[1]-0);

 return(valor)
}

//***********************************************************************************************
//*** Funcao para sumir com figuras no formulario
//*** Retorna   : Figura invisivel na tela
//***********************************************************************************************

function MM_swapImage() 
{ 
 var i,j=0,x,a=MM_swapImage.arguments; 
 document.MM_sr=new Array; 

  for (i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null)
   {
     document.MM_sr[j++]=x; 
     if (!x.oSrc) 
       x.oSrc = x.src; 
       x.src  = a[i+2];
   }
}

//***********************************************************************************************
//*** Funcao para aparecer com figuras no formulario
//*** Retorna   : Figura visivel na tela
//***********************************************************************************************

function MM_findObj(n, d) 
{ 
 var p,i,x;  
 if (!d) 
  d=document; 
 if ((p=n.indexOf("?"))>0&&parent.frames.length) 
 {
  d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
 }
 if (!(x=d[n])&&d.all) 
   x=d.all[n]; 
 for (i=0;!x&&i<d.forms.length;i++) 
   x=d.forms[i][n];
 for (i=0;!x&&d.layers&&i<d.layers.length;i++) 
   x=MM_findObj(n,d.layers[i].document);
 if (!x && document.getElementById) 
   x=document.getElementById(n); 
 return x;
}

//***********************************************************************************************
//*** Funcao para Formatar numero
//*** Parametros: numero, decimais, separador
//*** Retorna: numero Formatado
//***********************************************************************************************

function FormatNumber(Number,Decimals,Separator)
{
  Number    += ""          
  Decimals  += ""        
  Separator += ""       

  if ((Separator == "") || (Separator.length > 1))
    Separator = "."

  if (Number.length == 0)
    Number = "0"

  var OriginalNumber = Number  
  var Sign           = 1
  var Pad            = ""
  var Count          = 0

  if (parseFloat(Number))
    Number = parseFloat(Number)
  else 
    Number = 0

  if ((parseInt(Decimals,10)) || (parseInt(Decimals,10) == 0))
    Decimals = parseInt(Decimals,10)
  else
    Decimals = 2

  if (Number < 0)
  {
    Sign = -1         // Remember sign of Number.
    Number *= Sign    // Force absolute value of Number.
  }

  if (Decimals < 0)
    Decimals *= -1    // Force absolute value of Decimals.

  Number = "" + Math.floor(Number * Math.pow(10,Decimals + 1) + 5)
 
  if ((Number.substring(1,2) == '.')||((Number + '')=='NaN'))
    return(OriginalNumber) 

  if (Number.length < Decimals +1) // construct pad string.
  {
    for (Count = Number.length; Count <= Decimals; Count++)
      Pad += "0"
  }
 
  Number = Pad + Number // Pad number as needed.

  if (Decimals == 0)
    Number = Number.substring(0, Number.length -1)
  else
    Number = Number.substring(0,Number.length - Decimals -1) + Separator + Number.substring(Number.length - Decimals -1, Number.length -1)

  if ((Number == "") || (parseFloat(Number) < 1))
    Number="0" + Number 

  var vN = Number.split(",")

  if ((OriginalNumber == "0") || (vN[0].length == 0))
    Number = "0" + Number 

  if (Sign == -1)
    Number = "-" + Number  

  return(Number)
}

//***********************************************************************************************
//*** Funcao para colocar uma virgula no numero
//*** Parametros: numero, usar no evento: onKeyPress="return(PoeVirgula(this,event))" 
//*** Retorna   : o valor no formato "9,99"
//***********************************************************************************************

function Virgula(fld,e) 
{
 var decSep     = ",";
 var key        = '';
 var i          = 0;
 var len        = 0;
 var strCheck   = '0123456789';
 var aux        = '';
 var whichCode  = (window.Event) ? e.which : e.keyCode;

  if (whichCode == 13) 
    return true;  

  key = String.fromCharCode(whichCode);  

  if (strCheck.indexOf(key) == -1) 
    return false;  

  len = fld.value.length;

  for (i = 0; i < len; i++)
    if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
      break;

  for (; i < len; i++)
    if (strCheck.indexOf(fld.value.charAt(i))!=-1) 
      aux += fld.value.charAt(i);

  aux += key;
  len = aux.length;

  if (len == 1) 
    fld.value = '0' + decSep + '0' + aux;
 
  if (len == 2) 
    fld.value = '0' + decSep + aux;

  if (len > 2) 
    fld.value = aux.substr(len - 3, 1) + decSep + aux.substr(len - 2, len - 1);

 return false;

}

//***********************************************************************************************
//*** Funcao para colocar uma virgula no numero
//*** Parametros: numero, usar no evento: onKeyPress="return(PoeVirgula(this,event))" 
//*** Retorna   : o valor no formato "9,9"
//***********************************************************************************************

function PoeVirgula(fld,e) 
{
 var decSep     = ",";
 var key        = '';
 var i          = 0;
 var len        = 0;
 var strCheck   = '0123456789';
 var aux        = '';
 var whichCode  = (window.Event) ? e.which : e.keyCode;

  if (whichCode == 13) 
    return true;  

  key = String.fromCharCode(whichCode);  

  if (strCheck.indexOf(key) == -1) 
    return false;  

  len = fld.value.length;

  for (i = 0; i < len; i++)
    if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
      break;

  for (; i < len; i++)
    if (strCheck.indexOf(fld.value.charAt(i))!=-1) 
      aux += fld.value.charAt(i);

  aux += key;
  len = aux.length;

  if (len == 1) 
    fld.value = '0' + decSep + aux;
 
  if (len > 1) 
  {
    fld.value = aux.substr(len -2, 1) + decSep + aux.substr(len - 1, len - 1);
  }

 return false;

}

//***********************************************************************************************
//*** Funcao para limitar caracteres no campo text 
//*** Parametros: Valor do campo, número máximo de caracteres permitidos, nome do campo 
//*** usar no evento: onKeyup="Valor(this.value,100,this.name,'Observação')"
//***********************************************************************************************

function Valor(Valor,aux,Campo,Nome)
{
  if ((event.keyCode != 08) && (event.keyCode != 37) && (event.keyCode != 38) && (event.keyCode != 39) && (event.keyCode != 40))
  {
    if (parseInt(Valor.length) > parseInt(aux))
    {
      var tamanho = parseInt(Valor.length) - parseInt(aux);
      Valor       = (Valor).substring(0,parseInt(Valor.length) - parseInt(tamanho));
      document.all.item(Campo).value = Valor;
      alert("Ultrapassou o limite máximo de caracteres do campo " + Nome + ". ");
    }
    else 
      Valor = Valor;
  }
}


//***********************************************************************************************
//*** Funcao para tirar pontos no numero 
//*** Parametros: numero
//*** retorno: numero sem pontos
//***********************************************************************************************

function desmascaraponto(numero)
{
 var valid    = "0123456789,:";
 var numerook = "";
 var temp;

  for (var i=0; i<numero.length; i++) 
  {
    temp = numero.substr(i, 1);
 
    if (valid.indexOf(temp) != "-1") 
      numerook = numerook + temp;
  } 

 return(numerook);

}

//***********************************************************************************************
//*** Funcao para Transformar Vírgulas em Pontos
//*** Parametros: numero
//*** retorno: numero com pontos no lugar de virgulas
//***********************************************************************************************

function VtoP(numero)
{
  var numerook = "";

  for (var i=0; i<numero.length; i++) 
  {
    var temp = numero.substr(i, 1);
 
    if (temp != ",") 
      numerook = numerook + temp;
    else
      numerook = numerook + ".";
  } 

 return(numerook);

}

//***********************************************************************************************

function validaHorario3(fld,e) 
{
 var milSep     = ".";
 var decSep     = ":";
 var sep        = 0;
 var key        = '';
 var i = j      = 0;
 var len = len2 = 0;
 var strCheck   = '0123456789';
 var aux = aux2 = '';
 var whichCode  = (window.Event) ? e.which : e.keyCode;

  if (whichCode == 13) 
    return true;  

  key = String.fromCharCode(whichCode);  

  if (strCheck.indexOf(key) == -1) 
    return false;  

  len = fld.value.length;

  for (i = 0; i < len; i++)
    if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
      break;

  aux = '';

  for (; i < len; i++)
    if (strCheck.indexOf(fld.value.charAt(i))!=-1) 
      aux += fld.value.charAt(i);

  aux += key;
  len = aux.length;

  if (len == 0) 
    fld.value = '';

  if (len == 1) 
    fld.value = '0'+ decSep + '0' + aux;
 
  if (len == 2) 
    fld.value = '0'+ decSep + aux;
 
  if (len > 2) 
  {
    aux2 = '';

    for (j = 0, i = len - 3; i >= 0; i--) 
    {
      if (j == 3) 
      {
        aux2 += milSep;
        j = 0;
      }
     aux2 += aux.charAt(i);
     j++;
    }
   
    fld.value = '';
    len2 = aux2.length;

    for (i = len2 - 1; i >= 0; i--)
      fld.value += aux2.charAt(i);
      fld.value += decSep + aux.substr(len - 2, len);
  }

 return false;

}

//***********************************************************************************************

function FormatHour3(numero)
{
  if (verifica2pontos(numero))  
    var campo = new String(numero);
  else
    var campo = desmascaranumero(numero);

  var tamanho = campo.length;

  if (tamanho == 12)
    var aux = campo.substr(0,1) + "." + campo.substr(1,3) + "." + campo.substr(4,3) + "." + campo.substr(7,3) + ":" + campo.substr(10,2);
  if (tamanho == 11)
    var aux = campo.substr(0,3) + "." + campo.substr(3,3) + "." + campo.substr(6,3) + ":" + campo.substr(9,2);
  if (tamanho == 10)
    var aux = campo.substr(0,2) + "." + campo.substr(2,3) + "." + campo.substr(5,3) + ":" + campo.substr(8,2);
  if (tamanho == 9) 
    var aux = campo.substr(0,1) + "." + campo.substr(1,3) + "." + campo.substr(4,3) + ":" + campo.substr(7,2); 
  if (tamanho == 8)         
    var aux = campo.substr(0,3) + "." + campo.substr(3,3) + ":" + campo.substr(6,2); 
  if (tamanho == 7)       
    var aux = campo.substr(0,2) + "." + campo.substr(2,3) + ":" + campo.substr(5,2); 
  if (tamanho == 6) 
    var aux = campo.substr(0,1) + "." + campo.substr(1,3) + ":" + campo.substr(4,2); 
  if (tamanho == 5) 
    var aux = campo.substr(0,3) + ":" + campo.substr(3,2);  
  if (tamanho == 4) 
    var aux = campo.substr(0,2) + ":" + campo.substr(2,2);
  if (tamanho == 3) 
    var aux = campo.substr(0,1) + ":" + campo.substr(1,2);
  if (tamanho == 2) 
    var aux = "0:" + campo.substr(0,2);  
  if (tamanho == 1)    
    var aux = "0:0" + campo.substr(0,1);  

  var FormatHour3 = aux;

  return(FormatHour3);
}  

//***********************************************************************************************

function MascaraDinheiro(numero)
{
  if (verificavirgula(numero))  
    var campo = new String(numero);
  else
    var campo = desmascaranumero(numero);

  var tamanho = campo.length;

  if (tamanho == 12)
    var aux = campo.substr(0,1) + "." + campo.substr(1,3) + "." + campo.substr(4,3) + "." + campo.substr(7,3) + "," + campo.substr(10,2);
  if (tamanho == 11)
    var aux = campo.substr(0,3) + "." + campo.substr(3,3) + "." + campo.substr(6,3) + "," + campo.substr(9,2);
  if (tamanho == 10)
    var aux = campo.substr(0,2) + "." + campo.substr(2,3) + "." + campo.substr(5,3) + "," + campo.substr(8,2);
  if (tamanho == 9) 
    var aux = campo.substr(0,1) + "." + campo.substr(1,3) + "." + campo.substr(4,3) + "," + campo.substr(7,2); 
  if (tamanho == 8)         
    var aux = campo.substr(0,3) + "." + campo.substr(3,3) + "," + campo.substr(6,2); 
  if (tamanho == 7)       
    var aux = campo.substr(0,2) + "." + campo.substr(2,3) + "," + campo.substr(5,2); 
  if (tamanho == 6) 
    var aux = campo.substr(0,1) + "." + campo.substr(1,3) + "," + campo.substr(4,2); 
  if (tamanho == 5) 
    var aux = campo.substr(0,3) + "," + campo.substr(3,2);  
  if (tamanho == 4) 
    var aux = campo.substr(0,2) + "," + campo.substr(2,2);
  if (tamanho == 3) 
    var aux = campo.substr(0,1) + "," + campo.substr(1,2);
  if (tamanho == 2) 
    var aux = "0," + campo.substr(0,2);  
  if (tamanho == 1)    
    var aux = "0,0" + campo.substr(0,1);

  var MascaraDinheiro = aux;

  return(MascaraDinheiro);
}  

//***********************************************************************************************

function MascaraISS(numero)
{
  if (verificavirgula(numero))  
    var campo = new String(numero);
  else
    var campo = desmascaranumero(numero);

  var tamanho = campo.length;

  if (tamanho == 2) 
    var aux = campo.substr(0,1) + "," + campo.substr(1,1);
  if (tamanho == 1) 
    var aux = "0," + campo.substr(0,1);  
  if (tamanho == 0)    
    var aux = "0,0";

  var MascaraISS = aux;

  return(MascaraISS);
}  

//***********************************************************************************************
//*** Funcao para tirar caracteres nao numericos de uma string 
//*** Parametros: Numero com mascara                           
//*** Retorna   : Numero sem mascara                               
//***********************************************************************************************

function desmascaranumero(numero)
{
 var valid    = "0123456789";
 var numerook = "";
 var temp;

  for (var i=0; i<numero.length; i++) 
  {
    temp = numero.substr(i, 1);
 
    if (valid.indexOf(temp) != "-1") 
      numerook = numerook + temp;
  } 

 return(numerook);

}

//***********************************************************************************************
//*** Funcao para colocar ":" no campo Hora
//*** Parametros: numero, usar no evento: onKeyPress="return(MascaraHora2(this,event))" 
//*** Retorna   : Numero no formato (HH:MM)                        
//***********************************************************************************************

function MascaraHora2(fld,e) 
{
 var decSep     = ":";
 var key        = '';
 var i          = 0;
 var len        = 0;
 var strCheck   = '0123456789';
 var aux        = '';
 var whichCode  = (window.Event) ? e.which : e.keyCode;

  if (whichCode == 13) 
    return true;  

  key = String.fromCharCode(whichCode);  

  if (strCheck.indexOf(key) == -1) 
    return false;  

  len = fld.value.length;

  for (i = 0; i < len; i++)
    if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
      break;

  aux = '';

  for (; i < len; i++)
    if (strCheck.indexOf(fld.value.charAt(i)) != -1) 
      aux += fld.value.charAt(i);

  aux += key;
  len  = aux.length;

  if (len == 0) 
    fld.value = '';

  if (len == 1) 
    fld.value = '00' + decSep + '0' + aux;
 
  if (len == 2) 
    fld.value = '00' + decSep + aux;

  if (len == 3) 
    fld.value = '0' + aux.substr(0,1) + decSep + aux.substr(1,2);

  if ((len == 4) || (len == 5))
    fld.value = aux.substr(0,2) + decSep + aux.substr(2,2);

 return false;

}

//***********************************************************************************************
//*** Funcao para colocar ":" no campo Hora
//*** Parametros: numero, usar no evento: onKeyPress="return(MascaraHora3(this,event))"
//*** Retorna   : Numero no formato (HHH:MM)                        
//***********************************************************************************************

function MascaraHora3(fld,e) 
{
 var decSep     = ":";
 var milSep     = ".";
 var key        = '';
 var i          = 0;
 var len        = 0;
 var strCheck   = '0123456789';
 var aux        = '';
 var whichCode  = (window.Event) ? e.which : e.keyCode;

  if (whichCode == 13) 
    return true;  

  key = String.fromCharCode(whichCode);  

  if (strCheck.indexOf(key) == -1) 
    return false;  

  len = fld.value.length;

  for (i = 0; i < len; i++)
    if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
      break;

  aux = '';

  for (; i < len; i++)
    if (strCheck.indexOf(fld.value.charAt(i)) != -1) 
      aux += fld.value.charAt(i);

  aux += key;
  len  = aux.length;

  if (len == 0) 
    fld.value = '';

  if (len == 1) 
    fld.value = '00' + decSep + '0' + aux;
 
  if (len == 2) 
    fld.value = '00' + decSep + aux;

  if (len == 3) 
    fld.value = '0' + aux.substr(0,1) + decSep + aux.substr(1,2);

  if (len == 4)
    fld.value = aux.substr(0,2) + decSep + aux.substr(2,2);

  if (len == 5)
    fld.value = aux.substr(0,3) + decSep + aux.substr(3,2);

  if (len == 6)
    fld.value = aux.substr(0,1) + milSep + aux.substr(1,3) + decSep + aux.substr(4,2);

 return false;

}

//***********************************************************************************************

function DataMax_Mes(Mes,Ano) 
{
  if (Mes == 1)  var DataMax = 31;
  if (Mes == 2)  { if (Ano % 4 == 0) var DataMax = 29; else var DataMax = 28; }
  if (Mes == 3)  var DataMax = 31;
  if (Mes == 4)  var DataMax = 30;
  if (Mes == 5)  var DataMax = 31;
  if (Mes == 6)  var DataMax = 30;
  if (Mes == 7)  var DataMax = 31;
  if (Mes == 8)  var DataMax = 31;
  if (Mes == 9)  var DataMax = 30;
  if (Mes == 10) var DataMax = 31;
  if (Mes == 11) var DataMax = 30;
  if (Mes == 12) var DataMax = 31;

 return DataMax;

}

//***********************************************************************************************

function MascaraInt(numero)
{
  if (verificavirgula(numero))  
    var campo = new String(numero);
  else
    var campo = desmascaranumero(numero);

  var tamanho = campo.length;

  if (tamanho == 10)
    var aux = campo.substr(0,1) + "." + campo.substr(1,3) + "." + campo.substr(4,3) + "." + campo.substr(7,3);
  if (tamanho == 9) 
    var aux = campo.substr(0,3) + "." + campo.substr(3,3) + "." + campo.substr(6,3);  if (tamanho == 8)         
    var aux = campo.substr(0,2) + "." + campo.substr(2,3) + "." + campo.substr(5,3); 
  if (tamanho == 7)       
    var aux = campo.substr(0,1) + "." + campo.substr(1,3) + "," + campo.substr(4,3); 
  if (tamanho == 6) 
    var aux = campo.substr(0,3) + "." + campo.substr(3,3); 
  if (tamanho == 5) 
    var aux = campo.substr(0,2) + "." + campo.substr(2,3);
  if (tamanho == 4) 
    var aux = campo.substr(0,1) + "." + campo.substr(1,3);
  if (tamanho == 3) 
    var aux = campo.substr(0,3);
  if (tamanho == 2) 
    var aux = campo.substr(0,2);  
  if (tamanho == 1)    
    var aux = campo.substr(0,1);

  var MascaraInt = aux;

  return(MascaraInt);
}  

//***********************************************************************************************

function OnloadMenu(tipo)
{
	if (document.getElementById)
	{
		var ar = document.getElementById("masterdiv_" + tipo).getElementsByTagName("span");

		for (var i=0; i<ar.length; i++)
		{
			if (ar[i].className == "submenu")
				ar[i].style.display = "none";
		}
	}	
}

//***********************************************************************************************

function SwitchMenu(tipo, obj)
{
	if (document.getElementById)
	{
		var el = document.getElementById(obj);
		var ar = document.getElementById("masterdiv_" + tipo).getElementsByTagName("span");

		if (el.style.display != "inline")
		{
			for (var i=0; i<ar.length; i++)
			{
				if (ar[i].className == "submenu")
					ar[i].style.display = "none";
			}
			el.style.display = "inline";
		}
		else
		{
			el.style.display = "none";
		}	
	}
}

//***********************************************************************************************

function move(fbox, tbox) 
{
	var arrFbox = new Array();
	var arrTbox = new Array();
	var arrLookup = new Array();
	var i;
	for (i = 0; i < tbox.options.length; i++) 
	{
		arrLookup[tbox.options[i].text] = tbox.options[i].value;
		arrTbox[i] = tbox.options[i].text;
	}
	var fLength = 0;
	var tLength = arrTbox.length;
	for (i = 0; i < fbox.options.length; i++) 
	{
		arrLookup[fbox.options[i].text] = fbox.options[i].value;
		if (fbox.options[i].selected && fbox.options[i].value != "") 
		{
			arrTbox[tLength] = fbox.options[i].text;
			tLength++;
		}
		else 
		{
			arrFbox[fLength] = fbox.options[i].text;
			fLength++;
	  }
	}
	arrFbox.sort();
	arrTbox.sort();
	fbox.length = 0;
	tbox.length = 0;
	var c;
	for (c = 0; c < arrFbox.length; c++) 
	{
		var no = new Option();
		no.value = arrLookup[arrFbox[c]];
		no.text = arrFbox[c];
		fbox[c] = no;
	}
	for (c = 0; c < arrTbox.length; c++) 
	{
		var no = new Option();
		no.value = arrLookup[arrTbox[c]];
		no.text = arrTbox[c];
		tbox[c] = no;
  }
}

function carregaValor(campo)
{
	var tamanho = campo.length;
	for (i=0; i<tamanho; i++) 
		campo.options[i].selected = true;
}

function AbrePagina(url)
{
	if (url != "sair.php")
		self.frames["main"].location = url;
	else
		location.href(url);
}

function TamanhoMax(c_str, tam)
{
	var str_tam = c_str.value.substr(0,tam);
	var c_str_tam= c_str.value.length;
	if (c_str_tam > tam)
		c_str.value = str_tam;
}

function moveover(p_Over,p_Name)
{
	document.images[p_Name].src = p_Over;
}

function moveback(p_Out,p_Name)
{
	document.images[p_Name].src = p_Out;
}

function VerificaNumero(e)
{
	var strCheck 		= '0123456789';
	var whichCode 	= (window.Event) ? e.which : e.keyCode;

	if ((whichCode == 13) || (whichCode == 8) || (whichCode == 0)) return true;
	key = String.fromCharCode(whichCode);  // Valor para o código da Chave
	if (strCheck.indexOf(key) == -1) return false;  // Chave inválida
}

function VerificaLetra(e)
{
	var strCheck 		= 'abcdefghijklmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZ';
	var whichCode 	= (window.Event) ? e.which : e.keyCode;

	if ((whichCode == 13) || (whichCode == 8) || (whichCode == 0)) return true;
	key = String.fromCharCode(whichCode);  // Valor para o código da Chave
	if (strCheck.indexOf(key) == -1) return false;  // Chave inválida
}

function VerificaSerie(e)
{
	var strCheck 		= 'abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK1234567890';
	var whichCode 	= (window.Event) ? e.which : e.keyCode;

	if ((whichCode == 13) || (whichCode == 8) || (whichCode == 0)) return true;
	key = String.fromCharCode(whichCode);  // Valor para o código da Chave
	if (strCheck.indexOf(key) == -1) return false;  // Chave inválida 
}

function VerificaDigito(e)
{
	var strCheck 		= '0123456789abcdefghijlmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZ';
	var whichCode 	= (window.Event) ? e.which : e.keyCode;

	if ((whichCode == 13) || (whichCode == 8) || (whichCode == 0)) return true;
	key = String.fromCharCode(whichCode);  // Valor para o código da Chave
	if (strCheck.indexOf(key) == -1) return false;  // Chave inválida
}

function VerificaData(campo, e)
{
	var strCheck 		= '0123456789';
	var whichCode 	= (window.Event) ? e.which : e.keyCode;

	if ((whichCode == 13) || (whichCode == 8) || (whichCode == 0)) return true;
	key = String.fromCharCode(whichCode);  // Valor para o código da Chave
	if (strCheck.indexOf(key) == -1) 
		return false;  // Chave inválida
	else
		Formatar(campo, '##/##/##');
}

function VerificaPeriodo(campo, e)
{
	var strCheck 		= '0123456789';
	var whichCode 	= (window.Event) ? e.which : e.keyCode;

	if ((whichCode == 13) || (whichCode == 8) || (whichCode == 0)) return true;
	key = String.fromCharCode(whichCode);  // Valor para o código da Chave
	if (strCheck.indexOf(key) == -1) 
		return false;  // Chave inválida
	else
		Formatar(campo, '##/####');
}

function VerificaNossoNumero(campo, e)
{
	var strCheck 		= '0123456789';
	var whichCode 	= (window.Event) ? e.which : e.keyCode;

	if ((whichCode == 13) || (whichCode == 8) || (whichCode == 0)) return true;
	key = String.fromCharCode(whichCode);  // Valor para o código da Chave
	if (strCheck.indexOf(key) == -1) 
		return false;  // Chave inválida
	else
		Formatar(campo, '##########-#');
}

function VerificaEspeciais(e)
{
	var tecla	= (window.Event) ? e.which : e.keyCode;

	if ((tecla != 28) && (tecla != 34) && (tecla != 35) && (tecla != 39) && (tecla != 59) && (tecla != 124) && (tecla != 167)) // caracteres ' e "
		return true;
	else
		return false;
}

function VerificaCodigo(e)
{
	var tecla	= (window.Event) ? e.which : e.keyCode;

	if ((tecla != 32) && (tecla != 39) && (tecla != 34)) // caracteres ' e "
		return true;
	else
	{
		if (tecla != 8) // backspace
			event.keyCode = 0;
			//return false;
		else
			return true;
	}
}

function VerificaMascara(e)
{
	var tecla	= (window.Event) ? e.which : e.keyCode;
	
	if ((tecla == 35) || (tecla == 45) || (tecla == 46) || (tecla == 47)) // caracteres / - #
		return true;
	else
	{
		if (tecla != 8) // backspace
		{
			event.keyCode = 0;
			return false;
		}
		else
			return true;
	}
}

function Formatar(src, mask) 
{
	var i 		= src.value.length;
	var saida = mask.substring(0,1);
	var texto = mask.substring(i);

	if (texto.substring(0,1) != saida)
		src.value += texto.substring(0,1);
}

function ReplaceAll(sStr, sDe, sPara)
{
	while (sStr.indexOf(sDe) != -1)
		sStr = sStr.replace(sDe, sPara)
	return sStr;	
}

function openAjax() 
{
	var ajax;

	try
	{
		ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers decentes, como: Firefox, Safari, dentre outros.
	}
	catch(ee)
	{
		try
		{
			ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
		}
		catch(e)
		{
			try
			{
				ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
			}
			catch(E)
			{
				ajax = false;
			}
		}
	}

	return ajax;

}

function Trim(str)
{
	return str.replace(/^\s*/, "").replace(/\s*$/, "");
}

String.prototype.lpad = function(pSize, pCharPad)
{
	var str = this;
	var dif = pSize - str.length;
	var ch = String(pCharPad).charAt(0);
	for (; dif>0; dif--) str = ch + str;
	return (str);
} 

String.prototype.trim = function()
{
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
} 

function unformatNumber(pNum)
{
	return String(pNum).replace(/\D/g, "").replace(/^0+/, "");
} 

function formatCpfCnpj(pCpfCnpj, pUseSepar, pIsCnpj)
{
	if (pIsCnpj==null) pIsCnpj = false;
	if (pUseSepar==null) pUseSepar = true;
	var maxDigitos = pIsCnpj? 14: 11;
	var numero = unformatNumber(pCpfCnpj);

	numero = numero.lpad(maxDigitos, '0');
	if (!pUseSepar) return numero;

	if (pIsCnpj)
	{
		reCnpj = /(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/;
		numero = numero.replace(reCnpj, "$1.$2.$3/$4-$5");
	}
	else
	{
		reCpf  = /(\d{3})(\d{3})(\d{3})(\d{2})$/;
		numero = numero.replace(reCpf, "$1.$2.$3-$4");
	}
	return numero;
} 

function dvCpfCnpj(pEfetivo, pIsCnpj)
{
	if (pIsCnpj==null) pIsCnpj = false;
	var i, j, k, soma, dv;
	var cicloPeso = pIsCnpj? 8: 11;
	var maxDigitos = pIsCnpj? 14: 11;
	var calculado = formatCpfCnpj(pEfetivo, false, pIsCnpj);
	calculado = calculado.substring(2, maxDigitos);
	var result = "";

	for (j = 1; j <= 2; j++)
	{
		k = 2;
		soma = 0;
		for (i = calculado.length-1; i >= 0; i--)
		{
			soma += (calculado.charAt(i) - '0') * k;
			k = (k-1) % cicloPeso + 2;
		}
		dv = 11 - soma % 11;
		if (dv > 9) dv = 0;
		calculado += dv;
		result += dv
	}

	return result;
} 

function isCpf(pCpf)
{
	var numero 	= formatCpfCnpj(pCpf, false, false);
	var base 		= numero.substring(0, numero.length - 2);
	var digitos = dvCpfCnpj(base, false);
	var algUnico, i;

	if (numero != base + digitos) return false;

	algUnico = true;
	for (i=1; i<11; i++)
	{
		algUnico = algUnico && (numero.charAt(i-1) == numero.charAt(i));
	}
	return (!algUnico);
} 

function isCnpj(pCnpj)
{
	var numero 	= formatCpfCnpj(pCnpj, false, true);
	var base 		= numero.substring(0, 8);
	var ordem 	= numero.substring(8, 12);
	var digitos = dvCpfCnpj(base + ordem, true);
	var algUnico;

	if (numero != base + ordem + digitos) return false;

	algUnico = numero.charAt(0) != '0';
	for (i=1; i<8; i++)
	{
		algUnico = algUnico && (numero.charAt(i-1) == numero.charAt(i));
	}
	if (algUnico) return false;

	if (ordem == "0000") return false;
	return (base == "00000000"
		|| parseInt(ordem, 10) <= 300 || base.substring(0, 3) != "000");
} 

function ConsisteCNPJCPF(pCpfCnpj)
{
	var numero = pCpfCnpj.replace(/\D/g, "");
	if (numero.length > 11)
		return isCnpj(pCpfCnpj)
	else
		return isCpf(pCpfCnpj);
}

function ExecMenu(nSel, nQtd)
{
	for (var j=1; j<=nQtd; j++)
	{
		if (eval(document.getElementById("opcao_" + j)))
		{
			document.getElementById("opcao_" + j).style.background					= 'url(images/bt_pastas.jpg)';
			document.getElementById("opcao_" + j).style.backgroundRepeat		= 'no-repeat';
			document.getElementById("opcao_" + j).style.backgroundPosition	= 'center center';
			document.getElementById("div_" + j).style.display							= "none";
		}
	}
	document.getElementById("opcao_" + nSel).style.background					= 'url(images/bt_pastas_on.jpg)';
	document.getElementById("opcao_" + nSel).style.backgroundRepeat		= 'no-repeat';
	document.getElementById("opcao_" + nSel).style.backgroundPosition	= 'center center';
	document.getElementById("div_" + nSel).style.display								= "inline";
}

function CompletaNumero(nNum)
{
	alert(nNum);
	var nRet = "";
	if (nNum.length == 0)
		nRet = "000";
	if (nNum.length == 1)
		nRet = "00" + nNum;
	if (nNum.length == 2)
		nRet = "0" + nNum;
	if (nNum.length == 3)
		nRet = "" + nNum;
	return nRet;
}

function CompletaValor(fld, tam, e)
{
	var tamReal = Math.round(ReplaceAll(ReplaceAll(fld.value,".",""),",","")).toString().length;

	if (tamReal < tam) 
	{
		var milSep			=	'.';
		var decSep			= ',';
		var sep 				= 0;
		var key 				= '';
		var i = j				= 0;
		var len = len2	= 0;
		var strCheck 		= '0123456789';
		var aux = aux2	= '';
		var whichCode 	= (window.Event) ? e.which : e.keyCode;

		if (whichCode == 13) return true;
		key = String.fromCharCode(whichCode);  // Valor para o código da Chave
		if (strCheck.indexOf(key) == -1) return false;  // Chave inválida
		len = fld.value.length;

		for (i = 0; i < len; i++)
			if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
		aux = '';

		for (; i < len; i++)
			if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
		aux += key;

		len				= aux.length;
		valor			= '00000000000000000000' + aux;
		fld.value	= Right(valor, tam);
	}

	return false;

}

function FormataValor(fld, tam, e)
{
	if (fld.readOnly == true)
		return false;

	var tamReal = Math.round(ReplaceAll(ReplaceAll(fld.value,".",""),",","")).toString().length + 1;

	if (tamReal < tam) 
	{
		var milSep			=	'.';
		var decSep			= ',';
		var sep 				= 0;
		var key 				= '';
		var i = j				= 0;
		var len = len2	= 0;
		var strCheck 		= '0123456789';
		var aux = aux2	= '';
		var whichCode 	= (window.Event) ? e.which : e.keyCode;

		if (whichCode == 13) return true;
		key = String.fromCharCode(whichCode);  // Valor para o código da Chave
		if (strCheck.indexOf(key) == -1) return false;  // Chave inválida
		len = fld.value.length;

		for (i = 0; i < len; i++)
			if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
		aux = '';

		for (; i < len; i++)
			if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
		aux += key;

		len = aux.length;
	
		if (len == 0) fld.value = '';
		if (len == 1) fld.value = '0' + decSep + '0' + aux;
		if (len == 2) fld.value = '0' + decSep + aux;
		if (len > 2) 
		{
			aux2 = '';
			for (j = 0, i = len - 3; i >= 0; i--) 
			{
				if (j == 3) 
				{
					aux2 += milSep;
					j = 0;
				}
				aux2 += aux.charAt(i);
				j++;
			}
			fld.value = '';
			len2 = aux2.length;

			for (i = len2 - 1; i >= 0; i--)
				fld.value += aux2.charAt(i);

			fld.value += decSep + aux.substr(len - 2, len);
		}
	}

	return false;

}

function FormataValor1(fld, tam, e)
{
	if (fld.readOnly == true)
		return false;

	var tamReal = Math.round(ReplaceAll(ReplaceAll(fld.value,".",""),",","")).toString().length + 1;

	if (tamReal < tam) 
	{
		var milSep			=	'.';
		var decSep			= ',';
		var sep 				= 0;
		var key 				= '';
		var i = j				= 0;
		var len = len2	= 0;
		var strCheck 		= '0123456789';
		var aux = aux2	= '';
		var whichCode 	= (window.Event) ? e.which : e.keyCode;

		if (whichCode == 13) return true;
		key = String.fromCharCode(whichCode);  // Valor para o código da Chave
		if (strCheck.indexOf(key) == -1) return false;  // Chave inválida
		len = fld.value.length;

		for (i = 0; i < len; i++)
			if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
		aux = '';

		for (; i < len; i++)
			if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
		aux += key;

		len = aux.length;
	
		if (len == 0) fld.value = '';
		if (len == 1) fld.value = '0' + decSep + aux;

		if (len > 1) 
		{
			aux2 = '';
			for (j=0, i=len-2; i>=0; i--) 
			{
				if (j == 3) 
				{
					aux2 += milSep;
					j = 0;
				}
				aux2 += aux.charAt(i);
				j++;
			}
			fld.value = '';
			len2 = aux2.length;

			for (i = len2 - 1; i >= 0; i--)
				fld.value += aux2.charAt(i);

			fld.value += decSep + aux.substr(len - 1, len);
		}
	}

	return false;

}

function FormataValor3(fld, tam, e)
{
	if (fld.readOnly == true)
		return false;

	var tamReal = Math.round(ReplaceAll(ReplaceAll(fld.value,".",""),",","")).toString().length + 1;

	if (tamReal < tam) 
	{
		var milSep			=	'.';
		var decSep			= ',';
		var sep 				= 0;
		var key 				= '';
		var i = j				= 0;
		var len = len2	= 0;
		var strCheck 		= '0123456789';
		var aux = aux2	= '';
		var whichCode 	= (window.Event) ? e.which : e.keyCode;

		if (whichCode == 13) return true;
		key = String.fromCharCode(whichCode);  // Valor para o código da Chave
		if (strCheck.indexOf(key) == -1) return false;  // Chave inválida
		len = fld.value.length;

		for (i = 0; i < len; i++)
			if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
		aux = '';

		for (; i < len; i++)
			if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
		aux += key;

		len = aux.length;
	
		if (len == 0) fld.value = '';
		if (len == 1) fld.value = '0' + decSep + '00' + aux;
		if (len == 2) fld.value = '0' + decSep + '0' + aux;
		if (len == 3) fld.value = '0' + decSep + aux;

		if (len > 3) 
		{
			aux2 = '';
			for (j=0, i=len-4; i>=0; i--) 
			{
				if (j == 3) 
				{
					aux2 += milSep;
					j = 0;
				}
				aux2 += aux.charAt(i);
				j++;
			}
			fld.value = '';
			len2 = aux2.length;

			for (i = len2 - 1; i >= 0; i--)
				fld.value += aux2.charAt(i);

			fld.value += decSep + aux.substr(len - 3, len);
		}
	}

	return false;

}

function FormataValor4(fld, tam, e)
{
	if (fld.readOnly == true)
		return false;

	var tamReal = Math.round(ReplaceAll(ReplaceAll(fld.value,".",""),",","")).toString().length + 1;
	
	if (tamReal < tam) 
	{
		var milSep			=	'.';
		var decSep			= ',';
		var sep 				= 0;
		var key 				= '';
		var i = j				= 0;
		var len = len2	= 0;
		var strCheck 		= '0123456789';
		var aux = aux2	= '';
		var whichCode 	= (window.Event) ? e.which : e.keyCode;

		if (whichCode == 13) return true;
		key = String.fromCharCode(whichCode);  // Valor para o código da Chave
		if (strCheck.indexOf(key) == -1) return false;  // Chave inválida
		len = fld.value.length;

		for (i = 0; i < len; i++)
			if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
		aux = '';

		for (; i < len; i++)
			if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
		aux += key;

		len = aux.length;
	
		if (len == 0) fld.value = '';
		if (len == 1) fld.value = '0' + decSep + '000' + aux;
		if (len == 2) fld.value = '0' + decSep + '00' + aux;
		if (len == 3) fld.value = '0' + decSep + '0' + aux;
		if (len == 4) fld.value = '0' + decSep + aux;		

		if (len > 4) 
		{
			aux2 = '';
			for (j=0,i=len-5; i>=0; i--) 
			{
				if (j == 3) 
				{
					aux2 += milSep;
					j = 0;
				}
				aux2 += aux.charAt(i);
				j++;
			}
			fld.value = '';
			len2 = aux2.length;

			for (i=len2-1; i>=0; i--)
				fld.value += aux2.charAt(i);

			fld.value += decSep + aux.substr(len - 4, len);
		}
	}

	return false;

}

function VerificaFormataValor(fld, tam, e, moeda)
{
	if ((moeda == "") || (moeda == "0"))
	{
		var tamReal = Math.round(ReplaceAll(ReplaceAll(fld.value,".",""),",","")).toString().length + 1;
	
		if (tamReal < tam) 
		{
			var milSep			=	'.';
			var decSep			= ',';
			var sep 				= 0;
			var key 				= '';
			var i = j				= 0;
			var len = len2	= 0;
			var strCheck 		= '0123456789';
			var aux = aux2	= '';
			var whichCode 	= (window.Event) ? e.which : e.keyCode;
	
			if (whichCode == 13) return true;
			key = String.fromCharCode(whichCode);  // Valor para o código da Chave
			if (strCheck.indexOf(key) == -1) return false;  // Chave inválida
			len = fld.value.length;
	
			for (i = 0; i < len; i++)
				if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
			aux = '';
	
			for (; i < len; i++)
				if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
			aux += key;
	
			len = aux.length;
		
			if (len == 0) fld.value = '';
			if (len == 1) fld.value = '0' + decSep + '0' + aux;
			if (len == 2) fld.value = '0' + decSep + aux;
			if (len > 2) 
			{
				aux2 = '';
				for (j = 0, i = len - 3; i >= 0; i--) 
				{
					if (j == 3) 
					{
						aux2 += milSep;
						j = 0;
					}
					aux2 += aux.charAt(i);
					j++;
				}
				fld.value = '';
				len2 = aux2.length;
	
				for (i = len2 - 1; i >= 0; i--)
					fld.value += aux2.charAt(i);
	
				fld.value += decSep + aux.substr(len - 2, len);
			}
		}
	
		return false;
	}
	else
	{
		tam	= tam	+ 2;

		if (fld.readOnly == true)
			return false;
	
		var tamReal = Math.round(ReplaceAll(ReplaceAll(fld.value,".",""),",","")).toString().length + 1;
		
		if (tamReal < tam) 
		{
			var milSep			=	'.';
			var decSep			= ',';
			var sep 				= 0;
			var key 				= '';
			var i = j				= 0;
			var len = len2	= 0;
			var strCheck 		= '0123456789';
			var aux = aux2	= '';
			var whichCode 	= (window.Event) ? e.which : e.keyCode;
	
			if (whichCode == 13) return true;
			key = String.fromCharCode(whichCode);  // Valor para o código da Chave
			if (strCheck.indexOf(key) == -1) return false;  // Chave inválida
			len = fld.value.length;
	
			for (i = 0; i < len; i++)
				if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
			aux = '';
	
			for (; i < len; i++)
				if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
			aux += key;
	
			len = aux.length;
		
			if (len == 0) fld.value = '';
			if (len == 1) fld.value = '0' + decSep + '000' + aux;
			if (len == 2) fld.value = '0' + decSep + '00' + aux;
			if (len == 3) fld.value = '0' + decSep + '0' + aux;
			if (len == 4) fld.value = '0' + decSep + aux;		
	
			if (len > 4) 
			{
				aux2 = '';
				for (j=0,i=len-5; i>=0; i--) 
				{
					if (j == 3) 
					{
						aux2 += milSep;
						j = 0;
					}
					aux2 += aux.charAt(i);
					j++;
				}
				fld.value = '';
				len2 = aux2.length;
	
				for (i=len2-1; i>=0; i--)
					fld.value += aux2.charAt(i);
	
				fld.value += decSep + aux.substr(len - 4, len);
			}
		}
	
		return false;
	}
}

function AbreJanela(url, tipo)
{
	if (tipo != "3")
	{
		if ((screen.width == 800) && (screen.height == 600))
			window.open(url,"Documento","height=600,width=800,left=0,top=0,scrollbars=yes,location=no");
		else
			window.open(url,"Documento","height=600,width=800,left=112,top=90,scrollbars=yes,location=no");
	}
	else
	{
		if ((screen.width == 800) && (screen.height == 600))
			window.open(url,"Documento","height=600,width=1000,left=0,top=0,scrollbars=yes,location=no");
		else
			window.open(url,"Documento","height=600,width=1200,left=0,top=90,scrollbars=yes,location=no");
	}
}

function VerificaRetorno(tipo)
{
	if (tipo != "")
	{
		if (tipo == "1")
			alert("Registro incluído com êxito.");
		if (tipo == "2")
			alert("Registro alterado com êxito.");
		if (tipo == "3")
			alert("Registro excluído com êxito.");
		if (tipo == "4")
			alert("Registro já existente.");
		if (tipo == "5")
			alert("     Registro não pode ser excluído.\nExistem registros que dependem dele.");
		if (tipo == "6")
			alert(" Registro não pode ser alterado.\nExistem registros que utilizam ele.");
		if (tipo == "7")
			alert("Existe Ato com a Data no Período de Indisponibilidade de Bens dessa Pessoa Física/Jurídica.");
		if (tipo == "8")
			alert("Lote Processado com Sucesso.");
		if (tipo == "9")
			alert("Erro de Rotina.");			
		if (tipo == "10")
			alert("Lote Processado com Rejeição.");
		if (tipo == "11")
			alert("Registro já existente ou Login inválido.");
		if (tipo == "12")
			alert("Baixa efetuada com êxito.");
		if (tipo == "16")
			alert("Estorno efetuado com êxito.");
	}
}

function FormataDataExtenso(Data)
{
	if (Data != "")
	{
		var Dia = Data.substr(0,2);
		var Mes = Data.substr(3,2);
		var Ano = Data.substr(6,4);	
	
		if (Mes == "01")
			DescMes = "Janeiro";
		if (Mes == "02")
			DescMes = "Fevereiro";
		if (Mes == "03")
			DescMes = "Março";
		if (Mes == "04")
			DescMes = "Abril";
		if (Mes == "05")
			DescMes = "Maio";
		if (Mes == "06")
			DescMes = "Junho";
		if (Mes == "07")
			DescMes = "Julho";
		if (Mes == "08")
			DescMes = "Agosto";
		if (Mes == "09")
			DescMes = "Setembro";
		if (Mes == "10")
			DescMes = "Outubro";
		if (Mes == "11")
			DescMes = "Novembro";
		if (Mes == "12")
			DescMes = "Dezembro";
			
		return Dia + " de " + DescMes + " de " + Ano; 
	}
	else
		return "";
}

function FormataLoteExtenso(Qtde)
{
	if (Qtde != "")
	{
		if (Qtde == 1)
			DescLote = "Um Lote";
		if (Qtde == 2)
			DescLote = "Dois Lotes";
		if (Qtde == 3)
			DescLote = "Três Lotes";
		if (Qtde == 4)
			DescLote = "Quatro Lotes";
		if (Qtde == 5)
			DescLote = "Cinco Lotes";
		if (Qtde == 6)
			DescLote = "Seis Lotes";
		if (Qtde == 7)
			DescLote = "Sete Lotes";
		if (Qtde == 8)
			DescLote = "Oito Lotes";
		if (Qtde == 9)
			DescLote = "Nove Lotes";
		if (Qtde == 10)
			DescLote = "Dez Lotes";
		if (Qtde > 10)
			DescLote = "Muitos Lotes";
			
		return DescLote; 
	}
	else
		return "";
}

function Extenso(field, blnmoeda) 
{
	var intponto;
	var inteiro, decimal;
	var strmoedasingular, strmoedaplural;
	var retorno; 

	if (field != undefined) 
	{ 
		var aux1 = field.replace("R$","");
		var aux2 = aux1.replace(" ",""); 
		var aux3 = aux2.replace(".",""); 
		while (aux3.indexOf(".") > -1) 
			aux3 = aux3.replace(".",""); 
		var valor = aux3.replace(",","."); 
	} 
	else 
		var valor = ""; 

	if (isNaN(valor) && blnmoeda != true) 
	{ 
		alert(valor + " não é um número válido!"); 
		return ""; 
	} 

	intponto = valor.indexOf("."); 

	if (intponto < 0) 
	{ 
		inteiro = zeros(valor,15); 
		decimal = zeros(0,15); 
	} 
	else 
	{ 
		decimal = valor.substring(intponto + 1, valor.length)
		if (decimal.length == 1) 
			decimal = decimal + "0"; 
		decimal = zeros(decimal,15); 
		inteiro = zeros(valor.substring(0, intponto),15); 
	} 

	retorno = mil(inteiro,15,"TRILHÃO","TRILHÕES"); 

	if ((inteiro.substr(0,3) > 0) && (inteiro.substr(3,12) > 0)) 
	{ 
		if (inteiro.substr(3,10) == 0 || (inteiro.substr(3,9) + inteiro.substr(13,2)) == 0 || (inteiro.substr(3,4) + inteiro.substr(9,6)) == 0 || (inteiro.substr(3,3) + inteiro.substr(7,8)) == 0 || (inteiro.substr(3,6) + inteiro.substr(10,5)) == 0 || (inteiro.substr(3,7) + inteiro.substr(12,3)) == 0 || (inteiro.substr(3,1) + inteiro.substr(6,9)) == 0 || inteiro.substr(4,11) == 0) 
			retorno = retorno + " " + "e "; 
		else 
			retorno = retorno + ",";
	} 

	retorno = retorno + mil(inteiro,12,"BILHÃO","BILHÕES"); 

	if (inteiro.substr(3,3) > 0 && inteiro.substr(6,9) > 0) 
	{ 
		if (inteiro.substr(6,7) == 0 || (inteiro.substr(6,6) + inteiro.substr(13,2)) == 0 || (inteiro.substr(6,4) + inteiro.substr(12,3)) == 0 || (inteiro.substr(6,3) + inteiro.substr(10,5)) == 0 || (inteiro.substr(6,1) + inteiro.substr(9,6)) == 0 || inteiro.substr(7,8) == 0) 
			retorno = retorno + " " + "E ";
		else 
			retorno = retorno + ","; 
	} 
	
	retorno = retorno + mil(inteiro,9,"MILHÃO","MILHÕES");

	if (inteiro.substr(6,3) > 0 && inteiro.substr(9,6) > 0)
	{ 
		if (inteiro.substr(9,4) == 0 || (inteiro.substr(9,3) + inteiro.substr(13,2)) == 0 || (inteiro.substr(9,1) + inteiro.substr(12,3)) == 0 || inteiro.substr(10,5) == 0) 
			retorno = retorno + " " + "E ";
		else 
			retorno = retorno + ","; 
	} 

	retorno = retorno + mil(inteiro,6,"MIL","MIL"); 
	
	if (inteiro.substr(9,3) > 0 && inteiro.substr(12,3) > 0) 
	{ 
		if (inteiro.substr(13,2) == 0 || inteiro.substr(12,2) == 0 || inteiro.substr(12,1) == 0) 
			retorno = retorno + " " + "E ";
		else 
			retorno = retorno + ", "; 
	} 

	if (blnmoeda) 
	{ 
		strmoedasingular	= "METRO "; 
		strmoedaplural		= "METROS "; 
	} 
	else 
	{ 
		strmoedasingular	= ""; 
		strmoedaplural		= ""; 
	} 

	retorno = retorno + mil(inteiro,3,strmoedasingular,strmoedaplural); 

	if (decimal > 0) 
	{ 
		if (inteiro > 0) 
			retorno = retorno + " " + "E ";
		retorno = retorno + cem(decimal, 2, "CENTÍMETRO QUADRADO", "CENTÍMETROS QUADRADOS"); 
	}
	else
	{
		if (inteiro > 1) 
			retorno = retorno + "QUADRADOS";
		else
		{
			if (inteiro > 0) 
				retorno = retorno + "QUADRADO";
			else	
				retorno = retorno + "ZERO";			
		}
	}
		
	if (blnmoeda == false) 
		retorno = retorno.replace("CENTÍMETRO QUADRADO", "CENTÍMETROS QUADRADOS"); 

	return retorno; 
} 

function mil(numero,centena,unidadesingular,unidadeplural)
{ 
	var retorno = ""; 

	if (numero.substr(15 - centena,1) > 0) 
	{ 
		if (numero.substr(15 - centena,1) == 1) 
		{ 
			if (numero.substr(16 - centena,2) == 0) 
				retorno = "CEM";
			else 
				retorno = "CENTO";
		} 
		else 
		{ 
			switch (numero.substr(15 - centena,1)) 
			{ 
				case "2": 
					retorno = "DUZENTOS"; 
					break; 	
				case "3": 
					retorno = "TREZENTOS"; 
					break; 
				case "4": 
					retorno = "QUATROCENTOS"; 
					break; 
				case "5": 
					retorno = "QUINHENTOS"; 
					break; 
				case "6": 
					retorno = "SEISCENTOS"; 
					break; 
				case "7": 
					retorno = "SETECENTOS"; 
					break; 
				case "8": 
					retorno = "OITOCENTOS"; 
					break; 
				case "9": 
					retorno = "NOVECENTOS"; 
					break; 
			} 
		} 

		if (numero.substr(16 - centena,2) > 0) 
			retorno = retorno + " " + "E ";
	} 

	retorno = retorno + cem(numero, centena -1, unidadesingular, unidadeplural);

	return retorno; 

} 

function cem(numero, dezena, unidadesingular, unidadeplural)
{ 
	var retorno = ""; 

	if (numero.substr(15 - dezena,1) > 1) 
	{ 
		switch (numero.substr(15 - dezena,1)) 
		{ 
			case "2": 
				retorno = "VINTE"; 
				break; 
			case "3": 
				retorno = "TRINTA"; 
				break; 
			case "4": 
				retorno = "QUARENTA"; 
				break; 
			case "5": 
				retorno = "CINQUENTA"; 
				break; 
			case "6": 
				retorno = "SESSENTA"; 
				break; 
			case "7": 
				retorno = "SETENTA"; 
				break; 
			case "8": 
				retorno = "OITENTA"; 
				break; 
			case "9": 
				retorno = "NOVENTA"; 
				break; 
		} 

		if (numero.substr(16 - dezena,1) > 0) 
		{ 
			retorno = retorno + " " + "E ";

			switch (numero.substr(16 - dezena,1)) 
			{ 
				case "1": 
					retorno = retorno + "UM"; 
					break; 
				case "2": 
					retorno = retorno + "DOIS"; 
					break; 
				case "3": 
					retorno = retorno + "TRÊS"; 
					break; 
				case "4": 
					retorno = retorno + "QUATRO"; 
					break; 
				case "5": 
					retorno = retorno + "CINCO"; 
					break; 
				case "6": 
					retorno = retorno + "SEIS"; 
					break; 
				case "7": 
					retorno = retorno + "SETE"; 
					break; 
				case "8": 
					retorno = retorno + "OITO"; 
					break; 
				case "9": 
					retorno = retorno + "NOVE"; 
					break; 
			} 
		} 
	} 
	else 
	{ 
		switch (numero.substr(15 - dezena,2)) 
		{ 
			case "01": 
				retorno = "UM"; 
				break; 
			case "02": 
				retorno = "DOIS"; 
				break; 
			case "03": 
				retorno = "TRÊS"; 
				break; 
			case "04": 
				retorno = "QUATRO"; 
				break; 
			case "05": 
				retorno = "CINCO"; 
				break; 
			case "06": 
				retorno = "SEIS"; 
				break; 
			case "07": 
				retorno = "SETE"; 
				break; 
			case "08": 
				retorno = "OITO"; 
				break; 
			case "09": 
				retorno = "NOVE"; 
				break; 
			case "10": 
				retorno = "DEZ"; 
				break; 
			case "11": 
				retorno = "ONZE"; 
				break; 
			case "12": 
				retorno = "DOZE"; 
				break; 
			case "13": 
				retorno = "TREZE"; 
				break; 
			case "14": 
				retorno = "QUATORZE"; 
				break; 
			case "15": 
				retorno = "QUINZE"; 
				break; 
			case "16": 
				retorno = "DEZESEIS"; 
				break; 
			case "17": 
				retorno = "DEZESETE"; 
				break; 
			case "18": 
				retorno = "DEZOITO"; 
				break; 
			case "19": 
				retorno = "DEZENOVE"; 
				break; 
		} 
	} 
	if (dezena == 2) 
	{ 
		if (numero > 0) 
		{ 
			if (numero == 1) 
				retorno = retorno + " " + unidadesingular; 
			else 
			{ 
				if (numero.substr(9,6) == 0 || numero.substr(6,9) == 0 || numero.substr(3,12) == 0) 
					retorno = retorno + " " + "DE " + unidadeplural; 
				else 
					retorno = retorno + " " + unidadeplural; 
			} 
		} 
	} 	
	else 
	{ 
		if (numero.substr(14 - dezena,3) > 0) 
		{ 
			if (numero.substr(14 - dezena,3) == 1) 
				retorno = retorno + " " + unidadesingular;
			else 
				retorno = retorno + " " + unidadeplural; 
		} 
	} 

	return retorno; 

} 

function zeros(valor, zeros) 
{ 
	var i
	var intqtde			= zeros - valor.length; 
	var strretorno	= valor; 

	for (i=0; i < intqtde; i++) 
		strretorno = "0" + strretorno;
	
	return strretorno; 
}

function FormataVlr(valor)
{
	if (valor != "")
		return parseFloat(ReplaceAll(ReplaceAll(valor,".",""),",","."));
	else
		return 0;
}

function FormataString(valor)
{
	if (valor != "")
		return valor.toUpperCase();
	else
		return "";
}

function ConsisteCampoBranco(str) 
{
	str = LimpaEspacoBranco(str);
  if (str == null || str == "")
    return true;
  return false;
}

function LimpaEspacoBranco(str) 
{
  if (str!=null) 
	{
    while (str.length > 0 && "\n\r\t ".indexOf(str.charAt(str.length - 1)) != -1)
      str = str.substring(0, str.length - 1);
    while (str.length > 0 && "\n\r\t ".indexOf(str.charAt(0)) != -1)
      str = str.substring(1, str.length);
  }
  return str;
}

function ConsisteEmail(valor) 
{
  var reg = /\w{1,}[@]\w{1,}[.]\w{1,}/
  return reg.test(valor);
}

function Arredonda(valor, decimais)
{
	return Math.round(valor * Math.pow(10,decimais)) / Math.pow(10,decimais);
}

function SomaData(Campo, Soma)
{
  var dia = '', mes = '', ano = '';
	var dtInicial = '';
	var dtFinal = '';
	var str = Campo;
	var soma = Soma;

	ix = 0;
  while (ix < str.length && str.charAt(ix) != '/') dia = dia + str.charAt(ix++);
  if (dia.length == 1) dia = '0' + dia;
  ix++;
  while (ix < str.length && str.charAt(ix) != '/') mes = mes+str.charAt(ix++);
	if (mes.length == 1) mes = '0' + mes;
	ano = str.substring(ix+1,str.length);
	dtInicial = mes + '/' + dia + '/' + ano;
	dt = new Date(dtInicial);
	dt.setDate(dt.getDate()+parseInt(soma));
	dd = dt.getDate();
	mm = dt.getMonth() + 1;
	yy = dt.getYear();

	if (dd < 10) dd = '0' + dd;
	if (mm < 10) mm = '0' + mm;

	dtFinal = dd + '/' + mm + '/' + yy
  return  dtFinal;
}

function Left(str, n)
{
	if (n <= 0)
    return "";
	else if (n > String(str).length)
    return str;
	else
	  return String(str).substring(0,n);
}

function Right(str, n)
{
  if (n <= 0)
    return "";
  else if (n > String(str).length)
    return str;
  else 
	{
    var iLen = String(str).length;
    return String(str).substring(iLen, iLen - n);
  }
}

var ObjetoAjax = openAjax();

function VerificaAlteracaoDeEstado()
{
	if (ObjetoAjax.readyState != 4){return;}
	parent.document.getElementById(g_div).innerHTML = ObjetoAjax.responseText;
	try
	{
		parent.document.getElementById("divAguarde").style.display = "none";
	}
	catch(e){}
}

function AbreSubTelaAjax(url, div)
{
	try
	{
		parent.document.getElementById("FPopAjax").style.display		= "inline";
		parent.document.getElementById("fundoModal").style.display	= "inline";
		parent.document.getElementById("divAguarde").style.display	= "inline";
	}
	catch(e){}

	g_div = div;
	parent.document.getElementById(g_div).innerHTML = "";
	ObjetoAjax.open("GET",url,true);
	ObjetoAjax.setRequestHeader('Content-Type','application/x-www-form-urlencoded;');
	ObjetoAjax.setRequestHeader("Pragma", "no-cache");	
	ObjetoAjax.onreadystatechange	= VerificaAlteracaoDeEstado;
	ObjetoAjax.send(null);
}

function AbreSubTelaIFrame(url, iframe)
{
	try
	{
		parent.document.getElementById("FPopIFrame").style.display	= "inline";
		parent.document.getElementById("fundoModal").style.display	= "inline";
	}
	catch(e){}

	parent.frames[iframe].location = url;
}

function intval(mixed_var, base) 
{
	var tmp;
	
	if (typeof(mixed_var) == 'string')
	{
		tmp = parseInt(mixed_var * 1);
		if (isNaN(tmp) || !isFinite(tmp))
			return 0;
		else
			return tmp.toString(base || 10);
	}
	else
	{
		if (typeof(mixed_var) == 'number' && isFinite(mixed_var))
			return Math.floor(mixed_var);
		else
			return 0;
	}		
}

function ConverteCotacao(var_flt_vlr, var_flt_vlrcot)
{
	var_flt_vlr	= (intval(((var_flt_vlr * 10000) / var_flt_vlrcot) + 0.5) / 10000);
	return var_flt_vlr;
}

function ConverteReal(var_flt_vlr, var_flt_vlrcot)
{
	var_flt_vlr	= (intval(((var_flt_vlr * var_flt_vlrcot) * 100) + 0.5) / 100);
	return var_flt_vlr;
}

function MovAll(Campo, CampoSel)
{
	if (document.getElementById(Campo).length > 0) 
	{
		for (j=0; j<document.getElementById(Campo).options.length; j++)
		{                
			var oOption		= document.createElement("OPTION");
			oOption.value = document.getElementById(Campo).options(j).value;
			oOption.text  = document.getElementById(Campo).options(j).text;
			document.getElementById(CampoSel).add(oOption);                 	
		}
		
		if (document.getElementById(Campo).length > 0)
		{
			for (i=document.getElementById(Campo).options.length-1; i>=0; i--)
				document.getElementById(Campo).remove(i);
		}
	}
}

function MovSel(Campo, CampoSel)
{
	if (document.getElementById(Campo).length > 0)
	{
		for (j=0; j<document.getElementById(Campo).options.length; j++)
		{                
			if (document.getElementById(Campo).options(j).selected == true)
			{
				var oOption		= document.createElement("OPTION");
				oOption.value	= document.getElementById(Campo).options(j).value;
				oOption.text	= document.getElementById(Campo).options(j).text;
				document.getElementById(CampoSel).add(oOption); 
			}
		}

		if (document.getElementById(Campo).length > 0)
		{
			for (i=document.getElementById(Campo).options.length-1; i>=0; i--)
			{
				if (document.getElementById(Campo).options(i).selected == true)
					document.getElementById(Campo).remove(i);
			}
		}
	}
}

function RemAll(Campo, CampoSel)
{
	if (document.getElementById(CampoSel).length > 0) 
	{
		for (j=0; j<document.getElementById(CampoSel).options.length; j++)
		{                
			var oOption		= document.createElement("OPTION");
			oOption.value = document.getElementById(CampoSel).options(j).value;
			oOption.text  = document.getElementById(CampoSel).options(j).text;
			document.getElementById(Campo).add(oOption);                 	
		}
		
		if (document.getElementById(CampoSel).length > 0)
		{
			for (i=document.getElementById(CampoSel).options.length-1; i>=0; i--)
				document.getElementById(CampoSel).remove(i);
		}
	}
}

function RemSel(Campo, CampoSel)
{
	if (document.getElementById(CampoSel).length > 0)
	{
		for (j=0; j<document.getElementById(CampoSel).options.length; j++)
		{ 
			if (document.getElementById(CampoSel).options(j).selected == true)
			{
				var oOption		= document.createElement("OPTION");
				oOption.value = document.getElementById(CampoSel).options(j).value;
				oOption.text  = document.getElementById(CampoSel).options(j).text;
				document.getElementById(Campo).add(oOption);                 	
			}
		}

		if (document.getElementById(CampoSel).length > 0)
		{
			for (i=document.getElementById(CampoSel).options.length-1; i>=0; i--)
			{
				if (document.getElementById(CampoSel).options(i).selected == true)
					document.getElementById(CampoSel).remove(i);
			}
		}
	}
}
