// Javascripts zur Definition des dynamischen Verhaltens der Seiten einer Site
//
//  Copyright Heiner Kuhlmann : hkuhlmann@dr-kuhlmann.com
//  The software is licensed under the GNU Library General Public License.
//
// $Id: active_page.js,v 1.17 2004/05/14 10:14:11 firma Exp $
//

// Netscape 4.x führt bei einigen Programmen zu Problemen
// Hinweis:

function NE4_not_supported ( name ) {
   alert ( name + " kann nicht mit Netscape 4.x dargestellt werden. " +
           "Verwenden Sie bitte einen anderen Browser wie NE 6+, Mozilla oder IE." );
}; // NE4_not_supported 

// Nicht zu früh reagieren:

window.buttons_loaded = false;

// globale Variable

  moveinimages          = null;
  moveoutimages         = null;
  nav_button            = null;
  tree_button           = null;
  verttree_button       = null;
  vertscrolldown_button = null;
  vertscrollup_button   = null;

// nicht setzen, weil sie sonst überschrieben werden.
// automatisch gilt default:
// window.top.is_not_following            = false;
// window.top.navigation_bar_is_defined   = false;
// window.top.navigation_bar_is_not_shown = false;

 window.top.navigation_bar_is_defined   = false;
 window.top.navigation_bar_is_not_shown = false;

// Laden der Button Bilder und Definition der Button Container

