//******************************************************************************
//* Purpose:  Checks to see if the email given is valid.                                                                *
//* Inputs:   Email adress                                                                                                       *
//* Returns:  A boolen value for true or false                                                                            *
//******************************************************************************

function isEmail(str) {
	// are regular expressions supported?
	var supported = 0;
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported) 
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
}

//******************************************************************************
//* Purpose:  Validates that all the fields in the form are filled in before submitting data                  *
//* Page:   change_username.php                                                                                          *
//* Inputs:   New User Name, Old User Name, and current Password                                           *
//* Returns:  A boolen value for true or false for each field                                                         *
//******************************************************************************
function checkUsername() {
	with (document.username) {
		if (newusername.value=="") {
			alert("The field \"New Username\" is empty\nPlease fill it with your new username.");
			newusername.focus();
			return false;
		}
		if (newusername.value.length < 6) {
			alert("Your New Username is not at least 6 characters long.");
			newusername.focus();
			return false;
		}
		if (oldusername.value=="") {
			alert("The field \"Old Username\" is empty\nPlease fill it with your current username.");
			oldusername.focus();
			return false;
		}
		if (formpassword.value=="") {
			alert("The field \"Password\" is empty\nPlease fill it with your current password.");
			formpassword.focus();
			return false;
		}
	}
	return true;
}

//******************************************************************************
//* Purpose:  Validates that all the fields in the form are filled in before submitting data                  *
//*               Validates that the new password in each field match each other                              *
//* Page:   change_password.php                                                                                          *
//* Inputs:   Old User Name and current Password as well as two fields with the new password      *
//* Returns:  A boolen value for true or false for each field                                                         *
//******************************************************************************
function checkPassword() {
	with (document.password) {
		if (oldusername.value=="") {
			alert("The field \"Username\" is empty\nPlease fill it with your current username.");
			oldusername.focus();
			return false;
		}
		if (oldpassword.value=="") {
			alert("The field \"Current Password\" is empty\nPlease fill it with your current password.");
			oldpassword.focus();
			return false;
		}
		if (password1.value=="") {
			alert("The field \"New Password\" is empty\nPlease fill it with your new password.");
			password1.focus();
			return false;
		}
		if (password1.value.length < 6) {
			alert("Your New Password is not at least 6 characters long.");
			password1.focus();
			return false;
		}
		if (password2.value=="") {
			alert("Re-Verify your password.");
			password2.focus();
			return false;
		}
		if (password1.value!=password2.value) {
			alert("The new password and the re-verified password do not match\nPlease correct it.");
			password2.focus();
			return false;
		}
	}
	return true;
}

//******************************************************************************
//* Purpose:  Validates that all the fields in the form are filled in before submitting data                  *
//*               Validates that the new password in each field match each other                              *
//*               Makes sure that new users to the site change their username                                 *
//*               and password to something more unique                                                             *
//* Page:   newuser.php                                                                                                       *
//* Inputs:   Old User Name and current Password as well as two fields with the new password      *
//* Returns:  A boolen value for true or false for each field                                                         *
//******************************************************************************
function checkNewUser() {
	e_address = document.newuser.currentemail.value;
	with (document.newuser) {
		if (newusername.value=="") {
			alert("The field \"Username\" is empty\nPlease fill it with your new username.");
			newusername.select();
			return false;
		}
		if (currentemail.value=="") {
			alert("Your \"Email\" is empty\nPlease fill it.");
			currentemail.select();
			return false;
		}
		else	{
			if (!isEmail(e_address))	{
				alert("Your email address is not a valid address");
				currentemail.select();
				return false;
			}
		}
		if (password1.value=="") {
			alert("The field \"New Password\" is empty\nPlease fill it with your new password.");
			password1.select();
			return false;
		}
		if (password1.value.length < 6) {
			alert("Your New Password is not at least 6 characters long.");
			password1.select();
			return false;
		}
		if (password2.value=="") {
			alert("Re-Verify your password.");
			password2.select();
			return false;
		}
		if (password1.value!=password2.value) {
			alert("The new password and the re-verified password do not match\nPlease correct it.");
			password2.select();
			return false;
		}
	}
	return true;
}

