code: function _calculateIntervals() {
  
  		var oStartDate = this.getStartDate();
  		var oEndDate;
  		var iIntervals = this.getIntervals();
  		var sIntervalType = this.getIntervalType();
  
  		this._oUTCStartDate = _calculateStartDate.call(this, oStartDate);
  
  		switch (sIntervalType) {
  		case CalendarIntervalType.Hour:
  			oEndDate = new UniversalDate(this._oUTCStartDate.getTime());
  			oEndDate.setUTCHours(oEndDate.getUTCHours() + iIntervals);
  			this._iMinDelta = this._iHoursMinDelta;
  			break;
  
  		case CalendarIntervalType.Day:
  		case CalendarIntervalType.Week:
  		case CalendarIntervalType.OneMonth:
  			oEndDate = new UniversalDate(this._oUTCStartDate.getTime());
  			oEndDate.setUTCDate(oEndDate.getUTCDate() + iIntervals);
  			this._iMinDelta = this._iDaysMinDelta;
  			break;
  
  		case CalendarIntervalType.Month:
  			oEndDate = new UniversalDate(this._oUTCStartDate.getTime());
  			oEndDate.setUTCMonth(oEndDate.getUTCMonth() + iIntervals);
  			this._iMinDelta = this._iMonthsMinDelta;
  			break;
  
  		default:
  			throw new Error("Unknown IntervalType: " + sIntervalType + "; " + this);
  		}
  
  		oEndDate.setUTCMilliseconds(-1);
  		this._iRowSize = oEndDate.getTime() - this._oUTCStartDate.getTime();
  		this._iIntervalSize = Math.floor(this._iRowSize / iIntervals);
  		this._oUTCEndDate = oEndDate;
  
  	}
docs: /*
  If start date, IntervalType or interval number is changed the interval information must be calculated new
  The internal UTC Start date must be set to the begin of an interval
  The interval size and the row size must be calculated