// Função para verificação de ano bissexto
function AnoBissexto(Ano) 
{
   if (Ano % 100 == 0) 
   {
      if (Ano % 400 == 0) { return true; }
   }
   else 
   {
      if ((Ano % 4) == 0) { return true; }
   }
   Valor = false;
}     
      
///////////////////////////////////////////// MASCARA //////////////////////////////////////////////////
///////////////////////////////////////////// MASCARA //////////////////////////////////////////////////

// Coloca mascara no CPF      
function MascaraCpf(obj){
   if (obj.value.length == 3){obj.value = obj.value + '.';}
   if (obj.value.length == 7){obj.value = obj.value + '.';}
   if (obj.value.length == 11){obj.value = obj.value + '-';}
}     

// Coloca mascara no CNPJ
function MascaraCnpj(obj){
   if (obj.value.length == 2){obj.value = obj.value + '.';}
   if (obj.value.length == 6){obj.value = obj.value + '.';}
   if (obj.value.length == 10){obj.value = obj.value + '/';}
   if (obj.value.length == 15){obj.value = obj.value + '-';}
}     

// Coloca mascara da DATA
function MascaraData(obj){
   if (obj.value.length == 2){obj.value = obj.value + '/';}
   if (obj.value.length == 5){obj.value = obj.value + '/';}
}

// Coloca mascara para hora hh:mm
function MascaraHora(obj){
   if (obj.value.length == 2){obj.value = obj.value + ':';}
}


/// Coloca mascara no CEP     
function MascaraCep(obj){
   if (obj.value.length == 5){obj.value = obj.value + '-';}
}     

///////////////////////////////////////////////////////////////////////////////////////////////////////////

//Verifica se string é numérica
function isNum(obj, Campo) 
   {
      var str = obj.value
      for (var i = 0; i < str.length; i++)
         {
            var ch = str.substring(i, i + 1);
            if ((ch < '0' || '9' < ch) && (ch != '-') && (ch != '(') && (ch != ')'))
               {
                  alert('O campo ' + Campo + ' só aceita números.');
                  obj.value = "";
                  obj.focus();
                  Valor = false;
                  break;
               }
         }
   }

function f_Rpm(obj, Campo) 
   {
      var str = obj.value
      for (var i = 0; i < str.length; i++)
         {
            var ch = str.substring(i, i + 1);
            if ((ch < '0' || '9' < ch) && (ch != '.'))
               {
                  alert('O campo ' + Campo + ' só aceita números e ponto.');
                  obj.value = "";
                  obj.focus();
                  Valor = false;
                  break;
               }
         }
   }

function f_NrEquipamento(obj, Campo) 
   {
      if(obj.value != "")
       {
				var str = obj.value
				for (var i = 0; i < str.length; i++)
					 {
							var ch = str.substring(i, i + 1);
							if ((ch < '0' || '9' < ch) && (ch != 'a') && (ch != 'b') && (ch != 'c') && (ch != 'd') && (ch != 'e') && (ch != 'f') && (ch != 'g') && (ch != 'h') && (ch != 'i') && (ch != 'j') && (ch != 'l') && (ch != 'm') && (ch != 'n') && (ch != 'o') && (ch != 'p') && (ch != 'q') && (ch != 'r') && (ch != 's') && (ch != 't') && (ch != 'u') && (ch != 'v') && (ch != 'x') && (ch != 'z') && (ch != 'w') && (ch != 'y')&& (ch != 'A') && (ch != 'B') && (ch != 'C') && (ch != 'D') && (ch != 'E') && (ch != 'F') && (ch != 'G') && (ch != 'H') && (ch != 'I') && (ch != 'J') && (ch != 'L') && (ch != 'M') && (ch != 'N') && (ch != 'O') && (ch != 'P') && (ch != 'Q') && (ch != 'R') && (ch != 'S') && (ch != 'T') && (ch != 'U') && (ch != 'V') && (ch != 'X') && (ch != 'Z') && (ch != 'W') && (ch != 'Y'))
								 {
										alert('O campo ' + Campo + ' só aceita números e letras.');
										obj.value = "";
										obj.focus();
										Valor = false;
										break;
								 }
					 }
			 }		 
   }
