//=====================================================================||
//                JavaScript Shopping Cart			                   ||
//                                                                     ||
//---------------------------------------------------------------------||


countryInit = false;
country = new Array(190);
numCountrys = 190;  

spaces = "                                                                                ";
tb = "\t\t\t\t\t\t\t\t\t\t";

isShipping = false;

if ( !bLanguageDefined ) 
{
	strSorry  = "I'm Sorry, your cart is full, please proceed to checkout.";
   	strAdded  = " added to your shopping cart.";
   	strRemove = "Click 'Ok' to remove this product from your shopping cart.";
   	strILabel = "Product Id";
   	strDLabel = "Name / Description";
   	strQLabel = "Quantity";
  	strPLabel = "Price";
   	strSLabel = "Shipping";
   	strRLabel = "Remove from basket";
   	strRButton= "Remove";
   	strSUB    = "SUBTOTAL";
   	strSHIP   = "Shipping";
   	strTOT    = "TOTAL";
   	strErrQty = "Invalid Quantity.";
   	strNewQty = 'Please enter new quantity:';
   	bLanguageDefined = true;
}

isoInUse = GetCookie("ISO");

if(!isoInUse || isoInUse == "") isoInUse = 'GBP';
	
MonetarySymbol = FXRates.Symbol( isoInUse );

function AddToCart(thisForm) 
{
	var iNumberOrdered = 0;
   	var bAlreadyInCart = false;
   	var notice = "";
   
   	iNumberOrdered = GetCookie("NumberOrdered");

   	if ( iNumberOrdered == null )
   	{
   		iNumberOrdered = 0;
   	}

   	strID_NUM = (thisForm.ID_NUM == null) ? "" : thisForm.ID_NUM.value;
   	strQUANTITY = (thisForm.QUANTITY == null) ? "1" : thisForm.QUANTITY.value;
   	strPRICE = (thisForm.PRICE == null) ? "0.00" : thisForm.PRICE.value;
    strNAME =  (thisForm.NAME == null) ? "" : thisForm.NAME.value;
   	strSHIPPING = (thisForm.SHIPPING == null) ? "0" : thisForm.SHIPPING.value;

   	for(i = 1; i <= iNumberOrdered; i++) 
   	{
    	NewOrder = "Order." + i;
      	database = "";
      	database = GetCookie(NewOrder);

      	Token0 = database.indexOf("|", 0);
     	Token1 = database.indexOf("|", Token0+1);
      	Token2 = database.indexOf("|", Token1+1);
      	Token3 = database.indexOf("|", Token2+1);

      	fields = new Array;
      	fields[0] = database.substring(0, Token0);
      	fields[1] = database.substring(Token0+1,Token1);
      	fields[2] = database.substring(Token1+1,Token2);
      	fields[3] = database.substring(Token2+1,Token3);
      	fields[4] = database.substring(Token3+1,database.length);

      	if(fields[0] == strID_NUM && fields[2] == strPRICE && fields[3] == strNAME ) 
      	{
         	bAlreadyInCart = true;
         	notice = strNAME + " is already in your basket!"
         	break;
      	}
   }


   	if(!bAlreadyInCart) 
   	{
   		iNumberOrdered++;
		dbUpdatedOrder = strID_NUM    + "|" + 
                     strQUANTITY  + "|" +
                     strPRICE     + "|" +
                     strNAME      + "|" +
                     strSHIPPING;

    	strNewOrder = "Order." + iNumberOrdered;
    	SetCookie(strNewOrder, dbUpdatedOrder, null, "/");
    	SetCookie("NumberOrdered", iNumberOrdered, null, "/");
    	notice = strNAME + strAdded;
     }

    alert(notice);
}


function getCookieVal(offset) 
{
	var endstr = document.cookie.indexOf (";", offset);
	if( endstr == -1) endstr = document.cookie.length;
   	return(unescape(document.cookie.substring(offset, endstr)));
}


function FixCookieDate(date) 
{
	var base = new Date(0);
	var skew = base.getTime();
   	date.setTime (date.getTime() - skew);
}

function GetCookie(name) 
{
	var arg = name + "=";
   	var alen = arg.length;
   	var clen = document.cookie.length;
   	var i = 0;

   	while ( i < clen ) {
      	var j = i + alen;
      	if( document.cookie.substring(i, j) == arg) return(getCookieVal (j));
      	i = document.cookie.indexOf(" ", i) + 1;
      	if(i == 0) break;
   	}

   return null;
}

function SetCookie(name,value,expires,path,domain,secure) 
{
	var exp = new Date();
	var mn = exp.getMonth() + 1;
	
	if(mn != 12)
	{
		exp.setMonth(mn+1);
	}
	else
	{
		exp.setMonth(0);
		exp.setFullYear(exp.getFullYear()+1);
	}
	
	document.cookie = name + "=" + escape (value) +
                     "; expires=" + exp.toGMTString() +
                     ((path) ? "; path=" + path : "") +
                     ((domain) ? "; domain=" + domain : "") +
                     ((secure) ? "; secure" : "");
}

function SetCookieExp(name,value) 
{
	document.cookie = name + "=" + escape (value) + "; expires=; path=/; domain=";
}

function DeleteCookie (name,path,domain) 
{
	if(GetCookie(name)) 
	{
    	document.cookie = name + "=" +
    	                    ((path) ? "; path=" + path : "") +
    	                    ((domain) ? "; domain=" + domain : "") +
    	                    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
   	}
}


function moneyFormat(input) 
{
   	var major = Math.floor(input);
   	var tmp = new String(input);

   	for (var decimalAt = 0; decimalAt < tmp.length; decimalAt++) 
   	{
   		if(tmp.charAt(decimalAt)==".") break;
   	}

   	var minor  = "" + Math.round(input * 100);
    minor = minor.substring(minor.length-2, minor.length)
    major += ((tmp.charAt(decimalAt+2)=="9")&&(minor=="00"))? 1 : 0;

    if(minor == "0") minor = "00";

   	return(major + "." + minor);
}


