function alreadyincart(testitemid) {
	isalreadyincart=false;
	numberofproducts = parseInt(getCookie('TROPHYnumberofitems'));
	if( (isNaN(numberofproducts)) || (numberofproducts<1) ) numberofproducts=0;
	if(numberofproducts>0) {
		cartstrings = new Array(numberofproducts+1);
		for(var f=0;f<numberofproducts;f++) {
			cartstrings[f] = getCookie('TROPHYbasketitem'+f);
		}
		cartitems = new Array(numberofproducts);
		for(var f=0;f<numberofproducts;f++) {
			cartitems[f] = new Object();
		}
		for(var f=0;f<numberofproducts;f++) {
			for(var g=0;g<NAMES.length;g++) {
				cartitems[f][NAMES[g]] = cartstrings[f].substring(0,cartstrings[f].indexOf('|'));
				cartstrings[f] = cartstrings[f].substring((cartstrings[f].indexOf('|')) + 1);
			}
		}
		for(var f=0;f<numberofproducts;f++) {
			if(cartitems[f]['ID']==testitemid) {
				isalreadyincart=true;break;
			}
		}
	}
	return isalreadyincart;
}

function doRemoveCarriage(box) {
	//alert(box.checked);
	//alert(document.getElementById("carriagecharge").value);
	var obj = document.getElementById('carriagecharge');
    if(box.checked) {
		obj.value = '0.00';
	} else {
		obj.value = '8.50';
	}
	recalc()
}

function doKeyUp(e) {
	recalc();
}

document.onclick = doKeyUp;
document.onkeyup = doKeyUp;
if(document.layers) {
	document.captureEvents(Event.KEYUP);
}

//var NAMES = new Array('ID','TYPE','CODE','SIZE','PRICE','BASEENGRAVING','BASEENGRAVINGCOST','BODYENGRAVING','BODYENGRAVINGCOST','IMAGE','QUANTITY');
var NAMES = new Array('ID','TYPE','CODE','SIZE','PRICE','BASEENGRAVING','BASEENGRAVINGCOST','BASEENGRAVINGFONT','BODYENGRAVING','BODYENGRAVINGCOST','BODYENGRAVINGFONT','IMAGE','SPORT','DATE','QUANTITY');
var cartitems = 0;
var itemcount = 0;
var orderbox="";
var numberofproducts=0;
var cartstrings;
var cartitems;
var outputbasket = "";
var vattotal = 0;
var subtotal = 0;

function remove(cookieid,formid) {
	var theid = parseInt(cookieid);
	eval("document.yourbasket.quantity"+formid+".value=0");
	updateCart();
	document.location.reload(true);
}