function preload_buttons ( path, the_bar ) {

   if ( document.images['contact']                       || document.images['lowercontact']             ||
        Dynamic_Locate_Image ( the_bar, 'vertcontact' )  || Dynamic_Locate_Image ( the_bar, 'contact' )    )
      button_mail   = new Dynamic_Image_Container ( path + 'button_mail_up.gif',
                                                    path + 'button_mail_down.gif',
                                                    path + 'button_mail_inact.gif',
                                                    path + 'button_mail_flat.gif' );

   if ( document.images['info']                  || document.images['lowerinfo']                 ||
        Dynamic_Locate_Image ( the_bar, 'info' ) || Dynamic_Locate_Image ( the_bar, 'vertinfo' )    )
      button_info   = new Dynamic_Image_Container ( path + 'button_info_up.gif',
                                                    path + 'button_info_down.gif',
                                                    path + 'button_info_inact.gif',
                                                    path + 'button_info_flat.gif' );

//   button_good   = new Dynamic_Image_Container ( path + 'button_good_up.gif',
//                                                 path + 'button_good_down.gif',
//                                                 path + 'button_good_inact.gif',
//                                                 path + 'button_good_flat.gif');

   if ( document.images['tohome']                  || document.images['lowertohome']                 ||
        Dynamic_Locate_Image ( the_bar, 'tohome' ) || Dynamic_Locate_Image ( the_bar, 'verttohome' )    )
      button_home   = new Dynamic_Image_Container ( path + 'button_home_up.gif',
                                                    path + 'button_home_down.gif',
                                                    path + 'button_home_inact.gif',
                                                    path + 'button_home_flat.gif' );

   if ( document.images['next']                  || document.images['lowernext']                 ||
        Dynamic_Locate_Image ( the_bar, 'next' ) || Dynamic_Locate_Image ( the_bar, 'vertnext' )    )
      button_next   = new Dynamic_Image_Container ( path + 'button_next_up.gif',
                                                    path + 'button_next_down.gif',
                                                    path + 'button_next_inact.gif',
                                                    path + 'button_next_flat.gif'  );

   if ( document.images['offer']                  || document.images['loweroffer']                 ||
        Dynamic_Locate_Image ( the_bar, 'offer' ) || Dynamic_Locate_Image ( the_bar, 'vertoffer' )    )
      button_excla  = new Dynamic_Image_Container ( path + 'button_excla_up.gif',
                                                    path + 'button_excla_down.gif',
                                                    path + 'button_excla_inact.gif',
                                                    path + 'button_excla_flat.gif'  );

   if ( document.images['lowertop'] || Dynamic_Locate_Image ( the_bar, 'verttop' ) )
      button_top    = new Dynamic_Image_Container ( path + 'button_top_up.gif',
                                                    path + 'button_top_down.gif',
                                                    path + 'button_top_inact.gif',
                                                    path + 'button_top_flat.gif' );

   if ( document.images['up']                  || document.images['lowerup']                 ||
        Dynamic_Locate_Image ( the_bar, 'up' ) || Dynamic_Locate_Image ( the_bar, 'vertup' )    )
      button_up     = new Dynamic_Image_Container ( path + 'button_higher_up.gif',
                                                    path + 'button_higher_down.gif',
                                                    path + 'button_higher_inact.gif',
                                                    path + 'button_higher_flat.gif' );

   if ( Dynamic_Locate_Image ( the_bar, 'vertscrollup' ) )
      button_scrollup = new Dynamic_Image_Container ( path + 'button_move_up_up.gif',
                                                      path + 'button_move_up_down.gif',
                                                      path + 'button_move_up_inact.gif',
                                                      path + 'button_move_up_flat.gif' );

   if ( Dynamic_Locate_Image ( the_bar, 'vertscrolldown' ) )
      button_scrolldown = new Dynamic_Image_Container ( path + 'button_move_down_up.gif',
                                                        path + 'button_move_down_down.gif',
                                                        path + 'button_move_down_inact.gif',
                                                        path + 'button_move_down_flat.gif' );

   if ( Dynamic_Locate_Image ( the_bar, 'treetopopenall' ) )
      button_openall = new Dynamic_Image_Container ( path + 'button_folder_open_up.gif',
                                                     path + 'button_folder_open_down.gif',
                                                     path + 'button_folder_open_inact.gif',
                                                     path + 'button_folder_open_flat.gif' );

   if ( Dynamic_Locate_Image ( the_bar, 'treetopcloseall' ) )
      button_closeall = new Dynamic_Image_Container ( path + 'button_folder_close_up.gif',
                                                      path + 'button_folder_close_down.gif',
                                                      path + 'button_folder_close_inact.gif',
                                                      path + 'button_folder_close_flat.gif' );

   if ( document.images['prev']                  || document.images['lowerprev']                 ||
        Dynamic_Locate_Image ( the_bar, 'prev' ) || Dynamic_Locate_Image ( the_bar, 'vertprev' )    )
      button_prev   = new Dynamic_Image_Container ( path + 'button_prev_up.gif',
                                                    path + 'button_prev_down.gif',
                                                    path + 'button_prev_inact.gif',
                                                    path + 'button_prev_flat.gif'  );

   if ( document.images['reshow']                  || document.images['lowerreshow']                 ||
        Dynamic_Locate_Image ( the_bar, 'reshow' ) || Dynamic_Locate_Image ( the_bar, 'vertreshow' )    )
      button_reshow = new Dynamic_Image_Container ( path + 'button_same_up.gif',
                                                    path + 'button_same_down.gif',
                                                    path + 'button_same_inact.gif',
                                                    path + 'button_same_flat.gif'  );

   if ( document.images['back']                  || document.images['lowerback']                 ||
        Dynamic_Locate_Image ( the_bar, 'back' ) || Dynamic_Locate_Image ( the_bar, 'vertback' )    )
      button_back   = new Dynamic_Image_Container ( path + 'button_back_up.gif',
                                                    path + 'button_back_down.gif',
                                                    path + 'button_back_inact.gif',
                                                    path + 'button_back_flat.gif'  );

   if ( document.images['reload']                  || document.images['lowerreload']                 ||
        Dynamic_Locate_Image ( the_bar, 'reload' ) || Dynamic_Locate_Image ( the_bar, 'vertreload' )    )
      button_reload = new Dynamic_Image_Container ( path + 'button_reload_up.gif',
                                                    path + 'button_reload_down.gif',
                                                    path + 'button_reload_inact.gif',
                                                    path + 'button_reload_flat.gif'  );

   if ( document.images['forw']                  || document.images['lowerforw']                 ||
        Dynamic_Locate_Image ( the_bar, 'forw' ) || Dynamic_Locate_Image ( the_bar, 'vertforw' )    )
      button_forw   = new Dynamic_Image_Container ( path + 'button_forw_up.gif',
                                                    path + 'button_forw_down.gif',
                                                    path + 'button_forw_inact.gif',
                                                    path + 'button_forw_flat.gif'  );
   if ( document.images['logoimg'] )  { // || Dynamic_Locate_Image ( the_bar, 'logoimg' ) )
      button_logo   = new Dynamic_Image_Container  ( path + 'logo_up.gif',
                                                     path + 'logo_down.gif',
                                                     path + 'logo_flat.gif',
                                                     path + 'logo_flat.gif');
   };

   if ( document.images['tree']                  || document.images['lowertree']                 ||
        Dynamic_Locate_Image ( the_bar, 'tree' ) || Dynamic_Locate_Image ( the_bar, 'verttree' )    ) {
      button_tree   = new Dynamic_Image_Container ( path + 'button_tree_up.gif',
                                                    path + 'button_tree_down.gif',
                                                    path + 'button_tree_inact.gif',
                                                    path + 'button_tree_flat.gif');

      button_notree = new Dynamic_Image_Container ( path + 'button_notree_up.gif',
                                                    path + 'button_notree_down.gif',
                                                    path + 'button_notree_inact.gif',
                                                    path + 'button_notree_flat.gif');
   };

   if ( document.images['print']                  || document.images['lowerprint']                 ||
        Dynamic_Locate_Image ( the_bar, 'print' ) || Dynamic_Locate_Image ( the_bar, 'vertprint' )    )
      button_print = new Dynamic_Image_Container ( path + 'button_print_up.gif',
                                                   path + 'button_print_down.gif',
                                                   path + 'button_print_inact.gif',
                                                   path + 'button_print_flat.gif');

   if ( document.images['helpb']                  || document.images['lowerhelpb']                 ||
        Dynamic_Locate_Image ( the_bar, 'help' )  || Dynamic_Locate_Image ( the_bar, 'verthelpb' )    )
      button_help = new Dynamic_Image_Container ( path + 'button_help_up.gif',
                                                  path + 'button_help_down.gif',
                                                  path + 'button_help_inact.gif',
                                                  path + 'button_help_flat.gif');

   if ( document.images['course']                   || document.images['lowercourse']                 ||
        Dynamic_Locate_Image ( the_bar, 'course' )  || Dynamic_Locate_Image ( the_bar, 'vertcourse' )    )
      button_course = new Dynamic_Image_Container ( path + 'button_course_up.gif',
                                                    path + 'button_course_down.gif',
                                                    path + 'button_course_inact.gif',
                                                    path + 'button_course_flat.gif');

   if ( document.images['clockb']                  || document.images['lowerclockb']                 ||
        Dynamic_Locate_Image ( the_bar, 'clock' )  || Dynamic_Locate_Image ( the_bar, 'vertclockb' )    ) {
      button_noclock = new Dynamic_Image_Container ( path + 'button_clock_up.gif',
                                                     path + 'button_clock_down.gif',
                                                     path + 'button_clock_inact.gif',
                                                     path + 'button_clock_flat.gif');

      button_clock = new Dynamic_Image_Container ( path + 'button_clock_off_up.gif',
                                                   path + 'button_clock_off_down.gif',
                                                   path + 'button_clock_off_inact.gif',
                                                   path + 'button_clock_off_flat.gif');
   };

   if ( document.images['animationbutton']                   || document.images['loweranimationbutton']                 ||
        Dynamic_Locate_Image ( the_bar, 'animationbutton' )  || Dynamic_Locate_Image ( the_bar, 'vertanimationbutton' )    )
      button_animation = new Dynamic_Image_Container ( path + '../button_animation_up.gif',
                                                       path + '../button_animation_down.gif',
                                                       path + '../button_animation_inact.gif',
                                                       path + '../button_animation_flat.gif');

   preload_animation ( path );

}; // prelod_buttons

