/*oggetto ses. Contiene proprieta' e metodi dell'oggetto session*/
/*global $, $$, $w, Ajax, Element, Template */
var ses, su;
var app = {"scritte": [], "valueinput": [], "selecttext": []};
var Ele_articoli = function (obj) {
    this.items = obj;
};
Ele_articoli.prototype.converti = function () {
};
ses = {
        "caricalingua": function () {
            var file, risposte, t_out;
            risposte = function (response) {
                clearTimeout(ses.timeoutID);
                app = response.responseJSON;
                ses.mettiscritte();
                return false;
            };
            switch (ses.lingua) {
            case "it":  
                file = ses.file_eng;
                ses.lingua = "en";
                break;
            case "en":
                file = ses.file_ita;
                ses.lingua = "it";
                break;
            }
            t_out = function () {
                ses.richiesta.transport.abort();
                alert(app.messaggi.risp_interr);
                return false;
            };
            ses.timeoutID = setTimeout(t_out, ses.timeoutT);
            ses.richiesta = new Ajax.Request(file, {
                method: "get",
                evalJSON: true,
                sanitazeJSON: true,
                onSuccess: risposte,
                onComplete: function (response) {
                },
                onFailure: function () {
                    ses.esegui_mess(app.messaggi.risp_errore);
                    clearTimeout(ses.timeoutID);
                    $(ses.area_output).style.background = ses.area_output_sfondo_norm;
                    $(ses.area_output).update(ses.mypagine[ses.nPos]);
                }
            });
        },
        "mettiscritte": function () {
            app.scritte.each(function (ele) {
                if ($(ele[0])) {
                    $(ele[0]).update(ele[1]);
                }
            });
            app.valueinput.each(function (ele) {
                if ($(ele[0])) {
                    $(ele[0]).value = ele[1];
                }
            });
            app.selecttext.each(function (ele) {
                var k, l;
                l = $(ele[0]).length;
                for (k = 0; k < l; k += 1) {
                    $(ele[0])[k].text = ele[1][k];
                }
            });            
        },
        "area_output_sfondo_norm": "#f5f5f5",
        "area_output_sfondo_att": "#d0d0d0",
        "lingua": "en",
        "file" : "/scripts/bibloggi/ricercheone.asp",
        "file_mail" : "/scripts/bibloggi/inviamail.asp",
        "file_eng" : "/scripts/bibloggi/messaggi_eng.asp",
        "file_ita" : "/scripts/bibloggi/messaggi_ita.asp",
        "area_ricerche": "elencoricerche",
        "area_navigatore": "naviga",
        "area_output": "boscheda2",
        "area_messaggi": "boscheda3",
        "prefdet": "areadettagli",
        "lunE": 50,
        "lunrt": 0,
        "lunau": 0,
        "mousex": 0,
        "mousey": 0,
        "autJson": null,
        "terJson": null,
        "timeoutID": null,
        "tempo_mess": null,
        "timeoutT": 4000,
        "nRic": 0,
        "nPos": 0,
        "articoli": [],
        "mydati": [],
        "aprikey": [],           /*---Array dei pulsanti per aprire i form e le aree di ricerca*/
        "myquery": [],
        "abstracts": [],
        "mypagine": [],
        "s_scroll": function () {
            var event, posizione, convertiresto;             
            convertiresto = function () {        /*conversione record ulteriori di un elenco*/
                var lunghezza, intest, eJson, lun_attuale, registrazione, guida, i, ctrlabstract;
                eJson = ses.mydati[ses.nPos].dati;
                lun_attuale = ses.mydati[ses.nPos].lun;
                registrazione = "";
                guida = "";
                if (eJson.titoli.length > (lun_attuale + ses.lunE)) {
                    lunghezza = (lun_attuale + ses.lunE);
                }
                else {
                    lunghezza = eJson.titoli.length;
                }
                $("ele4").remove();
                for (i = lun_attuale; i < lunghezza; i += 1) {
                    intest = false;
                    if (eJson.titoli[i][5] && guida !== eJson.titoli[i][5]) {
                        intest = true;
                        guida = eJson.titoli[i][5];
                    }
                    ctrlabstract = false;
                    if (eJson.titoli[i][6]) {
                        ctrlabstract = true;
                    }
                    registrazione += ses.converti_record_lista(eJson.titoli[i], i, intest, ctrlabstract);
                }
                ses.mydati[ses.nPos].lun = lunghezza;
                if (lunghezza < eJson.titoli.length) {
                    $(ses.area_output).insert(registrazione + "<a href=\"#\" id=\"ele4\">" + app.label.ele4 + "</a>");
                    $("limitazione").update(app.label.ele2 + lunghezza + app.label.ele3);
                }
                else {
                    $(ses.area_output).insert(registrazione + app.label.ele1);
                    $("limitazione").update(app.label.ele1);
                }
                ses.mypagine[ses.nPos] = $(ses.area_output).innerHTML;
                $("pulsante_apri_articolo" + (lun_attuale - 1)).focus();
            }; 	    /*fine conversione record ulteriori di un elenco*/
            posizione = ses.nPos;
            
            if (this.event)  {
                event = this.event;
            }
            if (posizione > 0) {
                if (!event) {
                    event = window.event;
                    if ((this.offsetHeight + this.scrollTop) >= this.scrollHeight - 1) {
                        if (ses.mydati[posizione]) {
                            if (ses.mydati[posizione].lun < ses.mydati[posizione].dati.titoli.length) {
                                convertiresto();
                            }
                        }
                    }
                }
                else {
                    if ((this.offsetHeight + this.scrollTop) >= this.scrollHeight - 1) {
                        if (ses.mydati[posizione]) {
                            if (ses.mydati[posizione].lun < ses.mydati[posizione].dati.titoli.length) {
                                convertiresto();
                            }
                        }
                    }  
                }
            }
        },
        "modifica_altezza": function () {
            var winH  = document.viewport.getDimensions().height;
            document.body.style.height = "100%";
            if (winH > 300) {
                $("corpo").style.height = (winH - 150) + "px";
                $("sinistra").style.height = (winH - 110) + "px";
                $("boscheda2").style.height = (winH - 180) + "px";
            }
        }, 
        "cambiaric": function () {
            if (ses.mypagine[this.numr]) {
                if ($("ses" + ses.nPos)) {
                    $("ses" + ses.nPos).style.color = 'black';
                }
                ses.nPos = + this.numr + 0;
                ses.Division = "ses" + ses.nPos;
                $("ses" + ses.nPos).style.color = 'red';
                $(ses.area_messaggi).update(app.label.risp_attesa);
                $(ses.area_output).update(ses.mypagine[this.numr]);
                $(ses.area_messaggi).update(app.label.ric2 + this.numr);
            }
            else {
                ses.esegui_mess(app.messaggi.navigerr_canc);
            }
            return false;
        },	
        "apriabstract": function (target, registrazione) {
            $(target).update(registrazione);
            $('appear_rias').appear();
            return false;
        },
        "esegui_mess": function (messaggio) {
            if (ses.tempo_mess) {
                clearTimeout(ses.tempo_mess);
            }
            $("m2").update(messaggio);
            $('messaggio').appear({ duration: 0.5 });
            ses.tempo_mess = setTimeout(ses.chiudi_mess, 3000);
        },
        "chiudi_mess": function () {
            $("messaggio").hide();
        },
        "apri": function (nn) {                       /*apertura area articolo*/
            $(ses.prefdet + nn).style.display = 'block';
            $('pulsante_chiudi_articolo' + nn).style.display = 'block';
            $('det' + nn).style.display = 'none';
            $('pulsante_apri_articolo' + nn).style.display = 'none';
            $(ses.prefdet + nn).focus();
            return false;
        },
        "chiudi_art": function (nn) {                  /*chiusura area articolo*/
            $(ses.prefdet + nn).style.display = 'none';
            $('pulsante_apri_articolo' + nn).style.display = 'block';
            $('pulsante_chiudi_articolo' + nn).style.display = 'none';
            $('det' + nn).style.display = 'inline';
            $('pulsante_apri_articolo' + nn).focus();
            return false;
        }, /*fine chiusura area articolo*/
        "trasforma_elenco": function () {            /*conversione records di un elenco*/
            var registrazione, guida, titolo, intest, eJson, lunghezza, i, ctrlabstract, posizione;
            posizione = ses.nRic;
            $("menu-oggi").scrollTo();
            eJson = ses.mydati[ses.nRic].dati;
            registrazione = "<a href=\"#\" tabindex=-1 accesskey=\"a\" id=\"iniziorisultati\">" + ses.mydati[ses.nRic].key_ric + "</a>";
            if (eJson.titoli.length > 0) {
                lunghezza = eJson.titoli.length;
                registrazione += "<br >" + app.label.numS + lunghezza + " ";
                if (lunghezza > ses.lunE) {
                    lunghezza = ses.lunE;
                    registrazione += "(<span id=\"limitazione\">" + app.label.ele2 + ses.lunE + app.label.ele3 + "</span>)";
                }
                else {
                    registrazione += "(<span id=\"limitazione\">" + app.label.ele1 + "</span>)";
                }
            }
            else {
                registrazione += app.label.ele5;
            }
            for (i = 0;i < lunghezza;i += 1) {
                titolo = eJson.titoli[i];
                intest = false;
                if (titolo[5] && guida !== titolo[5]) {
                    intest = true;
                    guida = titolo[5];
                }
                ctrlabstract = false;
                if (titolo[6]) {
                    ctrlabstract = true;
                }
                registrazione += ses.converti_record_lista(titolo, i, intest, ctrlabstract);
            }
            if (lunghezza === ses.lunE) {
                ses.mydati[posizione].lun = ses.lunE;                
                registrazione += "<a href=\"#\" id=\"ele4\">" + app.label.ele4 + "</a>";
            }
            else {
                ses.mydati[posizione].lun = eJson.titoli.length;                
            }
            ses.registrazione_elenco = registrazione;
            registrazione = null;
            return ses.registrazione_elenco;
        },   /*fine conversione record di un elenco*/  
        "converti_record_lista": function (titolo, i, intest, riassunto)  {
            var rec_lis = "<div class=\"ele_ele\">";
            if (intest) {
                rec_lis += "<span class=\"int\">" + titolo[5] + "</span><br />";
            }
            rec_lis += "<span id=\"det" + i + "\">" + (i + 1) + ") <span class=\"eletit\">" + titolo[0] + "</span>" + app.label.iss + titolo[2] + ", " + titolo[1] + " - " + titolo[3] + "<br /></span>";
            rec_lis += "<a href=\"#\" class=\"apsc\" id=\"pulsante_apri_articolo" + i + "\" onclick = \"ses.cerca_da_get('" + titolo[4] + "','" + i + "','articolo');return false;\">&nbsp;</a>";
            rec_lis += "<a href=\"#\" class=\"outpul\" id=\"pulsante_chiudi_articolo" + i + "\" onclick=\"ses.chiudi_art('" + i + "');return false;\">&nbsp;</a>";
            rec_lis += "<div class=\"destinazione\" id=\"" + ses.prefdet + i + "\" tabindex=-1></div>";
            if (riassunto) {
                rec_lis += "<a href=\"#\" onclick=\"ses.cerca_da_get('" + titolo[4] + "','a2','abstract');return false;\">English abstract</a>";
            }
            rec_lis += "</div>";
            return rec_lis;
        },
        "carspec": function (testo) {
            testo = testo.replace(/a/g, "a");
            testo = testo.replace(/è/g, "e");
            testo = testo.replace(/é/g, "e");
            testo = testo.replace(/ì/g, "i");
            testo = testo.replace(/ù/g, "u");
            testo = testo.replace(/ò/g, "o");
            testo = testo.replace(/ç/g, "c");
            return testo;
        },
        "salva": function (area) {               /*salvattagio record articolo*/
            var chiudisalva = function () {
                $("areasalva").style.visibility = "hidden";
                $("areasalva").style.height = 0;
            };
            $("recordsalva").insert("<hr />" + $(area).innerHTML);
            $("areasalva").style.height = "auto";
            $("areasalva").style.visibility = "visible";
            setTimeout(chiudisalva, 2000);
            
        }
    };

