﻿/*
'===========================================================================
'Name:			UserFormValidation.js
'Purpose:		Function(s) for validating User Forms. Moved from other JS files.
'Author:		Carlos Marquez
'Creation Date:	08/06/2008
'
'Change History:
'DATE		AUTHOR			REQUEST #	DESCRIPTION
'11/26/2008	Carlos Marquez	1335		Validate Zip for Forgot Challenge
'12/08/2008	Carlos Marquez	1346		Proper case Zip and Postal
'12/10/2008	Carlos Marquez	1344		Validate e-mail address for new users
'12/28/2008	Jacob Stuart	1344		Changed name of new account validation
'===========================================================================
*/

function validateLoginForm(objForm) {
	ValidateHaveErrors = false;
	ValidateNonBlank(objForm.txtUserName,'UserNameError');
	ValidateNonBlank(objForm.txtPassword,'PasswordError');
	
	if (ValidateHaveErrors) alert('You have entered invalid data in one or more fields.  Please review.');	  
	return (!ValidateHaveErrors);
}

function validateForgotForm(objForm) {
	ValidateHaveErrors = false;
	ShowTheErrorMessage('SponsorNumberForgotError', '', false);
	ShowTheErrorMessage('SponsorEmailError', '', false);
	ShowTheErrorMessage('UserNameForgotError', '', false);
	if (objForm.txtSponsorNumberForgot.value.indexOf('-') != -1) {
		objForm.txtSponsorNumberForgot.value = objForm.txtSponsorNumberForgot.value.substring(0, objForm.txtSponsorNumberForgot.value.indexOf('-'));
	}
	if (objForm.txtSponsorNumberForgot.value.length == 0 && objForm.txtUserNameForgot.value.length == 0) {
		ShowTheErrorMessage('UserNameForgotError', 'Sponsor number or<br />username is required.', true);
	}
	else if (objForm.txtSponsorNumberForgot.value.length > 0) {
	ValidateSponsorNumber(objForm.txtSponsorNumberForgot, 'SponsorNumberForgotError', true);
	}
	else if (objForm.txtUserNameForgot.value.length > 15) {
	ShowTheErrorMessage('UserNameForgotError', '15 Characters Max', true); 
	}
	ValidateAnEmailRequired(objForm.txtSponsorEmail, 'SponsorEmailError');
	if (ValidateHaveErrors) alert('Your form is incomplete.\nPlease review your information.');
	return (!ValidateHaveErrors);
}

function validateForgotChallenge(objForm) {
	ValidateHaveErrors = false;
	ValidateNonBlank(objForm.txtZip, 'ZipCodeError');
	if (ValidateHaveErrors) {
		alert('Please enter your zip/postal code.');
		objForm.txtZip.focus();
	}
	return (!ValidateHaveErrors);
}

function validateNewAccountForm(objForm) {
	ValidateHaveErrors = false;
	ShowTheErrorMessage('SponsorNumberOrEmailError', '', false);
	ShowTheErrorMessage('Password2Error', '', false);
	ShowTheErrorMessage('SponsorNumberError', '', false);
	ShowTheErrorMessage('SponsorEmailNewError', '', false);
	ShowTheErrorMessage('SameError', '', false);
	if (objForm.txtSponsorNumber.value.length == 0 && objForm.txtSponsorEmailNew.value.length == 0) {
		ShowTheErrorMessage('SponsorNumberOrEmailError', '&nbsp;&nbsp;&nbsp;* Sponsor number -OR- E-mail address is required.', true);
	}
	else if (objForm.txtSponsorNumber.value.length > 0) {
		ValidateSponsorNumber(objForm.txtSponsorNumber, 'SponsorNumberError', true);
	}
	else if (objForm.txtSponsorEmailNew.value.length > 0) {
		ValidateAnEmailRequired(objForm.txtSponsorEmailNew, 'SponsorEmailNewError', true);
	}
	ValidateNonBlank(objForm.txtUserNameNew,'UserNameNewError');
	ValidateNonBlank(objForm.txtZipCode, 'ZipCodeError');
	
	if (objForm.txtUserNameNew.value.length > 15) ShowTheErrorMessage('UserNameNewError', '15 Characters Max', true);
	ValidateNonBlank(objForm.txtPassword1,'Password1Error');
	if (objForm.txtPassword1.value.length > 15) ShowTheErrorMessage('Password1Error', '15 Characters Max', true);
	if (objForm.txtPassword1.value != objForm.txtPassword2.value) ShowTheErrorMessage('Password2Error', 'Passwords don\'t match', true);
	if (objForm.txtUserNameNew.value == objForm.txtPassword1.value)  ShowTheErrorMessage('SameError', '&nbsp;&nbsp;&nbsp;* Username and password may not be the same!', true);
	if (ValidateHaveErrors) alert('You have entered invalid data in one or more fields.  Please review.');
	return (!ValidateHaveErrors);
}