function preload_animation () {
   // dummy will be redefined by the animation script
}; // preload_animation

// Init layers and buttons

function init_page ( default_status_text, path, comment_path, start_at_left ) {

   if ( layer_object('navigationbar', null) ) {
         if ( start_at_left ) {
            navigation_bar = new Dynamic_Following_Move_In_Out_Layer ( 'navigationbar', null, 20, -1500, 800, 0 )
            navigation_bar.clip ( 0, 0, 1500, 24 );
            navigation_bar.go_to ( -1500, 0 );
            preload_buttons ( path, navigation_bar );
            init_navigation_bar ( path, navigation_bar, false );
         } else {
            navigation_bar = new Dynamic_Following_Move_In_Out_Layer ( 'navigationbar', null, 20, 500, 800, 0 )
            navigation_bar.clip ( 0, 0, 1500, 24 );
            navigation_bar.go_to ( -500, 0 );
            preload_buttons ( path, navigation_bar );
            init_navigation_bar ( path, navigation_bar, true );
         };
         init_clock ( path, navigation_bar );
   } else if ( layer_object('follower', null) ) {
      follow    = new Dynamic_Following_Y_Layer ( 'follower', null, 8, 20 );
      if ( browser_is.NS4 ) follow.clip ( 0, 0, 30, 800 ); else follow.clip ( 0, 0, 300, 800 );
      follow.moving.y.init = -300;
      follow.moving.x.init = 0;

      preload_buttons ( path, follow );
      init_navigation_bar ( path, follow, false );

//    pinimages    = new Dynamic_Image_Container ( path + 'button_pin_up.gif',
//                                                 path + 'button_pin_down.gif',
//                                                 path + 'button_pin_inact.gif',
//                                                 path + 'button_pin_flat.gif' );
//
//    pinnedimages = new Dynamic_Image_Container ( path + 'button_pinned_up.gif',
//                                                 path + 'button_pinned_down.gif',
//                                                 path + 'button_pinned_inact.gif',
//                                                 path + 'button_pinned_flat.gif' );
//
//    pin_button = new Dynamic_On_Off_Button ( follow, 'pinbutton', pinimages, pinnedimages );
//    if ( window.top.is_not_following ) pin_button.off()
//    else                               pin_button.on();
//    pin_button.flat();
//    pin_button.activate();

      init_vertical_navigation_bar ( follow, comment_path );

      if ( window.top.is_not_following ) {
         follow.move();
         follow.scrolled.onchange();
         follow.scrolled.unwatch();
      } else {
         follow.follow();
      };
      init_clock ( path, null );
   } else {
      navigation_bar = null;
      preload_buttons ( path, navigation_bar );
      init_clock ( path, null );
   };
   init_layers ();

   if ( layer_object('navigationcontrol', null) ) {
         if ( ! moveinimages )
            moveinimages  = new Dynamic_Image_Container ( path + 'button_move_in_up.gif',
                                                          path + 'button_move_in_down.gif',
                                                          path + 'button_move_in_inact.gif',
                                                          path + 'button_move_in_flat.gif' );

         if ( ! moveoutimages )
            moveoutimages = new Dynamic_Image_Container ( path + 'button_move_out_up.gif',
                                                          path + 'button_move_out_down.gif',
                                                          path + 'button_move_out_inact.gif',
                                                          path + 'button_move_out_flat.gif' );

         navigation_control_layer = new Dynamic_Layer ( 'navigationcontrol', null );
         navigation_control_layer.clip ( 0, 0, 22, 22 )
         nav_button = new Dynamic_On_Off_Button ( navigation_control_layer, 'navbutton', moveinimages, moveoutimages );
         nav_button.on();
         nav_button.flat();
   };
   if ( window.top.navigation_bar_is_defined ) {
      if ( window.top.navigation_bar_is_not_shown ) {
         navigation_bar.move_out();
         nav_button.on();
         nav_button.flat();
      } else {
         navigation_bar.move_in();
         nav_button.off();
         nav_button.flat();
      };
      if ( navigation_bar.follow ) navigation_bar.follow();
// } else {
//   setTimeout ("auto_toggle_navigation()", 1000);
   };

   if ( layer_object('animation', null) ) {
      insert_animation( null );
   };

   if (window.logo_button) logo_button.flat();
   if (window.tree_button) tree_button.deactivate();

   window.buttons_loaded = true;

   if ( browser_is.ns ) window.onresize = reload_window;

   set_default_status ( default_status_text );

}; // init_page

