function controlloDate(stringData1, stringData2) {
	if (verificadata(stringData1, "arrivo")) {
		if (verificadata(stringData2, "partenza")) {
			if (confrontaConDataOdierna(stringData1)) {
				if (confrontoDate(stringData1, stringData2)) {
					return true;
				}
				else { return false; }
			}
			else { alert("La data di arrivo è minore della data odierna"); return false; }
		}
		else return false;
	}
	else return false;
}



function confrontoDate(strData1, strData2) {
			var dataB1 = strData1.split('/');
			var dataB2 = strData2.split('/');

			r1 = parseInt('' + dataB1[2] + dataB1[1] + dataB1[0]);
			r2 = parseInt('' + dataB2[2] + dataB2[1] + dataB2[0]);

			if (r1 < r2) {
				return true;
			}
			else {
				if (r1 == r2) alert("Le date sono uguali");
				else alert('La data di partenzaprecede la data di arrivo');
				return false;
			}
}



function confrontaConDataOdierna(strData) {
	var arrayData = strData.split('/');

	var dataOggi = new Date();
	var strGiornoOggi = dataOggi.getUTCDate();
	var strMeseOggi = dataOggi.getMonth()+1;

	if (dataOggi.getUTCDate() < 10) strGiornoOggi = '0' + dataOggi.getUTCDate();
	if (strMeseOggi < 10) strMeseOggi = '0' + (dataOggi.getMonth()+1);

	int_dataArr = parseInt('' + arrayData[2] + arrayData[1] + arrayData[0]);
	int_dataOggi = parseInt('' + dataOggi.getUTCFullYear() + strMeseOggi + strGiornoOggi);
	
	if (int_dataOggi <= int_dataArr) return true;
	else return false;
}



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(datainput, fieldLabel) {   
   var dataverifica;
   var dataoutput;

   var gginput;   
   var mminput; 
   var aaaainput;

   var ggoutput;   
   var mmoutput; 
   var aaaaoutput;

	if (datainput=="") {
		alert ('Immettere una data di ' + fieldLabel);
		return false;
    } 

	if (datainput.length!=10)
	{
		alert ('La data di ' + fieldLabel + ' deve essere in formato GG/MM/AAAA');
		return false;
    } 
  
	gginput=datainput.substr(0,2);  
	mminput=datainput.substr(3,2);
	aaaainput=datainput.substr(6,4);

	if(!(numerico(gginput)))
	{
		alert ('Il giorno di ' + fieldLabel + ' inserito non è in formato numerico');
		return false;
	}

	if(!(numerico(mminput)))
    {
		alert ('Il mese di ' + fieldLabel + ' inserito non è in formato numerico');
		return false;
    } 
    
	if(!(numerico(aaaainput)))
	{
		alert ('L`anno ' + fieldLabel + ' inserito non è in formato numerico');
		return false;
	}          
	
	dataverifica =new Date(aaaainput,mminput-1,gginput)
	aaaaoutput=dataverifica.getFullYear().toString(); 
	mmoutput=(dataverifica.getMonth()+1).toString(); 
	ggoutput=dataverifica.getDate().toString();

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


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

	if (datainput!=dataoutput) {
		alert('La data di ' + fieldLabel + ' inserita non è corretta');
		return false;
	}
	else {
		return true;
	}
	return false;
 }