function doGetBasket() {
	numberofproducts = parseInt(getCookie('TROPHYnumberofitems'));
	if( (isNaN(numberofproducts)) || (numberofproducts<1) ) numberofproducts=0;
	if(numberofproducts>0) {
		cartstrings = new Array(numberofproducts+1);
		for(var f=0;f<numberofproducts;f++) {
			cartstrings[f] = getCookie('TROPHYbasketitem'+f);
		}
		cartitems = new Array(numberofproducts);
		for(var f=0;f<numberofproducts;f++) {
			cartitems[f] = new Object();
		}
		for(var f=0;f<numberofproducts;f++) {
			for(var g=0;g<NAMES.length;g++) {
				cartitems[f][NAMES[g]] = cartstrings[f].substring(0,cartstrings[f].indexOf('|'));
				//cartitems[f][NAMES[g]].replace("\"","&quot;");
				cartstrings[f] = cartstrings[f].substring((cartstrings[f].indexOf('|')) + 1);
			}
		}
		outputbasket += "<br><br><table width=100% cellpadding=4 cellspacing=0 border=0 bgcolor='#ffffff'>\n";
		outputbasket += "<tr bgcolor='#ffffff'><td><b>TYPE</b></td><td><b>CODE</b></td>";
		outputbasket += "<td><b>SIZE</b></td><td align=center><b>PRICE</b></td>";
		outputbasket += "<td><b>QUANTITY</b></td><td align=center><b>EXTRAS</b></td>";
		itemcount = 0;
		subtotal=0;
		grandtotal=0;
		for(var f=0;f<numberofproducts;f++) {
	
			if(cartitems[f]['QUANTITY']!=0) {
				outputbasket += "<tr bgcolor='#ffffff'><td colspan=7><hr width=100% noshade></td></tr>";
				outputbasket += "<tr bgcolor='#ffffff' class='items'>";
				outputbasket += "<td valign=top>"+ cartitems[f]['TYPE']	+ "</td>";
				outputbasket += "<td valign=top>"+ cartitems[f]['CODE']	+ "</td>";
				outputbasket += "<td valign=top>"+ cartitems[f]['SIZE']	+ "</td>";
				outputbasket += "<td valign=top align=center>&pound;"+ cartitems[f]['PRICE']	+ "</td>";
				outputbasket += "<td valign=top><input type='text' size=3 name='quantity" + f + "' value='" + cartitems[f]['QUANTITY']+"'></td>";
	
				/*			
				outputbasket += "<td valign=top rowspan=2>";
				if(cartitems[f]['BASEENGRAVING']!='') {
					outputbasket += "<p>Base Engraving: <br><table width=100% cellpadding=2 cellspacing=1 bgcolor='#888888'><tr bgcolor='#ffffff'><td>"+ cartitems[f]['BASEENGRAVING']+"</td></tr></table><br>Font: "+cartitems[f]['BASEENGRAVINGFONT'];
				}
				if(cartitems[f]['BODYENGRAVING']!='') {
					outputbasket += "<p>Body Engraving: <br><table width=100% cellpadding=2 cellspacing=1 bgcolor='#888888'><tr bgcolor='#ffffff'><td>"+ cartitems[f]['BODYENGRAVING']+"</td></tr></table><br>Font: "+cartitems[f]['BODYENGRAVINGFONT'];
				}
				*/
				outputbasket += "<td valign=top rowspan=2>";
				// SHOW SPORT INFO
				outputbasket += "<p>Sport: "+ cartitems[f]['SPORT']+"</p><p>Date Required: "+ cartitems[f]['DATE']+"</p>";
				if(cartitems[f]['BODYENGRAVING']!='') {
					outputbasket += "<p>Body Engraving: <br><table width=100% cellpadding=2 cellspacing=1 bgcolor='#888888'><tr bgcolor='#ffffff'><td>"+ cartitems[f]['BODYENGRAVING']+"</td></tr></table>";
	
					if(cartitems[f]['BODYENGRAVINGFONT']!='') {
						outputbasket += "<br>Font: "+cartitems[f]['BODYENGRAVINGFONT'];;
					}
				}
	
				if(cartitems[f]['BASEENGRAVING']!='') {
	
					outputbasket += "<p>Base Engraving: <br><table width=100% cellpadding=2 cellspacing=1 bgcolor='#888888'><tr bgcolor='#ffffff'><td>"+ cartitems[f]['BASEENGRAVING']+"</td></tr></table>";
					if(cartitems[f]['BASEENGRAVINGFONT']!='') {
						outputbasket += "<br>Font: "+cartitems[f]['BASEENGRAVINGFONT'];;
					}
				}
				outputbasket += "<input type='hidden' name='thebasketstr" + f + "' value='";
				for (var i = 0; i < NAMES.length; i++) {
					if (NAMES[i] != "QUANTITY") outputbasket += cartitems[f][NAMES[i]]+"|";
				}
				outputbasket += "'>";
				/*	+ cartitems[f]['ID']+"|"
					+ cartitems[f]['TYPE']+"|"
					+ cartitems[f]['CODE']+"|"
					+ cartitems[f]['SIZE']+"|"
					+ cartitems[f]['PRICE']+"|"
					+ cartitems[f]['BASEENGRAVING']+"|"
					+ cartitems[f]['BASEENGRAVINGCOST']+"|"
					+ cartitems[f]['BASEENGRAVINGFONT']+"|"
					+ cartitems[f]['BODYENGRAVING']+"|"
					+ cartitems[f]['BODYENGRAVINGCOST']+"|"
					+ cartitems[f]['BODYENGRAVINGFONT']+"|"
					+ cartitems[f]['IMAGE']+"|"
					+ "'>";*/
	
				outputbasket += "<input type='hidden' name='price" + f + "' value='" + format(cartitems[f]['PRICE']) + "'>\n";
				//outputbasket += "</td>";
				lineprice = parseFloat(cartitems[f]['PRICE'])  * parseInt(cartitems[f]['QUANTITY']);
				outputbasket += "<p>Subtotal: &pound;<input type='text' size=5 name='lineprice" + f + "' value='" + format(lineprice) + "' onFocus='this.blur();' class='invbox'>\n";
				outputbasket += "<p><a href=\"javascript:remove('" + f  + "','"+itemcount+"')\" onMouseOver=\"self.status='Remove this item'; return true;\" onMouseOut=\"self.status='';return true;\">Remove this item from basket</a><input type='hidden' name='cookieid"+itemcount+"' value='"+f+"'>";
				outputbasket += "</tr>\n";
				outputbasket += "<tr bgcolor='#ffffff' class='items'><td valign=top><img src='images_small/"+cartitems[f]['IMAGE']+"'></td></tr>";
				itemcount++;
				subtotal = parseFloat(subtotal) + parseFloat(lineprice);
			}
		}
		outputbasket += "<tr bgcolor='#ffffff'><td colspan=7><hr width=100% noshade></td></tr>";
		outputbasket += "<tr bgcolor='#ffffff'><td colspan=5 align=right><b>NET</b></td>\n";
		outputbasket += "<td align=center>&pound;<input type='text'  class='invbox' size=5 name='net' value='' onFocus='this.blur();'></td>";
		outputbasket += "</tr>";
		
		// Collection
		outputbasket += "<tr bgcolor='#ffffff'><td colspan=5 align=right><b>I WILL COLLECT</b></td>\n";
		outputbasket += "<td><input type='checkbox' name='collect' id='collect' onclick='doRemoveCarriage(this);'></td>";
		outputbasket += "</tr>";
	
		outputbasket += "<tr bgcolor='#ffffff'><td colspan=5 align=right><b>CARRIAGE CHARGE</b></td>\n";
		outputbasket += "<td align=center>&pound;<input type='text'  class='invbox' size=5 name='ccharge' id='carriagecharge' value='8.50' onFocus='this.blur();'></td>";
		outputbasket += "</tr>";
	
		outputbasket += "<tr bgcolor='#ffffff'><td colspan=5 align=right><b>Grand Total</b></td>\n";
		outputbasket += "<td align=center>&pound;<input type='text' class='invbox' size=5 name='grandtotal' id='totalordercost' value='' onFocus='this.blur();'></td>";
		outputbasket += "</tr>";
	
		outputbasket += "<tr bgcolor='#ffffff'><td colspan=7><hr width=100% noshade></td></tr>";
		outputbasket += "</table>";
	
		document.write("You have ");
		document.write("<b>" + itemcount+ "</b> item");
		if(itemcount!=1) document.write("s"); 
		document.write(" in your Shopping Basket*.<p>If we are engraving your corporate logo, after you have placed your order, you may email it to us. Please remember to quote your order reference number. ");
		document.writeln('<form name="yourbasket">');
		document.writeln(outputbasket);
	//	document.writeln("<p>You may edit your order by changing quantities,<br>or remove an item by clicking <img src='images/delete.gif' width=14 height=14 align=absmiddle>"); 
	
		document.writeln('</form>');
	//	document.writeln("<p>Payment in other currencies may be subject to fluctuations in exchange<br>rates and to charges made by your credit or debit card company.");
	
		document.writeln('<p><form name="theorderdetails" action="checkout.php" method="POST">');
		document.writeln('<input type="hidden" name="amount" value=""><input type="hidden" name="theorderbox" value="">');
		document.writeln('<input type="submit" onclick="setorderbox()" value="Checkout">');
		document.writeln('</form>');
		document.writeln('<p>* All orders are subject to a &pound;8.50 carriage charge, unless you intend to collect directly from us.');
		recalc();
	} else {
		document.writeln("<br><br>Your shopping basket is empty<br>"); 
	}
}



