media/js/vendor/lodash/lodash.underscore.js
function defer(func) {
    if (!isFunction(func)) {
      throw new TypeError;
    }
    var args = slice(arguments, 1);
    return setTimeout(function() { func.apply(undefined, args); }, 1);
  }
function defer(func) {
    if (!isFunction(func)) {
      throw new TypeError;
    }
    var args = slice(arguments, 1);
    return setTimeout(function() { func.apply(undefined, args); }, 1);
  }
function defer ( func ) { if ( ! isFunction ( func ) ) { throw new TypeError ; } var args = slice ( arguments , 1 ) ; return setTimeout ( function ( ) { func . apply ( undefined , args ) ; } , 1 ) ; }
Defers executing the `func` function until the current call stack has cleared.
Additional arguments will be provided to `func` when it is invoked.

@static
@memberOf _
@category Functions
@param {Function} func The function to defer.
@param {...*} [arg] Arguments to invoke the function with.
@returns {number} Returns the timer id.
@example

_.defer(function(text) { console.log(text); }, 'deferred');
// logs 'deferred' after one or more milliseconds
Defers executing the func function until the current call stack has cleared . Additional arguments will be provided to func when it is invoked .