//下面是显示设置菜单时的菜单列表的函数。
//菜单的结构保存在数组中（JAVASCRIPT）：
//ManualArr(顶部菜单组1,顶部菜单组2,顶部菜单组3,...)
//顶部菜单组结构为：
//TopManualArr(菜单属性数组,子菜单数组)
//子菜单数组结构为：
//ChildManualArr(子菜单1属性数组,子菜单2属性数组,子菜单3属性数组...)
//菜单属性数组结构为：
//PerManualArr(ID,ParentID,菜单名称,Sort,NewWin,WebID,BbsID,LinkSite,Pic,Remark,InApply,LinkParam)

//菜单前面的分支小图（比如空、|，└、┝）保存在数组ManualDisArr中，结构为：
//ManualDisArr(第一个菜单的分支,第二个菜单的分支,.....)
//菜单的分支用数字表示:
//空：1，┝（带-）：2，└（带-）：3，┝：4，└：5，|：6，┝（带+）：7，└（带+）：8
var ManualDisArr=new Array(); //建立ManualDisArr数组，保存菜单前面的分支小图
function DisplayMenuSet(){
 //该函数返回设置菜单时的菜单的HTML
 ManualDisArr=new Array(); //建立ManualDisArr数组，保存菜单前面的分支小图
 var A="";
 A=A+"<Table border=0 width=90%>";
 A=A+"<Tr>";
 var I,J,K,L;
 K=0;
 var ManualDisParent,ManualDisParent1,ManualDisParent2;   //分别保存父菜单前面的分支小图、前面部分、最后一个字符
 var ManualDis,ManualDis1;  //保存菜单前面的分支小图、前一个小图
 for(I in ManualArr){
  A=A+"<Td valign=top>";
  ManualDisArr[K]="5";//把菜单前面的分支小图保存在数组ManualDisArr中
  K=K+1;
  //显示顶部菜单
  A=A+DisplayPerManual(ManualArr[I][0])+"<br>";
  for(J in ManualArr[I][1]){
   ManualDisParent=ManualDisArr[parseInt(ManualArr[I][1][J][1])-1];
   ManualDisParent1=ManualDisParent.match(/^([1-8]*)[1-8]$/)[1];
   ManualDisParent2=ManualDisParent.match(/^[1-8]*([1-8])$/)[1];
   if(ManualDisParent2=="4"){
    ManualDis=ManualDisParent1+"6";
   }else{
    ManualDis=ManualDisParent1+"1";
   }
   ManualDis1="5";
   for(L=(parseInt(J)+1);L<ManualArr[I][1].length;L++){
    if(ManualArr[I][1][J][1]==ManualArr[I][1][L][1]){
     ManualDis1="4";
     break;
    }
   }
   ManualDis=ManualDis+ManualDis1;
   ManualDisArr[K]=ManualDis;
   K=K+1;
   A=A+DisplayPerManual(ManualArr[I][1][J])+"<br>";
  }
  A=A+"</Td>";
 }
 A=A+"</Tr>";
 A=A+"</Table>";
 return A;
}


//根据数组PerManualArr显示每条菜单
function DisplayPerManual(PMA){
 var A="";
 A=A+ManualDisPic(ManualDisArr[parseInt(PMA[0])-1])+"<Img Src=\"..\/Images\/Manual"+PMA[8]+".Gif\">"
 A=A+"<a id=\"AH"+PMA[0]+"\" onclick=\"ClickManual("+PMA[0]+");\">"+PMA[2]+"</a>";
 if(PMA[10]==0){
  A=A+"<font color=red>[隐藏]</font>";
 }
 return A;
}

//保存菜单前面的分支小图字符显示小图
function ManualDisPic(ManualDisStr){
 var A,I,J;
 A="";
 for(I=0;I<ManualDisStr.length;I++){
  J=ManualDisStr.charAt(I);
  A=A+"<Img Src=\"..\/Images\/ManualFront"+J+".Gif\">";
 }
 return A;
}

//根据ManualArr数组显示顶部菜单的选择框
function DisplayTopManualSelect(){
 var A="<select name=\"TopManualID\" size=1 style=\"width:223;\">";
 var i;
 for(i in ManualArr){
  A=A+"<option value=\""+ManualArr[i][0][0]+"\">"+ManualArr[i][0][2]+"</option>";
 }
 A=A+"</select>";
 return A;
}

