var TimeOut         = 300;
var currentLayer    = null;
var currentLayerNum = 0;
var closeTimer      = null;
var submenu         = null;
var beforeMenu      = null;
var beforeNum       = 0;
var MenuColor       = null;
var beforeColor     = null;
var ColorNum        = 0;
var ColorLink      = null;
var beforeLink     = null;
var LinkNum        = 0;

// ブラウザ判断の為の変数(オブジェクトで判断) (cursorIn動作の為に必要)
OP = window.opera;                 // Opera
NE = document.getElementById;      // NetScape
IE = document.all;                 // IE系
N4 = document.layers;              // NetScape4
if      (OP) br="N6";              // ブラウザは OP6以上
else if (IE) br="I4";              // ブラウザは IE4以上
else if (NE) br="N6";              // ブラウザは NS6以上
else if (N4) br="N4";              // ブラウザは NN4
else         br="";                // ブラウザは 不明

//

// 使用中のブラウザによってオブジェクトを判断 (cursorIn動作の為に必要)
function BrowserObj(name){ 
  if (br=="N6") Ret=document.getElementById(name).style;
  else if (br=="I4") Ret=document.all[name].style;
  else if (br=="N4") Ret=document[name];
  else Ret=0;
  return Ret;
}

function mopen(n) {
  var l  = BrowserObj("sub"+n);

  if(l) {
    mcancelclosetime();
    l.visibility='visible';
    if(currentLayer && (currentLayerNum != n)) {
      currentLayer.visibility='hidden';
    }
    currentLayer = l;
    currentLayerNum = n;			
  } else if(currentLayer) {
    currentLayer.visibility='hidden';
    currentLayerNum = 0;
    currentLayer = null;
  }
}

function mclosetime() {
  closeTimer = window.setTimeout(mclose, TimeOut); // mcloseが呼び出された瞬間から指定ミリ秒(Timeout)だけWaitして実行
}

function mcancelclosetime() {
  if(closeTimer) {
    window.clearTimeout(closeTimer); // setTimeoutによる指定秒後実行予定の処理をキャンセル
    closeTimer = null;
  }
}

function mclose() {
  if(currentLayer)   {
    currentLayer.visibility='hidden';
    currentLayerNum = 0;
    currentLayer = null;
  } 
  currentLayer = null;
}

// 左側メニュー
function Menu(n) {
 var submenu    = BrowserObj("subm"+n);
 var MenuColor  = BrowserObj("menu"+n);

  if(submenu && (beforeNum != n)) {
    submenu.display = 'block';
    if(beforeMenu && (beforeNum != n)) {
      beforeMenu.display = 'none';
      beforeColor.color = '#ffffff';
    }
    beforeMenu = submenu;
    beforeNum = n;
    beforeColor = MenuColor;
    ColorNum = n;
  } else if(beforeMenu) {
      beforeMenu.display = 'none';
      beforeColor.color = '#ffffff';
      beforeMenu = null;
      beforeNum = 0;
      ColorNum = 0;
  }

}

function CatColor(sw,n) {

  var MenuColor = BrowserObj("menu"+n);

  if(sw == "on") { 
    MenuColor.color = '#0099ff';
  } else if(beforeColor && (ColorNum == n)) { 
    MenuColor.color = '#0099ff';
  } else if(beforeLink && (LinkNum == n)) {
    MenuColor.color = '#0099ff';
  } else { 
    MenuColor.color = '#ffffff';
  }

}

function link(m,sw,n) {

  if(m == "menu") { 
    var ColorLink = BrowserObj(m+n);
  } else { 
    var ColorLink = BrowserObj(m+"_"+n);
  }

  if(sw == "on") { 
    ColorLink.color = '#0099ff';
    if(beforeLink && (LinkNum != n)) {
      beforeLink.color = '#ffffff';
    }
    beforeLink = ColorLink;
    LinkNum = n;
  } else if(beforeLink) { 
    beforeLink.color = '#ffffff';
    beforeLink = null;
    LinkNum = 0;
  }

}
