private void scrollingTimer_Tick(object sender, EventArgs e)
        {
            if (this.shouldScroll)
            {
                int offset = 0;
                if (this.scrollUp)
                {
                    FastNavigationItem item = this.hostedControl.Items[0] as FastNavigationItem;
                    if (item.View.ViewStartDate <= this.Calendar.RangeMinDate)
                    {
                        return;
                    }
                    viewIndex--;
                    offset = 1;
                }
                else
                {
                    FastNavigationItem item = this.hostedControl.Items[this.hostedControl.Items.Count - 1] as FastNavigationItem;
                    if (item.View.ViewEndDate >= this.Calendar.RangeMaxDate)
                    {
                        return;
                    }
                    viewIndex++;
                    offset = -1;
                }

                int a = Calendar.RangeMaxDate.Month + (Calendar.RangeMaxDate.Year * 12);
                int b = Calendar.RangeMinDate.Month + (Calendar.RangeMinDate.Year * 12);
                if ((a - b) > hostedControl.Items.Count)
                {
                    CalendarView maxView = (this.hostedControl.Items[this.hostedControl.Items.Count - 1] as FastNavigationItem).View;
                    maxView = maxView.GetNextView(-offset);

                    int maxViewMonth = maxView.ViewStartDate.Month;
                    int maxViewYear  = maxView.ViewStartDate.Year;

                    CalendarView minView = (this.hostedControl.Items[0] as FastNavigationItem).View;
                    minView = minView.GetNextView(-offset);

                    int minViewMonth = minView.ViewStartDate.Month;
                    int minViewYear  = minView.ViewStartDate.Year;

                    InitializeNavItems(viewIndex);

                    if ((maxViewMonth >= this.Calendar.RangeMaxDate.Month && maxViewYear >= this.Calendar.RangeMaxDate.Year) ||
                        (minViewMonth <= this.Calendar.RangeMinDate.Month && minViewYear <= this.Calendar.RangeMinDate.Year))
                    {
                        viewIndex += offset;
                    }
                }

                this.scrollingTimer.Interval = 2500 / (Math.Abs(offsetPoint.Y) + 1);
            }
        }