	var products = null;
	var c_value = null;
	var total = 0;
	var old_val = null;

	function stopDefAction(evt) {
		if (evt.preventDefault) evt.preventDefault();
		else evt.returnValue = false;
		return false;
	}

	function openInWindow(url, evt) {
		stopDefAction(evt);
		window.open(url, '', '');
	}

	function roundNumber(rnum) {
		var rlength = 2; // The number of decimal places to round to
		if ((rnum > 8191) && (rnum < 10485)) {
			rnum = rnum-5000;
			var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
			newnumber = newnumber+5000;
		} else {
			var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
		}
		return newnumber;
	}
	
	function check_form(evt) {
		var error;
		
		if ((document.getElementById('details|purchase_order_no').value == '') || (document.getElementById('details|company_name').value == '') || (document.getElementById('details|email_address').value == '') || (document.getElementById('details|contact_person').value == '') || (document.getElementById('details|phone').value == '') || (document.getElementById('details|delivery_address').value == '') || (document.getElementById('details|invoice_address').value == '')) {
			error = 1;
		}
		
		if (products == null) {
			error = 2;
		}
		
		if (error == 1) {
			stopDefAction(evt);
			if (document.getElementById('details|purchase_order_no').value == '') document.getElementById('check_order_no').style.display = 'inline';
			else document.getElementById('check_order_no').style.display = 'none';
			if (document.getElementById('details|company_name').value == '') document.getElementById('check_company_name').style.display = 'inline';
			else document.getElementById('check_company_name').style.display = 'none';
			if (document.getElementById('details|email_address').value == '') document.getElementById('check_email_address').style.display = 'inline';
			else document.getElementById('check_email_address').style.display = 'none';
			if (document.getElementById('details|contact_person').value == '') document.getElementById('check_contact_person').style.display = 'inline';
			else document.getElementById('check_contact_person').style.display = 'none';
			if (document.getElementById('details|phone').value == '') document.getElementById('check_phone').style.display = 'inline';
			else document.getElementById('check_phone').style.display = 'none';
			if (document.getElementById('details|delivery_address').value == '') document.getElementById('check_delivery_address').style.display = 'inline';
			else document.getElementById('check_delivery_address').style.display = 'none';
			if (document.getElementById('details|invoice_address').value == '') document.getElementById('check_invoice_address').style.display = 'inline';
			else document.getElementById('check_invoice_address').style.display = 'none';
			
			alert('Please fill in all required fields.');
		} else if (error == 2) {
			alert('Please select at least one product.');
			stopDefAction(evt);
		}
	}
	
	function check_quantity(id) {
		var q_check = document.getElementById(id).value;
		var quantity = parseInt(q_check);
		if ((isNaN(quantity)) && (q_check != '') && (q_check != null)) {
			document.getElementById(id).value = '';
			alert('Please enter an integer.');
			document.getElementById(id).focus();
		} else {
			if (quantity < 0) {
				document.getElementById(id).value = '';
				alert('Please enter a value 0 or greater.');
				document.getElementById(id).focus();
			} else if (quantity == 0) {
				document.getElementById(id).value = '';
				calc_total(id);
				store_value(id);
			} else {
				products = 1;
				calc_total(id, old_val);
				store_value(id);
			}
		}
	}
	
	function calc_total(id) {
		var item_array = id.split('|');
		var value = document.getElementById(id).value;
		var price = item_array[2];
		total = total + roundNumber(((value - c_value) * price));
		if (total <= 0) {
			var courier = '';
			products = null;
			var gstexcl = '0.00';
			var gstincl = '0.00';
		}
		else {
			var gstexcl = priceFormat(roundNumber(total));
			var gstincl = priceFormat(roundNumber((((total)/100)*112.5)));
			if (gstexcl == '5.50') {
				gstexcl = '0.00';
				gstincl = '0.00';
			}
		}
		document.getElementById('total_excl_gst').innerHTML = gstexcl;
		document.getElementById('total_incl_gst').innerHTML = gstincl;
		document.getElementById('totalexcl').value = gstexcl;
		document.getElementById('totalincl').value = gstincl;
	}
	
	function priceFormat(price) {
		price = price.toString();
		var splitPrice = price.split('.');
		var dollars = splitPrice[0];
		var cents = splitPrice[1];
		if ((cents == null) || (cents == '')) {
			cents = '00';
		} else if (cents.length == 1) {
			cents = cents + '0';
		}
		price = dollars+'.'+cents;
		return price;
	}
	
	function store_value(id) {
		c_value = document.getElementById(id).value;
		if ((c_value == null) || (c_value == '')) c_value = 0;
	}