var JS_MUSTENTER						="必须填写"
var JS_DOMAINENTER_A					="在"
var JS_DOMAINENTER_B					="域中，请至少输入"
var JS_DOMAINENTER_C					="个字符。"
var JS_DOMAINENTER_D					="域中，请至多输入"
var JS_DOMAINENTER_E					="域中，只能输入数字。"
var JS_DOMAINENTER_F					="请在"
var JS_DOMAINENTER_G					="域中输入值大于或等于"
var JS_DOMAINENTER_H					="域中输入值小于或等于"
var JS_DOMAINENTER_I					="的整数"
var JS_NOCHECK							="页面中没有可以选择的"
var JS_MUSTCHECK						="必须选择一个"
var JS_ENTERWRONG						="输入不正确"
var JS_NOROW							="表格没有该行！"
var JS_NORECORD							="没有记录"
var JS_PleaseSelect				        = "请选择！"
var JS_YEAR								="年"
var JS_MONTH							="月"
var JS_DAY								="日"
var JS_DATE_FORMAT_A					="年份信息必须为不含字符的正整数"
var JS_DATE_FORMAT_B					="年份信息必须为4位正整数！"
var JS_DATE_FORMAT_C					="年份必须为大于等于"
var JS_DATE_FORMAT_D					="小于2100！"
var JS_DATE_FORMAT_E					="月份信息必须为不含字符的正整数"
var JS_DATE_FORMAT_F					="月份信息必须为1或2位正整数！"
var JS_DATE_FORMAT_G					="月份不能大于12！"
var JS_DATE_FORMAT_H					="日期信息必须为不含字符的正整数！"
var JS_DATE_FORMAT_I					="日期信息必须为1或2位正整数！"
var JS_DATE_FORMAT_J					="日期不能大于31！"
var JS_DATE_FORMAT_K					="小时信息必须为不含字符的正整数！"
var JS_DATE_FORMAT_L					="小时信息必须为1或2位正整数！"
var JS_DATE_FORMAT_M					="小时不能大于23！"
var JS_DATE_FORMAT_N					="分钟信息必须为不含字符的正整数！"
var JS_DATE_FORMAT_O					="分钟信息必须为1或2位正整数！"
var JS_DATE_FORMAT_P					="分钟不能大于59！"


/*====================================
1.从字符左边起取字符
======================================*/
function left(String,length)
{
	return String.substr(0,length);
}


/*====================================
2.取字符中间字符
======================================*/
function middle(String,start,length)
{
	var from=(start<1)?0:start-1;
	return String.substring(from,from+length);
}

/*====================================
3.从字符右边起取字符
======================================*/
function right(String,length)
{
	var strlen=String.length;
	return middle(String,strlen-length+1,length);
}

/*====================================
4.去掉前导空格
======================================*/
function Ltrim(String)
{
	for(var i=0;i<String.length;i++)
		if(String.charAt(i)!=' ')
			break;
	return middle(String,i+1,String.length);
}

/*====================================
5.去掉后续空格
======================================*/
function Rtrim(String)
{
	for(var i=String.length-1;i>0;i--)
		if(String.charAt(i)!=' ')
			break;
	return left(String,i+1);
}

/*====================================
6.去掉前导、后续空格
======================================*/
function trim(String)
{   //alert(String);
	return Rtrim(Ltrim(String));
}


/*====================================
7.用newChar替换String中的oldChar
======================================*/
function Replace(String,oldChar,newChar)
{
	var DataStr=new Array();
	var newString="";
	if(trim(String).length==0)
		return String;
	DataStr=split(String,oldChar);
	for(var i=0;i<DataStr.length;i++)
		newString=newString+DataStr[i]+newChar;
	newString=left(newString,newString.length-1);
	return newString;
}


/*====================================
8.用ch替换字符串中第i位
======================================*/
function ChangeStringIndex(String,i,ch)
{
	if(i<1 || i>String.length)
		return String;
	return left(String,index-1)+ch+right(String,String.length-index);
}

