// JScript File
function SetAllCheckBoxes(FormName, FieldName, CheckValue) {
    if (!document.forms[FormName])
        return;
    var objCheckBoxes = document.forms[FormName].elements[FieldName];
    if (!objCheckBoxes)
        return;
    var countCheckBoxes = objCheckBoxes.length;
    if (!countCheckBoxes)
        objCheckBoxes.checked = CheckValue;
    else
    // set the check value for all check boxes
        for (var i = 0; i < countCheckBoxes; i++)
        objCheckBoxes[i].checked = CheckValue;
}


function check_all_in_document(doc) {
    var hiddenfield = document.getElementById("HiddenFieldSezioni");
    hiddenfield.value = "";
    var c = new Array();
    c = doc.getElementsByTagName('input');
    for (var i = 0; i < c.length; i++) {

        if (c[i].type == 'checkbox') {
            if (c[i].checked == true && c[i].getAttribute('tipo') == 'SEZIONI')
                hiddenfield.value += c[i].id + "|";
        }
        else {
            if (c[i].type == 'radio' && c[i].getAttribute('tipo') == 'SEZIONI') {
                if (c[i].checked == true)
                    hiddenfield.value += c[i].id + "|";
            }
        }
    }
}

function check_all_in_document_stampa(doc) {

    check_all_in_document(doc);

    var hiddenfield = document.getElementById("HiddenFieldStampa");
    hiddenfield.value = "";
    var c = new Array();
    c = doc.getElementsByTagName('input');
    for (var i = 0; i < c.length; i++) {

        if (c[i].type == 'checkbox') {
            if (c[i].checked == true && c[i].getAttribute('tipo') == 'SEZIONI' && c[i].getAttribute('issectionprinting') == 'true')
                hiddenfield.value += c[i].id + "|";
        }
        else {
            if (c[i].type == 'radio' && c[i].getAttribute('tipo') == 'SEZIONI' && c[i].getAttribute('issectionprinting') == 'true') {
                if (c[i].checked == true)
                    hiddenfield.value += c[i].id + "|";
            }
        }
    }
}



function goDeeperUnChecked(obj) {
    var chk1 = false;

    //Prendo il padre
    var head1 = obj.parentNode.previousSibling;

    //Se non ci sono righe esci
    if (obj.rows != null) {
        //Numero di righe al livello attuale
        var pTreeLevel1 = obj.rows[0].cells.length;

        //Controllo se è un padre
        if (head1.tagName == "TABLE") {
            var tbls = obj.parentNode.getElementsByTagName("TABLE");

            var tblsCount = tbls.length;

            //Controllo se qualche figlio è non ceccato
            for (i = 0; i < tblsCount; i++) {
                var childTreeLevel = tbls[i].rows[0].cells.length;
                if (childTreeLevel == pTreeLevel1) {
                    var chld = tbls[i].getElementsByTagName("INPUT");
                    if (chld[0].checked == true) {
                        chk1 = true;
                        break;
                    }
                }
            }

            var nd = head1.getElementsByTagName("INPUT");

            if (nd.length > 0) {
                nd[0].checked = chk1;
            }

            goDeeperUnChecked(obj.parentNode.previousSibling);
        }
    }
  //  isGestionePMC();
    return;
}

