function validString (stringa)
{
	var len=stringa.length;
	for(i=0;i<len;i++) 
	{
		carAscii = stringa.charCodeAt(i);
		if (!(carAscii==10 || carAscii==13 || carAscii >=32))
		{
			return false;
		}
	}
	return true;
}



// check for digits

function isDigit(car)
{
	if ((car< '0') || (car > '9'))
		return false;
	else 
		return true;
}




// check for letters

function isLetter(car)
{
	if ((car< 'A') || (car > 'Z')) 
		return false;
	else
		return true;
}



//check if a string is a valid integer

function validNumber(txt)
{
	var i;
	if (txt.length == 0)
		return true;

	for (i=0; i<txt.length; i++)

	if (!(isDigit(txt.charAt(i)))) 
		return false;
	else
		return true;
}


function validAnnoNascita(anno)
{
	var i;
	var validate_numb;
	validate_numb = 0;

	if (anno.length == 4)
	{
		for(i=0; i<anno.length; i++)
		{
			if(isDigit(anno.charAt(i))) 
				validate_numb++;
			else
				validate_numb--;
		}
		
		if(validate_numb==4)
			return true;
		else
			return false;
	}
	else
	{
		return false;
	}
}





// *** 09/12/2009 funzione javascript pił completa per il controllo e la validazione della mail ***
function controllo_email(txt)
{
	// CONTROLLO @
	if (txt.indexOf('@') == -1)
	{
		return false;
	}

	// CONTROLLO CARATTERI NON VALIDI
	uppertxt = txt.toUpperCase();
	var i;
	for (i=0; i<uppertxt.length; i++)
	{
		if (!(isDigit(uppertxt.charAt(i)) || isLetter(uppertxt.charAt(i)) || (uppertxt.charAt(i) == '_') || (uppertxt.charAt(i) == '-') || (uppertxt.charAt(i) == '.') || (uppertxt.charAt(i) == '@')))
		{
			return false;
		}
	}

	mail		= txt.split("@");

	//** CONTROLLO STRINGA PRIMA DELLA @
	user		= mail[0];
	if(user.length < 2)
	{
		return false;
	}

	//** CONTROLLO STRINGA DOPO LA @
	// 1. ESISTENZA DEL PUNTO
	domain		= mail[1];
	if (domain.indexOf('.') == -1)
	{
		return false;
	}

	splitdomain = domain.split(".");
	
	// 2. DOMINIO E/O EVENTUALI SOTTODOMINI
	var j;
	for (j=0; j<(splitdomain.length - 1); j++)
	{
		if(splitdomain[j].length < 2)
		{
			return false;
		}
	}

	// 3. ESTENSIONE DEL DOMINIO, ALMENO DUE CARATTERI
	domain_ext	= splitdomain[(splitdomain.length - 1)];
	if(domain_ext.length < 2)
	{
		return false;
	}

	// 4. ESTENSIONE DEL DOMINIO, CONTROLLO PRESENZA NUMERI
	var n;
	for(n=0; n<domain_ext.length; n++)
	{
		car = domain_ext.charAt(n);
		if ((car >= '0') && (car <= '9'))
		{
			return false;
		}
	}

	return true;
}



function check_data_blog(myForm)
{
	var missingList		= "";
	var errorList		= "";
	

	var nome_trimmed		= myForm.nome.value.replace(/ /g, "");
	var citta_trimmed		= myForm.citta.value.replace(/ /g, "");
	var email_trimmed		= myForm.email.value.replace(/ /g, "");
	var testo_trimmed		= myForm.testo.value.replace(/ /g, "");


	if (myForm.nome.value=="" || nome_trimmed.length < 1)
	{
		missingList += ". Nome\n";
	}
	else
	{
		if (!(validString(myForm.nome.value)))
		{
			errorList += ".  Nome\n";
		}
	}

	if (myForm.citta.value=="" || citta_trimmed.length < 2)
	{
		missingList += ". Cittą\n";
	}
	else
	{
		if (!(validString(myForm.citta.value)))
		{
			errorList += ".  Cittą\n";
		}
	}

	if (myForm.email.value=="" || email_trimmed.length==0)
	{
		missingList += ". Email\n";
	}
	else
	{
		if (!(controllo_email(myForm.email.value)))
		{
			errorList += ". Email\n";
		}
	}

	if (myForm.testo.value=="")
	{
		missingList += ". Commento\n";
	}
	else
	{
		if (!(validString(myForm.testo.value)))
		{
			errorList += ".  Commento\n";
		}
	}


	if (missingList != "")
	{
		alert("I seguenti campi contengono informazioni incomplete:\n"+missingList);
		return false;
	}
	else if (errorList!= "")
	{
		var output = "\nI seguenti campi contengono caratteri non validi:\n"+errorList;
		alert(output);
		return false;
	}
	else
	{
		return true;					
	}
}
