

var arrayOfPromotions = new Array();

arrayOfPromotions.push(new Array(
"106z", // always lower case
"June 31, 2011",
"yes", // free delivery
"5", // pound discount 
"0", // OR % discount written like this 5 or 15
"no", // multiple use allowed
"", // text message in checkout
"" // leave empty + no comma on last
));

arrayOfPromotions.push(new Array(
"bupa", 
"December 1, 2011",
"yes", 
"0", 
"0", 
"no", 
"", 
"" 
));

arrayOfPromotions.push(new Array(
"106m", 
"August 1, 2011",
"no", 
"0", 
"15", 
"no", 
"", 
"" 
));



arrayOfPromotions.push(new Array(
"1777", 
"December 31, 2011",
"yes", 
"0", 
"0", 
"no", 
"", 
"" 
));



arrayOfPromotions.push(new Array(
"1899", 
"December 31, 2011",
"yes", 
"0", 
"0", 
"no", 
"", 
"" 
));












function getCookieVal(offset) {
	var endstr = document.cookie.indexOf(";", offset);
	if (endstr == -1) {
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset, endstr));
}



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 "";
}


function setCookie(name, value) {
	var exp = new Date(); // to fix bug with Safari
	exp.setTime(exp.getTime() + 86400000);
	var expires = true;
	var path = false;
	var domain = false;
	var secure = false;

	document.cookie = name + "=" + escape (value) +
		((expires) ? "; expires=" + exp.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
}


function setCookieLong(name, value) {
	var exp = new Date(); // to fix bug with Safari
	exp.setTime(exp.getTime() + 995000000);
	var expires = true;
	var path = false;
	var domain = false;
	var secure = false;

	document.cookie = name + "=" + escape (value) +
		((expires) ? "; expires=" + exp.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
}















var str6786 = new String(getCookie("promocode"));
var thePromoCode = str6786.toLowerCase(); // "" or bupa or 106z etc - ALWAYS forced to lowercase

var promoExpiry = "";
var promoExpiryMilli = 0;
var promoFreeDelivery = "no";
var promoPoundDiscount = 0;
var promoPercentDiscount = 0;
var promoMultiUse = "no";
var promoMessage = "";


for (var i = 0; i < arrayOfPromotions.length; i++) {	
	if (arrayOfPromotions[i][0] == thePromoCode) {
		promoExpiry = arrayOfPromotions[i][1];
		var tempDate = new Date(arrayOfPromotions[i][1]);
		promoExpiryMilli = tempDate.getTime();
		promoFreeDelivery = arrayOfPromotions[i][2];
		promoPoundDiscount = parseFloat(arrayOfPromotions[i][3]);
		promoPercentDiscount = parseFloat(arrayOfPromotions[i][4]);
		promoMultiUse = arrayOfPromotions[i][5];
		promoMessage = arrayOfPromotions[i][6];
	}
}



var today567 = new Date();
if (thePromoCode != "" && today567.getTime() > promoExpiryMilli) {
	alert("Sorry - this promotion code expired on " + promoExpiry);
	setCookie("promocode", "");
	thePromoCode = "";
}






















var giftVoucherTotal = 0;
var voucher1Save = "Type number here";
var voucher2Save = "Type number here";
var voucher3Save = "Type number here";
var voucher4Save = "Type number here";








////////// SETS INCOMING VARIABLES //////

function getSearchAsArray() {
	var theResults = new Array()
	var input = unescape(location.search.substr(1))
	if (input) {
		var srchArray = input.split("&")
		var tempArray = new Array()
		for (var i = 0; i < srchArray.length; i++) {
			tempArray = srchArray[i].split("=")
			var varForKeyForArray = "'" + tempArray[0] + "'";
			theResults[varForKeyForArray] = tempArray[1]
		}
	}
	return theResults
}

function setVariables() {
	if (location.search) {
		var srchArray = getSearchAsArray();
		if (srchArray["'vouch1'"]) { voucher1Save = srchArray["'vouch1'"]; }
		if (srchArray["'vouch2'"]) { voucher2Save = srchArray["'vouch2'"]; }
		if (srchArray["'vouch3'"]) { voucher3Save = srchArray["'vouch3'"]; }
		if (srchArray["'vouch4'"]) { voucher4Save = srchArray["'vouch4'"]; }
	}
}
setVariables();








// ** BEGIN GLOBAL ADJUSTMENTS ** //
// Order form columns and rows specifications
// **Column titles CANNOT CONTAIN PERIODS
var columnHeads = "Qty,Description,Each,ExVAT,VAT,Total, , ".split(",");
var columnWidths = "3,40,6,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 str = new String(arrayOfItems[rowNum])
	//28__12.95__4__Kg Fresh MSC Mackerel Fillets__No special instructions__ 
	var re = /__/
	var arrayOfItemFields = str.split(re)




	var oneRow = '<tr>';
	for (var i = 0; i < ( columnHeads.length - 2) ; i++) {
		if (i == 0) { // quantity
			oneRow += '<td>';


			/////////////////// boxes can't have quantity more than 1
			if ( arrayOfItemFields[0] == 159 || arrayOfItemFields[0] == 162 || arrayOfItemFields[0] == 158 || arrayOfItemFields[0] == 212 || arrayOfItemFields[0] == 160 || arrayOfItemFields[0] == 161 || arrayOfItemFields[0] == 192 || arrayOfItemFields[0] == 222 || arrayOfItemFields[0] == 223 ) {
				oneRow += '<select name="' + columnHeads[i] + '" size="1" id="quantityreqd" onchange="adjustQuantity(' + rowNum + ', this)">';
				oneRow += '<option value="1">1</option>';
				oneRow += '</select>';
			}
			else {
				oneRow += '<select name="' + columnHeads[i] + '" size="1" id="quantityreqd" onchange="adjustQuantity(' + rowNum + ', this)">';
				oneRow += '<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option>';
				oneRow += '</select>';
			}


			oneRow += '</td>';
		}
		else {
			oneRow += '<td align="left"><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 id="desccont1row_' + rowNum + '"><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 id="desccont2row_' + rowNum + '"><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 id="desccont3row_' + rowNum + '"><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 id="desccont4row_' + rowNum + '"><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 id="desccont5row_' + rowNum + '"><td>&nbsp;</td><td align="left"><input class="textfield" type="text" size="40" name="DescCont5" /></td><td colspan="' + (columnHeads.length - 2) + '">&nbsp;</td></tr>';
	oneRow += '<tr><td>&nbsp;</td><td align="left">&nbsp;</td></tr>';
	return oneRow
}








function initialiseBasket() { 
		var newHTML2 = "";

		var basketArrayRaw = getCookie("fishforthoughtBasketItems");

		//84__12.95__2__Salmon Smoked 454g__No special instructions__ 
		//alert(basketArrayRaw )


		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);
			}

			if (thePromoCode != "") { // date is ok and we have a promo code
				if (promoPoundDiscount > 0 || promoPercentDiscount > 0) {
					newHTML2 += '<tr><td colspan="1"></td>'; 
					if (promoPercentDiscount > 0) {
						newHTML2 += '<td class="grandTotal" colspan="4" align="right">' + promoPercentDiscount + '% Promotional discount &pound;</td>';
					}
					else {
						newHTML2 += '<td class="grandTotal" colspan="4" align="right">Promotional code discount &pound;</td>';
					}


					newHTML2 += '<td><input type="text" class="textfield" size="7" name="promototal" value="' + knockOffSomeDecPlaces(promoPoundDiscount, 2) + '" /></td><td>&nbsp;</td></tr>';


				}
				if (promoMessage != "") {
					newHTML2 += '<tr><td colspan="1"></td>'; 
					newHTML2 += '<td colspan="4" align="right">' + promoMessage + '</td>';
					newHTML2 += '<td>&nbsp;</td><td>&nbsp;</td></tr>';

					newHTML2 += '<tr><td colspan="7">&nbsp;</td></tr>'; 
				}
			}







			newHTML2 += '<tr><td colspan="7">&nbsp;</td></tr>'; 
			newHTML2 += '<tr><td>&nbsp;</td>'; 
			newHTML2 += '<td id="postageTotal"><B><I>FEDEX</I></B> Delivery to UK address<br />(mainland only)</td><td>&nbsp;</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>&nbsp;</td></tr>';

			newHTML2 += '<tr><td colspan="7">&nbsp;</td></tr>'; 

		

			newHTML2 += '<tr><td>&nbsp;</td><td align="left" colspan="4">Would you like to use any gift or promotional vouchers?<br /><input type="text" size="20" onfocus="if(this.value == \'Type number here\') { this.value = \'\'; }" id="voucher1" name="voucher1" value="' + voucher1Save + '" onchange="processVouchers()" />&nbsp;&nbsp;<input type="text" size="20" onfocus="if(this.value == \'Type number here\') { this.value = \'\'; }" id="voucher2" name="voucher2" value="' + voucher2Save + '" onchange="processVouchers()" /><br /><input type="text" size="20" onfocus="if(this.value == \'Type number here\') { this.value = \'\'; }" id="voucher3" name="voucher3" value="' + voucher3Save + '" onchange="processVouchers()" />&nbsp;&nbsp;<input type="text" size="20" onfocus="if(this.value == \'Type number here\') { this.value = \'\'; }" id="voucher4" name="voucher4" value="' + voucher4Save + '"  onchange="processVouchers()" /><button onClick="processVouchers()">Recalculate</button></td><td align="left" id="vouchertotal">&nbsp;</td><td>&nbsp;</td></tr>';
			newHTML2 += '<tr><td colspan="7">&nbsp;</td></tr>'; 

	

			newHTML2 += '<tr><td colspan="1"></td>'; 
			newHTML2 += '<td class="grandTotal" colspan="4" align="right" >Total including UK delivery and VAT &pound;</td>';
			newHTML2 += '<td><input type="text" class="textfield" size="7" name="total" /></td><td>&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;
var globalTotal = 0;





function populateCheckoutVariablesArray() {
 
		var currVATRate = 1 - 100/120;
		

		var subTotal = 0;
		var postTotal = 0;
		if (itemsInBasketSoFar == 0) { ; } // do nothing
		else {

			if ( itemsInBasketSoFar == 1 ) { ////////// one item only

				var vatApplicable = "no";

				var unitPriceWithVAT = 0;

				var dC1 = "";
				var dC2 = "";
				var dC3 = "";
				var dC4 = "";
				var dC5 = "";
				var mainDesc = "";

				var str = new String(arrayOfItems[0])
				//28__12.95__4__Kg Fresh MSC Mackerel Fillets__No special instructions__ 

				var re = /__/
				var arrayOfItemFields = str.split(re)
					
				// arrayOfItemFields[0] item number
				// arrayOfItemFields[1] unit price
				// arrayOfItemFields[2] no of units
				// arrayOfItemFields[3] descrip
				// arrayOfItemFields[4] main comments
				// arrayOfItemFields[5] new comments


				if (arrayOfItemFields[0] == "999999" || arrayOfItemFields[0] == "999999999") { // special vat rate items
					vatApplicable = "yes";
				}
				unitPriceWithVAT = parseFloat(arrayOfItemFields[1]);
				mainDesc = arrayOfItemFields[3];

				var mainComments = new String(arrayOfItemFields[4]);
				if (mainComments == "No special instructions") {
					mainComments = "";
				}
			
				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);
				}


				postTotal = 7.95; // includes vat

				if (mainDesc.indexOf("Gift Token") != -1) {
					postTotal = 0.75; // includes vat
				}



			        var A = document.forms[0].Qty.options
				var L = A.length;
			        while(L) {
            				if ( A[--L].value == arrayOfItemFields[2] ){
                				document.forms[0].Qty.selectedIndex= L;
               					 L= 0;
            				}
        			}

				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;

				var thisLineCostWithVAT = parseInt(arrayOfItemFields[2]) * unitPriceWithVAT;
				subTotal += thisLineCostWithVAT;

				thisLineCostWithVAT = knockOffSomeDecPlaces(thisLineCostWithVAT,2);
				document.forms[0].Total.value = thisLineCostWithVAT;

				var vatPortion = currVATRate * unitPriceWithVAT;
				vatPortion = knockOffSomeDecPlaces(vatPortion,2);

				if (vatApplicable == "no") { // most products
					vatPortion = 0;
				}


				var vatOnTotalForLine = knockOffSomeDecPlaces(vatPortion*parseInt(arrayOfItemFields[2]),2);
				var exvatTotalForLine = knockOffSomeDecPlaces(thisLineCostWithVAT - vatOnTotalForLine,2);			
				document.forms[0].ExVAT.value = exvatTotalForLine;
				document.forms[0].VAT.value = vatOnTotalForLine;

				document.forms[0].Each.value = knockOffSomeDecPlaces(unitPriceWithVAT - vatPortion,2);

				document.forms[0].Description.readOnly = true;
				document.forms[0].DescCont1.readOnly = true;
				document.forms[0].DescCont2.readOnly = true;
				document.forms[0].DescCont3.readOnly = true;
				document.forms[0].DescCont4.readOnly = true;
				document.forms[0].DescCont5.readOnly = true;
				document.forms[0].Total.readOnly = true;
			}

			else { ////////// multiple items

				for (var i = 0; i < arrayOfItems.length; i++ ) { //an item at a time


					var vatApplicable = "no";

					var unitPriceWithVAT = 0;
					var dC1 = "";
					var dC2 = "";
					var dC3 = "";
					var dC4 = "";
					var dC5 = "";
					var mainDesc = "";

					var str = new String(arrayOfItems[i])
					//28__12.95__4__Kg Fresh MSC Mackerel Fillets__No special instructions__ 

					var re = /__/
					var arrayOfItemFields = str.split(re)



					// arrayOfItemFields[0] item number
					// arrayOfItemFields[1] unit price
					// arrayOfItemFields[2] no of units
					// arrayOfItemFields[3] descrip
					// arrayOfItemFields[4] main comments
					// arrayOfItemFields[5] new comments


					if (arrayOfItemFields[0] == "999999" || arrayOfItemFields[0] == "999999999") { // special vat rate items
						vatApplicable = "yes";
					}


					unitPriceWithVAT = parseFloat(arrayOfItemFields[1]);
					mainDesc = arrayOfItemFields[3];

					var mainComments = new String(arrayOfItemFields[4]);
					if (mainComments == "No special instructions") {
						mainComments = "";
					}
			
					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);
					}


					if (mainDesc.indexOf("Gift Token") != -1) {
						postTotal += 0.75;
					}
					else {
						postTotal += 7.95;
					}



					var A = document.forms[0].Qty[i].options
					var L = A.length;
			       		while(L) {
            					if ( A[--L].value == arrayOfItemFields[2] ){
                					document.forms[0].Qty[i].selectedIndex= L;
               					 	L= 0;
            					}
        				}


					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;


					var thisLineCostWithVAT = parseInt(arrayOfItemFields[2]) * unitPriceWithVAT;
					subTotal += thisLineCostWithVAT;
					thisLineCostWithVAT = knockOffSomeDecPlaces(thisLineCostWithVAT,2);
					document.forms[0].Total[i].value = thisLineCostWithVAT;

					var vatPortion = currVATRate * unitPriceWithVAT;
					vatPortion = knockOffSomeDecPlaces(vatPortion,2);
				
					if (vatApplicable == "no") { // most items
						vatPortion = 0;
					}



					var vatOnTotalForLine = knockOffSomeDecPlaces(vatPortion*parseInt(arrayOfItemFields[2]),2);
					var exvatTotalForLine = knockOffSomeDecPlaces(thisLineCostWithVAT - vatOnTotalForLine,2);	
		
					document.forms[0].ExVAT[i].value = exvatTotalForLine;
					document.forms[0].VAT[i].value = vatOnTotalForLine;

					document.forms[0].Each[i].value = knockOffSomeDecPlaces(unitPriceWithVAT - vatPortion,2);

					document.forms[0].Description[i].readOnly = true;
					document.forms[0].DescCont1[i].readOnly = true;
					document.forms[0].DescCont2[i].readOnly = true;
					document.forms[0].DescCont3[i].readOnly = true;
					document.forms[0].DescCont4[i].readOnly = true;
					document.forms[0].DescCont5[i].readOnly = true;
	


					var nameOfDescConField1 = "desccont1row_" + i;
					var nameOfDescConField2 = "desccont2row_" + i;
					var nameOfDescConField3 = "desccont3row_" + i;
					var nameOfDescConField4 = "desccont4row_" + i;
					var nameOfDescConField5 = "desccont5row_" + i;




					if (dC1 == "") {
						document.getElementById(nameOfDescConField1).style.display="none";
					}
					if (dC2 == "") {
						document.getElementById(nameOfDescConField2).style.display="none";
					}
					if (dC3 == "") {
						document.getElementById(nameOfDescConField3).style.display="none";
					}
					if (dC4 == "") {
						document.getElementById(nameOfDescConField4).style.display="none";
					}
					if (dC5 == "") {
						document.getElementById(nameOfDescConField5).style.display="none";
					}

					document.forms[0].Total[i].readOnly = true;

				}

			}






			// ensure this is applied before postage as % discount does not apply to postage
			if (thePromoCode != "") { // date is ok and we have a promo code
				if (promoPoundDiscount > 0 || promoPercentDiscount > 0) {
	
					var theDiscountAmount = 0;

					if (promoPoundDiscount > 0) {
						theDiscountAmount = knockOffSomeDecPlaces(promoPoundDiscount,2)
						subTotal -= promoPoundDiscount;
					}
					else if (promoPercentDiscount > 0) {
						var workingOutDiscountPercent = promoPercentDiscount/100;
						theDiscountAmount = knockOffSomeDecPlaces(subTotal*workingOutDiscountPercent,2)
						subTotal -= theDiscountAmount;
					}

					document.forms[0].promototal.value = knockOffSomeDecPlaces(theDiscountAmount,2);
					document.forms[0].promototal.readOnly = true;

				}
			}




			if (postTotal >= 7.95 ) {
				postTotal = 7.95;
			}
			else if (postTotal > 0.75 ) {
				postTotal = 0.75;
			}
			if (thePromoCode != "" && promoFreeDelivery == "yes") {
				postTotal = 0;
				document.getElementById("postageTotal").innerHTML = "<strong>SPECIAL OFFER FREE DELIVERY</strong><br />to a UK address";
			}
			else if (subTotal >= 100) {
				postTotal = 0;
				document.getElementById("postageTotal").innerHTML = "<strong>FREE DELIVERY</strong> to a UK address";
			}
			subTotal += postTotal;


			var postVAT = knockOffSomeDecPlaces(postTotal*currVATRate,2);
			var postWithoutVAT = knockOffSomeDecPlaces(postTotal - postVAT,2);


