{"product_id":"essential-timber-floor-soundproofing-system-carpet","title":"Essential Timber Floor Soundproofing System - Carpet","description":"\u003cdiv id=\"aac-calc-1\"\u003e\n\n  \u003ch3\u003eYour Soundproofing System Calculator\u003c\/h3\u003e\n\n  \u003cinput type=\"number\" id=\"aac-length-1\" placeholder=\"Enter Floor Length (m)\"\u003e\n  \u003cinput type=\"number\" id=\"aac-width-1\" placeholder=\"Enter Floor Width (m)\"\u003e\n\n  \u003cbutton id=\"aac-calc-btn-1\"\u003eCalculate\u003c\/button\u003e\n\n  \u003cdiv id=\"aac-results-1\"\u003e\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n#aac-calc-1 button {\n  background:#ff7a00;\n  color:#fff;\n  border:none;\n  padding:10px;\n  cursor:pointer;\n  margin-top:10px;\n  width:100%;\n}\n\n#aac-calc-1 .aac-small {\n  padding:6px 10px;\n  font-size:12px;\n  margin-left:10px;\n  width:auto;\n}\n\n.aac-success {\n  color:#2e7d32;\n  font-size:12px;\n  margin-left:8px;\n  font-weight:bold;\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function () {\n\n  const products = [\n    {\n      name: \"Rolls of 5kg MLV Soundproofing Mat\",\n      id: 33733433098379,\n      calc: (a) =\u003e Math.ceil(((a \/ 3.75) * 2) * 1.05)\n    },\n    {\n      name: \"Packs of Silent Floor Ultra Underlay\",\n      id: 33733406589067,\n      calc: (a) =\u003e Math.ceil((a \/ 3.6) * 1.05)\n    },\n    {\n      name: \"Tubes of Everbuild AC95 Sealant\",\n      id: 33733310382219,\n      calc: (a) =\u003e Math.ceil((a \/ 6) * 1.05)\n    },\n    {\n      name: \"Boxes of 12x Contact Adhesive\",\n      id: 33733447090315,\n      calc: (a) =\u003e Math.ceil(((a * 3) \/ 2.5) \/ 12)\n    },\n    {\n      name: \"Rolls of PVC Jointing Tape\",\n      id: 33733337153675,\n      calc: (a) =\u003e Math.ceil((((a \/ 3.75)\/8) + ((a \/ 3.6)\/2)) * 1.05)\n    }\n  ];\n\n  let lastItems = [];\n  let lastLength = 0;\n  let lastWidth = 0;\n  let lastTotal = 0;\n\n  async function getPrice(id) {\n    const res = await fetch('\/variants\/' + id + '.js');\n    const data = await res.json();\n    return data.price \/ 100;\n  }\n\n  function success(btn){\n    const msg = document.createElement(\"span\");\n    msg.className = \"aac-success\";\n    msg.innerText = \"Added ✓\";\n    btn.parentNode.appendChild(msg);\n    setTimeout(()=\u003emsg.remove(),1500);\n  }\n\n  document.getElementById(\"aac-calc-btn-1\").addEventListener(\"click\", async function () {\n\n    const length = parseFloat(document.getElementById(\"aac-length-1\").value);\n    const width = parseFloat(document.getElementById(\"aac-width-1\").value);\n\n    if (!length || !width) return alert(\"Enter valid dimensions\");\n\n    const area = length * width;\n\n    lastLength = length;\n    lastWidth = width;\n\n    let html = \"\";\n    let total = 0;\n    lastItems = [];\n\n    for (let p of products) {\n\n      const qty = p.calc(area);\n      const price = await getPrice(p.id);\n      const line = qty * price;\n\n      total += line;\n\n      lastItems.push({\n        id: p.id,\n        quantity: qty,\n        name: p.name\n      });\n\n      html += `\n        \u003cdiv style=\"margin-bottom:10px;\"\u003e\n          ${p.name} - Qty Rqd: ${qty} (£${line.toFixed(2)})\n          \u003cbutton class=\"aac-small\" onclick=\"addToCart(${p.id}, ${qty}, this)\"\u003eAdd\u003c\/button\u003e\n        \u003c\/div\u003e\n      `;\n    }\n\n    lastTotal = total;\n\n    html += `\u003cdiv\u003e\u003cstrong\u003eTotal: £${total.toFixed(2)}\u003c\/strong\u003e\u003c\/div\u003e`;\n    html += `\u003cbutton id=\"aac-add-all-1\"\u003eAdd All To Cart\u003c\/button\u003e`;\n\n    document.getElementById(\"aac-results-1\").innerHTML = html;\n\n    \/\/ single add\n    window.addToCart = function(id, qty, btn){\n      fetch('\/cart\/add.js', {\n        method:'POST',\n        headers:{'Content-Type':'application\/json'},\n        body:JSON.stringify({id, quantity:qty})\n      }).then(()=\u003esuccess(btn));\n    };\n\n    \/\/ add all\n    document.getElementById(\"aac-add-all-1\").addEventListener(\"click\", function () {\n\n      fetch('\/cart\/add.js', {\n        method:'POST',\n        headers:{'Content-Type':'application\/json'},\n        body:JSON.stringify({items:lastItems})\n      }).then(()=\u003e{\n        this.innerText = \"Added ✓\";\n      });\n\n    });\n\n  });\n\n})();\n\u003c\/script\u003e\n\u003chr\u003e\n\u003ch2\u003e\u003cbr\u003e\u003c\/h2\u003e\n\u003ch2\u003eKey Benefits \u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDesigned to reduce airborne and impact noise through timber floors\u003c\/li\u003e\n\u003cli\u003eDIY-friendly installation\u003c\/li\u003e\n\u003cli\u003eSlim overall build-up (approx. 16mm)\u003c\/li\u003e\n\u003cli\u003eCalculator provides a quick material estimate\u003c\/li\u003e\n\u003cli\u003eIncludes a 5% waste allowance in the calculated quantities\u003c\/li\u003e\n\u003cli\u003eSuitable for carpeted rooms and typical domestic floor upgrades\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003ch3\u003eImportant Notes \u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis system is designed for timber floors intended to be finished with carpet\u003c\/li\u003e\n\u003cli\u003eIt is intended to improve both airborne noise and impact noise, but results will vary depending on the existing floor construction\u003c\/li\u003e\n\u003cli\u003eSealant quantities are an approximation only and should be treated as a guide\u003c\/li\u003e\n\u003cli\u003eThe calculator is provided as a guide only, and final quantities should always be checked before ordering\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003e\u003cbr\u003e\u003c\/h2\u003e\n\u003ch2\u003eInstallation Summary \u003c\/h2\u003e\n\u003cp\u003eInstallation involves:\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003ePreparing the floor surface so it is clean, dry, and free from debris\u003c\/li\u003e\n\u003cli\u003eInstalling the first layer of 5kg MLV\u003c\/li\u003e\n\u003cli\u003eInstalling the second layer of 5kg MLV, staggering joints where possible\u003c\/li\u003e\n\u003cli\u003eSealing joints as required and applying Jointing Tape\u003c\/li\u003e\n\u003cli\u003eSealing perimeter gaps with AC95 Acoustic Sealant where required\u003c\/li\u003e\n\u003cli\u003eInstalling Silent Floor Ultra Underlay ready for carpet fitting\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003eFor a more detailed installation guide \u003ca href=\"https:\/\/www.advancedacoustics-uk.com\/pages\/essential-timber-floor-soundproofing-system\" title=\"Essential Timber Floor Soundproofing System\"\u003eclick here.\u003c\/a\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003ch3\u003eCalculator Disclaimer \u003c\/h3\u003e\n\u003cp\u003eThis calculator is intended as a guide only. Advanced Acoustics will not be held responsible for any decisions made as a result of using this calculator.\u003c\/p\u003e","brand":"Advanced Acoustics","offers":[{"title":"Default Title","offer_id":56643657957756,"sku":"SYS-FLOOR-TIMB-ESS-CARP","price":0.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0381\/4483\/5723\/files\/Basic_Timber_Floor_Soundproofing_System.jpg?v=1686146093","url":"https:\/\/www.advancedacoustics-uk.com\/fr\/products\/essential-timber-floor-soundproofing-system-carpet","provider":"Advanced Acoustics","version":"1.0","type":"link"}