﻿var REGEX_BLANK = /^\s*$/;
var REGEX_EMAIL = /^\w+[.\w-]+\w@\w+[.\w-]+\.[a-zA-Z]{2,6}$/;
var PHONE_EXP = /^\+?[\d\s][\d\s-.]+$/;
var GIORNO = $R(1, 31);
var MESE = $R(1, 12);
var Data_oggi = new Date()
var MAX_ANNO = Data_oggi.getFullYear() - 18;
var MIN_ANNO = Data_oggi.getFullYear() - 70;

function isValidNumber(text, intsOnly) {
  text = text.replace(REGEX_BLANK, '');
  var value = intsOnly ? parseInt(text, 10) : parseFloat(text);
  return String(value) === text;
}

function openWindow(url, nome, w, h) {
  check_url = ['privacy.php'];
  w = parseInt(w, 10);
  h = parseInt(h, 10);
  
  var pri = window.open(url, nome, 'width=' + w + ',height=' + h + ',status=yes,resizable=yes,menubar=no,scrollbars=yes');
  pri.moveTo(0, 0);
  pri.focus();
  return false;
  
}

function copiaResidenza() {
  if ($('checkDomicilio_field').checked) {
    $('indirizzo_dom_field').value = $F('indirizzo_res_field');
    $('citta_dom_field').value = $F('citta_res_field');
    $('cap_dom_field').value = $F('cap_res_field');
    $('provincia_dom_field').value = $F('provincia_res_field');
    $('regione_dom_field').value = $F('regione_res_field');
    $('nazione_dom_field').value = $F('nazione_res_field');
  }
}

function registraValida() {
  var form_invia_cv = $('form_invia_cv') || '';
  if (form_invia_cv) {
    form_invia_cv.observe('submit', valida);
  }
}

function svolgimento2() {
  var svolgimento_2 = $('svolgimento2_field') || '';
  if (svolgimento_2) {
    svolgimento_2.observe('click', function() {
      var obb_list = $$('.obb_svol_2');
      obb_list.each(function(o) {
        if ($('svolgimento2_field').checked) {
          o.setStyle({ visibility: 'hidden' });
          $('ctrl_anno_fine_2').setStyle({ visibility: 'hidden' });
          $('ctrl_voto_2').setStyle({ visibility: 'hidden' });
        } else {
          o.setStyle({ visibility: 'visible' });
        }
      });
    });
  }
}

function svolgimento1() {
  var svolgimento_1 = $('svolgimento1_field') || '';
  if (svolgimento_1) {
    svolgimento_1.observe('click', function() {
      var obb_list = $$('.obb_svol_1');
      obb_list.each(function(o) {
        if ($('svolgimento1_field').checked) {
          o.setStyle({ visibility: 'hidden' });
          $('ctrl_anno_fine_1').setStyle({ visibility: 'hidden' });
          $('ctrl_voto_1').setStyle({ visibility: 'hidden' });
        } else {
          o.setStyle({ visibility: 'visible' });
        }
      });
    });
  }
}

function svolgimentod() {
  var svolgimento_d = $('svolgimentod_field') || '';
  if (svolgimento_d) {
    svolgimento_d.observe('click', function() {
      var obb_list = $$('.obb_svol_d');
      obb_list.each(function(o) {
        if ($('svolgimentod_field').checked) {
          o.setStyle({ visibility: 'hidden' });
          $('ctrl_anno_fine_d').setStyle({ visibility: 'hidden' });
          $('ctrl_voto_d').setStyle({ visibility: 'hidden' });
        } else {
          o.setStyle({ visibility: 'visible' });
        }
      });
    });
  }
}

function popup1Out() {
  Effect.SlideUp('popup1');
  $('popup1').remove();
}

function popup2Out() {
  Effect.SlideUp('popup2');
  $('popup2').remove();
}

