/*	檢查身份證碼是否正確*/
function JB_isIdentityID(ID){
	var numberCount = 0;
	var otherChar;
	var firstChar;
	var trans;
	var sum;
	var checknum;
	if (ID.length !=10 ) return false;
	firstChar=ID.charAt(0).toUpperCase();
	switch(firstChar){
		case "A" :  trans = "10" ; break;
		case "B" :  trans = "11" ; break;
		case "C" :  trans = "12" ; break;
		case "D" :  trans = "13" ; break;
		case "E" :  trans = "14" ; break;
		case "F" :  trans = "15" ; break;
		case "G" :  trans = "16" ; break;
		case "H" :  trans = "17" ; break;
		case "J" :  trans = "18" ; break;
		case "K" :  trans = "19" ; break;
		case "L" :  trans = "20" ; break;
		case "M" :  trans = "21" ; break;
		case "N" :  trans = "22" ; break;
		case "P" :  trans = "23" ; break;
		case "Q" :  trans = "24" ; break;
		case "R" :  trans = "25" ; break;
		case "S" :  trans = "26" ; break;
		case "T" :  trans = "27" ; break;
		case "U" :  trans = "28" ; break;
		case "V" :  trans = "29" ; break;
		case "W" :  trans = "32" ; break;
		case "X" :  trans = "30" ; break;
		case "Y" :  trans = "31" ; break;
		case "Z" :  trans = "33" ; break;
		case "O" :  trans = "35" ; break;
		case "I" :  trans = "34" ; break;		
		default  :  return false ; break;
	}
	sum = eval(trans.charAt(0)) * 1 + eval(trans.charAt(1))* 9 ;
	for(var i = 1 ; i < 9 ; i++){
		otherChar = ID.charAt(i);
		if(JB_isNum(otherChar)) sum += eval(ID.charAt(i))*(9-i);
		else return false;
	}
	var remain = (sum % 10 + eval(ID.charAt(9))) % 10;
	return (remain==0);
}
/*check 統編*/
function JB_isInvoice(strInvoiceNbr){
	if (strInvoiceNbr.length != 8) return false;
	for (var i = 0;i < 8;i++){
		if (isNaN(parseInt(strInvoiceNbr.substring(i,i + 1)),10))
			return false;
	}

	var intMulti = new Array(1,2,1,2,1,2,4,1);
	var	intInvoice = new Array();
	var strResult = new Array();
	var intResult = 0;
	for (var i = 0;i < 8;i ++){
		intInvoice[i] = 0;
		strResult[i] = "0";
	}

	for (var i = 0;i < 8;i ++){
		intInvoice[i] = parseInt(strInvoiceNbr.substring(i,i + 1),10);
		intInvoice[i] *= intMulti[i];
		strResult[i] = intInvoice[i] + "";
		while(strResult[i].length >= 2){
			intInvoice[i] = parseInt(strResult[i].substring(0,1),10) + parseInt(strResult[i].substring(1,2),10);
			strResult[i] = intInvoice[i] + "";
		}
		intResult += intInvoice[i];
	}
	intResult %= 10;
	if (strInvoiceNbr.charAt(6) == "7"){
		if (intResult == 0 || intResult == 1)
			return true;
		else
			return false;
	}
	else{
		if (intResult == 0)
			return true;
		else
			return false;
	}
	return false;
}

