//Author: 王跃
//Last Modified Date:011-08-20001
//Description:定义客户端的JavaScip函数,变量

var baksss 
var bakcolor
var szTableHighBgColor="#EEE3CB"


//定义多选函数


 function ShowNormal(orow,cb,bk)
 {
  var obj=document.all(cb)
   
  if (obj!=null)
   if (obj.checked==true)
    {
      obj.checked=false
      orow.bgColor=bk
     } 
   else if (obj.checked==false)
    {
      obj.checked=true
      orow.bgColor=szTableHighBgColor
     }
   event.cancelBubble =true
 }

 function ShowMuSelected(obj,bk)
 {
   if (obj!=null)
    if (obj.parentElement!=null)
      {
       var t=new String(obj.parentElement.tagName)
       var p=obj.parentElement
        if(t.toUpperCase()=="TD")
          if (p.parentElement!=null)
            if (obj.checked==true)
             p.parentElement.bgColor=szTableHighBgColor
            else
             p.parentElement.bgColor=bk
  
       }
   event.cancelBubble =true

 }
 

//参数sss传递表的行对象,szTypeID传递当前节点id
//bFirst表示是否初始化焦点
//oCurrParId 存储当前记录的父节点

function SetFocusIt(sss,szTypeID,bFirst,oCurrParId)
{
    if (bFirst!=0){
	baksss.bgColor=bakcolor
    }
    baksss=sss 
    bakcolor=sss.bgColor
    sss.bgColor=szTableHighBgColor
    oCurrParId.value=szTypeID
}

//需要给两个对象写入值，冯波，2004-4-21
function SetFocusTwo(sss,szTypeID,bFirst,oCurrParId,ObjValue,Obj)
{
    if (bFirst!=0){
	baksss.bgColor=bakcolor
    }
    baksss=sss 
    bakcolor=sss.bgColor
    sss.bgColor=szTableHighBgColor
    oCurrParId.value=szTypeID
    Obj.value=ObjValue
}

//需要给四个对象写入值，徐辉，2007-4-8
function SetFocusFour(sss,szTypeID,bFirst,oCurrParId,ObjValue,Obj,ThreeObjValue,ThreeObj,FourObjValue,FourObj)
{
    if (bFirst!=0){
	baksss.bgColor=bakcolor
    }
    baksss=sss 
    bakcolor=sss.bgColor
    sss.bgColor=szTableHighBgColor
    oCurrParId.value=szTypeID
    Obj.value=ObjValue
    ThreeObj.value=ThreeObjValue
    FourObj.value=FourObjValue
}

//需要给五个对象写入值，徐辉，2007-4-8
function SetFocusFive(sss,szTypeID,bFirst,oCurrParId,ObjValue,Obj,ThreeObjValue,ThreeObj,FourObjValue,FourObj,FiveObjValue,FiveObj)
{
    if (bFirst!=0){
	baksss.bgColor=bakcolor
    }
    baksss=sss 
    bakcolor=sss.bgColor
    sss.bgColor=szTableHighBgColor
    oCurrParId.value=szTypeID
    Obj.value=ObjValue
    ThreeObj.value=ThreeObjValue
    FourObj.value=FourObjValue
    FiveObj.value=FiveObjValue
}

//需要给六个对象写入值，徐辉，2007-4-8
function SetFocusSix(sss,szTypeID,bFirst,oCurrParId,ObjValue,Obj,ThreeObjValue,ThreeObj,FourObjValue,FourObj,FiveObjValue,FiveObj,SixObjValue,SixObj)
{
    if (bFirst!=0){
	baksss.bgColor=bakcolor
    }
    baksss=sss 
    bakcolor=sss.bgColor
    sss.bgColor=szTableHighBgColor
    oCurrParId.value=szTypeID
    Obj.value=ObjValue
    ThreeObj.value=ThreeObjValue
    FourObj.value=FourObjValue
    FiveObj.value=FiveObjValue
    SixObj.value=SixObjValue
}
//需要给7个对象写入值，徐辉，2008-7-28
function SetFocusSeven(sss,szTypeID,bFirst,oCurrParId,ObjValue,Obj,ThreeObjValue,ThreeObj,FourObjValue,FourObj,FiveObjValue,FiveObj,SixObjValue,SixObj,SevenObjValue,SevenObj)
{
    if (bFirst!=0){
	baksss.bgColor=bakcolor
    }
    baksss=sss 
    bakcolor=sss.bgColor
    sss.bgColor=szTableHighBgColor
    oCurrParId.value=szTypeID
    Obj.value=ObjValue
    ThreeObj.value=ThreeObjValue
    FourObj.value=FourObjValue
    FiveObj.value=FiveObjValue
    SixObj.value=SixObjValue
    SevenObj.value = SevenObjValue
}
function Check(lpszStr) //检查字符串是否由数值构成
 {
 
     var nLen=lpszStr.length
     
     if (lpszStr=="")
     {
		return false
     }
     for (var nLoop=0;nLoop<nLen;nLoop++)
        if ((lpszStr.charAt(nLoop)>='0') && (lpszStr.charAt(nLoop)<='9')) continue
        else break

    if (nLoop>=nLen)
       return true 
    else
      return false 
 }

function ValidatePageNum(nPageNo,nPageCount)
{
  if (!Check(nPageNo))
    {
     window.alert("无效的页面!")
     return false
    }
 if ((parseInt(nPageNo)<1) || (parseInt(nPageNo)>parseInt(nPageCount)))
   {
     window.alert("无效的页面!")
     return false
    }
 else 
    return true
}

//删除字符串中的空格
function KillSpace(x){
	while((x.length>0) && (x.charAt(0)==' '))
		x = x.substring(1,x.length);
	while((x.length>0) && (x.charAt(x.length-1)==' '))
		x = x.substring(0,x.length-1);
	return x;
}

//检查字符串是否是一个合法的日期
//徐辉 2007-04-05
function DateCheck(obj)
{
  var nLimite, szYear,szMonth,szDay
  var fcompart,scompart  
  szDate = KillSpace(obj.value)
  
  if ( szDate=="" ) return true;
  
  if (szDate.length>10 || szDate.length<8) {
	alert("【系统提示】\n\n 日期输入错误\n日期格式 yyyy-mm-dd ！");
	obj.focus();
	obj.select();
	return false;
  }
  fcompart =szDate.indexOf("-")
  szYear = szDate.substring(0, fcompart)
  if (szYear.length != 4){
	alert("【系统提示】\n\n 日期输入错误\n日期格式 yyyy-mm-dd ！");
	obj.focus();
	obj.select();
	return false;
  }
  
  if (!Check(szYear)){
	alert("【系统提示】\n\n 日期输入错误\n日期格式 yyyy-mm-dd ！");
	obj.focus();
	obj.select();
	return false;
  }
  if ((szYear-0)<1900 || (szYear-0)>2079){
	alert("【系统提示】\n\n 日期输入错误\n日期格式 yyyy-mm-dd ！");
	obj.focus();
	obj.select();
	return false;
  }
  scompart = szDate.indexOf("-",fcompart+1)  
  szMonth = szDate.substring(fcompart+1,scompart)

  if (szMonth.length>2){
	alert("【系统提示】\n\n 日期输入错误\n日期格式 yyyy-mm-dd ！");
	obj.focus();
	obj.select();
	return false;
  }

  if (!Check(szMonth)){
	alert("【系统提示】\n\n 日期输入错误\n日期格式 yyyy-mm-dd ！");
	obj.focus();
	obj.select();
	return false;
  }
  if (szMonth.charAt(0)=="0")  szMonth=szMonth.substring(1,2)

  if ((szMonth-0)<=0 || (szMonth-0)>12){
	alert("【系统提示】\n\n 日期输入错误\n日期格式 yyyy-mm-dd ！");
	obj.focus();
	obj.select();
	return false;
  }
  szDay = szDate.substring(scompart+1,szDate.length)
  if (szDay.length>2){
	alert("【系统提示】\n\n 日期输入错误\n日期格式 yyyy-mm-dd ！");
	obj.focus();
	obj.select();
	return false;
  }
  if (! Check(szDay)){
	alert("【系统提示】\n\n 日期输入错误\n日期格式 yyyy-mm-dd ！");
	obj.focus();
	obj.select();
	return false;
  }
  if (szDay.charAt(0)=="0") szDay=szDay.substring(1,2)
  if ((szDay-0)<1 || (szDay-0)>31){
	alert("【系统提示】\n\n 日期输入错误\n日期格式 yyyy-mm-dd ！");
	obj.focus();
	obj.select();
	return false;
  }
   
  switch(szMonth-0){
	 case 0:
			return false
			break 
     case 1: nLimite = 31
              break
     case  3: nLimite = 31
              break
     case  4: nLimite = 30
              break
     case  5: nLimite = 31
              break
     case  6: nLimite = 30
              break
     case  7: nLimite = 31
              break
     case  8: nLimite = 31
              break
     case  9: nLimite = 30
               break
     case  10: nLimite = 31
               break
     case  11: nLimite = 30
               break
     case  12: nLimite = 31
               break
     case  2: if ((((szYear % 4) == 0 && (szYear % 100)!=0)) || 
                  (((szYear % 100) == 0 && (szYear % 400) == 0))) 
                       nLimite = 29
             else nLimite = 28
             break
               
     }                          
    if (szDay-0>nLimite){
		alert("【系统提示】\n\n 日期输入错误\n日期格式 yyyy-mm-dd ！");
		obj.focus();
		obj.select();
		return false;
	}     
    return true
}

//检查字符串是否是一个合法的日期
function DateCheckString (szDate)
{
  var nLimite, szYear,szMonth,szDay
  var fcompart,scompart  
  szDate = KillSpace(szDate)
  
  if (szDate.length>10 || szDate.length<8) return false
  fcompart =szDate.indexOf("-")
  szYear = szDate.substring(0, fcompart)
  if (szYear.length != 4) return false
  if (!Check(szYear)) return false

  if ((szYear-0)<1900 || (szYear-0)>2079) return false
  
  scompart = szDate.indexOf("-",fcompart+1)  
  szMonth = szDate.substring(fcompart+1,scompart)

  if (szMonth.length>2) return false

  if (!Check(szMonth))  return false  
  
  if (szMonth.charAt(0)=="0")  szMonth=szMonth.substring(1,2)

  if ((szMonth-0)<=0 || (szMonth-0)>12) return false
  
  szDay = szDate.substring(scompart+1,szDate.length)
  if (szDay.length>2) return false
  if (! Check(szDay)) return false
  if (szDay.charAt(0)=="0") szDay=szDay.substring(1,2)
  if ((szDay-0)<1 || (szDay-0)>31)  return false
  
   
  switch(szMonth-0){
	 case 0:
			return false
			break 
     case 1: nLimite = 31
              break
     case  3: nLimite = 31
              break
     case  4: nLimite = 30
              break
     case  5: nLimite = 31
              break
     case  6: nLimite = 30
              break
     case  7: nLimite = 31
              break
     case  8: nLimite = 31
              break
     case  9: nLimite = 30
               break
     case  10: nLimite = 31
               break
     case  11: nLimite = 30
               break
     case  12: nLimite = 31
               break
     case  2: if ((((szYear % 4) == 0 && (szYear % 100)!=0)) || 
                  (((szYear % 100) == 0 && (szYear % 400) == 0))) 
                       nLimite = 29
             else nLimite = 28
             break
               
     }                          
    if (szDay-0>nLimite) return false     
    return true
}

//判断是否是标准的24小时时间 标准00:00 徐辉2007-03-26
function TimeCheckString(szTime){
	var hour,minute;
	var fcompart;
	
	szTime = KillSpace(szTime)
	
	if (szTime.length != 5) return false
	fcompart =szTime.indexOf(":")
	hour = szTime.substring(0, fcompart)
	if (hour.length != 2) return false
	if ( !Check(hour)) return false
	
	if ((hour-0)<0 || (hour-0)>24) return false
	
	if ( (hour-0) == 24 ){
		minute = szTime.substring(fcompart+1,szTime.length)
		if( minute != "00" ) 
			return false;
	}
	
	minute = szTime.substring(fcompart+1,szTime.length) 
	
	if (minute.length != 2) return false
	if (!Check(minute))  return false  
	
	if (minute.charAt(0)=="0")  minute=minute.substring(1,2)
	
	if ((minute-0)<0 || (minute-0) >= 60) return false
	return true
}

