//==========[BEGIN]发布时考虑用后台输出的脚本，加在检查Session的公用函数中============//
	//=======================================Begin
	/*屏蔽鼠标右键方法，但是如果双击鼠标，会弹出一个鼠标右键记忆地址的新页面，
	所以，需要配合我们检查Session的函数来限制，这样，只要在每个页面中加入了检查
	Session的代码，如果弹出的页面是我们的页面，就会被报告“无效用户！”而无法进入！
	*/
//	document.oncontextmenu=new Function ("return false;");	
	//=======================================End

	//=======================================Begin
	//禁止选择页面上的文字！(实现禁止复制页面内容的功能)
/*	function disableselect(e){
	return false;
	}

	function reEnable(){
	return true;
	}
	//if IE4+
	document.onselectstart=new Function ("return false");
	//if NS6
	if (window.sidebar){
	document.onmousedown=disableselect;
	document.onclick=reEnable;
	}
*/	
	//=======================================End
	
	//=======================================Begin
	/* 
	******************************************************************************
	* 函数名称: PubDisableKey
	* 函数功能: 在WEB页面上按下键盘时，将一些键置为无效
	* 说    明: 目前，该函数封闭了BackSpace键
	* 调用方法: <body onkeydown=PubDisableKey()>
	* 编码人员:	彭志飞
	********************************************************************************
	*/ 
	function PubDisableKey(){
		if (event.keyCode==8){
			event.keyCode=0;
			event.returnValue=false;
		}
/*		if ((event.keyCode==8) || //屏蔽退格删除键
		(event.keyCode==116)|| //屏蔽 F5 刷新键
		(event.ctrlKey && event.keyCode==82)){ //Ctrl + R
		event.keyCode=0;
		event.returnValue=false;
		}

		if ((window.event.altKey)&&
			((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←
			(window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 →
			alert("为了数据安全，系统不允许您使用ALT+方向键前进或后退页面！");
			event.returnValue=false;
			}
		/* 注：这还不是真正地屏蔽 Alt+ 方向键，
		因为 Alt+ 方向键弹出警告框时，按住 Alt 键不放，
		用鼠标点掉警告框，这种屏蔽方法就失效了。以后若
		有哪位高手有真正屏蔽 Alt 键的方法，请告知。*/
/*		
		if ((event.ctrlKey)&&(event.keyCode==78)) //屏蔽 Ctrl+n
		event.returnValue=false;
		if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
		event.returnValue=false;
*/
	}
	//=======================================End
	//=======================================Begin
	/* 
	******************************************************************************
	* 函数名称: PubDisableMouseRKey
	* 函数功能: 在WEB页面上点击鼠标右键无效，主要防止用户可以随意查看HTML源代码以及文件名称
	* 调用方法: <body onmousedown=PubDisableMouseRKey()>(暂时不要调用！！)
	* 编码人员:	彭志飞
	********************************************************************************
	*/ 
	function PubDisableMouseRKey(){	
/*		if(event.button==2){	//鼠标右键键值
			alert("北京联达动力信息科技发展有限公司[版权所有]");
			//event.button = 1;
			window.event.returnValue=false;		
		}*/
	}
	//=======================================End
//==========[END]发布时考虑用后台输出的交办，加在检查Session的公用函数中============//




//************************以下为在程序中供调用的脚本函数集合************************\\

//		'===============================================================
//		'函数名称：PubOpenWindow(strUrlPath, strWindowName, iWidth, iHeight)
//		'功能描述：用客户端脚本新开一个窗口，该窗口为系统统一风格的弹出式窗口。
//		'参数说明：strUrlPath:要打开程序的路径名称（相对路径）	
//		'			strWindowName:弹出窗口的名称，一般为空，除非有些数据只能打开一个弹出窗口需要将该窗口命名
//		'			iWidth:指定弹出窗口的宽度,如果为空，则是当前屏幕宽度
//		'			iHeight:指定弹出窗口的高度，如果为空，则是当前屏幕高度
//		'一般在预览、查询详细资料等功能页面可能用到弹出窗口
//		'例如：PubOpenWindow("../ggxx/ggxx_xx_view.aspx?xh=1", "", 800,600)
//		'返回值：无
//		'===============================================================
function PubOpenWindow(strUrlPath, strWindowName, iWidth, iHeight)
{
	var objNewWin;
	var windowAttribs;
	if (iWidth == "") {iWidth = screen.availWidth;}
	if (iHeight == "") {iHeight = screen.availHeight;}
	windowAttribs = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=5,height=5,top=0,left=0,fullscreen=0";
	//windowAttribs = "fullscreen=5";	//窗口为最大化大小，没有关闭、最小化以及最大化按钮，但是窗口可以移动
	try{
	objNewWin = window.open(strUrlPath,strWindowName,windowAttribs);
	objNewWin.resizeTo(iWidth,iHeight);
	objNewWin.moveTo((screen.availWidth-iWidth)/2,(screen.availHeight-iHeight)/2);
	objNewWin.focus();
	}catch(e){}
	
}

