Date picker. Schedule page (WEB)

User can move through all days without using “Additional dates“ menu.
When user reaches the very firts or last date in the list, respective arrow should disappear.
When user picks not a current date, we should not rebuild list of days, putting selected date on the first place.
Date selector contains all dates except empty dates that are beyond event dates and allowed dates (both offline and online).
Selecting an additional date that is not displayed in the dates selector yet, should add selected date to the selector with auto focus on it.
All dates in dates selector are placed in chronological order.
Added through “Additional dates“ menu dates should disappear from the dates selector after page reload or when user leaves a schedule page, in case nothing was added to those dates.
When number of dates in the date selector is less than number that fits in one “page“, then no arrows needed and all dates displays on the one “page“.
By default, focus in the dates selector should be on the current date or on the nearest future date or on the last past date.
In the “Additional dates“ picker, dates with events/records should be highlited.