String.extend({
  pad: function(len/*=2*/, c/*='0'*/, dir/*=1*/) {
    var out = this;
    if(!c) {
      c = '0';
    }
    if(!dir) {
      dir = 1;
    }
    while(out.length < len) {
      if(dir > 0) {
        out = c + out;
      } else {
        out += c;
      }
    }
    return out;
  },

  padLeft: function(len, c) {
    return this.pad(len, c, 1);
  },

  padRight: function(len, c) {
    return this.pad(len, c, -1);
  }
});