//		'===============================================================
//		'函数名称：PubOpenWindow1(strUrlPath, strWindowName, iWidth, iHeight,
//		bFullScreen,bToolbar,bLocation,bDirectories,bStatus,bMenubar,bScrollbars,bResizable)
//		'功能描述：用客户端脚本新开一个窗口，可以定义详细的打开风格，支持自定义风格参数。
//		'参数说明：strUrlPath:要打开程序的路径名称（相对路径）	
//		'			strWindowName:弹出窗口的名称，一般为空，除非有些数据只能打开一个弹出窗口需要将该窗口命名
//		'			iWidth:指定弹出窗口的宽度,如果为空，则是当前屏幕宽度
//		'			iHeight:指定弹出窗口的高度，如果为空，则是当前屏幕高度
//		'bFullScreen,bToolbar,bLocation,bDirectories,bStatus,bMenubar,bScrollbars,bResizable 参数的值为 0||1 或者 false||true
//		'一般在预览、查询详细资料等功能页面可能用到弹出窗口
//		'例如：PubOpenWindow1("../ggxx/ggxx_xx_view.aspx?xh=1", "", 800,600,0,0,0,0,0,0,0,0)
//		'返回值：无
//		'===============================================================
function PubOpenWindow1(strUrlPath, strWindowName, iWidth, iHeight,bFullScreen,bToolbar,bLocation,bDirectories,bStatus,bMenubar,bScrollbars,bResizable)
{
	var objNewWin;
	var windowAttribs;
	if (iWidth == "") {iWidth = screen.availWidth;}
	if (iHeight == "") {iHeight = screen.availHeight;}
	windowAttribs = "fullscreen=" + bFullScreen + ",toolbar=" + bToolbar + ",location=" + bLocation + ",directories=" + bDirectories +",status=" + bStatus + ",menubar=" + bMenubar +",scrollbars=" + bScrollbars + ",resizable=" + bResizable;
	try{
	objNewWin = window.open(strUrlPath,strWindowName,windowAttribs);
	objNewWin.resizeTo(iWidth,iHeight);
	objNewWin.moveTo((screen.availWidth-iWidth)/2,(screen.availHeight-iHeight)/2);
	//objNewWin.onload = PubMaxWin();
	objNewWin.focus();
	}catch(e){}	
}
//功能类似PubOpenWindow1,最后将窗口定位在定义的LEFT 和 TOP
function PubOpenWindow2(strUrlPath, strWindowName, iWidth, iHeight,bFullScreen,bToolbar,bLocation,bDirectories,bStatus,bMenubar,bScrollbars,bResizable,iLeft,iTop)
{
	var objNewWin;
	var windowAttribs;
	if (iWidth == "") {iWidth = screen.availWidth;}
	if (iHeight == "") {iHeight = screen.availHeight;}
	windowAttribs = "fullscreen=" + bFullScreen + ",toolbar=" + bToolbar + ",location=" + bLocation + ",directories=" + bDirectories +",status=" + bStatus + ",menubar=" + bMenubar +",scrollbars=" + bScrollbars + ",resizable=" + bResizable +",left=" + iLeft + ",top=" + iTop;
	try{
	objNewWin = window.open(strUrlPath,strWindowName,windowAttribs);
	objNewWin.resizeTo(iWidth,iHeight);	
	objNewWin.moveTo(iLeft,iTop);
	//objNewWin.onload = PubMaxWin();
	objNewWin.focus();
	}catch(e){}
	
}

function postform(sAspFile,sPostData)         //统一发送XMLHttp函数
{
	//alert(sPostData);
	try
	{
   	var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.4.0");        //创建XML4.0的XMLHTTP方法
	}
	catch (exception)
	{
		try
		{
			var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");	         //创建XML3.0的XMLHTTP方法
		}
		catch (exception)
		{
			var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");        //创建XML2.6的XMLHTTP方法
		}	   
	}
   	xmlhttp.Open("POST", sAspFile,false);
   	xmlhttp.setRequestHeader("Content-Length",sPostData.length);
   	xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	try
	{
    	xmlhttp.Send(sPostData);
	}
	catch (exception)
	{
		alert("服务器忙!");
	}
	try
	{
		var str=xmlhttp.responseXML.xml; //系统错误: -1072896748。		
		if (str.length==0) 
		{
     		str=xmlhttp.responseText;
		}
	}
	catch (exception)
	{
		if (exception.description=='系统错误: -1072896748。') 
		{	
			str="";
		}		
	}
	//str=str.replace("&amp;","&amp;");
	//str=str.replace("&lt;","&lt;");
	//str=str.replace("&gt;","&gt;");
	//alert(str);
	return str;
}


//		'===============================================================
//		'函数名称：PubmaxWin()
//		'功能描述：将当前窗口最大化，相当于点击最大化按钮的效果
//		'使用方法：在要使用的页面中加入代码：<body onload="PubMaxWin()">
//		'返回值：无
//		'===============================================================
function PubMaxWin()
{
	try
	{
		var b = top.screenLeft == 0;
		var b = b && top.screen.availHeight - top.screenTop - top.body.offsetHeight - 20 == 0;
		if(!b)
		{
		var str  = '<object id=HHCtrlMax classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
		str += '<param name="Command" value="Maximize"></object>';
		if(typeof(HHCtrlMax)!="object") document.body.insertAdjacentHTML("beforeEnd", str);
		document.getElementById("HHCtrlMax").Click();
		}
	}catch(e){}
}

//		'===============================================================
//		'函数名称：PubDoSubStr(pStr,lLen,lEnd)
//		参数：pStr 传入的字符	lLten 要截取的位数	
//			  lEnd 如果该参数大于零则在返回的字符串最后拼上该字符串的最后指定位数
//		'功能描述：将传入字符的按指定的位数截取后返回，注意，如果字符的位数小于或者
//				   等于指定的截取位数，则返回全字符
//		'例如：PubDoSubStr("中华人民共和国",2,0)="中华..."
//		'例如：PubDoSubStr("中华人民共和国",2,2)="中华...和国"
//		'例如：PubDoSubStr("中华人民共和国",20,2)="中华人民共和国"
//		'返回值：字符
//		'===============================================================
function PubDoSubStr(pStr,lLen,lEnd){
	var ss;
	var i;
	var ch;
	var ll;
	ch = "";
	ss = "";
	ll = 0;				
	if(lLen>=pStr.length){
		return pStr;
	}
	for(i=0;i<lLen;i++){
		ch = pStr.substr(i,1);
		ss = ss + ch;
		ll= ll + 1;
	}	
	ss = ss + " ...";
	if(lEnd>0){
		ss = ss + pStr.substr(pStr.length-lEnd,lEnd)
	}
	return ss;
}


