<!--
// Copyright 2000,2001,2002 Prostar Interactive (PI). 
// All rights reserved.
// The following code is copyrighted by PI. Duplication, modification or any
// other use is forbidden without the express written consent of PI.
// Version 4.0c
//
var Ver4;
var Nav4;
var IE4;

var bFrameStyle
var PRef;

var Addr;
var aPayOpt;
var aShipVia;
var bCheckout;
var numOrdered;
var newOrder;
var maxOrders;
var Orders;
var HColor;
var LColor;
var TColor;

function createArray( length )
{
var i;
this.length = length;
for( i=1; i<=length; i++)
    this[i] = 0;
return this;
}

function Address()
{
this.FirstName = "";
this.LastName = "";
this.Company = "";
this.AddressLine1 = "";
this.AddressLine2 = "";
this.AddressLine3 = "";
this.AddressLine4 = "";
this.City = "";
this.State = "";
this.ZipCode = "";
this.Country = "";
this.Phone = "";
this.Fax = "";
this.EMail = "";

this.ShipTo_FirstName = "";
this.ShipTo_LastName = "";
this.ShipTo_Company = "";
this.ShipTo_AddressLine1 = "";
this.ShipTo_AddressLine2 = "";
this.ShipTo_AddressLine3 = "";
this.ShipTo_AddressLine4 = "";
this.ShipTo_City = "";
this.ShipTo_State = "";
this.ShipTo_ZipCode = "";
this.ShipTo_Country = "";
this.ShipTo_Via = "1";

this.PurchaseOrder_Number = "";
this.CreditCard_PaymentMethod = "1";
this.CreditCard_Number = "";
this.CreditCard_Expires = "";
this.CreditCard_HolderName = "";

this.Notes = "";

this.Other_Rate_Applies=false;
this.Tax_Rate_Applies=false;

return this;
}

//Order Form Formatting
var OAlign;
var CAlign;

//Currency formatting variables
var cCurrSym;        // character(s) of currency symbbol
var cThousands;      // thousands character separator ","
var cDecimal;        // decimal character indicator "."
var uDigits;         // number of decimal digits displayed
var uLead;           // number of leading zeroes if eg. .7
var uCurrSymPos;     // $1.1 or 1.1$ or $ 1.1 or 1.1 $
var cThousandsNum;   // number of digits in group, default 3

// Tax and Other calc.
var other_rate;
var tax_rate;
var ship_base;
var sOtherApply;
var sTaxesApply;
var subtotal;
var shipping;
var bShippingTaxable;
var other;
var bOtherTaxable;
var taxes;
var total;

// Order Text fields
var sTitle;
var sReview;
var sCheckout;
var sReview;

// SoldTo
var sSoldTo;
var sFirst;
var sLast;
var sCompany;
var sAddr1;
var sAddr2;
var sAddr3;
var sAddr4;
var sCity;
var sState;
var sZip;
var sCountry;
var sPhone;
var sFax;
var sEMail;

// ShipTo
var sShipTo;
var sFirst2;
var sLast2;
var sCompany2;
var sAddr12;
var sAddr22;
var sAddr32;
var sAddr42;
var sCity2;
var sState2;
var sZip2;
var sCountry2;

var sPayI;
var sPayM;
var sCardNum;
var sCardName;
var sExpDate;

var sQty;
var sPartn;
var sDesc;
var sUnitP;
var sAmnt;
var sSub;
var sOther;
var sTaxes;
var sShip;
var sTotal;

var sShipVia;
var sPONum;
var sNotes;
var sTerms;

var sValTerms;
var sValOther;
var sValTaxes;
var sValShipping;
var sValTotal;

var sCoName;
var sCoAddr1;
var sCoAddr2;
var sCoAddr3;
var sCoAddr4;
var sCoPhone;
var sCoLPhone;
var sCoFax;
var sCoLFax;
var sCoEMail;
var sCoLEMail;

// Visiblity of fields
var Review_vis;
var Checkout_vis; 
var soldto_vis;
var First_vis;
var Last_vis;
var Company_vis;
var Addr1_vis;
var Addr2_vis;
var Addr3_vis;
var Addr4_vis;
var City_vis;
var State_vis;
var Zip_vis;
var Country_vis;
var phone_vis;
var fax_vis;
var EMail_vis;
var PayIL_vis;
var Terms_vis;

// Ship To Address Visibility
var shipto_vis;
var First_vis2;
var Last_vis2;
var Company_vis2;
var Addr1_vis2;
var Addr2_vis2;
var Addr3_vis2;
var Addr4_vis2;
var City_vis2;
var State_vis2;
var Zip_vis2;
var Country_vis2;

var payi_vis;
var paym_vis;
var cardnum_vis;
var cardname_vis;
var expdate_vis;

var qty_vis;
var partn_vis;
var desc_vis;
var price_vis;
var amnt_vis;
var subt_vis;
var other_vis;
var taxes_vis;
var ship_vis;
var total_vis;

var shipvia_vis;
var ponum_vis;
var notes_vis;

// Fields
var sFPayopt;
var sFshipvia;

var bWarn;

