		varCheck = 0;
		varCheckSFL = 0;
		varCheckSFU = 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";

}
}
}
}
}
}
}
}

var pasquetta = (new Date(2004,3,12)).getTime()
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)
var passed = (new Date(ytp,mtp,dtp)).getTime()
if ((day_name=="LUNEDI")&&( passed != pasquetta)) {
varCheck=4;
return false;
}
// if (((day_name=="MARTEDI") || (day_name=="MERCOLEDI") || (day_name=="GIOVEDI")) && (mtp=="9")) {
// varCheck = 6;
// return false;
// }

// if (((day_name=="MARTEDI") || (day_name=="MERCOLEDI") || (day_name=="GIOVEDI") || (day_name=="VENERDI")) && ((mtp=="10") || (mtp=="11") || (mtp=="12") || (mtp=="0"))) {
// varCheck = 7;
// return false;
// }
//if (((day_name=="DOMENICA") || (day_name=="LUNEDI") || (day_name=="MARTEDI") || (day_name=="MERCOLEDI")) && (((mtp=="7") && (dtp>="04" )) || (mtp=="8") || (mtp=="9") || (mtp=="10")|| (mtp=="11") || (mtp=="12") || (mtp=="0"))) {
// varCheck=8;
// return false;
//} else {

if (day_name=="DOMENICA") {
 varCheck=4;
 return false;
}
if (day_name=="LUNEDI") {
 varCheck=4;
 return false;
}
if (day_name=="MARTEDI") {
 varCheck=4;
 return false;
}
if (day_name=="MERCOLEDI") {
 varCheck=4;
 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)
			h = parseInt(document.forms["main"].hourcheck.value)

  			var passed = (new Date(ytp,mtp,dtp)).getTime()
  			var actual = (new Date(y,m,d)).getTime()
  			
  			if ( ( passed <= actual ) && ( h >= '19' ) )
			
			{
    		 	alert ( "La data scelta è precedente a quella prenotabile (un giorno in più della data attuale). Selezionare una nuova data." );
    			varCheck = 1;
				return false;
  			}
			else 
			{
			varCheck = 0;
			}

  			if ( ( passed < actual ) && ( h < '19' ) )
			
			{
    		 	alert ( "La data scelta è precedente a quella prenotabile (data attuale). Selezionare una nuova data." );
    			varCheck = 5;
				return false;
  			}
			else 
			{
			varCheck = 0;
			}
			
			var SFupperlimit = (new Date(2005,9,29)).getTime()
  			if ( passed > SFupperlimit )
			
			{
    		 	alert ( "La data scelta è successiva al 29 Ottobre 2005, ultimo giorno prenotabile per questo evento. Scegliere un altro giorno." );
    			varCheckSFU = 1;
				return false;
  			}
			else 
			{
			varCheckSFU = 0;
			}

			var SFlowerlimit = (new Date(2005,4,12)).getTime()
  			if ( passed < SFlowerlimit )
			
			{
    		 	alert ( "La data scelta è precedente al 12 Maggio 2005, primo giorno utile per prenotare questo evento. Scegliere un altro giorno." );
    			varCheckSFL = 1;
				return false;
  			}
			else 
			{
			varCheckSFL = 0;
			}
			
  		}
		function controllo () {
			if (varCheckSFU==1) {
    		 	alert ( "La data scelta è successiva al 29 Ottobre 2005, ultimo giorno prenotabile per questo evento. Scegliere un altro giorno." );
				return false;
			}
			if (varCheckSFL==1) {
    		 	alert ( "La data scelta è precedente al 12 Maggio 2005, primo giorno utile per prenotare questo evento. Scegliere un altro giorno." );
				return false;
			}
			if (varCheck==1) {
    		 	alert ( "La data scelta è precedente a quella prenotabile (un giorno in più della data attuale). Selezionare una nuova data." );
				return false;
			}
			if (varCheck==3) {
   		 	   alert ( "Selezionare una nuova data." );
			   return false;
		 	}
			
 			if (varCheck=="4") {
   		 	   alert ( "Il giorno scelto cade di Domenica, Lunedì, Martedì o Mercoledì, giorni in cui lo spettacolo non si tiene. Selezionare una nuova data." );
			   return false;
			}
			if (varCheck=="5") {
    		 	alert ( "La data scelta è precedente a quella prenotabile (data attuale). Selezionare una nuova data." );
				return false;
			}
			if (varCheck=="6") {
    		 	alert ( "In questo mese lo spettacolo si tiene solo di venerdì, sabato e domenica. Scegliere una nuova data." );
				return false;
			}
			if (varCheck=="7") {
    		 	alert ( "In questo mese lo spettacolo si tiene solo di sabato e domenica. Scegliere una nuova data." );
				return false;
			}
 			if (varCheck=="8") {
   		 	   alert ( "Il giorno scelto cade di Domenica, Lunedì, Martedì o Mercoledì, giorni in cui lo spettacolo non si tiene. Selezionare una nuova data." );
			   return false;
			}
			if(varCheck==0) {
				document.forms["main"].submit();
			}
		}
