var form = "";
var submitted = false;
var error = false;
var error_message = "";

function ISO_change()
{
	select_number=document.create_account.country.selectedIndex;
	if(select_number==0)
	{
		document.create_account.ISO.value="---";
	}
	else {document.create_account.ISO.value=document.create_account.country.options[select_number].value;}
	return true;
}

function check_input(field_name, field_size, message) {
	if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
		var field_value = form.elements[field_name].value;

		if (field_value == '' || field_value.length < field_size) {
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}


function check_checkbox(field_name, message) {
	var isChecked = false;

	if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
		var checkbox = form.elements[field_name];

		if (checkbox.checked == true) {
			isChecked = true;
		}


		if (isChecked == false) {
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}


function check_radio(field_name, message) {
	var isChecked = false;

	if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
		var radio = form.elements[field_name];

		for (var i=0; i<radio.length; i++) {
			if (radio[i].checked == true) {
				isChecked = true;
				break;
			}
		}

		if (isChecked == false) {
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}

function check_select(field_name, field_default, message) {
	if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
		var field_value = form.elements[field_name].value;

		if (field_value == field_default) {
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}

function check_password(field_name_1, field_name_2, field_size, message_1, message_2) {
	if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
		var password = form.elements[field_name_1].value;
		var confirmation = form.elements[field_name_2].value;

		if (password == '' || password.length < field_size) {
			error_message = error_message + "* " + message_1 + "\n";
			error = true;
		} else if (password != confirmation) {
			error_message = error_message + "* " + message_2 + "\n";
			error = true;
		}
	}
}

function check_password_new(field_name_1, field_name_2, field_name_3, field_size, message_1, message_2, message_3) {
	if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
		var password_current = form.elements[field_name_1].value;
		var password_new = form.elements[field_name_2].value;
		var password_confirmation = form.elements[field_name_3].value;

		if (password_current == '' || password_current.length < field_size) {
			error_message = error_message + "* " + message_1 + "\n";
			error = true;
		} else if (password_new == '' || password_new.length < field_size) {
			error_message = error_message + "* " + message_2 + "\n";
			error = true;
		} else if (password_new != password_confirmation) {
			error_message = error_message + "* " + message_3 + "\n";
			error = true;
		}
	}
}

function check_radio_value(field_name, field_value) {
	var isValue = false;

	if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
		var radio = form.elements[field_name];

		for (var i=0; i<radio.length; i++) {
			if (radio[i].checked == true) {
				if (radio[i].value == field_value) {
					isValue = true;
				}
				break;
			}
		}

		return isValue;

	}
}


function check_radio_value_message(field_name, field_value, message) {
	var isValue = false;

	if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
		var radio = form.elements[field_name];

		for (var i=0; i<radio.length; i++) {
			if (radio[i].checked == true) {
				if (radio[i].value == field_value) {
					isValue = true;
				}
				break;
			}
		}

		if (isValue == false) {
			error_message = error_message + "* " + message + "\n";
			error = true;
		}

	}
}



function check_form(form_name) {
	if (submitted == true) {
		alert("Questo modulo &egrave; gi&agrave; stato inviato. Premi ok e aspetta che termini il processo.");
		return false;
	}

	error = false;
	form = form_name;
	error_message = "Errore nella compilazione del modulo!\n\n";

	check_radio("sessocliente", "Campo \"Sesso\" Richiesto.");

	check_input("nome", 2, "Il campo \"Nome\" deve contentere minimo 2 caratteri.");
	check_input("cognome", 2, "Il campo \"Cognome\" deve contenere minimo 2 caratteri.");
	
	
	check_input("email", 6, "Il campo \"Indirizzo E-Mail\" deve contentere minimo 6 caratteri.");
	check_input("indirizzo", 5, "Il campo \"Indirizzo\" deve contentere minimo 5 caratteri.");
	check_input("cap", 5, "Il campo \"CAP\" deve contentere minimo 4 caratteri.");
	
	check_select("regione", "", "Seleziona una Regione del men&ugrave; a scorrimento.");
	check_select("province", "", "Seleziona una Provincia del men&ugrave; a scorrimento.");
	check_select("citta", "", "Seleziona una Citta del men&ugrave; a scorrimento.");

	check_input("tel", 3, "Il campo \"Numero di telefono\" deve contentere minimo 3 caratteri.");


	radio_check = check_radio_value("tipocliente", "A");
	if(radio_check == true) {

		check_input("azienda", 0, "Campo Regione Sociale obbligatorio");

		check_input("a_piva", 0, "Numero di Partita Iva scorretto.");
		check_input("a_cf", 11, "Il campo \"CF\" deve contentere minimo 11 caratteri.");
	
		
	} else {
	
		check_input("p_cf", 16, "Il campo \"CF\" deve contentere 16 caratteri.");
	
	
	}


	check_select("area_int", "", "Seleziona l'area di interesse dal men&ugrave; a scorrimento.");

	check_input("motivo_richiesta", 0, "Devi inserire il motivo della richiesta");




	//PRIVACY start
	  check_radio_value_message("privacy","accetto", "Per registrarsi è obbligatorio leggere e accettare le condizioni sulla Privacy.");
	//PRIVACY end

	if (error == true) {
		alert(error_message);
		return false;
	} else {
		submitted = true;
		return true;
	}
}





