/*

	Généré par Visual Folder Tree Builder 2.0		

		http://mysoft.s5.com/ 



                Copyright (c)     Mysoft, Inc.   August 2001

*/



//**************************************************************** 

// Vous êtes libre de copier le script de "Folder-Tree" aussi longtemps 

// que vous gardez ce copyright : 

// Script trouvé sur : http://www.geocities.com/Paris/LeftBank/2178/ 

// Auteur : Marcelino Alves Martins (martins@hks.com) Décembre '97. 

//**************************************************************** 



/* Définition de la classe Folder */ 

 

function Folder(folderDescription, hreference)  

{ 

  this.desc = folderDescription 

  this.hreference = hreference 

  this.id = -1   

  this.navObj = 0  

  this.iconImg = 0  

  this.nodeImg = 0  

  this.isLastNode = 0 

 

  /* données dynamiques*/ 

  this.isOpen = true 

  this.iconSrc = "ftv2folderopen.gif"   

  this.children = new Array 

  this.nChildren = 0 

 

  /* méthodes */ 

  this.initialize = initializeFolder 

  this.setState = setStateFolder 

  this.addChild = addChild 

  this.createIndex = createEntryIndex 

  this.hide = hideFolder 

  this.display = display 

  this.renderOb = drawFolder 

  this.totalHeight = totalHeight 

  this.subEntries = folderSubEntries 

  this.outputLink = outputFolderLink 

} 

 

function setStateFolder(isOpen) 

{ 

  var subEntries 

  var totalHeight 

  var fIt = 0 

  var i=0 

 

  if (isOpen == this.isOpen) 

    return 

 

  if (browserVersion == 2)  

  { 

    totalHeight = 0 

    for (i=0; i < this.nChildren; i++) 

      totalHeight = totalHeight + this.children[i].navObj.clip.height 

      subEntries = this.subEntries() 

    if (this.isOpen) 

      totalHeight = 0 - totalHeight 

    for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++) 

      indexOfEntries[fIt].navObj.moveBy(0, totalHeight) 

  }  

  this.isOpen = isOpen 

  propagateChangesInState(this) 

} 

 

function propagateChangesInState(folder) 

{   

  var i=0 

 

  if (folder.isOpen) 

  { 

    if (folder.nodeImg) 

      if (folder.isLastNode) 

        folder.nodeImg.src = "ftv2mlastnode.gif" 

      else 

	  folder.nodeImg.src = "ftv2mnode.gif" 

    folder.iconImg.src = "ftv2folderopen.gif" 

    for (i=0; i<folder.nChildren; i++) 

      folder.children[i].display() 

  } 

  else 

  { 

    if (folder.nodeImg) 

      if (folder.isLastNode) 

        folder.nodeImg.src = "ftv2plastnode.gif" 

      else 

	  folder.nodeImg.src = "ftv2pnode.gif" 

    folder.iconImg.src = "ftv2folderclosed.gif" 

    for (i=0; i<folder.nChildren; i++) 

      folder.children[i].hide() 

  }  

} 

 

function hideFolder() 

{ 

  if (browserVersion == 1) { 

    if (this.navObj.style.display == "none") 

      return 

    this.navObj.style.display = "none" 

  } else { 

    if (this.navObj.visibility == "hiden") 

      return 

    this.navObj.visibility = "hiden" 

  } 

   

  this.setState(0) 

} 

 

function initializeFolder(level, lastNode, leftSide) 