function setorderbox() {
	recalc();
	outputbasket = "<br><br><table width=100% cellpadding=4 cellspacing=0 border=0 bgcolor='#ffffff'>\n";
	outputbasket += "<tr bgcolor='#ffffff'><td><b>TYPE</b></td><td><b>CODE</b></td>";
	outputbasket += "<td><b>SIZE</b></td><td align=center><b>PRICE</b></td>";
	outputbasket += "<td><b>QUANTITY</b></td><td align=center><b>EXTRAS</b></td>";
	itemcount = 0;
	subtotal=0;
	grandtotal=0;

	for(var f=0;f<numberofproducts;f++) {
		var carriage = '0.00';
		if(cartitems[f]['QUANTITY']!=0) {
			outputbasket += "<tr bgcolor='#ffffff'><td colspan=7><hr width=100% noshade></td></tr>";
			outputbasket += "<tr bgcolor='#ffffff' class='items'>";
			outputbasket += "<td valign=top>"+ cartitems[f]['TYPE']	+ "</td>";
			outputbasket += "<td valign=top>"+ cartitems[f]['CODE']	+ "</td>";
			outputbasket += "<td valign=top>"+ cartitems[f]['SIZE']	+ "</td>";
			outputbasket += "<td valign=top align=center>&pound;"+ cartitems[f]['PRICE']	+ "</td>";
			outputbasket += "<td valign=top align=center>" + cartitems[f]['QUANTITY']+"</td>";
			outputbasket += "<td valign=top rowspan=2>";
			// SHOW SPORT INFO
			outputbasket += "<p>Sport: "+ cartitems[f]['SPORT']+"</p><p>Date Required: "+ cartitems[f]['DATE']+"</p>";
			if(cartitems[f]['BODYENGRAVING']!='') {
				outputbasket += "<p>Body Engraving: <br><table width=100% cellpadding=2 cellspacing=1 bgcolor='#888888'><tr bgcolor='#ffffff'><td>"+ cartitems[f]['BODYENGRAVING']+"</td></tr></table>";
				if(cartitems[f]['BODYENGRAVINGFONT']!='') {
					outputbasket += "<br>Font: "+cartitems[f]['BODYENGRAVINGFONT'];;
				}
			}
			if(cartitems[f]['BASEENGRAVING']!='') {
				outputbasket += "<p>Base Engraving: <br><table width=100% cellpadding=2 cellspacing=1 bgcolor='#888888'><tr bgcolor='#ffffff'><td>"+ cartitems[f]['BASEENGRAVING']+"</td></tr></table>";
				if(cartitems[f]['BASEENGRAVINGFONT']!='') {
					outputbasket += "<br>Font: "+cartitems[f]['BASEENGRAVINGFONT'];;
				}
			}

			/*
			outputbasket += "<input type='hidden' name='thebasketstr" + f + "' value='" 
			+ cartitems[f]['ID']+"|"
			+ cartitems[f]['TYPE']+"|"
			+ cartitems[f]['CODE']+"|"
			+ cartitems[f]['SIZE']+"|"
			+ cartitems[f]['PRICE']+"|"
			+ cartitems[f]['BASEENGRAVING']+"|"
			+ cartitems[f]['BASEENGRAVINGCOST']+"|"
			+ cartitems[f]['BASEENGRAVINGFONT']+"|"
			+ cartitems[f]['BODYENGRAVING']+"|"
			+ cartitems[f]['BODYENGRAVINGCOST']+"|"
			+ cartitems[f]['BODYENGRAVINGFONT']+"|"
			+ cartitems[f]['IMAGE']+"|"
			+ "'>";
			*/

			lineprice = parseFloat(cartitems[f]['PRICE'])  * parseInt(cartitems[f]['QUANTITY']);
			outputbasket += "<p>Subtotal: &pound;" + format(lineprice) + "\n";		
			outputbasket += "</tr>\n";
			outputbasket += "<tr bgcolor='#ffffff' class='items'><td valign=top><img src='http://www.gustocreative.co.uk/~trophy/images_small/"+cartitems[f]['IMAGE']+"'></td></tr>";
			itemcount++;
			subtotal = parseFloat(subtotal) + parseFloat(lineprice);
		}
	}
	outputbasket += "<tr bgcolor='#ffffff'><td colspan=7><hr width=100% noshade></td></tr>";
	outputbasket += "<tr bgcolor='#ffffff'><td colspan=5 align=right><b>NET</b></td>\n";
	outputbasket += "<td align=center>&pound;"+document.yourbasket.net.value+"</td>";
	outputbasket += "</tr>";
	outputbasket += "<tr bgcolor='#ffffff'><td colspan=5 align=right><b>CARRIAGE CHARGE</b></td>\n";
	
	// Ammend Carriage Info
	if (document.getElementById('collect').checked) carriage = '0.00';
	else carriage = '8.50';
	
	outputbasket += "<td align=center>&pound;"+carriage+"</td>";
	outputbasket += "</tr>";
	outputbasket += "<tr bgcolor='#ffffff'><td colspan=5 align=right><b>Grand Total</b></td>\n";
	outputbasket += "<td align=center>&pound;"+document.yourbasket.grandtotal.value+"</td>";
	outputbasket += "</tr>";
	outputbasket += "<tr bgcolor='#ffffff'><td colspan=7><hr width=100% noshade></td></tr>";
	outputbasket += "</table>";
	//alert(outputbasket);
	document.theorderdetails.theorderbox.value=outputbasket;
	document.theorderdetails.amount.value=document.yourbasket.grandtotal.value;
}

function updateCart() {
	numberofproducts = parseInt(getCookie('TROPHYnumberofitems'));
	if( (isNaN(numberofproducts)) || (numberofproducts<1) ) numberofproducts=0;
	for(f=0;f<numberofproducts+1;f++) {
		removeCookie("TROPHYbasketitem" + f);	
	}
	removeCookie("TROPHYnumberofitems");
	var newnumber = 0;
	for(f=0;f<itemcount;f++) {
		var thequantity = eval("document.yourbasket.quantity"+f+".value");
		if(thequantity!=0) {
			var revisedorderstring = eval("document.yourbasket.thebasketstr"+f+".value");
			//alert(revisedorderstring);
			setCookie("TROPHYbasketitem" + newnumber,revisedorderstring+thequantity+'|',"false");
			newnumber++;
		}
	}
	setCookie("TROPHYnumberofitems",newnumber,"false");
}

function recalc() {
	subtotal = 0;
	grandtotal = 0;
	vattotal = 0;
	var carriage = 0;
	if(itemcount>0) {
		for(var f=0; f<itemcount; f++) {
			aquantity = eval("document.yourbasket.quantity" + f + ".value");
			if(isNaN(aquantity)||aquantity < 0||aquantity == '') aquantity = '0.0';
			aprice = eval("document.yourbasket.price" + f + ".value");
			atotal = parseInt(aquantity) * parseFloat(aprice);
			eval("document.yourbasket.lineprice"+f+".value = '" + format(atotal) + "'");
			subtotal = subtotal + atotal;
		}
		document.yourbasket.net.value = format(round_decimals(subtotal,2));
		//thevat = round_decimals((subtotal/100)*17.5,2);
		//document.yourbasket.vat.value = format(thevat);
		if (document.getElementById('collect').checked) carriage = 0.00;
		else carriage = 8.50;
		grandtotal = 0.00 + subtotal + carriage;
		document.yourbasket.grandtotal.value = format(round_decimals(grandtotal,2));
	}
}

