

var  US_PRIMARY_ID		= 1;
var  NONUS_PRIMARY_ID	= 2;
var  SECONDARY_ID		= 3;
var  PROOF_OF_ADDRESS	= 4;

var NUMBER_OF_DOCUMENTS = 52;
var dataArr = new Array(3);
dataArr[0] = new Array(NUMBER_OF_DOCUMENTS);	// points value
dataArr[1] = new Array(NUMBER_OF_DOCUMENTS);	// doc type
dataArr[2] = new Array(NUMBER_OF_DOCUMENTS);	// doc name

// note (1)
// the following is requird for the ChkCondXXXX functinos to work:
// indices 0 - 9	Primary ID for US Citizens
// indices 1 - 33	Secondary ID for US Citizens
// indices 34 - 41	Proof of address
// indices 42 - 51	Primary ID for Non US Citizens

dataArr[0][0] = 4	;dataArr[1][0] = US_PRIMARY_ID;	dataArr[2][0] = "Civil birth certificate";
dataArr[0][1] = 4	;dataArr[1][1] = US_PRIMARY_ID;	dataArr[2][1] = "US passport";
dataArr[0][2] = 4	;dataArr[1][2] = US_PRIMARY_ID;	dataArr[2][2] = "Current NJ Digital Driver License";
dataArr[0][3] = 4	;dataArr[1][3] = US_PRIMARY_ID;	dataArr[2][3] = "Current Non-Driver Digital ID Card";
dataArr[0][4] = 4	;dataArr[1][4] = US_PRIMARY_ID;	dataArr[2][4] = "Current NJ digital boat license";
dataArr[0][5] = 4	;dataArr[1][5] = US_PRIMARY_ID;	dataArr[2][5] = "Valid US military photo ID card";
dataArr[0][6] = 4	;dataArr[1][6] = US_PRIMARY_ID;	dataArr[2][6] = "US Department of State birth certificate";
dataArr[0][7] = 4	;dataArr[1][7] = US_PRIMARY_ID;	dataArr[2][7] = "US adoption papers";
dataArr[0][8] = 4	;dataArr[1][8] = US_PRIMARY_ID;	dataArr[2][8] = "Certificate of naturalization";
dataArr[0][9] = 4	;dataArr[1][9] = US_PRIMARY_ID;	dataArr[2][9] = "Certificate of citizenship";

dataArr[0][10] = 3  ;dataArr[1][10] = SECONDARY_ID;	dataArr[2][10] = "Civil marriage certificate";
dataArr[0][11] = 3	;dataArr[1][11] = SECONDARY_ID;	dataArr[2][11] = "Divorce decree";
dataArr[0][12] = 3	;dataArr[1][12] = SECONDARY_ID;	dataArr[2][12] = "Court order for a legal name change, signed by a judge or court clerk";
dataArr[0][13] = 3	;dataArr[1][13] = SECONDARY_ID;	dataArr[2][13] = "Current US military dependent card";
dataArr[0][14] = 3	;dataArr[1][14] = SECONDARY_ID;	dataArr[2][14] = "US military photo retiree card";
dataArr[0][15] = 3	;dataArr[1][15] = SECONDARY_ID;	dataArr[2][15] = "NJ firearm purchaser card";
dataArr[0][16] = 2	;dataArr[1][16] = SECONDARY_ID;	dataArr[2][16] = "US school photo ID card with transcript or school records";
dataArr[0][17] = 2	;dataArr[1][17] = SECONDARY_ID;	dataArr[2][17] = "US college photo ID card with transcript";
dataArr[0][18] = 2	;dataArr[1][18] = SECONDARY_ID;	dataArr[2][18] = "Valid federal, state or local government employee driver license";
dataArr[0][19] = 2	;dataArr[1][19] = SECONDARY_ID;	dataArr[2][19] = "Valid federal, state or local government employee photo ID card";
dataArr[0][20] = 2	;dataArr[1][20] = SECONDARY_ID;	dataArr[2][20] = "US military discharge papers";
dataArr[0][21] = 2	;dataArr[1][21] = SECONDARY_ID;	dataArr[2][21] = "FAA pilot license";
dataArr[0][22] = 1	;dataArr[1][22] = SECONDARY_ID;	dataArr[2][22] = "Current NJ PHOTO driver license";
dataArr[0][23] = 1	;dataArr[1][23] = SECONDARY_ID;	dataArr[2][23] = "Current PHOTO driver license from any other state or the District of Columbia";
dataArr[0][24] = 1	;dataArr[1][24] = SECONDARY_ID;	dataArr[2][24] = "Social Security card";
dataArr[0][25] = 1	;dataArr[1][25] = SECONDARY_ID;	dataArr[2][25] = "Bank statement or record";
dataArr[0][26] = 1	;dataArr[1][26] = SECONDARY_ID;	dataArr[2][26] = "ATM card with preprinted name and applicant’s signature";
dataArr[0][27] = 1	;dataArr[1][27] = SECONDARY_ID;	dataArr[2][27] = "Current health insurance card, prescription card or employee ID card with printed pay stub";
dataArr[0][28] = 1	;dataArr[1][28] = SECONDARY_ID;	dataArr[2][28] = "State professional license";
dataArr[0][29] = 1	;dataArr[1][29] = SECONDARY_ID;	dataArr[2][29] = "NJ public assistance card with photo";
dataArr[0][30] = 1	;dataArr[1][30] = SECONDARY_ID;	dataArr[2][30] = "High school diploma, GED or college diploma";
dataArr[0][31] = 1	;dataArr[1][31] = SECONDARY_ID;	dataArr[2][31] = "Property tax statement, bill or receipt issued by a New Jersey municipality";
dataArr[0][32] = 1	;dataArr[1][32] = SECONDARY_ID;	dataArr[2][32] = "For NJ high school students: a waiver certificate for the written portion of the driver’s test";
dataArr[0][33] = 1	;dataArr[1][33] = SECONDARY_ID;	dataArr[2][33] = "Veterans Affairs universal access photo ID card";

