function update()
	{
	var sum = 0;
	var max = 0;
	var invodd = 0;
	var eq = document.eq;
	var len = eq.elements.length;
	var active = new Array();
	var winnings = new Array();
	var total_stake = parseFloat(eq["outlay"].value);

	for (var i = 1; i <= outcomes; i ++)
		{
		o = "odds["+i+"]";
		s = "stakes["+i+"]";
		this_odd = eq[o].value;
		invodd = invodd + 1/this_odd;
		if(this_odd.charAt(this_odd.length-2) == "/")
			{
			o = eval(eq[o].value) + 1;
			}
		else
			{
			o = parseFloat(eq[o].value);
			}
		var stake = parseFloat(eq[s].value);
		eq[s].value = toPoundsAndPence(stake);
		winnings[i] = toPoundsAndPence(o * stake);
		sum = sum + stake;

		}

	for (var i = 1; i <= outcomes; i ++)
		{
		t = "total["+i+"]";
		c = "commission["+i+"]";
		commission = (100 - parseFloat(eq[c].value))/100;
		//alert(parseFloat(eq[c].value));
		eq[t].value = toPoundsAndPence((winnings[i] - sum) * commission);
		}

	if(!isNaN(sum) && sum > 0)
		{
		eq["outlay"].value = toPoundsAndPence(Math.round(sum * 10) / 10);
		}
	eq["arb"].value = toPoundsAndPence(invodd);
	doColours();
	}