/* 
******************************************************************************
* 函数名称: CheckDate 
* 函数功能: 检查日期变量格式和值是否合法，返回真/假 
* 参数说明: pFMT-格式；pDate-日期变量；pShowMsg-是否显示错误信息 
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	刘扬
********************************************************************************
*/ 
function CheckDate(pFMT,pDate,pShowMsg) 
{ 
	var ResultOK = null; 

	/*-- 日期格式：(四位)年份 + (至多两位)月份 + (至多两位)日期 --*/ 
	/*-- 分割符号："." --*/ 
	var RegDateDot = /\d{4}\.{1}\d{1,2}\.{1}\d{1,2}/;
	/*-- 分割符号："-" --*/ 
	var RegDateLine = /\d{4}-{1}\d{1,2}-{1}\d{1,2}/; 

	/*-- 用正则表达式判断格式 --*/ 
	switch (pFMT) 
	{ 
		case 1: //. 
			ResultOK = RegDateDot.test(pDate); 
			break ;
		case 2: //- 
			ResultOK = RegDateLine.test(pDate);
			break ;
		default: //. 
			ResultOK = RegDateDot.test(pDate);
			break ;
	} 

	/*-- 处理并返回结果 --*/ 
	if(!ResultOK) 
	{ 
		if(pShowMsg) 
		{
			alert("非法日期：日期格式错误！"); 
		}
		return false; 
	} 

	/*-- 检查月份和日期是否超过可能的最大值 --*/ 
	var mYear = 0;
	var mMonth = 0;
	var mDay = 0;
	var iPos1 = 0;
	var iPos2 = 0;
	var sDate = pDate.toString(); 
	var mSepChar = ((pFMT == 1) ? ".":"-");

	/*-- 各月的天数 --*/ 
	var MonthDays=new Array(31,28,31,30,31,30,31,31,30,31,30,31);

	/*-- 提取年月日的值 --*/ 
	iPos1 = sDate.indexOf(mSepChar);
	iPos2 = sDate.indexOf(mSepChar,iPos1+1);

	mYear = sDate.substring(0,iPos1); 
	if (sDate.substring(iPos1+1,iPos1+2)=="0")
	{
		mMonth = sDate.substring(iPos1+2,iPos2);
	}
	else
	{
		mMonth = sDate.substring(iPos1+1,iPos2);
	}    
	mDay = sDate.substr(iPos2+1); 
	//alert(mMonth);

	/*-- 判断年份 --*/ 
	if(mYear <= 0 || mYear > 9999) 
	{ 
		if(pShowMsg) alert("非法日期：年份过小或者过大，超出限制 (1-9999)！");
		return false;
	} 

	/*-- 判断月份 --*/ 
	if(mMonth <= 0 || mMonth > 12) 
	{ 
		if(pShowMsg) alert("非法日期：没有这个月份！");
		return false; 
	} 

	/*-- 计算所在月的正确天数 --*/ 
	var RightDay = 0;
	if(mMonth == 2) 
		RightDay = (((mYear%4 == 0) && (mYear%100 != 0) || (mYear%400 == 0))? 29: 28);
	else 
		RightDay = MonthDays[mMonth-1];

	/*-- 判断日 --*/ 
	//alert(RightDay);
	if(mDay <= 0 || mDay > RightDay) 
	{ 
		if(pShowMsg) alert("非法日期：该月没有这天！"); 
		return false;
	} 

	/*-- 格式和值均正确，返回真 --*/ 
	return true; 
} 		

/* 
******************************************************************************
* 函数名称: CheckYearMonth 
* 函数功能: 检查年月变量格式和值是否合法，返回真/假 
* 参数说明: pFMT-格式；pDate-日期变量；pShowMsg-是否显示错误信息 
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	刘扬
********************************************************************************
*/ 
function CheckYearMonth(pFMT,pDate,pShowMsg) 
{ 
	var ResultOK = null; 

	/*-- 日期格式：(四位)年份 + (至多两位)月份 --*/ 
	/*-- 分割符号："." --*/ 
	var RegDateDot = /\d{4}\.{1}\d{1,2}\.{1}/;
	/*-- 分割符号："-" --*/ 
	var RegDateLine = /\d{4}-{1}\d{1,2}/; 
	
	/*-- 用正则表达式判断格式 --*/ 
	switch (pFMT) 
	{ 
		case 1: //. 
			ResultOK = RegDateDot.test(pDate); 
			break ;
		case 2: //- 
			ResultOK = RegDateLine.test(pDate);
			break ;
		default: //. 
			ResultOK = RegDateDot.test(pDate);
			break ;
	} 

	/*-- 处理并返回结果 --*/ 
	if(!ResultOK) 
	{ 
		if(pShowMsg) 
		{
			alert("非法年月：年月格式错误！"); 
		}
		return false; 
	} 

	/*-- 检查月份是否超过可能的最大值 --*/ 
	var mYear = 0;
	var mMonth = 0;
	var iPos1 = 0;
	var iPos2 = 0;
	var sDate = pDate.toString(); 
	var mSepChar = ((pFMT == 1) ? ".":"-");

	/*-- 提取年月日的值 --*/ 
	iPos1 = sDate.indexOf(mSepChar);

	mYear = sDate.substring(0,iPos1); 
	if (sDate.substring(iPos1+1,iPos1+2)=="0")
	{
		mMonth = sDate.substring(iPos1+2);
	}
	else
	{
		mMonth = sDate.substring(iPos1+1);
	}    
	//alert(mMonth);

	/*-- 判断年份 --*/ 
	if(mYear <= 0 || mYear > 9999) 
	{ 
		if(pShowMsg) alert("非法日期：年份过小或者过大，超出限制 (1-9999)！");
		return false;
	} 

	/*-- 判断月份 --*/ 
	if(mMonth <= 0 || mMonth > 12) 
	{ 
		if(pShowMsg) alert("非法日期：没有这个月份！");
		return false; 
	} 

	/*-- 格式和值均正确，返回真 --*/ 
	return true;  
} 			

