function CKquantity(checkString) {
  strNewQuantity = "";

  for (i = 0; i < checkString.length; i++) {
    ch = checkString.substring(i, i+1);
    if ((ch >= "0" && ch <= "9") (ch == '.'))
      strNewQuantity += ch;
  }

  if (strNewQuantity.length < 1)
    strNewQuantity = "1";

  return(strNewQuantity);
}

function AddToCart(thisForm) {
  iNumberOrdered = 0;
  iNumberOrdered = GetCookie("NumberOrdered");
  iNumberOrdered++;

  if (iNumberOrdered > 50)
   alert("I'm Sorry, your cart is full, please proceed to checkout.");
  else {
   if (thisForm.ID_NUM == null)
    strID_NUM  = "";
   else
    strID_NUM  = thisForm.ID_NUM.value;

   if (thisForm.QUANTITY == null)
    strQUANTITY  = "1";
   else
    strQUANTITY  = thisForm.QUANTITY.value;

   if (thisForm.PRICE == null)
    strPRICE  = "0.00";
   else
    strPRICE  = thisForm.PRICE.value;

   if (thisForm.NAME == null)
    strNAME   = "";
   else
    strNAME   = thisForm.NAME.value;

   if (thisForm.SHIPPING == null)
    strSHIPPING  = "0.00";
   else
    strSHIPPING  = thisForm.SHIPPING.value;

   if (thisForm.ADDITIONALINFO == null)
    strADDTLINFO = "";
   else
    strADDTLINFO = thisForm.ADDITIONALINFO.value;

   dbUpdatedOrder = strID_NUM  + "|" +
      strQUANTITY  + "|" +
      strPRICE  + "|" +
      strNAME   + "|" +
      strSHIPPING  + "|" +
      strADDTLINFO;

   strNewOrder = "Order." + iNumberOrdered;
   SetCookie(strNewOrder, dbUpdatedOrder, null, "/");
   SetCookie("NumberOrdered", iNumberOrdered, null, "/");
   notice = strQUANTITY + " " + strNAME + " added to your shopping cart.";
   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) {
//alert('setCookie('+name+', '+value+', expires, path, domain, secure)');

  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

function deleteCookie(name, path, domain) {
//alert('deleteCookie()');

  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 dollars = Math.floor(input);
  var tmp = new String(input);

  for (var decimalAt = 0; decimalAt < tmp.length; decimalAt++) {
   if (tmp.charAt(decimalAt)==".")
    break;
  }

  var cents  = "" + Math.round(input * 100);
  cents = cents.substring(cents.length-2, cents.length)
     dollars += ((tmp.charAt(decimalAt+2)=="9")&&(cents=="00"))? 1 : 0;

  if (cents == "0")
   cents = "00";

  return(dollars + "." + cents);
}

function RemoveFromCart(RemOrder) {
  if (confirm("Click 'Ok' to remove this product from your shopping cart.")) {
   NumberOrdered = GetCookie("NumberOrdered");
   for (i=RemOrder; i < NumberOrdered; i++) {
    NewOrder1 = "Order." + (i+1);
    NewOrder2 = "Order." + (i);
    d = GetCookie(NewOrder1);
    SetCookie (NewOrder2, d, null, "/");
   }
   NewOrder = "Order." + NumberOrdered;
   SetCookie ("NumberOrdered", NumberOrdered-1, null, "/");
   deleteCookie(NewOrder, "/");
   location.href=location.href;
  }
}

function clearCart() {
//alert('clearCart()');

  var n = GetCookie('NumberOrdered');
  for (var i = 1; i <= n; i++) {
    deleteCookie('Order.'+i, "/");
  }
  deleteCookie('NumberOrdered', "/");
  location.href = location.href;
}

function go(where) {
//alert('go('+where+')');

  location.href = where || '/';
}

function writeCart() {
//alert('writeCart()');

  var buf = '', d = '', f = 0, s = '',
      n = GetCookie('NumberOrdered') || 0;
//alert(n)

//  alert(unescape(document.cookie.split(';')))
  if (n == 0) {
    buf = '\n\
  <tr>\n\
    <td colspan="6">\n\
      <p class="warning">Your shopping cart is empty</p>\n\
    </td>\n\
  </tr>';
    document.write(buf);
    document.close();
    return;
  }

  buf = '\n\
          <tr>\n\
            <th style="text-align:left" colspan="3">Product Name</th>\n\
            <th>Quantity</th>\n\
            <th style="text-align:right">Price/Item</th>\n\
            <th>Remove</th>\n\
          </tr>';

  for (i = 1; i <= n; i++) {
   d = GetCookie('Order.' + i);
//alert(d)

   Token0 = d.indexOf("|", 0);
   Token1 = d.indexOf("|", Token0+1);
   Token2 = d.indexOf("|", Token1+1);
   Token3 = d.indexOf("|", Token2+1);
   Token4 = d.indexOf("|", Token3+1);

   fields = new Array;
   fields[0] = d.substring(0, Token0);
   fields[1] = d.substring(Token0+1, Token1);
   fields[2] = d.substring(Token1+1, Token2);
   fields[3] = d.substring(Token2+1, Token3);
   fields[4] = d.substring(Token3+1, Token4);
   fields[5] = d.substring(Token4+1, d.length);

   f  += (parseInt(fields[1]) * parseFloat(fields[2]));
   s  = moneyFormat(f);

    buf += '\n\
          <tr>\n\
            <td colspan="3">'+ fields[3] +'</td>\n\
            <td style="text-align:center">'+ fields[1] +'</td>\n\
            <td style="text-align:right">$'+ moneyFormat(fields[2]) +'</td>\n\
            <td style="text-align:center">\n\
              <input type="button" value="Remove" onClick="RemoveFromCart('+ i +')" class="remove">\n\
            </td>\n\
          </tr>';
  }

  buf += '\n\
          <tr>\n\
            <td colspan="3"></td>\n\
            <td style="text-align:right"><label>Total</label></td>\n\
            <td style="text-align:right;border-top:1px solid #2F2F2F">\n\
              <b>$'+ s +'</b>\n\
              <input type=hidden name="TOTAL" value="'+ s +'">\n\
            </td>\n\
            <td>&nbsp;</td>\n\
          </tr>\n\
          <tr><td colspan="6">&nbsp;</td></tr>';
  document.write(buf);
  document.close();
}