//当点击菜单时，把菜单的属性传给控制面板
//ManualID是菜单的ID号
var ClickManualIsTop=0;//当点了菜单时，0表示不是顶部菜单
var ClickTopID=0;//当点顶部菜单时，把它的id号保存在这个变量中
var ClickChildID=0;//当点子菜单时，把它的id号保存在这个变量中
var OldClickTopID=0;//当点顶部菜单时，把它的id号保存在这个变量中
var OldClickChildID=0;//当点子菜单时，把它的id号保存在这个变量中
function ClickManual(ManualID){
 var i;
 var j;
 for(i in ManualArr){
  if(ManualArr[i][0][0]==ManualID){
   ClickManualIsTop=1;
   OldClickTopID=ClickTopID;
   ClickTopID=ManualID;
   if(OldClickTopID!=0){
    var TOB=eval("AH"+OldClickTopID);
    TOB.style.background="";
   }
   var TOB=eval("AH"+ManualID);
   TOB.style.background="red";
   clickTD1();
   Manual1.value=ManualArr[i][0][2];
   Remark1.value=ManualArr[i][0][9];
   Sort1.value=ManualArr[i][0][3];
   NewWin1.value=ManualArr[i][0][4];
   InApply1.value=ManualArr[i][0][10];
   Pic1.value=ManualArr[i][0][8];
   ManualGif1.src="../images/Manual"+ManualArr[i][0][8]+".gif"
   WebID1.value=ManualArr[i][0][5];
   BbsID1.value=ManualArr[i][0][6];
   LinkSite1.value=ManualArr[i][0][7];
   LinkParam1.value=ManualArr[i][0][11];
   changesort1();
   break;
  }else{
   for(j in ManualArr[i][1]){
    if(ManualArr[i][1][j][0]==ManualID){
     ClickManualIsTop=0;
     OldClickChildID=ClickChildID;
     ClickChildID=ManualID;
     if(OldClickChildID!=0){
      var TOB=eval("AH"+OldClickChildID);
      TOB.style.background="";
     }
     var TOB=eval("AH"+ManualID);
     TOB.style.background="red";
     clickTD2();
     TopManualID.value=ManualArr[i][0][0];
     Manual2.value=ManualArr[i][1][j][2];
     Remark2.value=ManualArr[i][1][j][9];
     Sort2.value=ManualArr[i][1][j][3];
     NewWin2.value=ManualArr[i][1][j][4];
     InApply2.value=ManualArr[i][1][j][10];
     Pic2.value=ManualArr[i][1][j][8];
     ManualGif2.src="../images/Manual"+ManualArr[i][1][j][8]+".gif"
     WebID2.value=ManualArr[i][1][j][5];
     BbsID2.value=ManualArr[i][1][j][6];
     LinkSite2.value=ManualArr[i][1][j][7];
     LinkParam2.value=ManualArr[i][1][j][11];
     changesort2();
     break;
     break;
    }
   }
  }
 }
}

//当按了顶部菜单的←和→后处理
function TopMove(MoveDir){
 if(ClickTopID==0){
  alert("请选择一个要移动的上部菜单后再按移动按钮！");
  return;
 }
 //MoveDir=0表示←，1表示→
 var MaxArrNo,i,j,id,oldid,l;//要移动的顶部菜单在ManualArr中的位置
 //取得要移动的位置
 MaxArrNo=ManualArr.length-1;
 for(i in ManualArr){
  if(parseInt(ManualArr[i][0])==parseInt(ClickTopID)){
   j=i;
   break;
  }
 }

 if(j==0&MoveDir==0){
   alert("该顶部菜单已经移到最左边了！");
 }else{
  if(j==MaxArrNo&MoveDir==1){
   alert("该顶部菜单已经移到最右边了！");
  }else{
   var NewManualArr=new Array();
   if(MoveDir==0){
    //跟前面的顶菜单换位置
    for(i in ManualArr){
     if(i==(j-1)){
      NewManualArr[i]=ManualArr[j];
     }else{
      if(i==j){
       NewManualArr[i]=ManualArr[j-1];
      }else{
       NewManualArr[i]=ManualArr[i];
      }
     }
    }
   }else{
    //跟后面的顶菜单换位置
    for(i in ManualArr){
     if(i==(parseInt(j)+1)){
      NewManualArr[i]=ManualArr[j];
     }else{
      if(i==j){
       NewManualArr[i]=ManualArr[parseInt(j)+1];
      }else{
       NewManualArr[i]=ManualArr[i];
      }
     }
    }
   }
   ManualArr=new Array();
   ManualArr=NewManualArr;
   //调整id和parentid
   id=1;
   //建立保存新旧id对比的数组，结构为IDArr(对比数组1,对比数组2...)
   //对比数组的结构为IDAndOldArr(新的ID，旧的ID)
   var IDArr=new Array();
   var IDAndOldArr=new Array();
   l=0;
   for(i in ManualArr){
    oldid=ManualArr[i][0][0];
    if(oldid!=id){
     ManualArr[i][0][0]=id;
     IDAndOldArr=new Array();
     IDAndOldArr[0]=id;
     IDAndOldArr[1]=oldid;
     IDArr[l]=IDAndOldArr;
     l=l+1;
    }
    id=id+1;
    for(j in ManualArr[i][1]){
     oldid=ManualArr[i][1][j][0];
     if(oldid!=id){
      ManualArr[i][1][j][0]=id;
      ManualArr[i][1][j][1]=GetNewID(ManualArr[i][1][j][1],IDArr);
      IDAndOldArr=new Array();
      IDAndOldArr[0]=id;
      IDAndOldArr[1]=oldid;
      IDArr[l]=IDAndOldArr;
      l=l+1;
     }
     id=id+1;
    }
   }

   //显示菜单
   B=DisplayMenuSet();
   md.innerHTML=B;
   //显示顶部菜单的选择
   B=DisplayTopManualSelect();
   TDTopManualSelect.innerHTML=B;
   var ClickChildID1=GetNewID(ClickChildID,IDArr);
   if(ClickChildID1==0){
    ClickChildID1=ClickChildID;
   }
   ClickManual(ClickChildID1);
   ClickManual(GetNewID(ClickTopID,IDArr));
  }
 }
}

//根据旧的id号，从IDArr数组中取得新的id号
function GetNewID(OLDID,IDArrName){
 var i;
 var ID=0;
 for(i in IDArrName){
  if(OLDID==IDArrName[i][1]){
   ID=IDArrName[i][0];
   break;
  }
 }
 return ID;
}

