//Author: John Law
//Date: Jan 2003

//Do not reproduce this code.
function diceRoll(number , sides)
{
  var total = 0;

  for(var i=0; i<number; i++)
    total += (Math.round((Math.random()*(sides-1))+1));

  return total;
}

diceRoll(5, 5);

function roll(X)
{

	var total = 0;
		
	var array = X;
		
	var multiplier = "";
	var die = "";
		
	var iMultiplier=1;
	var iDie=0;
		
	var add = 1;
	var m = true;
		
		
	for(i=0; i<array.length; i++)
	{
			

		if(array.charAt(i)=='+' || array.charAt(i)=='-')
		{
			if(isNaN(parseInt(die)))
				total += add * diceRoll(multiplier, "1");
			else
				total += add * diceRoll(multiplier, die);
		
			multiplier = "";
			die = "";
			m = true;
				
			if(array.charAt(i)=='+')
				add = 1;
			else if(array.charAt(i)=='-')
				add = -1;
		}
			
		else if(array.charAt(i)=='d' || array.charAt(i)=='D')
		{
			if(m)
				m = false;
		}
			
		else if(m)
		{
			multiplier += array.charAt(i);
		}
			
		else if(!m)
		{
			die += array.charAt(i);
		}


	}

	if(isNaN(parseInt(die)))
		total += add * diceRoll(multiplier, "1");
	else
		total += add * diceRoll(multiplier, die);

	return total;
	
}

function clickToRoll(target, rollstring)
{
	document.getElementById(target).value = roll(rollstring);
}