//Verifica se string é numérica para valores
function f_ValorMoeda(obj, Campo) 
   {
      var str = obj.value
      var a = 0;
      for (var i = 0; i < str.length; i++)
         {
            var ch = str.substring(i, i + 1);
            if ((ch < '0' || '9' < ch) && (ch != ',') && (ch != ' '))
               {
                  alert('O campo ' + Campo + ' só aceita valores de moeda (Verifique o exemplo ao lado do campo).');
                  obj.value = "";
                  obj.focus();
                  Valor = false;
                  a++;
                  break;
               }
         }
         
         if(a == 0)
          {
         		Valor = true;
         	}	
   }


// Verifica se o campo não foi preenchido Text e Textarea
function f_Obriga_Campo_text(obj, Campo)
 {
 	if(obj.value == "")
 	 {
 	 	alert('Por favor preencha o campo ' + Campo + '.');
 	 	obj.focus(); 	 	
 	 	Valor = false;		
 	 }
 	else
 	 {
 	 	Valor = true;		
 	 }
 }

// Verifica se o campo Radio não foi preenchido.
function f_Obriga_Campo_radio(obj, Campo, Numero)
 {
 	y=0;
 	for(x=0; x<=Numero;x++)
 	 {
		if(obj+[x].checked == false)
		 {
		  y++;
		  alert('entrou')
		 }
	 }
	 
	if(x == y)
	 {
		 alert('Por favor preencha o campo ' + Campo + '.');
		 Valor = false;
	 }
 }
         
// Envia Página //
function SendUrl(URL) {
   window.location.href = URL;
}

// Validação de hora.
function ValidarHora(obj,Campo)
   {
      if (obj.value != "")
         {
            var str = obj.value
            // Verifica se foram digitados 5 caracteres.
            if (str.length != 5)
               {
                  alert('A hora do campo ' + Campo + ' não foi digitada corretamente.')
                  obj.focus();
                  Valor = false;
               }
            // Verifica se os caracteres são números e barra.
            for (var i = 0; i < str.length; i++)
               {
                  var ch = str.substring(i, i + 1);
                  if ((ch < "0" || "9" < ch) && ch != ":")
                     {
                        alert('O campo ' + Campo + ' só aceita Números e dois pontos ( : ).');
                        obj.focus();
                        Valor = false;
                     }
               }
            // Verifica posicionamento dos dois pontos.
            if ( str.substring(3, 4) == ":" || str.substring(4, 5) == ":" )
               {
                  alert('Os dois pontos (:) do campo ' + Campo + ' estão em posição errada.');
                  obj.focus();
                  Valor = false;
               }
            if ( str.substring(1, 2) == ":" || str.substring(0, 1) == ":" )
               {
                  alert('Os dois pontos (:) do campo ' + Campo + ' estão em posição errada.');
                  obj.focus();
                  Valor = false;
               }
            if(str.substring(0, 2) >= "24")
               {
                  alert('Por favor corrija o campo ' + Campo + ' não existe hora maior que 23:59.\nCaso seja zero hora por favor digite 00:00.');
                  obj.focus();
                  Valor = false;
               }            
             if(str.substring(3, 5) >= "60")
               {
                  alert('Por favor corrija o campo ' + Campo + ' não existe minutos maior que 59,');
                  obj.focus();
                  Valor = false;
               }
					}
		}			