//当按了子菜单的←后处理
function ChildMoveLeft(){
 if(ClickChildID==0){
  alert("请选择一个要移动的子菜单后再按移动按钮！");
  return;
 }
 var i;//要移动的子菜单所在的顶部菜单数组中的位置
 var l;//要移动的子菜单所在的子菜单数组中的位置
 var j,k;//循环顶菜单和子菜单用
 //取得所选子菜单所在的顶部菜单的位置
 for(j in ManualArr){
  for(k in ManualArr[j][1]){
   if(ManualArr[j][1][k][0]==ClickChildID){
    i=j;
    l=k;
    break;
    break;
   }
  }
 }
 //取得要移动的子菜单的父菜单的ID
 var ParentID;
 ParentID=ManualArr[i][1][l][1];

 //取得顶部菜单的id
 var TopID=ManualArr[i][0][0];
 //当父菜单就是顶菜单时，把菜单移动到左边的顶菜单。
 if(ParentID==TopID){
  if(i==0){
   alert("该边菜单已经移到最左边了！");
   return;
  }
  //取得目的顶部菜单的位置
  var TargetTop=i-1;
  //取得目的顶部菜单的id
  var TargetTopID=ManualArr[TargetTop][0][0];
  //把要移动的菜单加到目的菜单中
  var TempManualArr=new Array();
  TempManualArr[0]=TopID;
  TempManualArr[1]=TargetTopID;
  TempManualArr[2]=ManualArr[i][1][l][2];
  TempManualArr[3]=ManualArr[i][1][l][3];
  TempManualArr[4]=ManualArr[i][1][l][4];
  TempManualArr[5]=ManualArr[i][1][l][5];
  TempManualArr[6]=ManualArr[i][1][l][6];
  TempManualArr[7]=ManualArr[i][1][l][7];
  TempManualArr[8]=ManualArr[i][1][l][8];
  TempManualArr[9]=ManualArr[i][1][l][9];
  TempManualArr[10]=ManualArr[i][1][l][10];
  TempManualArr[11]=ManualArr[i][1][l][11];
  ManualArr[TargetTop][1].push(TempManualArr);
  var OldID=ClickChildID;
  ClickChildID=TopID;
  //处理原来数组
  ManualArr[i][0][0]=parseInt(TopID)+1;
  TempManualArr=new Array();
  var TempManualArr1=new Array();
  k=parseInt(TopID)+2;
  var n,m;
  n=0;
  m=0;

  //建立保存新旧id对比的数组，结构为IDArr(对比数组1,对比数组2...)
  //对比数组的结构为IDAndOldArr(新的ID，旧的ID)
  var IDArr=new Array();
  var IDAndOldArr=new Array();
  
  for(j in ManualArr[i][1]){
   if(ManualArr[i][1][j][0]!=OldID){
    TempManualArr1=new Array();
    TempManualArr1[0]=k;
    TempManualArr1[1]=ManualArr[i][1][j][1];
    TempManualArr1[2]=ManualArr[i][1][j][2];
    TempManualArr1[3]=ManualArr[i][1][j][3];
    TempManualArr1[4]=ManualArr[i][1][j][4];
    TempManualArr1[5]=ManualArr[i][1][j][5];
    TempManualArr1[6]=ManualArr[i][1][j][6];
    TempManualArr1[7]=ManualArr[i][1][j][7];
    TempManualArr1[8]=ManualArr[i][1][j][8];
    TempManualArr1[9]=ManualArr[i][1][j][9];
    TempManualArr1[10]=ManualArr[i][1][j][10];
    TempManualArr1[11]=ManualArr[i][1][j][11];
    TempManualArr[n]=TempManualArr1;
    if(ManualArr[i][1][j][0]!=k){
     IDAndOldArr=new Array();
     IDAndOldArr[0]=k;
     IDAndOldArr[1]=ManualArr[i][1][j][0];
     IDArr[m]=IDAndOldArr;
     m=parseInt(m)+1;
    }
    var newparentid;
    newparentid=ManualArr[i][1][j][1];

    if(newparentid==OldID|newparentid==TopID){
     newparentid=parseInt(TopID)+1;
    }else{
     var a=GetNewID(newparentid,IDArr);
     if(a!=0){
      newparentid=a;
     }
    }
    TempManualArr[n][1]=newparentid;
    k=parseInt(k)+1;
    n=parseInt(n)+1;
   }
  }

  ManualArr[i][1]=TempManualArr;

  //显示菜单
  B=DisplayMenuSet();
  md.innerHTML=B;
  //显示被选的菜单
  var ClickChildID1=ClickChildID;
  if(ClickTopID==TopID){
   ClickTopID=parseInt(ClickTopID)+1;
  }
  var ClickTopID1=ClickTopID;
  ClickManual(ClickTopID1);
  ClickManual(ClickChildID1);
  return;
 }

 //当父菜单不是顶菜单时
 //取得父菜单的父菜单ID
 var ParentParentID;
 for(k in ManualArr[i][1]){
  if(ManualArr[i][1][k][0]==ParentID){
   ParentParentID=ManualArr[i][1][k][1];
   break;
  }
 }

 //把要移动的菜单的父菜单改成ParentParentID
 ManualArr[i][1][l][1]=ParentParentID;
 //把后面的平行菜单改成子菜单
 for(k in ManualArr[i][1]){
  if(ManualArr[i][1][k][1]==ParentID&ManualArr[i][1][k][0]>ClickChildID){
   ManualArr[i][1][k][1]=ClickChildID;
  }
 }

 //显示菜单
 DisplayManualUpdate(1);
}

