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((19 * rand.next())+1);
}

var rand = new RandomNumberGenerator();