//表單檢查
//三個為一組: "欄位名", "錯誤訊息", "格式"
function chkform(){
	var msg = "", args = chkform.arguments;
	var formName = document.form1;
	for(i=0;i<args.length;i+=3){
		for(j=0;j<document.forms[formName.name].length;j++) {
			if(document.forms[formName.name].elements[j].name == args[i]) val = document.forms[formName.name].elements[j].value;
		}
		if(args[i+2] == "isStr") msg = chkStr0(val,args[i+1],msg);
		if(args[i+2] == "orStr") msg = chkStr1(val,args[i+1],msg);
		if(args[i+2] == "isMail") msg = chkMail0(val,args[i+1],msg);
		if(args[i+2] == "orMail") msg = chkMail1(val,args[i+1],msg);
		if(args[i+2] == "isNum") msg = chkNum0(val,args[i+1],msg);
		if(args[i+2] == "orNum") msg = chkNum1(val,args[i+1],msg);
		if(args[i+2] == "ckPass"){
			str = args[i].split("|");
			for(j=0;j<document.forms[formName.name].length;j++) {
				if(document.forms[formName.name].elements[j].name == str[0]) pass0 = document.forms[formName.name].elements[j].value;
				if(document.forms[formName.name].elements[j].name == str[1]) pass1 = document.forms[formName.name].elements[j].value;
			}
			msg = chkPass(pass0,pass1,args[i+1],msg);
		}
	}
	if(msg){
		alert(msg);
		return false;
	}else return true;
}

//去除前後空白
function trim(strvalue){
	ptntrim = /(^\s*)|(\s*$)/g;
	return strvalue.replace(ptntrim,""); 
}

//字串檢查( 必填欄位 )
function chkStr0(strvalue,filed,msg){
	if(!trim(strvalue) || /\s{2}/.test(strvalue) || /[%\\\'\"]/.test(strvalue) || /mime/i.test(strvalue)) msg = msg?msg +filed +" error !\n\r":filed +" error !\n\r";
	return msg;
}

//字串檢查( 非必填欄位 )
function chkStr1(strvalue,filed,msg){
	if(trim(strvalue).length > 0) if(/\s{2}/.test(strvalue) || /[%\\\'\"]/.test(strvalue) || /mime/i.test(strvalue)) msg = msg?msg +filed +" error !\n\r":filed +" error !\n\r";
	return msg;
}

//Mail 檢查( 必填欄位 )
function chkMail0(strvalue,filed,msg){
	if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.\w+$/.test(strvalue))) msg = msg?msg + filed +" error !\n\r":filed +" error !\n\r";
	return msg;
}

//Mail 檢查( 非必填欄位 )
function chkMail1(strvalue,filed,msg){
	if(strvalue.length > 0) if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.\w+$/.test(strvalue))) msg = msg?msg + filed +" error !\n\r":filed +" error !\n\r";
	return msg;
}

//數字檢查( 必填欄位 )
function chkNum0(strvalue,filed,msg){
	if(!/[0-9#\-]/.test(strvalue)) msg = msg?msg + filed +" error !\n\r":filed +" error !\n\r";
	return msg;
}

//數字檢查( 非必填欄位 )
function chkNum1(strvalue,filed,msg){
	if(strvalue.length > 0) if(!/[0-9#\-]/.test(strvalue)) msg = msg?msg + filed +" error !\n\r":filed +" error !\n\r";
	return msg;
}

//密碼檢查
function chkPass(passwd,ckpass,filed,msg){
	if(!passwd || (passwd != ckpass)) msg = msg?msg + filed +" error !\n\r":filed +" error !\n\r";
	return msg;
}