//			document.forms[0].postexvat.value = postWithoutVAT;
//			document.forms[0].postvat.value = postVAT;
			document.forms[0].totalpost.value = knockOffSomeDecPlaces(postTotal,2);

			if (postTotal > 0) {

//				document.forms[0].postexvat.value = postWithoutVAT;
				document.forms[0].postexvat.value = knockOffSomeDecPlaces(postTotal,2);
				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);

			globalTotal = knockOffSomeDecPlaces(subTotal,2);

			document.forms[0].total.readOnly = true;

			var newHTML = ""


			if (subTotal - postTotal < 25) {
				var extraToAdd2 = 25 - (subTotal - postTotal);
				newHTML += '<p id="minimumorder"><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>FREE DELIVERY OFFER:</strong>: Until the 28th of April we are not charging for delivery (normally &pound;7.95). Happy Easter!</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, Unit 1, Callywith Gate Business Park<br />Launceston Road, Bodmin PL31 2RQ, UK .<br />Contact Phone: 01208 262202  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>';
			document.getElementById("topbit").innerHTML = newHTML;

			processVouchers(); // do last


		}

		document.getElementById("baskettitle").innerHTML = "Shopping Basket";
		setCookie("fishforthoughtTotal", subTotal - postTotal);
		totalWithoutPostForMinCheck = (subTotal - postTotal);

} // END OF populateCheckoutVariablesArray






