var emailregexp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/; 
var usernamemessage = "";
var emailmessage = "";

var bademail_1 = false;
var bademail_2 = false;
var bademail_3 = false;
var bademail_4 = false;
var bademail_5 = false;

//FORM DI REGISTRAZIONE
function ValidateRegisterForm(thisform){
	
	var message = "";	
	var basemessage = "I seguenti campi sono obbligatori:\n\n";
	
	//username
	if(thisform.username.value.length == 0){
		message = message + "- Username\n";
	}else{
		VerifyUsername(thisform.username.value,false);
	}
	//password
	if(thisform.password.value.length == 0){
		message = message + "- Password\n";
	}
	//nome
	if(thisform.nome.value.length == 0){
		message = message + "- Nome\n";
	}
	//cognome
	if(thisform.cognome.value.length == 0){
		message = message + "- Cognome\n";
	}
	//citta
	if(thisform.citta.value.length == 0){
		message = message + "- Citta'\n";
	}
	//indirizzo
	if(thisform.indirizzo.value.length == 0){
		message = message + "- Indirizzo\n";
	}	
	//cap
	if(thisform.cap.value.length == 0){
		message = message + "- Cap\n";
	}else{
		if(isNaN(thisform.cap.value)){
			message = message + "- Il campo Cap non contiene un valore numerico";
		}
	}	
	//email
	if(thisform.email.value.length == 0){
		message = message + "- Email\n";
	}else{
		//verifica sintassi
		if(!emailregexp.test(thisform.email.value)){
			message = message + "- Il campo email contiene un indirizzo non valido\n";
		}else{
			VerifyEmail(thisform.email.value,true);
		}	
	}	
	//privacy
	if(thisform.consenso[0].checked == false && thisform.consenso[1].checked == false){
		message = message + "- Esprimere il consenso sul Trattamento dei dati\n";
	}else{
		
		if(thisform.consenso[1].checked == true){
			message = message + "- Per inviare i dati e' necessario acconsentire";
		}
		
	}
	
	if(message.length == 0 && usernamemessage.length == 0 && emailmessage.length == 0){
		
		if(confirm("Procedere con l'invio dei dati ?")){
			
			RegisterUser(thisform);
			return false;
			
		}
		
	}else{
		
		message = basemessage + message + usernamemessage + emailmessage;
		alert(message);		
		return false;
		
	}
	
}

//FORM DI SEGNALAZIONE
function ValidateSegnalaForm(thisform){
	
	var message = "";	
	var basemessage = "I seguenti campi sono obbligatori:\n\n";
	
	//punto vendita
	if(thisform.puntovendita.value.length == 0){
		message = message + "- Punto vendita\n";
	}	
	//indirizzo
	if(thisform.indirizzo.value.length == 0){
		message = message + "- Indirizzo\n";
	}
	//citta
	if(thisform.citta.value.length == 0){
		message = message + "- Citta'\n";
	}
	//cap
	if(thisform.cap.value.length == 0){
		message = message + "- Cap\n";
	}else{
		if(isNaN(thisform.cap.value)){
			message = message + "- Il campo Cap non contiene un valore numerico";
		}
	}	
	
	if(message.length == 0){
		
		if(confirm("Procedere con l'invio dei dati ?")){
			
			NotifyStore(thisform);
			return false;
			
		}
		
	}else{
		
		message = basemessage + message;
		alert(message);		
		return false;
		
	}	
	
}

//FORM DI LOGIN
function ValidateLogin(thisform){
	
	var message = "";	
	var basemessage = "I seguenti campi sono obbligatori:\n\n";
	
	//username
	if(thisform.userid.value.length == 0){
		message = message + "- Username\n";
	}
	//password
	if(thisform.password.value.length == 0){
		message = message + "- Password\n";
	}
	
	if(message.length == 0){
		
		if(confirm("Procedere con l'invio dei dati ?")){
			
			thisform.submit();
			
		}
		
	}else{
		
		message = basemessage + message;
		alert(message);		
		return false;
		
	}
	
}

//FORM DI REMIND PASSWORD
function ValidateRemindForm(thisform){
	
	var message = "";	
	var basemessage = "I seguenti campi sono obbligatori:\n\n";
	
	//email
	if(thisform.email.value.length == 0){
		message = message + "- Email\n";
	}else{
		//verifica sintassi
		if(!emailregexp.test(thisform.email.value)){
			message = message + "- Il campo email contiene un indirizzo non valido\n";
		}
	}
	
	if(message.length == 0){
		
		if(confirm("Procedere con l'invio dei dati ?")){
			
			RemindPassword(thisform);
			return false;
			
		}
		
	}else{
		
		message = basemessage + message;
		alert(message);		
		return false;
		
	}
	
}

