// 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 "Company":
				err0 = (err0 == "" || err0 == null) ? "請輸入公司名稱" : err0;
				err1 = (err1 == "" || err1 == null) ? "公司名稱須是中文" : err1;
				if(!YYcheckNotNull(input,err0)) return false;
				if(!YYcheckCompany(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) ? "請輸入正確電話號碼,如：02-12345678" : 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;
	}
}
function YYcheckName(input,err1)
{
	//var re=/^[a-zA-Z\u0391-\uFFE5]+$/;中英文
	var re=/^[\u4E00-\u9FA5]+$/;//中文
	if(re.test(input.value))
	{
		return true;
	}else{
		alert(err1);
		input.focus();
		return false;
	}
}
/**
公司名稱驗證
**/
function YYcheckCompany(input,err1)
{
	//var re=/^[a-zA-Z\u0391-\uFFE5]+$/;中英文
	var re=/^[\u4E00-\u9FA5]+$/;//中文
	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=/^0?(13\d|159)\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{2,4}\)|\d{2,4}\-|)\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;
	}	
}