whole_func_string: function() {
          var nativeDate = window.Date,
              p,
              statics = ['useStrict', 'formatCodeToRegex', 'parseFunctions', 'parseRegexes', 'formatFunctions', 'y2kYear', 'MILLI', 'SECOND', 'MINUTE', 'HOUR', 'DAY', 'MONTH', 'YEAR', 'defaults', 'dayNames', 'monthNames', 'monthNumbers', 'getShortMonthName', 'getShortDayName', 'getMonthNumber', 'formatCodes', 'isValid', 'parseDate', 'getFormatCode', 'createFormat', 'createParser', 'parseCodes'],
              proto = ['dateFormat', 'format', 'getTimezone', 'getGMTOffset', 'getDayOfYear', 'getWeekOfYear', 'isLeapYear', 'getFirstDayOfMonth', 'getLastDayOfMonth', 'getDaysInMonth', 'getSuffix', 'clone', 'isDST', 'clearTime', 'add', 'between'],
              sLen    = statics.length,
              pLen    = proto.length,
              stat, prot, s;
  
          //Append statics
          for (s = 0; s < sLen; s++) {
              stat = statics[s];
              nativeDate[stat] = utilDate[stat];
          }
  
          //Append to prototype
          for (p = 0; p < pLen; p++) {
              prot = proto[p];
              nativeDate.prototype[prot] = function() {
                  var args = Array.prototype.slice.call(arguments);
                  args.unshift(this);
                  return utilDate[prot].apply(utilDate, args);
              };
          }
      }
func_code_string: function() {
          var nativeDate = window.Date,
              p,
              statics = ['useStrict', 'formatCodeToRegex', 'parseFunctions', 'parseRegexes', 'formatFunctions', 'y2kYear', 'MILLI', 'SECOND', 'MINUTE', 'HOUR', 'DAY', 'MONTH', 'YEAR', 'defaults', 'dayNames', 'monthNames', 'monthNumbers', 'getShortMonthName', 'getShortDayName', 'getMonthNumber', 'formatCodes', 'isValid', 'parseDate', 'getFormatCode', 'createFormat', 'createParser', 'parseCodes'],
              proto = ['dateFormat', 'format', 'getTimezone', 'getGMTOffset', 'getDayOfYear', 'getWeekOfYear', 'isLeapYear', 'getFirstDayOfMonth', 'getLastDayOfMonth', 'getDaysInMonth', 'getSuffix', 'clone', 'isDST', 'clearTime', 'add', 'between'],
              sLen    = statics.length,
              pLen    = proto.length,
              stat, prot, s;
  
          //Append statics
          for (s = 0; s < sLen; s++) {
              stat = statics[s];
              nativeDate[stat] = utilDate[stat];
          }
  
          //Append to prototype
          for (p = 0; p < pLen; p++) {
              prot = proto[p];
              nativeDate.prototype[prot] = function() {
                  var args = Array.prototype.slice.call(arguments);
                  args.unshift(this);
                  return utilDate[prot].apply(utilDate, args);
              };
          }
      }
func_documentation_string: Maintains compatibility with old static and prototype window.Date methods.