function RemoveFromCart(RemOrder) 
{
	if(confirm(strRemove)) 
	{
    	NumberOrdered = GetCookie("NumberOrdered");
      	for(i=RemOrder; i < NumberOrdered; i++ ) 
      	{
        	NewOrder1 = "Order." + (i+1);
         	NewOrder2 = "Order." + (i);
         	database = GetCookie(NewOrder1);
         	SetCookie (NewOrder2, database, null, "/");
      	}
      	NewOrder = "Order." + NumberOrdered;
      	SetCookie ("NumberOrdered", NumberOrdered-1, null, "/");
      	DeleteCookie(NewOrder, "/");
      	location.href=location.href;
   	}
}


function ChangeQuantity(OrderItem,NewQuantity) 
{
	if(isNaN(NewQuantity)) 
	{
    	alert( strErrQty );
   	} 
   	else 
   	{
    	NewOrder = "Order." + OrderItem;
      	database = "";
      	database = GetCookie(NewOrder);

      	Token0 = database.indexOf("|", 0);
      	Token1 = database.indexOf("|", Token0+1);
      	Token2 = database.indexOf("|", Token1+1);
      	Token3 = database.indexOf("|", Token2+1);

	    fields = new Array;
      	fields[0] = database.substring( 0, Token0 );
      	fields[1] = database.substring( Token0+1, Token1 );
      	fields[2] = database.substring( Token1+1, Token2 );
      	fields[3] = database.substring( Token2+1, Token3 );
      	fields[4] = database.substring( Token3+1, database.length);

      	dbUpdatedOrder = fields[0] + "|" +
                       	 NewQuantity + "|" +
                         fields[2] + "|" +
                         fields[3] + "|" +
                         fields[4];
        strNewOrder = "Order." + OrderItem;
        DeleteCookie(strNewOrder, "/");
        SetCookie(strNewOrder, dbUpdatedOrder, null, "/");
        location.href=location.href;      
    }
}

QueryString.keys = new Array();
QueryString.values = new Array();
function QueryString(key) 
{
	var value = null;
	for (var i=0;i<QueryString.keys.length;i++) 
	{
    	if(QueryString.keys[i]==key) 
    	{
        	value = QueryString.values[i];
        	break;
      	}
   	}
   	return value;
} 

function QueryString_Parse() 
{
	var query = window.location.search.substring(1);
   	var pairs = query.split("&"); 
   	
   	for (var i=0;i<pairs.length;i++) 
   	{
    	var pos = pairs[i].indexOf('=');
		if(pos >= 0) 
		{
    		var argname = pairs[i].substring(0,pos);
    	    var value = pairs[i].substring(pos+1);
    	    QueryString.keys[QueryString.keys.length] = argname;
    	    QueryString.values[QueryString.values.length] = value;
    	 }
   	}
}


function CheckoutCart( ) 
{
   	var iNumberOrdered = 0;    
   	var fTotal         = 0;    
   	var fShipping      = 0;   
   	var strTotal       = "";  
   	var strOutput      = "";   
   	var fThisShip      = 0;
   	var isAirMail = isAir();
   	var isUK = isUnitedKingdom();
   	var i = 0;

   	iNumberOrdered = GetCookie("NumberOrdered");
   	if ( iNumberOrdered == null )
   	{
   		iNumberOrdered = 0;
   	}

    strOutput = "<TABLE CLASS=\"nopcart\" border=1 width=100% height=100% bordercolor=\"#464444\" cellpadding=\"0\" cellspacing=\"0\"><TR>" +
                "<TD CLASS=\"nopheader\" height=10>"+strILabel+"</TD>" +
                "<TD CLASS=\"nopheader\" >"+strDLabel+"</TD>" +
                "<TD CLASS=\"nopheader\" >"+strPLabel+"</TD>" +
				"<TD CLASS=\"nopheader\">Remove</TD></TR>";


   	for ( i = 1; i <= iNumberOrdered; i++ ) 
   	{
      	NewOrder = "Order." + i;
      	database = "";
      	database = GetCookie(NewOrder);

      	Token0 = database.indexOf("|", 0);
      	Token1 = database.indexOf("|", Token0+1);
      	Token2 = database.indexOf("|", Token1+1);
      	Token3 = database.indexOf("|", Token2+1);

      	fields = new Array;
      	fields[0] = database.substring( 0, Token0 );                 // Product ID
      	fields[1] = database.substring( Token0+1, Token1 );          // Quantity
      	fields[2] = database.substring( Token1+1, Token2 );          // Price
      	fields[3] = database.substring( Token2+1, Token3 );          // Product Name/Description
      	fields[4] = database.substring( Token3+1, database.length ); // Shipping Code


      	fTotal += (parseInt(fields[1]) * Math.round(FXRates.Convert(parseFloat(fields[2]), isoInUse)));
      	strTotal = moneyFormat(fTotal);

      	if(!isUK)
      	{
			fThisShip = getShippingCost(parseInt(fields[4])) + AdditionalShippingCosts;
			if(fThisShip == -1) fShipping = -1.0;
			if(fShipping != -1.0) fShipping += (Math.round(FXRates.Convert(fThisShip,isoInUse) * 100) / 100);
      	}

        strOutput += "<TR><TD CLASS=\"nopentry\" height=10>"  + fields[0] + "</TD>";
        strOutput += "<TD CLASS=\"nopentry\" >"  + fields[3] + "</TD>";
        strOutput += "<TD CLASS=\"nopentry\" >"+ MonetarySymbol + moneyFormat(Math.round(FXRates.Convert(parseFloat(fields[2]), isoInUse))) + "</TD>";
        strOutput += "<TD CLASS=\"nopentry\" ALIGN=CENTER><input type=image src=\"./images/smbpaw.gif\" onClick=\"RemoveFromCart("+i+")\"></TD></TR></TR>";
	}

	strOutput += "<TR><TD CLASS=\"nopentry\" COLSPAN=4>&nbsp;</TD>";
    strOutput += "<TR><TD CLASS=\"nopheader\" COLSPAN=3 width=80% height=10>Sub Total</TD>";
    strOutput += "<TD CLASS=\"nopentry\"  style=\"padding-right:4px;\" COLSPAN=1 ALIGN=RIGHT>" + MonetarySymbol + moneyFormat((fTotal)) + "</TD></TR></TABLE>";

    if(iNumberOrdered > 0)
    {
    //	if(fShipping >= 0.0 && !isUK)
    //	{
    //		fShipping += AdditionalShippingCosts;
    //	}
		strOutput += "<input type=hidden name=\"SHIPPINGCOST\" value=\""+fShipping+"\">";
       	if(fShipping >= 0.0)
	   	{
			fTotal += fShipping;
	   	}
	   	strOutput += "<input type=hidden name=\"TOTALCOST\" value=\""+fTotal+"\">";
    }
    else
    {
        strOutput += "<input type=hidden name=\"SHIPPINGCOST\" value=\"-2.0\">";
	 	strOutput += "<input type=hidden name=\"TOTALCOST\" value=\"0.0\">";
     }

   	document.write(strOutput);
   	document.close();
}