function format(number) {
	if(number=='CALL')return 'CALL';
	if(number<1 && number>0) string = " 0" + number;
	else string = " " + number;
	if (string.indexOf('.') == -1) {
		return string + '.00';
	}
	point = string.length - string.indexOf('.');
	if (point > 3) {
		return string.substring(0, string.length - point + 3);
	}else if (point == 2) {
		return string + '0';
	}
	return string;
}

function round_decimals(original_number, decimals) {
    var result1 = original_number * Math.pow(10, decimals)
    var result2 = Math.round(result1)
    var result3 = result2 / Math.pow(10, decimals)
    return result3;
}

function getcheckout() {
	outputbasket="";
	numberofproducts = parseInt(getCookie('TROPHYnumberofitems'));
	if( (isNaN(numberofproducts)) || (numberofproducts<1) ) numberofproducts=0;
	if(numberofproducts>0) {
		cartstrings = new Array(numberofproducts+1);
		for(var f=0;f<numberofproducts;f++) {
			cartstrings[f] = getCookie('TROPHYbasketitem'+f);
		}
		cartitems = new Array(numberofproducts);
		for(var f=0;f<numberofproducts;f++){
			cartitems[f] = new Object();
		}
		for(var f=0;f<numberofproducts;f++) {
			for(var g=0;g<NAMES.length;g++) {
				cartitems[f][NAMES[g]] = cartstrings[f].substring(0,cartstrings[f].indexOf('|'));
				cartstrings[f] = cartstrings[f].substring((cartstrings[f].indexOf('|')) + 1);
			}
		}
		outputbasket += "<br><br><table width=400 cellpadding=4 cellspacing=1 border=0 bgcolor='#888888'>\n";
		outputbasket += "<tr bgcolor='#ffffff'><td><b>Item</b></td><td align=center><b>Price</b></td><td align=center><b>Subtotal</b></td></tr>\n";
		itemcount = 0;
		subtotal=0;
		grandtotal=0;
		logbox='';
		var carriage = 0;
		for(var f=0;f<numberofproducts;f++) {
			if(cartitems[f]['QUANTITY']!=0)	{
				outputbasket += "<tr bgcolor='#ffffff' class='items'>";
				outputbasket += "<td>"+ cartitems[f]['NUMBER']	+ " for " + cartitems[f]['PERIOD']	+" months ";
				logbox += cartitems[f]['PRODUCTID']+"|"
					+ cartitems[f]['PRODUCTTYPEID']+"|"
					+ cartitems[f]['NUMBER']+"|"
					+ cartitems[f]['PERIOD']+"|"
					+ cartitems[f]['PRICE']+"|"
					+ cartitems[f]['QUANTITY']+"#";
				outputbasket += "</td>";
				outputbasket += "<td align=center nowrap><nobr>&pound;" + format(cartitems[f]['PRICE']) + "</nobr></td>\n";
				lineprice = parseFloat(cartitems[f]['PRICE'])  * parseInt(cartitems[f]['QUANTITY']);
				outputbasket += "<td align=center nowrap><nobr>&pound;" + format(lineprice) + "</td>\n";		
				outputbasket += "</tr>\n";
				itemcount++;
				subtotal = parseFloat(subtotal) + parseFloat(lineprice);
			}
		}
		thenet = round_decimals(subtotal,2);
		//thevat = round_decimals((subtotal/100)*17.5,2);
		if (document.getElementById('collect').checked) carriage = 0.00;
		else carriage = 8.50;
		grandtotal = 0.00 + subtotal + carriage;
		grandtotal = round_decimals(grandtotal,2);
		outputbasket += "<tr bgcolor='#ffffff'><td colspan=2 align=right><b>NET</b></td>\n";
		outputbasket += "<td align=center>&pound;"+format(thenet)+"</td>";
		outputbasket += "</tr>";
		outputbasket += "<tr bgcolor='#ffffff'><td colspan=2 align=right><b>CARRIAGE CHARGE</b></td>\n";
		outputbasket += "<td align=center>&pound;"+format(carriage)+"</td>";
		outputbasket += "</tr>";
		outputbasket += "<tr bgcolor='#ffffff'><td colspan=2 align=right><b>Grand Total</b></td>\n";
		outputbasket += "<td align=center>&pound;"+format(grandtotal)+"</td>";
		outputbasket += "</tr>";
		outputbasket += "</table>";
		document.theorderdetails.orderbox.value = outputbasket;
		document.theorderdetails.amount.value = parseInt(parseFloat(grandtotal)*100);
		document.theorderdetails.logbox.value = logbox;
		document.theorderdetails.submit();
	}
}