function check (form){

	if(form.nome.value==""){
		alert("ATTENZIONE: nome campo obbligatorio");
		form.nome.focus();
		return false;
	}
	if(form.cognome.value==""){
		alert("ATTENZIONE: cognome campo obbligatorio");
		form.cognome.focus();
		return false;
	}
	
	if(form.luogonasc.value==""){
		alert("ATTENZIONE: luogo di nascita campo obbligatorio");
		form.luogonasc.focus();
		return false;
	}

	pattern = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
	if (form.datanasc.value=="" || !pattern.test(form.datanasc.value)) {
		alert("ATTENZIONE: data di nascita campo obbligatorio (gg/mm/aaaa)");
		form.datanasc.focus();
		return false;
	}

	if(form.citta.value==""){
		alert("ATTENZIONE: citta di residenza campo obbligatorio");
		form.citta.focus();
		return false;
	}

	if(form.indir.value==""){
		alert("ATTENZIONE: indirizzo di residenza campo obbligatorio");
		form.indir.focus();
		return false;
	}

	pattern = /^[0-9]{5,5}$/;
	if(form.cap.value=="" || !pattern.test(form.cap.value)) {
		alert("ATTENZIONE: codice di avviamento postale campo obbligatorio");
		form.cap.focus();
		return false;
	}

	if(form.tel.value=="") {
		alert ("ATTENZIONE: inserire il numero di telefono");
		form.tel.focus();
		return false;
	}
	
	pattern = /^[0-9]+$/;
	if (!pattern.test(form.tel.value)) {
		alert ("ATTENZIONE: il numero di telefono puo contenere solo cifre da 0 a 9");
		form.tel.focus();
		return false;
	}
	
	if(form.cell.value=="") {
		alert ("ATTENZIONE: inserire il numero di cellulare");
		form.cell.focus();
		return false;
	}

	pattern = /^[0-9]+$/;
	if(!pattern.test(form.cell.value)) {
		alert ("ATTENZIONE: il numero di cellulare puo contenere solo cifre da 0 a 9");
		form.cell.focus();
		return false;
	}
	
	pattern = /^([a-zA-Z0-9_.]+)*[@][a-zA-Z0-9_-]+([.][a-zA-Z0-9_-]+)*[.][a-zA-Z]{2,4}$/;
	if (form.email.value=="" || !pattern.test(form.email.value)) {
		alert ("ATTENZIONE: inserire e-mail");
		form.email.focus();
		return false;
	}
	
	if (form.email.value!=form.conf_email.value){
		alert("ATTENZIONE: le due mail non coincidono");
		form.conf_email.focus();
		return false;
	}

	
	pattern = /^[0-9]{1,3}$/;
	if(form.numgara.value=="" || !pattern.test(form.numgara.value)) {
		alert("ATTENZIONE: n° di gara campo obbligatorio minore di 999");
		form.numgara.focus();
		return false;
	}
	
	if(form.licenza.value==""){
		alert("ATTENZIONE: licenza obbligatoria");
		form.licenza.focus();
		return false;
	}
	
	if(form.club.value=="0"){
		alert("ATTENZIONE: scegliere il motoclub");
		form.club.focus();
		return false;
	}
	
	if(form.team.value==""){
		alert("ATTENZIONE: inserire il nome del team");
		form.team.focus();
		return false;
	}

/*
	if((form.cat.options[form.cat.options.selectedIndex].text=="MX2 U18")&&((form.numgara.value<201)||(form.numgara.value>249))){
		alert("i partecipanti a gare della categoria selezionata possono avere solo numeri dal 201 al 249");
		form.numgara.focus();
		return false;
	}
*/
	if((form.cat.options[form.cat.options.selectedIndex].text=="MX4 open")&&(form.numgara.value%2==0)){
		alert("i partecipanti a gare della categoria selezionata possono avere solo numeri dispari");
		form.numgara.focus();
		return false;
	}
	
	if((form.cat.options[form.cat.options.selectedIndex].text=="MX4 125")&&(form.numgara.value%2!=0)){
		alert("i partecipanti a gare della categoria selezionata possono avere solo numeri pari");
		form.numgara.focus();
		return false;
	}
/*	
	if((form.cat.options[form.cat.options.selectedIndex].text=="MX2")&&(form.numgara.value>201)&&(form.numgara.value<249)){
		alert("i partecipanti a gare della categoria selezionata possono avere solo numeri dall' 1 al 200 e dal 250 in poi");
		form.numgara.focus();
		return false;
	}
	
	if((form.cat.options[form.cat.options.selectedIndex].text=="MX2 elite")&&(form.numgara.value>201)&&(form.numgara.value<249)){
		alert("i partecipanti a gare della categoria selezionata possono avere solo numeri dall' 1 al 200 e dal 250 in poi");
		form.numgara.focus();
		return false;
	}
			
	if((form.cat.options[form.cat.options.selectedIndex].text=="minicross junior")&&(form.numgara.value%2==0)){
		alert("i partecipanti a gare della categoria selezionata possono avere solo numeri dispari");
		form.numgara.focus();
		return false;
	}
	
	if((form.cat.options[form.cat.options.selectedIndex].text=="minicross senior")&&(form.numgara.value%2!=0)){
		alert("i partecipanti a gare della categoria selezionata possono avere solo numeri pari");
		form.numgara.focus();
		return false;
	}
*/
	if(form.cat.options[form.cat.options.selectedIndex].text=="scegli categoria"){
		alert("ATTENZIONE: categoria non selezionata");
		form.cat.focus();
		return false;
	} 

	if(form.moto.value==""){
		alert("ATTENZIONE: moto obbligatoria");
		form.moto.focus();
		return false;
	}

	if(form.cilindrata.value==""){
		alert("ATTENZIONE: cilindrata obbligatoria");
		form.cilindrata.focus();
		return false;
	}	
	if (form.privacy.checked==false){
		alert ("ATTENZIONE: devi accettare le condizioni della privacy per iscriverti alla gara");
		form.privacy.focus();
		return false;
	}
	
	return true;
}