function doOrdering ( dataForm , isPayPal )
{
	if(isPayPal)
	{
		doPayPal( dataForm );
	}
	else
	{
		doEMailOrder( dataForm );
	}
}

function sendPayPalForm( dataForm )
{
  	if(CheckForm( dataForm , false )) 
  	{
		document.paypalform.submit();
	}
}

function doEMailOrder( dataForm )
{
	var strOutput = "<form action=\"\" method=\"post\" enctype=\"text/plain\" name=\"mailform\" >";
	
	strOutput += "<input type=hidden  name=\"=\" value=\"\">";
	strOutput += "<a id=\"ordernow\" title=\"Send your order now!\" href=\"javascript:sendForm(document.orderform,document.mailform);\">";
    strOutput += "<img border=\"0\" src=\"images/oorderbut.gif\" align=\"right\" width=\"109\" height=\"29\"></a></form></td>";
    
    document.write(strOutput);
    document.close();
}

function setPayment()
{
	var payment = GetCookie("PaymentMethod");
	if(payment == null || (payment=="2" && !isUnitedKingdom())) payment = "0";
	doPayment(parseInt(payment),false);
}	   

function doPayment(clicked,doSubmit)
{
	switch(clicked) {
		case 0:
			document.orderform.PAYMENT[0].checked = true;
			document.orderform.PAYMENT[1].checked = false;
			document.orderform.PAYMENT[2].checked = false;
			break;
		case 1:
			document.orderform.PAYMENT[0].checked = false;
			document.orderform.PAYMENT[1].checked = true;
			document.orderform.PAYMENT[2].checked = false;
			break;
		case 2:
			if(!isUnitedKingdom())
			{
				alert("This option is only available to\ncustomers in the United Kingdom");
				doPayment(0,false);
			}
			else
			{
				document.orderform.PAYMENT[0].checked = false;
				document.orderform.PAYMENT[1].checked = false;
				document.orderform.PAYMENT[2].checked = true;
			}
			break;
	}
	
	setPaymentMethod( document.orderform );
	
	if(doSubmit) 
	{
		saveAndSubmit( document.orderform );
	}
}
			
function sendForm( dataForm , mailForm )
{
    location.href = location.href;

	var fullName = (dataForm.DTITLE.value != "") ? dataForm.DTITLE.value + " " + dataForm.DNAME.value : dataForm.DNAME.value ;
	var now = new Date();
	var layaway = dataForm.PAYMENT[2].checked;
  	var shipping = ((isUnitedKingdom()) ? "P&P" : "Shipping");
  	var bcountry = "";
  	var badds = dataForm.BADDRESS.value;
  	var bspcs = dataForm.SPECIAL.value;
  	var badd = badds.split("\r\n");
  	var bspc = bspcs.split("\r\n");
  	var layawaytext = (layaway) ? "using your lay away scheme" : "";
  	

  	if(CheckForm( dataForm , true )) 
  	{
		mailform.action = "mailto:sue@albionbears.com;" + dataForm.EMAIL.value + ((!isShipping) ? "?subject=My Albion Bear's Order" : "?subject=Request For Shipping Costs");
//		mailform.action = "mailto:steve.lee@alphabusiness.net;" + dataForm.EMAIL.value + ((!isShipping) ? "?subject=My Albion Bear's Order" : "?subject=Request For Shipping Costs");
//		mailform.action = "";
		mailform.elements[0].value =    "====================================================\n" +
		
										((!isShipping)
									?	"                Albion Bears Order Form\n"          
									:	"                Albion Bears Shipping Costs\n")      +
									
										"======================================================\n\n" +
										"Date : " + now.toLocaleString() + "\n\n" +
										"From : " + fullName + "\n\n" +
										dataForm.DADDRESS.value + "\n" + dataForm.DPOSTCODE.value + "\n" + getDeliveryCountry() + "\n\n";

		if(dataForm.TELEPHONE.value != "")
		{
			mailform.elements[0].value += ("Telephone Numbers : " + dataForm.TELEPHONE.value + "\n\n");
		}
		
	
		if(badd[0] != "")
		{
			if((bcountry = dataForm.BCOUNTRY.options[dataForm.BCOUNTRY.selectedIndex].value) != "")
			{
				bcountry = bcountry.substring(1,bcountry.length);
			}
			mailform.elements[0].value += ("Billing Address : \n" + dataForm.BADDRESS.value + dataForm.BPOSTCODE.value + "\n" + bcountry + "\n\n");
		}

		if(bspc[0] != "")
		{
			mailform.elements[0].value += ("Special Instructions : \n" + dataForm.SPECIAL.value + "\n\n");
		}
	

		mailform.elements[0].value +=  ("Delivery Method : " + getDeliveryMethod() + "\n\n" +
									   ((!isShipping) ? "I would like to order the following bear(s) from you " + layawaytext + "\n\n" 
									   						 : "Please provide me with the shipping cost of the following order\n\n") +
										"======================================================\n" +
										"Product ID    Bear's Name    Price    " + shipping + "\n" +
										"======================================================\n" +
										getOrderDetails(layaway != "") +
										spc(20)+ "IMPORTANT - Please do not send any money until you have\n" +
										spc(20)+"     received an order confirmation email from us\n\n" +
										spc(20)+"    Thank you for your order please come back soon!\n") ;

		mailForm.submit();
	}

	isShipping = false;
	
}

