<!--业务逻辑客户端脚本.begin-->
var gl_Double=0;
var gl_SelectRow=-1;

function chooserowDouble(tb,index,scolor,DoubleEvent)
{
  //模仿双击事件 add by fhb on 2005.8.17

  chooserow(tb,index,scolor);
  eval(DoubleEvent+";");  
  
}
function  clearDouble()
{
  gl_Double=0;
}

function chooserowNoOne(tb,chk,color)  //鼠标选择事件
{
  setTimeout("chooserow('"+tb+"',"+chk+",'"+color+"');",1000);	 
}
function chooserow(tb,chk,color)  //鼠标选择事件
{
  color="#7DC1FF";  //add by fhb on 2004.6.8  颜色统一 ，参数失效 !  
  	
  var CurrVal = eval("document.all.currval_"+tb); //行编号
  if (CurrVal.value!="")
  {
   // alert("document.all."+tb+"_tr" + CurrVal.value);
    var RowNameOld = eval("document.all."+tb+"_tr" + CurrVal.value);
    RowNameOld.style.backgroundColor = "";
  }
  var RowNameNew = eval("document.all."+tb+"_tr" + chk );
  RowNameNew.style.backgroundColor = color;
  CurrVal.value = chk;
  btnControl(tb);
}

function getSelectedRows(tb){  //获取选种的 行数组

  var mycheckbox =document.body.getElementsByTagName("input");
  var n=0;
  var selectedRows=new Array();
  for(var i=0;i<mycheckbox.length;i++){
    if(mycheckbox[i].type=="checkbox"){
      if(mycheckbox[i].checked==true){
      	if (mycheckbox[i].name.indexOf(tb)==0)  //选中
      	 {
           selectedRows[n]=mycheckbox[i].name;
           n++;
         }
       }
     }
   }
  return selectedRows;
}
   //与 getSelectRows结合使用
function getStringByFieldName_Check(ckname,fieldname)  //获取选种网格中 checkbox 选种的 字段的值
{  
	    
  var url;
  var chk;  //tb_ck1 或tb1_ck2  -->tb,2
  var tb=ckname.substr(0,ckname.indexOf("_"));
  var rowindex=ckname.substr(ckname.indexOf("ck")+2,ckname.length);
  rowindex=parseInt(rowindex)+1;     //add by fhb on 2004.6.17 CK 编号从0开始编号,Td从1开始编号
  var fieldobj = eval("document.all."+tb+"_td"+rowindex+"_"+fieldname.toLowerCase());
  if (fieldobj.title)   //add by fhb on 2005.11.09
    return fieldobj.title;
  else 
    return fieldobj.innerText;
}

     //与 getSelectRows结合使用
function getRowIndexByFieldName_Check(ckname)  //获取选种网格中 checkbox 中的行号
{
  var url;
  var chk;  //tb_ck1 或tb1_ck2  -->tb,2
  var tb=ckname.substr(0,ckname.indexOf("_"));
  var rowindex=ckname.substr(ckname.indexOf("ck")+2,ckname.length);
  return rowindex;
}


function getStringByFieldName(tb,fieldname)  //获取选种网格中 鼠标选择的 字段的值
{
  var url;
  var chk;
  chk = eval("document.all.currval_"+tb);
  var fieldobj = eval("document.all."+tb+"_td"+chk.value+"_"+fieldname.toLowerCase());
  if (fieldobj.title)   //add by fhb on 2005.11.09
    return fieldobj.title;
  else 
    return fieldobj.innerText;

}

function getChooseRowIndex(tb)  //获取选种网格中 鼠标选择的行的编号，不包括标题,从0 开始
{
  var url;
  var chk;
  chk = eval("document.all.currval_"+tb);  
  if (chk.value!="")
    return chk.value-1;
  else 
    return -1;
}

function setStringByFieldName(tb,fieldname,value)  //设置选种网格中 鼠标选择的 字段的值
{
  var url;
  var chk;
  chk = eval("document.all.currval_"+tb);
  var fieldobj = eval("document.all."+tb+"_td"+chk.value+"_"+fieldname.toLowerCase());
  fieldobj.innerText=value;

}


function getReturnByDb_winopen(dbpage,WINname){  //访问数据库，保持调用页不刷新的情况下 获取返回值

	var features =
		'dialogWidth:'  + 300  + 'px;' +
		'dialogHeight:' + 200 + 'px;' +
		'dialogLeft:'   + 1024   + 'px;' +
		'dialogTop:'    + 768 + 'px;' +
		'directories:no; localtion:no; menubar:no; status=no; toolbar=no;scrollbars:yes;Resizeable=no';

        
        
        //prompt("url",dbpage);
                          //add by fhb on 2004.11.08 转 unicode
	var retval = window.showModalDialog(escapeUrl(dbpage),"getReturn", features );
	return retval;
}