function init_layers () {

   if ( document.images['logoimg'] )
      logo_button          = new Dynamic_Flat_Button   ( null, 'logoimg',     button_logo );
   if ( document.images['helpb'] )
      help_button          = new Dynamic_Active_Button ( null, 'helpb',       button_help );
   if ( document.images['course'] )
      course_button          = new Dynamic_Active_Button ( null, 'course',      button_course );
   if ( document.images['clockb'] )
      clock_button         = new Dynamic_On_Off_Button ( null, 'clockb',      button_clock, button_noclock );
   if ( document.images['info'] )
      info_button          = new Dynamic_Active_Button ( null, 'info',        button_info );
   if ( document.images['contact'] )
      contact_button       = new Dynamic_Active_Button ( null, 'contact',     button_mail );
   if ( document.images['tohome'] )
      home_button          = new Dynamic_Active_Button ( null, 'tohome',      button_home );
   if ( document.images['offer'] )
      offer_button         = new Dynamic_Active_Button ( null, 'offer',       button_excla );
   if ( document.images['next'] )
      next_button          = new Dynamic_Active_Button ( null, 'next',        button_next );
   if ( document.images['up'] )
      up_button            = new Dynamic_Active_Button ( null, 'up',          button_up   );
   if ( document.images['prev'] )
      prev_button          = new Dynamic_Active_Button ( null, 'prev',        button_prev );
   if ( document.images['tree'] )
      tree_button          = new Dynamic_On_Off_Button ( null, 'tree',        button_tree, button_notree );
   if ( document.images['reshow'] )
      reshow_button        = new Dynamic_Active_Button ( null, 'reshow',      button_reshow );
   if ( document.images['back'] )
      back_button          = new Dynamic_Active_Button ( null, 'back',        button_back );
   if ( document.images['reload'] )
      reload_button        = new Dynamic_Active_Button ( null, 'reload',      button_reload );
   if ( document.images['forw'] )
      forw_button          = new Dynamic_Active_Button ( null, 'forw',        button_forw );
   if ( document.images['print'] )
      print_button         = new Dynamic_Active_Button ( null, 'print',       button_print );
   if ( document.images['animationbutton'] )
      animation_button     = new Dynamic_Active_Button ( null, 'animationbutton',   button_animation );

   if ( document.images['lowerhelpb'] )
      lowerhelp_button          = new Dynamic_Active_Button ( null, 'lowerhelpb',       button_help );
   if ( document.images['lowercourse'] )
      lowercourse_button        = new Dynamic_Active_Button ( null, 'lowercourse',      button_course );
   if ( document.images['lowerclockb'] )
      lowerclock_button         = new Dynamic_On_Off_Button ( null, 'lowerclockb',      button_clock, button_noclock );
   if ( document.images['lowerinfo'] )
      lowerinfo_button          = new Dynamic_Active_Button ( null, 'lowerinfo',        button_info );
   if ( document.images['lowercontact'] )
      lowercontact_button       = new Dynamic_Active_Button ( null, 'lowercontact',     button_mail );
   if ( document.images['lowertohome'] )
      lowerhome_button          = new Dynamic_Active_Button ( null, 'lowertohome',      button_home );
   if ( document.images['loweroffer'] )
      loweroffer_button         = new Dynamic_Active_Button ( null, 'loweroffer',       button_excla );
   if ( document.images['lowernext'] )
      lowernext_button          = new Dynamic_Active_Button ( null, 'lowernext',        button_next );
   if ( document.images['lowerup'] )
      lowerup_button            = new Dynamic_Active_Button ( null, 'lowerup',          button_up   );
   if ( document.images['lowerprev'] )
      lowerprev_button          = new Dynamic_Active_Button ( null, 'lowerprev',        button_prev );
   if ( document.images['lowertree'] )
      lowertree_button          = new Dynamic_On_Off_Button ( null, 'lowertree',        button_tree, button_notree );
   if ( document.images['lowerreshow'] )
      lowerreshow_button        = new Dynamic_Active_Button ( null, 'lowerreshow',      button_reshow );
   if ( document.images['lowerback'] )
      lowerback_button          = new Dynamic_Active_Button ( null, 'lowerback',        button_back );
   if ( document.images['lowerreload'] )
      lowerreload_button        = new Dynamic_Active_Button ( null, 'lowerreload',      button_reload );
   if ( document.images['lowerforw'] )
      lowerforw_button          = new Dynamic_Active_Button ( null, 'lowerforw',        button_forw );
   if ( document.images['lowerprint'] )
      lowerprint_button         = new Dynamic_Active_Button ( null, 'lowerprint',       button_print );
   if ( document.images['lowertop'] )
      lowertop_button           = new Dynamic_Active_Button ( null, 'lowertop',         button_top );
   if ( document.images['loweranimationbutton'] )
      loweranimation_button     = new Dynamic_Active_Button ( null, 'loweranimationbutton',   button_animation );

}; // init_layers

