function ValidaData(valor){
	var verifica
	var vardata = valor.value
	var tam = valor.value.length
	if (tam == 10) {
		var dia = vardata.substring(0,2)
		var sep1 = vardata.substring(2,3)
		var mes = vardata.substring(3,5)
		var sep2 = vardata.substring(5,6)
		var ano = vardata.substring(6,10)

		erro = 'Ocorreu o seguinte erro na Data:\n '
		if (tam==8) {
			valor.focus()
			alert('Preencha a Data corratemente\n [ DD/MM/AAAA ]')
			return (false)
		} 
		else {
			if (mes > 12){
				erro = erro + '- Mês Inválido'
				verifica = 'false'
			} 

			if (mes==01||mes==03||mes==05||mes==07||mes==08||mes==10||mes==12){
				if (dia > 31) {
					erro = erro + '- Dia Inválido para o respectivo mês'
					verifica = 'false'
				}
			} 
			else 
				if (mes== 04 || mes==06 || mes==10 || mes==11){
					if (dia > 30){
						erro = erro + '- Dia Inválido para o respectivo mês'
						verifica = 'false'
					}
				} 
				else 
					if (mes==02) {
						if (dia > 28) {
							erro = erro + '- Dia Inválido para o respectivo mês'
							verifica = 'false'
						}
					}
		}
		if(verifica == 'false'){
		   erro = erro + '\n Preencha novamente'
		   alert(erro)
		   valor.focus()
		   return (false)
		}
	} 
	else {
		alert("Por favor,\n Preencha a data corretamente,\n no formato (dd/mm/aaaa)")
		return (false)
	}
	return (true)
}

function formata(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;
}

