function keyPressData(obj,e)
{
	obj.maxLength=10;
	var key = window.event ? e.keyCode : e.which;
	var keychar = String.fromCharCode(key);

	if (key ==0 || key ==8)return true;

	if (obj.value.length>9)return false;

	reg = /[\d]/;
	return reg.test(keychar);
}

function keyUpData(obj,e){
	var key = window.event ? e.keyCode : e.which;
	if (key >=33 && key <=40)
		return;
	if(key == 8 || key == 46)
		return;
	var len = obj.value.length;
	var dia = "";
	var mes = "";
	var ano = "";
	obj.value = obj.value.replace(/[^\d]/g,'');
	if (len > 2){
		dia = obj.value.substring(0,2);
		mes = obj.value.substring(2,len);
		if (mes.length >2){
			ano = mes.substring(2,mes.length);
			mes = mes.substring(0,2);
		}
		obj.value = dia;
		if (mes != "")
			obj.value = obj.value +"/"+mes;
		if (ano != "")
			obj.value = obj.value +"/"+ano.substring(0,4);
	}
}

function blurData(obj,e){
	if(obj.value=='')
		return;
	if (!fcData(obj.value)){
		obj.focus();
		return;
	}
}

function fcData(data){
	  var dia = parseInt(data.substring(0,2),10);
	  var mes = parseInt(data.substring(3,5),10);
	  var ano = parseInt(data.substring(6,10),10);
	   if (dia <= 31 && mes <=12 && ano >= 1000){
		  if (data.substring(0,1)=='0' && data.substring(1,2) != '0' || data.substring(0,1)!='0'){
			 if (data.substring(2,3)=="/"){
				if (data.substring(3,4)=='0' && data.substring(4,5)!='0' || data.substring(3,4)!='0'){
					if (data.substring(5,6)=="/"){
						if (data.substring(6,7)== '0' || data.substring(6,7)=='' && data.substring(7,8)!='0'){
							window.alert('O ano que voce digitou nao existe.');
							return false;
						} else {
						  if (mes == 2){
							if ((dia > 0 ) && (dia <= 29)){
							  if (dia == 29){
								if ((ano % 4) == 0){
								  return true;
								}else{
							window.alert('Este dia nao existe, certifique - se de que digitou corretamente.');
								  return false;
							   }
							 }
						   } else {
						  window.alert('Este dia nao existe, certifique - se de que digitou corretamente.');
							  return false;
						   }
						 }
						 if ((mes == 4)||(mes == 6)||(mes == 9)||(mes == 11)){
						   if ((dia > 0 ) && (dia <= 30)){
							 return true;
						   }else{
						   window.alert('Este dia nao existe, certifique - se de que digitou corretamente.');
							 return false;
						   }
						 }
				 if ((mes == 1)||(mes == 3)||(mes == 5)||(mes ==7)||(mes == 8)||(mes == 10)||(mes == 12)) {
						   if ((dia > 0) && (dia <= 31)) {
							  return true;
						   }else{
							 window.alert('Este dia nao existe, certifique - se de que digitou corretamente.');
							 return false;
						   }
						 }
						}
					}else{
					   window.alert('A data foi digitada fora do padrao(dd/mm/aaaa).');
					   return false;
					}
				}else{
				  window.alert('Voce digitou um mes que nao existe.');
				  return false;
				}
			 }else{
			   window.alert('A data foi digitada fora do padrao(dd/mm/aaaa).');
			   return false;
			 }
		  }else{
			window.alert('Voce digitou um dia que nao existe.');
			return false;
		  }
	   }else{
 		window.alert('O dia e/ou o mes que voce digitou nao existe, ou Voce digitou fora do padrao (dd/mm/aaaa).');
		 return false;
	   }
	return true;
}

//HANDLERS DE EVENTOS******************************************************************

function onfocusInData(element,e){
	if (!e) var e = window.event;
	//pararTAB();
}

function onbeforepasteInData(element,e){
	if (!e) var e = window.event;
	e.returnValue = false;
}

function ondragenterInData(element,e){
	if (!e) var e = window.event;
	e.returnValue = false;
}

function onblurInData(element,e){
	if (!e) var e = window.event;
	blurData(element,e)
}

function onkeypressInData(element,e){
	if (!e) var e = window.event;
	keyPressData(element,e);
}

function onkeyupInData(element,e){
	if (!e) var e = window.event;
	keyUpData(element,e);
	proximoCampo(element,e);
}

function onpasteInData(element,e){
	if (!e) e = window.event;
	e.returnValue = false;
}


