/************************************************
/封装检查合法性的伪静态类
/用于页面必输入检查及格式检查

/示例：
/检查用户名是否为空及格式是否正确：
/CheckValid.checkValid("txtUser","用户名",false,"user");

/Catkin 2005-04-18
*************************************************/
CheckValid={
	User : /^[0-9a-z][\w-.]*[0-9a-z]$/,
	Email : /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/,
	Phone : /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/,
	Mobile : /^((13[0-9]{9})|(158[0-9]{8})|(159[0-9]{8})|(150[0-9]{8}))$/,	
	MobileEmail:/^((13[0-9]{9})|(158[0-9]{8})|(159[0-9]{8})|(150[0-9]{8})+)*@(139)+(\.[\w-]+)+$/,
	Url : /^http:\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?$/,
	Site :/^http:\/\/([\w-]+\.)+[\w-]+$/,
	IP : /(\d+)\.(\d+)\.(\d+)\.(\d+)/, 
	IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/,
	Currency : /^\d+(\.\d+)?$/,
	Number : /^\d+$/,
	Zip : /^[1-9]\d{5}$/,
	QQ : /^[1-9]\d{4,8}$/,
	Integer : /^[-\+]?\d+$/,
	Double : /^[-\+]?\d+(\.\d+)?$/,
	English : /^[A-Za-z]+$/,
	Chinese :  /^[\u0391-\uFFE5]+$/,
	Percent : /^[0-9]\d?$/,
	SampleMsg : "",
	//主函数
	//strObject:对象名
	//strMsg:   提示值
	//blnNull:  允许为空
	//strMode:  检查方式
	Check : function(strObject,strMsg,blnNull,strMode)
	{
		var _obj=eval("document.getElementById('" + strObject + "')");
		if(_obj==null) return true;
		
		_obj.value=this.Trim(_obj.value);
		var _value=_obj.value;
		if(!blnNull)
		{
			if(_value=="") 
			{
				if(_obj.tagName.toLowerCase()=="select")
					return this.ReturnMsg(_obj,strMsg,2);
				else
					return this.ReturnMsg(_obj,strMsg,0);
			}
		}
		//不需要检查格式
		if(strMode==""||_value=="")	return true;
		else
		{
			if(this.CheckReg(_value,strMode.toLowerCase()))	return true;
			else return this.ReturnMsg(_obj,strMsg,1);
		}
		
	},
	Compare : function(obj1,obj2,type)
	{
		var _obj1=eval("document.getElementById('" + obj1 + "')");
		var _obj2=eval("document.getElementById('" + obj2 + "')");
		if(type=="=")
		return _obj1.value==_obj2.value;
	},
	//返回提示
	ReturnMsg : function(obj,msg,type)
	{
		switch(type)
		{
			case(0):
				alert("请输入" + msg + " !");
				obj.focus();
				break;
			case(1):
				alert("格式错误,请输入正确的[" + msg + "] .\n\n如 : " + this.SampleMsg);
				obj.focus();
				obj.select();
				break;
			case(2):
				alert("请选择" + msg + " !");
				obj.focus();
				break;
		}
		return false;
	},
	//检查输入
	CheckReg : function(srcValue,reg) 
	{
		switch(reg)
		{
			case("user"):
				this.SampleMsg="test1234";
				return this.User.test(srcValue);
				break;
			case("email"):
				this.SampleMsg="test@163.com";
				return this.Email.test(srcValue);
				break;
			case("site"):
				this.SampleMsg="http://www.a8.com";
				return this.Site.test(srcValue);
				break;
			case("number"):
				this.SampleMsg="123";
				return this.Number.test(srcValue);
				break;
			case("phone"):
				this.SampleMsg="0755-88888888";
				return this.Phone.test(srcValue);
				break;
			case("qq"):
				this.SampleMsg="88888888";
				return this.QQ.test(srcValue);
				break;
			case("birthday"):
				this.SampleMsg="1979-03-23";
				return this.checkDate(srcValue);
				break;
			case("mobile"):
				this.SampleMsg="13912345678";				
				return this.Mobile.test(srcValue);
				break;	
			case("ljuzm"):				
				this.SampleMsg="13912345678@139.com";
				return this.MobileEmail.test(srcValue);
				break;					
			case("idcard"):
				this.SampleMsg="461694197803122251";
				return this.IdCard.test(srcValue);
				break;
			case("date"):
				this.SampleMsg="2005-08-12";
				return this.CheckDate(srcValue);
				break;
			case("datetime"):
				this.SampleMsg="2005-08-12 12:10:00";
				return this.CheckDateTime(srcValue);
				break;
			case("double"):
				this.SampleMsg="3.25";
				return this.Double.test(srcValue);
				break;
			case("percent"):
				this.SampleMsg="25";
				return this.Percent.test(srcValue);
				break;
			case("integer"):
				this.SampleMsg="25";
				return this.Integer.test(srcValue);
				break;
			default:
				return false;
				break;
		}
	},
	//去掉前后空格
	Trim : function(str)
	{
		return str.replace(/(^\s*)|(\s*$)/ig,"");
	},
	CheckDate : function(src)
	{
		ymd1=src.split("-");
		month1=ymd1[1]-1
		var Date1 = new Date(ymd1[0],month1,ymd1[2]); 
		if (Date1.getMonth()+1!=ymd1[1]||Date1.getDate()!=ymd1[2]||Date1.getFullYear()!=ymd1[0]||ymd1[0].length!=4||ymd1[0]<1900||ymd1[0]>2100)
		{
			return false;          
		}
		return true;
	},
	CheckDateTime : function(src)
	{
		var str=callXml("checkdatetimeformat@"+src);
		if(str=="false")
		{
			return false;
		}
		else
			return true;
	}
}