function adjustQuantity(rowNumWithinForm, theField) {

	// must be one or more items for this to fire
	basketArrayStr = new String();

	for (var i = 0; i < arrayOfItems.length; i++) {
		
		if (i == 0) {
			//alert(arrayOfItems[i]);	
			//28__12.95__4__Kg Fresh MSC Mackerel Fillets__No special instructions__ 
		}
		if (i != 0) {
			basketArrayStr += "EITM";
		}
		var tempArray = new Array();
		var str = new String(arrayOfItems[i]);
		var re = /__/;
		tempArray = str.split(re);

		basketArrayStr += tempArray[0] + '__' + tempArray[1] + '__';

		if (rowNumWithinForm == i) {
			basketArrayStr += theField.value; // the new quantity
		}
		else {
			basketArrayStr += tempArray[2];
		}
		basketArrayStr += '__' + tempArray[3] + '__' + tempArray[4] + '__' + tempArray[5];

	}
	


	setCookie("fishforthoughtBasketItems", basketArrayStr);

	itemsInBasketSoFar = 0; // reset
	arrayOfItems.length = 0; // reset

	document.getElementById("theform").innerHTML = "";// reset

	initialiseBasket();
	populateCheckoutVariablesArray();

}




var voucher1Value = 0;
var voucher2Value = 0;
var voucher3Value = 0;
var voucher4Value = 0;