/*====================================
9.返回基于 0 的一维数组，可x=split()，取x[0]、x[1]的值
======================================*/
function split(String,delimiter)
{
	var newString=trim(String);
	var position=newString.indexOf(delimiter);
	var command="var StringArray=new Array(\"";
	while(position!=-1)
	{
		command=command+trim(middle(newString,1,position))+"\",\"";
		newString=middle(newString,position+2,newString.length);
		position=newString.indexOf(delimiter);
	}
	command=command+newString+"\");";
	eval(command);
	return StringArray;
}



//------------------------------验证操作函数-----------------------------------


function CheckLength(thisForm,FieldName,Label,minLen,maxLen)
{ 
	var illegalChar="' " + '" = %';
	var thisField;
	var fieldValue;
	var aIllegalChar=illegalChar.split(" ")
	eval("thisField=thisForm."+FieldName);
	if(getFieldCount(thisForm,FieldName)>1)
	{
		for(var i=0;i<thisField.length;i++)
		{
			fieldValue=trim(thisField[i].value);
			if(minLen==1 && fieldValue.length<minLen)
			{
				alert("<"+Label+"><%=JS_MUSTENTER%>！")
				thisField[i].focus();
				return (false);
			}	
			if(fieldValue.length<minLen)
			{
				alert(JS_DOMAINENTER_A +"<"+Label+">" +JS_DOMAINENTER_B+minLen+JS_DOMAINENTER_C);
				thisField[i].focus();
				return (false);
			}
			if(fieldValue.length>maxLen)
			{
				alert(JS_DOMAINENTER_A+"<"+Label+">"+JS_DOMAINENTER_D+maxLen+JS_DOMAINENTER_C);
				thisField[i].focus();
				return (false);
			}
			for(var j=0;j<aIllegalChar.length;j++){
				if(fieldValue.indexOf(aIllegalChar[j])!=-1){
					alert(JS_DOMAINENTER_A+"<"+Label+">不能包含字符"+illegalChar);
					thisField[i].focus();
					return (false);
				}
			}
		}
	}
	if(getFieldCount(thisForm,FieldName)==1)
	{
		fieldValue=trim(thisField.value);
		if(minLen==1 && fieldValue.length<minLen)
		{
			alert("<" + Label + ">"+JS_MUSTENTER+ "！")
			thisField.focus();
			return (false);
		}
		if(fieldValue.length<minLen)
		{
			alert(JS_DOMAINENTER_A+"<"+Label+">" +JS_DOMAINENTER_B+minLen+JS_DOMAINENTER_C);			thisField.focus();
			return (false);
		}
		if(fieldValue.length>maxLen)
		{
			alert(JS_DOMAINENTER_A+"<"+Label+">" +JS_DOMAINENTER_D+maxLen+JS_DOMAINENTER_C);		
			thisField.focus();
			return (false);
		}
		for(var j=0;j<aIllegalChar.length;j++){
			if(fieldValue.indexOf(aIllegalChar[j])!=-1){
				alert(JS_DOMAINENTER_A+ "<"+Label+">不能包含字符"+illegalChar);
				thisField.focus();
				return (false);
			}
		}
	}
	return (true);
}
/*====================================
11.检查某表单域是否为整型,其中thisForm是表单对象，不是表单名
thisForm：表单对象(传入this.form)，不是表单名
Label：提示信息传入
min为最小值,max为最大值，不限定上下限传入“*”
======================================*/
function CheckInteger(thisForm,FieldName,Label,min,max)
{

	var thisField;
	var checkOK = "0123456789-";
	eval("thisField=thisForm."+FieldName);
	
	
	if(getFieldCount(thisForm,FieldName)>1)
	{
		for(var k=0;k<thisField.length;k++)
		{
			var checkStr=trim(thisField[k].value);
			var allValid = true;
			var decPoints = 0;
			var allNum = "";

			if (checkStr == "")
			{
			//	alert("请在<"+Label+">域中输入值。");
			//	thisField[k].focus();
			//	return (false);
				continue;
			}

			for (i = 0;  i < checkStr.length;  i++)
			{
				ch = checkStr.charAt(i);
				for (j = 0;  j < checkOK.length;  j++)
					if (ch == checkOK.charAt(j))
						break;
				if (j == checkOK.length)
				{
					allValid = false;
					break;
				}
				allNum += ch;
			}
			if (!allValid)
			{
				alert(JS_DOMAINENTER_A + "<" + Label + ">" + JS_DOMAINENTER_E);
				thisField[k].focus();
				return (false);
			}

			var chkVal = allNum;
			var prsVal = parseInt(allNum,10);
			if (chkVal != "" && min!="*" && !(prsVal >= min))
			{
				alert(JS_DOMAINENTER_F + "<" + Label + ">" + JS_DOMAINENTER_G + "[" + min + "]" + JS_DOMAINENTER_I + "。");
				thisField[k].focus();
				return (false);
			}
			
			if (chkVal != "" &&max!="*" && !(prsVal <= max))
			{
				alert(JS_DOMAINENTER_F + "<" + Label + ">" + JS_DOMAINENTER_H + "[" + max + "]" + JS_DOMAINENTER_I + "。");
				thisField[k].focus();
				return (false);
			}
		}
	}
	if(getFieldCount(thisForm,FieldName)==1)
	{
		var checkStr=trim(thisField.value);
		var allValid = true;
		var decPoints = 0;
		var allNum = "";
		if (checkStr == "")
		{
		//	alert("请在<"+Label+">域中输入值。");
		//	thisField.focus();
		//	return (false);
			return (true);
		}

		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
				if (ch == checkOK.charAt(j))
					break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			allNum += ch;
		}
		if (!allValid)
		{
			alert(JS_DOMAINENTER_A + "<" + Label + ">" + JS_DOMAINENTER_E);
			thisField.focus();
			return (false);
		}
	
		var chkVal = allNum;
		var prsVal = parseInt(allNum,10);
		if (chkVal != "" && min!="*" && !(prsVal >= min))
		{
			alert(JS_DOMAINENTER_F + "<" + Label + ">" + JS_DOMAINENTER_G + "["+min+"]" + JS_DOMAINENTER_I + "。");
			thisField.focus();
			return (false);
		}
		
		if (chkVal != "" &&max!="*" && !(prsVal <= max))
		{
			alert(JS_DOMAINENTER_F + "<" + Label + ">" + JS_DOMAINENTER_H + "["+max+"]" + JS_DOMAINENTER_I + "。");
			thisField.focus();
			return (false);
		}
	}
	return (true);
}