/* 
******************************************************************************
* 函数名称: CheckTime 
* 函数功能: 检查时间变量格式和值是否合法，返回真/假 
* 参数说明: pTime-日期变量；pShowMsg-是否显示错误信息 
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	刘扬
********************************************************************************
*/ 
function CheckTime(pTime,pShowMsg) 
{ 
	var ResultOK = null; 

	/*-- 时间格式：(两位)小时 + (两位)分钟 --*/ 
	/*-- 分割符号：":" --*/ 
	var RegTime = /\d{2}:{1}\d{1,2}/; 

	/*-- 用正则表达式判断格式 --*/ 
	ResultOK = RegTime.test(pTime); 

	/*-- 处理并返回结果 --*/ 
	if(!ResultOK) 
	{ 
		if(pShowMsg) 
		{
			alert("非法时间：时间格式错误,应为HH:MM型！"); 
		}
		return false; 
	} 

	/*-- 检查小时和分钟是否超过可能的最大值 --*/ 
	var mHour = 0;
	var mMinute = 0;
	var iPos1 = 0;
	var iPos2 = 0;
	var sTime = pTime.toString(); 
	var mSepChar = ":";

	/*-- 提取时间的值 --*/ 
	iPos1 = sTime.indexOf(mSepChar);
	
	mHour = sTime.substring(0,iPos1); 
	if (sTime.substring(iPos1+1,iPos1+2)=="0")
	{
		mMinute = sTime.substr(iPos1+2);
	}
	else
	{
		mMinute = sTime.substr(iPos1+1);
	}    
	
	/*-- 判断小时是否超出范围 --*/ 
	if(mHour < 0 || mHour >= 24) 
	{ 
		if(pShowMsg) alert("非法时间：小时过小或者过大，超出限制 (0-23)！");
		return false;
	} 

	/*-- 判断分钟 --*/ 
	if(mMinute < 0 || mMinute > 59) 
	{ 
		if(pShowMsg) alert("非法时间：没有这个时间！");
		return false; 
	}

	/*-- 格式和值均正确，返回真 --*/ 
	return true; 
} 			


/* 
******************************************************************************
* 函数名称: CheckNumber 
* 函数功能: 检查输入值是否是整数，返回真/假 
* 参数说明: sValue-需要校验的值
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	高树立
********************************************************************************
*/
function CheckNumber(sValue)
{
	var regInt=/^[0-9]*$/;
	//alert(sValue);
	if (sValue != "")
	{
		if(regInt.test(sValue))
		{
			return true;
		}
		else
		{					
			return false;
		}
	}
	else
	{
		return false;
	}	
}	

/* 
******************************************************************************
* 函数名称: CheckInteger 
* 函数功能: 检查输入值是否是整数，返回真/假 
* 参数说明: sValue-需要校验的值
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	刘扬
********************************************************************************
*/
function CheckInteger(sValue)
{
	var regInt=/^[1-9][0-9]*|0$/;
	//alert(sValue);
	if (sValue != "")
	{
		if(regInt.test(sValue))
		{
			if (sValue.length <= 9)
			{
				return true;
			}
			else
			{
				return false;
			}
		}
		else
		{					
			return false;
		}
	}
	else
	{
		return false;
	}	
}

/* 
******************************************************************************
* 函数名称: CheckPositiveInteger 
* 函数功能: 检查输入值是否是正整数，返回真/假 
* 参数说明: sValue-需要校验的值
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	刘扬
********************************************************************************
*/
function CheckPositiveInteger(sValue)
{
	var regInt=/^[1-9][0-9]*$/;
	//alert(sValue);
	if (sValue != "")
	{
		if(regInt.test(sValue))
		{
			if (sValue.length <= 9)
			{
				return true;
			}
			else
			{
				return false;
			}
		}
		else
		{					
			return false;
		}
	}
	else
	{
		return false;
	}	
}			

/* 
******************************************************************************
* 函数名称: CheckIsPositiveInteger_Msg
* 函数功能: 检查输入值是否是合法的正整数，返回真/假 
* 参数说明: ObjId 需要校验的对象(控件)的ID，scaption 对象的名称描述
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	刘扬
********************************************************************************
*/
function CheckIsPositiveInteger_Msg(ObjId,scaption){
	if (ObjId != "")
	{
		//alert(document.getElementById(ObjId).value);
		if(!CheckPositiveInteger(document.getElementById(ObjId).value))
		{			
			alert(scaption + "不是合法的正整数!");
			document.getElementById(ObjId).focus();
			return false;
		}		
		return true;
	}		
	return false;	
}

