

var updatedTextbox = null;

function quantityKeyPress(e)
{
	var key = e.which;
	var isSign = (e.target.value.length == 0) && (key == 45);
	var isNum = (key >= 48) && (key <= 57);
	var isControl = (key == 8) || (key == 0);
	if(isNum || isControl)
	{
		updatedTextbox = e.target;
		// e.target.value still holds old value at this point, so 'delay' to allow change to propagate before updating
		window.setTimeout( updateQuantity, 1);
	}
	else
	{
		e.preventDefault();
	}
}

function quantityKeyUp(e)
{
	updatedTextbox = e.target;
	updateQuantity();
}

function updateQuantity()
{
	var segment = $(updatedTextbox).closest(".segment");
	var size = segment.find(".size").text();
	var q = updatedTextbox.value;
	if(q.length > 0 && q != '-')
	{
		segment.find(".amount").text(' Q' + q + 'L' + size);
		//segment.find(".amount").html(q + 'x' + size + 'm &nbsp;');
		//segment.find(".m").text((q * size).toFixed(1));
	}
	else
	{
		segment.find(".amount").text('');
		//segment.find(".m").text('');
	}

	var lengthSelector = $(segment).closest(".length-selector");
	var t = 0;
	var metres = lengthSelector.find(".m");
	var i = 0;
	while(i < metres.length)
	{
		var m = metres[i].innerHTML;
		if(m.length > 0)
			t = t + new Number(m);
		i++;
	}
//	if(t > 0)
//		lengthSelector.find(".total").text(' Total length = ' + t.toFixed(1) + ' m');
//	else
//		lengthSelector.find(".total").html('&nbsp;');
	var encodedString = lengthSelector.find(".amount").text();
	lengthSelector.find("input[name$='uiSelectedLengths']")[0].value = encodedString;
}
