﻿function Precompila(idRbOperativitaBassa,
                          idRbOperativitaMedia,
                          idRbOperativitaAlta,
                          idRbPercentuale0,
                          idRbPercentuale90,
                          idRbPercentuale100,
                          idTxtContanteSportello,
                          idTxtBancomatPropriaBanca,
                          idTxtBancomatAltraBanca,
                          idTxtBancomatCircuitiInternazionali,
                          idTxtPagamentiBancomat,
                          idTxtBonificiOnline,
                          idTxtBonificiFiliale,
                          idSpanSoloOnline1,
                          idSpanSoloOnline2,
                          idSpanSoloFiliale1) {

    var rbOperativitaBassa = document.getElementById(idRbOperativitaBassa);
    var rbOperativitaMedia = document.getElementById(idRbOperativitaMedia);
    var rbOperativitaAlta = document.getElementById(idRbOperativitaAlta);
    var rbPercentuale0 = document.getElementById(idRbPercentuale0);
    var rbPercentuale90 = document.getElementById(idRbPercentuale90);
    var rbPercentuale100 = document.getElementById(idRbPercentuale100);

    var operativita = -1;
    var percentuale = -1;

    if (rbPercentuale0.checked) percentuale = 0;
    if (rbPercentuale90.checked) percentuale = 90;
    if (rbPercentuale100.checked) percentuale = 100;

    if (rbOperativitaBassa.checked) operativita = 1;
    if (rbOperativitaMedia.checked) operativita = 2;
    if (rbOperativitaAlta.checked) operativita = 3;


    var txtContanteSportello = document.getElementById(idTxtContanteSportello);
    var txtBancomatPropriaBanca = document.getElementById(idTxtBancomatPropriaBanca);
    var txtBancomatAltraBanca = document.getElementById(idTxtBancomatAltraBanca);
    var txtBancomatCircuitiInternazionali = document.getElementById(idTxtBancomatCircuitiInternazionali);
    var txtPagamentiBancomat = document.getElementById(idTxtPagamentiBancomat);
    var txtBonificiOnline = document.getElementById(idTxtBonificiOnline);
    var txtBonificiFiliale = document.getElementById(idTxtBonificiFiliale);
    var spanSoloOnline1 = document.getElementById(idSpanSoloOnline1);
    var spanSoloOnline2 = document.getElementById(idSpanSoloOnline2);
    var spanSoloFiliale1 = document.getElementById(idSpanSoloFiliale1);


    //Reset campi che possono essere bloccati
    txtContanteSportello.disabled = false;
    txtContanteSportello.value = "";
    txtBonificiOnline.disabled = false;
    txtBonificiOnline.value = "";
    txtBonificiFiliale.disabled = false;
    txtBonificiFiliale.value = "";
    spanSoloOnline1.style.visibility = "hidden";
    spanSoloOnline2.style.visibility = "hidden";
    spanSoloFiliale1.style.visibility = "hidden";

    if (percentuale != -1) {
        switch (percentuale) {
            case 0:
                txtBonificiOnline.value = 0;
                txtBonificiOnline.disabled = true;
                spanSoloFiliale1.style.visibility = "visible";
                switch (operativita) {
                    case 1:
                        txtContanteSportello.value = 2;
                        txtBancomatPropriaBanca.value = 2;
                        txtBancomatAltraBanca.value = 1;
                        txtBancomatCircuitiInternazionali.value = 0;
                        txtPagamentiBancomat.value = 2;
                        txtBonificiFiliale.value = 2;
                        break;
                    case 2:
                        txtContanteSportello.value = 3;
                        txtBancomatPropriaBanca.value = 4;
                        txtBancomatAltraBanca.value = 1;
                        txtBancomatCircuitiInternazionali.value = 1;
                        txtPagamentiBancomat.value = 13;
                        txtBonificiFiliale.value = 3;
                        break;
                    case 3:
                        txtContanteSportello.value = 11;
                        txtBancomatPropriaBanca.value = 12;
                        txtBancomatAltraBanca.value = 6;
                        txtBancomatCircuitiInternazionali.value = 2;
                        txtPagamentiBancomat.value = 30;
                        txtBonificiFiliale.value = 4;
                        break;
                }
                break;
            case 90:
                switch (operativita) {
                    case 1:
                        txtContanteSportello.value = 1;
                        txtBancomatPropriaBanca.value = 3;
                        txtBancomatAltraBanca.value = 1;
                        txtBancomatCircuitiInternazionali.value = 0;
                        txtPagamentiBancomat.value = 2;
                        txtBonificiOnline.value = 1;
                        txtBonificiFiliale.value = 1;
                        break;
                    case 2:
                        txtContanteSportello.value = 1;
                        txtBancomatPropriaBanca.value = 4;
                        txtBancomatAltraBanca.value = 2;
                        txtBancomatCircuitiInternazionali.value = 1;
                        txtPagamentiBancomat.value = 13;
                        txtBonificiOnline.value = 3;
                        txtBonificiFiliale.value = 1;
                        break;
                    case 3:
                        txtContanteSportello.value = 2;
                        txtBancomatPropriaBanca.value = 14;
                        txtBancomatAltraBanca.value = 8;
                        txtBancomatCircuitiInternazionali.value = 2;
                        txtPagamentiBancomat.value = 30;
                        txtBonificiOnline.value = 8;
                        txtBonificiFiliale.value = 1;
                        break;
                }
                break;
            case 100:
                txtContanteSportello.value = 0;
                txtContanteSportello.disabled = true;
                txtBonificiFiliale.value = 0;
                txtBonificiFiliale.disabled = true;
                spanSoloOnline1.style.visibility = "visible";
                spanSoloOnline2.style.visibility = "visible";
                switch (operativita) {
                    case 1:
                        txtBancomatPropriaBanca.value = 3;
                        txtBancomatAltraBanca.value = 1;
                        txtBancomatCircuitiInternazionali.value = 0;
                        txtPagamentiBancomat.value = 3;
                        txtBonificiOnline.value = 2;
                        break;
                    case 2:
                        txtBancomatPropriaBanca.value = 5;
                        txtBancomatAltraBanca.value = 3;
                        txtBancomatCircuitiInternazionali.value = 1;
                        txtPagamentiBancomat.value = 12;
                        txtBonificiOnline.value = 4;
                        break;
                    case 3:
                        txtBancomatPropriaBanca.value = 9;
                        txtBancomatAltraBanca.value = 14;
                        txtBancomatCircuitiInternazionali.value = 2;
                        txtPagamentiBancomat.value = 30;
                        txtBonificiOnline.value = 10;
                        break;
                }
                break;
        }
    }

}


