﻿function ChiudiTuttiMenu(StringaIDMenuDaNonChiudere) {
    var ElencoSottomenu = document.getElementById("ulMenu").getElementsByTagName("ul");
    var ElencoSottomenuDaNonChiudere = StringaIDMenuDaNonChiudere.split(",");
    for (var a = 0; a < ElencoSottomenu.length; a++) {
        var DaChiudere = false;
        for (var b = 0; b < ElencoSottomenuDaNonChiudere.length; b++) {
            if (ElencoSottomenu[a].ID == ElencoSottomenuDaNonChiudere[b]) {
                DaChiudere = true;
            }
        }
        if (DaChiudere) {
            ElencoSottomenu[a].style.display = "none";
        }
    }
}

function EspandiMenu(liCliccato, UrlDaAprire, ApriInNuovaPagina, StringaIDMenuDaNonChiudere) {
    if (UrlDaAprire != "") {
        if (ApriInNuovaPagina == "True") {
            window.open(UrlDaAprire);
        } else {
            window.location.href = UrlDaAprire;
        }
    } else {
        //Questa parte serve per far aprire i sottomenu direttamente sulla prima voce quando il menu padre è un titolo o una categorie vuota di moduli

        //Provo a vedere se la pagina corrente ha un link, se non ce l'ha vuol dire che è un titolo e quindi provo ad aprire la prima pagina degli eventuali sottomenu
        if (document.getElementById(liCliccato) != null) {
            var FunzioneMenuPadre = String(document.getElementById(liCliccato).onclick);
            FunzioneMenuPadre = FunzioneMenuPadre.toString()

            var InizioMenuPadre = FunzioneMenuPadre.indexOf("EspandiMenu(");
            var FineMenuPadre = FunzioneMenuPadre.indexOf("BloccaPropagazione");
            FunzioneMenuPadre = FunzioneMenuPadre.substring(InizioMenuPadre, FineMenuPadre);
            FunzioneMenuPadre = FunzioneMenuPadre.replace("EspandiMenu(this.id, ", "");
            FunzioneMenuPadre = FunzioneMenuPadre.replace(");", "");

            var LinkDaAprireMenuPadre = FunzioneMenuPadre.split(", ")[0].replace("'", "")
            LinkDaAprireMenuPadre = LinkDaAprireMenuPadre.replace("'", "")
            LinkDaAprireMenuPadre = LinkDaAprireMenuPadre.replace('"', '')
            LinkDaAprireMenuPadre = LinkDaAprireMenuPadre.replace('"', '')
        } else {
            var LinkDaAprireMenuPadre = ""
        }

        if (LinkDaAprireMenuPadre == "") {
            if (document.getElementById(liCliccato + "1-") != null) {
                var Funzione = String(document.getElementById(liCliccato + "1-").onclick);
                Funzione = Funzione.toString()

                var Inizio = Funzione.indexOf("EspandiMenu(");
                var Fine = Funzione.indexOf("BloccaPropagazione");
                Funzione = Funzione.substring(Inizio, Fine);
                Funzione = Funzione.replace("EspandiMenu(this.id, ", "");
                Funzione = Funzione.replace(");", "");

                var LinkDaAprire = Funzione.split(", ")[0].replace("'", "")
                LinkDaAprire = LinkDaAprire.replace("'", "")
                LinkDaAprire = LinkDaAprire.replace('"', '')
                LinkDaAprire = LinkDaAprire.replace('"', '')

                var ApriInNuovaPagina = Funzione.split(", ")[1].replace("'", "")
                ApriInNuovaPagina = ApriInNuovaPagina.replace("'", "")
                ApriInNuovaPagina = ApriInNuovaPagina.replace('"', '')
                ApriInNuovaPagina = ApriInNuovaPagina.replace('"', '')

                var StringaIDMenuDaNonChiudere = Funzione.split(", ")[2].replace("'", "")
                StringaIDMenuDaNonChiudere = StringaIDMenuDaNonChiudere.replace("'", "")
                StringaIDMenuDaNonChiudere = StringaIDMenuDaNonChiudere.replace('"', '')
                StringaIDMenuDaNonChiudere = StringaIDMenuDaNonChiudere.replace('"', '')

                EspandiMenu(liCliccato + "1-", LinkDaAprire, ApriInNuovaPagina, StringaIDMenuDaNonChiudere)
            }
        }
    }
    ChiudiTuttiMenu(StringaIDMenuDaNonChiudere);
    var ElencoMenuEspandere = liCliccato.replace("liMenu_", "").split("-")
    var NumeroMenuEspandere = "";
    for (var a = 0; a < ElencoMenuEspandere.length; a++) {
        if (a > 0) {
            NumeroMenuEspandere = NumeroMenuEspandere + "-" + ElencoMenuEspandere[a]
        } else {
            NumeroMenuEspandere = ElencoMenuEspandere[a]
        }
        if (document.getElementById("ulMenu_" + NumeroMenuEspandere + "-") != null) {
            document.getElementById("ulMenu_" + NumeroMenuEspandere + "-").style.display = "block";
        }
    }
}

function BloccaPropagazione(e) {
    if (!e) var e = window.event;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
}

//Funzione per gestire l'espansione dei div dei moduli dinamici
function ChiudiTuttiDivTestoComunicati(NomeDivDaNonChiudere) {
    //Recupero l'elenco dei div di testo e ci faccio un ciclo per chiuderli tutti, prima devo controllare che il div non sia quello di pulitura del float
    var ElencoDivTestoComunicati = document.getElementById("divContenitoreElenco").getElementsByTagName("div");
    for (var a = 0; a < ElencoDivTestoComunicati.length; a++) {
        //Controllo che l'ID del div contenga la frase divEtichettaTesto, perchè altrimenti cambierei la visibilità dei div contenuti nel testo creati con il cute editor. Poi controllo che il div non sia quello da non chiudere che mi sono passato nella funzione
        if (ElencoDivTestoComunicati[a].id.indexOf("divEtichettaTesto") != -1 && ElencoDivTestoComunicati[a].id != NomeDivDaNonChiudere) {
            //Chiudo i vari div trovati
            ElencoDivTestoComunicati[a].style.display = "none";
        }
    }
}

//Funzione per gestire l'espansione dei div dei moduli dinamici
function EspandiDivTestoComunicato(NomeDivDaEspandere) {
    //Lancio la funzione che chiude tutti i div prima di aprire quello richiesto
    ChiudiTuttiDivTestoComunicati(NomeDivDaEspandere);

    //Controllo che il div non sia già espanso e se positivo lo apro, altrimenti lo chiudo
    if (document.getElementById(NomeDivDaEspandere).style.display != "block") {
        document.getElementById(NomeDivDaEspandere).style.display = "block";
    } else {
        document.getElementById(NomeDivDaEspandere).style.display = "none";
    }

}
