function switchdom(show) {
	togglediv('divdomicilio', show);
}

function switchlaurea(laureato) {
	togglediv('laureasi', laureato);
	togglediv('laureano', !laureato);
	togglediv('tit-postlaurea', laureato);
	togglediv('sez-postlaurea', laureato);
}

function togglediv(id, show) {
	var div = document.getElementById(id);
	div.style.display = show? "block" : "none";
}

function trim(str) {
	while(str.substr(0,1)==' ')
		str=str.substr(1)
	while(str.substr(str.length-1)==' ')
		str=str.substr(0,str.length-1)	
	return str
}

function controlla_data_nascita(giorno, mese, anno) {
	if (anno == "") return "Non č stato inserito l'anno di nascita. ";
	anno = trim(anno);
	if (anno.length < 4) return "Anno di nascita non valido (formato previsto aaaa)";
	if (isNaN(anno)) return "Anno di nascita non valido (previsto numerico)";
	if (Number(anno) <= 1900) return "Anno di nascita non valido (previsto > del 1900)";

	mese -= 1; // L'oggetto data considera i mesi da 0 a 11
	var d = new Date(anno, mese, giorno);
	if (d.getDate()!=giorno || d.getMonth()!=mese || d.getFullYear()!=anno) return "Data di nascita non valida";

	return "";
}

function controlla_email(str) {
	if (trim(str) == "") return "Non č stato inserito l'indirizzo email";
	
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if (reg.test(str) == false) return "Indirizzo email non valido";
	
	return "";
}

function sino_selezionati(id) {
	return (document.getElementById(id+'si').checked || document.getElementById(id+'no').checked);
}

function controlla_dati() {
	with (document.modulocv) {
		if (nome.value == '') {
			alert("Non č stato inserito il nome. ");
			nome.focus(); return false;		
		}
		if (cognome.value == '') {
			alert("Non č stato inserito il cognome. ");
			cognome.focus(); return false;		
		}
		if (sesso.selectedIndex == '') {
			alert("Non č stato indicato il sesso. ");
			sesso.focus(); return false;		
		}	
		
		errmsg = controlla_data_nascita(giornonasc[giornonasc.selectedIndex].value, mesenasc[mesenasc.selectedIndex].value, annonasc.value);
		if (errmsg != "") {
			alert(errmsg);
			annonasc.focus();
			return false;
		}
				
		if (luogonascita.value == '') {
			alert("Non č stato inserito il luogo di nascita. ");
			luogonascita.focus(); return false;	
		}
		if (provnascita.selectedIndex=='') {
			alert("Non č stata specificata la provincia di nascita. ");
			provnascita.focus(); return false;		
		}
		if (statocivile.selectedIndex=='') {
			alert("Non č stato specificato lo stato civile. ");
			statocivile.focus(); return false;
		}
	
		if (indirizzo.value=='') {
			alert("Non č stato inserito l'indirizzo di residenza. ");
			indirizzo.focus(); return false;
		}
		if (citta.value=='') {
			alert("Non č stata inserita la cittā di residenza. ");
			citta.focus(); return false;
		}

		if (cap.value=='') {
			alert('Non č stato inserito il CAP');
			cap.focus();
			return false;
		}
		if (isNaN(cap.value)) {
			alert('CAP non valido (previsto numerico)');
			cap.focus();
			return false;
		}
		if (provincia.selectedIndex=='') {
			alert("Non č stata specificata la provincia di residenza. ");
			provincia.focus(); return false;		
		}
	
		errmsg = controlla_email(email.value);
		if (errmsg != "") {
			alert(errmsg);
			email.focus();
			return false;
		}
		if (telefono.value == '') {
			alert('Non č stato inserito il numero di telefono');
			telefono.focus();
			return false;
		}
	
		if (patente.selectedIndex=='') {
			alert("Specificare se si possiede una patente di guida.");
			patente.focus(); return false;		
		}
		if (!sino_selezionati('trasf')) {
			alert("Indicare la disponibilitā per le trasferte.");
			document.getElementById('trasfsi').focus(); return false;
		}
		
		if (!sino_selezionati('trasfim')) {
			alert("Indicare la disponibilitā per i trasferimenti.");
			document.getElementById('trasfimsi').focus(); return false;
		}
		
		if (!sino_selezionati('par')) {
			alert("Indicare la presenza o meno di parenti occupati presso la banca.");
			document.getElementById('parsi').focus(); return false;
		}		
		
		if (diploma.selectedIndex == '') {
			alert("Non č stato specificato il titolo di scuola superiore. ");
			diploma.focus();
			return false;
		}
		
		if (diploma[diploma.selectedIndex].value == "altro" && altrodiploma.value == '') {
			alert("Specificare il titolo di scuola superiore. ");
			altrodiploma.focus();
			return false;
		}		
		if (annodiploma.value == '') {
			alert("Non č stato inserito l'anno di conseguimento del diploma di scuola superiore.");
			annodiploma.focus();
			return false;
		}
		if (votodiploma.value == '' || votodiploma2.value == '') {
			alert("Non č stato inserito il voto del diploma di scuola superiore.");
			votodiploma.focus();
			return false;
		}
		
		if (allegacv.value == "") {
			alert("E' necessario allegare un curriculum vitae.");
			allegacv.focus();
			return false;			
		}
		
		if (accetto.checked) {
			submit();
			return true;
		} else {
			alert('Autorizzazione al trattamento dei dati personali mancante');
			return false;
		}
	}
}
