

// ** BEGIN GLOBAL ADJUSTMENTS ** //
// Order form columns and rows specifications
// **Column titles CANNOT CONTAIN PERIODS
var columnHeads = "Qty,Description,ExVAT,VAT,Total, , ".split(",");
var columnWidths = "3,45,6,6,6,".split(",");
var numberOfRows = itemsInBasketSoFar;
// data entry row math



function makeTitleRow() {
	var titleRow = '<tr>';
	for (var i = 0; i < columnHeads.length; i++) {
titleRow += '<th>' + columnHeads[i] + '</th>';
	}
	titleRow += '</tr>';
	return titleRow;
}



function makeOneRow(rowNum) {
	var oneRow = '<tr>';
	for (var i = 0; i < ( columnHeads.length - 2) ; i++) {
oneRow += '<td><input class="textfield" type="text" size="' + 
	columnWidths[i] + '" name="' + columnHeads[i] + 
	'" /></td>';
	}
	oneRow += '<td>&nbsp;</td>';
	oneRow += '<td><button onClick="removeAnItem(' + rowNum + ')">Remove</button></td>';
	oneRow += '</tr>';
	oneRow += '<tr><td>&nbsp;</td><td align="left"><input class="textfield" type="text" size="40" name="DescCont1" /></td><td colspan="' + (columnHeads.length - 2) + '">&nbsp;</td></tr>';
	oneRow += '<tr><td>&nbsp;</td><td align="left"><input class="textfield" type="text" size="40" name="DescCont2" /></td><td colspan="' + (columnHeads.length - 2) + '">&nbsp;</td></tr>';
	oneRow += '<tr><td>&nbsp;</td><td align="left"><input class="textfield" type="text" size="40" name="DescCont3" /></td><td colspan="' + (columnHeads.length - 2) + '">&nbsp;</td></tr>';
	oneRow += '<tr><td>&nbsp;</td><td align="left"><input class="textfield" type="text" size="40" name="DescCont4" /></td><td colspan="' + (columnHeads.length - 2) + '">&nbsp;</td></tr>';
	oneRow += '<tr><td>&nbsp;</td><td align="left"><input class="textfield" type="text" size="40" name="DescCont5" /></td><td colspan="' + (columnHeads.length - 2) + '">&nbsp;</td></tr>';
	return oneRow
}



function initialiseBasket() { 
		var newHTML2 = "";
		var basketArrayRaw = getCookie("fishforthoughtBasketItems");
		if (basketArrayRaw == "") { //no items yet
			newHTML2 += '<p>You have not added anything to your shopping basket yet.</p>';
			newHTML2 += '<p class="buttons"><button onClick="keepShopping()">Continue shopping ...</button></p>';
		}
		else { // there are items
			var str = new String(basketArrayRaw);
			var re = /EITM/;
			if ( str.indexOf("EITM") == -1) {
				arrayOfItems[0] = str;
				itemsInBasketSoFar = 1;
			}
			else {
				arrayOfItems = str.split(re);
				itemsInBasketSoFar = arrayOfItems.length;
			}
			newHTML2 += '<form onsubmit="return false"><table class="checkout">';
			newHTML2 += makeTitleRow();
			// order form entry rows
			numberOfRows = itemsInBasketSoFar; //updates
			for (var i = 0; i < numberOfRows; i++) {
				newHTML2 += makeOneRow(i);
			}

			newHTML2 += '<tr><td colspan="7">&nbsp;</td></tr>'; 
			newHTML2 += '<tr><td>&nbsp;</td>'; 
			newHTML2 += '<td id="postageTotal">Delivery to UK address<br />(see below for Channel Islands)</td><td><input type="text" class="textfield" size="7" name="postexvat" /></td><td><input type="text" class="textfield" size="7" name="postvat" /></td>';
			newHTML2 += '<td><input type="text" class="textfield" size="7" name="totalpost" /></td><td colspan="2">&nbsp;</td></tr>';

			newHTML2 += '<tr><td colspan="7">&nbsp;</td></tr>'; 
			newHTML2 += '<tr><td colspan="1"></td>'; 
			newHTML2 += '<td class="grandTotal" colspan="3" align="right" >Total including UK delivery and VAT &pound;</td>';
			newHTML2 +=	'<td><input type="text" class="textfield" size="7" name="total" /></td><td colspan="2">&nbsp;</td></tr>';
			newHTML2 +=	'</table></form>';
		}

		window.document.getElementById("theform").innerHTML = newHTML2;
		
}





function initialiseBasketForPt2() { 
		var basketArrayRaw = getCookie("fishforthoughtBasketItems");
		if (basketArrayRaw == "") { //no items yet
			alert("You have nothing in your basket.  Please click the back button to keep shopping")
		}
		else { // there are items
			var str = new String(basketArrayRaw);
			var re = /EITM/;
			if ( str.indexOf("EITM") == -1) {
				arrayOfItems[0] = str;
				itemsInBasketSoFar = 1;
			}
			else {
				arrayOfItems = str.split(re);
				itemsInBasketSoFar = arrayOfItems.length;
			}
		}
}





var totalWithoutPostForMinCheck = 0;


function populateCheckoutVariablesArray(myReferrer) {
 
		var subTotal = 0;
		var postTotal = 0;
		if (itemsInBasketSoFar == 0) { ; } // do nothing
		else {
			var unitPriceWithVAT = 0;
			var dC1 = "";
			var dC2 = "";
			var dC3 = "";
			var dC4 = "";
			var dC5 = "";

			var mainDesc = "";
			if ( itemsInBasketSoFar == 1 ) { 
				var str = new String(arrayOfItems[0])
				var re = /__/
				var arrayOfItemFields = str.split(re)



				unitPriceWithNOVAT = parseFloat(arrayOfItemFields[1])*parseFloat(arrayOfItemFields[2]);






				mainDesc = arrayOfItemFields[3]


				var mainComments = new String(arrayOfItemFields[4]);
				if (mainComments == "No special instructions") {
					mainComments = "";
				}
			
				var newComments = new String(arrayOfItemFields[5]);



					
				postTotal = 7.95;

				if (mainDesc.indexOf("Gift Token") != -1) {
					postTotal = 0.75;
				}



				if (mainComments.length > 25) {
					dC1 = mainComments.substring(0, 28);
					dC2 = mainComments.substring(28, 56);
					dC3 = mainComments.substring(56, 84);
					dC4 = mainComments.substring(84, 112);
					dC5 = mainComments.substring(112, 140);
				}

				else if (mainComments.length < 25 && mainComments != "No special instructions") { 
					dC1 = mainComments.substring(0, 28);
					dC2 = newComments.substring(0, 28);
					dC3 = newComments.substring(28, 56);
					dC4 = newComments.substring(56, 84);
					dC5 = newComments.substring(84, 112);
				}
				else {
					dC1 = newComments.substring(0, 28);
					dC2 = newComments.substring(28, 56);
					dC3 = newComments.substring(56, 84);
					dC4 = newComments.substring(84, 112);
					dC5 = newComments.substring(112, 140);
				}




				document.forms[0].Qty.value = arrayOfItemFields[2];
				document.forms[0].Description.value = mainDesc;
				document.forms[0].DescCont1.value = dC1;
				document.forms[0].DescCont2.value = dC2;
				document.forms[0].DescCont3.value = dC3;
				document.forms[0].DescCont4.value = dC4;
				document.forms[0].DescCont5.value = dC5;
				document.forms[0].Total.value = knockOffSomeDecPlaces(unitPriceWithNOVAT,2);
				subTotal += unitPriceWithNOVAT;
				var withoutVAT = knockOffSomeDecPlaces(unitPriceWithNOVAT,2);
				document.forms[0].ExVAT.value = withoutVAT;
				document.forms[0].VAT.value = "0.00";
				document.forms[0].Qty.readOnly = true;
				document.forms[0].Description.readOnly = true;
				document.forms[0].DescCont1.readOnly = true;
				document.forms[0].DescCont2.readOnly = true;
				document.forms[0].Total.readOnly = true;
			}
			else {




				for (var i = 0; i < arrayOfItems.length; i++ ) { //an item at a time
					var str = new String(arrayOfItems[i])
					var re = /__/
					var arrayOfItemFields = str.split(re)


					unitPriceWithNOVAT = parseFloat(arrayOfItemFields[1])*parseFloat(arrayOfItemFields[2]);

					
					mainDesc = arrayOfItemFields[3]


					if (mainDesc.indexOf("Gift Token") != -1) {
						postTotal += 0.75;
					}
					else {
						postTotal += 7.95;
					}


					var mainComments = new String(arrayOfItemFields[4]);
					var newComments = new String(arrayOfItemFields[5]);



					if (mainComments.length > 25) {
						dC1 = mainComments.substring(0, 28);
						dC2 = mainComments.substring(28, 56);
						dC3 = mainComments.substring(56, 84);
						dC4 = mainComments.substring(84, 112);
						dC5 = mainComments.substring(112, 140);
					}
					else if (mainComments.length < 25 && mainComments != "No special instructions") { 
						dC1 = mainComments.substring(0, 28);
						dC2 = newComments.substring(0, 28);
						dC3 = newComments.substring(28, 56);
						dC4 = newComments.substring(56, 84);
						dC5 = newComments.substring(84, 112);
					}
					else {
						dC1 = newComments.substring(0, 28);
						dC2 = newComments.substring(28, 56);
						dC3 = newComments.substring(56, 84);
						dC4 = newComments.substring(84, 112);
						dC5 = newComments.substring(112, 140);
					}

					var withoutVAT = knockOffSomeDecPlaces(unitPriceWithNOVAT,2);
					document.forms[0].ExVAT.value = withoutVAT;
					document.forms[0].VAT.value = "0.00";
					document.forms[0].Qty.readOnly = true;
					document.forms[0].Description.readOnly = true;
					document.forms[0].DescCont1.readOnly = true;
					document.forms[0].DescCont2.readOnly = true;
					document.forms[0].Total.readOnly = true;


					document.forms[0].Qty[i].value = arrayOfItemFields[2];
					document.forms[0].Description[i].value = mainDesc;
					document.forms[0].DescCont1[i].value = dC1;
					document.forms[0].DescCont2[i].value = dC2;	
					document.forms[0].DescCont3[i].value = dC3;	
					document.forms[0].DescCont4[i].value = dC4;	
					document.forms[0].DescCont5[i].value = dC5;	
					document.forms[0].Total[i].value = knockOffSomeDecPlaces(unitPriceWithNOVAT,2);
					subTotal += unitPriceWithNOVAT;
					var withoutVAT = knockOffSomeDecPlaces(unitPriceWithNOVAT,2);
					document.forms[0].ExVAT[i].value = withoutVAT;
					document.forms[0].VAT[i].value = "0.00";
					document.forms[0].Qty[i].readOnly = true;
					document.forms[0].Description[i].readOnly = true;
					document.forms[0].DescCont1[i].readOnly = true;
					document.forms[0].DescCont2[i].readOnly = true;
					document.forms[0].Total[i].readOnly = true;
				}
			}
			if (postTotal >= 7.95 ) {
				postTotal = 7.95;
			}
			else if (postTotal > 0.75 ) {
				postTotal = 0.75;
			}
			if (subTotal >= 100) {
				postTotal = 0;
				document.getElementById("postageTotal").innerHTML = "<strong>FREE DELIVERY</strong> to a UK address";
			}
			subTotal += postTotal;

			var postWithoutVAT = knockOffSomeDecPlaces(postTotal,2);
	
			document.forms[0].totalpost.value = knockOffSomeDecPlaces(postTotal,2);
			if (postTotal > 0) {
				document.forms[0].postexvat.value = postWithoutVAT;
				document.forms[0].postvat.value = "0.00";
			}
			else {
				document.forms[0].postexvat.value = "0.00";
				document.forms[0].postvat.value = "0.00";
			}

			document.forms[0].postexvat.readOnly = true;
			document.forms[0].totalpost.readOnly = true;
			document.forms[0].postvat.readOnly = true;

			document.forms[0].total.value = knockOffSomeDecPlaces(subTotal,2);
			document.forms[0].total.readOnly = true;

			var newHTML = ""


			if (subTotal - postTotal < 25) {
				var extraToAdd2 = 25 - (subTotal - postTotal);
				newHTML += '<p><strong> MINIMUM ORDER VALUE IS &pound;25. (Excluding Delivery) <br />***** Please add another &pound;' + knockOffSomeDecPlaces(extraToAdd2, 2) + ' *****</strong></p>';
			}



			if ( itemsInBasketSoFar > 2 ) { 
				newHTML += '<p class="buttons"><button class="checkout" onclick="checkOut()">';
				newHTML += 'Click to Check Out</button>&nbsp;&nbsp;&nbsp;';
				newHTML += '<button onClick="keepShopping()">';
				newHTML += 'Keep Shopping</button>&nbsp;&nbsp;&nbsp;<button onClick="window.print()">Print</button></p>';
			}

			newHTML += '<p><strong>PRIVACY &amp; SECURITY:</strong>: Our online ordering pages are secured using Secure Sockets Layer (SSLv3). (Cipher used MD5. Keysize 128 bit). We are committed to protecting your privacy. We will only use the information that we collect about you lawfully (in accordance with the Data Protection Act 1998). We will never pass your e-mail address or postal address to any other company or organisation. In accordance with the Privacy & Electronic Communications Act passed into law 11 Dec 2003, we do not send random marketing emails to personal email addresses (spam). The personal information which we do hold while processing your order will be held securely in accordance with our internal security policy and the law.</p>';

			newHTML += '<p id="addressforprint">Copyright Fish For Thought, St Columb Business Centre<br />Barn Lane, St Columb Major, Cornwall, TR9 6BU.<br />Contact Phone: 01637 806103  Email: sales@fishforthought.co.uk</p>';


			document.getElementById("bottombit").innerHTML = newHTML;


			newHTML = '<p class="buttons"><button class="checkout" onClick="checkOut()">';
			newHTML += 'Click to Check Out</button>&nbsp;&nbsp;&nbsp;';
			newHTML += '<button onClick="keepShopping()">';
			newHTML += 'Keep Shopping</button>&nbsp;&nbsp;&nbsp;<button onClick="window.print()">Print</button></p>';
			
			if (myReferrer != "removeAnItem") { //causes crashing 5.5
				document.getElementById("topbit").innerHTML = newHTML;
			}
		}
		document.getElementById("baskettitle").innerHTML = "Shopping Basket";
		setCookie("fishforthoughtTotal", subTotal - postTotal);
		totalWithoutPostForMinCheck = (subTotal - postTotal);
		if (myReferrer == "removeAnItem") { //only way to clear topbit div without crashing 5.5
			location.href="shopping_basket_new.html";
		}



} // END OF populateCheckoutVariablesArray








function writeHiddenSection() {

		if (itemsInBasketSoFar == 0) { ; } // do nothing
		else {

			var HTMLToWrite = "";

			for (var i = 0; i < arrayOfItems.length; i++ ) { //an item at a time
				var str = new String(arrayOfItems[i])
				var re = /__/
				var arrayOfItemFields = str.split(re)		



				var pN = parseInt(arrayOfItemFields[0]);



				if ( arrayOfItemFields[0] == 962 ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + 962  + '_ _' + arrayOfItemFields[2] + '_ _' + arrayOfItemFields[4] + '"><input type="hidden" name="sp1price" value="' + arrayOfItemFields[1] + '"><input type="hidden" name="sp1desc" value="' + arrayOfItemFields[3] + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( arrayOfItemFields[0] == 963 ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + 963  + '_ _' + arrayOfItemFields[2] + '_ _' + arrayOfItemFields[4] + '"><input type="hidden" name="sp2price" value="' + arrayOfItemFields[1] + '"><input type="hidden" name="sp2desc" value="' + arrayOfItemFields[3] + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( arrayOfItemFields[0] == 964 ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + 964  + '_ _' + arrayOfItemFields[2] + '_ _' + arrayOfItemFields[4] + '"><input type="hidden" name="sp3price" value="' + arrayOfItemFields[1] + '"><input type="hidden" name="sp3desc" value="' + arrayOfItemFields[3] + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( arrayOfItemFields[0] == 965 ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + 965  + '_ _' + arrayOfItemFields[2] + '_ _' + arrayOfItemFields[4] + '"><input type="hidden" name="sp4price" value="' + arrayOfItemFields[1] + '"><input type="hidden" name="sp4desc" value="' + arrayOfItemFields[3] + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( arrayOfItemFields[0] == 966 ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + 966  + '_ _' + arrayOfItemFields[2] + '_ _' + arrayOfItemFields[4] + '"><input type="hidden" name="sp5price" value="' + arrayOfItemFields[1] + '"><input type="hidden" name="sp5desc" value="' + arrayOfItemFields[3] + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( arrayOfItemFields[0] == 967 ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + 967  + '_ _' + arrayOfItemFields[2] + '_ _' + arrayOfItemFields[4] + '"><input type="hidden" name="sp6price" value="' + arrayOfItemFields[1] + '"><input type="hidden" name="sp6desc" value="' + arrayOfItemFields[3] + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( arrayOfItemFields[0] == 968 ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + 968  + '_ _' + arrayOfItemFields[2] + '_ _' + arrayOfItemFields[4] + '"><input type="hidden" name="sp7price" value="' + arrayOfItemFields[1] + '"><input type="hidden" name="sp7desc" value="' + arrayOfItemFields[3] + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( arrayOfItemFields[0] == 969 ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + 969  + '_ _' + arrayOfItemFields[2] + '_ _' + arrayOfItemFields[4] + '"><input type="hidden" name="sp8price" value="' + arrayOfItemFields[1] + '"><input type="hidden" name="sp8desc" value="' + arrayOfItemFields[3] + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( arrayOfItemFields[0] == 970 ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + 970  + '_ _' + arrayOfItemFields[2] + '_ _' + arrayOfItemFields[4] + '"><input type="hidden" name="sp9price" value="' + arrayOfItemFields[1] + '"><input type="hidden" name="sp9desc" value="' + arrayOfItemFields[3] + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( arrayOfItemFields[0] == 971 ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + 971  + '_ _' + arrayOfItemFields[2] + '_ _' + arrayOfItemFields[4] + '"><input type="hidden" name="sp10price" value="' + arrayOfItemFields[1] + '"><input type="hidden" name="sp10desc" value="' + arrayOfItemFields[3] + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( pN == 213 && arrayOfItemFields[1] == "32.95" ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + pN  + '_ _' + arrayOfItemFields[2] + '_ _' + 'With Free Delivery' + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( pN == 214 && arrayOfItemFields[1] == "57.95" ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + pN  + '_ _' + arrayOfItemFields[2] + '_ _' + 'With Free Delivery' + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( pN == 215 && arrayOfItemFields[1] == "82.95" ) {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + pN  + '_ _' + arrayOfItemFields[2] + '_ _' + 'With Free Delivery' + '_ _' + arrayOfItemFields[5] + '">';
				}
				else if ( pN == 101 || pN == 46 || pN == 102 || pN == 103 || pN == 104 || pN == 108 || pN == 109 || pN == 11 || pN == 11 || pN == 110 || pN == 111 || pN == 112 || pN == 113 || pN == 114 || pN == 115 || pN == 118 || pN == 119 || pN == 120 || pN == 121 || pN == 122 || pN == 123 || pN == 124 || pN == 125 || pN == 126 || pN == 127 || pN == 128 || pN == 129 || pN == 130 || pN == 131 || pN == 132 || pN == 133 || pN == 134 || pN == 135 || pN == 136 || pN == 137 || pN == 138 || pN == 142 || pN == 144 || pN == 145 || pN == 146 || pN == 148 || pN == 151 || pN == 155 || pN == 156 || pN == 157 || pN == 158 || pN == 159 || pN == 160 || pN == 162 || pN == 172 || pN == 176 || pN == 178 || pN == 179 || pN == 180 || pN == 183 || pN == 189 || pN == 190 || pN == 192 || pN == 193 || pN == 194 || pN == 196 || pN == 198 || pN == 201 || pN == 202 || pN == 203 || pN == 205 || pN == 25 || pN == 4 || pN == 4 || pN == 40 || pN == 49 || pN == 242 || pN == 64 || pN == 76 || pN == 76 || pN == 77 || pN == 78 || pN == 80 || pN == 84 || pN == 85 || pN == 87 || pN == 98 || pN == 210 || pN == 211 || pN == 213 || pN == 214 || pN == 215 || pN == 216 || pN == 217 || pN == 218 || pN == 219 || pN == 220 || pN == 221 || pN == 222 || pN == 223 || pN == 224 || pN == 225 || pN == 227 || pN == 229 || pN == 230 || pN == 231 || pN == 233 || pN == 234 || pN == 236 || pN == 237 || pN == 238 || pN == 239 || pN == 240 || pN == 241 ) {
					// quantity only
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + pN  + '_ _' + arrayOfItemFields[2] + '_ _' + 'No special instructions' + '_ _' + arrayOfItemFields[5] + '">';
				}
				else {
					HTMLToWrite += '<input type="hidden" name="item' + i + '" value="' + pN  + '_ _' + arrayOfItemFields[2] + '_ _' + arrayOfItemFields[4] + '_ _' + arrayOfItemFields[5] + '">';
				}
			}

			for (var i = arrayOfItems.length; i < 51; i++ ) { //an item at a time
				HTMLToWrite += '<input type="hidden" name="item' + i + '" value="0' + '_ _' + '0' + '_ _' + 'No special instructions' + '">';



			}

			HTMLToWrite += '<input type="hidden" name="noOfItems" value="' + arrayOfItems.length + '">';


			// alert(HTMLToWrite)
			return HTMLToWrite;
		}


} // END OF writeHiddenSection






function checkAndSubmit(tF) { //tF = ref to form

	saveInfoToCookies()

	str = new String(tF.deliverydate.value);
	tF.deliverydate.value = replaceSpChars(str);
	str = new String(tF.contactnum.value);
	tF.contactnum.value = replaceSpChars(str);
	str = new String(tF.shipcomment.value);
	tF.shipcomment.value = replaceSpChars(str);
	str = new String(tF.giftmessage.value);
	tF.giftmessage.value = replaceSpChars(str);
	str = new String(tF.item0.value);
	tF.item0.value = replaceSpChars(str);
	str = new String(tF.item1.value);
	tF.item1.value = replaceSpChars(str);
	str = new String(tF.item2.value);
	tF.item2.value = replaceSpChars(str);
	str = new String(tF.item3.value);
	tF.item3.value = replaceSpChars(str);
	str = new String(tF.item4.value);
	tF.item4.value = replaceSpChars(str);
	str = new String(tF.item5.value);
	tF.item5.value = replaceSpChars(str);
	str = new String(tF.item6.value);
	tF.item6.value = replaceSpChars(str);
	str = new String(tF.item7.value);
	tF.item7.value = replaceSpChars(str);
	str = new String(tF.item8.value);
	tF.item8.value = replaceSpChars(str);
	str = new String(tF.item9.value);
	tF.item9.value = replaceSpChars(str);
	str = new String(tF.item10.value);
	tF.item10.value = replaceSpChars(str);
	str = new String(tF.item11.value);
	tF.item11.value = replaceSpChars(str);
	str = new String(tF.item12.value);
	tF.item12.value = replaceSpChars(str);
	str = new String(tF.item13.value);
	tF.item13.value = replaceSpChars(str);
	str = new String(tF.item14.value);
	tF.item14.value = replaceSpChars(str);
	str = new String(tF.item15.value);
	tF.item15.value = replaceSpChars(str);
	str = new String(tF.item16.value);
	tF.item16.value = replaceSpChars(str);
	str = new String(tF.item17.value);
	tF.item17.value = replaceSpChars(str);
	str = new String(tF.item18.value);
	tF.item18.value = replaceSpChars(str);
	str = new String(tF.item19.value);
	tF.item19.value = replaceSpChars(str);
	str = new String(tF.item20.value);
	tF.item20.value = replaceSpChars(str);
	str = new String(tF.item21.value);
	tF.item21.value = replaceSpChars(str);
	str = new String(tF.item22.value);
	tF.item22.value = replaceSpChars(str);
	str = new String(tF.item23.value);
	tF.item23.value = replaceSpChars(str);
	str = new String(tF.item24.value);
	tF.item24.value = replaceSpChars(str);
	str = new String(tF.item25.value);
	tF.item25.value = replaceSpChars(str);
	str = new String(tF.item26.value);
	tF.item26.value = replaceSpChars(str);
	str = new String(tF.item27.value);
	tF.item27.value = replaceSpChars(str);
	str = new String(tF.item28.value);
	tF.item28.value = replaceSpChars(str);
	str = new String(tF.item29.value);
	tF.item29.value = replaceSpChars(str);
	str = new String(tF.item30.value);
	tF.item30.value = replaceSpChars(str);
	str = new String(tF.item31.value);
	tF.item31.value = replaceSpChars(str);
	str = new String(tF.item32.value);
	tF.item32.value = replaceSpChars(str);
	str = new String(tF.item33.value);
	tF.item33.value = replaceSpChars(str);
	str = new String(tF.item34.value);
	tF.item34.value = replaceSpChars(str);
	str = new String(tF.item35.value);
	tF.item35.value = replaceSpChars(str);
	str = new String(tF.item36.value);
	tF.item36.value = replaceSpChars(str);
	str = new String(tF.item37.value);
	tF.item37.value = replaceSpChars(str);
	str = new String(tF.item38.value);
	tF.item38.value = replaceSpChars(str);
	str = new String(tF.item39.value);
	tF.item39.value = replaceSpChars(str);
	str = new String(tF.item40.value);
	tF.item40.value = replaceSpChars(str);
	str = new String(tF.item41.value);
	tF.item41.value = replaceSpChars(str);
	str = new String(tF.item42.value);
	tF.item42.value = replaceSpChars(str);
	str = new String(tF.item43.value);
	tF.item43.value = replaceSpChars(str);
	str = new String(tF.item44.value);
	tF.item44.value = replaceSpChars(str);
	str = new String(tF.item45.value);
	tF.item45.value = replaceSpChars(str);
	str = new String(tF.item46.value);
	tF.item46.value = replaceSpChars(str);
	str = new String(tF.item47.value);
	tF.item47.value = replaceSpChars(str);
	str = new String(tF.item48.value);
	tF.item48.value = replaceSpChars(str);
	str = new String(tF.item49.value);
	tF.item49.value = replaceSpChars(str);
	str = new String(tF.item50.value);
	tF.item50.value = replaceSpChars(str);

	str = new String(getCookie("v1"));
	tF.v1.value = replaceSpChars(str);
	str = new String(getCookie("v2"));
	tF.v2.value = replaceSpChars(str);
	str = new String(getCookie("v3"));
	tF.v3.value = replaceSpChars(str);
	str = new String(getCookie("v4"));
	tF.v4.value = replaceSpChars(str);

	var paraToDisplay = "";
	document.getElementById("submitbutton").style.display = "none";				
	document.getElementById("missingfields").style.display = "block";	
	document.getElementById("missingfields").style.backgroundColor = "#F0D3B4"
	document.getElementById("missingfields").innerHTML = "Please wait while your order is checked ...";
	
	tF.action = "https://www.martins-seafresh.co.uk/cgi-bin/a_checkout_new.pl";
	
	if (tF.deliverydate.value == "22/12/2009" || tF.deliverydate.value == "23/12/2009") {
			var noGiftTokens = 0;
			for (var m = 0; m < arrayOfItems.length; m++ ) { //an item at a time
				if (arrayOfItems[m].indexOf("Gift Token")!= -1) {
					noGiftTokens += 1;
				}
			}
			if (noGiftTokens == arrayOfItems.length) {
				tF.submit();	
			}
			else {
				alert("Sorry - you can only order gift vouchers for delivery before Christmas.");
			}
	}
	else {
		setTimeout('hidePleaseWait()', 4000)
		tF.submit();	
	}
}			


function hidePleaseWait() {
	document.getElementById("missingfields").style.display = "none";	
	document.getElementById("submitbutton").style.display = "block";
	alert("Please try clicking the Continue button again");				


}



function replaceSpChars(str) {
	var re = /=/gi
	str = str.replace(re,"equalsSign")
	re = /&/gi
	str = str.replace(re,"amperSand")
	re = /\+/gi
	str = str.replace(re,"plusSign")
	re = /\n/gi
	str = str.replace(re,"newLineSi")
	return str;
}




function removeAnItem(rowNumber) {
	itemsInBasketSoFar -= 1;
	var str = "";
	if ( itemsInBasketSoFar == 0 ) {
		document.getElementById("bottombit").innerHTML = "";
		str = "";
	}
	else { 
		str = ""; 
		for (var i = 0; i < arrayOfItems.length; i++) {
			if ( i != rowNumber ) { // i.e. skip the one we want to remove
				str += arrayOfItems[i];
				if ( rowNumber == (arrayOfItems.length - 1) && i == (arrayOfItems.length - 2) ) { ; } // if last row is being removed and this is row before last
				else if ( i != (arrayOfItems.length - 1) && arrayOfItems.length != 2 ) { str += "EITM"; } // don't append eitm to last item	
			}
		}
	}
	setCookie("fishforthoughtBasketItems", str);
	initialiseBasket();
	populateCheckoutVariablesArray('removeAnItem');
//	location.href="shopping_basket_new.html";
}




function goToPart2() {
	location.href="shopping_basket_new_pt2.html";
}



function checkOut() {
	if (totalWithoutPostForMinCheck > 24.99) {
		var basketArrayRaw9 = getCookie("fishforthoughtBasketItems");

		var pageVisitedArray2 = getCookie("fftHistory");

		var today = new Date();
		var uniqueID7 = today.getTime();
		uniqueID7 -= 1007743980440;	
		if ( uniqueID7 < 0 ) { uniqueID7 += -2*uniqueID7; }
		var imageHit2 = "<img src='images\/check" + uniqueID7 + ".gif?pages=" + pageVisitedArray2 + "cart=" + basketArrayRaw9;

		//str = new String(imageHit2)
		//re = / /gi
		//str = str.replace(re,"_")
		//re = /\//gi
		//str = str.replace(re,"_")
		//re = /\\/gi
		//str = str.replace(re,"_")

		imageHit2 += "' width='3' height='3' \/>";

	//	alert(imageHit2)		
	//	window.document.getElementById("imageHit").innerHTML = imageHit2;
		setTimeout('goToPart2()', 1000)
	}
	else {
		alert("Sorry. Our minimum order value before postage is 25 pounds. Please increase your order value.");
	}


//	location.href="a_aftercheckout.html";

}


function extendBasketWrapper() {
	if (itemsInBasketSoFar == 4 || itemsInBasketSoFar == 5) {	
		document.getElementById("basketwrapper").style.height = "1300px";
	}
	if (itemsInBasketSoFar == 0) {
		document.getElementById("theform").style.backgroundColor = "white";
	}
}


function extendBasketWrapperPart2() {
	document.getElementById("basketwrapper").style.height = "660px";

}






///////////////////////// for part2 of checkout //////////////////////////





var cookieValuesRestored = "no";

function saveInfoToCookies() {
	if (cookieValuesRestored == "yes") { // stop it happening while page is still loading and thus wiping all values
		setCookie("fft_deliverydate", document.forms[0].deliverydate.selectedIndex);
		setCookie("fft_contactnum", document.forms[0].contactnum.value);
		setCookie("fft_shipcomment", document.forms[0].shipcomment.value);
		setCookie("fft_giftmessage", document.forms[0].giftmessage.value);
	}
}

function retrieveCookieValues() {
	document.forms[0].deliverydate.selectedIndex = getCookie("fft_deliverydate");
	document.forms[0].contactnum.value = getCookie("fft_contactnum");
	document.forms[0].shipcomment.value = getCookie("fft_shipcomment");
	document.forms[0].giftmessage.value = getCookie("fft_giftmessage");
	cookieValuesRestored = "yes";
}


var dDArr = new Array();



dDArr[0] = "07/04/2010"
dDArr[1] = "08/04/2010"
dDArr[2] = "09/04/2010"
dDArr[3] = "14/04/2010"
dDArr[4] = "15/04/2010"
dDArr[5] = "16/04/2010"
dDArr[6] = "21/04/2010"
dDArr[7] = "22/04/2010"
dDArr[8] = "23/04/2010"
dDArr[9] = "28/04/2010"
dDArr[10] = "29/04/2010"
dDArr[11] = "30/04/2010"
dDArr[12] = "05/05/2010"
dDArr[13] = "06/05/2010"
dDArr[14] = "07/05/2010"
dDArr[15] = "12/05/2010"
dDArr[16] = "13/05/2010"
dDArr[17] = "14/05/2010"
dDArr[18] = "19/05/2010"
dDArr[19] = "20/05/2010"
dDArr[20] = "21/05/2010"
dDArr[21] = "26/05/2010"
dDArr[22] = "27/05/2010"
dDArr[23] = "28/05/2010"
dDArr[24] = "02/06/2010"
dDArr[25] = "03/06/2010"
dDArr[26] = "04/06/2010"
dDArr[27] = "09/06/2010"
dDArr[28] = "10/06/2010"
dDArr[29] = "11/06/2010"
dDArr[30] = "16/06/2010"
dDArr[31] = "17/06/2010"
dDArr[32] = "18/06/2010"
dDArr[33] = "23/06/2010"
dDArr[34] = "24/06/2010"
dDArr[35] = "25/06/2010"
dDArr[36] = "30/06/2010"
dDArr[37] = "01/07/2010"
dDArr[38] = "02/07/2010"
dDArr[39] = "07/07/2010"
dDArr[40] = "08/07/2010"
dDArr[41] = "09/07/2010"
dDArr[42] = "14/07/2010"
dDArr[43] = "15/07/2010"
dDArr[44] = "16/07/2010"
dDArr[45] = "21/07/2010"
dDArr[46] = "22/07/2010"
dDArr[47] = "23/07/2010"
dDArr[48] = "28/07/2010"
dDArr[49] = "29/07/2010"
dDArr[50] = "30/07/2010"
dDArr[51] = "04/08/2010"
dDArr[52] = "05/08/2010"
dDArr[53] = "06/08/2010"
dDArr[54] = "11/08/2010"
dDArr[55] = "12/08/2010"
dDArr[56] = "13/08/2010"
dDArr[57] = "18/08/2010"
dDArr[58] = "19/08/2010"
dDArr[59] = "20/08/2010"
dDArr[60] = "25/08/2010"
dDArr[61] = "26/08/2010"
dDArr[62] = "27/08/2010"
dDArr[63] = "01/09/2010"
dDArr[64] = "02/09/2010"
dDArr[65] = "03/09/2010"
dDArr[66] = "08/09/2010"
dDArr[67] = "09/09/2010"
dDArr[68] = "10/09/2010"
dDArr[69] = "15/09/2010"
dDArr[70] = "16/09/2010"
dDArr[71] = "17/09/2010"
dDArr[72] = "22/09/2010"
dDArr[73] = "23/09/2010"
dDArr[74] = "24/09/2010"
dDArr[75] = "29/09/2010"
dDArr[76] = "30/09/2010"
dDArr[77] = "01/10/2010"
dDArr[78] = "06/10/2010"
dDArr[79] = "07/10/2010"
dDArr[80] = "08/10/2010"
dDArr[81] = "13/10/2010"
dDArr[82] = "14/10/2010"
dDArr[83] = "15/10/2010"
dDArr[84] = "20/10/2010"
dDArr[85] = "21/10/2010"
dDArr[86] = "22/10/2010"
dDArr[87] = "27/10/2010"
dDArr[88] = "28/10/2010"
dDArr[89] = "29/10/2010"
dDArr[90] = "03/11/2010"
dDArr[91] = "04/11/2010"
dDArr[92] = "05/11/2010"
dDArr[93] = "10/11/2010"
dDArr[94] = "11/11/2010"
dDArr[95] = "12/11/2010"
dDArr[96] = "17/11/2010"
dDArr[97] = "18/11/2010"
dDArr[98] = "19/11/2010"
dDArr[99] = "24/11/2010"



////////////////////////////// SORT NEXT DATE

var myNextDDN0 = 0;

var myDays = 0;
var myMonth = 0;


var today2 = new Date();



var todayPlus0 = new Date(today2.getTime() + (60 * 60 * 24 * 2 * 1000));
var todayPlus1 = new Date(today2.getTime() + (60 * 60 * 24 * 3 * 1000));
var todayPlus2 = new Date(today2.getTime() + (60 * 60 * 24 * 4 * 1000));
var todayPlus3 = new Date(today2.getTime() + (60 * 60 * 24 * 5 * 1000));
var todayPlus4 = new Date(today2.getTime() + (60 * 60 * 24 * 6 * 1000));
var todayPlus5 = new Date(today2.getTime() + (60 * 60 * 24 * 7 * 1000));
var todayPlus6 = new Date(today2.getTime() + (60 * 60 * 24 * 8 * 1000));

var foundAMatch = "no";

/// today
if ( todayPlus0.getDate() < 10 ) {
	myDays = "0" + todayPlus0.getDate();
}
else {
	myDays = todayPlus0.getDate();
}
if ( (todayPlus0.getMonth() + 1) < 10 ) {
	myMonth = "0" + (todayPlus0.getMonth() + 1);
}
else {
	myMonth = (todayPlus0.getMonth() + 1);
}
var dateFormatted = myDays + "\/" + myMonth + "\/" + todayPlus0.getFullYear();
for (var i = 0; i < dDArr.length; i++ ) { // check for easy match first
	if ( dateFormatted == dDArr[i] ) {
		myNextDDN0 = i;
		foundAMatch = "yes";
	}
}

/// todayPlus1
if (foundAMatch == "no" ) {
	if ( todayPlus1.getDate() < 10 ) {
		myDays = "0" + todayPlus1.getDate();
	}
	else {
		myDays = todayPlus1.getDate();
	}
	if ( (todayPlus1.getMonth() + 1) < 10 ) {
		myMonth = "0" + (todayPlus1.getMonth() + 1);
	}
	else {
		myMonth = (todayPlus1.getMonth() + 1);
	}
	dateFormatted = myDays + "\/" + myMonth + "\/" + todayPlus1.getFullYear();
	for (var i = 0; i < dDArr.length; i++ ) { // check for easy match first
		if ( dateFormatted == dDArr[i] ) {
			myNextDDN0 = i;
			foundAMatch = "yes";
		}
	}
}

/// todayPlus2
if (foundAMatch == "no" ) {
	if ( todayPlus2.getDate() < 10 ) {
		myDays = "0" + todayPlus2.getDate();
	}
	else {
		myDays = todayPlus2.getDate();
	}
	if ( (todayPlus2.getMonth() + 1) < 10 ) {
		myMonth = "0" + (todayPlus2.getMonth() + 1);
	}
	else {
		myMonth = (todayPlus2.getMonth() + 1);
	}
	dateFormatted = myDays + "\/" + myMonth + "\/" + todayPlus2.getFullYear();
	for (var i = 0; i < dDArr.length; i++ ) { // check for easy match first
		if ( dateFormatted == dDArr[i] ) {
			myNextDDN0 = i;
			foundAMatch = "yes";
		}
	}
}


/// todayPlus3
if (foundAMatch == "no" ) {
	if ( todayPlus3.getDate() < 10 ) {
		myDays = "0" + todayPlus3.getDate();
	}
	else {
		myDays = todayPlus3.getDate();
	}
	if ( (todayPlus3.getMonth() + 1) < 10 ) {
		myMonth = "0" + (todayPlus3.getMonth() + 1);
	}
	else {
		myMonth = (todayPlus3.getMonth() + 1);
	}
	dateFormatted = myDays + "\/" + myMonth + "\/" + todayPlus3.getFullYear();
	for (var i = 0; i < dDArr.length; i++ ) { // check for easy match first
		if ( dateFormatted == dDArr[i] ) {
			myNextDDN0 = i;
			foundAMatch = "yes";
		}
	}
}




/// todayPlus4
if (foundAMatch == "no" ) {
	if ( todayPlus4.getDate() < 10 ) {
		myDays = "0" + todayPlus4.getDate();
	}
	else {
		myDays = todayPlus4.getDate();
	}
	if ( (todayPlus4.getMonth() + 1) < 10 ) {
		myMonth = "0" + (todayPlus4.getMonth() + 1);
	}
	else {
		myMonth = (todayPlus4.getMonth() + 1);
	}
	dateFormatted = myDays + "\/" + myMonth + "\/" + todayPlus4.getFullYear();
	for (var i = 0; i < dDArr.length; i++ ) { // check for easy match first
		if ( dateFormatted == dDArr[i] ) {
			myNextDDN0 = i;
			foundAMatch = "yes";
		}
	}
}



/// todayPlus5
if (foundAMatch == "no" ) {
	if ( todayPlus5.getDate() < 10 ) {
		myDays = "0" + todayPlus5.getDate();
	}
	else {
		myDays = todayPlus5.getDate();
	}
	if ( (todayPlus5.getMonth() + 1) < 10 ) {
		myMonth = "0" + (todayPlus5.getMonth() + 1);
	}
	else {
		myMonth = (todayPlus5.getMonth() + 1);
	}
	dateFormatted = myDays + "\/" + myMonth + "\/" + todayPlus5.getFullYear();
	for (var i = 0; i < dDArr.length; i++ ) { // check for easy match first
		if ( dateFormatted == dDArr[i] ) {
			myNextDDN0 = i;
			foundAMatch = "yes";
		}
	}
}




/// todayPlus6
if (foundAMatch == "no" ) {
	if ( todayPlus6.getDate() < 10 ) {
		myDays = "0" + todayPlus6.getDate();
	}
	else {
		myDays = todayPlus6.getDate();
	}
	if ( (todayPlus6.getMonth() + 1) < 10 ) {
		myMonth = "0" + (todayPlus6.getMonth() + 1);
	}
	else {
		myMonth = (todayPlus6.getMonth() + 1);
	}
	dateFormatted = myDays + "\/" + myMonth + "\/" + todayPlus6.getFullYear();
	for (var i = 0; i < dDArr.length; i++ ) { // check for easy match first
		if ( dateFormatted == dDArr[i] ) {
			myNextDDN0 = i;
			foundAMatch = "yes";
		}
	}
}


///// THEIR SYSTEM DATE IS VERY WRONG
if (foundAMatch == "no") { 
	myNextDDN0 = 63;
}





var htmlForDatesAv = "";
var re = /\//;

var Date1DofW = "";
var Date2DofW = "";
var Date3DofW = "";
var Date4DofW = "";
var Date5DofW = "";
var Date6DofW = "";
var Date7DofW = "";
var Date8DofW = "";
var Date9DofW = "";
var Date10DofW = "";
var Date11DofW = "";
var Date12DofW = "";
var Date13DofW = "";
var Date14DofW = "";
var Date15DofW = "";
var Date16DofW = "";
var Date17DofW = "";
var Date18DofW = "";
var Date19DofW = "";
var Date20DofW = "";

var myDate1 = dDArr[myNextDDN0];
var myDate2 = dDArr[(myNextDDN0 + 1)];
var myDate3 = dDArr[(myNextDDN0 + 2)];
var myDate4 = dDArr[(myNextDDN0 + 3)];
var myDate5 = dDArr[(myNextDDN0 + 4)];
var myDate6 = dDArr[(myNextDDN0 + 5)];
var myDate7 = dDArr[(myNextDDN0 + 6)];
var myDate8 = dDArr[(myNextDDN0 + 7)];
var myDate9 = dDArr[(myNextDDN0 + 8)];
var myDate10 = dDArr[(myNextDDN0 + 9)]
var myDate11 = dDArr[(myNextDDN0 + 10)];;
var myDate12 = dDArr[(myNextDDN0 + 11)];;
var myDate13 = dDArr[(myNextDDN0 + 12)];;
var myDate14 = dDArr[(myNextDDN0 + 13)];;
var myDate15 = dDArr[(myNextDDN0 + 14)];;
var myDate16 = dDArr[(myNextDDN0 + 15)];;
var myDate17 = dDArr[(myNextDDN0 + 16)];;
var myDate18 = dDArr[(myNextDDN0 + 17)];;
var myDate19 = dDArr[(myNextDDN0 + 18)];;
var myDate20 = dDArr[(myNextDDN0 + 19)];;

var arrayOfDateParts1 = new Array();
var str1 = new String(myDate1);
arrayOfDateParts1 = str1.split(re);
var myProperDate1 = new Date(arrayOfDateParts1[2],parseInt(arrayOfDateParts1[1] - 1),arrayOfDateParts1[0]);
Date1DofW = myProperDate1.getDay();
if ( parseInt(Date1DofW) == 0 ) { Date1DofW = "Sunday" }
else if ( parseInt(Date1DofW) == 1 ) { Date1DofW = "Monday" }
else if ( parseInt(Date1DofW) == 2 ) { Date1DofW = "Tuesday" }
else if ( parseInt(Date1DofW) == 3 ) { Date1DofW = "Wednesday" }
else if ( parseInt(Date1DofW) == 4 ) { Date1DofW = "Thursday" }
else if ( parseInt(Date1DofW) == 5 ) { Date1DofW = "Friday" }
else if ( parseInt(Date1DofW) == 6 ) { Date1DofW = "Saturday" }

var arrayOfDateParts2 = new Array();
var str2 = new String(myDate2);
arrayOfDateParts2 = str2.split(re);
var myProperDate2 = new Date(arrayOfDateParts2[2],parseInt(arrayOfDateParts2[1] - 1),arrayOfDateParts2[0]);
Date2DofW = myProperDate2.getDay();
if ( parseInt(Date2DofW) == 0 ) { Date2DofW = "Sunday" }
else if ( parseInt(Date2DofW) == 1 ) { Date2DofW = "Monday" }
else if ( parseInt(Date2DofW) == 2 ) { Date2DofW = "Tuesday" }
else if ( parseInt(Date2DofW) == 3 ) { Date2DofW = "Wednesday" }
else if ( parseInt(Date2DofW) == 4 ) { Date2DofW = "Thursday" }
else if ( parseInt(Date2DofW) == 5 ) { Date2DofW = "Friday" }
else if ( parseInt(Date2DofW) == 6 ) { Date2DofW = "Saturday" }


var arrayOfDateParts3 = new Array();
var str3 = new String(myDate3);
arrayOfDateParts3 = str3.split(re);
var myProperDate3 = new Date(arrayOfDateParts3[2],parseInt(arrayOfDateParts3[1] - 1),arrayOfDateParts3[0]);
Date3DofW = myProperDate3.getDay();
if ( parseInt(Date3DofW) == 0 ) { Date3DofW = "Sunday" }
else if ( parseInt(Date3DofW) == 1 ) { Date3DofW = "Monday" }
else if ( parseInt(Date3DofW) == 2 ) { Date3DofW = "Tuesday" }
else if ( parseInt(Date3DofW) == 3 ) { Date3DofW = "Wednesday" }
else if ( parseInt(Date3DofW) == 4 ) { Date3DofW = "Thursday" }
else if ( parseInt(Date3DofW) == 5 ) { Date3DofW = "Friday" }
else if ( parseInt(Date3DofW) == 6 ) { Date3DofW = "Saturday" }


var arrayOfDateParts4 = new Array();
var str4 = new String(myDate4);
arrayOfDateParts4 = str4.split(re);
var myProperDate4 = new Date(arrayOfDateParts4[2],parseInt(arrayOfDateParts4[1] - 1),arrayOfDateParts4[0]);
Date4DofW = myProperDate4.getDay();
if ( parseInt(Date4DofW) == 0 ) { Date4DofW = "Sunday" }
else if ( parseInt(Date4DofW) == 1 ) { Date4DofW = "Monday" }
else if ( parseInt(Date4DofW) == 2 ) { Date4DofW = "Tuesday" }
else if ( parseInt(Date4DofW) == 3 ) { Date4DofW = "Wednesday" }
else if ( parseInt(Date4DofW) == 4 ) { Date4DofW = "Thursday" }
else if ( parseInt(Date4DofW) == 5 ) { Date4DofW = "Friday" }
else if ( parseInt(Date4DofW) == 6 ) { Date4DofW = "Saturday" }


var arrayOfDateParts5 = new Array();
var str5 = new String(myDate5);
arrayOfDateParts5 = str5.split(re);
var myProperDate5 = new Date(arrayOfDateParts5[2],parseInt(arrayOfDateParts5[1] - 1),arrayOfDateParts5[0]);
Date5DofW = myProperDate5.getDay();
if ( parseInt(Date5DofW) == 0 ) { Date5DofW = "Sunday" }
else if ( parseInt(Date5DofW) == 1 ) { Date5DofW = "Monday" }
else if ( parseInt(Date5DofW) == 2 ) { Date5DofW = "Tuesday" }
else if ( parseInt(Date5DofW) == 3 ) { Date5DofW = "Wednesday" }
else if ( parseInt(Date5DofW) == 4 ) { Date5DofW = "Thursday" }
else if ( parseInt(Date5DofW) == 5 ) { Date5DofW = "Friday" }
else if ( parseInt(Date5DofW) == 6 ) { Date5DofW = "Saturday" }


var arrayOfDateParts6 = new Array();
var str6 = new String(myDate6);
arrayOfDateParts6 = str6.split(re);
var myProperDate6 = new Date(arrayOfDateParts6[2],parseInt(arrayOfDateParts6[1] - 1),arrayOfDateParts6[0]);
Date6DofW = myProperDate6.getDay();
if ( parseInt(Date6DofW) == 0 ) { Date6DofW = "Sunday" }
else if ( parseInt(Date6DofW) == 1 ) { Date6DofW = "Monday" }
else if ( parseInt(Date6DofW) == 2 ) { Date6DofW = "Tuesday" }
else if ( parseInt(Date6DofW) == 3 ) { Date6DofW = "Wednesday" }
else if ( parseInt(Date6DofW) == 4 ) { Date6DofW = "Thursday" }
else if ( parseInt(Date6DofW) == 5 ) { Date6DofW = "Friday" }
else if ( parseInt(Date6DofW) == 6 ) { Date6DofW = "Saturday" }


var arrayOfDateParts7 = new Array();
var str7 = new String(myDate7);
arrayOfDateParts7 = str7.split(re);
var myProperDate7 = new Date(arrayOfDateParts7[2],parseInt(arrayOfDateParts7[1] - 1),arrayOfDateParts7[0]);
Date7DofW = myProperDate7.getDay();
if ( parseInt(Date7DofW) == 0 ) { Date7DofW = "Sunday" }
else if ( parseInt(Date7DofW) == 1 ) { Date7DofW = "Monday" }
else if ( parseInt(Date7DofW) == 2 ) { Date7DofW = "Tuesday" }
else if ( parseInt(Date7DofW) == 3 ) { Date7DofW = "Wednesday" }
else if ( parseInt(Date7DofW) == 4 ) { Date7DofW = "Thursday" }
else if ( parseInt(Date7DofW) == 5 ) { Date7DofW = "Friday" }
else if ( parseInt(Date7DofW) == 6 ) { Date7DofW = "Saturday" }


var arrayOfDateParts8 = new Array();
var str8 = new String(myDate8);
arrayOfDateParts8 = str8.split(re);
var myProperDate8 = new Date(arrayOfDateParts8[2],parseInt(arrayOfDateParts8[1] - 1),arrayOfDateParts8[0]);
Date8DofW = myProperDate8.getDay();
if ( parseInt(Date8DofW) == 0 ) { Date8DofW = "Sunday" }
else if ( parseInt(Date8DofW) == 1 ) { Date8DofW = "Monday" }
else if ( parseInt(Date8DofW) == 2 ) { Date8DofW = "Tuesday" }
else if ( parseInt(Date8DofW) == 3 ) { Date8DofW = "Wednesday" }
else if ( parseInt(Date8DofW) == 4 ) { Date8DofW = "Thursday" }
else if ( parseInt(Date8DofW) == 5 ) { Date8DofW = "Friday" }
else if ( parseInt(Date8DofW) == 6 ) { Date8DofW = "Saturday" }


var arrayOfDateParts9 = new Array();
var str9 = new String(myDate9);
arrayOfDateParts9 = str9.split(re);
var myProperDate9 = new Date(arrayOfDateParts9[2],parseInt(arrayOfDateParts9[1] - 1),arrayOfDateParts9[0]);
Date9DofW = myProperDate9.getDay();
if ( parseInt(Date9DofW) == 0 ) { Date9DofW = "Sunday" }
else if ( parseInt(Date9DofW) == 1 ) { Date9DofW = "Monday" }
else if ( parseInt(Date9DofW) == 2 ) { Date9DofW = "Tuesday" }
else if ( parseInt(Date9DofW) == 3 ) { Date9DofW = "Wednesday" }
else if ( parseInt(Date9DofW) == 4 ) { Date9DofW = "Thursday" }
else if ( parseInt(Date9DofW) == 5 ) { Date9DofW = "Friday" }
else if ( parseInt(Date9DofW) == 6 ) { Date9DofW = "Saturday" }


var arrayOfDateParts10 = new Array();
var str10 = new String(myDate10);
arrayOfDateParts10 = str10.split(re);
var myProperDate10 = new Date(arrayOfDateParts10[2],parseInt(arrayOfDateParts10[1] - 1),arrayOfDateParts10[0]);
Date10DofW = myProperDate10.getDay();
if ( parseInt(Date10DofW) == 0 ) { Date10DofW = "Sunday" }
else if ( parseInt(Date10DofW) == 1 ) { Date10DofW = "Monday" }
else if ( parseInt(Date10DofW) == 2 ) { Date10DofW = "Tuesday" }
else if ( parseInt(Date10DofW) == 3 ) { Date10DofW = "Wednesday" }
else if ( parseInt(Date10DofW) == 4 ) { Date10DofW = "Thursday" }
else if ( parseInt(Date10DofW) == 5 ) { Date10DofW = "Friday" }
else if ( parseInt(Date10DofW) == 6 ) { Date10DofW = "Saturday" }



var arrayOfDateParts11 = new Array();
var str11 = new String(myDate11);
arrayOfDateParts11 = str11.split(re);
var myProperDate11 = new Date(arrayOfDateParts11[2],parseInt(arrayOfDateParts11[1] - 1),arrayOfDateParts11[0]);
Date11DofW = myProperDate11.getDay();
if ( parseInt(Date11DofW) == 0 ) { Date11DofW = "Sunday" }
else if ( parseInt(Date11DofW) == 1 ) { Date11DofW = "Monday" }
else if ( parseInt(Date11DofW) == 2 ) { Date11DofW = "Tuesday" }
else if ( parseInt(Date11DofW) == 3 ) { Date11DofW = "Wednesday" }
else if ( parseInt(Date11DofW) == 4 ) { Date11DofW = "Thursday" }
else if ( parseInt(Date11DofW) == 5 ) { Date11DofW = "Friday" }
else if ( parseInt(Date11DofW) == 6 ) { Date11DofW = "Saturday" }




var arrayOfDateParts12 = new Array();
var str12 = new String(myDate12);
arrayOfDateParts12 = str12.split(re);
var myProperDate12 = new Date(arrayOfDateParts12[2],parseInt(arrayOfDateParts12[1] - 1),arrayOfDateParts12[0]);
Date12DofW = myProperDate12.getDay();
if ( parseInt(Date12DofW) == 0 ) { Date12DofW = "Sunday" }
else if ( parseInt(Date12DofW) == 1 ) { Date12DofW = "Monday" }
else if ( parseInt(Date12DofW) == 2 ) { Date12DofW = "Tuesday" }
else if ( parseInt(Date12DofW) == 3 ) { Date12DofW = "Wednesday" }
else if ( parseInt(Date12DofW) == 4 ) { Date12DofW = "Thursday" }
else if ( parseInt(Date12DofW) == 5 ) { Date12DofW = "Friday" }
else if ( parseInt(Date12DofW) == 6 ) { Date12DofW = "Saturday" }



var arrayOfDateParts13 = new Array();
var str13 = new String(myDate13);
arrayOfDateParts13 = str13.split(re);
var myProperDate13 = new Date(arrayOfDateParts13[2],parseInt(arrayOfDateParts13[1] - 1),arrayOfDateParts13[0]);
Date13DofW = myProperDate13.getDay();
if ( parseInt(Date13DofW) == 0 ) { Date13DofW = "Sunday" }
else if ( parseInt(Date13DofW) == 1 ) { Date13DofW = "Monday" }
else if ( parseInt(Date13DofW) == 2 ) { Date13DofW = "Tuesday" }
else if ( parseInt(Date13DofW) == 3 ) { Date13DofW = "Wednesday" }
else if ( parseInt(Date13DofW) == 4 ) { Date13DofW = "Thursday" }
else if ( parseInt(Date13DofW) == 5 ) { Date13DofW = "Friday" }
else if ( parseInt(Date13DofW) == 6 ) { Date13DofW = "Saturday" }



var arrayOfDateParts14 = new Array();
var str14 = new String(myDate14);
arrayOfDateParts14 = str14.split(re);
var myProperDate14 = new Date(arrayOfDateParts14[2],parseInt(arrayOfDateParts14[1] - 1),arrayOfDateParts14[0]);
Date14DofW = myProperDate14.getDay();
if ( parseInt(Date14DofW) == 0 ) { Date14DofW = "Sunday" }
else if ( parseInt(Date14DofW) == 1 ) { Date14DofW = "Monday" }
else if ( parseInt(Date14DofW) == 2 ) { Date14DofW = "Tuesday" }
else if ( parseInt(Date14DofW) == 3 ) { Date14DofW = "Wednesday" }
else if ( parseInt(Date14DofW) == 4 ) { Date14DofW = "Thursday" }
else if ( parseInt(Date14DofW) == 5 ) { Date14DofW = "Friday" }
else if ( parseInt(Date14DofW) == 6 ) { Date14DofW = "Saturday" }



var arrayOfDateParts15 = new Array();
var str15 = new String(myDate15);
arrayOfDateParts15 = str15.split(re);
var myProperDate15 = new Date(arrayOfDateParts15[2],parseInt(arrayOfDateParts15[1] - 1),arrayOfDateParts15[0]);
Date15DofW = myProperDate15.getDay();
if ( parseInt(Date15DofW) == 0 ) { Date15DofW = "Sunday" }
else if ( parseInt(Date15DofW) == 1 ) { Date15DofW = "Monday" }
else if ( parseInt(Date15DofW) == 2 ) { Date15DofW = "Tuesday" }
else if ( parseInt(Date15DofW) == 3 ) { Date15DofW = "Wednesday" }
else if ( parseInt(Date15DofW) == 4 ) { Date15DofW = "Thursday" }
else if ( parseInt(Date15DofW) == 5 ) { Date15DofW = "Friday" }
else if ( parseInt(Date15DofW) == 6 ) { Date15DofW = "Saturday" }



var arrayOfDateParts16 = new Array();
var str16 = new String(myDate16);
arrayOfDateParts16 = str16.split(re);
var myProperDate16 = new Date(arrayOfDateParts16[2],parseInt(arrayOfDateParts16[1] - 1),arrayOfDateParts16[0]);
Date16DofW = myProperDate16.getDay();
if ( parseInt(Date16DofW) == 0 ) { Date16DofW = "Sunday" }
else if ( parseInt(Date16DofW) == 1 ) { Date16DofW = "Monday" }
else if ( parseInt(Date16DofW) == 2 ) { Date16DofW = "Tuesday" }
else if ( parseInt(Date16DofW) == 3 ) { Date16DofW = "Wednesday" }
else if ( parseInt(Date16DofW) == 4 ) { Date16DofW = "Thursday" }
else if ( parseInt(Date16DofW) == 5 ) { Date16DofW = "Friday" }
else if ( parseInt(Date16DofW) == 6 ) { Date16DofW = "Saturday" }



var arrayOfDateParts17 = new Array();
var str17 = new String(myDate17);
arrayOfDateParts17 = str17.split(re);
var myProperDate17 = new Date(arrayOfDateParts17[2],parseInt(arrayOfDateParts17[1] - 1),arrayOfDateParts17[0]);
Date17DofW = myProperDate17.getDay();
if ( parseInt(Date17DofW) == 0 ) { Date17DofW = "Sunday" }
else if ( parseInt(Date17DofW) == 1 ) { Date17DofW = "Monday" }
else if ( parseInt(Date17DofW) == 2 ) { Date17DofW = "Tuesday" }
else if ( parseInt(Date17DofW) == 3 ) { Date17DofW = "Wednesday" }
else if ( parseInt(Date17DofW) == 4 ) { Date17DofW = "Thursday" }
else if ( parseInt(Date17DofW) == 5 ) { Date17DofW = "Friday" }
else if ( parseInt(Date17DofW) == 6 ) { Date17DofW = "Saturday" }



var arrayOfDateParts18 = new Array();
var str18 = new String(myDate18);
arrayOfDateParts18 = str18.split(re);
var myProperDate18 = new Date(arrayOfDateParts18[2],parseInt(arrayOfDateParts18[1] - 1),arrayOfDateParts18[0]);
Date18DofW = myProperDate18.getDay();
if ( parseInt(Date18DofW) == 0 ) { Date18DofW = "Sunday" }
else if ( parseInt(Date18DofW) == 1 ) { Date18DofW = "Monday" }
else if ( parseInt(Date18DofW) == 2 ) { Date18DofW = "Tuesday" }
else if ( parseInt(Date18DofW) == 3 ) { Date18DofW = "Wednesday" }
else if ( parseInt(Date18DofW) == 4 ) { Date18DofW = "Thursday" }
else if ( parseInt(Date18DofW) == 5 ) { Date18DofW = "Friday" }
else if ( parseInt(Date18DofW) == 6 ) { Date18DofW = "Saturday" }



var arrayOfDateParts19 = new Array();
var str19 = new String(myDate19);
arrayOfDateParts19 = str19.split(re);
var myProperDate19 = new Date(arrayOfDateParts19[2],parseInt(arrayOfDateParts19[1] - 1),arrayOfDateParts19[0]);
Date19DofW = myProperDate19.getDay();
if ( parseInt(Date19DofW) == 0 ) { Date19DofW = "Sunday" }
else if ( parseInt(Date19DofW) == 1 ) { Date19DofW = "Monday" }
else if ( parseInt(Date19DofW) == 2 ) { Date19DofW = "Tuesday" }
else if ( parseInt(Date19DofW) == 3 ) { Date19DofW = "Wednesday" }
else if ( parseInt(Date19DofW) == 4 ) { Date19DofW = "Thursday" }
else if ( parseInt(Date19DofW) == 5 ) { Date19DofW = "Friday" }
else if ( parseInt(Date19DofW) == 6 ) { Date19DofW = "Saturday" }



var arrayOfDateParts20 = new Array();
var str20 = new String(myDate20);
arrayOfDateParts20 = str20.split(re);
var myProperDate20 = new Date(arrayOfDateParts20[2],parseInt(arrayOfDateParts20[1] - 1),arrayOfDateParts20[0]);
Date20DofW = myProperDate20.getDay();
if ( parseInt(Date20DofW) == 0 ) { Date20DofW = "Sunday" }
else if ( parseInt(Date20DofW) == 1 ) { Date20DofW = "Monday" }
else if ( parseInt(Date20DofW) == 2 ) { Date20DofW = "Tuesday" }
else if ( parseInt(Date20DofW) == 3 ) { Date20DofW = "Wednesday" }
else if ( parseInt(Date20DofW) == 4 ) { Date20DofW = "Thursday" }
else if ( parseInt(Date20DofW) == 5 ) { Date20DofW = "Friday" }
else if ( parseInt(Date20DofW) == 6 ) { Date20DofW = "Saturday" }



htmlForDatesAv += '<font face="verdana,arial" size="2" color="#000000">';
htmlForDatesAv += '<SELECT name="deliverydate" id="deliverydate" onchange="saveInfoToCookies()" >';
htmlForDatesAv += '<OPTION  value="' + myDate1 + '">' + myDate1 + '---' + Date1DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate2 + '">' + myDate2 + '---' + Date2DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate3 + '">' + myDate3 + '---' + Date3DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate4 + '">' + myDate4 + '---' + Date4DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate5 + '">' + myDate5 + '---' + Date5DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate6 + '">' + myDate6 + '---' + Date6DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate7 + '">' + myDate7 + '---' + Date7DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate8 + '">' + myDate8 + '---' + Date8DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate9 + '">' + myDate9 + '---' + Date9DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate10 + '">' + myDate10 + '---' + Date10DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate11 + '">' + myDate11 + '---' + Date11DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate12 + '">' + myDate12 + '---' + Date12DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate13 + '">' + myDate13 + '---' + Date13DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate14 + '">' + myDate14 + '---' + Date14DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate15 + '">' + myDate15 + '---' + Date15DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate16 + '">' + myDate16 + '---' + Date16DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate17 + '">' + myDate17 + '---' + Date17DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate18 + '">' + myDate18 + '---' + Date18DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate19 + '">' + myDate19 + '---' + Date19DofW + '</OPTION>';
htmlForDatesAv += '<OPTION  value="' + myDate20 + '">' + myDate20 + '---' + Date20DofW + '</OPTION>';
htmlForDatesAv += '</select></font>';





////////////////////////////////// END SORTING DATES




////////////////////////////////////////////////// end part 2 of checkout //////////////////////////








////////////////////////////////////////////// start protx checkout page //////////////////////




function saveInfoToCookiesProtx() {
	if (cookieValuesRestored == "yes") { // stop it happening while page is still loading and thus wiping all values

		var fftBilling = document.forms[0].BillingFirstnames.value + "_x_" + document.forms[0].BillingSurname.value + "_x_" +document.forms[0].BillingAddress1.value + "_x_" +document.forms[0].BillingAddress2.value + "_x_" +document.forms[0].BillingCity.value + "_x_" +document.forms[0].BillingCounty.value + "_x_" +document.forms[0].BillingPostCode.value
		setCookie("fft_billing_address", fftBilling);

		var fftDelivery = document.forms[0].DeliveryFirstnames.value + "_x_" + document.forms[0].DeliverySurname.value + "_x_" +document.forms[0].DeliveryAddress1.value + "_x_" +document.forms[0].DeliveryAddress2.value + "_x_" +document.forms[0].DeliveryCity.value + "_x_" +document.forms[0].DeliveryCounty.value + "_x_" +document.forms[0].DeliveryPostCode.value
		setCookie("fft_Delivery_address", fftDelivery);

		setCookie("fft_email", document.forms[0].BillingEmail.value);
	}
}

function retrieveCookieValuesProtx() {

	var fftBilling = new String(getCookie("fft_billing_address"));
	var fftDelivery = new String(getCookie("fft_Delivery_address"));

	var re = /x__x/gi;
	fftBilling = fftBilling.replace(re,"x_ _x");
	fftDelivery = fftDelivery.replace(re,"x_ _x");


	if (fftBilling != undefined && fftBilling != "") {

		re = /_x_/;

		arrayOfBilling = fftBilling.split(re);
		arrayOfDelivery = fftDelivery.split(re);

		document.forms[0].BillingFirstnames.value = arrayOfBilling[0];
		document.forms[0].BillingSurname.value = arrayOfBilling[1];
		document.forms[0].BillingAddress1.value = arrayOfBilling[2];
		document.forms[0].BillingAddress2.value = arrayOfBilling[3];
		document.forms[0].BillingCity.value = arrayOfBilling[4];
		document.forms[0].BillingCounty.value = arrayOfBilling[5];
		document.forms[0].BillingPostCode.value = arrayOfBilling[6];

		document.forms[0].DeliveryFirstnames.value = arrayOfDelivery[0];
		document.forms[0].DeliverySurname.value = arrayOfDelivery[1];
		document.forms[0].DeliveryAddress1.value = arrayOfDelivery[2];
		document.forms[0].DeliveryAddress2.value = arrayOfDelivery[3];
		document.forms[0].DeliveryCity.value = arrayOfDelivery[4];
		document.forms[0].DeliveryCounty.value = arrayOfDelivery[5];
		document.forms[0].DeliveryPostCode.value = arrayOfDelivery[6];
	
		document.forms[0].BillingEmail.value = getCookie("fft_email");

	}

	cookieValuesRestored = "yes"; // regardless of existence of cookies
}


function copyFromCustomer(theForm) {
	theForm.DeliveryFirstnames.value = theForm.BillingFirstnames.value;
	theForm.DeliverySurname.value = theForm.BillingSurname.value;
	theForm.DeliveryAddress1.value = theForm.BillingAddress1.value;
	theForm.DeliveryAddress2.value = theForm.BillingAddress2.value;
	theForm.DeliveryCity.value = theForm.BillingCity.value;
	theForm.DeliveryCounty.value = theForm.BillingCounty.value;
	theForm.DeliveryPostCode.value = theForm.BillingPostCode.value;
}
function undoFromCustomer(theForm) {
	theForm.DeliveryFirstnames.value = "";
	theForm.DeliverySurname.value = "";
	theForm.DeliveryAddress1.value = "";
	theForm.DeliveryAddress2.value = "";
	theForm.DeliveryCity.value = "";
	theForm.DeliveryCounty.value = "";
	theForm.DeliveryPostCode.value = "";
}



var callerPage = "";

function checkAndSubmitProtx(theForm) {

	if (callerPage == "protxextra" ) {
		theForm.DeliveryFirstnames.value = theForm.BillingFirstnames.value;
		theForm.DeliverySurname.value = theForm.BillingSurname.value;
		theForm.DeliveryAddress1.value = theForm.BillingAddress1.value;
		theForm.DeliveryAddress2.value = theForm.BillingAddress2.value;
		theForm.DeliveryCity.value = theForm.BillingCity.value;
		theForm.DeliveryCounty.value = theForm.BillingCounty.value;
		theForm.DeliveryPostCode.value = theForm.BillingPostCode.value;
	}

	saveInfoToCookiesProtx();

	var delivPostcode = new String(theForm.DeliveryPostCode.value);
	var delivCode2Letters = delivPostcode.substring(0, 2);
	delivCode2Letters = delivCode2Letters.toUpperCase();

	if ( theForm.BillingFirstnames.value == "" || theForm.BillingSurname.value == "" || theForm.BillingAddress1.value == "" || theForm.BillingCity.value == "" || theForm.BillingPostCode.value == "" || theForm.BillingEmail.value == "" || theForm.DeliveryFirstnames.value == "" || theForm.DeliverySurname.value == "" || theForm.DeliveryAddress1.value == "" || theForm.DeliveryCity.value == "" || theForm.DeliveryPostCode.value == "") {
		alert("Please type something in all of the spaces provided.")
	}

	else if ( delivCode2Letters == "GY" || delivCode2Letters == "JE" || delivCode2Letters == "IM" || delivCode2Letters == "BT" || delivCode2Letters == "HS" || delivCode2Letters == "ZE") {
		alert("Unfortunately we are only able to deliver to mainland UK addresses.")

	}



	else {
		str = new String(theForm.BillingFirstnames.value);
		theForm.BillingFirstnames.value = replaceSpChars(str);
		str = new String(theForm.BillingSurname.value);
		theForm.BillingSurname.value = replaceSpChars(str);
		str = new String(theForm.BillingAddress1.value);
		theForm.BillingAddress1.value = replaceSpChars(str);
		str = new String(theForm.BillingAddress2.value);
		theForm.BillingAddress2.value = replaceSpChars(str);
		str = new String(theForm.BillingCity.value);
		theForm.BillingCity.value = replaceSpChars(str);
		str = new String(theForm.BillingCounty.value);
		theForm.BillingCounty.value = replaceSpChars(str);
		str = new String(theForm.BillingPostCode.value);
		theForm.BillingPostCode.value = replaceSpChars(str);
		str = new String(theForm.BillingEmail.value);
		theForm.BillingEmail.value = replaceSpChars(str);
		str = new String(theForm.DeliveryFirstnames.value);
		theForm.DeliveryFirstnames.value = replaceSpChars(str);
		str = new String(theForm.DeliverySurname.value);
		theForm.DeliverySurname.value = replaceSpChars(str);
		str = new String(theForm.DeliveryAddress1.value);
		theForm.DeliveryAddress1.value = replaceSpChars(str);
		str = new String(theForm.DeliveryAddress2.value);
		theForm.DeliveryAddress2.value = replaceSpChars(str);
		str = new String(theForm.DeliveryCounty.value);
		theForm.DeliveryCounty.value = replaceSpChars(str);
		str = new String(theForm.DeliveryCity.value);
		theForm.DeliveryCity.value = replaceSpChars(str);
		str = new String(theForm.DeliveryPostCode.value);
		theForm.DeliveryPostCode.value = replaceSpChars(str);


		document.getElementById("submitbutton").style.display = "none";				
		document.getElementById("missingfields").style.display = "block";	
		document.getElementById("missingfields").style.backgroundColor = "#F0D3B4"
		document.getElementById("missingfields").innerHTML = "Please wait while your order is checked ...";
	
		if (callerPage == "protx") {
			theForm.action = "https://www.martins-seafresh.co.uk/cgi-bin/a_protx_checkout.pl";
		}
		else if (callerPage == "protxextra") {
			theForm.action = "https://www.martins-seafresh.co.uk/cgi-bin/a_protx_checkout_extra.pl";
		}
		else if (callerPage == "voucherextra") {
			theForm.action = "https://www.martins-seafresh.co.uk/cgi-bin/a_voucher_extra.pl";
		}
		else if (callerPage == "vouchernoextra") {
			theForm.action = "https://www.martins-seafresh.co.uk/cgi-bin/a_voucher_noextra.pl";
		}






		setTimeout('hidePleaseWait()', 4000)

		theForm.submit();	
	}
}

function onFlyWrite() {
	var htmlToReturn = "";
	htmlToReturn += '<input type="hidden" name="orderNo" value="';
	htmlToReturn += myOrderNo;
	htmlToReturn += '">';
	htmlToReturn += '<input type="hidden" name="orderTotal" value="';
	htmlToReturn += myTotal;
	htmlToReturn += '">';
	return htmlToReturn;
}



function onFlyWriteVoucher() {
	var htmlToReturn = "";
	htmlToReturn += '<input type="hidden" name="orderNo" value="';
	htmlToReturn += myOrderNo;
	htmlToReturn += '">';
	htmlToReturn += '<input type="hidden" name="orderTotal" value="';
	htmlToReturn += myTotal;
	htmlToReturn += '">';
	htmlToReturn += '<input type="hidden" name="myVoucherNo" value="';
	htmlToReturn += myVoucherNo;
	htmlToReturn += '">';
	htmlToReturn += '<input type="hidden" name="myPaid" value="';
	htmlToReturn += myPaid;
	htmlToReturn += '">';
	htmlToReturn += '<input type="hidden" name="myExtraDue" value="';
	htmlToReturn += knockOffSomeDecPlaces(myExtraDue,2);
	htmlToReturn += '">';
	return htmlToReturn;
}






//////////////////////// end protx checkout page ////////////////////////////////////