function getOrderDetails(isLayAway)
{
	var iNumberOrdered = 0;    
	var fTotal         = 0;    
   	var fShipping      = 0;    
   	var fThisShip      = 0;

   	var isAirMail = isAir();
   	var isUK = isUnitedKingdom();
   	var strOutput = "";
   	var i = 0;

   	iNumberOrdered = GetCookie("NumberOrdered");
   	if(iNumberOrdered == null)
   	{
   		iNumberOrdered = 0;
   	}

   	for ( i = 1; i <= iNumberOrdered; i++ ) 
   	{
      	NewOrder = "Order." + i;
      	database = "";
      	database = GetCookie(NewOrder);

      	Token0 = database.indexOf("|", 0);
      	Token1 = database.indexOf("|", Token0+1);
      	Token2 = database.indexOf("|", Token1+1);
      	Token3 = database.indexOf("|", Token2+1);

      	fields = new Array;
      	fields[0] = database.substring( 0, Token0 );                 // Product ID
      	fields[1] = database.substring( Token0+1, Token1 );          // Quantity
      	fields[2] = database.substring( Token1+1, Token2 );          // Price
      	fields[3] = database.substring( Token2+1, Token3 );          // Product Name/Description
      	fields[4] = database.substring( Token3+1, database.length );          // Shipping Code

      	fTotal += (parseInt(fields[1]) * Math.round(FXRates.Convert(parseFloat(fields[2]), isoInUse)));

      	if(!isUK)
      	{
			fThisShip = getShippingCost(parseInt(fields[4])) + AdditionalShippingCosts;
			if(fThisShip == -1) fShipping = -1.0;
			if(fShipping != -1.0) fShipping += (Math.round(FXRates.Convert(fThisShip,isoInUse) * 100) / 100);
      	}
      	else
      	{
			fThisShip = -2.0;
			fShipping = -2.0;
      	}	

      	strOutput += fields[0] + "    " + fields[3] + "    " + MonetarySymbol + moneyFormat(Math.round(FXRates.Convert(parseFloat(fields[2]),isoInUse))) + "    " + ((fThisShip == -2.0) ? "FREE!" : ((fThisShip == -1.0) ? "" : MonetarySymbol + moneyFormat((Math.round(FXRates.Convert(fThisShip,isoInUse) * 100) / 100)))) + "\n";
	}

//   	if(fShipping >= 0.0 && !isUK)
  // 	{
   	//	fShipping += AdditionalShippingCosts;
//   	}

	if(fShipping >= 0.0) 
  	{
		fTotal += fShipping;
  	}

  	strOutput += 	"======================================================\n";
  	strOutput +=  "Total : "+ MonetarySymbol + moneyFormat(fTotal) + ((fShipping == -1.0) ? " + Shipping" : "")+"\n";

  	if(isLayAway)
  	{
		strOutput +=  "Lay Away Scheme First Payment : "+ MonetarySymbol + moneyFormat(fTotal / 3.0) + ((fShipping == -1.0) ? " + Shipping" : "")+"\n";
  	}
  
  	strOutput += 	"======================================================\n\n";
	
	return strOutput;

}


function spc(num)
{
  	return spaces.substring(0,num);
}  

function tab(num)
{
  return tb.substring(0,num);
}


function CheckForm( theform , allowNoShipping )
{
 	var strFields = "";
	
	if( theform.DTITLE.value == '' )
 	{
	   strFields += "     Title\n";
	}
	
	if( theform.DNAME.value == '' )
	{
	    strFields += "     Name\n";
	}
  
	if( theform.DADDRESS.value == '' )
	{
	    strFields += "     Address\n";
  	}
  
  	if( theform.DPOSTCODE.value == '' )
  	{
	    strFields += "     Post / Zip Code\n";
	}
  
  	if( theform.EMAIL.value == '' )
  	{
	    strFields += "     EMail Address\n";
  	} 
  	else if(!check_email(theform.EMAIL.value))
    {
      alert( "You don't seem to have entered a valid email address" )
      return false;
    }
    
    
	if( strFields != "" ) 
	{
    	alert( "I'm sorry, but you must provide the following field(s) before continuing:\n" + strFields );
    	return false;
	} 
	else if( !theform.TERMS.checked)
	{
    	alert( "I'm sorry but we cannot accept your order unless\nyou agree to our terms and conditions" );
      	return false;
    }
    else if(!allowNoShipping && parseFloat(theform.SHIPPINGCOST.value) == -1.0)
    {
    	alert( "I'm sorry but we will need to calculate the shipping cost\n" +
    		   "for you order before we can accept payment.\n" +
    		   "Please click on the \"Request Shipping Cost\" link\n" +
    		   "on the form and we will reply to you as quickly as possible");
    	return false;
    }

	return true;
}

function check_email(e) 
{
	ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";

	for(i=0; i < e.length ;i++)
	{
    	if(ok.indexOf(e.charAt(i))<0)  return (false);
  	} 

  	if (document.images) 
  	{
  		re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
  	  	re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
  	  	if(!e.match(re) && e.match(re_two)) return (true);		
    } 

	return false;
}


