// Shopping Cart functions by Mentally Friendly (www.mentallyfriendly.com) // Version 1.0.0 // Last Updated 10/12/2007 var nItemNum = 1; // Recalculate total cost function updateGrandTotal(del){ var cart = document.getElementById("cart"); var nID = 1; while((document.getElementById("itm_" + nID) || nID == del) && del){ if(nID > del){ var upd = document.getElementById("itm_" + nID); upd.id = "itm_" + (nID-1); upd.name = "item_name_" + (nID-1); upd = document.getElementById("sz_" + nID); upd.id = "sz_" + (nID-1); upd.name = "os0_" + (nID-1); upd = document.getElementById("cl_" + nID); upd.id = "cl_" + (nID-1); upd.name = "os1_" + (nID-1); upd = document.getElementById("qty_" + nID); upd.id = "qty_" + (nID-1); upd.name = "quantity_" + (nID-1); upd = document.getElementById("amt_" + nID); upd.id = "amt_" + (nID-1); upd.name = "amount_" + (nID-1); upd = document.getElementById("on0_" + nID); upd.id = "on0_" + (nID-1); upd.name = "on0_" + (nID-1); upd = document.getElementById("on1_" + nID); upd.id = "on1_" + (nID-1); upd.name = "on1_" + (nID-1); upd = document.getElementById("remove" + nID); upd.href = "Javascript:remItem(" + (nID-1) + ")"; upd.id = "remove" + (nID-1); upd = document.getElementById("cItem_" + nID); upd.id = "cItem_" + (nID-1); upd = document.getElementById("title_" + nID); upd.id = "title_" + (nID-1); upd = document.getElementById("cartAmnt" + nID); upd.id = "cartAmnt" + (nID-1); upd.name = "cartAmnt" + (nID-1); upd = document.getElementById("itemid" + nID); upd.id = "itemid" + (nID-1); upd.name = "itemid" + (nID-1); upd = document.getElementById("itemnum" + nID); upd.id = "itemnum" + (nID-1); upd.name = "itemnum" + (nID-1); upd = document.getElementById("selSze_" + nID); upd.id = "selSze_" + (nID-1); upd = document.getElementById("selCol_" + nID); upd.id = "selCol_" + (nID-1); upd = document.getElementById("cartqty" + nID); upd.id = "cartqty" + (nID-1); } nID++; } //loop through individual item totals var nAmount = 0; nID = 1; var weightItems = 0; for(var i=0; i < nItemNum+1; i++){ if(document.getElementById("cartAmnt"+i)){ var itemPrice = new Number(document.getElementById("cartAmnt"+i).value); var selQty = document.getElementById("cartqty" + i); var nQty = new Number(selQty.options[selQty.selectedIndex].value); nAmount += itemPrice * nQty; var sName = document.getElementById("title_" + i).innerHTML; var sz = document.getElementById("selSze_" + i); var itemSize = sz.options[sz.selectedIndex].value; var col = document.getElementById("selCol_" + i); var itemColour = col.options[col.selectedIndex].value; var itemIdentity = document.getElementById("itemid" + i).value; nGrams = associateWeight(itemIdentity, urlencode(itemSize)); weightItems += (nGrams * nQty); if(!(document.getElementById("itm_" + nID)) && !(del)){ var inp = document.createElement('input'); inp.setAttribute( 'id','itm_' + nID); inp.setAttribute( 'type','hidden' ); inp.setAttribute( 'name','item_name_' + nID); inp.setAttribute( 'value',sName); document.Cart.appendChild(inp); var inp = document.createElement('input'); inp.setAttribute( 'type','hidden' ); inp.setAttribute( 'id','amt_' + nID); inp.setAttribute( 'name','amount_' + nID); inp.setAttribute( 'value',itemPrice); document.Cart.appendChild(inp); var inp = document.createElement('input'); inp.setAttribute( 'type','hidden' ); inp.setAttribute( 'name','on0_' + nID); inp.setAttribute( 'id','on0_' + nID); inp.setAttribute( 'value',"Size"); document.Cart.appendChild(inp); var inp = document.createElement('input'); inp.setAttribute( 'type','hidden' ); inp.setAttribute( 'id','sz_' + nID); inp.setAttribute( 'name','os0_' + nID); inp.setAttribute( 'value',itemSize); document.Cart.appendChild(inp); var inp = document.createElement('input'); inp.setAttribute( 'type','hidden' ); inp.setAttribute( 'name','on1_' + nID); inp.setAttribute( 'id','on1_' + nID); inp.setAttribute( 'value',"Colour"); document.Cart.appendChild(inp); var inp = document.createElement('input'); inp.setAttribute( 'type','hidden' ); inp.setAttribute( 'id','cl_' + nID); inp.setAttribute( 'name','os1_' + nID); inp.setAttribute( 'value',itemColour); document.Cart.appendChild(inp); var inp = document.createElement('input'); inp.setAttribute( 'id','qty_' + nID); inp.setAttribute( 'type','hidden' ); inp.setAttribute( 'name','quantity_' + nID); inp.setAttribute( 'value', nQty); document.Cart.appendChild(inp); } // update paypal values to reflect any changes to color, quantity or anything else var update = document.getElementById("sz_" + nID); update.value = itemSize; update = document.getElementById("cl_" + nID); update.value = itemColour; update = document.getElementById("qty_" + nID); update.value = nQty; update = document.getElementById("amt_" + nID); update.value = itemPrice; nID++; } } var nShipping = getShipping(weightItems); nAmount += nShipping; nAmount = Math.round((nAmount) * 100)/100; if(nShipping == 0) nAmount = 0; document.getElementById("hiddenTotal").value = nAmount; document.Cart.shippingCost.value = nShipping; document.Cart.grandTotal.value = nAmount; document.Cart._shipping.value = nShipping; document.Cart.shippingTotal.value = nShipping; document.Cart._shipping.setAttribute('value',nShipping); document.Cart.amount.value = nAmount; if (document.Cart.grandTotal.value == "undefined" || document.Cart.grandTotal.value == "NaN" ){ document.Cart.grandTotal.value = ""; } if (document.Cart.shippingTotal.value == undefined || document.Cart.shippingTotal.value == 'NaN' ){ document.Cart.shippingTotal.value = ""; } } // Add item to cart function addToCart(nItem,head,price,itemid){ //Quantity var selQty = document.getElementById("brand" + nItem + "Qty"); var nQty = selQty.options[selQty.selectedIndex].value; //size var selSze = document.getElementById("brand" + nItem + "Size"); var sSize = selSze.options[selSze.selectedIndex].value; var aSizes = new Array(); for(var i =0; i