<!--  to hide script contents from old browsers
// Script per generare l'albero delle categorie
// nel frame chiamato sinistra, figlio di questa pagina

// gloabl variables
var g_folder_clicked = 1
var foldersTree = 0
var top_page_height = 100    // need to be able to set it dynamically
var numBranches = 0


// function to build folder node
function folderNode(name, id, link)
{
    var arrayAux
    arrayAux = new Array
    arrayAux[0] = 0        // 0: close    1: open
    arrayAux[1] = 0        // always 0 for folder
    arrayAux[2] = name
    arrayAux[3] = link
    arrayAux[4] = id

    return arrayAux
}

// function to build leaf node
function leafNode(name, link, type)
{
    var arrayAux
    arrayAux = new Array
    arrayAux[0] = 0        // not in use
    arrayAux[1] = 1        // always 1 for leaf
    arrayAux[2] = name
    arrayAux[3] = link
    arrayAux[4] = type       // 0: for node to be displayed in the right frame
               // 1: for node to be displayed in the top

//alert("name="+name+"  link="+link+"  type="+type);

    return arrayAux
}

// function to build the tree
function appendChild(parent, child)
{
    if (parent!=null)
        parent[parent.length] = child;
    return child;
}


// draw a folder node
function drawFolderNode(foldersNode, doc, level, lastNode, leftSide)
{
//    for(var i=0; i<foldersNode.length; i++)
//        alert("foldersNode["+i+"]=" + foldersNode[i]);

    doc.write("<table border=0 cellspacing=0 cellpadding=0>\n")
//    doc.write("<tr><td valign = middle nowrap>")
    doc.write("<tr>\n<td valign=top>")
    doc.write(leftSide)

    if (level>0) {
        if (lastNode) { //the last 'brother' in the children array
            if (level>1)
                doc.write("<img src='images/lastnode.gif' width=16 height=19 border=0>")
//            leftSide = leftSide + "<img src='images/blank.gif' width=16 height=22>"
            if (leftSide=="")
                leftSide = " ";
            else
                leftSide = leftSide + "<img src='images/blank.gif' width=16 height=19 border=0>"
        }
        else {
            if (level>1)
                doc.write("<img src='images/node.gif' width=16 height=19 border=0>")
            if (leftSide=="")
                leftSide = " ";
            else
                leftSide = leftSide + "<img src='images/vertline.gif' width=16 height=19 border=0>"
        }
    }

    if (foldersNode[4]!=0) {
//        doc.write("<a name="+foldersNode[4]+"></a><A href='javascript:parent.openBranch("+foldersNode[4]+");'")
        doc.write("<a name="+foldersNode[4]+"></a><A href='#"+foldersNode[4]+"' onclick='parent.openBranch("+foldersNode[4]+");'")
        if (foldersNode[0]) {
            doc.write(" onMouseOver='window.status=\"Chiudi ramo\"; return true;'><img src=")
            doc.write("images/opened_img.gif border=0></a></td>\n")
        }
        else {
            doc.write(" onMouseOver='window.status=\"Apri ramo\"; return true;'><img src=")
            doc.write("images/closed_img.gif border=0></a></td>\n")
        }
    }


//    doc.write("<td valign=middle align=left nowrap>")
    doc.write("<td valign=top align=left>\n")
    if (foldersNode[3])
//MODIF 19-07-2001: APRE O CHIUDE IL RAMO ANCHE SE PIGI SULLA DESCRIZIONE
        doc.write("<A href='javascript:parent.inviaLink("+foldersNode[3]+");' target='destra'>\n")
//        doc.write("<A href='javascript:parent.inviaLink("+foldersNode[3]+");' target='destra' onclick='parent.openBranch("+foldersNode[4]+");'>\n")
    doc.write(foldersNode[2])
    if (foldersNode[3])
    doc.write("\n</A>\n</td>\n</tr>\n")

    doc.write("</table>\n")
}


// draw a leaf node
function drawLeafNode(foldersNode, doc, level, lastNode, leftSide) {

//    alert("drawLeafNode, level="+level);

    doc.write("<table border=0 cellspacing=0 cellpadding=0 valign=center>\n")
//    doc.write("<tr><td nowrap>")
    doc.write("<tr>\n<td valign=top>\n")
    doc.write(leftSide)

//TOLTO ADESSO.i
/*
    if (lastNode)
        doc.write("<img src='images/lastnode.gif' width=16 height=19 border=0></td>\n")
    else
        doc.write("<img src='images/node.gif' width=16 height=19 border=0></td>\n")
*/
//TOLTO ADESSO.f

//AGGIUNTO ADESSO.i
    if (lastNode)
        doc.write("<img src='images/lastnode.gif' width=16 height=19 border=0>")
    else
        doc.write("<img src='images/node.gif' width=16 height=19 border=0>")
    if (level>1)
        doc.write("<img src='images/horline.gif' width=16 height=19 border=0>")
    doc.write("</td>\n")
//AGGIUNTO ADESSO.f

    if (foldersNode[3])  {
        if (foldersNode[4] > 0)  {
//            doc.write("<A href='"+foldersNode[3]+"' target=_top><img src='images/page.gif' width=16 height=15 border=0></A>")
        }
        else {
//            doc.write("<A href='"+foldersNode[3]+"' target=folderFrame><img src='images/page.gif' width=16 height=15 alt='Casella di controllo' border=0></A>")
        }
    }
//    doc.write("<td nowrap>")
    doc.write("<td valign=top>\n")
    doc.write("<A href='javascript:parent.inviaLink("+foldersNode[3]+")' target=destra>")
    doc.write(foldersNode[2])
    doc.write("</a>\n</td>\n</tr>\n</table>\n")
}