//当按了子菜单的→后处理
function ChildMoveRight(){
 if(ClickChildID==0){
  alert("请选择一个要移动的子菜单后再按移动按钮！");
  return;
 }
 var i;//要移动的子菜单所在的顶部菜单数组中的位置
 var j;//要移动的子菜单所在的子菜单数组中的位置
 var l,k;//循环顶菜单和子菜单用
 //取得所选子菜单所在的顶部菜单的位置
 for(l in ManualArr){
  for(k in ManualArr[l][1]){
   if(ManualArr[l][1][k][0]==ClickChildID){
    i=l;
    j=k;
    break;
    break;
   }
  }
 }
 //取得要移动的子菜单的父菜单的ID
 var ParentID;
 ParentID=ManualArr[i][1][j][1];

 //取得比所选菜单序号小的同级菜单的序号
 var n=-1;//比所选菜单序号小的同级菜单的序号
 for(l=(j-1);l>=0;l--){
  if(ManualArr[i][1][l][1]==ParentID){
   n=l;
   break;
  }
 }

 //如果有比所选菜单序号小的同级菜单的序号就移一位
 if(n>=0){
  ManualArr[i][1][j][1]=ManualArr[i][1][n][0];
  //把子菜单的父菜单改成n
  for(l in ManualArr[i][1]){
   if(ManualArr[i][1][l][1]==ClickChildID){
    ManualArr[i][1][l][1]=ManualArr[i][1][n][0];
   }
  }
 }else{
  //否则移到右边
  var MaxArrNo=ManualArr.length-1;//最右边的顶部菜单序号
  var MoveToTop=parseInt(i)+1;
  
  if(MoveToTop>MaxArrNo){//如果已经是最右边
   alert("该边菜单已经移到最右边了！");
   return;
  }else{//如果不是最右边
   //处理原数组
   var NewManualArr=new Array();
   var NewChildArr=new Array();
   //对比数组的结构为IDAndOldArr(新的ID，旧的ID)
   var IDArr=new Array();
   var IDAndOldArr=new Array();
   var m=0;
   var p=0;
   //把子菜单的父菜单改成跟所选菜单一样
   k=parseInt(ManualArr[i][0][0])+1;
   for(l in ManualArr[i][1]){
    NewChildArr=new Array();
    if(ManualArr[i][1][l][0]!=ClickChildID){
     if(ManualArr[i][1][l][1]==ClickChildID){
      NewChildArr[0]=k;
      NewChildArr[1]=ManualArr[i][1][j][1];
     }else{
      var newparentid=ManualArr[i][1][l][1];
      var a=GetNewID(ManualArr[i][1][l][1],IDArr);
      if(a!=0){
       newparentid=a;
      }
      NewChildArr[0]=k;
      NewChildArr[1]=newparentid;
     }
     if(ManualArr[i][1][l][0]!=k){
      IDAndOldArr=new Array();
      IDAndOldArr[0]=k;
      IDAndOldArr[1]=ManualArr[i][1][l][0];
      IDArr[m]=IDAndOldArr;
      m=parseInt(m)+1;
     }
     NewChildArr[2]=ManualArr[i][1][l][2];
     NewChildArr[3]=ManualArr[i][1][l][3];
     NewChildArr[4]=ManualArr[i][1][l][4];
     NewChildArr[5]=ManualArr[i][1][l][5];
     NewChildArr[6]=ManualArr[i][1][l][6];
     NewChildArr[7]=ManualArr[i][1][l][7];
     NewChildArr[8]=ManualArr[i][1][l][8];
     NewChildArr[9]=ManualArr[i][1][l][9];
     NewChildArr[10]=ManualArr[i][1][l][10];
     NewChildArr[11]=ManualArr[i][1][l][11];
     k=parseInt(k)+1;
     NewManualArr[p]=NewChildArr;
     p=parseInt(p)+1;
    }
   }
   NewChildArr=new Array();
   NewChildArr[0]=ManualArr[i][1][j][0];
   NewChildArr[1]=ManualArr[i][1][j][1];
   NewChildArr[2]=ManualArr[i][1][j][2];
   NewChildArr[3]=ManualArr[i][1][j][3];
   NewChildArr[4]=ManualArr[i][1][j][4];
   NewChildArr[5]=ManualArr[i][1][j][5];
   NewChildArr[6]=ManualArr[i][1][j][6];
   NewChildArr[7]=ManualArr[i][1][j][7];
   NewChildArr[8]=ManualArr[i][1][j][8];
   NewChildArr[9]=ManualArr[i][1][j][9];
   NewChildArr[10]=ManualArr[i][1][j][10];
   NewChildArr[11]=ManualArr[i][1][j][11];
   ManualArr[i][1]=NewManualArr;
   //处理后面数组
   var NextTopID=ManualArr[MoveToTop][0][0];//取得右边顶部菜单的ID
   ManualArr[MoveToTop][0][0]= NextTopID-1;
   k=NextTopID;
   for(l in ManualArr[MoveToTop][1]){
    ManualArr[MoveToTop][1][l][0]=ManualArr[MoveToTop][1][l][0]-1;
    ManualArr[MoveToTop][1][l][1]=ManualArr[MoveToTop][1][l][1]-1;
    k=parseInt(k)+1;
   }
   NewChildArr[0]=k;
   NewChildArr[1]=NextTopID-1;
   ManualArr[MoveToTop][1].push(NewChildArr);
   ClickChildID=k;
  }
 }
 //显示菜单
 DisplayManualUpdate(1);
}

