var giCartItemCount = 0;
var giRequestItemCount = 0;
var giCleanRoomItemCount = 0;
var giCleanRoomRequestItemCount = 0;
var giLineItemCount = 0;
var garrCartIndex = new Array();
var garrRequestIndex = new Array();
var garrCleanRoomIndex = new Array();
var garrCleanRoomRequestIndex = new Array();
var garrLineItemIndex = new Array();
var garrCartItem = new Array();
var garrRequestItem = new Array();
var garrCleanRoomItem = new Array();
var garrCleanRoomRequestItem = new Array();
var garrLineItem = new Array();

function fnDeleteAllCookies() {
    deleteCookie( "count", "/");
    deleteCookie( "idx", "/");
    deleteCookie( "reqcnt", "/");
    deleteCookie( "reqidx", "/");
    deleteCookie( "linecnt", "/");
    deleteCookie( "lineidx", "/");
    deleteCookie( "crcount", "/");
    deleteCookie( "cridx", "/");
    deleteCookie( "crreqcnt", "/");
    deleteCookie( "crreqidx", "/");
    for(i=0; i < 200; i++) {
      deleteCookie("item_" + i, "/");
    }
    for(i=0; i < 200; i++) {
      deleteCookie("line_" + i, "/");
    }
    for(i=0; i < 200; i++) {
      deleteCookie("critem_" + i, "/");
    }
}

function fnGetCartData() {
  var iProductIdx = 0;
  var iTableEntries = 0;
  var iItemCount = 0;
  var strCartIndexes = null;
  var strRequestIndexes = null;
  var strItemList = null;
  var arrItemEntry = new Array();

  giCartItemCount = getCookie("count");
  giRequestItemCount = getCookie("reqcnt");
  strCartIndexes = getCookie( "idx");
  strRequestIndexes = getCookie( "reqidx");

  if(giCartItemCount == null) {
    giCartItemCount = 0;
  }
  if(giRequestItemCount == null) {
    giRequestItemCount = 0;
  }

  if( giCartItemCount > 0) {
    garrCartIndex = strCartIndexes.split("|",giCartItemCount);
    garrCartItem.length = giCartItemCount;
  }

  if( giRequestItemCount > 0) {
    garrRequestIndex = strRequestIndexes.split("|",giRequestItemCount);
    garrRequestItem.length = giRequestItemCount;
  }

  iItemCount = giCartItemCount;
  for( i=0; i < iItemCount; i++) {
    iProductIdx = garrCartIndex[ i];
    if( iProductIdx == null || iProductIdx == '') {
      giCartItemCount--;
    } else {
      strItemList = getCookie("item_" + iProductIdx);
      iTableEntries = idxQtyOrder + 1;
      arrItemEntry = strItemList.split("|",iTableEntries);
      garrCartItem[ i] = new Array(iTableEntries);
      for( x=0; x < iTableEntries; x++) {
        garrCartItem[ i][ x] = arrItemEntry[ x];
      }
    }
  }

  iItemCount = giRequestItemCount;
  for( i=0; i < iItemCount; i++) {
    iProductIdx = garrRequestIndex[ i];
    if( iProductIdx !== null && iProductIdx !== '') {
      strItemList = getCookie("item_" + iProductIdx);
      iTableEntries = idxQtyOrder + 1;
      arrItemEntry = strItemList.split("|",iTableEntries);
      garrRequestItem[ i] = new Array(iTableEntries);
      for( x=0; x < iTableEntries; x++) {
        garrRequestItem[ i][ x] = arrItemEntry[ x];
      }
    } else {
      giRequestItemCount--;
    }
  }
}

function fnGetLineItemData() {
  var iProductIdx = 0;
  var iTableEntries = 0;
  var iItemCount = 0;
  var strLineItemIndexes = null;
  var strItemList = null;
  var arrItemEntry = new Array();

  giLineItemCount = getCookie("linecnt");
  strLineItemIndexes = getCookie( "lineidx");

  if(giLineItemCount == null) {
    giLineItemCount = 0;
  }

  if( giLineItemCount > 0) {
    garrLineItemIndex = strLineItemIndexes.split("|",giLineItemCount);
    garrLineItem.length = giLineItemCount;
  }

  iItemCount = giLineItemCount;
  for( i=0; i < iItemCount; i++) {
    iProductIdx = garrLineItemIndex[ i];
    if( iProductIdx == null || iProductIdx == '') {
      giLineItemCount--;
    } else {
      strItemList = getCookie("line_" + iProductIdx);
      iTableEntries = idxQtyOrder + 1;
      arrItemEntry = strItemList.split("|",iTableEntries);
      garrLineItem[ i] = new Array(iTableEntries);
      for( x=0; x < iTableEntries; x++) {
        garrLineItem[ i][ x] = arrItemEntry[ x];
      }
    }
  }
}

function fnGetCleanRoomData() {
  var iProductIdx = 0;
  var iTableEntries = 0;
  var iItemCount = 0;
  var strCleanRoomIndexes = null;
  var strCleanRoomRequestIndexes = null;
  var strItemList = null;
  var arrItemEntry = new Array();

  giCleanRoomItemCount = getCookie("crcount");
  giCleanRoomRequestItemCount = getCookie("crreqcnt");
  strCleanRoomIndexes = getCookie( "cridx");
  strCleanRoomRequestIndexes = getCookie( "crreqidx");

  if(giCleanRoomItemCount == null) {
    giCleanRoomItemCount = 0;
  }
  if(giCleanRoomRequestItemCount == null) {
    giCleanRoomRequestItemCount = 0;
  }

  if( giCleanRoomItemCount > 0) {
    garrCleanRoomIndex = strCleanRoomIndexes.split("|",giCleanRoomItemCount);
    garrCleanRoomItem.length = giCleanRoomItemCount;
  }

  if( giCleanRoomRequestItemCount > 0) {
    garrCleanRoomRequestIndex = strCleanRoomRequestIndexes.split("|",giCleanRoomRequestItemCount);
    garrCleanRoomRequestItem.length = giCleanRoomRequestItemCount;
  }

  iItemCount = giCleanRoomItemCount;
  for( i=0; i < iItemCount; i++) {
    iProductIdx = garrCleanRoomIndex[ i];
    if( iProductIdx == null || iProductIdx == '') {
      giCleanRoomItemCount--;
    } else {
      strItemList = getCookie("critem_" + iProductIdx);
      iTableEntries = idxQtyOrder + 1;
      arrItemEntry = strItemList.split("|",iTableEntries);
      garrCleanRoomItem[ i] = new Array(iTableEntries);
      for( x=0; x < iTableEntries; x++) {
        garrCleanRoomItem[ i][ x] = arrItemEntry[ x];
      }
    }
  }

  iItemCount = giCleanRoomRequestItemCount;
  for( i=0; i < iItemCount; i++) {
    iProductIdx = garrCleanRoomRequestIndex[ i];
    if( iProductIdx !== null && iProductIdx !== '') {
      strItemList = getCookie("critem_" + iProductIdx);
      iTableEntries = idxQtyOrder + 1;
      arrItemEntry = strItemList.split("|",iTableEntries);
      garrCleanRoomRequestItem[ i] = new Array(iTableEntries);
      for( x=0; x < iTableEntries; x++) {
        garrCleanRoomRequestItem[ i][ x] = arrItemEntry[ x];
      }
    } else {
      giCleanRoomRequestItemCount--;
    }
  }
}

