AngularJS extensive calendar directive