{ 

var j=0 

var i=0 

var numberOfFolders 

var numberOfDocs 

var nc 

      

  nc = this.nChildren 

   

  this.createIndex() 

 

  var auxEv = "" 

 

  if (browserVersion > 0) 

    auxEv = "<a href='javascript:;' onMouseDown='return clickOnNode("+this.id+")'>" 

  else 

    auxEv = "<a>" 

 

  if (level>0) 

    if (lastNode) /* le dernier 'frère' dans le tableau enfant */ 

    { 

      this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mlastnode.gif' width=16 height=22 border=0></a>") 

      leftSide = leftSide + "<img src='ftv2blank.gif' width=16 height=22>"  

      this.isLastNode = 1 

    } 

    else 

    { 

      this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mnode.gif' width=16 height=22 border=0></a>") 

      leftSide = leftSide + "<img src='ftv2vertline.gif' width=16 height=22>" 

      this.isLastNode = 0 

    } 

  else 

    this.renderOb("") 

   

  if (nc > 0) 

  { 

    level = level + 1 

    for (i=0 ; i < this.nChildren; i++)  

    { 

      if (i == this.nChildren-1) 

        this.children[i].initialize(level, 1, leftSide) 

      else 

        this.children[i].initialize(level, 0, leftSide) 

      } 

  } 

} 

 

function drawFolder(leftSide) 

{ 

  if (browserVersion == 2) { 

    if (!doc.yPos) 

      doc.yPos=8 

    doc.write("<layer id='folder" + this.id + "' top=" + doc.yPos + " visibility=hiden>") 

  } 

   

  doc.write("<TABLE ") 

  if (browserVersion == 1) 

    doc.write(" id='folder" + this.id + "' style='position:block;' ") 

  doc.write(" BORDER=0 CELLSPACING=0 CELLPADDING=0>") 

  doc.write("<TR><TD>") 

  doc.write(leftSide) 

  this.outputLink() 

  doc.write("<img name='folderIcon" + this.id + "' ") 

  doc.write("src='" + this.iconSrc+"' border=0></a>") 

  doc.write("</TD><TD VALIGN=middle nowrap>") 

  if (USETEXTLINKS) 

  { 

    this.outputLink() 

    doc.write("<NOBR>" + this.desc + "</NOBR></a>")  

  } 

  else 

    doc.write("<NOBR>" + this.desc + "</NOBR>") 

  doc.write("</TD>")  

  doc.write("</TR></TABLE>") 

   

  if (browserVersion == 2) { 

    doc.write("</layer>") 

  } 

 

  if (browserVersion == 1) { 

    this.navObj = doc.all["folder"+this.id] 

    this.iconImg = doc.all["folderIcon"+this.id] 

    this.nodeImg = doc.all["nodeIcon"+this.id] 

  } else if (browserVersion == 2) { 

    this.navObj = doc.layers["folder"+this.id] 

    this.iconImg = this.navObj.document.images["folderIcon"+this.id] 

    this.nodeImg = this.navObj.document.images["nodeIcon"+this.id] 

    doc.yPos=doc.yPos+this.navObj.clip.height 

  } 

} 

 

function outputFolderLink() 

{ 

  if (this.hreference) 

  { 

    doc.write("<a href='" + this.hreference + "' TARGET=\"" + TFRAME + "\" ") 

    if (browserVersion > 0) 

      doc.write("onMouseDown='clickOnFolder("+this.id+")'>") 

  }else{

  	if (this.id!=0) 

	  doc.write("<a href='javascript:;' onMouseDown='clickOnFolder("+this.id+"); return false'>") /* 100600 */

  }

} 

 

function addChild(childNode) 

{ 

  this.children[this.nChildren] = childNode 

  this.nChildren++ 

  return childNode 

} 

 

function folderSubEntries() 

{ 

  var i = 0 

  var se = this.nChildren 

 

  for (i=0; i < this.nChildren; i++){ 

    if (this.children[i].children) //c'est un dossier

      se = se + this.children[i].subEntries() 

  } 

 

  return se 

} 

 

 

/* Définition de l'élément de classe (un document ou un lien à l'intérieur de Folder)*/

 

function Item(itemDescription, itemLink)

{ 

  /* données constantes */ 

  this.desc = itemDescription 

  this.link = itemLink 

  this.id = -1 //initialiisé dans initalize() 

  this.navObj = 0 //initialiisé dans render() 

  this.iconImg = 0 //initialiisé dans render() 

  this.iconSrc = "ftv2doc.gif" 



  /* méthodes */ 

  this.initialize = initializeItem 

  this.createIndex = createEntryIndex 

  this.hide = hideItem 

  this.display = display 

  this.renderOb = drawItem 

  this.totalHeight = totalHeight 

} 

 

