function clickOnDir(obj) {
    var ul = obj.firstChild.nextSibling;
    var img = obj.firstChild.firstChild;
    if (img.src.indexOf('expand') != -1) {
        img.src = 'Ressources/Images/Icons/button_dir_collapse.gif';
        if (ul) ul.style.display = 'block';
    } else {
        img.src = 'Ressources/Images/Icons/button_dir_expand.gif';
        if (ul) ul.style.display = 'none';
    }
}

function dirListInit() {
    if (document.getElementById('dirsList')) {
        var lis = document.getElementById('dirsList').getElementsByTagName('li');
        for (var i = 0 ; i < lis.length ; i++) {
            lis[i].firstChild.firstChild.src = 'Ressources/Images/Icons/button_dir_expand.gif';
            lis[i].firstChild.firstChild.onclick = function() {
                clickOnDir(this.parentNode.parentNode);
                this.parentNode.blur();
                return false;
            }
            lis[i].firstChild.firstChild.nextSibling.onclick = function() {
                clickOnDir(this.parentNode.parentNode);
                this.parentNode.blur();
                return false;
            }
            if (i == 0 || lis[i].firstChild.href == document.location.href) {
                actLis = lis[i];
            }
        }
        if (actLis && actLis.firstChild) {
            actLis.firstChild.className += ' active';
            while (actLis.nodeName.toLowerCase() == 'li') {
                clickOnDir(actLis);
                actLis = actLis.parentNode.parentNode;
            }
        }
    }
}

function filesInit() {
    if (document.getElementById('filesList')) {
        var lis = document.getElementById('filesList').getElementsByTagName('li');
        for (var i = 0 ; i < lis.length ; i++) {
            lis[i].onclick = function() {
                this.getElementsByTagName('input')[0].checked = !this.getElementsByTagName('input')[0].checked;
                if (this.getElementsByTagName('input')[0].type == 'checkbox' && this.getElementsByTagName('input')[0].checked) {
                    this.className += ' selected';
                } else {
                    this.className = this.className.replace(/ selected/, '');
                }
            }
            lis[i].onmouseover = function() {
                this.className += ' hover';
                var thisfid = this.getElementsByTagName('input')[0].value;
                var actfid = document.getElementById('shownFileDesc').value;
                if (thisfid != actfid && this.getElementsByTagName('input')[0].type == 'checkbox') {
                    document.getElementById('infos').innerHTML = '<input type="hidden" id="shownFileDesc" value="'+thisfid+'" /><div id="waiting"></div>';
                    xajax_getInfo(thisfid);
                }
                if(this.getElementsByTagName('input')[0].type == 'checkbox') {
                    document.getElementById('infos').style.display = 'block';
                }
            }
            lis[i].onmouseout = function() {
                this.className = this.className.replace(/ hover/, '');
                document.getElementById('infos').style.display = 'none';
            }
            if (lis[i].className.indexOf('trash') == -1) {
                if (lis[i].className.indexOf('dir') > -1) {
                    lis[i].ondblclick = function() {
                        window.location = 'index.php?loc='+this.getElementsByTagName('input')[1].value;
                    }
                } else {
                    lis[i].ondblclick = function() {
                        window.location = 'download.php?file='+this.getElementsByTagName('input')[0].value;
                    }
                }
            }
            var as = lis[i].getElementsByTagName('a');
            lis[i].getElementsByTagName('input')[0].onclick = function() {
                this.checked = !this.checked;
            }
            for (var j = 0 ; j < as.length ; j++) {
                as[j].onmouseover = function() {
                    this.save = this.parentNode.parentNode.onclick;
                    this.parentNode.parentNode.onclick = null;
                }
                as[j].onmouseout = function() {
                    this.parentNode.parentNode.onclick = this.save;
                }
                if (as[j].title == 'Commenter') {
                    as[j].onclick = function() {
                        xajax_showCmt(this.parentNode.parentNode.getElementsByTagName('input')[0].value);
                        return false;
                    }
                } else if (as[j].title == 'Renommer') {
                    as[j].onclick = function() {
                        xajax_showRename(this.parentNode.parentNode.getElementsByTagName('input')[0].value);
                        return false;
                    }
                } else if (as[j].title == 'Supprimer') {
                    as[j].onclick = function() {
                        if (window.confirm('Êtes-vous bien sûr de vouloir supprimer ceci ?')) {
                            xajax_delete(this.parentNode.parentNode.getElementsByTagName('input')[0].value);
                        }
                        return false;
                    }
                } else if (as[j].title == 'Supprimer définitivement') {
                    as[j].onclick = function() {
                        if (window.confirm('Êtes-vous bien sûr de vouloir supprimer ceci DEFINITIVEMENT ?')) {
                            xajax_deleteTrash(this.parentNode.parentNode.getElementsByTagName('input')[0].value);
                        }
                        return false;
                    }
                } else if (as[j].title == 'Restaurer') {
                    as[j].onclick = function() {
                        xajax_restore(this.parentNode.parentNode.getElementsByTagName('input')[0].value);
                        return false;
                    }
                }
            }
        }
    }
}

var file_onload = window.onload;
window.onload = function() {
    if (file_onload != null) {
        file_onload();
    }
    filesInit();
    dirListInit();
}