dataArr[0][34] = 0	;dataArr[1][34] = PROOF_OF_ADDRESS;	dataArr[2][34] = "Utility or credit card bill issued in the past 90 days";
dataArr[0][35] = 0	;dataArr[1][35] = PROOF_OF_ADDRESS;	dataArr[2][35] = "Checking or savings account statement from the past 60 days";
dataArr[0][36] = 0	;dataArr[1][36] = PROOF_OF_ADDRESS;	dataArr[2][36] = "High school or college report card/transcript from the past two years";
dataArr[0][37] = 0	;dataArr[1][37] = PROOF_OF_ADDRESS;	dataArr[2][37] = "Original lease/rental agreement";
dataArr[0][38] = 0	;dataArr[1][38] = PROOF_OF_ADDRESS;	dataArr[2][38] = "Property tax bill, statement or receipt from the past year";
dataArr[0][39] = 0	;dataArr[1][39] = PROOF_OF_ADDRESS;	dataArr[2][39] = "Mail received from the IRS or state tax office in the last year";
dataArr[0][40] = 0	;dataArr[1][40] = PROOF_OF_ADDRESS;	dataArr[2][40] = "First-class mail received from any government agency in the past six months";
dataArr[0][41] = 0	;dataArr[1][41] = PROOF_OF_ADDRESS;	dataArr[2][41] = "If you’re under 18 and don’t have proof of address, then we will accept a Parent or Guardian Certification that verifies you’re living with a parent or guardian";

dataArr[0][42] = 4	;dataArr[1][42] = NONUS_PRIMARY_ID;	dataArr[2][42] = "Foreign passport with INS or BCIS verification, and valid record of arrival/departure (Form I-94)";
dataArr[0][43] = 4	;dataArr[1][43] = NONUS_PRIMARY_ID;	dataArr[2][43] = "Foreign passport with INS or BCIS verification, and valid Form I-551 stamp";
dataArr[0][44] = 4	;dataArr[1][44] = NONUS_PRIMARY_ID;	dataArr[2][44] = "Current alien registration card ";
dataArr[0][45] = 4	;dataArr[1][45] = NONUS_PRIMARY_ID;	dataArr[2][45] = "Refugee travel document";
dataArr[0][46] = 4	;dataArr[1][46] = NONUS_PRIMARY_ID;	dataArr[2][46] = "US re-entry permit ";
dataArr[0][47] = 4	;dataArr[1][47] = NONUS_PRIMARY_ID;	dataArr[2][47] = "Valid I-94 stamped “Refugee,” “Parolee,” “Asylee” or “Notice of Action” (Form I-797 approved petition) by INS or BCIS";
dataArr[0][48] = 4	;dataArr[1][48] = NONUS_PRIMARY_ID;	dataArr[2][48] = "Valid I-94 with attached photo stamped “Processed for I-551…” by INS or BCIS";
dataArr[0][49] = 3	;dataArr[1][49] = NONUS_PRIMARY_ID;	dataArr[2][49] = "Current photo employment authorization card";
dataArr[0][50] = 2	;dataArr[1][50] = NONUS_PRIMARY_ID;	dataArr[2][50] = "alien registration card";
dataArr[0][51] = 2	;dataArr[1][51] = NONUS_PRIMARY_ID;	dataArr[2][51] = "Photo temporary resident card";