/*====================================
12.检查某表单域是否为日期型,其中thisForm是表单对象，不是表单名
thisForm：表单对象(传入this.form)，不是表单名
Label：提示信息传入
min为最小值,max为最大值，不限定上下限传入“*”
======================================*/
function CheckFormDateFormat(thisForm,FieldName,Label)
{
	var thisField;
	eval("thisField=thisForm."+FieldName);
	if(getFieldCount(thisForm,FieldName)>1)
	{
		for(var k=0;k<thisField.length;k++)
		{
			var checkStr=trim(thisField[k].value);
			if (CheckDateFormat(checkStr) == false)
			{
				thisField[k].focus();
				return (false);
			}
		}
	}
	
	if(getFieldCount(thisForm,FieldName)==1)
	{
		var checkStr=trim(thisField.value);
	
		if (CheckDateFormat(checkStr) == false)
		{
			thisField.focus();
			return (false);
		}
	}
	return (true);
}




/*====================================
13.检查某表单域是否为浮点数字型,其中thisForm是表单对象，不是表单名
thisForm：表单对象(传入this.form)，不是表单名
Label：提示信息传入
min为最小值,max为最大值，不限定上下限传入“*”
======================================*/
function CheckFloat(thisForm,FieldName,Label,min,max)
{
	var thisField;
	eval("thisField=thisForm."+FieldName);
	if(getFieldCount(thisForm,FieldName)>1)
	{
		for(var i=0;i<thisField.length;i++)
		{
			var checkStr=trim(thisField[i].value);
			if (checkStr == "")
			{
			//	alert("请在<"+Label+">域中输入值。");
			//	thisField[i].focus();
			//	return (false);
				continue;
			}
			
			var allValid = IsNumFloat(checkStr);
			if (!allValid)
			{
				alert(JS_DOMAINENTER_A + "<" + Label + ">" + JS_DOMAINENTER_E);
				thisField[i].focus();
				return (false);
			}
	
			var prsVal = eval(checkStr);
			if (checkStr != "" && min!="*" && !(prsVal >= min))
			{
				alert(JS_DOMAINENTER_F + "<" + Label + ">" + JS_DOMAINENTER_G + "[" + min + "]" + JS_DOMAINENTER_I + "。");
				thisField[i].focus();
				return (false);
			}
		
			if (checkStr != "" &&max!="*" && !(prsVal <= max))
			{
				alert(JS_DOMAINENTER_F + "<" + Label + ">" + JS_DOMAINENTER_H + "[" + max + "]" + JS_DOMAINENTER_I + "。");
				thisField[i].focus();
				return (false);
			}
		}	
	}
	if(getFieldCount(thisForm,FieldName)==1)
	{
		//alert(thisField.value);

		var checkStr=trim(thisField.value);

		if (checkStr == "")
		{
		//	alert("请在<"+Label+">域中输入值。");
		//	thisField.focus();
		//	return (false);
			return (true);
		}
		
		var allValid = IsNumFloat(checkStr);
		if (!allValid)
		{
			alert(JS_DOMAINENTER_A+"<"+Label+">"+JS_DOMAINENTER_E);
			thisField.focus();
			return (false);
		}
	
		var prsVal = eval(checkStr);
		if (checkStr != "" && min!="*" && !(prsVal >= min))
		{
			alert(JS_DOMAINENTER_F+"<"+Label+">"+JS_DOMAINENTER_G+"["+min+"]"+JS_DOMAINENTER_I+"。");
			thisField.focus();
			return (false);
		}
	
		if (checkStr != "" &&max!="*" && !(prsVal <= max))
		{
			alert(JS_DOMAINENTER_F+"<"+Label+">"+JS_DOMAINENTER_H+"["+max+"]"+JS_DOMAINENTER_I+"。");
			thisField.focus();
			return (false);
		}
	}
	return (true);
}


