function anno_bisestile(anno){
	var ritorno = false;
	if(anno % 100 == 0){
		if(anno % 400 == 0){
			ritorno = true;
		}
	}
	else{
		if (anno % 4 == 0){
			ritorno = true;
		}
	} 
	return ritorno;
}	

function checkDate(){
	var campo = document.getElementById('giorno').value + "/" + document.getElementById('mese').value + "/" + document.getElementById('anno').value;
	if(campo != "//"){
		var gg = campo.substring(0,2);
		var mm = campo.substring(3,5);
		var aa = campo.substring(6,10);
		var data_corrente = new Date();
		var data_immessa = aa + "" + mm + "" + gg;
		var anno = parseInt(aa);
		var anno_str = parseInt(data_corrente.getFullYear());
		
		var differenza = anno_str - anno;
		
		if(campo.substring(2,3) != "/" ||
		   campo.substring(5,6) != "/" ||
		   isNaN(campo.substring(0,2)) ||
		   isNaN(campo.substring(3,5)) ||
		   isNaN(campo.substring(6,10))) {
		      alert("Inserire la data nel formato gg/mm/aaaa!");
		      data.value = "";
		      data.focus();
		      return false;
		}
		
		else if(mm < 1 || gg < 1 ) {
		   	alert("Data non valida!");
		   	data.value="";
		   	data.focus();
		   	return false;
		}
		
		else if(mm > 12 ) {
		   	alert("Impossibile utilizzare un valore superiore a 12 per i mesi!");
		   	data.value="";
		   	data.focus();
		   	return false;
		}
			
		else if(aa < 1900) {
		   	alert("Impossibile utilizzare un valore inferiore a 1900 per l'anno!");
		   	data.value="";
		   	data.focus();
		   	return false;
		}
			
		else if( (gg > 30 ) && (mm==11 || mm==4 || mm==6 || mm==9) ) {
		   	alert("Impossibile utilizzare un valore corrispondente al giorno superiore a 30 per il mese indicato!");
		   	data.value="";
		   	data.focus();
		   	return false;
		}
		
		else if (anno_bisestile(aa) == false &&  gg > 28 && (mm==2) ) {
		   	alert ("Impossibile utilizzare un valore corrispondente al giorno superiore a 28 per il mese indicato!");
		   	data.value="";
		   	data.focus();
		   	return false;
		}
		
		else if (anno_bisestile(aa) == true &&  gg > 29 && (mm==2) ) {
		   	alert ("Impossibile utilizzare un valore corrispondente al giorno superiore a 29 per il mese indicato!");
		   	data.value="";
		   	data.focus();
		   	return false;
		}
			
		else if (gg > 31) {
		   	alert("Impossibile utilizzare un valore superiore a 31 per i giorni!");
		   	data.value="";
		   	data.focus();
		   	return false;
		}
		
		if(differenza < 18){
			alert("Non sei maggiorenne, non puoi accedere al sito!");
			return false;
		}
	}
	else{
		alert("Il campo data è obbligatorio!");
		data.focus();
		return false;
	}
	
	document.location = "index.php";
	
}

