    /* T O O L S */
    
    /*
    * Get back a collection containing all HTML elements
    * which TAG is <elementName> and which CLASS attribute
    * is <classNames>   
    */
    function GetElementsWithClassName(elementName,classNames) {
      var reg=new RegExp("[;]+", "g");
      var arrClassNames = classNames.split(reg);
      
      var allElements = document.getElementsByTagName(elementName);
      var elemColl = new Array();
      for (var i = 0; i< allElements.length; i++) {
        for (var j=0; j<arrClassNames.length; j++) {
          className = arrClassNames[j];
          if (allElements[i].className == className ) {
            elemColl[elemColl.length] = allElements[i];
          }
        }
      }
      return elemColl;
    }
    
    /*
    * Hide the specified HTML element
    */
    function hide(target) {
      target.style.visibility = "hidden";
      target.style.display = "none";
    }
    
    /*
    * Show the specified HTML element
    */
    function show(target) {
      target.style.visibility = "visible";
      target.style.display = "block";      
    }
    
    /*
    * Show the specified HTML element if it is hidden
    * or Hide if it's visible    
    */
    function showOrHide(target) {
      if ( target.style.visibility == "visible" || target.style.display == "block" ) {
        hide(target);
      } else {
        show(target);
      }
    }
    
    /*
    * Navigate to the following Link
    */
    function Goto(link) {
      window.location.replace(link);
      return;
    }
    
    /*   L E F T   M E N U   B A R   B U T T O N S   */   
    function leftMenuEnter(e) {
      // Retrieve target of event
      if (window.event) { 
       target = window.event.srcElement; 
      } else if (e) { 
       target = e.target; 
      } else return;
      target.classNameOri = target.className;
      if (target.className == "LeftMenu_Button") { target.className = "LeftMenu_Button_Hi"; } 
      if (target.className == "LeftMenu_ButtonA") { target.className = "LeftMenu_Button_Hi"; }
      if (target.className == "LeftMenu_ButtonArrow") { target.className = "LeftMenu_ButtonArrowHi"; }
      if (target.className == "LeftMenu_ButtonArrowA") { target.className = "LeftMenu_ButtonArrowHi"; }
    }
    function leftMenuExit(e) {
      // Retrieve target of event
      if (window.event) { 
       target = window.event.srcElement; 
      } else if (e) { 
       target = e.target; 
      } else return;
      if ( target.classNameOri != null) {
        target.className = target.classNameOri;
      }
    }
    function leftMenuClick(e) {
      // Retrieve target of event
      if (window.event) { 
       target = window.event.srcElement; 
      } else if (e) { 
       target = e.target; 
      } else return;
      // Open the sub-menu if necessary
      if ( (target.className == "LeftMenu_ButtonArrowHi" ) || (target.className == "LeftMenu_ButtonArrowA" ) ) {
        subMenuId = target.id + "_subMenu";
        subMenu = document.getElementById(subMenuId);
        // Show the sub-menu and hide other sub-menus
        allSubMenus = GetElementsWithClassName("DIV", "LeftMenu_SubMenu");
        for (i = 0; i< allSubMenus.length; i++) {
          if ( allSubMenus[i].id == subMenuId ) {
            // Show
            showOrHide(allSubMenus[i]);
          } else {
            // Hide
            hide(allSubMenus[i]);
          }
        }
        return;
      }
      alert("CLICK on " + target.id);
    }

    /*   E V E N T S   I N I T I A L I S A T I O N   */
    function initEvents() {
          
      // Left Menu Buttons
      allLeftMenuButtons = GetElementsWithClassName("DIV", "LeftMenu_Button;LeftMenu_Button_Hi;LeftMenu_Button_A;");
      for (i = 0; i < allLeftMenuButtons.length; i++) {
        // mouse enter
        allLeftMenuButtons[i].onmouseover = leftMenuEnter;
        // mouse leave
        allLeftMenuButtons[i].onmouseout = leftMenuExit;
        // mouse click (only if no event is defined in the tag)
        if ( allLeftMenuButtons[i].onclick == null ) {
          allLeftMenuButtons[i].onclick = leftMenuClick;
        }
      }
    }

