Stop inventing the wheel, use angular-ui-calendar