/*====================================
14.检查一（组）列表框中是否至少选择了一个，thisform为表单对象
======================================*/
function IsCheckedOne(thisForm,FieldName,Label)
{
	var thisField;
	var fcount=getFieldCount(thisForm,FieldName);
	eval("thisField=thisForm."+FieldName);
	if(fcount<1)
	{
		alert(JS_NOCHECK+"<"+Label+">！");
		return false;
	}
	if(fcount==1 && thisField.checked==false)
	{
		alert(JS_MUSTCHECK+"<"+Label+">！");
		return false;
	}
	if(fcount>1)
	{
		for(var i=0;i<fcount;i++)
			if(thisField[i].checked)
				break;
		if(i==fcount)
		{
			alert(JS_MUSTCHECK+"<"+Label+">！");
			return false;
		}
	}
	return true;
}


/*====================================
15.检查某表单选择是否有效，thisform为表单对象  用于下拉列表
=======================================*/
function CheckSelect(thisForm,FieldName,Label)
{
	var thisField;
	eval("thisField=thisForm."+FieldName);
	if(getFieldCount(thisForm,FieldName)>1)
	{
		for(var i=0;i<thisField.length;i++)
		{
			if(thisField[i].selectedIndex==0)
			{
				alert(JS_PleaseSelect+"<" + Label +">！")
				thisField[i].focus();
				return false;
			}
		}
	}
	if(getFieldCount(thisForm,FieldName)==1)
	{
		if(thisField.selectedIndex==0)
		{
			alert(JS_PleaseSelect+"<" + Label +">！")
			thisField.focus();
			return false;
		}
	}
	return (true);
}



/*====================================
16.是否为浮点数字(字符)
=======================================*/
function IsNumFloat(str)
{
	i=0;
	j=0;
	k=0;
	while(i<str.length)
	{
		if ( (str.charAt(i)<'0'||str.charAt(i)>'9') && str.charAt(i)!='.' && str.charAt(i)!='-' )
			return false;
		if (str.charAt(i)=='.') j++;
		if (str.charAt(i)=='-') k++;
		i++;
	}
	if (j>1) return(false);
	if (k>1) return(false);
	return true;
}

