<!--
function VIL_dataCopy() {
  document.cv.provinciaD.options.selectedIndex = document.cv.provinciaR.options.selectedIndex;
}

function VIL_formControl(myForm) {
// espressioni regolari
  var nonWhiteSpace = /\S/;
  var puntoEvirgola = /;/;
  var isEmail=/^\w(\.?[\w-])*@\w(\.?[\w-])*\.[a-z]{2,6}(\.[a-z]{2})?$/i;
  var nonNumeric = /\D/;
  var fileNameLegalExtensions = /(\w.doc|\w.txt|\w.pdf|\w.rtf|\w.jpg|\w.tif)$/i;

// controllo campo "Nome"  
  field = myForm.nome;
  fieldLabel = 'Nome';
  if (!nonWhiteSpace.test(field.value)) {
    alert('Devi compilare il campo "'+fieldLabel+'"');
    field.value='';
    field.focus();
    return false
  }
  if (puntoEvirgola.test(field.value)) {
    alert('Non puoi usare il "punto e virgola" nel campo "'+fieldLabel+'"');
    field.focus();
    return false
  }

// controllo campo "Cognome"
  field = myForm.cognome;
  fieldLabel = 'Cognome';
  if (!nonWhiteSpace.test(field.value)) {
    alert('Devi compilare il campo "'+fieldLabel+'"');
    field.value='';
    field.focus();
    return false
  }
  if (puntoEvirgola.test(field.value)) {
    alert('Non puoi usare il "punto e virgola" nel campo "'+fieldLabel+'"');
    field.focus();
    return false
  }
  
// controllo campo "Data di nascita"
  field = myForm.giorno;
  fieldLabel = 'giorno della Data di Nascita';
  if (field.value == '0') {
    alert('Devi selezionare un "'+fieldLabel+'"');
    field.focus();
    return false
  }
  field = myForm.mese;
  fieldLabel = 'mese della Data di Nascita';
  if (field.value == '0') {
    alert('Devi selezionare un "'+fieldLabel+'"');
    field.focus();
    return false
  }
  field = myForm.anno;
  fieldLabel = 'anno della Data di Nascita';
  if (field.value == '0') {
    alert('Devi selezionare un "'+fieldLabel+'"');
    field.focus();
    return false
  }
  var regiornomese = new Array (2);
  var ok = true;
  var strdata = "";
	strdata = strdata + myForm.giorno.options[myForm.giorno.selectedIndex].value;
	strdata = strdata + "/" +myForm.mese.options[myForm.mese.selectedIndex].value;
	strdata = strdata + "/"	+myForm.anno.options[myForm.anno.selectedIndex].value; 
	var redata = new RegExp('^([0][1-9]|[1-2][0-9]|[3][0-1])[\/]([0][1-9]|[1][0-2])[\/](19|20)[0-9]{2}$');
  regiornomese[0] = new 	RegExp('^(((0[1-9]|1[0-9]|2[0-8])[\/]02)|((0[1-9]|[12][0-9]|30)[\/](04|06|09|11))|((0[1-9]|[12][0-9]|30|31)[\/](01|03|05|07|08|10|12)))$');
	regiornomese[1] = new 	RegExp('^(((0[1-9]|1[0-9]|2[0-9])[\/]02)|((0[1-9]|[12][0-9]|30)[\/](04|06|09|11))|((0[1-9]|[12][0-9]|30|31)[\/](01|03|05|07|08|10|12)))$');
	if(strdata.search(redata) == -1) ok = false;
	else {
		anno = strdata.substring(6,10);
		giornomese =  strdata.substring(0,5);
		anno1 = anno.substring(0,2);
		anno2 = anno.substring(2,4);
		bisestile = 0;
		if ((parseInt(anno/4) == anno/4 )&&((anno2 != '00')||((anno2 =='00')&&(parseInt(anno1/4) == anno1/4 )))) bisestile = 1;
		if(giornomese.search(regiornomese[bisestile]) == -1) ok = false;
	}
	if(!ok)  {
		alert ('Attenzione: data non esistente.\nInserire una Data di Nascita corretta.');
		myForm.giorno.focus();
		return false;
	}
  
// controllo campo "Sesso"
  field = myForm.sesso;
  fieldLabel = 'Sesso';
  if (!field[0].checked && !field[1].checked) {
    alert('Devi selezionare il campo "'+fieldLabel+'"');
    field[0].focus();
    return false
  }

// controllo campo "Categoria Protetta"
  field = myForm.categoriaProt;
  fieldLabel = 'Categoria protetta';
  field2 = myForm.tipoCatProt;
  fieldLabel2 = 'Tipologia';
  field3 = myForm.invalidita;
  fieldLabel3 = 'invaliditā';
  if (!field[0].checked && !field[1].checked) {
    alert('Devi selezionare il campo '+fieldLabel);
    field[0].focus();
    return false
  }
  if (field[0].checked) {
    if (!nonWhiteSpace.test(field2.value)) {
      alert('Devi compilare il campo "'+fieldLabel2+'"');
      field2.value='';
      field2.focus();
      return false
    }
    if (puntoEvirgola.test(field2.value)) {
      alert('Non puoi usare il "punto e virgola" nel campo "'+fieldLabel2+'"');
      field2.focus();
      return false
    }
  }
  if (field[0].checked) {
    fieldValue = parseInt(field3.value);
    if (isNaN(fieldValue)) {
    	alert('Devi inserire un valore numerico nel campo "'+fieldLabel3+'"');
    	field3.focus();
    	return false
    }
    if ((fieldValue<0)||(fieldValue>100)) {
    	alert('Devi inserire un valore compreso tra 0 e 100 nel campo "'+fieldLabel3+'"');
    	field3.focus();
    	return false
    }
	}

// controllo campo "Provincia di residenza"
  field = myForm.provinciaR;
  fieldLabel = 'Provincia di residenza';
	if (field.value == '0') {
    alert('Devi selezionare il campo "'+fieldLabel+'"');
    field.focus();
    return false
  }
		
// controllo campo "Provincia di domicilio"
  field = myForm.provinciaD;
  fieldLabel = 'Provincia di domicilio';
	if (field.value == '0') {
    alert('Devi selezionare il campo "'+fieldLabel+'"');
    field.focus();
    return false
  }

// controllo campi "Telefono casa" e "Cellulare"
  field = myForm.telcasa;
  fieldLabel = 'Telefono casa';
  field2 = myForm.cell;
  fieldLabel2 = 'Cellulare';
	if ((!nonWhiteSpace.test(field.value)) && (!nonWhiteSpace.test(field2.value))) {
    alert('Devi compilare il campo "'+fieldLabel+'" o il campo "'+fieldLabel2+'"');
    field.focus();
    return false
  }
	if ((nonWhiteSpace.test(field.value)) && (nonNumeric.test(field.value))) {
    alert('Il campo "'+fieldLabel+'" deve contenere solo numeri');
    field.focus();
    return false
  }
	if ((nonWhiteSpace.test(field2.value)) && (nonNumeric.test(field2.value))) {
    alert('Il campo "'+fieldLabel2+'" deve contenere solo numeri');
    field2.focus();
    return false
  }

// controllo campo "Email"
  field = myForm.email;
  fieldLabel = 'Email';
  if (!nonWhiteSpace.test(field.value)) {
    alert('Devi compilare il campo "'+fieldLabel+'"');
    field.value='';
    field.focus();
    return false
  }
  if (!isEmail.test(field.value)) {
    alert('Campo "'+fieldLabel+'" non valido');
    field.focus();
    return false
  }

// controllo campo "Diploma"
  field = myForm.diploma;
  fieldLabel = 'Diploma';
  field2 = myForm.annoD;
  fieldLabel2 = 'anno Diploma';
	if (field.value == '0') {
    alert('Devi selezionare il campo "'+fieldLabel+'"');
    field.focus();
    return false
  }
	if ((field.value != '1') && (field2.value == '0')) {
    alert('Devi selezionare il campo "'+fieldLabel2+'"');
     field2.focus();
     return false
  }

// controllo campo "Laurea breve"
  field = myForm.laurea2;
  fieldLabel = 'Laurea breve';
  field2 = myForm.annoL2;
  fieldLabel2 = 'anno Laurea breve';
	if (field.value == '0') {
    alert('Devi selezionare il campo "'+fieldLabel+'"');
    field.focus();
    return false
  }
	if ((field.value != '2') && (field2.value == '0')) {
    alert('Devi selezionare il campo "'+fieldLabel2+'"');
     field2.focus();
     return false
  }

// controllo campo "Laurea"
  field = myForm.laurea1;
  fieldLabel = 'Laurea';
  field2 = myForm.annoL1;
  fieldLabel2 = 'anno Laurea';
	if (field.value == '0') {
    alert('Devi selezionare il campo "'+fieldLabel+'"');
    field.focus();
    return false
  }
	if ((field.value != '1') && (field2.value == '0')) {
    alert('Devi selezionare il campo "'+fieldLabel2+'"');
    field2.focus();
    return false
  }

// controllo consistenza date di nascita, diploma, laurea e laurea breve
// e presenza diploma in caso di presenza laurea o laurea breve
  field = myForm.anno;
  fieldLabel = 'Anno di nascita';
  field2= myForm.diploma;
  fieldLabel2= 'Diploma';
  field3 = myForm.annoD;
  fieldLabel3 = 'anno Diploma';
  field4 = myForm.laurea2;
  fieldLabel4 = 'Laurea breve';
  field5 = myForm.annoL2;
  fieldLabel5 = 'anno Laurea breve';
  field6 = myForm.laurea1;
  fieldLabel6 = 'Laurea';
  field7 = myForm.annoL1;
  fieldLabel7 = 'anno Laurea';
	if (((field4.value != '2') || (field6.value != '1')) && (field2.value == '1')) {
    alert('Non č possibile selezionare il campo "'+fieldLabel4+'" e/o il campo "'+fieldLabel6+'"\nsenza selezionare anche il campo"'+fieldLabel2+'". \n\nSeleziona un valore anche per il campo "'+fieldLabel2+'"');
    field2.focus();
    return false
  }
	if ((field2.value != '1') && (parseInt(field3.value) < (parseInt(field.value)+12))) {
    alert('Il valore del campo "'+fieldLabel3+'" non risulta essere compatibile\ncon il valore del campo "'+fieldLabel+'". \n\nInserire un valore compatibile.');
    field3.focus();
    return false
  }
	if ((field4.value != '2') && (parseInt(field5.value) < (parseInt(field.value)+17))) {
    alert('Il valore del campo "'+fieldLabel4+'" non risulta essere compatibile\ncon il valore del campo "'+fieldLabel+'". \n\nInserire un valore compatibile.');
    field4.focus();
    return false
  }
	if ((field6.value != '1') && (parseInt(field7.value) < (parseInt(field.value)+20))) {
    alert('Il valore del campo "'+fieldLabel6+'" non risulta essere compatibile\n con il valore del campo "'+fieldLabel+'". \n\nInserire un valore compatibile.');
    field6.focus();
    return false
  }
  
// controllo campo "Corso di Formazione"
  field = myForm.CorsoFormazione1;
  fieldLabel = 'Corso di Formazione';
  field2 = myForm.argomentoCorso1;
  fieldLabel2 = 'Argomento Corso di Formazione';
  field3 = myForm.durataCorso1;
  fieldLabel3 = 'Durata Corso di Formazione';
	if (field.value == '0') {
    alert('Devi selezionare il campo "'+fieldLabel+'"');
    field.focus();
    return false
  }
	if (field.value != "1") {	
	  if (!nonWhiteSpace.test(field2.value)) {
      alert('Devi compilare il campo "'+fieldLabel2+'"');
      field2.focus();
      return false
    }
    if (puntoEvirgola.test(field2.value)) {
      alert('Non puoi usare il "punto e virgola" nel campo "'+fieldLabel2+'"');
      field2.focus();
      return false
    }
		if (!nonWhiteSpace.test(field3.value)) {
      alert('Devi compilare il campo "'+fieldLabel3+'"');
      field3.focus();
      return false
    }
    if (puntoEvirgola.test(field3.value)) {
      alert('Non puoi usare il "punto e virgola" nel campo "'+fieldLabel3+'"');
      field3.focus();
      return false
    }
  }

// controllo campo "Aree esperienza 1"
  field = myForm.areaEsperienza1;
  fieldLabel = 'Area Esperienza 1';
	if (field.value == '0') {
    alert('Devi selezionare il campo "'+fieldLabel+'"');
    field.focus();
    return false
  }

// controllo campo "Aree esperienza 2"
  field = myForm.areaEsperienza2;
  fieldLabel = 'Area Esperienza 2';
	if (field.value == '0') {
    alert('Devi selezionare il campo "'+fieldLabel+'"');
    field.focus();
    return false
  }

// controllo campo "Aree interesse 1"
  field = myForm.areaInteresse1;
  fieldLabel = 'Area Interesse 1';
	if (field.value == '0') {
    alert('Devi selezionare il campo "'+fieldLabel+'"');
    field.focus();
    return false
  }

// controllo campo "Aree interesse 2"
  field = myForm.areaInteresse2;
  fieldLabel = 'Area Interesse 2';
	if (field.value == '0') {
    alert('Devi selezionare il campo "'+fieldLabel+'"');
    field.focus();
    return false
  }

// controllo campo "file allegato"
  field = myForm.cv_filename;
//  alert('nomefile = '+field.value);
  if (!nonWhiteSpace.test(field.value)) {
    alert('Devi obbligatoriamente allegare il file del tuo CV');
    field.focus();
    return false
  }
  if (puntoEvirgola.test(field.value)) {
    alert('Non puoi usare il "punto e virgola" nel campo "'+fieldLabel+'"');
    field.focus();
    return false
  }
  if (!fileNameLegalExtensions.test(field.value)) {
    alert('Il nome del file deve contenere almeno un carattere prima della estensione.\nI formati consentititi sono: .doc, .pdf, .txt, .rtf, .jpg, .tif.\nE\' obbligatorio aggiungere l\'estensione alla fine del nome del file.');
    field.focus();
    return false
  }

// controllo campo "Privacy"
  field = myForm.privacy;
  fieldLabel = 'Devi fornire consenso al trattamento dei dati.';
  if (!myForm.privacy[0].checked) {
    alert(fieldLabel);
    field[0].focus();
    return false
  }
  
  return true;
}
//-->

