// スクリプト本体部分

itemMouseOver=null;
itemMouseOut=null;

mainMouseOver='itemMainOver';
mainMouseOut ='itemMainOut';
subMouseOver='itemSubOver';
subMouseOut ='itemSubOut';

divNo = 0;
function createDiv(){
  divName='dynDiv'+(divNo++);
  if(document.body&&document.body.insertAdjacentHTML){
    txt='<div id="'+divName
       +'" style="position:absolute;visibility:hidden"><\/div>';   
    document.body.insertAdjacentHTML('BeforeEnd',txt);
    return document.getElementById?
     document.getElementById(divName):document.all(divName);
  }
  else if(!document.layers){
    document.body.appendChild(div=document.createElement('DIV'));
    div.id=divName;
    with(div.style){
     position = 'absolute';     
     visibility='hidden';
    }
    return div; 
  }
  return null;    
}

var eles=new Array();
var divs=new Array();

function mouseOver(e){
  var ele=null;
  if(!e) e=window.event;
  if(e.target) ele=e.target;
  else if(e.srcElement) ele=e.srcElement; 
  while(ele.tagName!="DIV"){
   if(ele.tagName=="TD"){
     ele.itemMouseOver=(this.parent.menuCount==1)?mainMouseOver:subMouseOver;
     ele.itemMouseOut =(this.parent.menuCount==1)?mainMouseOut:subMouseOut;
    if(this.pre)this.pre.className=this.pre.itemMouseOut;
    ele.className=ele.itemMouseOver;    
     if(this.subMenu){
      setDivVisibility(this.subMenu,false);
      if(this.subMenu.pre) this.subMenu.pre.className=this.subMenu.pre.itemMouseOut;      
      while(this.subMenu.subMenu){
       this.subMenu=this.subMenu.subMenu;
       setDivVisibility(this.subMenu,false);
       if(this.subMenu.pre) this.subMenu.pre.className=this.subMenu.pre.itemMouseOut;
      }       
     }         
    this.pre=ele;
    eles[eles.length]=ele;
    if(!this.parent.items[ele.id].link){
     this.style.cursor="default";
    }
    else{
     if(document.all) this.style.cursor="hand";
     else this.style.cursor="pointer";
    }
    if(this.parent.items[ele.id].child){
     this.subMenu=this.parent.items[ele.id].child.div;
     setDivVisibility(this.parent.items[ele.id].child.div,true);
     divs[divs.length]=this.parent.items[ele.id].child.div;
    } 
    break;
   }
   ele=window.external?ele.parentElement:ele.parentNode;
  }
}

function mouseOut(e){
  var relEle=null;
  if(!e) var e=window.event;
  if(e.relatedTarget) relEle=e.relatedTarget;
  else if(e.toElement) relEle=e.toElement;
  for(; relEle!=null; relEle=_ie5?relEle.parentElement:relEle.parentNode){
    if(relEle.parent) break;
  }
  if(relEle==null){
   for(i=0; i<divs.length; i++)
    setDivVisibility(divs[i],false);
   for(i=0; i<eles.length; i++)
    eles[i].className=eles[i].itemMouseOut;
   return; 
  }
}
function mouseDown(e){
  var ele=null;
  if(!e) e=window.event;
  if(e.target) ele=e.target;
  else if(e.srcElement) ele=e.srcElement; 
  while(ele.tagName!="DIV"){
  if(ele.tagName=="TD"){
   if(this.parent.items[ele.id].link){
    location.href=this.parent.items[ele.id].link;
   } 
   break;
  }
  ele=window.external?ele.parentElement:ele.parentNode;
 }
}


menuCount = 0;
    

