# Execute a fun��o passando como par�metro
# o valor do campo datetime do MySQL ou Oracle
# Desenvolvido por: Carlos Henrique Renna de Vitta
# e-mail: chrvitta@yahoo.com.br

FUNCTION Idade($dDate) {

    $cRet="";
    $nYear = date("Y")-substr($dDate,6,4);
    $nMonth = date("m")-substr($dDate,3,2);
    $nDays = date("d")-substr($dDate,0,2);
    $nMonthNasc = 0;

    IF (date("Y")>=substr($dDate,6,4) AND $dDate != "01/01/1900") {

    	IF($nMonth<0 OR $nMonth==0 AND $nDays<0) { $nYear = $nYear-1 ; } else { $nYear = $nYear; } 
        
        IF($nDays<0) { IF($nMonth<=0) {$nMonth = 11+$nMonth ;} else {$nMonth = $nMonth-1; } } else {$nMonth =$nMonth ;}
        
        IF ($nYear==0) {$cRet = "";} else {$cRet = $nYear;}
        
        IF($nYear==1) {$cRet.=" ano";} else {$cRet.=" anos";}
        
		IF($nMonth>0) { IF($nYear>0) {$cRet.=" e ".strzero($nMonth,2);} else {$cRet.="";} }
		
		IF($nMonth==1) {$cRet.=" m�s";} elseif($nMonth>1) {$cRet.=" meses";}

        IF ($nYear==0 AND $nMonth==0) {
            $nMonthNasc = date("m",$dDate);
            IF($nDays<0) { IF($nMonthNasc==2) {$nDays=28;} elseif($nMonthNasc%2==0) { if($nMonthNasc>7) {$nDays=31;} else {$nDays=30;} }
            elseif($nMonthNasc%2==0) { if($nMonthNasc>7) {$nDays=31;} else {$nDays=30;}} + $nDays; }

            IF($nYear==0 AND $nMonth==0) {$cRet.="";} else {$cRet.=" e ";}
            $cRet.=strzero($nDays,2)+" dias";
        }
    } 

    ELSE {
        	$cRet = "Idade inv�lida" ;
		 }
 

RETURN $cRet ;

}