/*
-------------------------------------------------------------------------------
文件名称：select.js
说    明：JavaScript脚本，一些和下拉筐有关的脚本
版    本：1.0
修改纪录:
---------------------------------------------------------------------------
时间		修改人		说明
------------------------------------------------------------------------------- 	
*/

/*
用途：根据"参数值"选中对应的select的option（支持多选的select）
输入：selName：下拉框名或ID；
            selValue：需要选中的Value值 可以是数组
			formName：所在的form名称；
返回：Void  
*/
function selectOptionSelect( selName,selValue,formName){
	var form = document.forms[0];
	if (formName!=null){
		form = document.forms[formName];
	}
	var valueArray = new Array();
    valueArray=valueArray.concat(selValue);
	var sel = form.all(selName,0);
	for (var i=0;i<valueArray.length ; i++){
		var value = valueArray[i];
        for (var j=0;j<sel.options.length ; j++){
			if (value==sel.options[j].value){
				sel.options[j].selected = true;
			}
        }
	}
}

/*
用途：获得select对象选中的option的值或值数组
输入：selName：下拉框名或ID；
			formName：所在的form名称；
返回：单选：option的值
            多选：option的值组成的数组
*/
function getSelectedValues( selName,formName){
	var form = document.forms[0];
	if (formName!=null){
		form = document.forms[formName];
	}
	var valueArray = new Array();
	var sel = form.all(selName,0);
	var cnt =0;
        for (var j=0;j<sel.options.length ; j++){
			if (sel.options[j].selected == true){
				valueArray[cnt] = sel.options[j].value;
				cnt++;
			}
	}
	if(sel.multiple!=true) return valueArray[0];
	return valueArray;
}

/*
用途：获得select对象选中的option的显示值或显示值数组
输入：selName：下拉框名或ID；
			formName：所在的form名称；
返回：单选：option的显示值
            多选：option的显示值组成的数组
*/
function getSelectedTexts( selName,formName){
	var form = document.forms[0];
	if (formName!=null){
		form = document.forms[formName];
	}
	var valueArray = new Array();
	var sel = form.all(selName,0);
	var cnt =0;
        for (var j=0;j<sel.options.length ; j++){
			if (sel.options[j].selected == true){
				valueArray[cnt] = sel.options[j].text;
				cnt++;
			}
	}
	if(sel.multiple!=true) return valueArray[0];
	return valueArray;
}

/*
用途：左右选择框之间的增加和删除操作
输入：selNameFrom：删除选项的下拉框名或ID；
			selNameTo：增加选项的下拉框名或ID；
			formName：所在的form名称；
返回：Void
*/
function selectOptionsChange( selNameFrom,selNameTo,formName){
	var form = document.forms[0];
	if (formName!=null){
		form = document.forms[formName];
	}
	var sel1 = form.all(selNameFrom,0);
	var sel2 = form.all(selNameTo,0);
        for (var j=0;j<sel1.options.length ; j++){
			if (sel1.options[j].selected == true){
				var opt = sel1.options[j];
				sel1.options[j] = null;
				sel2.options[sel2.options.length] = opt;
				//防止单选时,把整个下拉的值增加和删除
				if (j==0&&sel1.options[j]!=null&&sel1.options[j].selected == true&&sel1.multiple!=true) break;
				j=j-1;
			}
	}
}

/*
用途：选中所有的多选select中的值
输入：selName：下拉框名或ID；
			formName：所在的form名称；
返回：Void
*/
function selectOptionSelectAll( selName,formName){
	var form = document.forms[0];
	if (formName!=null){
		form = document.forms[formName];
	}
	var sel = form.all(selName,0);
        for (var j=0;j<sel.options.length ; j++){
            sel.options[j].selected = true;
	}
}

/*
用途：判断某个值是否在选择框中
输入：aSelect：下拉框ID；
	  value：值；
返回：true：在
      false：不在
*/
function isInSelect(aSelect, value)
{
 var obj = document.getElementById(aSelect);
 for (var i=0; i<obj.options.length; i++) {
  if (obj.options[i].value == value)
   return true;
 }
 return false;
}
 

/*
用途：选中所有的多选select中的值
输入：aSelect：下拉框ID；
返回：Void
*/
function multiSelectAll(aSelect)
{
 var obj = document.getElementById(aSelect);
 for (var j=0; j<obj.options.length; j++) {
  obj.options[j].selected = true;
 }
}
 
/*
用途：全不选所有的多选select中的值
输入：aSelect：下拉框ID；
返回：Void
*/
function multiDeSelectAll(aSelect)
{
 var obj = document.getElementById(aSelect);
 for (var j=0; j<obj.options.length; j++) {
  obj.options[j].selected = false;
 }
}
 
/*
用途：删除选中的
输入：aSelect：下拉框ID；
返回：Void
*/
function removeSelected(aSelect)
{
 var obj = document.getElementById(aSelect);
 var have=false;
 for (var j=obj.options.length-1; j>=0; j--) {
  if (obj.options[j].selected){
   have=true;
   obj.remove(j);
   }
 }
 if(!have){ alert("请选中一项！"); }
}
 
/*
用途：删除select中所有的值
输入：aSelect：下拉框ID；
返回：Void
*/
function removeAllSelect(aSelect)
{
 var obj = document.getElementById(aSelect);
 for (var j=obj.options.length-1; j>=0; j--) {
  obj.remove(j);
 }
}
 