//******************************************************************************
//* Purpose:  Validates that all the fields for requesting login access to the site                             *
//*               Validates the users email address to see if it is correctly formatted                           *
//* Page:   login_request.php                                                                                                *
//* Inputs:   Name, Animal Name, Email, Center, and Initiation                                                    *
//* Returns:  A boolen value for true or false for each field                                                         *
//******************************************************************************
function checkRequest() {
	e_address = document.request.email.value;
	with (document.request) {
		if (name.value=="") {
			alert("Your \"Name\" is empty\nPlease fill it.");
			name.focus();
			return false;
		}
		if (aname.value=="") {
			alert("Your \"Animal Name\" is empty\nPlease fill it.");
			aname.focus();
			return false;
		}
		if (email.value=="") {
			alert("Your \"Email\" is empty\nPlease fill it.");
			email.focus();
			return false;
		}
		else	{
			if (!isEmail(e_address))	{
				alert("Your email address is not a valid address");
				email.select();
				return false;
			}
		}
		if (community.value=="") {
			alert("Your \"Center\" field is empty\nPlease fill it.");
			community.focus();
			return false;
		}
		if (initiation.value=="") {
			alert("Your \"Initiation Date\" is empty\nPlease fill it.");
			initiation.focus();
			return false;
		}
	}
	return true;
}

//******************************************************************************
//* Purpose:  Validates that a name and email address is submitted with this form                          *
//*               Validates the users email address to see if it is correctly formatted                            *
//* Page:   contact_us.php                                                                                                    *
//* Inputs:   Name and Email                                                                                                  *
//* Returns:  A boolen value for true or false for each field                                                         *
//******************************************************************************
function checkQuestions() {
	e_address = document.questions.email.value;
	with (document.questions) {
		if (name.value=="") {
			alert("Your \"Name\" is empty\nPlease fill it.");
			name.focus();
			return false;
		}
		if (email.value=="") {
			alert("Your \"Email\" is empty\nPlease fill it.");
			email.focus();
			return false;
		}
		else	{
			if (!isEmail(e_address))	{
				alert("Your email address is not a valid address");
				email.select();
				return false;
			}
		}
	}
	return true;
}

//******************************************************************************
//* Purpose:  Validates name, phone and email address when trying to register for an NWTA          *
//*               Validates the users email address to see if it is correctly formatted                            *
//* Page:   nwta_register.php                                                                                                *
//* Inputs:   First Name, Last Name, Home Phone and Email                                                       *
//* Returns:  A boolen value for true or false for each field                                                         *
//******************************************************************************
function checkRegister() {
	e_address = document.register.pro_email.value;
	with (document.register) {
		if (pro_fname.value=="") {
			alert("Your 'First Name' is empty\nPlease fill it.");
			pro_fname.focus();
			return false;
		}
		if (pro_lname.value=="") {
			alert("Your 'Last Name' is empty\nPlease fill it.");
			pro_lname.focus();
			return false;
		}
		if (pro_email.value=="") {
			alert("Your 'Email' is empty\nPlease fill it.");
			pro_email.focus();
			return false;
		}
		else	{
			if (!isEmail(e_address))	{
				alert("Your email address is not a valid address");
				pro_email.select();
				return false;
			}
		}
		if (pro_hphone.value=="") {
			alert("Your 'Home Phone' is empty\nPlease fill it.");
			pro_hphone.focus();
			return false;
		}
		if (pro_street.value=="") {
			alert("Your 'Street Address' is empty\nPlease fill it.");
			pro_street.focus();
			return false;
		}
		if (pro_city.value=="") {
			alert("Your 'City' is empty\nPlease fill it.");
			pro_city.focus();
			return false;
		}
		if (pro_zip.value=="") {
			alert("Your 'Zip Code' is empty\nPlease fill it.");
			pro_zip.focus();
			return false;
		}
	}
	return true;
}