function disableOtherRadio(obj) {

    var treeNode = obj;
    var nomeGruppo = treeNode.name;

    //Risaliamo l'albero fino al padre
    do {
        obj = obj.parentNode;
    }
    while (obj.tagName != "TABLE")

    var parentTreeLevel = obj.rows[0].cells.length;

    //prendiamo tutti i nodi nel treeview
    var tables = obj.parentNode.getElementsByTagName("TABLE");

    //per ogni nodo controlliamo se è checked o unchecked
    if (obj.tagName == "TABLE") {

        //numero di nodi totali
        var numTables = tables.length

        if (numTables >= 1) {
            //cicliamo su tutti i nodi fino a quando non troviamo il nodo che ha scatenato l'evento

            for (i = 0; i < numTables; i++) {
                if (tables[i] == obj) {
                    gruppoRadio = false;
                    i++;
                    if (i == numTables) {
                        //se siamo sull'ultimo nodo abbiamo finito
                        break;
                    }
                }
                else {
                    //CONTROLLO SE TROVO UN RADIO DA DISABILITARE
                    var TreeLevel = tables[i].rows[0].cells.length;

                    var cell = tables[i].rows[0].cells[TreeLevel - 1];

                    var inputs = cell.getElementsByTagName("INPUT");
                    if (inputs[0].name == nomeGruppo) {
                        gruppoRadio = true;
                    }
                }

                if (gruppoRadio == true) {
                    var TreeLevel = tables[i].rows[0].cells.length;
                    var cell = tables[i].rows[0].cells[TreeLevel - 1];

                    var inputs = cell.getElementsByTagName("INPUT");
                    //Deseleziono i nodi figlio
                    inputs[0].checked = false;
                }
            } //end for
        } //end if - numTables >= 1
    } //end if - tagName = TABLE
}

function goDeeper(obj) {
    //prendiamo il padre del nodo attuale
    var head = obj.parentNode.previousSibling;
    var head_rbckb = obj.parentNode.parentNode.getElementsByTagName("INPUT")[0];
    var namerbckb;
    var namerbckb_1;

    if (head.tagName == "TABLE") {
        //recuperiamo il checkbox
        var matchElement = head.getElementsByTagName("INPUT");

        if (matchElement.length > 0) {

            // Gestione CHeckbox Radio Button
            //*******************************
            if (head_rbckb != null)
                if (head_rbckb.name != null && head_rbckb.name != "") {
                if (matchElement[0].name != null && matchElement[0].name != "") {
                    namerbckb = matchElement[0].name.substring(0, matchElement[0].name.lastIndexOf('_') + 1);
                    namerbckb_1 = head_rbckb.name.substring(0, head_rbckb.name.lastIndexOf('_') + 1);

                    if (namerbckb == namerbckb_1)
                        if (head_rbckb.checked)
                        head_rbckb.checked = false;
                }



            }

            //*******************************
            //  else    
            matchElement[0].checked = true;
        }
        if (matchElement[0].type == "radio") {
            disableOtherRadio(matchElement[0]);
        }
    }
    else {
        head = obj.parentNode.previousSibling;
    }

    if (head.tagName == "TABLE") {
        goDeeper(obj.parentNode);
    }
    else {
        return;
    }
}

//Cambia l'immagine del bottne per la funzionalità ascpandi chiudi del nodo radice
function buttonExpandCollapse(obj) {
    if (obj.state == "close") {
        //Mettere path relativa
        obj.src = "images/arrowDown.png";
        obj.state = "open";
    }
    else {
        //Mettere path relativa
        obj.src = "images/arrowRight.png";
        obj.state = "close";
    }
}


