﻿




// variables for usage within the module
var lar_nav = new Array() ;
var l_last_top_level_name = ''; 


// create top level navigation entry

function nav_cr( nav_name, menu_name, page_url )
{
   var lar_new_entry = new Array();

   lar_new_entry.level        = 0;
   lar_new_entry.parent_name  = '';
   lar_new_entry.nav_name     = nav_name;
   lar_new_entry.menu_name    = menu_name;
   lar_new_entry.page_url     = page_url;

   lar_nav.push( lar_new_entry );
   l_last_top_level_name      = nav_name;
}


// create entry for sub navigation entry

function nav_cr_sub( nav_name, menu_name, page_url )
{
   var lar_new_entry = new Array();

   lar_new_entry.level        = 1;
   lar_new_entry.parent_name  = l_last_top_level_name;
   lar_new_entry.nav_name     = nav_name;
   lar_new_entry.menu_name    = menu_name;
   lar_new_entry.page_url     = page_url;

   lar_nav.push( lar_new_entry );
}

// create HTML for the menu

function nav_render()
{
   var lar_o               = new Array();
   var l_o                 = '';
//   var l_dom_div           = menu.document.getElementById( 'menu' );
   var l_dom_div           = document.getElementById( 'menu' );
   var l_last_level        = 0;
   var l_nav_name_last     = '';


   lar_o.push( '<table class="tl_menu">' );


   for( var i in lar_nav )
   {
      var lar_entry           = lar_nav[i];
      var l_level             = lar_entry['level'];
      var l_nav_name          = lar_entry['nav_name'];
      var l_div_id_0          = 'DIV_L0_' + l_nav_name;
      var l_div_id_1          = 'DIV_L1_' + l_nav_name;
      var l_div_id_s          = 'DIV_S_'  + l_nav_name_last;

      if( l_level == 0 )
      {
         if( l_last_level != 0 ) 
         {
            lar_o.push('</table></div></td></tr>');          
         }

         lar_o.push( '<tr><td><div id="' + l_div_id_0 + '" class="tl_menu">' );
         lar_o.push( '<a href="#" onClick="top.onClick_tl(\'' + l_nav_name + '\');">&#183;&nbsp;' + lar_entry['menu_name'] + '</a>');
         lar_o.push( '</div></td></tr>' );
      }
      else 
      {
         if( l_last_level == 0 ) 
         {
            lar_o.push( '<tr><td><div id="' + l_div_id_s + '" class="invisible"><table class="sub_menu">' );
         }

         lar_o.push( '<tr><td><div id="' + l_div_id_1 + '" class="sub_menu">' );
         lar_o.push( '<a href="#" onClick="top.onClick_sl(\'' + l_nav_name + '\');">&#721;&nbsp;' + lar_entry['menu_name'] + '</a>');
         lar_o.push( '</div></td></tr>' );
      }

      l_last_level     = l_level;
      l_nav_name_last  = l_nav_name;
   }

   if( l_last_level != 0 ) 
   {
      lar_o.push( '</table></div></td></tr>' );          
   }


   lar_o.push( '</table>' );


   // convert array into string and fill div 
   l_o = lar_o.join( ' ' );
   //alert( l_o );
   l_dom_div.innerHTML = l_o;
}


// navigate to the page with the symbolic name

function nav( nav_name )
{
   onClick_tl( nav_name );
}


function nav_make_submenue_visible( nav_name )
{
//   var lar_entry = null;

   for( var i in lar_nav )
   {
      var lar_entry           = lar_nav[i];
      var l_nav_name          = lar_entry['nav_name'];
      var l_div_id_s          = 'DIV_S_'  + l_nav_name;
      var l_dom_div           = document.getElementById( l_div_id_s );
    
      if( l_dom_div == null) continue;

      l_dom_div.className = ( l_nav_name == nav_name ) ? 'visible' : 'invisible';
   }
}


function nav_select_entry( nav_name )
{
//   var lar_entry = null;

   for( var i in lar_nav )
   {
      var lar_entry           = lar_nav[i];
      var l_nav_name          = lar_entry['nav_name'];
      var l_div_id_0          = 'DIV_L0_' + l_nav_name;
      var l_div_id_1          = 'DIV_L1_' + l_nav_name;
      var l_dom_div_0         = document.getElementById( l_div_id_0 );
      var l_dom_div_1         = document.getElementById( l_div_id_1 );
    
      if( l_dom_div_0 != null) 
      {
         l_dom_div_0.className = ( l_nav_name == nav_name ) ? 'tl_menu_selected' : 'tl_menu';
      }

      if( l_dom_div_1 != null) 
      {
         l_dom_div_1.className = ( l_nav_name == nav_name ) ? 'sub_menu_selected' : 'sub_menu';
      }


   }
}




// Handler when top level entry has been clicked

function onClick_tl( nav_name )
{
   var lar_entry = null;

   for( var i in lar_nav )
   {
      var llar_entry          = lar_nav[i];
      var l_nav_name          = llar_entry['nav_name'];

      if( l_nav_name == nav_name )
      {
         lar_entry = llar_entry;
         break;
      }
   }


   if( lar_entry != null)
   {         
      var l_div_id            = 'DIV_L0_' + nav_name;
      var l_div_id_s          = 'DIV_S_'  + nav_name;
      var l_url               = lar_entry['page_url'];

      if( (l_url != null) && (l_url != '') )
      {
         page.document.location.href = l_url;
      } 
   }

   nav_make_submenue_visible( nav_name );
   nav_select_entry( nav_name );
}


// Handler when sub level entry has been clicked

function onClick_sl( nav_name )
{
   var lar_entry = null;

   for( var i in lar_nav )
   {
      var llar_entry          = lar_nav[i];
      var l_nav_name          = llar_entry['nav_name'];

      if( l_nav_name == nav_name )
      {
         lar_entry = llar_entry;
         break;
      }
   }


   if( lar_entry != null)
   {         
      var l_div_id            = 'DIV_L1_' + nav_name;
      var l_url               = lar_entry['page_url'];

      if( (l_url != null) && (l_url != '') )
      {
         page.document.location.href = l_url;
      } 
   }

   nav_select_entry( nav_name );
}







