/*Alcune utility*/
/**
* @author Matteo Tassinari
* @version 1.0
* @copiright (C) 2007 - Matteo Tassinari
* @thanks fpdf.org staff end PEAR developers
* */

function controlloAnno(form) //serve per controllare il valore del campo "durata minima" del modello informativo
{
    if(form.durata_minima.value=='2' || form.durata_minima.value=='3' || form.durata_minima.value=='5' || form.durata_minima.value=='6') return true;
    else
    {
        alert('Il valore del campo "durata del corso" deve essere pari a 2 o 3 o 5 o 6');
        form.durata_minima.focus();
        return false;
    }
}

function istruzioniXLS()
{
    alert("Per usare i modelli di foglio di calcolo excel, segui queste istruzioni:\n- scarica i modelli (click destro -> salva con nome)\nNOTA: non cambiare il nome del file\n- apri i modelli con excel\n- compila i modelli e salva le modifiche\nNOTA: non togliere la riga con i nomi delle colonne, in quanto la prima riga e\' usata dal programma per calcolare il numero di campi dell'inserimento\nNOTA: se una riga inizia con una cella vuota, quella riga sara\' ignorata\n- usando il form presente sotto ogni tabella, invia il giusto modello per l'upload\nNOTA: a questo punto il programma verifica, tramite il nome del file, che sia stato inviato il modello corretto per la tabella in questione");

    return true;
}

function setUsernamePasswordVisibility(check) // nasconde i campi username e password se si sceglie accesso anonimo
{
    if(check.checked == true)
    {
        document.getElementById("p11").style.visibility = "hidden";
        document.getElementById("p12").style.visibility = "hidden";
        document.getElementById("p21").style.visibility = "hidden";
        document.getElementById("p22").style.visibility = "hidden";
    }
    else
    {
        document.getElementById("p11").style.visibility = "visible";
        document.getElementById("p12").style.visibility = "visible";
        document.getElementById("p21").style.visibility = "visible";
        document.getElementById("p22").style.visibility = "visible";
    }
}

function controlloCaratteriResidui(evt, src, dest, limit) // gestisce i contatori dei caratteri per le caselle di testo
{
    var backspace = (evt.keyCode && evt.keyCode==8); // tasto backspace premuto
    var invio = (evt.keyCode && evt.keyCode==13); // tasto invio premuto
    var counter = document.getElementById(dest); // ritrovo il contatore
    var ok = true;

    if(!backspace && (src.value.length > limit)) // se ho premuto un tasto diverso da backspace e invio
    {
        var tmp = src.value.substr(0, limit); // estraggo la parte di testo ammessa
        src.value = tmp; // la sostituisco a quella attuale che oltrepassa il limite
        alert('Hai raggiunto il limite massimo di caratteri disponibili.'); // riporto il problema
        ok = false; // segnalo che c'è un errore
    }

    counter.value = limit - src.value.length; // aggiorno il contatore
    return ok; // ritorno
}

function controlloPercentualeD1A(form) // controlla le percentuali della tabella D1-A
{
    var percent = (form.da_licei.value * 1.0) + (form.da_istituti_tecnici.value * 1.0) + (form.da_istituti_commerciali.value * 1.0) + (form.da_istituti_secondari.value * 1.0) + (form.da_altri_corsi_universitari.value * 1.0);

    if(form.da_licei.value > 100.0)
    {
        alert('Il valore del campo "% da licei" non puo\' essere superiore al 100%');
        return false;
    }
    if(form.da_istituti_tecnici.value > 100.0)
    {
        alert('Il valore del campo "% da istituti tecnici" non puo\' essere superiore al 100%');
        return false;
    }
    if(form.da_istituti_commerciali.value > 100.0)
    {
        alert('Il valore del campo "% da istituti commerciali" non puo\' essere superiore al 100%');
        return false;
    }
    if(form.da_istituti_secondari.value > 100.0)
    {
        alert('Il valore del campo "% da istituti secondari" non puo\' essere superiore al 100%');
        return false;
    }
    if(form.da_altri_corsi_universitari.value > 100.0)
    {
        alert('Il valore del campo "% da altri corsi universitari" non puo\' essere superiore al 100%');
        return false;
    }
    if(form.voto_sopra_90.value > 100.0)
    {
        alert('Il valore del campo "% con voto di licenza > 90/100" non puo\' essere superiore al 100%');
        return false;
    }
    if(form.voto_sotto_69.value > 100.0)
    {
        alert('Il valore del campo "% con voto di licenza < 69/100" non puo\' essere superiore al 100%');
        return false;
    }
    if(form.residenti_fuori_provincia.value > 100.0)
    {
        alert('Il valore del campo "% residenti fuori provincia" non puo\' essere superiore al 100%');
        return false;
    }
    if(form.residenti_fuori_regione.value > 100.0)
    {
        alert('Il valore del campo "% residenti fuori regione" non puo\' essere superiore al 100%');
        return false;
    }

    if(percent >= 100.1)
    {
        alert('La somma delle percentuali dei campi "% da licei", "% da istituti tecnici", "% da istituti commericiali", "% da istituti secondari" e "% da altri corsi universitari" non puo\' essere superiore al 100%');
        return false;
    }

    return true;
}

