Horizon Stone Quartz

£0.00

<!– Stone Price Calculator with Supplier Lookup –>
<div id=”stone-calculator”>
<label for=”supplier”>Supplier:</label>
<select id=”supplier”>
<option value=”Horizon”>Horizon</option>
<option value=”Classic Quartz”>Classic Quartz</option>
</select>

<label for=”thickness”>Thickness:</label>
<select id=”thickness”>
<option value=”20mm”>20mm</option>
<option value=”30mm”>30mm</option>
</select>

<label for=”color”>Colour:</label>
<select id=”color”></select>

<label for=”length”>Length (mm):</label>
<input type=”number” id=”length” placeholder=”e.g., 2500″>

<label for=”width”>Width (mm):</label>
<input type=”number” id=”width” placeholder=”e.g., 600″>

<fieldset>
<legend>Additional Fabrication Options:</legend>
<label><input type=”checkbox” class=”extra-option” data-price=”150″ /> Drainer Grooves (£150)</label><br>
<label><input type=”checkbox” class=”extra-option” data-price=”125″ /> Sink Cut Out (£125)</label><br>
<label><input type=”checkbox” class=”extra-option” data-price=”100″ /> Hob Cut Out (£100)</label>
</fieldset>

<p><strong>Total Price: </strong> <span id=”total-price”>£0.00</span></p>
</div>

<script>
const priceData = {
“Horizon”: {
“20mm”: {
“GALAXY WHITE”: 899.0, “GALAXY BLACK”: 899.0, “GALAXY GREY”: 899.0,
“SNOW WHITE”: 930.0, “SUPER WHITE”: 1240.0, “BIANCO CARRARA”: 1240.0,
“CARRARA CRYSTAL”: 1240.0, “WHITE FUSION”: 1705.0, “STATUARIO ORO”: 1395.0,
“CALACATA MODERNA”: 1395.0, “CANCUN”: 1550.0, “MONTCLAIR”: 1550.0,
“VALETTA”: 1550.0, “SAMANA”: 1550.0, “MONSANTO”: 1550.0, “MYSTERY”: 1240.0,
“MYSTERY GOLD”: 1240.0, “LUNA GREY L”: 1550.0, “LUNA GREY P”: 1705.0,
“FANTAZIA”: 1705.0, “CALACATTA PEARLA”: 1705.0, “FROZEN”: 1705.0,
“ECLIPSE L”: 1705.0, “ECLIPSE P”: 1705.0, “SPIDER GOLD”: 1705.0,
“IMPERIAL”: 1705.0, “KASHMIR WHITE”: 1705.0, “KAVALA BROWN”: 1705.0,
“EQUINOX”: 1333.0, “PHOENIX”: 1333.0, “ZODIAC”: 1333.0, “ZINC”: 1333.0,
“CALACATTA SUPERNOVA”: 1333.0, “CALACATTA INFERNO”: 1333.0, “ONYX BROWN”: 2015.0,
“CALACATTA BRONZITE”: 2015.0, “SODALITE BLUE”: 2015.0, “PERSIAN GREEN”: 2015.0,
“PORTORO NOIR”: 2015.0
},
“30mm”: {
“GALAXY WHITE”: 989.0, “GALAXY BLACK”: 989.0, “GALAXY GREY”: 989.0,
“SNOW WHITE”: 1023.0, “SUPER WHITE”: 1364.0, “BIANCO CARRARA”: 1364.0,
“CARRARA CRYSTAL”: 1364.0, “WHITE FUSION”: 1876.0, “STATUARIO ORO”: 1535.0,
“CALACATA MODERNA”: 1535.0, “CANCUN”: 1705.0, “MONTCLAIR”: 1705.0,
“VALETTA”: 1705.0, “SAMANA”: 1705.0, “MONSANTO”: 1705.0, “MYSTERY”: 1364.0,
“MYSTERY GOLD”: 1364.0, “LUNA GREY L”: 1705.0, “LUNA GREY P”: 1876.0,
“FANTAZIA”: 1876.0, “CALACATTA PEARLA”: 1876.0, “FROZEN”: 1876.0,
“ECLIPSE L”: 1876.0, “ECLIPSE P”: 1876.0, “SPIDER GOLD”: 1876.0,
“IMPERIAL”: 1876.0, “KASHMIR WHITE”: 1876.0, “KAVALA BROWN”: 1876.0,
“EQUINOX”: 1466.0, “PHOENIX”: 1466.0, “ZODIAC”: 1466.0, “ZINC”: 1466.0,
“CALACATTA SUPERNOVA”: 1466.0, “CALACATTA INFERNO”: 1466.0, “ONYX BROWN”: 2216.0,
“CALACATTA BRONZITE”: 2216.0, “SODALITE BLUE”: 2216.0, “PERSIAN GREEN”: 2216.0,
“PORTORO NOIR”: 2216.0
}
},
“Classic Quartz”: {
“20mm”: {
“BRILLO NOIR”: 1178.0, “BRILLO GRIS”: 1178.0, “IBIZA”: 1497.3,
“FLORENCE”: 1497.3, “MARBRE CARRARA”: 2055.3, “SAN VINCENTE”: 2055.3,
“OLYMPIA”: 2055.3, “ROMA GREY”: 2055.3, “ROMA BLACK”: 2055.3,
“FIJI”: 2055.3, “TAHITI”: 2055.3, “CALACATTA MILAN”: 2608.5,
“STATUARIO MILAN”: 2608.5, “CALACATTA LUSSO”: 2608.5, “STATUARIO VENATO”: 2608.5
},
“30mm”: {
“BRILLO NOIR”: 1364.0, “BRILLO GRIS”: 1364.0, “IBIZA”: 1822.8,
“FLORENCE”: 1818.15, “MARBRE CARRARA”: 2371.5, “SAN VINCENTE”: 2371.5,
“OLYMPIA”: 2371.5, “ROMA GREY”: 2371.5, “ROMA BLACK”: 2371.5,
“FIJI”: 2371.5, “TAHITI”: 2371.5, “CALACATTA MILAN”: 3161.85,
“STATUARIO MILAN”: 3161.85, “CALACATTA LUSSO”: 3161.85, “STATUARIO VENATO”: 3161.85
}
}
};

