// 檢查E-Mail格式
function emailChk(mail) {
	chkStr = mail;
	var Pat = /^(\w*)@(\w*).(\w*)/;
	var chk = chkStr.match(Pat);
	if (chk == null) {
		alert("您輸入的E-MAIL位址有問題");
		return false;
	}
	return true;
}

// 檢查E-Mail格式，若發現錯誤不會 alert 錯誤訊息
function emailChkNA(mail) {
	chkStr = mail;
	var Pat = /^(\w*)@(\w*).(\w*)/;
	var chk = chkStr.match(Pat);
	if (chk == null) {
		return false;
	}
	return true;
}

// 檢查url格式
function urlChk(url) {
	chkStr = url;
	var Pat1 = /^http:\/\/(\w*).(\w*)/;
	var chk1 = chkStr.match(Pat1);
	var Pat2 = /^https:\/\/(\w*).(\w*)/;
	var chk2 = chkStr.match(Pat2);
	if (chk1 == null && chk2 == null) {
		alert("您輸入的URL有問題");
		return false;
	}
	return true;
}

// 檢查url格式，若發現錯誤不會 alert 錯誤訊息
function urlChkNA(url) {
	chkStr = url;
	var Pat1 = /^http:\/\/(\w*).(\w*)/;
	var chk1 = chkStr.match(Pat1);
	var Pat2 = /^https:\/\/(\w*).(\w*)/;
	var chk2 = chkStr.match(Pat2);
	if (chk1 == null && chk2 == null) {
		return false;
	}
	return true;
}

// 檢查是否為數值
function numberChk(nm) {
	var re1 = /^\d+.\d+$/;
	var re2 = /^\d+$/;
	if (!re1.test(nm) && !re2.test(nm)) {
		alert("請輸入數值");
		return false;
	}
	return true;
}

// 檢查是否為數值，若發現錯誤不會 alert 錯誤訊息
function numberChkNA(nm) {
	var re1 = /^\d+.\d+$/;
	var re2 = /^\d+$/;
	if (!re1.test(nm) && !re2.test(nm)) {
		return false;
	}
	return true;
}

//判斷是否為英文(半形),此function會過濾全形字元(中文)
function engChk(ch) {
	if (escape(ch).indexOf("%u") > -1) {
	  alert("請輸入英文");
    return false;
	}
	return true;
}

//判斷是否為英文
function engCharChk(ch) {
	var re = /^[A-Za-z]+$/;
	if (!re.test(ch)) {
	  alert("請輸入英文");
    return false;
	}
	return true;
}

//判斷是否為英文，若發現錯誤不會 alert 錯誤訊息
function engCharChkNA(ch) {
	var re = /^[A-Za-z]+$/;
	if (!re.test(ch)) {
    return false;
	}
	return true;
}

// 檢查是否為英數字
function engNumberChk(num) {
	var re = /^[A-Za-z0-9]+$/;
	if (!re.test(num)) {
		alert("請輸入英數字");
		return false;
	}
	return true;
}

// 檢查是否為英數字，若發現錯誤不會 alert 錯誤訊息
function engNumberChkNA(num) {
	var re = /^[A-Za-z0-9]+$/;
	if (!re.test(num)) {
		return false;
	}
	return true;
}

// 檢查是否為正整數(不含0)，代入的參數是值非物件
function positiveChk(num) {
	var re1 = /^\d+$/;
	var re2 = /[1-9]+/;
	if (!re1.test(num) || !re2.test(num)) {
		alert('請輸入正整數!');
		return false;
	}
	return true;
}

// 檢查是否為正整數(不含0)，代入的參數是值非物件，若發現錯誤不會 alert 錯誤訊息
function positiveChkNA(num) {
	var re1 = /^\d+$/;
	var re2 = /[1-9]+/;
	if (!re1.test(num) || !re2.test(num)) {
		return false;
	}
	return true;
}

// 檢查是否為正整數(含0)，代入的參數是值非物件
function intChk(num) {
	var re = /^\d+$/;
	if (!re.test(num)) {
		alert('請輸入正整數!');
		return false;
	}
	return true;
}

// 檢查是否為正整數(含0)，代入的參數是值非物件，若發現錯誤不會 alert 錯誤訊息
function intChkNA(num) {
	var re = /^\d+$/;
	if (!re.test(num)) {
		return false;
	}
	return true;
}

// 檢查是否為正整數(含0)
function integerChk(obj) {
	var re = /^\d+$/;
	if (!re.test(obj.value)) {
		alert(obj.value + ' 不是正整數!');
		obj.select();
		return false;
	}
	return true;
}

// 檢查是否為正整數(含0)，若發現錯誤不會 alert 錯誤訊息
function integerChkNA(obj) {
	var re = /^\d+$/;
	if (!re.test(obj.value)) {
		return false;
	}
	return true;
}


