		varCheck = 0;
		function checkDay ()
		{
giorno=document.forms["main"].day_to_pass_next.options[document.forms["main"].day_to_pass_next.selectedIndex].value;
mese=document.forms["main"].month_to_pass_next.options[document.forms["main"].month_to_pass_next.selectedIndex].value;
anno=parseInt(document.forms["main"].year_to_pass_next.options[document.forms["main"].year_to_pass_next.selectedIndex].value); 

giorno = parseInt(giorno, 10);
if (isNaN(giorno))
giorno = 0; 

mese = parseInt(mese, 10);
if (isNaN(mese))
mese = 0; 

anno = parseInt(anno, 10);
if (isNaN(anno))
anno = 0; 


if (anno <= 0)
alert ("scegli un anno uguale o successivo all'anno 1");

else
{

if (((giorno > 31) || (giorno < 1)) && ((mese == 1) || (mese == 3) || (mese == 5) || (mese == 7) || (mese == 8) || (mese == 10) || (mese == 12))) {
alert ("giorno inesistente!");
varCheck=3;
return false;
}
else
{

if (((giorno > 30) || (giorno < 1)) && ((mese == 4) || (mese == 6) || (mese == 9) || (mese == 11))) {
alert ("giorno inesistente!");
varCheck=3;
return false;
}
else
{

if (((((giorno > 28) || (giorno < 1)) && (anno > 1582)) && ((mese == 2) && ((((anno % 4) != 0) || (((anno % 100) == 0) && ((anno % 400) != 0)))))) || (((giorno > 28) || (giorno < 1)) && (anno < 1582) && (mese == 2) && ((anno % 4) != 0))) {
alert ("giorno inesistente!");
varCheck=3;
return false;
}
else
{

if (((giorno > 29) || (giorno < 1)) && (mese == 2)) {
alert ("giorno inesistente!");
varCheck=3;
return false;
}
else
{

if ((mese > 12) || (mese < 1))
alert ("mese inesistente!");

else
{

if ((anno == 1582) && (mese == 10) && (giorno > 4) && (giorno < 15))
alert ("giorno soppresso dalla riforma gregoriana del 1582");

else
{

if ((anno < 1582) || ((anno == 1582) && (mese < 10)) || ((anno == 1582) && (mese == 10) && (giorno < 5)))

{
var s;
var w;
var p;

s = parseInt(s, 10);
if (isNaN(s))
s = 0; 

w = parseInt(w, 10);
if (isNaN(w))
w = 0;

p = parseInt(p, 10);
if (isNaN(p))
p = 0;


if (mese == 1)
s = 0;

if (mese == 2)
s = 31;

if ((mese == 3) && ((anno % 4) != 0))
s = 59;

if ((mese == 3) && ((anno % 4) == 0))
s = 60;

if ((mese == 4) && ((anno % 4) != 0))
s = 90;

if ((mese == 4) && ((anno % 4) == 0))
s = 91;

if ((mese == 5) && ((anno % 4) != 0))
s = 120;

if ((mese == 5) && ((anno % 4) == 0))
s = 121;

if ((mese == 6) && ((anno % 4) != 0))
s = 151;

if ((mese == 6) && ((anno % 4) == 0))
s = 152;

if ((mese == 7) && ((anno % 4) != 0))
s = 181;

if ((mese == 7) && ((anno % 4) == 0))
s = 182;

if ((mese == 8) && ((anno % 4) != 0))
s = 212;

if ((mese == 8) && ((anno % 4) == 0))
s = 213;

if ((mese == 9) && ((anno % 4) != 0))
s = 243;

if ((mese == 9) && ((anno % 4) == 0))
s = 244;

if ((mese == 10) && ((anno % 4) != 0))
s = 273;

if ((mese == 10) && ((anno % 4) == 0))
s = 274;

if ((mese == 11) && ((anno % 4) != 0))
s = 304;

if ((mese == 11) && ((anno % 4) == 0))
s = 305;

if ((mese == 12) && ((anno % 4) != 0))
s = 334;

if ((mese == 12) && ((anno % 4) == 0))
s = 335;


w = (anno + Math.floor((anno - 1) / 4) + s - 2 + giorno);

p = (w % 7);


if (p == 0)
day_name="SABATO";

if (p == 1)
day_name="DOMENICA";

if (p == 2)
day_name="LUNEDI";

if (p == 3)
day_name="MARTEDI";

if (p == 4)
day_name="MERCOLEDI";

if (p == 5)
day_name="GIOVEDI";

if (p == 6)
day_name="VENERDI";
}


else
{


var t;
var x;
var r;

t = parseInt(t, 10);
if (isNaN(t))
t = 0; 

x = parseInt(x, 10);
if (isNaN(x))
x = 0;

r = parseInt(r, 10);
if (isNaN(r))
r = 0;


if (mese == 1)
t = 0;

if (mese == 2)
t = 31;

if ((mese == 3) && ((((anno % 4) != 0) || (((anno % 100) == 0) && ((anno % 400) != 0)))))
t = 59;

if ((mese == 3) && ((((anno % 4) == 0) && (! (((anno % 100) == 0) && ((anno % 400) != 0))))))
t = 60;

if ((mese == 4) && ((((anno % 4) != 0) || (((anno % 100) == 0) && ((anno % 400) != 0)))))
t = 90;

if ((mese == 4) && ((((anno % 4) == 0) && (! (((anno % 100) == 0) && ((anno % 400) != 0))))))
t = 91;

if ((mese == 5) && ((((anno % 4) != 0) || (((anno % 100) == 0) && ((anno % 400) != 0)))))
t = 120;

if ((mese == 5) && ((((anno % 4) == 0) && (! (((anno % 100) == 0) && ((anno % 400) != 0))))))
t = 121;

if ((mese == 6) && ((((anno % 4) != 0) || (((anno % 100) == 0) && ((anno % 400) != 0)))))
t = 151;

if ((mese == 6) && ((((anno % 4) == 0) && (! (((anno % 100) == 0) && ((anno % 400) != 0))))))
t = 152;

if ((mese == 7) && ((((anno % 4) != 0) || (((anno % 100) == 0) && ((anno % 400) != 0)))))
t = 181;

if ((mese == 7) && ((((anno % 4) == 0) && (! (((anno % 100) == 0) && ((anno % 400) != 0))))))
t = 182;

if ((mese == 8) && ((((anno % 4) != 0) || (((anno % 100) == 0) && ((anno % 400) != 0)))))
t = 212;

if ((mese == 8) && ((((anno % 4) == 0) && (! (((anno % 100) == 0) && ((anno % 400) != 0))))))
t = 213;

if ((mese == 9) && ((((anno % 4) != 0) || (((anno % 100) == 0) && ((anno % 400) != 0)))))
t = 243;

if ((mese == 9) && ((((anno % 4) == 0) && (! (((anno % 100) == 0) && ((anno % 400) != 0))))))
t = 244;

if ((mese == 10) && ((((anno % 4) != 0) || (((anno % 100) == 0) && ((anno % 400) != 0)))))
t = 273;

if ((mese == 10) && ((((anno % 4) == 0) && (! (((anno % 100) == 0) && ((anno % 400) != 0))))))
t = 274;

if ((mese == 11) && ((((anno % 4) != 0) || (((anno % 100) == 0) && ((anno % 400) != 0)))))
t = 304;

if ((mese == 11) && ((((anno % 4) == 0) && (! (((anno % 100) == 0) && ((anno % 400) != 0))))))
t = 305;

if ((mese == 12) && ((((anno % 4) != 0) || (((anno % 100) == 0) && ((anno % 400) != 0)))))
t = 334;

if ((mese == 12) && ((((anno % 4) == 0) && (! (((anno % 100) == 0) && ((anno % 400) != 0))))))
t = 335;


x = (anno + Math.floor((anno - 1) / 4) - Math.floor((anno - 1) / 100) + Math.floor((anno - 1) / 400) + t + giorno);

r = (x % 7);


if (r == 0)
day_name="SABATO";

if (r == 1)
day_name="DOMENICA";

if (r == 2)
day_name="LUNEDI";

if (r == 3)
day_name="MARTEDI";

if (r == 4)
day_name="MERCOLEDI";

if (r == 5)
day_name="GIOVEDI";

if (r == 6)
day_name="VENERDI";

}
	
	// 20111130
	if ((day_name!="SABATO")&&(day_name!="DOMENICA")) { 
		alert("ATTENZIONE! Questa struttura e' prenotabile solo nei giorni di sabato e domenica. Giorno selezionato: "+day_name+"."); 
		varCheck=3;
		return false;
	}

}
}
}
}
}
}
}
		
		}
		function validate ()
		{
  		 	mtp = parseInt(document.forms["main"].month_to_pass_next.options[document.forms["main"].month_to_pass_next.selectedIndex].value - 1)
  			dtp = document.forms["main"].day_to_pass_next.options[document.forms["main"].day_to_pass_next.selectedIndex].value
  			ytp = parseInt(document.forms["main"].year_to_pass_next.options[document.forms["main"].year_to_pass_next.selectedIndex].value)

  			m = parseInt(document.forms["main"].monthcheck.value - 1)
  			d = document.forms["main"].daycheck.value
  			y = parseInt(document.forms["main"].yearcheck.value)

  			var passed = (new Date(ytp,mtp,dtp)).getTime()
  			var actual = (new Date(y,m,d)).getTime()
  
  			if ( passed < actual )
			
			{
    		 	alert ( "La data scelta e' precedente a quella prenotabile (data odierna). Selezionare una nuova data." );
    			varCheck = 1;
				return false;
  			}
			else 
			{
			varCheck = 0;
			}
			var TSlowerlimitSuspension = (new Date(2007,2,19)).getTime()
			var TSupperlimitSuspension = (new Date(2007,3,10)).getTime()
			
			if (( passed > TSlowerlimitSuspension ) && ( passed < TSupperlimitSuspension ))
			
			{
    		 	alert ( "La data scelta cade nell'intervallo tra il 19 Marzo ed il 9 Aprile, giorni in cui le visite non sono prenotabili. Scegliere una data successiva al 9 Aprile." );
    			varCheckSFLSuspension = 1;
				return false;
  			}
			else 
			{
			varCheckSFLSuspension = 0;
			}

			var SFlowerlimit = (new Date(2006,1,11)).getTime()
			if ( passed < SFlowerlimit )
			
			{
    		 	alert ( "La data scelta e' precedente all'11 Febbraio 2006, primo giorno utile per prenotare questo evento. Scegliere un altro giorno." );
    			varCheckSFL = 1;
				return false;
  			}
			else 
			{
			varCheckSFL = 0;
			}
			
  		}
		function controllo () {
			if (varCheckSFLSuspension==1) {
    		 	alert ( "La data scelta cade nell'intervallo tra il 19 Marzo ed il 9 Aprile, giorni in cui le visite non sono prenotabili. Scegliere una data successiva al 9 Aprile." );
				return false;
			}
			if (varCheckSFL==1) {
    		 	alert ( "La data scelta e' precedente all'11 Febbraio 2006, primo giorno utile per prenotare questo evento. Scegliere un altro giorno." );
				return false;
			}
			if (varCheck==1) {
    		 	alert ( "La data scelta e' precedente a quella prenotabile (data odierna). Selezionare una nuova data." );
				return false;
			}
			if (varCheck==3) {
   		 	   alert ( "Selezionare una nuova data." );
			   return false;
		 	}
			if(varCheck==0) {
				document.forms["main"].submit();
			}
		}