function Initialize(bCheck)
{
bCheckout = bCheck;

if (self.pimw_email_frame1.pimw_index_right == null)
	bFrameStyle=false;
else
	bFrameStyle=true;

if (bFrameStyle)
	PRef = "parent.parent.";
else
	PRef = "parent.";

if (!bCheck)
    bWarn = false;

if (bCheck && (SetCookie("PIMWT","Test")==0))
    {
    if (!bWarn)
        { 
        alert("Warning, you do not have cookies enabled.\r\rIf you leave these catalogs pages and surf to another site any order data you have entered will be lost!");
        bWarn = true;
        }
    return 0;
    }

Ver4 = parseInt(navigator.appVersion) >= 4;
Nav4 = ((navigator.appName == "Netscape") && Ver4);
IE4 = ((navigator.userAgent.indexOf("MSIE") != -1) && Ver4);

Addr = new Address();

numOrdered =  0;
maxOrders = 200;
Orders = new createArray(maxOrders);
	
//review/checkout color scheme
HColor = "silver";
if (HColor == "")
	HColor = "#9cadd6";
//review/checkout color scheme
LColor = "#ececec";
if (LColor == "")
	LColor = "#c6cee7";

//New item text color
TColor = "black";
if (TColor == "")
	TColor = "#6600cc";

//WIZ general review and checkout alignment
OAlign="<div align=left>";
CAlign="</div>";

//WIZ Initialize currency defaults
uDigits=2;        // number of decimal digits displayed
cCurrSym="£";        // character(s) of currency symbbol
cThousands=",";     // thousands character separator ","
cDecimal=".";        // decimal character indicator "."
uLead=1;            // number of leading zeroes if eg. .7
uCurrSymPos=0;    // $1.1 or 1.1$ or $ 1.1 or 1.1 $
cThousandsNum=0; // number of digits in group, default 3

// Order Form Labels
sTitle="Order Form";
sReview="Review Shopping Cart";
sCheckout="Checkout"; 
sReview = "Review - Order Form";
// SoldTo Labels
sSoldTo="Sold To:";
sFirst="First Name:";
sLast="Last Name:";
sCompany="Company Name:";
sAddr1="Address 1:";
sAddr2="Address 2:";
sAddr3="Address 3:";
sAddr4="Town";
sCity="County";
sState="";
sZip="Post Code:";
sCountry="Country:";
sPhone="Telephone:";
sFax="Fax:";
sEMail="E-Mail:";

// ShipTo Labels
sShipTo="Ship To:";
sFirst2="First Name:";
sLast2="Last Name:";
sCompany2="Company Name:";
sAddr12="Address 1:";
sAddr22="Address 2:";
sAddr32="Address 3:";
sAddr42="Town";
sCity2="County";
sState2="";
sZip2="Post Code:";
sCountry2="Country:";
sShipVia="Ship Via:";

sPayI="Payment Information:";
sPONum="Purchase Order Number:";
sPayM="Payment Method:";
sCardNum="Card Number:";
sExpDate="Expiration Date:";
sCardName="Card Holder Name:";

sNotes="Notes:";
sTerms="Order Completion Instructions:";

sOtherApply="Apply Other Rate?";
sTaxesApply="Apply Tax Rate?";

sQty="Quantity";
sPartn="Part Number";
sDesc="Description";
sUnitP="Unit Price";
sAmnt="Amount";
sSub="Subtotal:";
sOther="";
sTaxes="";
sShip="";
sTotal="Total:";


// Order Form field visibility

Review_vis=true;
Checkout_vis=true; 

// SoldTo
soldto_vis=true;
First_vis=true;
Last_vis=true;
Company_vis=true;
Addr1_vis=true;
Addr2_vis=true;
Addr3_vis=true;
Addr4_vis=true;
City_vis=true;
State_vis=false;
Zip_vis=true;
Country_vis=true;
phone_vis=true;
fax_vis=true;
EMail_vis=true;

// ShipTo
shipto_vis=true;
First_vis2=true;
Last_vis2=true;
Company_vis2=true;
Addr1_vis2=true;
Addr2_vis2=true;
Addr3_vis2=true;
Addr4_vis2=true;
City_vis2=true;
State_vis2=false;
Zip_vis2=true;
Country_vis2=true;
shipvia_vis=true;

// If the Payment Information Label is visible 
PayIL_vis=true;
ponum_vis=true;
paym_vis=true;
cardnum_vis=false;
expdate_vis=false;
cardname_vis=false;
// If any of ponum, paym, cardnum, cardname and expdate are visible, payi_vis will be true
payi_vis=ponum_vis || paym_vis || cardnum_vis || expdate_vis || cardname_vis;

notes_vis=true;
Terms_vis=true;

OtherApply_vis=true;
TaxesApply_vis=true;

qty_vis=true;
partn_vis=true;
desc_vis=true;
price_vis=true;
amnt_vis=true;
subt_vis=true;
other_vis=false;
taxes_vis=false;
ship_vis=false;
total_vis=true;

// Order Form Data
aPayOpt = new createArray(7);
aPayOpt[1] = "1 - Cheque";
aPayOpt[2] = "2 - Credit Card";
aPayOpt[3] = "3 - Debit Card";
aPayOpt[4] = "4 - Cash";
aPayOpt[5] = "5 - Postal Order";
aPayOpt[6] = "6 - BACS";
aPayOpt[7] = "7 - Direct Transfer";
		// Payment Options
aShipVia = new createArray(1);
aShipVia[1] = "To be determined by FST.";
		//WIZ shipvia options
sValTerms ="IMPORTANT: PLEASE NOTE THE FOLLOWING ORDER PROCESS INSTRUCTIONS BEFORE YOU PROCEED.<br><br>1. Please ensure you have provided contact telephone number(s) and email address.<br>2. Please DO NOT provide credit card details at this stage. Please leave these sections blank.<br>3. E-mail your order form now.<br>4. The size, weight and value of your order will be considered to determine if a carriage charge is applicable. This process enables FST to keep carriage charges to a minimum.<br>5. Confirmation of a fully inclusive order total and availability of goods will be made by a member of staff by telephone on receipt of the order. (Please state in the notes when it would be convenient to contact you)<br>6. After your acceptance, we will endeavour to despatch your goods on the agreed date.<br><br>(We can only respond to e-mails during office hours Monday - Friday)<br><br>                                                                                                                              ";
bShippingTaxable=false;
bOtherTaxable=false;
other_rate=0.00;
tax_rate=0.00;

// See DisplayCompany below
sCoName="Fulcher Sports & Technology Ltd";
sCoAddr1="19 Dales Court Business Centre";
sCoAddr2="Wharfedale Road";
sCoAddr3="Ipswich";
sCoAddr4="Suffolk  IP1 4JP";
sCoPhone="01473 744949";
sCoFax="01473 744762";
sCoEMail="fstsales@dial.pipex.com";
sCoLPhone="Telephone:";
sCoLFax="Fax:";
sCoLEMail="E-Mail:";

sFPayopt="CreditCard_PaymentMethod";
sFShipvia="ShipTo_Via";

addressGetCookie();
orderGetCookie();
}

function Out0( )
{
if (bFrameStyle)
	self.pimw_email_frame1.pimw_index_right.document.write();
else
	self.pimw_email_frame1.document.write();
}

function Out( str )
{
if (bFrameStyle)
	self.pimw_email_frame1.pimw_index_right.document.write(str);
else
	self.pimw_email_frame1.document.write(str);
}

function Outln( str )
{
if (bFrameStyle)
	self.pimw_email_frame1.pimw_index_right.document.writeln(str);
else
	self.pimw_email_frame1.document.writeln(str);
}

function OutEnd( str )
{
if (bFrameStyle)
	self.pimw_email_frame1.pimw_index_right.document.close();
else
	self.pimw_email_frame1.document.close();
}