function hideItem() 

{ 

  if (browserVersion == 1) { 

    if (this.navObj.style.display == "none") 

      return 

    this.navObj.style.display = "none" 

  } else { 

    if (this.navObj.visibility == "hiden") 

      return 

    this.navObj.visibility = "hiden" 

  }     

} 

 

function initializeItem(level, lastNode, leftSide) 

{  

  this.createIndex() 

 

  if (level>0) 

    if (lastNode) //le dernier 'frère' dans le tableau enfant 

    { 

      this.renderOb(leftSide + "<img src='ftv2lastnode.gif' width=16 height=22>") 

      leftSide = leftSide + "<img src='ftv2blank.gif' width=16 height=22>"  

    } 

    else 

    { 

      this.renderOb(leftSide + "<img src='ftv2node.gif' width=16 height=22>") 

      leftSide = leftSide + "<img src='ftv2vertline.gif' width=16 height=22>" 

    } 

  else 

    this.renderOb("")   

} 

 

function drawItem(leftSide) 

{ 

  if (browserVersion == 2) 

    doc.write("<layer id='item" + this.id + "' top=" + doc.yPos + " visibility=hiden>") 

     

  doc.write("<TABLE ") 

  if (browserVersion == 1) 

    doc.write(" id='item" + this.id + "' style='position:block;' ") 

  doc.write(" BORDER=0 CELLSPACING=0 CELLPADDING=0>") 

  doc.write("<TR><TD>") 

  doc.write(leftSide) 

  if (this.link) 

      doc.write("<a href=" + this.link + ">") 

  doc.write("<img id='itemIcon"+this.id+"' ") 

   doc.write("src='"+this.iconSrc+"' border=0>")



  doc.write("</a>") 

  doc.write("</TD><TD VALIGN=middle nowrap>") 

  if (USETEXTLINKS && this.link) 

    doc.write("<NOBR><a href=" + this.link + ">" + this.desc + "</NOBR></a>") 

  else 

    doc.write("<NOBR>" + this.desc + "</NOBR>") 

  doc.write("</TD></TR></TABLE>") 

   

  if (browserVersion == 2) 

    doc.write("</layer>") 

 

  if (browserVersion == 1) { 

    this.navObj = doc.all["item"+this.id] 

    this.iconImg = doc.all["itemIcon"+this.id] 

  } else if (browserVersion == 2) { 

    this.navObj = doc.layers["item"+this.id] 

    this.iconImg = this.navObj.document.images["itemIcon"+this.id] 

    doc.yPos=doc.yPos+this.navObj.clip.height 

  } 

} 

 

 

/* Méthodes communes aux deux objets (pseudo-héritage)*/ 

 

function display() 

{ 

  if (browserVersion == 1) 

    this.navObj.style.display = "block" 

  else 

    this.navObj.visibility = "show" 

} 

 

function createEntryIndex() 

{ 

  this.id = nEntries 

  indexOfEntries[nEntries] = this 

  nEntries++ 

} 

 

/* la taille totale des sous-entrées ouvertes */ 

function totalHeight() //utilisé avec browserVersion == 2 

{ 

  var h = this.navObj.clip.height 

  var i = 0 

   

  if (this.isOpen) //c'est un dossier qui _est_ ouvert

    for (i=0 ; i < this.nChildren; i++)  

      h = h + this.children[i].totalHeight() 

 

  return h 

} 

  

function clickOnFolder(folderId) 

{ 

  var clicked = indexOfEntries[folderId] 

 

  if (!clicked.isOpen) 

    clickOnNode(folderId) 

} 

 

function clickOnNode(folderId) 

