// 滑动展开
var s=10; // 滑动速度
var minheight=0; // 一级菜单最小高度
var maxheight=0;// 一级菜单最大高度
var maxSubHeight = 0; // 二级菜单最小高度
var minSubHeight = 0; // 二级菜单最大高度
var finish = "true";

/* 调用滑动展开的入口 */
function menuMain(keyId)
{
  var objKey = window.frames["left_frame"].document.getElementById(keyId);
  var intNum = objKey.getAttribute("subMenu");
  var key = objKey.getAttribute("stat");

  // 二级菜单
  if( objKey.className=="level2")
  {
    var objSuppKey = window.frames["left_frame"].document.getElementById(keyId.substring(0,keyId.length-1));
    if( key == "close"  )
    {
      
      maxheight = ( parseInt(objSuppKey.getAttribute("subMenu")) + parseInt(intNum) ) * 30;
      openMenu( objSuppKey.id, maxheight );
      maxSubHeight = intNum * 30;
      openMenu( objKey.id, maxSubHeight );
      objKey.setAttribute("stat","open");

      // 关闭同级菜单
      closeSameLevel(objKey.id);

      // 设置二级菜单颜色
      changeShow(objKey );
    }
    else
      {
        minSubHeight = 0;
        closeMenu( objKey.id, minSubHeight );
        minheight = parseInt(objSuppKey.getAttribute("subMenu")) * 30;
        closeMenu( objSuppKey.id, minheight );
        objKey.setAttribute("stat","close");
        // 设置二级菜单颜色
        changeShow(objKey );
      }
  }
  // 一级菜单
  else if( objKey.className=="level1")
  {
    // 展开
    if(key=="close")
     {
       maxheight=intNum * 30;
       openMenu(keyId, maxheight);
       objKey.setAttribute("stat","open");
       closeSameLevel(keyId);
       changeShow(objKey );
     }
     // 收回
     else
     {
       minheight = 0;
       closeMenu(keyId, minheight); 
       objKey.setAttribute("stat","close");
       changeShow(objKey );
       var objSubKey = null;
       // 需要收回子菜单
       for( var i=1; i < parseInt(objKey.getAttribute("subMenu"))+1; i++ )
       {
          objSubKey = window.frames["left_frame"].document.getElementById(objKey.id + i);
          minSubHeight = 0;
          closeMenu( objSubKey.id, minSubHeight );
          objSubKey.setAttribute("stat","close");
          changeShow(objSubKey );
       }
     }
  }
  // 三级菜单
  else
  {
    if(key=="close")
    {
      // 关闭同级菜单
      closeSameLevel(objKey.id);
      objKey.setAttribute("stat","open");
      changeShow(objKey );
    }
    else
    {
      objKey.setAttribute("stat","close");
      changeShow(objKey );
    }
  }
}


/* 展开一个菜单 */
function openMenu( keyId, intHeight )
{
  var objKey = window.frames["left_frame"].document.getElementById(keyId);
  objKey.style.height = intHeight+"px";
  return;
  
  /*
  var objKey = window.frames["left_frame"].document.getElementById(keyId);
  if(objKey.style.height>=intHeight) return;
  objKey.style.height+=s;
  if(objKey.style.height<intHeight){
   setTimeout("openMenu('"+keyId+"',"+intHeight+");",0);
  }else{
   return;
  }
  */
}

/* 关闭一个菜单 */
function closeMenu( keyId, intHeight )
{
  
  var objKey = window.frames["left_frame"].document.getElementById(keyId);
  objKey.style.height = intHeight+"px";
  return;
  /*var objKey = window.frames["left_frame"].document.getElementById(keyId);
  if(objKey.style.height<=intHeight) return;
  objKey.style.height-=s;
  if(objKey.style.height>intHeight){
   setTimeout("closeMenu('"+keyId+"',"+intHeight+");",0);
  }else{
   return;
  }
  */
}

