function currencyFormatted(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

function reCalculate(productCount) {

	var catId = parseInt(document.getElementById('catId').value);
	var minorder = parseInt(document.getElementById('minOrder').innerHTML);
	var products = parseInt(document.getElementById('productCount').value);
	var priceeach = parseFloat(document.getElementById('price').value);	
		
	var cvalue = 0;
	var total = 0;
	var q = 0;
	var postage = 0;
	
	for (q=1; q<products + 1; q++) {
		cvalue = parseInt(document.getElementById('prod'+q).value);
		if (isNaN(cvalue)) {cvalue = 0; }
		total = total + cvalue;
	}
	
	if(total < minorder) {
		document.getElementById('notice').innerHTML = "You must order atleast " + minorder + " item(s)";
	} else {
		document.getElementById('notice').innerHTML = "You may now complete your purchase";
	}
				
	switch (catId) {
		case 1:
		case 2:
			// Trees
			// 1-3 £150
			// 4+ £30 per item
			var postCutOff = 3;
			var postAdd = 30.00;
			var postCost = 150.00;
			if(total > 3) {
				postage = postCost + (postAdd * (total - 3));
			} else if(total == 0) {
				postage = 0;
			} else {
				postage = postCost;
			}				
			
		break;
		case 3:
		// Hedge Units
			postBand = Array(3, 6, 9, -1);
			postValue = Array(35, 70, 105, 0);
			var post = '';
			var i = 0;
			for (i = postBand.length; i >= 0; i--) {
				if(postBand[i] == -1) {
					if(postBand[i - 1] < total) {
						postage = postValue[i];
						break;
					}
				} else if(total <= postBand[i]) {
					postage = postValue[i];
				}
			}
		break;
		case 4:
		// Shrubs
			postage = 0;
		break;
		case 5:
			postage = 0;
			var quan1 = parseInt(document.getElementById('prod1').value);
			var quan2 = parseInt(document.getElementById('prod2').value);
			if (isNaN(quan1)) {quan1 = 0; }
			if (isNaN(quan2)) {quan2 = 0; }
			var price1 = 120.75;
			var price2 = 172.50;
			priceeach = ((quan1 * price1) + (quan2 * price2));
			total = 1;
		break;
		case 6:
		case 9:
			postBand = Array(4, 19, -1);
			postValue = Array(45, 25, 17.50);
			var post = '';
			var i = 0;
			for (i = postBand.length; i >= 0; i--) {
				if(postBand[i] == -1) {
					if(postBand[i - 1] < total) {
						postage = postValue[i];
						break;
					}
					
				} else if(total <= postBand[i]) {
					postage = postValue[i];
					
				}
			}	
		
		break;
		case 7:
		// Logs
			postage = 45;
		break;
	}
	
	var cost = priceeach * total;
	document.getElementById('cost').innerHTML = currencyFormatted(cost);
	document.getElementById('post').innerHTML = currencyFormatted(postage);
	document.getElementById('total').innerHTML = currencyFormatted(cost + postage);	
	
}