/*====================================
17.是否为整数
=======================================*/
function IsNumInt(str)
{
	i=0;
	j=0;
	while(i<str.length)
	{
		if ( (str.charAt(i)<'0' || str.charAt(i)>'9') && str.charAt(i)!='-' )
			return false;
		if (str.charAt(i)=='-') j++;
		i++;
	}
	if (j>1) return(false);
	return true;
}
function IsNumber(thisForm,FieldName,Label,min,max)
{    
     var thisField
     thisField=eval("thisForm."+ FieldName)
     if (thisField.value=="" )
         { alert(Label + "不能为空");
           return false;
          }
     else
         {  
            var i=0
             while ( i<thisField.value.length)
              { if (thisField.value.charAt(i)<'0'|| thisField.value.charAt(i)>'9')
                       {  alert(Label + "输入不正确");
                          return false;
                        } 
                i++;
                
               } 
            if (thisField.value.length!=min)
                 if(thisField.value.length!=max)
                       { alert(Label + "位数不正确,当前为"+thisField.value.length +'位系统要求' +min + "或" +max + "位！");
                         return false;
                        }
            return true;    
           }
  }                                 
   	
/*====================================
18.是否为空或是空格
=======================================*/
function isWhitespace (s) 
{
	var whitespace = " \t\n\r";
	if ((s == null) || (s.length == 0)) return true;
	var i;		
	for (i = 0; i < s.length; i++)
	{   
		var c = s.charAt(i);
		if (whitespace.indexOf(c) != -1) 
		   continue;
		else
		  return false;
	}
	return true;
}

/*====================================
19.是否为电话号码
=======================================*/
function IsPhone(thisform,FieldName,Lable)
{
	var digits = "0123456789-()/;转 ";
	var i=0;
	var j=0;
	var thisfield;
	var fcount;
	thisfield=eval("thisform."+FieldName);
	fcount=getFieldCount(thisform,FieldName);
	if(fcount==1)
	{   str=trim(thisfield.value);
		if(str=="")
			{ alert(Lable + "不能为空");
			  return (false);
			 }  
	    if (str.length>15)
	        { alert("<" +Lable+ ">" +JS_ENTERWRONG+"！");
	          return false;
	         } 		
		
		while ((i < str.length))
		{
			if (digits.indexOf(str.charAt(i)) == -1)
			{
				alert("<"+Lable+">"+JS_ENTERWRONG+"！");
				thisfield.focus();
				return false;
			}
			i++;
		}
		if (i<6)
		{
			alert("<"+Lable+">"+JS_ENTERWRONG+"！");
			thisfield.focus();
			return false;
		}
	}
	if(fcount>1)
	{
		for(var k=0;k<fcount;k++)
		{
			i=0;
			j=0;
			str=trim(thisfield[k].value);
	
			if(str=="")
				continue;
	        if(str.length>15)
	           { alert ("<" + Lable+ ">" +JS_ENTERWRONG+"！");
	             return false;
	            }  
			while ((i < str.length))
			{
				if (digits.indexOf(str.charAt(i)) == -1)
				{
					alert("<"+Lable+">"+JS_ENTERWRONG+"！");
					thisfield[i].focus();
					return false;
				}
				i++;
			}
			if (i<6)
			{
				alert("<"+Lable+">"+JS_ENTERWRONG+"！");
				thisfield[i].focus();
				return false;
			}
		}
	}
	return true;
}

