var products = []; products[211] = ["Blue Light Blocking Glasses", 239.88, "Optic Hub Store", "Made for the digital age, our Blue Light Blocking Glasses are here to help support eye health & reduce eye strain - by filtering our harmful blue light from screen-exposure. The glasses may also provide anti-glare & anti-UV support.", "", 0,"By placing an order with us you will be charged $ __prc__ + $0.00 for S&H for __altnm__ of Optic Hub Store __prdname__. If you are not completely satisfied with your purchase of Optic Hub Store __prdname__ at any time, please call (844) 202-0364 or email care@optichubstore.com, Monday-Saturday: 9 am to 5 pm EST. You will receive your package within 2-5 business days of payment via USPS First Class Mail. I agree that my credit card charge will appear as OPTICHUB 844-202-0364.", "6 Pairs"]; products[212] = ["Blue Light Blocking Glasses", 199.99, "Optic Hub Store", "Made for the digital age, our Blue Light Blocking Glasses are here to help support eye health & reduce eye strain - by filtering our harmful blue light from screen-exposure. The glasses may also provide anti-glare & anti-UV support.", "", 0,"By placing an order with us you will be charged $ __prc__ + $0.00 for S&H for __altnm__ of Optic Hub Store __prdname__. If you are not completely satisfied with your purchase of Optic Hub Store __prdname__ at any time, please call (844) 202-0364 or email care@optichubstore.com, Monday-Saturday: 9 am to 5 pm EST. You will receive your package within 2-5 business days of payment via USPS First Class Mail. I agree that my credit card charge will appear as OPTICHUB 844-202-0364.", "5 Pairs"]; products[213] = ["Blue Light Blocking Glasses", 189.88, "Optic Hub Store", "Made for the digital age, our Blue Light Blocking Glasses are here to help support eye health & reduce eye strain - by filtering our harmful blue light from screen-exposure. The glasses may also provide anti-glare & anti-UV support.", "", 0,"By placing an order with us you will be charged $ __prc__ + $0.00 for S&H for __altnm__ of Optic Hub Store __prdname__. If you are not completely satisfied with your purchase of Optic Hub Store __prdname__ at any time, please call (844) 202-0364 or email care@optichubstore.com, Monday-Saturday: 9 am to 5 pm EST. You will receive your package within 2-5 business days of payment via USPS First Class Mail. I agree that my credit card charge will appear as OPTICHUB 844-202-0364.", "3 Pairs"]; products[214] = ["Blue Light Blocking Glasses", 129.88, "Optic Hub Store", "Made for the digital age, our Blue Light Blocking Glasses are here to help support eye health & reduce eye strain - by filtering our harmful blue light from screen-exposure. The glasses may also provide anti-glare & anti-UV support.", "", 0,"By placing an order with us you will be charged $ __prc__ + $0.00 for S&H for __altnm__ of Optic Hub Store __prdname__. If you are not completely satisfied with your purchase of Optic Hub Store __prdname__ at any time, please call (844) 202-0364 or email care@optichubstore.com, Monday-Saturday: 9 am to 5 pm EST. You will receive your package within 2-5 business days of payment via USPS First Class Mail. I agree that my credit card charge will appear as OPTICHUB 844-202-0364.", "2 Pairs"]; products[215] = ["Blue Light Blocking Glasses", 69.99, "Optic Hub Store", "Made for the digital age, our Blue Light Blocking Glasses are here to help support eye health & reduce eye strain - by filtering our harmful blue light from screen-exposure. The glasses may also provide anti-glare & anti-UV support.", "", 0,"By placing an order with us you will be charged $ __prc__ + $0.00 for S&H for __altnm__ of Optic Hub Store __prdname__. If you are not completely satisfied with your purchase of Optic Hub Store __prdname__ at any time, please call (844) 202-0364 or email care@optichubstore.com, Monday-Saturday: 9 am to 5 pm EST. You will receive your package within 2-5 business days of payment via USPS First Class Mail. I agree that my credit card charge will appear as OPTICHUB 844-202-0364.", "1 Pair"]; products[216] = ["Glasses Cleaner", 49.99, "Optic Hub Store", "The optimal strength Lens Cleaning Solution can be sprayed on any glasses or lenses to remove moisture, smudges, fingerprints & dirt, and then wiped clean to enjoy clearer vision through the lens.", "", 0,"By placing an order with us you will be charged $ __prc__ + $0.00 for S&H for __altnm__ of Optic Hub Store __prdname__. If you are not completely satisfied with your purchase of Optic Hub Store __prdname__ at any time, please call (844) 202-0364 or email care@optichubstore.com, Monday-Saturday: 9 am to 5 pm EST. You will receive your package within 2-5 business days of payment via USPS First Class Mail. I agree that my credit card charge will appear as OPTICHUB 844-202-0364.", "1 Pack"]; products[217] = ["Glasses Wipes", 1.95, "Optic Hub Store", "A must have for not just people with prescription or zero power glasses, but for anyone that uses any gadget with a screen on lens, these lens wipes are pre-moistened and offer gentle yet thorough cleaning of all your glasses & gadgets.", "", 0,"By placing an order with us you will be charged $ __prc__ + $0.00 for S&H for __altnm__ of Optic Hub Store __prdname__. If you are not completely satisfied with your purchase of Optic Hub Store __prdname__ at any time, please call (844) 202-0364 or email care@optichubstore.com, Monday-Saturday: 9 am to 5 pm EST. You will receive your package within 2-5 business days of payment via USPS First Class Mail. I agree that my credit card charge will appear as OPTICHUB 844-202-0364.", "1 Pack"]; products[228] = ["Glasses Wipes + Cleaner", 59.99, "Optic Hub Store", "", "", 0,"By placing an order with us you will be charged $ __prc__ + $0.00 for S&H for __altnm__ of Optic Hub Store __prdname__. If you are not completely satisfied with your purchase of Optic Hub Store __prdname__ at any time, please call (844) 202-0364 or email care@optichubstore.com, Monday-Saturday: 9 am to 5 pm EST. You will receive your package within 2-5 business days of payment via USPS First Class Mail. I agree that my credit card charge will appear as OPTICHUB 844-202-0364.", "Combo Pack"]; products[301] = ["2 Bottles of Keto", 129.88, "Optic Hub Store", "Our Keto supplement supports your keto diet by enhancing ketone production, helping you stay in ketosis and boosting your energy levels.", "", 0,"By placing an order with us you will be charged $ 129.88 + $0.00 for S&H for 2 Bottles of Keto. If you are not completely satisfied with your purchase of Keto at any time, please call (844) 202-0364 or email care@optichubstore.com, Monday-Saturday: 9 am to 5 pm EST. You will receive your package within 2-5 business days of payment via USPS First Class Mail. I agree that my credit card charge will appear as OPTICHUB 844-202-0364.", "2 Bottles"]; products[302] = ["4 Bottles of Keto", 189.88, "Optic Hub Store", "Our Keto supplement supports your keto diet by enhancing ketone production, helping you stay in ketosis and boosting your energy levels.", "", 0,"By placing an order with us you will be charged $ 189.88 + $0.00 for S&H for 4 Bottles of Keto. If you are not completely satisfied with your purchase of Keto at any time, please call (844) 202-0364 or email care@optichubstore.com, Monday-Saturday: 9 am to 5 pm EST. You will receive your package within 2-5 business days of payment via USPS First Class Mail. I agree that my credit card charge will appear as OPTICHUB 844-202-0364.", "4 Bottles"]; products[303] = ["6 Bottles of Keto", 239.88, "Optic Hub Store", "Our Keto supplement supports your keto diet by enhancing ketone production, helping you stay in ketosis and boosting your energy levels.", "", 0,"By placing an order with us you will be charged $ 239.88 + $0.00 for S&H for 6 Bottles of Keto. If you are not completely satisfied with your purchase of Keto at any time, please call (844) 202-0364 or email care@optichubstore.com, Monday-Saturday: 9 am to 5 pm EST. You will receive your package within 2-5 business days of payment via USPS First Class Mail. I agree that my credit card charge will appear as OPTICHUB 844-202-0364.", "6 Bottles"]; console.log(products); var orderedItems = []; var orderedTotQty = 0; var maxQty = 10; var shipRates = false; var handling = 0; var carturl = "cart.php"; // Function to check item exists in cart var checkItemExists = function(itemId) { var order = $.cookie('order'); if (!order) { return false; } else { var itemExists = false; var items = order.split("|"); order = ""; for (var i = 0; i < items.length; i = i + 1) { var position = items[i].indexOf("-"); var prodId = items[i].substring(0, position); var quantity = parseInt(items[i].substring(position + 1)); if (order != "") { order += "|"; } if (prodId == itemId) { return true; } } } return false; } //Funtion adds Items to Cart var addItem = function(itemId, Qty, showFullCart) { if (typeof showFullCart === "undefined") { showFullCart = false; } orderedTotQty = $.cookie('orderedTotQty'); if (!orderedTotQty) { orderedTotQty = 0; } Qty = parseInt(Qty); if(Qty > maxQty) { alert("Maximum " + maxQty + " of this product can be selected in a single order"); return false; } var order = $.cookie('order'); if (!order) { order = itemId + "-" + Qty; orderedItems[itemId] = Qty; } else { var itemExists = false; var items = order.split("|"); order = ""; for (var i = 0; i < items.length; i = i + 1) { var position = items[i].indexOf("-"); var prodId = items[i].substring(0, position); var quantity = parseInt(items[i].substring(position + 1)); if (order != "") { order += "|"; } if (prodId == itemId) { alert("Product already exist in cart"); return false; if((quantity + Qty) > maxQty) { alert("Maximum " + maxQty + " of this product can be selected in a single order"); return false; } quantity += Qty; order += prodId + "-" + quantity; itemExists = true; } else { order += prodId + "-" + quantity; } orderedItems[prodId] = quantity; } if (!itemExists) { if (order != "") { order += "|"; } order += itemId + "-" + Qty; orderedItems[itemId] = Qty; } } orderedTotQty = parseInt(orderedTotQty); orderedTotQty += Qty; $('.cartqty').html(orderedTotQty); $.cookie('order', order); $.cookie('orderedTotQty', orderedTotQty); var url = window.location.pathname; var filename = url.substring(url.lastIndexOf('/') + 1); if (filename == carturl) { showCart(showFullCart, 'add', itemId); } else { $(location).attr('href', carturl); } }; //Funtion decrements Items to Cart var removeItem = function(itemId, Qty) { Qty = parseInt(Qty); var order = $.cookie('order'); if (!order) { orderedItems[itemId] = 0; refreshRow(itemId); } else { var items = order.split("|"); order = ""; for (var i = 0; i < items.length; i = i + 1) { var position = items[i].indexOf("-"); var prodId = items[i].substring(0, position); var quantity = parseInt(items[i].substring(position + 1)); if (prodId == itemId) { quantity -= Qty; if (quantity > 0) { if (order != "") { order += "|"; } order += prodId + "-" + quantity; } itemExists = true; orderedItems[prodId] = quantity; refreshRow(itemId); } else { if (order != "") { order += "|"; } order += prodId + "-" + quantity; orderedItems[prodId] = quantity; } } } orderedTotQty -= Qty; $('.cartqty').html(orderedTotQty); $.cookie('order', order); $.cookie('orderedTotQty', orderedTotQty); var url = window.location.pathname; var filename = url.substring(url.lastIndexOf('/') + 1); if (filename == carturl) { showCart(false, 'remove', itemId); } else { $(location).attr('href', carturl); } }; //Funtion sets Item quantity on the Cart var setItemQty = function(itemId, Qty) { Qty = parseInt(Qty); if(Qty > maxQty || Qty < 0) { return false; } var order = $.cookie('order'); orderedTotQty = 0; if (!order) { orderedItems[itemId] = 0; } else { var items = order.split("|"); order = ""; for (var i = 0; i < items.length; i = i + 1) { var position = items[i].indexOf("-"); var prodId = items[i].substring(0, position); var quantity = parseInt(items[i].substring(position + 1)); if (prodId == itemId) { quantity = Qty; if (order != "") { order += "|"; } order += prodId + "-" + quantity; itemExists = true; } else { if (order != "") { order += "|"; } order += prodId + "-" + quantity; } orderedItems[prodId] = quantity; orderedTotQty += quantity; } } $('.cartqty').html(orderedTotQty); $.cookie('order', order); $.cookie('orderedTotQty', orderedTotQty); var url = window.location.pathname; var filename = url.substring(url.lastIndexOf('/') + 1); if (filename == carturl) { showCart(false, 'set', itemId); } else { $(location).attr('href', carturl); } }; var removeRowItem = function(itemId, showFullCart) { if (typeof showFullCart === "undefined") { showFullCart = false; } var order = $.cookie('order'); if (!order) { orderedTotQty = 0; } else { var items = order.split("|"); order = ""; orderedTotQty = 0; orderedItems = null; orderedItems = new Array(); for (var i = 0; i < items.length; i = i + 1) { var position = items[i].indexOf("-"); var prodId = items[i].substring(0, position); var quantity = parseInt(items[i].substring(position + 1)); if (prodId == itemId) { } else { if (order != "") { order += "|"; } order += prodId + "-" + quantity; orderedTotQty += quantity; orderedItems[prodId] = quantity; } } } if($('#prow-' + itemId).length == 1) { $('#prow-' + itemId).remove(); } $.cookie('order', order); $.cookie('orderedTotQty', orderedTotQty); showCart(true, 'removerow', itemId); }; //Emptying the cart var emptyCart = function() { var order = $.cookie('order'); order = ""; orderedTotQty = 0; orderedItems = null; orderedItems = new Array(); $.cookie('order', order); $.cookie('orderedTotQty', orderedTotQty); if($('[id^="prow-"]').length > 0) { $('[id^="prow-"]').each(function(){ $(this).remove(); }); } $('.trm_1').hide(); showCart(false, 'empty'); }; //Displaying the cart items & calculations function showTotalPrice() { var cartHtml = ""; var total = 0; var shipping = 0; var grand_total = 0; var sub_total = 0; var shippingType = ''; var order = $.cookie('order'); orderedTotQty = $.cookie('orderedTotQty'); if($('#shippingCountry').val() == '') { shippingType = ''; } else if($('#shippingCountry').val() == 'US') { shippingType = 'US'; } else { shippingType = 'INTERNATIONAL'; } if (!order) { orderedTotQty = 0; } else { var items = order.split("|"); if(shipRates) { shipping = shipRates * 1.0; } for (var i = 0; i < items.length; i = i + 1) { var position = items[i].indexOf("-"); var prodId = items[i].substring(0, position); var quantity = parseInt(items[i].substring(position + 1)); if (prodId != "" && quantity > 0) { sub_total = round((quantity * products[prodId][1]), 2); total += (quantity * products[prodId][1]); } } total = round(total, 2); } var snh = shipping + handling; //if(shipping == 0) { // snh = shipping; //} console.log(snh); grand_total = total + snh; $('#total-price').html('$ ' + total.toFixed(2)); $('#shipping-price').html('$ ' + snh.toFixed(2)); $('#grand-total').html('$ ' + grand_total.toFixed(2)); }; // Refresh row content with updated quantity / price for a product function refreshRow(pid) { pid = parseInt(pid); quantity = orderedItems[pid]; sub_total = round((quantity * products[pid][1]), 2); $('#prow-' + pid + ' .tot-price').html('$' + sub_total.toFixed(2) + ' USD'); $('#prow-' + pid + ' .qtybox').val(quantity); $('#prow-' + pid + ' .dispqty').html(quantity); } function replaceAllStr(str, find, rstr) { //return str.replace(new RegExp(escapeRegExp(find), 'g'), replace); //return str.replace(/find/g, '\\$&'); return str.replace(new RegExp(find, "g"), rstr); } //Displaying the cart items & calculations function showCart(showFullCart, act, itm) { var cartHtml = ""; var order = $.cookie('order'); orderedTotQty = $.cookie('orderedTotQty'); if (!order) { orderedTotQty = 0; if($('[id^="prow-"]').length == 0) { $("#cartBox").html("

