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;

	nk = pf.nick.value;
	em = pf.email.value;
	p1 = pf.pass1.value;
	p2 = pf.pass2.value;

	if ( isEmpty(em) ) {
		alert("Per favore, usa una e-mail valida.");
		return false;
	}
	if ( !isValidLength(em, 5, 60) || !checkString(em, alphanum + mail) || !Contains(em, "@.") || em.indexOf("@") != em.lastIndexOf("@") ) {
		alert("Sembra che la tua e-mail non sia valida: per favore riprova, grazie.");
		return false;
	}
	if ( isEmpty(nk) ){
		alert("Per favore, indica un nick identificativo.");
		return false;
	}
	if ( !isValidLength(nk, 3, 60) || !checkString(nk, alphanum) ) {
		alert("Inserisci un nick di almeno 3 caratteri, grazie.");
		return false;
	}
	if ( isEmpty(p1) ){
		alert("Per favore, inserisci una password.");
		return false;
	}
	if ( !isValidLength(p1, 4, 60) || !checkString(p1, alphanum) ) {
		alert("Inserisci una password di almeno 4 caratteri, grazie.");
		return false;
	}
	if ( isEmpty(p2) ){
		alert("Per favore, conferma la password.");
		return false;
	}
	if ( p1!=p2 ){
		alert("Le password immesse non sono uguali.");
		return false;
	}
	return true;
}

function checkRes2( 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;

	em = pf.email.value;
	p1 = pf.oldpass.value;

	if ( isEmpty(em) ) {
		alert("Per favore, usa una e-mail valida.");
		return false;
	}
	if ( !isValidLength(em, 5, 60) || !checkString(em, alphanum + mail) || !Contains(em, "@.") || em.indexOf("@") != em.lastIndexOf("@") ) {
		alert("Sembra che la tua e-mail non sia valida: per favore riprova, grazie.");
		return false;
	}
	if ( isEmpty(p1) || !isValidLength(p1, 4, 60) || !checkString(p1, alphanum) ){
		alert("Per favore, inserisci la tua vecchia password.");
		return false;
	}
	return true;
}

function checkRes2a( 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;

	em = pf.email.value;
	if ( isEmpty(em) ) {
		alert("Per favore, usa una e-mail valida.");
		return false;
	}
	if ( !isValidLength(em, 5, 60) || !checkString(em, alphanum + mail) || !Contains(em, "@.") || em.indexOf("@") != em.lastIndexOf("@") ) {
		alert("Sembra che la tua e-mail non sia valida: per favore riprova, grazie.");
		return false;
	}
	return true;
}

function checkRes3( 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;

	p = pf.oldpass.value;
	p1 = pf.newpass1.value;
	p2 = pf.newpass2.value;


	if ( isEmpty(p) || !isValidLength(p, 4, 60) || !checkString(p, alphanum) ){
		alert("Per favore, inserisci la tua vecchia password.");
		return false;
	}

	if ( isEmpty(p1) || !isValidLength(p1, 4, 60) || !checkString(p1, alphanum) ){
		alert("Per favore, inserisci la nuova password di almeno 4 caratteri.");
		return false;
	}
	if ( isEmpty(p2) ){
		alert("Per favore, conferma la password.");
		return false;
	}
	if ( p1!=p2 ){
		alert("Le password immesse non sono uguali.");
		return false;
	}
	return true;
}

function checkRes3a( 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;

	p = pf.oldpass.value;
	p1 = pf.newpass1.value;
	p2 = pf.newpass2.value;


	if ( isEmpty(p1) || !isValidLength(p1, 4, 60) || !checkString(p1, alphanum) ){
		alert("Per favore, inserisci la nuova password di almeno 4 caratteri.");
		return false;
	}
	if ( isEmpty(p2) ){
		alert("Per favore, conferma la password.");
		return false;
	}
	if ( p1!=p2 ){
		alert("Le password immesse non sono uguali.");
		return false;
	}
	return true;
}

function checkRes4( 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;

	em = pf.email.value;

	if ( isEmpty(em) ) {
		alert("Per favore, usa una e-mail valida.");
		return false;
	}
	if ( !isValidLength(em, 5, 60) || !checkString(em, alphanum + mail) || !Contains(em, "@.") || em.indexOf("@") != em.lastIndexOf("@") ) {
		alert("Sembra che la tua e-mail non sia valida: per favore riprova, grazie.");
		return false;
	}
	return true;
}

function checkRes5( pf )
{
	var ts = new String();
	var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	var mail = "@.-_";
	var num = "0123456789";
	var alphanum = alpha + num;

	nk = pf.nick.value;
	em = pf.email.value;
	ti = pf.titolo.value;
	co = pf.contenuto.value;

	if ( isEmpty(em) ) {
		alert("Per favore, usa una e-mail valida.");
		return false;
	}
	if ( !isValidLength(em, 5, 60) || !checkString(em, alphanum + mail) || !Contains(em, "@.") || em.indexOf("@") != em.lastIndexOf("@") ) {
		alert("Sembra che la tua e-mail non sia valida: per favore riprova, grazie.");
		return false;
	}
	if ( isEmpty(ti) ){
		alert("Per favore, inserisci un Titolo.");
		return false;
	}
	if ( isEmpty(co) ){
		alert("Per favore inserisci un commento.");
		return false;
	}
	return true;
}

function checkRes6( pf )
{
	cp = pf.captcha.value;

	if ( !isValidLength(cp, 4, 4)) {
		alert("Inserisci il codice antispam dell'immagine");
		return false;
	}
	return true;
}

function checkRes7( pf )
{
	var ts = new String();
	var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	var mail = "@.-_";
	var num = "0123456789";
	var alphanum = alpha + num;

	nm = pf.nome.value;
	em = pf.email.value;
	ti = pf.titolo.value;
	lk = pf.servizilk.value;
	evd = pf.servizievd.value;

	if ( isEmpty(nm) ) {
		alert("Per favore, indica il tuo nome.");
		return false;
	}
	if ( isEmpty(em) ) {
		alert("Per favore, usa una e-mail valida.");
		return false;
	}
	if (lk==0 && evd==0) {
		alert("Per favore, inserisci il servizio al quale sei interessato.");
		return false;
	}
	if ( !isValidLength(em, 5, 60) || !checkString(em, alphanum + mail) || !Contains(em, "@.") || em.indexOf("@") != em.lastIndexOf("@") ) {
		alert("Sembra che la tua e-mail non sia valida: per favore riprova, grazie.");
		return false;
	}
	if ( isEmpty(ti) ){
		alert("Per favore, inserisci il titolo.");
		return false;
	}
	return true;
}