/*====================================
20.是否为正确电子邮件
=======================================*/
function IsEmail(thisform,FieldName,Lable)
{
	var thisfield;
	var fcount;
	var i;
	var j;
	thisfield=eval("thisform."+FieldName);
	fcount=getFieldCount(thisform,FieldName);
	if(fcount==1)
	{
		str=trim(thisfield.value);
		if(str=="")
		{
		//	alert("<"+Lable+">请输入！")
		//	thisfield.focus();
		//	return false;
			return (true);
		}
		if (str.length>50) 
		  { alert("<"+Lable+  ">" + JS_ENTERWRONG + "！");
		    return false;
		   }
		i=str.indexOf("@");
		if (i<=1)
		{
			alert("<"+Lable+">"+JS_ENTERWRONG+"！");
			thisfield.focus();
			return false;
		}
		else
		{
			str_tmp=str.substring(i,str.length);
			j=str_tmp.indexOf(".");
			
			if (j<=1 || j==str_tmp.length-1)
			{
				alert("<"+Lable+">"+JS_ENTERWRONG+"！");
				thisfield.focus();
				return false;
			}
		}
	}
	if(fcount>1)
	{
		for(var k=0;k<fcount;k++)
		{
			str=trim(thisfield[k].value);
			if(str=="")
				continue;
		    if (str.length>50)
		       { alert("<" +Lable+">" +JS_ENTERWRONG+"！");
		         return false;
		        }
		    i=str.indexOf("@");
			if (i<=1)
			{
				alert("<"+Lable+">"+JS_ENTERWRONG+"！");
				thisfield[k].focus();
				return false;
			}
			else
			{
				str_tmp=str.substring(i,str.length);
				j=str_tmp.indexOf(".");
				if (j<=1 || j==str_tmp.length-1)
				{
					alert("<"+Lable+">"+JS_ENTERWRONG+"！");
					thisfield[k].focus();
					return false;
				}
			}
		}
	}
	return true;
}


/*====================================
21.是否为邮编
=======================================*/
function IsPostalCode(thisform,FieldName,Lable)
{
	var thisfield;
	var fcount;
	var i;
	var j;
	thisfield=eval("thisform."+FieldName);
	fcount=getFieldCount(thisform,FieldName);
	if(fcount==1)
	{
		str=trim(thisfield.value);
		
		if(str=="")
			return (true);
		
		if ( !(str.length==6 && IsNumInt(str)) )
		{
			alert("<"+Lable+">"+JS_ENTERWRONG+"！");
			thisfield.focus();
			return false;
		}
	}
	if(fcount>1)
	{
		for(var k=0;k<fcount;k++)
		{
			str=trim(thisfield[k].value);
			
			if(str=="")
				continue;
			
			if ( !(str.length==6 && IsNumInt(str)) )
			{
				alert("<"+Lable+">"+JS_ENTERWRONG+"！");
				thisfield[k].focus();
				return false;
			}
		}
	}
	return true;
}


//------------------------------操作函数-----------------------------------


/*====================================
22.在表单thisForm中查找名为FieldName的表单元素的个数
=======================================*/
function getFieldCount(thisForm,FieldName)
{
	var fieldcount=0;
	for(var i=0;i<thisForm.length;i++)
	{
		var formfield=thisForm.elements[i];
		if(formfield.name==FieldName)
			fieldcount++;
	}
	return fieldcount;
}

/*====================================
23.计算表单中相同名字的域的和
=======================================*/
function FieldSum(thisform,FieldName)
{
	var FSum=0;
	var thisfield;
	if(getFieldCount(thisform,FieldName)==0)
		return "";
		
	if(getFieldCount(thisform,FieldName)==1)
	{
	//这里的thisfield相当于document.formname.fieldname
		eval("thisfield=thisform."+FieldName);
		if(IsNumFloat(thisfield.value)&& trim(thisfield.value).length>0)
			return eval(thisfield.value);
		else
			return "";
	}
	
	eval("thisfield=thisform."+FieldName);
	for(var i=0;i<thisfield.length;i++)
	{
		
		if(IsNumFloat(thisfield[i].value)&& trim(thisfield[i].value).length>0)
			{
			FSum=FSum+eval(thisfield[i].value);
			}
	}
	return FSum;
}

/*====================================
24.得到页面中某个表单元素的值
不存在返回 ""
一个元素返回一个值“yyyy”
多个元素时返回按“，”分隔的字符串 如：“ddd,ttt,aaa”
=======================================*/
function GetFieldValue(thisform,FieldName)
{
	var c=getFieldCount(thisform,FieldName)
	if (c+""=="")
		return "";
	if (c==1)
		{
		eval("thisField=thisform."+FieldName);
		return thisField.value;
		}
	else
		{
		eval("thisField=thisform."+FieldName);
		var FieldValue=""
		var NewFieldValue=""
		for (i=0;i<c;i++)
				{
				var ccc=thisField[i].value;
				FieldValue=FieldValue + "," + ccc
				}
		NewFieldValue=middle(FieldValue,2,FieldValue.length);
		return NewFieldValue;	
		}
}