You have not selected any product...

  Browse Products"); } showTotalPrice(); return false; } else { var items = order.split("|"); var total = 0; var shipping = 0; var grand_total = 0; orderedTotQty = parseInt(orderedTotQty); if (typeof showFullCart === "undefined") { return false; } else if(showFullCart == false) { if ((typeof act !== "undefined") && (typeof itm !== "undefined")) { if((act == 'add' || act == 'set' || act == 'remove') && itm > 0) { refreshRow(itm); } else if(act == 'removerow' && itm > 0) { itm = parseInt(itm); } } showTotalPrice(); return false; } orderedItems = null; orderedItems = new Array(); cartHtml += "
ProductPrice Qty.Total
"; var total = 0; var term_htm =''; for (var i = 0; i < items.length; i = i + 1) { var position = items[i].indexOf("-"); var prodId = items[i].substring(0, position); var quantity = parseInt(items[i].substring(position + 1)); if (prodId != "" && quantity > 0) { orderedItems[prodId] = quantity; var sub_total = round((quantity * products[prodId][1]), 2) + products[prodId][5]; total += sub_total ; termTxt = products[prodId][6]; termTxt = replaceAllStr(termTxt, ' __prc__', products[prodId][1].toFixed(2)); termTxt = replaceAllStr(termTxt, '__prdname__', products[prodId][0]); termTxt = replaceAllStr(termTxt, '__altnm__', products[prodId][7]); term_htm += '' + termTxt + ''; cartHtml += "
" + "
" + "