function getReturnByDb_XML(dbpage,xmlnode)  //add by fhb on 2004.8.23 不弹出窗口
{

  str=this.replaceAll(dbpage,"+","~~~");  //add by fhb on 2004.6.17 修正 get 方法 或取 +号 的bug 
  var xmlDoc=new ActiveXObject("Msxml2.DOMDocument"); //("Microsoft.XMLDOM");
  xmlDoc.async=false;
  xmlDoc.load(str);
  var rootNode = xmlDoc.documentElement;
  if (rootNode!=null)
  {
    var node = rootNode.selectSingleNode("//"+xmlnode);
    return node.text;
  }
  else 
  {
   alert("访问"+dbpage+"页面出错！");
   return 0;
  }
   
}

function getPsnInfo_ByReadCard(dbpage,WINname){  //读卡统一接口函数

	var features =
		'dialogWidth:'  + 490  + 'px;' +
		'dialogHeight:' + 300 + 'px;' +
		'dialogLeft:'   + 200   + 'px;' +
		'dialogTop:'    + 200 + 'px;' +
		'directories:no; localtion:no; menubar:no; status=no; toolbar=no;scrollbars:yes;Resizeable=no';

         //add by fhb on 2004.11.08 转 unicode 
  
	var retval = window.showModalDialog(escapeUrl(dbpage),"getReturn", features );
	return retval;
}

function tchWindowOpenFullScreen(myUrl,winName)
{
  window.open(escapeUrl(myUrl),winName,'top=0,left=0,width='+(screen.availWidth-2)+',height='+(screen.availHeight-3)+',menubar=no,toolbar=no,status=yes,resizable=yes');
}

function getReturnShowModal(dbpage,formObj,w,h,l,t){  //显示模式窗体

	var features =
		'dialogWidth:'  + w  + 'px;' +
		'dialogHeight:' + h+ 'px;' +
		'dialogLeft:'   + l   + 'px;' +
		'dialogTop:'    + t + 'px;' +
		'directories:no; localtion:no; menubar:no; status=no; toolbar=no;scrollbars:yes;Resizeable=no';

	var retval = window.showModalDialog(escapeUrl(dbpage),formObj, features );
	return retval;
}

function getFormParamStr(formname)  //提取form参数 构造get方法  add by fhb on 2004.8.31
{
   var str="";
   for (var i=0;i<formname.elements.length;i++)
   {
     //alert(formname.elements(i).name);
     if( (formname.elements(i).type!="button")
      &&(formname.elements(i).type!="submit")
      &&(formname.elements(i).type!="fieldset")
      &&(formname.elements(i).type)
      &&(formname.elements(i).type!="reset"))
      { if (formname.elements(i).value=="")
          str=str+formname.elements(i).name+"="+formname.elements(i).value+"&";     
        else
          str=str+formname.elements(i).name+"="+formname.elements(i).value.urlEncode()+"&";    
      } 
   }
   str=str.substr(0,str.length-1);   
   if (str.length>1024)
     alert("Get方法的参数长度操过1k，将被截断！");
   return str;
   //alert(str);
}

function setAllInputValue(inputType,sValue){ //将某类型 设置值

  var mycheckbox =document.body.getElementsByTagName("input");
  for(var i=0;i<mycheckbox.length;i++){
    if(mycheckbox[i].type==inputType){
    	if (inputType=="checkbox")
    	  mycheckbox[i].checked=sValue;
    	else
    	  mycheckbox[i].value=sValue;
     }
   }
}

function setCheckBoxValueByRow(tb,rowIndex,bValue){ //将某类型 设置值 add by fhb on 2005.4.29

  var mycheckbox =document.body.getElementsByTagName("input");
  for(var i=0;i<mycheckbox.length;i++){
    if(mycheckbox[i].type=="checkbox"){
    	if (mycheckbox[i].name==tb+"_ck"+(rowIndex-1))
    	  mycheckbox[i].checked=bValue;
     }
   }
}


