/*
功能：关联下拉列表
输入：objParent - 父列表对象，objSub - 子列表对象，arrName - 存放子列表内容的数组(code和name)
*/
function SetCodeChange(objParent,objSub,arrName,HidTxt){
	var arrCode = eval(arrName);
	deleteAll(objSub);
	for(i=0;i<arrCode.length;i++){	
		if((arrCode[i][0] - objParent.options[objParent.selectedIndex].value)==0){									
			newOption(objSub, arrCode[i][1], arrCode[i][2], '');
		}
	}
	if(objSub.options.length > 0 && HidTxt != "undefined") 
	{
		HidTxt.value = objSub.options[0].value;
		//alert(HidTxt.value);
	}
}

function SetValue(objHid,objDrp)
{
	objHid.value = objDrp.value;
	//alert(objHid.value);
}

// fbox - 待选项目列表
// tbox - 选择了的项目列表
//移动
function Move(fbox, tbox)  {
  for(var i=0; i<fbox.options.length; i++)  {
    if(fbox.options[i].selected && fbox.options[i].value != "" && (!selectExists(fbox.options[i].value,tbox)) ) {
      // 增加项目列表到右侧
      
      newOption(tbox,fbox.options[i].value,fbox.options[i].text,fbox.options[i].sortKey);
     // no.value = fbox.options[i].value;
     // no.text = fbox.options[i].text;
     // no.sortKey=fbox.options[i].sortKey;
     // tbox.options[tbox.options.length] = no;
    
      //  清空左侧的项目列表
      //fbox.options[i].value = "";
      //fbox.options[i].text = "";
      //fbox.options[i].selected = false;
    }
  }
  clean(fbox);
  sortDest(tbox);
}
function unSelect(obj){
	countNumTo = obj.length;
	for(i=0;i>countNumTo-1;i++){
	  if(obj.options[i].selected){
	  	obj.options[i].selected = false;
	  }
	}
}
//
function selectExists(val,obj){
	countNumTo = obj.length;
	for(i=countNumTo-1;i>-1;i--){
	  if(obj.options[i].value == val){
	    alert(obj.options[i].text+"已经存在！")
	    return true;
	    break;
	  }
	}
	return false;
}
//
function deleteAll(box){  
	//alert(box.length);
	for(i=box.length-1;i>-1;i--){
	  box.remove(i);
	}	
}
  
//删除
function Delete(objBox)  {
  for(var i=objBox.options.length-1; i>=0; i--)  {
    if(objBox.options[i].selected && objBox.options[i].value != "") {
     objBox.remove(i);
     // objBox.options[i].value = "";
     // objBox.options[i].text = "";
     // objBox.options[i].selected = false;
    }
  }
 // clean(objBox);
  //sortDest(tbox);
}

// 清除空的项目列表
function clean(box)  {
  for(var i=0; i<box.options.length; i++)  {
     if(box.options[i].value == "")  {
       for(var j=i; j<box.options.length-1; j++)  {
			
				box.options[j].value = box.options[j+1].value;
				box.options[j].text = box.options[j+1].text;
				box.options[j].sortKey = box.options[j+1].sortKey;
			
       }
       var ln = i;
       break;
     }
   }
   if(ln < box.options.length)  {
     box.options.length -= 1;
     clean(box);
   }
}

function sortDest(box)  {
  var temp_opts = new Array();
  var temp = new Object();
  // 调用临时数组
  for(var i=0; i<box.options.length; i++)  {
    temp_opts[i] = box.options[i];
  }

  //排序
  for(var x=0; x<temp_opts.length-1; x++)  {
    for(var y=(x+1); y<temp_opts.length; y++)  {
      if(parseInt(temp_opts[x].sortKey) > parseInt(temp_opts[y].sortKey))  {
        temp = temp_opts[x].text;
        temp_opts[x].text = temp_opts[y].text;
        temp_opts[y].text = temp;
        
        temp = temp_opts[x].value;
        temp_opts[x].value = temp_opts[y].value;
        temp_opts[y].value = temp;
        
        temp = temp_opts[x].sortKey;
        temp_opts[x].sortKey = temp_opts[y].sortKey;
        temp_opts[y].sortKey = temp;
      }
    }
  }

  for(var i=0; i<box.options.length; i++)  {
	    
		box.options[i].value = temp_opts[i].value;
		box.options[i].text = temp_opts[i].text;
		box.options[i].sortKey = temp_opts[i].sortKey;
		//alert(temp_opts[i].sortKey);
	
  }
}

function init(fbox, tbox)
{
  selectAll(fbox);
  Copy(fbox, tbox);  
}

function newOption(box, nValue, sText, nAccressKey)
{
  var no = new Option();
  no.value = nValue;
  no.text = sText;
  no.sortKey = nAccressKey;
  box.options[box.options.length] = no;
}

function selectedOptionCount(box)
{
  var count=0;
  for(var i=0; i<box.options.length; i++)  {
    if(box.options[i].selected) {
      count++;
    }
  }
  
  return count;
}

function selectAll(box)  {
  for(var i=0; i<box.options.length; i++)  {
    box.options[i].selected = true;
  }
}

function selectSome(box, selecteds)
{
	selecteds = selecteds.replace(", ", ",");
  selecteds=","+selecteds+",";
  for(i=0; i<box.options.length; i++)
  {
    //if(selecteds.indexOf(box.options[i].value) > -1)
    if(selecteds.indexOf("," + box.options[i].value + ",") > -1) // modify by sl 2005-2-25
    {
    	//alert(box.options[i].value);
      box.options[i].selected=true;
      continue;
    }else{
      box.options[i].selected=false;
      continue;
    }
  }
}


/*
common: 弹出窗口与opener窗口的配合
editor: Song Lei 2005-01-12
brief:  主要目的是处理页面同一页面中不同选项需要共用同一弹出选项窗口，以openWin(AAA.asp??txtName=xxx&HdnName=yyy)传递2个参数
*/
var objParentTxtField;
var objParentHdnField;

function GetParentTxtName()
{
  var strUrl = window.location.href;
  var intStart, intEnd
  
  if(strUrl.indexOf("?")>0)
  {
    intStart = strUrl.indexOf("txtName") + 8;
    intEnd = strUrl.indexOf("hdnName") - 1;
    strReturn = strUrl.substring(intStart, intEnd);
  }
  else
    strReturn = "";
  return strReturn;
}

function GetParentHdnName()
{
  var strUrl = window.location.href;
  var intStart, intEnd, strReturn
  
  if(strUrl.indexOf("?")>0)
  {
    intStart = strUrl.indexOf("hdnName") + 8;
    strReturn = strUrl.substring(intStart);
  }
  else
    strReturn = "";
  return strReturn;
}