function processVouchers() {
	
	giftVoucherTotal = 0; // global

	voucher1Value = 0;
	voucher2Value = 0;
	voucher3Value = 0;
	voucher4Value = 0;

	var voucher1No = new String(document.forms[0].voucher1.value);
	var voucher2No = new String(document.forms[0].voucher2.value);
	var voucher3No = new String(document.forms[0].voucher3.value);
	var voucher4No = new String(document.forms[0].voucher4.value);

	if (voucher1No != "Type number here") {
		voucher1No = voucher1No.replace(/ /g, "");
		voucher1No = voucher1No.toLowerCase();
	}
	if (voucher2No != "Type number here") {
		voucher2No = voucher2No.replace(/ /g, "");
		voucher2No = voucher2No.toLowerCase();
	}
	if (voucher3No != "Type number here") {
		voucher3No = voucher3No.replace(/ /g, "");
		voucher3No = voucher3No.toLowerCase();
	}
	if (voucher4No != "Type number here") {
		voucher4No = voucher4No.replace(/ /g, "");
		voucher4No = voucher4No.toLowerCase();
	}


	voucher1Save = voucher1No; // in case we redraw the form by changing quantity etc
	voucher2Save = voucher2No;
	voucher3Save = voucher3No;
	voucher4Save = voucher4No;


	// what are the value of likely valid voucher numbers
	if (voucher1No.substring(0,2) == "05") { voucher1Value = 5; }
	else if (voucher1No.substring(0,2) == "07") { voucher1Value = 7.95; }
	else if (voucher1No.substring(0,2) == "jo") { voucher1Value = 7.95; setCookieLong("v1", "JO1"); }
	else if (voucher1No.substring(0,2) == "na") { voucher1Value = 7.95; setCookieLong("v1", "NAKED1"); }
	else if (voucher1No.substring(0,2) == "ff") { voucher1Value = 7.95; setCookieLong("v1", "FRIENDS"); }
	else if (voucher1No.substring(0,2) == "cf") { voucher1Value = 7.95; setCookieLong("v1", "CORNWALLFOODDRINK"); }
	else if (voucher1No.substring(0,2) == "sc") { voucher1Value = 7.95; setCookieLong("v1", "SECONDORDER"); }
	else if (voucher1No.substring(0,3) == "100") { voucher1Value = 100; }
	else if (voucher1No.substring(0,3) == "125") { voucher1Value = 125; }
	else if (voucher1No.substring(0,3) == "150") { voucher1Value = 150; }
	else if (voucher1No.substring(0,3) == "200") { voucher1Value = 200; }
	else if (voucher1No.substring(0,2) == "10") { voucher1Value = 10; }
	else if (voucher1No.substring(0,2) == "15") { voucher1Value = 15; }
	else if (voucher1No.substring(0,2) == "20") { voucher1Value = 20; }
	else if (voucher1No.substring(0,2) == "25") { voucher1Value = 25; }
	else if (voucher1No.substring(0,2) == "32") { voucher1Value = 32.95; }
	else if (voucher1No.substring(0,2) == "50") { voucher1Value = 50; }
	else if (voucher1No.substring(0,2) == "57") { voucher1Value = 57.95; }
	else if (voucher1No.substring(0,2) == "75") { voucher1Value = 75; }
	else if (voucher1No.substring(0,2) == "82") { voucher1Value = 82.95; }

	if (voucher2No.substring(0,2) == "05") { voucher2Value = 5; }
	else if (voucher2No.substring(0,2) == "07") { voucher2Value = 7.95; }
	else if (voucher2No.substring(0,2) == "jo") { voucher2Value = 7.95; setCookieLong("v1", "JO1"); }
	else if (voucher2No.substring(0,2) == "na") { voucher2Value = 7.95; setCookieLong("v1", "NAKED1"); }
	else if (voucher2No.substring(0,2) == "ff") { voucher2Value = 7.95; setCookieLong("v1", "FRIENDS"); }
	else if (voucher2No.substring(0,2) == "cf") { voucher2Value = 7.95; setCookieLong("v1", "CORNWALLFOODDRINK"); }
	else if (voucher2No.substring(0,2) == "sc") { voucher2Value = 7.95; setCookieLong("v1", "SECONDORDER"); }
	else if (voucher2No.substring(0,3) == "100") { voucher2Value = 100; }
	else if (voucher2No.substring(0,3) == "125") { voucher2Value = 125; }
	else if (voucher2No.substring(0,3) == "150") { voucher2Value = 150; }
	else if (voucher2No.substring(0,3) == "200") { voucher2Value = 200; }
	else if (voucher2No.substring(0,2) == "10") { voucher2Value = 10; }
	else if (voucher2No.substring(0,2) == "15") { voucher2Value = 15; }
	else if (voucher2No.substring(0,2) == "20") { voucher2Value = 20; }
	else if (voucher2No.substring(0,2) == "25") { voucher2Value = 25; }
	else if (voucher2No.substring(0,2) == "32") { voucher2Value = 32.95; }
	else if (voucher2No.substring(0,2) == "50") { voucher2Value = 50; }
	else if (voucher2No.substring(0,2) == "57") { voucher2Value = 57.95; }
	else if (voucher2No.substring(0,2) == "75") { voucher2Value = 75; }
	else if (voucher2No.substring(0,2) == "82") { voucher2Value = 82.95; }

	if (voucher3No.substring(0,2) == "05") { voucher3Value = 5; }
	else if (voucher3No.substring(0,2) == "07") { voucher3Value = 7.95; }
	else if (voucher3No.substring(0,2) == "jo") { voucher3Value = 7.95; setCookieLong("v1", "JO1"); }
	else if (voucher3No.substring(0,2) == "na") { voucher3Value = 7.95; setCookieLong("v1", "NAKED1"); }
	else if (voucher3No.substring(0,2) == "ff") { voucher3Value = 7.95; setCookieLong("v1", "FRIENDS"); }
	else if (voucher3No.substring(0,2) == "cf") { voucher3Value = 7.95; setCookieLong("v1", "CORNWALLFOODDRINK"); }
	else if (voucher3No.substring(0,2) == "sc") { voucher3Value = 7.95; setCookieLong("v1", "SECONDORDER"); }
	else if (voucher3No.substring(0,3) == "100") { voucher3Value = 100; }
	else if (voucher3No.substring(0,3) == "125") { voucher3Value = 125; }
	else if (voucher3No.substring(0,3) == "150") { voucher3Value = 150; }
	else if (voucher3No.substring(0,3) == "200") { voucher3Value = 200; }
	else if (voucher3No.substring(0,2) == "10") { voucher3Value = 10; }
	else if (voucher3No.substring(0,2) == "15") { voucher3Value = 15; }
	else if (voucher3No.substring(0,2) == "20") { voucher3Value = 20; }
	else if (voucher3No.substring(0,2) == "25") { voucher3Value = 25; }
	else if (voucher3No.substring(0,2) == "32") { voucher3Value = 32.95; }
	else if (voucher3No.substring(0,2) == "50") { voucher3Value = 50; }
	else if (voucher3No.substring(0,2) == "57") { voucher3Value = 57.95; }
	else if (voucher3No.substring(0,2) == "75") { voucher3Value = 75; }
	else if (voucher3No.substring(0,2) == "82") { voucher3Value = 82.95; }

	if (voucher4No.substring(0,2) == "05") { voucher4Value = 5; }
	else if (voucher4No.substring(0,2) == "07") { voucher4Value = 7.95; }
	else if (voucher4No.substring(0,2) == "jo") { voucher4Value = 7.95; setCookieLong("v1", "JO1"); }
	else if (voucher4No.substring(0,2) == "na") { voucher4Value = 7.95; setCookieLong("v1", "NAKED1"); }
	else if (voucher4No.substring(0,2) == "ff") { voucher4Value = 7.95; setCookieLong("v1", "FRIENDS"); }
	else if (voucher4No.substring(0,2) == "cf") { voucher4Value = 7.95; setCookieLong("v1", "CORNWALLFOODDRINK"); }
	else if (voucher4No.substring(0,2) == "sc") { voucher4Value = 7.95; setCookieLong("v1", "SECONDORDER"); }
	else if (voucher4No.substring(0,3) == "100") { voucher4Value = 100; }
	else if (voucher4No.substring(0,3) == "125") { voucher4Value = 125; }
	else if (voucher4No.substring(0,3) == "150") { voucher4Value = 150; }
	else if (voucher4No.substring(0,3) == "200") { voucher4Value = 200; }
	else if (voucher4No.substring(0,2) == "10") { voucher4Value = 10; }
	else if (voucher4No.substring(0,2) == "15") { voucher4Value = 15; }
	else if (voucher4No.substring(0,2) == "20") { voucher4Value = 20; }
	else if (voucher4No.substring(0,2) == "25") { voucher4Value = 25; }
	else if (voucher4No.substring(0,2) == "32") { voucher4Value = 32.95; }
	else if (voucher4No.substring(0,2) == "50") { voucher4Value = 50; }
	else if (voucher4No.substring(0,2) == "57") { voucher4Value = 57.95; }
	else if (voucher4No.substring(0,2) == "75") { voucher4Value = 75; }
	else if (voucher4No.substring(0,2) == "82") { voucher4Value = 82.95; }


	giftVoucherTotal = voucher1Value + voucher2Value + voucher3Value + voucher4Value;


	// not allowed
	if (voucher1Value == 7.95) {
		if (voucher2Value == 7.95 || voucher2Value == 7.95 || voucher3Value == 7.95) {
			alert("You can only use one free postage voucher");
			giftVoucherTotal = 0;
		}
	}


	document.getElementById("vouchertotal").innerHTML = "- " + knockOffSomeDecPlaces(giftVoucherTotal,2);
			
	var previousTotal = globalTotal;

	document.forms[0].total.value = knockOffSomeDecPlaces((previousTotal - giftVoucherTotal),2);
	setCookie("fishforthoughtTotal", (previousTotal - giftVoucherTotal));


	if (voucher1No != "" && voucher1No != "Type number here" && voucher1No != "Typenumberhere" && giftVoucherTotal == 0) {
		alert("There is a problem with your voucher number.  Please try again or call our sales team");
	}
	else if (voucher2No != "" && voucher2No != "Type number here" && voucher2No != "Typenumberhere" && giftVoucherTotal == 0) {
		alert("There is a problem with your voucher number.  Please try again or call our sales team");
	}
	else if (voucher3No != "" && voucher3No != "Type number here" && voucher3No != "Typenumberhere" && giftVoucherTotal == 0) {
		alert("There is a problem with your voucher number.  Please try again or call our sales team");
	}
	else if (voucher4No != "" && voucher4No != "Type number here" && voucher4No != "Typenumberhere" && giftVoucherTotal == 0) {
		alert("There is a problem with your voucher number.  Please try again or call our sales team");
	}

}





function removeAnItem(rowNumber) {
	// must be one or more items for this to fire
	basketArrayStr = new String();
	for (var i = 0; i < arrayOfItems.length; i++) {

		if (rowNumber != i) {
			if (basketArrayStr != "") { // would be for first one being added
				basketArrayStr += "EITM";
			}
			basketArrayStr += arrayOfItems[i];
		}
	}
	setCookie("fishforthoughtBasketItems", basketArrayStr);


	itemsInBasketSoFar = 0; // reset
	arrayOfItems.length = 0; // reset

	document.getElementById("theform").innerHTML = "";// reset

	initialiseBasket();
	populateCheckoutVariablesArray();
}














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 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 || pN == 243 || pN == 244 || pN == 245 || pN == 246 || pN == 247 || pN == 248 || pN == 249 || pN == 250 || pN == 251 ) {
					// 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 + '">';


			HTMLToWrite += '<input type="hidden" name="promoCode" value="' + thePromoCode + '">';


			HTMLToWrite += '<input type="hidden" name="vouch1" value="' + voucher1Save + '">';
			HTMLToWrite += '<input type="hidden" name="vouch2" value="' + voucher2Save + '">';
			HTMLToWrite += '<input type="hidden" name="vouch3" value="' + voucher3Save + '">';
			HTMLToWrite += '<input type="hidden" name="vouch4" value="' + voucher4Save + '">';

			 //alert(HTMLToWrite)
			return HTMLToWrite;
		}


} // END OF writeHiddenSection