function fnDisplayRequestAQuoteCart() {
  var cartTable = '';

  if (document.getElementById && document.createElement) {
    theSpreadsheet = document.getElementById('cartTable');
  } else {
    alert('Your browser does not support the Quote Cart');
    return;
  }

  fnGetCartData();
  fnGetCleanRoomData();

  if( giCartItemCount > 0) {
    cartTable += '<input type="hidden" name="fldCartItemCount" value="';
    cartTable += giCartItemCount;
    cartTable += '">';
    for( i=0; i < giCartItemCount; i++) {
      cartTable += '<input type="hidden" name="fldCartItemId' + i + '" value="';
      cartTable += garrCartItem[ i][ idxItemId];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCartQtyOrder' + i + '" value="';
      cartTable += garrCartItem[ i][ idxQtyOrder];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCartDiameter' + i + '" value="';
      cartTable += escape( garrCartItem[ i][ idxDiameter]);
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCartType' + i + '" value="';
      cartTable += garrCartItem[ i][ idxType];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCartOrientation' + i + '" value="';
      cartTable += garrCartItem[ i][ idxOrientation];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCartResistMin' + i + '" value="';
      cartTable += garrCartItem[ i][ idxResistMin];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCartResistMax' + i + '" value="';
      cartTable += garrCartItem[ i][ idxResistMax];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCartThickMin' + i + '" value="';
      cartTable += garrCartItem[ i][ idxThickMin];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCartThickMax' + i + '" value="';
      cartTable += garrCartItem[ i][ idxThickMax];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCartGrade' + i + '" value="';
      cartTable += garrCartItem[ i][ idxGrade];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCartFlats' + i + '" value="';
      cartTable += garrCartItem[ i][ idxFlats];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCartDescription' + i + '" value="';
      cartTable += escape( garrCartItem[ i][ idxDescription]);
      cartTable += '">';
    }
  }

  if( giRequestItemCount > 0) {
    cartTable += '<input type="hidden" name="fldRequestItemCount" value="';
    cartTable += giRequestItemCount;
    cartTable += '">';
    for( i=0; i < giRequestItemCount; i++) {
      cartTable += '<input type="hidden" name="fldRequestItemId' + i + '" value="';
      cartTable += garrRequestItem[ i][ idxItemId];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldRequestQtyOrder' + i + '" value="';
      cartTable += garrRequestItem[ i][ idxQtyOrder];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldRequestDiameter' + i + '" value="';
      cartTable += escape( garrRequestItem[ i][ idxDiameter]);
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldRequestType' + i + '" value="';
      cartTable += garrRequestItem[ i][ idxType];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldRequestOrientation' + i + '" value="';
      cartTable += garrRequestItem[ i][ idxOrientation];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldRequestResistMin' + i + '" value="';
      cartTable += garrRequestItem[ i][ idxResistMin];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldRequestResistMax' + i + '" value="';
      cartTable += garrRequestItem[ i][ idxResistMax];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldRequestThickMin' + i + '" value="';
      cartTable += garrRequestItem[ i][ idxThickMin];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldRequestThickMax' + i + '" value="';
      cartTable += garrRequestItem[ i][ idxThickMax];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldRequestGrade' + i + '" value="';
      cartTable += garrRequestItem[ i][ idxGrade];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldRequestFlats' + i + '" value="';
      cartTable += garrRequestItem[ i][ idxFlats];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldRequestDescription' + i + '" value="';
      cartTable += escape( garrRequestItem[ i][ idxDescription]);
      cartTable += '">';
    }
  }

  if( giCleanRoomItemCount > 0) {
    cartTable += '<input type="hidden" name="fldCleanRoomItemCount" value="';
    cartTable += giCleanRoomItemCount;
    cartTable += '">';
    for( i=0; i < giCleanRoomItemCount; i++) {
      cartTable += '<input type="hidden" name="fldCleanRoomItemId' + i + '" value="';
      cartTable += garrCleanRoomItem[ i][ idxItemId];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCleanRoomQtyOrder' + i + '" value="';
      cartTable += garrCleanRoomItem[ i][ idxQtyOrder];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCleanRoomDescription' + i + '" value="';
      cartTable += escape( garrCleanRoomItem[ i][ idxDescription]);
      cartTable += '">';
    }
  }

  if( giCleanRoomRequestItemCount > 0) {
    cartTable += '<input type="hidden" name="fldCleanRoomRequestItemCount" value="';
    cartTable += giCleanRoomRequestItemCount;
    cartTable += '">';
    for( i=0; i < giCleanRoomRequestItemCount; i++) {
      cartTable += '<input type="hidden" name="fldCleanRoomRequestItemId' + i + '" value="';
      cartTable += garrCleanRoomRequestItem[ i][ idxItemId];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCleanRoomRequestQtyOrder' + i + '" value="';
      cartTable += garrCleanRoomRequestItem[ i][ idxQtyOrder];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldCleanRoomRequestDescription' + i + '" value="';
      cartTable += escape( garrCleanRoomRequestItem[ i][ idxDescription]);
      cartTable += '">';
    }
  }

  if( giCartItemCount > 0 || giRequestItemCount > 0) {
    cartTable += '<table class="inventory-table">';
    cartTable += '<tr>';
    cartTable += '<td class="inventory-header-in-cart">Del</td>';
    cartTable += '<td class="inventory-header-item-id">&nbsp;</td>';
    cartTable += '<td class="inventory-header-qty-on-hand">Quantity</td>';
    cartTable += '<td class="inventory-header-diameter">&nbsp;</td>';
    cartTable += '<td class="inventory-header-type">&nbsp;</td>';
    cartTable += '<td class="inventory-header-orientation">&nbsp;</td>';
    cartTable += '<td class="inventory-header-resistivity" colspan="2">Resistivity</td>';
    cartTable += '<td class="inventory-header-thickness" colspan="2">Thickness</td>';
    cartTable += '<td class="inventory-header-grade">&nbsp;</td>';
/*    cartTable += '<td class="inventory-header-flats">&nbsp;</td>'; */
    cartTable += '</tr>';

    cartTable += '<tr>';
    cartTable += '<td class="inventory-header-in-cart">Cart</td>';
    cartTable += '<td class="inventory-header-item-id">Item ID</td>';
    cartTable += '<td class="inventory-header-qty-on-hand">Needed</td>';
    cartTable += '<td class="inventory-header-diameter">Diameter</td>';
    cartTable += '<td class="inventory-header-type">Type</td>';
    cartTable += '<td class="inventory-header-orientation">Orientation</td>';
    cartTable += '<td class="inventory-header-resistivity-min">Min.</td>';
    cartTable += '<td class="inventory-header-resistivity-max">Max.</td>';
    cartTable += '<td class="inventory-header-thickness-min">Min.</td>';
    cartTable += '<td class="inventory-header-thickness-max">Max.</td>';
    cartTable += '<td class="inventory-header-grade">Grade</td>';
/*    cartTable += '<td class="inventory-header-flats">Flats</td>'; */
    cartTable += '</tr>';
  }

  for( i=0; i < giCartItemCount; i++) {
    cartTable += '<tr>';
    cartTable += '<td class="inventory-data"><input type="checkbox" name="waferEntry" onclick="fnRemoveFromCart(\'' + i;
    cartTable += '\');"></td>';
    cartTable += '<td class="inventory-data-item-id">';
    cartTable += garrCartItem[ i][ idxItemId];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-qty-on-hand"><INPUT type="text" MAXLENGTH="10" size="5" name="cartQty" value="';
    cartTable += garrCartItem[ i][ idxQtyOrder];
    cartTable += '" style="text-align: right;"></td>';
    cartTable += '<td class="inventory-data-diameter">';
    cartTable += garrCartItem[ i][ idxDiameter];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-type">';
    cartTable += garrCartItem[ i][ idxType];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-orientation">';
    cartTable += garrCartItem[ i][ idxOrientation];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-resistivity-min">';
    cartTable += garrCartItem[ i][ idxResistMin];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-resistivity-max">';
    cartTable += garrCartItem[ i][ idxResistMax];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-thickness-min">';
    cartTable += garrCartItem[ i][ idxThickMin];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-thickness-max">';
    cartTable += garrCartItem[ i][ idxThickMax];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-grade">';
    cartTable += garrCartItem[ i][ idxGrade];
    cartTable += '</td>';
/*    cartTable += '<td class="inventory-data-flats">';
    cartTable += garrCartItem[ i][ idxFlats];
    cartTable += '</td>'; */
    cartTable += '</tr>';
    cartTable += '<tr>';
    cartTable += '<td class="inventory-data-id-divider2">&nbsp;</td>';
    cartTable += '<td class="inventory-data-id-divider2">&nbsp;</td>';
    cartTable += '<td colspan="10" bgcolor="Silver">';
    cartTable += garrCartItem[ i][ idxDescription];
    cartTable += '</td>';
    cartTable += '</tr>';
  }

  for( i=0; i < giRequestItemCount; i++) {
    cartTable += '<tr>';
    cartTable += '<td class="inventory-data"><input type="checkbox" name="waferEntry" onclick="fnRemoveFromRequest(\'' + i;
    cartTable += '\');"></td>';
    cartTable += '<td class="inventory-data-item-id">';
    cartTable += garrRequestItem[ i][ idxItemId];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-qty-on-hand"><INPUT type="text" MAXLENGTH="10" size="5" name="requestQty" value="';
    cartTable += garrRequestItem[ i][ idxQtyOrder];
    cartTable += '" style="text-align: right;"></td>';
    cartTable += '<td class="inventory-data-diameter">';
    cartTable += garrRequestItem[ i][ idxDiameter];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-type">';
    cartTable += garrRequestItem[ i][ idxType];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-orientation">';
    cartTable += garrRequestItem[ i][ idxOrientation];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-resistivity-min">';
    cartTable += garrRequestItem[ i][ idxResistMin];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-resistivity-max">';
    cartTable += garrRequestItem[ i][ idxResistMax];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-thickness-min">';
    cartTable += garrRequestItem[ i][ idxThickMin];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-thickness-max">';
    cartTable += garrRequestItem[ i][ idxThickMax];
    cartTable += '</td>';
    cartTable += '<td class="inventory-data-grade">';
    cartTable += garrRequestItem[ i][ idxGrade];
    cartTable += '</td>';
/*    cartTable += '<td class="inventory-data-flats">';
    cartTable += garrRequestItem[ i][ idxFlats];
    cartTable += '</td>'; */
    cartTable += '</tr>';
    cartTable += '<tr>';
    cartTable += '<td class="inventory-data-id-divider2">&nbsp;</td>';
    cartTable += '<td class="inventory-data-id-divider2">&nbsp;</td>';
    cartTable += '<td colspan="10" bgcolor="Silver">';
    cartTable += garrRequestItem[ i][ idxDescription];
    cartTable += '</td>';
    cartTable += '</tr>';
  }

  cartTable += '</table>';


  if( giCleanRoomItemCount > 0 || giCleanRoomRequestItemCount > 0) {
    cartTable += '<br /><table class="inventory-table">';
    cartTable += '<tr>';
    cartTable += '<td class="inventory-header-in-cart">Del</td>';
    cartTable += '<td class="inventory-header-item-id">&nbsp;</td>';
    cartTable += '<td class="inventory-header-qty-on-hand">Quantity</td>';
    cartTable += '<td class="cleanroom-header-description">&nbsp;</td>';
    cartTable += '</tr>';

    cartTable += '<tr>';
    cartTable += '<td class="inventory-header-in-cart">Cart</td>';
    cartTable += '<td class="inventory-header-item-id">Item ID</td>';
    cartTable += '<td class="inventory-header-qty-on-hand">Needed</td>';
    cartTable += '<td class="cleanroom-header-description">Description</td>';
    cartTable += '</tr>';
  }


  for( i=0; i < giCleanRoomItemCount; i++) {
    cartTable += '<tr>';
    cartTable += '<td class="cleanroom-data"><input type="checkbox" name="waferEntry" onclick="fnRemoveFromCleanRoom(\'' + i;
    cartTable += '\');"></td>';
    cartTable += '<td class="cleanroom-data-item-id">';
    cartTable += garrCleanRoomItem[ i][ idxItemId];
    cartTable += '</td>';
    cartTable += '<td class="cleanroom-data-qty-on-hand"><INPUT type="text" MAXLENGTH="10" size="5" name="cleanroomQty" value="';
    cartTable += garrCleanRoomItem[ i][ idxQtyOrder];
    cartTable += '" style="text-align: right;"></td>';
    cartTable += '<td class="cleanroom-data-description" colspan="10">';
    cartTable += garrCleanRoomItem[ i][ idxDescription];
    cartTable += '</td>';
    cartTable += '</tr>';
  }

  for( i=0; i < giCleanRoomRequestItemCount; i++) {
    cartTable += '<tr>';
    cartTable += '<td class="cleanroom-data"><input type="checkbox" name="waferEntry" onclick="fnRemoveFromCleanRoomRequest(\'' + i;
    cartTable += '\');"></td>';
    cartTable += '<td class="cleanroom-data-item-id">';
    cartTable += garrCleanRoomRequestItem[ i][ idxItemId];
    cartTable += '</td>';
    cartTable += '<td class="cleanroom-data-qty-on-hand"><INPUT type="text" MAXLENGTH="10" size="5" name="cleanroomRequestQty" value="';
    cartTable += garrCleanRoomRequestItem[ i][ idxQtyOrder];
    cartTable += '" style="text-align: right;"></td>';
    cartTable += '<td class="cleanroom-data-description" colspan="10">';
    cartTable += garrCleanRoomRequestItem[ i][ idxDescription];
    cartTable += '</td>';
    cartTable += '</tr>';
  }

  cartTable += '</table>';

  if( giCartItemCount > 0 || giRequestItemCount > 0 || giCleanRoomItemCount > 0 || giCleanRoomRequestItemCount > 0) {
    cartTable += '<br /><input type="button" value="Update Quantities" onclick="fnUpdateQtys(this.form);">';
  }

  theSpreadsheet.innerHTML = cartTable;
}

