function isEmail(who) {
	function isEmpty(who) {
		var testArr=who.split("");
		if(testArr.length==0)
			return true;
		var toggle=0;
		for(var i=0; i<testArr.length; i++) {
			if(testArr[i]==" ") {
				toggle=1;
				break;
			}
		}
		if(toggle)
			return true;
		return false;
	}

	function isValid(who) {
		var invalidChars=new Array("~","!","@","#","$","%","^","&","*","(",")","+","=","[","]",":",";",",","\"","|","{","}","\\","/","<",">","?");
		var testArr=who.split("");
		for(var i=0; i<testArr.length; i++) {
			for(var j=0; j<invalidChars.length; j++) {
				if(testArr[i]==invalidChars[j]) {
					return false;
				}
			}
		}
		return true;
	}

	function isfl(who) {
		var invalidChars=new Array("-","_",".");
		var testArr=who.split("");
		which=0;
		for(var i=0; i<2; i++) {
			for(var j=0; j<invalidChars.length; j++) {
				if(testArr[which]==invalidChars[j]) {
					return false;
				}
			}
			which=testArr.length-1;
		}
		return true;
	}

	function isDomain(who) {
		var invalidChars=new Array("-","_",".");
		var testArr=who.split("");
		if(testArr.length<2||testArr.length>4) {
			return false;
		}
		for(var i=0; i<testArr.length; i++) {
			for(var j=0; j<invalidChars.length; j++) {
				if(testArr[i]==invalidChars[j]) {
					return false;
				}
			}
		}
		return true;
	}


	var testArr=who.split("@");
	if(testArr.length<=1||testArr.length>2) {
		return false;
	}
	else {
		if(isValid(testArr[0])&&isfl(testArr[0])&&isValid(testArr[1])) {
			if(!isEmpty(testArr[testArr.length-1])&&!isEmpty(testArr[0])) {
				var testArr2=testArr[testArr.length-1].split(".");
				if(testArr2.length>=2) {
					var toggle=1;
					for(var i=0; i<testArr2.length; i++) {
						if(isEmpty(testArr2[i])||!isfl(testArr2[i])) {
							toggle=0;
							break;
						}
					}
					if(toggle&&isDomain(testArr2[testArr2.length-1]))
						return true;
					return false;
				}
				return false;
			}
		}
	}
}

/* With RegExp */
function isEmail2(who) {
	var email=/^[A-Za-z0-9][\w-.]+[A-Za-z0-9]@[A-Za-z0-9]([\w-.]+[A-Za-z0-9]\.)+([A-Za-z]){2,4}$/i;
	return(email.test(who));
}



function numcheck(msg)
{
		var i=0;
		var c=0;		
		
		
		/*for(i=0;i<msg.length;i++)
		{
		
		
			if(isNaN(msg.charAt(i))==false)
			{
			c=1;
				
			}
		}*/
		if(c==1)
		return false;
		else
		return true;
}
function ControlloCampi()
{
	
	if(document.FormIscrizione.cognome.value == "")
	{		
		alert("Non è stato inserito il cognome");
		return false;
	}
	else
	{
		
		if(numcheck(document.FormIscrizione.cognome.value)==false)
		{
		alert("Non è stato inserito un cognome valido");
		return false;
		}
		
		
	}
	
	if(document.FormIscrizione.nome.value == "")
	{
		alert("Non è stato inserito il nome");
		return false;
	}
	else
	{
		
		if(numcheck(document.FormIscrizione.nome.value)==false)
		{
		alert("Non è stato inserito un nome valido");
		return false;
		}
		
		
	}
	
	if(document.FormIscrizione.cellulare.value == "")
	{
		alert("Non è stato inserito il numero di cellulare");
		return false;
	}
	else
	{
		if(isNaN(document.FormIscrizione.cellulare.value) == true)
		{
			alert("Il numero di cellulare inserito non è in formato corretto");
			return false;
		}
		if (document.FormIscrizione.cellulare.value.charAt(0)==0)
		{
			document.FormIscrizione.cellulare.value=document.FormIscrizione.cellulare.value.substring(1,document.FormIscrizione.cellulare.value.length);
		
		}
		
		if (document.FormIscrizione.cellulare.value.length < 9)
		{
			alert("Il numero di cellulare inserito è troppo corto");
			return false;
		}
	}
	
	if(document.FormIscrizione.indirizzo.value == "")
	{
		alert("Non è stato inserito l\' indirizzo");
		return false;
	}
	if(document.FormIscrizione.comune.value == "")
	{
		alert("Non è stato inserito il comune");
		return false;
	}
	if((document.FormIscrizione.email.value!="")&(isEmail(document.FormIscrizione.email.value)==false))
	{
	alert("Indirizzo e-Mail non valido");
	return false;
	}


	if(isNaN(document.FormIscrizione.figliacarico.value)==true)
	{
	alert("Campo figli non valido");
	return false;
	}
	
	
	if(document.FormIscrizione.accetto[0].checked==false)
	{
	alert("Per poter proseguire è necessario prestare il consenso per il trattamento dei dati personali");
	return false;
	}

	document.FormIscrizione.submit();
	
}


function AlertCodice()
{
	alert("Codice non corretto.");
}
function AlertSMS()
{
	alert("Errore nell'invio dell'SMS. Registrazione non avvenuta.");

}
