

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] = "Acta de nacimiento civil";
dataArr[0][1] = 4	;dataArr[1][1] = US_PRIMARY_ID;	dataArr[2][1] = "Pasaporte de los Estados Unidos";
dataArr[0][2] = 4	;dataArr[1][2] = US_PRIMARY_ID;	dataArr[2][2] = "Licencia válida digital para conducir expedida en NJ";
dataArr[0][3] = 4	;dataArr[1][3] = US_PRIMARY_ID;	dataArr[2][3] = "Tarjeta válida digital de identificación que no es de conducir";
dataArr[0][4] = 4	;dataArr[1][4] = US_PRIMARY_ID;	dataArr[2][4] = "Licencia válida digital para conducir barcos expedida en NJ";
dataArr[0][5] = 4	;dataArr[1][5] = US_PRIMARY_ID;	dataArr[2][5] = "Tarjeta de identificación válida con foto de Militar de Estados Unidos";
dataArr[0][6] = 4	;dataArr[1][6] = US_PRIMARY_ID;	dataArr[2][6] = "Acta de nacimiento del Departamento de Estado de los Estados Unidos";
dataArr[0][7] = 4	;dataArr[1][7] = US_PRIMARY_ID;	dataArr[2][7] = "Documentos de adopción de los Estados Unidos";
dataArr[0][8] = 4	;dataArr[1][8] = US_PRIMARY_ID;	dataArr[2][8] = "Certificado de naturalización";
dataArr[0][9] = 4	;dataArr[1][9] = US_PRIMARY_ID;	dataArr[2][9] = "Certificado de ciudadanía";

dataArr[0][10] = 3  ;dataArr[1][10] = SECONDARY_ID;	dataArr[2][10] = "Acta de matrimonio civil";
dataArr[0][11] = 3	;dataArr[1][11] = SECONDARY_ID;	dataArr[2][11] = "Decreto de divorcio";
dataArr[0][12] = 3	;dataArr[1][12] = SECONDARY_ID;	dataArr[2][12] = "Orden de la corte para un cambio de nombre legal, firmada por un juez u oficial de la corte";
dataArr[0][13] = 3	;dataArr[1][13] = SECONDARY_ID;	dataArr[2][13] = "Tarjeta válida de dependiente militar de Estados Unidos";
dataArr[0][14] = 3	;dataArr[1][14] = SECONDARY_ID;	dataArr[2][14] = "Tarjeta con foto de militar jubilado de Estados Unidos";
dataArr[0][15] = 3	;dataArr[1][15] = SECONDARY_ID;	dataArr[2][15] = "Tarjeta de comprador de armas de fuego de NJ";
dataArr[0][16] = 2	;dataArr[1][16] = SECONDARY_ID;	dataArr[2][16] = "Tarjeta de identificación escolar con foto de Estados Unidos con boleta de calificaciones o registro escolar";
dataArr[0][17] = 2	;dataArr[1][17] = SECONDARY_ID;	dataArr[2][17] = "Tarjeta de identificación con foto de una universidad de Estados Unidos con boleta de calificaciones";
dataArr[0][18] = 2	;dataArr[1][18] = SECONDARY_ID;	dataArr[2][18] = "Licencia válida para conducir de empleado de gobierno federal, estatal o local";
dataArr[0][19] = 2	;dataArr[1][19] = SECONDARY_ID;	dataArr[2][19] = "Tarjeta válida de identificación con foto de empleado de gobierno federal, estatal o local";
dataArr[0][20] = 2	;dataArr[1][20] = SECONDARY_ID;	dataArr[2][20] = "Papeles de baja militar de Estados Unidos";
dataArr[0][21] = 2	;dataArr[1][21] = SECONDARY_ID;	dataArr[2][21] = "Licencia de piloto FAA";
dataArr[0][22] = 1	;dataArr[1][22] = SECONDARY_ID;	dataArr[2][22] = "Licencia válida para conducir con foto de NJ";
dataArr[0][23] = 1	;dataArr[1][23] = SECONDARY_ID;	dataArr[2][23] = "Licencia válida para conducir con foto de cualquier otro estado o del Distrito de Columbia";
dataArr[0][24] = 1	;dataArr[1][24] = SECONDARY_ID;	dataArr[2][24] = "Tarjeta de Seguro Social";
dataArr[0][25] = 1	;dataArr[1][25] = SECONDARY_ID;	dataArr[2][25] = "Estado de cuenta o registro bancario";
dataArr[0][26] = 1	;dataArr[1][26] = SECONDARY_ID;	dataArr[2][26] = "Tarjeta de ATM con el nombre y la firma del solicitante preimpresos";
dataArr[0][27] = 1	;dataArr[1][27] = SECONDARY_ID;	dataArr[2][27] = "Tarjeta válida de seguro médico, tarjeta válida de recetas o tarjeta válida de identificación laboral con recibo de nómina";
dataArr[0][28] = 1	;dataArr[1][28] = SECONDARY_ID;	dataArr[2][28] = "Licencia profesional del estado";
dataArr[0][29] = 1	;dataArr[1][29] = SECONDARY_ID;	dataArr[2][29] = "Tarjeta con foto de asistencia pública de NJ";
dataArr[0][30] = 1	;dataArr[1][30] = SECONDARY_ID;	dataArr[2][30] = "Diploma de bachillerato, diploma de GED o de universidad";
dataArr[0][31] = 1	;dataArr[1][31] = SECONDARY_ID;	dataArr[2][31] = "Estado de cuenta del impuesto a la propiedad, cuenta o recibo expedidos por una municipalidad de Nueva Jersey";
dataArr[0][32] = 1	;dataArr[1][32] = SECONDARY_ID;	dataArr[2][32] = "Para los estudiantes de bachillerato de NJ: un certificado de dispensa de la porción por escrito del examen para conducir";
dataArr[0][33] = 1	;dataArr[1][33] = SECONDARY_ID;	dataArr[2][33] = "Tarjeta de identificación con foto de acceso universal de los Asuntos de Veteranos";

