
var globallingua = "";

var messaggiItaliano = new Array();
messaggiItaliano["ragione"] = "Per favore, inserire la ragione sociale.";
messaggiItaliano["address1"] = "Per favore, inserire un indirizzo.";
messaggiItaliano["cap"] = "Per favore, inserire il cap";
messaggiItaliano["citta"] = "Per favore, indicare la città";
messaggiItaliano["id"] = "Per favore, inserire lo user id";
messaggiItaliano["pwd"] = "Per favore, inserire una password.";
messaggiItaliano["confpassword"] = "Per favore, confermare una password.";
messaggiItaliano["oldpwd"] = "Per favore, inserire la password vecchia.";
messaggiItaliano["newpassword"] = "Per favore, inserire la password nuova.";
messaggiItaliano["newconfpassword"] = "Per favore, confermare la password nuova.";
messaggiItaliano["cognome"] = "Per favore, indicare il cognome";
messaggiItaliano["nome"] = "Per favore, indicare il nome";
messaggiItaliano["tel1"] = "Per favore, inserire il telefono";
messaggiItaliano["email"] = "Una email valida è necessaria per validare l'account.";
messaggiItaliano["piva"] = "Per favore, inserire la partita iva.";
messaggiItaliano["iban"] = "Per favore, inserire l'IBAN.";
messaggiItaliano["provincia"] = "Per favore, selezionare una provincia.";

var messaggiInglese = new Array();
messaggiInglese["ragione"] = "Please insert the company name.";
messaggiInglese["address1"] = "Please indicate a valid address.";
messaggiInglese["cap"] = "Please indicate a Postal Code.";
messaggiInglese["citta"] = "Please insert a city name";
messaggiInglese["id"] = "Please indicate a user id";
messaggiInglese["pwd"] = "Please insert a password";
messaggiInglese["confpassword"] = "Please confirm your password";
messaggiInglese["oldpwd"] = "Please insert the old password.";
messaggiInglese["newpassword"] = "Please insert the new password.";
messaggiInglese["newconfpassword"] = "Please, confirm the new password.";
messaggiInglese["cognome"] = "Please indicate your last name";
messaggiInglese["nome"] = "Please indicate your first name";
messaggiInglese["tel1"] = "Please indicate your phone number";
messaggiInglese["email"] = "You need an email address to validate your account";
messaggiInglese["iban"] = "Please indicate your IBAN code";


function controllaFormRegistrazione(lingua) {


	globallingua = lingua;
	
	// Controllo dei campi vuoti benche necessari
	if (!controllaVuoto("ragione")) return false;
	if (!controllaVuoto("piva")) return false;
	if (!controllaVuoto("cf")) return false;
	if (!controllaVuoto("address1")) return false;
	if (!controllaVuoto("cap")) return false;
	if (!controllaVuoto("citta")) return false;
	if (!controllaVuoto("uid")) return false;
	if (!controllaVuoto("pwd")) return false;
	if (!controllaVuoto("confpassword")) return false;
	if (!controllaVuoto("cognome")) return false;
	if (!controllaVuoto("nome")) return false;
	if (!controllaVuoto("tel1")) return false;
	if (!controllaVuoto("email")) return false;
	if (!controllaVuoto("iban")) return false;
        
	// Controllo che le due pwd siano identiche
	if (document.getElementById("pwd").value != document.getElementById("confpassword").value)
	{
		if (lingua == 1) {
			alert("Per favore, verifichi che le password siano uguali.")
		} else if (lingua == 2) {
            alert("Please check that password match.")
  		}
        document.getElementById("upwd").focus();
        return false;
 	}
 	
 	//Controllo p.IVA e CF
	if (!ControllaPIVA(document.getElementById("piva").value))
	{
		return false;
	}
	if (!ControllaCF(document.getElementById("cf").value, document.getElementById("piva").value))
	{
		return false;
	}
	
	//controllo selezione provincia
  	if (document.getElementById("uprovincia").options.selectedIndex == 0)
	{
		alert(getMessaggio('provincia'));
	 return false;
	 }

	 return true;
}