function roundNumber( fnum ) 
{
var tot;
var result_str = "";
var tot_str;
var x=0;
var y=0;
var point_idx;
var i;
var iPad;
var tenmul=1.0;
var sub_total;
var bMinus=false;

if (fnum<0)
    {
    fnum*=-1;
    bMinus=true;
    }
tot = fnum+"";
point_idx = tot.indexOf(".");

if (point_idx == -1)
    return fnum;
if (fnum < 1)
    point_idx = 0;


for( i=0; i<uDigits; i++ )
    tenmul *= 10;
sub_total = Math.round (fnum * tenmul);

tot_str = sub_total + "";
iPad = uDigits-tot_str.length;
if (iPad>0)
	{
	var temp=tot_str;
	tot_str = "";
	for(i=0;i<iPad;i++)
		tot_str += "0";
	tot_str += temp;
	}
while (x <= (point_idx+uDigits)) 
    {
    if (x == point_idx && y == 0) 
        {
        result_str += ".";
        y = 1;
        }
    else 
        {
        result_str += tot_str.charAt(x);
        x++;
        }
    }

if (bMinus==true)
    return parseFloat( "-"+result_str );
return parseFloat( result_str );
}

function CurrencyToString( fnum )
{
var result_str = "";
var i;
var iPad;
var iLeft;
var Left;
var Right;
var tenmul=1.0;
var bMinus=false;

if (fnum<0)
    {
    fnum*=-1;
    bMinus=true;
    }
iLeft=Math.floor(fnum);
Left=iLeft+"";

for( i=0; i<uDigits; i++ )
  tenmul *= 10;
Right = Math.round( (fnum-iLeft)*tenmul )+"";
iPad = uDigits-Right.length;
if (iPad>0)
	{
	var temp=Right;
	Right = "";
	for(i=0;i<iPad;i++)
		Right += "0";
	Right += temp;
	}
Right += "00000";

if (cCurrSym.length > 0)
    {                                                           
    // 0 = $1.1, 1 = 1.1$, 2 = $ 1.1 and 3 = 1.1 $
    if (uCurrSymPos % 2 == 0)  // currency symbol on left
        {
	result_str += cCurrSym;
        if (uCurrSymPos != 0)
            result_str += " ";
        }
    }
if (fnum < 1)
    {
    for( i=0; i<uLead; i++ )
	 result_str += "0";
    }
else
  {
  var iCur=Left.length;

    for( i=0; i<Left.length; i++, iCur-- )
        {
	result_str += Left.charAt(i);
        if (((iCur % 3) == 1) && (iCur != 1) && (cThousands.lenght != 0))
            result_str += cThousands;
	}
    }
result_str += cDecimal;

if (uDigits > 0)
    {
    for( i=0; i<uDigits; i++ )
        {
	result_str += Right.charAt(i);
	}
    }

if (cCurrSym.length > 0)
    {                                                           
    // 0 = $1.1, 1 = 1.1$, 2 = $ 1.1 and 3 = 1.1 $
    if (uCurrSymPos % 2 != 0)  // currency symbol on right
        {
        if (uCurrSymPos == 3)
            result_str += " ";
        result_str += cCurrSym;
        }
    }
if (bMinus==true)
    return "("+result_str+")";
return result_str;
}

// Calculate the item discount, format should be "10-10.95" where 10.95 is the price
// if 10 or more items are ordered
function calcDiscount( iform, qty )
{
var msg=iform.price.value;
var tmp;
var rng;
var i;
for( i=0; i<iform.discount.length; i++)
  {
  rng = iform.discount.options[i].value;
  tmp  = rng.substring(rng.indexOf("-")+1,rng.length);
  rng = rng.substring(0,rng.indexOf("-"));
  if (qty >= parseInt(rng))
	msg = tmp;
  }
return msg;
}

function OrderEntry()
{
this.qty = "";
this.code = "";
this.name = "";
this.oprice = "";
this.price = "";
this.shpcost = "";
this.thumb = "";
this.extra = 0;
this.discount = false;
this.name2 = "";
this.name3 = "";
this.name4 = "";
return this;
}

function checkOrderEntry(iform,item,discount,extra)
{
item.qty = iform.qty.value;
item.code = iform.code.value;
item.name = iform.name.value;
item.oprice = iform.price.value;
item.price = iform.price.value;
item.shpcost = iform.shpcost.value;
item.thumb = iform.thumb.value;
item.extra = extra;
item.discount = discount;
if (item.qty == "")
  item.qty = "1";
if (item.discount == true)
    item.price = calcDiscount( iform, parseInt(item.qty) );
if (item.extra > 0)
    item.name2 = iform.name2.options[iform.name2.selectedIndex].value;
if (item.extra > 1)
    item.name3 = iform.name3.options[iform.name3.selectedIndex].value;
if (item.extra > 2)
    item.name4 = iform.name4.options[iform.name4.selectedIndex].value;
return this;
}

function checkDupicateOrderEntry(iform,discount,extra)
{
var bMatch=false;

for(i=1;i<=maxOrders;i++)
    if (Orders[i]!=0)
        {
        if ((Orders[i].code == iform.code.value) &&
            (Orders[i].name == iform.name.value) &&
            (Orders[i].oprice == iform.price.value) &&
            (Orders[i].discount == discount) &&
            (Orders[i].extra == extra))
			{
			if (extra > 0)
				if (Orders[i].name2 != iform.name2.options[iform.name2.selectedIndex].value)
					continue;
			if (extra > 1)
				if (Orders[i].name3 != iform.name3.options[iform.name3.selectedIndex].value)
					continue;
			if (extra > 2)
				if (Orders[i].name4 != iform.name4.options[iform.name4.selectedIndex].value)
					continue;
			bMatch = true;

			if (iform.qty.value == "")
				iform.qty.value = "1";

			var qty=parseInt(Orders[i].qty) + parseInt(iform.qty.value);
			Orders[i].qty = qty;
			if (discount == true)
				Orders[i].price = calcDiscount( iform, qty );
			newOrder = i;
			break;
			}
        }
return bMatch;
}

function RemoveItem( i, urlfrom )
{
if (Orders[i] != 0)
    {
    numOrdered-=1;
    Orders[i]=0;
    }
orderSetCookie()

ReviewOrderForm(0,urlfrom);
}

function TOT(bCheckout,vis,name,label,amnt,cols)
{
if (vis == true)
    {
    Out( "<tr><td colspan="+(cols-2)+"></td>");
    Out( "<td align=right bgcolor="+HColor+">"+label+"</td>");
    if (!bCheckout)
        Outln("<td align=right bgcolor="+LColor+">"+amnt+"</td></tr>");
    else
        {
        if (IE4)
            Outln("<td align=right bgcolor="+LColor+"><div id=\""+name+"\" class=\""+name+"IE\"><p>&nbsp;</p></div></td></tr>");
        else
            Outln("<td align=right bgcolor="+LColor+">"+amnt+"</td></tr>");
        }
    }
}