function treeViewCheck(obj) {
    // prendiamo il nodo che ha scatenato l'evento
    //   var obj = (typeof event !== 'undefined') ? event.srcElement : e.target;

    var treeNodeFound = false;
    var gruppoRadio = false;
    var firstRadioFound = false;
    var numberRadioFound = 1;
    var nameRadioGroup;
    var parentNodeFound = false;
    var checkedState;
    // versato netto utile perdita - Marco I. - per gestione radiobutton figli
    var childRadioChecked = false;

    //distinguiamo tra checkbox e radiobutton   SARA' UTILE ????
    if (obj.tagName == "INPUT" && obj.type == "checkbox") {
        var treeNode = obj;
        checkedState = obj.checked;

        //Risaliamo l'albero fino alla root

        while (obj.tagName != "TABLE") {
            obj = obj.parentNode;
        }


        var parentTreeLevel = obj.rows[0].cells.length;
        var parentTreeNode = obj.rows[0].cells[0];

        //prendiamo tutti i nodi nel treeview
        var tables = obj.parentNode.getElementsByTagName("TABLE");

        //per ogni nodo controlliamo se è checked o unchecked
        if (obj.tagName == "TABLE") {

            // se un nodo è checked mettiamo a checked tutti i suoi padri
            if (treeNode.checked) {
                goDeeper(obj);
            } //end if - checked

            //numero di nodi totali
            var numTables = tables.length

            if (numTables >= 1) {
                //cicliamo su tutti i nodi fino a quando non troviamo il nodo che ha scatenato l'evento
                for (i = 0; i < numTables; i++) {
                    if (tables[i] == obj) {
                        treeNodeFound = true;
                        i++;
                        if (i == numTables) {
                            //se siamo sull'ultimo nodo abbiamo finito
                            break;
                        }
                    }

                    /*
                    Gestione checkbox radio button
                    *******************************/
                    if (treeNode.name != null && treeNode.name != "") {
                        // Ricerco un item con lo stesso valore name    
                        uncheckOthers(treeNode);
                    }
                    /*
                    ******************************
                    */

                    if (treeNodeFound == true) {
                        var childTreeLevel = tables[i].rows[0].cells.length;

                        if (childTreeLevel > parentTreeLevel) {
                            var cell = tables[i].rows[0].cells[childTreeLevel - 1];

                            //settiamo i checkbox allo stato attuale
                            var inputs = cell.getElementsByTagName("INPUT");

                            var head = tables[i].parentNode.previousSibling;

                            var matchElement = head.getElementsByTagName("INPUT");

                            //Se è un radiobutton e non è checked non setto i figli (PROBLEMA I RADIO VENGONO SETTATI TUTTI)
                            if (matchElement[0].type != "radio" || matchElement[0].checked || !checkedState) {
                                //Viene settato solo il primo radiobutton del gruppo
                                if ((inputs[0].type != "radio" || !firstRadioFound || inputs[0].name != nameRadioGroup || !checkedState) && !inputs[0].disabled)
                                    if ((inputs[0].nocheckbyparent == '1' && parentTreeLevel == 2) || !matchElement[0].checked) //  || !matchElement[0].checked - Marco I. - non considera i radio se l'elemento padre non è checked
                                    inputs[0].checked = false;
                                else
                                    inputs[0].checked = checkedState;
                            }
                            if (inputs[0].type == "radio") {
                                nameRadioGroup = inputs[0].name;
                                if (numberRadioFound > 1) {
                                    firstRadioFound = true;
                                    numberRadioFound = 1;
                                }
                                else
                                    numberRadioFound = numberRadioFound + 1;

                            }

                        }

                        else {
                            break;
                            /*
                            // gestione radiobutton figli - Marco I.
                            
                            var cell = tables[i].rows[0].cells[childTreeLevel - 1];
                            var inputs = cell.getElementsByTagName("INPUT");
                            
                            if (inputs[0].type == "radio" && !childRadioChecked && !inputs[0].disabled) {
                            inputs[0].checked = checkedState;
                            childRadioChecked = true;
                            }
                            else if (tables[i].nextSibling) {
                            cell = tables[i].nextSibling;
                            if (cell) {
                            var child = cell.nextSibling;

                                    inputs = child ? child.getElementsByTagName("INPUT") : cell.getElementsByTagName("INPUT")
                            if (inputs[0].type == "radio" && !childRadioChecked && !inputs[0].disabled) {
                            inputs[0].checked = checkedState;
                            childRadioChecked = true;
                            }
                            else
                            break;
                            }
                            }
                            else
                            //se non ci sono nodi figlio esco
                            break;
                            */
                        }
                    } //end if                    
                } //end for
            } //end if - numTables >= 1


            //Se tutti i figli sono unchecked anche il padre deve essere unchecked

            if (!treeNode.checked && treeNode.noparentbehaviour == 'false') {
                goDeeperUnChecked(obj);
            } //end if - unChecked
        } //end if - tagName = TABLE

        try {
            if (treeNode.id == "63") {
                if (treeNode.checked == true) {
                    abilitaApprofondimentoRischio();
                    elem291 = document.getElementById('291');
                    elem291.checked = true;
                }
                else {
                    disabilitaApprofondimentoRischio();
                    if (!treeNode.checked && treeNode.noparentbehaviour == 'false') {
                        goDeeperUnChecked(obj);
                    } //end if - unChecked
                }
            }
            

        } catch (e) {

        }


        if (treeNode.id == "294" || treeNode.id == "295" || treeNode.id == "293") {
            if (treeNode.checked == true) {
                abilitaApprofondimentoPerimetro();
            } else {
                //Ho deselezionato il padre allora deseleziono sicuramente tutti i figli
                if (treeNode.id == "293") {
                    disabilitaApprofondimentoPerimetro();
                } else if (treeNode.id == "294") {
                    //Ho deselezionato il 294 allora controllo che anche il 295 sia deselezionato
                    if (document.getElementById('295').checked == false)
                    // il 294 e il 295 sono disabilitati allora disabilito tutto
                        disabilitaApprofondimentoPerimetro();
                } else {
                    //Ho deselezionato il 295 allora controllo che anche il 294 sia deselezionato
                    if (document.getElementById('294').checked == false)
                    // il 294 e il 295 sono disabilitati allora disabilito tutto
                        disabilitaApprofondimentoPerimetro();
                }

            }

        }


    } //end if

    //CASO RadioButton
    if (obj.tagName == "INPUT" && obj.type == "radio") {
        var treeNode = obj;
        checkedState = treeNode.checked;
        var nomeGruppo = treeNode.name;

        //Risaliamo l'albero fino alla root
        do {
            obj = obj.parentNode;
        }
        while (obj.tagName != "TABLE")

        var parentTreeLevel = obj.rows[0].cells.length;
        var parentTreeNode = obj.rows[0].cells[0];

        //prendiamo tutti i nodi nel treeview
        var tables = obj.parentNode.getElementsByTagName("TABLE");

        //per ogni nodo controlliamo se è checked o unchecked
        if (obj.tagName == "TABLE") {

            // se un nodo è checked mettiamo a checked tutti i suoi padri
            if (treeNode.checked) {
                goDeeper(obj);
            } //end if - checked

            //numero di nodi totali
            var numTables = tables.length

            if (numTables >= 1) {
                //cicliamo su tutti i nodi fino a quando non troviamo il nodo che ha scatenato l'evento

                for (i = 0; i < numTables; i++) {
                    if (tables[i] == obj) {
                        treeNodeFound = true;
                        gruppoRadio = false;
                        i++;
                        if (i == numTables) {
                            //se siamo sull'ultimo nodo abbiamo finito
                            break;
                        }
                    }
                    else {
                        //CONTROLLO SE TROVO UN RADIO DA DISABILITARE
                        var TreeLevel = tables[i].rows[0].cells.length;

                        var cell = tables[i].rows[0].cells[TreeLevel - 1];

                        var inputs = cell.getElementsByTagName("INPUT");
                        if (inputs[0].name == nomeGruppo) {
                            gruppoRadio = true;
                        }
                    }
                    if (treeNodeFound == true) {
                        if (tables[i] != obj && tables[i].type == "radio")
                            treeNodeFound = false;

                        var childTreeLevel = tables[i].rows[0].cells.length;
                        if (childTreeLevel > parentTreeLevel) {
                            var cell = tables[i].rows[0].cells[childTreeLevel - 1];
                            //settiamo i checkbox allo stato attuale

                            var inputs = cell.getElementsByTagName("INPUT");
                            //Solo i nodi figlio
                            if (tables[i].parentNode.previousSibling == obj && !inputs[0].disabled)
                                inputs[0].checked = checkedState;

                        }
                        else // gestione radiobutton figli - Marco I.
                        {
                            var nextRadio = tables[i].parentNode.nextSibling;
                            if (nextRadio) {
                                var inputs = nextRadio.getElementsByTagName("INPUT");

                                if (nextRadio.previousSibling == obj.parentNode && inputs[0].type == "radio" && !inputs[0].disabled)
                                    inputs[0].checked = checkedState;
                            }
                        }
                    } //end if

                    if (gruppoRadio == true) {
                        // Marco I.
                        if (tables[i].nextSibling == obj) {
                            var cell = tables[i].parentNode.nextSibling;
                            if (cell) {
                                var inputs = cell.getElementsByTagName("INPUT");

                                if (inputs[0].type == "radio")
                                    inputs[0].checked = true;
                            }
                        }
                        else {
                            var TreeLevel = tables[i].rows[0].cells.length;
                            var cell = tables[i].rows[0].cells[TreeLevel - 1];

                            var inputs = cell.getElementsByTagName("INPUT");
                            //Deseleziono i nodi figlio
                            inputs[0].checked = false;
                        }
                    }
                } //end for
            } //end if - numTables >= 1


            //Se tutti i figli sono unchecked anche il padre è unchecked

            if (!treeNode.checked && treeNode.noparentbehaviour == 'false') {
                goDeeperUnChecked(obj);
            } //end if - unChecked
        } //end if - tagName = TABLE
        if (treeNode.id == "291" || treeNode.id == "292") {
            abilitaApprofondimentoRischio();
        }
    } //end if

    max2check();
    max3checkTerzi();
    gestisciRaggruppamentoTerzi();
    isCheckPerimetro();
    isGestionePMC();

}
function uncheckOthers(obj) {
    var objparentNode = obj.parentNode.previousSibling;
    var name = obj.name;
    var checked = obj.checked;
    var elements = document.getElementsByTagName('input');
    var checked = false;
    var namefirst = "";
    var namesecond = "";
    var number;
    // loop through all input elements in form 

    for (var i = 0; i < elements.length; i++) {
        namefirst = elements.item(i).name;
        namesecond = name;

        if (elements.item(i).type == "checkbox") {
            namefirst = namefirst.substring(0, namefirst.lastIndexOf('_'));
            namesecond = namesecond.substring(0, namesecond.lastIndexOf('_'));


            if (namefirst == namesecond && namefirst != '' && namesecond != '' && elements.item(i).checked && obj.id != elements.item(i).id) {
                elements.item(i).checked = false;
                number = elements.item(i).name.substring(elements.item(i).name.lastIndexOf('_') + 1, elements.item(i).lenght)


            }
        }

        if (elements.item(i).type == "radio") {

            namesecond = namesecond.substring(0, namesecond.lastIndexOf('_'));


            if (namefirst == namesecond && obj.id != elements.item(i).id && number == 2) {

                if (elements.item(i).checked == true)
                    elements.item(i).checked = false;


            }
        }

        //        else if (elements.item(i).type == "radio") 
        //        {
        //            if(elements.item(i).name == name && elements.item(i).checked && obj.id!=elements.item(i).id) 
        //            {
        //                elements.item(i).checked = false;                

        //                goDeeperUnChecked(elements.item(i));
        //            }
        //        }
    }
}