function checkAndSubmit(tF) { //tF = ref to form

	var myRegExp = / /gi
	str = new String(tF.myemail.value)
	str = str.replace(myRegExp,"")

	tF.myemail.value = str;

	var myRegExp2 = /\./;
	var myRegExp3 = /\@/;
	var myRegExp4 = /\,/;
	var myRegExp5 = /www\./;

	var emailOK = "yes";
	var postCodeOK = "yes";


	var myDelivPostcode = new String(tF.mydelivpost.value)
	myDelivPostcode = myDelivPostcode.toLowerCase();


	var myRegExp = /ab3[1-8]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /ab4[1-5]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}


	myRegExp = /ab5[1-6]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}



	myRegExp = /fk19\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}



	myRegExp = /fk2[0-1]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}



	myRegExp = /hs[1-9]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /iv[1-9]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /iv1[0-9]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /iv2[0-9]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /iv3[0-2]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}




	myRegExp = /iv36\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /iv4[0-9]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}



	myRegExp = /iv5[1-6]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}




	myRegExp = /iv63\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}



	myRegExp = /ka2[7-8]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}



	myRegExp = /kw[1-3]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /kw[5-9]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /kw1[0-7]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /pa2[0-9]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}
	myRegExp = /pa3[0-8]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}


	myRegExp = /pa4[1-9]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}



	myRegExp = /pa6[0-9]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}
	myRegExp = /pa7[0-8]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /ph[1-8]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}


	myRegExp = /ph10\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}




	myRegExp = /ph1[5-9]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /ph2[0-6]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /ph3[0-9]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}

	myRegExp = /ph4[0-4]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}


	myRegExp = /ph49\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}


	myRegExp = /ph50\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}


	myRegExp = /ze[1-3]\s/i;
	if ( postCodeOK == "yes" && myDelivPostcode.search(myRegExp) != -1 ) {
		postCodeOK = "no";
	}



	if (postCodeOK == "no") {
		alert("Please note that Fedex can take up to 36 hours to deliver to your postcode.");

	}


	if ( str.search(myRegExp4) != -1) {
		alert("Your email address appears to be wrong - you seem to have typed a comma instead of a full stop. Please correct it and click 'Continue' again.");
		emailOK = "no";
	}
	else if ( str.search(myRegExp2) == -1 || str.search(myRegExp3) == -1) {
		alert("Your email address appears to be wrong. Please correct it and click 'Continue' again.");
		emailOK = "no";
	}
	else if ( str.search(myRegExp5) != -1 ) {
		alert("Your email address appears to be wrong - it should not contain www. Please correct it and click 'Continue' again.");
		emailOK = "no";
	}





	if ( tF.contactnum.value == "" ) {
		alert("Please provide a contact number so we can call you if there are any queries about your order.");
	}
	else if (emailOK == "yes") {

		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 == "21/12/2010" || tF.deliverydate.value == "22/12/2010" || tF.deliverydate.value == "23/12/2010" || tF.deliverydate.value == "CLOSED") {
				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.");
					alert("Sorry - no deliveries on this day.");
				}
		}
		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 goToPart2() {

	if (voucher1Value == 0) {
		voucher1Save = "none";
	}
	if (voucher2Value == 0) {
		voucher2Save = "none";
	}
	if (voucher3Value == 0) {
		voucher3Save = "none";
	}
	if (voucher4Value == 0) {
		voucher4Save = "none";
	}

	var theUrl = "shopping_basket_new_pt2.html"


	if (giftVoucherTotal > 0) {
		theUrl += '?vouch1=' + voucher1Save + '___' + voucher1Value + '&vouch2=' + voucher2Save + '___' + voucher2Value + '&vouch3=' + voucher3Save + '___' + voucher3Value + '&vouch4=' + voucher4Save + '___' + voucher4Value;
	}

	location.href=theUrl;
}