/*====================================
25.删除指定行号的表格行
=======================================*/
function TabDelRow(thistable,rowno)
{
	var i;
	var rows;
	var check;
	table=eval('document.all.'+ thistable);
	rows=table.rows.length-1;
	if(rows<0)
		alert(JS_NOROW + '！');
	else
	{
		if( (rows>=rowno) && (rowno>=0) )
		{
			table.deleteRow(rowno);
		}
		else
		{
			alert(JS_NOROW + '！');
		}
	}
}

/*====================================
26.删除选中行
=======================================*/
function deleterow(tb,chk,thisForm)
{
	var i;
	var rows;
	var check;
	var objitemnum;
	var str;
	var beChecked=false;
	var bDeleted=false;
	var table=eval(tb);
	rows=table.rows.length-1;
	if(rows==0)
      alert(JS_NORECORD);
	else
	{
		if (rows==1)
		{  
			check=eval(thisForm+'.'+chk)
			if(eval(thisForm+'.'+chk+'.length')==1)
			check=eval(thisForm+'.'+chk+'[0]')
				if(check.checked)
				{
					table.deleteRow(1);
					beChecked = true;	
					bDeleted=true;
				}
		}
		else
			for(i=rows;i>0;i--)
			{
				check=eval(thisForm+'.'+chk+'['+(i-1)+']')
				if(check.checked)
				{
					table.deleteRow(i);
					beChecked = true;
					bDeleted=true;
				}   
			}
	if (!beChecked) alert("JS_PleaseSelect");
	}
 }


/*====================================
27.返回将str四舍五入的值，sln代表精确的尾数
=======================================*/
function myround(str,sln) 
{
	var idx;
	var po;
	//不是数值,不处理
	str=str.toString();
	if(isNaN(parseFloat(str)))
		return null;
	if(isNaN(parseInt(sln,10)))
		return null;
	idx=str.indexOf(".");
	idx2=str.length-idx-1;
	//没有小数点,补齐适当的0
	if(idx<=0)
	{
		str=str+".";
		for(i=0;i<sln;i++)
			str=str+'0';
		return str;
	}
	if(idx2<sln)
	{
		for(i=0;i<sln-idx2;i++)
			str=str+'0';
		return str;
	}    
	po=Math.pow(10,parseInt(sln,10)+1);
	str2=str.substr(0,parseInt(idx,10)+parseInt(sln,10)+2);
	int2=parseInt(parseFloat(str2)*po,10);
 
	if(int2 % 10>=5)
		int2=int2+10;
	str3=(int2/po).toString();
	str3=str3.substr(0,parseInt(idx,10)+parseInt(sln,10)+1);
	return str3;
}


/*====================================
28.下拉框形式的日期，传入下拉框名称：Str_Name，
结果为(str_name)_year,(str_name)_month,(str_name)_day，
要显示的日期Str_Year,Str_Month,Str_Day
=======================================*/
function sel_date(Str_Name,Str_Year,Str_Month,Str_Day)
{
	today=new Date(Str_Year,Str_Month,Str_Day);

	var str="<SELECT name="+Str_Name+"_y>";
	for(var i=today.getYear()-10;i<today.getYear()+20;i++){
		if(i==today.getYear()) str=str + "<option selected value=" + i + ">" + i + "</option>";
		else str=str + "<option  value=" + i + ">" + i + "</option>";
	}
	str=str+"</SELECT>"+JS_YEAR;

	var str=str + "<SELECT name="+Str_Name+"_m>";
	for(var i=1;i<13;i++){
		if(i==today.getMonth()) str=str + "<option selected value=" + i + ">" + i + "</option>";
		else str=str + "<option  value=" + i + ">" + i + "</option>";
	}
	str=str+"</SELECT>"+JS_MONTH;

	var str=str + "<SELECT name="+Str_Name+"_d>";
	for(var i=1;i<32;i++){
		if(i==today.getDate()) str=str + "<option selected value=" + i + ">" + i + "</option>";
		else str=str + "<option  value=" + i + ">" + i + "</option>";
	}
	str=str+"</SELECT>"+JS_DAY;

	document.write(str);
}


/*====================================
29.判断是否正数
是：false
否: true
==========================================*/
function IsNotPNum(str)
{
	if (isNaN(str))	return true;
	if ( parseFloat(str) < 0.0 )	return true;
}


