function ETSOOValid()
{
	this.IsWord=ETSOOCheckWord;
	this.IsEmpty=ETSOOCheckEmpty;
	this.IsBetween=ETSOOCheckBetween;
	this.IsDate=ETSOOCheckDate;
	this.IsTelephone=ETSOOCheckTelephone;
	this.IsZipcode=ETSOOCheckZipcode;
	this.IsNumber=ETSOOCheckNumber;
	this.IsEmail=ETSOOCheckEmail;
}
function ETSOOValidCheck(objE,strReport)
{
	if(objE==null)
	{
		var strIndex=sysCulture+"_Valid_Check";
		strReport=sysReportResource[strIndex];
		alert(strReport);
	}
	else
	{
		var strType=objE.type;
		alert(strReport);
		if(strType!=null&&strType!="hidden"&&!objE.disabled&&!(objE.style.display=="none"))objE.focus();
	}
}
function ETSOOCheckWord(objE,strReport,num1)
{
	var strIn;
	if(objE!=null)strIn=objE.value;
	var blnValid=ETSOOIsWord(strIn,num1);
	if(!blnValid)ETSOOValidCheck(objE,strReport);
	return blnValid;
}
function ETSOOIsWord(strIn,numType)
{
	var blnIsWord=true;
	if(strIn==null||strIn=="undefined")blnIsWord=false;
	else
	{
		var strRegWord;
		switch(numType)
		{
			case 1:
				strRegWord="^[\\d]+$";
				break;
			case 2:
				strRegWord="^[a-z|A-Z]+$";
				break;
			default:
				strRegWord="^[\\w]+$";
		}
		var regWord=new RegExp(strRegWord,"g");
		blnIsWord=regWord.test(strIn);
	}
	return blnIsWord;
}
function ETSOOCheckEmpty(objE,strReport)
{
	var strIn;
	if(objE!=null)strIn=objE.value;
	var blnValid=!ETSOOIsEmpty(strIn);
	if(!blnValid)ETSOOValidCheck(objE,strReport);
	return blnValid;
}
function ETSOOIsEmpty(strIn)
{
	var blnIsEmpty=false;
	if(strIn==null||strIn=="undefined"||strIn=="")blnIsEmpty=true;
	else
	{
		var regEmpty=/^(\s|  )+$/g;
		blnIsEmpty=regEmpty.test(strIn);
	}
	return blnIsEmpty;
}
function ETSOOCheckBetween(objE,strReport,num1,num2)
{
	var strIn="";
	if(objE!=null)strIn=objE.value;
	var blnValid=ETSOOIsBetween(strIn,num1,num2);
	if(!blnValid)ETSOOValidCheck(objE,strReport);
	return blnValid;
}
function ETSOOIsBetween(strIn,num1,num2)
{
	if(strIn==null||strIn=="undefined")strIn="";
	var numLen=strIn.length;
	var blnIsBetween=(numLen>=num1&&numLen<=num2);
	return blnIsBetween;
}
function ETSOOCheckDate(objE,strReport,num1,num2)
{
	var blnValid=false;
	if(objE!=null)
	{
		var strValue=objE.value;
		blnValid=ETSOOIsDate(strValue);
		if(blnValid&&num1!=num1&&num2!=null)
		{
			var numYear=parseInt(strValue.substr(0,4));
			var numBaseYear=new Date().getFullYear();
			if(numYear>numBaseYear+10||numYear<numBaseYear-10)blnValid=false;
		}
		if(!blnValid)ETSOOValidCheck(objE,strReport);
	}
	return blnValid;
}
function ETSOOIsDate(strIn)
{
	if(strIn==null)strIn="";
	var regDate=/^\d{4}[\/\.-](|0|1)\d[\/\.-](|0|1|2|3)\d$/gi;
	var blnValid=regDate.test(strIn);
	return blnValid;
}
function ETSOOCheckTelephone(objE,strReport,numType,strLanguage)
{
	var blnValid=false;
	if(objE!=null)
	{
		var strValue=objE.value;
		blnValid=ETSOOIsTelephone(strValue,numType,strLanguage);
		if(!blnValid)ETSOOValidCheck(objE,strReport);
	}
	return blnValid;
}
function ETSOOIsTelephone(strIn,numType,strLanguage)
{
	if(strIn==null)strIn="";
	var regTelephone;
	switch(numType)
	{
		case 1:
			regTelephone=/^13[0-9]\d{8}$/gi;
			break;
		case 2:
			regTelephone=/^86-\d{2,3}-\d{3,8}(-\d{4,5)?$/gi;
			break;
		default:
			regTelephone=/^\d{3,4}-\d{7,8}$/gi;
	}
	var blnValid=regTelephone.test(strIn);
	return blnValid;
}
function ETSOOCheckZipcode(objE,strReport,strLanguage)
{
	var blnValid=false;
	if(objE!=null)
	{
		var strValue=objE.value;
		blnValid=ETSOOIsZipcode(strValue,strLanguage);
		if(!blnValid)ETSOOValidCheck(objE,strReport);
	}
	return blnValid;
}
function ETSOOIsZipcode(strIn,strLanguage)
{
	if(strIn==null)strIn="";
	var regTelephone;
	switch(numType)
	{
		default:
			regTelephone=/^\d{6}$/gi;
	}
	var blnValid=regTelephone.test(strIn);
	return blnValid;
}
function ETSOOCheckNumber(objE,strReport,num1,num2)
{
	var blnValid=false;
	if(objE!=null)
	{
		var strValue=objE.value;
		blnValid=ETSOOIsNumber(strValue,num1,num2);
		if(!blnValid)ETSOOValidCheck(objE,strReport);
	}
	return blnValid;
}
function ETSOOIsNumber(strIn,num1,num2)
{
	if(strIn==null||strIn=="undefined")strIn=""
	if(num1==null)num1=0
	if(num2==null)num2=20
	var regNumber=/^\d*[\.|\d]\d*$/gi
	var blnIsNumber=false
	if(regNumber.test(strIn))
	{
		var numIn=parseFloat(strIn)
		if(numIn>=num1&&numIn<=num2)blnIsNumber=true
	}
	return blnIsNumber
}
function ETSOOCheckEmail(objE,strReport)
{
	var blnValid=false;
	if(objE!=null)
	{
		var strValue=objE.value;
		blnValid=ETSOOIsEmail(strValue);
		if(!blnValid)ETSOOValidCheck(objE,strReport);
	}
	return blnValid;
}
function ETSOOIsEmail(strIn)
{
	if(strIn==null||strIn=="undefined")strIn=""
	var regEmail=/^([\w-_]+\.)*[\w-_]+\@([\w-_]+\.)+[a-zA-Z]{2,3}$/g;
	var blnIsEmail=regEmail.test(strIn);
	return blnIsEmail;
}