function DisplayCompany( )
{
Outln(OAlign);
if (sCoName.length != 0)
  Outln("<strong>"+sCoName+"</strong><br>");
if (sCoAddr1.length != 0)
  Outln(sCoAddr1+"<br>");
if (sCoAddr2.length != 0)
  Outln(sCoAddr2+"<br>");
if (sCoAddr3.length != 0)
  Outln(sCoAddr3+"<br>");
if (sCoAddr4.length != 0)
  Outln(sCoAddr4+"<br>");
Outln("<table>");
if (sCoPhone.length != 0)
  Outln("<tr><td><b>"+sCoLPhone+"</b></td><td>"+sCoPhone+"</td></tr>");
if (sCoFax.length != 0)
  Outln("<tr><td><b>"+sCoLFax+"</b></td><td>"+sCoFax+"</td></tr>");
if (sCoEMail.length != 0)
  Outln("<tr><td><b>"+sCoLEMail+"</b></td><td><a href=mailto:"+sCoEMail+">"+sCoEMail+"</a></td></tr>");
Outln("</table>");
Outln(CAlign);
}

function InitTotals()
{
ship_base=0.00;
subtotal=0.0;
other=0.0;
taxes=0.0;
if (ship_vis)
	shipping=ship_base;
else
	shipping=0.0;
total=0.0;

sValOther="";
sValTaxes="";
sValShipping="";
sValTotal="";
}

function CalcTotals()
{
var i;
var price=0.0;
var itemtotal=0.0;
var tax_shipping=0.0;
var tax_other=0.0;

InitTotals();

for( i=1; i<=maxOrders; i++ )
  if (Orders[i] != 0)
	{
    price = parseFloat(Orders[i].price);
    itemtotal = roundNumber(price*parseFloat(Orders[i].qty));
	subtotal += itemtotal;
	if (ship_vis)
		shipping += parseFloat(Orders[i].shpcost)*parseFloat(Orders[i].qty);
    }

if (ship_vis)
	{
	if (bShippingTaxable)
		tax_shipping = roundNumber(shipping*(tax_rate/100));
	}

other=0.0;
if(other_vis && OtherApply_vis)
	if ((other_rate != 0.0)&&Addr.Other_Rate_Applies)
		{
		other = roundNumber(subtotal*(other_rate/100));
		if (bOtherTaxable)
			tax_other = roundNumber(other*(tax_rate/100));
		}

taxes=0.0;
if(taxes_vis && TaxesApply_vis)
	if ((tax_rate != 0.0)&&Addr.Tax_Rate_Applies)
		{
		taxes = roundNumber(subtotal*(tax_rate/100));
		taxes += tax_shipping+tax_other;
		}

sValOther = CurrencyToString(other);
sValTaxes = CurrencyToString(taxes);

shipping = roundNumber(shipping);
sValShipping = CurrencyToString(shipping);
total = subtotal + other + taxes + shipping;
sValTotal = CurrencyToString(total);
}

function DisplayOrders(bCheckout,title,thumb,urlfrom)
{
var str;
var i;
var cols=0;
var some=0;
var price=0.0;
var itemtotal=0.0;

InitTotals();

Outln(OAlign);
Outln("<table border=0 width=80%>");

str="<tr bgcolor=" + HColor + ">";
if ((thumb.length != 0) && (numOrdered > 0))
    {
    str+="<th align=center>" + thumb + "</th>";
    cols++;
    }
if (qty_vis == true)
    {
    str +="<th align=left>"+sQty+"</th>";
    cols++;
    }
if (partn_vis == true)
    {
    str +="<th align=left>"+sPartn+"</th>";
    cols++;
    }
if (desc_vis == true)
    {
    str +="<th align=left>"+sDesc+"</th>";
    cols++;
    }
if (price_vis == true)
    {
    str +="<th align=right>"+sUnitP+"</th>";
    cols++;
    }
if (amnt_vis == true)
    {
    str +="<th align=right>"+sAmnt+"</th>";
    cols++;
    }
str +="</tr>";

if (!bCheckout)
    {
	if (title.length != 0)
        Outln("<tr bgcolor=" + HColor + "><th align=left colspan="+cols+"><font size=5>"+title+"</font></th></tr>");
    Outln("<tr bgcolor=" + HColor + "><th align=left colspan="+cols+"><font size=4>"+sTitle+"</font></th></tr>");
    }
Outln(str);
for( i=1; i<=maxOrders; i++ )
    if (Orders[i] != 0)
		{
		some++;
			Outln("<tr bgcolor=" + LColor + ">");
		if (!bCheckout)
			{
			str = "<a href=\"javascript:"+PRef+"RemoveItem('" + i + "','" + urlfrom + "')\">Remove<br>Item</a>";
			Outln("<td align=center>" + str + "</td>");
			}
		if (qty_vis == true)
			{
			str = "<td align=left>" + Orders[i].qty + "</td>";
			Outln(str);
			}
		if (partn_vis == true)
			{
		str = "<td align=left>" + Orders[i].code + "</td>";
			Outln(str);
			}
		if (desc_vis == true)
			{
			Out("<td>");
			if (i == newOrder)
				Out("<font color="+TColor+"><b>");
			str = Orders[i].name;
			if (Orders[i].extra > 0)
				str += " - " + Orders[i].name2;
			if (Orders[i].extra > 1)
				str += ", " + Orders[i].name3;
			if (Orders[i].extra > 2)
				str += ", " + Orders[i].name4;
			Out(str);
 			if (i == newOrder)
				Outln("</b></font>");
			Out("</td>");
			}

		price = parseFloat(Orders[i].price);
		itemtotal = roundNumber(price*parseFloat(Orders[i].qty));

		if (price_vis == true)
			{
		    str = "<td align=right>" + CurrencyToString(price) + "</td>";
			Outln(str);
			}
		if (amnt_vis == true)
			{
		    str = "<td align=right>" + CurrencyToString(itemtotal) + "</td>";
			Outln(str);
			}
		Outln("</tr>");
		}

if (some != 0.00)
    {
    CalcTotals();

    TOT(false,subt_vis,"subtotal",sSub,CurrencyToString(subtotal),cols);
    if (bCheckout)
        {
        TOT(bCheckout,ship_vis,"shipping",sShip,sValShipping,cols);
        TOT(bCheckout,other_vis,"other",sOther+"("+other_rate+"%)",sValOther,cols);
        TOT(bCheckout,taxes_vis,"taxes",sTaxes+"("+tax_rate+"%)",sValTaxes,cols);
        TOT(bCheckout,total_vis,"total",sTotal,sValTotal,cols);
        }
    }
Outln("</table><br>");
if (some == 0)
    Out( "<font color="+TColor+"><b>Cart is Empty</br></b></font>");
Outln(CAlign);

return some;
}

function stringReplace( origstr, findstr, replstr )
{
	var pos=0;
	var len=findstr.length;
	
	pos = origstr.indexOf(findstr);

	while (pos != -1)
		{
		prestr = origstr.substring(0,pos);
		poststr = origstr.substring(pos+len, origstr.length);
		origstr = prestr + replstr + poststr;
		pos = origstr.indexOf(findstr);
		}

	return origstr;
}

