<!--
// Version 1.1b
// Copyright 2000-2003 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.
//
var Ver4;
var Nav4;
var IE4;
var Addr;
var aPayOpt;
var aShipVia;
var bCheckout;
var numOrdered;
var newOrder;
var maxOrders;
var Orders;
var HColor;
var LColor;
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.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_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 sReview;
var sCheckout;
var sTitle;
var sSoldTo;
var sShipTo;
var sShipVia;
var sFirst;
var sLast;
var sCompany;
var sAddr1;
var sAddr2;
var sCity;
var sState;
var sZip;
var sCountry;
var sPhone;
var sEMail;
var sPayI;
var sPONum;
var sPayM;
var sCardNum;
var sCardName;
var sExpDate;
var sNotes;
var sTerms;
var sQty;
var sPartn;
var sDesc;
var sUnitP;
var sAmnt;
var sSub;
var sOther;
var sTaxes;
var sShip;
var sTotal;
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 soldto_vis;
var shipto_vis;
var phone_vis;
var fax_vis;
var shipvia_vis;
var payi_vis;
var ponum_vis;
var paym_vis;
var cardnum_vis;
var cardname_vis;
var expdate_vis;
var notes_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 Review_vis;
var Checkout_vis; 
var First_vis;
var Last_vis;
var Company_vis;
var Addr1_vis;
var Addr2_vis;
var City_vis;
var State_vis;
var Zip_vis;
var Country_vis;
var EMail_vis;
var PayIL_vis;
var Terms_vis;
// Fields
var sFPayopt;
var sFshipvia;
var bWarn;
function Initialize(bCheck)
{
bCheckout = bCheck;
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);
	
//WIZ review/checkout color scheme
HColor = "#9cadd6";
//WIZ review/checkout color scheme
LColor = "#c6cee7";
//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=3; // number of digits in group, default 3
//WIZ payment options
aPayOpt = new createArray(5);
aPayOpt[1] = "American Express";
aPayOpt[2] = "Discover";
aPayOpt[3] = "Master Card";
aPayOpt[4] = "Money Order";
aPayOpt[5] = "Visa";

//WIZ shipvia options