/*====================================
30.校验年的输入格式
==========================================*/
function checkYear(theText){
if (theText.value == ""||!IsNumInt(theText.value)||IsNotPNum(theText.value)){
  alert(JS_DATE_FORMAT_A+"！");
  theText.focus();
  theText.select();
  return false;
}
if(theText.value.length!=4){
  alert(JS_DATE_FORMAT_B);
  theText.focus();
  theText.select();
  return false;
}
var d= new Date();
if(theText.value>2100||theText.value<d.getYear()){
  alert(JS_DATE_FORMAT_C+d.getYear()+JS_DATE_FORMAT_D);
  theText.focus();
  theText.select();
  return false;
}
return true;
}

/*====================================
31.校验月的输入格式
==========================================*/
function checkMonth(theText){
if (theText.value == ""||!IsNumInt(theText.value)||IsNotPNum(theText.value)){
  alert(JS_DATE_FORMAT_E+"！");
  theText.focus();
  theText.select();
  return false;
}
if(theText.value.length>2){
  alert(JS_DATE_FORMAT_F);
  theText.focus();
  theText.select();
  return false;
}
if(theText.value>12){
  alert(JS_DATE_FORMAT_G);
  theText.focus();
  theText.select();
  return false;
}
return true;
}

/*====================================
32.校验天的输入格式
==========================================*/
function checkDay(theText){
if (theText.value == ""||!IsNumInt(theText.value)||IsNotPNum(theText.value)){
  alert(JS_DATE_FORMAT_H);
  theText.focus();
  theText.select();
  return false;
}
if(theText.value.length>2){
  alert(JS_DATE_FORMAT_I);
  theText.focus();
  theText.select();
  return false;
}
if(theText.value>31){
  alert(JS_DATE_FORMAT_J);
  theText.focus();
  theText.select();
  return false;
}
return true;
}

/*====================================
33.校验小时的输入格式
==========================================*/
function checkHour(theText){
if (theText.value == ""||!IsNumInt(theText.value)||IsNotPNum(theText.value)){
  alert(JS_DATE_FORMAT_K);
  theText.focus();
  theText.select();
  return false;
}
if(theText.value.length>2){
  alert(JS_DATE_FORMAT_L);
  theText.focus();
  theText.select();
  return false;
}
if(theText.value>23){
  alert(JS_DATE_FORMAT_M);
  theText.focus();
  theText.select();
  return false;
}
return true;
}

/*====================================
34.校验分钟的输入格式
==========================================*/
function checkMin(theText){
if (theText.value == ""||!IsNumInt(theText.value)||IsNotPNum(theText.value)){
  alert(JS_DATE_FORMAT_N);
  theText.focus();
  theText.select();
  return false;
}
if(theText.value.length>2){
  alert(JS_DATE_FORMAT_O);
  theText.focus();
  theText.select();
  return false;
}
if(theText.value>59){
  alert(JS_DATE_FORMAT_P);
  theText.focus();
  theText.select();
  return false;
}
return true;
}

/*====================================
35.取得时间
==========================================*/
function constructDate(form,Str,flag){
eval("yearVar=parseInt(form"+"."+Str+'Year.value)');
eval("monthVar=parseInt(form"+"."+Str+'Month.value)-1');
eval("dayVar=parseInt(form"+"."+Str+'Day.value)');
if(flag==1){
  eval("hourVar=parseInt(form"+"."+Str+'Hour.value)');
  eval("minuteVar=parseInt(form"+"."+Str+'Min.value)');
  var date=new Date(yearVar,monthVar,dayVar,hourVar,minuteVar);
}
else var date=new Date(yearVar,monthVar,dayVar);
//alert(date)
return date;
}
/*===========================================
36.比较日期大小
==========================================*/
function CompareDateNew(beg_Date,end_Date)
{
var beg_Date = beg_Date.split("-");
var end_Date = end_Date.split("-");
var fromdate = new Date(beg_Date[0],beg_Date[1],beg_Date[2]);
var todate = new Date(end_Date[0],end_Date[1],end_Date[2]);
if(fromdate > todate)
	return false;
else
	return true;
}