function controllaFormProfilo(lingua) {


	globallingua = lingua;

	// Controllo dei campi vuoti benche necessari
	if (!controllaVuoto("ragione")) {
		//alert('ragione!');
	 return false;
	 }
	if (!controllaVuoto("piva")){
	//alert('piva!');
	 return false;
	 }
	if (!controllaVuoto("address1")){
	//alert('address1!');
	 return false;
	 }
	if (!controllaVuoto("cap")){
	//alert('cap!');
	 return false;
	 }
	if (!controllaVuoto("citta")){
	//alert('citta!');
	 return false;
	 }
	if (!controllaVuoto("id")){
	//alert('id!');
	 return false;
	 }
	if (!controllaVuoto("cognome")){
	//alert('cognome!');
	 return false;
	 }
	if (!controllaVuoto("nome")){
	//alert('nome!');
	 return false;
	 }
	if (!controllaVuoto("tel1")){
	//alert('tel1!');
	 return false;
	 }
	if (!controllaVuoto("email")){
	//alert('email!');
	 return false;
	 }
	if (!controllaVuoto("iban")){
	//alert('iban!');
	 return false;
	 }
	
	
  	if (document.getElementById("uprovincia").options.selectedIndex == 0)
	{
		alert(getMessaggio('provincia'));
//  	 alert('provincia!');
	 return false;
	 }

	 return true;
}

function controllaFormPassword(lingua) {


	globallingua = lingua;

	// Controllo dei campi vuoti benche necessari
	if (!controllaVuoto("oldpwd")) return false;
	if (!controllaVuoto("newpassword")) return false;
	if (!controllaVuoto("newconfpassword")) return false;

}

function controllaVuoto(campo) {

   	if ( document.getElementById(campo).value == null
	  		||  document.getElementById(campo).value == '') {
        alert(getMessaggio(campo));
		document.getElementById(campo).focus();
        return false;
 	} else { return true; }
}

function getMessaggio(campo) {

	if ( globallingua == 1 ) {
		return messaggiItaliano[ campo ];
 	} else { return messaggiInglese[ campo ]; }

}

function ControllaCF(cf, pi)
{
	
	if( cf == pi )  return true;
	
	var validi, i, s, set1, set2, setpari, setdisp;
	if( cf == '' )  return '';
	cf = cf.toUpperCase();
	if( cf.length != 16 &&  cf.length != 11 ) {
		alert("La lunghezza del codice fiscale non è\n"
		+"corretta: il codice fiscale dovrebbe essere lungo\n"
		+"esattamente 11 o 16 caratteri.\n");
		return false;
	}
	return true;
	
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 16; i++ ){
		if( validi.indexOf( cf.charAt(i) ) == -1 ) {
			alert("Il codice fiscale contiene un carattere non valido `" +
				cf.charAt(i) +
				"'.\nI caratteri validi sono le lettere e le cifre.\n");
			return false;
		}
	}
	set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
	s = 0;
	for( i = 1; i <= 13; i += 2 )
		s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	for( i = 0; i <= 14; i += 2 )
		s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) ) {
		alert("Il codice fiscale non è corretto:\n"+
			"il codice di controllo non corrisponde.\n");
		return false;
	}
	return true;
}


function ControllaPIVA(pi)
{
	if( pi == '' )  return '';
	if( pi.length != 11 ) {
		alert("La lunghezza della partita IVA non è\n" +
			"corretta: la partita IVA dovrebbe essere lunga\n" +
			"esattamente 11 caratteri.\n");
		return false;
		}
	validi = "0123456789";
	for( i = 0; i < 11; i++ ){
		if( validi.indexOf( pi.charAt(i) ) == -1 ) {
			alert("La partita IVA contiene un carattere non valido `" +
				pi.charAt(i) + "'.\nI caratteri validi sono le cifre.\n");
			return false;
		}
	}
	s = 0;
	for( i = 0; i <= 9; i += 2 )
		s += pi.charCodeAt(i) - '0'.charCodeAt(0);
	for( i = 1; i <= 9; i += 2 ){
		c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
		if( c > 9 )  c = c - 9;
		s += c;
	}
	if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) ) {
		alert("La partita IVA non è valida:\n" +
			"il codice di controllo non corrisponde.\n");
		return false;
	}
	return true;
}


