function CKquantity(checkString) {
	strNewQuantity = "";

	for ( i = 0; i < checkString.length; i++ ) {
		ch = checkString.substring(i, i+1);
		if ( (ch >= "0" && ch <= "9") || (ch == '.') )
			strNewQuantity += ch;
	}

	if ( strNewQuantity.length < 1 )
		strNewQuantity = "1";

	return(strNewQuantity);
}
function AddToCart(thisForm) {
	iNumberOrdered = 0;
	iNumberOrdered = GetCookie("NumberOrdered");
	iNumberOrdered++;

	if (iNumberOrdered>=20)
	{
		alert("Basket full! Please proceed to checkout");
		return;
	}

	if ( thisForm.ID_NUM == null )
		strID_NUM	= "";
	else
		strID_NUM	= thisForm.ID_NUM.value;

	if ( thisForm.QUANTITY == null )
		strQUANTITY	= "1";
	else
		strQUANTITY	= thisForm.QUANTITY.value;
		
	if ( thisForm.PRICE == null )
		strPRICE	= "0.00";
	else
		strPRICE	= thisForm.PRICE.value;
	
	if ( thisForm.NAME == null )
		strNAME	= "";
	else
		strNAME	= thisForm.NAME.value;
   
	if ( thisForm.SHIPPING == null )
		strSHIPPING	= "0.00";
	else
		strSHIPPING	= thisForm.SHIPPING.value;

	if ( thisForm.ADDITIONALINFO == null )
		strADDTLINFO = "";
	else
		strADDTLINFO = thisForm.ADDITIONALINFO.value;

	if (thisForm.TYPE == null )
		strTYPE = "";
	else
		strTYPE = thisForm.TYPE.value;

	if (thisForm.COLOURS == null )
		strCOLOURS = "";
	else
		strCOLOURS = thisForm.COLOURS.value;

	if (thisForm.GIFTBOX == null)
		strGIFTBOX = "";
	else
		strGIFTBOX = thisForm.GIFTBOX.value;

	dbUpdatedOrder = strID_NUM	+ "|" + 
				strQUANTITY + "|" +
				strPRICE	+ "|" +
				strNAME	+ "|" +
				strSHIPPING + "|" +
				strADDTLINFO+ "|" +
				strTYPE	+ "|" +
				strCOLOURS	+ "|" +
				strGIFTBOX;

	strNewOrder = "Order." + iNumberOrdered;
	SetCookie(strNewOrder, dbUpdatedOrder, null, "/");
	SetCookie("NumberOrdered", iNumberOrdered, null, "/");
	notice = strQUANTITY + " " + strID_NUM + " added to your shopping cart.";
	alert(notice);
}

function getCookieVal (offset) {
	var endstr = document.cookie.indexOf (";", offset);

	if ( endstr == -1 )
		endstr = document.cookie.length;
	return(unescape(document.cookie.substring(offset, endstr)));
}

function FixCookieDate (date) {
	var base = new Date(0);
	var skew = base.getTime();

	date.setTime (date.getTime() - skew);
}

function GetCookie (name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;

	while ( i < clen ) {
		var j = i + alen;
		if ( document.cookie.substring(i, j) == arg ) return(getCookieVal (j));
		i = document.cookie.indexOf(" ", i) + 1;
		if ( i == 0 ) break;
	}

	return(null);
}

function SetCookie (name,value,expires,path,domain,secure) {
	var newcookie  = name + "=" + escape (value) +
				((expires) ? "; expires=" + expires.toGMTString() : "") +
				((path) ? "; path=" + path : "") +
				((domain) ? "; domain=" + domain : "") +
				((secure) ? "; secure" : "");


	if ((document.cookie.length + newcookie.length > 4000) && (name!="NumberOrdered"))
	{
		alert("Basket full!  Please proceed to checkout");
	}
	else
	{
		document.cookie = newcookie;
	}
}

function DeleteCookie (name,path,domain) {
	if ( GetCookie(name) ) {
		document.cookie = name + "=" +
					((path) ? "; path=" + path : "") +
					((domain) ? "; domain=" + domain : "") +
					"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

function moneyFormat(input) {
	var dollars = Math.floor(input);
	var tmp = new String(input);

	for ( var decimalAt = 0; decimalAt < tmp.length; decimalAt++ ) {
		if ( tmp.charAt(decimalAt)=="." )
			break;
	}

	var cents  = "" + Math.round(input * 100);
	cents = cents.substring(cents.length-2, cents.length)
	dollars += ((tmp.charAt(decimalAt+2)=="9")&&(cents=="00"))? 1 : 0;

	if ( cents == "0" )
		cents = "00";

	return(dollars + "." + cents);
}

function RemoveFromCart(RemOrder) {
	if ( confirm("Click 'Ok' to remove this product from your shopping cart.") ) {
		NumberOrdered = GetCookie("NumberOrdered");
		for ( i=RemOrder; i < NumberOrdered; i++ ) {
			NewOrder1 = "Order." + (i+1);
			NewOrder2 = "Order." + (i);
			database = GetCookie(NewOrder1);
			SetCookie (NewOrder2, database, null, "/");
		}
		NewOrder = "Order." + NumberOrdered;
		SetCookie ("NumberOrdered", NumberOrdered-1, null, "/");
		DeleteCookie(NewOrder, "/");
		location.href=location.href;
	}
}

function GetFromCart( fShipping ) {
	if( fShipping )
		WriteToForm( true, fShipping );
	else
		WriteToForm( true, 0 );
}

function WriteToForm( bDisplay, fShipping ) {
	iNumberOrdered = 0;
	fTotal = 0;
	fExtras = 0;
	strTotal = "";
	strExtras = "";
	strOutput = "";
	iNumberOrdered = GetCookie("NumberOrdered");

	if ( bDisplay )
		strOutput = 
			"<FONT color=#000000 face=\"Arial, Helvetica, sans-serif\">" +
			"<table bgcolor=#CCFF00 width=610 align=center cellpadding=4 cellspacing=0 border=0 CLASS=\"nopcart\"><TR>" +
			"<SCRIPT>" +
			// *****************************************************************
			// Here is the function which performs the calculation when the form
			// is loaded and also when the shipping destination is changed.
			// *****************************************************************
			"function calcTotals() "+
			"{ " +
				// Locate the form objects
				"SUBTOTAL=MM_findObj(\"SUBTOTAL\",null); "+
				"SELECT=MM_findObj(\"SELECT\",null); "+
				"VAT=MM_findObj(\"VAT\",null); "+
				"DISCOUNT=MM_findObj(\"DISCOUNT\",null); "+
				"SHIPPING=MM_findObj(\"SHIPPING\",null); "+
				"shippingtotal=MM_findObj(\"shippingtotal\",null); "+
				"TOTAL=MM_findObj(\"TOTAL\",null); "+
				"amount=MM_findObj(\"amount\",null); "+
				// Do the calculation
				"VAT.value=((SELECT.value!=10)*0.175*SUBTOTAL.value);"+
				"DISCOUNT.value=(((1*SUBTOTAL.value)+(1*VAT.value)>=42.55)*0.1*((1*SUBTOTAL.value)+(1*VAT.value)));"+
				"SHIPPING.value=(SELECT.value);"+
				"shippingtotal.value=(SELECT.value);"+
				"TOTAL.value=((1*SUBTOTAL.value)+(1*VAT.value)-(1*DISCOUNT.value)+(1*SHIPPING.value));"+
				"amount.value=((1*SUBTOTAL.value)+(1*VAT.value)-(1*DISCOUNT.value)+(1*SHIPPING.value));"+
				// Trim to 2 decimal places
				"SUBTOTAL.value=moneyFormat(SUBTOTAL.value);"+
				"VAT.value=moneyFormat(VAT.value);"+
				"DISCOUNT.value=moneyFormat(DISCOUNT.value);"+
				"SHIPPING.value=moneyFormat(SHIPPING.value);"+
				"shippingtotal.value=moneyFormat(shippingtotal.value);"+
				"TOTAL.value=moneyFormat(TOTAL.value);"+
				"amount.value=moneyFormat(amount.value);"+
			"} "+
			"</SCRIPT>" +
			"<TD bgcolor=#CCFF00 CLASS=\"nopheader\"><B>Product</B></TD>" +
			"<TD bgcolor=#CCFF00 CLASS=\"nopheader\"><B>Details</B></TD>" +
			"<TD bgcolor=#CCFF00 CLASS=\"nopheader\"><B>Type</B></TD>" +
			"<TD bgcolor=#CCFF00 CLASS=\"nopheader\"><B>Colours</B></TD>" +
			"<TD bgcolor=#CCFF00 CLASS=\"nopheader\"><B>Qty</B></TD>" +
			"<TD bgcolor=#CCFF00 CLASS=\"nopheader\"><B>Price</B></TD>" +
			"<TD bgcolor=#CCFF00 CLASS=\"nopheader\"><B></B></TD></TR>";

	fFlag = 1;

	strOutput += "<input type=hidden name=\"LINES\" value=\"" + iNumberOrdered + "\">";
	
	var prodnum = 0;

	for ( i = 1; i <= iNumberOrdered; i++ ) {
		NewOrder = "Order." + i;
		database = "";
		database = GetCookie(NewOrder);
		
		prodnum++;

		Token0 = database.indexOf("|", 0);
		Token1 = database.indexOf("|", Token0+1);
		Token2 = database.indexOf("|", Token1+1);
		Token3 = database.indexOf("|", Token2+1);
		Token4 = database.indexOf("|", Token3+1);
		Token5 = database.indexOf("|", Token4+1);
		Token6 = database.indexOf("|", Token5+1);
		Token7 = database.indexOf("|", Token6+1);

		fields = new Array;
		fields[0] = database.substring( 0, Token0 );
		fields[1] = database.substring( Token0+1, Token1 );
		fields[2] = database.substring( Token1+1, Token2 );
		fields[3] = database.substring( Token2+1, Token3 );
		fields[4] = database.substring( Token3+1, Token4 );
		fields[5] = database.substring( Token4+1, Token5 );
		fields[6] = database.substring( Token5+1, Token6 );
		fields[7] = database.substring( Token6+1, Token7 );
		fields[8] = database.substring( Token7+1, database.length );

		fTotal += (parseInt(fields[1]) * parseFloat(fields[2]) );
		fExtras += (parseInt(fields[1]) * parseFloat(fields[4]) );
		strTotal = moneyFormat(fTotal);
		strExtras = moneyFormat(fExtras);

		if ( bDisplay ) {
			fFlag = 1-fFlag;

			// Print order line part 1

			if (fFlag == 0)
				strOutput += "<TR COLOR=#000000 BGCOLOR=#CCFF99><TD CLASS=\"nopentry\"><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2><input name=\"product"+prodnum+"\" type=\"hidden\" id=\"product\" value=\""+ fields[0] +"\"><B>"  + fields[0] + "</BR></FONT></TD>";
			else
				strOutput += "<TR COLOR=#000000 BGCOLOR=#CCFF00><TD CLASS=\"nopentry\"><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2><input name=\"product"+prodnum+"\" type=\"hidden\" id=\"product\" value=\""+ fields[0] +"\"><B>"  + fields[0] + "</BR></FONT></TD>";
		
			strOutput += "<TD CLASS=\"nopentry\"><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2><input name=\"details"+prodnum+"\" type=\"hidden\" id=\"details"+prodnum+"\" value=\""+ fields[3] +"\">"  + fields[3] + "</FONT></TD>";
			strOutput += "<TD CLASS=\"nopentry\"><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2><input name=\"type"+prodnum+"\" type=\"hidden\" id=\"type"+prodnum+"\" value=\""+ fields[6] +"\">" + fields[6] + "</FONT></TD>";
			strOutput += "<TD CLASS=\"nopentry\"><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2><input name=\"colours"+prodnum+"\" type=\"hidden\" id=\"colours"+prodnum+"\" value=\""+ fields[7] +"\">" + fields[7] + "</FONT></TD>";
			strOutput += "<TD CLASS=\"nopentry\"><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2><input name=\"qty"+prodnum+"\" type=\"hidden\" id=\"qty"+prodnum+"\" value=\""+ fields[1] +"\">"  + fields[1] + "</FONT></TD>";
			strOutput += "<TD CLASS=\"nopentry\"><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2><input name=\"price"+prodnum+"\" type=\"hidden\" id=\"price"+prodnum+"\" value=\""+ moneyFormat(fields[2]) +"\">£" + moneyFormat(fields[2]) + "/ea</FONT></TD>";
			strOutput += "<TD CLASS=\"nopentry\"><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2><input name=\"prodnum\" type=\"hidden\" id=\"prodnum\" value=\"" +prodnum+ "\"><input type=button value=\" Remove \" onClick=\"RemoveFromCart("+i+")\" class=\"nopbutton\"></FONT></TD>";
			strOutput += "</TR>";	

			// Print order line part 2 (fields 5 & 8) if Ball Markers or Shaft Labels
			if (fFlag == 0)
				strOutput += "<TR COLOR=#FF0000 BGCOLOR=#CCFF99><TD CLASS=\"nopentry\"><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2>";
			else
				strOutput += "<TR COLOR=#FF0000 BGCOLOR=#CCFF00><TD CLASS=\"nopentry\"><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2>";

			if (
				(fields[0]=='Ball Markers') ||
				(fields[0]=='Divot Repairer Tool') ||		
				(fields[0]=='Pitch Repairer') ||
				(fields[0]=='Golf Keyring') ||
				(fields[0]=='Easyfind Markers')
			)
				strOutput += "<B>Gift Box</B></FONT></TD>";
			else if (fields[0]=='Membership Labels')
				strOutput += "<B>Pack Size</B></FONT></TD>";
			else
				strOutput += "</FONT></TD>";

			strOutput += "<TD CLASS=\"nopentry\"><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2><input name=\"addinfo"+prodnum+"\" type=\"hidden\" id=\"addinfo"+prodnum+"\" value=\""+ fields[5] +"\">"  + fields[5] + "</FONT></TD>";
			strOutput += "<TD></TD>";
			strOutput += "<TD CLASS=\"nopentry\"><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2><input name=\"giftbox"+prodnum+"\" type=\"hidden\" id=\"giftbox"+prodnum+"\" value=\""+ fields[8] +"\">" + fields[8] + "</FONT></TD>";
			if (
				(fields[0]=='Ball Markers') ||
				(fields[0]=='Divot Repairer Tool') ||
				(fields[0]=='Pitch Repairer') ||
				(fields[0]=='Golf Keyring') ||
				(fields[0]=='Easyfind Markers')
			)
				strOutput += "<TD></TD><TD><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=2><input name=\"shipping"+prodnum+"\" type=\"hidden\" id=\"shipping"+prodnum+"\" value=\""+moneyFormat(fields[4])+"\">£"+moneyFormat(fields[4])+"</FONT></TD><TD></TD>";
			else
				strOutput += "<TD></TD><TD></TD><TD></TD>";
			strOutput += "</TR>";
		}
		

		strOutput += "<input type=hidden name=\"ID_" + i + "\" value=\"" + fields[0] + "\">";
		strOutput += "<input type=hidden name=\"QUANTITY_" + i + "\" value=\"" + fields[1] + "\">";
		strOutput += "<input type=hidden name=\"PRICE_" + i + "\" value=\"" + fields[2] + "\">";
		strOutput += "<input type=hidden name=\"NAME_" + i + "\" value=\"" + fields[3] + "\">";
		strOutput += "<input type=hidden name=\"SHIPPING_" + i + "\" value=\"" + fields[4] + "\">";
		strOutput += "<input type=hidden name=\"ADDTLINFO_"+ i + "\" value=\"" + fields[5] + "\">";
		strOutput += "<input type=hidden name=\"TYPE_" + i + "\" value=\"" + fields[6] + "\">";
		strOutput += "<input type=hidden name=\"COLOURS_" + i + "\" value=\"" + fields[7] + "\">";
		strOutput += "<input type=hidden name=\"GIFTBOX_" + i + "\" value=\"" + fields[8] + "\">";
	}

	fTotal = fTotal + fExtras;

	if ( bDisplay ) {
		strOutput += "</FONT>";
		strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=4><B>SUBTOTAL</B><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=1> including any personalisation costs</FONT></TD>";
		strOutput += "<TD CLASS=\"noptotal\" COLSPAN=2><B>£<input type=input readonly name=\"SUBTOTAL\" value=\"" + (fTotal) + "\"></B></TD>";
		strOutput += "</TR>";
		strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=4><B>V.A.T.</B></TD>";
		strOutput += "<TD CLASS=\"noptotal\" COLSPAN=2><B>£<input type=input readonly name=\"VAT\" value=\"0.00\"></B></TD>";
		strOutput += "</TR>";
		strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=4><B>DISCOUNT</B></TD>";
		strOutput += "<TD CLASS=\"noptotal\" COLSPAN=2><B>£<input type=input readonly name=\"DISCOUNT\" value=\"0.00\"></B></TD>";
		strOutput += "</TR>";
		strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=4><B>SHIP TO</B></TD>";
		strOutput += "<TD CLASS=\"noptotal\" COLSPAN=2><SELECT NAME=\"SELECT\" ONCHANGE=\""+
		"calcTotals();"+
		"\"><OPTION VALUE=0>United Kingdom FREE DELIVERY</OPTION><OPTION VALUE=5>Europe(EEC) £5 up to 1kg</OPTION><OPTION VALUE=10>Rest of World £10 up to 1kg</OPTION></SELECT>";
		strOutput += "</TR>";
		strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=4><B>SHIPPING</B><FONT face=\"Arial, Helvetica, sans-serif\" SIZE=1> If your order to outside the UK is over 1kg we will quote you delivery by e-mail</FONT></TD>";
		strOutput += "<TD CLASS=\"noptotal\" COLSPAN=2><B>£<input type=input readonly name=\"SHIPPING\" value=\"0.00\"></B></TD>";
		strOutput += "</TR>";
		strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=4><B>TOTAL</B></TD>";
		strOutput += "<TD CLASS=\"noptotal\" COLSPAN=2><B>£<input type=input readonly name=\"TOTAL\" value=\"0.00\"></B></TD>";
		strOutput += "</TR>";
		strOutput += "<TR>";
		strOutput += "<TD colspan=\"7\">";
		strOutput += "<div align=\"right\">";
		strOutput += "<input type=hidden name=\"instId\" value=\"142284\">";
  		strOutput += "<input type=hidden name=\"currency\" value=\"GBP\">";
		strOutput += "<input type=hidden name=\"testMode\" value=\"100\">";
		strOutput += "<input type=hidden name=\"cartId\" value=\"WebPurchase\">";
		strOutput += "<input type=hidden name=\"shippingtotal\" value=\"0.00\">";
		strOutput += "<input type=hidden name=\"amount\" value=\"0.00\">";
		strOutput += "<input type=\"image\" src=\"htmlpics/placeorderbut2.gif\" width=\"177\" height=\"19\" alt=\"Submit Form\" name=\"Submit\" align=\"right\"></div></TD>";
		strOutput += "</TD>";
		strOutput += "</TR>";
 		strOutput += "</FONT>";
		strOutput += "<SCRIPT>calcTotals();</SCRIPT>";
		strOutput += "</TABLE>"
	}
	document.write(strOutput);
	document.close();
}
