window.onload = function()
{
    // init filter
    var filter = document.getElementById("filter");
    var filterButton = document.getElementById("filterButton");
    if (window.Filter != null && filterList.length != 0){
        Filter.Init(filter);
        Filter.OnChange.Bind(function (){ Filter.FilterMenuitems(window.Hierarchy);  });
    } else {
        Filter = null;
        filterButton.style.display = "none";
    }
    
    // init navigator
    Navigator.Init(document.getElementById("index_content"), "index", true);
    
    // init search
    var search = document.getElementById("search");
    var searchButton = document.getElementById("searchButton");
    
    if (window.Search != null && Settings.Search == true){
        Search.Init(search, "searchResults");
    } else {
        search.style.display = "none";
        searchButton.style.display = "none";
    }
    
    // init printer
    var printButton = document.getElementById("printButton");
    if (window.Printer != null && Settings.Print == true){
        Printer.Init();
    } else {
        printButton.style.display = "none";
    }
    
    // init background managers
    if (window.Background != null){
        window.Header = new Background($("#header"), "header");
        window.Footer = new Background($("#footer"), "footer");
    }
    
    // init path system
    if (window.Path != null && Settings.Path == true){
        Path.Init(document.getElementById("path"));
    }
}

/*
    Toggles filter menu
*/
function ToggleFilter()
{
    var fFilter = document.getElementById("filter");
    var fSearch = document.getElementById("search");

    var fSearchButton = document.getElementById("searchButton");
    var fFilterButton = document.getElementById("filterButton");

    if (fFilter.style.display == 'none')
    {
        // Turn on Filter   
        fFilter.style.display = '';
        fSearch.style.display = 'none';

        fSearchButton.className = 'options_button';
        fFilterButton.className = 'options_button options_button_active';
    } else
    {
        // Turn off Filter    
        fFilter.style.display = 'none';
        fSearch.style.display = 'none';
        fFilterButton.className = 'options_button';
    }
}

/**
Toggles Search menu
*/
function ToggleSearch()
{
    var fFilter = document.getElementById("filter");
    var fSearch = document.getElementById("search");

    var fSearchButton = document.getElementById("searchButton");
    var fFilterButton = document.getElementById("filterButton");

    if (fSearch.style.display == 'none')
    {
        // Turn on Search    
        fFilter.style.display = 'none';
        fSearch.style.display = '';

        fFilterButton.className = 'options_button';
        fSearchButton.className = 'options_button options_button_active';

        var textbox = document.getElementById("search_text");
        textbox.focus();
    } else 
    {
        // Turn off Search
        fFilter.style.display = 'none';
        fSearch.style.display = 'none';
        fSearchButton.className = 'options_button';
    }
}