function NextRandomNumber() {
        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);
}

function RandomNumberGenerator() {
        var d = new Date();
        this.seed = 2345678901 +
                (d.getSeconds() * 0xFFFFFF) +
                (d.getMinutes() * 0xFFFF);
        this.A = 48271;
        this.M = 2147483647;
        this.Q = this.M / this.A;
        this.R = this.M % this.A;
        this.oneOverM = 1.0 / this.M;
        this.next = NextRandomNumber;
        return this;

}


function random() {
        return Math.round((3 * rand.next())+1);
}



var rand = new RandomNumberGenerator();