function setAllInputValueOnGrid(tb,inputType,sValue){ //将某类型 设置值

  var mycheckbox =document.body.getElementsByTagName("input");
  
  for(var i=0;i<mycheckbox.length;i++){
    if(mycheckbox[i].type==inputType&&(mycheckbox[i].name.indexOf(tb+"_ck")>=0)){
    	if (inputType=="checkbox")
    	{
    	  mycheckbox[i].checked=sValue;    	  
    	}
    	else
    	  mycheckbox[i].value=sValue;
     }
   }
  
  if (inputType=="checkbox")
  {
      	  if (sValue==true)  //全选 //add by fhb  0n 2004.12.25
    	  {
    	    eval("document.all.currval_"+tb+".value='1'");
    	    btnControl(tb);
    	  } 
    	  else
    	  {
    	     eval("document.all.currval_"+tb+".value='';");
    	     btnControl(tb);
    	  } 
     
  }
  
}

function getActionReplaceAll(sourceStr,str,replaceStr) //add by fhb on 2004.6.17 修正 get 方法 或取 +号 的bug   	 
{
  while (sourceStr.indexOf(str)>=0)
  {
    sourceStr=sourceStr.replace(str,replaceStr);
  }
  return sourceStr;
}

function WriteToStream_name_new_bt(stream_no,stream_name,sOwner,tableName,applyNo,sdwid) //审批写入函数 0表示写入失败，成功则返回 applystreamno
{
var	sdwid="001001";
  var  url="/apply/writetostreamnewindex_bt.jsp?sdwid="+sdwid+"&applyno="+applyNo+"&sowner="+sOwner+"&tablename="+tableName;
  url=url+"&sstreamno="+stream_no+"&sstreamname="+stream_name;
  return getReturnShowModal(url,"writeStream",300,190,200,200);
}


function WriteToStream_name_new(stream_no,stream_name,sOwner,tableName,applyNo) //审批写入函数 0表示写入失败，成功则返回 applystreamno
{
  var  url="/apply/writetostreamnewindex.jsp?applyno="+applyNo+"&sowner="+sOwner+"&tablename="+tableName;
  url=url+"&sstreamno="+stream_no+"&sstreamname="+stream_name;
  return getReturnShowModal(url,"writeStream",300,190,200,200);
}

function  WriteToStream(sOwner,tableName,applyNo)  //审批写入函数 0表示写入失败，成功则返回 applystreamno
{

  var  url="/apply/writetostreamindex.jsp?applyno="+applyNo+"&sowner="+sOwner+"&tablename="+tableName;
  return getReturnShowModal(url,"writeStream",300,190,200,200);
}

function WriteToStream_name_org(stream_no,stream_name,sOwner,tableName,applyNo,org_id) //审批写入函数 0表示写入失败，成功则返回 applystreamno
{
  var  url="/apply/writetostreamnewindex.jsp?applyno="+applyNo+"&sowner="+sOwner+"&tablename="+tableName;
  url=url+"&sstreamno="+stream_no+"&sstreamname="+stream_name+"&sorg_id="+org_id;
  return getReturnShowModal(url,"writeStream",300,190,200,200);
}
function gridPrint(jsQryObjName,opensqltype)  //add by fhb on 2004.6.10 打印
{
   var myurl="/public/gridprintset.jsp?jsQueryObjName="+jsQryObjName+"&openSqlType="+opensqltype;
   window.open(escapeUrl(myurl),"printset","height=380,width=350,top=100,left=200,status=yes,toolbar=no,menubar=no,location=no");
}

function getSearchWhereSql(SeekType,hiddenWhereSql,javaEvent)   //add by fhb on 2004.7.11
{ 
	// 组合查询
    var  url="/tch_ocx/tchsel.jsp?SeekType="+SeekType;
    var str=getReturnShowModal(url,"searchWhereSql",570,290,200,200);
   // alert(str);
    if (str)  //!=UNDEFINED
    {
      if (str!=""&&str!=" 1=1 ")
      {
       //alert(javaEvent);  // 1=1 and (name like '涨红') 
        eval(hiddenWhereSql+".value=\"("+str+")\";");
       eval(javaEvent);
     }
   }  
}

function tchEscape(str) // add by fhb  on 2004.12.09 
{   // %uE0E7  -->$uE0E7 
   var s=escape(str);
   return getActionReplaceAll(s,'%u','$u');         
}
function tchUnescape(str) // add by fhb  on 2004.12.09
{ // %uE0E7  -->$uE0E7 
  return unescape(getActionReplaceAll(str,"$u","%u"));         
}
function escapeUrl(myurl) // add by fhb  on 2004.11.08 
{
             //将 get参数值转化成 Unicode 字符 
               // %uE0E7  -->$uE0E7 
  var newurl="";
  var params=myurl.split("&");
  for (var i=0;i<params.length;i++)
  {
    //alert(params[i]+i);
    var pos1=params[i].indexOf("=");
    var param=params[i].substr(0,pos1+1);
    var paramValue=params[i].substr(pos1+1,params[i].length-pos1-1);
    newurl=newurl+param+tchEscape(paramValue);   
    if (i<params.length-1)   
      newurl=newurl+"&";

    //alert(newurl);
  }  
   
  return newurl; 
        
}


