var ItDayOfWeek = new Array("Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab")
var ItNameMonth = new Array("Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic")

function clearForm()
{

UM.gg.value = "";
UM.mm.value = "";
UM.aa.value = "";
UM.ggGE.value = ""
UM.wwGE.value = ""
UM.DPP.value = ""
UM.DminPP.value = ""
UM.DmaxPP.value = ""
UM.gg.focus()

}

function evaldelivery( nGg, nMm, nAa )
{

var Today = new Date()
var nD2 = Today.getDate()
var nM2 = Today.getMonth() + 1
var nY2 = Today.getYear()

if ( !checkNumber( nMm, 1, 12, "mese" ) )
{
	UM.mm.focus()
	UM.mm.select()
	return
}
else
{
	if ( nMm == 1 || nMm == 3 || nMm == 5 || nMm == 7 || nMm == 8 || nMm == 10 || nMm == 12 )
	{
		if ( !checkNumber( nGg, 1, 31, "giorno" ) )
		{
			UM.gg.focus()
			UM.gg.select()
			return
		}
	}
	if ( nMm == 4 || nMm == 6 || nMm == 9 || nMm == 11 )
	{
		if ( !checkNumber( nGg, 1, 30, "giorno" ) )
		{
			UM.gg.focus()
			UM.gg.select()
			return
		}
	}
	if ( nMm == 2 )
	{
		if ( ( nAa % 4 ) == 0 && ( nAa % 1000 ) != 0 )
		{
			if ( !checkNumber( nGg, 1, 29, "giorno" ) )
			{
				UM.gg.focus()
				UM.gg.select()
				return
			}
		}
  		else
		{
			if ( !checkNumber( nGg, 1, 28, "giorno" ) )
			{
				UM.gg.focus()
				UM.gg.select()
				return
			}
		}
	}
}

var DataUM = new Date( nAa, nMm-1, nGg )
var nmSecsUM = DataUM.getTime()
var nmSecsToday = Today.getTime()
var nmSecsDif = nmSecsToday - nmSecsUM
var DdGestAge = parseInt( nmSecsDif / (24*60*60*1000) )
var WwGestAge = parseInt( DdGestAge / 7 )
var dDPP = new Date( DataUM.setTime(DataUM.getTime() + 280*24*60*60*1000) )
var dDMinPP = new Date( dDPP.setTime(dDPP.getTime() ) )
var dDMaxPP = new Date( dDPP.setTime(dDPP.getTime() ) )
var dDMinPP = new Date( dDMinPP.setTime(dDMinPP.getTime() - ( 14*24*60*60*1000) ) )
var dDMaxPP = new Date( dDMaxPP.setTime(dDMaxPP.getTime() + ( 14*24*60*60*1000) ) )

var dayOfWeekDP = ItDayOfWeek[dDPP.getDay()]
var nameMonthDP = ItNameMonth[dDPP.getMonth()]
var dateMonthDP = dDPP.getDate()
var yearDP      = dDPP.getYear()
var DPPText     = dayOfWeekDP + " " + dateMonthDP + " " + nameMonthDP + " " + yearDP

var dayOfWeekMi = ItDayOfWeek[dDMinPP.getDay()]
var nameMonthMi = ItNameMonth[dDMinPP.getMonth()]
var dateMonthMi = dDMinPP.getDate()
var yearMi      = dDMinPP.getYear()
var MiText      = dayOfWeekMi + " " + dateMonthMi + " " + nameMonthMi + " " + yearMi

var dayOfWeekMx = ItDayOfWeek[dDMaxPP.getDay()]
var nameMonthMx = ItNameMonth[dDMaxPP.getMonth()]
var dateMonthMx = dDMaxPP.getDate()
var yearMx      = dDMaxPP.getYear()
var MxText      = dayOfWeekMx + " " + dateMonthMx + " " + nameMonthMx + " " + yearMx

UM.ggGE.value = DdGestAge
UM.wwGE.value = WwGestAge
UM.DPP.value = DPPText
UM.DminPP.value = MiText
UM.DmaxPP.value = MxText

return
}

function checkNumber( input, min, max, msg ) {

msg = input + " è un valore non valido per " + msg
var str = input
if (str.length == 0)
{
	str = "0";
}
for (var i = 0; i < str.length; i++)
{
	var ch = str.substring(i, i + 1)
	if ((ch < "0" || "9" < ch) && ch != '.')
	{
		alert(msg);
		return false;
	}
}
var num = 0 + str
if (num < min || max < num)
{
	alert(msg + " range [" + min + ".." + max + "]");
	return false;
}
input.value = str;
return true;
}