function init_clock ( path, the_bar ) {

   var actual_layer = null;
   if ( the_bar ) {
      actual_layer = the_bar;
   } else if ( layer_object('clock', null) ) {
      clock_container = new Dynamic_Movable_Layer ( 'clock', null );
      if ( browser_is.NS4 ) clock_container.go_to ( DHTML_Window_Width() - 100, 0 );
      actual_layer = clock_container;
   };
   if ( actual_layer ) {
      if ( Dynamic_Locate_Image ( actual_layer, 'clocktenhours'   ) &&
         Dynamic_Locate_Image ( actual_layer, 'clockhours'      ) &&
         Dynamic_Locate_Image ( actual_layer, 'clockcolon'      ) &&
         Dynamic_Locate_Image ( actual_layer, 'clocktenminutes' ) &&
         Dynamic_Locate_Image ( actual_layer, 'clockminutes' )       ) {
         numberimages = new Dynamic_Image_Container ( path + 'number_0.gif',
                                                      path + 'number_1.gif',
                                                      path + 'number_2.gif',
                                                      path + 'number_3.gif',
                                                      path + 'number_4.gif',
                                                      path + 'number_5.gif',
                                                      path + 'number_6.gif',
                                                      path + 'number_7.gif',
                                                      path + 'number_8.gif',
                                                      path + 'number_9.gif'
                                                    );

         colonimages  = new Dynamic_Image_Container ( path + 'number_empty.gif',
                                                      path + 'number_colon.gif',
                                                      path + 'number_colon_red.gif'
                                                    );
         the_clock = new Dynamic_Clock ( actual_layer,
                                         'clocktenhours', 'clockhours', 'clocktenminutes', 'clockminutes', 'clockcolon',
                                         numberimages, colonimages
                                       );
      };
   };

}; // init_clock

