// scart.js JavaScript Development by JavaScriptDesign.com
// email solutions@javascriptdesign.com  Copyright 2000
// All Rights Reserved. Copyright Notice Must Remain in
// Source files and Catalog Pages.

// ****Begin shopping cart functions.****

// ** global variables for the shopping cart.**

var cartItemNum = new Array();
var cartItemProducer = new Array();
var cartItemDescr = new Array();
var cartItemCost = new Array();
var cartItemQty = new Array();
var cartQtyOnHand = new Array();
var cartItemWeight = new Array();
var cartItemDiscountPrice = new Array();


// load the cart structure from the cookie and clean up duplicates
//
function itemsOrdered() {
 if (getCookieData("Scart")) {
 cookiestring = getCookieData("Scart")
 cookieLen = cookiestring.length
 counteroffset = cookiestring.indexOf("@")
 counter = cookiestring.substring(0,counteroffset)

 cookiestring = cookiestring.substring(counteroffset+1,cookieLen)
 cookieItems = cookiestring.split("^")

 for (i=0, cartIndex=0; i<counter; i++) {
    cookieItemsDetail = cookieItems[i].split("-:-")
    itemExists = 0
    for (j=0; j<i; j++) {
	if (cookieItemsDetail[0]== cartItemNum[j]) {
		cartItemQty[j] = parseInt(cartItemQty[j]) + parseInt(cookieItemsDetail[4])
		itemExists=1
	} 
    }
    if (!itemExists) {
    	cartItemNum[cartIndex] = cookieItemsDetail[0]
    	cartItemProducer[cartIndex] = cookieItemsDetail[1]
        cartItemDescr[cartIndex] = cookieItemsDetail[2]
   	cartItemCost[cartIndex] = cookieItemsDetail[3]
    	cartItemQty[cartIndex] = cookieItemsDetail[4]
        cartQtyOnHand[cartIndex] = cookieItemsDetail[5]
	cartItemWeight[cartIndex] = cookieItemsDetail[6]
        cartItemDiscountPrice[cartIndex] = cookieItemsDetail[7]
        cartIndex++
    }
 }
 counter = cartIndex
 rewriteCookie(counter);
 //writeCart();
 }
}


// ** Function to write the shopping cart details **
// ** into the table on the shopping cart page.


function writeCart() {
  var ordFrm = '<h2 align="center">Sterling Cellars Wine & Spirits Shopping Cart</h2>'
  ordFrm += '<form name="shopCart">'
  ordFrm += '<div class="cartHdr">'
  ordFrm += '<div class="cartItem">Item</div>'
  ordFrm += '<div class="cartQty">Item<br>Qty</div>'
  ordFrm += '<div class="cartExtPrice">Amount</div>'
  ordFrm += '<div class="cartAction"></div>'
  ordFrm += '</div>'
  for (i = 0; i < counter; i++) {

   ordFrm += '<div class="cartLine">'
   ordFrm += '<div class="cartItem">' + cartItemProducer[i] + ' ' + cartItemDescr[i]
   if (parseFloat(cartItemDiscountPrice[i]) > 0) {
      ordFrm += ' (<del>$' + cartItemCost[i] + '</del><font color=red><strong> $'+ cartItemDiscountPrice[i] + '</strong></font>)' 
   } else {
      ordFrm += ' ($' + cartItemCost[i] + ')' 
   }
   ordFrm += '</div>'
   ordFrm += '<div class="cartQty">'
   ordFrm += '<INPUT type="text" maxlength=3 style="text-align: center;" class="entryBox"'
   ordFrm += 'size=2 name=cartItemQty' + i + ' ' + 'value=' + cartItemQty[i] + ' onkeypress=editKeyBoard(this,keybNumeric)></div>'
   if (parseFloat(cartItemDiscountPrice[i]) > 0) {
   	ordFrm += '<div class="cartExtPrice">' + formatCurrency(cartItemDiscountPrice[i]*cartItemQty[i]) + '</div>'
   } else {
	ordFrm += '<div class="cartExtPrice">' + formatCurrency(cartItemCost[i]*cartItemQty[i]) + '</div>'
   }
   ordFrm += '<div class="cartAction">'
   ordFrm += '<a href="javascript:clearIt('+i+')"><IMG BORDER="0" SRC="images/deleteFromCart.gif"  WIDTH="57" HEIGHT="15" ALT="Delete"></a></div>'
   ordFrm += '</div>'
  }
  ordFrm += '<div style="float: left; text-align: right; width: 527px; '
  ordFrm += 'font-family: Verdana, Arial, Helvetica, sans-serif; font-size:12px; height:25px; vertical-align:middle;line-height:2">'
  ordFrm += '<div style="width: 350px; float: left; ">Subtotal:</div>'
  ordFrm += '<div style="width: 85px; float: left;">'
  ordFrm += '<input type="text" name="subtotal" style="text-align: right;" class="entryBox" size=7 maxlength=76 value="$0.00" '
  ordFrm += 'onFocus="document.shopCart.subtotal.blur()">'
  ordFrm += '</div>'
  ordFrm += '</div>'
  ordFrm += '<div style="float: left; text-align: right; width: 527px; margin: 20 0 0 0px;h '
  ordFrm += 'font-family: Verdana, Arial, Helvetica, sans-serif; font-size:12px; height:25px; vertical-align:middle;line-height:2">'
  ordFrm += '<div style="width: 350px; float: left; text-align: right">'
  ordFrm += '<a href="javascript:updateQty()"><IMG BORDER="0" SRC="images/updateQty.gif"  WIDTH="120" HEIGHT="20" ALT="Delete"></a>'
  ordFrm += '</div>'
  ordFrm += '<div style="width: 170px; float: left;text-align: right">'
  ordFrm += '<a href="javascript:killCart()"><IMG BORDER="0" SRC="images/Empty-Cart.gif"  WIDTH="120" HEIGHT="20" ALT="Delete"></a></div>'
  ordFrm += '</div>'
  ordFrm += '<div style="float: left; text-align: right; width: 527px; '
  ordFrm += 'font-family: Verdana, Arial, Helvetica, sans-serif; font-size:12px; height:25px; vertical-align:middle;line-height:2">'
  ordFrm += '<div style="width: 350px; float: left; text-align: right">'
  ordFrm += '<a href="javascript:history.go(-2)"><IMG BORDER="0" SRC="images/continueShopping.gif"  WIDTH="150" HEIGHT="20" ALT="Delete"></a>'
  ordFrm += '</div>'
  ordFrm += '<div style="width: 170px; float: left;text-align: right">'
  ordFrm += '</form>'
  ordFrm += '<form name="toCart" method="POST" action="http://www.sterlingcellars.com/checkout.php" onSubmit="return checkMinimum()">'
  //ordFrm += '<form name="toCart" method="POST" action="http://209.200.94.61/checkout.php" onSubmit="return checkMinimum()">'
  ordFrm += '<input type="hidden" name="cookie" value="' + getCookieData("Scart") +'">'
  ordFrm += '<input type="hidden" name="action" value="firstPass">'
  ordFrm += '<input type="image" name="submit" src="images/proceedToCheckout.gif" value="Submit"></div>'
  ordFrm += '</form>'
  ordFrm += '</div>'
  document.write(ordFrm);
  document.close();
}