// メニューコンストラクタ                        
function Menu(){
  this.id='menu'+(menuCount++);
  this.menuCount=menuCount;
  this.borderWidth = 1; // テーブルの枠線の幅。必ずこの数値を入れる！
  this.marginY = 3; // 多段で表示されるメニューの縦方向でのマージン
  this.div=createDiv();
  this.div.id='menuDiv'+this.menuCount;
  this.div.parent=this;
  if(arguments.length>=4){
   this.left=arguments[0];
   this.top =arguments[1];
   this.w=arguments[2]+this.borderWidth*1;
   this.itemH=arguments[3];
   this.textPos=arguments[4]?arguments[4]:'center';
   moveDivTo(this.div,this.left,this.top);
  }
  else{
   this.w=arguments[0];
   this.itemH=arguments[1];
   this.textPos=arguments[2]?arguments[2]:'center';
  }
  this.items=new Array();
  if(this.menuCount==1){
   this.html='<table border="'+this.borderWidth+'" width="'+this.w
            +'" bordercolordark="white" bordercolor="#21316b"'
            +' cellspacing="0" cellpadding="0" bgcolor="#21316b"><tr>';
  }
  else{
   this.html='<table border="'+this.borderWidth+'" width="'+this.w
            +'" bordercolordark="white" bordercolor="black"'
            +' cellspacing="0" cellpadding="3" bgcolor="#ebde9c">';
  }
  return this;
}
Menu.prototype.add = function(obj){ // MenuItem を加える
 obj.parent=this;
 if(this.menuCount>1) obj.w=this.w; 
 obj.h=this.itemH;
 this.items[obj.id]=this.items[this.items.length]=obj;
 this.items[obj.id].link=obj.link;
 if(this.items.length>1){
  var pre_obj=this.items[this.items.length-2];
 }
 if(this.menuCount==1){
  obj.left=this.items.length>1?pre_obj.left+pre_obj.w
          +((this.items.length==2)?this.borderWidth:0):this.left; 
  obj.top=this.top+this.itemH+this.borderWidth*2;
  obj.item_html='<td id="'+obj.id+'" width="'+obj.w+'" height="'+obj.h
               +'" align="'+this.textPos+'" class="mainMenu">'+obj.text+'<\/td>\n';
 }else{
  obj.left=this.left+this.w; 
  obj.top=this.top+this.itemH*(this.items.length-1)+this.borderWidth+this.marginY;
  obj.item_html='<tr><td id="'+obj.id+'" width="'+obj.w+'" height="'+obj.h
               +'" align="'+this.textPos+'" class="subMenu">'+obj.text+'<\/td><\/tr>\n';
 }
 this.html+=obj.item_html;
}


// メニューを生成する関数。
Menu.prototype.build = function(){
 if(this.menuCount==1)
  this.html+='<\/tr><\/table>';
 else
  this.html+='<\/table>';
 writeDivHTML(this.div,this.html);
 if(this.menuCount==1){
  this.left=getDivLeft(this.div); 
  this.top =getDivTop (this.div);
 }
 if(!document.layers){
  this.div.onmouseover=mouseOver;
  this.div.onmouseout =mouseOut;
  this.div.onmousedown=mouseDown;
 }
 if(this.menuCount==1) setDivVisibility(this.div,true);
}


// メニュー item（項目）コンストラクタ
function MenuItem(){  // itemオブジェクト
 this.id=arguments[0];
 var re=new RegExp('  ');
 this.text=arguments[0].replace(re,'&nbsp;&nbsp;');
 this.link=(arguments.length>1&&arguments[1]!=null)?arguments[1]:null;
 this.w=arguments.length>2?arguments[2]:0;
 this.h = 0;
 this.item_html='';
 this.parent=null;
 return this;
}

// MenuItemオブジェクトに 生成したMenuオブジェクトを加える
MenuItem.prototype.setMenu = function(obj){
 obj.parent=this;
 this.child=obj;
 moveDivTo(obj.div,this.left,this.top); 
 obj.left=this.left; 
 obj.top =this.top;
}

function init(){
 navi_bar=new Menu(0,57,769,26);

 navi_bar.add(new MenuItem('トップ',"/",60));
 navi_bar.add(new MenuItem('会社情報',null,90));
 navi_bar.add(new MenuItem('ネットワーク製品グループ',"http://ncg.panduit.co.jp/",150));
 navi_bar.add(new MenuItem('エレクトリカル製品グループ',"http://eeg.panduit.co.jp/",150));
 navi_bar.add(new MenuItem('お問い合わせ',"/contact/index.html",110));
 navi_bar.add(new MenuItem('サイトマップ',"/sitemap.html",110));
 navi_bar.add(new MenuItem('Panduit Corp.',"http://www.panduit.com/",90));
 navi_bar.build();
  
 navi1=new Menu(150,18,"left");
 navi_bar.items['会社情報'].setMenu(navi1); 
 navi1.add(new MenuItem('会社概要',"/about/index.html")); 
 navi1.add(new MenuItem('会社所在地 >>'));
navi1.add(new MenuItem('商品センター所在地',"/about/center_map.html"));
 navi1.add(new MenuItem('採用情報',"/about/recruit.html"));
 navi1.add(new MenuItem('環境方針',"/about/iso.html")); 
 navi1.build();
 
 navi2=new Menu(150,18,"left");
 navi1.items['会社所在地 >>'].setMenu(navi2);
 navi2.add(new MenuItem('東京本社',"/about/map.html"));
 navi2.add(new MenuItem('大阪支店',"/about/map_osaka.html"));
 navi2.add(new MenuItem('名古屋支店',"/about/map_nagoya.html"));
navi2.add(new MenuItem('福岡営業所',"/about/map_fukuoka.html"));
 navi2.build();
}
function resize(e){
 cancel(); window.location.reload();     
}