function check(){
	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.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.PID.value)){
        	PID = trim(form.PID.value).toUpperCase();
		if(!isValidIdno(PID)){alert("不正確的身份證字號");form.PID.select();return false;}
        }
	if(!trim(form.Name.value)){alert('請輸入姓名');form.Name.focus();return false;}
	if(!checkChineseName(form.Name.value)){alert('請輸入完整中文姓名');form.Name.focus();return false;}
	if(!trim(form.PName.value)){alert('請輸入網路暱稱');form.PName.focus();return false;}
	if(!form.Gender[0].checked && !form.Gender[1].checked){alert('請選擇性別');form.Gender[0].focus();return false;}
	if(!trim(form.Biry.value)){alert('請輸入生日(年)');form.Biry.focus();return false;}
	if(!trim(form.Birm.value)){alert('請輸入生日(月)');form.Birm.focus();return false;}
	if(!trim(form.Bird.value)){alert('請輸入生日(日)');form.Bird.focus();return false;}
	if(!checkDate(form.Biry.value,form.Birm.value,form.Bird.value)){alert('不正確的日期');form.Biry.focus();return false;}
	if(!compareDate(form.Biry.value+'/'+form.Birm.value+'/'+form.Bird.value,new Date(),'>')){alert('生日不能超過今天的日期');form.Biry.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(!trim(form.TelCode.value)){alert('請輸入電話號碼(區碼)');form.TelCode.focus();return false;}
	if(!trim(form.Tel.value)){alert('請輸入電話號碼');form.Tel.focus();return false;}
	if(trim(form.Fax.value) && !trim(form.FaxCode.value)){alert('請輸入傳真號碼(區碼)');form.FaxCode.focus();return false;}
	if(!trim(form.Fax.value) && trim(form.FaxCode.value)){alert('請輸入傳真號碼');form.Fax.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(form.City[0].selected){alert('請選擇縣/市');form.City[0].focus();return false;}
	if(!trim(form.Address.value)){alert('請輸入住址');form.Address.focus();return false;}
	if(!form.hasPregnancy[0].checked && !form.hasPregnancy[1].checked){alert('請選擇目前是否懷孕');form.hasPregnancy[0].focus();return false;}
	if(form.hasPregnancy[0].checked){
		if(!trim(form.Dely.value)){alert('請輸入預產期(年)');form.Dely.focus();return false;}
		if(!trim(form.Delm.value)){alert('請輸入預產期(月)');form.Delm.focus();return false;}
		if(!trim(form.Deld.value)){alert('請輸入預產期(日)');form.Deld.focus();return false;}
		if(!checkDate(form.Dely.value,form.Delm.value,form.Deld.value)){alert('不正確的日期');form.Dely.focus();return false;}
		if(!compareDate(form.Dely.value+'/'+form.Delm.value+'/'+form.Deld.value,new Date(),'<')){alert('預產期不能小於今天的日期');form.Dely.focus();return false;}
	}
	if(trim(form.BBDate1y.value) || trim(form.BBDate1m.value) || trim(form.BBDate1d.value)){
		if(!trim(form.BBDate1y.value)){alert('請輸入寶寶的生日(年)');form.BBDate1y.focus();return false;}
		if(!trim(form.BBDate1m.value)){alert('請輸入寶寶的生日(月)');form.BBDate1m.focus();return false;}
		if(!trim(form.BBDate1d.value)){alert('請輸入寶寶的生日(日)');form.BBDate1d.focus();return false;}
		if(!checkDate(form.BBDate1y.value,form.BBDate1m.value,form.BBDate1d.value)){alert('不正確的日期');form.BBDate1y.focus();return false;}
		if(!compareDate(form.BBDate1y.value+'/'+form.BBDate1m.value+'/'+form.BBDate1d.value,new Date(),'>')){alert('寶寶的生日(1)不能超過今天的日期');form.BBDate1y.focus();return false;}
	}
	if(trim(form.BBDate2y.value) || trim(form.BBDate2m.value) || trim(form.BBDate2d.value)){
		if(!trim(form.BBDate2y.value)){alert('請輸入寶寶的生日(年)');form.BBDate2y.focus();return false;}
		if(!trim(form.BBDate2m.value)){alert('請輸入寶寶的生日(月)');form.BBDate2m.focus();return false;}
		if(!trim(form.BBDate2d.value)){alert('請輸入寶寶的生日(日)');form.BBDate2d.focus();return false;}
		if(!checkDate(form.BBDate2y.value,form.BBDate2m.value,form.BBDate2d.value)){alert('．不正確的日期');form.BBDate2y.focus();return false;}
		if(!compareDate(form.BBDate2y.value+'/'+form.BBDate2m.value+'/'+form.BBDate2d.value,new Date(),'>')){alert('寶寶的生日(2)不能超過今天的日期');form.BBDate2y.focus();return false;}
	}
	if(trim(form.BBDate3y.value) || trim(form.BBDate3m.value) || trim(form.BBDate3d.value)){
		if(!trim(form.BBDate3y.value)){alert('請輸入寶寶的生日(年)');form.BBDate3y.focus();return false;}
		if(!trim(form.BBDate3m.value)){alert('請輸入寶寶的生日(月)');form.BBDate3m.focus();return false;}
		if(!trim(form.BBDate3d.value)){alert('請輸入寶寶的生日(日)');form.BBDate3d.focus();return false;}
		if(!checkDate(form.BBDate3y.value,form.BBDate3m.value,form.BBDate3d.value)){alert('不正確的日期');form.BBDate3y.focus();return false;}
		if(!compareDate(form.BBDate3y.value+'/'+form.BBDate3m.value+'/'+form.BBDate3d.value,new Date(),'>')){alert('寶寶的生日(3)不能超過今天的日期');form.BBDate3y.focus();return false;}
	}
	if(!trim(form.Code.value)){alert('請輸入驗證碼');form.Code.focus();return false;}
        form.btnSubmit.disabled = true;
        form.submit();
}
function trim(instr){
        return instr.replace(/^[\s]*/gi,'').replace(/[\s]*$/gi,'');
}
function getDate(obj){
	var argu = obj
	returnValue = window.showModalDialog('calendar.html',argu,'status:0;help:0;center:1;dialogHeight:169pt;dialogWidth:150pt;');
	if(returnValue){
        	obj.value = returnValue;
        }
}
function checkChineseName(name) { 
   	var hasChinese = false;
   	var n = name.length;
	if(n < 2){return false;}
  	for(var i=0;i<n;i++){
    		var str = encodeURI(name.charAt(i));
       		if(str.length != 9){
        		return false;
        	}else{
        		return true;
        	}
   	}
}
function checkDate(YYYY,MM,DD){
	var str = YYYY + '/' + MM + '/' + DD
	var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; 
	var r = str.match(reg);
	if(r==null)return false;
	
	var Y = r[1]
	var M = r[3].replace(/^[0]/,'')
	var D = r[4].replace(/^[0]/,'')
	str = Y + '/' + M + '/' + D
	
	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 compareDate(D1,D2,operator){
	var Date1 = new Date(D1);
	var Date2 = new Date(D2);

	if(operator == '>'){
		if (Date1 > Date2){return false;}
	}
	if(operator == '='){
		if (Date1 = Date2){return false;}
	}
	if(operator == '<'){
		if (Date1 < Date2){return false;}
	}
	return true;
}
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;
   	}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;
        } 
}