function numerico(stringain)

 {
 
   var stringaout;
   var carattere;
   
   for (i=0;i<stringain.length;i++)
   
    {
      carattere=stringain.charAt(i);
   
      if (parseInt(carattere)!=carattere)
        return false;
    }
    
   return true; 
  
 }
 

function verificadata()

 {
   
   var dataverifica;
   var dataoutput;

   var gginput;   
   var mminput; 
   var aaaainput;

   var ggoutput;   
   var mmoutput; 
   var aaaaoutput;


var datainput=document.getElementById("date").value;


// la prima cosa che si controlla è che la data sia stata effettivamente
// immessa e che sia di 10 caratteri


   if (datainput=="")
    {
     alert ('Please Enter a Date');
	 document.addNews.date.focus();
	 document.addNews.date.style.color='#ff0000';
     return;
    } 
     

   if (datainput.length!=10)
    {
     alert ('Date format should be YYYY/MM/DD');
	 document.addNews.date.focus();
	 document.addNews.date.style.color='#ff0000';
     return;
    } 
    
 
// vengono ricavati il l'anno, il mese ed il giorno dalla data in input

   //Formato YYYY/MM/DD
   aaaainput=datainput.substr(0,4);
   mminput=datainput.substr(5,2);
   gginput=datainput.substr(8,2);  
   
   
   /*
   //Formato DD/MM/YYYY
   gginput=datainput.substr(0,2);  
   mminput=datainput.substr(3,2);
   aaaainput=datainput.substr(6,4);
   */
   
// tramite la funzione numerico viene verificato che il giorno, il mese
// e l'anno immessi siano effettivamente in formato numerico


   if(!(numerico(gginput)))
    {
     alert ('The Day entered in not in a numeric format');
	 document.addNews.date.focus();
	 document.addNews.date.style.color='#ff0000';
     return;
    }
    
   if(!(numerico(mminput)))
    {
     alert ('The Month entered in not in a numeric format');
	 document.addNews.date.focus();
	 document.addNews.date.style.color='#ff0000';
     return;
    } 
    
   if(!(numerico(aaaainput)))
    {
     alert ('The Year entered in not in a numeric format');
	 document.addNews.date.focus();
	 document.addNews.date.style.color='#ff0000';
     return;
    }          
      

// viene utilizzato un oggetto data per la verifica costruendola in base
// ai parametri ricavati in input (l'anno è sottratto di 1 perchè la funzione data
// considera i mesi partendo da zero)


   dataverifica =new Date(aaaainput,mminput-1,gginput)

   
// dalla data creata viene ricavato l'anno, il mese ed il giorno (il mese è incrementato
// di 1 per restituire il mese nel formato standard)


   aaaaoutput=dataverifica.getFullYear().toString(); 
   mmoutput=(dataverifica.getMonth()+1).toString(); 
   ggoutput=dataverifica.getDate().toString();


// poichè le funzioni getMonth e getDate restituiscono valori numerici
// occorre aggiungere lo zero per i mesi e gli anni unitari (es "1/1/2005")
// il controllo è effettuato sulla lunghezza della stringa (se < 2 aggiungi lo zero)


   if (mmoutput.length<2)
     mmoutput="0"+mmoutput;
    
   if (ggoutput.length<2)
     ggoutput="0"+ggoutput;


// La data in output è costituita dai dati ricavati precedentemente separati
// dal carattere "/" dopo aver aggiunto 


   //dataoutput=ggoutput+"/"+mmoutput+"/"+aaaaoutput;
   dataoutput=aaaaoutput+"/"+mmoutput+"/"+ggoutput;


// viene confrontata la data in input con quella in output
// se non coincidono vuol dire che la data non è corretta


   if (datainput!=dataoutput)
   {
     alert('The Date entered in not correct');
	 document.addNews.date.style.color='#ff0000';
	 return false;
   } else {
     //alert('La data inserita è corretta');
	 document.addNews.action = "?action=add";
	 document.addNews.submit();
   }
 }