function calcTotal( theForm )
{
 	var cost = parseFloat(theForm.SHIPPINGCOST.value);
  	var strOut = "";

	if(cost >= 0.0)
  	{
  		strOut=MonetarySymbol + moneyFormat(parseFloat(theForm.TOTALCOST.value));
  	}
  	else if(cost == -1)
  	{
  		strOut=MonetarySymbol + moneyFormat(parseFloat(theForm.TOTALCOST.value))+" + Shipping";
  	}
  	else 
  	{
    	strOut=MonetarySymbol + moneyFormat(0.0);
  	}
 		document.write(strOut);
 		document.close();
	}


function calcShipping( theForm )
{
	var cost = parseFloat(theForm.SHIPPINGCOST.value);
  	var strOut = "";

 	if(cost == 0.0)
  	{
   		strOut="FREE!";
  	}
  	else if(cost > 0)
  	{
 	   strOut=MonetarySymbol + moneyFormat(cost);
 	}
 	document.write(strOut);
 	document.close();
}

function saveAndSubmit( theForm )
{
	SetCookie("DeliveryTitle",theForm.DTITLE.value,null,"/");
	SetCookie("DeliveryName",theForm.DNAME.value,null,"/");
	SetCookie("DeliveryAddress",theForm.DADDRESS.value,null,"/");
	SetCookie("DeliveryPostCode",theForm.DPOSTCODE.value,null,"/");
	SetCookie("TelNo",theForm.TELEPHONE.value,null,"/");
	SetCookie("EMail",theForm.EMAIL.value,null,"/");
	SetCookie("BillingTitle",theForm.BTITLE.value,null,"/");
	SetCookie("BillingName",theForm.BNAME.value,null,"/");
	SetCookie("BillingAddress",theForm.BADDRESS.value,null,"/");
	SetCookie("BillingPostCode",theForm.BPOSTCODE.value,null,"/");
	SetCookie("Special",theForm.SPECIAL.value,null,"/");
 	theForm.submit();
}

function getCookieValue( item )
{
	var data = GetCookie( item );
	if(data == null) data = "";
	return data;
}

function loadForm( theForm )
{
	theForm.DTITLE.value = getCookieValue("DeliveryTitle");	
	theForm.DNAME.value = getCookieValue("DeliveryName");	
	theForm.DADDRESS.value = getCookieValue("DeliveryAddress");	
	theForm.DPOSTCODE.value = getCookieValue("DeliveryPostCode");	
	theForm.TELEPHONE.value = getCookieValue("TelNo");	
	theForm.EMAIL.value = getCookieValue("EMail");	
	theForm.BTITLE.value = getCookieValue("BillingTitle");	
	theForm.BNAME.value = getCookieValue("BillingName");	
	theForm.BADDRESS.value = getCookieValue("BillingAddress");	
	theForm.BPOSTCODE.value = getCookieValue("BillingPostCode");	
	theForm.SPECIAL.value = getCookieValue("Special");
	
}



function setDeliveryCountry( theForm )
{
 	SetCookie("DeliveryCountry",theForm.DCOUNTRY.value,null,"/");
 	saveAndSubmit( theForm );
}

function setDeliveryMethod( theForm, isAir )
{
 	SetCookie("DeliveryMethod",(isAir) ? "1" : "0" ,null,"/");
 	saveAndSubmit( theForm );
}

function setPaymentMethod( theForm )
{
	var payment = (theForm.PAYMENT[0].checked) ? "0" : ((theForm.PAYMENT[1].checked) ? "1" : "2");
	SetCookie("PaymentMethod",payment,null,"/");
}

function getDeliveryCountry()
{
 	var onCountryCookie = GetCookie("DeliveryCountry");
 	if(onCountryCookie == null)
 	{
 	 	return "United Kingdom";
 	}
  	else
  	{
		return onCountryCookie.substring(1,onCountryCookie.length);
  	}
}

function getDeliveryMethod()
{
	if(isUnitedKingdom())
	{
		return "Parcel Post";
	}
	else if(isAir())
	{
		return "Air Mail";
	}
	return "Surface Mail";
}


function getCountryList()
{
 	var onCountryCookie = GetCookie("DeliveryCountry");
 	var onCountryCode = "";
  	var onCountryName = "";
 	var strOutput = "";

  	if(onCountryCookie == null)
  	{
  		onCountryCookie = "1United Kingdom";
  	}
  
 	onCountryCode = onCountryCookie.charAt(0);
	onCountryName = onCountryCookie.substring(1,onCountryCookie.length);

	if(!countryInit)
  	{
  		initCountrys();
  	}

   
  	for(i = 0 ; i < numCountrys ; i++)
  	{
		if(country[i].charAt(8) == "s")
		{
			country[i] = country[i].substring(0,8)+country[i].substring(17,country[i].length);
		}
	  	if(country[i] == "<option value=\""+onCountryCode+onCountryName+"\">"+onCountryName+"</option>")
	  	{
	  		strOutput += "<option selected value\""+onCountryCode+onCountryName+"\">"+onCountryName+"</option>";
	  	}
	  	else
	  	{
	  		strOutput += country[i];
	  	}
  	}
  	
  	document.write(strOutput);
}

function writeSelect( name )
{
  	document.write("<select  size=\"1\" name=\"" + name + "\" class=\"nopline\" onchange=\"setDeliveryCountry(document.orderform);\">");
}

function writeEndSelect()
{
	document.write("</select>");
}



function isUnitedKingdom()
{
	 var onCountryCookie = GetCookie("DeliveryCountry");
	 if(onCountryCookie == null)
	 {
  		onCountryCookie = "1United Kingdom";
	 }
	return (onCountryCookie == "1United Kingdom");
}

function isAir()
{
	 var deliveryMethod = GetCookie("DeliveryMethod");
	 if(deliveryMethod == null)
	 {
  		return true;
	 }
	return (deliveryMethod == "1");
}


