﻿window.subnav_ids = "";

function get_left(el)
{
  var left = 0;
  while (el)
  {
    left += el.offsetLeft;
    el = el.offsetParent;
  }
  return left;
}

function get_top(el)
{
  var top = 0;
  while (el)
  {
    top += el.offsetTop;
    el = el.offsetParent;
  }
  return top;
}

function hide_all_subnavs()
{
  var ids = window.subnav_ids.split(",");
  for (var i = 0; i < ids.length; i++)
  {
    if (ids[i])
    {
      var el = document.getElementById(ids[i]);
      if (el) el.style.display = "none";
    }
  }
}


function show_subnav(el, nav_id)
{
  if (el && nav_id)
  {
    var nav = document.getElementById(nav_id);
    if (nav)
    {
      window.active_subnav = nav;
      clearTimeout(window.hide_subnav_timeout);
      hide_all_subnavs();
      
      if (window.subnav_ids.indexOf(nav_id + ",") == -1) 
        window.subnav_ids += nav_id + ",";
      
  	  var offset_tweak = -6;
      
      var top = get_top(el.parentNode) + el.parentNode.offsetHeight + offset_tweak;
      
      var left = get_left(el) - 0;
      
      nav.style.top = top + "px";
      nav.style.left = left + "px";
      nav.style.display = "block";
      
      nav.onmouseover = cancel_hide_subnav;
      nav.onmouseout = check_position;
      el.onmouseout = check_position;
    }
  }
}


function check_position(event)
{
  event = event || window.event;
  var el = window.active_subnav;
  if (event && el)
  {
    var fudge = -4;
    var x = event.clientX;
    var y = event.clientY;
    
    var left = parseInt(el.style.left) + fudge;
    var right = left + el.offsetWidth - fudge;
    var top = parseInt(el.style.top) + fudge;
    var bottom = top + el.offsetHeight - fudge;
    
    if (x <= left || x >= right || y <= top || y >= bottom)
    {
      window.hide_subnav_timeout = setTimeout("hide_subnav();", 350);
	  MM_swapImgRestore();
    }
    else
    {
      cancel_hide_subnav();
    } 
  }
}

function hide_subnav()
{
  window.active_subnav.style.display = 'none';
  window.active_subnav = null;
}

function cancel_hide_subnav()
{
  clearTimeout(window.hide_subnav_timeout);
}