var DOMReady = function(a, b, c) {
                b = document,
                c = 'addEventListener';
                b[c] ? b[c]('DOMContentLoaded', a) : window.attachEvent('onload', a)
            };
            function selectItem(thisFolder) {
                var folderElements = document.querySelectorAll('[basefolder="' + thisFolder + '"]');
                hideAllItems();
                showElements(folderElements);
                setCurrentFolderNameAndLink(thisFolder);
            }
            function setCurrentFolderNameAndLink(path) {
                var folderNameElem = document.querySelector('.gdv-folder-name');
                if (path != '/') {
                    pathFolders = path.split('/');
                    var finalLink = '';
                    var currentPath = '';
                    for (var i = 0; i < pathFolders.length; i++) {
                        if (pathFolders[i] != '') {
                            currentPath += '/' + pathFolders[i];
                            finalLink += "<div class='gdv-inline-div' onclick=selectItem('" + currentPath + "')>/" + pathFolders[i] + "</div>";
                            folderNameElem.innerHTML = finalLink;
                        }
                    }
                } else {
                    folderNameElem.innerHTML = '/';
                }
            }
            function hideAllItems() {
                var allItems = document.querySelectorAll('.gdv-attach-item[visible]');
                for (var i = 0; i < allItems.length; i++) {
                    allItems[i].removeAttribute('visible');
                }
            }
            function showElements(elements) {
                for (var i = 0; i < elements.length; i++) {
                    elements[i].setAttribute('visible', '1')
                }
            }
            function selectRoot() {
                var rootElements = document.querySelectorAll('[basefolder='/']');
                showElements(rootElements);
            }
            DOMReady(function() {
                selectItem("/");
            });