//检查字符串日期是否大于的当前日期     2002-8-1  王峰
//使用此函数前请先使用 DateCheckString 来判断日期合法性
function IfNewerDate(szDate)
{
    var nLimite, szYear,szMonth,szDay
    var fcompart,scompart
    var dateD, dateNow
    
    szDate = KillSpace(szDate)
  
    fcompart =szDate.indexOf("-")
    szYear = szDate.substring(0, fcompart)
  
    scompart = szDate.indexOf("-",fcompart+1)  
    szMonth = szDate.substring(fcompart+1,scompart)

    szDay = szDate.substring(scompart+1,szDate.length)
    
    //alert(szYear+" "+szMonth+" "+szDay)

    dateD = new Date(szYear,szMonth-1,szDay)  //javascript中的月份是从0到11
    dateNow = new Date()
    
    if (dateD.getTime() > dateNow.getTime())
    {
        return true
    }
    else
    {
        return false
    }
}

//注意：parseInt(08)=0,parseInt(09)=0 所以用parseInt有误，改用paseFloat 徐辉2007-03-28
//检查字符串时间A是否大于时间B     2007-3-26  徐辉
//使用此函数前请先使用 TimeCheckString 来判断时间合法性
function IfATimeEarlyerBTime(strA,strB)
{
    var strHoureA,strMiniuteA
    var strHoureB,strMiniuteB
    var fcompartA
    var fcompartB
        
    strA = KillSpace(strA)
    strB = KillSpace(strB)
  
    fcompartA =strA.indexOf(":")
    strHoureA = strA.substring(0, fcompartA)

    fcompartB =strB.indexOf(":")
    strHoureB = strB.substring(0, fcompartB)
  
    strMiniuteA = strA.substring(fcompartA+1,strA.length)

    strMiniuteB = strB.substring(fcompartB+1,strB.length)
	
    if(parseFloat(strHoureA) > parseFloat(strHoureB)){
		return true;
    }else{
		if(parseFloat(strHoureA) < parseFloat(strHoureB)){
			return false;
		}else{
			if(parseFloat(strMiniuteA) > parseFloat(strMiniuteB)){
				return true;
			}else{
				if(parseFloat(strMiniuteA) == parseFloat(strMiniuteB)){			
					return false;
				}else{
					return false;
				}
			}
		}
    }
}

//注意：parseInt(08)=0,parseInt(09)=0 所以用parseInt有误，改用paseFloat 徐辉2007-03-28
//检查字符串日期A是否大于日期B     2002-8-1  王峰
//使用此函数前请先使用 DateCheckString 来判断日期合法性
function IfAIsEarlyerThanB(strA,strB)
{
    var strYearA,strMonthA,strDayA
    var strYearB,strMonthB,strDayB
    var fcompartA,scompartA
    var fcompartB,scompartB
        
    strA = KillSpace(strA)
    strB = KillSpace(strB)
  
    fcompartA =strA.indexOf("-")
    strYearA = strA.substring(0, fcompartA)

    fcompartB =strB.indexOf("-")
    strYearB = strB.substring(0, fcompartB)
  
    scompartA = strA.indexOf("-",fcompartA+1)  
    strMonthA = strA.substring(fcompartA+1,scompartA)

    scompartB = strB.indexOf("-",fcompartB+1)  
    strMonthB = strB.substring(fcompartB+1,scompartB)

    strDayA = strA.substring(scompartA+1,strA.length)
    strDayB = strB.substring(scompartB+1,strB.length)
    
    if(parseInt(strYearA) > parseInt(strYearB)){
		return true;
    }else{
		if(parseInt(strYearA) < parseInt(strYearB)){
			return false;
		}else{
			if(parseFloat(strMonthA) > parseFloat(strMonthB)){
				return true;
			}else{
				if(parseFloat(strMonthA) == parseFloat(strMonthB)){
					if(parseFloat(strDayA) > parseFloat(strDayB)){	
						return true;
					}else{
						return false;
					}
				}else{
					return false;
				}
			}
		}
    }
}

//注意：parseInt(08)=0,parseInt(09)=0 所以用parseInt有误，改用paseFloat 徐辉2007-03-28
//检查字符串日期Ａ是否等于日期Ｂ  2004-3-18 冯波
function IfAIsEqualB(strA,strB)
{
    var strYearA,strMonthA,strDayA
    var strYearB,strMonthB,strDayB
    var fcompartA,scompartA
    var fcompartB,scompartB
        
    strA = KillSpace(strA)
    strB = KillSpace(strB)
  
    fcompartA =strA.indexOf("-")
    strYearA = strA.substring(0, fcompartA)

    fcompartB =strB.indexOf("-")
    strYearB = strB.substring(0, fcompartB)
  
    scompartA = strA.indexOf("-",fcompartA+1)  
    strMonthA = strA.substring(fcompartA+1,scompartA)

    scompartB = strB.indexOf("-",fcompartB+1)  
    strMonthB = strB.substring(fcompartB+1,scompartB)

    strDayA = strA.substring(scompartA+1,strA.length)
    strDayB = strB.substring(scompartB+1,strB.length)
    
    if((parseInt(strYearA) == parseInt(strYearB))  &&  ((parseFloat(strMonthA) == parseFloat(strMonthB)))   &&  ((parseFloat(strDayA) == parseFloat(strDayB))))
    {
        return true;
    }
    else
    {
        return false;
    }
}
//注意：parseInt(08)=0,parseInt(09)=0 所以用parseInt有误，改用paseFloat 徐辉2007-03-28
//检查结束日期是否大于等于开始日期 2006-12-14 谢吉康
function IfAIsEarlyerOrEquThanB(strA,strB)
{
    var strYearA,strMonthA,strDayA
    var strYearB,strMonthB,strDayB
    var fcompartA,scompartA
    var fcompartB,scompartB
        
    strA = KillSpace(strA)
    strB = KillSpace(strB)
  
    fcompartA =strA.indexOf("-")
    strYearA = strA.substring(0, fcompartA)

    fcompartB =strB.indexOf("-")
    strYearB = strB.substring(0, fcompartB)
  
    scompartA = strA.indexOf("-",fcompartA+1)  
    strMonthA = strA.substring(fcompartA+1,scompartA)

    scompartB = strB.indexOf("-",fcompartB+1)  
    strMonthB = strB.substring(fcompartB+1,scompartB)

    strDayA = strA.substring(scompartA+1,strA.length)
    strDayB = strB.substring(scompartB+1,strB.length)
    
    if((parseInt(strYearA) == parseInt(strYearB))  &&  ((parseInt(strMonthA) == parseInt(strMonthB)))   &&  ((parseInt(strDayA) == parseInt(strDayB)))){
		return true;
    }else{
		if(parseInt(strYearA) > parseInt(strYearB)){
			return true;
		}else{
			if(parseInt(strYearA) < parseInt(strYearB)){
				return false;
			}else{
				if(parseFloat(strMonthA) > parseFloat(strMonthB)){
					return true;
				}else{
					if(parseFloat(strMonthA) == parseFloat(strMonthB)){
						if(parseFloat(strDayA) > parseFloat(strDayB)){
							return true;
						}else{
							return false;
						}
					}else{
						return false;
					}
				}
			}
		}
	}
}

//检查字符串是否是有效的数值
function IsNumeric(lpstr)
{
 var s=KillSpace(lpstr)
 var nLen=s.length
   for (var nLoop=0;nLoop<nLen;nLoop++)
      if ((s.charAt(nLoop)>='0') && (s.charAt(nLoop)<='9')) continue
      else      
        if (s.charAt(nLoop)=='.') continue
	  else 
	    if(nLoop==0 && s.charAt(nLoop)=='-') continue
       else break
 
   if (nLoop>=nLen && nLen>0)
      return true 
   else
      return false 
  
}

//检查是否是正确的电话号码  谢吉康 2004-09-06
function IsPhoneNumber(lpstr){
	var s=KillSpace(lpstr)
	var nLen=s.length	
	for (var nLoop=0;nLoop<nLen;nLoop++){		
		if((s.charAt(nLoop)>='0')&&(s.charAt(nLoop)<='9')){			
			continue;
		}else{						
			if((s.charAt(nLoop)=='-')||(s.charAt(nLoop)=='－')||(s.charAt(nLoop)=='(')||(s.charAt(nLoop)=='（')||(s.charAt(nLoop)==')')||(s.charAt(nLoop)=='）')||(s.charAt(nLoop)=='/')||(s.charAt(nLoop)=='/')||(s.charAt(nLoop)==',')||(s.charAt(nLoop)=='，')){
				continue;				
			}else{
				return false;
				break;
			}			
		}
	}	
	
	if(nLoop>=nLen&&nLen>0){
		return true;
	}else{
		return false;
	}	
}

//定义显示单据明细函数
function DisplayAllVch(szBillId)
{
  var re
  if (KillSpace(szBillId)!="")
  {
   re=showModalDialog("../DispVch/DisplayAllVch.asp?BillId="+szBillId,"","dialogWidth=500pt;dialogHeight=400pt;center:yes;status:no;help:no;scroll:no") 
   return true 
  }
  else
  return false
}
  //定义客户端Cookie保存报表日期
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break; 
}
return null;
}  
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function UpdateCookieExpiresDate() {
var expdate = new Date();
var num;
expdate.setTime(expdate.getTime() +  (24 * 60 * 60 * 1000 * 31)); 
if(!(num = GetCookie("Version"))) 
num = "1.0";
SetCookie ("Version", num, expdate);
}

function DateRange()
{
 var StartDate
 var EndDate
}


function GetDate(d)
{
 var temp
 var cdate=GetCookie('StartDate')

 if(d.StartDate==null||typeof(d.StartDate)=='undefined') //是否传进了参数
 {
	 if(!cdate)
	 {
		temp=new Date()
		temp=temp.getYear()+"-"+(temp.getMonth()+1)+"-"+temp.getDate()
	  } 
      else
		temp=cdate
	  d.StartDate=temp
 } 


 cdate=GetCookie('EndDate')

 if(d.EndDate==null||typeof(d.EndDate)=='undefined') //是否传进了参数
 {
	if(!cdate)
	{
		temp=new Date()
		temp=temp.getYear()+"-"+(temp.getMonth()+1)+"-"+temp.getDate()
	} 
	else
		temp=cdate
	d.EndDate=temp
 }
}

function SetDate(d)
{
var expdate = new Date()
expdate.setTime(expdate.getTime() +  (24 * 60 * 60 * 1000 * 31))

SetCookie('StartDate',d.StartDate,expdate)
SetCookie('EndDate',d.EndDate,expdate)
}


//Author: 刘畅
//Last Modified Date:03-15-2001

// 把字符串转化为URL标准
function URLCode(szStr)
{
var iLen      // 字串长度
var cChr      // 处理字符
var iLoop     // 循环
var szDec=""  // 目的字串

iLen=szStr.length
for (iLoop=0;iLoop<iLen;iLoop++)
{
   cChr=szStr.charAt(iLoop)
   switch(cChr){
   case '&' : szDec+="~"
              break
   case ' ' : szDec+="+"
              break
   case "'" : szDec+="%27"
              break
   case '%' : szDec+="%25"
              break
   case '#' : szDec+="%23"
              break              
   default : szDec+=cChr
              break
   }
}
return szDec
}
// 过滤条件数据结构
function FilterRange()
{
	 var szFilteID
	 var szFilteFullName
	 var szBarcode                 //2002-11-14 添加条码查询筛选
	 var szReSearth="No"
}

// SearchOne、SearchMore 末态窗口传进变量组
function SearchWin() {
	var ArrayRows;		// 行数据
}

// 数值四舍五入
function GetRound(nNum,pre)
{
	if (IsNumeric(nNum))
	{
		return Math.round((nNum*Math.pow(10,pre)))/(Math.pow(10,pre))
	}
	else
	{
		return 0
	}
}
// GetOne的数据结构
function GetOne()
{
	var szDBName
	var szLike
	var Flag
	var szTypeID
	var szUserName
	var szFullName
}
// 
function GetAllOrPart()
{
  var szAllOrPart ;
}

function GetOdertype()
{
var szGetOdertype;
var strGetOrderCol;
var strGetOrderType;
}
//组号设置，删除
function Team()
{
	var TeamNo;
	var Type;
}
function SortField()
{ 
	var Field;
}

