// Shopping Cart Code
// Michael Brookes 2002
//
// DO NOT EDIT THIS FILE!


//Global Variable Declaration
itemdeliminator="|";
optiondeliminator="~";

////////////////////////////////////////////////////////

function setDelivery(area)
{
setCookie("delivery", area);
}

////////////////////////////////////////////////////////

function setDiscount(value)
{
setCookie("discount", value);
}

////////////////////////////////////////////////////////

function checkDelivery()
{
area = getCookie("delivery");
selIndex = 0;
if (unescape(area) == "United Kingdom") selIndex = 1;
if (area == "EEC") selIndex = 2;
if (area == "Worldwide") selIndex = 3;
document.forms[0].elements[0].selectedIndex = selIndex;
}

////////////////////////////////////////////////////////

function updateDelivery()
{
selIndex = document.forms[0].elements[0].value;
area = document.forms[0].elements[0].options[selIndex].text;
setCookie("delivery", area);
location.href="scart.htm";
}

////////////////////////////////////////////////////////

function addtobasket(form, page)
{
var error=0;
var quantity=form.elements[1].value;
var sizeindex=form.elements[2].selectedIndex;
var colourindex=form.elements[3].selectedIndex;

if (isNaN(quantity) || (quantity<=0))
	{
	error=1;
	alert("Quantity must be a number!");
	form.elements[1].select();
	form.elements[1].focus();
	return;
	}

if (form.elements[2].options[sizeindex].text == "--Select Size--")
	{
	error=1;
	alert ("You must select a size!");
	return;
	}

if (form.elements[3].options[colourindex].text == "--Select Colour--")
	{
	error=1;
	alert ("You must select a colour!");
	return;
	}

if (error == 0)
	{
	addproduct(form);
	location.href=page;
	}
}

////////////////////////////////////////////////////////////

function addproduct(form)
{
var temparray=new Array (form.elements[0].name, form.elements[0].value, form.elements[1].name, form.elements[1].value);
var j=3;

for (i=2;i<form.elements.length;i++)
	{
	if (isNaN(form.elements[i].length))
		{
		var option=form.elements[i].value;
		}
	else
		{
		var selindex=form.elements[i].selectedIndex;
		var option=form.elements[i].options[selindex].text;
		if (option == "Not Applicable") option = "N/A";
		}
	j++;
	temparray[j]=option;
	}
var order=getCookie("order");
var neworder=temparray[0]+optiondeliminator+temparray[1]+optiondeliminator+temparray[2];
neworder+=optiondeliminator+temparray[3]+optiondeliminator+temparray[4]+optiondeliminator+temparray[5];
if (order!=null)
	{
	order+=itemdeliminator+neworder;
	}
else
	{
	order=neworder;
	}
setCookie("order", order);
alert(form.elements[1].value+" "+form.elements[0].value+"(s) added to your shopping basket");
}

///////////////////////////////////////////////////////

function getCookie(name)
{
var cookiename=name+"=";
var doccookie=document.cookie;

if (doccookie.length>0)
	{
	start=doccookie.indexOf(cookiename);
	if (start != -1)
		{
		start+=cookiename.length;
		end=doccookie.indexOf(";", start);
		if (end==-1) end=doccookie.length;
		return unescape(doccookie.substring(start, end));
		}
	}
return null;
}

////////////////////////////////////////////////////////////

function setCookie(name, value, expires, path, domain, secure)
{
document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : "; expires=" + expires.toGMTString()) + ((path == null) ? "" : "; path=" + path) + ((domain == null) ? "" : "; domain=" + domain) + ((secure == null) ? "" : "; secure");
}
////////////////////////////////////////////////////////////

function separatedata(datain,delimin)
{
	var i=0;
	var xarray=new Array(datain);
	var j=0;

	for(i=0;i<datain.length;i++)
	{
	   var tempstring=datain.substring(i,datain.length);
	   var x=tempstring.indexOf(delimin);
	   if(x>0){
	   var k=x+i;
	   xarray[j++]=datain.substring(i,k);
	   i+=x}
	   else{
	   xarray[j++]=tempstring;
	   i=datain.length}
	}

	return xarray;
}