/* 
******************************************************************************
* 函数名称: CheckFloat
* 函数功能: 检查输入值是否是合法的浮点数，返回真/假 
* 参数说明: sValue-需要校验的值,sDotLen-小数点后可以有几位
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	刘扬
********************************************************************************
*/
function CheckFloat(sValue,sDotLen)
{
	switch(sDotLen)
	{
		case "1":
			var regu="^([1-9][0-9]*|0)(()|(.[0-9]{1}))$";				
			break;
		case "2":
			var regu="^([1-9][0-9]*|0)(()|(.[0-9]{1})|(.[0-9]{2}))$";				
			break;
		case "3":
			var regu="^([1-9][0-9]*|0)(()|(.[0-9]{1})|(.[0-9]{2})|(.[0-9]{3}))$";				
			break;			
		case "4":
			var regu="^([1-9][0-9]*|0)(()|(.[0-9]{1})|(.[0-9]{2})|(.[0-9]{3})|(.[0-9]{4}))$";				
			break;			
		default:
			var regu="^([1-9][0-9]*|0)(()|(.[0-9]{1})|(.[0-9]{2}))$";				
			break;
	}	

	if (sValue != "")
	{
		var RegFloat = new RegExp(regu);
		if (sValue.search(RegFloat)==-1)
			return false;
		else
			return true;
	}
	
	return false;
}

/* 
******************************************************************************
* 函数名称: CheckDecimal
* 函数功能: 检查输入值是否是合法的浮点数，返回真/假 
* 参数说明: sValue-需要校验的值,sDotLen-小数点后可以有几位
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	刘扬
********************************************************************************
*/
function CheckDecimal(sValue, sNumLen, sDotLen)
{
	var iDotPos = sValue.indexOf(".");	//判断填写的是小数还是整数
	var sLength = 0;
	if (iDotPos > -1)
	{		
		//先做长度校验,然后做浮点数校验
		sLength = iDotPos;
		if (sLength > sNumLen - sDotLen)
			return false;
		else
			return(CheckFloat(sValue, sDotLen.toString()));	//填写的是小数
	}
	else
	{
		//填写的是整数,先做长度校验,然后做整型校验
		sLength = sValue.length;	//获取长度
		if (sLength > sNumLen - sDotLen)
			return false;
		else
			return CheckInteger(sValue);
	}	
}

/////////////////////////////////////////////////////////////////////////////////////
//函数名称:CheckLength
//函数功能:校验输入框内输入的字符是否超出数据库定义的长度范围的函数
//编码人员:刘扬
//编码日期:2004-05-13
//参数说明:
//		ObjId	需要校验的输入框的Id
//		sCaption该输入框对应的Label的名称
//		iLength	整数,数据库定义的该字段的长度
/////////////////////////////////////////////////////////////////////////////////////
function CheckLength(ObjId, sCaption, iLength)
{
	var sTempValue = ALLTrim(document.getElementById(ObjId).value);
	var sValueLen = sTempValue.length;
	var iTotalLen = 0;
	
	for ( var i = 0; i < sValueLen; i++ )
	{
		if (sTempValue.charCodeAt(i) < 255 && sTempValue.charCodeAt(i) > 0)
		{
			iTotalLen += 1;
		} 
		else
		{
			iTotalLen += 2;
		}
	}
	alert(iTotalLen.toString());
	if (iTotalLen > iLength)
	{
		alert(sCaption + "只能输入" + iLength.toString() + "个字符,请重新核查!");
		document.getElementById(ObjId).focus();
		return false;
	}
	else
	{
		return true;
	}
}

//去掉字串左边的空格
function LTrim(str)
{
	if (str.charAt(0) == " ")
	{
		//如果字串左边第一个字符为空格
		str = str.slice(1);//将空格从字串中去掉
		//这一句也可改成 str = str.substring(1, str.length);
		str = LTrim(str); //递归调用
	}
	return str;
}

//去掉字串右边的空格
function RTrim(str)
{
	var iLength;

	iLength = str.length;
	if (str.charAt(iLength - 1) == " ")
	{
		//如果字串右边第一个字符为空格
		str = str.slice(0, iLength - 1);//将空格从字串中去掉
		//这一句也可改成 str = str.substring(0, iLength - 1);
		str = RTrim(str); //递归调用
	}
	return str;
}

//去掉字串两边的空格
function ALLTrim(str)
{
	return LTrim(RTrim(str));
}

/* 
******************************************************************************
* 函数名称: CheckEmpty_Msg
* 函数功能: 检查输入值是否是为空，返回真/假 
* 参数说明: ObjId 需要校验的对象(控件)的ID，scaption 对象的名称描述
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	Chief
********************************************************************************
*/
function CheckEmpty_Msg(ObjId,scaption){		
	if (ObjId != "")
	{
		if(ALLTrim(document.getElementById(ObjId).value) == "")
		{
			alert(scaption + "必须输入!");
			try{
				document.getElementById(ObjId).focus();
			}catch(e){}
			return false;
		}		
		return true;
	}		
	return false;	
}



/* 
******************************************************************************
* 函数名称: CheckEmpty
* 函数功能: 检查输入值是否是为空，返回真/假 
* 参数说明: ObjId 需要校验的对象(控件)的ID
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	wer
********************************************************************************
*/
function CheckEmpty(ObjId){		
	if (ObjId != "")
	{
		if(ALLTrim(document.getElementById(ObjId).value) == "")
		{
			
			return false;
		}		
		return true;
	}		
	return false;	
}


