function(all) {
      var lastResponded;
      return this.toLowerCase().replace(all ? /[\s\S]/g : /^\S/, function(lower) {
        var upper = lower.toUpperCase(), result;
        result = lastResponded ? lower : upper;
        lastResponded = upper !== lower;
        return result;
      });
    }
function(all) {
      var lastResponded;
      return this.toLowerCase().replace(all ? /[\s\S]/g : /^\S/, function(lower) {
        var upper = lower.toUpperCase(), result;
        result = lastResponded ? lower : upper;
        lastResponded = upper !== lower;
        return result;
      });
    }
function ( all ) { var lastResponded ; return this . toLowerCase ( ) . replace ( all ? / [\s\S] / g : / ^\S / , function ( lower ) { var upper = lower . toUpperCase ( ) , result ; result = lastResponded ? lower : upper ; lastResponded = upper !== lower ; return result ; } ) ; }
*
@method capitalize([all] = false)
@returns String
@short Capitalizes the first character in the string.
@extra If [all] is true, all words in the string will be capitalized.
@example

'hello'.capitalize()           -> 'Hello'
'hello kitty'.capitalize()     -> 'Hello kitty'
'hello kitty'.capitalize(true) -> 'Hello Kitty'


*
* @method capitalize ( [ all ] = false ) @returns String @short Capitalizes the first character in the string . @extra If [ all ] is true all words in the string will be capitalized . @example