{ 

  var clickedFolder = 0 

  var state = 0 

 

  clickedFolder = indexOfEntries[folderId] 

  state = clickedFolder.isOpen 

 

  if (bAUTOCLOSE && !state && clickedFolder.id!=0)

  {

     if (auto_opened_folder!=-1 && auto_opened_folder!=clickedFolder.id)

     	auto_close_folder(auto_opened_folder);

     auto_opened_folder=clickedFolder.id

  }



  clickedFolder.setState(!state)



  return false;  

} 

 

function auto_close_folder(folderId)

{

 var myFolder=0;

 var state = 0 ;

 myFolder = indexOfEntries[folderId];

 state = myFolder.isOpen ;



 if (state) 

  clickOnNode(folderId);

}

 

 

/* Fonctions auxiliaires pour la compatibilité arrière avec Folder-Tree */ 

 

function gFld(description, ref) 

{ 

  if (DWIN && ref) ref = "javascript:go(\""+ref+"\")"

  

  folder = new Folder(description, ref) 

  return folder 

} 

 

function gLnk(target, description, ref) 

{ 

  fullLink = "" 



  if (DWIN && ref) ref = "javascript:go(\""+ref+"\")"



  if (ref) 

   if (target==0) 

     fullLink = "'"+ref+"' target=\"" + TFRAME + "\"" 

   else 

     fullLink = "'"+ref+"' target=_blank" 

   

  linkItem = new Item(description, fullLink)   

  return linkItem 

} 

 

function insFld(parentFolder, childFolder) 

{ 

  return parentFolder.addChild(childFolder) 

} 

 

function insDoc(parentFolder, document) 

{ 

  parentFolder.addChild(document) 

} 

 



function initializeDocument() 

{ 

  if (doc.all) 

    browserVersion = 1 /* IE */

  else 

    if (doc.layers) 

    {

	browserVersion = 2 /* NS */ 

	self.onresize = self.doResize	

    } 

    else 

      browserVersion = 0 /* autre*/



  foldersTree.initialize(0, 1, "") 

  foldersTree.display()

  

  if (browserVersion > 0) 

  { 

    doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+">&nbsp;</layer>") 

 

    /* ferme l'arborescence entière */ 

    clickOnNode(0) 

    /* ouvre le dossier racine */ 

    clickOnNode(0)



  } 

} 



function go(s)

{

	onerror=goNewW; /* IE */

	sErrREF = s; /* IE */

	

	if (!opener.closed)

		opener.document.location=s;

	else

		window.open(s,"newW"); /* NS */

}



function goNewW() /* IE */ 

{

	window.open(sErrREF,"newW");

}



function doResize() /* NS */

{

	document.location.reload();

}



function hideLayer(layerName){

  eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="hidden"');

}



indexOfEntries = new Array 

nEntries = 0 

doc = document 

browserVersion = 0 

selectedFolder=0 

sErrREF = ""; /* IE */

layerRef="document.all";

styleSwitch=".style";

  if (navigator.appName == "Netscape") {

    layerRef="document.layers";

	styleSwitch="";

  }

USETEXTLINKS = 1 

TFRAME="main_frame" 

DWIN=0 

auto_opened_folder=-1;

bAUTOCLOSE=0;



