hmenuL1 = null;
hmenuL2 = null;
hmenuL3 = null;

hmenuL1_parent = null;
hmenuL2_parent = null;
hmenuL3_parent = null;

hmenuL1_restriction_left = 0;
hmenuL1_restriction_right = 1000000000;
hmenuL1_restriction_top = 0;
hmenuL1_restriction_bottom = 1000000000;

hmenuL2_restriction_left = 0;
hmenuL2_restriction_right = 1000000000;
hmenuL2_restriction_top = 0;
hmenuL2_restriction_bottom = 1000000000;

//--------------------------------------------------------------------------------------------------------------------------------
function absTop(node)
{
  var top = node.offsetTop;
  if (node.offsetParent) top += absTop(node.offsetParent);
  return top;
}


//--------------------------------------------------------------------------------------------------------------------------------


function absLeft(node)
{
  var left = node.offsetLeft;
  if (node.offsetParent) left += absLeft(node.offsetParent);
  return left;
}

//--------------------------------------------------------------------------------------------------------------------------------

function hmenuTrackMouse(e)
{
      if (document.addEventListener)
      { // DOM2
         document.addEventListener('mousemove', super_closer, false);
      }
      else if (document.attachEvent) { // IE5+
         document.attachEvent('onmousemove', super_closer);
      }
}
function hmenuClose3(SubMenu)
{
}
function hmenuClose2(SubMenu)
{
}
function hmenuTrackMouse3(e)
{
}
function hmenuTrackMouse2(e)
{
}


//--------------------------------------------------------------------------------------------------------------------------------


function hmenuOpenLevel1(target, event){

   hmenuL1_parent = target;

   var SubMenu = document.getElementById(target.id+'_submenu');

   if((hmenuL1 != null) && (hmenuL1 != SubMenu)){
      hmenuL1.style.display='none';
   }
   if(hmenuL2 != null){
      hmenuL2.style.display='none';
   }

   hmenuL2 = null;

   if (SubMenu != null) {
      hmenuL1_restriction_top = absTop(target);
      SubMenu.style.top = hmenuL1_restriction_top + target.offsetHeight + 'px';

      hmenuL1_restriction_left = (absLeft(document.getElementById(target.id)));      
      SubMenu.style.left = hmenuL1_restriction_left + 'px';

      SubMenu.style.display = 'block';

      hmenuL1 = SubMenu;

      hmenuL1_restriction_bottom = hmenuL1_restriction_top + target.offsetHeight + SubMenu.clientHeight;
      hmenuL1_restriction_right = hmenuL1_restriction_left + SubMenu.clientWidth;
   }
   else{
      if (document.addEventListener)
      { // DOM2
         target.addEventListener('mouseout', defaultL1_, false);
      }
      else if (document.attachEvent) { // IE5+
         target.attachEvent('onmouseout', defaultL1_);
      }
   }
}


function hmenuOpenLevel2(target)
{
  hmenuL2_parent = target;

  var SubMenu = document.getElementById(target.id+'_submenu');

   if((hmenuL2 != null) && (hmenuL2 != SubMenu)){
      hmenuL2.style.display='none';
   }


  if (SubMenu != null) {
    hmenuL2_restriction_top = absTop(target);
    SubMenu.style.top = hmenuL2_restriction_top + 'px';

    hmenuL2_restriction_left = absLeft(document.getElementById(target.id+'_end')) - 10;
    SubMenu.style.left = hmenuL2_restriction_left + 'px';

    SubMenu.style.display = 'block';
    hmenuL2_restriction_bottom = hmenuL2_restriction_top + SubMenu.clientHeight;
    hmenuL2_restriction_right = hmenuL2_restriction_left + SubMenu.clientWidth;



    hmenuL2 = SubMenu;
  }
  else{
    hmenuL2 = null;
  }
}


function hmenuOpenLevel3(target)
{
}

//--------------------------------------------------------------------------------------------------------------------------------

function hmenuMouseMove(e){
}
function hmenuMouseMove1(e){
}
function hmenuMouseMove2(e){
}
function hmenuMouseMove3(e){
}

//--------------------------------------------------------------------------------------------------------------------------------

function hmenuCloseLevel1(e){
}
function hmenuCloseLevel2(e){
}
function hmenuCloseLevel3(e){
}

//--------------------------------------------------------------------------------------------------------------------------------