function stringQuotes( origstr )
{
	temp = stringReplace( origstr, "\"", "&#34" );
	temp = stringReplace( temp, "'", "&#39" );
		
	return temp;
}

function HiddenOrders( )
{
var str;
var i;
var price=0.0;
var itemtotal=0.0;

for( i=1; i<=maxOrders; i++ )
    if (Orders[i] != 0)
	  {
        str = "<input type=hidden name=Item" + i + " value=\"";
		str += Orders[i].qty + " ";

		str += stringQuotes(Orders[i].code) + " ";
		str += stringQuotes(Orders[i].name);

        if (Orders[i].extra > 0)
            str += " - " + stringQuotes(Orders[i].name2);
        if (Orders[i].extra > 1)
            str += ", " + stringQuotes(Orders[i].name3);
        if (Orders[i].extra > 2)
            str += ", " + stringQuotes(Orders[i].name4);
        price = parseFloat( Orders[i].price );
	  str += " " + CurrencyToString(price);
	  itemtotal = roundNumber( parseFloat( Orders[i].price ) * parseFloat( Orders[i].qty ) );
	  str += " " + CurrencyToString(itemtotal);
	  str += "\">";
	  Outln( str );
      }
    
str = "<input type=hidden name=Subtotal value=" + CurrencyToString(subtotal) + ">";
Outln( str );
str = "<input type=hidden name=OOther value=" + sValOther + ">";
Outln( str );
str = "<input type=hidden name=OTaxes value=" + sValTaxes + ">";
Outln( str );
str = "<input type=hidden name=OShipping value=" + sValShipping + ">";
Outln( str );
str = "<input type=hidden name=OTotal value=" + sValTotal + ">";
Outln( str );
}

function HiddenTotals(Order)
{
Order.OOther.value=sValOther;
Order.OTaxes.value=sValTaxes;
Order.OShipping.value=sValShipping;
Order.OTotal.value=sValTotal;
}

function getSelectValue(obj)
{
return ""+(obj.selectedIndex+1);
}

function showTotals(document) 
{
CalcTotals();

var msgOther = "<P ID='totals'>" +sValOther+ "</P>";
var msgTaxes = "<P ID='totals'>" +sValTaxes+ "</P>";
var msgShipping = "<P ID='totals'>" +sValShipping+ "</P>";
var msgTotal = "<P ID='totals'>" +sValTotal+ "</P>";

if (IE4) 
    {
	if(other_vis && OtherApply_vis)
		document.all("other").innerHTML = msgOther;
	if(taxes_vis && TaxesApply_vis)
		document.all("taxes").innerHTML = msgTaxes;
	if (ship_vis)
		document.all("shipping").innerHTML = msgShipping;
	if (total_vis)
		document.all("total").innerHTML = msgTotal;
    }
}

function L(label)
{
Outln("<tr bgcolor=" + HColor + "><td colspan=2><b>" + label + "</b></td></tr>");
}

function AL(label,name,maxchars,value)
{
var size=40;

if (maxchars < size)
  size = maxchars;
Outln("<tr><td bgcolor=" + LColor + "><b><font size=2>" + label + "</b></font></td>");
Out("<td><font size=2><input type=text maxlength=" + maxchars + " size=" + size );
Out(" name=\"" + name +"\" value=\"" + value + "\"");
Out(" onChange='"+PRef+"Addr[\""+name+"\"]=document.Order[\""+name+"\"].value;");
Outln(PRef+"addressSetCookie()'></font></td></tr>");
}

function AC(apply,label,name,urlfrom,bOther,bTaxes)
{
var checked;

if (apply)
    check=" checked";
else
    check="";
Outln("<tr><td bgcolor=" + LColor + "><b>"+label+"</b></td>");
Out("<td><input type=checkbox name=\""+name+"\""+check);
Outln(" onClick=\"");
if (bOther)
	Outln(PRef+"Addr.Other_Rate_Applies=document.Order.Other_Rate_Applies.checked;");
if (bTaxes)
	Outln(PRef+"Addr.Tax_Rate_Applies=document.Order.Tax_Rate_Applies.checked;");
Out(PRef+"CalcTotals();");
Out(PRef+"HiddenTotals(document.Order);");
Out(PRef+"addressSetCookie();");
if (IE4)
    {
    Outln(PRef+"showTotals(document)\"></td></tr>");
    }
else
    {
    Outln(PRef+"CheckOut('"+urlfrom+"')\"></td></tr>");
    }
}

function AS(label,name,aOptions)
{
var i;
Outln("<tr><td bgcolor=" + LColor + "><b><font size=2>"+label+"</font></b></td>");
Outln("<td><select name=\""+name+"\"");
Out(" onChange='"+PRef+"Addr[\""+name+"\"]=");
Outln(PRef+"getSelectValue(document.Order[\""+name+"\"]);");
Out(PRef+"addressSetCookie();'>");
for(i=1;i<=aOptions.length;i++)
    {
    if (parseInt(Addr[name])==i)
        Outln("<option selected>"+aOptions[i]);
    else
        Outln("<option>"+aOptions[i]);
    }
Outln("</select></td></tr>");
}

