
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");

if ( iNumberOrdered >= 50 ) {
      alert('your shopping cart can only hold a maximum of 50 items');
}

if ( iNumberOrdered < 50 ) {

   iNumberOrdered++;

      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, "/");

      if ( strQUANTITY == 1 )
      notice = strQUANTITY + " item added to your shopping cart.";
      else
      notice = strQUANTITY + " items 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,expire,path,domain,secure) {
   var expire = new Date ();
   expire.setTime (expire.getTime() + (90 * 60000)); 
   var cookie = expire ;
   document.cookie = name + "=" + escape (value) +
                     ((expire) ? "; expires=" + expire.toGMTString() : "") +
                     ((path) ? "; path=" + path : "") +
                     ((domain) ? "; domain=" + domain : "") +
                     ((secure) ? "; secure" : "");
}


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 setShippingCookie(name, value, expires, path, domain, secure) {
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
return true;
}


function moneyFormat(input) {
   var pounds = Math.floor(input);
   var tmp = new String(input);

   for ( var decimalAt = 0; decimalAt < tmp.length; decimalAt++ ) {
      if ( tmp.charAt(decimalAt)=="." )
         break;
   }

   var pence  = "" + Math.round(input * 100);
   pence = pence.substring(pence.length-2, pence.length)
           pounds += ((tmp.charAt(decimalAt+2)=="9")&&(pence=="00"))? 1 : 0;

   if ( pence == "0" )
      pence = "00";

   return(pounds + "." + pence);
}


function CartDetails() {

   iNumberOrdered = GetCookie("NumberOrdered");

   if ( iNumberOrdered == null || iNumberOrdered == 0 ) {
   document.write("<br style=\"line-height:3px;\"><a href=\"cart.htm\" class=\"cart\">now in your cart<br><strong>0 items</strong></a>");
}

   if ( iNumberOrdered == 1 ) {
   document.write("<br style=\"line-height:3px;\"><a href=\"cart.htm\" class=\"cart\">now in your cart<br><strong>1 item</strong></a>");
}

   if ( iNumberOrdered > 1 ) {
   document.write("<br style=\"line-height:3px;\"><a href=\"cart.htm\" class=\"cart\">now in your cart<br><strong>" + iNumberOrdered + " items</strong></a>");
}

}


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);
         database = GetCookie(NewOrder1);
         SetCookie (NewOrder2, database, null, "/");
      }
      NewOrder = "Order." + NumberOrdered;
      SetCookie ("NumberOrdered", NumberOrdered-1, null, "/");
      DeleteCookie(NewOrder, "/");
   }
      javascript:location.reload(true);
}


function GetFromCart( fShipping ) {

   iNumberOrdered = GetCookie("NumberOrdered");

   if ( iNumberOrdered == null || iNumberOrdered == 0 ) {
   document.write("<br><b>Your shopping cart is currently empty!</b>");
   document.write("<br><br><br><br>");
}
   else {

   if( fShipping )
      WriteToForm( true, fShipping );
   else
      WriteToForm( true, 0 );
}
}


function WriteToForm( bDisplay, fShipping ) {
   iNumberOrdered = 0;
   fTotal         = 0;
   strTotal       = "";
   strShipping    = "";
   strOutput      = "";
   iNumberOrdered = GetCookie("NumberOrdered");

   if ( bDisplay )

      strOutput = "<br><b>Your shopping cart currently contains the following items:</b><br><br><br><TABLE border=1><TR>" +
                  "<TD colspan=2 width=150 CLASS=\"content2\" align=center><B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;product(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</B></TH>" +
                  "<TD CLASS=\"content2\" align=center><B>&nbsp;&nbsp;quantity&nbsp;&nbsp;</B></TH>" +
                  "<TD width=75 CLASS=\"content2\" align=center><B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;price&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</B></TH>" +
                 "<TD width=130 CLASS=\"content2\" align=center><B>&nbsp;&nbsp;remove item&nbsp;&nbsp;</B></TH></TR><tr><td></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);
      Token4 = database.indexOf("|", Token3+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, Token4 );
      fields[5] = database.substring( Token4+1, database.length );

      fTotal     += (parseInt(fields[1]) * parseFloat(fields[2]) );
      fShipping  += (parseInt(fields[1]) * parseFloat(fields[4]) );
      strTotal    = moneyFormat(fTotal);
      strShipping = moneyFormat(fShipping);

      if ( bDisplay ) {
         strOutput += "<TR height=40>";
	 strOutput += "<TD colspan=2 class=\"content2\" align=center><form name=view" + i + " method='post' action='product.php'><input type=\"hidden\" name=\"code\" value=\"" + fields[3] + "\"><a href='javascript:document.view" + i + ".submit();' class='file'>" + fields[3] + "</a></form></TD>";
	 strOutput += "<TD class=\"content2\" align=center>"  + fields[1] + "</TD>" +
                      "<TD class=\"content2\" align=center>£" + moneyFormat(fields[2]) + "/ea</TD>";

         strOutput += "<TD align=center><input type=button value=\"  Remove  \" onClick=\"RemoveFromCart("+i+")\"></TD></TR>";
      }

   }

   if ( bDisplay ) {
      strOutput += "<TR><TD colspan=5>&nbsp;</TD></TR><TR><TD COLSPAN=3 class=\"content2\" style=\"padding-left:100px;\"><b>SUBTOTAL</b></TD>";
      strOutput += "<TD align=center class=\"content2\"><b>£" + strTotal + "</b></TD><TD>&nbsp;</TD>";
      strOutput += "</TR>";
      strOutput += "<TR><TD align=center valign=middle class=\"carea2\" colspan=5>";

      strOutput += "<br>Please ensure all order details are correct and select your shipping option before proceeding.<br><br></TD>";
      strOutput += "</TR>";
      strOutput += "</TABLE>";
      strOutput += "<br><br>";

   }

   document.write(strOutput);

}