//当按了子菜单的↑↓后处理
function ChildMoveUpDown(Dir){
 if(ClickChildID==0){
  alert("请选择一个要移动的子菜单后再按移动按钮！");
  return;
 }
 //当Dir=1时，表示向上移动，0表示向下移动
 var i;//要移动的子菜单所在的顶部菜单数组中的位置
 var l;//要移动的子菜单所在的子菜单数组中的位置
 var j,k;//循环顶菜单和子菜单用
 //取得所选子菜单所在的顶部菜单的位置
 for(j in ManualArr){
  for(k in ManualArr[j][1]){
   if(ManualArr[j][1][k][0]==ClickChildID){
    i=j;
    l=k;
    break;
    break;
   }
  }
 }

 var MaxNo=ManualArr[i][1].length-1;//最下面的菜单序号
 if(Dir==0){
  if(l==MaxNo){
   alert("该菜单已经移动最下面了！");
   return;
  }else{
   var NewChildArr=new Array();
   var NewChildArr1=new Array();
   NewChildArr[0]=ManualArr[i][1][parseInt(l)+1][0];
   NewChildArr[1]=ManualArr[i][1][parseInt(l)+1][1];
   NewChildArr[2]=ManualArr[i][1][l][2];
   NewChildArr[3]=ManualArr[i][1][l][3];
   NewChildArr[4]=ManualArr[i][1][l][4];
   NewChildArr[5]=ManualArr[i][1][l][5];
   NewChildArr[6]=ManualArr[i][1][l][6];
   NewChildArr[7]=ManualArr[i][1][l][7];
   NewChildArr[8]=ManualArr[i][1][l][8];
   NewChildArr[9]=ManualArr[i][1][l][9];
   NewChildArr[10]=ManualArr[i][1][l][10];
   NewChildArr[11]=ManualArr[i][1][l][11];
   NewChildArr1[0]=ManualArr[i][1][l][0];
   NewChildArr1[1]=ManualArr[i][1][l][1];
   NewChildArr1[2]=ManualArr[i][1][parseInt(l)+1][2];
   NewChildArr1[3]=ManualArr[i][1][parseInt(l)+1][3];
   NewChildArr1[4]=ManualArr[i][1][parseInt(l)+1][4];
   NewChildArr1[5]=ManualArr[i][1][parseInt(l)+1][5];
   NewChildArr1[6]=ManualArr[i][1][parseInt(l)+1][6];
   NewChildArr1[7]=ManualArr[i][1][parseInt(l)+1][7];
   NewChildArr1[8]=ManualArr[i][1][parseInt(l)+1][8];
   NewChildArr1[9]=ManualArr[i][1][parseInt(l)+1][9];
   NewChildArr1[10]=ManualArr[i][1][parseInt(l)+1][10];
   NewChildArr1[11]=ManualArr[i][1][parseInt(l)+1][11];
   ManualArr[i][1][l]=NewChildArr1;
   ManualArr[i][1][parseInt(l)+1]=NewChildArr;
   ClickChildID=parseInt(ClickChildID)+1;
  }
 }else{
  if(l==0){
   alert("该菜单已经移动最上面了！");
   return;
  }else{
   var NewChildArr=new Array();
   var NewChildArr1=new Array();
   NewChildArr[0]=ManualArr[i][1][l-1][0];
   NewChildArr[1]=ManualArr[i][1][l-1][1];
   NewChildArr[2]=ManualArr[i][1][l][2];
   NewChildArr[3]=ManualArr[i][1][l][3];
   NewChildArr[4]=ManualArr[i][1][l][4];
   NewChildArr[5]=ManualArr[i][1][l][5];
   NewChildArr[6]=ManualArr[i][1][l][6];
   NewChildArr[7]=ManualArr[i][1][l][7];
   NewChildArr[8]=ManualArr[i][1][l][8];
   NewChildArr[9]=ManualArr[i][1][l][9];
   NewChildArr[10]=ManualArr[i][1][l][10];
   NewChildArr[11]=ManualArr[i][1][l][11];
   NewChildArr1[0]=ManualArr[i][1][l][0];
   NewChildArr1[1]=ManualArr[i][1][l][1];
   NewChildArr1[2]=ManualArr[i][1][l-1][2];
   NewChildArr1[3]=ManualArr[i][1][l-1][3];
   NewChildArr1[4]=ManualArr[i][1][l-1][4];
   NewChildArr1[5]=ManualArr[i][1][l-1][5];
   NewChildArr1[6]=ManualArr[i][1][l-1][6];
   NewChildArr1[7]=ManualArr[i][1][l-1][7];
   NewChildArr1[8]=ManualArr[i][1][l-1][8];
   NewChildArr1[9]=ManualArr[i][1][l-1][9];
   NewChildArr1[10]=ManualArr[i][1][l-1][10];
   NewChildArr1[11]=ManualArr[i][1][l-1][11];
   ManualArr[i][1][l]=NewChildArr1;
   ManualArr[i][1][l-1]=NewChildArr;
   ClickChildID=ClickChildID-1;
  }
 }
 //显示菜单
 DisplayManualUpdate(1);
}

