function switchVisible (divId) {
    var div = document.getElementById (divId);
    var vis = div.style.display;
    if (vis == 'block') { div.style.display = 'none'; }
    else { div.style.display = 'block'; }
}
function switchImg (imgId) {
    var img = document.getElementById (imgId);
    var isrc = img.getAttribute ('src');
    if (isrc == '+.gif') { img.setAttribute ('src', '-.gif'); }
    else { img.setAttribute ('src', '+.gif'); }
}
function nodeClick (idNode) {
    switchImg ('img' + idNode);
    switchVisible ('dir' + idNode);
}
function checkClick(idCheck) {
    var cCheck = document.getElementById (idCheck);
    if (cCheck.checked) { cCheck = true; } else { cCheck = false; }
    var divId = new String();
    divId = idCheck; divId = divId.replace ('chk', 'dir');
    var checks = document.getElementsByTagName ('input');
    for (var i = 0; i < checks.length; i++) {
        var cIdCheck = new String();
        cIdCheck = checks[i].id;
        var cIdPCheck = cIdCheck.substring(0, idCheck.length);
        if (cIdPCheck == idCheck) {
            checks[i].checked = cCheck;
        }
    }
    if (cCheck == false) {
        var eIdCheck = idCheck.split('_');
        var a = 'chk';
        for (var i = 1; i < eIdCheck.length; i++) {
            a = a + '_' + eIdCheck[i];
            var nChk = document.getElementById(a);
            nChk.checked = false;
        }
        nChk = document.getElementById ('chk_'); nChk.checked = false;
    }
}
function expandAll() {
    var clink = document.getElementsByTagName('a');
    var clinkT = clink[0];
    var clinkB = clink[clink.length - 1];
    clinkT.setAttribute ('onclick', 'reduceAll();');
    clinkT.childNodes[0].nodeValue = 'Tout réduire';
    clinkB.setAttribute ('onclick', 'reduceAll();');
    clinkB.childNodes[0].nodeValue = 'Tout réduire';
    var limg = document.getElementsByTagName ('img');
    for (var i = 0; i < limg.length; i++) {
        var img = document.getElementById(limg[i].id);
        img.setAttribute ('src', '-.gif');
        var imgId = new String();
        imgId = limg[i].id;
        var dirId = imgId.replace('img', 'dir');
        var dir = document.getElementById(dirId);
        dir.style.display = 'block';
    }
}
function reduceAll() {
    var clink = document.getElementsByTagName('a');
    var clinkT = clink[0];
    var clinkB = clink[clink.length - 1];
    clinkT.setAttribute ('onclick', 'expandAll();');
    clinkT.childNodes[0].nodeValue = 'Tout développer';
    clinkB.setAttribute ('onclick', 'expandAll();');
    clinkB.childNodes[0].nodeValue = 'Tout développer';
    var limg = document.getElementsByTagName ('img');
    for (var i = 0; i < limg.length; i++) {
        var img = document.getElementById(limg[i].id);
        img.setAttribute ('src', '+.gif');
        var imgId = new String();
        imgId = limg[i].id;
        var dirId = imgId.replace('img', 'dir');
        var dir = document.getElementById(dirId);
        dir.style.display = 'none';
    }
}