function super_closer(e){

   if(hmenuL2 != null){

      if (hmenuL2_restriction_right < e.clientX){
         close_both();
      }

      if ((hmenuL1_restriction_left > e.clientX) || (hmenuL1_restriction_top > e.clientY)){
         close_both();
      }

      if ((hmenuL1_restriction_right > e.clientX) && (hmenuL1_restriction_bottom < e.clientY)){
         close_both();
      }

      if ((hmenuL1_restriction_right < e.clientX) && (hmenuL1_restriction_right < e.clientX) && (hmenuL2_restriction_top > e.clientY)){
         close_both();
      }

      if ((hmenuL1_restriction_right < e.clientX) && (hmenuL1_restriction_right < e.clientX) && (hmenuL2_restriction_bottom < e.clientY)){
         close_both();
      }
   }
   else{
      if(hmenuL1 != null){
         if ((hmenuL1_restriction_left > e.clientX) || (hmenuL1_restriction_top > e.clientY) || (hmenuL1_restriction_bottom < e.clientY) || (hmenuL1_restriction_right < e.clientX)){
            defaultL1(hmenuL1_parent);
            hmenuL1.style.display = "none";
            defaultL1(hmenuL1_parent);
            hmenuL1 = null;
            if(hmenuL2 != null){
               hmenuL2.style.display = "none";
               defaultL2(hmenuL2_parent);
               hmenuL2 = null;
            }
         }
      }
   }
}

function close_both(){
   if(hmenuL1 != null){
      hmenuL1.style.display = "none";
      defaultL1(hmenuL1_parent);
      hmenuL1 = null;
   }
   if(hmenuL2 != null){
      hmenuL2.style.display = "none";
      defaultL2(hmenuL2_parent);
      hmenuL2 = null;
   }
  if(hmenuL3_parent != null){
     defaultL3(hmenuL3_parent);
  }
}

function highlightL1(element){

   if(hmenuL1_parent != null){
      defaultL2(hmenuL1_parent);
   }

   if(element != null){
      var text = document.getElementById(element.id + '_text');
      var text2 = document.getElementById(element.id + '_text2');
      text.className = "hmenuL1Selected";
      text2.className = "hmenuL1SelectedOverlay";
   }
}
function defaultL1(element){
   if(element != null){
      var text = document.getElementById(element.id + '_text');
      var text2 = document.getElementById(element.id + '_text2');
      text.className = "hmenuL1Default";
      text2.className = "hmenuL1DefaultOverlay";
   }
}
function defaultL1_(event){
   if(hmenuL1_parent != null){
      var text = document.getElementById(hmenuL1_parent.id + '_text');
      var text2 = document.getElementById(hmenuL1_parent.id + '_text2');
      text.className = "hmenuL1Default";
      text2.className = "hmenuL1DefaultOverlay";
   }
}



function highlightL2(element){

   if(hmenuL2_parent != null){
      defaultL2(hmenuL2_parent);
   }

   if(element != null){
      var text = document.getElementById(element.id + '_text');
      var text2 = document.getElementById(element.id + '_text2');
      var triangle = document.getElementById(element.id + '_triangle');
      text.className = "hmenuL2Selected";
      text2.className = "hmenuL2SelectedOverlay";

      if(triangle != null){
         triangle_name = triangle.src.substring(0,triangle.src.lastIndexOf("."));
//       alert(triangle_name);
         triangle_extension = triangle.src.substring(triangle.src.lastIndexOf(".") + 1);
//       alert(triangle_extension);
//       triangle.src = triangle_name + '-s.' + triangle_extension;
      }
   }
}
function defaultL2(element){
   if(element != null){
      var text = document.getElementById(element.id + '_text');
      var text2 = document.getElementById(element.id + '_text2');
      var triangle = document.getElementById(element.id + '_triangle');
      text.className = "hmenuL2Default";
      text2.className = "hmenuL2DefaultOverlay";
   }
}



function highlightL3(element){

  if(hmenuL3_parent != null){
     defaultL3(hmenuL3_parent);
  }
  hmenuL3_parent = element;

  var text = document.getElementById(element.id + '_text');
  var text2 = document.getElementById(element.id + '_text2');
  text.className = "hmenuL3Selected";
  text2.className = "hmenuL3SelectedOverlay";
}

function defaultL3(element){
    var text = document.getElementById(element.id + '_text');
    var text2 = document.getElementById(element.id + '_text2');
    text.className = "hmenuL3Default";
    text2.className = "hmenuL3DefaultOverlay";
}


function menu_position(){
//   alert(absLeft(document.getElementById('text_hl_news')));
}
