/*-----------------------------------------------------------------------------
Function:	validateRegistration
Purpose:	validate the registration data
Author:		Ben Lochner
Date:		04/19/05
Inputs:		objUserForm - text of form (document.formname)
Output:		success - true
			failure - alert window, false
*/
function validateRegistration(objUserForm) 
{
	//remove leading spaces, if any...
	leftTrim(objUserForm.Username);

	//make sure username is filled ..
	if (objUserForm.Username.value == "")
	{
		alert("Username must be filled.");
		objUserForm.Username.focus();
		return false;
	}
	else 
	{
		//Find Space
		locspace = objUserForm.Username.value.indexOf(' ');
		if (locspace >= 0)
		{
			//make sure there are no spaces within username
			alert("Username cannot contain spaces, please remove.");
			objUserForm.Username.focus();
			return false;
		}
		else
		{
			//make sure username is at min 8 alphanumerics
			if (objUserForm.Username.value.length < 8)
			{
				alert("Username must be at least 8 alphanumerics");
				objUserForm.Username.focus();
				return false;
			}
			else
			{
				//make sure password is at min 10 alphanumerics
				if (objUserForm.Password.value.length < 10)
				{
					alert("Password must be at least 10 alphanumerics");
					objUserForm.Password.focus();
					return false;
				}
				else
				{
					//Find Space
					emailspace = objUserForm.Email.value.indexOf(' ');
					if (emailspace >= 0)
					{
						//make sure there are no spaces within username
						alert("Email address cannot contain spaces, please remove.");
						objUserForm.Email.focus();
						return false;
					}
					else
					{
						//Find @
						emailat = objUserForm.Email.value.indexOf('@');
						if (emailat <= 0)
						{
							//make sure there are no spaces within username
							alert("Email address is invalid.");
							objUserForm.Email.focus();
							return false;
						}
						else
						{
							//Find . after @
							emailafter = objUserForm.Email.value.substring(emailat, objUserForm.Email.value.length);
							emaildot = emailafter.indexOf('.');
							if (emaildot <= 0)
							{
								//make sure there are no spaces within username
								alert("Email address is invalid.");
								objUserForm.Email.focus();
								return false;
							}
							else
							{
								//remove leading spaces, if any...
								leftTrim(objUserForm.Firstname);
					
								//Ensure Firstname isn't empty
								if (objUserForm.Firstname.value == "")
								{
									//make sure there are no spaces within username
									alert("Firstname entry is required.");
									objUserForm.Firstname.focus();
									return false;
								}
								else
								{
									//remove leading spaces, if any...
									leftTrim(objUserForm.Lastname);
					
									//Ensure Firstname isn't empty
									if (objUserForm.Lastname.value == "")
									{
										//make sure there are no spaces within username
										alert("Lastname entry is required.");
										objUserForm.Lastname.focus();
										return false;
									}
									else
									{
										//remove leading spaces, if any...
										leftTrim(objUserForm.Address1);
					
										//Ensure Firstname isn't empty
										if (objUserForm.Address1.value == "")
										{
											//make sure there are no spaces within username
											alert("Address line 1 entry is required.");
											objUserForm.Address1.focus();
											return false;
										}
										else
										{
											//remove leading spaces, if any...
											leftTrim(objUserForm.City);
					
											//Ensure Firstname isn't empty
											if (objUserForm.City.value == "")
											{
												//make sure there are no spaces within username
												alert("City entry is required.");
												objUserForm.City.focus();
												return false;
											}
											else
											{
												//remove leading spaces, if any...
												leftTrim(objUserForm.State);
						
												//Ensure Firstname isn't empty
												if (objUserForm.State.value == "")
												{
													//make sure there are no spaces within username
													alert("State entry is required.");
													objUserForm.State.focus();
													return false;
												}
												else
												{
													//remove leading spaces, if any...
													leftTrim(objUserForm.ZIP1);
						
													//Ensure Firstname isn't empty
													if (objUserForm.ZIP1.value == "")
													{
														//make sure there are no spaces within username
														alert("ZIP entry is required.");
														objUserForm.ZIP1.focus();
														return false;
													}
													else
													{
														if (objUserForm.TermOfUse.checked == true)
														{
															//remove leading spaces, if any...
															leftTrim(objUserForm.Address2);
															
															//remove leading spaces, if any...
															leftTrim(objUserForm.ZIP2);
															return true;
														}
														else
														{
														
															alert("Terms Of Use must be accepted for registration.");
															return false;
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}			
			}		
		}
	}
	alert('BOTTOM');
	return false;
}