//当按了顶部菜单的增加时
function AddTopManual(){
 var v=new Array();
 v[2]=Manual1.value;
 if(v[2].match(/^[ \t]*$/)!=null){
  alert("菜单名称不能空！");
  return;
 }
 v[0]=0;
 var i,j;
 for(i in ManualArr){
  v[0]=ManualArr[i][0][0];
  for(j in ManualArr[i][1]){
   v[0]=ManualArr[i][1][j][0];
  }
 }
 v[0]=parseInt(v[0])+1;
 v[1]=0;
 v[3]=Sort1.value;
 v[4]=NewWin1.value;
 v[5]=WebID1.value;
 v[6]=BbsID1.value;
 v[7]=LinkSite1.value;
 v[8]=Pic1.value;
 v[9]=Remark1.value;
 v[10]=InApply1.value;
 v[11]=LinkParam1.value;
 ClickTopID=v[0];
 var MT=new Array();
 var MC=new Array();
 MT[0]=v;
 MT[1]=MC;
 ManualArr[parseInt(i)+1]=MT;
 //显示顶部菜单的选择
 B=DisplayTopManualSelect();
 TDTopManualSelect.innerHTML=B;
 //显示菜单
 DisplayManualUpdate(0);
}

//当按了顶部菜单的删除时
function DelTopManual(){
 if(ClickTopID==0){
  alert("请选择一个要删除的上部菜单后再按删除按钮！");
  return;
 }
 var c=false;
 if(ClickTopID!=0){
  c=window.confirm("你确定要删除所选的上部菜单吗？");
 }
 if(c==false){
  return;
 }
 var i,j;
 var id=1;
 var m=0;
 var k=0;
 var ManualArr1=new Array();
 var MT=new Array();
 var MTP=new Array();
 var MC=new Array();
 var MCP=new Array();
 //对比数组的结构为IDAndOldArr(新的ID，旧的ID)
 var IDArr=new Array();
 var IDAndOldArr=new Array();
 for(i in ManualArr){
  if(ManualArr[i][0][0]!=ClickTopID){
   MT=new Array();
   MT[0]=id;
   if(ManualArr[i][0][0]!=id){
    IDAndOldArr=new Array();
    IDAndOldArr[0]=id;
    IDAndOldArr[1]=ManualArr[i][0][0];
    IDArr[m]=IDAndOldArr;
    m=parseInt(m)+1;
   }
   MT[1]=0;
   MT[2]=ManualArr[i][0][2];
   MT[3]=ManualArr[i][0][3];
   MT[4]=ManualArr[i][0][4];
   MT[5]=ManualArr[i][0][5];
   MT[6]=ManualArr[i][0][6];
   MT[7]=ManualArr[i][0][7];
   MT[8]=ManualArr[i][0][8];
   MT[9]=ManualArr[i][0][9];
   MT[10]=ManualArr[i][0][10];
   MT[11]=ManualArr[i][0][11];
   id=parseInt(id)+1;
   MC=new Array();
   for(j in ManualArr[i][1]){
    MCP=new Array();
    MCP[0]=id;
    if(ManualArr[i][1][j][0]!=id){
     IDAndOldArr=new Array();
     IDAndOldArr[0]=id;
     IDAndOldArr[1]=ManualArr[i][1][j][0];
     IDArr[m]=IDAndOldArr;
     m=parseInt(m)+1;
    }    
    var newparentid=ManualArr[i][1][j][1];
    var a=GetNewID(newparentid,IDArr);
    if(a!=0){
     newparentid=a;
    }
    MCP[1]=newparentid;
    MCP[2]=ManualArr[i][1][j][2];
    MCP[3]=ManualArr[i][1][j][3];
    MCP[4]=ManualArr[i][1][j][4];
    MCP[5]=ManualArr[i][1][j][5];
    MCP[6]=ManualArr[i][1][j][6];
    MCP[7]=ManualArr[i][1][j][7];
    MCP[8]=ManualArr[i][1][j][8];
    MCP[9]=ManualArr[i][1][j][9];
    MCP[10]=ManualArr[i][1][j][10];
    MCP[11]=ManualArr[i][1][j][11];
    id=parseInt(id)+1;
    MC[j]=MCP;
   }
   MTP=new Array();
   MTP[0]=MT;
   MTP[1]=MC;
   ManualArr1[k]=MTP;
   k=parseInt(k)+1;
  }
 }
 ManualArr=ManualArr1;
 ClickTopID=0;
 //显示顶部菜单的选择
 B=DisplayTopManualSelect();
 TDTopManualSelect.innerHTML=B;
 //显示菜单
 DisplayManualUpdate(0);
}


//当按了顶部菜单的修改时
function UpdateTopManual(){
 if(ClickTopID==0){
  alert("请选择一个要修改的上部菜单后再按修改按钮！");
  return;
 }
 var v;
 v=Manual1.value;
 if(v.match(/^[ \t]*$/)!=null){
  alert("菜单名称不能空！");
  return;
 }
 var i,j;
 for(i in ManualArr){
  if(ManualArr[i][0][0]==ClickTopID){
   break;
  }
 }
 ToArr(ManualArr[i][0],0,ClickTopID,0);
 //显示顶部菜单的选择
 B=DisplayTopManualSelect();
 TDTopManualSelect.innerHTML=B;
 //显示菜单
 DisplayManualUpdate(0);
}

//当修改菜单后显示菜单和被选项
function DisplayManualUpdate(TopOrChild){
 //TopOrChild=0表示修改了上部菜单，否则表示修改了子菜单
 //显示菜单
 B=DisplayMenuSet();
 md.innerHTML=B;
 //显示被选的菜单
 var ClickChildID1=ClickChildID;
 var ClickTopID1=ClickTopID;
 if(TopOrChild==0){
  ClickManual(ClickChildID1);
  ClickManual(ClickTopID1);
 }else{
  ClickManual(ClickTopID1);
  ClickManual(ClickChildID1);
 }
}