/*-----inizio richieste di GET DA PULSANTE OGGETTO-----*/
ses.cerca_da_gdir = function (event) {
    var code;
    if (!event) {
        event = window.event;
    }
    if (event.keyCode) {
        code = event.keyCode;
    }
    else if (event.which) {
        code = event.which;
    }
    if ((code === 1) || (code === 13)  || (!code)) {
        su(this.ind, "get", "", "", this.aggiunta);
        return false;
    }
};
/*-----fine richieste di get cerca_da_gdir-------*/

/*------Oggetto query per eventuale ripetizione-------------------------*/
var Query = function (url, method, parameters, target, aggiunta, posizione) {
    this.url = url;
    this.method = method;
    this.parameters = parameters;
    this.target = target;
    this.aggiunta = aggiunta;
    this.posizione = posizione + 1;
};

/*------Metodo degli oggetti query per rieseguire la funzione -------------------------*/
Query.prototype.ex = function () {
    ses.nPos = this.posizione;
    su(this.url, this.method, this.parameters, this.target, this.aggiunta);
    return false;
};


/*------Metodo degli oggetti query per mostrare il tipo e il parametro di una ricerca al passaggio del mouse sopra il numero corrispondente -------------------------*/
Query.prototype.show = function () {
    var intesto, param, parametri, a, chiavi, testo, i;
    $("ShowQuery").style.display = 'block';
    $("ShowQuery").style.left = ses.mousex + 15 + "px";
    $("ShowQuery").style.top = ses.mousey + 5 + "px";
    testo = "<br />";
    i = 0;
    if (this.url) {
        parametri = [];
        chiavi = this.url;
        while (chiavi.indexOf("&") > 0) {
            param = chiavi.substr(0, chiavi.indexOf("&"));
            parametri[i] = [param.substr(0, param.indexOf("=")), param.substr(chiavi.indexOf("=") + 1)];
            chiavi = chiavi.substr(chiavi.indexOf("&") + 1);
            i += 1;
        }
        param = chiavi;
        parametri[i] = [param.substr(0, param.indexOf("=")), param.substr(chiavi.indexOf("=") + 1)];
    }
    if (this.parameters) {
        parametri = [];
        chiavi = this.parameters;
        while (chiavi.indexOf("&") > 0) {
            param = chiavi.substr(0, chiavi.indexOf("&"));
            parametri[i] = [param.substr(0, param.indexOf("=")), param.substr(chiavi.indexOf("=") + 1)];
            chiavi = chiavi.substr(chiavi.indexOf("&") + 1);
            i = i + 1;
        }
        param = chiavi;
        parametri[i] = [param.substr(0, param.indexOf("=")), param.substr(chiavi.indexOf("=") + 1)];
    }
    for (a = 0; a <= i; a += 1) {
        if (parametri[a][0] !== "sel") {
            if (parametri[a][0] === "tipo") {
                if (parametri[a][1] === "ricaut") {
                    intesto = app.label.query_autore + "<br />";
                }
                else if (parametri[a][1] === "rictit") {
                    intesto = app.label.query_parole + "<br />";
                }
                else if (parametri[a][1] === "ricsog") {
                    intesto = app.label.query_soggetto + "<br />";
                }
                else if (parametri[a][1] === "termini") {
                    intesto = app.label.query_termini + "<br />";
                }
                else if (parametri[a][1] === "termineunico") {
                    intesto = app.label.query_termine + "<br />";
                }
                else {
                    intesto = app.label.tipo + parametri[a][1] + "<br />";
                }
            }
            else {
                testo += parametri[a][0] + " = " + parametri[a][1] + "<br />";
            }
        }
    }
    testo = intesto + testo;
    $("ShowQuery").update(testo);
};