//******************************************************************************
//* Purpose:  Validates that the old field is actually filled out before submission                              *
//* Page:   igroup/regions_admin.php                                                                                     *
//* Inputs:   The name of the Region                                                                                     *
//* Returns:  A boolen value for true or false for each field                                                         *
//******************************************************************************
function checkRegion() {
	with (document.igroup_region) {
		if (igrpreg_name.value=="") {
			alert("The \"Region Name\" is empty\nPlease fill it.");
			igrpreg_name.focus();
			return false;
		}
	}
	return true;
}

//******************************************************************************
//* Purpose:  Validates that the old field is actually filled out before submission                              *
//* Page:   master/center_admin.php                                                                                     *
//* Inputs:   The name and Abbrevation of the Center                                                                                     *
//* Returns:  A boolen value for true or false for each field                                                         *
//******************************************************************************
function checkCenter() {
	with (document.centers) {
		if (center_name.value=="") {
			alert("The \"Center Name\" is empty\nPlease fill it.");
			center_name.focus();
			return false;
		}
		if (center_abbr.value=="") {
			alert("The \"Center Abbrevation\" is empty\nPlease fill it.");
			center_abbr.focus();
			return false;
		}
	}
	return true;
}

//******************************************************************************
//* Purpose:  Goes through all the values from the form and checks to see their                           *
//*               if there has been any value entered into the field                                                  *
//* Inputs:   Form values                                                                                                       *
//* Returns:  Alert message if nothing is entered                                                                      *
//******************************************************************************
function validate() {
	e_address = document.form.email.value;
    with (document.form) {
      if (b1.value <1) {
		alert("What is your name.");
        b1.focus();
        return false;
      }
      if (b7.value <1) {
		alert("What is your phone number.");
        b7.focus();
        return false;
      }
      if (email.value <1) {
		alert("What is your email address.");
        email.focus();
        return false;
      }
	  else	{
	  	if (!isEmail(e_address))	{
			alert("Your email address is not a valid address");
			email.select();
			return false;
		}
	  }
    }
    return true;
}

//******************************************************************************
//* Purpose:  Validates first name, last name, email address and city when editing the warrior profile *
//*               Validates the users email address to see if it is correctly formatted                            *
//* Page:   warrior_edit.php                                                                                                   *
//* Inputs:   First Name, Last Name, City and Email                                                                    *
//* Returns:  A boolen value for true or false for each field                                                         *
//******************************************************************************
function checkWarEdit() {
	e_address = document.edit_info.war_email.value;
	with (document.edit_info) {
		if (war_email.value=="") {
			alert("Your 'Email' is empty\nPlease fill it.");
			war_email.focus();
			return false;
		}
		else	{
			if (!isEmail(e_address))	{
				alert("Your email address is not a valid address");
				war_email.select();
				return false;
			}
		}
		if (war_fname.value=="") {
			alert("Your 'First Name' is empty\nPlease fill it.");
			war_fname.focus();
			return false;
		}
		if (war_lname.value=="") {
			alert("Your 'Last Name' is empty\nPlease fill it.");
			war_lname.focus();
			return false;
		}
		if (war_center.value=="0") {
			alert("Please choose a main community/center.");
			war_center.focus();
			return false;
		}		
	}
	return true;
}

function checkStaffApp3()
{
	var sNWTA = document.staff_app.app_weekend.value;
	
	if (1 == sNWTA || "" == sNWTA)
	{
		alert("Please choose the weekend you are applying to staff.");
		document.staff_app.app_weekend.focus();
		return false;
	}
	else
	{
		return true;
	}
}
