﻿function ValidarData(obj){
    if(obj.value == "") return;
    
    var d = parseInt(parseFloat(obj.value.substring(0,obj.value.indexOf('/'))));
    
    var m = parseInt(parseFloat(obj.value.substring(obj.value.indexOf('/')+1,obj.value.lastIndexOf('/'))));
    
    var a = parseInt(parseFloat(obj.value.substring(obj.value.lastIndexOf('/')+1,obj.value.length)));
    
    var er = false;
       
    if( (d < 1 || isNaN(d)) || (m < 1 || m > 12 || isNaN(m)) || (a < 1 || isNaN(a) || String(a).length < 4)) er = true;
    
    switch(m){
        case 1 : if(d > 31) er = true; break;
        case 2 : if(d > 29 || (d > 28 && parseInt(a/4) != a/4)) er = true; break;
        case 3 : if(d > 31) er = true; break;
        case 4 : if(d > 30) er = true; break;
        case 5 : if(d > 31) er = true; break;
        case 6 : if(d > 30) er = true; break;
        case 7 : if(d > 31) er = true; break;
        case 8 : if(d > 31) er = true; break;
        case 9 : if(d > 30) er = true; break;
        case 10 : if(d > 31) er = true; break;
        case 11 : if(d > 30) er = true; break;
        case 12 : if(d > 31) er = true; break;        
    }
      
    if(!er){
        if(d < 10) d = "0"+d;
        if(m < 10) m = "0"+m;
        obj.value = d + "/" + m + "/" + a;
    }
    else
    {
        alert("Data inválida");
        obj.focus();
    }
}