// Validação da Data.
function ValidarData(obj,Campo)
   {
      if (obj.value != "")
         {
            var str = obj.value
            // Verifica se foram digitados 10 caracteres.
            if (str.length != 10)
               {
                  alert('A data do campo ' + Campo + ' não foi digitada corretamente.')
                  obj.focus();
                  Valor = false;
               }
            // Verifica se os caracteres são números e barra.
            for (var i = 0; i < str.length; i++)
               {
                  var ch = str.substring(i, i + 1);
                  if((ch < "0" || "9" < ch) && ch != "/")
                     {
                        alert('O campo ' + Campo + ' só aceita Números e barras.');
                        obj.focus();
                        Valor = false;
                        break;
                     }
               }
            // Verifica o valor do dia.
            if ( (str.substring(0, 2) < 1) || (str.substring(0, 2) > 31) )
               {
                  alert("\nDia incorreto.");
                  obj.focus();
                  Valor = false;
               }
            // Verifica o valor do dia no valor do mês.
            // Fevereiro
            if ( (str.substring(3, 5) == 2 ) && (str.substring(0, 2) > 30) )
               {
                  alert("Fevereiro só tem 28 dias.");
                  obj.focus();
                  Valor = false;
               }
            if ( (str.substring(3, 5) == 2 ) && (str.substring(0, 2) == 30) )
               {
                  alert("Este ano fevereiro vai até 29 dias."); 
                  obj.focus();
                  Valor = false;
               }
            // Abril
            if ( (str.substring(3, 5) == 4 ) && (str.substring(0, 2) > 30) )
               {
                  alert("Abril tem 30 dias.");
                  obj.focus();
                  Valor = false;
               }
            // Junho
            if ( (str.substring(3, 5) == 6 ) && (str.substring(0, 2) > 30) )
               {
                  alert("Junho tem 30 dias.");
                  obj.focus();
                  Valor = false;
               }
            // Setembro
            if ( (str.substring(3, 5) == 9 ) && (str.substring(0, 2) > 30) )
               {
                  alert("stembro tem 30 dias.");
                  obj.focus();
                  Valor = false;
               }
            // Novembro
            if ( (str.substring(3, 5) == 11 ) && (str.substring(0, 2) > 30) )
               {
                  alert("Novembro tem 30 dias.");
                  obj.focus();
                  Valor = false;
               }
            // Verifica o valor do mês.
            if ( (str.substring(3, 5) < 1) || (str.substring(3, 5) > 12) )
               {
                  alert("O ano só tem 12 meses.");
                  obj.focus();
                  Valor = false;
               }
            // Verifica o valor do ano.
            if ( (str.substring(6, 10) < 1900) )
               {
                  alert("O ano tem que ser maior que 1900.");
                  obj.focus();
                  Valor = false;
               }
            // Verifica posicionamento da barra.
            if ( str.substring(3, 4) == "/" || str.substring(4, 5) == "/" )
               {
                  alert('A barra do campo ' + Campo + ' esta em posição errada.');
                  obj.focus();
                  Valor = false;
               }
            if ( str.substring(0, 1) == "/" || str.substring(1, 2) == "/" )
               {
                  alert('A barra do campo ' + Campo + ' esta em posição errada.');
                  obj.focus();
                  Valor = false;
               }
            if ( str.substring(6, 9) == "/" || str.substring(7, 10) == "/" )
               {
                  alert('A barra do campo ' + Campo + ' esta em posição errada.');
                  obj.focus();
                  Valor = false;
               }
            if ( str.substring(2, 3) != "/" || str.substring(5, 6) != "/" )
               {
                  alert('A barra do campo ' + Campo + ' esta em posição errada.');
                  Valor = false;
               }  
         }
   }

   
// VALIDAR EMAIL //
function ValidarEmail(obj,Campo)
   {
      if(obj.value != "")
         {
            //Testa se o browser suporta expressões regulares
            if (window.RegExp) 
               {
                  var tempReg = /a/;
                  if (tempReg.test("a"))
                     {
                        suportado = 1;
                     }
               }
               if (!suportado)
                  {
                     if(((obj.value.indexOf(".") > 0) && (obj.value.indexOf("@") > 0)) &&
                     ((obj.value.lastIndexOf(".") < (obj.value.length - 1)) &&
                     (obj.value.lastIndexOf("@") < (obj.value.length -1))))
                        {
                           //alert("Dados enviados com sucesso");
                        }
                     else
                        {
                           alert('Favor conferir o campo '+ Campo +'.');
                           obj.focus();
                           Valor = false;
                        }
                        //Se o browser suporta expressões regulares,
                        //faz a verificação completa
                  }
               else
                  {
                     var tmp1 = /(@.*@)|(\.\.)|(@\.)|(^\.)/;
                     var tmp2 = /^.+@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
                     if(!tmp1.test(obj.value) && tmp2.test(obj.value))
                        {
                           //alert("Os dados foram enviados com sucesso!");
                        }
                     else
                        {
                           alert('O campo '+ Campo +' foi escrito de forma incorreta!');
                           obj.focus();
                           Valor = false;
                        }
                  }
         }
   }

//validar CNPJ //
function f_Verifica_Cnpj(obj)
   {
			 CNPJ = obj.value;
			 erro = new String;
			 if (CNPJ.length < 18)
			  {
			   erro += "É necessario preencher corretamente o número do CNPJ! ";
			   obj.focus();
         Valor = false;
			  }
			 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! ";
						obj.focus();
						Valor = false;						
					 }	
				}
			//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! "; 
			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!";
			  obj.focus();
			  Valor = false;
			 }

			if(erro.length > 0)
			 {
				alert(erro);
				return false;
			 } 
			return true;
   }
   
