limit date ranges on change
refactor form + date inputs JS so it's in its own object

* simplify some methods
* better readability