Query.prototype.unshow = function () {
    $("ShowQuery").style.display = 'none';
};


/*oggetto contenente i dati di un articolo assegnato all'array ses.articoli*/
var Artx = function (array_articolo) {
    this.arty = array_articolo;
};

Artx.prototype.converti = function () {    /*metodo per la convesione dei dati di un articolo salvati nell'array ses.articoli*/
    var rec_arr;
    rec_arr = "<div id=\"salva" + this.arty.codicearticolo + "\"><span class=\"gras\">" + this.arty.titolo + "</span> " + this.arty.resto + "<br />";
    rec_arr += this.arty.fascicolo + "<br />";
    if (this.arty.pagina) {
        rec_arr +=  this.arty.pagina + "<br />";
    }
    if (this.arty.url) {
        rec_arr += "<a href=\"#\" onclick=\"window.open('" + this.arty.url + "','titolo','width=600,height=600,resizable=yes,toolbar=yes'); return false\">" + app.label.art1 + "</a><br />";
    }
    if (this.arty.autori && this.arty.autori.length > 0) {
        this.arty.autori.each(function (autore) {
            rec_arr += "<a href=\"#\" onclick=\"ses.cerca_da_get('sel=json&tipo=autore&aut=" + autore[0] + "','','autore'); return false\">" + autore[1] + "</a><br />";
        });
    }
    if (this.arty.soggetti && this.arty.soggetti.length > 0) {
        this.arty.soggetti.each(function (soggetto) {
            rec_arr += "<a href=\"#\" onclick=\"ses.cerca_da_get('sel=json&tipo=ricsog&fcosa=" + soggetto[0] + "','','ricsog'); return false\">" + soggetto[1] + "</a><br />";
        });
    }
    if (this.arty.termini && this.arty.termini.length > 0) {
        this.arty.termini.each(function (termine) {
            rec_arr += "<a href=\"#\" onclick=\"ses.cerca_da_get('sel=json&tipo=termineunico&ter=" + termine[0] + "','','termineunico'); return false\">" + termine[1] + "</a><br />";
        });
    }
    rec_arr += "</div>";
    rec_arr += "<br /><a href=\"#\" onclick=\"ses.salva('salva" + this.arty.codicearticolo + "');return false\">" + app.label.sav + "</a></div>";
    return rec_arr;
};  /*------------fine area  array articoli e oggetto articolo------------------------*/


