/* Code copyright 2005 Ian Sharpe - www.iansharpe.com
Not to be used on any other web site without permission */

function numOrdA(a, b){ return (a-b); } // Used for numeric sorting

function LotteryNumbers()
{
	// Defaults
/*	var MinValue = 1;
	var MaxValue = 49;
	var NumValues = 6; */

	// Upadates from 

	var MinValue  = parseInt(document.getElementById('minval').value);
	var MaxValue  = parseInt(document.getElementById('maxval').value);
	var NumValues = parseInt(document.getElementById('numvalues').value);

	if ( isNaN(MinValue) || isNaN(MaxValue) || isNaN(NumValues) )
	{
		alert('ERROR: One of your settings is not a number');
		return;
	}

	if( MinValue >= MaxValue )
	{
		alert('ERROR: Maximum value must be bigger than minimum value');
		return;
	}

	if ( MinValue < 0 )
	{
		alert('ERROR: Minimum value must be zero or bigger');
		return;
	}

	var NumRange = MaxValue - MinValue + 1;

	if ( NumRange < NumValues )
	{
		alert('ERROR: You asked for more values than are possible with that mininum - maximum range (once chosen, a number cannot repeat)');
		return;
	}

	if ( NumValues > 11 )
	{
		alert("LIMIT EXCEEDED\n\n11 values are the most I allow. Why 11? No particular reason. It's the number that popped into my head when I had to choose.\n\nPerhaps 11 has psychological significance. Maybe it's the result of a single wave function collapse deep within a key neuron. We'll never know, but there's probably a PhD thesis in it for someone.");
		return;
	}


	var Values = new Array(NumRange);
	
	// Fill array with values to be shuffled
	for( var i = 0 ; i < NumRange ;  Values[i] = MinValue + i++ );

	// Shuffle the required number of values
	var Limit = NumRange - 2;
	var Temp; var Pick;
	var Results = new Array();

	for ( i = 0 ; i < NumValues ; i++ )
	{
		Pick = Math.floor(Math.random() * Limit);
		Temp = Values[Pick];
		Values[Pick] = Values [Limit + 1];
		Values [Limit + 1] = Temp;
		Limit--;
		Results[Results.length] = (Temp);		
	}

	Results.sort(numOrdA); 	// Sort results numerically

	// Write them out

	var ResultString = '<p>';
	for ( i = 0 ; i < NumValues ; i++ )
		ResultString += '<div class=\"NumberPick\">' + Results[i] + '</div>&nbsp;<img src=\"graphics/1pxfiller.gif\">';
ResultString += '</p>';
	document.getElementById("LotResults").innerHTML = ResultString;
}