//add  by  cq 权限管理 收集按钮 on 2004.6.18 
var myBtnNames=new Array();
var myBtnValues=new Array();
var myBtnNames1=new Array();
var myBtnValues1=new Array();
var myn=0;
var btnNames="";
var btnValues="";
var btnNames1='';
var btnValues1='';
/*当页面中有按钮要进行权限控制时，要在页面最后调用函数privilege(eUrl)
 *即在</body>前加入如下代码
 *<script language='javascript'>
 *  privilege('<%=request.getServletPath()%>');
 *</script>
*/
function privilege(eUrl) 
{
  var myurl1='';
  myurl1 += '/privilege/btnprivi.jsp?eUrl='+eUrl;
  var features1 =
    'dialogWidth:'  + 1  + 'px;' +
    'dialogHeight:' + 1 + 'px;' +
    'dialogLeft:'   + 6000   + 'px;' +
    'dialogTop:'    + 6000 + 'px;' +
    'directories:no; localtion:no; menubar:no; status=no; toolbar=no;scrollbars:yes;Resizeable=no';
  window.showModalDialog(escapeUrl(myurl1),document.all,features1);
}

function getButtonInfo(eUrl)  //收集界面上的按钮 ,界面中按钮的名称必须唯一
{
  var myBtns = document.body.getElementsByTagName("input");
  var myn=0;
  //过滤掉没有命名的按钮
  for( var i=0;i<myBtns.length;i++ )
  {
    if( myBtns[i].type=="button"||myBtns[i].type=="submit"||myBtns[i].type=="reset" )
    {
      if( myBtns[i].name == '' )
      {
      	if( !confirm('页面中按钮*'+myBtns[i].value+'*没有命名，将导致该按钮无法保存入库并进行权限控制，是否继续？') )
          return; 
      }
      else
      {	
        myBtnNames1[myn]=myBtns[i].name;
        myBtnValues1[myn]=myBtns[i].value;
        myn++;
      }
    }
  }
  //过滤掉重复命名的按钮
  var m = 0;
  for( i=0;i<myBtnNames1.length;i++ )
  {
    flag = '0';
    k = 0;
    sameName = new Array();
    for( j=0;j<myBtnNames1.length;j++ )
    {	
      if( myBtnNames1[i]==myBtnNames1[j] && i!=j )
      {
        flag = '1';
        sameName[k] = myBtnValues1[j];
        k++;
      }
    }
    if( flag=='0' )
    {
      myBtnNames[m]=myBtnNames1[i];
      myBtnValues[m]=myBtnValues1[i];
      btnNames=btnNames+myBtnNames[m]+"$";
      btnValues=btnValues+myBtnValues[m]+"$";
      m++;
    }
    else if( flag=='1' )
    {
      if( !confirm('页面中按钮*'+myBtnValues1[i]+'*与按钮*'+sameName+'*重名，将导致该按钮无法保存入库并进行权限控制，是否继续？') )
        return; 
    }
  }
  var myurl='';
  myurl += '/privilege/btnsave.jsp?eUrl='+eUrl;
  getReturnShowModal(myurl,self,400,400,80,80);
}

function setButtonDisabled(en)  //设置按钮功能是否生效
{
  for (var i=0;i<myBtnNames.length;i++)
  {
    if (en)
      eval("document.all."+myBtnNames[i]+".disabled=true;");
    else
      eval("document.all."+myBtnNames[i]+".disabled=false;");
  }
}

function setButtonVisible(vi)  //设置按钮功能是否可视
{
  for(var i=0;i<myBtnNames.length;i++)
  {
    if(vi)
      eval("document.all."+myBtnNames[i]+".style.visibility='visible';");
    else
      eval("document.all."+myBtnNames[i]+".style.visibility='hidden';");
  }
}

function getMyBtnNames()
{
  return myBtnNames;
}

function getMyBtnValues()
{
  return myBtnValues;
}
//add by clq 20050816针对姓名的判断
function pub_check_xm(xm)  //鼠标选择事件
{
  if (xm==""){
    return 1;
  }
  var dbpage="/publogic/check_xm.jsp?xm="+xm;
  str=getReturnByDb_winopen(dbpage,"winpop", 0, 0);
  if (( str==1 )||( str=="undefined" )){
    return 0;
  }else{
    return 1;
  }  
}

<!--业务逻辑客户端脚本.end-->
