var DDSPEED = 5;
var DDTIMER = 5;

// main function to handle the mouse events //
function ddMenu(id,d){
  var h = document.getElementById(id + '-ddheader');
  var c = document.getElementById(id + '-ddcontent');
  clearInterval(c.timer);
  if(d == 1){
    clearTimeout(h.timer);
    if(c.maxh && c.maxh <= c.offsetHeight){return}
    else if(!c.maxh){
      c.style.display = 'block';
      c.style.height = 'auto';
      c.maxh = c.offsetHeight;
      c.style.height = '0px';
    }
    c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
  }else{
    h.timer = setTimeout(function(){ddCollapse(c)},200);
  }
}

// collapse the menu //
function ddCollapse(c){
  c.timer = setInterval(function(){ddSlide(c,-1)},DDTIMER);
}

// cancel the collapse if a user rolls over the dropdown //
function cancelHide(id){
  var h = document.getElementById(id + '-ddheader');
  var c = document.getElementById(id + '-ddcontent');
  clearTimeout(h.timer);
  clearInterval(c.timer);
  if(c.offsetHeight < c.maxh){
    c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
  }
}

// incrementally expand/contract the dropdown and change the opacity //
function ddSlide(c,d){
  var currh = c.offsetHeight;
  var dist;
  if(d == 1){
    dist = (Math.round((c.maxh - currh) / DDSPEED));
  }else{
    dist = (Math.round(currh / DDSPEED));
  }
  if(dist <= 1 && d == 1){
    dist = 1;
  }
  c.style.height = currh + (dist * d) + 'px';
  c.style.opacity = currh / c.maxh;
  c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')';
  if((currh < 2 && d != 1) || (currh > (c.maxh - 2) && d == 1)){
    clearInterval(c.timer);
  }
}

function ddPrint(str) {
  var btnImage; var lyr;
  if (str == "one") { btnImage = "menu_02.png"; lyr = 139; }
  else if (str == "two") { btnImage = "menu_04.png"; lyr = 139; }
  else if (str == "three") { btnImage = "menu_08.png"; lyr = 139; }
  else if (str == "four") { btnImage = "menu_10.png"; lyr = 139; }
  else if (str == "five") { btnImage = "menu_12.png"; lyr = 139; }
  with(document) {
    write("<dl class='dropdown' style='display:inline'>");
    write("<dt id='" , str , "-ddheader' style='background-image:url(images/" , btnImage , ")' onmouseover=ddMenu('" , str , "',1) onmouseout=ddMenu('" , str , "',-1)></dt>");
    write("<dd id='" , str , "-ddcontent' style='z-index:" , lyr , "' onmouseover=cancelHide('" , str , "') onmouseout=ddMenu('" , str , "',-1)>");
    write("<ul>");
    if (str == "one") {
      write("<li><a href='./info/sunbbs/index.html' class='underline'>お知らせ</a></li>");
      write("<li><a href='./info/meeting/index.cgi'>例会報告</a></li>");
    }
    if (str == "two") {
      write("<li><a href='./club/index.html' class='underline'>会長挨拶</a></li>");
      write("<li><a href='./club/rotary.html' class='underline'>ロータリークラブとは</a></li>");
      write("<li><a href='./club/history.cgi' class='underline'>歴代三役</a></li>");
      write("<li><a href='./club/officer.html' class='underline'>役員・委員会所属一覧</a></li>");
      write("<li><a href='./club/schedule.html' class='underline'>例会スケジュール</a></li>");
      write("<li><a href='./club/syokugyo.html'>職業分類表</a></li>");
    }
    if (str == "three") {
      write("<li><a href='./members/wforum/wforum.cgi' class='underline'>会議室</a></li>");
      write("<li><a href='./members/webcal2/webcal.cgi' class='underline'>予定表</a></li>");
      write("<li><a href='./members/kanji-info/newsbbs.cgi' class='underline' style='font-size:10px'>会長・幹事からのお知らせ</a></li>");
      write("<li><a href='./members/absence/absence.cgi' class='underline' style='font-size:12px'>例会欠席・食事不要届</a></li>");
      write("<li><a href='./members/office/index.cgi' style='font-size:12px'>ファイル保管庫</a></li>");
    }
    if (str == "four") {
      write("<li><a href='./others/link/navi.cgi' class='underline'>リンク</a></li>");
      write("<li><a href='./others/modified/mod.cgi' class='underline'>更新情報</a></li>");
      write("<li><a href='./others/contact.html' class='underline'>コンタクト</a></li>");
      write("<li><a href='./others/old_data.html'>昨年度以前のＨＰ</a></li>");
    }
    if (str == "five") {
      write("<li><a href='index.html' class='underline'>Japanese</a></li>");
      write("<li><a href='intro.html'>English</a></li>");
    }
    write("</ul>");
    write("</dd>");
    write("</dl>");
  }
}