function check_form_prev(form_name) {
	if (submitted == true) {
		alert("Questo modulo &egrave; gi&agrave; stato inviato. Premi ok e aspetta che termini il processo.");
		return false;
	}

	error = false;
	form = form_name;
	error_message = "Errore nella compilazione del modulo!\n\n";

	
	check_input("cognome", 0, "Campo \"Cognome\" obbligatorio.");
	check_input("nome", 0, "Campo \"Nome\" obbligatorio.");
	check_input("natoa", 0, "Campo \"Nato a\" obbligatorio.");
	check_input("natoil", 0, "Campo \"Nato il\" obbligatorio.");
	check_input("email", 0, "Campo \"Email\" obbligatorio.");
	check_input("marca", 0, "Campo \"Marca\" obbligatorio.");
	check_input("modello", 0, "Campo \"Modello\" obbligatorio.");
	check_input("targa", 0, "Campo \"Targa\" obbligatorio.");
	check_input("immatr", 0, "Campo \"Anno Immatricolazione\" obbligatorio.");
	check_input("aliment", 0, "Campo \"Alimentazione\" obbligatorio.");
	check_input("cc", 0, "Campo \"CC\" obbligatorio.");
	check_input("kw", 0, "Campo \"KW\" obbligatorio.");
	check_radio("pr_imm", "Campo \"Prima immatricolazione\" Richiesto.");
	check_input("bmass", 0, "Campo \"Bonus Malus assegnato\" obbligatorio.");
	check_input("bmprov", 0, "Campo \"Bonus Malus Provenienza\" obbligatorio.");
	check_input("comp_prov", 0, "Campo \"Compagnia Provenienza\" obbligatorio.");
	check_input("scadenza", 0, "Campo \"Scadenza Polizza\" obbligatorio.");
	
	
	
	
	if (error == true) {
		alert(error_message);
		return false;
	} else {
		submitted = true;
		return true;
	}
}


function check_form_fin(form_name) {
	if (submitted == true) {
		alert("Questo modulo &egrave; gi&agrave; stato inviato. Premi ok e aspetta che termini il processo.");
		return false;
	}

	error = false;
	form = form_name;
	error_message = "Errore nella compilazione del modulo!\n\n";

	
	check_input("importo", 0, "Campo \"Importo\" obbligatorio.");
	check_input("rata_mensile", 0, "Campo \"Rata Mensile\" obbligatorio.");
	check_input("cognome", 0, "Campo \"Cognome\" obbligatorio.");
	check_input("nome", 0, "Campo \"Nome\" obbligatorio.");
	check_input("indirizzo", 0, "Campo \"Indirizzo\" obbligatorio.");
	check_select("regione", "", "Seleziona una Regione del men&ugrave; a scorrimento.");
	check_select("province", "", "Seleziona una Provincia del men&ugrave; a scorrimento.");
	check_select("citta", "", "Seleziona una Citta del men&ugrave; a scorrimento.");
	check_input("data_nascita", 0, "Campo \"Data di Nascita\" obbligatorio.");
	check_input("cellulare", 0, "Campo \"Cellulare\" obbligatorio.");
	check_input("telefono", 0, "Campo \"Altro Telefono\" obbligatorio.");
	check_input("email", 0, "Campo \"E-mail\" obbligatorio.");
	check_input("professione", 0, "Campo \"Professione\" obbligatorio.");
	check_input("datore_lavoro", 0, "Campo \"datore di lavoro\" obbligatorio.");
	check_input("azienda", 0, "Campo \"Azienda\" obbligatorio.");
	check_input("data_ass", 0, "Campo \"Data di assunzione\" obbligatorio.");
	check_input("note", 0, "Campo \"note\" obbligatorio.");
	check_checkbox("privacy", "Campo \"Privacy\" Richiesto.");
	
	
	
	
	if (error == true) {
		alert(error_message);
		return false;
	} else {
		submitted = true;
		return true;
	}
}