//王跃2001-7-23
//发送数据
//id:单据类型，headdata单据索引，detaildata单据明细,callback回调函数,recheck检查函数,ckflag是否价格检查成功标记，xyflag是否信誉额度检查成功标记,ReCkCode 单据号检查
function PostData(ob,id,headdata,detaildata,callback,ReCkCode,recheck,ckflag,xyflag)
{
	if ( ( detaildata == null || detaildata == 0 ) && parseInt(id) != 157 && parseInt(id) != 156 ){
		alert("【系统提示】\n \n 没有数据需要保存！");
		return false;
	}
	if (ob==null || id==null || headdata==null || detaildata==null || callback==null ) return false;
	var	strTemp=new Date();
	try
	{
	    ob.open("text/html;charset=gb2312","_self");
		switch(parseInt(id))
		{
	 	 case 300://销售订单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchSaleOrderBill.asp'>");
			  break;
		 case 305://零售单( 实际上现已为POS单功能所用 )
			  ob.writeln("<form name='Post_Form' method='post' action='../vch/j_PassVchRetailBill.asp'>");
			  break;
	 	 case 11://销售单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchSaleBill.asp'>");
			  break;
	 	 case 45://销售退货单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchSaleBack.asp'>");
			  break;
	 	 case 34://进货开单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchBuy.asp'>");
			  break;
	 	 case 6://进货退货
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchBuyBack.asp'>");
			  break;
		 case 4://收款单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchGathering.asp'>");
			  break;
	     case 66://进货付款
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchPayVch.asp'>");
			  break;

		 case 17://同价调拨单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchAllotBill.asp'>");
			  break;
		 case 21://变价调拨单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchPriceAllotBill.asp'>");
			  break;
		 case 9://报损单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchLoseBill.asp'>");
			  break;
		 case 14://报益单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchOverFlowBill.asp'>");
			  break;
		 case 139:	// 赠送单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchGiveBill.asp'>");
			  break;
		 case 126:	// 获赠单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchGiveBill.asp'>");
			  break;
		 case 57://调价单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchAdPriceBill.asp'>");
			  break;
	     case 115://应收（付）增加（减少）
	     case 116://应收（付）增加（减少）
	     case 128://应收（付）增加（减少）
	     case 129://应收（付）增加（减少）
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchAddEbt.asp'>");
			  break;
		 case 16://商品拆装单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchPacketBill.asp'>");
			  break;
		 case 36://一般费用单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchExpenseBill.asp'>");
			  break;
		 case 158://现金费用单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchCashExpenseBill.asp'>");
			  break;
		 case 159://会计凭证
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchAccountCredenceBill.asp'>");
			  break;
		 case 93://其他收入单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchIncomeBill.asp'>");
			  break;
		 case 77://转款单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchMonChaBill.asp'>");
			  break;
		 case 84://固定资产购买
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchFixedBill.asp'>");
			  break;
		 case 85://固定资产变卖
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchFixedBill.asp'>");
			  break;	  
		 case 78://固定资产折旧
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchDTExpenseBill.asp'>");
			  break;			  
		 case 5://待摊费用发生
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchDTExpenseBill.asp'>");
			  break;
		 case 10://待摊费用摊销
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchDTExpenseBill.asp'>");
			  break;
		 case 71://借进开单
			  ob.writeln("<form name='Post_Form' method='post' action='js_PassVchBorrowBill.asp'>");
			  break;		  
		 case 87://借出开单
			  ob.writeln("<form name='Post_Form' method='post' action='js_PassVchLendBill.asp'>");
			  break;
		 case 88://借出还回
			  ob.writeln("<form name='Post_Form' method='post' action='js_PassVchLendBackBill.asp'>");
			  break;
		 case 72://借进还出
			  ob.writeln("<form name='Post_Form' method='post' action='js_PassVchBorrowBackBill.asp'>");
			  break;
	 	 case 301://进货订单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchSaleOrderBill.asp'>");
			  break;
		 case 140:	// 委托代销发货单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchCommissionBill.asp'>");
			  break;
		 case 141:	// 委托代销结算单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchCommissionBill.asp'>");
			  break;
		 case 142:	// 委托代销退货单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchCommissionBill.asp'>");
			  break;
		 case 143:	// 委托代销调价单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchCommissionBill.asp'>");
			  break;
		 case 144:	// 受托代销收货单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchCommissionBill.asp'>");
			  break;
		 case 145:	// 受托代销结算单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchCommissionBill.asp'>");
			  break;
		 case 146:	// 受托代销退货单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchCommissionBill.asp'>");
			  break;
		 case 147:	// 受托代销调价单
			  ob.writeln("<form name='Post_Form' method='post' action='j_PassVchCommissionBill.asp'>");
			  break;
		 case 148:  //返利执行单	  
              ob.writeln("<form name='Post_Form' method='post' action='../Advantage/PassAdvantageBill.asp'>");
			  break;
		 case 149:  //价保执行单
		      ob.writeln("<form name='Post_Form' method='post' action='../PriceProtect/PassPriceProtectBill.asp'>");
			  break;
		 case 150:  //返利执行单	  
              ob.writeln("<form name='Post_Form' method='post' action='../Advantage/PassAdvantageBill.asp'>");
			  break;	
		 case 151:  //获得价保执行单
			  ob.writeln("<form name='Post_Form' method='post' action='../PriceProtect/PassPriceProtectBillGet.asp'>");
			  break;
		 case 152:	//出库货位单
			  ob.writeln("<form name='Post_Form' method='post' action='j_passvchGoodsLocal.asp'>");
			  break;
		 case 153:	//入库货位单
			  ob.writeln("<form name='Post_Form' method='post' action='j_passvchGoodsLocal.asp'>");
			  break;
		 case 154:	//货位调拨单
			  ob.writeln("<form name='Post_Form' method='post' action='j_passvchGoodsLocal.asp'>");
			  break;
		case 155:	// 换货单
			ob.writeln("<form name='Post_Form' method='post' action='j_PassGoodsExchangeBill.asp'>");
			break;
		case 156:	//维修接件单
			ob.writeln("<form name='Post_Form' method='post' action='j_PassRepairEngageBill.asp'>");
			break;
		case 157:	// 商品维修受理单
			ob.writeln("<form name='Post_Form' method='post' action='../Repair/j_PassRepairDealBill.asp'>");
			break;
		case 160:  // 销售换货
			ob.writeln("<form name='Post_Form' method='post' action='j_PassVchSaleGoodsExchange.asp'>");
			break;
		case 161:  // 采购换货
			ob.writeln("<form name='Post_Form' method='post' action='j_PassVchBuyGoodsExchange.asp'>");
			break;
		case 162:  // 销售发票
		case 163:  // 采购发票
			ob.writeln("<form name='Post_Form' method='post' action='j_passinvoicebill.asp'>");
			break;
		case 164:  // 提成规则设置单
			ob.writeln("<form name='Post_Form' method='post' action='../stat/j_saveTcBill.asp'>");
			break;
	     default:
	          alert("无效的单据类型!"+id);
	          return;

		}
	   ob.writeln("<input type=text name=callback value='"+escape(callback)+"'>");
	   ob.writeln("<input type=text name=recheck value='"+escape(recheck)+"'>");
	   ob.writeln("<input type=text name=ckflag value='"+escape(ckflag)+"'>");
	   ob.writeln("<input type=text name=xyflag value='"+escape(xyflag)+"'>");
	   ob.writeln("<input type=text name=ReCkCode value='"+escape(ReCkCode)+"'>");
	   //if ( headdata.indexOf("department_edit") == -1 ){
			//ob.writeln("<input type=hidden name=department_edit value=''>"); //徐辉2005-3-31 因屏蔽掉分之机构，过账文件需要，添加一个空的
	   //}
	   ob.writeln(headdata);
	   ob.writeln(detaildata);
	   ob.writeln("<input type=hidden name=TimeCheckPoint Value='"+strTemp.valueOf()+"'>");
	   // 刘畅加入序列号过账参数 
	   ob.writeln("<input type=hidden name=SerialBillID Value='"+escape(top.SerialLocalValue.szBillNumberID)+"'>");
	   ob.writeln("</form>")
	   ob.Post_Form.submit();////////2002-7-15王跃
   }
   catch(e)
   {
		alert("提交数据失败");
		return false;
   }
   return true;
}


