function compara_data(data_inic,data_fim){
// Verifica se data2 é maior que data1
var data1 = data_inic;
var data2 = data_fim;

if ( parseInt( data2.split( "/" )[2].toString() + data2.split( "/" )[1].toString() + data2.split( "/" )[0].toString() ) > parseInt( data1.split( "/" )[2].toString() + data1.split( "/" )[1].toString() + data1.split( "/" )[0].toString() ) )
{
  return true
}
else
{
  return false
}

}


function formata_data(val)
{
   	var pass = val.value;
	var expr = /[0123456789]/;
		
	for(i=0; i<pass.length; i++){
		// charAt -> retorna o caractere posicionado no índice especificado
		var lchar = val.value.charAt(i);
		var nchar = val.value.charAt(i+1);
	
		if(i==0){
		   // search -> retorna um valor inteiro, indicando a posição do inicio da primeira
		   // ocorrência de expReg dentro de instStr. Se nenhuma ocorrencia for encontrada o método retornara -1
		   // instStr.search(expReg);
		   if ((lchar.search(expr) != 0) || (lchar>3)){
			  val.value = "";
		   }
		   
		}else if(i==1){
			   
			   if(lchar.search(expr) != 0){
				  // substring(indice1,indice2)
				  // indice1, indice2 -> será usado para delimitar a string
				  var tst1 = val.value.substring(0,(i));
				  val.value = tst1;				
 				  continue;			
			   }
			   
			   if ((nchar != '/') && (nchar != '')){
				 	var tst1 = val.value.substring(0, (i)+1);
				
					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + '/' + tst2;
			   }

		 }else if(i==4){
			
				if(lchar.search(expr) != 0){
					var tst1 = val.value.substring(0, (i));
					val.value = tst1;
					continue;			
				}
		
				if	((nchar != '/') && (nchar != '')){
					var tst1 = val.value.substring(0, (i)+1);

					if(nchar.search(expr) != 0) 
						var tst2 = val.value.substring(i+2, pass.length);
					else
						var tst2 = val.value.substring(i+1, pass.length);
	
					val.value = tst1 + '/' + tst2;
				}
   		  }
		
		  if(i>=6){
			  if(lchar.search(expr) != 0) {
					var tst1 = val.value.substring(0, (i));
					val.value = tst1;			
			  }
		  }
	 }
	
     if(pass.length>10)
		val.value = val.value.substring(0, 10);
	 	return true;
}


function SoLetras(campo){

validos="üÁÉÍÓÚáéíóúÂÊÎÔÛâêîôûÃÕãõçÇABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz "

nome=campo.value

for(x=0;x<=nome.length;x++){

	caracter=nome.substr(x,1)
	if(validos.indexOf(caracter)==-1){

	   campo.value= campo.value.replace(caracter,'')
   
    }

  }

}

function LetraseNumeros(campo){

validos="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"

nome=campo.value

for(x=0;x<=nome.length;x++){

	caracter=nome.substr(x,1)
	if(validos.indexOf(caracter)==-1){

	   campo.value= campo.value.replace(caracter,'')
   
    }

  }

}


function SoLetrasSemEspaco(campo){

validos="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

nome=campo.value

for(x=0;x<=nome.length;x++){

	caracter=nome.substr(x,1)
	if(validos.indexOf(caracter)==-1){

	   campo.value= campo.value.replace(caracter,'')
   
    }

  }

}


function LimpaExpressao(campo){

validos="@üÁÉÍÓÚáéíóúÂÊÎÔÛâêîôûÃÕãõçÇABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890:-!?.;,/\)( "

nome=campo.value

for(x=0;x<=nome.length;x++){

	caracter=nome.substr(x,1)
	if(validos.indexOf(caracter)==-1){

	   campo.value= campo.value.replace(caracter,'')
   
    }

  }

}


function MascaraEmail(campo){

validos="1234567890abcdefghijklmnopqrstuvwxyz.@-_"

nome=campo.value

for(x=0;x<=nome.length;x++){
	
    campo.value=campo.value.toLowerCase()

	caracter=nome.substr(x,1)
	if(validos.indexOf(caracter)==-1){

	   campo.value=campo.value.replace(caracter,'')
  
    }else{
	
	   campo.value=campo.value.toLowerCase()
		
	}

  }


}

