function NameValidationModule(Received_Name_To_Test)
{
/////////////////////
// BUILD 003 ////////
/////////////////////

//Different languages contain different characters, it is important to make provision for alternate Character Sets & so only disallowed characters are sought.
//The ' Character is not sought as the name O'Riley is valid.
//The & Character is not sought as it is acceptable to have two names ie. Jane & Joe Bloggs.
//The - Character is not sought as Double-Barrel Surnames are valid i.e. Smith-Brown.
//The . Character is not sought as the name Dr. Jones is valid.
//The \ Character is not sought as it is not possible to test for the \ Character as it is reserved.

//The 'BannedCharacters' Array contains the characters which are not allowed within a Name.
	BannedCharacters=new Array("`","1","2","3","4","5","6","7","8","9","0","=","¬","!",'"',"£","$","%","^","*","(",")","_","+","[","]","#","{","}","~",";",":","@",",","/","<",">","?","|")






//Set the variable 'Final_Return_Result'. If this becomes '0' at any time then the Name has failed a test and even if it passes all other tests, the overall result will be a fail.
	Final_Return_Result=1






//A Name must be at least 2 characters in length. The smallest possible Name is 'Xi' (or similar).
	if(Received_Name_To_Test.length<2)
	{
		Final_Return_Result=0
	}






//Here the whole of the Name is checked to see if it contains any invalid characters such as '£' or '$' etc. etc.
//This test is only performed if the Name has passed all previous tests. This is to prevent 'Dependency Errors' and to speed-up execution.
	if(Final_Return_Result!=0)
	{
		for(a=0;a<Received_Name_To_Test.length;a++)
		{
			for(b=0;b<BannedCharacters.length;b++)
			{
				if(Received_Name_To_Test.charAt(a)==BannedCharacters[b])
				{
					Final_Return_Result=0
				}
			}
		}
	}

return Final_Return_Result
}
