//代码写得挺乱的,以后有时间再整理吧
//科长说了,赶进度嘛@`@
var oXmlDom=new ActiveXObject("Microsoft.XMLDOM");
oXmlDom.async=false;

function JStreeCheck(tablename,filename,elementsname,treelevel,lastflag,disptext)
{
 try
 {
  var temp=eval(tablename+"_tr");
 }
 catch(err)
 {
  BeforeAdd(tablename,filename,elementsname,treelevel,lastflag,disptext);
  return false;
 }
 
 var temp=eval(tablename+"_"+filename);
 
 if(temp.style.display=="none")
 {
  temp.style.display="block";
  ResetImgState(tablename,lastflag,true);
 }
 else
 {
  temp.style.display="none";
  var temp=eval(tablename+"_tr");
  temp.style.height=0;
  var temp=eval(tablename+"_td");
  temp.style.height=0;
  ResetImgState(tablename,lastflag,false);
 }
}
//imgflag=true open
//imgflag=false closed
function ResetImgState(tablename,lastflag,imgflag)
{
 var img1=eval(tablename+"_img1");
 var img2=eval(tablename+"_img2");
 
 if(lastflag==true)
 {
  if(imgflag==true)
  {
   img1.src="image/tree/minus2.gif";
   img2.src="image/tree/folderOpen.gif";
  }
  else
  {
   img1.src="image/tree/plus2.gif";
   img2.src="image/tree/folderClosed.gif";
  }
 }
 else
 {
  if(imgflag==true)
  {
   img1.src="image/tree/minus3.gif";
   img2.src="image/tree/folderOpen.gif";
  }
  else
  {
   img1.src="image/tree/plus3.gif";
   img2.src="image/tree/folderClosed.gif";
  }
 }
}

function MakeXmlTable(tablename,filename,elementsname,treelevel,lastflag,disptext)
{
 oXmlDom.load("daqw_xml/"+filename+".xml");

 if(oXmlDom.parseError!=0)
 {
  alert("文件载入失败,请重试!!!");
  var temp=eval(tablename);
  temp.deleteRow(0);
  var sarray=new Array();
  sarray=tablename.split('_'); 
  var temp=eval(sarray[0]);
  temp.deleteRow(1);
  ResetImgState(sarray[0],lastflag,false);
 }
 else
 {
  var temp=eval(tablename);
  temp.deleteRow(0);
  var element=oXmlDom.getElementsByTagName(elementsname);
  
  var temp=eval(tablename);
   
  for(var i=0;i<element.length;i++)
  {
   newRow=temp.insertRow();
   newCell=newRow.insertCell();
   newCell.Height=18;
   
   var thefirstnode=element[i].firstChild;
   var thesecondnode=thefirstnode.nextSibling;
   var thelastnode=element[i].lastChild;
   var tempstr=thefirstnode.xml;
   
   var nextfilename=tempstr.substring(tempstr.indexOf(">")+1,tempstr.indexOf("</"));
   
   var temptxt="";
   
   if(disptext=="")
   {
    temptxt=nextfilename;
   }
   else
   {
    temptxt=disptext+"|"+nextfilename;
   }
   
   tempstr=thelastnode.xml;
   var nextxmlelement=tempstr.substring(tempstr.indexOf(">")+1,tempstr.indexOf("</"));
   
   tempstr=thesecondnode.xml;
   
   var dispwords=tempstr.substring(tempstr.indexOf(">")+1,tempstr.indexOf("</"));
   temptxt=temptxt+"-"+dispwords;
   
   dispwords=dispwords.substring(0,12);

   var str="";
   
   str="<table width="+(250-treelevel*18)+" id="+tablename+"_"+i+" cellpadding=0 cellspacing=0 border=0>";
   
   if(nextxmlelement!="")
   {
    if(i==element.length-1)
     str=str+"<tr><td width=18><img src='image/tree/plus2.gif' id='"+tablename+"_"+i+"_img1' border=0 onclick=JStreeCheck('"+tablename+"_"+i+"','"+nextfilename+"','"+nextxmlelement+"',"+treelevel+",true,'"+temptxt+"') style='cursor:hand'></td>";
    else
     str=str+"<tr><td width=18><img src='image/tree/plus3.gif' id='"+tablename+"_"+i+"_img1' border=0 onclick=JStreeCheck('"+tablename+"_"+i+"','"+nextfilename+"','"+nextxmlelement+"',"+treelevel+",false,'"+temptxt+"') style='cursor:hand'></td>"; 
   }
   else
   {
    if(i==element.length-1)
     str=str+"<tr><td width=18><img src='image/tree/minus2.gif' id='"+tablename+"_"+i+"_img1' border=0></td>";
    else
     str=str+"<tr><td width=18><img src='image/tree/minus3.gif' id='"+tablename+"_"+i+"_img1' border=0></td>";
   }


   str=str+"<td width=18><img src='image/tree/folderClosed.gif' id='"+tablename+"_"+i+"_img2' border=0></td>";   
   str=str+"<td width="+(250-treelevel*18-36)+" valign='bottom'><a href=javascript:setTextValue('"+temptxt+"')>"+dispwords+"</a></td></tr></table>";    
   //str=str+"<td width="+(250-treelevel*18-36)+">aaaaaa</td></tr>";
   
   newCell.innerHTML=str;
  }
 }
}

function BeforeAdd(tablename,filename,elementsname,treelevel,lastflag,disptext)
{
 theTable=eval(tablename);
 ResetImgState(tablename,lastflag,true);
 newRow=theTable.insertRow();
 newRow.id=tablename+"_tr";
 newCell=newRow.insertCell();
 newCell.Width=18;
 if(lastflag==false)
  newCell.background="image/tree/line1.gif";
 
 newCell=newRow.insertCell();
 newCell.id=tablename+"_td";
 //如果有朋友看到我的代码,请务必注意,col'S'pan中的'S'一定要用大写的.
 newCell.colSpan=2;
 newCell.Width=250-18*(treelevel+1);
 newCell.innerHTML="<table id='"+tablename+"_"+filename+"' width="+(250-treelevel*18-18)+" cellpadding=0 cellspacing=0 border=0><tr><td>正在载入文件目录,请稍候...</td></tr></table>";
 MakeXmlTable(tablename+"_"+filename,filename,elementsname,(treelevel+1),lastflag,disptext);
}

function setTextValue(values)
{
 var str=new Array();
 var str2=new Array();
 var str3=new Array();
 
 if(values=="")
 {
  document.all.searchform.dabh_qz.value="";
  document.all.searchform.bhsm_qz.value="";
  
  
 }
 else
 {
 str=values.split("|");
 
 
 if(str.length==1)
 {
  str2=str[0].split("-");
  document.all.searchform.dabh_qz.value=str2[0];
  document.all.searchform.bhsm_qz.value="第"+str2[0]+"号全宗:"+str2[1];
  
  
 }
 else if(str.length==2)
 {
  str2=str[0].split("-");
  str3=str[1].split("-");  
  document.all.searchform.dabh_qz.value=str2[0];
  document.all.searchform.bhsm_qz.value="第"+str2[0]+"号全宗:"+str2[1];  
  
  
 }
 else
 {
  alert("内部错误!!");
 }  
 }
}