function validarData(e)
{
	PVobjeto = getSouce(e);
	problema = false;
	qtBarra=0;
	tamanho=PVobjeto.value.length;
	if(tamanho>4){
		caracteres="01234567890/";
		for(i=0;i<tamanho;i++){
			algarismo=PVobjeto.value.substring(i,i+1);
			if((caracteres.search(algarismo)==-1)&&!(problema)){
				problema=true;
			}
			if(algarismo=="/"){
				qtBarra++;
			}
		}
		if(!(problema)){
			if(qtBarra>2){
				problema=true;
			}
		}
		if(!(problema)){
			for(i=0;i<tamanho;i++){
				algarismo=PVobjeto.value.substring(i,i+1);
				if(algarismo=="/"){
					if(i==1){
						PVobjeto.value="0"+PVobjeto.value;
					}
					else
					if(i==4){
						PVobjeto.value=PVobjeto.value.substring(0,3)+"0"+PVobjeto.value.substring(3,11);
					}
				}
			}
			tamanho=PVobjeto.value.length;
			if(tamanho<10){
				ano=parseFloat(PVobjeto.value.substring(6,10));
				if((ano>0)&&(ano<30)){
					anoi="20";
					if(ano<10){
						anoi="200";
					}
					PVobjeto.value=PVobjeto.value.substring(0,6)+""+anoi+ano;
				}
				if((ano>29)&&(ano<100)){
					PVobjeto.value=PVobjeto.value.substring(0,6)+"19"+ano;
				}
				if((ano>99)&&(ano<999)){
					PVobjeto.value=PVobjeto.value.substring(0,6)+"0"+ano;
				}
			}
		}
		tamanho=PVobjeto.value.length;
		dia=PVobjeto.value.substring(0,2);
		mes=PVobjeto.value.substring(3,5);
		ano=PVobjeto.value.substring(6,10);
		barra1=PVobjeto.value.substring(2,3);
		barra2=PVobjeto.value.substring(5,6);
		if(!(problema)){
			if((barra1!="/")||(barra2!="/")){
				problema=true;
			}
		}
		if(!(problema)){
			if(tamanho!=10){
				problema=true;
			}
		}
		if(!(problema)){
			if((parseFloat(mes)>12)||(parseFloat(mes)<1)){
				problema=true;
			}
		}
		if(!(problema)){
			maiorDiaArray=[0,31,28,31,30,31,30,31,31,30,31,30,31];
			maiorDia=maiorDiaArray[parseFloat(mes)];
			if((parseFloat(mes)==2)&&(ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0))){
				maiorDia=29;}
			if((parseFloat(dia)>maiorDia)||(parseFloat(dia)<1)){
				problema=true;
			}
		}
	}
	else
	if(tamanho>0){
		problema=true;
	}
	if(problema){
		alert("Data Inválida!")
		PVobjeto.value="";
		PVobjeto.focus();
		return true;
	}
}

function validarHoraHMS(e, paTipo) {
	return  validarHora(e, "HMS")
}

function validarHoraHM(e, paTipo) {
	return  validarHora(e, "HM")
}

function validarHora(e, tipo) {
	var tamanhoHora = (tipo == "HM" ? 5 : 8)
	PVobjeto = getSouce(e);
	problema = false;
	qtSeparador=0;
	tamanho=PVobjeto.value.length;
	if(tamanho>3){
		caracteres="01234567890:";
		for(i=0;i<tamanho;i++){
			algarismo=PVobjeto.value.substring(i,i+1);
			if((caracteres.search(algarismo)==-1)&&!(problema)){
				problema=true;
			}
			if(algarismo==":"){
				qtSeparador++;
			}
		}
		if(!(problema)){
			if(qtSeparador>2 || (qtSeparador>1 && tamanhoHora == 5)){
				problema=true;
			}
		}
		if(!(problema)){
			for(i=0;i<tamanho;i++){
				algarismo=PVobjeto.value.substring(i,i+1);
				if(algarismo==":"){
					if(i == 1)
						PVobjeto.value="0"+PVobjeto.value;
					else
						if(i==4)
							PVobjeto.value=PVobjeto.value.substring(0,3)+"0"+PVobjeto.value.substring(3,11);
				}
			}
			tamanho=PVobjeto.value.length;
			if(tamanho<tamanhoHora){
				var valor = "";
				var index = 0;
				if(tipo == "HMS") {
					valor=PVobjeto.value.substr(6,2);
					index = 6;
				} else  {
					valor=PVobjeto.value.substr(3,2);
					index = 3;
				}
				if(valor != "")
					PVobjeto.value = PVobjeto.value.substring(0,index) + "0" + valor;
				else
					PVobjeto.value = PVobjeto.value.substring(0,index) + "00";
			}
		}
		tamanho=PVobjeto.value.length;
		horas=PVobjeto.value.substring(0,2);
		minutos=PVobjeto.value.substring(3,5);
		segundos=PVobjeto.value.substring(6,10);
		Separador1=PVobjeto.value.substring(2,3);
		Separador2=PVobjeto.value.substring(5,6);
		if(!(problema)){
			if((Separador1!=":")||(Separador2!=":" && tipo == "HMS")){
				problema=true;
			}
		}
		if(!(problema)){
			if(tamanho!=tamanhoHora){
				problema=true;
			}
		}
		if(!(problema)){
			if((parseFloat(horas)>23)||(parseFloat(horas)<0)){
				problema=true;
			}
		}
		if(!(problema)){
			if((parseFloat(minutos)>59)||(parseFloat(minutos)<0)){
				problema=true;
			}
		}
		if(!(problema)){
			if((parseFloat(segundos)>59)||(parseFloat(segundos)<0)){
				problema=true;
			}
		}
	}
	else
	if(tamanho>0){
		problema=true;
	}
	if(problema){
		alert("Hora/Tempo Inválido!")
		PVobjeto.value="";
		PVobjeto.focus();
		return true;
	}
}