//接收数据
function GetOldData(ob,id,BillNumberID,parent,reserve,IDS)
{
//GetData(parent.opener.parent.parent.DataRevFrame.document,45,currentbutton.value,"parent.WorkFrame",GetLocalVal("GridType"));
	if (ob==null || id==null) 
	{
	  alert('参数错误！');	 
	  return false;
	}
	//alert("ob="+ob+"id=="+id+"Billnumberid="+BillNumberID+"ptypeid="+PtypeID+"qty="+qty);
	try
    {
	   ob.open("text/html;charset=gb2312","_self");
	   if( id == "87" || id == "71" ){
		  ob.writeln("<form name='Get_Form' method='post' action='../LendBorrow/js_SelectOldBillData.asp'>");
       }
       else
       { 
		  if (id=="141"||id=="145" || id=="142" ||id=="146" )//haiquan 加委托退货，受托退货
		  {
		    ob.writeln("<form name='Get_Form' method='post' action='../Commission/js_SelectOldDXBillGetData.asp?BillTypeID=" + escape(id) + "'>");
		  }
		  if ( id=="500" ){
			ob.writeln("<form name='Get_Form' method='post' action='../vch/js_salebillloadorderbillgetdata.asp'>");
		  }
		  if ( id=="501" ){
			ob.writeln("<form name='Get_Form' method='post' action='../vch/js_buybillloadorderbillgetdata.asp'>");
		  }
		  
		  if( id == "162" || id == "163" ){ //销售采购发票
			ob.writeln("<form name='Get_Form' method='post' action='../vch/js_InvoiceLoadBillgetdata.asp'>");
		  }
		  else
		  {
			ob.writeln("<form name='Get_Form' method='post' action='../vch/js_SelectOldBillGetData.asp'>");
		  }
       }
	   ob.writeln("<input type=hidden name=ID value='"+escape(id)+"'>")
	   ob.writeln("<input type=hidden name=BillNumberID value='"+escape(BillNumberID)+"'>")
	   ob.writeln("<input type=hidden name=IDS value='"+escape(IDS)+"'>")
	   ob.writeln("<input type=Hidden name=Parent value='"+escape(parent)+"'>")
      
	   if(reserve!=null)
	   ob.writeln("<input type=Hidden name=GridType value='"+escape(reserve)+"'>")
	   ob.writeln("</form>");

	   ob.Get_Form.submit();
   }
   catch(e)
   {
	    alert("取数据失败！");
   }

}
function GetData(ob,id,BillNumberID,parent,reserve)
{
	if (ob==null || id==null) 
	{
	  alert('参数错误！');	 
	  return false;
	}
	
    
    try
    {
	    ob.open("text/html;charset=gb2312","_self");
    
		switch(parseInt(id))
		{
	 	 case 11://销售单
	 	 case 45://销售退货单
	 	 case 6://进货退货单
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_SaleBillGetData.asp'>");
			  break;
		 case 34://进货单
		 	  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_BuyBillGetData.asp'>");
			  break;
	 	 case 305://零售单( 实际上现已为POS单功能所用 )
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_RetailBillGetData.asp'>");
			  break;
	 	 case 300://销售订单
	 	 case 301://进货订单
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_OrderBillGetData.asp'>");
			  break;

	 	 case 17://同价调拨单
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_AllotBillGetData.asp'>");
			  break;
	 	 case 21://变价调拨单
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_PriceAllotBillGetData.asp'>");
			  break;
	 	 case 9://报损单
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_LoseBillGetData.asp'>");
			  break;
	 	 case 14://报益单
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_OverFlowBillGetData.asp'>");
			  break;
		case 139:	// 赠送单
			  ob.writeln("<form name='Get_Form' method='post' action='../VCH/js_GivebillGetData.asp?BillTypeID=" + escape(id) + "'>");
			  break; 
		case 126:	// 获赠单
			  ob.writeln("<form name='Get_Form' method='post' action='../VCH/js_GiveMebillGetData.asp?BillTypeID=" + escape(id) + "'>");
			  break; 
		case 140:	// 委托代销发货单
		case 141:	// 委托代销结算单
		case 142:	// 委托代销退货单
		case 145:	// 受托代销结算单
		case 146:	// 受托代销退货单
			  ob.writeln("<form name='Get_Form' method='post' action='../VCH/js_CommissionBillGetData.asp?BillTypeID=" + escape(id) + "'>");
			  break; 
		case 144:	// 受托代销收货单
			 ob.writeln("<form name='Get_Form' method='post' action='../VCH/js_CommissionGetBillGetData.asp?BillTypeID=" + escape(id) + "'>");
			 break; 
		case 147:	// 受托代销调价单
		case 143:	// 委托代销调价单
			ob.writeln("<form name='Get_Form' method='post' action='../VCH/js_CommissionTJDGetData.asp?BillTypeID=" + escape(id) + "'>");
			break; 
		case 84:	// 固定资产购买
		case 85:	// 固定资产变卖
		case 78:	// 固定资产折旧
		case 5:		// 待摊费用发生
		case 10:	// 待摊费用摊销
			ob.writeln("<form name='Get_Form' method='post' action='../VCH/js_BillGetData.asp?BillTypeID=" + escape(id) + "'>");
			break; 

		 case 57://调价单
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_AdPriceBillGetData.asp'>");
			  break;
	     case 4://收款单
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_GatheringBillGetData.asp'>");
			  break;
		 case 66://进货付款
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_PayVchBillGetData.asp'>");
			  break;
	     case 115://应收（付）增加（减少）
	     case 116://应收（付）增加（减少）
	     case 128://应收（付）增加（减少）
	     case 129://应收（付）增加（减少）
	          ob.writeln("<form name='Get_Form' method='post' action='../vch/js_AddEbtGetData.asp'>");
			  break;
		 case 16://商品拆装单
		      ob.writeln("<form name='Get_Form' method='post' action='../vch/js_PacketGetData.asp'>");
			  break;
		 case 36://一般费用单
		      ob.writeln("<form name='Get_Form' method='post' action='../vch/js_ExpenseVchBillGetData.asp'>");
			  break;
		 case 158://现金费用单
		      ob.writeln("<form name='Get_Form' method='post' action='../vch/js_CashExpenseVchBillGetData.asp'>");
			  break;
		 case 159://会计凭证
		      ob.writeln("<form name='Get_Form' method='post' action='../vch/js_AccountCredenceVchBillGetData.asp'>");
			  break;
		 case 93://其他收入单
		      ob.writeln("<form name='Get_Form' method='post' action='../vch/js_IncomeVchBillGetData.asp'>");
			  break;
		 case 77://转款单
		      ob.writeln("<form name='Get_Form' method='post' action='../vch/js_MonChaVchBillGetData.asp'>");
			  break;
		 case 200://销售单
		      ob.writeln("<form name='Get_Form' method='post' action='../vch/js_OffLineBillGetData.asp'>");
			  break;
		  	 
		 case 87://借出开单
			  ob.writeln("<form name='Get_Form' method='post' action='../LendBorrow/js_LendBillGetData.asp'>");
			  break;		  
		 case 71://借进开单
			  ob.writeln("<form name='Get_Form' method='post' action='../LendBorrow/js_BorrowBillGetData.asp'>");
			  break;
		 case 88://借出还回
			  ob.writeln("<form name='Get_Form' method='post' action='../LendBorrow/js_LendBackBillGetData.asp'>");
			  break;
		 case 72://借进还出
			  ob.writeln("<form name='Get_Form' method='post' action='../LendBorrow/js_BorrowBackBillGetData.asp'>");
			  break;
	 	 case 500://销售开单调入销售订单
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_SaleBillLoadOrderBillGetData.asp'>");
			  break;
	 	 case 501://进货开单调入进货订单
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_BuyBillLoadOrderBillGetData.asp'>");
			  break;
		 case 148://返利执行单	  
		      ob.writeln("<form name='Get_Form' method='post' action='../Advantage/AdvantageBillGetData.asp'>");
			  break;
		 case 149://价保执行单	  
		      ob.writeln("<form name='Get_Form' method='post' action='../PriceProtect/PriceProtectBillGetData.asp'>");
			  break;
		 case 150://获利核算执行单	  
		      ob.writeln("<form name='Get_Form' method='post' action='../Advantage/AdvantageBillGetData.asp'>");
			  break;	 
		 case 151:  //获得价保执行单
			  ob.writeln("<form name='Get_Form' method='post' action='../PriceProtect/PriceProtectBillGetData.asp'>");
			  break;
		 case 152:	//出库货位单
		 case 153:	//入库货位单
		 case 154:	//货位调拨单
			  ob.writeln("<form name='Get_Form' method='post' action='../VCH/j_GoodsLocalBillGetData.asp'>");
			  break;
		 case 155:	// 换货单
			ob.writeln("<form name='Get_Form' method='post' action='../VCH/js_GoodsExchangeBillGetData.asp'>");
			break;
		case 157:	// 商品维修受理单
			ob.writeln("<form name='Get_Form' method='post' action='../Repair/js_RepairDealBillGetData.asp'>");
			break;
		case 160:  // 销售换货		
			ob.writeln("<form name='Get_Form' method='post' action='../VCH/js_SaleGoodsExchangeBillGetData.asp'>");
			break;
		case 161:  // 采购换货		
			ob.writeln("<form name='Get_Form' method='post' action='../VCH/js_BuyGoodsExchangeBillGetData.asp'>");
			break;
		case 162:  // 销售发票	
		case 163:  // 采购发票		
			ob.writeln("<form name='Get_Form' method='post' action='../VCH/js_InvoiceBillGetData.asp'>");
			break;
		case 164:  // 销售提成规则设置		
			ob.writeln("<form name='Get_Form' method='post' action='../stat/js_TcBillGetData.asp'>");
			break;
	     default:
	          alert("无效的单据类型!");
	          return;
		}
	   ob.writeln("<input type=hidden name=ID value='"+escape(id)+"'>")
	   ob.writeln("<input type=hidden name=BillNumberID value='"+escape(BillNumberID)+"'>")
	   ob.writeln("<input type=Hidden name=Parent value='"+escape(parent)+"'>")
   
	   //////////////王跃添加
	   if(reserve!=null)
	   ob.writeln("<input type=Hidden name=GridType value='"+escape(reserve)+"'>")
	   ob.writeln("</form>");
	   ob.Get_Form.submit();
   }
   catch(e)
   {
	    alert("取数据失败！");
   }
}

function GetBalanceData(ob,id,parent,Btype,StartDate,endDate,billtype,total,BTypeID,ETypeID,KTypeID,BillNo)
{	
	if (ob==null || id==null) 
	{
	  alert('参数错误！');	 
	  return false;
	}
	
	
	try
	{
	    ob.open("text/html;charset=gb2312","_blank")//"_self");

	    switch(parseInt(id))
		{
		  
	     case 17://按单结算
			  ob.writeln("<form name='Get_Form' method='post' action='../vch/js_GetBalanceData.asp'>");
			  break;
	     default:
	          alert("无效的单据类型!");
	          return;
		}
	   ob.writeln("<input type=hidden name=ID value='"+escape(id)+"'>");
	   ob.writeln("<input type=Hidden name=Parent value='"+escape(parent)+"'>");
	   ob.writeln("<input type=hidden name=Btype value='"+escape(Btype)+"'>")
	   ob.writeln("<input type=hidden name=StartDate value='"+escape(StartDate)+"'>");
	   ob.writeln("<input type=hidden name=endDate value='"+escape(endDate)+"'>");
	   ob.writeln("<input type=hidden name=billtype value='"+escape(billtype)+"'>");
	   ob.writeln("<input type=hidden name=total value='"+escape(total)+"'>");
   	   ob.writeln("<input type=hidden name=BTypeID value='"+escape(BTypeID)+"'>");
	   ob.writeln("<input type=hidden name=ETypeID value='"+escape(ETypeID)+"'>");
	   ob.writeln("<input type=hidden name=KTypeID value='"+escape(KTypeID)+"'>");
	   ob.writeln("<input type=hidden name=BillNo value='"+escape(BillNo)+"'>");

	   ob.writeln("</form>");
	   ob.Get_Form.submit()////////2002-7-15王跃
   }
   catch(e)
   {
		alert("发送数据失败");
   }


}



// 页面打印
function MyWinPrn( )
{
	if (window.print != null) 
		window.print() 
	else	alert('你的机器没有安装打印机，或是打印机不可用')
}

//王浩（2001－12－2）添加 
//报表打印
function QueryPrint(Szsss)
{
  var sss
  sss=Szsss;
  //alert(sss);
  parent.parent.PrintFrame.location.href=sss
//showModalDialog(sss,"","dialogWidth=430px;dialogHeight=115px;center:yes;status:no;help:no;scroll:no ")	
  //window.open(sss,"SELECT_ONE_BASE","toolbar=no,menubar=no,resizable=yes,top=0,left=0,width=420pt,height=460pt")
}

function GetTimeCheckPoint(etypeid,action)
{
  var strTemp=new Date();
  return strTemp.valueOf()+';'+etypeid+';'+ action
}

//刘畅2001-7-23
//发送数据
//ob:发送隐含帧，formdata:帧的内容,callback回调函数
function PostDataLiu(ob,formdata,callback)
{
	var	strTemp=new Date();
	if (ob==null || formdata==null || callback==null ) return false;
    try
    {
		ob.open("text/html;charset=gb2312","_self");

		ob.writeln(formdata);
	
		ob.writeln("<input type=text name=callback value='"+escape(callback)+"'>");
		ob.writeln("<input type=hidden name=TimeCheckPoint Value='"+strTemp.valueOf()+"'>");
		ob.writeln("</form>");
		ob.Post_Form.submit()////////2002-7-15王跃
    }
    catch(e)
    {
		alert("发送数据失败！");
    }

	
}

// 刘畅2002-1-21
// 获得本地的常量
function GetLocalVal(szName)
{
	var ob=top.LocalValue;
	if (ob==null){ob=parent.opener.top.LocalValue;};
	//if (ob==null){ob=parent.VCH_HEAD.LocalValue;};
	if (ob==null){ob=parent.opener.parent.opener.parent.opener.top.LocalValue;}; //单据结算
	if (ob==null){ob=parent.opener.parent.opener.parent.opener.parent.opener.top.LocalValue;}; //单据结算
	
	if (szName=="PartUpdate") return(ob.PartUpdate);	
	if (szName=="Tax") return(ob.Tax);
	if (szName=="DiscountRate") return(ob.DiscountRate);
	if (szName=="GridType") return(ob.GridType);
	if (szName=="PUBLIC_USER_NAME") return(ob.FullName);
	if (szName=="PUBLIC_USER_DEPARTMENT") return(ob.DepartmentName);
	//说明,WY后来修改了szName=="FullName"的情况，改成了szName=="PUBLIC_USER_NAME"
	//而我的程序先前已经有很多地方用了szName("FullName")，所以我这里加入一个sz("FullName")
	//以上说明：ALAN  2002-01-25
	if (szName=="FullName") return(ob.FullName);
	if (szName=="SaleDefault") return(ob.SaleDefault);
}


/////////下面函数操作Stack王跃
//公用函数定义开始
function goBack()
{	//回退一步
	var ob=top.GoBackValue;
	var win;
	if (ob==null){ob=parent.opener.top.GoBackValue;};
	if (!ob.trackURL.isEmpty()){
	        win=ob.trackOb.popOut()+"='"+ob.trackURL.popOut()+"'";
  		    eval(win);
	}
	else{
	    return false;
	}
}


function goHead(szStr,obWin)//szStr:URL
{
	var ob=top.GoBackValue;
	if (ob==null){ob=parent.opener.top.GoBackValue;};
	ob.trackURL.pushInto(szStr);
	ob.trackOb.pushInto(obWin);
}

function EmptyStack()
{
	var ob=top.LocalValue;
	if (ob==null){ob=parent.opener.top.LocalValue;};
	ob.trackURL.clearTrack();
	ob.trackOb.clearTrack();
	
}

//公用函数定义结束

/////定义处理键盘翻页函数
function ChangePageNo(intKeyCode,intPageNo,intPageCount,hdnRow) //intKeyCode:键盘值,intPageNo:当前页码,intPageCount:总的页面数,HdnRow:对象中包含有当前高亮行的行号：其中行号由&分开如：1&00001
{
  
  if (intKeyCode==33){
    if(intPageNo>1)    
	  document.all.PrevPage.click();
  } 
  else if (intKeyCode==34){
  if(intPageNo<intPageCount)   
    document.all.NextPage.click();
  }
  else if(intKeyCode==36){
	document.jump.PageNo.value=1;
	document.jump.btnGoto.click();
  }
  else if(intKeyCode==35){
	document.jump.PageNo.value=intPageCount;
	document.jump.btnGoto.click();
  }
  else if(intKeyCode==35||intKeyCode==40){
    var strValue=hdnRow.value;
    var intRow=parseInt(strValue.substring(0,strValue.indexOf('&')));
    if(intKeyCode==35){
      if(intRow>0){
        intRow=intRow-1;
        document.all('Row'+intRow).click();
      } 
    }
    else{
        intRow=intRow+1;
        try{
          document.all('Row'+intRow).click();
        }
        catch(e){
        }
    } 
  }   
}



