title: Full calendar updateEvent. Cannot read property 'clone' of undefined
body: <p>I'm using FullCalendar and trying to update an event with a modal. When I try to update the event, I'm getting the cannot read property 'clone' of undefined.</p>
  
  <p>I'm using the <code>clientEvents</code> method, as stated in their documentation</p>
  
  <blockquote>
    <p>event must be the original Event Object for an event, not merely a reconstructed object. The original Event Object can obtained by callbacks such as eventClick, or by the clientEvents method.</p>
  </blockquote>
  
  <p>to get my original event, however, when I submit I still get this error.</p>
  
  <p>Here's my code:</p>
  
  <pre><code>initializeFullCalendar: function () {
  
          var loc = $('#locationCodes').val();
  
          $('.autocomplete').keypress(function (key) {
  
              if (key.charCode == 32 &amp;&amp; $('.autocomplete').val().length &gt;= 1) { return true };
              //  if (key.charCode == 92 || key.charCode == 47 || key.charCode &lt; 65) return false;
          });
  
          $(document).tooltip({
              track: true,
              hide: { effect: "explode", duration: 300 }
          });
  
          $('#calendar').fullCalendar({
              header: {
                  left: 'prev,next today',
                  center: 'title',
                  right: 'month,basicWeek,basicDay'
              },
              selectable: true,
              selectHelper: true,
              dayclick: function(date){
  
              },
              select: function (date, start, end) {
                  if ($('#job').attr('class') === 'XXX') {
                      EMP.calendarPopup(date, start, end);
                  } 
              },
              eventSources: [
                  {
                      url: '/Home/getAllEvents/',
                      data: { Locations: loc },
                      type: 'POST'
                  }
  
              ],
              eventClick: function (event, element, date) {
  
  
                  EMP.editCalendarPopup(date, event);
  
  
  
              },
              height: 350,
              defaultView: 'basicWeek',
              editable: true,
              eventLimit: true, // allow "more" link when too many events
              eventRender: function (data, element) {
  
  
                  var start = moment(data.start._i).format('LT');
                  var end = moment(data.end._i).format('LT');               
              }
          });
      },
  
      editCalendarPopup: function (date, event) {
  
          $('.calendar-popup').addClass('active edit');
  
          var event_date = event.start._i.split("T")[0];
  
          var start = event.start._i.split("T")[1]
          var end = event.end._i.split("T")[1];
  
          start = EMP.convert12hr(start);
          end = EMP.convert12hr(end);
  
          var startTime = start.split(' ')[0];
          var startMod = start.split(' ')[1];
          var endTime = end.split(' ')[0];
          var endMod = end.split(' ')[1];
  
  
          $('#date').val(event_date);
  
          $('#calendar-event').val(event.title);
          $('#calendar-custodian').val(event.cust);
          $('#calendar-start').val(startTime);
          $('#startampm').val(startMod)
          $('#calendar-end').val(endTime);
          $('#endampm').val(endMod);
  
          $('#hiddenEvent').val(event.title);
          $('#hiddenCustodian').val(event.cust);
          $('#hiddenStart').val(event.start._i);
          $('#hiddenEnd').val(event.end._i);
          $('#hiddenId').val(event._id);
  
  
      },
  
      editCalendarAjax: function() {
  
          var event = $("#calendar").fullCalendar('clientEvents');
  
          var hiddenId = $('#hiddenId').val();
  
          event = $.grep(event, function(e){return e._id === hiddenId});
  
          event = event[0];
  
  
          var event_date = $('#date').val();
  
  
          var title = $('#calendar-event').val();
          var cust = $('#calendar-custodian').val();
  
          var start = $('#calendar-start option:selected').val();
          var end = $('#calendar-end option:selected').val();
          var startampm = $("#startampm option:selected").val();
          var endampm = $("#endampm option:selected").val();
          start = start + " " + startampm;
          end = end + " " + endampm;
  
          start = EMP.convert24hr(start);
          end = EMP.convert24hr(end);
  
          var locCode = $('.location').attr('id');
  
          var date_start = event_date + "T" + start;
          var date_end = event_date + "T" + end;
  
          if (title) {
              event = {
                  title: title,
                  start: date_start,
                  cust: cust,
                  end: date_end
              };
              $('#calendar').fullCalendar('updateEvent', event);
          }
  
          var origEvent = $('#hiddenEvent').val();
          var origCust = $('#hiddenCustodian').val();
          var origStart = $('#hiddenStart').val();
          var origEnd = $('#hiddenEnd').val();
  
          item = {};
  
          item["title"] = title;
          item["cust"] = cust;
          item["start"] = date_start;
          item["end"] = date_end;
          item["locCode"] = locCode;
          item["origEvent"] = origEvent;
          item["origCust"] = origCust;
          item["origStart"] = origStart;
          item["origEnd"] = origEnd;
  
  
          $.ajax({
              type: "POST",
              url: "/Home/updateCalendar",
              data: item,
              success: function () {
                  console.log('success!');
              },
              error: function (xhr, ajaxOptions, thrownError) {
                  window.alert("Please click here to refresh your session");
                  console.log('error')
  
              }
          });
  
  
          $('#calendar').fullCalendar('unselect');
  
          EMP.togglePopups();
  
  
      },
  </code></pre>