function EvaluateForm()
{
	return ( ChkCondPriUSDoc() || ChkCondPriNONUSDoc() ) && 
			ChkCondSecDoc() && 
			ChkCondProofOAddress() && 
			CountPoints() >= 6 &&
			NumOfOnePointSecDoc() <= 2
			
}
// returns true if at least 1 primary US ID doc. is stored in cookie  
// see note (1) above
function ChkCondPriUSDoc()
{
	var str= getCookie("MyCookie");
	for (i= 0 ; i <= 9; i++)
	{
		if (str.charAt(i) == '1')
		{
			return true;
		}
	}
	return false;
}// returns true if at least 1 primary non US ID doc. is stored in cookie  
// see note (1) above
function ChkCondPriNONUSDoc()
{
	var str= getCookie("MyCookie");
	for (i= 42 ; i <= 51; i++)
	{
		if (str.charAt(i) == '1')
		{
			return true;
		}
	}
	return false;
}// returns true if at least 1 secondary ID doc. is stored in cookie  
// see note (1) above
function ChkCondSecDoc()
{
	var str= getCookie("MyCookie");
	for (i= 10 ; i <= 33; i++)
	{
		if (str.charAt(i) == '1')
		{
			return true;
		}
	}
	return false;
}



// returns true if at least 1 proof of address ID doc. is stored in cookie  
// see note (1) above
function ChkCondProofOAddress()
{
	var str= getCookie("MyCookie");
	for (i= 34 ; i <= 41; i++)
	{
		if (str.charAt(i) == '1')
		{
			return true;
		}
	}
	return false;
}


// returns the number of one point secondary US doc.  stored in cookie  
// see note (1) above
function NumOfOnePointSecDoc()
{
	var str= getCookie("MyCookie");
	var res=0;
	for (i= 22 ; i <= 33; i++)
	{
		if (str.charAt(i) == '1')
		{
			res+=1;
		}
	}
	return res;
}



// Sets cookie values. Expiration date is optional
function setCookie(name, value, expire) 
{   
	document.cookie = name + "=" + escape(value)   + ((expire == null) ? "" : ("; 	expires=" + expire.toGMTString()))
}


// returns a cookie value, given the name of the cookie:
function getCookie(Name) 
{   
	var search = Name + "="   
	if (document.cookie.length > 0) 
	{ // if there are any cookies      
		offset = document.cookie.indexOf(search)       
		if (offset != -1) 
		{ // if cookie exists          
			offset += search.length          // set index of beginning of value
			end = document.cookie.indexOf(";", offset)          // set index of end of cookie value         
			if (end == -1)             
				end = document.cookie.length         
			return unescape(document.cookie.substring(offset, end))      
		}
    }
}


// returns the number of '1's in the cookie string
function CountPoints()
{
	var str= getCookie("MyCookie");
	var res=0;
	for (i= 0 ; i < str.length; i++)
	{
		if (str.charAt(i) == '1')
		{
			res += dataArr[0][i];
		}
	}
	return res;
}



// sets the 'ind' char in the cookie to '1'
function CheckDoc(ind)
{
	var str= getCookie("MyCookie");
	var res = "";
	for (i=0;i<str.length;i++)
	{
		if (i==ind)
		{
			res=res+"1";
		}
		else
		{	
			res=res+str.charAt(i);
		}
	}
	setCookie("MyCookie",res);
}


// sets the 'ind' char in the cookie to '0'
function UnCheckDoc(ind)
{
	var str= getCookie("MyCookie");
	var res = "";
	for (var i=0;i<str.length;i++)
	{
		if (i==ind)
		{
			res=res+"0";
		}
		else
		{	
			res=res+str.charAt(i);
		}
	}

	setCookie("MyCookie",res);
}