/* 关闭同级菜单 */
function closeSameLevel( divId )
{
  /*
  
  var objThis = null;
  var objOrg  = window.frames["left_frame"].document.getElementById(divId);
  var objA    = null;
  var objSubThis = null;
  
  // 取得上级菜单
  var objSuppKey = window.frames["left_frame"].document.getElementById(divId.substring(0,divId.length));
  
  // 关闭同级
  for( var i = 1; i < parseInt(objSuppKey.getAttribute("subMenu"))+1; i++ )
  {
    objThis = window.frames["left_frame"].document.getElementById(objSuppKey.id + i );
    if( objOrg.id != objThis.id && objThis.getAttribute("stat") == "open" )
    {
      //menuMain(objThis.id);
      objThis.setAttribute("stat","close");
      closeMenu( objThis.id, 0 );
      changeShow(objThis );
      
      // 关闭子级
      if( objThis.getAttribute("subMenu") != "undefined" )
      {
        for( var j = 1; j < parseInt(objThis.getAttribute("subMenu"))+1; j++ )
        {
          objSubThis = window.frames["left_frame"].document.getElementById(objThis.id + j );
          objSubThis.setAttribute("stat","close");
          closeMenu( objSubThis.id, 0 );
          changeShow(objSubThis );
        }
      }
    }
  }

  // 更改上级菜单长度
  if( objOrg.className == "level1"  ||  objOrg.className == "level2"  )
  {
    var intTemp=parseInt( objSuppKey.getAttribute("subMenu") ) * 30 + parseInt(objOrg.getAttribute("subMenu")) *30;
    closeMenu( objSuppKey.id, intTemp );
    changeShow( objSuppKey );
  }
  */
  
  return;
}

/* 展开至某个连接 */
function openTo( keyId )
{
  var objKey = window.frames["left_frame"].document.getElementById('div'+keyId);

  // 第一层 
  if( objKey.className == "level1" )
  {
    objKey.setAttribute("stat","close");
    menuMain(objKey.id);
  }
  // 第二层 
  else if( objKey.className == "level2" )
  {
    // 需要先打开第一层
    var objSuppKey = window.frames["left_frame"].document.getElementById('div'+keyId.substring(0,keyId.length-1));
    objSuppKey.setAttribute("stat","close");
    menuMain(objSuppKey.id);
    // 然后打开第二层
    objKey.setAttribute("stat","close");
    menuMain(objKey.id);
  }
  // 第三层 
  else if( objKey.className == "level3" )
  {
    // 需要先打开第一、二层
    var objSuppKey1 = window.frames["left_frame"].document.getElementById('div'+keyId.substring(0,keyId.length-2));
    objSuppKey1.setAttribute("stat","close");
    menuMain(objSuppKey1.id);
    
    var objSuppKey2 = window.frames["left_frame"].document.getElementById('div'+keyId.substring(0,keyId.length-1));
    objSuppKey2.setAttribute("stat","close");
    menuMain(objSuppKey2.id);
    
    // 然后打开第三层
    objKey.setAttribute("stat","close");
    menuMain(objKey.id);
  }
}

/* 改变各级菜单显示形式 */
function changeShow(objThis )
{
  // 关闭状态
  if( objThis.getAttribute("stat") == "close" )
  {
    if( objThis.className == "level1" )
      {
        objA = window.frames["left_frame"].document.getElementById("a_"+objThis.id);
        objA.className="close";
      }
      else if( objThis.className == "level2" )
      {
        objA = window.frames["left_frame"].document.getElementById("a_"+objThis.id);
        objA.className="close2";
      }
      else
      {
        objThis.style.color = '#000000';
      }
      
    }
    // 展开状态
    else{
      if( objThis.className == "level1" )
      {
        objA = window.frames["left_frame"].document.getElementById("a_"+objThis.id);
        objA.className="open";
      }
      else if( objThis.className == "level2" )
      {
        objA = window.frames["left_frame"].document.getElementById("a_"+objThis.id);
        objA.className="open2";
      }
      else
      {
        objThis.style.color = '#FFFFFF';
      }
    }
}