var priceBrackets = new Array;
priceBrackets[0] = { perSeat:20, seats:100 };
priceBrackets[1] = { perSeat:6, seats:400 };
priceBrackets[2] = { perSeat:5, seats:500 };
priceBrackets[3] = { perSeat:4, seats:1000 };
priceBrackets[4] = { perSeat:3 };

function changedLicences( inField )
{
	// Strip out non-numeric values
	inField.value = inField.value.replace( /\D/g, '' );
	
	var licences = 0;
	var total_cost = 0;
	
	// Check we have a value number
	var numericValue = new Number( inField.value );
	if ( ( numericValue == Number.NAN ) || ( numericValue == 0 ) )
	{
		licences = 0;
		total_cost = 0;
	}
	else
	{
		licences = inField.value;
		var remaining = licences;

		var i = 0;
		for ( i = 0; i < priceBrackets.length; ++i )
		{
			var priceBracket = priceBrackets[i];
			
			if ( remaining > 0 )
			{
				var seatsInThisBracket = remaining;
				if ( priceBracket.seats )
				{
					if ( remaining > priceBracket.seats )
					{
						seatsInThisBracket = priceBracket.seats;
					}
					remaining -= priceBracket.seats;
				}
				else
				{
					// Final bracket, everything remaining at this price
					remaining = 0;
				}

				total_cost += ( seatsInThisBracket * priceBracket.perSeat );
			}
		}
	}

	presentCosts( licences, total_cost );
}

function presentCosts( inLicences, inCostTotal )
{
	var licencesField = document.getElementById( "licences_total" );
	var perLicenceField = document.getElementById( "per_licence_total" );
	var costField = document.getElementById( "cost_total" );

	if ( licencesField )
	{
		licencesField.innerHTML = inLicences;
	}

	if ( perLicenceField )
	{
		if ( inLicences > 0 )
		{
			perLicenceField.innerHTML = new Number( inCostTotal / inLicences ).toFixed( 2 );
		}
		else
		{
			perLicenceField.innerHTML = '0.00';
		}
	}

	if ( costField )
	{
		costField.innerHTML = new Number( inCostTotal ).toFixed( 2 );
	}

}