function controlloPercentualeD1B(form) // controlla le percentuali della tabella D1-B
{
    var percent = (form.entro_1_anno.value * 1.0) + (form.entro_2_anni.value * 1.0) + (form.entro_3_anni.value * 1.0);

    if(form.entro_1_anno.value > 100.0)
    {
        alert('Il valore del campo "% entro 1 anno da fine legale" non puo\' essere superiore al 100%');
        return false;
    }
    if(form.entro_2_anni.value > 100.0)
    {
        alert('Il valore del campo "% entro 2 anni da fine legale" non puo\' essere superiore al 100%');
        return false;
    }
    if(form.entro_3_anni.value > 100.0)
    {
        alert('Il valore del campo "% entro 3 anni da fine legale" non puo\' essere superiore al 100%');
        return false;
    }
    if((form.voto_sopra_100_1.value > 100.0) || (form.voto_sopra_100_2.value > 100.0) || (form.voto_sopra_100_3.value > 100.0))
    {
        alert('Il valore del campo "% con voto > 100" non puo\' essere superiore al 100%');
        return false;
    }
    if((form.voto_sotto_89_1.value > 100.0) || (form.voto_sotto_89_2.value > 100.0) || (form.voto_sotto_89_3.value > 100.0))
    {
        alert('Il valore del campo "% con voto < 89" non puo\' essere superiore al 100%');
        return false;
    }

    if(percent >= 100.1)
    {
        alert('La somma delle percentuali dei campi "% entro 1 anno da fine legale", "% entro 2 anni da fine legale" e "% entro 3 anni da fine legale" non puo\' essere superiore al 100%');
        return false;
    }

    return true;
}

function controlloValutazione(form) // controlla che il valore del campo valutazione sia tra 1 e 4
{
    if(form.valutazione.value > 4 || form.valutazione.value < 1)
    {
        alert('Il valore del campo "valutazione" deve essere compreso tra 1 e 4.');
        return false;
    }
    else return true;
}

function controlloPercentualeD1C(form) // controlla le percentuali della tabella D1-C
{
    var percent = (form.nessun_credito.value * 1.0) + (form.crediti_tra_1_20.value * 1.0) + (form.crediti_tra_21_40.value * 1.0) + (form.crediti_sopra_40.value * 1.0) + (form.crediti_tra_1_40.value * 1.0) + (form.crediti_tra_41_80.value * 1.0) + (form.crediti_sopra_80.value * 1.0) + (form.crediti_tra_1_60.value * 1.0) + (form.crediti_tra_61_120.value * 1.0) + (form.crediti_sopra_120.value * 1.0);

    if(percent>=100.1 || percent<=99.9)
    {
        alert('La somma delle percentuali dei campi compilati non e\' pari al 100%');
        return false;
    }

    return true;
}

function controlloPercentualeD1C2(form) // controlla le percentuali della tabella D1-C
{
    var percent = (form.nessun_credito.value * 1.0) + (form.crediti_tra_1_80.value * 1.0) + (form.crediti_tra_81_160.value * 1.0) + (form.crediti_sopra_160.value * 1.0) + (form.crediti_tra_1_100.value * 1.0) + (form.crediti_tra_101_200.value * 1.0) + (form.crediti_sopra_200.value * 1.0) + (form.crediti_tra_1_120.value * 1.0) + (form.crediti_tra_121_240.value * 1.0) + (form.crediti_sopra_240.value * 1.0);

    if(percent>=100.1 || percent<=99.9)
    {
        alert('La somma delle percentuali dei campi compilati non e\' pari al 100%');
        return false;
    }

    return true;
}