/*----Inizio Area elaborazione dati ricevuti------------------------------------------*/
/*------------------------------------------------------------------------------------*/
/*gestione della risposta. La funzione esponi e' attivata da OnSuccess della richiesta*/
var esponi = function (target, ag, codiceart, docJ) {
    if (!docJ) {
        $("ajaxloader").style.display = "none";
        ses.esegui_mess("errore nella risposta");
        return false;
    }  /*Anomalia gestita dal server*/
    
    if (docJ.risposta === "errore") {
        ses.esegui_mess("errore di ricerca");
        return false;
    }  /*Anomalia gestita dal server*/
    
    if (!target) {
        target = ses.area_output;
    }
    var html, registrazione, templ1, templ, ins_html, ins_json, incrementa;
    registrazione = "";
    html = "si";
    incrementa = function () {       /*funzione per modifica puntatori di sessione array*/
        ses.nRic += 1;
    };
    
    ins_json = function () {         /*funzione per incremento array ses.mydati con elenchi Json non convertiti*/
        incrementa();
        ses.mydati[ses.nRic] = {"dati": docJ};
    };
    
    ins_html = function () {         /*funzione per incremento array ses.mypagine con HTML e aggiornamento cursore ricerche*/ 
        var sc_aggiunta, ide;
        if ($("ses" + ses.nPos)) {
            $("ses" + ses.nPos).style.color = 'black';
        }
        ide = "ses" + ses.nRic;
        ses.nPos = ses.nRic;
        ses.Division = ide;
        sc_aggiunta = new Element('a', {"id": ide, "href": '#'});
        sc_aggiunta.numr = ses.nRic;
        sc_aggiunta.onmouseout = function () {
            Query[this.innerHTML].unshow();
        };
        sc_aggiunta.onmouseover = function (event) {
            var vedimouse;
            vedimouse = function (e) {      /*Si attiva sui numeri della barra di scorrimento delle pagine.*/
                ses.mousex = 0;
                ses.mousey = 0;
                if (!e) {
                    e = window.event;
                }
                if (e.pageX || e.pageY) {
                    ses.mousex = e.pageX;  /*Intercetta la posizione del mouse.*/
                    ses.mousey = e.pageY;
                }
                else if (e.clientX || e.clientY) {
                    ses.mousex = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
                    ses.mousey = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
                }   /*mousex e mousey danno le posizioni del mouse relative al document*/
            };
            vedimouse(event);
            Query[this.innerHTML].show();
        };
        sc_aggiunta.onclick = ses.cambiaric;
        sc_aggiunta.appendChild(document.createTextNode(ses.nRic));
        ses.mypagine[ses.nRic] = registrazione;
        $(ses.area_messaggi).update(app.label.ric1 + ses.nRic + app.label.ric3);
        $(ses.area_navigatore).appendChild(sc_aggiunta);
        $(ide).style.color = 'red';
    };

    if (ag !== "articolo") {
        $(target).style.background = ses.area_output_sfondo_norm;   /*ripristina sfondo area output*/
        $(target).update(app.label.risp_completa);  /*Modifica scritta area output. Risposta completata*/
    }

    switch (ag) {//selezione in base alla richiesta fatta
    case "articolo":
        ses.articoli[codiceart] = new Artx(docJ);
        if (ses.articoli[codiceart].arty.codicearticolo > 0) {
            registrazione = ses.articoli[codiceart].converti();
        }
        else {
            registrazione = "errore";
        }   
        ses.apri(target);
        target = ses.prefdet + target;
        html = "no";
        break;
    case "abstract":
        ses.abstracts[codiceart] = docJ;
        registrazione = "<div><strong>Abstract</strong>: " + docJ.riassunto + "</div>";
        ses.apriabstract(target, registrazione);
        html = "no";
        break;  
    case "soggetti_anno":
        ins_json();
        ses.mydati[ses.nRic].key_ric = app.label.sog1 + "<span class=\"gras\">" + ses.mydati[ses.nRic].dati.anno + "</span>";
        registrazione = ses.trasforma_elenco();
        break; 
    case "autori_anno":
        ins_json();
        ses.mydati[ses.nRic].key_ric = app.label.aut1 + "<span class=\"gras\">" + ses.mydati[ses.nRic].dati.anno + "</span>";
        registrazione = ses.trasforma_elenco();
        break;   
    case "fascicolo":
        ins_json();
        ses.mydati[ses.nRic].key_ric = app.label.fas1 + "<span class=\"gras\">" + ses.mydati[ses.nRic].dati.fascicolo + "</span>";
        registrazione = ses.trasforma_elenco();
        break; 
    case "rubrica":
        ins_json();
        ses.mydati[ses.nRic].key_ric = app.label.rub1 + "<span class=\"gras\">" + ses.mydati[ses.nRic].dati.rubrica + "</span>";
        registrazione = ses.trasforma_elenco();
        break; 
    case "termineunico":
        ins_json();
        ses.mydati[ses.nRic].key_ric = app.label.ter1 + "<span class=\"gras\">" + ses.mydati[ses.nRic].dati.termine + "</span>";
        registrazione = ses.trasforma_elenco();
        break;
    case "termini":
        ins_json();
        ses.mydati[ses.nRic].key_ric = app.label.ter1 + "<span class=\"gras\">" + ses.mydati[ses.nRic].dati.termine + "</span>";
        registrazione = ses.trasforma_elenco();
        break;
    case "rictit":
        ins_json();
        ses.mydati[ses.nRic].key_ric = app.label.par1 + "<span class=\"gras\">" + ses.mydati[ses.nRic].dati.partitoli + "</span>";
        registrazione = ses.trasforma_elenco();
        break;
    case "ricsog":
        ins_json();
        ses.mydati[ses.nRic].key_ric = app.label.sog2 + "<span class=\"gras\">" + ses.mydati[ses.nRic].dati.soggetti + "</span>";
        registrazione = ses.trasforma_elenco();
        break;
    case "ricaut":
        ins_json();
        ses.mydati[ses.nRic].key_ric = app.label.aut2 + "<span class=\"gras\">" + ses.mydati[ses.nRic].dati.autori + "</span>";
        registrazione = ses.trasforma_elenco();
        break;
    case "autore":
        ins_json();
        ses.mydati[ses.nRic].key_ric = app.label.aut2 + "<span class=\"gras\">" + ses.mydati[ses.nRic].dati.autore + "</span>";
        registrazione = ses.trasforma_elenco();
        break;
    case "terrapido":
        ses.terJson = docJ;
        templ = new Template("<a href=\"#\" class=\"terrap_#{0}\"> #{1} </a><br />");
        docJ.termini.each(function (conv) {
            registrazione += templ.evaluate(conv);
        });
        if (docJ.termini.length === 0) {
            registrazione += app.label.risp_ele_non;
        }
        $(ses.area_messaggi).update("Ricerca termini");
        html = "no";
        break;
    case  "autrapido":
        ses.autJson = docJ;
        templ1 = new Template("<a href=\"#\" class=\"autrap_#{0}\"> #{1} </a><br />");
        docJ.autori.each(function (conv) {
            registrazione += templ1.evaluate(conv);
        });
        if (docJ.autori.length === 0) {
            registrazione += app.label.risp_ele_non;
        }
        $(ses.area_messaggi).update(app.label.vedi_autore);
        html = "no";
        break;
    case "fascicoli":
        incrementa();
        registrazione = "<p><b>Fascicoli indicizzati</b><br />";
        docJ.each(function (ser) {    
            registrazione += "<br /><b>" + ser.anno + "</b><hr />";
            ser.fascicoli.each(function (fasdat) {
                registrazione += "<a href=\"#\" onclick=\"ses.cerca_da_get('tipo=fascicolo&sel=json&fasc=" + fasdat[0] + "','boscheda2','fascicolo'); return false\">" + fasdat[1] + "</a><br />";
            });
        });
        break;
    case "rubriche":
        incrementa();
        registrazione = "<b>Rubriche</b><br />";
        docJ.each(function (rub) {
            registrazione += "<li><a href=\"#\" onclick=\"ses.cerca_da_get('sel=json&tipo=rubrica&rubrica=" + rub[0] + "','boscheda2','rubrica'); return false\">" + rub[1] + "</a>" + rub[2] + "</li>";
            if (rub[0] === "1") {
                registrazione += "<li><a href=\"#\" onclick=\"ses.cerca_da_get('sel=json&tipo=rubricaSoggetto&rubrica=" + rub[0] + "','boscheda2','rubrica'); return false\">" + rub[1] + "</a> (ordinamento per autori e titoli delle opere)</li>";
            }
        });
        break;
    case "mail": 
        registrazione = docJ.risposta;
        $(ses.area_messaggi).update("Risposta Mail");
        html = "no";
        break;
    default:      /*nessuno dei casi precedenti fine casi elenchi.*/
        html = "no";
        $(ses.area_messaggi).update("Anomalia");
        registrazione = "caso non previsto";
        break;
    }
    /*fine casi elenchi*/
    
    
    ses.registrazione_elenco = null;
    
    if (html === "si") {
        ins_html(registrazione);                   /*inserimento testo nell'array delle pagine html */
    }     
    
    $(target).update(registrazione);               /*output aggiornato con il contenuto della variabile registrazione  */
    
    if (ag === "autrapido"  || ag === "terrapido") {
        $$("#" + target + " a").each(function (elea) {
            if (elea.className.split("_")[0] === "terrap") {
                elea.ind = "sel=json&tipo=termineunico&ter=" + elea.className.split("_")[1];
                elea.aggiunta = "termineunico";
            }
            if (elea.className.split("_")[0] === "autrap") {
                elea.ind = "sel=json&tipo=autore&aut=" + elea.className.split("_")[1];
                elea.aggiunta = "autore";
            }
            elea.onclick = ses.cerca_da_gdir;
            elea.onkeydown = ses.cerca_da_gdir;
        });
    }
    else {
        $(target).focus();
    }
    /*aggiornamento elenco con contenuto output modificato con record di un articolo*/
    if (ag === "articolo") {
        ses.mypagine[ses.nPos] = $(ses.area_output).innerHTML;
    }
    $("ajaxloader").style.display = "none";
};
/*fine gestione della risposta*/