//e da la possibilità di scegliere un massimo di 2 selezioni tra le possibili sezioni.
function max2_2check(id) {



    arraySelezionabili = new Array('284', '184', '286', '287');
    var maxElements = arraySelezionabili.length;
    var elemcheck = 0;
    try {
        for (j = 0; j <= arraySelezionabili.length - 1; j = j + 1) {
            if (document.getElementById(arraySelezionabili[j]).checked == true)
                elemcheck = elemcheck + 1;
        }

    } catch (e) {

    }

    if (elemcheck == 2) { //Disabilito quelli che non sono stati selezionati, in modo da bloccare possibili altre selezioni
        for (j = 0; j <= arraySelezionabili.length - 1; j = j + 1) {
            if (document.getElementById(arraySelezionabili[j]).checked == false)
                document.getElementById(arraySelezionabili[j]).disabled = true;
        }

    } else if (elemcheck < 2) { // Abilito tutti gli elementi, perche sono tutti selezionabili
        try {
            for (j = 0; j <= arraySelezionabili.length - 1; j = j + 1) {
                document.getElementById(arraySelezionabili[j]).disabled = false;
            }
        } catch (e) {

        }
    }
    else if (elemcheck == 3) { // Abilito tutti gli elementi, perche sono tutti selezionabili
        try {
            
                document.getElementById(id).disabled = false;
           
        } catch (e) {

        }
    } /* else if (elemcheck > 3) { //Disabilito e deseleziono gli ultimi elementi (fissi) in modo da avere sempre massimo 3 selezioni.

        var elem248 = document.getElementById('286');
        var elem249 = document.getElementById('287');

        elem248.checked = false;
        elem248.disabled = true;

        elem249.checked = false;
        elem249.disabled = true;

    }*/



}
function max2check() {



    arraySelezionabili = new Array('284', '184', '286', '287');
    var maxElements = arraySelezionabili.length;
    var elemcheck = 0;
    try {
        for (j = 0; j <= arraySelezionabili.length - 1; j = j + 1) {
            if (document.getElementById(arraySelezionabili[j]).checked == true)
                elemcheck = elemcheck + 1;
        }

    } catch (e) {

    }

    if (elemcheck == 2) { //Disabilito quelli che non sono stati selezionati, in modo da bloccare possibili altre selezioni
        for (j = 0; j <= arraySelezionabili.length - 1; j = j + 1) {
            if (document.getElementById(arraySelezionabili[j]).checked == false)
                document.getElementById(arraySelezionabili[j]).disabled = true;
        }

    } else if (elemcheck < 2) { // Abilito tutti gli elementi, perche sono tutti selezionabili
        try {
            for (j = 0; j <= arraySelezionabili.length - 1; j = j + 1) {
                document.getElementById(arraySelezionabili[j]).disabled = false;
            }
        } catch (e) {

        }
    } /* else if (elemcheck > 3) { //Disabilito e deseleziono gli ultimi elementi (fissi) in modo da avere sempre massimo 3 selezioni.

        var elem248 = document.getElementById('286');
        var elem249 = document.getElementById('287');

        elem248.checked = false;
        elem248.disabled = true;

        elem249.checked = false;
        elem249.disabled = true;

    }*/



}
function isCheckPerimetro() {
    elem297 = document.getElementById('297');
    elem298 = document.getElementById('298');
    elem299 = document.getElementById('299');
    if (elem297 != null && elem298 != null && elem299 != null) {       
        if (elem297.checked == false && elem298.checked == false && elem299.checked == false) {
            elem293 = document.getElementById('293');
            elem293.checked = false;
            elem294 = document.getElementById('294');
            elem294.checked = false;
            elem295 = document.getElementById('295');
            elem295.checked = false;
            disabilitaApprofondimentoPerimetro();
        }
    }
}

