﻿/* -----

 サイトマップとインフォメーションのスライドによる表示／非表示
 slide.js
 
 slide(element, height)で呼び出し
 element: 'hiddenSitemap' or 'hiddenInfo'
 height: 表示させる縦幅
 
 我ながら稚拙で冗長なスクリプトと思うよ

----- */

h = new Array(0, 0);
var v = 0;
var flag = false;
var stateInfo;
var stateSitemap;

function slide(element, height) {

  if(flag==false){
    document.getElementById("hiddenInfo").style.display = "none";
    document.getElementById("hiddenSitemap").style.display = "none";
    flag = true;
  }
  
  stateInfo = document.getElementById("hiddenInfo").style.display;
  stateSitemap = document.getElementById("hiddenSitemap").style.display;

  if(element=="hiddenSitemap"){
    if(stateInfo=="block"){
      close("hiddenInfo");
      open("hiddenSitemap", height);
    }
    else{
      if(stateSitemap=="none") open("hiddenSitemap", height);
      else close("hiddenSitemap");
    }
  }
  else{
    if(stateSitemap=="block"){
      close("hiddenSitemap");
      open("hiddenInfo", height);
    }
    else{
      if(stateInfo=="none") open("hiddenInfo", height);
      else close("hiddenInfo");
    }
  }
}

function open(element, height){

  document.getElementById(element).style.display = "block";
  
  var n;
  if(element=="hiddenInfo") n = 0;
  else n = 1;
  
  if(h[n]+v++<height) {
    h[n] += v;
    document.getElementById(element).style.height = h[n] + "px";
    if(element=="hiddenInfo") setTimeout("open('hiddenInfo'," + height +")", 20);
	else setTimeout("open('hiddenSitemap'," + height +")", 20);
  }
  else {
    document.getElementById(element).style.height = height + "px";
    v = 0; h[n] = height;
  }
}

function close(element){

  var n;
  if(element=="hiddenInfo") n = 0;
  else n = 1;
  
  if(h[n]-v++>0){
    h[n] -= v;
    if(element=="hiddenInfo") setTimeout("close('hiddenInfo')", 20);
	else setTimeout("close('hiddenSitemap')", 20);
    document.getElementById(element).style.height = h[n] + "px";
  }
  else{
    document.getElementById(element).style.height = "0px";
    document.getElementById(element).style.display = "none";
	v = 0; h[n] = 0;
  }
}