/*
用途：源和目的选择框之间选中的增加和删除操作
输入：src：源下拉框的ID；
	  dest：目的下拉框ID；
      remove：是否删除源下拉框中选中的；
返回：Void
*/
function multiSelectSend(src, dest, remove)
{
 var fromSelect = document.getElementById(src);
 var toSelect = document.getElementById(dest);
 var isRemove = true;
 if (remove == null || remove == false) {
  isRemove = false;
 }
 var have=false;
 for (var i=0; i<fromSelect.options.length; i++) {
  var opt = fromSelect.options[i];
  if (opt.selected) {
   have=true;
   if (!isInSelect(dest, opt.value)) {
    var oOption = new Option(opt.text, opt.value);
    toSelect.add(oOption);
   }else{
   	//alert("此项已被选中！");
   }
  }
 }
 if(!have){ alert("请选中一项！");return;}
 if (isRemove) {
  removeSelected(src);
 }
}
/*---------------------------------ext------------------------------------------------- */
/*
用途：判断某个值是否在选择框中
输入：aSelect：下拉框ID；
	  value：值；
返回：true：在
      false：不在
*/
function isInSelectExt(aSelect, value)
{
 for (var i=0; i<aSelect.options.length; i++) {
  if (aSelect.options[i].value == value)
   return true;
 }
 return false;
}
/*
用途：源和目的选择框之间选中的增加和删除操作
输入：src：源下拉框的ID；
	  dest：目的下拉框ID；
      remove：是否删除源下拉框中选中的；
返回：Void
*/
function multiSelectSendExt(src, dest, remove)
{
 var isRemove = true;
 if (remove == null || remove == false) {
  isRemove = false;
 }
 var have=false;
 for (var i=0; i<src.options.length; i++) {
  var opt = src.options[i];
  if (opt.selected) {
   have=true;
   if (!isInSelectExt(dest, opt.value)) {
    var oOption = new Option(opt.text, opt.value);
    dest.add(oOption);
   }else{
   	//alert("此项已被选中！");
   }
  }
 }
 if(!have){ alert("请选中一项！");return;}
 if (isRemove) {
  removeSelected(src);
 }
}
/*
用途：删除选中的
输入：aSelect：下拉框ID；
返回：Void
*/
function removeSelectedExt(aSelect)
{
 var have=false;
 for (var j=aSelect.options.length-1; j>=0; j--) {
  if (aSelect.options[j].selected){
   have=true;
   aSelect.remove(j);
   }
 }
 if(!have){ alert("请选中一项！"); }
}
/*---------------------------------ext------------------------------------------------- */
/*
用途：源和目的选择框之间增加和删除操作(包括没选中的)
输入：src：源下拉框的ID；
	  dest：目的下拉框ID；
      remove：是否删除源下拉框中选中的；
返回：Void
*/
function multiSelectSendAll(src, dest, remove)
{
 var fromSelect = document.getElementById(src);
 var toSelect = document.getElementById(dest);
 var isRemove = true;
 if (remove == null || remove == false) {
  isRemove = false;
 }
 for (var i=0; i<fromSelect.options.length; i++) {
  var opt = fromSelect.options[i];
  if (!isInSelect(dest, opt.value)) {
   var oOption = new Option(opt.text, opt.value);
   toSelect.add(oOption);
  }
 }
 if (isRemove) {
  removeAllSelect(src);
 }
}

//初始化未选择的select
function initSelectA( idStr_A, titleStr_A ){
//alert("idStr_A="+idStr_A+" titleStr_A"+titleStr_A);
  	if( idStr_A == "" || idStr_A == null || idStr_A == "null" || titleStr_A == "" || titleStr_A == null || titleStr_A == "null" ){
  		return;
  	}
       var ids = idStr_A.split(";");
       var names = titleStr_A.split(";");     
    if( ids == "" ){
		return;   
    }else{
		for( var i = 0; i < ids.length; i++ ){
			var name = names[i];
	 		var id = ids[i];
	 		if (trim(name) == "")name = id;//如果标题为空的话，就显示ID
	 		var ops = document.f1.selectedOperator_A.options;
	 		var	length = ops.length;
			ops[length]=new Option(name,id);		
		}
	}
}


//初始化已选择的select
function initSelectB( idStr_B, titleStr_B ){

  	if( idStr_B == "" || idStr_B == null || idStr_B == "null" || titleStr_B == "" || titleStr_B == null || titleStr_B == "null" ){
  		return;
  	}
       var ids = idStr_B.split(";");
       var names = titleStr_B.split(";");

    if( ids == "" ){
		return;   
    }else{
		for( var i = 0; i < ids.length; i++ ) {
			var name = names[i];
	 		var id = ids[i];
	 		if (trim(name) == "")name = id;//如果标题为空的话，就显示ID
	 		var ops = document.f1.selectedOperator_B.options;
	 		var	length = ops.length;
			ops[length]=new Option(name,id);		
		}
	}
}

//返回选中的值			
function retValue(){
    var retValue = "";
    var retName = "";
    var obj = document.f1.elements["selectedOperator_B"];

    for( var i = 0; i < obj.length; i++ ) {
       if( i == (obj.length - 1) ) {
           retValue += obj.options[i].value;
           retName += obj.options[i].text;
       }else {
           retValue += obj.options[i].value+";";
           retName += obj.options[i].text+";";           
       }
    }
    var returnValueStr = retValue+"@"+retName;
    window.returnValue=returnValueStr.split("@");
    window.close(); 
}

//修改模板
function updateRow(bizid){
	var pkValue = "";
	var sub = new AjaxSubmit("org.agi.tag.moretomore.InitMoretomore", "getMorePkValueByBizid");
  	sub.add( "bizid", bizid );
  	if( sub.submit() ){ 	
		var result = sub.getProperty("result");
		if(result=="empty"){
			
		}else{
			pkValue=result;
		}
    }
    var url = "/Agi/agi.do?opType=update&agiID=a2bf98e7ea624427ad4f2474bc60cd9d&ID="+pkValue;
    window.open(url);
}
