var _nMenuDepth = 0; // Tiefe des Menübaumes
var _anMenuCountLevel = new Array();
var _aNav = new Array();
    
    
// 
function initNavTbl() 
{
    var strId = '';
    
    _anMenuCountLevel['0'] = 0;
    
    for ( var nIdx=1; nIdx<=15; nIdx++ ) 
    {
        if ( nIdx < 10 )
        {
            strId = '0' + nIdx;
        }
        else
        {
            strId = nIdx;
        }
        
        if ( _aNav[strId] != null )
        {
            _anMenuCountLevel['0'] += 1;
            loadMenuDefinition(strId);
        }
    }
    
    paintMenu();
}

//
function loadMenuDefinition(strParentId)
{
    var strId = '';
    var nParentLevel = 0;
    
    nParentLevel = parseInt(strParentId.length)/2;
    if ( nParentLevel > _nMenuDepth )
    {
        _nMenuDepth = nParentLevel;
    }

    _anMenuCountLevel[strParentId] = 0;

    for ( var nIdx=1; nIdx<=15; nIdx++ ) 
    {
        if ( nIdx < 10 )
        {
            strId = strParentId + '0' + nIdx;
        }
        else
        {
            strId = strParentId + nIdx;
        }
        
        if ( _aNav[strId] != null )
        {
            _anMenuCountLevel[strParentId] += 1;
            loadMenuDefinition(strId);
        }
    }
}


//
function paintMenu()
{
    var strActId;
    var strTempParentId;

    document.writeln('<div id="submenucontainer"></div>');
  
    strActId = GetQueryVariable("curnavid");
    if ( strActId != null )
    {
        // weitere Menu Levels darstellen
        for ( var nIdx=2; nIdx<=strActId.length; nIdx=nIdx+2 )
        {
            strTempParentId = strActId.substring(0, nIdx);
            actNav(strTempParentId);
        }
    }
    else
    {
        actNav('01');
    }
}

// 
function createNavListLink(strId) 
{
    var nLevel = 0;
    var strTarget;
    var strListLink = '';
    
    nLevel = parseInt(strId.length)/2;
    strLevel = 'Level' + nLevel;

    strTarget = _aNav[strId][2];

    strListLink = '<li><a id=' + strId + ' onClick="actNav(\'' + strId + '\');" ';
    strListLink += ' href="' + _aNav[strId][1] + '" target="' + strTarget + '">' + _aNav[strId][0] + '</a></li>';

    return(strListLink);
}

// strParentId: Index aus Array _aNav[]
function actNav(strParentId)
{  
    var nLevel = 0;
    var nParentLevel = 0;
    var strHtmlLink = '';
    var strHtmlLinks = '';
    var elmNavContainer;
    var elmNavLinkList;
    var nIdx;
    var strParentParentId;

    nParentLevel = parseInt(strParentId.length)/2;
    nLevel = nParentLevel + 1;
    
    // Level 1 und Level > 1 werden unterschiedlich behandelt
    if ( nParentLevel == 1 )
    {
        // Alle Links auf dem geklickten Level durchgehen und 'selected' Klasse entfernen
        // 'selected' Klasse auf geklickten Link setzen
        for ( nIdx=1; nIdx<=_anMenuCountLevel['0']; nIdx++ )
        {
            if ( nIdx < 10 )
            {
                strId = '0' + nIdx;
            }
            else
            {
                strId = nIdx;
            }
            
            if ( strId == strParentId )
            {
                // Geklickter Link muss als 'selected' markiert werden
                if ( document.getElementById(strId) != null )
                {
                    document.getElementById(strId).className = 'nav' + strParentId + 'selected';
                }
            }
            else
            {
                if ( document.getElementById(strId) != null )
                {
                    document.getElementById(strId).className = 'nav' + strId;
                }
            }
        }
    }
    else
    {
        // Alle Links auf dem geklickten Level durchgehen und 'selected' Klasse entfernen
        // 'selected' Klasse auf geklickten Link setzen
        strParentParentId = strParentId.substring(0, strParentId.length - 2);
        for ( nIdx=1; nIdx<=_anMenuCountLevel[strParentParentId]; nIdx++ )
        {
            if ( nIdx < 10 )
            {
                strId = strParentParentId + '0' + nIdx;
            }
            else
            {
                strId = strParentParentId + nIdx;
            }
            
            if ( strId == strParentId )
            {
                // Geklickter Link muss als 'selected' markiert werden
                if ( document.getElementById(strParentId) != null )
                {
                    document.getElementById(strParentId).className = "selected";
                }
            }
            else
            {
                if ( document.getElementById(strId) != null )
                {
                    document.getElementById(strId).removeAttribute('className');
                    //document.getElementById(strId).className = null;
                }
            }
        }
    } 
    
    // Alle Levels unterhalb vom geklickten Level löschen
    for ( nIdx=nLevel; nIdx<=_nMenuDepth; nIdx++ )
    {
        elmNavContainer = document.getElementById('navcontainer' + nIdx);
        if ( elmNavContainer != null )
        {
            //document.getElementById('menu').removeChild(elmNavContainer);
            document.getElementById('submenucontainer').removeChild(elmNavContainer);
        }
    }
    
    // Untermenus von geklicktem Level zusammenstellen (Container mit Linklisten löschen)
    for ( nIdx=1; nIdx<=_anMenuCountLevel[strParentId]; nIdx++ )
    {
        if ( nIdx < 10 )
        {
            strId = strParentId + '0' + nIdx;
        }
        else
        {
            strId = strParentId + nIdx;
        }
        strHtmlLink = createNavListLink(strId);
        strHtmlLinks += strHtmlLink;
    }
    
    if ( strHtmlLinks.length > 0 )
    {
        // Container für Linkliste erstellen
        elmNavContainer = document.createElement("div");
        elmNavContainer.id = "navcontainer" + nLevel;
        
        // Element für Aufzählungsliste erstellen
        elmNavLinkList = document.createElement("ul");
        elmNavLinkList.id = "navlevel" + nLevel;
        elmNavLinkList.className = "navlist";
        
        // Der Aufzählungsliste die Listenpunkte (Untermenus) hinzufügen
        var strList;
        strList = '<div id="navcontainer' + nLevel + '"><ul id =' + '"navlevel' + nLevel + '" class="navlist">' + strHtmlLinks + '</ul></div>';
        //alert(strList);
        //strHtmlLinks = "<div id='navcontainer2'>" + strHtmlLinks + "</div>";
        //document.writeln(strHtmlLinks);
        //elmNavLinkList.innerHTML = strHtmlLinks;
        
        // Die Aufzählungsliste dem Container hinzufügen
        //elmNavContainer.appendChild(elmNavLinkList);
        
        // Den Container dem DIV-Element 'menu' hinzufügen
        //document.all['submenucontainer'].appendChild(elmNavContainer);
        //document.getElementById('menu').appendChild(elmNavContainer);
        //document.getElementById('submenucontainer').appendChild(elmNavContainer);
        document.getElementById('submenucontainer').innerHTML += strList;
    }
   
    return;
}