var randomGenerator = {
    d: new Date(),
    seed: null,
    A: 48271,
    M: 2147483647,
    Q: null,
    R: null,
    oneOverM: null,
    
    generate: function(lnr, unr) {
        if (this.seed == null)
            this.seed = 2345678901 + (this.d.getSeconds() * 0xFFFFFF) + (this.d.getMinutes() * 0xFFFF);
        this.Q = this.M / this.A;
        this.R = this.M % this.A;
        this.oneOverM = 1.0 / this.M;
        return Math.floor((unr - lnr + 1) * this.next() + lnr);
    },
    
    next: function() {
        var hi = this.seed / this.Q;
        var lo = this.seed % this.Q;
        var test = this.A * lo - this.R * hi;
        if (test > 0)
            this.seed = test;
        else
            this.seed = test + this.M;
        return (this.seed * this.oneOverM);
    }
};

String.prototype.appendRandomNumber = function(length) {
    // Create a mew string from the old one, don't just create a copy
    var source = this.toString();
    for (var i = 1; i <= length; i++) {
        source += randomGenerator.generate(1, 9);
    }
    return source;
};

String.prototype.prependRandomNumber = function(length) {
    // Create a mew string from the old one, don't just create a copy
    var source = this.toString();
    for (var i = 1; i <= length; i++) {
        source = randomGenerator.generate(1, 9) + source;
    }
    return source;
};
