//------------------------------------------------ FUNÇÃO QUE TRANSFORMA AS LETRAS EM MAIUSCULAS -------------------------------

function transforma_maiusculas(palavra)
{
	palavra.value = palavra.value.toUpperCase();
}

// --------------------------------------------- FIM DA FUNÇÃO QUE TRANSFORMA AS LETRAS EM MAIUSCULAS -------------------------

//=================================================================================================================

//------------------------------- TIRA ESPAÇOS DE INICIO E FIM DE UMA STRING --------------------------------------

function Trim(str)
{
	return str.replace(/^\s+|\s+$/g,"");
}

// Exemplo de utilização:
//document.write (Trim("  Codigo Fonte    "));

 //-------------------------------- FIM DA FUNÇÃO QUE TIRA ESPAÇOS -------------------------------------

//===============================================================================================

//-------------------------------VALIDAÇÃO DE CNPJ----------------------------

function verifica_cnpj(CNPJ)
{
	
	//alert("entrou aqui!");
	/*return false;*/
  //CNPJ = document.validacao.CNPJID.value;
  erro = new String;
  if (CNPJ.length < 18) 
  	erro += "É necessario preencher corretamente o número do CNPJ! \n\n";
	
  if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-"))
  {
  	if (erro.length == 0) 
		erro += "É necessário preencher corretamente o número do CNPJ! \n\n";
  }
  
  //substituir os caracteres que não são números
  if(document.layers && parseInt(navigator.appVersion) == 4)
  {
     x = CNPJ.substring(0,2);
     x += CNPJ. substring (3,6);
     x += CNPJ. substring (7,10);
     x += CNPJ. substring (11,15);
     x += CNPJ. substring (16,18);
     CNPJ = x; 
  } 
  else 
  {
	  CNPJ = CNPJ. replace (".","");
	  CNPJ = CNPJ. replace (".","");
	  CNPJ = CNPJ. replace ("-","");
	  CNPJ = CNPJ. replace ("/","");
  }
  var nonNumbers = /\D/;
  if (nonNumbers.test(CNPJ)) 
  	erro += "A verificação de CNPJ suporta apenas números! \n\n"; 
  var a = [];
  var b = new Number;
  var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
  
  for (i=0; i<12; i++)
  {
    a[i] = CNPJ.charAt(i);
    b += a[i] * c[i+1];
  }
  if ((x = b % 11) < 2) 
  { 
  	a[12] = 0 
  } 
  else 
  { 
  	a[12] = 11-x 
  }
  b = 0;
  for (y=0; y<13; y++) 
  {
    b += (a[y] * c[y]); 
  }
  if ((x = b % 11) < 2) 
  { 
  	a[13] = 0; 
  } 
  else 
  { 
  	a[13] = 11-x; 
  }
  if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13]))
  {
    erro +="Dígito verificador com problema!";
  }
  if (erro.length > 0)
  {
   return false;
  } 
  else 
  	return true;

}

// -------------------------------- FIM DA VALIDAÇÃO DE CNPJ -------------------------------

//===================================================================================================

//-------------------------------VALIDAÇÃO DE CPF-----------------------------

function verifica_cpf(cpf) 
{

	 //cpf = document.validacao.cpfID.value;
	 
	 var aux = cpf.split(".");
	 var aux2 = "";
	 for(var i = 0;i < aux.length; i++)
	 	aux2 += aux[i];
	 aux2 = aux2.split("-");
	 var aux3 = aux2[0]+aux2[1];
	
	 erro = new String;
	 if (aux3.length < 11) 
		erro += "Sao necessarios 11 digitos para verificacao do CPF! \n\n"; 
	 
	 var nonNumbers = /\D/;
	 
	 if (nonNumbers.test(aux3)) 
		erro += "A verificacao de CPF suporta apenas numeros! \n\n"; 
	 
	 if (aux3 == "00000000000" || aux3 == "11111111111" || aux3 == "22222222222" || aux3 == "33333333333" || aux3 == "44444444444" || aux3 == "55555555555" || aux3 == "66666666666" || aux3 == "77777777777" || aux3 == "88888888888" || aux3 == "99999999999")
	 {
		erro += "Numero de CPF invalido!"
	 }
	 var a = [];
	 var b = new Number;
	 var c = 11;
	 
	 for (i=0; i<11; i++)
	 {
		 a[i] = aux3.charAt(i);
		 if (i < 9) 
			b += (a[i] * --c);
	 }
	 if ((x = b % 11) < 2) 
	 { 
		a[9] = 0 
	 } 
	 else 
	 { 
		a[9] = 11-x 
	 }
	 b = 0;
	 c = 11;
	 for (y=0; y<10; y++) 
		b += (a[y] * c--); 
	 if ((x = b % 11) < 2) 
	 { 
		a[10] = 0; 
	 } 
	 else 
	 { 
		a[10] = 11-x; 
	 }
	 if ((aux3.charAt(9) != a[9]) || (aux3.charAt(10) != a[10]))
	 {
	  erro +="Digito verificador com problema!";
	 }
	 if (erro.length > 0)
	 {
	  //alert(erro);
	  return false;
	 }
	 return true;

}

// ------------------------------------- FIM DA VALIDAÇÃO DE CPF ----------------------------------