function DocOrderInit(order)
{
if(soldto_vis)
    {
	if (First_vis)
		order.FirstName.value = Addr.FirstName;
	if (Last_vis)
		order.LastName.value = Addr.LastName;
	if (Company_vis)
		order.Company.value = Addr.Company;
	if (Addr1_vis)
		order.AddressLine1.value = Addr.AddressLine1;
	if (Addr2_vis)
		order.AddressLine2.value = Addr.AddressLine2;
	if (Addr3_vis)
		order.AddressLine3.value = Addr.AddressLine3;
	if (Addr4_vis)
		order.AddressLine4.value = Addr.AddressLine4;
	if (City_vis)
		order.City.value = Addr.City;
	if (State_vis)
		order.State.value = Addr.State;
	if (Zip_vis)
		order.ZipCode.value = Addr.ZipCode;
	if (Country_vis)
		order.Country.value = Addr.Country;
	if (phone_vis)
		order.Phone.value = Addr.Phone;
	if (fax_vis)
		order.Fax.value = Addr.Fax;
	if (EMail_vis)
		order.EMail.value = Addr.EMail;
	}
if(shipto_vis)
    {
	if (First_vis2)
		order.ShipTo_FirstName.value = Addr.ShipTo_FirstName;
	if (Last_vis2)
		order.ShipTo_LastName.value = Addr.ShipTo_LastName;
	if (Company_vis2)
		order.ShipTo_Company.value = Addr.ShipTo_Company;
	if (Addr1_vis2)
		order.ShipTo_AddressLine1.value = Addr.ShipTo_AddressLine1;
	if (Addr2_vis2)
		order.ShipTo_AddressLine2.value = Addr.ShipTo_AddressLine2;
	if (Addr3_vis2)
		order.ShipTo_AddressLine3.value = Addr.ShipTo_AddressLine3;
	if (Addr4_vis2)
		order.ShipTo_AddressLine4.value = Addr.ShipTo_AddressLine4;
	if (City_vis2)
		order.ShipTo_City.value = Addr.ShipTo_City;
	if (State_vis2)
		order.ShipTo_State.value = Addr.ShipTo_State;
	if (Zip_vis2)
		order.ShipTo_ZipCode.value = Addr.ShipTo_ZipCode;
	if (Country_vis2)
		order.ShipTo_Country.value = Addr.ShipTo_Country;
	}
if(shipvia_vis)
	order.ShipTo_Via.selectedIndex = parseInt(Addr.ShipTo_Via)-1;
if(ponum_vis)
	order.PurchaseOrder_Number.value = Addr.PurchaseOrder_Number;
if(paym_vis)
	order.CreditCard_PaymentMethod.selectedIndex = parseInt(Addr.CreditCard_PaymentMethod)-1;
if(cardnum_vis)
	order.CreditCard_Number.value = Addr.CreditCard_Number;
if(expdate_vis)
	order.CreditCard_Expires.value = Addr.CreditCard_Expires;
if(cardname_vis)
	order.CreditCard_HolderName.value = Addr.CreditCard_HolderName;

if(notes_vis)
	order.Notes.value = Addr.Notes;

if(other_vis && OtherApply_vis)
	order.Other_Rate_Applies.checked = Addr.Other_Rate_Applies;
if(taxes_vis && TaxesApply_vis)
	order.Tax_Rate_Applies.checked = Addr.Tax_Rate_Applies;
}

function ClearCart()
{
var i;
numOrdered = 0;
for( i=1; i<=maxOrders; i++ )
    Orders[i] = 0;
InitTotals();
SetCookie("PIMWO","");
}

function ClearOrder()
{
Addr = new Address(); 
SetCookie("PIMW","");
ClearCart();
}

function CSSStyle()
{
Outln("<style type=\"text/css\">");
Outln("<!--");
Outln("body{");
Outln("background-color:white;");
Outln("color:black;");
Outln("font-family:Verdana;");
Outln("font-size:9pt;");
Outln("}");
Outln("a{text-decoration: none;}");
Outln("a:link{color:blue}");
Outln("a:visited{ color:navy}");
Outln("a:hover{color:red;background-color:white}");
Outln("td{");
Outln("color:black;");
Outln("font-family:Verdana;");
Outln("font-size:9pt");
Outln("}");
Outln("-->");
Outln("</style>");
}

var sReviewLast;

function CheckOutTest(towindow)
{
	if (towindow.document.title == sReview)
		{
		if (numOrdered != 0)
			{
			if (sReviewLast != "")
				CheckOut(sReviewLast);
			else
				CheckOut(towindow.location.href);
			}
		}
	else if (towindow.document.title != sCheckout)
		CheckOut(towindow.location.href);
}

function ReviewTest(iform, towindow)
{
	if (towindow.document.title != sReview)
		sReviewLast = "";

	if (towindow.document.title != sCheckout)
		{
		if (towindow.document.title != sReview)
			ReviewOrderForm(iform, towindow.location.href);
		}
}