/* 
******************************************************************************
* 函数名称: CheckIsDate_Msg
* 函数功能: 检查输入值是否是合法的日期格式，返回真/假 
* 参数说明: ObjId 需要校验的对象(控件)的ID，scaption 对象的名称描述
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	Chief
********************************************************************************
*/
function CheckIsDate_Msg(ObjId,scaption){
	if (ObjId != "")
	{		
		if(!CheckDate(2,document.getElementById(ObjId).value,false))
		{			
			alert(scaption + "输入不合法!");
			document.getElementById(ObjId).focus();
			return false;
		}		
		return true;
	}		
	return false;	
}
/* 
******************************************************************************
* 函数名称: CheckIsInteger_Msg
* 函数功能: 检查输入值是否是合法的整数，返回真/假 
* 参数说明: ObjId 需要校验的对象(控件)的ID，scaption 对象的名称描述
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	Chief
********************************************************************************
*/
function CheckIsInteger_Msg(ObjId,scaption){
	if (ObjId != "")
	{
		if(!CheckInteger(document.getElementById(ObjId).value))
		{			
			alert(scaption + "不是合法的整数!");
			document.getElementById(ObjId).focus();
			return false;
		}		
		return true;
	}		
	return false;	
}

function CheckIsInteger(ObjId,scaption,AllowEmpty)
{
	if (ObjId != "")
	{
		var sValue = document.getElementById(ObjId).value;
		if (sValue == "")
		{
			return AllowEmpty;			
		}
		else
		{
			if(!CheckInteger(sValue))
			{			
				alert(scaption + "不是合法的整数!");
				document.getElementById(ObjId).focus();
				return false;
			}		
			return true;
		}
	}		
	
	return false;	
}

/* 
******************************************************************************
* 函数名称: CheckIsNumberic_Msg
* 函数功能: 检查输入值是否是合法的数字，返回真/假 
* 参数说明: ObjId 需要校验的对象(控件)的ID，scaption 对象的名称描述
* 返 回 值: 校验合法,返回true,校验不合法,返回false
* 编码人员:	Chief
********************************************************************************
*/
function CheckIsNumberic_Msg(ObjId,scaption){
	if (ObjId != "")
	{
		if(!CheckInteger(document.getElementById(ObjId).value) && !CheckFloat(document.getElementById(ObjId).value))
		{			
			alert(scaption + "不是合法的数字!");
			document.getElementById(ObjId).focus();
			return false;
		}		
		return true;
	}		
	return false;	
}
//单选人员
function SelSingleUser(sCtrlId,sCtrlName)
{
	//var sUrl = "share_user_single_select.aspx?ctrlId=" + sCtrlId + "&ctrlDisplay=" + sCtrlName;
	var sUrl = "../share/share_user_single_select.aspx?ctrlId=" + sCtrlId + "&ctrlDisplay=" + sCtrlName;
	PubOpenWindow(sUrl,"UserSelect",420,240);
}

//单选人员,但是隐藏不需要显示的用户
function SelSingleUserByHiddenId(sCtrlId,sCtrlName,sHiddenIdList)
{
	//var sUrl = "share_user_single_select.aspx?ctrlId=" + sCtrlId + "&ctrlDisplay=" + sCtrlName;
	var sUrl = "../share/share_user_single_select.aspx?ctrlId=" + sCtrlId + "&ctrlDisplay=" + sCtrlName + "&HiddenIdList=" + sHiddenIdList;
	PubOpenWindow(sUrl,"UserSelect",420,240);
}

//单选人员,但是隐藏根据指定数据表和字段中的重复数据
function SelSingleUserByFilterType(sCtrlId,sCtrlName,sFilterType,sTableId,sFieldId)
{
	
	var sUrl = "../share/share_user_single_select.aspx?ctrlId=" + sCtrlId + "&ctrlDisplay=" + sCtrlName + "&FilterType=" + sFilterType + "&TableId=" + sTableId + "&FieldId=" + sFieldId;
	PubOpenWindow(sUrl,"UserSelect",420,240);
}


//单选部门
function SelSingleDept(sCtrlId,sCtrlName)
{
	var sUrl = "../share/share_dept_single_select.aspx?ctrlId=" + sCtrlId + "&ctrlDisplay=" + sCtrlName;
	PubOpenWindow(sUrl,"UserSelect",360,180);
}

//多选
function SelMultipleUser(sCtrlId,sCtrlName,sCtrlType)
{
	var sUrl = "../share/share_user_select.aspx?SelType=0&SelId=&SelText=&ctrlType=" + sCtrlType + "&ctrlId=" + sCtrlId + "&ctrlDisplay=" + sCtrlName;
	PubOpenWindow(sUrl,"UserSelect",640,410);
}

//多选部门
function SelectMultiDept(sCtrlId,sCtrlName)
{
	var sUrl = "../share/share_dept_multiple_select.aspx?SelId=" + document.getElementById(sCtrlId).value +
			"&SelText=" + document.getElementById(sCtrlName).value + "&ctrlId=" + sCtrlId + 
			"&ctrlDisplay=" + sCtrlName;
			
	PubOpenWindow(sUrl,"UserSelect",640,300);
}

function SelectMultiUser(sCtrlId,sCtrlName)
{	
	var sUrl = "../share/share_user_multiple_select.aspx?SelId=" +
			document.getElementById(sCtrlId).value + "&SelText=" + document.getElementById(sCtrlName).value +
			"&ctrlId=" + sCtrlId + "&ctrlDisplay=" + sCtrlName;
	
	PubOpenWindow(sUrl,"UserSelect",640,375);
}