function isGestionePMC() {
    elem38 = document.getElementById('38');
    elem39 = document.getElementById('39');
    
    if (elem38 != null  ) {
        if (elem38.checked == true ) {       
            elem40 = document.getElementById('40')
            if (elem40 != null) {
                elem40.checked = false;
                window.alert(elem40.innerText );
            }
        }
    }
    
   
}

function defaultAnalisiRischio() {

    /*   elem293 = document.getElementById('293');
    elem293.checked = false;
    elem293.disabled = true;
    elem294 = document.getElementById('294');
    elem294.checked = false;
    elem294.disabled = true;
    elem295 = document.getElementById('295');
    elem295.checked = false;
    elem295.disabled = true; */

    /* Disabilita2GraficiRischio();*/

    disabilitaApprofondimentoPerimetro();
}

function disabilitaApprofondimentoRischio() {
    elem293 = document.getElementById('293');
    elem293.checked = false;
    elem293.disabled = true;
    elem294 = document.getElementById('294');
    elem294.checked = false;
    elem294.disabled = true;
    elem295 = document.getElementById('295');
    elem295.checked = false;
    elem295.disabled = true;
    defaultAnalisiRischio();


}
function abilitaApprofondimentoRischio() {
    elem293 = document.getElementById('293');
    if (elem293 != null) {
        elem293.disabled = false;
    }
    elem294 = document.getElementById('294');
    if (elem294 != null) {
        elem294.disabled = false;
    }
    elem295 = document.getElementById('295');
    if (elem295 != null) {
        elem295.disabled = false;
    }
}
function abilitaApprofondimentoPerimetro() {
    elem297 = document.getElementById('297');
    if (elem297 != null) {
        elem297.checked = true;
        elem297.disabled = false;
    }
    elem298 = document.getElementById('298');
    if (elem298 != null) {
        elem298.checked = true;
        elem298.disabled = false;
    }
    elem299 = document.getElementById('299');
    if (elem299 != null) {
        elem299.checked = true;
        elem299.disabled = false;
    }
}