function CheckOut(urlfrom)
{
var bOther, bTaxes;

if (numOrdered == 0)
    {
    ReviewOrderForm(0,urlfrom);
    return;
    }

Out0();
Outln("<html><head><title>"+sCheckout+"</title>");
CSSStyle();
Outln("</head>");
Out("<body");
Out(" onLoad=\""+PRef+"Initialize(true);");
Out(PRef+"DocOrderInit(document.Order);");
Out(PRef+"showTotals(document)\"");
Outln(" onUnload=\""+PRef+"bCheckout=false\">");
Outln(OAlign);

Outln("<form name=Order method=post action=\"http://www.fst.co.uk/minicat.php\">");
Outln("<input type=\"hidden\" name=\"Order_Name\" value=\"Order Form\">");
Outln("<input type=\"hidden\" name=\"Catalog_Name\" value=\"Fulcher Sports & Technology Ltd Catalogue 2010\">");
Outln("<input type=\"hidden\" name=\"frm_company\" value=\"Fulcher Sports & Technology Ltd\">");
Outln("<input type=\"hidden\" name=\"frm_emailto\" value=\"fstsales@dial.pipex.com\">");
Outln("<input type=\"hidden\" name=\"frm_linkto\" value=\""+urlfrom+"\">");
Outln("<input type=\"hidden\" name=\"CurrSym\" value=\""+cCurrSym+"\">");
Outln("<input type=\"hidden\" name=\"CurrNum\" value=\""+cCurrSym.length+"\">");

Outln("<table border=0 width=80%>");
if (Checkout_vis)
	L("<font size=5>"+sCheckout+"</font>");
if (sTitle != "")
	L("<font size=4>"+sTitle+"</font>");

if(soldto_vis)
    {
    L(sSoldTo);
	if (First_vis)
		AL(sFirst,"FirstName",40,Addr.FirstName);
	if (Last_vis)
		AL(sLast,"LastName",40,Addr.LastName);
	if (Company_vis)
		AL(sCompany,"Company",40,Addr.Company);
	if (Addr1_vis)
		AL(sAddr1,"AddressLine1",40,Addr.AddressLine1);
	if (Addr2_vis)
		AL(sAddr2,"AddressLine2",40,Addr.AddressLine2);
	if (Addr3_vis)
		AL(sAddr3,"AddressLine3",40,Addr.AddressLine3);
	if (Addr4_vis)
		AL(sAddr4,"AddressLine4",40,Addr.AddressLine4);
	if (City_vis)
		AL(sCity,"City",40,Addr.City);
	if (State_vis)
		AL(sState,"State",5,Addr.State);
	if (Zip_vis)
		AL(sZip,"ZipCode",10,Addr.ZipCode);
	if (Country_vis)
		AL(sCountry,"Country",10,Addr.Country);
	if (phone_vis)
		AL(sPhone,"Phone",40,Addr.Phone);
	if (fax_vis)
		AL(sFax,"Fax",40,Addr.Fax);
	if (EMail_vis)
		AL(sEMail,"EMail",60,Addr.EMail);
    }
if(shipto_vis)
    {
    L(sShipTo);
	if (First_vis2)
	    AL(sFirst2,"ShipTo_FirstName",40,Addr.ShipTo_FirstName);
	if (Last_vis2)
		AL(sLast2,"ShipTo_LastName",40,Addr.ShipTo_LastName);
	if (Company_vis2)
		AL(sCompany2,"ShipTo_Company",40,Addr.ShipTo_Company);
	if (Addr1_vis2)
		AL(sAddr12,"ShipTo_AddressLine1",40,Addr.ShipTo_AddressLine1);
	if (Addr2_vis2)
		AL(sAddr22,"ShipTo_AddressLine2",40,Addr.ShipTo_AddressLine2);
	if (Addr3_vis2)
		AL(sAddr32,"ShipTo_AddressLine3",40,Addr.ShipTo_AddressLine3);
	if (Addr4_vis2)
		AL(sAddr42,"ShipTo_AddressLine4",40,Addr.ShipTo_AddressLine4);
	if (City_vis2)
		AL(sCity2,"ShipTo_City",40,Addr.ShipTo_City);
	if (State_vis2)
		AL(sState2,"ShipTo_State",5,Addr.ShipTo_State);
	if (Zip_vis2)
		AL(sZip2,"ShipTo_ZipCode",10,Addr.ShipTo_ZipCode);
	if (Country_vis2)
		AL(sCountry2,"ShipTo_Country",10,Addr.ShipTo_Country);
    }
if(shipvia_vis)
	AS(sShipVia,sFShipvia,aShipVia);
if(payi_vis && PayIL_vis)
    L(sPayI);
if(ponum_vis)
    AL(sPONum,"PurchaseOrder_Number",25,Addr.PurchaseOrder_Number);
if(paym_vis)
    AS(sPayM,sFPayopt,aPayOpt);
if(cardnum_vis)
    AL(sCardNum,"CreditCard_Number",25,Addr.CreditCard_Number);
if(expdate_vis)
    AL(sExpDate,"CreditCard_Expires",10,Addr.CreditCard_Expires);
if(cardname_vis)
    AL(sCardName,"CreditCard_HolderName",40,Addr.CreditCard_HolderName);
if(notes_vis)
    {
    L(sNotes);
    Outln("<tr><td></td><td><textarea name=\"Notes\" rows=3 cols=40 wrap=physical");
    Outln(" onChange='"+PRef+"Addr[\"Notes\"]=document.Order[\"Notes\"].value'>"+Addr.Notes+"</textarea></td></tr>");
    }
if(Terms_vis)
    {
    L(sTerms);
    Outln("<tr><td></td><td><table border width=100%><tr><td>"+sValTerms+"</tr></td></table><br></td></tr>");
    }
bOther=(other_vis && OtherApply_vis);
bTaxes=(taxes_vis && TaxesApply_vis);
if(bOther)
    AC(Addr.Other_Rate_Applies,sOtherApply,"Other_Rate_Applies",urlfrom,bOther,bTaxes);
if(bTaxes)
    AC(Addr.Tax_Rate_Applies,sTaxesApply,"Tax_Rate_Applies",urlfrom,bOther,bTaxes);

Outln("</table>");
Outln("<br>");
Outln(CAlign);

DisplayOrders(true,"","",urlfrom);

HiddenOrders();
Outln(OAlign);

Outln("<input type=image name=\"Order\" src=\"b_email.gif\" alt=\"[EMail Order]\" border=0 onMouseOut=\"{Order.src='b_email.gif';window.status=''; return true}\" onMouseOver=\"{Order.src='b_mo_email.gif'; window.status='EMail Order'; return true}\">");
Outln("<a href=\"#\" onClick=\"window.print()\" onMouseOut=\"{but17.src='b_print.gif';window.status=''; return true}\" onMouseOver=\"{but17.src='b_mo_print.gif'; window.status='Print Order'; return true}\">");
Outln("<img src=\"b_print.gif\" alt=\"[Print Order]\" border=\"none\" name=\"but17\"></a>");
Outln("<a href=\"" + urlfrom + "\" onMouseOut=\"{but11.src='b_back.gif';window.status=''; return true}\" onMouseOver=\"{but11.src='b_mo_back.gif'; window.status='Back to Catalog'; return true}\">");
Outln("<img src=\"b_back.gif\" alt=\"[Back]\" border=\"none\" name=\"but11\" ></a>");
Outln("<a href=\""+urlfrom+"\" onClick=\""+PRef+"ClearOrder()\" onMouseOut=\"{but16.src='b_clearform.gif';window.status=''; return true}\" onMouseOver=\"{but16.src='b_mo_clearform.gif'; window.status='Clear Form'; return true}\">");
Outln("<img src=\"b_clearform.gif\" alt=\"[Clear Form]\" border=\"none\" name=\"but16\"></a>");
Outln(CAlign);
Outln("</form><br>");

DisplayCompany();

Outln("</body></html>");
OutEnd();
}

function ReviewOrderForm( iform, urlfrom )
{
var str=" ";
var some;

sReviewLast = urlfrom;

if (iform != 0 && (iform.thumb.value.length != 0))
    str = "<img src=\"" + iform.thumb.value + "\" alt=\"Thumbnail\">";

Out0();
Outln("<html><head>"+"<title>"+sReview+"</title>");
CSSStyle();
Outln("</head>");
Outln("<body>");

if (!Review_vis)
	sReview = "";
some = DisplayOrders(false,sReview,str,urlfrom);

Outln(OAlign);
Outln("<br>");
Outln("<a href=\"" + urlfrom + "\" onMouseOut=\"{but11.src='b_back.gif';window.status=''; return true}\" onMouseOver=\"{but11.src='b_mo_back.gif'; window.status='Back to Catalog'; return true}\">");
Outln("<img src=\"b_back.gif\" alt=\"[Back]\" border=\"none\" name=\"but11\" ></a>");
if (some != 0)
    {
    Outln("<a href=\""+urlfrom+"\" onClick=\""+PRef+"ClearCart()\" onMouseOut=\"{but12.src='b_emptycart.gif';window.status=''; return true}\" onMouseOver=\"{but12.src='b_mo_emptycart.gif'; window.status='Empty Cart'; return true}\">");
Outln("<img src=\"b_emptycart.gif\" alt=\"[Empty Cart]\" border=\"none\" name=\"but12\"></a>");
    Outln("<a href=\"javascript:"+PRef+"CheckOut('" + urlfrom + "')\" onMouseOut=\"{but14.src='b_checkout.gif';window.status=''; return true}\" onMouseOver=\"{but14.src='b_mo_checkout.gif'; window.status='Checkout'; return true}\">");
Outln("<img src=\"b_checkout.gif\" alt=\"[Checkout]\" border=\"none\" name=\"but14\"></a>");
    }
Outln(CAlign);
Outln("<br>");

DisplayCompany();

Outln("</body></html>");
OutEnd();
}

function checkQuantity( qty )
{
var i;
var c;
for(i=0;i<qty.length;i++)
  {
  c = qty.charAt(i);
  if (c < "0" || c > "9")
	return false;
  }
return parseInt( qty ) != 0;
}