// draw a node on the tree
function drawNode(foldersNode, doc, level, lastNode, leftSide)
{
    var i=0

    if (!foldersNode[1]) {
        drawFolderNode (foldersNode, doc, level, lastNode, leftSide)
        if (foldersNode[0])
        {
            if (lastNode == 1) {
                if (level>0)
                    if (leftSide=="")
                        leftSide = " ";
                    else
                        leftSide = leftSide + "<img src='images/blank.gif' width=16 height=19 border=0>"
            } else
                if (leftSide=="")
                    leftSide = " ";
                else
                    leftSide = leftSide + "<img src='images/vertline.gif' width=16 height=19 border=0>"
            level=level+1
            for (i=5; i<foldersNode.length;i++)
                if (i==foldersNode.length-1)
                    drawNode(foldersNode[i], doc, level, 1, leftSide)
                else
                    drawNode(foldersNode[i], doc, level, 0, leftSide)
        }
    }
    else
    {
        drawLeafNode (foldersNode, doc, level, lastNode, leftSide)
    }
}


// draw the page
function drawPage(jump)
{
    var doc = self.sinistra.window.document
    doc.clear()

    var testa ='' +
'<html>\n' +
'<head>\n' +
'<link rel="stylesheet" href="style_m.css" type="text/css">' +
'</head>\n' +
'<body bgcolor="#D7D7D7" onLoad="parent.sinistra.window.scrollTo(0, '+jump+')">\n';
//'<body bgcolor="#EEEEEE" onLoad="self.sinistra.window.scrollTo(0, '+jump+')">\n';
//testa += '<table border=1 cellpadding=10><tr><td>\n' ;

    doc.write(testa);


    drawNode(foldersTree, doc, 0, 1, "")


    var coda = '<br>\n'+
//'</td></tr></table>\n'+
'<form target="destra" name="l" action="lis_art.jsp" method="post">\n'+
'<input type="Hidden" name="tipo" value="">\n'+
'<input type="Hidden" name="tipo_d" value="">\n'+
'<input type="Hidden" name="sottogruppo" value="">\n'+
'<input type="Hidden" name="sottogruppo_d" value="">\n'+
'<input type="Hidden" name="modello" value="">\n'+
'<input type="Hidden" name="modello_d" value="">\n'+
'<input type="Hidden" name="spec" value="">\n'+
'<input type="Hidden" name="spec_d" value="">\n'+
'</form>\n' +
'</body></html>\n';

    doc.write(coda);


   doc.close()
}


//recursive over the tree structure called by openbranch
function clickOnFolderRec(foldersNode, folderID)
{
    var i=0
    if (foldersNode[4] == folderID)
    {
        foldersNode[0] = !foldersNode[0]
        return true;
    }
    if (foldersNode[0])
    {
        for (i=5; i< foldersNode.length; i++) {
        g_folder_clicked++
            if (!foldersNode[i][1]&&clickOnFolderRec(foldersNode[i], folderID))
            {
                return true;
            }
    }
    }
    return false;
}


// Event handlers, called when the user clicks on a folder
function openBranch(folderID)
{
    var window_height = self.sinistra.window.innerHeight;
    var doc = self.sinistra.window.document
    g_folder_clicked = 0;
    clickOnFolderRec(foldersTree, folderID);
    drawPage((g_folder_clicked-1)*19);
//    if (g_folder_clicked*22 > window_height-top_page_height)
//    alert("g_folder_clicked*19 = " + g_folder_clicked*19);
//    self.sinistra.window.scrollTo(0, g_folder_clicked*19);
}

//called after this html file is loaded
function initializeTree()
{
    sinistra.generateTree()
    openBranch(0)
}

//initializeTree() //sometimes when the user reloads the document Netscape 3.01 does not trigger the onLoad event (!!)



function inviaLink(p1,p1d,p2,p2d,p3,p3d,p4,p4d) {
//    var doc = self.sinistra.window.document;
    var doc = self.sinistra.window.document;

//	alert(f+" "+fd+" - "+r0+" "+r0d+" - "+r1+" "+r1d+" - "+r2+" "+r2d+" "+doc.l.action);
//	alert("sinistra="+sinistra.location);
//	alert("self="+self.location);
//	alert("parent="+parent.location);
	doc.l.tipo.value          = p1;
	doc.l.tipo_d.value        = p1d;
	doc.l.sottogruppo.value   = p2;
	doc.l.sottogruppo_d.value = p2d;
	doc.l.modello.value       = p3;
	doc.l.modello_d.value     = p3d;
	doc.l.spec.value          = p4;
	doc.l.spec_d.value        = p4d;

	doc.l.submit();
}

// END hiding contents from old browsers  
-->