//当增加子菜单时
function AddChildManual(){
 var ManualName=Manual2.value;
 if(ManualName.match(/^[ \t]*$/)!=null){
  alert("菜单名称不能空！");
  return;
 }
 var TopID=TopManualID.value;//要增加的子菜单所属上部菜单的ID
 if(TopID==0|TopID==""){
  alert("请增加上部菜单后再增加子菜单！");
  return;
 }
 var i,j;
 var id=1;
 var NewManualArr=new Array();
 var NewTopManualArr=new Array();
 var NewChildManualArr=new Array();
 var NewPerManualArr=new Array();
 var IDArr=new Array();
 for(i in ManualArr){
  NewTopManualArr=new Array();
  NewPerManualArr=new Array();
  ArrToArr(ManualArr[i][0],NewPerManualArr);
  AddIDToArr(id,ManualArr[i][0],IDArr);
  NewPerManualArr[0]=id;
  NewTopManualArr[0]=NewPerManualArr;
  id=parseInt(id)+1;
  NewChildManualArr=new Array();
  for(j in ManualArr[i][1]){
   NewPerManualArr=new Array();
   ArrToArr(ManualArr[i][1][j],NewPerManualArr);
   AddIDToArr(id,ManualArr[i][1][j],IDArr);
   NewPerManualArr[0]=id;
   ChangeParentID(NewPerManualArr,IDArr);
   id=parseInt(id)+1;
   NewChildManualArr[j]=NewPerManualArr;
  }
  if(ManualArr[i][0][0]==TopID){
   NewPerManualArr=new Array();
   ToArr(NewPerManualArr,1,id,TopID);
   ClickChildID=id;
   id=parseInt(id)+1;
   NewChildManualArr.push(NewPerManualArr);
  }
  NewTopManualArr[1]=NewChildManualArr;
  NewManualArr.push(NewTopManualArr);
 }
 ManualArr=NewManualArr;
 //显示顶部菜单的选择
 B=DisplayTopManualSelect();
 TDTopManualSelect.innerHTML=B;
 //显示菜单
 DisplayManualUpdate(1);
}

//当删除子菜单时
function DelChildManual(){
 if(ClickChildID==0){
  alert("请选择一个要删除的子菜单后再按删除按钮！");
  return;
 }
 var c=window.confirm("你确定要删除所选的子菜单吗？");
 if(c==false){
  return;
 }
 var i,j;
 var id=1;
 var NewManualArr=new Array();
 var NewTopManualArr=new Array();
 var NewChildManualArr=new Array();
 var NewPerManualArr=new Array();
 var IDArr=new Array();
 for(i in ManualArr){
  NewTopManualArr=new Array();
  NewPerManualArr=new Array();
  ArrToArr(ManualArr[i][0],NewPerManualArr);
  AddIDToArr(id,ManualArr[i][0],IDArr);
  NewPerManualArr[0]=id;
  NewTopManualArr[0]=NewPerManualArr;
  id=parseInt(id)+1;
  NewChildManualArr=new Array();
  for(j in ManualArr[i][1]){
   if(ManualArr[i][1][j][0]!=ClickChildID){
    NewPerManualArr=new Array();
    ArrToArr(ManualArr[i][1][j],NewPerManualArr);
    AddIDToArr(id,ManualArr[i][1][j],IDArr);
    NewPerManualArr[0]=id;
    if(NewPerManualArr[1]==ClickChildID){
     NewPerManualArr[1]=ManualArr[i][0][0];
    }
    ChangeParentID(NewPerManualArr,IDArr);
    id=parseInt(id)+1;
    NewChildManualArr.push(NewPerManualArr);
   }
  }
  NewTopManualArr[1]=NewChildManualArr;
  NewManualArr.push(NewTopManualArr);
 }
 ManualArr=NewManualArr;
 ClickChildID=0;
 //显示顶部菜单的选择
 B=DisplayTopManualSelect();
 TDTopManualSelect.innerHTML=B;
 //显示菜单
 DisplayManualUpdate(1);
}

//当修改子菜单时
function UpdateChildManual(){
 if(ClickChildID==0){
  alert("请选择一个要修改的子菜单后再按修改按钮！");
  return;
 }
 var ManualName=Manual2.value;
 if(ManualName.match(/^[ \t]*$/)!=null){
  alert("菜单名称不能空！");
  return;
 }
 var i,j;
 for(i in ManualArr){
  for(j in ManualArr[i][1]){
   if(ManualArr[i][1][j][0]==ClickChildID){
    ToArr(ManualArr[i][1][j],1,ManualArr[i][1][j][0],ManualArr[i][1][j][1]);
   }
  }
 }
 //显示菜单
 DisplayManualUpdate(1);
}