function fnDisplayCart() {
  var cartTable = null;

  if (document.getElementById && document.createElement) {
    theSpreadsheet = document.getElementById('spreadsheet');
  } else {
    alert('Your browser does not support the Quote Cart');
    return;
  }

  fnGetCartData();
  fnGetCleanRoomData();

  cartTable = " ";
  if( giCartItemCount > 0 || giRequestItemCount > 0 || giCleanRoomItemCount > 0) {
    cartTable += '<form action="prgSendMail.php" method="POST" enctype="multipart/form-data" onSubmit="return fnCheckContactFields(document.formCart);" name="formCart">';

    if( giCartItemCount > 0) {
      cartTable += '<input type="hidden" name="fldCartItemCount" value="';
      cartTable += giCartItemCount;
      cartTable += '">';
      for( i=0; i < giCartItemCount; i++) {
        cartTable += '<input type="hidden" name="fldCartItemId' + i + '" value="';
        cartTable += garrCartItem[ i][ idxItemId];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCartQtyOrder' + i + '" value="';
        cartTable += garrCartItem[ i][ idxQtyOrder];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCartDiameter' + i + '" value="';
        cartTable += escape( garrCartItem[ i][ idxDiameter]);
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCartType' + i + '" value="';
        cartTable += garrCartItem[ i][ idxType];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCartOrientation' + i + '" value="';
        cartTable += garrCartItem[ i][ idxOrientation];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCartResistMin' + i + '" value="';
        cartTable += garrCartItem[ i][ idxResistMin];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCartResistMax' + i + '" value="';
        cartTable += garrCartItem[ i][ idxResistMax];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCartThickMin' + i + '" value="';
        cartTable += garrCartItem[ i][ idxThickMin];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCartThickMax' + i + '" value="';
        cartTable += garrCartItem[ i][ idxThickMax];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCartGrade' + i + '" value="';
        cartTable += garrCartItem[ i][ idxGrade];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCartFlats' + i + '" value="';
        cartTable += garrCartItem[ i][ idxFlats];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCartDescription' + i + '" value="';
        cartTable += escape( garrCartItem[ i][ idxDescription]);
        cartTable += '">';
      }
    }
  
    if( giRequestItemCount > 0) {
      cartTable += '<input type="hidden" name="fldRequestItemCount" value="';
      cartTable += giRequestItemCount;
      cartTable += '">';
      for( i=0; i < giRequestItemCount; i++) {
        cartTable += '<input type="hidden" name="fldRequestItemId' + i + '" value="';
        cartTable += garrRequestItem[ i][ idxItemId];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldRequestQtyOrder' + i + '" value="';
        cartTable += garrRequestItem[ i][ idxQtyOrder];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldRequestDiameter' + i + '" value="';
        cartTable += escape( garrRequestItem[ i][ idxDiameter]);
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldRequestType' + i + '" value="';
        cartTable += garrRequestItem[ i][ idxType];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldRequestOrientation' + i + '" value="';
        cartTable += garrRequestItem[ i][ idxOrientation];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldRequestResistMin' + i + '" value="';
        cartTable += garrRequestItem[ i][ idxResistMin];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldRequestResistMax' + i + '" value="';
        cartTable += garrRequestItem[ i][ idxResistMax];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldRequestThickMin' + i + '" value="';
        cartTable += garrRequestItem[ i][ idxThickMin];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldRequestThickMax' + i + '" value="';
        cartTable += garrRequestItem[ i][ idxThickMax];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldRequestGrade' + i + '" value="';
        cartTable += garrRequestItem[ i][ idxGrade];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldRequestFlats' + i + '" value="';
        cartTable += garrRequestItem[ i][ idxFlats];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldRequestDescription' + i + '" value="';
        cartTable += escape( garrRequestItem[ i][ idxDescription]);
        cartTable += '">';
      }
    }
  
    if( giCleanRoomItemCount > 0) {
      cartTable += '<input type="hidden" name="fldCleanRoomItemCount" value="';
      cartTable += giCleanRoomItemCount;
      cartTable += '">';
      for( i=0; i < giCleanRoomItemCount; i++) {
        cartTable += '<input type="hidden" name="fldCleanRoomItemId' + i + '" value="';
        cartTable += garrCleanRoomItem[ i][ idxItemId];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCleanRoomQtyOrder' + i + '" value="';
        cartTable += garrCleanRoomItem[ i][ idxQtyOrder];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCleanRoomDescription' + i + '" value="';
        cartTable += escape( garrCleanRoomItem[ i][ idxDescription]);
        cartTable += '">';
      }
    }
  
    if( giCleanRoomRequestItemCount > 0) {
      cartTable += '<input type="hidden" name="fldCleanRoomRequestItemCount" value="';
      cartTable += giCleanRoomRequestItemCount;
      cartTable += '">';
      for( i=0; i < giCleanRoomRequestItemCount; i++) {
        cartTable += '<input type="hidden" name="fldCleanRoomRequestItemId' + i + '" value="';
        cartTable += garrCleanRoomRequestItem[ i][ idxItemId];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCleanRoomRequestQtyOrder' + i + '" value="';
        cartTable += garrCleanRoomRequestItem[ i][ idxQtyOrder];
        cartTable += '">';
        cartTable += '<input type="hidden" name="fldCleanRoomRequestDescription' + i + '" value="';
        cartTable += escape( garrCleanRoomRequestItem[ i][ idxDescription]);
        cartTable += '">';
      }
    }
  
    if( giCartItemCount > 0 || giRequestItemCount > 0) {
      cartTable += '<table class="inventory-table">';
      cartTable += '<tr>';
      cartTable += '<td class="inventory-header-in-cart">Del</td>';
      cartTable += '<td class="inventory-header-item-id">&nbsp;</td>';
      cartTable += '<td class="inventory-header-qty-on-hand">Quantity</td>';
      cartTable += '<td class="inventory-header-diameter">&nbsp;</td>';
      cartTable += '<td class="inventory-header-type">&nbsp;</td>';
      cartTable += '<td class="inventory-header-orientation">&nbsp;</td>';
      cartTable += '<td class="inventory-header-resistivity" colspan="2">Resistivity</td>';
      cartTable += '<td class="inventory-header-thickness" colspan="2">Thickness</td>';
      cartTable += '<td class="inventory-header-grade">&nbsp;</td>';
/*      cartTable += '<td class="inventory-header-flats">&nbsp;</td>';  */
      cartTable += '</tr>';
  
      cartTable += '<tr>';
      cartTable += '<td class="inventory-header-in-cart">Cart</td>';
      cartTable += '<td class="inventory-header-item-id">Item ID</td>';
      cartTable += '<td class="inventory-header-qty-on-hand">Needed</td>';
      cartTable += '<td class="inventory-header-diameter">Diameter</td>';
      cartTable += '<td class="inventory-header-type">Type</td>';
      cartTable += '<td class="inventory-header-orientation">Orientation</td>';
      cartTable += '<td class="inventory-header-resistivity-min">Min.</td>';
      cartTable += '<td class="inventory-header-resistivity-max">Max.</td>';
      cartTable += '<td class="inventory-header-thickness-min">Min.</td>';
      cartTable += '<td class="inventory-header-thickness-max">Max.</td>';
      cartTable += '<td class="inventory-header-grade">Grade</td>'; 
/*      cartTable += '<td class="inventory-header-flats">Flats</td>'; */
      cartTable += '</tr>';
    }
  
    for( i=0; i < giCartItemCount; i++) {
      cartTable += '<tr>';
      cartTable += '<td class="inventory-data"><input type="checkbox" name="waferEntry" onclick="fnRemoveFromCart(\'' + i;
      cartTable += '\');"></td>';
      cartTable += '<td class="inventory-data-item-id">';
      cartTable += garrCartItem[ i][ idxItemId];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-qty-on-hand"><INPUT type="text" MAXLENGTH="10" size="5" name="cartQty" value="';
      cartTable += garrCartItem[ i][ idxQtyOrder];
      cartTable += '" style="text-align: right;"></td>';
      cartTable += '<td class="inventory-data-diameter">';
      cartTable += garrCartItem[ i][ idxDiameter];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-type">';
      cartTable += garrCartItem[ i][ idxType];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-orientation">';
      cartTable += garrCartItem[ i][ idxOrientation];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-resistivity-min">';
      cartTable += garrCartItem[ i][ idxResistMin];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-resistivity-max">';
      cartTable += garrCartItem[ i][ idxResistMax];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-thickness-min">';
      cartTable += garrCartItem[ i][ idxThickMin];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-thickness-max">';
      cartTable += garrCartItem[ i][ idxThickMax];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-grade">';
      cartTable += garrCartItem[ i][ idxGrade];
      cartTable += '</td>';
/*      cartTable += '<td class="inventory-data-flats">';
      cartTable += garrCartItem[ i][ idxFlats];
      cartTable += '</td>'; */
      cartTable += '</tr>';
      cartTable += '<tr>';
      cartTable += '<td class="inventory-data-id-divider2">&nbsp;</td>';
      cartTable += '<td class="inventory-data-id-divider2">&nbsp;</td>';
      cartTable += '<td colspan="10" bgcolor="Silver">';
      cartTable += garrCartItem[ i][ idxDescription];
      cartTable += '</td>';
      cartTable += '</tr>';
    }
  
    for( i=0; i < giRequestItemCount; i++) {
      cartTable += '<tr>';
      cartTable += '<td class="inventory-data"><input type="checkbox" name="waferEntry" onclick="fnRemoveFromRequest(\'' + i;
      cartTable += '\');"></td>';
      cartTable += '<td class="inventory-data-item-id">';
      cartTable += garrRequestItem[ i][ idxItemId];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-qty-on-hand"><INPUT type="text" MAXLENGTH="10" size="5" name="requestQty" value="';
      cartTable += garrRequestItem[ i][ idxQtyOrder];
      cartTable += '" style="text-align: right;"></td>';
      cartTable += '<td class="inventory-data-diameter">';
      cartTable += garrRequestItem[ i][ idxDiameter];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-type">';
      cartTable += garrRequestItem[ i][ idxType];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-orientation">';
      cartTable += garrRequestItem[ i][ idxOrientation];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-resistivity-min">';
      cartTable += garrRequestItem[ i][ idxResistMin];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-resistivity-max">';
      cartTable += garrRequestItem[ i][ idxResistMax];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-thickness-min">';
      cartTable += garrRequestItem[ i][ idxThickMin];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-thickness-max">';
      cartTable += garrRequestItem[ i][ idxThickMax];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-grade">';
      cartTable += garrRequestItem[ i][ idxGrade];
      cartTable += '</td>';
/*      cartTable += '<td class="inventory-data-flats">';
      cartTable += garrRequestItem[ i][ idxFlats];
      cartTable += '</td>'; */
      cartTable += '</tr>';
      cartTable += '<tr>';
      cartTable += '<td class="inventory-data-id-divider2">&nbsp;</td>';
      cartTable += '<td class="inventory-data-id-divider2">&nbsp;</td>';
      cartTable += '<td colspan="10" bgcolor="Silver">';
      cartTable += garrRequestItem[ i][ idxDescription];
      cartTable += '</td>';
      cartTable += '</tr>';
    }
  
    cartTable += '</table>';
  
  
    if( giCleanRoomItemCount > 0 || giCleanRoomRequestItemCount > 0) {
      cartTable += '<br /><table class="inventory-table">';
      cartTable += '<tr>';
      cartTable += '<td class="inventory-header-in-cart">Del</td>';
      cartTable += '<td class="inventory-header-item-id">&nbsp;</td>';
      cartTable += '<td class="inventory-header-qty-on-hand">Quantity</td>';
      cartTable += '<td class="cleanroom-header-description">&nbsp;</td>';
      cartTable += '</tr>';
  
      cartTable += '<tr>';
      cartTable += '<td class="inventory-header-in-cart">Cart</td>';
      cartTable += '<td class="inventory-header-item-id">Item ID</td>';
      cartTable += '<td class="inventory-header-qty-on-hand">Needed</td>';
      cartTable += '<td class="cleanroom-header-description">Description</td>';
      cartTable += '</tr>';
    }
  
    for( i=0; i < giCleanRoomItemCount; i++) {
      cartTable += '<tr>';
      cartTable += '<td class="cleanroom-data"><input type="checkbox" name="waferEntry" onclick="fnRemoveFromCleanRoom(\'' + i;
      cartTable += '\');"></td>';
      cartTable += '<td class="cleanroom-data-item-id">';
      cartTable += garrCleanRoomItem[ i][ idxItemId];
      cartTable += '</td>';
      cartTable += '<td class="cleanroom-data-qty-on-hand"><INPUT type="text" MAXLENGTH="10" size="5" name="cleanroomQty" value="';
      cartTable += garrCleanRoomItem[ i][ idxQtyOrder];
      cartTable += '" style="text-align: right;"></td>';
      cartTable += '<td class="cleanroom-data-description" colspan="10">';
      cartTable += garrCleanRoomItem[ i][ idxDescription];
      cartTable += '</td>';
      cartTable += '</tr>';
    }
  
    for( i=0; i < giCleanRoomRequestItemCount; i++) {
      cartTable += '<tr>';
      cartTable += '<td class="cleanroom-data"><input type="checkbox" name="waferEntry" onclick="fnRemoveFromCleanRoomRequest(\'' + i;
      cartTable += '\');"></td>';
      cartTable += '<td class="cleanroom-data-item-id">';
      cartTable += garrCleanRoomRequestItem[ i][ idxItemId];
      cartTable += '</td>';
      cartTable += '<td class="cleanroom-data-qty-on-hand"><INPUT type="text" MAXLENGTH="10" size="5" name="cleanroomRequestQty" value="';
      cartTable += garrCleanRoomRequestItem[ i][ idxQtyOrder];
      cartTable += '" style="text-align: right;"></td>';
      cartTable += '<td class="cleanroom-data-description" colspan="10">';
      cartTable += garrCleanRoomRequestItem[ i][ idxDescription];
      cartTable += '</td>';
      cartTable += '</tr>';
    }
  
    cartTable += '</table>';
  
    cartTable += '<br />';
  
    if( giCartItemCount > 0 || giRequestItemCount > 0 || giCleanRoomItemCount > 0 || giCleanRoomRequestItemCount > 0) {
      cartTable += '<br /><input type="button" value="Update Quantities" onclick="fnUpdateQtys(this.form);"><br /><br />';
      cartTable += '<p>If there are additional products that you are in need of that we have';
      cartTable += ' not displayed on our site, NOVA may be able to help you find what you are';
      cartTable += ' looking for. Please visit our <a href="request-quote.html">Request a Quote</a>';
      cartTable += ' page to add any additional specialty products or comments to your quote';
      cartTable += ' cart. One of NOVA\'s account specialists will contact you for further';
      cartTable += ' information.<br /><br />';
      cartTable += 'If the items listed above are the only products you need, please complete';
      cartTable += ' the contact information below, click on the <i>Send for Quote</i> button,';
      cartTable += ' and one of NOVA\'s account specialists will contact you.</p>';
      cartTable += '<table border="0" cellspacing="0" cellpadding="0" style="margin-left: 20px; font-size: .8em;">';
      cartTable += '<tr>';
      cartTable += '<td valign=top><br /><b>Contact Information:</b></td>';
      cartTable += '<td valign=top><br />&nbsp;&nbsp;<span class="redasterisk">*</span> Indicates required information.</td>';
      cartTable += '</tr>';
      cartTable += '<tr>';
      cartTable += '<td valign=top colspan="2"><br /></td>';
      cartTable += '</tr>';
      cartTable += '<tr>';
      cartTable += '<td valign="top" align="right">Full Name<span class="redasterisk">*</span>:&nbsp;</td>';
      cartTable += '<td valign="top"><INPUT TYPE="text" size="20" MAXLENGTH="100" NAME="ContactFullName"></td>';
      cartTable += '</tr>';
      cartTable += '<tr>';
      cartTable += '<td valign="top" align="right">Company/Organization<span class="redasterisk">*</span>:&nbsp;</td>';
      cartTable += '<td valign="top"><INPUT TYPE="text" size="20" MAXLENGTH="100" NAME="ContactCompany"></td>';
      cartTable += '</tr>';
      cartTable += '<tr>';
      cartTable += '<td valign="top" align="right">Email address<span class="redasterisk">*</span>:&nbsp;</td>';
      cartTable += '<td valign="top"><INPUT TYPE="text" size="20" MAXLENGTH="100" NAME="ContactEmail"></td>';
      cartTable += '</tr>';
      cartTable += '<tr>';
      cartTable += '<td valign="top" align="right">Telephone<span class="redasterisk">*</span>:&nbsp;</td>';
      cartTable += '<td valign="top"><INPUT TYPE="text" size="20" MAXLENGTH="25" NAME="ContactPhone"></td>';
      cartTable += '</tr>';
      cartTable += '<tr>';
      cartTable += '<td valign="top" align="right">Fax Number:&nbsp;</td>';
      cartTable += '<td valign="top"><INPUT TYPE="text" size="20" MAXLENGTH="25" NAME="ContactFAX"></td>';
      cartTable += '</tr>';
      cartTable += '<tr>';
      cartTable += '<td valign="top" align="right">How did you hear about NOVA:&nbsp;</td>';
      cartTable += '<td valign="top"><INPUT TYPE="text" size="20" MAXLENGTH="150" NAME="ContactFound"></td>';
      cartTable += '</tr>';
      cartTable += '<tr>';
      cartTable += '<td valign="top" colspan="2" align="center"><br /><input type="submit" name="submit" value="Send for Quote"></td>';
      cartTable += '</tr>';
      cartTable += '</table>';
    }
    cartTable += '</form>';
  }

  if( giCartItemCount < 1 && giRequestItemCount < 1 && giCleanRoomItemCount < 1 && giCleanRoomRequestItemCount < 1) {
    cartTable += '<table class="inventory-table">';
    cartTable += '<tr><td colspan="12" style="font-weight: bold; text-align: center;">Your Quote Cart is empty</td></tr>';
    cartTable += '</table>';
  }

  theSpreadsheet.innerHTML = cartTable;
  return;
}