foldersTree = gFld("IMAGINASCIENCE", "")
insDoc(foldersTree, gLnk(0, "Accueil (Culture)", "http://www.imaginascience.com/accueil.php"))
a2 = insFld(foldersTree, gFld("CULTURE", ""))
a3 = insFld(a2, gFld("AIDE", ""))
insDoc(a3, gLnk(0, "Accueil Aide", "http://www.imaginascience.com/aide/accueil_aide.php"))
insDoc(a3, gLnk(0, "F.A.Q", "http://www.imaginascience.com/aide/faq.php"))
insDoc(a3, gLnk(0, "Société - Informations légales", "http://www.imaginascience.com/aide/societe.php"))
insDoc(a3, gLnk(0, "Accessibilité - handicap", "http://www.imaginascience.com/aide/accessibilite.php"))
insDoc(a3, gLnk(0, "Contact", "http://www.imaginascience.com/contact/accueil_contact.php"))
insDoc(a3, gLnk(0, "1ière visite", "http://www.imaginascience.com/aide/premierevisite.php#haut"))
insDoc(a3, gLnk(0, "Conditions Générales de Vente", "http://www.imaginascience.com/boutique/pages/cgv.php"))
a11 = insFld(a2, gFld("ACTUS", ""))
insDoc(a11, gLnk(0, "Accueil Actus", "http://www.imaginascience.com/actualites/accueil_actualites.php"))
insDoc(a11, gLnk(0, "Archives / mois", "http://www.imaginascience.com/actualites/archives_actualites.php?temporel=1"))
insDoc(a11, gLnk(0, "Archives / catégorie", "http://www.imaginascience.com/actualites/archives_actualites.php?categorie=1"))
a15 = insFld(a2, gFld("DOSSIERS", ""))
insDoc(a15, gLnk(0, "Résonance (vibratoire)", "http://www.imaginascience.com/articles/sciencesphysiques/mecanique/resonance/resonance.php"))
insDoc(a15, gLnk(0, "Science et beauté", "http://www.imaginascience.com/articles/divers-essais/science_et_beaute.php"))
insDoc(a15, gLnk(0, "Mécanique des fluides", "http://www.imaginascience.com/articles/sciencesphysiques/mecanique/fluides/fluides.php#haut"))
insDoc(a15, gLnk(0, "Sables, poudres et grains", "http://www.imaginascience.com/articles/sciencesphysiques/mecanique/sable/sable.php"))
insDoc(a15, gLnk(0, "Force centrifuge", "http://www.imaginascience.com/articles/sciencesphysiques/mecanique/centrifuge/centrifuge.php"))
insDoc(a15, gLnk(0, "Force de Coriolis", "http://www.imaginascience.com/articles/sciencesphysiques/mecanique/coriolis/coriolis.php"))
insDoc(a15, gLnk(0, "Ingénierie auto (acoustique-vibrations, poids, aérodynamique)", "http://www.imaginascience.com/articles/divers-essais/ingenierie-automobile/ingenierie-automobile.php"))
a23 = insFld(a2, gFld("FUN", ""))
insDoc(a23, gLnk(0, "Expériences", "http://www.imaginascience.com/pratique/experiences-demonstrations/experiences.php"))
insDoc(a23, gLnk(0, "Questions-Réponses", "http://www.imaginascience.com/pratique/questions.php"))
insDoc(a23, gLnk(0, "Vidéos scientifiques", "http://www.imaginascience.com/pratique/videos/accueil-videos.php"))
insDoc(a23, gLnk(0, "Idées reçues", "http://www.imaginascience.com/idees-recues/accueil-idees-recues-mythes.php"))
insDoc(a23, gLnk(0, "Photos scientifiques", "http://www.imaginascience.com/pratique/photos-scientifiques/accueil-images.php"))
a29 = insFld(a2, gFld("LIENS", ""))
insDoc(a29, gLnk(0, "Accueil Liens", "http://localhost/liensetpartenaires/accueil_liens.php"))
a31 = insFld(foldersTree, gFld("BOUTIQUE", ""))
insDoc(a31, gLnk(0, "Accueil Boutique", "http://www.imaginascience.com/boutique/accueil_boutique.php"))
insDoc(a31, gLnk(0, "Caddie", "http://www.imaginascience.com/boutique/pages/caddie.php"))
insDoc(a31, gLnk(0, "Conditions Générales de Vente", "http://www.imaginascience.com/boutique/pages/cgv.php"))
insDoc(a31, gLnk(0, "Index Produits", "http://www.imaginascience.com/boutique/index-boutique.php"))
insDoc(a31, gLnk(0, "Catalogue (tableau récap)", "http://www.imaginascience.com/boutique/pages/catalogue.php"))
insDoc(a31, gLnk(0, "Comptes (clients)", "http://www.imaginascience.com/comptes/accueil_comptes.php"))