function valida(e) {
  var f = null;

  // posizione
  /*if ($F('posizione_field').match(REGEX_BLANK)) {
    $('ctrl_posizione').setStyle({ visibility: 'visible' });
    f = f || $('posizione_field');
  } else {
    $('ctrl_posizione').setStyle({ visibility: 'hidden' });
  }*/
  
  // nome
  if ($F('nome_field').match(REGEX_BLANK)) {
    $('ctrl_nome').setStyle({ visibility: 'visible' });
    f = f || $('nome_field');
  } else {
    $('ctrl_nome').setStyle({ visibility: 'hidden' });
  }

  // cognome
  if ($F('cognome_field').match(REGEX_BLANK)) {
    $('ctrl_cognome').setStyle({ visibility: 'visible' });
    f = f || $('cognome_field');
  } else {
    $('ctrl_cognome').setStyle({ visibility: 'hidden' });
  }

  // sesso
  if (!$('sessoM_field').checked && !$('sessoF_field').checked) {
    $('ctrl_sesso').setStyle({ visibility: 'visible' });
    f = f || $('sessoM_field');
  } else {
    $('ctrl_sesso').setStyle({ visibility: 'hidden' });
  }

  // data di nascita
  var gg = parseInt($F('gg_nascita_field'), 10);
  var err_data, err_data1, err_data2;
  err_data = err_data1 = err_data2 = false;
  
  if (!GIORNO.include(gg)) {    
    err_data = true;
    f = f || $('gg_nascita_field');
  }
  var mm = parseInt($F('mm_nascita_field'), 10);
  if (!MESE.include(mm)) {
    err_data = true;
    f = f || $('mm_nascita_field');
  }
  var aa = parseInt($F('aa_nascita_field'), 10);
  if (!isNaN(aa)) {
    if (aa <= MIN_ANNO) {
      err_data1 = true;
      f = f || $('aa_nascita_field');
    }
    if (aa > MAX_ANNO || (aa == MAX_ANNO && mm > (Data_oggi.getMonth() + 1)) || (aa == MAX_ANNO && mm == (Data_oggi.getMonth() + 1) && gg > Data_oggi.getDate())) {
      err_data2 = true;
      f = f || $('aa_nascita_field');
    }
  } else {
    err_data = true;
    f = f || $('aa_nascita_field');
  }
  if (err_data) {
    $('ctrl_data_nascita').setStyle({ visibility: 'visible' });
  } else {
    $('ctrl_data_nascita').setStyle({ visibility: 'hidden' });
  }
  if (err_data1) {
    $('ctrl_data_nascita_1').setStyle({ visibility: 'visible' });
  } else {
    $('ctrl_data_nascita_1').setStyle({ visibility: 'hidden' });
  }
  if (err_data2) {
    $('ctrl_data_nascita_2').setStyle({ visibility: 'visible' });
  } else {
    $('ctrl_data_nascita_2').setStyle({ visibility: 'hidden' });
  }

  // luogo di nascita
  if ($F('luogo_nascita_field').match(REGEX_BLANK)) {
    $('ctrl_luogo_nascita').setStyle({ visibility: 'visible' });
    f = f || $('luogo_nascita_field');
  } else {
    $('ctrl_luogo_nascita').setStyle({ visibility: 'hidden' });
  }

  // provincia di nascita
  if ($F('provincia_nascita_field').match(REGEX_BLANK)) {
    $('ctrl_provincia_nascita').setStyle({ visibility: 'visible' });
    f = f || $('provincia_nascita_field');
  } else {
    $('ctrl_provincia_nascita').setStyle({ visibility: 'hidden' });
  }

  // cittadinanza di nascita
  if ($F('cittadinanza_field').match(REGEX_BLANK)) {
    $('ctrl_cittadinanza').setStyle({ visibility: 'visible' });
    f = f || $('cittadinanza_field');
  } else {
    $('ctrl_cittadinanza').setStyle({ visibility: 'hidden' });
  }

  // cellulare
  if ($F('cellulare_field').match(REGEX_BLANK) || !$F('cellulare_field').match(PHONE_EXP)) {
    $('ctrl_cellulare').setStyle({ visibility: 'visible' });
    f = f || $('cellulare_field');
  } else {
    $('ctrl_cellulare').setStyle({ visibility: 'hidden' });
  }

  // e-mail
  if (!$F('email_field').match(REGEX_BLANK)) {
    if (!$F('email_field').match(REGEX_EMAIL)) {
      $('ctrl_email').setStyle({ visibility: 'visible' });
      f = f || $('email_field');
    } else {
      $('ctrl_email').setStyle({ visibility: 'hidden' });
    }
  }

  // indirizzo res
  if ($F('indirizzo_res_field').match(REGEX_BLANK)) {
    $('ctrl_indirizzo_residenza').setStyle({ visibility: 'visible' });
    f = f || $('indirizzo_res_field');
  } else {
    $('ctrl_indirizzo_residenza').setStyle({ visibility: 'hidden' });
  }

  // cap res
  if ($F('cap_res_field').match(REGEX_BLANK)) {
    $('ctrl_cap_residenza').setStyle({ visibility: 'visible' });
    f = f || $('cap_res_field');
  } else {
    $('ctrl_cap_residenza').setStyle({ visibility: 'hidden' });
  }
  
  // citta' res
  if ($F('citta_res_field').match(REGEX_BLANK)) {
    $('ctrl_citta_residenza').setStyle({ visibility: 'visible' });
    f = f || $('citta_res_field');
  } else {
    $('ctrl_citta_residenza').setStyle({ visibility: 'hidden' });
  }

  // provincia res
  if ($F('provincia_res_field').match(REGEX_BLANK)) {
    $('ctrl_provincia_residenza').setStyle({ visibility: 'visible' });
    f = f || $('provincia_res_field');
  } else {
    $('ctrl_provincia_residenza').setStyle({ visibility: 'hidden' });
  }

  // regione res
  if ($F('regione_res_field').match(REGEX_BLANK)) {
    $('ctrl_regione_residenza').setStyle({ visibility: 'visible' });
    f = f || $('regione_res_field');
  } else {
    $('ctrl_regione_residenza').setStyle({ visibility: 'hidden' });
  }

  // nazione res
  if ($F('nazione_res_field').match(REGEX_BLANK)) {
    $('ctrl_nazione_residenza').setStyle({ visibility: 'visible' });
    f = f || $('nazione_res_field');
  } else {
    $('ctrl_nazione_residenza').setStyle({ visibility: 'hidden' });
  }

  // indirizzo dom
  if ($F('indirizzo_dom_field').match(REGEX_BLANK)) {
    $('ctrl_indirizzo_domicilio').setStyle({ visibility: 'visible' });
    f = f || $('indirizzo_dom_field');
  } else {
    $('ctrl_indirizzo_domicilio').setStyle({ visibility: 'hidden' });
  }

  // cap dom
  if ($F('cap_dom_field').match(REGEX_BLANK)) {
    $('ctrl_cap_domicilio').setStyle({ visibility: 'visible' });
    f = f || $('cap_dom_field');
  } else {
    $('ctrl_cap_domicilio').setStyle({ visibility: 'hidden' });
  }
  
  // citta' dom
  if ($F('citta_dom_field').match(REGEX_BLANK)) {
    $('ctrl_citta_domicilio').setStyle({ visibility: 'visible' });
    f = f || $('citta_dom_field');
  } else {
    $('ctrl_citta_domicilio').setStyle({ visibility: 'hidden' });
  }

  // provincia dom
  if ($F('provincia_dom_field').match(REGEX_BLANK)) {
    $('ctrl_provincia_domicilio').setStyle({ visibility: 'visible' });
    f = f || $('provincia_dom_field');
  } else {
    $('ctrl_provincia_domicilio').setStyle({ visibility: 'hidden' });
  }

  // regione dom
  if ($F('regione_dom_field').match(REGEX_BLANK)) {
    $('ctrl_regione_domicilio').setStyle({ visibility: 'visible' });
    f = f || $('regione_dom_field');
  } else {
    $('ctrl_regione_domicilio').setStyle({ visibility: 'hidden' });
  }

  // nazione dom
  if ($F('nazione_dom_field').match(REGEX_BLANK)) {
    $('ctrl_nazione_domicilio').setStyle({ visibility: 'visible' });
    f = f || $('nazione_dom_field');
  } else {
    $('ctrl_nazione_domicilio').setStyle({ visibility: 'hidden' });
  }

  // livello di istruzione
  if ($F('titolo_studio_field').match(REGEX_BLANK)) {
    $('ctrl_titolo_studio').setStyle({ visibility: 'visible' });
    f = f || $('titolo_studio_field');
  } else {
    $('ctrl_titolo_studio').setStyle({ visibility: 'hidden' });
  }

  if ($F('titolo_studio_field') == 'LAUREA_2_LIV') { // LAUREA 2

    if ($F('laurea_secondo_field').match(REGEX_BLANK)) {
      $('ctrl_laurea_2').setStyle({ visibility: 'visible' });
      f = f || $('laurea_secondo_field');
    } else {
      $('ctrl_laurea_2').setStyle({ visibility: 'hidden' });
    }

    if ($F('corso_laurea_2_field').match(REGEX_BLANK)) {
      $('ctrl_corso_laurea_2').setStyle({ visibility: 'visible' });
      f = f || $('corso_laurea_2_field');
    } else {
      $('ctrl_corso_laurea_2').setStyle({ visibility: 'hidden' });
    }

    if ($F('anno_inizio_laurea2_field') == 0 || $F('anno_inizio_laurea2_field') > Data_oggi.getFullYear()) {
      $('ctrl_anno_inizio_2').setStyle({ visibility: 'visible' });
      f = f || $('anno_inizio_laurea2_field');
    } else {
      $('ctrl_anno_inizio_2').setStyle({ visibility: 'hidden' });
    }

    if (!$('svolgimento2_field').checked) {
      if ($F('anno_fine_laurea2_field') == 0 || $F('anno_fine_laurea2_field') > Data_oggi.getFullYear() || $F('anno_fine_laurea2_field') < $F('anno_inizio_laurea2_field')) {
        $('ctrl_anno_fine_2').setStyle({ visibility: 'visible' });
        f = f || $('anno_fine_laurea2_field');
      } else {
        $('ctrl_anno_fine_2').setStyle({ visibility: 'hidden' });
      }

      if ($F('voto_laurea2_field')=='' || parseInt($F('voto_laurea2_field'),10) == 0) {
        $('ctrl_voto_2').setStyle({ visibility: 'visible' });
        f = f || $('voto_laurea2_field');
      } else {
        $('ctrl_voto_2').setStyle({ visibility: 'hidden' });
      }

      if ($F('voto_max_laurea2_field')=='' || parseInt($F('voto_max_laurea2_field'),10) == 0 || parseInt($F('voto_max_laurea2_field'),10) < parseInt($F('voto_laurea2_field'),10)) {
        $('ctrl_voto_2').setStyle({ visibility: 'visible' });
        f = f || $('voto_max_laurea2_field');
      } else {
        $('ctrl_voto_2').setStyle({ visibility: 'hidden' });
      }
    } else {
      $('ctrl_anno_fine_2').setStyle({ visibility: 'hidden' });
      $('ctrl_voto_2').setStyle({ visibility: 'hidden' });
    }

    //laurea 1
    if (!$F('laurea_primo_field').match(REGEX_BLANK)) {
      if ($F('corso_laurea_1_field').match(REGEX_BLANK)) {
        $('ctrl_corso_laurea_1').setStyle({ visibility: 'visible' });
        f = f || $('corso_laurea_1_field');
      } else {
        $('ctrl_corso_laurea_1').setStyle({ visibility: 'hidden' });
      }

      if ($F('anno_inizio_laurea1_field') == 0 || $F('anno_inizio_laurea1_field') > Data_oggi.getFullYear()) {
        $('ctrl_anno_inizio_1').setStyle({ visibility: 'visible' });
        f = f || $('anno_inizio_laurea1_field');
      } else {
        $('ctrl_anno_inizio_1').setStyle({ visibility: 'hidden' });
      }

      if ($F('anno_fine_laurea1_field') == 0 || $F('anno_fine_laurea1_field') > Data_oggi.getFullYear() || $F('anno_fine_laurea1_field') < $F('anno_inizio_laurea1_field')) {
        $('ctrl_anno_fine_1').setStyle({ visibility: 'visible' });
        f = f || $('anno_fine_laurea1_field');
      } else {
        $('ctrl_anno_fine_1').setStyle({ visibility: 'hidden' });
      }

      if ($F('voto_laurea1_field')=='' || parseInt($F('voto_laurea1_field'),10)==0) {
        $('ctrl_voto_1').setStyle({ visibility: 'visible' });
        f = f || $('voto_laurea1_field');
      } else {
        $('ctrl_voto_1').setStyle({ visibility: 'hidden' });
      }

      if ($F('voto_max_laurea1_field')=='' || parseInt($F('voto_max_laurea1_field'),10)==0 || parseInt($F('voto_max_laurea1_field'),10) < parseInt($F('voto_laurea1_field'),10)) {
        $('ctrl_voto_1').setStyle({ visibility: 'visible' });
        f = f || $('voto_max_laurea1_field');
      } else {
        $('ctrl_voto_1').setStyle({ visibility: 'hidden' });
      }
    }

    // diploma
    if ($F('diploma_field').match(REGEX_BLANK)) {
      $('ctrl_diploma').setStyle({ visibility: 'visible' });
      f = f || $('diploma_field');
    } else {
      $('ctrl_diploma').setStyle({ visibility: 'hidden' });
    }

    if (($F('diploma_field')=='ALTRO' || $F('diploma_field')=='LICEO ALTRO' || $F('diploma_field')=='PERITO_ALTRO') && $F('altrodiploma_field').match(REGEX_BLANK)) {
      $('ctrl_altrodiploma').setStyle({ visibility: 'visible' });
      f = f || $('altrodiploma_field');
    } else {
      $('ctrl_altrodiploma').setStyle({ visibility: 'hidden' });
    }

    if ($F('anno_inizio_diploma_field') == 0 || $F('anno_inizio_diploma_field') > Data_oggi.getFullYear()) {
      $('ctrl_anno_inizio_d').setStyle({ visibility: 'visible' });
      f = f || $('anno_inizio_diploma_field');
    } else {
      $('ctrl_anno_inizio_d').setStyle({ visibility: 'hidden' });
    }

    if ($F('anno_fine_diploma_field') == 0 || $F('anno_fine_diploma_field') > Data_oggi.getFullYear() || $F('anno_fine_diploma_field') < $F('anno_inizio_diploma_field')) {
      $('ctrl_anno_fine_d').setStyle({ visibility: 'visible' });
      f = f || $('anno_fine_diploma_field');
    } else {
      $('ctrl_anno_fine_d').setStyle({ visibility: 'hidden' });
    }

    if ($F('voto_diploma_field')=='' || parseInt($F('voto_diploma_field'),10)==0) {
      $('ctrl_voto_d').setStyle({ visibility: 'visible' });
      f = f || $('voto_diploma_field');
    } else {
      $('ctrl_voto_d').setStyle({ visibility: 'hidden' });
    }

    if ($F('voto_max_diploma_field')=='' || parseInt($F('voto_max_diploma_field'),10)== 0 || parseInt($F('voto_max_diploma_field'),10) < parseInt($F('voto_diploma_field'),10)) {
      $('ctrl_voto_d').setStyle({ visibility: 'visible' });
      f = f || $('voto_max_diploma_field');
    } else {
      $('ctrl_voto_d').setStyle({ visibility: 'hidden' });
    }
  } else if ($F('titolo_studio_field') == 'LAUREA_1_LIV') { // LAUREA 1
    if ($F('laurea_primo_field').match(REGEX_BLANK)) {
      $('ctrl_laurea_1').setStyle({ visibility: 'visible' });
      f = f || $('laurea_primo_field');
    } else {
      $('ctrl_laurea_1').setStyle({ visibility: 'hidden' });
    }
    
    if ($F('corso_laurea_1_field').match(REGEX_BLANK)) {
      $('ctrl_corso_laurea_1').setStyle({ visibility: 'visible' });
      f = f || $('corso_laurea_1_field');
    } else {
      $('ctrl_corso_laurea_1').setStyle({ visibility: 'hidden' });
    }

    if ($F('anno_inizio_laurea1_field') == 0 || $F('anno_inizio_laurea1_field') > Data_oggi.getFullYear()) {
      $('ctrl_anno_inizio_1').setStyle({ visibility: 'visible' });
      f = f || $('anno_inizio_laurea1_field');
    } else {
      $('ctrl_anno_inizio_1').setStyle({ visibility: 'hidden' });
    }

    if (!$('svolgimento1_field').checked) {

      if ($F('anno_fine_laurea1_field') == 0 || $F('anno_fine_laurea1_field') > Data_oggi.getFullYear() || $F('anno_fine_laurea1_field') < $F('anno_inizio_laurea1_field')) {
        $('ctrl_anno_fine_1').setStyle({ visibility: 'visible' });
        f = f || $('anno_fine_laurea1_field');
      } else {
        $('ctrl_anno_fine_1').setStyle({ visibility: 'hidden' });
      }

      if ($F('voto_laurea1_field')=='' || parseInt($F('voto_laurea1_field'),10)==0) {
        $('ctrl_voto_1').setStyle({ visibility: 'visible' });
        f = f || $('voto_laurea1_field');
      } else {
        $('ctrl_voto_1').setStyle({ visibility: 'hidden' });
      }

      if ($F('voto_max_laurea1_field')=='' || parseInt($F('voto_max_laurea1_field'),10)==0 || parseInt($F('voto_max_laurea1_field'),10) < parseInt($F('voto_laurea1_field'),10)) {
        $('ctrl_voto_1').setStyle({ visibility: 'visible' });
        f = f || $('voto_max_laurea1_field');
      } else {
        $('ctrl_voto_1').setStyle({ visibility: 'hidden' });
      }
    } else {
      $('ctrl_anno_fine_1').setStyle({ visibility: 'hidden' });
      $('ctrl_voto_1').setStyle({ visibility: 'hidden' });
    }
    // diploma
    if ($F('diploma_field').match(REGEX_BLANK)) {
      $('ctrl_diploma').setStyle({ visibility: 'visible' });
      f = f || $('diploma_field');
    } else {
      $('ctrl_diploma').setStyle({ visibility: 'hidden' });
    }
    if (($F('diploma_field')=='ALTRO' || $F('diploma_field')=='LICEO ALTRO' || $F('diploma_field')=='PERITO_ALTRO') && $F('altrodiploma_field').match(REGEX_BLANK)) {
      $('ctrl_altrodiploma').setStyle({ visibility: 'visible' });
      f = f || $('altrodiploma_field');
    } else {
      $('ctrl_altrodiploma').setStyle({ visibility: 'hidden' });
    }

    if ($F('anno_inizio_diploma_field') == 0 || $F('anno_inizio_diploma_field') > Data_oggi.getFullYear()) {
      $('ctrl_anno_inizio_d').setStyle({ visibility: 'visible' });
      f = f || $('anno_inizio_diploma_field');
    } else {
      $('ctrl_anno_inizio_d').setStyle({ visibility: 'hidden' });
    }

    if ($F('anno_fine_diploma_field') == 0 || $F('anno_fine_diploma_field') > Data_oggi.getFullYear() || $F('anno_fine_diploma_field') < $F('anno_inizio_diploma_field')) {
      $('ctrl_anno_fine_d').setStyle({ visibility: 'visible' });
      f = f || $('anno_fine_diploma_field');
    } else {
      $('ctrl_anno_fine_d').setStyle({ visibility: 'hidden' });
    }

    if ($F('voto_diploma_field')=='' || parseInt($F('voto_diploma_field'),10)==0) {
      $('ctrl_voto_d').setStyle({ visibility: 'visible' });
      f = f || $('voto_diploma_field');
    } else {
      $('ctrl_voto_d').setStyle({ visibility: 'hidden' });
    }

    if ($F('voto_max_diploma_field')=='' || parseInt($F('voto_max_diploma_field'),10)==0 || parseInt($F('voto_max_diploma_field'),10) < parseInt($F('voto_diploma_field'),10)) {
      $('ctrl_voto_d').setStyle({ visibility: 'visible' });
      f = f || $('voto_max_diploma_field');
    } else {
      $('ctrl_voto_d').setStyle({ visibility: 'hidden' });
    }

  } else if ($F('titolo_studio_field') == 'DIPLOMA' || $F('titolo_studio_field') == 'QUALIFICA') { // DIPLOMA
    if ($F('diploma_field').match(REGEX_BLANK)) {
      $('ctrl_diploma').setStyle({ visibility: 'visible' });
      f = f || $('diploma_field');
    } else {
      $('ctrl_diploma').setStyle({ visibility: 'hidden' });
    }

    if (($F('diploma_field')=='ALTRO' || $F('diploma_field')=='LICEO ALTRO' || $F('diploma_field')=='PERITO_ALTRO') && $F('altrodiploma_field').match(REGEX_BLANK)) {
      $('ctrl_altrodiploma').setStyle({ visibility: 'visible' });
      f = f || $('altrodiploma_field');
    } else {
      $('ctrl_altrodiploma').setStyle({ visibility: 'hidden' });
    }

    if ($F('anno_inizio_diploma_field') == 0 || $F('anno_inizio_diploma_field') > Data_oggi.getFullYear()) {
      $('ctrl_anno_inizio_d').setStyle({ visibility: 'visible' });
      f = f || $('anno_inizio_diploma_field');
    } else {
      $('ctrl_anno_inizio_d').setStyle({ visibility: 'hidden' });
    }

    if (!$('svolgimentod_field').checked) {

      if ($F('anno_fine_diploma_field') == 0 || $F('anno_fine_diploma_field') > Data_oggi.getFullYear() || $F('anno_fine_diploma_field') < $F('anno_inizio_diploma_field')) {
        $('ctrl_anno_fine_d').setStyle({ visibility: 'visible' });
        f = f || $('anno_fine_diploma_field');
      } else {
        $('ctrl_anno_fine_d').setStyle({ visibility: 'hidden' });
      }

      if ($F('voto_diploma_field')=='' || parseInt($F('voto_diploma_field'),10)==0) {
        $('ctrl_voto_d').setStyle({ visibility: 'visible' });
        f = f || $('voto_diploma_field');
      } else {
        $('ctrl_voto_d').setStyle({ visibility: 'hidden' });
      }

      if ($F('voto_max_diploma_field')=='' || parseInt($F('voto_max_diploma_field'),10)==0 || parseInt($F('voto_max_diploma_field'),10) < parseInt($F('voto_diploma_field'),10)) {
        $('ctrl_voto_d').setStyle({ visibility: 'visible' });
        f = f || $('voto_max_diploma_field');
      } else {
        $('ctrl_voto_d').setStyle({ visibility: 'hidden' });
      }
    } else {
    $('ctrl_anno_fine_d').setStyle({ visibility: 'hidden' });
      $('ctrl_voto_d').setStyle({ visibility: 'hidden' });
    }
  }
  
  // competenze informatiche
  if (!$('word1').checked && !$('word2').checked && !$('word3').checked && !$('word0').checked) {
    $('ctrl_informatica').setStyle({ visibility: 'visible' });
    f = f || $('word1');
  } else {
    $('ctrl_informatica').setStyle({ visibility: 'hidden' });
  }

  if (!$('excel1').checked && !$('excel2').checked && !$('excel3').checked && !$('excel0').checked) {
    $('ctrl_informatica').setStyle({ visibility: 'visible' });
    f = f || $('excel1');
  } else {
    $('ctrl_informatica').setStyle({ visibility: 'hidden' });
  }

  if (!$('internet1').checked && !$('internet2').checked && !$('internet3').checked && !$('internet0').checked) {
    $('ctrl_informatica').setStyle({ visibility: 'visible' });
    f = f || $('internet1');
  } else {
    $('ctrl_informatica').setStyle({ visibility: 'hidden' });
  }

  // controllo JPG
  if (!$F('foto_field').match(REGEX_BLANK)) {
    var ext = $F('foto_field').split('.').pop().toLowerCase();
    if (ext != 'jpg') {
    	$('ctrl_foto').setStyle({ visibility: 'visible' });
    	f = f || $('foto_field');
    } else {
    	$('ctrl_foto').setStyle({ visibility: 'hidden' });
    }
  }
  
  // allegato cv
  //inibisco controllo allegato
  if (!$('checkGuardiola')) {
  	if ($F('cv_field').match(REGEX_BLANK)) {
  		$('ctrl_cv').setStyle({ visibility: 'visible' });
  		f = f || $('cv_field');
  	} else {
  		$('ctrl_cv').setStyle({ visibility: 'hidden' });
  	}
  }

  // consenso privacy
  if (!$('accept_pr').checked) {
    $('ctrl_privacy').setStyle({ visibility: 'visible' });
    f = f || $('accept_pr');
  } else {
    $('ctrl_privacy').setStyle({ visibility: 'hidden' });
  }

  if (f) {
	f.focus();
	var popup = '<div id="popup2" style="display:none;position:absolute"><img src="_img/alert.jpg" width="250" height="133" alt="popup" /><p>Il modulo non &egrave; stato inviato<br />Ricontrolla i dati inseriti  </p></div>';
    f.insert({after: popup});
	Effect.SlideDown('popup2')
    setTimeout(popup2Out, 3000);
    f = null;
  } else {
    $('form_invia_cv').submit();
  }
}