//FORM DI INVITATION DOPO IL GIOCO
function ValidateInvitationForm(thisform){
	
	var message = "";	
	var emptyemail_1 = true;
	var emptyemail_2 = true;
	var emptyemail_3 = true;
	var emptyemail_4 = true;
	var emptyemail_5 = true;
	
	var advergameproxy = getAdvergameProxy();
	
	//email n. 1
	if(thisform.email_1.value.length == 0){
		emptyemail_1 = true;
	}else{
		emptyemail_1 = false;
		//verifica sintassi
		if(!emailregexp.test(thisform.email_1.value)){
			getTagReferenceById("email_message_1").innerHTML = "Indirizzo email non valido";
			bademail_1 = true;
		}else{			
			getTagReferenceById("email_message_1").innerHTML = "";
			bademail_1 = false;			
			if(advergameproxy.VerifyInvitedEmail(encodeURI(thisform.email_1.value)) > 0){
				getTagReferenceById("email_message_1").innerHTML = "Indirizzo email gia' in uso";
				bademail_1 = true;
			}else{
				getTagReferenceById("email_message_1").innerHTML = "";			
			}			
		}
	}
	//email n. 2
	if(thisform.email_2.value.length == 0){
		emptyemail_2 = true;
	}else{
		emptyemail_2 = false;
		//verifica sintassi
		if(!emailregexp.test(thisform.email_2.value)){
			getTagReferenceById("email_message_2").innerHTML = "Indirizzo email non valido";
			bademail_2 = true;
		}else{			
			getTagReferenceById("email_message_2").innerHTML = "";
			bademail_2 = false;
			if(advergameproxy.VerifyInvitedEmail(encodeURI(thisform.email_2.value)) > 0){
				getTagReferenceById("email_message_2").innerHTML = "Indirizzo email gia' in uso";
				bademail_2 = true;
			}else{
				getTagReferenceById("email_message_2").innerHTML = "";			
			}			
		}
	}
	//email n. 3
	if(thisform.email_3.value.length == 0){
		emptyemail_3 = true;
	}else{
		emptyemail_3 = false;
		//verifica sintassi
		if(!emailregexp.test(thisform.email_3.value)){
			getTagReferenceById("email_message_3").innerHTML = "Indirizzo email non valido";	
			bademail_3 = true;
		}else{			
			getTagReferenceById("email_message_3").innerHTML = "";
			bademail_3 = false;
			if(advergameproxy.VerifyInvitedEmail(encodeURI(thisform.email_3.value)) > 0){
				getTagReferenceById("email_message_3").innerHTML = "Indirizzo email gia' in uso";
				bademail_3 = true;
			}else{
				getTagReferenceById("email_message_3").innerHTML = "";			
			}			
		}
	}
	//email n. 4
	if(thisform.email_4.value.length == 0){
		emptyemail_4 = true;
	}else{
		emptyemail_4 = false;
		//verifica sintassi
		if(!emailregexp.test(thisform.email_4.value)){
			getTagReferenceById("email_message_4").innerHTML = "Indirizzo email non valido";
			bademail_4 = true;
		}else{			
			getTagReferenceById("email_message_4").innerHTML = "";
			bademail_4 = false;
			if(advergameproxy.VerifyInvitedEmail(encodeURI(thisform.email_4.value)) > 0){
				getTagReferenceById("email_message_4").innerHTML = "Indirizzo email gia' in uso";
				bademail_4 = true;
			}else{
				getTagReferenceById("email_message_4").innerHTML = "";			
			}			
		}
	}
	//email n. 5
	if(thisform.email_5.value.length == 0){
		emptyemail_5 = true;
	}else{
		emptyemail_5 = false;
		//verifica sintassi
		if(!emailregexp.test(thisform.email_5.value)){
			getTagReferenceById("email_message_5").innerHTML = "Indirizzo email non valido";
			bademail_5 = true;
		}else{			
			getTagReferenceById("email_message_5").innerHTML = "";
			bademail_5 = false;
			if(advergameproxy.VerifyInvitedEmail(encodeURI(thisform.email_5.value)) > 0){
				getTagReferenceById("email_message_5").innerHTML = "Indirizzo email gia' in uso";
				bademail_5 = true;
			}else{
				getTagReferenceById("email_message_5").innerHTML = "";			
			}			
		}
	}
	
	if(emptyemail_1 && emptyemail_2 && emptyemail_3 && emptyemail_4 & emptyemail_5){
		message = "Compilare almeno un indirizzo email";
	}
	
	if(bademail_1 || bademail_2 || bademail_3 || bademail_4 || bademail_5){
		message = "Uno o pi&ugrave; indirizzi email risultano gi&agrave; in uso.<br/><br/>";		
	}
	
	if(message.length == 0){
		
		if(confirm("Procedere con l'invio dei dati ?")){
			
			SendInvitations(thisform);
			return false;
			
		}
		
	}else{
		
		getTagReferenceById("usermessages_invitations").style.display = "inline";
		getTagReferenceById("usermessages_invitations").innerHTML = message;
		return false;
		
	}
	
}