function checkMinimum() {
  var sub_total = 0;
  for (i=0; i<cartItemNum.length; i++)
   eval('sub_total += parseFloat(cartItemCost[' + i + ']*cartItemQty[' + i + ']);');
  if (sub_total >= 50) {
  	return true;
  }
  else {
    alert('$50 Shipping Minimum not met.')
  	return false; 
  } 	
}

// ** Function to delete a line item upon user request. **
function clearIt(num) {
 cartItemNum[num] = null
 rewriteCookie(num)
 window.location.reload();
}

// **Function to rewrite the cookie when the user **
// **deletes a line item from the shopping cart. **

function rewriteCookie(num) {
 dataUpdate = ""

 for (i=0,localcounter=counter; i<localcounter; i++) {
   if (cartItemNum[i] != null) {
    dataUpdate += cartItemNum[i] + '-:-' 
    dataUpdate += cartItemProducer[i] + '-:-' 
    dataUpdate += cartItemDescr[i] + '-:-' 
    dataUpdate += cartItemCost[i] + '-:-' 
    dataUpdate += cartItemQty[i] +'-:-'
    dataUpdate += cartQtyOnHand[i] + '-:-'
    dataUpdate += cartItemWeight[i] + '-:-'
    dataUpdate += cartItemDiscountPrice[i] + '-:-^'
   }
   else {
     counter--
   }
 }
 cookData = dataUpdate
 setCookieData("Scart", cookData, expdate.toGMTString())
}

function updateQty() {
 for (i=0;i<counter;i++) {
     var requestQty = 0;

    // Get the value from the input box
    requestQty = parseInt(eval('document.shopCart.cartItemQty' + i + '.value'))

    // if the value in the input box is not a number, reset it.
    if (isNaN(requestQty)) 
        requestQty = cartItemQty[i];

    if (parseInt(requestQty) > parseInt(cartQtyOnHand[i])) {
	alert("Your quantity request has been reduced due to limited inventory")
        requestQty = parseInt(cartQtyOnHand[i])
    }

    eval('document.shopCart.cartItemQty' + i + '.value=' + requestQty) 
    cartItemQty[i] = requestQty       
    
    if (parseFloat(cartItemQty[i]) <= 0) cartItemNum[i] = null;
 }
 
 rewriteCookie(i);
 update();
 window.location.reload();
}

// ****End shopping cart detail section.****

// ****Start of code section to display subtotal.****

function update() {
 if (getCookieData("Scart")) {
  var sub_total = 0;
  
  for (i=0; i<cartItemNum.length; i++)
  {
//alert("Discount Price=" + parseFloat(cartItemDiscountPrice[i]));
   if (parseFloat(cartItemDiscountPrice[i]) > 0) {
      eval('sub_total += parseFloat(cartItemDiscountPrice[' + i + ']*cartItemQty[' + i + ']);')
   } else {
      eval('sub_total += parseFloat(cartItemCost[' + i + ']*cartItemQty[' + i + ']);')
   }
//alert("Subtotal=$ " + sub_total)
  }
  document.shopCart.subtotal.value= formatCurrency(sub_total);
 }
}


// **Function to clear the shopping cart.**

function killCart() {
 killCookie("Scart")
 history.go(-2)
}