////////////////////////////////////////////////////////////

function removeItem(value)
{
var first = 0;
var order=getCookie("order");
var orderitems = separatedata(order,itemdeliminator);
var neworder = "";
for(i=0;i<orderitems.length;++i)
	{
	if (i != value)
		{
		if (first == 0)
			{
			neworder += orderitems[i];
			first = 1;
			}
		else
			{
			neworder += itemdeliminator + orderitems[i];
			}
		}
	}
setCookie("order", neworder);
location.href = "scart.htm"
}

////////////////////////////////////////////////////////////

function showbasket()
{
var order=getCookie("order");
var i=0;
var j=0;
var subtotal=0;
var shipping=2.00;
var total=0;
var VAT=0;
var fullOrder = "";

document.write("<form><table border='1' cellpadding='2' cellspacing='1' width='100%'>");
document.write("<tr align='center'><td><font face='arial' size=2><b>Product Id</td>");
document.write("<td align='center'><b><font face='arial' size=2>Product Name</td>");
document.write("<td align='center'><b><font face='arial' size=2>Size</td>");
document.write("<td align='center'><b><font face='arial' size=2>Colour</td>");
document.write("<td align='center'><b><font face='arial' size=2>Price</td>");
document.write("<td align='center'><b><font face='arial' size=2>Quantity</td>");
document.write("<td align='center'><b><font face='arial' size=2>Item Total</td>");
document.write("<td align='center'><b><font face='arial' size=2>Remove Item</td></tr>");
if ((order!=null) || (order=""))
	{
	var orderitems=separatedata(order,itemdeliminator);
	var printline="";
	var orderoptions=new Array("");
	var linetotal=0;
	for(i=0;i<orderitems.length;++i)
		{
	   	orderoptions[i]=separatedata(orderitems[i],optiondeliminator);
	   	document.write("<td><font face='arial' size=2>"+orderoptions[i][0]+"</font></td>");
	   	document.write("<td><font face='arial' size=2>"+orderoptions[i][1]+"</font></td>");
	   	document.write("<td><font face='arial' size=2>"+orderoptions[i][4]+"</font><br></td>");
		document.write("<td><font face='arial' size=2>"+orderoptions[i][5]+"</font><br></td>");
	   	document.write("<td align=right><font face='arial' size=2>"+formatamount(orderoptions[i][2])+"</font></td>");
	   	document.write("<td align=right><font face='arial' size=2>"+orderoptions[i][3]+"</font></td>");
	   	linetotal=parseFloat(orderoptions[i][2])*parseFloat(orderoptions[i][3]);
	   	subtotal+=linetotal;
		document.write("<td align=right><font face='arial' size=2>"+formatamount(linetotal)+"</font></td>");
		document.write("<td align=center><input type=checkbox onclick=\"removeItem('" + i + "')\"></td>");
	   	document.write("</tr><tr>");

		fullOrder += "Code: " + orderoptions[i][0] + " Name: " + orderoptions[i][1] + " Size: " + orderoptions[i][4] + " Colour: " + orderoptions[i][5] + " Price: " + formatamount(orderoptions[i][2]) + " Quantity: " + orderoptions[i][3] + "\n";
		}
	}
discount = getCookie("discount");
if (!discount)
	{
	discount = 0;
	}
else
	{
	document.forms[0].elements[1].value = discount;
	discount = subtotal * 0.1;
	}
// VAT=subtotal/100*17.5;
total=subtotal - discount;
if ((total > 20) && (total < 61)) shipping = total * 0.12;
if (total > 60) shipping = total * 0.06;
area = getCookie("delivery");
if (area == "EEC") shipping = total * 0.12;
if ((area == "EEC") && (total < 60)) shipping = 8.00;
if (area == "Worldwide") shipping = 20.00;
total = total + shipping;
document.write("</table></form>");
document.write("<p><table border='1' cellpadding='2' cellspacing='1'>");
document.write("<tr><td><font face='arial' size=2><b>Subtotal:</b></td><td align='right'><font face='arial'><b>£"+formatamount(subtotal)+"</b></td></tr>");
// document.write("<tr><td><font face='arial' size=2><b>VAT:</b></td><td align='right'><font face='arial'><b>£"+formatamount(VAT)+"</b></td></tr>");
document.write("<tr><td><font face='arial' size=2><b>Discount:</b></td><td align='right'><font face='arial'><b>£"+formatamount(discount)+"</b></td></tr>");
document.write("<tr><td><font face='arial' size=2><b>Shipping:</b></td><td align='right'><font face='arial'><b>£"+formatamount(shipping)+"</td></tr>");
document.write("<tr><td><font face='arial' size=2><b>Total:</b></td><td align='right'><font face='arial'><b>£"+formatamount(total)+"</td></tr>");
document.write("</table>");
document.write("</td></tr>");
document.write("</table>");

// Customer Details Form
formatTotal = formatamount(total);
document.write('<FORM METHOD="POST" ACTION="https://securetrading.net/authorize/form.cgi" name="customer">');
document.write('<INPUT TYPE=hidden NAME="orderref" VALUE="">');
document.write('<INPUT TYPE=hidden NAME="orderinfo" VALUE="' + fullOrder + '">');
document.write('<table align=center border=0 cellpadding=1 cellspacing=1 width=100%><tr><td colspan=2 align=left><font face=arial size=3><b>Customer Details</b></font></td></tr>');
document.write('<tr><td colspan=2 align=left><hr width=100% size=1></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>Full Name:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="name" size=25>&nbsp;<font face=arial color="#ffff00" size=2><b>*</b></font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>Company Name:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="company" size=25></td></tr>');

document.write('<tr><td colspan=2 align=left><font face=arial size=2><b>Billing Address</b></font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Address:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="address" size=25>&nbsp;<font face=arial color="#ffff00" size=2><b>*</b></font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Town/City:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="town" size=25>&nbsp;<font face=arial color="#ffff00" size=2><b>*</b></font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;County/Province:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="county" size=25>&nbsp;<font face=arial color="#ffff00" size=2><b>*</b></font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Country:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="country" size=25>&nbsp;<font face=arial color="#ffff00" size=2><b>*</b></font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Post/Zip Code:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="postcode" size=6>&nbsp;<font face=arial color="#ffff00" size=2><b>*</b></font></td></tr>');

document.write('<tr><td colspan=2 align=left><font face=arial size=2><b>Delivery Address</b> (If different to billing address)</font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Address:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="daddress" size=25>&nbsp;<font face=arial color="#ffff00" size=2><b>*</b></font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Town/City:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="dtown" size=25>&nbsp;<font face=arial color="#ffff00" size=2><b>*</b></font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;County/Province:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="dcounty" size=25>&nbsp;<font face=arial color="#ffff00" size=2><b>*</b></font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Country:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="dcountry" size=25>&nbsp;<font face=arial color="#ffff00" size=2><b>*</b></font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Post/Zip Code:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="dpostcode" size=6>&nbsp;<font face=arial color="#ffff00" size=2><b>*</b></font></td></tr>');

document.write('<tr><td align=left><font face=arial size=2><b>Telephone Number:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="telephone" size=25>&nbsp;<font color="#ffff00" size=2><b>*</b></font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>Fax Number:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="fax" size=25></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>Email Address:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="email" size=25>&nbsp;<font face=arial color="#ffff00" size=2><b>*</b></font></td></tr>');
document.write('<tr><td align=left><font face=arial size=2><b>Web Site URL:</b></font></td>');
document.write('<td align=left><INPUT TYPE=text NAME="url" size=25></td></tr>');
document.write('<tr><td colspan=2 align=left><font face=arial size=1>Items marked with <font color="#ffff00"><b>*</b></font> are <u>required</u></font></td></tr>');
document.write('<INPUT TYPE=hidden NAME="currency" VALUE="gbp">');
document.write('<INPUT TYPE=hidden NAME="requiredfields" VALUE="name,email">');
document.write('<INPUT TYPE=hidden NAME="merchant" VALUE="trussed5693">');
document.write('<INPUT TYPE=hidden NAME="merchantemail" VALUE="sales@trusseduk.com">');
document.write('<INPUT TYPE=hidden NAME="customeremail" VALUE="1">');
document.write('<INPUT TYPE=hidden NAME="settlementday" VALUE="1">');
document.write('<INPUT TYPE=hidden NAME="amount" VALUE="">');
document.write('<tr><td colspan=2 align=left><input type=checkbox name="terms">&nbsp;<font face=arial size=2>I have read and accept the TrussedUK terms and conditions. Click <a href="http://www.trusseduk.com/policy.html">here</a> to read the terms and conditions.</font></td>');
document.write('</table></form><form>');
document.write("<table align=center border=0 height=50><tr><td align=center valign=bottom><input type=button value='Empty Basket' onclick='clearBasket()'>&nbsp;&nbsp;&nbsp;&nbsp;<input type=button value='Proceed to Checkout' onclick='checkCustomer()'></td></tr></table></form>");
document.customer.amount.value = Math.round(formatamount(total)*100);
}

