// JavaScript Document
function cert_check(obj) {
        var acc = 0;
        d0 = obj.value.charAt(0);
        d1 = obj.value.charAt(1);
        d2 = obj.value.charAt(2);
        d3 = obj.value.charAt(3);
        d4 = obj.value.charAt(4);
        d5 = obj.value.charAt(5);
        d6 = obj.value.charAt(6);
        d7 = obj.value.charAt(7);
        d8 = obj.value.charAt(8);
        d9 = obj.value.charAt(9);
        if ((d0 == "A") || (d0 == "a")) { acc = 10; }
        else if ((d0 == "B") || (d0 == "b")) { acc = 11; }
        else if ((d0 == "C") || (d0 == "c")) { acc = 12; }
        else if ((d0 == "D") || (d0 == "d")) { acc = 13; }
        else if ((d0 == "E") || (d0 == "e")) { acc = 14; }
        else if ((d0 == "F") || (d0 == "f")) { acc = 15; }
        else if ((d0 == "G") || (d0 == "g")) { acc = 16; }
        else if ((d0 == "H") || (d0 == "h")) { acc = 17; }
        else if ((d0 == "J") || (d0 == "j")) { acc = 18; }
        else if ((d0 == "K") || (d0 == "k")) { acc = 19; }
        else if ((d0 == "L") || (d0 == "l")) { acc = 20; }
        else if ((d0 == "M") || (d0 == "m")) { acc = 21; }
        else if ((d0 == "N") || (d0 == "n")) { acc = 22; }
        else if ((d0 == "P") || (d0 == "p")) { acc = 23; }
        else if ((d0 == "Q") || (d0 == "q")) { acc = 24; }
        else if ((d0 == "R") || (d0 == "r")) { acc = 25; }
        else if ((d0 == "S") || (d0 == "s")) { acc = 26; }
        else if ((d0 == "T") || (d0 == "t")) { acc = 27; }
        else if ((d0 == "U") || (d0 == "u")) { acc = 28; }
        else if ((d0 == "V") || (d0 == "v")) { acc = 29; }
        else if ((d0 == "X") || (d0 == "x")) { acc = 30; }
        else if ((d0 == "Y") || (d0 == "y")) { acc = 31; }
		else if ((d0 == "W") || (d0 == "w")) { acc = 32; }
        else if ((d0 == "Z") || (d0 == "z")) { acc = 33; }
        else if ((d0 == "I") || (d0 == "i")) { acc = 34; }
        else if ((d0 == "O") || (d0 == "o")) { acc = 35; }
        if (acc == 0) {
                alert("請輸入『身份證號碼』的第一個英文字母！");
                return false;
        } else {
                accstr = new String(acc);
                acc_1 = (accstr).charAt(0);
                acc_2 = (accstr).charAt(1);
                certsum = 1*acc_1 + 9*acc_2 + 8*d1 + 7*d2 + 6*d3 + 5*d4 + 4*d5 + 3*d6 + 2*d7 + 1*d8;
                certsum_2 = parseInt(certsum%10);
				certsum_3 = 10 - certsum_2;
				if (certsum_2==0)
				{
					certsum_3 = certsum_2;
				}
                if (d9 != certsum_3) {
                        //alert("請檢查『身份證號碼』是否輸入錯誤！");
						alert(d9+"-"+certsum+"-"+certsum_2+"-"+certsum_3);
                        return false;
                }
        }
		
		return true;
}

function isChn(str){
      var reg = /^[u4E00-u9FA5]+$/;
      if(!reg.test(str)){
       return false;
      }
      return true;
}

function checkID(obj){
  idStr = obj.value;
  // 依照字母的編號排列，存入陣列備用。
  var letters = new Array('A', 'B', 'C', 'D',
      'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M',
      'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
      'X', 'Y', 'W', 'Z', 'I', 'O');
  // 儲存各個乘數
  var multiply = new Array(1, 9, 8, 7, 6, 5,
                           4, 3, 2, 1);
  var nums = new Array(2);
  var firstChar;
  var firstNum;
  var lastNum;
  var total = 0;
  // 撰寫「正規表達式」。第一個字為英文字母，
  // 第二個字為1或2，後面跟著8個數字，不分大小寫。
  var regExpID=/^[a-z](1|2)\d{8}$/i;
  // 使用「正規表達式」檢驗格式
  if (idStr.search(regExpID)==-1) {
    // 基本格式錯誤
	alert("請仔細填寫身份證號碼");
   return false;
  } else {
	// 取出第一個字元和最後一個數字。
	firstChar = idStr.charAt(0).toUpperCase();
	lastNum = idStr.charAt(9);
  }
  // 找出第一個字母對應的數字，並轉換成兩位數數字。
  for (var i=0; i<26; i++) {
	if (firstChar == letters[i]) {
	  firstNum = i + 10;
	  nums[0] = Math.floor(firstNum / 10);
	  nums[1] = firstNum - (nums[0] * 10);
	  break;
	}
  }
  // 執行加總計算
  for(var i=0; i<multiply.length; i++){
    if (i<2) {
      total += nums[i] * multiply[i];
    } else {
      total += parseInt(idStr.charAt(i-1)) *
               multiply[i];
    }
  }
  // 和最後一個數字比對
  if ((10 - (total % 10))!= lastNum) {
	alert("身份證號碼寫錯了！");
	return false;
  }
  return true;
}