const supplierSelect = document.getElementById(“supplier”);
const thicknessSelect = document.getElementById(“thickness”);
const colorSelect = document.getElementById(“color”);
const lengthInput = document.getElementById(“length”);
const widthInput = document.getElementById(“width”);
const totalPriceEl = document.getElementById(“total-price”);
const extras = document.querySelectorAll(“.extra-option”);

function populateColors() {
const supplier = supplierSelect.value;
const thickness = thicknessSelect.value;
colorSelect.innerHTML = “”;
const colors = priceData[supplier][thickness] || {};
Object.keys(colors).forEach(color => {
const option = document.createElement(“option”);
option.value = color;
option.textContent = color;
colorSelect.appendChild(option);
});
calculatePrice();
}

function calculatePrice() {
const supplier = supplierSelect.value;
const thickness = thicknessSelect.value;
const color = colorSelect.value;
const length = parseFloat(lengthInput.value);
const width = parseFloat(widthInput.value);

if (!length || !width || !color || !priceData[supplier][thickness][color]) {
totalPriceEl.textContent = “£0.00”;
return;
}

const pricePerSqM = priceData[supplier][thickness][color];
const area = (length * width) / 1000000;
let total = area * pricePerSqM;

extras.forEach(extra => {
if (extra.checked) {
total += parseFloat(extra.dataset.price);
}
});

totalPriceEl.textContent = `£${total.toFixed(2)}`;
}

supplierSelect.addEventListener(“change”, populateColors);
thicknessSelect.addEventListener(“change”, populateColors);
colorSelect.addEventListener(“change”, calculatePrice);
lengthInput.addEventListener(“input”, calculatePrice);
widthInput.addEventListener(“input”, calculatePrice);
extras.forEach(extra => extra.addEventListener(“change”, calculatePrice));

populateColors();
</script>

  • *Material Thickness

    *Colour

    *Colour

Estimated delivery on 12 November - 2 December, 2025
Category: