
function clearBasket() {
	var trs = new Array(), okay = false;
	trs = document.getElementsByTagName('tr');
	for (i=0; i<trs.length; i++) {
		if(trs[i].id != '') {
			if (trs[i].id.indexOf('tr_')==0) {
				trs[i].style.display = 'none';
				n = trs[i].id.substr(3);
				document.getElementById(n).value = '0';
			}
		}
	}
	document.getElementById('divBasket').style.display = 'none';
	document.getElementById('divEmptied').style.display = 'block';	
	document.getElementById('tblDeliveryAndTotals').style.display = 'none';
}

function updateBasket() {
	var okay = true;

	var tds = new Array();
	tds = document.getElementsByTagName('td');
	for(i=0; i<tds.length; i++) {
		if (tds[i].id != '')
			if (tds[i].id.indexOf('_total')>0) {
				v = tds[i].innerHTML.substr(1);
				if (v=='???') {
					okay = false
	}		}	}

	if(okay)
		document.forms[0].submit();
	else
		alert('You have errors on your form.  Possible reasons for this are that quantities given are not valid (numbers only!)\n\nPlease check your form, and then try again.');
}

function cancelChanges() {
	dl = document.location.toString();
	if(dl.indexOf('&rn') > 0) {
		dl = dl.substr(0,dl.indexOf('&rn'));
	}
	document.location.replace(dl + '&rn=' + Math.random());
}

function delitem(n) {
	row = document.getElementById('tr_' + n);
	row.style.display = 'none';
	
	total = document.getElementById(n + '_total');
	total.innerHTML = '&pound;0.00';
	
	document.getElementById('del_' + n).value = 'true';
	
	updateTotals();
	
	var trs = new Array(), okay = false;
	trs = document.getElementsByTagName('tr');
	for (i=0; i<trs.length; i++) {
		if(trs[i].id != '') {
			if (trs[i].id.indexOf('tr_')==0) {
				if(trs[i].style.display!='none') okay = true;
	}	}	}
	if(!okay) {
		document.getElementById('divBasket').style.display = 'none';
		document.getElementById('divEmptied').style.display = 'block';
		document.getElementById('tblDeliveryAndTotals').style.display = 'none';
	}
}

function qdec(n) {
	ob = document.getElementById(n);
	v = ob.value*1;
	v = v - 1;
	if (v < 0) v = 0;
	ob.value = v;
	updateTotal(n);
}

function qinc(n) {
	ob = document.getElementById(n);
	v = ob.value*1;
	v = v + 1;
	ob.value = v;
	updateTotal(n);
}

function updateTotal(n) {
	quantity = document.getElementById(n);
	cost = document.getElementById(n + '_cost').value;
	total = document.getElementById(n + '_total');
	intTotal = ToCost(cost*quantity.value);
	if (intTotal == '???') {
		total.style.color = 'red';
		quantity.style.color = 'red';
		quantity.style.fontWeight = 'bold';
		quantity.title = 'Error: enter numbers only!';
	} else {
		total.style.color = '';
		quantity.style.color = '';
		quantity.style.fontWeight = '';
		quantity.title = '';
	}
	total.innerHTML = '&pound;' + intTotal;
	
	updateTotals();
}

function updateTotals() {
	var tds = new Array();
	var dblTotal = 0.0, okay = true;
	
	tds = document.getElementsByTagName('td');
	for(i=0; i<tds.length; i++) {
		if (tds[i].id != '')
			if (tds[i].id.indexOf('_total')>0) {
				v = tds[i].innerHTML.substr(1);
				if (v!='???') {
					dblTotal += v*1;
				} else {
					okay = false;
				}
			}
	}
	if(okay) {
		document.getElementById('SubTotal').innerHTML = '<b>&pound;' + ToCost(dblTotal) + '</b>';
		del = document.getElementById('Delivery').innerHTML.substr(1)*1;
		del = 0
		
		vat = (dblTotal + del) * 0.2;
		document.getElementById('VAT').innerHTML = '&pound;' + ToCost(vat);
		document.getElementById('Total').innerHTML = '<b>&pound;' + ToCost(dblTotal + del + vat) + '</b>';
		document.getElementById('Delivery').innerHTML = '<b><span style="color:red;" title="Click UPDATE to recalculate delivery cost">???</span></b>';
		document.getElementById('deliveryTotal').innerHTML = '<br><b>Delivery cost unknown</b><br>Click \'Update Basket\' to recalculate delivery.';
	} else {
		document.getElementById('SubTotal').innerHTML = '<b><span style="color:red;">???</span></b>';
		document.getElementById('VAT').innerHTML = '<span style="color:red;">???</span>';
		document.getElementById('Total').innerHTML = '<b><span style="color:red;">???</span></b>';
	}
}


function ToCost(v) {
	if (!isNaN(v)) {
		v = (Math.round(v*100))/100;
		v = v + '';
		if (v.indexOf(".") == -1)
			return v + '.00';
		else if (v.indexOf(".") == v.length-2)
			return v + '0';
		else
			return v.substr(0,v.indexOf('.')+3);
	} else {
		return '???';
	}
}

function productInfo(id) {
	x = (screen.width/2)-200;
	y = (screen.height/2)-160;
	window.open('product.asp?id=' + id, '', 'left=' + x + ',top=' + y + ',scrollbars=no,width=400,height=300,status=yes,toolbar=no,menubar=no');
}

function pdec(n) {
	ob = document.getElementById(n);
	v = ob.value*1;
	v = v - 1;
	if (v < 0) v = 0;
	ob.value = v;
	document.forms[0].submit();
}

function pinc(n) {
	ob = document.getElementById(n);
	v = ob.value*1;
	v = v + 1;
	ob.value = v;
	document.forms[0].submit();
}