function valida1() {
  var f = null;

  var confirm = $('confirm') || '';
  if (confirm) {
    confirm.setStyle({ visibility: 'hidden' });
  }
  
  // posizione
  /*if ($F('posizione_field').match(REGEX_BLANK)) {
    $('ctrl_posizione').setStyle({ visibility: 'visible' });
    f = f || $('posizione_field');
  } else {
    $('ctrl_posizione').setStyle({ visibility: 'hidden' });
  }*/

  // nome
  if ($F('nome_field').match(REGEX_BLANK)) {
    $('ctrl_nome').setStyle({ visibility: 'visible' });
    f = f || $('nome_field');
  } else {
    $('ctrl_nome').setStyle({ visibility: 'hidden' });
  }

  // cognome
  if ($F('cognome_field').match(REGEX_BLANK)) {
    $('ctrl_cognome').setStyle({ visibility: 'visible' });
    f = f || $('cognome_field');
  } else {
    $('ctrl_cognome').setStyle({ visibility: 'hidden' });
  }

  // sesso
  if (!$('sessoM_field').checked && !$('sessoF_field').checked) {
    $('ctrl_sesso').setStyle({ visibility: 'visible' });
    f = f || $('sessoM_field');
  } else {
    $('ctrl_sesso').setStyle({ visibility: 'hidden' });
  }

  // data di nascita
  var gg = parseInt($F('gg_nascita_field'), 10);
  var err_data, err_data1, err_data2;
  err_data = err_data1 = err_data2 = false;

  if (!GIORNO.include(gg)) {
    err_data = true;
    f = f || $('gg_nascita_field');
  }
  var mm = parseInt($F('mm_nascita_field'), 10);
  if (!MESE.include(mm)) {
    err_data = true;
    f = f || $('mm_nascita_field');
  }
  var aa = parseInt($F('aa_nascita_field'), 10);
  if (!isNaN(aa)) {
    if (aa <= MIN_ANNO) {
      err_data1 = true;
      f = f || $('aa_nascita_field');
    }
    if (aa > MAX_ANNO || (aa == MAX_ANNO && mm > (Data_oggi.getMonth() + 1)) || (aa == MAX_ANNO && mm == (Data_oggi.getMonth() + 1) && gg > Data_oggi.getDate())) {
      err_data2 = true;
      f = f || $('aa_nascita_field');
    }
  } else {
    err_data = true;
    f = f || $('aa_nascita_field');
  }
  if (err_data) {
    $('ctrl_data_nascita').setStyle({ visibility: 'visible' });
  } else {
    $('ctrl_data_nascita').setStyle({ visibility: 'hidden' });
  }
  if (err_data1) {
    $('ctrl_data_nascita_1').setStyle({ visibility: 'visible' });
  } else {
    $('ctrl_data_nascita_1').setStyle({ visibility: 'hidden' });
  }
  if (err_data2) {
    $('ctrl_data_nascita_2').setStyle({ visibility: 'visible' });
  } else {
    $('ctrl_data_nascita_2').setStyle({ visibility: 'hidden' });
  }

  // luogo di nascita
  if ($F('luogo_nascita_field').match(REGEX_BLANK)) {
    $('ctrl_luogo_nascita').setStyle({ visibility: 'visible' });
    f = f || $('luogo_nascita_field');
  } else {
    $('ctrl_luogo_nascita').setStyle({ visibility: 'hidden' });
  }

  // provincia di nascita
  if ($F('provincia_nascita_field').match(REGEX_BLANK)) {
    $('ctrl_provincia_nascita').setStyle({ visibility: 'visible' });
    f = f || $('provincia_nascita_field');
  } else {
    $('ctrl_provincia_nascita').setStyle({ visibility: 'hidden' });
  }

  // cittadinanza di nascita
  if ($F('cittadinanza_field').match(REGEX_BLANK)) {
    $('ctrl_cittadinanza').setStyle({ visibility: 'visible' });
    f = f || $('cittadinanza_field');
  } else {
    $('ctrl_cittadinanza').setStyle({ visibility: 'hidden' });
  }

  // cellulare
  if ($F('cellulare_field').match(REGEX_BLANK) || !$F('cellulare_field').match(PHONE_EXP)) {
    $('ctrl_cellulare').setStyle({ visibility: 'visible' });
    f = f || $('cellulare_field');
  } else {
    $('ctrl_cellulare').setStyle({ visibility: 'hidden' });
  }

  // e-mail
  if (!$F('email_field').match(REGEX_BLANK)) {
    if (!$F('email_field').match(REGEX_EMAIL)) {
      $('ctrl_email').setStyle({ visibility: 'visible' });
      f = f || $('email_field');
    } else {
      $('ctrl_email').setStyle({ visibility: 'hidden' });
    }
  }

  // indirizzo res
  if ($F('indirizzo_res_field').match(REGEX_BLANK)) {
    $('ctrl_indirizzo_residenza').setStyle({ visibility: 'visible' });
    f = f || $('indirizzo_res_field');
  } else {
    $('ctrl_indirizzo_residenza').setStyle({ visibility: 'hidden' });
  }

  // cap res
  if ($F('cap_res_field').match(REGEX_BLANK)) {
    $('ctrl_cap_residenza').setStyle({ visibility: 'visible' });
    f = f || $('cap_res_field');
  } else {
    $('ctrl_cap_residenza').setStyle({ visibility: 'hidden' });
  }

  // citta' res
  if ($F('citta_res_field').match(REGEX_BLANK)) {
    $('ctrl_citta_residenza').setStyle({ visibility: 'visible' });
    f = f || $('citta_res_field');
  } else {
    $('ctrl_citta_residenza').setStyle({ visibility: 'hidden' });
  }

  // provincia res
  if ($F('provincia_res_field').match(REGEX_BLANK)) {
    $('ctrl_provincia_residenza').setStyle({ visibility: 'visible' });
    f = f || $('provincia_res_field');
  } else {
    $('ctrl_provincia_residenza').setStyle({ visibility: 'hidden' });
  }

  // regione res
  if ($F('regione_res_field').match(REGEX_BLANK)) {
    $('ctrl_regione_residenza').setStyle({ visibility: 'visible' });
    f = f || $('regione_res_field');
  } else {
    $('ctrl_regione_residenza').setStyle({ visibility: 'hidden' });
  }

  // nazione res
  if ($F('nazione_res_field').match(REGEX_BLANK)) {
    $('ctrl_nazione_residenza').setStyle({ visibility: 'visible' });
    f = f || $('nazione_res_field');
  } else {
    $('ctrl_nazione_residenza').setStyle({ visibility: 'hidden' });
  }

  // indirizzo dom
  if ($F('indirizzo_dom_field').match(REGEX_BLANK)) {
    $('ctrl_indirizzo_domicilio').setStyle({ visibility: 'visible' });
    f = f || $('indirizzo_dom_field');
  } else {
    $('ctrl_indirizzo_domicilio').setStyle({ visibility: 'hidden' });
  }

  // cap dom
  if ($F('cap_dom_field').match(REGEX_BLANK)) {
    $('ctrl_cap_domicilio').setStyle({ visibility: 'visible' });
    f = f || $('cap_dom_field');
  } else {
    $('ctrl_cap_domicilio').setStyle({ visibility: 'hidden' });
  }

  // citta' dom
  if ($F('citta_dom_field').match(REGEX_BLANK)) {
    $('ctrl_citta_domicilio').setStyle({ visibility: 'visible' });
    f = f || $('citta_dom_field');
  } else {
    $('ctrl_citta_domicilio').setStyle({ visibility: 'hidden' });
  }

  // provincia dom
  if ($F('provincia_dom_field').match(REGEX_BLANK)) {
    $('ctrl_provincia_domicilio').setStyle({ visibility: 'visible' });
    f = f || $('provincia_dom_field');
  } else {
    $('ctrl_provincia_domicilio').setStyle({ visibility: 'hidden' });
  }

  // regione dom
  if ($F('regione_dom_field').match(REGEX_BLANK)) {
    $('ctrl_regione_domicilio').setStyle({ visibility: 'visible' });
    f = f || $('regione_dom_field');
  } else {
    $('ctrl_regione_domicilio').setStyle({ visibility: 'hidden' });
  }

  // nazione dom
  if ($F('nazione_dom_field').match(REGEX_BLANK)) {
    $('ctrl_nazione_domicilio').setStyle({ visibility: 'visible' });
    f = f || $('nazione_dom_field');
  } else {
    $('ctrl_nazione_domicilio').setStyle({ visibility: 'hidden' });
  }

  if (f) {
    f.focus();
    var popup = '<div id="popup1" style="display:none;position:absolute"><img src="_img/alert.jpg" width="250" height="133" alt="popup" /><p>Il modulo non &egrave; stato inviato<br />Ricontrolla i dati inseriti </p></div>';
    f.insert({after: popup});
    Effect.SlideDown('popup1');
    setTimeout(popup1Out, 3000);
  } else {
    $('prima_parte').hide();
    if ($('testo_annuncio')) {
      $('testo_annuncio').hide();
    }
    $('seconda_parte').appear();
  }
}

