/*====================================
公用函数
1.left(string,length)				从字符左边起取字符
2.middle(string,start,length)		取字符中间字符
3.right(string,length)				从字符右边起取字符
4.Ltrim(string)						去掉前导空格
5.Rtrim(string)						去掉后续空格
6.trim(string)						去掉前导、后续空格
7.Replace(String,oldChar,newChar)	用newChar替换String中的oldChar
8.ChangeStringIndex(String,i,ch)	用ch替换字符串中第i位
9.split(String,delimiter)			返回基于 0 的一维数组，可x=split()，取x[0]、x[1]的值


10.CheckLength(thisForm,FieldName,Label,minLen,maxLen)		检查某表单域长度合法性,其中thisForm是表单对象(使用this.form)，不是表单名
11.CheckInteger(thisForm,FieldName,Label,min,max)			检查某表单域是否为整型,其中thisForm是表单对象，不是表单名,min为最小值,max为最大值
12.CheckFormDateFormat(thisForm,FieldName,Label)			检查某表单域是否为日期型,其中thisForm是表单对象，不是表单名
13.CheckFloat(thisForm,FieldName,Label,min,max)				检查某表单域是否为浮点数字型,其中thisForm是表单对象，不是表单名
14.IsCheckedOne(thisForm,FieldName,Label)					检查一（组）列表框中是否至少选择了一个，thisform为表单对象
15.CheckSelect(thisForm,FieldName,Label)					检查某表单选择是否有效，thisform为表单对象 用于下拉列表

16.IsNumFloat(str)							是否为浮点数字(字符)
17.IsNumInt(str)							是否为整数
18.isWhitespace (s)						    s是否为空或是空格
19.IsPhone(thisform,FieldName,Lable)		是否为电话号码，thisform为表单对象
20.IsEmail(thisform,FieldName,Lable)		是否为正确电子邮件，thisform为表单对象
21.IsPostalCode(thisform,FieldName,Lable)	是否为邮编，thisform为表单对象


22.getFieldCount(thisForm,FieldName)		在表单thisForm中查找名为FieldName的表单元素的个数
23.FieldSum(thisform,FieldName)			计算表单中相同名字的域的和，thisform为表单对象，这里的thisfield相当于document.formname.fieldname
24.GetFieldValue(thisform,FieldName)	得到页面中某个表单元素的值，不存在返回 "",一个元素返回“aaa”,多个元素时返回“aaa,bbb,ccc”

25.TabDelRow(thistable,rowno)			删除指定行号为rowno的表格行，thistable为表格名
26.deleterow(tb,chk,thisForm)			删除选中行
27.myround(str,sln)						返回将str四舍五入的值，sln代表精确的尾数
28.sel_date(Str_Name,Str_Year,Str_Month,Str_Day)
										下拉框形式的日期，传入下拉框名称：Str_Name，
										结果为(str_name)_y,(str_name)_m,(str_name)_d，
										要显示的日期Str_Year,Str_Month,Str_Day
										
29.function IsNotPNum(str)				判断是否正数 是：false否: true

====================================*/



//------------------------------字符操作函数-----------------------------------