dataArr[0][34] = 0	;dataArr[1][34] = PROOF_OF_ADDRESS;	dataArr[2][34] = "Cuenta de servicios o de tarjeta de crédito expedida dentro de los últimos 90 días";
dataArr[0][35] = 0	;dataArr[1][35] = PROOF_OF_ADDRESS;	dataArr[2][35] = "Estado de cuenta de cheques o ahorros de los últimos 60 días";
dataArr[0][36] = 0	;dataArr[1][36] = PROOF_OF_ADDRESS;	dataArr[2][36] = "Boleta de calificaciones de bachillerato o universidad de los últimos dos años";
dataArr[0][37] = 0	;dataArr[1][37] = PROOF_OF_ADDRESS;	dataArr[2][37] = "Contrato original de arrendamiento/renta";
dataArr[0][38] = 0	;dataArr[1][38] = PROOF_OF_ADDRESS;	dataArr[2][38] = "Cuenta, estado o recibo de impuestos a la propiedad del año pasado";
dataArr[0][39] = 0	;dataArr[1][39] = PROOF_OF_ADDRESS;	dataArr[2][39] = "Correo recibido del IRS o de la oficina de impuestos del estado el año pasado";
dataArr[0][40] = 0	;dataArr[1][40] = PROOF_OF_ADDRESS;	dataArr[2][40] = "Correo de primera clase recibido de cualquier agencia de gobierno en los últimos seis meses";
dataArr[0][41] = 0	;dataArr[1][41] = PROOF_OF_ADDRESS;	dataArr[2][41] = "Si es menor de 18 años y no tiene un comprobante de domicilio, aceptaremos una Certificación del Padre o Tutor que verifica que usted está viviendo con un padre o tutor";

dataArr[0][42] = 4	;dataArr[1][42] = NONUS_PRIMARY_ID;	dataArr[2][42] = "Pasaporte extranjero con verificación INS o BCIS y registro válido de entrada o salida (Forma I-94)";
dataArr[0][43] = 4	;dataArr[1][43] = NONUS_PRIMARY_ID;	dataArr[2][43] = "Pasaporte extranjero con verificación INS o BCIS y con sellos válidos de Forma I-551";
dataArr[0][44] = 4	;dataArr[1][44] = NONUS_PRIMARY_ID;	dataArr[2][44] = "Tarjeta válida de registro de extranjero";
dataArr[0][45] = 4	;dataArr[1][45] = NONUS_PRIMARY_ID;	dataArr[2][45] = "Documento de viaje de refugiado";
dataArr[0][46] = 4	;dataArr[1][46] = NONUS_PRIMARY_ID;	dataArr[2][46] = "Permiso de re-entrada a los Estados Unidos";
dataArr[0][47] = 4	;dataArr[1][47] = NONUS_PRIMARY_ID;	dataArr[2][47] = "I-94 válida sellada de “Refugiado”, “Permiso Condicional”, “Asilo” o “Aviso de Acción” (Forma I-797 petición aprobada) por INS o BCIS";
dataArr[0][48] = 4	;dataArr[1][48] = NONUS_PRIMARY_ID;	dataArr[2][48] = "I-94 válida con una foto adjunta sellada “Procesado para I-551...” por INS o BCIS";
dataArr[0][49] = 3	;dataArr[1][49] = NONUS_PRIMARY_ID;	dataArr[2][49] = "Tarjeta válida con foto de autorización de empleo";
dataArr[0][50] = 2	;dataArr[1][50] = NONUS_PRIMARY_ID;	dataArr[2][50] = "tarjeta de registro de extranjero";
dataArr[0][51] = 2	;dataArr[1][51] = NONUS_PRIMARY_ID;	dataArr[2][51] = "Tarjeta de residente temporal con foto";


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);
}