function structisUnit2() //双单位结构
{
  var pUserCode; //商品编号
  var isUnit2;   //是否采用双单位
  var UnitName;  //单位名称
};

//肖伟 2002-7-19 消除HEAD中调GRID或SUBMENU中对象(WriteHeadData())由于页面刷新时间不一致而出现的对象为空的现象
function TimeSetValue(obj,objValue,num)
{
   if (obj[num]==null) 
		setTimeout('TimeSetValue('+obj+','+objValue+','+num+')',1000);   
   else
   {
		for (var i=1;i<=num;i++)		
			obj[i].value=objValue[i];
   }
}

function chkSerialLen(s) {
	/***************************************************************
	程序编写：卢 春
	编写时间：2007-12-18
	函数功能：判断序列号的字节长度。
		  如果字节超过50，则提示并中断
		  主要因为序列号字段为varchar(50)，而1个全角中文要占2位，50个中文无法存入
		  因此放到前端判断
	函数参数：s为要检查字串
	***************************************************************/
	var count = 0;
	for (var i = 0; i < s.length; i ++) {
		var ch = s.charCodeAt(i);
		count += ch > 255 ? 2 : 1;
	}
	if (count>50) {
		return false;
	}
	else {
		return true;
	}
}

function chkNonChar(obj){
	/***************************************************************
	程序编写：Roamer Wu
	编写时间：2003-09-29
	函数功能：检查输入文字是否包含有本系统限制的非法字符。
	函数参数：obj为要检查的文本框"input type=text"名或文本域"textarea"名。
	函数变量：strNonChar为非法字符集，如果要添加或删除定义的非法字符请处理此变量。
	***************************************************************/
	
	var strInput;
	var strNonChar = new Array();
	
	strInput = obj.value;
	
	//本系统非法字符集，要允许加用以下字符，请在前加上“//”
	strNonChar[0] = "\'";		//禁用'
	strNonChar[1] = "\"";		//禁用"
	strNonChar[2] = "\\";		//禁用\
	strNonChar[3] = "~";		//禁用~
	strNonChar[4] = "#";		//禁用#
	strNonChar[5] = "$";		//禁用$
	strNonChar[6] = "%";		//禁用%
	strNonChar[7] = "^";		//禁用^
	strNonChar[8] = "&";		//禁用&
	strNonChar[9] = "*";		//禁用*
	strNonChar[10] = "<";		//禁用<
	strNonChar[11] = ">";		//禁用>
	strNonChar[12] = "/";		//禁用/
	strNonChar[13] = "?";		//禁用?
	strNonChar[14] = "|";		//禁用|
	strNonChar[15] = "+";		//禁用+
	strNonChar[16] = "`";		//禁用`
	strNonChar[17] = "×";		//禁用× 
	strNonChar[18] = "[";		//禁用[
	strNonChar[19] = "]";		//禁用]
	strNonChar[20] = "§";		//禁用§
	
	if (strInput == '') return true;

	//在输入的参数中，查找是否有系统定义非法字符
	for (var i = 0;i < strNonChar.length; i++){
		if ( strInput.indexOf(strNonChar[i]) > -1 ) {
			alert('【系统提示】\n\n输入的文字中含有本系统所不允许的非法字符“' + strNonChar[i] + '” ！\n\n请重新输入或换用别的字符替代。')
			obj.focus();
			obj.select();
			return false;
		}
	}
	return true;
}

function chkSerialNonChar(obj){
	/***************************************************************
	程序编写：徐辉
	编写时间：2007-11-19
	函数功能：检查序列号是否包含有本系统限制的非法字符。
	函数参数：obj为要检查的文本框"input type=text"名或文本域"textarea"名。
	函数变量：strNonChar为非法字符集，如果要添加或删除定义的非法字符请处理此变量。
	***************************************************************/
	
	var strInput;
	var strNonChar = new Array();
	
	strInput = obj.value;
	
	//本系统非法字符集，要允许加用以下字符，请在前加上“//”
	
	strNonChar[0] = "\'";		//禁用'
	strNonChar[1] = "\"";		//禁用"
	strNonChar[2] = "\\";		//禁用\
	strNonChar[3] = "~";		//禁用~
	strNonChar[4] = "^";		//禁用^
	strNonChar[5] = "&";		//禁用&
	strNonChar[6] = "*";		//禁用*
	strNonChar[7] = ".";		//禁用. 
	strNonChar[8] = "[";		//禁用[
	strNonChar[9] = "]";		//禁用]
	strNonChar[10] = "п";			//禁用п
	strNonChar[11] = "<";			//禁用<
	strNonChar[12] = "+";			//禁用+
	strNonChar[13] = "×";		//禁用×
	strNonChar[14] = "я";		//禁用× 
	strNonChar[15] = "§";		//禁用§
	//strNonChar[15] = "$";		//禁用$
	//strNonChar[16] = "%";		//禁用%
	
	
	if (strInput == '') return true;

	//在输入的参数中，查找是否有系统定义非法字符
	for (var i = 0;i < strNonChar.length; i++){
		if ( strInput.indexOf(strNonChar[i]) > -1 ) {
			alert('【系统提示】\n\n输入的文字中含有本系统所不允许的非法字符“' + strNonChar[i] + '” ！\n\n请重新输入或换用别的字符替代。')
			obj.focus();
			obj.select();
			return false;
		}
	}
	if (obj.name != "MultText") {
		if (!chkSerialLen(strInput)) {
			alert("【系统提示】\n\n序列号【"+strInput+"】位数过长，请确认后重试！	\n");
			return false;
		}
	}
	return true;
}

function chkStrNonChar(strInput){
	/***************************************************************
	程序编写：徐 辉
	编写时间：2007-06-25
	函数功能：检查输入文字是否包含有本系统限制的非法字符。
	函数参数：strInput为要检查字串
	函数变量：strNonChar为非法字符集，如果要添加或删除定义的非法字符请处理此变量。
	***************************************************************/
	
	var strNonChar = new Array();
	
	
	//本系统非法字符集，要允许加用以下字符，请在前加上“//”
	strNonChar[0] = "\'";		//禁用'
	strNonChar[1] = "\"";		//禁用"
	strNonChar[2] = "\\";		//禁用\
	strNonChar[3] = "~";		//禁用~
	strNonChar[4] = "#";		//禁用#
	strNonChar[5] = "$";		//禁用$
	strNonChar[6] = "%";		//禁用%
	strNonChar[7] = "^";		//禁用^
	strNonChar[8] = "&";		//禁用&
	strNonChar[9] = "*";		//禁用*
	strNonChar[10] = "<";		//禁用<
	strNonChar[11] = ">";		//禁用>
	strNonChar[12] = "/";		//禁用/
	strNonChar[13] = "?";		//禁用?
	strNonChar[14] = "|";		//禁用|
	strNonChar[15] = "+";		//禁用+
	strNonChar[16] = "`";		//禁用`
	strNonChar[17] = "×";		//禁用×
	strNonChar[18] = "[";		//禁用[
	strNonChar[19] = "]";		//禁用]
	strNonChar[20] = "§";		//禁用§
	
	if (strInput == '') return true;

	//在输入的参数中，查找是否有系统定义非法字符
	for (var i = 0;i < strNonChar.length; i++){
		if ( strInput.indexOf(strNonChar[i]) > -1 ) {
			alert('【系统提示】\n\n输入的文字中含有本系统所不允许的非法字符“' + strNonChar[i] + '” ！\n\n请重新输入或换用别的字符替代。')
			return false;
		}
	}
	return true;
}

function chkSerialStrNonChar(strInput){
	/***************************************************************
	程序编写：徐 辉
	编写时间：2007-11-19
	函数功能：检查输入序列号是否包含有本系统限制的非法字符。
	函数参数：strInput为要检查字串
	函数变量：strNonChar为非法字符集，如果要添加或删除定义的非法字符请处理此变量。
	***************************************************************/
	
	var strNonChar = new Array();
	
	
	//本系统非法字符集，要允许加用以下字符，请在前加上“//”
	
	strNonChar[0] = "\'";		//禁用'
	strNonChar[1] = "\"";		//禁用"
	strNonChar[2] = "\\";		//禁用\
	strNonChar[3] = "~";		//禁用~
	strNonChar[4] = "^";		//禁用^
	strNonChar[5] = "&";		//禁用&
	strNonChar[6] = "*";		//禁用*
	strNonChar[7] = ".";		//禁用. 
	strNonChar[8] = "[";		//禁用[
	strNonChar[9] = "]";		//禁用]
	strNonChar[10] = "п";			//禁用п
	strNonChar[11] = "<";			//禁用<
	strNonChar[12] = "+";			//禁用+
	strNonChar[13] = "×";		//禁用×
	strNonChar[14] = "я";		//禁用× 
	strNonChar[15] = "§";		//禁用§
	//strNonChar[15] = "$";		//禁用$
	//strNonChar[16] = "%";		//禁用%
	
	if (strInput == '') return true;

	//在输入的参数中，查找是否有系统定义非法字符
	for (var i = 0;i < strNonChar.length; i++){
		if ( strInput.indexOf(strNonChar[i]) > -1 ) {
			alert('【系统提示】\n\n输入的文字中含有本系统所不允许的非法字符“' + strNonChar[i] + '” ！\n\n请重新输入或换用别的字符替代。')
			return false;
		}
	}
	if (!chkSerialLen(strInput)) {
		alert("【系统提示】\n\n序列号【"+strInput+"】位数过长，请确认后重试！	\n");
		return false;
	}
	return true;
}

function LoadAuditBill(strBillType) {
		window.open("../Common/js_SelectAuditBill.asp?TimeCheckPoint=" + GetTimeCheckPoint('','') + "&GridType=" + parent.VCH_GRID.GridType + "&BillType=" + strBillType,"","toolbar=no,menubar=no,resizable=yes,top=0,left=0,width=700pt,height=520pt");
}

var ShowBillWindows;
function Show_BillWindows(intBillNumberID) {
	if ( isNaN(parseInt(intBillNumberID) ) || parseInt(intBillNumberID) == 0 ) return;
		ShowBillWindows = window.open("../DispVch/j_s_AllBill.asp?TimeCheckPoint=" + GetTimeCheckPoint('','') + "&BillNumberID=" + intBillNumberID + "&showStyle=Out&Obj=parent.opener.parent.parent.DataRevFrame.document&Par=parent.WorkFrame.VCH_MENU.ShowBillWindows",'',"toolbar=no,menubar=no,resizable=yes,top=0,left=0,width=680pt,height=500pt")		//尹毅　2006.6.30 调单提速
		//ShowBillWindows = window.open("../DispVch/j_s_AllBill.asp?TimeCheckPoint=" + GetTimeCheckPoint('','') + "&BillNumberID=" + intBillNumberID + "&showStyle=Out&Obj=parent.opener.parent.parent.DataRevFrame.document&Par=parent.WorkFrame.VCH_MENU.ShowBillWindows",'ShowBill',"toolbar=no,menubar=no,resizable=yes,top=0,left=0,width=680pt,height=500pt")

}

/***************************************
	作者：谢吉康
	日期：2003-11-20
	描述：在弹出窗口中调用借欠的原始单据
****************************************/
var ShowLendBillWindows;
function Show_LendBillWindows(intBillNumberID) {
	if ( isNaN(parseInt(intBillNumberID) ) || parseInt(intBillNumberID) == 0 ) return;																																													
		ShowLendBillWindows = window.open("../LendBorrow/alllendbill.asp?TimeCheckPoint=" + GetTimeCheckPoint('','') + "&BillNumberID=" + intBillNumberID + "&showStyle=Out&Obj=parent.opener.parent.parent.DataRevFrame.document&Par=parent.WorkFrame.VCH_MENU.ShowLendBillWindows",'ShowLendBillWindows',"toolbar=no,menubar=no,resizable=yes,top=0,left=0,width=680pt,height=500pt")

}

