String.prototype.zerolead = function(param) {
    var result = '';
    var diff = param - this.length;
    for(var i = 0; i < diff; i++)
        result += '0';
    result += this;
    return result;
}

String.prototype.rtrim = function() {
return this.replace(/\n\r/,' ');
}

Number.prototype.zerolead = function(param) {
    return this.toString().zerolead(param);
}

Date.prototype.monthNames = new Array('Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec',
      'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień');
Date.prototype.dayNames = new Array ('Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek',
      'Sobota', 'Niedziela');
Date.prototype.format = function(p_format) {
    var d = this;
    return p_format.replace(/(yyyy|mmmm|mmm|mm|dddd|ddd|dd|hh|nn|ss|a\/p)/gi,
        function($1) {
            switch ($1.toLowerCase()) {
                case 'yyyy': return d.getFullYear();
                case 'mmmm': return d.monthNames[d.getMonth()];
                case 'mmm':  return d.monthNames[d.getMonth()].substr(0, 3);
                case 'mm':   return (d.getMonth() + 1).zerolead(2);
                case 'dddd': return d.dayNames[d.getDay()];
                case 'ddd':  return d.dayNames[d.getDay()].substr(0, 3);
                case 'dd':   return d.getDate().zerolead(2);
                case 'hh':   return ((h = d.getHours() % 12) ? h : 12).zerolead(2);
                case 'nn':   return d.getMinutes().zerolead(2);
                case 'ss':   return d.getSeconds().zerolead(2);
                case 'a/p':  return d.getHours() < 12 ? 'a' : 'p';
            }
        }
    );
}