function checkOut() {

	processVouchers(); // in case they have typed but not recalced

	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.");
	}

}







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);
		setCookie("fft_emailaddress", document.forms[0].myemail.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");
	document.forms[0].myemail.value = getCookie("fft_emailaddress");
	cookieValuesRestored = "yes";
}


var dDArr = new Array();



///// NB: this list is repeated in staff.html !!!!!!!!!!
///// NB: this list is repeated in staff.html !!!!!!!!!!
///// NB: this list is repeated in staff.html !!!!!!!!!!
///// NB: this list is repeated in staff.html !!!!!!!!!!
///// NB: this list is repeated in staff.html !!!!!!!!!!
///// NB: this list is repeated in staff.html !!!!!!!!!!
///// NB: this list is repeated in staff.html !!!!!!!!!!
///// NB: this list is repeated in staff.html !!!!!!!!!!
///// NB: this list is repeated in staff.html !!!!!!!!!!
///// NB: this list is repeated in staff.html !!!!!!!!!!
///// NB: this list is repeated in staff.html !!!!!!!!!!
///// NB: this list is repeated in staff.html !!!!!!!!!!
///// NB: this list is repeated in staff.html !!!!!!!!!!



//// put  "CLOSED"


dDArr[0] = "29/09/2011"
dDArr[1] = "30/09/2011"
dDArr[2] = "CLOSED"
dDArr[3] = "05/10/2011"
dDArr[4] = "06/10/2011"
dDArr[5] = "07/10/2011"
dDArr[6] = "08/10/2011"
dDArr[7] = "12/10/2011"
dDArr[8] = "13/10/2011"
dDArr[9] = "14/10/2011"
dDArr[10] = "15/10/2011"
dDArr[11] = "19/10/2011"
dDArr[12] = "20/10/2011"
dDArr[13] = "21/10/2011"
dDArr[14] = "22/10/2011"
dDArr[15] = "26/10/2011"
dDArr[16] = "27/10/2011"
dDArr[17] = "28/10/2011"
dDArr[18] = "29/10/2011"
dDArr[19] = "02/11/2011"
dDArr[20] = "03/11/2011"
dDArr[21] = "04/11/2011"
dDArr[22] = "05/11/2011"
dDArr[23] = "09/11/2011"
dDArr[24] = "10/11/2011"
dDArr[25] = "11/11/2011"
dDArr[26] = "12/11/2011"
dDArr[27] = "16/11/2011"
dDArr[28] = "17/11/2011"
dDArr[29] = "18/11/2011"
dDArr[30] = "19/11/2011"
dDArr[31] = "23/11/2011"
dDArr[32] = "24/11/2011"
dDArr[33] = "25/11/2011"
dDArr[34] = "26/11/2011"
dDArr[35] = "30/11/2011"
dDArr[36] = "01/12/2011"
dDArr[37] = "02/12/2011"
dDArr[38] = "03/12/2011"
dDArr[39] = "07/12/2011"
dDArr[40] = "08/12/2011"
dDArr[41] = "09/12/2011"
dDArr[42] = "10/12/2011"
dDArr[43] = "14/12/2011"
dDArr[44] = "15/12/2011"
dDArr[45] = "16/12/2011"
dDArr[46] = "17/12/2011"
dDArr[47] = "21/12/2011"
dDArr[48] = "22/12/2011"
dDArr[49] = "23/12/2011"
dDArr[50] = "24/12/2011"
dDArr[51] = "28/12/2011"
dDArr[52] = "29/12/2011"
dDArr[53] = "30/12/2011"
dDArr[54] = "31/12/2011"
dDArr[55] = "04/01/2012"
dDArr[56] = "05/01/2012"
dDArr[57] = "06/01/2012"
dDArr[58] = "07/01/2012"
dDArr[59] = "11/01/2012"
dDArr[60] = "12/01/2012"
dDArr[61] = "13/01/2012"
dDArr[62] = "14/01/2012"
dDArr[63] = "18/01/2012"
dDArr[64] = "19/01/2012"
dDArr[65] = "20/01/2012"
dDArr[66] = "21/01/2012"
dDArr[67] = "25/01/2012"
dDArr[68] = "26/01/2012"
dDArr[69] = "27/01/2012"
dDArr[70] = "28/01/2012"
dDArr[71] = "01/02/2012"
dDArr[72] = "02/02/2012"
dDArr[73] = "03/02/2012"
dDArr[74] = "04/02/2012"
dDArr[75] = "08/02/2012"
dDArr[76] = "09/02/2012"
dDArr[77] = "10/02/2012"
dDArr[78] = "11/02/2012"
dDArr[79] = "15/02/2012"
dDArr[80] = "16/02/2012"
dDArr[81] = "17/02/2012"
dDArr[82] = "18/02/2012"
dDArr[83] = "22/02/2012"
dDArr[84] = "23/02/2012"
dDArr[85] = "24/02/2012"
dDArr[86] = "25/02/2012"
dDArr[87] = "29/02/2012"
dDArr[88] = "01/03/2012"
dDArr[89] = "02/03/2012"
dDArr[90] = "03/03/2012"
dDArr[91] = "07/03/2012"
dDArr[92] = "08/03/2012"
dDArr[93] = "09/03/2012"
dDArr[94] = "10/03/2012"
dDArr[95] = "14/03/2012"
dDArr[96] = "15/03/2012"
dDArr[97] = "16/03/2012"
dDArr[98] = "17/03/2012"
dDArr[99] = "21/03/2012"





////////////////////////////// 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 = 45;
}

// needed at christmas!! myNextDDN0 = 26 or whatever;




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 onFlyWriteEmail() {
	var htmlToReturn = "";
	htmlToReturn += '<input type="text" name="BillingEmail" id="BillingEmail" onchange="saveInfoToCookiesProtx()"  value="';
	htmlToReturn += myCustEmail;
	htmlToReturn += '" size="40" maxlength="40">';
	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 ////////////////////////////////////