function fnDisplayLineItems() {
  var cartTable = '';

  if (document.getElementById && document.createElement) {
    theSpreadsheet = document.getElementById('itemTable');
  } else {
    alert('Your browser does not support the Quote Cart');
    return;
  }
  fnGetLineItemData();

  if( giLineItemCount > 0) {
    cartTable += '<input type="hidden" name="fldLineItemCount" value="';
    cartTable += giLineItemCount;
    cartTable += '">';
    for( i=0; i < giLineItemCount; i++) {
      cartTable += '<input type="hidden" name="fldLineItemId[]" value="';
      cartTable += garrLineItem[ i][ idxItemId];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldLineItemQtyOrder[]" value="';
      cartTable += garrLineItem[ i][ idxQtyOrder];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldLineItemDiameter[]" value="';
      cartTable += escape( garrLineItem[ i][ idxDiameter]);
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldLineItemType[]" value="';
      cartTable += garrLineItem[ i][ idxType];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldLineItemOrientation[]" value="';
      cartTable += garrLineItem[ i][ idxOrientation];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldLineItemResistMin[]" value="';
      cartTable += garrLineItem[ i][ idxResistMin];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldLineItemResistMax[]" value="';
      cartTable += garrLineItem[ i][ idxResistMax];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldLineItemThickMin[]" value="';
      cartTable += garrLineItem[ i][ idxThickMin];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldLineItemThickMax[]" value="';
      cartTable += garrLineItem[ i][ idxThickMax];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldLineItemGrade[]" value="';
      cartTable += garrLineItem[ i][ idxGrade];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldLineItemFlats[]" value="';
      cartTable += garrLineItem[ i][ idxFlats];
      cartTable += '">';
      cartTable += '<input type="hidden" name="fldLineItemDescription[]" value="';
      cartTable += escape( garrLineItem[ i][ idxDescription]);
      cartTable += '">';
    }
    cartTable += '<table class="inventory-table">';
    cartTable += '<tr>';
    cartTable += '<td class="inventory-header-in-cart">Del</td>';
    cartTable += '<td class="inventory-header-item-id">&nbsp;</td>';
    cartTable += '<td class="inventory-header-qty-on-hand">Quantity</td>';
    cartTable += '<td class="inventory-header-diameter">&nbsp;</td>';
    cartTable += '<td class="inventory-header-type">&nbsp;</td>';
    cartTable += '<td class="inventory-header-orientation">&nbsp;</td>';
    cartTable += '<td class="inventory-header-resistivity" colspan="2">Resistivity</td>';
    cartTable += '<td class="inventory-header-thickness" colspan="2">Thickness</td>';
    cartTable += '<td class="inventory-header-grade">&nbsp;</td>';
    cartTable += '<td class="inventory-header-flats">&nbsp;</td>';
    cartTable += '</tr>';

    cartTable += '<tr>';
    cartTable += '<td class="inventory-header-in-cart">Cart</td>';
    cartTable += '<td class="inventory-header-item-id">Item ID</td>';
    cartTable += '<td class="inventory-header-qty-on-hand">Available</td>';
    cartTable += '<td class="inventory-header-diameter">Diameter</td>';
    cartTable += '<td class="inventory-header-type">Type</td>';
    cartTable += '<td class="inventory-header-orientation">Orientation</td>';
    cartTable += '<td class="inventory-header-resistivity-min">Min.</td>';
    cartTable += '<td class="inventory-header-resistivity-max">Max.</td>';
    cartTable += '<td class="inventory-header-thickness-min">Min.</td>';
    cartTable += '<td class="inventory-header-thickness-max">Max.</td>';
    cartTable += '<td class="inventory-header-grade">Grade</td>';
    cartTable += '<td class="inventory-header-flats">Flats</td>';
    cartTable += '</tr>';
    for( i=0; i < giLineItemCount; i++) {
      cartTable += '<tr>';
      cartTable += '<td class="inventory-data"><input type="checkbox" name="waferEntry" onclick="fnRemoveLineItem(\'' + i;
      cartTable += '\');"></td>';
      cartTable += '<td class="inventory-data-item-id">';
      cartTable += garrLineItem[ i][ idxItemId];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-qty-on-hand"><INPUT type="text" MAXLENGTH="10" size="5" NAME="lineItemQty" value="';
      cartTable += garrLineItem[ i][ idxQtyOrder];
      cartTable += '" style="text-align: right;"></td>';
      cartTable += '<td class="inventory-data-diameter">';
      cartTable += garrLineItem[ i][ idxDiameter];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-type">';
      cartTable += garrLineItem[ i][ idxType];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-orientation">';
      cartTable += garrLineItem[ i][ idxOrientation];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-resistivity-min">';
      cartTable += garrLineItem[ i][ idxResistMin];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-resistivity-max">';
      cartTable += garrLineItem[ i][ idxResistMax];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-thickness-min">';
      cartTable += garrLineItem[ i][ idxThickMin];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-thickness-max">';
      cartTable += garrLineItem[ i][ idxThickMax];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-grade">';
      cartTable += garrLineItem[ i][ idxGrade];
      cartTable += '</td>';
      cartTable += '<td class="inventory-data-flats">';
      cartTable += garrLineItem[ i][ idxFlats];
      cartTable += '</td>';
      cartTable += '</tr>';
      cartTable += '<tr>';
      cartTable += '<td class="inventory-data-id-divider2">&nbsp;</td>';
      cartTable += '<td class="inventory-data-id-divider2">&nbsp;</td>';
      cartTable += '<td colspan="10" bgcolor="Silver">';
      cartTable += garrLineItem[ i][ idxDescription];
      cartTable += '</td>';
      cartTable += '</tr>';
    }

    cartTable += '</table>';

    cartTable += '<br /><input type="button" value="Update Quantities" onclick="fnUpdateLineItemQtys(this.form);">';

    theSpreadsheet.innerHTML = cartTable;
  }
}