/*-----esecuzione dell'INVIO RICHIESTA DI DATI al server. Usa i metodi di prototype ---*/
/*-----url = extraurl da pulsanti; method = "get" o "post"; parameters = parametri da form ---*/
/*-----target = area dove inviare l'output; aggiunta = informazioni per processi ulteriori---*/

/*-----GESTIONE RICHIESTA IN CORSO-----*/
su = function (url, method, parameters, target, aggiunta, codiceart) {
    var file, t_out;
    if (!method) {
        method = "post";
    }
    Query[ses.nRic + 1] = new Query(url, method, parameters, target, aggiunta, ses.nRic);
    if (aggiunta  !==  "articolo"  && aggiunta  !==  "abstract") {
        $(ses.area_output).style.background = ses.area_output_sfondo_att;
        $("ajaxloader").style.display = "block";
        $(ses.area_output).update("");
        $(ses.area_messaggi).update(app.label.risp_incorso);
    }
    file = ses.file;
    if (aggiunta === "mail") {
        file = ses.file_mail;
    }
    if (url) {
        file += "?" + url;
    }
    t_out = function () {
        ses.richiesta.transport.abort();
        alert(app.messaggi.risp_interr);
        return false;
    };
    ses.timeoutID = setTimeout(t_out, ses.timeoutT);
    ses.richiesta = new Ajax.Request(file, {
        method: method,
        parameters: parameters,
        evalJSON: true,
        sanitazeJSON: true,
        onSuccess: function (response) {
            clearTimeout(ses.timeoutID);
            if (aggiunta  !==  "articolo"  && aggiunta  !==  "abstract") {
                $(ses.area_output).update(app.label.risp_incorso);
            }
            esponi(target, aggiunta, codiceart, response.responseJSON);
            return false;
        },
        onComplete: function (response) {
        },
        onFailure: function () {
            $("ajaxloader").style.display = "none";
            ses.esegui_mess(app.messaggi.risp_errore);
            clearTimeout(ses.timeoutID);
            $(ses.area_output).style.background = ses.area_output_sfondo_norm;
            $(ses.area_output).update(ses.mypagine[ses.nPos]);
        }
    });
};
/*-----fine esecuzione dell'invio delle richieste di dati al server---*/


/*-----Metodi di window---------------------------------------------------------------*/
window.onresize =  ses.modifica_altezza;


/*attribuisce il metodo per visualizzare una messaggio al momento in cui si abbandona la pagina*/
window.onbeforeunload = function (evt) {
    if (typeof evt === 'undefined') {
        evt = window.event;
    }
    if (evt) {
        evt.returnValue = app.label.mess_uscita;
    }
    return app.label.mess_uscita;
};
/*-----Fine metodi di window---------------------------------------------------------------*/

/*inizio gestione richiesta dati in base alla RICERCA VELOCE*/
ses.cerca_aut_vel = function (valorea) {
    var nn, registrazione, inizio, tt, delay;
    if (this.value) {
        valorea = this.value;
    }
    if ((valorea.length > 3) && (ses.lunau < 3)) {
        valorea = valorea.slice(0, 3);
    }
    ses.lunau = valorea.length;

    if (ses.lunau < 3 || !ses.lunau) {
        ses.autJson = null;
        return false;
    }
    else {
        clearTimeout(ses.timeoutID);
        valorea = ses.carspec(valorea);
        if (!ses.autJson) {
            if (ses.lunau === 3) {
                su("", "", "tipo=autdin&autore=" + valorea, "", "autrapido");
            }
            else {
                delay = function () {
                    ses.cerca_aut_vel(valorea);
                };
                setTimeout(delay, 200);
            } 
        } 
        else {
            registrazione = app.label.risp_ele_non;
            nn = 0;
            ses.autJson.autori.each(function (s) {
                inizio = s[0].slice(0, ses.lunau).toUpperCase();
                if (inizio === valorea.toUpperCase()) {
                    nn += 1;
                    if (nn === 1) {
                        registrazione = "";
                    }
                    registrazione += "<a href=\"#\" onclick=\"ses.cerca_da_get('sel=json&tipo=autore&aut=" + s[0] + "','','autore');return false\">" + s[1] + "</a><br />";
                }    
            });
            $(ses.area_output).update(registrazione);
        }
    }
};
/*fine gestione richiesta dati in base alla ricerca veloce*/