function init_navigation_bar ( path, the_bar, start_at_in ) {

   if ( Dynamic_Locate_Image ( the_bar, 'navbutton' ) ) {
         if ( ! moveinimages )
            moveinimages  = new Dynamic_Image_Container ( path + 'button_move_in_up.gif',
                                                          path + 'button_move_in_down.gif',
                                                          path + 'button_move_in_inact.gif',
                                                          path + 'button_move_in_flat.gif' );

         if ( ! moveoutimages )
            moveoutimages = new Dynamic_Image_Container ( path + 'button_move_out_up.gif',
                                                          path + 'button_move_out_down.gif',
                                                          path + 'button_move_out_inact.gif',
                                                          path + 'button_move_out_flat.gif' );

         if ( start_at_in ) 
            nav_button = new Dynamic_On_Off_Button ( the_bar, 'navbutton', moveoutimages, moveinimages );
         else
            nav_button = new Dynamic_On_Off_Button ( the_bar, 'navbutton', moveinimages, moveoutimages );
         nav_button.on();
         nav_button.flat();
   };
   if ( Dynamic_Locate_Image ( the_bar, 'logoimg' ) )
      logo_button          = new Dynamic_Flat_Button   ( the_bar, 'logoimg',     button_logo );
   if ( Dynamic_Locate_Image ( the_bar, 'helpb' ) )
      help_button          = new Dynamic_Active_Button ( the_bar, 'helpb',       button_help );
   if ( Dynamic_Locate_Image ( the_bar, 'course' ) )
      course_button        = new Dynamic_Active_Button ( the_bar, 'course',       button_course );
   if ( Dynamic_Locate_Image ( the_bar, 'clockb' ) )
      clock_button         = new Dynamic_On_Off_Button ( the_bar, 'clockb',      button_clock, button_noclock );
   if ( Dynamic_Locate_Image ( the_bar, 'info' ) )
      info_button          = new Dynamic_Active_Button ( the_bar, 'info',        button_info );
   if ( Dynamic_Locate_Image ( the_bar, 'contact' ) )
      contact_button       = new Dynamic_Active_Button ( the_bar, 'contact',     button_mail );
   if ( Dynamic_Locate_Image ( the_bar, 'tohome' ) )
      home_button          = new Dynamic_Active_Button ( the_bar, 'tohome',      button_home );
   if ( Dynamic_Locate_Image ( the_bar, 'offer' ) )
      offer_button         = new Dynamic_Active_Button ( the_bar, 'offer',       button_excla );
   if ( Dynamic_Locate_Image ( the_bar, 'next' ) )
      next_button          = new Dynamic_Active_Button ( the_bar, 'next',        button_next );
   if ( Dynamic_Locate_Image ( the_bar, 'up' ) )
      up_button            = new Dynamic_Active_Button ( the_bar, 'up',          button_up   );
   if ( Dynamic_Locate_Image ( the_bar, 'prev' ) )
      prev_button          = new Dynamic_Active_Button ( the_bar, 'prev',        button_prev );
   if ( Dynamic_Locate_Image ( the_bar, 'tree' ) )
      tree_button          = new Dynamic_On_Off_Button ( the_bar, 'tree',        button_tree, button_notree );
   if ( Dynamic_Locate_Image ( the_bar, 'reshow' ) )
      reshow_button        = new Dynamic_Active_Button ( the_bar, 'reshow',      button_reshow );
   if ( Dynamic_Locate_Image ( the_bar, 'back' ) )
      back_button          = new Dynamic_Active_Button ( the_bar, 'back',        button_back );
   if ( Dynamic_Locate_Image ( the_bar, 'reload' ) )
      reload_button        = new Dynamic_Active_Button ( the_bar, 'reload',      button_reload );
   if ( Dynamic_Locate_Image ( the_bar, 'forw' ) )
      forw_button          = new Dynamic_Active_Button ( the_bar, 'forw',        button_forw );
   if ( Dynamic_Locate_Image ( the_bar, 'print' ) )
      print_button         = new Dynamic_Active_Button ( the_bar, 'print',       button_print );
   if ( Dynamic_Locate_Image ( the_bar, 'animationbutton' ) )
      animation_button     = new Dynamic_Active_Button ( the_bar, 'animationbutton',       button_animation );

}; // init_navigation_bar

function Dynamic_Following_OP_Show_Comment () {
   if ( this.is_active ) {
      this.comment.show ();
      this.comment.follow.clip ( 0, 0, 300, 800 );
   };
}; // Dynamic_Following_OP_Show_Comment

function Dynamic_Following_OP_Hide_Comment () {
   this.comment.hide ();
   this.comment.follow.clip ( 0, 0, 30, 800 );
}; // Dynamic_Following_OP_Hide_Comment

function Floating_Active_Flat_Comment_Button ( the_bar, name, button, comment ) {
   this.SUPER = Dynamic_Active_Flat_Comment_Button;
   this.SUPER   ( the_bar, name, button, comment );

   if ( browser_is.NS4 || browser_is.IE4 ) {
      this.show_comment = Dynamic_Following_OP_Show_Comment;
      this.hide_comment = Dynamic_Following_OP_Hide_Comment;
      this.comment.follow = the_bar;
      this.hide_comment ();
   };

}; // Floating_Active_Flat_Comment_Button

