var creditCardChargeAddedToOnlyTheSubTotal = true;
function RecalcTotals()
{	
	var div = document.getElementById('PubTable');
	var inputs = div.getElementsByTagName('INPUT');
	var DiscNet = 0;
	var DiscVat = 0;
	var NormNet = 0;
	var NormVat = 0;
	var InstNet = 0;
	var InstVat = 0;				
	for(var i=0;i<inputs.length;i++)
	{
		var strName = new String(inputs[i].name);
		if(strName.substr(0,3)=='pub')
		{	
			
			if(inputs[i].parentNode.previousSibling.firstChild.nodeValue=='Inclusive of VAT')
			{
				var UnitNet = inputs[i].parentNode.previousSibling.previousSibling.firstChild.nodeValue;
				var UnitVat = 0;					
			}
			else
			{			
				var UnitNet = inputs[i].parentNode.previousSibling.previousSibling.previousSibling.firstChild.nodeValue;
				var UnitVat = inputs[i].parentNode.previousSibling.previousSibling.firstChild.nodeValue;
			}
			if(isNaN(UnitNet))
			{
				UnitNet = 0;
			} 
			if(isNaN(UnitVat))
			{					
				UnitVat = 0;
			}
			
			
			var Qnty = inputs[i].value;
			var TotalNet = UnitNet*Qnty;
			var TotalVat = UnitVat*Qnty;
			
			
			
			if(!isNaN(TotalNet) && !isNaN(TotalVat))
			{				
				switch(strName.substr(4,4))
				{
					case 'disc':
					DiscNet+=TotalNet;
					DiscVat+=TotalVat;
					break;
					
					case 'norm':
					NormNet+=TotalNet;
					NormVat+=TotalVat;
					break;
					
					case 'inst':
					InstNet+=TotalNet;
					InstVat+=TotalVat;
					break;
				}
			}
		}				
	}

	var total = DiscNet+DiscVat+NormNet+NormVat+InstNet+InstVat;
	if(total>0)
	{
		if(total<20)
		{
			PostageTotal = 3.45;
		}
		else if(total>=20)
		{
			PostageTotal = 8;
		}
	}
	else
	{
		PostageTotal = 0;
	}
	document.getElementById('postage_total').value = Currency(PostageTotal);
	
	document.getElementById('disc_net').value = Currency(DiscNet);
	document.getElementById('disc_vat').value = Currency(DiscVat);
	if(DiscNet>0 && !creditCardChargeAddedToOnlyTheSubTotal){DiscNet+=CreditCardCharge;}
	document.getElementById('disc_total').value = Currency(DiscNet+DiscVat);
	
	
	document.getElementById('norm_net').value = Currency(NormNet);
	document.getElementById('norm_vat').value = Currency(NormVat);
	if(NormNet>0 && !creditCardChargeAddedToOnlyTheSubTotal){NormNet+=CreditCardCharge;}		
	document.getElementById('norm_total').value = Currency(NormNet+NormVat);
	
	document.getElementById('inst_net').value = Currency(InstNet);
	document.getElementById('inst_vat').value = Currency(InstVat);
	if(InstNet>0 && !creditCardChargeAddedToOnlyTheSubTotal){InstNet+=CreditCardCharge;}

	
	document.getElementById('inst_total').value = Currency(InstNet+InstVat);
	
	
	if(creditCardChargeAddedToOnlyTheSubTotal && total>0)
	{
		total+=CreditCardCharge;
	}
	document.getElementById('grand_total').value = Currency(total+PostageTotal);
	
	return true;
}
function Currency(num) 
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		if(cents<10)
		cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
		num.substring(num.length-(4*i+3));
		return (((sign)?'':'-') + '£' + num + '.' + cents);
}