function registraNascita() {
  var CittaNascita = $('luogo_nascita_field') || '';
  if (CittaNascita) {
    CittaNascita.observe('blur', function() {
      AjaxUpdateNascita();
    });
  }
}

function checkAutocompleterNascita(item_sel) {
  if (item_sel.identify() != 'chiudiSuggest') {
    document.getElementsByName(this.paramName)[0].value = item_sel.innerHTML;
  }
  AjaxUpdateNascita();
}

function checkAutocompleterCapRes(item_sel) {
  if (item_sel.identify() != 'chiudiSuggest') {
    document.getElementsByName(this.paramName)[0].value = item_sel.innerHTML;
  }
  AjaxUpdateCapRes();
}

function checkAutocompleterCittaRes(item_sel) {
  if (item_sel.identify() != 'chiudiSuggest') {
    document.getElementsByName(this.paramName)[0].value = item_sel.innerHTML;
  }
  AjaxUpdateCittaRes();
}

function checkAutocompleterCapDom(item_sel) {
  if (item_sel.identify() != 'chiudiSuggest') {
    document.getElementsByName(this.paramName)[0].value = item_sel.innerHTML;
  }
  AjaxUpdateCapDom();
}

function checkAutocompleterCittaDom(item_sel) {
  if (item_sel.identify() != 'chiudiSuggest') {
    document.getElementsByName(this.paramName)[0].value = item_sel.innerHTML;
  }
  AjaxUpdateCittaDom();
}