function Floating_Active_Flat_Comment_On_Off_Button ( the_bar, name, button_on, button_off, comment ) {
   this.SUPER = Dynamic_On_Off_Comment_Button;
   this.SUPER   ( the_bar, name, button_on, button_off, comment );

   if ( browser_is.NS4 || browser_is.IE4 ) {
      this.show_comment = Dynamic_Following_OP_Show_Comment;
      this.hide_comment = Dynamic_Following_OP_Hide_Comment;
      this.comment.follow = the_bar;
      this.hide_comment ();
   };

}; // Floating_Active_Flat_Comment_On_Off_Button

function init_vertical_navigation_bar ( the_bar, comment_path ) {

   var inx = 25;

   if ( Dynamic_Locate_Image ( the_bar, 'verthelpb' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'verthelpbcomment' ) )
         verthelp_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'verthelpb', button_help, 'verthelpbcomment' );
      else
         verthelp_button = new Dynamic_Active_Flat_Button ( the_bar, 'verthelpb', button_help );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertcourse' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertcoursecomment' ) )
         vertcourse_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertcourse', button_course, 'vertcoursecomment' );
      else
         vertcourse_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertcourse', button_course );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertclockb' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertclockbcomment' ) )
         vertclock_button = new Floating_Active_Flat_Comment_On_Off_Button ( the_bar, 'vertclockb', button_clock, button_noclock, 'vertclockbcomment' );
      else
         vertclock_button = new Dynamic_On_Off_Button ( the_bar, 'vertclockb', button_clock, button_noclock );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertinfo' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertinfocomment' ) )
         vertinfo_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertinfo', button_info, 'vertinfocomment' );
      else
         vertinfo_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertinfo', button_info );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertcontact' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertcontactcomment' ) )
         vertcontact_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertcontact', button_mail, 'vertcontactcomment' );
      else
         vertcontact_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertcontact', button_mail );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'verttohome' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'verttohomecomment' ) )
         verthome_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'verttohome', button_home, 'verttohomecomment' );
      else
         verthome_button = new Dynamic_Active_Flat_Button ( the_bar, 'verttohome', button_home );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertoffer' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertoffercomment' ) )
         vertoffer_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertoffer', button_excla, 'vertoffercomment' );
      else
         vertoffer_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertoffer', button_excla );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertnext' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertnextcomment' ) )
         vertnext_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertnext', button_next, 'vertnextcomment' );
      else
         vertnext_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertnext', button_next );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertup' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertupcomment' ) )
         vertup_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertup', button_up, 'vertupcomment' );
      else
         vertup_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertup', button_up   );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertprev' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertprevcomment' ) )
         vertprev_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertprev', button_prev, 'vertprevcomment' );
      else
         vertprev_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertprev', button_prev );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'verttree' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'verttreecomment' ) ) {
         verttree_button = new Floating_Active_Flat_Comment_On_Off_Button ( the_bar, 'verttree', button_tree, button_notree, 'verttreecomment' );
      } else
         verttree_button = new Dynamic_On_Off_Button ( the_bar, 'verttree', button_tree, button_notree );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertreshow' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertreshowcomment' ) )
         vertreshow_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertreshow', button_reshow, 'vertreshowcomment' );
      else
         vertreshow_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertreshow', button_reshow );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertback' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertbackcomment' ) )
         vertback_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertback', button_back, 'vertbackcomment' );
      else
         vertback_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertback', button_back );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertreload' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertreloadcomment' ) )
         vertreload_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertreload', button_reload, 'vertreloadcomment' );
      else
         vertreload_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertreload', button_reload );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertforw' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertforwcomment' ) )
         vertforw_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertforw', button_forw, 'vertforwcomment' );
      else
         vertforw_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertforw', button_forw );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertprint' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertprintcomment' ) )
         vertprint_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertprint', button_, 'vertprintcomment' );
      else
         vertprint_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertprint', button_print );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'verttop' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'verttopcomment' ) )
         verttop_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'verttop', button_top, 'verttopcomment' );
      else
         verttop_button = new Dynamic_Active_Flat_Button ( the_bar, 'verttop', button_top );
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertscrolldown' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertscrolldowncomment' ) )
         vertscrolldown_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertscrolldown', button_scrolldown, 'vertscrolldowncomment' );
      else
         vertscrolldown_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertscrolldown',  button_scrolldown );
      vertscrolldown_button.deactivate();
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertscrollup' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertscrollupcomment' ) )
         vertscrollup_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertscrollup', button_scrollup, 'vertscrollupcomment' );
      else
         vertscrollup_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertscrollup', button_scrollup );
      vertscrollup_button.deactivate();
   };

   if ( Dynamic_Locate_Image ( the_bar, 'vertanimationbutton' ) ) {
      if ( Dynamic_Locate_Layer ( the_bar, 'vertanimationbuttoncomment' ) )
         vertanimation_button = new Floating_Active_Flat_Comment_Button ( the_bar, 'vertanimationbutton', button_animation, 'vertanimationbuttoncomment' );
      else
         vertanimation_button = new Dynamic_Active_Flat_Button ( the_bar, 'vertanimationbutton', button_animation );
   };

   if (window.verttree_button) verttree_button.deactivate();

}; // init_vertical_navigation_bar

