code: function updateEvent(event) { // update an existing event
  		var i, len = cache.length, e,
  			defaultEventEnd = getView().defaultEventEnd, // getView???
  			startDelta = event.start - event._start,
  			endDelta = event.end ?
  				(event.end - (event._end || defaultEventEnd(event))) // event._end would be null if event.end
  				: 0;                                                      // was null and event was just resized
  		for (i=0; i<len; i++) {
  			e = cache[i];
  			if (e._id == event._id && e != event) {
  				e.start = new Date(+e.start + startDelta);
  				if (event.end) {
  					if (e.end) {
  						e.end = new Date(+e.end + endDelta);
  					}else{
  						e.end = new Date(+defaultEventEnd(e) + endDelta);
  					}
  				}else{
  					e.end = null;
  				}
  				e.title = event.title;
  				e.url = event.url;
  				e.allDay = event.allDay;
  				e.className = event.className;
  				e.editable = event.editable;
  				e.color = event.color;
  				e.backgroundColor = event.backgroundColor;
  				e.borderColor = event.borderColor;
  				e.textColor = event.textColor;
  				normalizeEvent(e);
  			}
  		}
  		normalizeEvent(event);
  		reportEvents(cache);
  	}
docs: /* Manipulation
  -----------------------------------------------------------------------------