function AjaxUpdateNascita() {
  var f = $('form_invia_cv') || '';
  var pos_dis = false;
  if (f) {
    if ($('posizione_field').disabled) {
      pos_dis = true;
    }
    f.disable();
  }
  
  //$('loading_nascita').setStyle({ visibility: 'visible' });
  var luogo_nascita = $F('luogo_nascita_field');

  var data = $H({
  'luogo_nascita': luogo_nascita
  }).toQueryString();
  new Ajax.Request('ajaxNascita.php', {
    method: 'get',
    parameters: data,
    //onSuccess: alert('pippo')
    onSuccess: function(transport) {
      $('SezioneNascita').update(transport.responseText);
      //$('loading_nascita').setStyle({ visibility: 'hidden' });
      f.enable();
      if ($('provincia_nascita_field').hasClassName('disabled')) {
        $('provincia_nascita_field').disable();
      }
      if (pos_dis) {
        $('posizione_field').disable();
      }
      registraValida();
    }
  });
}

function AjaxUpdateCapRes() {
  var f = $('form_invia_cv') || '';
  var pos_dis = false;
  if (f) {
    if ($('posizione_field').disabled) {
      pos_dis = true;
    }
    f.disable();
  }
  
  var indirizzo_res = $F('indirizzo_res_field');
  var cap_res = $F('cap_res_field');
  
  var data = $H({
    'indirizzo_res': indirizzo_res,
    'cap_res': cap_res
  }).toQueryString();
  new Ajax.Request('ajaxResidenza.php', {
    method: 'get',
    parameters: data,
    //onSuccess: alert('pippo')
    onSuccess: function(transport) {
      $('SezioneResidenza').update(transport.responseText);
      f.enable();
      /*var checkDomicilio = $('checkDomicilio') || '';
      if (checkDomicilio) {
        checkDomicilio.observe('click', copiaResidenza);
      }*/
      /*if ($('provincia_res_field').hasClassName('disabled')) {
        $('provincia_res_field').disable();
      }
      if ($('regione_res_field').hasClassName('disabled')) {
        $('regione_res_field').disable();
      }*/
      if (pos_dis) {
        $('posizione_field').disable();
      }
    }
  });
}

