 
 // INPUT VALIDATION FUNCTIONS ------------------------------------------
 
-// isInvalidUsername
-//
-// @param: email - String
-// @return: True if email is not a valid email.
+/**
+    isInvalidEmail
+
+    @param: email - String
+    @return: True if email is not a valid email.
+*/
 func isInvalidEmail(email:String) -> Bool {
     let emailRegex = "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$"
     

    NSUserDefaults.standardUserDefaults().synchronize()
}

// removeUserSession
//
// Removes username and password from Keychain and sets session bool to False.
// Called within Logout button.
func removeUserSession() -> Void {
    // Remove Keychain data:
    MyKeychainWrapper.mySetObject("default", forKey: kSecValueData)

    return !emailTest.evaluateWithObject(email)
}

/**
    isInvalidUsername

    @param: username - String
    @return: True if username = empty, too long, or too short.
*/
func isInvalidUsername(username: String) -> Bool {
    return (username.isEmpty ||
        username.characters.count > USERNAME_CHAR_MAX ||
        username.characters.count < USERNAME_CHAR_MIN)
}

/**
    isInvalidPassword

    @param: password - String
    @return: True if password = empty, too long, or too short.
*/
func isInvalidPassword(password: String) -> Bool {
    return (password.isEmpty ||
        password.characters.count > PASSWORD_CHAR_MAX ||
