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 checkIscrizione(pf){
	user = pf.user.value;
	pass = pf.pass.value;
	confpass = pf.confpass.value;
	cond = pf.cond.value;	
	email = pf.email.value;	
	captcha= pf.captcha.value;
	
	var ts = new String();
	var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	var mail = "@.-_";
	var num = "0123456789";
	var name = " -,'";	
	var alphanum = alpha + num;
	
	if ( isEmpty(captcha) ) {
		alert("Inserire le lettere presenti nell'immagine di controllo.");
		return false;
	}
	if ( !isValidLength(captcha, 4, 4) || !checkString(captcha, alphanum)) {
		alert("Inserire le 4 lettere presenti nell'immagine di controllo.");
		return false;
	}
	if ( isEmpty(user) ) {
		alert("Inserire un nick utente");
		return false;
	}
	if ( !isValidLength(user, 4, 60) || !checkString(user, alphanum+name)) {
		alert("Inserire un nome utente di almeno 4 caratteri alfanumerici.");
		return false;
	}
	if ( isEmpty(email) ) {
		alert("Inserire un'email.");
		return false;
	}
	if ( !isValidLength(email, 5, 80) || !checkString(email, alphanum + mail) || !Contains(email, "@.") || email.indexOf("@") != email.lastIndexOf("@") ) {
		alert("Inserire un'email valida");
		return false;
	}
	if ( isEmpty(pass) ) {
		alert("Inserire una password");
		return false;
	}
	if ( !isValidLength(pass, 5, 60) || !checkString(pass, alphanum+name)) {
		alert("Inserire una password di almeno 5 caratteri alfanumerici.");
		return false;
	}
	if (pass!=confpass){
		alert("Le due password immesse non sono uguali.");
		return false;
	}
	if ( cond!='y' ) {
		alert("Per continuare dovete accettare le condizioni");
		return false;
	}
	
	return true;
}

function checkIscrizioneAut(pf){
	user = pf.add_aut_user.value;
	pass = pf.add_aut_pass.value;
	confpass = pf.add_aut_confpass.value;
	cond = pf.add_aut_cond.value;	
	email = pf.add_aut_email.value;	
	cf_piva = pf.add_aut_cf_piva.value;
	captcha= pf.captcha.value;
	
	var ts = new String();
	var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	var mail = "@.-_";
	var num = "0123456789";
	var name = " -,'";	
	var alphanum = alpha + num;
	
	if ( isEmpty(captcha) ) {
		alert("Inserire le lettere presenti nell'immagine di controllo.");
		return false;
	}
	if ( !isValidLength(captcha, 4, 4) || !checkString(captcha, alphanum)) {
		alert("Inserire le 4 lettere presenti nell'immagine di controllo.");
		return false;
	}
	if ( isEmpty(user) ) {
		alert("Inserire un nick utente");
		return false;
	}
	if ( !isValidLength(user, 4, 60) || !checkString(user, alphanum+name)) {
		alert("Inserire un nome utente di almeno 4 caratteri alfanumerici.");
		return false;
	}
	if ( isEmpty(email) ) {
		alert("Inserire un'email.");
		return false;
	}
	if ( !isValidLength(email, 5, 80) || !checkString(email, alphanum + mail) || !Contains(email, "@.") || email.indexOf("@") != email.lastIndexOf("@") ) {
		alert("Inserire un'email valida");
		return false;
	}
	if ( isEmpty(cf_piva) ) {
		alert("Inserire partiva IVA/Codice fiscale");
		return false;
	}
	if ( !isValidLength(cf_piva, 10, 18) || !checkString(cf_piva, alphanum)) {
		alert("Inserire correttamente partiva IVA/Codice fiscale.");
		return false;
	}
	if ( isEmpty(pass) ) {
		alert("Inserire una password");
		return false;
	}
	if ( !isValidLength(pass, 5, 60) || !checkString(pass, alphanum+name)) {
		alert("Inserire una password di almeno 5 caratteri alfanumerici.");
		return false;
	}
	if (pass!=confpass){
		alert("Le due password immesse non sono uguali.");
		return false;
	}
	if ( cond!='y' ) {
		alert("Per continuare dovete accettare le condizioni");
		return false;
	}
	
	return true;
}

function checknuovoallievo(pf){
	user = pf.user_aut.value;
	pass = pf.pass_aut.value;
	confpass = pf.confpass_aut.value;
	email = pf.email_aut.value;	
	
	var ts = new String();
	var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	var mail = "@.-_";
	var num = "0123456789";
	var name = " -,'";	
	var alphanum = alpha + num;
	
	if ( isEmpty(user) ) {
		alert("Inserire un nick utente");
		return false;
	}
	if ( !isValidLength(user, 4, 60) || !checkString(user, alphanum+name)) {
		alert("Inserire un nome utente di almeno 4 caratteri alfanumerici.");
		return false;
	}
	if ( isEmpty(email) ) {
		alert("Inserire un'email");
		return false;
	}
	if ( !isValidLength(email, 5, 80) || !checkString(email, alphanum + mail) || !Contains(email, "@.") || email.indexOf("@") != email.lastIndexOf("@") ) {
		alert("Inserire un'email valida");
		return false;
	}
	if ( isEmpty(pass) ) {
		alert("Inserire una password");
		return false;
	}
	if ( !isValidLength(pass, 5, 60) || !checkString(pass, alphanum+name)) {
		alert("Inserire una password di almeno 5 caratteri alfanumerici.");
		return false;
	}
	if (pass!=confpass){
		alert("Le due password immesse non sono uguali.");
		return false;
	}
	
	return true;
}

function checkContatti(pf){
	nome = pf.nomecont.value;
	email = pf.emailcont.value;
	domanda = pf.domandacont.value;
	captcha = pf.captcha.value;	
	
	var ts = new String();
	var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	var mail = "@.-_";
	var num = "0123456789";
	var name = " -,'";	
	var alphanum = alpha + num;
	
	if ( isEmpty(nome) ) {
		alert("Inserite il vostro nome, grazie.");
		return false;
	}
	if ( isEmpty(email) ) {
		alert("Inserire un'email per la risposta, grazie.");
		return false;
	}
	if ( !isValidLength(email, 5, 80) || !checkString(email, alphanum + mail) || !Contains(email, "@.") || email.indexOf("@") != email.lastIndexOf("@") ) {
		alert("Inserire un'email valida, grazie.");
		return false;
	}
	if ( isEmpty(domanda) ) {
		alert("Inserire una domanda");
		return false;
	}
	if ( isEmpty(captcha) ) {
		alert("Inserire le lettere presenti nell'immagine di controllo.");
		return false;
	}
	if ( !isValidLength(captcha, 4, 4) || !checkString(captcha, alphanum)) {
		alert("Inserire le 4 lettere presenti nell'immagine di controllo.");
		return false;
	}
	return true;
}