function ValidazioneInput(idTxtEsito,
                          idRbOperativitaBassa,
                          idRbOperativitaMedia,
                          idRbOperativitaAlta,
                          idRbPercentuale0,
                          idRbPercentuale90,
                          idRbPercentuale100,
                          idTxtDataNascitaGiorno,
                          idTxtDataNascitaMese,
                          idTxtDataNascitaAnno,
                          idRbAccreditoSi,
                          idRbAccreditoNo,
                          idTxtRicaricaOnline,
                          idTxtRicaricheFiliale,
                          idTxtContanteSportello,
                          idTxtBancomatPropriaBanca,
                          idTxtBancomatAltraBanca,
                          idTxtBancomatCircuitiInternazionali,
                          idTxtPagamentiBancomat,
                          idTxtBonificiOnline,
                          idTxtBonificiFiliale,
                          idTxtIndirizzo,
                          idTxtComune,
                          idTxtCAP,
                          idTxtLatitudine,
                          idTxtLongitudine,
                          idTxtDatiRicerca,
                          idBtnRicerca) {


    //Validazione Data nascita
    if (!ValidateDate(idTxtDataNascitaGiorno, idTxtDataNascitaMese, idTxtDataNascitaAnno, "Data di nascita"))
        return false;
    if (!DataPassata(idTxtDataNascitaGiorno, idTxtDataNascitaMese, idTxtDataNascitaAnno, "Data di nascita"))
        return false;
    if (document.getElementById(idTxtDataNascitaAnno).value * 1 < 1900) {
        alert("Indicare un anno di nascita supereiore al 1900.");
        document.getElementById(idTxtDataNascitaAnno).focus();
        return false;
    }

    //Validazione dati di residenza
    var ctrlIndirizzo = document.getElementById(idTxtIndirizzo);
    var ctrlComune = document.getElementById(idTxtComune);
    var ctrlCAP = document.getElementById(idTxtCAP);

    //Indirizzo
    if (ctrlIndirizzo.value == "Via e numero civico")
        ctrlIndirizzo.value = "";
    if (ctrlIndirizzo.value != "") {
        if (check_indirizzo(ctrlIndirizzo, true, "Indicare l'indirizzo e il numero civico, anche se incompleto, nell'apposito campo.") == false) return false;
        if (non_soloInt(ctrlIndirizzo, "Indirizzo e numero civico", "") == true) return false;
    }

    //Comune
    if (ctrlComune.value == "Località / Comune")
        ctrlComune.value = "";
    if (ctrlComune.value != "") {
        if (check_indirizzo(ctrlComune, true, "Indicare il comune, anche se incompleto, nell'apposito campo.") == false) return false;
        if (non_soloInt(ctrlComune, "Comune", "") == true) return false;
    }

    //CAP
    if (ctrlCAP.value == "C.A.P.")
        ctrlCAP.value = "";
    if (ctrlCAP.value != "") {
        if (check_integerNonMex(ctrlCAP, true, true) == false || ctrlCAP.value.length != 5) {
            alert("Valore non corretto nel campo C.A.P.");
            ctrlCAP.focus();
            return false;
        }
    }

    //Validazione Accredito stipendio/pensione
    var rbAccreditoSi = document.getElementById(idRbAccreditoSi);
    var rbAccreditoNo = document.getElementById(idRbAccreditoNo);

    if (!rbAccreditoSi.checked && !rbAccreditoNo.checked) {
        alert("Devi scegliere un valore per campo 'Accredito stipendio/pensione?'");
        rbAccreditoSi.focus();
        return false;
    }

    //Validazione Percentuale Operazioni Online
    var rbPerc0 = document.getElementById(idRbPercentuale0);
    var rbPerc90 = document.getElementById(idRbPercentuale90);
    var rbPerc100 = document.getElementById(idRbPercentuale100);

    if (!rbPerc0.checked && !rbPerc90.checked && !rbPerc100.checked) {
        alert("Devi scegliere un valore per campo 'Canale di ultilizzo'.");
        rbPerc0.focus();
        return false;
    }

    //Validazione operativita
    var rbBassa = document.getElementById(idRbOperativitaBassa);
    var rbMedia = document.getElementById(idRbOperativitaMedia);
    var rbAlta = document.getElementById(idRbOperativitaAlta);

    if (!rbBassa.checked && !rbMedia.checked && !rbAlta.checked) {
        alert("Devi scegliere un valore per campo 'Intensità di utilizzo'.");
        rbBassa.focus();
        return false;
    }

    //Ricarica online (contanti o assegni)
    var txtRicaricaOnline = document.getElementById(idTxtRicaricaOnline);
    if (!ValidateInteroConRegularExpression(txtRicaricaOnline.value) || txtRicaricaOnline.value == "") {
        alert("Devi inserire un valore intero per campo 'Ricariche online'.");
        txtRicaricaOnline.focus();
        return false;
    }

    //Ricarica in filiale
    var txtRicaricaInFiliale = document.getElementById(idTxtRicaricheFiliale);
    if (!ValidateInteroConRegularExpression(txtRicaricaInFiliale.value) || txtRicaricaInFiliale.value == "") {
        alert("Devi inserire un valore intero per campo 'Ricariche in filiale'.");
        txtRicaricaInFiliale.focus();
        return false;
    }

    //Prelievi di contante in filiale
    var txtContanteSportello = document.getElementById(idTxtContanteSportello);
    if (!ValidateInteroConRegularExpression(txtContanteSportello.value) || txtContanteSportello.value == "") {
        alert("Devi inserire un valore intero per campo 'Prelievi di contante in filiale'.");
        txtContanteSportello.focus();
        return false;
    }

    //Prelievi bancomat propria banca 
    var txtRicaricaInFiliale = document.getElementById(idTxtBancomatPropriaBanca);
    if (!ValidateInteroConRegularExpression(txtRicaricaInFiliale.value) || txtRicaricaInFiliale.value == "") {
        alert("Devi inserire un valore intero per campo 'Prelievi bancomat propria banca'.");
        txtRicaricaInFiliale.focus();
        return false;
    }

    //Prelievi bancomat altre banche
    var txtBancomatAltraBanca = document.getElementById(idTxtBancomatAltraBanca);
    if (!ValidateInteroConRegularExpression(txtBancomatAltraBanca.value) || txtBancomatAltraBanca.value == "") {
        alert("Devi inserire un valore intero per campo 'Prelievi bancomat altre banche'.");
        txtBancomatAltraBanca.focus();
        return false;
    }

    //Prelievi bancomat all'estero 
    var txtBancomatCircuitiInternazionali = document.getElementById(idTxtBancomatCircuitiInternazionali);
    if (!ValidateInteroConRegularExpression(txtBancomatCircuitiInternazionali.value) || txtBancomatCircuitiInternazionali.value == "") {
        alert("Devi inserire un valore intero per campo 'Prelievi bancomat all'estero'.");
        txtBancomatCircuitiInternazionali.focus();
        return false;
    }

    //Pagamenti con bancomat
    var txtPagamentiBancomat = document.getElementById(idTxtPagamentiBancomat);
    if (!ValidateInteroConRegularExpression(txtPagamentiBancomat.value) || txtPagamentiBancomat.value == "") {
        alert("Devi inserire un valore intero per campo 'Pagamenti con bancomat'.");
        txtPagamentiBancomat.focus();
        return false;
    }

    //Bonifici online 
    var txtBonificiOnline = document.getElementById(idTxtBonificiOnline);
    if (!ValidateInteroConRegularExpression(txtBonificiOnline.value) || txtBonificiOnline.value == "") {
        alert("Devi inserire un valore intero per campo 'Bonifici online'.");
        txtBonificiOnline.focus();
        return false;
    }

    //Bonifici in filiale
    var txtBonificiFiliale = document.getElementById(idTxtBonificiFiliale);
    if (!ValidateInteroConRegularExpression(txtBonificiFiliale.value) || txtBonificiFiliale.value == "") {
        alert("Devi inserire un valore intero per campo 'Bonifici in filiale'.");
        txtBonificiFiliale.focus();
        return false;
    }


    RicercaGeocoder(1, idTxtIndirizzo, idTxtComune, idTxtCAP, 'Italia', idTxtEsito, idTxtLatitudine, idTxtLongitudine, idTxtDatiRicerca, txtBonificiOnline, txtContanteSportello, txtBonificiFiliale, null);

    return false;
}
                  