function SelectUserWithMobileNumber(sCtrlId, sCtrlDisplay)
{
	var sUrl = "../share/share_user_multiple_select.aspx?SelId=" +
			document.getElementById(sCtrlId).value + 
			"&SelText=&ctrlId=" + sCtrlId + "&ctrlDisplay=" + sCtrlDisplay +
			"&CallBack=1&CallType=1";
	
	PubOpenWindow(sUrl,"UserSelect",640,375);
}

function SelectJoinInfo(sFormId, sFldId, sCtrlId, sCtrlDisplay, sSelectedValue)
{
	var sUrl = "../bdgsdy/bdgsdy_glzd_select.aspx?FormId=" +
			sFormId + "&FldId=" + sFldId + "&CtrlId=" + 
			sCtrlId + "&CtrlDisplay=" + sCtrlDisplay + "&SelectedValue=" +
			sSelectedValue;
			
	PubOpenWindow(sUrl,"JoinInfo",640,375);
}

//调用公用设置范围权限页面
//参数说明:
//	sCtrlType--存放范围类型标志控件的Id
//	sCtrlId--存放范围Id控件的Id
//	sCtrlName--存放显示名称控件的Id
//
function PubSetRange(sCtrlType,sCtrlId,sCtrlName)
{
	var sUrl = "../share/share_user_select.aspx?SelType=" + document.getElementById(sCtrlType).value + 
				"&SelText=" + "&ctrlType=" + sCtrlType + "&ctrlId=" + sCtrlId + "&ctrlDisplay=" + sCtrlName;
	
	var sPostXml = "<Qry><Function>WriteSelectedRangeSession</Function>";
	sPostXml += "<SelectedId>" + document.getElementById(sCtrlId).value + "</SelectedId>";
	sPostXml += "</Qry>";
	
	var sReturn = postform("../share/share_return_xml.aspx", sPostXml);
	PubOpenWindow(sUrl,"UserSelect",640,410);
}

/*
	调用公用设置范围权限页面,该函数主要供定制程序使用
	参数说明:
	FileRelPath--调用该函数文件相对OA5根目录的位置,例如:"../"或者"../../"
	sCtrlType--存放范围类型标志控件的Id
	sCtrlId--存放范围Id控件的Id
	sCtrlName--存放显示名称控件的Id
*/
function PubSetRangeWithFileRelPath(FileRelPath, sCtrlType, sCtrlId, sCtrlName)
{
	var sUrl = FileRelPath + "share/share_user_select.aspx?SelType=" + document.getElementById(sCtrlType).value + 
				"&SelText=" + "&ctrlType=" + sCtrlType + "&ctrlId=" + sCtrlId + "&ctrlDisplay=" + sCtrlName;
	
	var sPostXml = "<Qry><Function>WriteSelectedRangeSession</Function>";
	sPostXml += "<SelectedId>" + document.getElementById(sCtrlId).value + "</SelectedId>";
	sPostXml += "</Qry>";
	
	var sReturn = postform(FileRelPath + "share/share_return_xml.aspx", sPostXml);
	PubOpenWindow(sUrl,"UserSelect",640,410);
}

/*
*
*
*
*/
function domouseover(id)
{
	if (null != document.getElementById(id) && typeof(document.getElementById(id)) != "undefined")
	{				
		if(document.getElementById(id).className!="tbButtonDisable")
		{
			document.getElementById(id).className="tbButtonMouseOverup";					
		}
	}
}
function domouseout(id){
	if(document.getElementById(id).className!="tbButtonDisable"){
		if(id=="tbInsertField"){
			document.getElementById(id).className="tbButtonMouseOverup";
		}else{
			document.getElementById(id).className="tbButton";
		}
	}
}
function domousedown(id){
	if(document.getElementById(id).className!="tbButtonDisable"){
		document.getElementById(id).className = "tbButtonDown";			
	}
}
function domouseup(id){
	if(document.getElementById(id).className!="tbButtonDisable"){
		if(id=="tbInsertField"){
			document.getElementById(id).className="tbButtonMouseOverup";
		}else{
			document.getElementById(id).className="tbButton";
		}
	}
}

//该函数弹出发送短消息公共页面
//参数说明：
//FSR 短消息发送者ID
//JSRSTR 短消息接收者ID串
//XTBZ 是否为系统短消息 0 系统  1 用户
//NR 需要发送的短消息内容　，可以为空，该内容为弹出发送短消息窗口时，显示在短消息内容编辑框中的文字
function ShowSendMsg(FSR,JSRSTR,XTBZ,NR)
{
	var QueryStr
	if (FSR=="" || JSRSTR=="")
	{
		return false;
	}
	
	if (XTBZ=="")
	{
		XTBZ="1";
	}
	
	QueryStr="FSR=" + FSR + "&JSRIDSTR=" + JSRSTR + "&XTBZ=" + XTBZ + "&NR="+NR;
	PubOpenWindow("../Share/share_msg_send.aspx?"+QueryStr,"",500,280);	
	
	return true;
}

//该函数弹出发送电子邮件公共页面
//参数说明：
//JSR 邮件接收者者ID
function ShowSendMail(JSR)
{
	var QueryStr
	
	QueryStr="YGXH=" + JSR + "&Entry=ZM";
	PubOpenWindow("../dzyj/dzyj_write.aspx?"+QueryStr,"",800,500);	
	
	return true;
}

//该函数弹出阅读短消息内容的公共页面
//参数说明：
//MsgID 短消息记录ID
//RefreshFlag 关闭时是否刷新父窗口标志（0 不刷新	1 刷新）
function ShowMsgContext(MsgID,RefreshFlag){
	PubOpenWindow("../Share/share_msg_view.aspx?msgid=" + MsgID + "&reflag=" + RefreshFlag,"",500,280);
	//return true;
}


