client side validation stuff
finished client-side validations need to clean up footer and some UX things