function fnCheckLineItem( myForm) {
  var strItemData = null;
  var strLineItemIndexes = null;
  var futuredate = new Date();
  var expdate = futuredate.getTime();

  var message = null;
  var strAddedItems = null;
  var iDiameterLen = 0;
  var iTypeLen = 0;
  var iOrientationLen = 0;
  var iResistanceLen = 0;
  var iThicknessLen = 0;
  var iGradeLen = 0;
  var iQtyLen = 0;
  var iDescriptionLen = 0;

  if( myForm.fldLineItemDiameter) {
    strDiameter = myForm.fldLineItemDiameter.value;
  }
  if( myForm.fldLineItemType) {
    strType = myForm.fldLineItemType.value;
  }
  if( myForm.fldLineItemOrientation) {
    strOrientation = myForm.fldLineItemOrientation.value;
  }
  if( myForm.fldLineItemResistance) {
    strResistance = myForm.fldLineItemResistance.value;
  }
  if( myForm.fldLineItemThickness) {
    strThickness = myForm.fldLineItemThickness.value;
  }
  var strGrade = '';

  if( myForm.fldLineItemGradePrime) {
    if( myForm.fldLineItemGradePrime.checked) {
      strGrade = "Prime";
      if( myForm.fldLineItemGradeTest.checked) {
        strGrade += " Test";
      }
      if( myForm.fldLineItemGradeRejects.checked) {
        strGrade += " Rejects";
      }
    } else {
      if( myForm.fldLineItemGradeTest.checked) {
        strGrade = "Test";
        if( myForm.fldLineItemGradeRejects.checked) {
          strGrade += " Rejects";
        }
      } else {
        if( myForm.fldLineItemGradeRejects.checked) {
          strGrade = "Rejects";
        }
      }
    }
  }

  if( myForm.fldLineItemQty) {
    if( myForm.fldLineItemQty.value) {
      iQty = myForm.fldLineItemQty.value;
    } else {
      iQty = 1;
    }
  }

  if( myForm.fldLineItemDescription) {
    strDescription = myForm.fldLineItemDescription.value;
  }

  iDiameterLen = strDiameter.length;
  iTypeLen = strType.length;
  iOrientationLen = strOrientation.length;
  iResistanceLen = strResistance.length;
  iThicknessLen = strThickness.length;
  iGradeLen = strGrade.length;
  iDescriptionLen = strDescription.length;

  if( iDiameterLen < 1 && iTypeLen < 1 && iOrientationLen < 1 && iResistanceLen < 1 && iThicknessLen < 1 && iDescriptionLen < 1) {
      return false;
  }
  return true;
}

function fnAddLineItem( myForm, bRefresh) {
  var strItemData = null;
  var strLineItemIndexes = null;
  var futuredate = new Date();
  var expdate = futuredate.getTime();

  var message = null;
  var strAddedItems = null;
  var iDiameterLen = 0;
  var iTypeLen = 0;
  var iOrientationLen = 0;
  var iResistanceLen = 0;
  var iThicknessLen = 0;
  var iGradeLen = 0;
  var iQtyLen = 0;
  var iDescriptionLen = 0;

  if( myForm.fldLineItemDiameter) {
    strDiameter = myForm.fldLineItemDiameter.value;
  }
  if( myForm.fldLineItemType) {
    strType = myForm.fldLineItemType.value;
  }
  if( myForm.fldLineItemOrientation) {
    strOrientation = myForm.fldLineItemOrientation.value;
  }
  if( myForm.fldLineItemResistance) {
    strResistance = myForm.fldLineItemResistance.value;
  }
  if( myForm.fldLineItemThickness) {
    strThickness = myForm.fldLineItemThickness.value;
  }

  var strGrade = '';

  if( myForm.fldLineItemGradePrime) {
    if( myForm.fldLineItemGradePrime.checked) {
      strGrade = "Prime";
      if( myForm.fldLineItemGradeTest.checked) {
        strGrade += " Test";
      }
      if( myForm.fldLineItemGradeRejects.checked) {
        strGrade += " Rejects";
      }
    } else {
      if( myForm.fldLineItemGradeTest.checked) {
        strGrade = "Test";
        if( myForm.fldLineItemGradeRejects.checked) {
          strGrade += " Rejects";
        }
      } else {
        if( myForm.fldLineItemGradeRejects.checked) {
          strGrade = "Rejects";
        }
      }
    }
  }

  if( myForm.fldLineItemQty) {
    if( myForm.fldLineItemQty.value) {
      var iQty = myForm.fldLineItemQty.value;
    } else {
      var iQty = 1;
    }
  }

  if( myForm.fldLineItemDescription) {
    strDescription = myForm.fldLineItemDescription.value;
  }

  iDiameterLen = strDiameter.length;
  iTypeLen = strType.length;
  iOrientationLen = strOrientation.length;
  iResistanceLen = strResistance.length;
  iThicknessLen = strThickness.length;
  iGradeLen = strGrade.length;
  iDescriptionLen = strDescription.length;

  if( iDiameterLen < 1 && iTypeLen < 1 && iOrientationLen < 1 && iResistanceLen < 1 && iThicknessLen < 1 && iDescriptionLen < 1) {
    message = 'Please provide one of the following items of information: ';
    if( iDiameterLen < 1) {
      message += '\n\tDiameter';
    }
    if( iTypeLen < 1) {
      message += '\n\tType';
    }
    if( iOrientationLen < 1) {
      message += '\n\tOrientation';
    }
    if( iResistanceLen < 1) {
      message += '\n\tMinimum Resistance';
    }
    if( iThicknessLen < 1) {
      message += '\n\tMinimum Thickness';
    }
    if( iQtyLen < 1) {
      message += '\n\tQuantity';
    }
    if( iDescriptionLen < 1) {
      message += '\n\tDescription';
    }
  
    if(message) {
      alert(message);
      return false;
    }
  }

  fnGetLineItemData();

  expdate += 24*3600*1000; //expires in 24 hours(milliseconds) 
  futuredate.setTime(expdate);

  strItemData = "Line Item";
  strItemData += "|" + strDescription;
  strItemData += "|" + "0";
  strItemData += "|" + strDiameter;
  strItemData += "|" + strType;
  strItemData += "|" + strOrientation;
  strItemData += "|" + strResistance;
  strItemData += "|";
  strItemData += "|" + strThickness;
  strItemData += "|";
  strItemData += "|" + strGrade;
  strItemData += "|";
  strItemData += "|";
  strItemData += "|" + iQty;
  i = giLineItemCount;

  setCookie("line_" + i, strItemData, futuredate, "/");

  garrLineItemIndex[ giLineItemCount] = i;
  
  giLineItemCount++;
  for( i=0; i < giLineItemCount; i++) {
    if( i < 1) {
      strLineItemIndexes = garrLineItemIndex[ i];
    } else {
      strLineItemIndexes += "|" + garrLineItemIndex[ i];
    }
  }

  setCookie( "lineidx", strLineItemIndexes, futuredate, "/");
  setCookie( "linecnt", giLineItemCount, futuredate, "/");

  fnDisplayLineItems();
  
  if( bRefresh) {
    location.reload(true);
  }
  return true;
}