function disabilitaApprofondimentoPerimetro() {
    elem297 = document.getElementById('297');
    if (elem297!=null) {
        elem297.checked = false;
        elem297.disabled = true;
    }   
    elem298 = document.getElementById('298');
    if (elem298 != null) {
        elem298.checked = false;
        elem298.disabled = true;
    }
    elem299 = document.getElementById('299');
    if (elem299 != null) {
        elem299.checked = false;
        elem299.disabled = true;
    }
}

/*function Disabilita2GraficiRischio() {
var element292 = document.getElementById('292');
if (element292 != null) {
element292.disabled = true;
element292.checked = false;
}
}*/

function gestisciRaggruppamentoTerzi() {
    elem59 = document.getElementById('59');
    elem60 = document.getElementById('60');
    elem61 = document.getElementById('61');

    try {
        if (elem59.checked == true) {
            if (elem60.checked || elem61.checked) {
                //non fa niente
            } else {
                //nessuno dei 2 è selezionato.        
                elem60.checked = true;
            }
        } else {
            elem60.checked = false;
            elem61.checked = false;
        }
    } catch (e) {

    }

}

function max3checkTerzi() {
    arraySelezionabili = new Array('288', '289', '300');
    //arraySelezionabili = new Array('288', '289', '290', '300');
    var maxElements = arraySelezionabili.length;
    var elemcheck = 0;

    for (j = 0; j <= arraySelezionabili.length - 1; j = j + 1) {
        try {
            if (document.getElementById(arraySelezionabili[j]).checked == true)
                elemcheck = elemcheck + 1;
        } catch (e) {
        }
    }

    if (elemcheck == 3) { //Disabilito quelli che non sono stati selezionati, in modo da bloccare possibili altre selezioni
        for (j = 0; j <= arraySelezionabili.length - 1; j = j + 1) {
            if (document.getElementById(arraySelezionabili[j]).checked == false)
                document.getElementById(arraySelezionabili[j]).disabled = true;
        }

    } else if (elemcheck < 3) { // Abilito tutti gli elementi, perche sono tutti selezionabili
        for (j = 0; j <= arraySelezionabili.length - 1; j = j + 1) {
            try {
                document.getElementById(arraySelezionabili[j]).disabled = false;
            } catch (e) {

            }
        }
    } else if (elemcheck > 3) { //Disabilito e deseleziono gli ultimi elementi (fissi) in modo da avere sempre massimo 3 selezioni.

        var elem300 = document.getElementById('300');

        elem300.checked = false;
        elem300.disabled = true;

        document.getElementById('60').checked = true;
        document.getElementById('61').checked = false;
    }

}
function scriviLog(stringa) {
    WriteToFile();

    var fs, a, ForAppending;
    ForAppending = 8;
    fs = new ActiveXObject("Scripting.FileSystemObject");
    a = fs.OpenTextFile("c:\a.txt", ForAppending, false);
    a.Write(stringa);
    a.WriteBlankLines(1);
    a.Close();
    campo1.value = ""
    campo1.value = stringa
}

var filename = "c:/mydata.txt";

function WriteToFile() {
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    // se il file esiste aggiunge due righe 
    // con il contenuto delle variabili nome/cognome 
    if (fso.FileExists(filename)) {
        var a, ForAppending, file;
        ForAppending = 8;
        file = fso.OpenTextFile(filename, ForAppending, false);
        file.WriteLine("1");
        file.WriteLine("2");
    }
        //Se non esiste crea il file e 
        // aggiunge due righe 
        // con il contenuto delle variabili nome/cognome 
    else {
        var file = fso.CreateTextFile(filename, true);
        file.WriteLine("11");
        file.WriteLine("22");
    }
    file.Close();
}