﻿function check_nric(val){
	var isValid=true;
	var nric_temp = val;
	nric_temp = nric_temp.toUpperCase();
	var nric_alp = new Array(10)
	nric_alp[0] = "A";
	nric_alp[1] = "B";
	nric_alp[2] = "C";
	nric_alp[3] = "D";
	nric_alp[4] = "E";
	nric_alp[5] = "F";
	nric_alp[6] = "G";
	nric_alp[7] = "H";
	nric_alp[8] = "I";
	nric_alp[9] = "Z";
	nric_alp[10] = "J";

	var fin_alp = new Array(10)
	fin_alp[0] = "K";
	fin_alp[1] = "L";
	fin_alp[2] = "M";
	fin_alp[3] = "N";
	fin_alp[4] = "P";
	fin_alp[5] = "Q";
	fin_alp[6] = "R";
	fin_alp[7] = "T";
	fin_alp[8] = "U";
	fin_alp[9] = "W";
	fin_alp[10] = "X";

	var charat_0 = nric_temp.charAt(0);
	var charat_1  = parseInt(nric_temp.substring(1,2));
	var charat_2  = parseInt(nric_temp.substring(2,3));
	var charat_3  = parseInt(nric_temp.substring(3,4));
	var charat_4  = parseInt(nric_temp.substring(4,5));
	var charat_5  = parseInt(nric_temp.substring(5,6));
	var charat_6  = parseInt(nric_temp.substring(6,7));
	var charat_7  = parseInt(nric_temp.substring(7,8));
	var charat_8 = nric_temp.charAt(8);

	var charat_x = 0;
	charat_x += charat_1 * 2;
	charat_x += charat_2 * 7;
	charat_x += charat_3 * 6;
	charat_x += charat_4 * 5;
	charat_x += charat_5 * 4;
	charat_x += charat_6 * 3;
	charat_x += charat_7 * 2;

	if (charat_0 == 'T' || charat_0 == 'G') charat_x += 4;
	charat_x %= 11;
	charat_x = 11 - charat_x;

	if (charat_0 == 'S' || charat_0 == 'T') 
	{
		if (charat_8 != nric_alp[charat_x-1]) 
		{
			// NRIC/Passport No. invalid.");
			//return (false);
			isValid= false;
		}			
	}		
	else 
	{
		if (charat_8 != fin_alp[charat_x-1]) 
		{
			//FIN No. invalid.
			//return (false);
			isValid=false;
		}
	}
	return isValid;
}