function ControllaGiorniMese(anno, mese, giorno)
    {
    if (mese>12 || mese<1) return false;
	if (anno<1900) return false;
	maxDay = 31;
	GiornoValido=true;

	if (mese == 4 || mese == 6 ||	mese == 9 || mese == 11)
		maxDay = 30;
	else
	if (mese == 2)
	{
		if (anno % 4 > 0)
			maxDay =28;
		else
		if (anno % 100 == 0 && anno % 400 > 0)
			maxDay = 28;
		else
			maxDay = 29;
	}
	if (giorno>maxDay) GiornoValido=false;

	return GiornoValido;
    }


function EstraiGiorno(data)
{
  return data.substr(0,2);
}

function EstraiMese(data)
{
  i=data.indexOf("/")
  return data.substr(i+1,2);
}

function EstraiAnno(data)
{
  i=data.lastIndexOf("/");
  return data.substr(i+1,4);
}


function DataPulita(nomeform,nomecampo)
{
   var Data=document[nomeform][nomecampo].value;
   buffer=""
   input = new String;
   input.value=Data;
   for(i=0;i<input.value.length;i++)
     {
        if ((input.value.charAt(i)>="0") && (input.value.charAt(i)<="9")) buffer=buffer+input.value.charAt(i);
     }
    // metto gli slash
   input.value=buffer;
   buffer=""
   for(i=0;i<input.value.length;i++)
    {
        if (i==2) buffer=buffer+"/";
        if (i==4) buffer=buffer+"/";
        buffer=buffer+input.value.charAt(i);
    }   

  // riempio con __/__/_____
/*
   input.value=buffer;

   for(i=input.value.length;i<10;i++)
   {
      switch(i)
       {
         case 2: buffer=buffer+"/"; break;
         case 5: buffer=buffer+"/"; break;
         default: buffer=buffer+"_";
       }
   }
*/
  return buffer
}


function FormattaData(nomeform,nomecampo)
{
  if (event.keyCode!=8 && event.keyCode!=37 && event.keyCode!=39 && event.keyCode!=46) 
	document[nomeform][nomecampo].value=DataPulita(nomeform,nomecampo);

}


function ValidaConMessaggio(nomeform,nomecampo,messaggio)
{

  data=document[nomeform][nomecampo].value;
  var giorno=EstraiGiorno(data);
  var mese=EstraiMese(data);
  var anno=EstraiAnno(data);

   if(!ControllaGiorniMese(anno,mese,giorno)) alert(messaggio);

}

function ValidaData(nomeform,nomecampo)
{
  data=document[nomeform][nomecampo].value;
  var giorno=EstraiGiorno(data);
  var mese=EstraiMese(data);
  var anno=EstraiAnno(data);

  return ControllaGiorniMese(anno,mese,giorno);
}

