{"product_id":"foco-customized","title":"Foco Customized","description":"\n\u003ch2\u003eFoco Customized\u003c\/h2\u003e\n\u003cp\u003eFoco customized gives you the option of customising you fireplace exactly to your wishes and measurements - We can make almost any size.\u003c\/p\u003e\n\u003cp\u003e\u003ci\u003eFeel free to contact us, to get a non-binding quote:\u003cbr\u003e\n\t\t\u003c\/i\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: bold;\"\u003eFor us to be able to make you a qoute, we will need these information: \u003cbr\u003e\n\t\t\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\t\u003cli\u003e\u003cspan style=\"font-weight: bold;\"\u003eFoco Model\u003c\/span\u003e\u003c\/li\u003e\n\t\u003cli\u003e\n\u003cspan style=\"font-weight: bold;\"\u003eWidth\u003c\/span\u003e\u003cbr\u003e\n\t\t\u003c\/li\u003e\n\t\u003cli\u003e\u003cspan style=\"font-weight: bold;\"\u003eDepth\u003c\/span\u003e\u003c\/li\u003e\n\t\u003cli\u003e\u003cspan style=\"font-weight: bold;\"\u003eHight (if relevant)\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003eAnd send us the information at \u003cspan style=\"font-weight: bold;\"\u003e\u003ca href=\"https:\/\/info@bioethanol-fireplace.co.uk\"\u003einfo@bioethanol-fireplace.co.uk\u003c\/a\u003e\u003c\/span\u003e \u003cspan style=\"font-weight: bold;\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"container\" style=\"max-width: 700px; margin-top: 40px;\"\u003e  \n\t\u003cdiv class=\"panel panel-default\" style=\"border-color: #f60; border-radius: 10px;\"\u003e    \n\t\t\u003cdiv class=\"panel-heading\" style=\"background-color: #f60; color: white;\"\u003e      \n\t\t\t\u003ch3 class=\"panel-title text-center\" style=\"font-weight: bold;\"\u003eFOCO Fires Configurator\u003c\/h3\u003e    \u003c\/div\u003e    \n\t\t\u003cdiv class=\"panel-body\" style=\"background-color: #fffaf5;\"\u003e      \n\t\t\t\u003cp class=\"text-center\"\u003eEnter dimensions and select burner type – the price updates automatically.\u003c\/p\u003e      \n\t\t\t\u003cdiv class=\"form-group\"\u003e        \n\t\t\t\t\u003clabel for=\"length\"\u003eLength (mm)\u003c\/label\u003e        \n\t\t\t\t\u003cinput type=\"number\" class=\"form-control\" id=\"length\" placeholder=\"e.g. 1000\" oninput=\"calculatePrice()\"\u003e      \u003c\/div\u003e      \n\t\t\t\u003cdiv class=\"form-group\"\u003e        \n\t\t\t\t\u003clabel for=\"depth\"\u003eDepth (mm)\u003c\/label\u003e        \n\t\t\t\t\u003cinput type=\"number\" class=\"form-control\" id=\"depth\" placeholder=\"e.g. 400\" oninput=\"calculatePrice()\"\u003e      \u003c\/div\u003e      \n\t\t\t\u003cdiv class=\"form-group\"\u003e        \n\t\t\t\t\u003clabel for=\"height\"\u003eHeight (mm)\u003c\/label\u003e        \n\t\t\t\t\u003cinput type=\"number\" class=\"form-control\" id=\"height\" placeholder=\"e.g. 600\" oninput=\"calculatePrice()\"\u003e      \u003c\/div\u003e      \n\t\t\t\u003cdiv class=\"form-group\"\u003e        \n\t\t\t\t\u003clabel for=\"burner\"\u003eBurner Type\u003c\/label\u003e        \n\t\t\t\t\u003cselect class=\"form-control\" id=\"burner\" onchange=\"calculatePrice()\"\u003e\n\t\t\t\t\u003c\/select\u003e      \u003c\/div\u003e      \n\t\t\t\u003cdiv id=\"output\" class=\"well\" style=\"margin-top: 20px; background-color: #fff2e6; border-color: #f60;\"\u003e \u003c\/div\u003e    \u003c\/div\u003e  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\/\/\u003c![CDATA[\nfunction calculatePrice() {\n  const length = parseInt(document.getElementById(\"length\").value);\n  const depth = parseInt(document.getElementById(\"depth\").value);\n  const height = parseInt(document.getElementById(\"height\").value);\n  const burnerSelect = document.getElementById(\"burner\");\n  const output = document.getElementById(\"output\");\n\n  if (isNaN(length) || isNaN(depth) || isNaN(height)) {\n    output.innerHTML = \"\u003cspan class='text-danger'\u003ePlease enter all dimensions.\u003c\/span\u003e\";\n    return;\n  }\n\n  if (length \u003e 2000 || depth \u003e 800 || height \u003e 800) {\n    output.innerHTML = \"\u003cstrong\u003ePlease contact us:\u003c\/strong\u003e For fireplaces over 2000 mm length or over 800 mm height\/depth.\";\n    return;\n  }\n\n  const isSlimline = depth \u003e= 100 \u0026\u0026 depth \u003c= 180;\n  const previousBurner = burnerSelect.value;\n  burnerSelect.innerHTML = '';\n\n  if (isSlimline) {\n    const opt = document.createElement(\"option\");\n    opt.value = \"slimline\";\n    opt.text = \"Slimline (manual)\";\n    burnerSelect.appendChild(opt);\n  } else {\n    const types = [\n      { value: \"superior\", text: \"Superior (manual)\" },\n      { value: \"prime\", text: \"PrimeFire\" },\n      { value: \"fla4\", text: \"FLA 4\" },\n      { value: \"fla4p\", text: \"FLA 4+\" }\n    ];\n    types.forEach(t =\u003e {\n      const opt = document.createElement(\"option\");\n      opt.value = t.value;\n      opt.text = t.text;\n      burnerSelect.appendChild(opt);\n    });\n  }\n\n  const exists = Array.from(burnerSelect.options).find(o =\u003e o.value === previousBurner);\n  burnerSelect.value = exists ? previousBurner : burnerSelect.options[0].value;\n  const burner = burnerSelect.value;\n\n  if (burner !== \"superior\" \u0026\u0026 burner !== \"slimline\" \u0026\u0026 depth \u003c 320) {\n    output.innerHTML = \"\u003cstrong\u003eNote:\u003c\/strong\u003e Automatic burners require a minimum depth of 320 mm.\";\n    return;\n  }\n\n  const standardData = {\n    600: { price: 1149, manual: \"Superior 45 cm\" },\n    800: { price: 1499, manual: \"Superior 60 cm\" },\n    1000: { price: 1699, manual: \"Superior 80 cm\" },\n    1200: { price: 1999, manual: \"Superior 100 cm\" },\n    1500: { price: 2499, manual: \"2x Superior 60 cm\" },\n    1800: { price: 2799, manual: \"2x Superior 80 cm\" }\n  };\n\n  const autoModels = {\n    800: {\n      prime: { name: \"PrimeFire 2.0 590\", price: 2300 },\n      fla4: { name: \"FLA 4 590\", price: 3879 },\n      fla4p: { name: \"FLA 4+ 590\", price: 5149 }\n    },\n    1000: {\n      prime: { name: \"PrimeFire 2.0 790\", price: 2375 },\n      fla4: { name: \"FLA 4 790\", price: 4799 },\n      fla4p: { name: \"FLA 4+ 790\", price: 6099 }\n    },\n    1200: {\n      prime: { name: \"PrimeFire 2.0 990\", price: 3899 },\n      fla4: { name: \"FLA 4 990\", price: 7439 },\n      fla4p: { name: \"FLA 4+ 990\", price: 6149 }\n    },\n    1500: {\n      prime: { name: \"PrimeFire 2.0 1190\", price: 5349 },\n      fla4: { name: \"FLA 4 1190\", price: 7399 },\n      fla4p: { name: \"FLA 4+ 1190\", price: 8699 }\n    },\n    1800: {\n      fla4: { name: \"FLA 4 1490\", price: 9149 },\n      fla4p: { name: \"FLA 4+ 1490\", price: 10399 }\n    }\n  };\n\n  let matchedSize = null;\n  let basePrice = 0;\n  let manualBurner = \"\";\n  const sorted = Object.keys(standardData).map(Number).sort((a, b) =\u003e a - b);\n\n  for (let i = 0; i \u003c sorted.length; i++) {\n    if (length \u003c= sorted[i]) {\n      matchedSize = sorted[i];\n      basePrice = standardData[matchedSize].price;\n      manualBurner = isSlimline ? \"Slimline\" : standardData[matchedSize].manual;\n      break;\n    }\n  }\n\n  if (!matchedSize) {\n    output.innerHTML = \"\u003cstrong\u003ePlease contact us:\u003c\/strong\u003e We cannot calculate a price for this length.\";\n    return;\n  }\n\n  basePrice = Math.round(basePrice * 1.3); \/\/ 30% surcharge\n  if (depth \u003e 600 || height \u003e 600) {\n    basePrice = Math.round(basePrice * 1.15); \/\/ 15% surcharge\n  }\n\n  let upgradePrice = 0;\n  let burnerDetails = manualBurner;\n\n  if (burner !== \"superior\" \u0026\u0026 burner !== \"slimline\") {\n    const models = autoModels[matchedSize];\n    if (models \u0026\u0026 models[burner]) {\n      burnerDetails = `${models[burner].name} (+ \u0026pound;${models[burner].price.toLocaleString('en-GB')})`;\n      upgradePrice = models[burner].price;\n    } else {\n      burnerDetails = \"Automatic burner – please contact us for options.\";\n    }\n  }\n\n  const totalPrice = basePrice + upgradePrice;\n\n  output.innerHTML =\n    `\u003cstrong\u003eDimensions:\u003c\/strong\u003e ${length} x ${depth} x ${height} mm\u003cbr\u003e` +\n    `\u003cstrong\u003eBurner:\u003c\/strong\u003e ${burnerDetails}\u003cbr\u003e` +\n    `\u003cstrong\u003eTotal Price:\u003c\/strong\u003e \u003cspan style=\"font-size: 18px; font-weight: bold;\"\u003e\u0026pound;${totalPrice.toLocaleString('en-GB')}\u003c\/span\u003e`;\n}\n\/\/]]\u003e\n\u003c\/script\u003e","brand":"Foco","offers":[{"title":"Default Title","offer_id":54014851875162,"sku":"FOCO-CUS","price":-1.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1013\/4349\/4490\/files\/foco_custom_56056.webp?v=1776444618","url":"https:\/\/bio-krb.sk\/en\/products\/foco-customized","provider":"Bio Fireplace Group","version":"1.0","type":"link"}