/**
 * @author nissl
 */
//var STUDIOS = ["Perugia", "Brunico", "Bolzano", "Milano"];
//var STUDIOS = ["Perugia", "Brunico", "Bolzano"];
var STUDIOS = ["Perugia", "Brunico"];

var SEX = [
    ["--", ""],
    ["uomo", "M"],
    ["donna", "F"]
];

function leadingZero(nr){
    if (nr < 10)
        nr = "0" + nr;
    return nr;
}

function buildSexList(){
    var frm_sesso = document.getElementById("frm_sesso");
    for (var i = 0; i < SEX.length; i++) {
        var el = document.createElement('option');
        el.setAttribute('value', SEX[i][1]);
        el.appendChild(document.createTextNode(SEX[i][0]));
        if (i == 0) {
            el.setAttribute('selected', true);
        }
        frm_sesso.appendChild(el);
    }
}

function buildStudiosList(){
    var frm_citta_visita = document.getElementById("frm_citta_visita");
    for (var i = 0; i < STUDIOS.length; i++) {
        var el = document.createElement('option');
        el.setAttribute('value', STUDIOS[i]);
        el.appendChild(document.createTextNode(STUDIOS[i]));
        if (i == 0) {
            el.setAttribute('selected', true);
        }
        frm_citta_visita.appendChild(el);
    }
}

function buildYearsList(almost18, setAlmost18){
    var frm_data_nascita_year = document.getElementById("frm_data_nascita_year");

    var empty = document.createElement('option');
    empty.setAttribute('value', "");
    empty.appendChild(document.createTextNode("--"));
    frm_data_nascita_year.appendChild(empty);

    var adult_limit = 18;
    var year = 0;
    var year_limit = year;
    if (document.all) {
        year = new Date().getYear();
    } else {
        year = new Date().getFullYear();
    }
    year_limit = year - adult_limit
    if (almost18) {
        year = year - adult_limit
        year_limit = year
    }
    for (var i = 1907; i <= year; i++) {
        var y = i.toString()
        var el = document.createElement('option');
        el.setAttribute('value', y);
        el.appendChild(document.createTextNode(y));
        if (i == year_limit && setAlmost18) {
            el.setAttribute('selected', true);
        }
        frm_data_nascita_year.appendChild(el);
    }
}

function buildMonthsList(selectNow){
    var frm_data_nascita_month = document.getElementById("frm_data_nascita_month");

    var empty = document.createElement('option');
    empty.setAttribute('value', "");
    empty.appendChild(document.createTextNode("--"));
    frm_data_nascita_month.appendChild(empty);

    var month = new Date().getMonth() + 1;
    for (var i = 1; i <= 12; i++) {
        var el = document.createElement('option');
        el.setAttribute('value', leadingZero(i));
        el.appendChild(document.createTextNode(leadingZero(i)));
        if (i == month && selectNow) {
            el.setAttribute('selected', true);
        }
        frm_data_nascita_month.appendChild(el);
    }
}

function buildDaysList(selectNow){
    var frm_data_nascita_day = document.getElementById("frm_data_nascita_day");

    var empty = document.createElement('option');
    empty.setAttribute('value', "");
    empty.appendChild(document.createTextNode("--"));
    frm_data_nascita_day.appendChild(empty);

    var day = new Date().getDate();
    for (var i = 1; i <= 31; i++) {
        var el = document.createElement('option');
        el.setAttribute('value', leadingZero(i));
        el.appendChild(document.createTextNode(leadingZero(i)));
        if (i == day && selectNow) {
            el.setAttribute('selected', true);
        }
        frm_data_nascita_day.appendChild(el);
    }
}

window.onload = function(){
    buildStudiosList();
    buildSexList();
    buildYearsList(false);
    buildMonthsList();
    buildDaysList();
}

function controlla(){
    var richiedi = document.getElementById('richiedi');

    if (richiedi.citta_visita.value == '') {
        alert("Non hai inserito lo studio della prima visita ! Controlla e prova di nuovo !");
        return false;
    }
    if (richiedi.cognome.value == '') {
        alert("Non hai inserito il cognome! Controlla e prova di nuovo!");
        return false;
    }
    if (richiedi.nome.value == '') {
        alert("Non hai inserito il nome! Controlla e prova di nuovo!");
        return false;
    }
    if (richiedi.professione.value == '') {
        alert("Non hai inserito la professione! Controlla e prova di nuovo!");
        return false;
    }
    if (richiedi.sesso.value == '') {
        alert("Non hai inserito il sesso! Controlla e prova di nuovo!");
        return false;
    }

    if (richiedi.citta_nascita.value == '') {
        alert("Non hai inserito la città di nascita! Controlla e prova di nuovo!");
        return false;
    }
    else {
        //alert(getCityCode(CITIES, richiedi.citta_nascita.value))
        if (!getCityCode(CITIES, richiedi.citta_nascita.value)) {
            alert("La città di nascita non esiste! Controlla e prova di nuovo!");
            return false;
        }
    }

    if (richiedi.data_nascita_day.value == '' || richiedi.data_nascita_month.value == '' || richiedi.data_nascita_year.value == '') {
        alert("Non hai inserito la data di nascita! Controlla e prova di nuovo!");
        return false;
    }
    if (richiedi.via.value == '') {
        alert("Non hai inserito la via! Controlla e prova di nuovo!");
        return false;
    }
    if (richiedi.cap.value == '') {
        alert("Non hai inserito il cap! Controlla e prova di nuovo!");
        return false;
    }

    if (richiedi.citta_residenza.value == '') {
        alert("Non hai inserito la città di residenza! Controlla e prova di nuovo!");
        return false;
    }

    if (richiedi.provincia.value == '') {
        alert("Non hai inserito la provincia! Controlla e prova di nuovo!");
        return false;
    }
    if (richiedi.telefono.value == '') {
        alert("Non hai inserito il numero di telefono! Controlla e prova di nuovo!");
        return false;
    }
    if (richiedi.cellulare.value == '') {
        alert("Non hai inserito il numero di cellulare! Controlla e prova di nuovo!");
        return false;
    }
    if (richiedi.email.value == '') {
        alert("Non hai inserito la tua email! Controlla e prova di nuovo!");
        return false;
    }
    if (richiedi.email.value != richiedi.email2.value) {
        alert("Hai fatto un errore nel ribattere la email! Controlla e prova di nuovo!");
        return false;
    }

    if (richiedi.codfis.value == '') {
        alert("Non hai inserito il codice fiscale! Controlla e prova di nuovo!");
        return false;
    }

    if (!isValidCodFis(richiedi.codfis.value)) {
        alert(LASTOUTMESSAGE);
        return false;
    }

    return true;
}

function getFiscalCodeFromPage(){
    var frm_codfis = document.getElementById('frm_codfis');
    var frm_richiedi = document.getElementById('richiedi');
    frm_codfis.value = getFiscalCode(frm_richiedi.nome.value, frm_richiedi.cognome.value, frm_richiedi.data_nascita_year.value, frm_richiedi.data_nascita_month.value, frm_richiedi.data_nascita_day.value, frm_richiedi.sesso.value, frm_richiedi.citta_nascita.value)
    return false;
}

function getCapForPage(){
    var frm_codfis = document.getElementById('frm_codfis');
    var frm_cap = document.getElementById('frm_cap');
    var frm_citta = document.getElementById('frm_citta_residenza');
    var cap = getCityCap(CITIES, frm_citta.value);
    if (cap) {
        frm_cap.value = cap;
    }
    else {
        alert("Comune non nel database.")
    }
}