/***************************************
	作者：谢吉康
	日期：2003-11-21
	描述：在弹出窗口中调用订单的原始单据
****************************************/
var ShowOrderBillWindows;
function Show_OrderBillWindows(intBillNumberID,OrderBillType) {
	if ( isNaN(parseInt(intBillNumberID) ) || parseInt(intBillNumberID) == 0 ) return;	
		ShowOrderBillWindows = window.open("../DispVch/j_s_orderbill.asp?TimeCheckPoint=" + GetTimeCheckPoint('','') + "&BillNumberID=" + intBillNumberID + "&OrderType="+OrderBillType+"&showStyle=Out&Obj=parent.opener.parent.parent.DataRevFrame.document&Par=parent.WorkFrame.VCH_MENU.ShowOrderBillWindows",'ShowOrderBillWindows',"toolbar=no,menubar=no,resizable=yes,top=0,left=0,width=680pt,height=500pt")

}
//****************************************************************自动提示调单据  谢吉康 2003-11-24**************************
/***************************************
	作者：谢吉康
	日期：2003-11-20
	描述：在弹出窗口中调用单据的原始单据
****************************************/
var BaseShowBillWindows;
function BaseShow_BillWindows(intBillNumberID) {
	if ( isNaN(parseInt(intBillNumberID) ) || parseInt(intBillNumberID) == 0 ) return;
		BaseShowBillWindows = window.open("../DispVch/j_s_AllBill.asp?TimeCheckPoint=" + GetTimeCheckPoint('','') + "&BillNumberID=" + intBillNumberID + "&showStyle=Out&Obj=parent.opener.parent.parent.DataRevFrame.document&Par=top.bottom.BaseShowBillWindows",'ShowBill',"toolbar=no,menubar=no,resizable=yes,top=0,left=0,width=680pt,height=500pt")

}

/***************************************
	作者：谢吉康
	日期：2003-11-20
	描述：在弹出窗口中调用借欠的原始单据
****************************************/
var BaseShowLendBillWindows;
function BaseShow_LendBillWindows(intBillNumberID) {
	if ( isNaN(parseInt(intBillNumberID) ) || parseInt(intBillNumberID) == 0 ) return;																																													
		BaseShowLendBillWindows = window.open("../LendBorrow/alllendbill.asp?TimeCheckPoint=" + GetTimeCheckPoint('','') + "&BillNumberID=" + intBillNumberID + "&showStyle=Out&Obj=parent.opener.parent.parent.DataRevFrame.document&Par=top.bottom.BaseShowLendBillWindows",'ShowLendBillWindows',"toolbar=no,menubar=no,resizable=yes,top=0,left=0,width=680pt,height=500pt")

}

/***************************************
	作者：谢吉康
	日期：2003-11-21
	描述：在弹出窗口中调用订单的原始单据
****************************************/
var BaseShowOrderBillWindows;
function BaseShow_OrderBillWindows(intBillNumberID,OrderBillType) {
	if ( isNaN(parseInt(intBillNumberID) ) || parseInt(intBillNumberID) == 0 ) return;	
		BaseShowOrderBillWindows = window.open("../DispVch/j_s_orderbill.asp?TimeCheckPoint=" + GetTimeCheckPoint('','') + "&BillNumberID=" + intBillNumberID + "&OrderType="+OrderBillType+"&showStyle=Out&Obj=parent.opener.parent.parent.DataRevFrame.document&Par=top.bottom.BaseShowOrderBillWindows",'ShowOrderBillWindows',"toolbar=no,menubar=no,resizable=yes,top=0,left=0,width=680pt,height=500pt")

}
//*******************************************************************************************************
function invoice(){
	/*********** 发票管理 ************
	编程： 吴德水
	时间： 2003-08-27
	说明： 类，定义发票的相关属性
	*********************************/
	
	this.isMakeOut		 = 0;		//是否开票
	this.dealName		 = '';		//发票经手人
	this.invoiceType	 = 2;		//发票类型
	this.invoiceNo		 = '';		//发票编号
	this.dealDate		 = '';		//开票日期
	this.invoiceTotal	 = 0;		//发票金额
	this.explain		 = '';		//发票说明
	this.availability	 = false;	//数据是否有效
	this.billNumberId	 = -1;		//此发票的相关的单据ID
	this.isDraft		 = 0;		//此发票的相关的单据ID
	this.enable			 = 1;		//0只读；1可写；2可页面保存
	this.OpType          = 0;		//入口操作类型
						//值：0：开单、草稿的发票处理
						//    1：原始单据、发票报表，新开发票操作
}
	
function invoiceInput(obj){
	/******** 发票录入页 **********
	编写：吴德水
	时间：2003-08-27
	说明：模态窗口打开
	******************************/
	
	var re = 0 ;
	var strSend = '';
	//open('../vch/js_InvoiceBill.asp?TimeCheckPoint=' + GetTimeCheckPoint('',''))
	if (obj.OpType == 0)
		re = showModalDialog('../vch/js_InvoiceBill.asp?TimeCheckPoint=' + GetTimeCheckPoint('',''),obj,'center:1;dialogHeight:180px;dialogWidth:655px;help:0;status:0');
	else
		re = showModalDialog('../vch/js_InvoiceBill.asp?OpType='+obj.OpType+'&BillNumberID='+obj.billNumberId+'&TimeCheckPoint=' + GetTimeCheckPoint('',''),obj,'center:1;dialogHeight:370px;dialogWidth:655px;help:0;status:0');
}


/*更正打印的时候，插入序列号和no字段，出现no字段不符合规律问题  v3.7延期问题10 haiquan*/

function ArrayAddNo(OldArr,Cols,GID){
	if ( Cols == 0 ) return OldArr;
	var k=0;
	var newArr = new Array();
	if(GID==2){				//序列号放在商品编号以前的grid
		for ( var i = 0; i < OldArr.length; i++ ) {
			if ( i % Cols == 0 ) {
			   if(OldArr[i+1]!=""){
					k=k+1;
					newArr = newArr.concat(k);
				}
				else
				newArr = newArr.concat("");
				newArr = newArr.concat(OldArr.slice(i,i + Cols));
			}
		}
	}
	else if(GID==null||GID==""||GID==1)//序列号放在商品编号以后的grid
	{
		for ( var i = 0; i < OldArr.length; i++ ) {
			if ( i % Cols == 0 ) {
			   if(OldArr[i]!=""){
					k=k+1;
					newArr = newArr.concat(k);
				}
				else
				newArr = newArr.concat("");
				newArr = newArr.concat(OldArr.slice(i,i + Cols));
			}
		}
	}
	return (newArr);
}


function BillColsDisplaySet(n, GridName,ifUseUnitTwo) {
	var obGrid = document.all(GridName);
	var strFunction = "BillColsDisplaySet(" + n + ",'" + GridName + "'," + ifUseUnitTwo + ")";
	var m;
	
	m = 1;
	//return;
	if ( obGrid == null ) {
		setTimeout(strFunction,500);
	}
	if ( obGrid != null ) {
		if ( document.all("hdnSysLoadData") != null ){		//徐辉 2004-5-9 单据数据写完后才开始控制单据列显示
			if ( document.all("hdnSysLoadData").value == 1){
			}
			else{
				setTimeout(strFunction,0);
			}
		}
		
		var objinput;
		for ( var i = 0; i < obGrid.rows.length ; i++ ) {
			//alert(obGrid.rows(i).outerHTML)
			obGrid.rows[i].cells(n).style.display = "none";
			for(k=0;k<obGrid.rows[i].cells(n).children.length;k++){
				objinput=obGrid.rows[i].cells(n).children(k); //不显示列的input disabled=true
				if (objinput != null ){
					objinput.disabled = true;
					objinput.readOnly = true; //被隐藏列readonly=true 2005-4-12 徐辉
				}
			}
		}
	}
}

//过账后刷新grid
function BillDisableCallBack(n) {
	// n - 1：只读；0：可读
	if ( document.all("hdnGridReadOnly") == null ) return false;
	if ( document.all("hdnGridReadOnly").value == "" ) return false;
	
	//置只读标志 2006－8－23 徐辉
	if ( document.all("hdnGridReadOnly") != null ){
		document.all("hdnGridReadOnly").value = n;
	}
	
	var frm = parent.document.frames;
	var strTagName;
	var evalstr;
	for ( var i = 0; i < frm.length; i++ ) {
		for ( var j = 0; j < frm(i).document.all.length; j++ ) {
			strDocumentItem = frm(i).document.all.item(j);
			if ( strDocumentItem.tagName == "INPUT" || strDocumentItem.tagName == "SELECT") {
				evalstr = 'strDocumentItem.value != "调入单据" && strDocumentItem.value != "审核过账" && strDocumentItem.value != "单据过账" &&  strDocumentItem.value != "单据过账" && strDocumentItem.value != "调入草稿" && strDocumentItem.value != "单据调阅" && ( strDocumentItem.value.indexOf("印") < 0 ) && strDocumentItem.name != "lnSerialPrintNum"  && strDocumentItem.value != "发消息" && strDocumentItem.value != "按单结算" && strDocumentItem.value != "计算合计" ';
				if ( eval(evalstr) ) { // && strDocumentItem.value != "实收金额"
					if ( n == 1 ){
						if ( document.all("hdnBillType") != null ){
							if ( document.all("hdnBillType").value == "300" || document.all("hdnBillType").value == "301"){
								if ( strDocumentItem.value == "实时库存" || strDocumentItem.value == "调入订单" ){
									strDocumentItem.disabled = false;	
								}
								else{
									strDocumentItem.disabled = true;
								}
							}
							else{
								strDocumentItem.disabled = true;
							}
						}
						else{
							strDocumentItem.disabled = true;
						}
					}
					else if ( n == 0 ){
						//if(strDocumentItem.disabled == true){  //徐辉2004.10.11审核单据过账后控件不能再屏蔽
							//strDocumentItem.disabled = true;
						//}
						//else{
							
							if ( top.LocalValue.IfChangEmployee == 1 && ( strDocumentItem.name == "Button1" || strDocumentItem.name == "btnSelectEmployee" || strDocumentItem.name == "etype_button") && top.LocalValue.FullName != "超级用户" ){//系统采用不修改经手人
								
							}
							else{
								strDocumentItem.disabled = false;
							}
						//}
					}
				}
			}
			if ( strDocumentItem.tagName == "IMG" ) {
				if ( n == 1 ) {
					strDocumentItem.width = 0;
					strDocumentItem.height = 0;
				}
				else if ( n == 0 ) {
					strDocumentItem.width = 16;
					strDocumentItem.height = 16;
				}
			}
		}
	}
}

