
function chkDateFormat(d)
{

return(d.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})/gi));

}

function chkDateStr(dstr)
{

if ((dstr.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})/gi))!=null)
        return chkDate(RegExp.$1,RegExp.$2,RegExp.$3);
else
        return false;
}

function chkDate(gg,mm,aaaa)
{

n_gg=parseInt(""+gg);
n_mm=parseInt(""+mm);
n_aaaa=parseInt(""+aaaa);

if ( (n_mm>=1) && (n_mm<=12) && (n_aaaa>=1) && (n_aaaa.toString().length==4) )
	{
        if ( (n_gg <= giorniMese(n_mm,n_aaaa)) && (n_gg>=1) )
                {
                return true;
                }
                else return false;
        }
else return false;


}

function isAnnoBisestile(a)
{
var bis;
var m,m1,m2;

a=parseInt(""+a);

bis = false;
m = a % 400;
if (m == 0) bis = false;
else
{
m1 = a % 4;
m2 = a % 100;
 if (m1 == 0 && m2 != 0) bis = true;
}

return bis;
}


function giorniMese(mese,anno)
{
var giorni;

mese=parseInt(""+mese);
anno=parseInt(""+anno);

if (mese==2)
            giorni=28+(isAnnoBisestile(anno)?1:0);
else
    if (mese==11 || mese==4 || mese==6 || mese==9) giorni=30;
        else
                giorni=31;

return giorni;
}
