function overlayFn(action) {
  var overlayEl;
  
  if (action === 'on') {
    // extract arguments
    var arg, options, childElement;
    
    // pull options and childElement from arguments
    for (var i=arguments.length - 1; i > 0; i--) {
      arg = arguments[i];

      if (jqLite.type(arg) === 'object') options = arg;
      if (arg instanceof Element && arg.nodeType === 1) childElement = arg;
    }

    // option defaults
    options = options || {};
    if (options.keyboard === undefined) options.keyboard = true;
    if (options.static === undefined) options.static = false;
    
    // execute method
    overlayEl = overlayOn(options, childElement);
    
  } else if (action === 'off') {
    overlayEl = overlayOff();

  } else {
    // raise error
    util.raiseError("Expecting 'on' or 'off'");
  }

  return overlayEl;
}
Turn overlay on/off.
@param {string} action - Turn overlay "on"/"off".
@param {object} [options]
@config {boolean} [keyboard] - If true, close when escape key is pressed.
@config {boolean} [static] - If false, close when backdrop is clicked.
@config {Function} [onclose] - Callback function to execute on close
@param {Element} [childElement] - Child element to add to overlay.