/*******************
 dynamic navigation 
 *******************/

var to;

function Nshow ( id )
{
        if (document.getElementById(id).style.visibility != 'visible')
          to = setTimeout("showhide('"+id+"', 'visible')", 50);
        else
          clearTimeout(to);
}

function Nhide ( id )
{
        clearTimeout(to);
        to = setTimeout("showhide('"+id+"', 'hidden')", 50);
}

function showhide ( id , status )
{
    document.getElementById( id ).style.visibility = status;
}

function setBackground ( id , color )
{
    document.getElementById( id ).style.background = color;
}


function changeClass ( id, val )
{
    document.getElementById( id ).className = val;
}

function addClass ( id, val )
{
    document.getElementById( id ).className += ' '+val;
}



/* ciwo */

function debug (text )
{
    document.getElementById('debug').firstChild.nodeValue += text + " | ";
}

function destroyLines( id )
{
    level  = id.substr( 0, id.length - 1 );
    
    for ( i = 1; i < 6; i++ )
    {
        if ( document.getElementById(level+i) != null )
            document.getElementById(level+i).className = document.getElementById(level+i).className.replace(/navline/, '');
    }
}

function checkLines( id, children )
{
    active = id.charAt( id.length - 1 );
    level  = id.substr( 0, id.length - 1 );

    for ( i = 1; i < 6; i++ )
    {
        if ( document.getElementById(level+i) != null && document.getElementById(level+i).origClass == null )
            document.getElementById(level+i).origClass = document.getElementById(level+i).className;
    }
    
    /*for ( i = 1; i < 6; i++ )
    {
        if ( document.getElementById(level+i) != null && document.getElementById(level+i).origClass != null )
            document.getElementById(level+i).className = document.getElementById(level+i).origClass;
    }*/
    
    if ( !children )  // alle Linien weg
    {
        for ( i = 2; i <= active; i++ )
        {
            document.getElementById(level+i).className = document.getElementById(level+i).className.replace(/navline/, '');
        }
    }
    else // Linien malen
    {
        for ( i = 2; i < active; i++ )
        {
            if ( document.getElementById(level+i).className.search(/navline/) == -1 )
                document.getElementById(level+i).className += ' navline';
        }
        
        // Linien weiter unten weg
        for ( i = active; i < 6; i++ )
        {
            if ( document.getElementById(level+i) != null )
            {
                if ( document.getElementById(level+i).className.search(/navline/) != -1 )
                    document.getElementById(level+i).className = document.getElementById(level+i).className.replace(/navline/, '');
            }
            
        }
    }
    
    //if (document.getElementById(level) != null )
    //    checkLines ( level );
}


function hideActiveLayer( id )
{
    if( id && document.getElementById(id) != null )
    {
        if( document.getElementById(id).parentNode.getElementsByTagName("ul")[0] != null )
        {
          document.getElementById(id).parentNode.getElementsByTagName("ul")[0].className+=" navhidden";
        }
    }
}


function showActiveLayer( id )
{
    if( id && document.getElementById(id) != null )
    {
        if( document.getElementById(id).parentNode.getElementsByTagName("ul")[0] != null )
        {
            document.getElementById(id).parentNode.getElementsByTagName("ul")[0].className =
                document.getElementById(id).parentNode.getElementsByTagName("ul")[0].className.replace(/ navhidden/, "");
        }
    }
}

function deleteActiveLine( id )
{
    if( document.getElementById( id ) )
    {
        var el = document.getElementById( id );
        
        if(      el.className.search( /first/ ) != -1 )
            el.className = el.className.replace(/active_first/, "");
        else if( el.className.search( /inner/ ) != -1 )
            el.className = el.className.replace(/active_inner/, "");
        else if( el.className.search( /last/  ) != -1 )
            el.className = el.className.replace(/active_last/,  "");
    }
}


function addActiveLine( id )
{
    if( document.getElementById( id ) )
    {
        var el = document.getElementById( id );
    
        if(      el.className.search( /active_first/ ) == -1 && el.className.search( /first/ ) != -1 )
            el.className += " active_first";
        else if( el.className.search( /active_inner/ ) == -1 && el.className.search( /inner/ ) != -1 )
            el.className += " active_inner";
        else if( el.className.search( /active_last/  ) == -1 && el.className.search( /last/  ) != -1 )
            el.className += " active_last";
    }
}