//WIZ order form custom labelling
sTitle="A To Z Golf Markers Order Form";
sSoldTo="Sold To:";
sShipTo="Ship To:";
sPhone="Telephone:";
sFax="Fax:";
sShipVia="Ship Via:";
sNotes="Special Names & Notes:";
sPartn="Part Number";
sDesc="Description";
sUnitP="Unit Price";
sQty="Quantity";
sAmnt="Amount";
sPONum="PO Number:";
sPayM="Payment Method:";
sCardNum="Card Number:";
sExpDate="Expiration Date:";
sCardName="Cardholder Name:";
sSub="Subtotal:";
sOther="Other";
sTaxes="Taxes:";
sShip="Shipping:";
sTotal="Total:";
//WIZ order form field visibility
soldto_vis=true;
shipto_vis=true;
phone_vis=true;
fax_vis=true;
shipvia_vis=false;
notes_vis=true;
partn_vis=true;
desc_vis=true;
price_vis=true;
qty_vis=true;
amnt_vis=true;
ponum_vis=true;
paym_vis=true;
cardnum_vis=true;
expdate_vis=true;
cardname_vis=true;
subt_vis=true;
other_vis=true;
taxes_vis=true;
ship_vis=true;
total_vis=true;
// If ponum, paym, cardnum, cardname and expdata are all invisible
payi_vis=true;
// New Order Form Label Text
sReview="Review Shopping Cart";
sCheckout="Checkout"; 
sFirst="First Name:";
sLast="Last Name:";
sCompany="Company:";
sAddr1="Address 1:";
sAddr2="Address 2:";
sCity="City:";
sState="State/Prov.:";
sZip="Zip/Postal Code:";
sCountry="Country:";
sEMail="E-Mail:";
sPayI="Payment Information:";
sOtherApply="Apply Other Rate?";
sTaxesApply="Apply tax rate?";
sTerms="Terms:";
//WIZ Taxable, Other and Taxes
bShippingTaxable=true;
bOtherTaxable=false;
other_rate=0.00;
tax_rate=0.00;
// Terms
sValTerms ="ALL PACKAGES ARE SHIPPED THE BEST WAY.<br><br> ";
// See DisplayCompany below
sCoName="ATo Z Golf Markers";
sCoAddr1="P.O. Box 11790";
sCoAddr2="Jacksonville, Fla  32239-1790";
sCoAddr3="";
sCoAddr4="";
sCoPhone="(904) 744-4474";
sCoFax="(904) 745-9600";
sCoEMail="kengbm@atozgolfmarkers.com";
sCoLPhone="Telephone:";
sCoLFax="Fax:";
sCoLEMail="E-Mail:";
sFPayopt="CreditCard_PaymentMethod";
sFShipvia="ShipTo_Via";
// New Order Form Label Text Visibility
Review_vis=true;
Checkout_vis=true; 
First_vis=true;
Last_vis=true;
Company_vis=true;
Addr1_vis=true;
Addr2_vis=true;
City_vis=true;
State_vis=true;
Zip_vis=true;
Country_vis=true;
EMail_vis=true;
PayIL_vis=true;
OtherApply_vis=true;
TaxesApply_vis=true;
Terms_vis=true;
addressGetCookie();
orderGetCookie();
}
function Out0( )
{
self.frame1.document.write();
}
function Out( str )
{
self.frame1.document.write(str);
}
function Outln( str )
{
self.frame1.document.writeln(str);
}
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("<h3>"+sCoName+"</h3>");
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>");
if (sCoPhone.length != 0)
  Outln(sCoLPhone+" "+sCoPhone+"<br>");
if (sCoFax.length != 0)
  Outln(sCoLFax+" "+sCoFax+"<br>");
if (sCoEMail.length != 0)
  Outln(sCoLEMail+" <a href=mailto:"+sCoEMail+">"+sCoEMail+"</a><br>");
