// ********************************************
// Variablen für den getElementById zur Ausgabe
// ********************************************

  var htmlForSubNavi;
  var htmlForMainNavi;


// *****************************
// Variablen zum Funktionsablauf
// *****************************

  var path2root        = "";
  var navpoint         = new Array ( );
  var arr_navi_navId   = new Array ( );
  var arr_navi_siteId  = new Array ( );
  var arr_navi_content = new Array ( );
  var arr_navi_path    = new Array ( );
  var arr_navi_father  = new Array ( );
  var arr_navi_toRoot  = new Array ( );



function fnc_buildNavi ( strPageindex )
  {
    htmlForSubNavi  = document.getElementById ( "js_subnavi" );
    htmlForMainNavi = document.getElementById ( "js_mainnavi" );

    path2root       = fnc_build_path2root ( );

    fnc_importNavpoints ( );

    tmp_navId       = fnc_getNaviIdBySiteId ( strPageindex );

    fnc_buildNavIdToRoot ( tmp_navId );

    if ( tmp_navId > 0 )
      {
        fnc_build_mainNavi ( tmp_navId );
/*
        if ( fnc_checkForSubnav ( arr_navi_toRoot[0] ) )
          {
            fnc_build_subNavi ( tmp_navId , 0 );
          }*/
      }
    else
      {
        alert ( "Error in navigation, see js-code function 'fnc_buildNavi()'." );
      }
  }


function fnc_build_path2root ( start )
  {
    var str_location = window.location.href;
    var arr_location = str_location.split ( "/" );
    var cnt_location = 0;
    var tmp_return   = "";

    if ( start != undefined )
      {
        for ( var i = ( arr_location.length - 1 ) ; i >= 0 ; i-- )
          {
            if ( arr_location[i] == start )
              {
                break;
              }
            else
              {
                cnt_location++;
              }
          }
      }
    else
      {
        for ( var i = 0 ; i < arr_location.length ; i++ )
          {
            if ( arr_location[i] != "" )
              {
                if ( ( arr_location[i] / 1 ) >= 0 )
                  {
                    cnt_location++;
                  }
              }
          }
      }


    // Relativen Pfad zum Root erzeugen
    for ( i = 0 ; i < cnt_location ; i++ )
      {
        tmp_return += "../";
      }


    return tmp_return;
  }


function fnc_importNavpoints ( )
  {
    var arr_navcontent = new Array;

    for ( var i = 0 ; i <= ( navpoint.length - 1 ) ; i++ )
      {
        arr_navcontent      = navpoint[i].split("°");

        arr_navi_navId[i]   = arr_navcontent[0];
        arr_navi_siteId[i]  = arr_navcontent[1];
        arr_navi_content[i] = arr_navcontent[2];
        arr_navi_path[i]    = arr_navcontent[3];
        arr_navi_father[i]  = arr_navcontent[4];
      }
  }


function fnc_getNaviIdBySiteId ( siteId )
  {
    var tmp_return = -1;

    for ( var i = 0 ; i <= ( arr_navi_siteId.length - 1 ) ; i++ )
      {
        if ( arr_navi_siteId[i] == siteId )
          {
            tmp_return = arr_navi_navId[i];

            break;
          }
      }

    return tmp_return;
  }


function fnc_buildNavIdToRoot ( currentNavId )
  {
    for ( var i = 0 ; i < arr_navi_navId.length ; i++ )
      {
        if ( arr_navi_navId[i] == currentNavId )
          {
            arr_navi_toRoot.unshift ( arr_navi_navId[i] );

            if ( arr_navi_father[i] == -1 )
              {
                break;
              }
            else
              {
                fnc_buildNavIdToRoot ( arr_navi_father[i] );
              }
          }
      }
  }


function fnc_checkForSubnav ( currentNavId )
  {
    var tmp_return = false;

    for ( var i = 0 ; i < arr_navi_father.length ; i++ )
      {
        if ( arr_navi_father[i] == currentNavId )
          {
            tmp_return = true;

            break;
          }
      }

    return tmp_return;
  }


function fnc_build_mainNavi ( currentNavId )
  {
    var tmp_mainNav    = "";
    var tmp_entryClass;

    tmp_mainNav        = '<table width="100%" border="0" cellpadding="0" cellspacing="0">';

    for ( var i = 0 ; i < arr_navi_father.length ; i++ )
      {
        if ( arr_navi_father[i] == -1 )
        {
            var tmp_hasSubNav = fnc_checkForSubnav(arr_navi_navId[i]);
            var tmp_selected  = arr_navi_toRoot[0] == arr_navi_navId[i];
            if ( tmp_selected )
            {
              if (tmp_hasSubNav)
                tmp_entryClass = "menu_selected_opened";
              else
                tmp_entryClass = "menu_selected";
            }
            else
            {
              tmp_entryClass = "menu_normal";
            }


            tmp_mainNav += '<tr><td class="' + tmp_entryClass + '_top" /></td></tr>';

            tmp_mainNav += '<tr>';
            tmp_mainNav += '<td class="' + tmp_entryClass + '_mid">';

            tmp_mainNav += '<a class="'+tmp_entryClass+'" href="' + path2root + arr_navi_path[i] + '?ts='+(new Date()).getTime()+'" target="_self" class="mainnav">' + arr_navi_content[i] + '</a>';

            tmp_mainNav += '</td>';
            tmp_mainNav += '</tr>';

            tmp_mainNav += '<tr><td class="' + tmp_entryClass + '_bottom" /></td></tr>';

            if (tmp_selected && tmp_hasSubNav)
            {
                tmp_mainNav += fnc_build_subNaviEntry( tmp_navId, 0 );
                tmp_mainNav += '<tr><td class="menu_end" /></tr>';
            }
        }
      }

    tmp_mainNav += '</table>';

    htmlForMainNavi.innerHTML = tmp_mainNav;
  }


function fnc_build_subNavi ( currentNavId , level )
  {
    var tmp_subNav     = "";

    tmp_subNav         = '<table width="100" border="0" cellpadding="0" cellspacing="0">';
    tmp_subNav        += fnc_build_subNaviEntry ( currentNavId , level );
    tmp_subNav        += '</table>';

    htmlForSubNavi.innerHTML = tmp_subNav;
  }


function fnc_build_subNaviEntry ( currentNavId , level )
  {
    var tmp_return     = "";
    //var tmp_entryClass;
    //var tmp_entryKeys;

    for ( var i = 0 ; i < arr_navi_father.length ; i++ )
      {
        if ( arr_navi_father[i] == arr_navi_toRoot[level] )
        {

          var tmp_selected   = arr_navi_toRoot.length>level+1 && arr_navi_navId[i]==arr_navi_toRoot[level+1];

          tmp_return += '<tr><td class="menu_normal_sub'+(level+1)+'">';
          tmp_return += '<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="top" width="9">';
          var unselected = '';
          if (!tmp_selected)
            unselected = '_unselected';
          tmp_return += '<span class="menu_point'+unselected+'"><img src="'+path2root+'media/global/t.gif"></span>';
          tmp_return += '</td><td>';
          tmp_return += '<a href="' + path2root + arr_navi_path[i] + '?ts='+(new Date()).getTime()+'" class="menu_normal_sub">'+
                        arr_navi_content[i] +
                        '</a></td></tr></table></td></tr>';
          if (tmp_selected)
          {
            tmp_return += fnc_build_subNaviEntry(currentNavId,level+1);
          }
        }
      }

    return tmp_return;
  }
