//---------------------------------
// vars for menu showing/hiding
// when mouseOut, the element in the page
// sets mCount =2 and call countDown()
// when mouseIn, the element uses mTimer id to
// clear timer by window.clearTimeout(mTimer); call.
// copyright 2003 Shawn Zhang Model Technologies.
//---------------------------------
var mTimer=null;
var mCount;
var divcoll = document.getElementsByTagName('div');
var submenus = new Array();
var subsubmenus = new Array();
var subsubItems = new Array();
var mLayer="Layer1";

//--------------------------------------------------------
// Collect all the div tags and build a list of menu items. 
// All level 1 submenu containers must have id 'submenu(x)';
// All level 2 submenu containers must have id 'subsubmenu(x)'.
//--------------------------------------------------------
onload = function() {
  for (var i=0; i<divcoll.length; ++i) {
    if (divcoll.item(i).id && divcoll.item(i).id.indexOf('submenu') != -1) {
      submenus[submenus.length] = divcoll.item(i);
    }
    if (divcoll.item(i).id && divcoll.item(i).id.indexOf('subsubmenu') != -1) {
      subsubmenus[subsubmenus.length] = divcoll.item(i);
    }
    if (divcoll.item(i).id && divcoll.item(i).id.indexOf('subsubitem') != -1) {
      subsubItems[subsubItems.length] = divcoll.item(i);
    }
  }
  mCount=1;
  countDown();
}

function show(itemObj) {
  var menuItem = document.getElementById(itemObj);
  var menuLayer = document.getElementById(mLayer);
  for (var i=0; i<submenus.length; ++i) submenus[i].style.display = 'none';
  menuItem.style.display = 'block' ;
  menuItem.style.visibility='visible';
  menuLayer.style.display = 'block';
  menuLayer.style.visibility = 'visible';
  return false;
}

//--------------------------------
//show level 2 submenu
//--------------------------------
function showSub2(subMenu, row) {
  var menuItem = document.getElementById(subMenu);
  window.clearTimeout(mTimer); 
  row.style.background = '#E6b766';

  for (var i=0; i<subsubmenus.length; ++i) {
    subsubmenus[i].style.display = 'none';
  }
  menuItem.style.display = 'block' ;
  menuItem.style.visibility='visible';
  return false;

  //reset flyouts
    for (var i=0; i<subsubItems.length; ++i) {
      subsubItems[i].style.background = '#00AA44';
    }
}

function hideSub2(subMenu, row) {
  var menuItem = document.getElementById(subMenu);
  menuItem.style.display = 'none';
  mCount=2;
  countDown();
  row.style.background = '#DDAA44';
  return false;
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

//---------------------------------
//use recursive call to count down; 
//The timer clear is called with mTimer id when 
//mouseOut occurres
//----------------------------------
function countDown(){
  mCount--;
  if (mCount > 0)
    mTimer = window.setTimeout("countDown()",1000);
  else {
    var menuLayer = document.getElementById(mLayer);
    mTimer = null;
    for (var i=0; i<submenus.length; ++i){
      submenus[i].style.display = 'none';
    }
    for (var j=0; j<subsubmenus.length; ++j){
      subsubmenus[j].style.display = 'none';
    }
      menuLayer.style.display='none';
      menuLayer.style.visibility='hidden';
    return false;
  }
}

//----------------------------------
//simplify the html coding: bg color are set here rather than calling a highlight(this), unlight(this);
//
//----------------------------------
function navSub1MouseOver(row) {
    window.clearTimeout(mTimer); 
    row.style.background = '#3E6DB1';

}

function navSub1MouseOut(row) {
    mCount=2;
	countDown();
    row.style.background = '#528DC9';
}
//--------------------------------------
// level 2 submenu does not envoke timer. It is controlled at the layer that
// envokes the submenu. You only need to highlight/unlight for visual
//--------------------------------------
function navSub2MouseOver(row) {
  //each row has id collected. hilight current row and unlight others. onMouseOut is not called
  for (var i=0; i<subsubItems.length; ++i) {
    if (subsubItems[i] != row)
      subsubItems[i].style.background = '#528DC9';
  }
    row.style.background = '#3E6DB1';
}
