function calcGrandTotal()
{
	var gT = 0;
	$$('td.workshop_total input.text').each(function(el){
		var v = el.value.toInt();
		if (isNaN(v) != true)
		{
			gT += v;
		}
	});
	$('Subtotal').value = priceFormat(gT);
	
	// Discount
	if ($('Working_Well_member').checked == true)
	{
		var discount = (gT/100)*20;
	} else
	{
		var discount = 0;	
	}
	$('Discount').value = priceFormat(discount);
	gT = gT - discount;
	
	// GST
	var gst = (gT/100)*12.5;
	$('GST').value = priceFormat(gst);
	gT = gT + gst;
	
	$('Grand_total').value = priceFormat(gT);
}

function priceFormat(val)
{
	val = (Math.round(val * 100))/100;
	val = val+"";
	
	var sp = val.split('.');
	var cents = sp[1];
	if (isNaN(cents) == false)
	{
		price = sp[0]+'.'+cents;
		if (cents.toString().length == 1)
		{
			price = price+'0'.toString();
		}
	} else
	{
		var price = val+'.00';
	}
	
	return price;
}

window.addEvent('domready', function(){
	$('Working_Well_member').addEvent('change', calcGrandTotal);

	$$('td.workshop_qty input.text').each(function(el){
		var tf = el.getParent().getNext().getFirst();
		if ((tf == null) || (tf == ''))
		{
			tf = el.getParent().getNext().getNext().getFirst();
		}
		var price = el.getParent().getPrevious().getText();
		var pattern = new RegExp('\\$');
		if (pattern.test(price) == false)
		{
			price = el.getParent().getNext().getText();
		}
		price = price.replace('$','');
		el.addEvent('keyup', function(){
			var total = price * el.value;
			if (isNaN(total) == true)
			{
				el.value = '';
				tf.value = '';
			} else
			{
				tf.value = priceFormat(total.toInt());
			}
			calcGrandTotal();
		});
	});
});