//========================================================================================

// ------------------------------VALIDAÇÃO DE E-MAIL -------------------------

function checkMail(mail)
{        
	if(mail == "")
		return true;
	var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);        
	if(typeof(mail) == "string")
	{                
		if(er.test(mail))
			return true;
		else
			return false;
	}
	else
	{ 
		if(typeof(mail) == "object")
		{                
			if(er.test(mail.value))                                         
				return true;                                       
	    }
		else
		{                
			return false;                
		}
	 }
}

// ------------------------------------ FIM DA VALIDAÇÃO DE E-MAILS ------------------------------

//================================================================================================

//--------------------------------VALIDAÇÃO DE DATAS--------------------------

// ------------------------------------------ VALIDAÇÃO QUE VERIFICA SE UMA DATA É MAIOR QUE A OUTRA DATA -----------------------------------------------

function verificaDatas(dtInicial, dtFinal)
{
    
    var dtini = dtInicial;
    var dtfim = dtFinal;
   
    datInicio = new Date(dtini.substring(6,10), 
                         dtini.substring(3,5), 
                         dtini.substring(0,2));
    datInicio.setMonth(datInicio.getMonth() - 1); 
    
    
    datFim = new Date(dtfim.substring(6,10), 
                      dtfim.substring(3,5), 
                      dtfim.substring(0,2));
                     
    datFim.setMonth(datFim.getMonth() - 1); 

    if(datInicio > datFim)
		return true;
	
	return false;
}

// -------------------------------------- FIM DA VALIDAÇÃO QUE VERIFICA SE UMA DATA É MAIOR QUE A OUTRA DATA -------------------------------------------

//=============================================================================================================================================================

// ------------------------------------------------------- VALIDAÇÃO QUE VERIFICA SE DETERMINADA DATA É VÁLIDA OU NÃO -----------------------------------------

 function validaDat(valor) 
 {
	var date=valor;
	if(date == "")
		return true;
	var ardt=new Array;
	var ExpReg=new RegExp("(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}");
	ardt=date.split("/");
	erro=false;
	if ( date.search(ExpReg)==-1){
		erro = true;
		}
	else if (((ardt[1]==4)||(ardt[1]==6)||(ardt[1]==9)||(ardt[1]==11))&&(ardt[0]>30))
		erro = true;
	else if ( ardt[1]==2) {
		if ((ardt[0]>28)&&((ardt[2]%4)!=0))
			erro = true;
		if ((ardt[0]>29)&&((ardt[2]%4)==0))
			erro = true;
	}
	if (erro) 
		return false;
	return true;
}

// ----------------------------------------------------- FIM DA VALIDAÇÃO QUE VERIFICA SE DETERMINADA DATA É VÁLIDA OU NÃO -------------------------------------

//==============================================================================================================================================================

// ------------------------------------------------ FIM DA VALIDAÇÃO DE DATAS ------------------------------------------

//==============================================================================================================================================================

// --------------------------------------------------------- VALIDAÇÃO DE NÚMEROS --------------------------------------

function numeros01() 
{
	tecla = event.keyCode;
	if (tecla >= 44 && tecla <= 57) 
	{
    	return true;
    } 
	else 
	{
    	return false;
    }
}

// -------------------------------------------------------- FIM DA VALIDAÇÃO DE NÚMEROS -------------------------------

// ===========================================================================================================================================

// ---------------------------------------------------- VERIFICA SE A TECLA É ESPAÇO ---------------------------------------------

function numeros02()
{
	var tecla = event.keyCode;
	if(tecla == 32)
	{
		return false;
	}
}

// ---------------------------------------------------- FIM DA VERIFICAÇÃO -------------------------------------------------------







// ====================================================================================================================

// ------------------------------------------------- FUNÇÕES DE MASCARAS ---------------------------------------------------------	
	
function txtBoxFormat(objForm, strField, sMask, evtKeyPress) 
{
      var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

      if(document.all) { // Internet Explorer
        nTecla = evtKeyPress.keyCode; }
      else if(document.layers) { // Nestcape
        nTecla = evtKeyPress.which;
      }

      sValue = objForm[strField].value;

      // Limpa todos os caracteres de formatação que
      // já estiverem no campo.
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( " ", "" );
      sValue = sValue.toString().replace( " ", "" );
      fldLen = sValue.length;
      mskLen = sMask.length;

      i = 0;
      nCount = 0;
      sCod = "";
      mskLen = fldLen;

      while (i <= mskLen) {
        bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
        bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

        if (bolMask) {
          sCod += sMask.charAt(i);
          mskLen++; }
        else {
          sCod += sValue.charAt(nCount);
          nCount++;
        }

        i++;
      }

      objForm[strField].value = sCod;

      if (nTecla != 8) 
	  { // backspace
        if (sMask.charAt(i-1) == "9") 
		{ // apenas números...
          return ((nTecla > 47) && (nTecla < 58)); 
		 } // números de 0 a 9
        else 
		{ // qualquer caracter...
          return true;
        } 
	  }
      else 
	  {
        return true;
      }
    }

// --------------------------------------------------------------- FIM DA FUNÇÃO DE MASCARAS ---------------------------------------------
