The functions you've made to check the validity of date ranges have many errors in them and are the causes of your two (stated) problems. They also add unnecessary clutter to your class, and seem to...