// contents of common.js

MaxCartItems = 15;
ReferrerLife = 30;

function SaveReferrer()
{
        CookieName = 'Referrer';

        CookieValue = GetCookie(CookieName);
        if(CookieValue == null)
        {
                // if no cookie present for referrer
                CookieValue = document.referrer;
        }

        var expdate = new Date();
        expdate.setDate(ReferrerLife);

        SetCookie(CookieName,CookieValue,expdate);
}

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 null;
}

function SetCookie (name, value) {
  var argv = SetCookie.arguments;
  var argc = SetCookie.arguments.length;
  var expires = (argc > 2) ? argv[2] : null;
  var path = (argc > 3) ? argv[3] : null;
  var domain = (argc > 4) ? argv[4] : null;
  var secure = (argc > 5) ? argv[5] : false;
  document.cookie = name + "=" + escape (value) +
    ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
    ((path == null) ? "" : ("; path=" + path)) +
    ((domain == null) ? "" : ("; domain=" + domain)) +
    ((secure == true) ? "; secure" : "");
}

function DeleteCookie (name) {
  var exp = new Date();
  exp.setTime (exp.getTime() - 1);  // This cookie is history
  var cval = GetCookie (name);
  if (cval != null)
    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function AddItem(ID,Sdesc,Col,Price,Qty,Weight,WeightUnit)
{
        if (Qty <= 0)
        {
                rc = alert('The Quantity must be greater than 0');
                return false;
        }

        if (confirm('Adding to the shopping cart :' +Qty+ ': "' +Sdesc+ '".'))
        {
                for(NumItems = 0; NumItems<=MaxCartItems; NumItems++)
                {
                        if(NumItems == MaxCartItems)
                        {
alert('Maximum of '+MaxCartItems+' different items can fit in the shopping cart, please go to the Checkout Counter and submit your order.  Then empty your cart and shop some more later.');
                        }
                        else
                        {
                                CookieName = 'Cart' +NumItems;
                                CookieValue = GetCookie(CookieName);
                                if(CookieValue == null)
                                {
                                        CookieValue = "["+ID+"À"+Sdesc+"Á"+Col+"Â"+Price+"Ã"+Qty+"Ä"+Weight+"Å"+WeightUnit+"]";
                                        SetCookie(CookieName,CookieValue);
                                        break;
                                }
                        }
                }
        }
        return true;
}

function FloatFormat(expr,decplaces)
{
        var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces));
        while(str.length <= decplaces)
        {
                str = "0" + str;
        }

        var decpoint = str.length - decplaces;
        return str.substring(0,decpoint) + "." + str.substring(decpoint,str.length);
}

rsize = 10;             // rounding size
oz_factor = 1;          // ounces to ounces
lbs_factor = 0.0625;            // ounces to pounds
mg_factor = 28349.5;            // ounces to miligrams
g_factor = 28.3495;             // ounces to grams
kg_factor = .0283495;   // ounces to kilograms
var UnitSize;   // weight number being converted
var OldUnit;    // converting from
var NewUnit;    // converting to
var NewUnitSize;        // new weight in new unit

function ConvertUnit(UnitSize,OldUnit,NewUnit)
{
// possible units
// oz
// lbs
// mg
// g
// kg

        NewUnitSize = 0;
        TmpUnitSize = 0;

        // if not oz, convert to oz first
        if(OldUnit != 'oz')
        {
                if(OldUnit == 'lbs')
                {
                        TmpUnitSize = UnitSize / lbs_factor;
                }
                else if(OldUnit == 'mg')
                {
                        TmpUnitSize = UnitSize / mg_factor;
                }
                else if(OldUnit == 'g')
                {
                        TmpUnitSize = UnitSize / g_factor;
                }
                else if(OldUnit == 'kg')
                {
                        TmpUnitSize = UnitSize / kg_factor;
                }
        }
        else
        {
                // if oz, keep as is
                TmpUnitSize = UnitSize;
        }

        // since TmpUnitSize is now oz, convert to NewUnit;
        if(NewUnit == 'oz')
        {
                NewUnitSize = TmpUnitSize;
        }
        else if(NewUnit == 'lbs')
        {
                NewUnitSize = TmpUnitSize * lbs_factor;
        }
        else if(NewUnit == 'mg')
        {
                NewUnitSize = TmpUnitSize * mg_factor;
        }
        else if(NewUnit == 'g')
        {
                NewUnitSize = TmpUnitSize * g_factor;
        }
        else if(NewUnit == 'kg')
        {
                NewUnitSize = TmpUnitSize * kg_factor;
        }
}
