function ETSOOValid(){}
function ETSOOValidCheck(objE,strReport){
	if(objE==null){
		alert("Object checked is null!");
	}else{
		var strType=objE.type;
		if(strType==null&&objE.length>0){
			objE=objE[0];
			strType=objE.type;
		}
		alert(strReport);
		if(strType!=null&&strType!="hidden"&&!objE.disabled&&!(objE.style.display=="none")){
			objE.focus();
		}
	}
}
ETSOOValid.prototype.IsEmpty=function(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;
}
ETSOOValid.prototype.IsWord=function(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;
}
ETSOOValid.prototype.IsBetween=function(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="";
	if(num1==null)num1=1;
	if(num2==null)num2=20;
	var numLen=strIn.length;
	var blnIsBetween=(numLen>=num1&&numLen<=num2);
	return blnIsBetween;
}
ETSOOValid.prototype.IsDate=function(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?(\s\d{1,2}:\d{1,2}:\d{1,2})?$/gi;
	var blnValid=regDate.test(strIn);
	return blnValid;
}
ETSOOValid.prototype.IsNumber=function(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;
}
ETSOOValid.prototype.IsEmail=function(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;
}
ETSOOValid.prototype.IsDBString=function(objE,strReport,num1,num2){
	var blnValid=false;
	if(objE!=null){
		var strValue=objE.value;
		blnValid=ETSOOIsDBString(strValue,num1,num2);
		if(!blnValid)ETSOOValidCheck(objE,strReport);
	}
	return blnValid;
}
function ETSOOIsDBString(strIn,num1,num2)
{
	if(strIn==null||strIn=="undefined")strIn="";
	if(num1==null)num1=1;
	if(num2==null)num2=20;	
	var numLen=strIn.length;
	var blnValid=true;
	if(!ETSOOIsBetween(strIn,num1,num2))blnValid=false;
	else if(strIn.indexOf("'")!=-1||strIn.indexOf('"')!=-1||strIn.indexOf("=")!=-1)blnValid=false;
	return blnValid;
}
ETSOOValid.prototype.IsEqual=function(objS,objT,strReport){
	var blnValid=false;
	if(objS!=null&&objT!=null){
		blnValid=ETSOOIsEqual(objS.value,objT.value);
		if(!blnValid)ETSOOValidCheck(objS,strReport);
	}
	return blnValid;
}
function ETSOOIsEqual(strS,strT)
{
	return (strS==strT);
}
ETSOOValid.prototype.IsChoose=function(objE,strReport,strValue){
	var blnValid=ETSOOIsChoose(objE,strValue);
	if(!blnValid)ETSOOValidCheck(objE,strReport);
	return blnValid;
}
function ETSOOIsChoose(objE,strValue){
	var blnValid=false;
	if(objE){
		var strType=objE.type;
		var numLen=objE.length;
		if(numLen!=null){
			var blnChoose=false;
			for(var numI=0;numI<numLen;numI++){
				var objOne=objE[numI];
				if(strType==null)strType=objOne.type;
				if(strValue==null){
					if(strType=="select-one"||strType=="select-multiple")blnChoose=objOne.selected;
					else blnChoose=objOne.checked;
				}else{
					if(objOne.checked&&objOne.value==strValue)blnChoose=true;
				}
				if(blnChoose){
					blnValid=true;
					break;
				}
			}
		}
	}
	return blnValid;
}
function ETSOOAllTrim(strIn){
	if(strIn==null||strIn=="undefined")strIn="";
	else{
		strIn=strIn.replace(/^[ |　]+/g,"");
		strIn=strIn.replace(/[ |　]+$/g,"");
	}
	return strIn
}