function checkString( ts, u )
{
	var currentChar;

	for ( i=0; i<ts.length; i++ ) {
		currentChar = ts.charAt(i);
		if ( u.indexOf(currentChar) == -1 ) return false;
	}

	return true;
}

function isValidLength( ts, min, max )
{
	if ( ts.length >= min && ts.length <= max ) return true;
	else return false;
}

var ws = " \t\n\r";

function isEmpty( ts )
{
	if ( ts == null ) return true;
	if ( ts.length < 1 ) return true;
	if ( ts == "" ) return true;
	if ( checkString( ts, ws ) ) return true;
	return false;
}

function Contains( ts, u )
{
	var currentChar;

	for ( i=0; i<u.length; i++ ) {
		currentChar = u.charAt(i);
		if ( ts.indexOf(currentChar) == -1 ) return false;
	}

	return true;
}

function checkRes( pf )
{
	var ts = new String();
	var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	var special = "A@BCEDFGIHJKMLNOPQSRTUVXZY[\]^_a`bcedfgihjkmlnopqsrtuvxzyàéèìòù{|}' ";
	var name = " -,'";
	var surname = "-' ";
	var mail = "@.-_";
	var num = "0123456789";
	var phone = "-./\+ ";
	var plus = "-. ,°#_&";
	var alphanum = alpha + num;

	ts = pf.nome.value;
	em = pf.email.value;
	dm = pf.domanda.value;
	
	if ( isEmpty(ts) ){
		alert("Per favore, inserisci il nome.");
		return false;
	}
	
	if ( !isEmpty(ts)){
		if ( !isValidLength(ts, 2, 30) || !checkString(ts, alpha + special + name) ) {
			alert("Nome non valido.");
			return false;
		}
	}	
	if ( isEmpty(em) ) {
		alert("Per favore, utilizza una e-mail valida.");
		return false;
	}
	
	if ( isEmpty(dm) ) {
		alert("Per favore, indica una domanda.");
		return false;
	}


	if ( !isValidLength(em, 5, 60) || !checkString(em, alphanum + mail) || !Contains(em, "@.") || em.indexOf("@") != em.lastIndexOf("@") ) {
		alert("Sembra che la Sua e-mail non sia valida: per favore riprovi, grazie.");
		return false;
	}
	return true;
}

function checkResEm3( pf )
{
	var ts = new String();
	var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	var special = "A@BCEDFGIHJKMLNOPQSRTUVXZY[\]^_a`bcedfgihjkmlnopqsrtuvxzyàéèìòù{|}' ";
	var mail = "@.-_";
	var num = "0123456789";
	var alphanum = alpha + num;

	em1 = pf.mail1.value;
	ps1 = pf.pass1.value;
	em2 = pf.mail2.value;
	ps2 = pf.pass2.value;
	em3 = pf.mail3.value;
	ps3 = pf.pass3.value;
	
	if ( isEmpty(em1) && isEmpty(em2) && isEmpty(em3)){
		alert("Per favore, inserisci almeno un'email, grazie.");
		return false;
	}
	
	if ( !isEmpty(em1) && isEmpty(ps1)){
		alert("Per favore, inserisci una password per la prima email.");
		return false;
	}
	
	if ( !isEmpty(ps1)){
		if ( !isValidLength(ps1, 5, 60)){
			alert("Per favore, inserisci una password di almeno 5 caratteri per la prima email.");
			return false;
		}
	}
	if (!isEmpty(em1)) {	
		if ( !isValidLength(em1, 1, 60) || !checkString(em1, alphanum + mail) || !Contains(em1, "@.") || em1.indexOf("@") != em1.lastIndexOf("@") ) {
			alert("Sembra che l'e-mail non sia valida: per favore riprova grazie.");
			return false;
		}
	}
	
	if ( !isEmpty(em2) && isEmpty(ps2)){
		alert("Per favore, inserisci una password per la seconda email.");
		return false;
	}
	
	if ( !isEmpty(ps2)){
		if ( !isValidLength(ps2, 5, 60)){
			alert("Per favore, inserisci una password di almeno 5 caratteri per la seconda email.");
			return false;
		}
	}

	if (!isEmpty(em2)) {	
		if ( !isValidLength(em2, 1, 60) || !checkString(em2, alphanum + mail) || !Contains(em2, "@.") || em.indexOf("@") != em2.lastIndexOf("@") ) {
			alert("Sembra che l'e-mail non sia valida: per favore riprova grazie.");
			return false;
		}
	}
	
	if ( !isEmpty(em3) && isEmpty(ps3)){
		alert("Per favore, inserisci una password per la seconda email.");
		return false;
	}
	
	if ( !isEmpty(ps3)){
		if ( !isValidLength(ps3, 5, 60)){
			alert("Per favore, inserisci una password di almeno 5 caratteri per la seconda email.");
			return false;
		}
	}
	
	if (!isEmpty(em3)) {
		if ( !isValidLength(em3, 1, 60) || !checkString(em3, alphanum + mail) || !Contains(em3, "@.") || em.indexOf("@") != em3.lastIndexOf("@") ) {
			alert("Sembra che l'e-mail non sia valida: per favore riprova, grazie.");
			return false;
		}
	}
	return true;
}

function checkResEm1( pf )
{
	var ts = new String();
	var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	var special = "A@BCEDFGIHJKMLNOPQSRTUVXZY[\]^_a`bcedfgihjkmlnopqsrtuvxzyàéèìòù{|}' ";
	var mail = "@.-_";
	var num = "0123456789";
	var alphanum = alpha + num;

	em1 = pf.mail1.value;
	ps1 = pf.pass1.value;
	
	if ( isEmpty(em1))	{
		alert("Per favore, inserisci un'email, grazie.");
		return false;
	}
	if ( !isEmpty(em1) && isEmpty(ps1)){
		alert("Per favore, inserisci una password per l'email, grazie.");
		return false;
	}
	
	if ( !isEmpty(ps1)){
		if ( !isValidLength(ps1, 5, 60)){
			alert("Per favore, inserisci una password di almeno 5 caratteri per l'mail.");
			return false;
		}
	}
	
	if ( !isValidLength(em1, 1, 60) || !checkString(em1, alphanum + mail) || !Contains(em1, "@.") || em1.indexOf("@") != em1.lastIndexOf("@") ) {
		alert("Sembra che l'e-mail inserita non sia valida: per favore riprova, grazie.");
		return false;
	}
	return true;
}