//把控制面板的参数传给数组
function ToArr(ArrName,TopOrChild,ID,ParentID){
 //ArrName是数组的名称，TopOrChild=0表示是上部菜单，否则是子菜单
 ArrName[0]=ID;
 ArrName[1]=ParentID;
 if(TopOrChild==0){
  ArrName[2]=Manual1.value;
  ArrName[3]=Sort1.value;
  ArrName[4]=NewWin1.value;
  ArrName[5]=WebID1.value;
  ArrName[6]=BbsID1.value;
  ArrName[7]=LinkSite1.value;
  ArrName[8]=Pic1.value;
  ArrName[9]=Remark1.value;
  ArrName[10]=InApply1.value;
  ArrName[11]=LinkParam1.value;
 }else{
  ArrName[2]=Manual2.value;
  ArrName[3]=Sort2.value;
  ArrName[4]=NewWin2.value;
  ArrName[5]=WebID2.value;
  ArrName[6]=BbsID2.value;
  ArrName[7]=LinkSite2.value;
  ArrName[8]=Pic2.value;
  ArrName[9]=Remark2.value;
  ArrName[10]=InApply2.value;
  ArrName[11]=LinkParam2.value;
 }
 //下面保证写入数据库时为数字
 if(ArrName[5]==""){ArrName[5]=0;};
 if(ArrName[6]==""){ArrName[6]=0;};
 if(ArrName[8]==""){ArrName[8]=0;};
}

//把一个数组传给另一个数组
function ArrToArr(SArr,TArr){
 TArr[0]=SArr[0];
 TArr[1]=SArr[1];
 TArr[2]=SArr[2];
 TArr[3]=SArr[3];
 TArr[4]=SArr[4];
 TArr[5]=SArr[5];
 TArr[6]=SArr[6];
 TArr[7]=SArr[7];
 TArr[8]=SArr[8];
 TArr[9]=SArr[9];
 TArr[10]=SArr[10];
 TArr[11]=SArr[11];
}

//当新ID跟就ID不同时，把新旧ID加到数组中
function AddIDToArr(NewID,OldArr,IDArrName){
 if(OldArr[0]!=NewID){
  var IDAndOldArr=new Array();
  IDAndOldArr[0]=NewID;
  IDAndOldArr[1]=OldArr[0];
  IDArrName.push(IDAndOldArr);
 }
}

//如果数组中的父ID在数组IDArr中有记录，就改变
function ChangeParentID(ArrName,IDArrName){
 var NewID=GetNewID(ArrName[1],IDArrName);
 if(NewID!=0){
   ArrName[1]=NewID;
 }
}

//把ManualArr中的数据转换成字符串
function ManualArrToStr(){
 var A="";
 A="//表示注释"+"\n";
 A=A+"//请不要编辑本文件，否则，可能会破坏文件结构"+"\n";
 A=A+"//把本文件的数据导入系统会删除本系统以前的菜单结构"+"\n";
 A=A+"//换行符号分割开各个属性"+"\n";
 A=A+"//格式版本"+"\n";
 A=A+"Ver:Manual_V706"+"\n";
 A=A+"//这里开始记录菜单结构，用ManualBegin开始，用ManualEnd结束"+"\n";
 A=A+"ManualBegin"+"\n";
 var i,j;
 for(i in ManualArr){
  A=A+"//这里记录每个菜单，用PerManualBegin开始，用PerManualEnd结束"+"\n";
  A=A+"PerManualBegin"+"\n";
  A=A+"ID:"+ManualArr[i][0][0]+"\n";
  A=A+"ParentID:"+ManualArr[i][0][1]+"\n";
  A=A+"Manual:"+ManualArr[i][0][2]+"\n";
  A=A+"Sort:"+ManualArr[i][0][3]+"\n";
  A=A+"NewWin:"+ManualArr[i][0][4]+"\n";
  A=A+"WebID:"+ManualArr[i][0][5]+"\n";
  A=A+"BbsID:"+ManualArr[i][0][6]+"\n";
  A=A+"LinkSite:"+ManualArr[i][0][7]+"\n";
  A=A+"Pic:"+ManualArr[i][0][8]+"\n";
  A=A+"Remark:"+ManualArr[i][0][9]+"\n";
  A=A+"InApply:"+ManualArr[i][0][10]+"\n";
  A=A+"LinkParam:"+ManualArr[i][0][11]+"\n";
  A=A+"PerManualEnd"+"\n";
  for(j in ManualArr[i][1]){
   A=A+"//这里记录每个菜单，用PerManualBegin开始，用PerManualEnd结束"+"\n";
   A=A+"PerManualBegin"+"\n";
   A=A+"ID:"+ManualArr[i][1][j][0]+"\n";
   A=A+"ParentID:"+ManualArr[i][1][j][1]+"\n";
   A=A+"Manual:"+ManualArr[i][1][j][2]+"\n";
   A=A+"Sort:"+ManualArr[i][1][j][3]+"\n";
   A=A+"NewWin:"+ManualArr[i][1][j][4]+"\n";
   A=A+"WebID:"+ManualArr[i][1][j][5]+"\n";
   A=A+"BbsID:"+ManualArr[i][1][j][6]+"\n";
   A=A+"LinkSite:"+ManualArr[i][1][j][7]+"\n";
   A=A+"Pic:"+ManualArr[i][1][j][8]+"\n";
   A=A+"Remark:"+ManualArr[i][1][j][9]+"\n";
   A=A+"InApply:"+ManualArr[i][1][j][10]+"\n";
   A=A+"LinkParam:"+ManualArr[i][1][j][11]+"\n";
   A=A+"PerManualEnd"+"\n";
  }
 }
 A=A+"ManualEnd"+"\n";
 return A;
}

//当按保存时
function Save(){
 var v=window.confirm("你确定要保存对菜单的修改吗？");
 if(v==false){
  return false;
 }
 form1.ManualStr.value=ManualArrToStr();
 return true;
}