/*inizio gestione richiesta dati in base alla RICERCA VELOCE*/
var cerca_ter_vel = function (valoret) {
    var inizio, t, nn, registrazione, delay;
    if (this.value) {
        valoret = this.value;
    }
    if ((valoret.length > 3) && (ses.lunrt < 3)) {
        valoret = valoret.slice(0, 3);
    }
    ses.lunrt = valoret.length;
    if (ses.lunrt < 3 || !ses.lunrt) {
        ses.terJson = null;
        return false;
    }
    else {
        clearTimeout(ses.timeoutID);
        valoret = ses.carspec(valoret);
        if (!ses.terJson) {
            if (ses.lunrt === 3) {
                su("", "", "tipo=terdin&termine=" + valoret, "", "terrapido");
            }
            else {
                delay = function () {
                    cerca_ter_vel(valoret);
                };
                setTimeout(delay, 200);
            }
        }
        else {
            registrazione = app.label.risp_ele_non;
            nn = 0;
            ses.terJson.termini.each(function (s) {
                inizio = s[0].slice(0, ses.lunrt).toUpperCase();
                if (inizio === valoret.toUpperCase()) {
                    nn += 1;
                    if (nn === 1) {
                        registrazione = "";
                    }
                    registrazione += "<a href=\"#\" onclick=\"ses.cerca_da_get('sel=json&tipo=termineunico&ter=" + s[0] + "','','termineunico');return false\">" + s[1] + "</a><br />";
                }   
            });
            $(ses.area_output).update(registrazione);
        }
    }
};
/*fine gestione richiesta dati in base alla ricerca veloce*/

/*-----inizio richieste di GET DA URL -----*/
ses.cerca_da_get = function (ext, target, aggiunta) {
    var errore, articolo, registrazione, codiceart, abstractscr, scr;
    codiceart = ext;
    errore = 0;
    if (aggiunta === "abstract") {
        ext = "art=" + codiceart + "&tipo=abstract&sel=json";
        try {
            abstractscr = ses.abstracts[codiceart].riassunto;
        }
        catch (e1) {
            errore = 1;
        }
        if (errore === 0) {
            registrazione = "<div><strong>Abstract: </strong>" + abstractscr + "</div>";
            ses.apriabstract(target, registrazione);
            return false;
        }
    }
    if (aggiunta === "articolo") {
        ext = "art=" + codiceart + "&tipo=articolo&sel=json";
        try {
            articolo = ses.articoli[codiceart].arty;
        }
        catch (e2) {
            errore = 1;
        }
        if (errore === 0) {
            scr = ses.articoli[codiceart];
            registrazione = scr.converti();
            ses.apri(target);
            $(ses.prefdet + target).update(registrazione);
            registrazione = null;
            return false;
        }
    }
    su(ext, "get", "", target, aggiunta, codiceart);
    return false;
};
/*-----fine richieste di get ses.cerca_da_get-------*/



/*INIZIO window on load---------------------------------------------*/
window.onload = function () {
    if ($("pulsante_sort")) {
        $("pulsante_sort").style.display = "block";
    }

    ses.modifica_altezza();    /*ridimensiona altezza aree e assegna metodo onresize a window*/
    ses.caricalingua();
    ses.mettiscritte();        /*completa pagina con le scritte--*/
    ses.mypagine[0] = $(ses.area_output).innerHTML;  /*copia nel record 0 di ses.mypagine la presentazione del database*/
    if ($("scr0")) {
        $("scr0").accessKey = "1";
    }
    if ($(ses.area_output)) {
        $(ses.area_output).onscroll = ses.s_scroll;  /*assegna il metodo scroll all'area di output per attivazione funzioni specifiche*/
    }
    ses.assegna_proprieta_ricerche();  /*funzione per assegnare proprietà al menu ricerca e ai suoi componenti*/
    ses.assegna_proprieta_navigazione(); /*funzione per assegnare proprietà al menu di navigazione*/
    /*-----Assegna proprietà e metodi all'area di visualizzazione degli abstract*/
    if ($("appear_rias")) {
        $("appear_rias").onclick = function () {
            $('appear_rias').hide();
            return false;
        };
    }
    if ($("messaggio")) {
        $("messaggio").onmouseover = function () {
            ses.chiudi_mess();
            return false;
        };
    }
};

/*-----Fine window on load-------------------------------------------------------------------------*/

ses.assegna_proprieta_navigazione = function () {  /*INIZIALIZZAZIONE DEGLI OGGETTI NELL'AREA NAVIGAZIONE*/
    if ($("pulsanteavanti")) {
        $("pulsanteavanti").onclick = function () {
            var posizione;
            posizione = ses.nPos;
            if (ses.mypagine.length > 1) {
                if (ses.mypagine[(+posizione) + 1]) {
                    if ($("ses" + posizione)) {
                        $("ses" + posizione).style.color = 'black';
                    }
                    posizione += 1;
                    ses.nPos = posizione;
                    $("ses" + posizione).style.color = 'red';
                    $(ses.area_messaggi).update(app.label.risp_attesa);
                    $(ses.area_output).update(ses.mypagine[posizione]);
                    $(ses.area_messaggi).update(app.label.ric2 + posizione);
                }
                else {
                    ses.esegui_mess(app.messaggi.navigerr_ulti);
                }
            }
            else {
                ses.esegui_mess(app.messaggi.navigerr_ness);
            }
            return false;
        };
    }
    if ($("pulsanteindietro")) {
        $("pulsanteindietro").onclick = function () {
            var posizione;
            posizione = ses.nPos;
            if (ses.mypagine.length > 1) {	
                if (posizione > 1) {
                    if (ses.mypagine[posizione - 1]) {
                        if ($("ses" + posizione)) {
                            $("ses" + posizione).style.color = 'black';
                        }
                        posizione -= 1;
                        ses.nPos = posizione;
                        $("ses" + posizione).style.color = 'red';
                        $(ses.area_messaggi).update(app.label.risp_attesa);
                        $(ses.area_output).update(ses.mypagine[posizione]);
                        $(ses.area_messaggi).update(app.label.ric2  + posizione);
                    }
                    else {
                        ses.esegui_mess(app.messaggi.navigerr_canc);
                    }
                } 
                else {
                    ses.esegui_mess(app.messaggi.navigerr_prim);
                }
            }
            else {
                ses.esegui_mess(app.messaggi.navigerr_ness);
            }
            return false;
        };
    }
};