function BillDisable(n) {
	// n - 1：只读；0：可读
	if ( document.all("hdnGridReadOnly") == null ) return false;
	if ( document.all("hdnGridReadOnly").value == "" ) return false;
	
	//置只读标志 2006－8－23 徐辉
	if ( document.all("hdnGridReadOnly") != null ){
		document.all("hdnGridReadOnly").value = n;
	}
	
	var frm = parent.document.frames;
	var strTagName;
	var evalstr;
	for ( var i = 0; i < frm.length; i++ ) {
		for ( var j = 0; j < frm(i).document.all.length; j++ ) {
			strDocumentItem = frm(i).document.all.item(j);
			if( frm(i).name != 'VCH_GRID'){				//尹毅 2006.5.15	取消对VCH_GRID是否可读的判断
				if ( strDocumentItem.tagName == "INPUT" || strDocumentItem.tagName == "SELECT") {
					evalstr = ' strDocumentItem.value != "调入单据" && strDocumentItem.value != "审核过账" && strDocumentItem.value != "单据过账" &&  strDocumentItem.value != "单据过账" && strDocumentItem.value != "调入草稿" && strDocumentItem.value != "单据调阅" &&  !( strDocumentItem.value.indexOf("印")>=0 && strDocumentItem.type.toUpperCase()=="BUTTON" )  && strDocumentItem.name != "lnSerialPrintNum"  && strDocumentItem.value != "发消息" && strDocumentItem.value != "按单结算" && strDocumentItem.value != "计算合计" && strDocumentItem.value != "发票管理" ';
					if ( eval(evalstr) || strDocumentItem.type.toUpperCase() =="TEXT"  ) { // 所有的text都应该置灰 xuhui 2007-05-28
						if ( n == 1 ){
							if ( document.all("hdnBillType") != null ){
								if ( document.all("hdnBillType").value == "300" || document.all("hdnBillType").value == "301"){
									if ( strDocumentItem.value == "实时库存" || strDocumentItem.value == "调入订单" ){
										strDocumentItem.disabled = false;	
									}
									else{
										strDocumentItem.disabled = true;
									}
								}
								else if( document.all("hdnBillType").value == "17" || document.all("hdnBillType").value == "14"  || document.all("hdnBillType").value == "9"  ){
									if ( strDocumentItem.value == "计算单价" ){		//同价调拨、报溢单、报损单
										strDocumentItem.disabled = false;	
									}
									else{
										strDocumentItem.disabled = true;	
									}
								}
								else{
									strDocumentItem.disabled = true;
								}
							}
							else{
								strDocumentItem.disabled = true;
							}
						}
						else if ( n == 0 ){
							//if(strDocumentItem.disabled == true){  //徐辉2004.10.11审核单据过账后控件不能再屏蔽
								//strDocumentItem.disabled = true;
							//}
							//else{
								
								if ( top.LocalValue.IfChangEmployee == 1 && ( strDocumentItem.name == "Button1" || strDocumentItem.name == "btnSelectEmployee" || strDocumentItem.name == "etype_button") && top.LocalValue.FullName != "超级用户" ){//系统采用不修改经手人
									
								}
								else{
									strDocumentItem.disabled = false;
								}
							//}
						}
					}
				}
			}
			if ( strDocumentItem.tagName == "IMG" ) {
				if ( n == 1 ) {
					strDocumentItem.width = 0;
					strDocumentItem.height = 0;
				}
				else if ( n == 0 ) {
					strDocumentItem.width = 16;
					strDocumentItem.height = 16;
				}
			}
		}
	}
}
//
function BillDisableBalance(n) {
	// n - 1：只读；0：可读
	if ( document.all("hdnGridReadOnly") == null ) return false;
	if ( document.all("hdnGridReadOnly").value == "" ) return false;
	
	var frm = parent.document.frames;
	var strTagName;
	var evalstr;
	for ( var i = 0; i < frm.length; i++ ) {
		for ( var j = 0; j < frm(i).document.all.length; j++ ) {
			strDocumentItem = frm(i).document.all.item(j);
			if ( strDocumentItem.tagName == "INPUT" || strDocumentItem.tagName == "SELECT") {
				evalstr = 'strDocumentItem.value != "调入单据" && strDocumentItem.value != "审核过账" && strDocumentItem.value != "单据过账" &&  strDocumentItem.value != "单据过账"  && strDocumentItem.value != "单据调阅" && ( strDocumentItem.value.indexOf("印") < 0 ) && strDocumentItem.name != "lnSerialPrintNum"  && strDocumentItem.value != "发消息"  && strDocumentItem.value != "存为草稿" ';
				if ( eval(evalstr) ) { // && strDocumentItem.value != "实收金额"
					if ( n == 1 ){
						if ( document.all("hdnBillType") != null ){
							if ( document.all("hdnBillType").value == "300" || document.all("hdnBillType").value == "301"){
								if ( strDocumentItem.value == "实时库存" || strDocumentItem.value == "调入订单" ){
									strDocumentItem.disabled = false;	
								}
								else{
									strDocumentItem.disabled = true;
								}
							}
							else{
								strDocumentItem.disabled = true;
							}
						}
						else{
							strDocumentItem.disabled = true;
						}
					}
					else if ( n == 0 ){
						//if(strDocumentItem.disabled == true){  //徐辉2004.10.11审核单据过账后控件不能再屏蔽
							//strDocumentItem.disabled = true;
						//}
						//else{
							if ( top.LocalValue.IfChangEmployee == 1 && ( strDocumentItem.name == "Button1" || strDocumentItem.name == "btnSelectEmployee" || strDocumentItem.name == "etype_button") ){//系统采用不修改经手人
								
							}
							else{
								strDocumentItem.disabled = false;
							}
						//}
					}
				}
			}
			if ( strDocumentItem.tagName == "IMG" ) {
				if ( n == 1 ) {
					strDocumentItem.width = 0;
					strDocumentItem.height = 0;
				}
				else if ( n == 0 ) {
					strDocumentItem.width = 16;
					strDocumentItem.height = 16;
				}
			}
		}
	}
}

function chkOneArray( varray ) {
	//检查一个数组是否是唯一元素组成(没有重复元素)
	//Roamer Wu 2004-03-03
	//参数：varray数组对象， 返回："" 或 重复的值 。
	//主要用于录入序列号时的检查
	
	var n = varray.length;
	for ( var i = 0 ; i < n ; i ++){
		for ( var j = ( i + 1 ); j < n ; j ++ ) {
			if ( varray[j].toUpperCase()== varray[i].toUpperCase() )
				return varray[i];
		}
	}

	return "";
}

function chkTowArray( obj1, obj2 ){
	//检查两个数组间，是否有重复
	//Roamer Wu 200-03-03
	//参数：两个数组；返回："" 或 重复的值 。
	//主要用于单据中序列号返回时，行与行之间检查
	
	var n = obj1.length;
	var m = obj2.length;
	
	for ( var i = 0; i < n; i ++){
		for ( var j = 0; j < m ; j ++ ){
			if ( obj1[i] == obj2[j] )
				return obj1[i];
		}
	}
	
	return "";
}

//复位Grid中的每行打印个数。
function GetPrintNumPerLine(){
	if (document.all.lnSerialPrintNum != null)
		return(document.all.lnSerialPrintNum.value);
	else
		return(-1);
}


function invite(billname) { //2004-03-31周勇增加发送短信功能

	var billid = parent.VCH_HEAD.document.all.billcode_edit.value
	var hWin1 ; 
			
		hWin1 = window.open("../oa/BBS_PersonalInvite.asp?billtype=" + billname + " &flag=1&host=" + GetLocalVal("PUBLIC_USER_NAME") + "&billnumberid=" + billid + "&TimeID=" + Math.random(),"","toolbar=no,menu=no,statusbar=no,width=500,height=225,resizable=no,location=no,status=no,left=" + (window.screen.width-500)/2 + ",top=80") ;
		hWin1.focus() ;
}

/*
函数作用：单据过账时，提示输入成本价
          适用于所有物流出库单据
          适用于所有不用录入成本价的物流入库单据
参    数：strUserCode - 商品编号
          strFullName - 商品名称
          strPrompt - 提示信息
          strAuditFunction - “单据过账”按钮所触发的 JavaScript 函数
代码作者：卢春 2004-07-27
*/
function GridCostPriceInput(strUserCode, strFullName, strPrompt, strAuditFunction) {
	var intReturnValue = prompt(strPrompt,"");
	if ( intReturnValue == null ) {
		if (document.all.hdnReatailBill != null) {
			parent.VCH_MENU.document.all.btnCheckAuditing.disabled = false;
		}
		return false;
	}
	else {
		intReturnValue = KillSpace(intReturnValue);
	}
	var strEvalSelfFunction = "GridCostPriceInput(\"" + strUserCode + "\", \"" + strFullName + "\", \"" + strPrompt + "\", \"" + strAuditFunction + "\")";

	if ( intReturnValue == "" ) {
		if ( confirm("【系统提示】\n\n您没有输入任何内容或内容为空格，请确认后重试？\n") ) {
			eval(strEvalSelfFunction);
		}
		return false;
	}

	if ( isNaN(intReturnValue) == true ) {
		if ( confirm("【系统提示】\n\n您输入不是数字，请确认后重试？\n") ) {
			eval(strEvalSelfFunction);
		}
		return false;
	}

	if ( intReturnValue < 0 ) {
		if ( confirm("【系统提示】\n\n您输入的成本数据不能小于 0，请确认后重试？\n") ) {
			eval(strEvalSelfFunction);
		}
		return false;
	}
	
	if ( intReturnValue == 0 ) {
		if ( !confirm("【系统提示】\n\n您输入的成本数据是 0，是否继续过账？\n") ) {
			return false;
		}
	}

	var strDoc_UserCode, strDoc_FullName, strDoc_CostPrice,intGridRows;
	var strDoc_UserCode1, strDoc_FullName1, strDoc_CostPrice1,intGridRows1;
	var strDoc_HandZeroCost, strDoc_HandZeroCost1;
	var intIfExist = 0;

	if( document.all("UserCode_Edit1") != null )		// 单grid
	{
		strDoc_UserCode		= "UserCode_Edit";
		strDoc_FullName		= "FullName_Edit";
		intGridRows			= Grid.rows;
		strDoc_CostPrice	= "InputCostPrice";
		strDoc_HandZeroCost	= "HandZeroCost";
		for ( var i = 1; i <= intGridRows; i++ ) {
			if ( document.all(strDoc_UserCode + i).value != "" && document.all(strDoc_FullName + i).value != "" ) {
				if ( document.all(strDoc_UserCode + i).value == strUserCode && document.all(strDoc_FullName + i).value == strFullName ) {
					document.all(strDoc_CostPrice + i).value = intReturnValue;
					if ( intReturnValue == 0 ) {
						document.all(strDoc_HandZeroCost + i).value = "1";
					}
					intIfExist = 1;
				}
			}
		}

		if ( intIfExist == 0 ) {
			alert("【系统提示】\n\n单据中不存该商品：[" + strUserCode + "]" + strFullName + "，请确认后重试！\n");
			return false;
		}
	}
	else if ( document.all("OUserCode_Edit1") != null && document.all("InputCostPrice1") != null ) {
		strDoc_UserCode		= "OUserCode_Edit";
		strDoc_FullName		= "OFullName_Edit";
		intGridRows			= GridOut.rows;
		strDoc_CostPrice	= "InputCostPrice";
		strDoc_HandZeroCost	= "OHandZeroCost";
		if (document.all("hdnPacketGridOut") != null) {
			intReturnValue = Math.round(intReturnValue*10000)/10000;
		}
		for ( var i = 1; i <= intGridRows; i++ ) {
			if ( document.all(strDoc_UserCode + i).value != "" && document.all(strDoc_FullName + i).value != "" ) {
				if ( document.all(strDoc_UserCode + i).value == strUserCode && document.all(strDoc_FullName + i).value == strFullName ) {
					document.all(strDoc_CostPrice + i).value = intReturnValue;
					if ( intReturnValue == 0 ) {
						document.all(strDoc_HandZeroCost + i).value = "1";
					}
					if (document.all("hdnPacketGridOut") != null) {
						document.all("OPrice_Edit" + i).value = intReturnValue;
						document.all("OTotal_Edit" + i).value = Math.round(document.all("OQty_Edit" + i).value*intReturnValue*100)/100;
					}					
					intIfExist = 1;
				}
			}
		}

		if ( intIfExist == 0 ) {
			alert("【系统提示】\n\n单据中不存该商品：[" + strUserCode + "]" + strFullName + "，请确认后重试！\n");
			return false;
		}
		if (document.all("hdnPacketGridOut") != null) {
			GridOut.Sum();
		}
	}
	else{		// 双grid
		strDoc_UserCode		= "IUserCode_Edit";
		strDoc_FullName		= "IFullName_Edit";
		intGridRows			=  GridIn.rows;
		strDoc_CostPrice	= "IInputCostPrice";
		strDoc_HandZeroCost	= "IHandZeroCost";
		strDoc_UserCode1	= "OUserCode_Edit";
		strDoc_FullName1	= "OFullName_Edit";
		intGridRows1		=  GridOut.rows;
		strDoc_CostPrice1	= "OInputCostPrice";
		strDoc_HandZeroCost1= "OHandZeroCost";
		
		for ( var i = 1; i <= intGridRows; i++ ) {
			if ( document.all(strDoc_UserCode + i).value != "" && document.all(strDoc_FullName + i).value != "" ) {
				if ( document.all(strDoc_UserCode + i).value == strUserCode && document.all(strDoc_FullName + i).value == strFullName ) {
					document.all(strDoc_CostPrice + i).value = intReturnValue;
					if ( intReturnValue == 0 ) {
						document.all(strDoc_HandZeroCost + i).value = "1";
					}
					intIfExist = 1;
				}
			}
		}
		for ( var i = 1; i <= intGridRows1; i++ ) {
			if ( document.all(strDoc_UserCode1 + i).value != "" && document.all(strDoc_FullName1 + i).value != "" ) {
				if ( document.all(strDoc_UserCode1 + i).value == strUserCode && document.all(strDoc_FullName1 + i).value == strFullName ) {
					document.all(strDoc_CostPrice1 + i).value = intReturnValue;
					if ( intReturnValue == 0 ) {
						document.all(strDoc_HandZeroCost1 + i).value = "1";
					}
					intIfExist = 1;
				}
			}
		}
		if ( intIfExist == 0 ) {
			alert("【系统提示】\n\n单据中不存该商品：[" + strUserCode + "]" + strFullName + "，请确认后重试！\n");
			return false;
		}	
	}

	// 执行过账函数
	eval("parent.VCH_MENU." + strAuditFunction);
}

//徐辉2005-4-22 添加保存提示层显示函数
function DisplaySave_data(){
	parent.VCH_GRID.document.all.save_data.style.display='none';
	parent.VCH_GRID.document.all.save_data.style.width='250';
	parent.VCH_GRID.document.all.save_data.style.height='80';
	parent.VCH_GRID.document.all.save_data.style.border='1px solid #000000';
	parent.VCH_GRID.document.all.save_data.style.position = "absolute";
	parent.VCH_GRID.document.all.save_data.style.top = (screen.availHeight-500)/2;
	parent.VCH_GRID.document.all.save_data.style.left = (screen.availWidth-400)/2;
}
//徐辉2005-4-22 添加保存提示层消失函数
function DisappearSave_data(){
	parent.VCH_GRID.document.all.save_data.style.display='none';
}