function showShippingMethods( theForm )
{
	var strOutput = "";
	
	var strAir = "checked";
	var strSfc = "";

	if(!isAir())
	{
		strAir = "";
		strSfc = "checked";
	}

	if(!isUnitedKingdom())
	{
		if(parseFloat(theForm.SHIPPINGCOST.value) != -1.0)
		{
			strOutput = "<p align=\"left\">&nbsp;<input type=\"radio\" name=\"MAILING\" value=\"0\" "+strAir+" onclick=\"setDeliveryMethod(document.orderform,true);\">Air</td>";
			strOutput += "<td width=\"34%\" class=\"nopheader\" style=\"border-top-style:solid; border-top-width:1; border-bottom-style:solid; border-bottom-width:1\" height=\"22\">";
			strOutput += "<p align=\"left\"><input type=\"radio\" name=\"MAILING\" value=\"1\" ";
			strOutput += strSfc + " onclick=\"setDeliveryMethod(document.orderform,false);\">Surface</td>";
			strOutput += "<td align=\"right\" width=\"15%\" class=\"nopentry\" style=\"border-style: solid; border-width: 2; padding-right:4px\" height=\"22\">";
		}
		else
		{
			strOutput = "<p align=\"left\">&nbsp;</td><td class=\"nopheader\" style=\"border-right:2px solid #464444; border-top:2px solid #464444; border-bottom:2px solid #464444\">&nbsp;</td><td align=\"right\" width=\"100%\" class=\"nopentry\" style=\"padding-right:4px; border-style: solid; border-width: 2\" height=\"22\">"
			strOutput += "<a title=\"Send an email requesting the shipping cost\" href=\"javascript:setRequest();\"><font color=\"#0\">Request Shipping Cost</font></a>";
		}		
	}
	else
	{
		strOutput = "<p align=\"left\">&nbsp;</td>";
		strOutput += "<td width=\"34%\" class=\"nopheader\" style=\"border-top-style:solid; border-top-width:1; border-bottom-style:solid; border-bottom-width:1\" height=\"22\">";
		strOutput += "<p align=\"left\"></td><td align=\"right\" width=\"15%\" class=\"nopentry\" style=\"border-style: solid; border-width: 2; padding-right:4px\" height=\"22\">";
	}	
	document.write(strOutput);
	document.close();
}

function setRequest()
{
	if(document.orderform.PAYMENT[0].checked)
	{
		SetCookie("ShippingRqst","1",null,"/");
		doPayment(1,true);
	}
	else
	{
		isShipping = true;
		on = document.getElementById("ordernow");
		on.click();
    }
}

function doShippingRequest()
{
	if(getCookieValue("ShippingRqst") == "1")
	{
		DeleteCookie("ShippingRqst","/");
		isShipping = true;
		on = document.getElementById("ordernow");
		on.click();
	}
}

