/* *********************************************************
** RANDOM.JS - JS Random-Number Generation Library
** ===============================================
** This file contains functions to generate random integers
** based on an (optional) seed. Use it in good health and 
** please maintain this header!
**
** Author      Ver  Date    Comments
** ======      ===  ====    ========
** Rick Scott  1.0  7/1/99  Grand debut
**
** Copyright 1999, Rick Scott, all rights reserved.
********************************************************* */

// return a random integer from min to max (inclusive)
// based on optional seed argument (string)
function getRandomInt(min, max, seed)
  {
  if (min >= max)  // sorry: min must be less than max!
    return;
  var randomNum;
  if (seed == null || seed == "")  // no seed present
    randomNum = Math.random();
  else  // seed present
    randomNum = getSeededRandomNum(seed);
  randomNum = ((max + 1 - min) * randomNum) + min;
  return Math.floor(randomNum);
  }

// return a random float between 0.0 and 1.0 based on seed (string)
function getSeededRandomNum(seed)
  {
  var num = 0;
  var retval = 0;

  for (var i=0; i<seed.length; i++)  // convert seed string to num
    num += seed.charCodeAt(i);
  var modval = (new Date()).getSeconds() + 1;  // get "random" modval (1-60)
  num = (num % modval) + 1;  // force num to be int between 1 and modval
  for (i=1; i<=num; i++)  // use random number generated by num-th iteration
    retval = Math.random();
  return retval;  
  }

