/********
h have data
n number
w word
a: num +word
min,10  least length
max,200 max length
tw,.限中文
********/

function before_submit(fm){
	var ip,v,ck;
	document.getElementById('error').innerHTML="";
	var fm=document.getElementById(fm);
	//清空上一次的錯誤
	var div=fm.getElementsByTagName('div');
	for(i=div.length-1 ; i>=0 ; i--){
		if(div[i].id=='errorform')
			div[i].parentNode.removeChild(div[i]);
	}
	ip=fm.getElementsByTagName('input');
	var tx=fm.getElementsByTagName('textarea');
	var ok=1;
	var n2=ip.length;
	for(i=0 ; i<n2 ; i++){
		it=ip[i];
		ck=it.getAttribute('ck');
		v=it.value;
		if(!ck || ck==''){
			continue;
		}
		var ck_a=ck.split(",");
		for(j=0; j<ck_a.length ; j++){
			//開始檢查
			var n=ck_a[j];
			if(form_check(v,n,it)==0){
				ok=0;
			}
		}
	}
	for(i=0 ; i<tx.length ; i++){
		it=tx[i];
		ck=it.getAttribute('ck');
		v=it.value;
		if(!ck || ck==''){
			continue;
		}
		var ck_a=ck.split(",");
		for(j=0; j<ck_a.length ; j++){
			//開始檢查
			var n=ck_a[j];
			if(form_check(v,n,it)==0){
				ok=0;
			}
		}
	}
	if(!ok){
		//document.body.scrollTop=fm.offsetTop;
		document.location.href="#errorTop";
		formAlert('部分資料填寫不完整',fm);
		return false
		}
	return true;
}

function form_check(v,n,it){
	var n=n.split(":");
	var ok=1;
	switch(n[0]){
		case 'h':
			if(v==''){
				formShowError('(請填寫此欄位)',it);
				ok=0;
			}
			break;
		case 'n':
			var re=/[^0-9]/;
			var t=v.search(re);
			if(t!=-1){
				formShowError('(此欄位必須是數字)',it);
				ok=0;
			}
			break;
		case 'w':
			var re=/[^a-zA-Z]/;
			var t=v.search(re);
			if(t!=-1){
				formShowError('(此欄位必須是英文字)',it);
				ok=0;
			}
			break;
		case 'a':
			var re=/[^0-9a-zA-Z]/;
			var t=v.search(re);
			if(t!=-1){
				formShowError('(此欄位必須是數字或英文)',it);
				ok=0;
			}
			break;
		case 'min':
			var l=n[1];
			if(v.length<l){
				formShowError('(此欄位必須大於'+l+'個字)',it);
				ok=0;
			}
			break;
		case 'max':
			var l=n[1];
			if(v.length>l){
				formShowError('(此欄位必須不能大於'+l+'個字)',it);
				ok=0;
			}
			break;
		case 'mail':
			var re=/^[a-zA-Z0-9\._\s-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
			if(!v.match(re)){
				formShowError('(信箱不合法)',it);
				ok=0;
			}
			break;
		case 'tw':
			var re=/[0-9a-zA-Z~!@#$%^&\*()_\-\?\+=\.,\'\";\:\[\]\{\}`\/]/;
			if(v.match(re)){
				formShowError('(只限打中文)',it);
				ok=0;
			}
			break;
	}
	return ok;
}

function formShowError(n,it,es){
	var es=document.createElement("div");
	es.setAttribute("style","color:purple");
	es.setAttribute("id","errorform");
	es.innerHTML=n;
	it.parentNode.appendChild(es);
}

function formAlert(n){
	document.getElementById('error').innerHTML="請檢查下列的錯誤欄位";
}