function try_to_activate_tree_button() {
   if ( window.tree_button ) {
      if ( window.top.treeframe ) window.tree_button.off();
      else tree_button.on();
      if ( browser_is.min ) window.tree_button.activate();
   };

   if ( window.verttree_button ) {
      if ( window.top.treeframe ) window.verttree_button.off();
      else verttree_button.on();
//    if ( browser_is.min ) window.verttree_button.activate();
      window.verttree_button.flat();
   };
}; // try_to_activate_tree_button

function may_view_tree_in_window (button, url, root, width) {
   if ( button.is_active ) view_tree_in_window (url, root, width, button.is_on);
}; // may_view_tree_in_window

function do_nothing () {

}; // do_nothing

function insert_actual_url ( path ) {

   document.write ( '<img width="22" height="22" src="' + path + 'icons/button_empty_field.gif">' +
                    'alt="Dieses ist die untere Navigations-Leiste" >' +
                    '<img src="' + path + 'icons/ftv2doc.gif" alt="URL:" width="22" height="22"></td>' +
                    '<td width="99%" class="small" nowrap="yes">' +
                    location.href
                  );

}; // insert_actual_url

function reload_window (Event) {
   window.location.reload();
}; // reload_window

function may_view_tree () {
   if ( tree_button ) {
      if ( tree_button.is_active ) may_swap_tree ();
   } else if ( verttree_button ) {
      if ( verttree_button.is_active ) may_swap_tree ();
   };
}; // may_view_tree

function set_default_status ( text ) {
   if ( browser_is.min ) {
      if ( text ) window.defaultStatus = text;
      else window.defaultStatus = 'Wird ein Icon mit der Maus berührt, erscheint ein Hinweis. ' +
                                  'Eine genauere Erklärung finden Sie unter Hilfe: ?';
   };
}; // set_default_status

function active_Images ( Ident ) {
   // call Ident, list_of_images

   if ( document.images[ Ident ] ) {
      Images = new Array(active_Images.arguments.length - 1);
      for (var i=1; i<active_Images.arguments.length; i++)
          Images[i-1] = active_Images.arguments[i];

      return new Dynamic_Images ( null, Ident,
                                  new Dynamic_Image_Container_In ( Images )
                                );
   } else alert ( 'Image ' + Ident + ' not defined in HTML' );

}; // active_Images

function show_navigation_bar () {
   if ( navigation_bar ) {
      if ( nav_button ) {
         navigation_bar.move();
         navigation_bar.move_in();
         nav_button.off();
         nav_button.flat();
         window.top.navigation_bar_is_defined   = true;
         window.top.navigation_bar_is_not_shown = false;
      } else {
         window.top.navigation_bar_is_defined   = false;
         window.top.navigation_bar_is_not_shown = true;
      };
   } else {
      window.top.navigation_bar_is_defined   = false;
      window.top.navigation_bar_is_not_shown = true;
   };
}; // show_navigation_bar

function hide_navigation_bar () {
   if ( navigation_bar ) if ( nav_button ) {
      navigation_bar.move();
      navigation_bar.move_out();
      nav_button.on();
      nav_button.flat();
      window.top.navigation_bar_is_defined   = true;
      window.top.navigation_bar_is_not_shown = true;
   };
}; // hide_navigation_bar

function toggle_navigation () {
   if ( navigation_bar && nav_button ) {
     navigation_bar.toggle ();
     nav_button.toggle();
     window.top.navigation_bar_is_defined   = true;
     window.top.navigation_bar_is_not_shown = navigation_bar.is_out();
   };
}; // toggle_navigation

function auto_toggle_navigation () {
   if ( navigation_bar ) if ( nav_button ) {
      navigation_bar.toggle ();
      nav_button.toggle();
      nav_button.flat ();
      window.top.navigation_bar_is_not_shown = navigation_bar.is_out();
      if ( navigation_bar.follow ) navigation_bar.follow();
   };
}; // auto_toggle_navigation

function toggle_following () {
   if ( follow ) {   // && pin_button ) {
      follow.scrolled.toggle_watching();
//    pin_button.toggle ();
      if ( window.top.navigation_bar_is_defined ) nav_button.flat ();
      window.top.is_not_following = ! follow.scrolled.is_watching;
   };
}; // toggle_following