//作者：徐辉
//时间： 2005-5-9
//功能：解决0.1显示成.1问题
function formatZero(value){
	if ( value == '' ){
		return value;
	}
	if ( !isNaN(parseFloat(value)) ){
		return parseFloat(value);
	}
	else{
		return value;
	}
}

//徐辉 2005-8-19查看会计科目
function viewaccount(billnumberid,billtype){
	if ( billnumberid == "" || isNaN(parseInt(billnumberid)) ){
		alert("【系统提示】查看科目发生错误！");
		return;
	}
	re=showModalDialog("../common/viewaccount.asp?TimeCheckPoint="+GetTimeCheckPoint('','')+"&billnumberid="+billnumberid+"&billtype="+billtype,window,"dialogWidth=250pt;dialogHeight=350pt;dialogTop=0;dialogLeft=0;status:no;help:no;scroll:no");
}

//徐辉添加Number一个方法
//2005-11-30
Number.prototype.toFixed=function(len)
{
	var add = 0;
	var s,temp;
	var s1 = this + "";
	var start = s1.indexOf(".");
	if(s1.substr(start+len+1,1)>=5)add=1;
	var temp = Math.pow(10,len);
	s = Math.floor(this * temp) + add;
	return s/temp;
}


//客户端检查金额输入框金额是否正确，控制位数
//尹毅 3.7(延) 
function FormatNumber(obj,n){
	if ( obj.value == "" ){
		return;
	}
	if ( isNaN(parseFloat(obj.value)) ){
		alert("录入金额错误！");
		obj.focus();
	}
	else{
		obj.value = parseFloat(obj.value);
		var Num = 10 ;
		var k; //正负标识
		var temp ; 
		Num = Math.pow(10,n+1);
		if ( obj.value >= 0 ){
			k = 1
		}
		else{
			k = -1
		}
		temp =parseFloat(Math.abs(obj.value)) ;
		temp = (temp*Num)%10 ;  //取尾数	
		temp = Math.round(temp * 100)/100;
		if(temp>=5)
		{
			temp = (parseFloat(Math.abs(obj.value)) * Num) - temp ;
			temp = temp + 10  ;
			temp = temp/Num;
		}
		else
		{
			temp = (parseFloat(Math.abs(obj.value)) * Num) - temp ;
			temp = temp/Num;
		}
		obj.value =k * Math.round(parseFloat(temp) * Math.pow(10,n))/Math.pow(10,n);
	}
}
function FormatNumber2(objvalue,n){
	if ( objvalue == "" ){
		return 0;
	}
	if ( isNaN(parseFloat(objvalue)) ){
		alert("录入金额错误！");
	}
	else{
		objvalue = parseFloat(objvalue);
		var Num = 10 ;
		var temp,temp1 ; 
		var k;
		Num = Math.pow(10,n+1)
		temp = parseFloat(objvalue) ;
		if (temp>=0) //判断正负号
		 k = 1;
		else
		 k = -1;
		temp = Math.abs(temp); //haiquan 取绝对值
		temp1 = temp;
		temp = (temp*Num)%10 ;  //取尾数
		temp = Math.round(temp * 100)/100;
		if(temp>=5)
		{
			temp = (parseFloat(temp1) * Num) - temp ;
			temp = temp + 10  ;
			temp = temp/Num;
		}
		else
		{
			temp = (parseFloat(temp1) * Num) - temp ;
			temp = temp/Num;
		}
		temp=Math.round(parseFloat(temp) * Math.pow(10,n))/Math.pow(10,n);
		return k*temp; //赋给符号，返回值
	}
}
//检查短信的手机字符串是否正确
//谢吉康 2006-12-13
function chkMobileChar(val){
	var strInput,strMobile;

	strInput = val;
	strMobile = '';

	//只有一个手机号	
	if(strInput.indexOf(',')==-1){
		if(parseInt(strInput.length)!=11){
			//alert('【系统提示】\n\n手机号码不正确！');
			return false;
		}
	}
	//在输入的参数中，查找是否有系统定义字符
	for (var i = 0;i < strInput.length; i++){		
		if(strInput.substr(i,1)=='0'||strInput.substr(i,1)=='1'||strInput.substr(i,1)=='2'||strInput.substr(i,1)=='3'||strInput.substr(i,1)=='4'||strInput.substr(i,1)=='5'||strInput.substr(i,1)=='6'||strInput.substr(i,1)=='7'||strInput.substr(i,1)=='8'||strInput.substr(i,1)=='9'||strInput.substr(i,1)==','){
			if(strInput.substr(i,1)==','){
				if(parseInt(strMobile.length)!=11){
					//alert('【系统提示】\n\n手机号码不正确！');
					return false;
				}
				strMobile = '';
			}else{
				strMobile = strMobile + strInput.substr(i,1);
			}			
		}else{			
			return false;
		}
	}		
	//最后一个手机号
	if(parseInt(strMobile.length)!=11){
		//alert('【系统提示】\n\n手机号码不正确！');
		return false;
	}

	var s = val;
	var rexp = /([^\,]*)\,?/g;
	var rpp = [];
	var u = s.replace(rexp, function(){
	if(arguments[1]) {
	var k="_"+arguments[1];
	rpp[k] = (rpp[k]?rpp[k] +1:1);
	}
	});
	var s = "";
	for(var k in rpp) {
	if(rpp[k]>1) s += (k.substr(1) +" 重复了 " + rpp[k] +" 次") +"\n";
	}
	if (s!=""){
		//alert("【系统提示】\n\n" + s + "\n请确认后重试！	\n");
		return false;
	}

	return true;
}


//作者：卢春  2007-05-30
//检测单据Grid中的0单价情况
//PostFlag - 存草稿：0 或 C；过账：1 或 A；保存订单：D
function CheckGridZero(PostFlag) {
	var intCheckGridType;	// 0:普通单据；1：双Grid单据
	var intCheckGridRows,intCheckGridRows1;	// 单据行数
	var strIfConfirm,strPostInfo,strConfirmInfo;
	strIfConfirm = 0;
	strConfirmInfo = ""

	if (parent.VCH_GRID.document.all("UserCode_Edit1") != null) {
		intCheckGridType = 0;
		intCheckGridRows = parent.VCH_GRID.Grid.rows;
	}
	else if (parent.VCH_GRID.document.all("OUserCode_Edit1") != null) {
		intCheckGridType = 1;
		intCheckGridRows = parent.VCH_GRID.GridOut.rows;
		intCheckGridRows1 = parent.VCH_GRID.GridIn.rows;
	}
	else {
		return strConfirmInfo;
	}

	if (PostFlag == "0" || PostFlag == "C")
		strPostInfo = "存草稿？\n\n[ 确定 ] 则保存";
	else if (PostFlag == "1" || PostFlag == "A")
		strPostInfo = "过账？\n\n[ 确定 ] 则继续过账";
	else
		strPostInfo = "保存订单？\n\n[ 确定 ] 则保存";

	var intGridStyle;	//1：税率；2：折扣；3：普通
	intGridStyle = GetLocalVal("GridType");

	if (intCheckGridType == 0) {
		for (var i = 1; i <= intCheckGridRows; i++ ) {
			if (KillSpace(parent.VCH_GRID.document.all("UserCode_Edit"+i).value) != "") {
				if (parent.VCH_GRID.document.all("Price_Edit"+i).value == "0" || parent.VCH_GRID.document.all("Total_Edit"+i).value == "0")
					strIfConfirm = 1;
				if (intGridStyle == 1 && parent.VCH_GRID.document.all("TaxPrice_Edit1") != null) {
					if (parent.VCH_GRID.document.all("TaxPrice_Edit"+i).value == "0" || parent.VCH_GRID.document.all("NoTaxTotal_Edit"+i).value == "0")
						strIfConfirm = 1;
				}
				if (intGridStyle == 2 && parent.VCH_GRID.document.all("DiscountPrice_Edit1") != null) {
					if (parent.VCH_GRID.document.all("DiscountPrice_Edit"+i).value == "0" || parent.VCH_GRID.document.all("NoDiscountTotal_Edit"+i).value == "0")
						strIfConfirm = 1;
				}
				if (strIfConfirm == 1) {
					strConfirmInfo = "【系统提示】\n\n单据有单价或金额为零的商品，包括第"+i+"行等! 请问是否继续"+strPostInfo+"， [ 取消 ] 则退到单据编辑。	\n";
					return strConfirmInfo;
				}
			}
		}
	}

	if (intCheckGridType == 1) {
		if (parent.VCH_GRID.GridOut.id != 6) {
			for (var i = 1; i <= intCheckGridRows; i++ ) {	// 出库表格
				if (KillSpace(parent.VCH_GRID.document.all("OUserCode_Edit"+i).value) != "") {
					if (parent.VCH_GRID.document.all("OPrice_Edit"+i).value == "0" || parent.VCH_GRID.document.all("OTotal_Edit"+i).value == "0")
						strIfConfirm = 1;

					if (strIfConfirm == 1) {
						strConfirmInfo = "【系统提示】\n\n单据有单价或金额为零的商品，包括出库表格第"+i+"行等! 请问是否继续"+strPostInfo+"， [ 取消 ] 则退到单据编辑。	\n";
						return strConfirmInfo;
					}
				}
			}
		}
		for (var i = 1; i <= intCheckGridRows1; i++ ) {	// 入库表格
			if (KillSpace(parent.VCH_GRID.document.all("IUserCode_Edit"+i).value) != "") {
				if (parent.VCH_GRID.document.all("IPrice_Edit"+i).value == "0" || parent.VCH_GRID.document.all("ITotal_Edit"+i).value == "0")
					strIfConfirm = 1;

				if (strIfConfirm == 1) {
					strConfirmInfo = "【系统提示】\n\n单据有单价或金额为零的商品，包括入库表格第"+i+"行等! 请问是否继续"+strPostInfo+"， [ 取消 ] 则退到单据编辑。	\n";
					return strConfirmInfo;
				}
			}
		}
	}
	return strConfirmInfo;
}

//徐辉 2007-8-3
//操作员登陆限制关闭打开的模态窗口
//赋值给句柄window对象
function setwindowobj(){
	if(window.dialogArguments!=null){	
		window.dialogArguments.setwindow(window);
	}
}

//徐辉 2007-8-3
//操作员登陆限制关闭打开的模态窗口
//父窗口关闭模态窗口函数
function setwindow(win){
	if ( top.LocalValue != null ){
		top.LocalValue.CHILDRENWIN  = win;
	}
}

/***************************************************************
程序编写：谢吉康
编写时间：2008-10-14
函数功能：判断录入的字符是否超过了指定的长度charlen，而1个全角中文要占2位，50个中文无法存入
	  因此放到前端判断
函数参数：obj为对象名，s为要检查字串，charlen为需要判断的长度
***************************************************************/
function chkCharLength(obj,s,charlen) {
	var count = 0;
	for (var i = 0; i < s.length; i ++) {
		var ch = s.charCodeAt(i);
		count += ch > 255 ? 2 : 1;
	}
	if (count>charlen) {		
		alert('【系统提示】\n\n录入长度超过了'+charlen+'个字符，请确认！');
		obj.focus();
		obj.select();
		return false;
	}
	else {
		return true;
	}
}

/***************************************************************
程序编写：谢吉康
编写时间：2008-11-11
函数功能：判断录入的字符是否超过了指定的长度charlen，而1个全角中文要占2位，50个中文无法存入
	  因此放到前端判断，如果超过，则自动截断
函数参数：obj为对象名，s为要检查字串，charlen为需要判断的长度
***************************************************************/
function chkCharLengthValue(obj,s,charlen) {
	var count = 0;
	var tmpstr = "";
	var nCount = 0;
	for (var i = 0; i < s.length; i ++) {
		var ch = s.charCodeAt(i);
		count += ch > 255 ? 2 : 1;
		if(ch>255){
			nCount = parseInt(nCount) + 2;			
		}else{			
			nCount = parseInt(nCount) + 1;
		}		
		if(nCount<=charlen){
			tmpstr = tmpstr + obj.value.substr(i,1);
		}
	}	
	if (count>charlen) {		
		obj.value=tmpstr.substring(0,charlen);
		return true;
	}
}
