//部门选择可以多选和单选。
//开始时：
//  先把部门结构保存在数组中
//  结构为：DeptArr(部门数组1,部门数组2,...)
//  每个部门的数组结构为：
//       PerDeptArr(DeptName,DeptID,ParentID,Layer)
////////////////////////////////////////////////////////////////////
//DeptSelectedArr为保存了已经选择了的部门数组
var DeptSelectedArr=new Array();
//下面是根据DeptArr显示部门选择框的函数
function DisplaySelectByDeptArr(SelectName,Size,IsMult,SelectWidth,HaveSpace){
 //IsMult：是否多选,HaveSpace:前面后空的选择
 var A="";
 A=A+"<Select Name=\""+SelectName+"\" Size="+Size+" style=\"width:"+SelectWidth+";\"";
 if(IsMult==1){
  A=A+" multiple";
 }
 A=A+">";
 if(HaveSpace==1){
  A=A+"<option value=\"\"></option>";
 }
 var i;
 var j;
 var FrontSpace="";//前面的空格
 for(i in DeptArr){
  FrontSpace="";
  if(DeptArr[i][3]!=0){
   for(j=1;j<=DeptArr[i][3];j++){
    FrontSpace=FrontSpace+"&nbsp;&nbsp;";
   }
  }
  A=A+"<option value=\""+DeptArr[i][0]+"("+DeptArr[i][1]+")\""+InDeptSelectedArr(DeptArr[i][0]+"("+DeptArr[i][1]+")")+">"+FrontSpace+"■"+DeptArr[i][0]+"</option>";
 }
 A=A+"</Select>";
 return A;
}
///////////////////////////////////////////////////////
//下面的函数是当SelectValue在DeptSelectedArr中存在时，返回" selected",否则返回""
function InDeptSelectedArr(SelectValue){
 var i;
 for(i in DeptSelectedArr){
  if(SelectValue==DeptSelectedArr[i]){
   return " selected";
  }
 }
 return "";
}
////////////////////////////////////////////////////////
//把被选的部门(用,分开的字符串)加到数组DeptSelectedArr中
function AdjustDeptSelectedArr(DeptStr){
 DeptSelectedArr=new Array();
 var S=DeptStr.split(",");
 var i;
 for(i in S){
  if(S[i]!=""){
   DeptSelectedArr.push(S[i]);
  }
 }
}
//////////////////////////////////////////////////////////
//把部门选择框中的用户连成串
function GetDeptStr(FormName,SelectName){
 var SelectOB=eval(FormName+"."+SelectName);
 var A="";
 var optionlen=SelectOB.options.length;
 for(var i=optionlen-1;i>=0;--i){
  if(SelectOB.options(i).selected&SelectOB.options(i).value!=""){
   if(A==""){
    A=SelectOB.options(i).value;
   }else{
    A=A+","+SelectOB.options(i).value;
   }
  }
 }
 return A;
}
///////////////////////////////////////////////////
//下面是把被选的值返回给父窗口的函数
function ToParentWin(FormNameParent,InputNameParent,FormNameLoc,SelectNameLoc){
 if(FormNameParent==""){
  var ParentInputOB=eval("opener."+InputNameParent);
 }else{
  var ParentInputOB=eval("opener."+FormNameParent+"."+InputNameParent);
 }
 ParentInputOB.value=GetDeptStr(FormNameLoc,SelectNameLoc);
}
