function DataItToEn(DataIns){
	var DataTemp, AryData;

	if (DataIns.length == 0){
		alert("Nessuna data inserita.");
		return -1;
	}
	
	DataTemp = new Date(DataIns);

   	if (isNaN(DataTemp)) {
		alert("La data: " + DataIns + " non è una data valida");
		return -1;
	}else{
		AryData = DataIns.split('/');
		if (AryData[0] < 1  | AryData[0] > 31 ){
			alert("Il giorno: " + AryData[0] + " non è un giorno valido");
			return -1;
		}
		if (AryData[1] < 1 | AryData[1] > 12){
			alert("Il mese: " + AryData[1] + " non è un mese valido");
			return -1;
		}

		
		if (AryData[2] <= 1999 ){
			alert("L'anno: " + AryData[2] + " non è un anno valido");
			return -1;
		}

		//Ricompone la data in formato inglese
		DataTemp = new Date(AryData[1] + "/" + AryData[0] + "/" + AryData[2]);
		return DataTemp;
	}
}

function ControllaData(DataIns, Oggi , Obbligatoria) {

	var DataTemp, DataOggi, AryData	

	if (DataIns.length == 0){

		alert("Nessuna data inserita.");
		return -1;
	}

   	if (IsDate(DataIns) != true ) {
   	
		alert("La data: " + DataIns + " non è una data valida");
		return -1;
	}else{
	
		AryData = DataIns.split('/');
		if (AryData[0] < 1  | AryData[0] > 31 ){
			alert("Il giorno: " + AryData[0] + " non è un giorno valido");
			return -1;
		}
		if (AryData[1] < 1 | AryData[1] > 12){
			alert("Il mese: " + AryData[1] + " non è un mese valido");
			return -1;
		}
		
		if (isNaN(AryData[2])){
			alert("L'anno: " + AryData[2] + " non è un anno valido");
			return -1;
		}
		if (AryData[2].length < 4){
			alert("L'anno deve essere di 4 cifre");
			return -1;
		}	
		//if (AryData[2] <= 1990 ){
		//	alert("L'anno non è un presente in archivio");
		//	return -1;
		//}

		//Ricompone la data in formato inglese per fare il confronto		
		DataTemp = new Date(AryData[1] + "/" + AryData[0] + "/" + AryData[2]);
		// Controlla se il giorno inserito e valido per il mese selezionato
		Mese = DataTemp.getMonth()+1;
		if ( AryData[1] != Mese ) {
		  	alert("Il giorno inserito non è valido per il mese inserito");
			return -1;
		}

		// se il booleano OGGI vale true controlla che la data immessa
		// non sia antecedente alla data odierna
		if (Oggi){
			DataOggi = new Date();
			DataOggi.setDate(DataOggi.getDate()-1)
			if (DataTemp.getTime() < DataOggi.getTime()) {
				alert("Non è possibile inserire date antecendi alla data odierna.");
				return -1;
			}
		}else{
			return 0;
		}
	}
}

function IsDate(txtDate)
{
     if (txtDate.length != 10)
        {
  
            return false;
        }
        
        else if
             (
                 isNaN(txtDate.substring(0, 2))       ||
                       txtDate.substring(2, 3) != "/" ||
                 isNaN(txtDate.substring(3, 5))       ||
                       txtDate.substring(5, 6) != "/" ||
                 isNaN(txtDate.substring(6, 15))
             )
        {
            return false;
        }
        else
        {
            return true;
        }
}

function ControllaDate(Inizio, Fine){
	DataIni = DataItToEn(Inizio);
	DataFin = DataItToEn(Fine);

	DataFin.setDate(DataFin.getDate());
	if (DataFin.getTime() < DataIni.getTime()) {
		alert("La data di fine non può essere antecedente alla data di inizio.");
		return false;
	}
}
