// Effettua il refresh del modulo nel caso di pagina con doppio modulo (ns e os)
function refresh() {
	if (!document.forms[0].student[0].checked
			&& !document.forms[0].student[1].checked) {
		document.getElementById('application').style.display = 'none';
	} else {
		document.getElementById('application').style.display = 'block';
	}
	if (document.forms[0].student[0].checked) {
		show('os', false);
		show('ns', true);
	} else if (document.forms[0].student[1].checked) {
		show('os', true);
		show('ns', false);
	}
}

function show(ty, sh) {
	for ( var i = 0; i < document.forms[0].elements.length; i++) {
		id = document.forms[0].elements[i].id;
		if (id.indexOf(ty) == 0) {
			t = id.split('_');
			rowId = "row" + t[1];
			if (sh) {
				document.getElementById(rowId).style.display = 'block';
			} else {
				document.getElementById(rowId).style.display = 'none';
			}
		}
	}
}

// Verifica la correttezza del modulo
function check() {
	var message = "";
	var more_message = "";
	var showmsg = "no";
	var form = document.forms[0];
	var x = form.length;
	var lang = document.getElementById("formLanguage").title;

	for ( var i = 0; i < x; i++) {
		var messenger = form.elements[i].name;
		if(!messenger) continue;
		messenger = messenger.substring(0, 2);
		var fieldname = form.elements[i].name;
		fieldname = fieldname.substring(2);
		if (messenger == "r_") {
			var id = form.elements[i].id.slice(2);
			if (id != "") {
				t = id.split('_');
				rowId = "row" + t[1];
				if (document.getElementById(rowId).style.display == 'block') {
					more_message = r_check(form, x, fieldname, i);
				}
			} else {
				more_message = r_check(form, x, fieldname, i);
			}
		}
		if (more_message != "") {
			if (message == "") {
				message = more_message;
				more_message = "";
			} else {
				message = message + "\n" + more_message;
				more_message = "";
			}
		}
		if (message > "") {
			showmsg = "yes";
		}
	}
	if (showmsg == "yes") {
		if (lang == "it") {
			alert("Sono stati riscontrati i seguenti problemi nella compilazione della domanda:\n\n"
					+ message
					+ "\n\nPer favore completare il modulo e reinviarlo. Grazie.");
		} else {
			alert("The following problems have been detected in your application form:\n\n"
					+ message
					+ "\n\nPlease complete the form and send it again. Thank you.");
		}
	} else {
		form.submit();
	}
}

function r_check(form, x, fieldname, i) {
	var msg_addition = "";
	var new_fieldname = fieldname;
	for ( var y = 0; y < x; y++) {
		if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox")
				&& form.elements[y].name == new_fieldname
				&& form.elements[y].checked == true) {
			msg_addition = "";
			break;
		} else if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox")
				&& form.elements[y].name == new_fieldname
				&& form.elements[y].checked == false) {
			msg_addition = form.elements[i].value;
		} else if (form.elements[y].type == "select-one") {
			var l = form.elements[y].selectedIndex;
			if (form.elements[y].name == fieldname
					&& form.elements[y].options[l].value != "") {
				msg_addition = "";
				break;
			} else if (form.elements[y].name == fieldname
					&& form.elements[y].options[l].value == "") {
				msg_addition = form.elements[i].value;
			}
		} else if (form.elements[y].name == fieldname
				&& form.elements[y].value == ""
				&& form.elements[y].type != "radio"
				&& form.elements[y].type != "checkbox"
				&& form.elements[y].type != "select-one") {
			msg_addition = form.elements[i].value;
			break;
		} else if (form.elements[y].name == fieldname
				&& form.elements[y].value != ""
				&& form.elements[y].type != "radio"
				&& form.elements[y].type != "checkbox"
				&& form.elements[y].type != "select-one") {
			msg_addition = "";
		}
	}
	return (msg_addition);
}

function checkYearFormat(year) {
	if (year.value.length != 4 || isNaN(year.value)) {
		var lang = document.getElementById("formLanguage").title;
		if (lang == "it") {
			alert('Attenzione! L\'anno deve essere un numero di quattro cifre');
		} else {
			alert('Warning! The year must be a four digits number');
		}
		year.value = '';
	}
}