function randomInt(low, high) {

	return Math.floor(Math.random() * (high - low + 1)) + low;

}

function randomItem(list) {

	return list[randomInt(0, list.length-1)];

}

function randomChar(string) {
	return string.charAt(randomInt(0, string.length-1));
}

function randomPassword() {
	var alpha = 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var len = randomInt(2, 7);
	var result = "";

	for(var i = 0; i < len; i++) {
		result = result + randomChar(alpha);
        }
	return result;
}	

function hexChar(n) {
	//Borrowed from Decker & Hirshfield (page 141)
       	if (n == 10)
           return "A";
       	else if (n == 11)
           return "B";
       	else if (n == 12) 
          return "C";
       	else if (n == 13)
          return "D";
       	else if (n == 14)
          return "E";
       	else if (n == 15)
          return "F";
       	else
          return "" + n;
}
   
function toHex(n, d) {
       //Borrowed from Decker & Hirshfield (page 141)
       var s = "";
       for (var i = 0; i < d; i++) {
          s = hexChar(n % 16) + s;
          n = Math.floor(n / 16);
          }
 
         return s;
}

function randomColor() {
	var red = randomInt(0, 255);
	var green = randomInt(0, 255);
	var blue = randomInt(0, 255);

	var redHex = toHex(red, 2);
	var greenHex = toHex(green, 2);
	var blueHex = toHex(blue, 2);

	var hexColor = "" + redHex + greenHex + blueHex;

        return hexColor;
}

function sort(cards) {
	
	cards = cards.sort();
	
	var numTens = 0;
	var numJacks = 0;
	var numQueens = 0;
	var numKings = 0;
	var numAces = 0;
	
	var temp = new Array(cards.length);
	var position = 0;

	for (var i = 0; i < cards.length; i++) {
		if (cards[i] == "10")
			numTens++;
		else if (cards[i] == "J")
			numJacks++;
		else if (cards[i] == "Q")
			numQueens++;
		else if (cards[i] == "K")
			numKings++;
		else if (cards[i] == "A")
			numAces++;
		else {
			temp[position] = cards[i];
			position++;
		}
	}
	
	for(var i = 0; i < numTens; i++) {
		temp[position] = "10";
		position++;
	}
	for(var j = 0; j < numJacks; j++) {
		temp[position] = "J";
		position++;
	}
	for(var k = 0; k < numQueens; k++) {
		temp[position] = "Q";
		position++;
	}
	for(var l = 0; l < numKings; l++) {
		temp[position] = "K";
		position++;
	}
	for (var m = 0; m < numAces; m++) {
		temp[position] = "A";
		position++;
	}
	return temp;
}


