var enfant=true; var arbre = null; // racine de l'arbre var docStruc = null; // frame contenant l'arbre var linkStyle = ''; var titreDefaut = ''; var finfos = "INFOS"; var farbre = "STRUCT"; var fdoc = "MAINDOC"; // positionne un message dans la fenetre détail si affichée seule function initWindow() { if (window.name=='') { document.all.noParent.style.display=''; enfant = false; } getLoc(); } // affiche les caractéristiques du document dans la barre de titre function getLoc() { var loc = "path: "+window.location.pathname+ "hash: "+window.location.hash+ "moi: "+window.name+ "parent: "+window.parent.name; window.status = "Coucou de "+loc; } // L'arbre se perd parfois lors des rafraichissements. function getArbre() { if (arbre == null) initArbre(); return arbre; } // diverses fonction d'écriture dans la partie haute function writeTitre(titre) { if (titreDefaut == '') titreDefaut=titre; var docH = self.frames[finfos].document; docH.open("text/html"); docH.write(''+linkStyle+''); docH.write('
'+titre+'
'); docH.write(''); docH.close(); } function remplTitre(titre) { self.frames[finfos].document.all.infosTitre.innerHTML = titre; } function remplTitreInfo(xinf) { //window.alert('info: '+xinf); self.frames[finfos].document.all.infosTitre.innerHTML = ''+ self.frames[fdoc].document.all[xinf].innerHTML+ +''; } function writeTitreDefaut() { writeTitre(''+titreDefaut+''); } function remplTitreDefaut() { remplTitre(titreDefaut); } function writeArbre() { docStruc = self.frames[farbre].document; docStruc.open("text/html"); docStruc.write(''); docStruc.write(''+linkStyle+''); docStruc.write(''); docStruc.write('
');
  getArbre().write(0, "");
  docStruc.write('
'); docStruc.close(); } // Definition de l'objet noeud et de ses méthodes function Node(expended, text, url) { this.expended = expended; this.text = text; this.url = url; this.nodes = null; this.addNode = function(n) { if (this.nodes == null) { this.nodes = new Array(); }; var i = this.nodes.length; this.nodes[i] = n; } this.expend = function() { this.expended = !this.expended; writeArbre(); } // write line for tree this.write = function(indent, nm) { // do not write root if (indent != 0) { //docStruc.write(''); var iconDesc = "droit.gif"; var genA = false; // icon and selection switcher if (this.nodes == null) { iconDesc = "rond.gif"; } else { genA = true; if (this.expended) { iconDesc = "bas.gif"; } } if (genA) { docStruc.write(''); } docStruc.write(''); if (genA) docStruc.write(''); // Description and Url if (this.url != "") { var xmouse= ""; var ixm = url.indexOf("#", 0); if (ixm >= 0) { xmouse = ' onmouseover="javascript:parent.remplTitreInfo(\'' + url.substring(ixm+1,url.length) + 'Xinf\')"'+ ' onmouseout="javaScript:parent.remplTitreDefaut()"'; } //window.alert(xmouse); docStruc.write(''); } docStruc.write(this.text); if (this.url != "") { docStruc.write(""); } docStruc.write(" "); //docStruc.write("
"); } if ((this.nodes != null) && (this.expended == true) && (indent < 20)) { for (var j=0; j < this.nodes.length; j++) { this.nodes[j].write(indent+1, nm+".nodes["+j+"]"); } } } }