// JavaScript Document

function y2k(number) { 
	return (number < 1000) ? number + 1900 : number; 
}
function dataValida(txt){
	var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/
	if(re.test(txt)){
		var adata = txt.split('/');
		var gg = parseInt(adata[0],10);
		var mm = parseInt(adata[1],10);
		var aaaa = parseInt(adata[2],10);
		var xdata = new Date(aaaa,mm-1,gg)
		if((y2k(xdata.getYear())==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg))
			return xdata
		else return false
	}else return false
}
function dateDiff(dataa,datab){
	var diffMilli = dataa.getTime()-datab.getTime()
	var divisore = 86400000
	// millisecondi in un giorno
	// ((1000 millisec * 60) * 60) *24
	// min - ora - giorno	
	return Math.round(diffMilli/divisore)
}
function GiorniDiff(txtdataa,txtdatab){
	var aDataA = dataValida(txtdataa);
	var aDataB = dataValida(txtdatab);
	var giorni=''
	if(aDataA && aDataB)
		giorni = dateDiff(aDataA,aDataB)	
	return giorni
}

function valida_data(){
var data_arrivo = document.getElementById("gg").value+'/'+document.getElementById("mm").value+'/'+document.getElementById("aa").value; 
var aDataA = dataValida(data_arrivo);
if (dataValida(data_arrivo)==false) 
{
alert("Attenzione, la data di Arrivo non è valida. Cambia la data di Arrivo");
return false;
}
else {
var oggi = new Date();
arrivo_valido = dateDiff(aDataA,oggi)
if (parseInt(arrivo_valido)<-1)
{ alert("Attenzione, la data di Arrivo è antecedente la data odierna. Cambia la data di Arrivo");
 return false;}
}
var data_partenza = document.getElementById("gg1").value+'/'+document.getElementById("mm1").value+'/'+document.getElementById("aa1").value; 
var aDataB = dataValida(data_partenza);
if (dataValida(data_partenza)==false) 
{
alert("Attenzione, la data di Partenza non è valida. Cambia la data di Partenza");
return false;
}
if(aDataA && aDataB)
giorni = dateDiff(aDataB,aDataA)	
if (parseInt(giorni)==0)
{
 alert("Attenzione, la data di Arrivo e quella di Partenza coincidono. Cambia la data di Partenza");
 return false;
}
else if (parseInt(giorni)<0) 
{
  alert("Attenzione, la data di Partenza è precedente a quella di Arrivo. Cambia la data di Partenza");
  return false;
}
return giorni;
}
