How to close the overlay after form submission
The callback should be: 

function fullcalendar_ajax_node_save_callback(&amp;$form, &amp;$form_state) {
  // Could check that the overlay is open? Part of core, so overkill
  if (module_exists('overlay') &amp;&amp; overlay_get_mode() == 'child') {
     $current_path = current_path();
     overlay_close_dialog($current_path, 
        array('query' =&gt; drupal_get_query_parameters(NULL, array('q', 'render'))));
    $form_state['redirect'] = FALSE;
  }
}


See overlay.module, about line 148 function overlay_init() for an example in core that uses as much drupal API as possible.