/////////////////////////////////////////////////////////////////////////////

function checkDiscount()
{
if (document.options.discount.value == "none") return false;

var error = 0;
if (isNaN(document.options.discount.value)) error = 1;
if ((document.options.discount.value < 1) && (document.options.discount.value > 999999)) error = 1;
if (document.options.discount.value.length != 6) error = 1;

if (error == 1)
	{
	alert("You must enter a valid voucher number!");
	document.options.discount.value="";
	document.options.discount.focus();
	return false;
	}
else
	{
	setDiscount(document.options.discount.value);
	location.href = "scart.htm";
	}
}

/////////////////////////////////////////////////////////////////////////////

function checkCustomer()
{
if (document.forms[0].elements[0].value == 0)
	{
	alert("You must select you delivery region!");
	document.forms[0].delivery.focus();
	return false;
	}

if (document.customer.name.value == "")
	{
	alert("You must enter your name!");
	document.customer.name.focus();
	return false;
	}

if (document.customer.address.value == "")
	{
	alert("You must enter your address!");
	document.customer.address.focus();
	return false;
	}

if (document.customer.town.value == "")
	{
	alert("You must enter your town!");
	document.customer.town.focus();
	return false;
	}

if (document.customer.county.value == "")
	{
	alert("You must enter your county!");
	document.customer.county.focus();
	return false;
	}

if (document.customer.country.value == "")
	{
	alert("You must enter your country!");
	document.customer.country.focus();
	return false;
	}

if (document.customer.postcode.value == "")
	{
	alert("You must enter your post/zip code!");
	document.customer.postcode.focus();
	return false;
	}

if (document.customer.telephone.value == "")
	{
	alert("You must enter your telephone number!");
	document.customer.telephone.focus();
	return false;
	}

if (document.customer.email.value == "")
	{
	alert("You must enter your email address!");
	document.customer.email.focus();
	return false;
	}

var foundAt = document.customer.email.value.indexOf("@",0)
if (foundAt < 1) {
	alert ("You must enter a valid email address!")
	document.customer.email.focus();
	return false;
	}

if (document.customer.terms.checked == false)
	{
	alert("You must accept the terms and conditions!");
	document.customer.terms.focus();
	return false;
	}


document.customer.submit();
}

/////////////////////////////////////////////////////////////////////////////

function clearBasket()
{
setCookie("order", "");
location.href="scart.htm";
}

/////////////////////////////////////////////////////////////////////////////

function formatamount(amount)
{
var decpoint;
var begin;
var end;
var valstr;
var temp_char;

amount = Math.round(amount * 100) / 100
valstr = "" + amount;
decpoint = valstr.indexOf(".")
if (decpoint != -1)
	{
	begin = valstr.substring(0,decpoint);
    end = valstr.substring(decpoint+1,valstr.length);
	}
else
	{
    begin = valstr;
    end = "";
	}
if (end.length < 2)
	 {
	 while (end.length < 2)
	 	{
		end += "0";
		}
	 }
end = end.substring(0,2);
return (begin+"."+end);
}


