function check(){
	if(!trim(form.Name.value)){alert('請輸入姓名');form.Name.focus();return false;}
	if(!trim(form.ID.value)){alert('請輸入身份證字號');form.ID.focus();return false;}
	if(!ischar(form.ID.value)){form.ID.select();return false;}
	if(!checkBytes(form.ID.value)){form.ID.select();return false;}
        if(trim(form.ID.value)){
        	ID = trim(form.ID.value).toUpperCase();
		if(!isValidIdno(ID)){alert("不正確的身份證字號");form.ID.select();return false;}
        }
	if(!form.Gender[0].checked && !form.Gender[1].checked){alert('請選擇性別');form.Gender[0].focus();return false;}
	if(form.BirY[0].selected){alert('請選擇出生日期(年)');form.BirY.focus();return false;}
	if(form.BirM[0].selected){alert('請選擇出生日期(月)');form.BirM.focus();return false;}
	if(form.BirD[0].selected){alert('請選擇出生日期(日)');form.BirD.focus();return false;}
	var BirY = form.BirY[form.BirY.selectedIndex].value;
	var BirM = form.BirM[form.BirM.selectedIndex].value;
	var BirD = form.BirD[form.BirD.selectedIndex].value;
	var BirDate = BirY + '/' + BirM + '/' + BirD;
	if(!strDateTime(BirDate)){alert('不正確的出生日期');return false;}
	if(!trim(form.ContactTime.value)){alert('請輸入方便聯絡時間');form.ContactTime.focus();return false;}
	if(trim(form.Tel1.value) && !trim(form.TelCode1.value)){alert('請輸入聯絡電話(1)區碼');form.TelCode1.focus();return false;}
	if(!trim(form.Tel1.value) && trim(form.TelCode1.value)){alert('請輸入聯絡電話(1)');form.Tel1.focus();return false;}
	if(trim(form.Tel2.value) && !trim(form.TelCode2.value)){alert('請輸入聯絡電話(2)區碼');form.TelCode2.focus();return false;}
	if(!trim(form.Tel2.value) && trim(form.TelCode2.value)){alert('請輸入聯絡電話(2)');form.Tel2.focus();return false;}
	if(!trim(form.Mobile.value)){alert('請輸入行動電話');form.Mobile.focus();return false;}
	if(trim(form.Mobile.value).length < 10){alert('行動電話必須為十碼');form.Mobile.focus();return false;}	
	if(!trim(form.Email.value)){alert('請輸入電子信箱');form.Email.focus();return false;}
	if(form.Email.value.indexOf("@")=="-1" || form.Email.value.indexOf(".")=="-1"){alert("不正確的電子信箱");form.Email.select();return false;}
	if(form.City[0].selected){alert('請選擇縣/市');form.City.focus();return false;}
	if(!trim(form.Address.value)){alert('請輸入地址');form.Address.focus();return false;}
	if(!trim(form.JobPosition.value)){alert('請輸入希望職稱');form.JobPosition.focus();return false;}
	if(!trim(form.JobContent.value)){alert('請輸入希望工作內容');form.JobContent.focus();return false;}
	if(form.JobContent.value.length > 100){alert('希望工作內容請勿超過100個字元');form.JobContent.focus();return false;}
	if(!trim(form.JobPlace.value)){alert('請輸入希望工作地點');form.JobPlace.focus();return false;}
	if(form.Education[0].selected){alert('請選擇教育程度');form.Education.focus();return false;}
	if(!trim(form.School.value)){alert('請輸入畢業學校');form.School.focus();return false;}
	if(trim(form.Company1.value) || trim(form.Position1.value) || trim(form.StartDurY1.value) || !form.StartDurM1[0].selected){
		if(!trim(form.Company1.value)){alert('請輸入目前任職公司名稱');form.Company1.focus();return false;}
		if(!trim(form.Position1.value)){alert('請輸入目前任職公司職務名稱');form.Position1.focus();return false;}
		if(!trim(form.StartDurY1.value)){alert('請輸入目前任職公司服務期間');form.StartDurY1.focus();return false;}
		if(form.StartDurM1[0].selected){alert('請選擇目前任職公司服務期間');form.StartDurM1.focus();return false;}
	}
	if(trim(form.Company2.value) || trim(form.Position2.value) || trim(form.StartDurY2.value) || !form.StartDurM2[0].selected || trim(form.EndDurY2.value) || !form.EndDurM2[0].selected){
		if(!trim(form.Company2.value)){alert('請輸入前一工作公司名稱');form.Company2.focus();return false;}
		if(!trim(form.Position2.value)){alert('請輸入前一工作職務名稱');form.Position2.focus();return false;}
		if(!trim(form.StartDurY2.value)){alert('請輸入前一工作服務期間');form.StartDurY2.focus();return false;}
		if(form.StartDurM2[0].selected){alert('請選擇前一工作服務期間');form.StartDurM2.focus();return false;}
		if(!trim(form.EndDurY2.value)){alert('請輸入前一工作服務期間');form.EndDurY2.focus();return false;}
		if(form.EndDurM2[0].selected){alert('請選擇前一工作服務期間');form.EndDurM2.focus();return false;}
	}
	if(trim(form.Company3.value) || trim(form.Position3.value) || trim(form.StartDurY3.value) || !form.StartDurM3[0].selected || trim(form.EndDurY3.value) || !form.EndDurM3[0].selected){
		if(!trim(form.Company3.value)){alert('請輸入前二工作公司名稱');form.Company3.focus();return false;}
		if(!trim(form.Position3.value)){alert('請輸入前二工作職務名稱');form.Position3.focus();return false;}
		if(!trim(form.StartDurY3.value)){alert('請輸入前二工作服務期間');form.StartDurY3.focus();return false;}
		if(form.StartDurM3[0].selected){alert('請選擇前二工作服務期間');form.StartDurM3.focus();return false;}
		if(!trim(form.EndDurY3.value)){alert('請輸入前二工作服務期間');form.EndDurY3.focus();return false;}
		if(form.EndDurM3[0].selected){alert('請選擇前二工作服務期間');form.EndDurM3.focus();return false;}
	}
	if(trim(form.Intro.value)){
		if(form.Intro.value.length > 300){alert('自我介紹請勿超過300個字元');form.Intro.focus();return false;}
	}
	if(!trim(form.PW.value)){alert('請輸入密碼');form.PW.focus();return false;}
	if(!ischar(form.PW.value)){form.PW.select();return false;}
	if(!checkBytes(form.PW.value)){form.PW.select();return false;}
	if(trim(form.PW.value).length < 5){alert('密碼至少5個字元');form.PW.focus();return false;}
	if(!trim(form.CPW.value)){alert('請輸入密碼確認');form.CPW.focus();return false;}
	if(!ischar(form.CPW.value)){form.CPW.select();return false;}
	if(!checkBytes(form.CPW.value)){form.CPW.select();return false;}
	if(trim(form.PW.value) != trim(form.CPW.value)){alert('密碼確認有問題');form.CPW.focus();return false;}
	if(!trim(form.Code.value)){alert('請輸入驗證碼');form.Code.focus();return false;}
        form.submit();
}
function trim(instr){
        return instr.replace(/^[\s]*/gi,'').replace(/[\s]*$/gi,'');
}
function strDateTime(str){
	var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; 
	var r = str.match(reg); 
	if(r==null)return false; 
	var d = new Date(r[1], r[3]-1,r[4]); 
	var newStr = d.getFullYear() + r[2] + (d.getMonth()+1) + r[2] + d.getDate()
	return newStr==str
}
function ischar(s){
        var errorChar;
        var badChar = "><[]{}?/\+=|'~!#$%^&()`"; 

        errorChar = isCharsInBagEx(s,badChar);
        if (errorChar != ''){
                alert('請勿輸入特殊字元('+ badChar +')');
                return false;
        }
        return true;
}
function isCharsInBagEx(s,bag){ 
        var i,c;
        for (i = 0; i < s.length; i++){ 
                c = s.charAt(i);
                if (bag.indexOf(c) > -1){
                return c
                }
        }
        return '';
}
function checkBytes(obj) { 
   	var hasChinese = false;
   	var n = obj.length;
  	for(var i=0;i<n;i++){
    		var str = encodeURI(obj.charAt(i));
       		if(str.length == 9){
        		hasChinese = true;
        		break;
        	}
   	}
   	if(hasChinese){
   		alert("請勿輸入中文字");
   		return false;
   		return true;
   	}else{
   		return true;
   	}
}
function isValidIdno(idno){
	var noh = new Array(
	10, 11, 12, 13, 14, 15, 16, 17, // A - H
    	34,	                            // I
	18, 19, 20, 21, 22,             // J - N
	35,	                            // O
	23, 24, 25, 26, 27, 28, 29,     // P - V
	32, 30, 31, 33 );               // W,X,Y,Z
   	if ( idno.length != 10 ) return false;

   	var schar = idno.charAt(1);
   	if ( schar != '1' && schar != '2' )	return false;

   	var hchar = idno.charAt(0);
   	if ( hchar < 'A' || hchar > 'Z' )	return false;

   	for ( var i = 1; i < 10; i ++ ) {
      		if ( isNaN( idno.charAt( i ) )	) return false;
   	}

   	var hcharind = hchar.charCodeAt( 0 ) - 65;
   	var ha = Math.floor( noh[ hcharind ]  / 10 );
   	var hb = noh[ hcharind ] % 10;
	
   	var checkResult = ( ha + hb * 9 + idno.charAt( 1 )*8 + idno.charAt( 2 )*7 
                                   + idno.charAt( 3 )*6 + idno.charAt( 4 )*5
			           + idno.charAt( 5 )*4 + idno.charAt( 6 )*3 
                                   + idno.charAt( 7 )*2 + idno.charAt( 8 )*1 
                                   + idno.charAt( 9 )*1) % 10;

   	return ( checkResult == 0 );
}
function isNumeric(Key){
       if((Key < 48 || Key > 57)){
               window.event.keyCode = 0;
       } 
}
function checkKey(key){
        if((key < 48 || key > 57) && (key < 65 || key > 90) && (key < 97 || key > 122) && (key != 95)){
                window.event.keyCode = 0;
        } 
}