var num20 = document.getElementById("num20"); var num21 = document.getElementById("num21"); var num22 = document.getElementById("num22"); var theProduct; function calculate() { var theProduct = (parseFloat(numThirtyFive.value) * parseFloat(numThirtySix.value) * (parseFloat(numThirtySeven.value) / 100)) / 0.55 ; document.getElementById('bark_area_result_cubic_metres').innerHTML = theProduct.toFixed(1); }; numThirtyFive.oninput = calculate; numThirtySix.oninput = calculate; numThirtySeven.oninput = calculate; function createDropdown() { const datePickDropdownTB = document.getElementById("pickDropdown"); datePickDropdownTB.style.display = "none"; const dateDropdownTB = document.getElementById("deliveryDropdown"); dateDropdownTB.style.display = "none"; const deliveryLabelTB = document.getElementById("deliveryLabel"); deliveryLabelTB.style.display = "block"; const td2 = new Date(); var curTime = new Date(); var day = curTime.getDay(); curTime = parseInt(curTime.getHours() + "" + ("0" + curTime.getMinutes()).substr(-2) + "" + ("0" + curTime.getSeconds()).substr(-2)); let pastMidday = false; if (curTime > 120000){ pastMidday = true; } const opts2 = [...Array(20)].map((_) => { let r2 = td2.toLocaleString("en-us", { weekday: "long", month: "short", day: "numeric", }); td2.setDate(td2.getDate() + 1); return r2; }); var DDL3; if (pastMidday) { var DDL3 = opts2.slice(2); } else { var DDL3 = opts2.slice(1); } var DDL4 = DDL3.filter((e) => !e.match(/^Sun/)) datePickDropdownTB.innerHTML = DDL4.map((f) => ``).join(""); const td = new Date(); const opts = [...Array(20)].map((_) => { let r = td.toLocaleString("en-us", { weekday: "long", month: "short", day: "numeric", }); td.setDate(td.getDate() + 1); return r; }); var DDL = opts.slice(2); let removeBankHolMonday = false const excludeDates = ["Monday, Aug 25", "Wednesday, Dec 24", "Thursday, Dec 25", "Friday, Dec 26", "Wednesday, Dec 31", "Thursday, Jan 1", "Friday, Apr 3", "Monday, Apr 6", "Monday, May 4", "Monday, May 25", "Monday, Aug 31", "Thursday, Dec 24", "Friday, Dec 25", "Monday, Dec 28"]; var DDL2 = DDL.filter((d) => { if (d.match(/^Sat/)) return false; // Remove Saturdays if (d.match(/^Sun/)) return false; // Remove Sundays if (d.match(/^Mon/) && !removeBankHolMonday) { removeBankHolMonday = true; return false; // Remove first Monday conditionally } // Remove specific dates if (excludeDates.includes(d)) return false; return true; // Keep the date if no conditions matched }); dateDropdownTB.innerHTML = DDL2.map((o) => ``).join(""); } (function (window, document, undefined) { window.onload = init; function init() { createDropdown(); const datePickDropdownTB = document.getElementById("pickDropdown"); datePickDropdownTB.style.display = "none"; const dateDropdownTB = document.getElementById("deliveryDropdown"); dateDropdownTB.style.display = "block"; const deliveryLabelTB = document.getElementById("deliveryLabel"); deliveryLabelTB.style.display = "block"; } })(window, document, undefined); function calculate() { getDelDate(); getPickDate(); var RollCounter = document.getElementById("RollCounter"); theProduct = parseFloat(numThree.value) * parseFloat(numFour.value); document.getElementById("area_result_metres").innerHTML = theProduct.toFixed(0); RollCounter.value = theProduct.toFixed(0); } numThree.oninput = calculate; numFour.oninput = calculate; //Helper to format money into GBP function FormatMoney(number) { return number.toLocaleString("en-GB", { style: "currency", currency: "GBP", }); } function getMiles(meters) { return meters / 1609; } // function getRollPrice(rolls) { // if (rolls <= 1) { // return 78.0; // } else if (rolls >= 2 && rolls <= 2.5) { // return 75.0; // } else if (rolls >= 2.6 && rolls <= 6) { // return 72.0; // } else if (rolls >= 7) { // return 1; // } else { // return; // } // } function getRollPrice(rolls) { return 72 } function getVAT() { const VAT = document.getElementById("VAT"); const VATReceipt = document.getElementById("VATRec"); if (VAT.checked) { VATReceipt.value = "Yes"; } else { VATReceipt.value = "No"; } } function getPickDate() { const pickUpDropdown = document.getElementById("pickDropdown"); const PICKDate = document.getElementById("PICKDate"); PICKDate.value = pickUpDropdown.value; } function getDelDate() { const deliveryDropdown = document.getElementById("deliveryDropdown"); const DELDate = document.getElementById("DELDate"); DELDate.value = deliveryDropdown.value; } function CalculatePrice() { var finalPrice = document.getElementById("finalPrice"); var delQty = document.getElementById("delQty"); const AddToCart = document.getElementById("AddToCart"); finalPrice.style.display = "block"; delQty.style.display = "block"; AddToCart.style.display = "block"; const HouseNumber = document.getElementById("HouseNo").value; const Street = document.getElementById("Street").value; const Town = document.getElementById("Town").value; const City = document.getElementById("City").value; const Postcode = document.getElementById("Postcode").value; const Rolls = RollCounter.value; const DeliverySelection = document.querySelector( 'input[name="chooseDelivery"]:checked' ).value; const matrix = new google.maps.DistanceMatrixService(); var origin = "CW11 1RL"; var destination = HouseNumber + " " + Street + " " + Town + " " + City + " " + Postcode; matrix.getDistanceMatrix( { origins: [origin], destinations: [destination], travelMode: google.maps.TravelMode.DRIVING, unitSystem: google.maps.UnitSystem.IMPERIAL, }, callback ); function CalculateDeliveryCost(rolls, distance) { if (distance > 0 && distance <= 5) { if (rolls >= 1 && rolls <= 50) { return 20; } else if (rolls >= 51 && rolls <= 100) { return 30; } else if (rolls >= 101 && rolls <= 150) { return 40; } else if (rolls >= 151 && rolls <= 200) { return 60; } else return 999999; } else if (distance >= 5.01 && distance <= 12) { if (rolls >= 1 && rolls <= 50) { return 30; } else if (rolls >= 51 && rolls <= 100) { return 50; } else if (rolls >= 101 && rolls <= 150) { return 60; } else if (rolls >= 151 && rolls <= 200) { return 100; } else return 999999; } else if (distance >= 12.1 && distance <= 18) { if (rolls >= 1 && rolls <= 50) { return 40; } else if (rolls >= 51 && rolls <= 100) { return 60; } else if (rolls >= 101 && rolls <= 150) { return 70; } else if (rolls >= 151 && rolls <= 200) { return 120; } else return 999999; } else if (distance >= 18.1 && distance <= 25) { if (rolls >= 1 && rolls <= 100) { return 80; } else if (rolls >= 101 && rolls <= 150) { return 90; } else if (rolls >= 151 && rolls <= 200) { return 160; } else return 999999; } else { return 999999; } } let distanceInMiles = 0; function callback(response, status) { if ( status === "OK" && response.rows[0].elements[0].status !== "NOT_FOUND" ) { distanceInMiles = getMiles(response.rows[0].elements[0].distance.value); } else { console.log("ERROR " + status); } const pricing = document.querySelector(".pricing"); const rolls = document.querySelector(".rolls"); const totalPrice = document.querySelector(".totalPriceOfRolls"); const finalTotal = document.querySelector(".finalTotal"); rolls.innerHTML = Rolls; const totalRollPrice = Rolls * getRollPrice(Rolls); const quantityTB = document.getElementById("quantity"); quantityTB.value = Rolls.toString(); const nameTB = document.getElementById("name"); nameTB.value = "Rolls of Turf"; const priceTB = document.getElementById("price"); const postcodeTB = document.getElementById("postcodeF"); const deliveryMethodTB = document.getElementById("deliveryMethod"); deliveryMethodTB.value = DeliverySelection; const deliveryOption = document.querySelector(".deliveryOption"); const rollWeight = 1000; // kg document.getElementById("weightfox").value = rollWeight; if (DeliverySelection === "Pick up") { priceTB.value = FormatMoney(getRollPrice(Rolls)); pricing.innerHTML = FormatMoney(0); deliveryOption.innerHTML = "Pick Up"; postcodeTB.value = ""; Postcode.value = ""; const pickUpDropdown = document.getElementById("pickDropdown"); const PICKDate = document.getElementById("PICKDate"); PICKDate.value = pickUpDropdown.value; const DELDate = document.getElementById("DELDate"); DELDate.value = ""; if (quantityTB.value >= 201) { finalTotal.innerHTML = "Call 01477 532594 for special bulk price"; AddToCart.style.display = "none"; } else { finalTotal.innerHTML = FormatMoney(totalRollPrice + 0); } } else if (DeliverySelection === "Delivery") { //calculate if minimum order const deliveryDropdown = document.getElementById("deliveryDropdown"); const DELDate = document.getElementById("DELDate"); DELDate.value = deliveryDropdown.value; const PICKDate = document.getElementById("PICKDate"); PICKDate.value = ""; //0-5 miles - no minimum quantity //5.001-12 miles - minimum 20 rolls //12.001-20 miles - minimum 40 rolls //20.001-30 miles - minimum 50 rolls let getMinimumRollNumber = 1; // if (distanceInMiles >= 0 && distanceInMiles <= 5) { // getMinimumRollNumber = 0; // } else if (distanceInMiles >= 5.001 && distanceInMiles <= 12) { // getMinimumRollNumber = 20; // } else if (distanceInMiles >= 12.001 && distanceInMiles <= 18) { // getMinimumRollNumber = 40; // } else if (distanceInMiles >= 18.001 && distanceInMiles <= 50) { // getMinimumRollNumber = 50; // } //has to be over this amount if (quantityTB.value >= 201) { finalTotal.innerHTML = "Call 01477 532594 for special bulk price"; AddToCart.style.display = "none"; } else { if (distanceInMiles > 1000) { finalTotal.innerHTML = "Please call to arrange delivery"; AddToCart.style.display = "none"; } else { const totalTurfRollPrice = getRollPrice(Rolls) * Rolls; const DelCost = CalculateDeliveryCost(Rolls, distanceInMiles); const splitCost = (totalTurfRollPrice) / Rolls; const VATAmount = document.getElementById("VATAmount"); var VatTotal = VatAmountFromGross(totalTurfRollPrice); VATAmount.value = FormatMoney(VatTotal); postcodeTB.value = Postcode.toUpperCase(); priceTB.value = splitCost; pricing.innerHTML = FormatMoney( CalculateDeliveryCost(Rolls, distanceInMiles) ); finalTotal.innerHTML = FormatMoney(totalTurfRollPrice); // if (DelCost === 999999) { // finalTotal.innerHTML = "Postcode not found"; // AddToCart.style.display = "none"; // } } } if (getMinimumRollNumber > quantityTB.value) { //escape the order finalTotal.innerHTML = "Minimum order for delivery to your postcode is " + getMinimumRollNumber + " rolls"; AddToCart.style.display = "none"; } deliveryOption.innerHTML = "Delivery"; } } } function VatAmountFromGross(nGrossAmount) { var nVatRate = 0.2; return nGrossAmount / (1 + 1 / nVatRate); } function SelectDelivery(selection) { if (selection === "Pick up") { const deliveryDropdown = document.getElementById("deliveryDropdown"); const DELDate = document.getElementById("DELDate"); DELDate.value = deliveryDropdown.value; const datePickDropdownTB = document.getElementById("pickDropdown"); datePickDropdownTB.style.display = "block"; const deliveryForm = document.getElementById("deliveryForm"); deliveryForm.style.display = "none"; const dateDropdownTB = document.getElementById("deliveryDropdown"); dateDropdownTB.style.display = "none"; const PickDateTextTB = document.getElementById("PickDateText"); if (PickDateTextTB) { PickDateTextTB.style.display = "block"; } const deliveryLabelTB = document.getElementById("deliveryLabel"); deliveryLabelTB.style.display = "none"; const pickLabelTB = document.getElementById("pickLabel"); pickLabelTB.style.display = "block"; } else { const deliveryDropdown = document.getElementById("deliveryDropdown"); const DELDate = document.getElementById("DELDate"); DELDate.value = deliveryDropdown.value; const datePickDropdownTB = document.getElementById("pickDropdown"); datePickDropdownTB.style.display = "none"; const deliveryForm = document.getElementById("deliveryForm"); deliveryForm.style.display = "block"; const dateDropdownTB = document.getElementById("deliveryDropdown"); dateDropdownTB.style.display = "block"; const deliveryLabelTB = document.getElementById("deliveryLabel"); deliveryLabelTB.style.display = "block"; const pickLabelTB = document.getElementById("pickLabel"); pickLabelTB.style.display = "none"; } }