
    
    // Pour le cas ou cette fenetre interagirait avec d'autres, notamment des pop-ups,
    // il faudrait pouvoir la designer explicitement, d'ou un nommage. Nous avons choisi
    // le nom Main en reference au fait que c'est la fenetre principale. Exemple d'utilisation:
    // <a href="javascript:SomeFunction()" target="docMain">Hello</a> dans une autre fenetre
    // executerait la fonction SomeFunction() qui se trouverait alors dans [ce] docMain.
    
    self.name = "docMain";
    
    // BEGIN Popup window call
    // Utilitaire d'appel a une fenetre pop-up. Ceci est la fonction standard Ibonia.
    // Elle remplace la fonction Dreamweaver MM_openBrWindow() que nous utilisions avant. 
    // Syntaxe d'appel: <a href="#" onClick="OuvrirFenetre('toto.htm', 400, 200)">
    // Attention: le deuxieme argument de window.open() est le nom (et non pas le libelle) 
    // donne a la fenetre, au meme titre que nous nommons notre fenetre principale "docMain"; 
    // ce nom ne supporte pas le tiret, et le nom "docPop-up" est par exemple interdit.
    // Notre pop-up est toujours centre par rapport a l'ecran.
    //
    // barre d’outils:          toolbar[=yes|no] | [=1|0]
    // localisation:            location[=yes|no] | [=1|0]
    // direction:               directories[=yes|no] | [=1|0]
    // statut:                  status[=yes|no] | [=1|0]
    // barre de menu:           menubar[=yes|no] | [=1|0]
    // barre de déroullement:   scrollbars[=yes|no] | [=1|0]
    // redimensionnage:         resizable[=yes|no] | [=1|0]
    // largeur:                 width= dimension en pixels
    // longueur:                height= dimension en pixels
    
    function OuvrirFenetre(Url, Width, Height) {
        LeftPosition    = (screen.width)  ? (screen.width - Width)/2   : 100;
        TopPosition     = (screen.height) ? (screen.height - Height)/2 : 100;
        window.open(Url, "docPopup", "toolbar=no, location=no, directories=no, status=no, resizable=no, copyhistory=no, width=" + Width + ", height=" + Height + ', top=' + TopPosition + ', left=' + LeftPosition);
    }
    // END Popup window call
    
    
    // BEGIN Mise en relief d'un element html sur survol
    // Typiquement nous nous servons de cette mise en relief pour des cellules de tableau 
    // contigus contenant des elements de menus qui prennent sur survol un bel aspect en relief.
    // Dependencies : 4 classes/selecteurs nommees NavLink, NavUp, NavOff et NavDown
    // La feuille de style qui les contient est generee automatiquement par CodeWizard.
    // Utilisation : <td width="0%" bgColor="FFFFFF" class="NavOff" 
    //     onMouseOver="btnUp(this);" onMouseDown="btnDown(this);" onMouseOut="btnHide(this);">

    function btnUp(obj)   { obj.className = "NavUp"; }
    function btnHide(obj) { obj.className = "NavOff"; }
    function btnDown(obj) { obj.className = "NavDown"; }
    // END Mise en relief d'un element html sur survol
    
    
    // BEGIN Derouler-enrouler
    // Deux fonctions utilitaires pour permettre de dérouler ou enrouler
    // des sections entières de pages. DeroulerEnrouler() est à mettre
    // dans l'évenement onClick() de la balise principale BODY ; elle fait
    // le lien entre un élément parent et son élément enfant et réalise
    // un toggle de visibilité envers ce dernier. Pour cela, l'élément
    // enfant doit avoir comme style ou bien "Collapsed" ou bien "Expanded"
    // et doit être connu par son parent à travers un identifiant "ID=" 
    // (le parent lui connaissant son enfant à travers un "CHILD=" qui
    // prend la même valeur. Pour ce qui est de la fonction ChangePic(),
    // elle est uniquement visuelle, permettant de distinguer l'état
    // déroulé de l'état enroulé. A besoin des styles HandCursor, Expanded
    // et collapsed et des images images/plus.gif et images/minus.gif.
    
    // Get child element and if it exists, expand or collapse it.
    function DeroulerEnrouler () {
        oMe = window.event.srcElement
        var child = document.all[event.srcElement.getAttribute("child", false)];
        if (null != child) child.className = child.className == "Collapsed" ? "Expanded" : "Collapsed";
    }
    
    // Accessoirement, changement de l'aspect visuel d'un noeud.
    function ChangePic() {
        uMe = window.event.srcElement;
        var check = uMe.src.toLowerCase();
        if (check.lastIndexOf("plus.gif") != -1) {
            uMe.src = "images/minus.gif"
        } else {
            uMe.src = "images/plus.gif"
        }
    }
    // END Derouler-enrouler
    
    function showhideMenu(id) {
        var menu=document.getElementById("menu");
        var divs=menu.getElementsByTagName("div");
        var dep = document.getElementById(id);
        var status = dep.className;
        var i=0;
        for (i = 0 ; i < divs.length ; i++)  {
            var div = divs.item(i);
            div.className = "Closed";
        }
        if(status == "Closed") {
            dep.className = "Open";
        } else {
            dep.className = "Closed";
        }
    }