function AjaxUpdateCittaRes() {
  var f = $('form_invia_cv') || '';
  var pos_dis = false;
  if (f) {
    if ($('posizione_field').disabled) {
      pos_dis = true;
    }
    f.disable();
  }
  
  var indirizzo_res = $F('indirizzo_res_field');
  var cap_res = $F('cap_res_field');
  var citta_res = $F('citta_res_field');

  var data = $H({
    'indirizzo_res': indirizzo_res,
    'cap_res': cap_res,
    'citta_res': citta_res
  }).toQueryString();
  new Ajax.Request('ajaxResidenza.php', {
    method: 'get',
    parameters: data,
    //onSuccess: alert('pippo')
    onSuccess: function(transport) {
      $('SezioneResidenza').update(transport.responseText);
      f.enable();
      /*if ($('provincia_res_field').hasClassName('disabled')) {
        $('provincia_res_field').disable();
      }
      if ($('regione_res_field').hasClassName('disabled')) {
        $('regione_res_field').disable();
      }*/
      if (pos_dis) {
        $('posizione_field').disable();
      }
    }
  });
}

function AjaxUpdateCapDom() {
  var f = $('form_invia_cv') || '';
  var pos_dis = false;
  if (f) {
    if ($('posizione_field').disabled) {
      pos_dis = true;
    }
    f.disable();
  }
  var indirizzo_dom = $F('indirizzo_dom_field');
  var cap_dom = $F('cap_dom_field');
  var uguale_residenza = 0;
  if ($('checkDomicilio_field').checked) {
    uguale_residenza = 1;
  }

  var data = $H({
    'indirizzo_dom': indirizzo_dom,
    'cap_dom': cap_dom,
    'citta_dom': '',
    'check_dom': uguale_residenza
  }).toQueryString();
  new Ajax.Request('ajaxDomicilio.php', {
    method: 'get',
    parameters: data,
    //onSuccess: alert('pippo')
    onSuccess: function(transport) {
      $('SezioneDomicilio').update(transport.responseText);
      f.enable();
      /*if ($('provincia_dom_field').hasClassName('disabled')) {
        $('provincia_dom_field').disable();
      }
      if ($('regione_dom_field').hasClassName('disabled')) {
        $('regione_dom_field').disable();
      }*/
      if (pos_dis) {
        $('posizione_field').disable();
      }
    }
  });
}