Outln(CAlign);
}
function InitTotals()
{
ship_base=2.50;
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:parent.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=#6600cc><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=#6600cc><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 + "\"");
Outln(" onChange='parent.Addr[\""+name+"\"]=document.Order[\""+name+"\"].value;parent.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("parent.Addr.Other_Rate_Applies=document.Order.Other_Rate_Applies.checked;");
if (bTaxes)
	Outln("parent.Addr.Tax_Rate_Applies=document.Order.Tax_Rate_Applies.checked;");
Out("parent.CalcTotals();parent.HiddenTotals(document.Order);");
Out("parent.addressSetCookie();");
if (IE4)
    {
    Outln("parent.showTotals(document)\"></td></tr>");
    }
else
    {
    Outln("parent.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+"\"");
Outln(" onChange='parent.Addr[\""+name+"\"]=parent.getSelectValue(document.Order[\""+name+"\"]);");
Out("parent.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 (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_vis)
		order.ShipTo_FirstName.value = Addr.ShipTo_FirstName;
	if (Last_vis)
		order.ShipTo_LastName.value = Addr.ShipTo_LastName;
	if (Company_vis)
		order.ShipTo_Company.value = Addr.ShipTo_Company;
	if (Addr1_vis)
		order.ShipTo_AddressLine1.value = Addr.ShipTo_AddressLine1;
	if (Addr2_vis)
		order.ShipTo_AddressLine2.value = Addr.ShipTo_AddressLine2;
	if (City_vis)
		order.ShipTo_City.value = Addr.ShipTo_City;
	if (State_vis)
		order.ShipTo_State.value = Addr.ShipTo_State;
	if (Zip_vis)
		order.ShipTo_ZipCode.value = Addr.ShipTo_ZipCode;
	if (Country_vis)
		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 CheckOut(urlfrom)
{
var bOther, bTaxes;
if (numOrdered == 0)
    {
    ReviewOrderForm(0,urlfrom);
    return;
    }
Out0();
Outln("<html><head><title>"+sCheckout+"</title></head>");
Outln("<body bgcolor=\"#FFFFFF\" onLoad=\"parent.Initialize(true);parent.DocOrderInit(document.Order);parent.showTotals(document)\"");
Outln(" onUnload=\"parent.bCheckout=false\">");
Outln(OAlign);
Outln("<form name=Order method=post action=\"http://www.atozgolfmarkers.com/script/minicat.php\">");
Outln("<input type=\"hidden\" name=\"Order_Name\" value=\""+sTitle+"\">");
Outln("<input type=\"hidden\" name=\"Catalog_Name\" value=\"A To Z Golf Markers\">");
Outln("<input type=\"hidden\" name=\"frm_company\" value=\""+sCoName+"\">");
Outln("<input type=\"hidden\" name=\"frm_emailto\" value=\"kengbm@atozgolfmarkers.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>");
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 (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_vis)
	    AL(sFirst,"ShipTo_FirstName",40,Addr.ShipTo_FirstName);
	if (Last_vis)
		AL(sLast,"ShipTo_LastName",40,Addr.ShipTo_LastName);
	if (Company_vis)
		AL(sCompany,"ShipTo_Company",40,Addr.ShipTo_Company);
	if (Addr1_vis)
		AL(sAddr1,"ShipTo_AddressLine1",40,Addr.ShipTo_AddressLine1);
	if (Addr2_vis)
		AL(sAddr2,"ShipTo_AddressLine2",40,Addr.ShipTo_AddressLine2);
	if (City_vis)
		AL(sCity,"ShipTo_City",40,Addr.ShipTo_City);
	if (State_vis)
		AL(sState,"ShipTo_State",5,Addr.ShipTo_State);
	if (Zip_vis)
		AL(sZip,"ShipTo_ZipCode",10,Addr.ShipTo_ZipCode);
	if (Country_vis)
		AL(sCountry,"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='parent.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("<a href=\"" + urlfrom + "\"><img src=\"b_left.jpg\" alt=\"[Back]\" border=\"none\"></a>");
Outln("<input type=image name=Order src=\"b_email.jpg\" alt=\"[EMail Order]\" border=0>");
Outln("<a href=\""+urlfrom+"\" onClick=\"parent.ClearOrder()\"><img src=\"b_cform.jpg\" alt=\"[Clear Form]\" border=\"none\"></a>");
Outln(CAlign);
Outln("</form>");
DisplayCompany();
Outln("</body></html>");
self.frame1.document.close();
}
function ReviewOrderForm( iform, urlfrom )
{
var str=" ";
var some;
if (iform != 0)
    str = "<img src=\"" + iform.thumb.value + "\" alt=\"Thumbnail\">";
Out0();
Outln("<html><head>"+
    "<title>Order Form</title>"+"</head><body bgcolor=\"#FFFFFF\">");
if (!Review_vis)
	sReview = "";
some = DisplayOrders(false,sReview,str,urlfrom);
Outln(OAlign);
Outln("<br>");
Outln("<a href=\"" + urlfrom + "\"><img src=\"b_left.jpg\" alt=\"[Back]\" border=\"none\"></a>");
if (some != 0)
    {
    Outln("<a href=\""+urlfrom+"\" onClick=\"parent.ClearCart()\"><img src=\"b_empty.jpg\" alt=\"[Empty Cart]\" border=\"none\"></a>");
    Outln("<a href=\"javascript:parent.CheckOut('" + urlfrom + "')\"><img src=\"b_chkout.jpg\" alt=\"[Checkout]\" border=\"none\"></a>");
    }
Outln(CAlign);
DisplayCompany();
Outln("</body></html>");
self.frame1.document.close();
}
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 +
      "\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_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;
}
-->