function RetiraEspacos(campo){

//CHAMAR FUNÇÃO NO EVENTO ONBLUR

String = campo.value

Resultado = String

//Retira os espaços do inicio
//Enquanto o primeiro caracter for igual à "Espaço" 
//1 caracter do inicio é removido

var i
i = 0

if (Resultado.charCodeAt(2-1) == '32'){
}

while (Resultado.charCodeAt(0) == '32'){
   Resultado = String.substring(i,String.length);
  i++;}

//Pega a string já formatada e agora retira os espaços do final
//mesmo esquema, enquanto o ultimo caracter for um espaço, 
//ele retira 1 caracter do final...

while(Resultado.charCodeAt(Resultado.length-1) == "32"){
   Resultado = Resultado.substring(0,Resultado.length-1);
  }

campo.value = Resultado

String = ""

}

function NumeroseSimbolos(campo){

//CHAMAR ESTA FUNÇÃO NOS EVENTOS ONBLUR E ONKEYPRESS

validos="1234567890.-"

nome=campo.value

for(x=0;x<=nome.length;x++){

	caracter=nome.substr(x,1)
	if(validos.indexOf(caracter)==-1){

	   campo.value=campo.value.replace(caracter,'')
   
    }

  }

}

function SoNumeros(campo){

//CHAMAR ESTA FUNÇÃO NOS EVENTOS ONBLUR E ONKEYPRESS

validos="1234567890"

nome=campo.value

for(x=0;x<=nome.length;x++){

	caracter=nome.substr(x,1)
	if(validos.indexOf(caracter)==-1){

	   campo.value=campo.value.replace(caracter,'')
   
    }

  }

}

function MascaraCep(cep){
  
       if(cep.value.length=='5'){cep.value=cep.value+"-"}
}

// VALIDAÇÃO DE E-MAIL
function checkEmail(nome)
{
 if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(nome.value))
 {
   return (true)
 }
   alert("O e-mail informado não é valido.")
   nome.focus();
   return (false)
   
}

//VERIFICA SE A DATA INFORMADA É VÁLIDA
function ValidaData(str) { 

	dia = (str.value.substring(0,2)); 
    mes = (str.value.substring(3,5)); 
	ano = (str.value.substring(6,10)); 

	cons = true; 
	
	// verifica se foram digitados números
	if (isNaN(dia) || isNaN(mes) || isNaN(ano)){
		return false;
	}
		
    // verifica o dia valido para cada mes 
    if ((dia < 01)||(dia < 01 || dia > 30) && 
		(mes == 04 || mes == 06 || 
		 mes == 09 || mes == 11 ) || 
		 dia > 31) { 
    	cons = false; 
	} 

	// verifica se o mes e ano são validos
	if (mes < 01 || mes > 12 || ano.length==0 || parseInt(ano) < 1601) { 
		cons = false; 
	} 

	// verifica se e ano bissexto 
	if (mes == 2 && ( dia < 01 || dia > 29 || 
	   ( dia > 28 && 
	   (parseInt(ano / 4) != ano / 4)))) { 
		cons = false; 
	}
	
	if (cons == false) { 
		//alert("A data inserida não é válida: " + str.value); 
		//str.value = "";
		//str.focus(); 
		return false;
	} 
}

// FUNÇÃO PARA ADICIONAR DIAS EM DATAS
function numdias(mes,ano) {
   if((mes<8 && mes%2==1) || (mes>7 && mes%2==0)) return 31;
   if(mes!=2) return 30;
   if(ano%4==0) return 29;
   return 28;
}

//SOMA DIAS
function somadias(data, dias) {
  data=data.split('/');
  diafuturo=parseInt(data[0])+dias;
  mes=parseInt(data[1]);
  ano=parseInt(data[2]);
  while(diafuturo>numdias(mes,ano)) {
      diafuturo-=numdias(mes,ano);
      mes++;
      if(mes>12) {
          mes=1;
          ano++;
      }
  }

  if(diafuturo<10) diafuturo='0'+diafuturo;
  if(mes<10) mes='0'+mes;

  return diafuturo+"/"+mes+"/"+ano;
}

//CHAMAR ESTA FUNÇÃO NO EVENTO ONBLUR
function ChecaSenha(campo){

validos="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"

nome=campo.value

for(x=0;x<=nome.length;x++){

	caracter=nome.substr(x,1)
	if(validos.indexOf(caracter)==-1){

	   alert("A senha informada possui caracteres invalidos. Por favor, informe uma senha válida contendo apenas LETRAS e NÚMEROS.");
	   campo.focus()
	   campo.value=''
	   
	   return false   
    }

  }

}