function fnCheckRequest( myForm) {
  var strItemData = null;
  var strRequestIndexes = null;
  var futuredate = new Date();
  var expdate = futuredate.getTime();

  var message = null;
  var strAddedItems = null;
  var strDiameter = '';
  var strType = '';
  var strOrientation = '';
  var strResistance = '';
  var strThickness = '';
  var strGrade = '';
  var strDescription = '';


  var iDiameterLen = 0;
  var iTypeLen = 0;
  var iOrientationLen = 0;
  var iResistanceLen = 0;
  var iThicknessLen = 0;
  var iGradeLen = 0;
  var iQtyLen = 0;
  var iDescriptionLen = 0;

  var strDiameter = myForm.fldQuoteDiameter.value;
  var strType = myForm.fldQuoteType.value;
  var strOrientation = myForm.fldQuoteOrientation.value;
  var strResistance = myForm.fldQuoteResistance.value;
  var strThickness = myForm.fldQuoteThickness.value;
  var strGrade = '';

  if( myForm.fldQuoteGradePrime.checked) {
    strGrade = "Prime";
    if( myForm.fldQuoteGradeTest.checked) {
      strGrade += " Test";
    }
  } else {
    if( myForm.fldQuoteGradeTest.checked) {
      strGrade = "Test";
    }
  }

  var strDescription = myForm.fldQuoteDescription.value;

  iDiameterLen = strDiameter.length;
  iTypeLen = strType.length;
  iOrientationLen = strOrientation.length;
  iResistanceLen = strResistance.length;
  iThicknessLen = strThickness.length;
  iGradeLen = strGrade.length;
  iDescriptionLen = strDescription.length;

  if( iDiameterLen < 1 && iTypeLen < 1 && iOrientationLen < 1 && iResistanceLen < 1 && iThicknessLen < 1 && iDescriptionLen < 1) {
    return false;
  }
  return true;
}

function fnAddToRequest( myForm, bRefresh) {
  var strItemData = null;
  var strRequestIndexes = null;
  var sURL = null;
  var futuredate = new Date();
  var expdate = futuredate.getTime();

  var message = null;
  var strAddedItems = null;
  var iDiameterLen = 0;
  var iTypeLen = 0;
  var iOrientationLen = 0;
  var iResistanceLen = 0;
  var iThicknessLen = 0;
  var iGradeLen = 0;
  var iQtyLen = 0;
  var iDescriptionLen = 0;

  if( myForm.fldQuoteCleanRoom.checked) {
    return fnAddCleanRoomRequestToCart( myForm, bRefresh);
  }

  var strDiameter = myForm.fldQuoteDiameter.value;
  var strType = myForm.fldQuoteType.value;
  var strOrientation = myForm.fldQuoteOrientation.value;
  var strResistance = myForm.fldQuoteResistance.value;
  var strThickness = myForm.fldQuoteThickness.value;
  var strGrade = '';

  if( myForm.fldQuoteGradePrime.checked) {
    strGrade = "Prime";
    if( myForm.fldQuoteGradeTest.checked) {
      strGrade += " Test";
    }
  } else {
    if( myForm.fldQuoteGradeTest.checked) {
      strGrade = "Test";
    }
  }
  if( myForm.fldQuoteQty.value) {
    var iQty = myForm.fldQuoteQty.value;
  } else {
    var iQty = 1;
  }
  var strDescription = myForm.fldQuoteDescription.value;

  iDiameterLen = strDiameter.length;
  iTypeLen = strType.length;
  iOrientationLen = strOrientation.length;
  iResistanceLen = strResistance.length;
  iThicknessLen = strThickness.length;
  iGradeLen = strGrade.length;
  iDescriptionLen = strDescription.length;

  if( iDiameterLen < 1 && iTypeLen < 1 && iOrientationLen < 1 && iResistanceLen < 1 && iThicknessLen < 1 && iDescriptionLen < 1) {
    message = 'Please provide one of the following items of information: ';
    if( iDiameterLen < 1) {
      message += '\n\tDiameter';
    }
    if( iTypeLen < 1) {
      message += '\n\tType';
    }
    if( iOrientationLen < 1) {
      message += '\n\tOrientation';
    }
    if( iResistanceLen < 1) {
      message += '\n\tMinimum Resistance';
    }
    if( iThicknessLen < 1) {
      message += '\n\tMinimum Thickness';
    }
    if( iQtyLen < 1) {
      message += '\n\tQuantity';
    }
    if( iDescriptionLen < 1) {
      message += '\n\tDescription';
    }
  
    if(message) {
      alert(message);
      return false;
    }
  }

  fnGetCartData();
  expdate += 24*3600*1000; //expires in 24 hours(milliseconds) 
  futuredate.setTime(expdate);

  strItemData = "QuoteRequest";
  strItemData += "|" + strDescription;
  strItemData += "|" + "0";
  strItemData += "|" + strDiameter;
  strItemData += "|" + strType;
  strItemData += "|" + strOrientation;
  strItemData += "|" + strResistance;
  strItemData += "|";
  strItemData += "|" + strThickness;
  strItemData += "|";
  strItemData += "|" + strGrade;
  strItemData += "|";
  strItemData += "|";
  strItemData += "|" + iQty;
  i = giRequestItemCount + iTotalInventoryCount;

  setCookie("item_" + i, strItemData, futuredate, "/");

  garrRequestIndex[ giRequestItemCount] = i;
  
  giRequestItemCount++;
  for( i=0; i < giRequestItemCount; i++) {
    if( i < 1) {
      strRequestIndexes = garrRequestIndex[ i];
    } else {
      strRequestIndexes += "|" + garrRequestIndex[ i];
    }
  }

  setCookie( "reqidx", strRequestIndexes, futuredate, "/");
  setCookie( "reqcnt", giRequestItemCount, futuredate, "/");

  fnDisplayRequestAQuoteCart();
  
  if( bRefresh) {
    location.reload(true);
/*
  } else {
    sURL = unescape(window.location.pathname);
    window.location.href = sURL;
*/
  }

  return true;
}

function fnAddToCart( waferEntryIdx) {
  var strItemData = null;
  var strCartIndexes = null;
  var iNewCartItemCount = 0;
  var iAddIndex = 0;
  var futuredate = new Date();
  var expdate = futuredate.getTime();

  expdate += 24*3600*1000; //expires in 24 hours(milliseconds) 
  futuredate.setTime(expdate);

  fnGetCartData();

  if( document.formInv.waferEntry[ waferEntryIdx].checked) {
    i = document.formInv.waferEntry[ waferEntryIdx].value;
    strItemData = arrInventory[ i][idxItemId];
    strItemData += "|" + arrInventory[ i][idxDescription];
    strItemData += "|" + arrInventory[ i][idxQtyOnHand];
    strItemData += "|" + arrInventory[ i][idxDiameter];
    strItemData += "|" + arrInventory[ i][idxType];
    strItemData += "|" + arrInventory[ i][idxOrientation];
    strItemData += "|" + arrInventory[ i][idxResistMin];
    strItemData += "|" + arrInventory[ i][idxResistMax];
    strItemData += "|" + arrInventory[ i][idxThickMin];
    strItemData += "|" + arrInventory[ i][idxThickMax];
    strItemData += "|" + arrInventory[ i][idxGrade];
    strItemData += "|" + arrInventory[ i][idxFlats];
    strItemData += "|" + arrInventory[ i][idxCategory];
    strItemData += "|" + "1";
    setCookie("item_" + i, strItemData, futuredate, "/");
    garrCartIndex[ giCartItemCount] = i;
    giCartItemCount++;
  } else {
    iAddIndex = document.formInv.waferEntry[ waferEntryIdx].value;
    for( i=0; i < giCartItemCount; i++) {
      if( garrCartIndex[ i] == iAddIndex) {
        deleteCookie("item_" + garrCartIndex[ i], "/");
        garrCartIndex[ i] = -1;
      }
    }
  }

  for( i=0; i < giCartItemCount; i++) {
    if( garrCartIndex[ i] > -1) {
      if( iNewCartItemCount < 1) {
        strCartIndexes = garrCartIndex[ i];
      } else {
        strCartIndexes += "|" + garrCartIndex[ i];
      }
      iNewCartItemCount++;
    }
  }
  giCartItemCount = iNewCartItemCount;

  if( giCartItemCount) {
    setCookie("count", giCartItemCount, futuredate, "/");
    setCookie( "idx", strCartIndexes, futuredate, "/");
  } else {
    deleteCookie("count", "/");
    deleteCookie( "idx", "/");
  }
}