//Validar Cpf
 function f_Verifica_Cpf(obj) 
  {
			cpf = obj.value;
			erro = new String;
			if (cpf.length < 11) 
			 {
				erro += "Sao necessarios 11 digitos para verificacao do CPF! "; 
				obj.focus();
				Valor = false;
			 }
			var nonNumbers = /\D/;
			if (nonNumbers.test(cpf)) 
			 {
				erro += "A verificacao de CPF suporta apenas numeros! "; 
				obj.focus();
				Valor = false;				
			 }
			if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
			 {
				erro += "Numero de CPF invalido!"
				obj.focus();
				Valor = false;				
			 }
		 var a = [];
		 var b = new Number;
		 var c = 11;
		 for (i=0; i<11; i++)
			{
			 a[i] = cpf.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 ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]))
			{
			 erro +="Numero de CPF invalido!";
				obj.focus();
				Valor = false;			 
			}
		 if (erro.length > 0)
			{
			 alert(erro);
			 return false;
			}
		 return true;
  }


/////////////////////// FINAL DA PÁGINA ////////////////////////

function scrollit()
 {
	scroll(1,5000);
 }
 
 
/////////////////////////////////////////////////// VERIFICA SE DOIS CAMPOS TEM O MESMO VALOR ////////////////////////////////////////////////////////
/////////////////////////////////////////////////// VERIFICA SE DOIS CAMPOS TEM O MESMO VALOR ////////////////////////////////////////////////////////

function f_VerificaDoisCampos(obj, obj02, Campo)
 {
 	if(obj.value != obj02.value)
 	 {
 	 	alert('Os campos ' + Campo + ' estão com valores diferentes.');
 	 	obj.value='';
 	 	obj02.value='';
 	 	obj.focus(); 	 	
 	 	Valor = false;		
 	 }
 	else
 	 {
 	 	Valor = true;		
 	 }
 }


/// A DATA OBJ01 TEM QUE SER MAIOR QUE OBJ02 ////
function ComaparaData(obj01,obj02,Campo01,Campo02)
 {
  if((obj01.value != "") && (obj02.value != ""))
   {
		Ano01 = obj01.value.substring(10,6);
		Mes01 = obj01.value.substring(3,5);
		Dia01 = obj01.value.substring(0,2);

		Ano02 = obj02.value.substring(10,6);
		Mes02 = obj02.value.substring(3,5);
		Dia02 = obj02.value.substring(0,2);
		
		//alert(Ano02)
		//alert(Mes02)
		//alert(Dia02)
		
		if(Ano02 < Ano01)
		 {
			alert('O campo ' + Campo01 + ' não pode ser menor que a ' + Campo02 + '.')
			obj02.value = '';
			obj02.focus();
			Valor = false;
		 }
	  else if(Ano02 == Ano01)
     {
			if(Mes02 < Mes01)
			 {
				alert('O campo ' + Campo01 + ' não pode ser menor que a ' + Campo02 + '.')
				obj02.value = '';
				obj02.focus();
				Valor = false;
			 }
			else if(Mes02 == Mes01)
			 {
				if(Dia02 < Dia01)
				 {
					alert('O campo ' + Campo01 + ' não pode ser menor que a ' + Campo02 + '.')
					obj02.value = '';
					obj02.focus();
					Valor = false;
				 }			 
			 }
			else
			 {
				Valor = true;
			 }
     }
	 } 
 } 
 
/// A HORA OBJ01 TEM QUE SER MAIOR QUE OBJ02 ////
function ComaparaHora(obj01,obj02,Campo01,Campo02)
 {
  if((obj01.value != "") && (obj02.value != ""))
   {
		Hora01 = obj01.value.substring(0,2);
		Minuto01 = obj01.value.substring(3,5);

		Hora02 = obj02.value.substring(0,2);
		Minuto02 = obj02.value.substring(3,5);
		
		if(Hora02 < Hora01)
		 {
			alert('O campo ' + Campo01 + ' não pode ser menor que a ' + Campo02 + '.')
			obj02.value = '';
			obj02.focus();
			Valor = false;
		 }
		else if(Hora02 == Hora01)
		 {
			if(Minuto02 < Minuto01)
			 {
				alert('O campo ' + Campo01 + ' não pode ser menor que a ' + Campo02 + '.')
				obj02.value = '';
				obj02.focus();
				Valor = false;
			 }
			else
			 {
				Valor = true;
			 }
		 }		 
		else
		 {
		 	Valor = true;
		 }
	 }
 }