function AjaxUpdateCittaDom() {
  var f = $('form_invia_cv') || '';
  var pos_dis = false;
  if (f) {
    if ($('posizione_field').disabled) {
      pos_dis = true;
    }
    f.disable();
  }
  var indirizzo_dom = $F('indirizzo_dom_field');
  var cap_dom = $F('cap_dom_field');
  var citta_dom = $F('citta_dom_field');
  var uguale_residenza = 0;
  if ($('checkDomicilio_field').checked) {
    uguale_residenza = 1;
  }

  var data = $H({
    'indirizzo_dom': indirizzo_dom,
    'cap_dom': cap_dom,
    'citta_dom': citta_dom,
    'check_dom' : uguale_residenza
  }).toQueryString();
  new Ajax.Request('ajaxDomicilio.php', {
    method: 'get',
    parameters: data,
    //onSuccess: alert('pippo')
    onSuccess: function(transport) {
      $('SezioneDomicilio').update(transport.responseText);
      f.enable();
      /*if ($('provincia_dom_field').hasClassName('disabled')) {
        $('provincia_dom_field').disable();
      }
      if ($('regione_dom_field').hasClassName('disabled')) {
        $('regione_dom_field').disable();
      }*/
      if (pos_dis) {
        $('posizione_field').disable();
      }
    }
  });
}