function fnAddCleanRoomRequestToCart( myForm, bRefresh) {
  var strItemData = null;
  var strRequestIndexes = null;
  var sURL = null;
  var futuredate = new Date();
  var expdate = futuredate.getTime();

  var message = null;
  var strAddedItems = null;
  var iQtyLen = 0;
  var iDescriptionLen = 0;

  if( myForm.fldQuoteQty.value) {
    var iQty = myForm.fldQuoteQty.value;
  } else {
    var iQty = 1;
  }
  var strDescription = myForm.fldQuoteDescription.value;

  iDescriptionLen = strDescription.length;

  if( iDescriptionLen < 1) {
    message = 'Please provide one of the following items of information: ';
    if( iDescriptionLen < 1) {
      message += '\n\tDescription';
    }
  
    if(message) {
      alert(message);
      return false;
    }
  }

  fnGetCleanRoomData();
  expdate += 24*3600*1000; //expires in 24 hours(milliseconds) 
  futuredate.setTime(expdate);

  strItemData = "QuoteRequest";
  strItemData += "|" + strDescription;
  strItemData += "|" + "0";
  strItemData += "|";
  strItemData += "|";
  strItemData += "|";
  strItemData += "|";
  strItemData += "|";
  strItemData += "|";
  strItemData += "|";
  strItemData += "|";
  strItemData += "|";
  strItemData += "|";
  strItemData += "|" + iQty;
  i = giCleanRoomRequestItemCount + iTotalInvCleanRoomCount;

  setCookie("critem_" + i, strItemData, futuredate, "/");

  garrCleanRoomRequestIndex[ giCleanRoomRequestItemCount] = i;
  
  giCleanRoomRequestItemCount++;
  for( i=0; i < giCleanRoomRequestItemCount; i++) {
    if( i < 1) {
      strRequestIndexes = garrCleanRoomRequestIndex[ i];
    } else {
      strRequestIndexes += "|" + garrCleanRoomRequestIndex[ i];
    }
  }

  setCookie( "crreqidx", strRequestIndexes, futuredate, "/");
  setCookie( "crreqcnt", giCleanRoomRequestItemCount, futuredate, "/");

  fnDisplayRequestAQuoteCart();
  
  if( bRefresh) {
    location.reload(true);
/*
  } else {
    sURL = unescape(window.location.pathname);
    window.location.href = sURL;
*/
  }

  return true;
}

function fnAddCleanRoomToCart( waferEntryIdx) {
  var strItemData = null;
  var strCleanRoomIndexes = null;
  var iNewCleanRoomItemCount = 0;
  var iAddIndex = 0;
  var futuredate = new Date();
  var expdate = futuredate.getTime();

  expdate += 24*3600*1000; //expires in 24 hours(milliseconds) 
  futuredate.setTime(expdate);

  fnGetCleanRoomData();

  if( document.formInv.waferEntry[ waferEntryIdx].checked) {
    i = document.formInv.waferEntry[ waferEntryIdx].value;
    strItemData = arrInvCleanRoom[ i][idxItemId];
    strItemData += "|" + arrInvCleanRoom[ i][idxDescription];
    strItemData += "|" + arrInvCleanRoom[ i][idxQtyOnHand];
    strItemData += "|" + arrInvCleanRoom[ i][idxDiameter];
    strItemData += "|" + arrInvCleanRoom[ i][idxType];
    strItemData += "|" + arrInvCleanRoom[ i][idxOrientation];
    strItemData += "|" + arrInvCleanRoom[ i][idxResistMin];
    strItemData += "|" + arrInvCleanRoom[ i][idxResistMax];
    strItemData += "|" + arrInvCleanRoom[ i][idxThickMin];
    strItemData += "|" + arrInvCleanRoom[ i][idxThickMax];
    strItemData += "|" + arrInvCleanRoom[ i][idxGrade];
    strItemData += "|" + arrInvCleanRoom[ i][idxFlats];
    strItemData += "|" + arrInvCleanRoom[ i][idxCategory];
    strItemData += "|" + "1";
    setCookie("critem_" + i, strItemData, futuredate, "/");
    garrCleanRoomIndex[ giCleanRoomItemCount] = i;
    giCleanRoomItemCount++;
  } else {
    iAddIndex = document.formInv.waferEntry[ waferEntryIdx].value;
    for( i=0; i < giCleanRoomItemCount; i++) {
      if( garrCleanRoomIndex[ i] == iAddIndex) {
        deleteCookie("critem_" + garrCleanRoomIndex[ i], "/");
        garrCleanRoomIndex[ i] = -1;
      }
    }
  }

  for( i=0; i < giCleanRoomItemCount; i++) {
    if( garrCleanRoomIndex[ i] > -1) {
      if( iNewCleanRoomItemCount < 1) {
        strCleanRoomIndexes = garrCleanRoomIndex[ i];
      } else {
        strCleanRoomIndexes += "|" + garrCleanRoomIndex[ i];
      }
      iNewCleanRoomItemCount++;
    }
  }
  giCleanRoomItemCount = iNewCleanRoomItemCount;

  if( giCleanRoomItemCount) {
    setCookie("crcount", giCleanRoomItemCount, futuredate, "/");
    setCookie( "cridx", strCleanRoomIndexes, futuredate, "/");
  } else {
    deleteCookie("crcount", "/");
    deleteCookie( "cridx", "/");
  }
}

function fnRemoveLineItem( iLineItemIndex) {
  var futuredate = new Date();
  var expdate = futuredate.getTime();
  var iNewLineItemItemCount = 0;
  var strProductIndex = null;

  expdate += 24*3600*1000; //expires in 24 hours(milliseconds) 
  futuredate.setTime(expdate);

  fnGetLineItemData();

  deleteCookie("line_" + garrLineItemIndex[ iLineItemIndex], "/");
  garrLineItemIndex[ iLineItemIndex] = -1;

  for( i=0; i < giLineItemCount; i++) {
    if( garrLineItemIndex[ i] > -1) {
      if( iNewLineItemItemCount < 1) {
        strProductIndex = garrLineItemIndex[ i];
      } else {
        strProductIndex += "|" + garrLineItemIndex[ i];
      }
      iNewLineItemItemCount++;
    }
  }

  giLineItemCount = iNewLineItemItemCount;
  if( giLineItemCount) {
    setCookie( "linecnt", giLineItemCount, futuredate, "/");
    setCookie( "lineidx", strProductIndex, futuredate, "/");
  } else {
    deleteCookie( "linecnt", "/");
    deleteCookie( "lineidx", "/");
  }

  if( giLineItemCount) {
    location.reload(true);
  } else {
    sURL = unescape(document.referrer);
    window.location.href = sURL;
  }
}

function fnRemoveFromRequest( iRequestIndex) {
  var futuredate = new Date();
  var expdate = futuredate.getTime();
  var iNewRequestItemCount = 0;
  var strProductIndex = null;

  expdate += 24*3600*1000; //expires in 24 hours(milliseconds) 
  futuredate.setTime(expdate);

  fnGetCartData();
  fnGetCleanRoomData();

  deleteCookie("item_" + garrRequestIndex[ iRequestIndex], "/");
  garrRequestIndex[ iRequestIndex] = -1;

  for( i=0; i < giRequestItemCount; i++) {
    if( garrRequestIndex[ i] > -1) {
      if( iNewRequestItemCount < 1) {
        strProductIndex = garrRequestIndex[ i];
      } else {
        strProductIndex += "|" + garrRequestIndex[ i];
      }
      iNewRequestItemCount++;
    }
  }

  giRequestItemCount = iNewRequestItemCount;
  if( giRequestItemCount) {
    setCookie( "reqcnt", giRequestItemCount, futuredate, "/");
    setCookie( "reqidx", strProductIndex, futuredate, "/");
  } else {
    deleteCookie( "reqcnt", "/");
    deleteCookie( "reqidx", "/");
  }

  if( giCartItemCount < 1 && giRequestItemCount < 1 && giCleanRoomItemCount < 1 && giCleanRoomRequestItemCount < 1) {
    sURL = unescape(document.referrer);
    window.location.href = sURL;
    return;
  }
  location.reload(true);
}

function fnRemoveFromCleanRoom( iCleanRoomIndex) {
  var futuredate = new Date();
  var expdate = futuredate.getTime();
  var iNewCleanRoomItemCount = 0;
  var strProductIndex = null;

  expdate += 24*3600*1000; //expires in 24 hours(milliseconds) 
  futuredate.setTime(expdate);

  fnGetCartData();
  fnGetCleanRoomData();

  deleteCookie("critem_" + garrCleanRoomIndex[ iCleanRoomIndex], "/");
  garrCleanRoomIndex[ iCleanRoomIndex] = -1;

  for( i=0; i < giCleanRoomItemCount; i++) {
    if( garrCleanRoomIndex[ i] > -1) {
      if( iNewCleanRoomItemCount < 1) {
        strProductIndex = garrCleanRoomIndex[ i];
      } else {
        strProductIndex += "|" + garrCleanRoomIndex[ i];
      }
      iNewCleanRoomItemCount++;
    }
  }

  giCleanRoomItemCount = iNewCleanRoomItemCount;
  if( giCleanRoomItemCount) {
    setCookie("crcount", giCleanRoomItemCount, futuredate, "/");
    setCookie( "cridx", strProductIndex, futuredate, "/");
  } else {
    deleteCookie("crcount", "/");
    deleteCookie( "cridx", "/");
  }

  if( giCartItemCount < 1 && giRequestItemCount < 1 && giCleanRoomItemCount < 1 && giCleanRoomRequestItemCount < 1) {
    sURL = unescape(document.referrer);
    window.location.href = sURL;
    return;
  }
  location.reload(true);
}

function fnRemoveFromCleanRoomRequest( iCleanRoomIndex) {
  var futuredate = new Date();
  var expdate = futuredate.getTime();
  var iNewCleanRoomItemCount = 0;
  var strProductIndex = null;

  expdate += 24*3600*1000; //expires in 24 hours(milliseconds) 
  futuredate.setTime(expdate);

  fnGetCartData();
  fnGetCleanRoomData();

  deleteCookie("critem_" + garrCleanRoomRequestIndex[ iCleanRoomIndex], "/");
  garrCleanRoomRequestIndex[ iCleanRoomIndex] = -1;

  for( i=0; i < giCleanRoomRequestItemCount; i++) {
    if( garrCleanRoomRequestIndex[ i] > -1) {
      if( iNewCleanRoomItemCount < 1) {
        strProductIndex = garrCleanRoomRequestIndex[ i];
      } else {
        strProductIndex += "|" + garrCleanRoomRequestIndex[ i];
      }
      iNewCleanRoomItemCount++;
    }
  }

  giCleanRoomRequestItemCount = iNewCleanRoomItemCount;
  if( giCleanRoomRequestItemCount) {
    setCookie("crreqcnt", giCleanRoomRequestItemCount, futuredate, "/");
    setCookie( "crreqidx", strProductIndex, futuredate, "/");
  } else {
    deleteCookie("crreqcnt", "/");
    deleteCookie( "crreqidx", "/");
  }

  if( giCartItemCount < 1 && giRequestItemCount < 1 && giCleanRoomItemCount < 1 && giCleanRoomRequestItemCount < 1) {
    sURL = unescape(document.referrer);
    window.location.href = sURL;
    return;
  }
  location.reload(true);
}