function check_form_contatto(form_name) {
	if (submitted == true) {
		alert("Questo modulo &egrave; gi&agrave; stato inviato. Premi ok e aspetta che termini il processo.");
		return false;
	}

	error = false;
	form = form_name;
	error_message = "Errore nella compilazione del modulo!\n\n";

	//check_input("txtAzienda", 0, "Campo \"Azienda\" obbligatorio.");
	check_input("txtCognome", 0, "Campo \"Cognome\" obbligatorio.");
	check_input("txtNome", 0, "Campo \"Nome\" obbligatorio.");
	check_input("txtIndirizzo", 0, "Campo \"Indirizzo\" obbligatorio.");
	check_input("txtCitta", 0, "Campo \"Citta\" obbligatorio.");
	check_input("txtCap", 0, "Campo \"Cap\" obbligatorio.");
	check_select("txtProv", "", "Campo \"Provincia\" obbligatorio.");
	check_input("txtTelefono", 0, "Campo \"Telefono\" obbligatorio.");
	//check_input("txtFax", 0, "Campo \"Fax\" obbligatorio.");
	check_input("txtEmail", 0, "Campo \"Email\" obbligatorio.");
	check_select("txtInteressato", "", "Campo \"Interessato a\" obbligatorio.");
	check_input("txtNote", 0, "Campo \"Motivo\" obbligatorio.");

	check_radio_value_message("txtPrivacy", "ok","Devi dare il consenso per la richiesta di contatto.");

	
	
	if (error == true) {
		alert(error_message);
		return false;
	} else {
		submitted = true;
		return true;
	}
}







function check_form_b2b(form_name) {
	if (submitted == true) {
		alert("Questo modulo &egrave; gi&agrave; stato inviato. Premi ok e aspetta che termini il processo.");
		return false;
	}

	error = false;
	form = form_name;
	error_message = "Errore nella compilazione del modulo!\n\n";

	  check_radio("gender", "Campo \"Sesso\" Richiesto.");

	check_input("firstname", 2, "Il campo \"Nome\" deve contentere minimo 2 caratteri.");
	check_input("lastname", 2, "Il campo \"Cognome\" deve contenere minimo 2 caratteri.");

	
	check_input("email_address", 6, "Il campo \"Indirizzo E-Mail\" deve contentere minimo 6 caratteri.");
	check_input("street_address", 5, "Il campo \"Indirizzo\" deve contentere minimo 5 caratteri.");
	check_input("postcode", 4, "Il campo \"CAP\" deve contentere minimo 4 caratteri.");
	check_input("city", 3, "Il campo \"Città\" deve contentere minimo 3 caratteri.");

	  check_input("state", 2, "Il campo \"Stato/Provincia\" deve contentere minimo 2 caratteri.");

	check_select("country", "", "Seleziona una Nazione del men&ugrave; a scorrimento.");

	check_input("telephone", 3, "Il campo \"Numero di telefono\" deve contentere minimo 3 caratteri.");

	check_input("company", 0, "Campo Regione Sociale obbligatorio");

	check_input("a_piva", 0, "Numero di Partita Iva scorretto.");

	

	

	//PRIVACY start
	  check_radio("privacy_accept", "Per registrarsi è obbligatorio leggere e accettare le condizioni sulla Privacy.");
	//PRIVACY end

	if (error == true) {
		alert(error_message);
		return false;
	} else {
		submitted = true;
		return true;
	}
}

function check_form_extra_shipping(form_name) {
	if (submitted == true) {
		alert("Questo modulo &egrave; gi&agrave; stato inviato. Premi ok e aspetta che termini il processo.");
		return false;
	}

	error = false;
	form = form_name;
	error_message = "Errore nella compilazione del modulo!\n\n";


	check_input("firstname", 2, "Campo Destinatario richiesto.");

	check_input("street_address", 5, "Il campo \"Indirizzo\" deve contentere minimo 5 caratteri.");
	check_input("postcode", 4, "Il campo \"CAP\" deve contentere minimo 4 caratteri.");
	check_input("city", 3, "Il campo \"Città\" deve contentere minimo 3 caratteri.");

	  check_input("state", 2, "Il campo \"Stato/Provincia\" deve contentere minimo 2 caratteri.");

	check_select("country", "", "Seleziona una Nazione del men&ugrave; a scorrimento.");

	
	if (error == true) {
		alert(error_message);
		return false;
	} else {
		submitted = true;
		return true;
	}
}

