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.ID.value)){
        	ID = trim(form.ID.value).toUpperCase();
		if(!isValidIdno(ID)){alert("不正確的身份證字號");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;}
        form.submit();
}
function trim(instr){
        return instr.replace(/^[\s]*/gi,'').replace(/[\s]*$/gi,'');
}
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;
        } 
}