function initCountrys()
{ 	
	country[0]=	"<option value=\"3Afghanistan\">Afghanistan</option>";
	country[1]=	"<option value=\"2Albania\">Albania</option>";
	country[2]=	"<option value=\"3Algeria\">Algeria</option>";
	country[3]=		"<option value=\"3Argentina\">Argentina</option>";
	country[4]=		"<option value=\"2Armenia\">Armenia</option>";
	country[5]=		"<option value=\"4Australia\">Australia</option>";
	country[6]=		"<option value=\"2Austria\">Austria</option>";
	country[7]=		"<option value=\"2Azerbaijan\">Azerbaijan</option>";
	country[8]=		"<option value=\"3Bahamas\">Bahamas</option>";
	country[9]=		"<option value=\"3Bahrain\">Bahrain</option>";
	country[10]=	"<option value=\"3Bangladesh\">Bangladesh</option>";
	country[11]=	"<option value=\"3Barbados\">Barbados</option>";
	country[12]=	"<option value=\"2Belarus\">Belarus</option>";
	country[13]=	"<option value=\"2Belgium\">Belgium</option>";
	country[14]=	"<option value=\"3Belize\">Belize</option>";
	country[15]=	"<option value=\"3Benin\">Benin</option>";
	country[16]=	"<option value=\"3Bermuda\">Bermuda</option>";
	country[17]=	"<option value=\"3Bhutan\">Bhutan</option>";
	country[18]=	"<option value=\"3Bolivia\">Bolivia</option>";
	country[19]=	"<option value=\"2Bosnia\">Bosnia</option>";
	country[20]=	"<option value=\"3Brazil\">Brazil</option>";
	country[21]=	"<option value=\"3Brunei\">Brunei</option>";
	country[22]=	"<option value=\"2Bulgaria\">Bulgaria</option>";
	country[23]=	"<option value=\"3Myanmar (Burma)\">Burma</option>";
	country[24]=	"<option value=\"3Burundi\">Burundi</option>";
	country[25]=	"<option value=\"3Cambodia\">Cambodia</option>";
	country[26]=	"<option value=\"3Cameroon\">Cameroon</option>";
	country[27]=	"<option value=\"3Canada\">Canada</option>";
	country[28]=	"<option value=\"3Cayman Islands\">Cayman Islands</option>";
	country[29]=	"<option value=\"3Chile\">Chile</option>";
	country[30]=	"<option value=\"4China\">China</option>";
	country[31]=	"<option value=\"3Colombia\">Colombia</option>";
	country[32]=	"<option value=\"3Costa Rica\">Costa Rica</option>";
	country[33]=	"<option value=\"2Croatia\">Croatia</option>";
	country[34]=	"<option value=\"3Cuba\">Cuba</option>";
	country[35]=	"<option value=\"2Cyprus\">Cyprus</option>";
	country[36]=	"<option value=\"2Czech Republic\">Czech Republic</option>";
	country[37]=	"<option value=\"2Denmark\">Denmark</option>";
	country[38]=	"<option value=\"3Dominican Republic\">Dominican Republic</option>";
	country[39]=	"<option value=\"4East Timor\">East Timor</option>";
	country[40]=	"<option value=\"3Ecuador\">Ecuador</option>";
	country[41]=	"<option value=\"3Egypt\">Egypt</option>";
	country[42]=	"<option value=\"3El Salvador\">El Salvador</option>";
	country[43]=	"<option value=\"3Eritrea\">Eritrea</option>";
	country[44]=	"<option value=\"2Estonia\">Estonia</option>";
	country[45]=	"<option value=\"3Ethiopia\">Ethiopia</option>";
	country[46]=	"<option value=\"3Falkland Islands\">Falkland Islands</option>";
	country[47]=	"<option value=\"2Faroe Islands\">Faroe Islands</option>";
	country[48]=	"<option value=\"4Fiji\">Fiji</option>";
	country[49]=	"<option value=\"2Finland\">Finland</option>";
	country[50]=	"<option value=\"2France\">France</option>";
	country[51]=	"<option value=\"3French Guiana\">French Guiana</option>";
	country[52]=	"<option value=\"4French Polynesia\">French Polynesia</option>";
	country[53]=	"<option value=\"3Gabon\">Gabon</option>";
	country[54]=	"<option value=\"3Gambia The\">Gambia The</option>";
	country[55]=	"<option value=\"2Georgia\">Georgia</option>";
	country[56]=	"<option value=\"2Germany\">Germany</option>";
	country[57]=	"<option value=\"3Ghana\">Ghana</option>";
	country[58]=	"<option value=\"2Gibraltar\">Gibraltar</option>";
	country[59]=	"<option value=\"2Greece\">Greece</option>";
	country[60]=	"<option value=\"2Greenland\">Greenland</option>";
	country[61]=	"<option value=\"3Grenada\">Grenada</option>";
	country[62]=	"<option value=\"0Guadeloupe\">Guadeloupe</option>";
	country[63]=	"<option value=\"4Guam\">Guam</option>";
	country[64]=	"<option value=\"3Guatemala\">Guatemala</option>";
	country[65]=	"<option value=\"1Guernsey\">Guernsey</option>";
	country[66]=	"<option value=\"3Guinea\">Guinea</option>";
	country[67]=	"<option value=\"3Guyana\">Guyana</option>";
	country[68]=	"<option value=\"3Haiti\">Haiti</option>";
	country[69]=	"<option value=\"3Honduras\">Honduras</option>";
	country[70]=	"<option value=\"3Hong Kong\">Hong Kong</option>";
	country[71]=	"<option value=\"2Hungary\">Hungary</option>";
	country[72]=	"<option value=\"2Iceland\">Iceland</option>";
	country[73]=	"<option value=\"3India\">India</option>";
	country[74]=	"<option value=\"3Indonesia\">Indonesia</option>";
	country[75]=	"<option value=\"3Iran\">Iran</option>";
	country[76]=	"<option value=\"3Iraq\">Iraq</option>";
	country[77]=	"<option value=\"2Ireland\">Ireland</option>";
	country[78]=	"<option value=\"1Isle of Man\">Isle of Man</option>";
	country[79]=	"<option value=\"3Israel\">Israel</option>";
	country[80]=	"<option value=\"2Italy\">Italy</option>";
	country[81]=	"<option value=\"3Jamaica\">Jamaica</option>";
	country[82]=	"<option value=\"4Japan\">Japan</option>";
	country[83]=	"<option value=\"1Jersey\">Jersey</option>";
	country[84]=	"<option value=\"3Jordan\">Jordan</option>";
	country[85]=	"<option value=\"2Kazakhstan\">Kazakhstan</option>";
	country[86]=	"<option value=\"3Kenya\">Kenya</option>";
	country[87]=	"<option value=\"4Korea North\">Korea North</option>";
	country[88]=	"<option value=\"4Korea South\">Korea South</option>";
	country[89]=	"<option value=\"3Kuwait\">Kuwait</option>";
	country[90]=	"<option value=\"2Kyrgyzstan\">Kyrgyzstan</option>";
	country[91]=	"<option value=\"3Laos\">Laos</option>";
	country[92]=	"<option value=\"2Latvia\">Latvia</option>";
	country[93]=	"<option value=\"3Lebanon\">Lebanon</option>";
	country[94]=	"<option value=\"3Lesotho\">Lesotho</option>";
	country[95]=	"<option value=\"3Liberia\">Liberia</option>";
	country[96]=	"<option value=\"3Libya\">Libya</option>";
	country[97]=	"<option value=\"2Liechtenstein\">Liechtenstein</option>";
	country[98]=	"<option value=\"2Lithuania\">Lithuania</option>";
	country[99]=	"<option value=\"2Luxembourg\">Luxembourg</option>";
	country[100]=	"<option value=\"3Macau\">Macau</option>";
	country[101]=	"<option value=\"2Macedonia\">Macedonia</option>";
	country[102]=	"<option value=\"3Madagascar\">Madagascar</option>";
	country[103]=	"<option value=\"3Malawi\">Malawi</option>";
	country[104]=	"<option value=\"3Malaysia\">Malaysia</option>";
	country[105]=	"<option value=\"3Maldives\">Maldives</option>";
	country[106]=	"<option value=\"3Mali\">Mali</option>";
	country[107]=	"<option value=\"2Malta\">Malta</option>";
	country[108]=	"<option value=\"0Martinique\">Martinique</option>";
	country[109]=	"<option value=\"3Mauritania\">Mauritania</option>";
	country[110]=	"<option value=\"3Mauritius\">Mauritius</option>";
	country[111]=	"<option value=\"0Mayotte\">Mayotte</option>";
	country[112]=	"<option value=\"3Mexico\">Mexico</option>";
	country[113]=	"<option value=\"2Moldova\">Moldova</option>";
	country[114]=	"<option value=\"2Monaco\">Monaco</option>";
	country[115]=	"<option value=\"4Mongolia\">Mongolia</option>";
	country[116]=	"<option value=\"3Montserrat\">Montserrat</option>";
	country[117]=	"<option value=\"3Morocco\">Morocco</option>";
	country[118]=	"<option value=\"3Mozambique\">Mozambique</option>";
	country[119]=	"<option value=\"3Namibia\">Namibia</option>";
	country[120]=	"<option value=\"0Nauru\">Nauru</option>";
	country[121]=	"<option value=\"3Nepal\">Nepal</option>";
	country[122]=	"<option value=\"2Netherlands\">Netherlands</option>";
	country[123]=	"<option value=\"4New Caledonia\">New Caledonia</option>";
	country[124]=	"<option value=\"4New Zealand\">New Zealand</option>";
	country[125]=	"<option value=\"3Nicaragua\">Nicaragua</option>";
	country[126]=	"<option value=\"3Niger\">Niger</option>";
	country[127]=	"<option value=\"3Nigeria\">Nigeria</option>";
	country[128]=	"<option value=\"0Niue\">Niue</option>";
	country[129]=	"<option value=\"2Norway\">Norway</option>";
	country[130]=	"<option value=\"3Oman\">Oman</option>";
	country[131]=	"<option value=\"3Pakistan\">Pakistan</option>";
	country[132]=	"<option value=\"3Panama\">Panama</option>";
	country[133]=	"<option value=\"4Papua New Guinea\">Papua New Guinea</option>";
	country[134]=	"<option value=\"3Paraguay\">Paraguay</option>";
	country[135]=	"<option value=\"3Peru\">Peru</option>";
	country[136]=	"<option value=\"4Philippines\">Philippines</option>";
	country[137]=	"<option value=\"2Poland\">Poland</option>";
	country[138]=	"<option value=\"2Portugal\">Portugal</option>";
	country[139]=	"<option value=\"3Puerto Rico\">Puerto Rico</option>";
	country[140]=	"<option value=\"3Qatar\">Qatar</option>";
	country[141]=	"<option value=\"2Romania\">Romania</option>";
	country[142]=	"<option value=\"2Russia\">Russia</option>";
	country[143]=	"<option value=\"3Rwanda\">Rwanda</option>";
	country[144]=	"<option value=\"4Samoa\">Samoa</option>";
	country[145]=	"<option value=\"2San Marino\">San Marino</option>";
	country[146]=	"<option value=\"3Saudi Arabia\">Saudi Arabia</option>";
	country[147]=	"<option value=\"3Senegal\">Senegal</option>";
	country[148]=	"<option value=\"2Serbia Montenegro\">Serbia Montenegro</option>";
	country[149]=	"<option value=\"3Seychelles\">Seychelles</option>";
	country[150]=	"<option value=\"3Sierra Leone\">Sierra Leone</option>";
	country[151]=	"<option value=\"3Singapore\">Singapore</option>";
	country[152]=	"<option value=\"2Slovakia\">Slovakia</option>";
	country[153]=	"<option value=\"2Slovenia\">Slovenia</option>";
	country[154]=	"<option value=\"3Somalia\">Somalia</option>";
	country[155]=	"<option value=\"3South Africa\">South Africa</option>";
	country[156]=	"<option value=\"2Spain\">Spain</option>";
	country[157]=	"<option value=\"3Sri Lanka\">Sri Lanka</option>";
	country[158]=	"<option value=\"3Sudan\">Sudan</option>";
	country[159]=	"<option value=\"3Suriname\">Suriname</option>";
	country[160]=	"<option value=\"3Swaziland\">Swaziland</option>";
	country[161]=	"<option value=\"2Sweden\">Sweden</option>";
	country[162]=	"<option value=\"2Switzerland\">Switzerland</option>";
	country[163]=	"<option value=\"3Syria\">Syria</option>";
	country[164]=	"<option value=\"4Taiwan\">Taiwan</option>";
	country[165]=	"<option value=\"2Tajikistan\">Tajikistan</option>";
	country[166]=	"<option value=\"3Tanzania\">Tanzania</option>";
	country[167]=	"<option value=\"3Thailand\">Thailand</option>";
	country[168]=	"<option value=\"3Togo\">Togo</option>";
	country[169]=	"<option value=\"4Tonga\">Tonga</option>";
	country[170]=	"<option value=\"3Trinidad and Tobago\">Trinidad and Tobago</option>";
	country[171]=	"<option value=\"3Tunisia\">Tunisia</option>";
	country[172]=	"<option value=\"2Turkey\">Turkey</option>";
	country[173]=	"<option value=\"2Turkmenistan\">Turkmenistan</option>";
	country[174]=	"<option value=\"4Tuvalu\">Tuvalu</option>";
	country[175]=	"<option value=\"3Uganda\">Uganda</option>";
	country[176]=	"<option value=\"2Ukraine\">Ukraine</option>";
	country[177]=	"<option value=\"3United Arab Emirates\">United Arab Emirates</option>";
	country[178]=	"<option selected value=\"1United Kingdom\">United Kingdom</option>";
	country[179]=	"<option value=\"3United States\">United States</option>";
	country[180]=	"<option value=\"3Uruguay\">Uruguay</option>";
	country[181]=	"<option value=\"2Uzbekistan\">Uzbekistan</option>";
	country[182]=	"<option value=\"4Vanuatu\">Vanuatu</option>";
	country[183]=	"<option value=\"3Venezuela\">Venezuela</option>";
	country[184]=	"<option value=\"3Vietnam\">Vietnam</option>";
	country[185]=	"<option value=\"3Virgin Islands\">Virgin Islands</option>";
	country[186]=	"<option value=\"0Western Sahara\">Western Sahara</option>";
	country[187]=	"<option value=\"3Yemen\">Yemen</option>";
	country[188]=	"<option value=\"3Zambia\">Zambia</option>";
	country[189]=	"<option value=\"3Zimbabwe\">Zimbabwe</option>";

	countryInit = true;
}


