/*-----------------------------------------------------------------------
Created by: PP
Created date:19th July 2006
File description: Member Form
Special instructions-notes:Java script Validation
Tables used:None
Stored procedures:None
Triggers used:None
-----------------------------------------------------------------------*/

function Validate(theForm)
{
	var errMesg = "";
	var displayMesg = "";
	
	var loginName = theForm.username.value = theForm.username.value.toLowerCase();

	//Validate the login name
	if ( !isCharsInBag( loginName, "abcdefghijklmnopqrstuvwxyz0123456789.-_" ))
	{
		errMesg += "Login name has invalid characters.\n" ;
	}
	else if ( loginName.length < 3 )
	{
		errMesg += "Login name must be 3 or more characters.\n" ;
	}
	else
	{
		var count;
		for (count=0; count < loginName.length; count++)
		{
			if (loginName.charAt(count) == "_")
			{
				if (loginName.charAt(count+1) == "_")
				{
					errMesg += "Login name may not contain more than one consecutive underscore.\n";
				}
			}
		}
	}


	//Check for password
	if ( theForm.password.value.length < 6 || theForm.password.value.length > 12)
		{
		errMesg += "Password must be 6-12 characters.\n";
		}
	
	else if ( theForm.password.value != theForm.confirmpwd.value )
		{
		errMesg += "Your Password do not match. Please retype and try again.\n" ;
		}
			
 	var Q = ""; // this block determines lifespan of Q
	{
	
	if (isWhitespace(theForm.username.value))
		{
			Q += "  Username\n";
		}
	if (isWhitespace(theForm.password.value))
		{
			Q += "  Password\n";
		}	
	if (isWhitespace(theForm.confirmpwd.value))
		{
			Q += "  Retype Password\n";
		}	
		
	if (isWhitespace(theForm.fname.value))
		{
			Q += "  First Name\n";
		}
	else if(!isCharsInBag(theForm.fname.value, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' "))
		{
		errMesg += "First Name contains Invalid Characters\n";
		}
	if (isWhitespace(theForm.lname.value))
		{
			Q += "  Last Name\n";
		}
	else if(!isCharsInBag(theForm.lname.value, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' "))
		{
		errMesg += "Last Name contains Invalid Characters\n";
		}

	if (isWhitespace(theForm.email.value))
		{
			Q += "  Email Address\n";
		}	
		
		else if(echeck(theForm.email.value))
			{
			   errMesg += "Invalid Email Address\n";
			}	
		else if(!isCharsInBag( theForm.email.value, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@._-"))
			{
				errMesg += "Email Address contains Invalid Characters\n";
			}

	if (isWhitespace(theForm.phone.value))
		{
			Q += "  Telephone\n";
		}			
	else if(!isCharsInBag(theForm.phone.value, "0123456789- "))
		{
		errMesg += "Telephone Number contains Invalid Characters\n";
		}

	if(theForm.fax.value!="" && !isCharsInBag(theForm.fax.value, "0123456789- "))
		{
		errMesg += "Fax contains Invalid Characters\n";
		}	

	if (theForm.address.value=="")
		{
			Q += "  Address\n";
		}		
		
	if(theForm.address.value!="" && theForm.address.value.length>500)
		{
			errMesg += "Address should not be greater than 500 characters\n";
		}


	if (isWhitespace(theForm.city.value))
		{
			Q += "  City/ Town\n";
		}	
	if (isWhitespace(theForm.postcode.value))
		{
			Q += "  Post Code\n";
		}
	if (theForm.state.value=="")
		{
			Q += "  State/ County\n";
		}

	if (theForm.country.value=="" || theForm.country.value==0)
		{
			Q += "  Country\n";
		}		

if (theForm.chkterm)
{		
	if (theForm.chkterm.checked==false)	
		{
			Q += "  Terms and Conditions\n";
		}
}
			
	if ( Q.length > 0 )
		{
		displayMesg = "Please provide Valid values for\n" + Q ;
		}	
	}
 
	
	if (errMesg == "" && displayMesg == "")
	{
		return true;
	}
	else
	{
		if(displayMesg!="")
			{
				alert(displayMesg);
				return false;			
			}
			else
			{
				alert(errMesg);
				return false;
			}	
	}
}