//checkbox全選
function checkAll(theField) {
  if (theField != null) {
    if (theField.length != null) {
      for (var i = 0; i < theField.length; i++) {
        theField[i].checked = true;
      }
    }
    else {
      theField.checked = true;
    }
  }
}

//checkbox全不選
function unCheckAll(theField) {
  if (theField != null) {
    if (theField.length != null) {
      for (var i = 0; i < theField.length; i++) {
        theField[i].checked = false;
      }
    }
    else {
      theField.checked = false;
    }
  }
}

// 身分證字號檢查(開始)
	var local=new Array(34)
	local[10]='A';local[11]='B';local[12]='C';local[13]='D';local[14]='E';local[15]='F';local[16]='G';
	local[17]='H';local[18]='J';local[19]='K';local[20]='L';local[21]='M';local[22]='N';local[23]='P';
	local[24]='Q';local[25]='R';local[26]='S';local[27]='T';local[28]='U';local[29]='V';local[32]='W';
	local[30]='X';local[31]='Y';local[33]='Z';

function IDChk(id) {
	id=id.toUpperCase()
	if(lengtherr(id)) {
		alert('您輸入的身分證字號長度有誤！')
		return false
	} else if(firstlettererr(id)) {
		alert('身分證字號第一碼查無此英文字母:'+id.substring(0,1))
		return false
	} else if(numerr(id)) {
		alert('輸入的身分證字號後九碼應為數字！')
		return false
	} else if(checkerr(id)) {
		alert('您輸入的身分證字號檢查碼有誤！')
		return false
	} else {
		return true
	}
}
function lengtherr(id){
	if(id.length<10)
    	return 1
    else
        return 0
}
function firstlettererr(id){
	var fl=id.substring(0,1)
	var haserr=1
	for(i=10;i<=33;i++){
		if(local[i]!=fl)
		        continue
		else{
		        haserr=0
		        break
		}
	}
	if(haserr==1)
        return 1
	else
        return 0
}
function numerr(id){
	var haserr=0
	for(i=1;i<=9;i++){
	        if(parseInt(id.substring(i,i+1))>0 || id.substring(i,i+1)=='0')
	                continue
	        else{
	                haserr=1
	        break}
	}
	if(haserr==1)
	        return 1
	else
	        return 0
}
function checkerr(id){
	var se=new Array(10)
	var we=0
	var checkcode=0
	for(i=10;i<=33;i++){
	        if(local[i]==id.substring(0,1)){
	        se[0]=parseInt((i+'0').substring(0,1))
	        se[1]=parseInt((i+'0').substring(1,2))
	        break
	        }
	}
	for(i=1;i<=9;i++){
	        se[i+1]=parseInt(id.substring(i,i+1))
	}
	for(i=0;i<=10;i++){
	        if(i==0)
	        we=we+se[i]
	        else
	        we=we+(se[i]*(10-i))
	}
	checkcode=((10-mod(we,10))+'0').substring(0,1)
	if(checkcode!=id.substring(9,10))
	        return 1
	else
	        return 0
}
function mod(a,b){
        var r
        r=Math.round(a/b)
        if((b*r)>a)
        r-=1
        return (a-(b*r))
}
// 身分證字號檢查結束

// 檢查密碼格式
function passChk(pass) {
	chkStr = pass;
	var Pat = /^(\w*)@(\w*)/;
	var Pat1 = /^(\w*) (\w*)/; 
	var chk = chkStr.match(Pat);
	var chk1 = chkStr.match(Pat1);
	if ((chk != null) || (chk1 != null)) {
		alert("您輸入的密碼有問題");
		return false;
	}
	return true;
}

// 哪些 GPN 被勾選
function selectGpn(obj) {
  var gpnString = "";
  if (obj != null) {
    if (obj.length != null) {
      var j = 0;
      for (var i = 0; i < obj.length; i++) {
        if (obj[i].checked == true) {
          if (j > 0) {
            gpnString += '&';
          }
          gpnString += 'gpn=' + obj[i].value;
          j++;
        }
      }
    } else {
      if (obj.checked == true) {
        gpnString += 'gpn=' + obj.value;
      }
    }
  }
  return gpnString;
}

// 哪些 SYSID 被勾選
function selectSysId(obj) {
  var sysIdString = "";
  if (obj != null) {
    if (obj.length != null) {
      var j = 0;
      for (var i = 0; i < obj.length; i++) {
        if (obj[i].checked == true) {
          if (j > 0) {
            sysIdString += '&';
          }
          sysIdString += 'sysId=' + obj[i].value;
          j++;
        }
      }
    } else {
      if (obj.checked == true) {
        sysIdString += 'sysId=' + obj.value;
      }
    }
  }
  return sysIdString;
}