function DoWinOpen(OpenUrl)
<!--
{
Hour=new Date().getHours();
Minutes=new Date().getMinutes();
Seconds=new Date().getSeconds();
PageHandle=Hour+Minutes+Seconds;
window.open(OpenUrl,PageHandle,'status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=no,menubar=no,status=no,directories=no,left=0,top=0,width=750,height=520');
}

function DoOpenBlank(OpenUrl)
{
Hour=new Date().getHours();
Minutes=new Date().getMinutes();
Seconds=new Date().getSeconds();
PageHandle=Hour+Minutes+Seconds;
window.open(OpenUrl,PageHandle,'status=yes,toolbar=yes,menubar=yes,location=yes,resizable=yes,scrollbars=yes,menubar=yes,status=yes,directories=yes,left=0,top=0,width=750,height=520');
}

function isDateTime(str)
{
  var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
  var r = str.match(reg); 
  if(r==null)return false; 
  var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
  return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}

/*********************************************************************************
*	FUNCTION	isEmpty checks if the parameter is empty or null
*	PARAMETER	str		AS String
**********************************************************************************/
function isEmpty (str) {
    if ((str==null)||(str.length==0)) return true;
    else return(false);
}

/*********************************************************************************
*	FUNCTION:		isInt
*	PARAMETER:		theStr	AS String 
*	RETURNS:		TRUE if the passed parameter is an integer, otherwise FALSE
*	CALLS:			isDigit
**********************************************************************************/
function isInt (theStr) {
	var flag = true;

	if (isEmpty(theStr)) { flag=false; }
	else
	{	for (var i=0; i<theStr.length; i++) {
			if (isDigit(theStr.substring(i,i+1)) == false) {
				flag = false; break;
			}
		}
	}
	return(flag);
}

/*********************************************************************************
*	FUNCTION:		isReal
*	PARAMETER:	heStr	AS String 
					    decLen	AS Integer (how many digits after period)
*	RETURNS:		TRUE if theStr is a float, otherwise FALSE
*	CALLS:			isInt
**********************************************************************************/
function isReal (theStr, decLen) {
	var dot1st = theStr.indexOf('.');
	var dot2nd = theStr.lastIndexOf('.');
	var OK = true;
	if (isEmpty(theStr)) return false;

	if (dot1st == -1) {
		if (!isInt(theStr)) return(false);
		else return(true);
	}
	else if (dot1st != dot2nd) return (false);
	else if (dot1st==0) return (false);
	else {
		var intPart = theStr.substring(0, dot1st);
		var decPart = theStr.substring(dot2nd+1);

		if (decPart.length > decLen) return(false);
		else if (!isInt(intPart) || !isInt(decPart)) return (false);
		else if (isEmpty(decPart)) return (false);
		else return(true);
	}
}

/*********************************************************************************
*	FUNCTION:		isEmail
*	PARAMETER:		String (Email Address)
*	RETURNS:		TRUE if the String is a valid Email address
*					FALSE if the passed string is not a valid Email Address
*	EMAIL FORMAT:	AnyName@EmailServer e.g; webmaster@hotmail.com
*					@ sign can appear only once in the email address.
*********************************************************************************/
function isEMail (theStr) {
	var atIndex = theStr.indexOf('@');
	var dotIndex = theStr.indexOf('.', atIndex);
	var flag = true;
	theSub = theStr.substring(0, dotIndex+1)

	if ((atIndex < 1)||(atIndex != theStr.lastIndexOf('@'))||(dotIndex < atIndex + 2)||(theStr.length <= theSub.length)) 
	{	return(false); }
	else { return(true); }
}

function FiltrateNotNumberText()
{
  if ( !(((window.event.keyCode>= 48) && (window.event.keyCode <= 57)) 
    || (window.event.keyCode == 13) || (window.event.keyCode == 46) 
    || (window.event.keyCode == 45)))
  {
    window.event.keyCode=0;
  }
}

//校验数字：0-9数字的组合
function isDigit(s)
{
	var patrn=/^[0-9]{1,20}$/;
	if (!patrn.exec(s)) return false
	return true
}

//校验登录名：只能输入2-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
	//var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9_]){1,19}$/;
	var patrn=/^[a-zA-Z0-9_]{4,20}$/;
	if (!patrn.exec(s)) return false
	return true
}

//校验密码：只能输入3-15个字母、数字
function isPasswd(s)
{
	var patrn=/^[a-zA-Z0-9]{4,20}$/;
	if (!patrn.exec(s)) return false
	return true
}

//校验是否为ip地址
function isIP(str){
  if(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.test(str)==false)
  {
	//window.alert('错误的IP地址格式');
	return false;
  }
  if(RegExp.$1<1 || RegExp.$1>254||RegExp.$2<0||RegExp.$2>254||RegExp.$3<0||RegExp.$3>254||RegExp.$4<1||RegExp.$4>254)
  {
	//window.alert('错误的IP地址');
	return false;
  }

  return true;
}

//校验手机号码：必须以数字开头，除数字外，可含有“-”
function isMobile(s)
{
	var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
	if (!patrn.exec(s)) return false
	return true
}

//校验地区代码
function isAreaCode(s)
{
	var patrn=/^(\d){6}$/;
	if (!patrn.exec(s)) return false
	return true
}

//校验邮政编码
function isPostalCode(s)
{
	var patrn=/^[1-9]{1}(\d){5}$/;
	if (!patrn.exec(s)) return false
	return true
}
//-->