//表單驗証
var formValidate = {
    /**
     * 檢查是否為空字串
     * @param obj
     * @param title
     * @return true:非空字串 false:空字串
     */
    checkEmpty: function(obj, title) {
        if (obj.value == "") {
            alert("請輸入 "+title);
            obj.focus();
            return false;
        } else {
            return true;
        }
    },
    
    /**
     * 檢查 Email 格式
     * @param obj
     * @param title
     * @return true:格式正確 false:格式錯誤
     */
    checkEmail: function(obj, title) {
        var regularExpression = /^[^\s]+@[^\s]+\.[^\s]{2,3}$/;
        if (!regularExpression.test(obj.value)) {
            alert(title+" 格式錯誤 ");
            obj.focus();
            return false;
        } else {
            return true;
        }
    },
    
    /**
     * 檢查是否數字
     * @param obj
     * @param title
     * @return true:為數字 false:不為數字
     */
    checkIsNumber: function(obj, title) {
        if (isNaN(obj.value)) {
            alert(title+" 只能輸入數字 ");
            obj.focus();
            return false;
        } else {
            return true;
        }
    },
    
    /**
     * 檢查字串長度
     * 利用 getbyteStringLen() 可以中文字算成 3
     * @param obj
     * @param title
     * @param limit 限制長度
     * @return true:長度合法 false:長度超過限制
     */
    checkLength: function(obj, title, limit) {
        var strLen = getbyteStringLen(obj.value);
        if (strLen > limit) {
            alert(title+" 長度超過限制!!");
            obj.focus();
            return false;
        } else {
            return true;
        }
    },
	
	checkID: function (obj, title){
		  // 依照字母的編號排列，存入陣列備
		  var id = obj.value;
		  tab = "ABCDEFGHJKLMNPQRSTUVXYWZIO"                     
		  A1 = new Array (1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3 );
		  A2 = new Array (0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5 );
		  Mx = new Array (9,8,7,6,5,4,3,2,1,1);
		
		  if ( id.length != 10 ) {
			alert(title+" 輸入長度有誤!!");
		  	return false;
		  }
		  i = tab.indexOf( id.charAt(0) );
		  if ( i == -1 ) {alert(title+" 輸入有誤!!"); return false;}
		  sum = A1[i] + A2[i]*9;
		
		  for ( i=1; i<10; i++ ) {
			v = parseInt( id.charAt(i) );
			if ( isNaN(v) ) {alert(title+" 輸入有誤!!"); return false;}
			sum = sum + v * Mx[i];
		  }
		  if ( sum % 10 != 0 ) {alert(title+" 輸入有誤!!"); return false;}
		  return true;

		}
}

/**
 * 取得字串長度 (可區分中文字)
 * @param strVal 輸入字串
 */
function getbyteStringLen(strVal) {
    nLen = 0;
    for (i=0; i<strVal.length; i++) {
        if (strVal.charCodeAt (i) > 255)
            nLen+= 3;
        else
            nLen++;
    }
    return nLen;
}