function IsCorrectNif(NifObj)
	{
	NifObj.value=NifObj.value.toUpperCase();
	if(!CheckNifSuffix(NifObj.value))
		{
		alert("DNI Incorrecto - Por favor vuelva a introducir el DNI."); //alert("Nif Is Incorrecto.");
		NifObj.value='';
		}
	}
	
function CheckNifSuffix(NifValue)
	{
	var Nif=trim(NifValue); //ASSIGN THE NIF VALUE IN A VARIABLE
	var NifLength=Nif.length; //GET THE LENGTH FOR THE NIF
	var NifPrefix=Nif.substr(0,1); //FIRST CHAR CAN BE ALPH NUMERIC
	var NifMiddle=Nif.substr(1,7); // GET NEXT 8 DIGITS NUMBERS
	var NifSuffix=Nif.substr(8,1); //LAST CHAR CAN BE ALPH NUMERIC
	
	var NifSuffixValues=new Array("T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E");
	
	var IsNumNifPrefix=IsNumeric(NifPrefix); //SAME CHECK FOR THE FIRST CHAR
	var IsNumNifMiddle=IsNumeric(NifMiddle); //CHECK WHETHER THE 8 DIGITS ARE NUMERIC OR NOT.

	if(NifLength < 9) //CHECK LENGTH. LENGTH SHOULD NOT BE LESS THAN 9.
		return false;
	else if(IsNumNifMiddle == false) //IF THE 8 DIGITS ARE NOT NUMERIC. THE FIELDS WILL BLANK
		return false;
		
	var NifToCalc;
	if(IsNumNifPrefix== false) //IF FIRST CHAR IS NOT NUMERIC.THEN WE TAKE THE STRING FROM 1st POSITION TO THE LAST
		NifToCalc=NifValue.substr(1,7);
	else //OTHERWISE THE STRING START FROM 0th POSITION.
		NifToCalc=NifValue.substr(0,8);

	var Reminder = Number(NifToCalc) % 23;
	if(NifSuffix==NifSuffixValues[Reminder])
		return true;
	else
		return false;
	}