function refresh_form(form_name) {
	form_name.action.value = 'refresh';
	form_name.submit();
	return true;
}

function check_newsletter_form(form_name) {
	if (submitted == true) {
		alert("Questo modulo &egrave; gi&agrave; stato inviato. Premi ok e aspetta che termini il processo.");
		return false;
	}

	error = false;
	form = form_name;
	error_message = "Errore nella compilazione del modulo!\n\n";

	check_input("email_address", 6, "Il campo \"Indirizzo E-Mail\" deve contentere minimo 6 caratteri.");
	check_checkbox("agreement_accept", "ENTRY_NEWSLETTER_TEXT_ERROR");


	if (error == true) {
		alert(error_message);
		return false;
	} else {
		submitted = true;
		return true;
	}
}

function check_newsletter_subunsub_form(form_name) {
	if (submitted == true) {
		alert("Questo modulo &egrave; gi&agrave; stato inviato. Premi ok e aspetta che termini il processo.");
		return false;
	}

	error = false;
	form = form_name;
	error_message = "Errore nella compilazione del modulo!\n\n";

	check_input("email_address", 6, "Il campo \"Indirizzo E-Mail\" deve contentere minimo 6 caratteri.");
	check_input("subunsub_code", 32, "ENTRY_SUBUNSUB_CODE_ERROR");
	check_radio("choice", "ENTRY_CHOICE_ERROR");


	if (error == true) {
		alert(error_message);
		return false;
	} else {
		submitted = true;
		return true;
	}
}


function check_form_affiliate(form_name) {
	if (submitted == true) {
		alert("Questo modulo &egrave; gi&agrave; stato inviato. Premi ok e aspetta che termini il processo.");
		return false;
	}

	error = false;
	form = form_name;
	error_message = "Errore nella compilazione del modulo!\n\n";

	  check_radio("a_gender", "Campo \"Sesso\" Richiesto.");

	check_input("a_firstname", 2, "Il campo \"Nome\" deve contentere minimo 2 caratteri.");
	check_input("a_lastname", 2, "Il campo \"Cognome\" deve contenere minimo 2 caratteri.");

	
	check_input("a_email_address", 6, "Il campo \"Indirizzo E-Mail\" deve contentere minimo 6 caratteri.");
	check_input("a_street_address", 5, "Il campo \"Indirizzo\" deve contentere minimo 5 caratteri.");
	check_input("a_postcode", 4, "Il campo \"CAP\" deve contentere minimo 4 caratteri.");
	check_input("a_city", 3, "Il campo \"Città\" deve contentere minimo 3 caratteri.");

	  check_input("a_state", 2, "Il campo \"Stato/Provincia\" deve contentere minimo 2 caratteri.");

	check_select("a_country", "", "Seleziona una Nazione del men&ugrave; a scorrimento.");

	check_input("a_telephone", 3, "Il campo \"Numero di telefono\" deve contentere minimo 3 caratteri.");



		




	check_password("a_password", "a_confirmation", 4, "Il campo \"Password\" deve contentere minimo 4 caratteri.", "Le Password \"Password\" e \"Conferma password\" inserite non corrispondono.");
	check_password_new("a_password_current", "a_password_new", "a_password_confirmation", 4, "Il campo \"Password\" deve contentere minimo 4 caratteri.", "Il campo \"Nuova Password\" deve contentere minimo 4 caratteri.", "Le Password \"Password Attuale\" e \"Nuova Password\" inserite non corrispondono .");

	check_checkbox("a_agb", "Devi accettare termini e condizioni del programma di affiliazione");

	if (error == true) {
		alert(error_message);
		return false;
	} else {
		submitted = true;
		return true;
	}
}



function cambia(scelta)
{

	if (scelta.value == 'P')
	{
		document.getElementById("azienda").style.display="none";
		document.getElementById("piva_azienda").style.display="none";


				document.getElementById("cf_azienda").style.display="none";
		
				document.getElementById("piva_privato").style.display="block";
		
				document.getElementById("cf_privato").style.display="block";
		
	}

	else
	{
		document.getElementById("azienda").style.display="";
		document.getElementById("piva_azienda").style.display="";

				document.getElementById("cf_azienda").style.display="";
		
				document.getElementById("piva_privato").style.display="none";
		
				document.getElementById("cf_privato").style.display="none";
			}

}