function OrderItem( iform, discount, extra, urlfrom )
{
var i;

if (!checkQuantity( iform.qty.value ))
	{
    alert( "Invalid quantity entered!");
	return;
	}

newOrder = 0;
if (!checkDupicateOrderEntry(iform,discount,extra))
    {
    if (numOrdered == maxOrders)
        {
        alert("Maximum number of items have been ordered in this order!");
        return false;
        }

    numOrdered += 1;
    for( i=1; i<=maxOrders; i++ )
        if (Orders[i] == 0)
            break;
    Orders[i] = new OrderEntry();
    newOrder = i;
    checkOrderEntry(iform,Orders[i],discount,extra);
    }

orderSetCookie();
orderGetCookie();
ReviewOrderForm(iform, urlfrom);
newOrder = 0;
//return false;
}

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) 
{
document.cookie = name + "=" + escape (value);
return document.cookie.length; 
}

function addressMakeCookie()
{
return "\fFirstName:"+ Addr.FirstName +
      "\fLastName:"+ Addr.LastName +
      "\fCompany:"+ Addr.Company +
      "\fAddressLine1:"+ Addr.AddressLine1 +
      "\fAddressLine2:"+ Addr.AddressLine2 +
      "\fAddressLine3:"+ Addr.AddressLine3 +
      "\fAddressLine4:"+ Addr.AddressLine4 +
      "\fCity:"+ Addr.City +
      "\fState:"+ Addr.State +
      "\fZipCode:"+ Addr.ZipCode +
      "\fCountry:"+ Addr.Country +
      "\fPhone:"+ Addr.Phone +
      "\fFax:"+ Addr.Fax +
      "\fEMail:"+ Addr.EMail +
      "\fShipTo_FirstName:"+ Addr.ShipTo_FirstName +
      "\fShipTo_LastName:"+ Addr.ShipTo_LastName +
      "\fShipTo_Company:"+ Addr.ShipTo_Company +
      "\fShipTo_AddressLine1:"+ Addr.ShipTo_AddressLine1 +
      "\fShipTo_AddressLine2:"+ Addr.ShipTo_AddressLine2 +
      "\fShipTo_AddressLine3:"+ Addr.ShipTo_AddressLine3 +
      "\fShipTo_AddressLine4:"+ Addr.ShipTo_AddressLine4 +
      "\fShipTo_City:"+ Addr.ShipTo_City +
      "\fShipTo_State:"+ Addr.ShipTo_State +
      "\fShipTo_ZipCode:"+ Addr.ShipTo_ZipCode +
      "\fShipTo_Country:"+ Addr.ShipTo_Country +
      "\fShipTo_Via:"+ Addr.ShipTo_Via +
      "\fPurchaseOrder_Number:"+ Addr.PurchaseOrder_Number +
      "\fCreditCard_PaymentMethod:"+ Addr.CreditCard_PaymentMethod +
      "\fCreditCard_Number:"+ Addr.CreditCard_Number +
      "\fCreditCard_Expires:"+ Addr.CreditCard_Expires +
      "\fCreditCard_HolderName:"+ Addr.CreditCard_HolderName +
      "\fNotes:"+ Addr.Notes +
      "\fOther_Rate_Applies:"+ Addr.Other_Rate_Applies +
      "\fTax_Rate_Applies:"+ Addr.Tax_Rate_Applies +"\f\f";
}

function addressSetCookie()
{
SetCookie("PIMW",addressMakeCookie());
}

function pack(name,value)
{
return "\r"+name+":"+value;
}

function orderMakeCookie()
{
var s="";

for(i=1;i<=maxOrders;i++)
    if (Orders[i]!=0)
        {
        s += "\fo"+i+":";
        s += pack("code",Orders[i].code);
        s += pack("name",Orders[i].name);
        s += pack("oprice",Orders[i].oprice);
        s += pack("price",Orders[i].price);
        s += pack("shpcost",Orders[i].shpcost);
        s += pack("thumb",Orders[i].thumb);
        s += pack("qty",Orders[i].qty);
        s += pack("extra",""+Orders[i].extra);
        s += pack("discount",Orders[i].discount);
        if (Orders[i].extra > 0)
            s += pack("name2",Orders[i].name2);
        if (Orders[i].extra > 1)
            s += pack("name3",Orders[i].name3);
        if (Orders[i].extra > 2)
            s += pack("name4",Orders[i].name4);
        s += "\r\r";
        }
return s+"\f\f";
}

function orderSetCookie()
{
SetCookie("PIMWO",orderMakeCookie());
}

// Cookie globals
var pLabel,pValue;

function parseCookie(sep,s,i,slen)
{
var iRet=-1;
var start, end, vend;

start = s.indexOf(sep,i);
if (start>=0)
    {
    end = s.indexOf(":",start);
    if (end>start)
        {
        vend = s.indexOf(sep,end);
        if (vend>end)
            {
            pLabel = s.substring(start+1,end);
            pValue = s.substring(end+1,vend);
            iRet = vend;
            }
        }
    }
return iRet;
}

function addressGetCookie()
{
var s;
var slen;
var i=0;

s = GetCookie("PIMW");

slen = s.length;
while(i<slen) 
    {
    i = parseCookie("\f",s,i,slen);
    if (i != -1)
        {
        if ((pLabel == "Other_Rate_Applies") || (pLabel=="Tax_Rate_Applies"))
            {
            if (pValue=="false")
                Addr[pLabel] = false;
            else   
                Addr[pLabel] = true;
            }
        else
            Addr[pLabel] = pValue;
        }
    else
        break;
    }
}

function setItem(item,n,v)
{
item[n] = v;
}

function orderGetCookie()
{
var s;
var slen,olen;
var i=0,j=0;

s = GetCookie("PIMWO");
slen = s.length;

if (slen==0)
    return;

numOrdered = 0;
while(i<slen) 
    {
    i = parseCookie("\f",s,i,slen);
    if (i != -1)
        {
        var o=pValue;

        olen = o.length;
        numOrdered++;
        Orders[numOrdered] = new OrderEntry();
        while(j<olen) 
            {
            j = parseCookie("\r",o,j,olen);
            if (j != -1)
                {
                if (pLabel == "discount")
                    {
                    if (pValue=="false")
                        Orders[numOrdered].discount = false;
                    else   
                        Orders[numOrdered].discount = true;
                    }
                else if (pLabel == "extra")
			    Orders[numOrdered].extra = parseInt(pValue);
                else			
                    setItem(Orders[numOrdered],pLabel,pValue); 
                }
            else
                break;
            }
        }
    else
        break;
    }
}

function checkUnload( )
{
    return true;
}

-->