function AjaxUpdateIstruzione() {
  var f = $('form_invia_cv') || '';
  var pos_dis = false;
  if (f) {
    if ($('posizione_field').disabled) {
      pos_dis = true;
    }
    f.disable();
  }
  $('loading_istruzione').setStyle({ visibility: 'visible' });
  var titolo_studio = $F('titolo_studio_field');

  var data = $H({
    'titolo_studio': titolo_studio
  }).toQueryString();
  new Ajax.Request('ajaxIstruzione.php', {
    method: 'get',
    parameters: data,
    onSuccess: function(transport) {
      $('IstruzioneFormazione').update(transport.responseText);
      $('loading_istruzione').setStyle({ visibility: 'hidden' });
      f.enable();
      if (pos_dis) {
        $('posizione_field').disable();
      }
      var titolo_studio_field = $('titolo_studio_field') || '';
      if (titolo_studio_field) {
        titolo_studio_field.observe('change', AjaxUpdateIstruzione);
      }
      svolgimento2();
      svolgimento1();
      svolgimentod();
      var diploma_field = $('diploma_field') || '';
      if (diploma_field) {
      	$('diploma_field').observe('change', function() {
      		if($F('diploma_field')=='ALTRO' || $F('diploma_field')=='LICEO ALTRO' || $F('diploma_field')=='PERITO_ALTRO') {
        		$('altro_diploma_obbl').setStyle({ visibility: 'visible' });
        	} else {
        		$('altro_diploma_obbl').setStyle({ visibility: 'hidden' });
        	};
      	});
      }
      form_invia_cv.observe('submit', valida);
      
    }
  });
}

function AjaxUpdateDomande() {
  var f = $('form_invia_cv') || '';
  var pos_dis = false;
  if (f) {
    if ($('posizione_field').disabled) {
      pos_dis = true;
    }
    f.disable();
  }
  //$('loading_istruzione').setStyle({ visibility: 'visible' });
  var codice = $F('posizione_field');

  var data = $H({
    'codice': codice
  }).toQueryString();
  new Ajax.Request('ajaxDomande.php', {
    method: 'get',
    parameters: data,
    onSuccess: function(transport) {
      $('domande_app').update(transport.responseText);
      //$('loading_istruzione').setStyle({ visibility: 'hidden' });
      f.enable();
      if (pos_dis) {
        $('posizione_field').disable();
      }
      /*var titolo_studio_field = $('titolo_studio_field') || '';
      if (titolo_studio_field) {
        titolo_studio_field.observe('change', AjaxUpdateIstruzione);
      }
      svolgimento2();
      svolgimento1();
      svolgimentod();*/
      form_invia_cv.observe('submit', valida);
    }
  });
}

function registerEvents() {
  var form_invia_cv = $('form_invia_cv') || '';
  if (form_invia_cv) {
    $('nome_field').focus();

    // posizione domande
    var posizione_field = $('posizione_field') || '';
    if (posizione_field) {
      posizione_field.observe('change', AjaxUpdateDomande);
    }
    
    var checkDomicilio_field = $('checkDomicilio_field') || '';
    if (checkDomicilio_field) {
      checkDomicilio_field.observe('click', copiaResidenza);
    }

    // istruzione
    var titolo_studio_field = $('titolo_studio_field') || '';
    if (titolo_studio_field) {
      titolo_studio_field.observe('change', AjaxUpdateIstruzione);
    }

    svolgimento2();
    svolgimento1();
    svolgimentod();
    registraValida();

    $('link_privacy').observe('click', function(e) { openWindow('privacy.php', 'privacy', 1030, 800); e.stop(); });

    $('puls_prosegui').observe('click', valida1);

    $('puls_indietro').observe('click', function() {
      $('seconda_parte').hide();
      $('prima_parte').appear();
      if ($('testo_annuncio')) {
        $('testo_annuncio').appear();
      }

    });

    $('puls_invia').observe('click', valida);

    // disable enter key
    form_invia_cv.observe('keypress', function(e) {
      if (e.keyCode) {
        code = e.keyCode;
      } else if (e.which) {
        code = e.which;
      }
      if (code == 13) {
        e.stop();
      }

    });
    
  }
}

Event.observe(window, 'load', registerEvents);