function fnRemoveFromCart( iCartIndex) {
  var futuredate = new Date();
  var expdate = futuredate.getTime();
  var iNewCartItemCount = 0;
  var strProductIndex = null;

  expdate += 24*3600*1000; //expires in 24 hours(milliseconds) 
  futuredate.setTime(expdate);

  fnGetCartData();
  fnGetCleanRoomData();

  deleteCookie("item_" + garrCartIndex[ iCartIndex], "/");
  garrCartIndex[ iCartIndex] = -1;

  for( i=0; i < giCartItemCount; i++) {
    if( garrCartIndex[ i] > -1) {
      if( iNewCartItemCount < 1) {
        strProductIndex = garrCartIndex[ i];
      } else {
        strProductIndex += "|" + garrCartIndex[ i];
      }
      iNewCartItemCount++;
    }
  }

  giCartItemCount = iNewCartItemCount;
  if( giCartItemCount) {
    setCookie("count", giCartItemCount, futuredate, "/");
    setCookie( "idx", strProductIndex, futuredate, "/");
  } else {
    deleteCookie("count", "/");
    deleteCookie( "idx", "/");
  }

  if( giCartItemCount < 1 && giRequestItemCount < 1 && giCleanRoomItemCount < 1 && giCleanRoomRequestItemCount < 1) {
    sURL = unescape(document.referrer);
    window.location.href = sURL;
    return;
  }
  location.reload(true);
}

function fnUpdateLineItemQtys( formPurchasing) {
  var futuredate = new Date();
  var expdate = futuredate.getTime();
  var iNewCartItemCount = 0;
  var iQuantity = 0;
  var strItemData = null;

  expdate += 24*3600*1000; //expires in 24 hours(milliseconds) 
  futuredate.setTime(expdate);

  fnGetLineItemData();

  for( i=0; i < giLineItemCount; i++) {
    if(formPurchasing.cartQty.length) {
      iQuantity = formPurchasing.lineItemQty[ i].value;
    } else {
      iQuantity = formPurchasing.lineItemQty.value;
    }
    if( iQuantity > 0) {
      garrLineItem[ i][ idxQtyOrder] = iQuantity;
      strItemData = garrLineItem[ i][ idxItemId];
      strItemData += "|" + garrLineItem[ i][ idxDescription];
      strItemData += "|" + garrLineItem[ i][ idxQtyOnHand];
      strItemData += "|" + garrLineItem[ i][ idxDiameter];
      strItemData += "|" + garrLineItem[ i][ idxType];
      strItemData += "|" + garrLineItem[ i][ idxOrientation];
      strItemData += "|" + garrLineItem[ i][ idxResistMin];
      strItemData += "|" + garrLineItem[ i][ idxResistMax];
      strItemData += "|" + garrLineItem[ i][ idxThickMin];
      strItemData += "|" + garrLineItem[ i][ idxThickMax];
      strItemData += "|" + garrLineItem[ i][ idxGrade];
      strItemData += "|" + garrLineItem[ i][ idxFlats];
      strItemData += "|" + garrLineItem[ i][ idxCategory];
      strItemData += "|" + garrLineItem[ i][ idxQtyOrder];
      setCookie("line_" + garrLineItemIndex[ i], strItemData, futuredate, "/");
    } else {
      alert("Invalid Quantity Entered");
    }
  }

  location.reload(true);
}

function fnUpdateQtys( formCart) {
  var futuredate = new Date();
  var expdate = futuredate.getTime();
  var iNewCartItemCount = 0;
  var iQuantity = 0;
  var strItemData = null;

  expdate += 24*3600*1000; //expires in 24 hours(milliseconds) 
  futuredate.setTime(expdate);

  fnGetCartData();
  fnGetCleanRoomData();

  for( i=0; i < giCartItemCount; i++) {
    if(formCart.cartQty.length) {
      fldQty = formCart.cartQty[ i];
    } else {
      fldQty = formCart.cartQty;
    }
    if(fldQty) {
      iQuantity = fldQty.value;
      if( iQuantity > 0) {
        garrCartItem[ i][ idxQtyOrder] = iQuantity;
        strItemData = garrCartItem[ i][ idxItemId];
        strItemData += "|" + garrCartItem[ i][ idxDescription];
        strItemData += "|" + garrCartItem[ i][ idxQtyOnHand];
        strItemData += "|" + garrCartItem[ i][ idxDiameter];
        strItemData += "|" + garrCartItem[ i][ idxType];
        strItemData += "|" + garrCartItem[ i][ idxOrientation];
        strItemData += "|" + garrCartItem[ i][ idxResistMin];
        strItemData += "|" + garrCartItem[ i][ idxResistMax];
        strItemData += "|" + garrCartItem[ i][ idxThickMin];
        strItemData += "|" + garrCartItem[ i][ idxThickMax];
        strItemData += "|" + garrCartItem[ i][ idxGrade];
        strItemData += "|" + garrCartItem[ i][ idxFlats];
        strItemData += "|" + garrCartItem[ i][ idxCategory];
        strItemData += "|" + garrCartItem[ i][ idxQtyOrder];
        setCookie("item_" + garrCartIndex[ i], strItemData, futuredate, "/");
      } else {
        alert("Invalid Quantity Entered");
        fldQty.focus();
        return;
      }
    }
  }

  for( i=0; i < giRequestItemCount; i++) {
    if(formCart.requestQty.length) {
      fldQty = formCart.requestQty[ i];
    } else {
      fldQty = formCart.requestQty;
    }
    if(fldQty) {
      iQuantity = fldQty.value;
      if( iQuantity > 0) {
        garrRequestItem[ i][ idxQtyOrder] = iQuantity;
        strItemData = garrRequestItem[ i][ idxItemId];
        strItemData += "|" + garrRequestItem[ i][ idxDescription];
        strItemData += "|" + garrRequestItem[ i][ idxQtyOnHand];
        strItemData += "|" + garrRequestItem[ i][ idxDiameter];
        strItemData += "|" + garrRequestItem[ i][ idxType];
        strItemData += "|" + garrRequestItem[ i][ idxOrientation];
        strItemData += "|" + garrRequestItem[ i][ idxResistMin];
        strItemData += "|" + garrRequestItem[ i][ idxResistMax];
        strItemData += "|" + garrRequestItem[ i][ idxThickMin];
        strItemData += "|" + garrRequestItem[ i][ idxThickMax];
        strItemData += "|" + garrRequestItem[ i][ idxGrade];
        strItemData += "|" + garrRequestItem[ i][ idxFlats];
        strItemData += "|" + garrRequestItem[ i][ idxCategory];
        strItemData += "|" + garrRequestItem[ i][ idxQtyOrder];
        setCookie("item_" + garrRequestIndex[ i], strItemData, futuredate, "/");
      } else {
        alert("Invalid Quantity Entered");
        fldQty.focus();
        return;
      }
    }
  }

  for( i=0; i < giCleanRoomItemCount; i++) {
    if(formCart.cleanroomQty.length) {
      fldQty = formCart.cleanroomQty[ i];
    } else {
      fldQty = formCart.cleanroomQty;
    }
    if(fldQty) {
      iQuantity = fldQty.value;
      if( iQuantity > 0) {
        garrCleanRoomItem[ i][ idxQtyOrder] = iQuantity;
        strItemData = garrCleanRoomItem[ i][ idxItemId];
        strItemData += "|" + garrCleanRoomItem[ i][ idxDescription];
        strItemData += "|" + garrCleanRoomItem[ i][ idxQtyOnHand];
        strItemData += "|" + garrCleanRoomItem[ i][ idxDiameter];
        strItemData += "|" + garrCleanRoomItem[ i][ idxType];
        strItemData += "|" + garrCleanRoomItem[ i][ idxOrientation];
        strItemData += "|" + garrCleanRoomItem[ i][ idxResistMin];
        strItemData += "|" + garrCleanRoomItem[ i][ idxResistMax];
        strItemData += "|" + garrCleanRoomItem[ i][ idxThickMin];
        strItemData += "|" + garrCleanRoomItem[ i][ idxThickMax];
        strItemData += "|" + garrCleanRoomItem[ i][ idxGrade];
        strItemData += "|" + garrCleanRoomItem[ i][ idxFlats];
        strItemData += "|" + garrCleanRoomItem[ i][ idxCategory];
        strItemData += "|" + garrCleanRoomItem[ i][ idxQtyOrder];
        setCookie("critem_" + garrCleanRoomIndex[ i], strItemData, futuredate, "/");
      } else {
        alert("Invalid Quantity Entered");
        fldQty.focus();
        return;
      }
    }
  }

  for( i=0; i < giCleanRoomRequestItemCount; i++) {
    if(formCart.cleanroomRequestQty.length) {
      fldQty = formCart.cleanroomRequestQty[ i];
    } else {
      fldQty = formCart.cleanroomRequestQty;
    }
    if(fldQty) {
      iQuantity = fldQty.value;
      if( iQuantity > 0) {
        garrCleanRoomRequestItem[ i][ idxQtyOrder] = iQuantity;
        strItemData = garrCleanRoomRequestItem[ i][ idxItemId];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxDescription];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxQtyOnHand];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxDiameter];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxType];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxOrientation];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxResistMin];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxResistMax];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxThickMin];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxThickMax];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxGrade];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxFlats];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxCategory];
        strItemData += "|" + garrCleanRoomRequestItem[ i][ idxQtyOrder];
        setCookie("critem_" + garrCleanRoomRequestIndex[ i], strItemData, futuredate, "/");
      } else {
        alert("Invalid Quantity Entered");
        fldQty.focus();
        return;
      }
    }
  }

  location.reload(true);
}

function fnSetItemInCart() {
  var idx = 0;

  fnGetCartData();

/*
  for( i=0; i < giCartItemCount; i++) {
    idx = garrCartIndex[ i];
    document.formInv.waferEntry[ idx].checked = true;
  }
*/
  for( i=0; i < giCartItemCount; i++) {
    idx = garrCartIndex[ i];
    for( x=0; x < document.formInv.waferEntry.length; x++) {
      if( document.formInv.waferEntry[ x].value == idx) {
      document.formInv.waferEntry[ x].checked = true;
      }
    }
  }
}