" + products[prodId][4] + " " + products[prodId][0] + " " + products[prodId][7] + "

" + "
" + "" + "" + "
$" + (products[prodId][1]).toFixed(2) + "
" + "
" + quantity + "
" + "
$" + sub_total.toFixed(2) + "
" + "
" } } cartHtml += ""; cartHtml += "
" +"
" +"" +"
" +"
"; cartHtml += "
" +"Continue Shopping Empty Cart
" +"
"; cartHtml += "

" +"
" +"" +"" +"Remove" +"
"; cartHtml += "
"; cartHtml += "
" +"
" +"" +"" +"Remove" +"
"; cartHtml += "
"; cartHtml += "
"; if (cartHtml != "") { $("#cartBox").html(cartHtml); $(".trm_1").html(term_htm); } else { $("#cartBox").html(" Loading..."); } var upProdId1 = 217; if(checkItemExists(upProdId1)) { $(".offerBox:eq(0) .sec1-shopnow").text("Added To Order"); $(".offerBox:eq(0) .remove-from-cart").show(); } else { $(".offerBox:eq(0) .sec1-shopnow").text("Yes! Upgrade Now"); $(".offerBox:eq(0) .remove-from-cart").hide(); } var upProdId2 = 228; if(checkItemExists(upProdId2)) { $(".offerBox:eq(1) .sec1-shopnow").text("Added To Order"); $(".offerBox:eq(1) .remove-from-cart").show(); } else { $(".offerBox:eq(1) .sec1-shopnow").text("Yes! Upgrade Now"); $(".offerBox:eq(1) .remove-from-cart").hide(); } return false; } }; var round = function(value, decimals) { return Number(Math.round(value + 'e' + decimals) + 'e-' + decimals); };