ses.assegna_proprieta_ricerche = function () {   /*INIZIALIZZAZIONE DEGLI OGGETTI NELL'AREA DI RICERCA*/
    var anchor, classes, n, lenvuo, i, nodi, vediarea, nonvediarea, removeNode, controllaForm, cerca_da_form;
    controllaForm = function () {      /*controlla form parole del titolo, autori, soggetti e termini*/
        var lunWords, x, parole;
        x = $(this.nomecampo).value;
        parole = $w(x);
        lunWords = function () {
            var sbagliato;
            sbagliato = true;
            parole.each(function (par) {
                if (par.length < 2) {
                    sbagliato = false;
                }
            });
            return sbagliato;
        };
        if (x.length === 0)     {
            ses.esegui_mess(app.messaggi.inputerr_vuot);
            return false;
        }
        if (x.indexOf("'") > 0) {
            ses.esegui_mess(app.messaggi.inputerr_apos);
            return false;
        }
        if (x.indexOf("%") > 0) {
            ses.esegui_mess(app.messaggi.inputerr_perc);
            return false;
        }
        if ($(this.nomecampo).pla) {
            ses.esegui_mess(app.messaggi.inputerr_plac);
            return false;
        }
        if ((this.nomeform === "sg") || (this.nomeform === "tt") || (this.nomeform === "tr"))  {
            if (lunWords(x) === false) {
                ses.esegui_mess(app.messaggi.inputerr_ti_p);
                return false;
            }
            if (parole.length > 3) {
                return false;
            }
        }
        this.lancia();
        return false;
    };
    /*-----inizio richieste da FORM; parsing dei campi dei form. Usa le proprietà assegnate ai pulsanti di invio-----*/
    cerca_da_form = function () {
        var parameters = $(this.nomeform).serialize();
        if (this.tipo1) {
            parameters += "&tipo=" + this.tipo1 + "&sel=" + this.sel;
        }
        su("", "", parameters, "", this.tipo1);
        return false;
    };
    if ($("chlingua")) {
        $("chlingua").onclick = ses.caricalingua;
    }
    

    
    /*Non si puo' usare direttamente il submit dei form perche' Explorer carica una nuova pagina*/
    /*-----Assegna proprietà e metodi casella di input ctit di inserimento parole del titolo*/
    if ($("ctit")) {
        $("ctit").ax = 'subpar';
        $("ctit").pla = true;
        $("ctit").onfocus = function () {
            this.value = '';
            this.pla = false;
        };
        $("ctit").onblur = function () {
            var x;
            x = this.value;
            x = ses.carspec(x);
            x = x.toUpperCase();
            x = x.strip();
            this.value = x;
        };
    }
/*-----Assegna proprietà e metodi pulsante subpar per ricerca con parole del titolo*/   
    if ($("subpar")) {
        $("subpar").onclick = controllaForm;
        $("subpar").nomeform = "tt";
        $("subpar").nomecampo = "ctit";
        $("subpar").tipo1 = "rictit";
        $("subpar").sel = "json";
        $("subpar").lancia = cerca_da_form;
    }    
/*-----Assegna proprietà e metodi casella di input caut di inserimento autori*/    
    if ($("caut")) {
        $("caut").ax = 'subaut';
        $("caut").pla = true;
        $("caut").onfocus = function () {
            this.value = '';
            this.pla = false;
        };
        $("caut").onblur = function () {
            var x;
            x = this.value;
            x = ses.carspec(x);
            x = x.toUpperCase();
            x = x.strip();            
            x = x.replace(/,/g, "");
            if (x.substring(0, 3) === "DE ") {
                x = "DE" + x.substring(3);
            }
            if (x.substring(0, 3) === "DI ") {
                x = "DI" + x.substring(3);
            }
            if (x.substring(0, 2) === "D'") {
                x = "D" + x.substring(2);
            }
            if (x.substring(0, 3) === "LA ") {
                x = "LA" + x.substring(3);
            }
            if (x.substring(0, 3) === "LO ") {
                x = "LE" + x.substring(3);
            }
            if (x.substring(0, 2) === "L'") {
                x = "L" + x.substring(2);
            }
            if (x.substring(0, 4) === "DEI ") {
                x = "DEI" + x.substring(4);
            }
            if (x.substring(0, 6) === "DEGLI ") {
                x = "DEGLI" + x.substring(6);
            }
            if (x.substring(0, 6) === "DELLA ") {
                x = "DELLA" + x.substring(6);
            }
            if (x.substring(0, 6) === "DELLE ") {
                x = "DELLE" + x.substring(6);
            }
            this.value = x;
        };
    }
/*-----Assegna proprietà e metodi pulsante subaut per ricerca con autori*/       
    if ($("subaut")) {
        $("subaut").onclick = controllaForm;
        $("subaut").nomeform = "au";
        $("subaut").nomecampo = "caut";
        $("subaut").tipo1 = "ricaut";
        $("subaut").sel = "json";
        $("subaut").lancia = cerca_da_form;
    }    
/*-----Assegna proprietà e metodi casella di input csog di inserimento soggetti*/
    if ($("csog")) {
        $("csog").ax = 'subsog';
        $("csog").pla = true;
        $("csog").onfocus = function () {
            this.value = '';
            this.pla = false;
        };
        $("csog").onblur = function () {
            var x;
            x = this.value;
            x = ses.carspec(x);
            x = x.toUpperCase();
            x = x.strip();
            this.value = x;
        };        
    }
/*-----Assegna proprietà e metodi pulsante subsog per ricerca con soggetti*/       
    if ($("subsog")) {
        $("subsog").onclick = controllaForm;
        $("subsog").nomeform = "sg";
        $("subsog").tipo1 = "ricsog";
        $("subsog").nomecampo = "csog";
        $("subsog").sel = "json";
        $("subsog").lancia = cerca_da_form;
    }    
/*-----Assegna proprietà e metodi casella di input cter1 di inserimento primo termine*/
    if ($("cter1")) {
        $("cter1").ax = 'subter';
        $("cter1").pla = true;
        $("cter1").onfocus = function () {
            this.value = '';
            this.pla = false;
        };
        $("cter1").onblur = function () {
            var x;
            x = this.value;
            x = ses.carspec(x);
            x = x.toUpperCase();
            x = x.strip();
            this.value = x;
        };        
    }
    /*-----Assegna proprietà e metodi pulsante subter per ricerca con termini*/      
    if ($("subter")) {
        $("subter").onclick = controllaForm;
        $("subter").nomeform = "tr";
        $("subter").nomecampo = "cter1";
        $("subter").tipo1 = "termini";
        $("subter").sel = "json";
        $("subter").lancia = cerca_da_form;
    }    
    /*Assegna proprietà e metodi casella di input "autore" per ricerca veloce autori*/
    if ($("autore")) {
        $("autore").onkeyup = ses.cerca_aut_vel;
        $("autore").onblur = function () {
            this.value = "";
            ses.autJson = null;
        };
        $("autore").onfocus = function () {
            this.value = "";
            ses.lunau = 0;
        };
    }
    /*Assegna proprietà e metodi casella di input "termine " per ricerca veloce termini*/  
    if ($("termine")) {
        $("termine").onkeyup = cerca_ter_vel;
        $("termine").onfocus = function () {
            this.value = "";
            ses.lunrt = 0;
        };
        $("termine").onblur = function () {
            this.value = "";
            ses.terJson = null;
        };
    }
    /*-----Assegna proprietà e metodi pulsante submail per invio mail*/    
    if ($("submail")) {
        $("submail").onclick = function () {     /*invia e-mail record salvati*/
            var testo, posizionePDF, posizionePDFc, lun, PDF, posizioneanc, posizionefanc, vPDF;
            testo = $("recordsalva").innerHTML;
            posizionePDF = testo.indexOf("window.open");
            posizionePDFc = 0;
            if (posizionePDF > 0) {
                posizionePDFc = testo.indexOf(".pdf", posizionePDF);
                if (posizionePDFc === -1) {
                    testo.indexOf(".PDF", posizionePDF);
                }
                lun = (posizionePDFc + 4);
                vPDF = testo.substring(posizionePDF + 13, lun);
            }
            posizioneanc = testo.indexOf("<a href=\"#");
            if (posizioneanc === -1) {
                posizioneanc = testo.indexOf("<A onclick");
            }
            posizionefanc = 0; 
            if (posizioneanc > 0) {
                posizionefanc = testo.indexOf(">", posizioneanc);
                while (posizioneanc > 0) {
                    testo = testo.substring(0, posizioneanc) + testo.substr(posizionefanc + 1);
                    posizioneanc = testo.indexOf("<a href=\"#");
                    if (posizioneanc === -1) {
                        posizioneanc = testo.indexOf("<A onclick");
                    }
                    posizionefanc = testo.indexOf(">", posizioneanc);
                }
            }
            testo = testo.replace("Testo articolo", "Testo articolo disponibile a: " + PDF);
            testo = testo.replace(/<hr \/>/g, "");
            testo = testo.replace(/<br \/>/g, " - ");
            testo = testo.replace(/<HR \/>/g, "");
            testo = testo.replace(/<HR>/g, "");
            testo = testo.replace(/<BR>/g, " - ");
            testo = testo.replace(/&/g, "E");
            testo = testo.replace("<span class=\"gras\">", "");
            testo = testo.replace("<SPAN class=gras>", "");
            testo = testo.replace(/<\/span>/g, "");
            testo = testo.replace(/<\/SPAN>/g, "");
            testo = testo.replace(/<\/a>/g, "");
            testo = testo.replace(/<\/A>/g, "");
            testo = testo.replace(/#/g, "");
            $("record").value = testo;
            this.lancia();
            return false;
        };
        $("submail").nomeform = "formmail";
        $("submail").nomecampo = "mailmsg";
        $("submail").tipo1 = "mail";
        $("submail").sel = "json";
        $("submail").lancia = cerca_da_form;
    }    

    /*Assegna proprietà e metodi agli anchor dell'area ses.area_ricerche.
      Prima elimina gli elementi vuoti
      Si basa sui parametri indicati nella proprieta' class degli elementi [a] anchor.*/
    removeNode = function (ll, i) {
        nodi.removeChild(nodi.childNodes[i]);
        ll = ll - 1;
        return ll;
    };  
    nodi = $(ses.area_ricerche);
    lenvuo = nodi.childNodes.length;
    for (i = 0; i < lenvuo; i += 1) {            /*elimina elementi di solo testo (vuoti) dalle aree dei menu */
        if (nodi.childNodes[i].nodeName === "#text") {
            lenvuo = removeNode(lenvuo, i);
        }
    }
    vediarea = function (event) {
        var code;
        if (!event) {
            event = window.event;
        }
        if (event.keyCode) {
            code = event.keyCode;
        }
        else if (event.which) {
            code = event.which;
        }
        if ((code === 1) || (code === 13) || (!code)) {
            /*percorre l'array dei pulsanti, chiude le aree di ricerca aperte e apre i pulsanti chiusi*/
            ses.aprikey.each(function (key) {    
                if ($(key.ind1).visible()) {
                    $(key.ind2).show();
                    $(key.ind1).style.visibility = "hidden";
                    $(key.ind1).style.height = "0";
                }
            });
            $(this.ind1).style.visibility = "visible";
            $(this.ind1).style.height = "auto";
            $(this.ind1).focus();
            $(this.ind2).hide();
            return false;
        }
    };
    anchor = $$("#" + ses.area_ricerche + " a.vediarea"); /*vettore con gli anchor point per apertura menu*/ 
    n = 0;      //contatore per del vettore dei pulsanti di apertura delle aree del menu
    anchor.each(function (key) {
        classes = key.className.split(" "); 
        ses.aprikey[n] = key;
        n += 1;                                    /*aumenta il contatore per del vettore*/
        key.ind1 = key.parentNode.nextSibling.id;  /*Assegna a key id delle aree da aprire e chiudere-*/
        key.ind2 = key.parentNode.id;
        key.onclick = vediarea;
        key.onkeydown = vediarea;
    });    
    nonvediarea = function (event) {
        var code;
        if (!event) {
            event = window.event;
        }
        if (event.keyCode) {
            code = event.keyCode;
        }
        else if (event.which) {
            code = event.which;
        }
        if ((code === 1) || (code === 13) || (!code)) {
            $(this.ind1).style.visibility = "hidden";
            $(this.ind1).style.height = "0";
            $(this.ind2).show();
            return false;
        }
    };
    anchor = $$("#" + ses.area_ricerche + " a.nonvediarea"); /*vettore con gli anchor point per chiusura menu*/ 
    anchor.each(function (key) {
        classes = key.className.split(" "); 
        key.ind1 = key.parentNode.parentNode.id;
        key.ind2 = key.parentNode.parentNode.previousSibling.id;
        key.onclick = nonvediarea;
        key.onkeydown = nonvediarea;            
    });    
    anchor = $$("#indiciaut a.indaut"); /*vettore con gli anchor point per indici autori*/ 
    anchor.each(function (key) {
        classes = key.className.split(" ");
        key.ind = "tipo=autorianno&anno=" + classes[1];
        key.aggiunta = "autori_anno";
        key.onclick = ses.cerca_da_gdir;
        key.onkeydown = ses.cerca_da_gdir;
    });    
    anchor = $$("#indicisog a.indsog"); /*vettore con gli anchor point per indici soggetti*/ 
    anchor.each(function (key) {
        classes = key.className.split(" ");
        key.ind = "tipo=soggettianno&anno=" + classes[1];
        key.aggiunta = "soggetti_anno";
        key.onclick = ses.cerca_da_gdir;
        key.onkeydown = ses.cerca_da_gdir; 
    });
    anchor = $$("#diretta a.tutto"); /*vettore con gli anchor point per ricerche dirette*/ 
    anchor.each(function (key) {
        classes = key.className.split(" ");
        key.ind = "tipo=" + classes[1];
        key.aggiunta = classes[1];
        key.onclick = ses.cerca_da_gdir;
        key.onkeydown = ses.cerca_da_gdir;
    });
};