function ValidateIdentity(sFlag)
{
	var sReturn = "0";
	
	if (null != document.all.IdentityValidator && typeof(document.all.IdentityValidator) != "undefined")
	{	
		var sAspxFile = (sFlag == "1") ? "share/share_return_xml.aspx" : "../share/share_return_xml.aspx";
		//首先判断用户是否启用身份认证
		
		//2006-11-6 Chief Edit ：去掉多余的判断，只要脚本中包含身份验证的OCX，则表示都需要进行身份验证
			//var sPostXML = "<Qry><Function>AllowValidateIdentity</Function></Qry>";
			//sReturn = postform(sAspxFile, sPostXML);
			//if (sReturn == "1")
			//{
			//	var sData = document.all.IdentityValidator.GetEpassXml();
			//	sPostXML = "<Qry><Function>ValidateIdentity</Function><ValidateData>" + sData + "</ValidateData></Qry>";
			//	sReturn = postform(sAspxFile, sPostXML);
			//}			
			//else
			//{
			//	sReturn = "0";
			//}	
			try
			{
				var sData = document.all.IdentityValidator.GetEpassXml();
			}
			catch(e)
			{
				sReturn="6";
			}			
			if(sReturn!="6")
			{
				sPostXML = "<Qry><Function>ValidateIdentity</Function><ValidateData>" + sData + "</ValidateData></Qry>";
				sReturn = postform(sAspxFile, sPostXML);
			}
		//2006-11-6 Chief Edit End
	}
	
	switch (sReturn)
	{
		case "0":			
			break;
		case "1":
			alert("打开身份认证锁错误!");
			break;
		case "2":
			alert("没有插入身份认证锁或所有的身份认证锁都在使用中!");
			break;
		case "3":
			alert("非法的身份认证锁!");
			break;
		case "4":
			alert("读取身份认证锁数据错误!");
			break;
		case "5":
			alert("身份认证不合法!");
			break;
		//2006-11-6 Chief Add
		case "6":
			alert("身份认证客户端未成功安装，请先安装身份认证客户端插件!");
			break;
		//2006-11-6 Chief Add End
		default:
			break;
	}
	
	return sReturn;
}

function LKJEatocMain(t1,t2)
		{
			document.getElementById(t1).value=LKatoc(document.getElementById(t2).value);
		}
		
function LKatoc(numberValue){
  
  var numberValue=new String(Math.round(numberValue*100)); // 数字金额
  var chineseValue="";          // 转换后的汉字金额
  var String1 = "零壹贰叁肆伍陆柒捌玖";       // 汉字数字
  var String2 = "万仟佰拾亿仟佰拾万仟佰拾元角分";     // 对应单位
  var len=numberValue.length;         // numberValue 的字符串长度
  var Ch1;             // 数字的汉语读法
  var Ch2;             // 数字位的汉字读法
  var nZero=0;            // 用来计算连续的零值的个数
  var String3;            // 指定位置的数值
  if(len>15){
   alert("超出计算范围");
   return "";
  }
  if (numberValue==0){
   
   chineseValue = "零元整";
   return chineseValue;
   
  }
  
  String2 = String2.substr(String2.length-len, len);   // 取出对应位数的STRING2的值
  
  for(var i=0; i<len; i++){
   
   String3 = parseInt(numberValue.substr(i, 1),10);   // 取出需转换的某一位的值
   //alert(String3);
   if ( i != (len - 3) && i != (len - 7) && i != (len - 11) && i !=(len - 15) ){
    
    if ( String3 == 0 ){
     
     Ch1 = "";
     Ch2 = "";
     nZero = nZero + 1;
     
    }else if ( String3 != 0 && nZero != 0 ){
     
     Ch1 = "零" + String1.substr(String3, 1);
     Ch2 = String2.substr(i, 1);
     nZero = 0;
     
    }else{
     
     Ch1 = String1.substr(String3, 1);
     Ch2 = String2.substr(i, 1);
     nZero = 0;
    }
   }else{              // 该位是万亿，亿，万，元位等关键位
    if( String3 != 0 && nZero != 0 ){
     
     Ch1 = "零" + String1.substr(String3, 1);
     Ch2 = String2.substr(i, 1);
     nZero = 0;
     
    }else if ( String3 != 0 && nZero == 0 ){
     
     Ch1 = String1.substr(String3, 1);
     Ch2 = String2.substr(i, 1);
     nZero = 0;
     
    }else if( String3 == 0 && nZero >= 3 ){
     
     Ch1 = "";
     Ch2 = "";
     nZero = nZero + 1;
     
    }else{
     
     Ch1 = "";
     Ch2 = String2.substr(i, 1);
     nZero = nZero + 1;
     
    }
    
    if( i == (len - 11) || i == (len - 3)) {    // 如果该位是亿位或元位，则必须写上
     Ch2 = String2.substr(i, 1);
    }
    
   }
   chineseValue = chineseValue + Ch1 + Ch2;
   
  }
  
  if ( String3 == 0 ){           // 最后一位（分）为0时，加上“整”
   chineseValue = chineseValue + "整";
  }
  
  return chineseValue;
 } 
 
 
function LKSelectCYYJ(sTagFieldId)
 {
	//弹出常用意见选择页面
	PubOpenWindow("../bdgsdy/bdgsdy_gryj_select.aspx?sTagID="+sTagFieldId,"","460","490");
 
 }