// JavaScript Document
function checkForm(theForm)
{
	var obj = theForm || event.srcElement;
	var count = obj.elements.length;
	for(var i=0;i<count;i++)
	{
		input=obj.elements[i];
		var dataType=input.getAttribute("dataType");
		//if(typeof(dataType) == "object" || typeof(obj[dataType]) == "undefined") 
		if(typeof(dataType) == "object")
		{
			continue;
		}
		var err0 = input.getAttribute("Error0");
		var err1 = input.getAttribute("Error1");
		var err2 = input.getAttribute("Error2");
		switch(dataType)
		{
			case "NotNull":
				err0 = (err0 == "" || err0 == null) ? "此项不能为空！" : err0;
				if(!YYcheckNotNull(input,err0)) return false;
				break;
			case "Email":
				err0 = (err0 == "" || err0 == null) ? "请输入E-mail！" : err0;
				err1 = (err1 == "" || err1 == null) ? "请输入正确的E-mail！" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckEmail(input,err1)) return false;
				break;
			case "Number":
				err0 = (err0 == "" || err0 == null) ? "请输入一个数字！" : err0;
				err1 = (err1 == "" || err1 == null) ? "请输入数字！" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckNumber(input,err1)) return false;
				break;
			case "PostCode":
				err0 = (err0 == "" || err0 == null) ? "请输入邮政编码！" : err0;
				err1 = (err1 == "" || err1 == null) ? "邮政编码只能是3位或6位数字！" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckPostCode(input,err1)) return false;
				break;
			case "Name":
				err0 = (err0 == "" || err0 == null) ? "请输入名字！" : err0;
				err1 = (err1 == "" || err1 == null) ? "名字只能是英文或中文！" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckName(input,err1)) return false;
				break;
			case "QQ":
				err0 = (err0 == "" || err0 == null) ? "请输入QQ号码！" : err0;
				err1 = (err1 == "" || err1 == null) ? "请输入正确的QQ号码" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckQQ(input,err1)) return false;
				break;
			case "Age":
				err0 = (err0 == "" || err0 == null) ? "请输入年龄！" : err0;
				err1 = (err1 == "" || err1 == null) ? "请输入正确的年龄！" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckAge(input,err1)) return false;
				break;
			case "Mobile_cn":
				err0 = (err0 == "" || err0 == null) ? "请输入手机号码" : err0;
				err1 = (err1 == "" || err1 == null) ? "请输入正确的手机号码！" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckMobileCN(input,err1)) return false;
				break;
			case "Mobile_tw":
				err0 = (err0 == "" || err0 == null) ? "请输入手机号码！" : err0;
				err1 = (err1 == "" || err1 == null) ? "请输入正确的手机号码！" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckMobileTW(input,err1)) return false;
				break;
			case "AreaCode":
				err0 = (err0 == "" || err0 == null) ? "请输入区号！" : err0;
				err1 = (err1 == "" || err1 == null) ? "请输入正确的区号！" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckAreaCode(input,err1)) return false;
				break;
			case "Ext":
				err1 = (err1 == "" || err1 == null) ? "分机号码只能为数字！" : err1;
				if(input.value != "")
				{
					var re=/^\d+$/;
					if(!re.test(input.value))
					{
						alert(err1);
						input.focus();
						return false;
					}
				}
				break;
			case "Phone_tw":
				err0 = (err0 == "" || err0 == null) ? "请输入电话号码！" : err0;
				err1 = (err1 == "" || err1 == null) ? "请输入正确的电话号码！" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckPhone(input,err1,"tw")) return false;
				break;
			case "Phone":
				err0 = (err0 == "" || err0 == null) ? "请输入电话号码！" : err0;
				err1 = (err1 == "" || err1 == null) ? "请输入正确的电话号码！" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckPhone(input,err1,"cn")) return false;
				break;
			case "PhoneOrMobile":
				err0 = (err0 == "" || err0 == null) ? "请输入电话号码或手机号码！" : err0;
				err1 = (err1 == "" || err1 == null) ? "请输入正确的电话号码或手机号码！" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckPhoneOrMobile(input,err1)) return false;
				break;
			case "Save":
				err0 = (err0 == "" || err0 == null) ? "此项不能为空！" : err0;
				err1 = (err1 == "" || err1 == null) ? "两次输入不相同！" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckSave(input,err1)) return false;
				break;
			case "Date_ymd":
				err0 = (err0 == "" || err0 == null) ? "请输入日期！" : err0;
				err1 = (err1 == "" || err1 == null) ? "输入的日期不正确！" : err1;
				err2 = (err2 == "" || err2 == null) ? "输入的日期格式不正确！" : err2;
				if(! YYcheckDateYMD(input,err0,err1,err2)) return false;
				break;
			case "Custom":
				var pattern = input.getAttribute("pattern");
				if(!YYcheckNotNull(input,err0)) return false;
				if( !YYcheckCustom(input,pattern,err1) ) return false;
				break;
			default:
				break;
		}
	}
}
function YYcheckNotNull(input,err0)
{
	var re = /^.+$/;
	if(!re.test(input.value) )
	{
		alert(err0);
		input.focus();
		return false;
	}else{
		return true;
	}
}
function YYcheckEmail(input,err1)
{
	var re=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/i;
	if(!re.test(input.value))
	{
		alert(err1);
		input.focus();
		return false;
	}else{
		return true;
	}
}
function YYcheckNumber(input,err1)
{
	var re=/^\d+$/;
	if(!re.test(input.value))
	{
		alert(err1);
		input.focus();
		return false;
	}else{
		return true;
	}
}
function YYcheckPostCode(input,err1)
{
	var re=/^\d{3}$|^\d{6}$/;
	if(!re.test(input.value))
	{
		alert(err1);
		input.focus();
		return false;
	}else{
		return true;
	}
}
function YYcheckName(input,err1)
{
	var re=/^[a-zA-Z\u0391-\uFFE5]+$/;
	if(re.test(input.value))
	{
		return true;
	}else{
		alert(err1);
		input.focus();
		return false;
	}
}
function YYcheckQQ(input,err1)
{
	var re=/^[1-9]\d{4,9}$/;
	if(!re.test(input.value))
	{
		alert (err1);
		input.focus();
		return false;
	}
}
function YYcheckAge(input,err1)
{
	var re=/^\d{1,2}$|^1\d{2}$/;
	if(!re.test(input.value))
	{
		lert (err1);
		input.focus();
		return false;
	}else{
		return true;
	}
}
function YYcheckMobileCN(input,err1)
{
	var re=/^(086)?0?(13\d|15\d)\d{8}$/;
	if(!re.test(input.value))
	{
		alert (err1);
		input.focus();
		return false;
	}else{
		return true;
	}
}
function YYcheckMobileTW(input,err1)
{
	var re=/^09\d{8}$/;
	if(!re.test(input.value))
	{
		alert (err1);
		input.focus();
		return false;
	}else{
		return true;
	}
}
function YYcheckAreaCode(input,err1)
{
	var re=/^\d{2,4}$/;
	if(!re.test(input.value))
	{
		alert(err1);
		input.focus();
		return false;
	}else{
		return true;
	}
}
function YYcheckPhone(input,err1,area)
{
	if(area == "tw")
	{
		re = /^\d{7,8}$/;
	}else{
		re = /^(\(\d{2,4}\)|\d{2,4}\-|)\d{7,8}(\-\d{2,5}|)$/;
	}
	if(!re.test(input.value))
	{
		alert (err1);
		input.focus();
		return false;
	}else{
		return true;
	}
}
function YYcheckPhoneOrMobile(input,err1)
{
	var re=/^(\(\d{2,4}\)|\d{2,4}\-|)\d{7,8}(\-\d{2,5}|)$|^0?\d{10,11}$|^09\d{8}$/;
	if(!re.test(input.value))
	{
		alert (err1);
		input.focus();
		return false;
	}else{
		return true;
	}
}
function YYcheckSave(input,err1)
{
	_id=input.getAttribute("As");
	input0=document.getElementById(_id);
	if(input0.value != input.value)
	{
		alert(err1);
		input.focus();
		return false;
	}else{
		return true;
	}
}
function YYcheckDateYMD(input,err0,err1,err2)
{
	if(input.value == "")
	{
		alert(err0);
		input.focus();
		return false;
	}
	var re=/^((19|20)\d{2})[\-\/](1[0-2]|0?[1-9])[\-\/](0?[1-9]|[12][0-9]|3[01])$/;
	var matchArray=re.exec(input.value);
	if(matchArray)
	{
		var dateObj=new Date(matchArray[1],matchArray[3]-1,matchArray[4]);
		inputY=matchArray[1] - 0 ;
		inputM=matchArray[3] - 1 ;
		inputD=matchArray[4] - 0 ;
		if(inputY != dateObj.getYear() || inputM != dateObj.getMonth() || inputD != dateObj.getDate())
		{
			alert(err2);
			return false;
		}
	}else{
		alert(err1);
		input.focus();
		return false;
	}
}
function YYcheckCustom(input,pattern,err1)
{
	if(!pattern.test(input.value) )
	{
		alert(err1);
		input.focus();
		return false;
	}else{
		return true;
	}	
}