/*====================================
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)
{
	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;
}



//------------------------------验证操作函数-----------------------------------


/*====================================
10.检查某表单域长度合法性
thisForm：表单对象(传入this.form)，不是表单名
Label：提示信息传入
minLen：最小长度
maxLen：最大长度
======================================*/
function CheckLength(thisForm,FieldName,Label,minLen,maxLen)
{
	var thisField;
	var fieldValue;
	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+">必须填写！")
				thisField[i].focus();
				return (false);
			}	
			if(fieldValue.length<minLen)
			{
				alert("在<"+Label+">域中，请至少输入 "+minLen+" 个字符。");
				thisField[i].focus();
				return (false);
			}
			if(fieldValue.length>maxLen)
			{
				alert("在<"+Label+">域中，请至多输入 "+maxLen+" 个字符。");
				thisField[i].focus();
				return (false);
			}
		}
	}
	if(getFieldCount(thisForm,FieldName)==1)
	{
		fieldValue=trim(thisField.value);
		if(minLen==1 && fieldValue.length<minLen)
		{
			alert("<"+Label+">必须填写！")
			thisField.focus();
			return (false);
		}
		if(fieldValue.length<minLen)
		{
			alert("在<"+Label+">域中，请至少输入 "+minLen+" 个字符。");
			thisField.focus();
			return (false);
		}
		if(fieldValue.length>maxLen)
		{
			alert("在<"+Label+">域中，请至多输入 "+maxLen+" 个字符。");
			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);
			}

			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("在<"+Label+">域中，只能输入数字。");
				thisField[k].focus();
				return (false);
			}

			var chkVal = allNum;
			var prsVal = parseInt(allNum,10);
			if (chkVal != "" && min!="*" && !(prsVal >= min))
			{
				alert("请在<"+Label+">域中输入值大于或等于["+min+"]的整数。");
				thisField[k].focus();
				return (false);
			}
			
			if (chkVal != "" &&max!="*" && !(prsVal <= max))
			{
				alert("请在<"+Label+">域中输入值小于或等于["+max+"]的整数。");
				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);
		}

		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("在<"+Label+">域中，只能输入数字。");
			thisField.focus();
			return (false);
		}
	
		var chkVal = allNum;
		var prsVal = parseInt(allNum,10);
		if (chkVal != "" && min!="*" && !(prsVal >= min))
		{
			alert("请在<"+Label+">域中输入值大于或等于["+min+"]的整数。");
			thisField.focus();
			return (false);
		}
		
		if (chkVal != "" &&max!="*" && !(prsVal <= max))
		{
			alert("请在<"+Label+">域中输入值小于或等于["+max+"]的整数。");
			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);
			}
			
			var allValid = IsNumFloat(checkStr);
			if (!allValid)
			{
				alert("在<"+Label+">域中，只能输入数字。");
				thisField[i].focus();
				return (false);
			}
	
			var prsVal = eval(checkStr);
			if (checkStr != "" && min!="*" && !(prsVal >= min))
			{
				alert("请在<"+Label+">域中输入值大于或等于["+min+"]的数字。");
				thisField[i].focus();
				return (false);
			}
		
			if (checkStr != "" &&max!="*" && !(prsVal <= max))
			{
				alert("请在<"+Label+">域中输入值小于或等于["+max+"]的数字。");
				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);
		}
		
		var allValid = IsNumFloat(checkStr);
		if (!allValid)
		{
			alert("在<"+Label+">域中，只能输入数字。");
			thisField.focus();
			return (false);
		}
	
		var prsVal = eval(checkStr);
		if (checkStr != "" && min!="*" && !(prsVal >= min))
		{
			alert("请在<"+Label+">域中输入值大于或等于["+min+"]的数字。");
			thisField.focus();
			return (false);
		}
	
		if (checkStr != "" &&max!="*" && !(prsVal <= max))
		{
			alert("请在<"+Label+">域中输入值小于或等于["+max+"]的数字。");
			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("页面中没有可以选择的<"+Label+">！");
		return false;
	}
	if(fcount==1 && thisField.checked==false)
	{
		alert("必须选择一个<"+Label+">！");
		return false;
	}
	if(fcount>1)
	{
		for(var i=0;i<fcount;i++)
			if(thisField[i].checked)
				break;
		if(i==fcount)
		{
			alert("必须选择一个<"+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==-1)
			{
				alert("请选择<" + Label +">！")
				thisField[i].focus();
				return false;
			}
		}
	}
	if(getFieldCount(thisForm,FieldName)==1)
	{
		if(thisField.selectedIndex==-1)
		{
			alert("请选择<" + 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;
}

/*====================================
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);
	
		while ((i < str.length))
		{
			if (digits.indexOf(str.charAt(i)) == -1)
			{
				alert("<"+Lable+">输入不正确！");
				thisfield.focus();
				return false;
			}
			i++;
		}
		if (i<6)
		{
			alert("<"+Lable+">输入不正确！");
			thisfield.focus();
			return false;
		}
	}
	if(fcount>1)
	{
		for(var k=0;k<fcount;k++)
		{
			i=0;
			j=0;
			str=trim(thisfield[k].value);
	
			while ((i < str.length))
			{
				if (digits.indexOf(str.charAt(i)) == -1)
				{
					alert("<"+Lable+">输入不正确！");
					thisfield[i].focus();
					return false;
				}
				i++;
			}
			if (i<6)
			{
				alert("<"+Lable+">输入不正确！");
				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=="")
			return true;
	
		i=str.indexOf("@");
		if (i<=1)
		{
			alert("<"+Lable+">输入不正确！")
			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+">输入不正确！")
				thisfield.focus();
				return false;
			}
		}
	}
	if(fcount>1)
	{
		for(var k=0;k<fcount;k++)
		{
			str=trim(thisfield[k].value);
			if(str=="")
				continue;
		
			i=str.indexOf("@");
			if (i<=1)
			{
				alert("<"+Lable+">输入不正确！")
				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+">输入不正确！")
					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.length==6 && IsNumInt(str)) )
		{
			alert("<"+Lable+">输入不正确！")
			thisfield.focus();
			return false;
		}
	}
	if(fcount>1)
	{
		for(var k=0;k<fcount;k++)
		{
			str=trim(thisfield[k].value);
			
			if ( !(str.length==6 && IsNumInt(str)) )
			{
				alert("<"+Lable+">输入不正确！")
				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('表格没有该行！');
	else
	{
		if( (rows>=rowno) && (rowno>=0) )
		{
			table.deleteRow(rowno);
		}
		else
		{
			alert('表格无该行！');
		}
	}
}

/*====================================
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('没有记录');
	else
	{
		if (rows==1)
		{  
			check=eval(thisForm+'.'+chk)
			if(eval(thisForm+'.'+chk+'.length')==1)
			check=eval(thisForm+'.'+chk+'[1]')
				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("请选择！");
	}
 }



/*====================================
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>年";

	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>月";

	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>日";

	document.write(str);
}


/*====================================
29.判断是否正数
是：false
否: true
==========================================*/
function IsNotPNum(str)
{
	if (isNaN(str))	return true;
	if ( parseFloat(str) < 0.0 )	return true;
}

