Product details
Kitchens |
Standard Delivery Time: 10 - 12 weeks |
Doors |
Standard Delivery Time: 6 - 8 weeks (Delivery times may vary depending on production volume) |
|
Take a look at our Delivery Pricing |
');
localStorage.removeItem('Updated');
}
$('#button-cart').on('click', function() {
console.log("adding to cart");
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'),
dataType: 'json',
beforeSend: function() {
$('#button-cart').button('loading');
},
complete: function() {
$('#button-cart').button('reset');
},
success: function(json) {
$('.text-danger').remove();
$('.form-group').removeClass('has-error');
$('.form-group .panel-heading').removeClass('has-error');
$('.form-group .optionLabelHead').removeClass('has-error');
if (json['error']) {
if (json['error']['option']) {
for (i in json['error']['option']) {
var element = $('#input-option' + i.replace('_', '-'));
if (element.parent().hasClass('input-group')) {
element.parent().after('
' + json['error']['option'][i] + '
');
} else {
if(element.find(".control-label")){
element.parent().find(".optionLabelHead").prepend(element.parent().find(".control-label"));
}
if(element.parent().find(".optionLabelHead").find(".text-danger").length == 0){
element.parent().find(".optionLabelHead").append('
' + json['error']['option'][i] + '
');
}
}
}
}
if (json['error']['recurring']) {
$('select[name=\'recurring_id\']').after('
' + json['error']['recurring'] + '
');
}
// Highlight any found errors
$('.text-danger').parent().addClass('has-error');
$("#stick-right .has-error").remove();
$("#stick-right").append('
*Please Select Required Options
');
//Scroll to the first element that has the .has-error class
$.scrollStatus = new Object();
$([document.documentElement, document.body]).animate({scrollTop: $("#product .has-error").offset().top - 145}, 1000);
$.scrollStatus.scrolling = true;
//Stop the window from being scrolled; put into function for DRY
function scrollStop(source){
// console.log("scrollStop called from: " + source);
if($.scrollStatus.scrolling){
$([document.documentElement, document.body]).stop(true);
$(window).unbind("mousewheel DOMMouseScroll");
}
}
//Detects if the mouse scroll wheel is being scrolled up or down and then stops the animation from being completed.
$(window).bind('mousewheel DOMMouseScroll', function(event){
if(event.originalEvent.wheelDelta > 0 || event.originalEvent.wheelDelta 0){
scrollStop("scroll");
}
});
//Keydown used as to catch if the arrow keys have been used
$(document).on("keydown", function(e){
scrollStop("keydown");
});
//As of 27/09/18 untested on mobile
$(document).on("tap", function(e){
scrollStop("tap")
});
//As of 27/09/18 untested on mobile
$(document).on("swipe", function(e){
scrollStop("swipe")
});
}
if (json['success']) {
var addedProductAlert = document.querySelector('.alert-update-product');
if (addedProductAlert) {
addedProductAlert.remove();
}
$('#cart > ul .basket-container-inner').load('index.php?route=common/cart/info ul li', function(responseText, textStatus, XMLHttpRequest) {
if (textStatus == 'success') {
function initializeCookie(cookieName, cookieValue, cookieExpiry) {
var newDate = new Date();
newDate.setTime(newDate.getTime() + (cookieExpiry*24*60*60*1000));
var expires = `expires=${newDate.toUTCString()}`;
document.cookie = `${cookieName}=${cookieValue}; ${expires}; path=/`;
}
const basketHighlightTooltips = [
{
id: 'view-basket-proceed',
heading: 'View Basket',
body: 'View basket to proceed to checkout or save a quote.',
},
{
id: 'banner-kitchen-3d-viewer',
heading: 'Naked Kitchens 3D Viewer',
body: 'View your cabinets in our 3D planner',
}
];
// Divs to attach tooltips
const highlightAreas = {
qoute: document.querySelector('#view-basket-proceed'),
banner: document.querySelector('#kitchen-3d-banner-link'),
}
const highlightTooltip = (attachArea, options) => {
var current = 1;
var arrowCloseBool = false;
// create tootlips and attach to elements
const setupDomElement = () => {
for (var i = 0; i
clear
${heading}
${body}
arrow_back
Prev
Next
arrow_forward
`;
}
}
attachArea[0].setAttribute('data-attach-tooltip', 'attach-area');
var kitchenBanner = attachArea[1].querySelector('.kitchen-3d-banner');
kitchenBanner.setAttribute('data-attach-tooltip', 'attach-area');
attachArea[i].insertAdjacentHTML('beforebegin', markup);
var cartTooltip = attachArea[0].previousElementSibling;
cartTooltip.classList.add('active-cart-tooltip')
// set box shadow overlay
attachArea[0].classList.add('box-shadow-tour-overlay');
}
}
const closeTooltipsHandler = () => {
const closeTooltip = document.querySelectorAll('.cart-tooltip-close');
const closeTooltipCards = document.querySelectorAll('.cart-tooltip-highlight');
const dataElements = document.querySelectorAll("[data-attach-tooltip");
closeTooltip.forEach(el => {
el.addEventListener('click', function(e) {
closeTooltipCards.forEach(cardTooltip => cardTooltip.remove());
dataElements.forEach(dEl => dEl.classList.remove('box-shadow-tour-overlay'));
});
});
}
const showTooltip = () => {
const cartTooltipHighlights = document.querySelectorAll('.cart-tooltip-highlight');
const cartNext = document.querySelectorAll('#cart-tour__next');
const cartPrev = document.querySelectorAll('#cart-tour__prev');
const tooltipNumbers = document.querySelectorAll('p.cart-tour-card-count');
const dataElementsTooltips = document.querySelectorAll("[data-attach-tooltip");
var total = cartTooltipHighlights.length;
tooltipNumbers.forEach(tooltipNum => {
tooltipNum.innerHTML = `${current} of ${total}`;
})
// show next tooltip
cartNext.forEach(cNext => {
cNext.addEventListener('click', () => {
var next = current;
current = current + 1;
setTooltip(next, current);
});
});
// show prev tooltip
cartPrev.forEach(cPrev => {
cPrev.addEventListener('click', () => {
var prev = current;
current = current - 1;
setTooltip(prev, current);
});
});
const setTooltip = (prev, next) => {
var slide = current;
if (next > total - 1) {
slide = 0;
current = 0;
}
if (next {
el.classList.remove('active-cart-tooltip');
dataElementsTooltips.forEach(dEl => {
dEl.classList.remove('box-shadow-tour-overlay');
})
})
})
}
cartTooltipHighlights[prev].classList.remove('active-cart-tooltip');
cartTooltipHighlights[slide].classList.add('active-cart-tooltip');
dataElementsTooltips[slide].classList.add('box-shadow-tour-overlay');
dataElementsTooltips[prev].classList.remove('box-shadow-tour-overlay');
}
}
setupDomElement();
closeTooltipsHandler();
showTooltip();
}
if (!document.cookie.split(';').some((item) => item.trim().startsWith('cart-tooltips='))) {
initializeCookie('cart-tooltips', true, 30);
basketToggle();
highlightTooltip([highlightAreas.qoute, highlightAreas.banner], {
tooltips: basketHighlightTooltips,
});
}
}
});
if (window.location.href.indexOf("?&update") > -1) {
var updatedUrl = window.location.href.split('?');
// window.history.pushState(null,null,updatedUrl[0])
localStorage.setItem('Updated', true);
location = updatedUrl[0];
}
var attachedProductAlert = document.querySelector('.alert-update-product')
setTimeout(function() {
if (attachedProductAlert) {
attachedProductAlert.style.animation = 'slideOutSuccess .3s cubic-bezier(0.04,0.52,1,1) forwards';
attachedProductAlert.style.visibility = 'hidden';
}
}, 6000);
var buttonCl = document.querySelector('.close');
buttonCl.addEventListener('click', function() {
clearTimeout(attachedProductAlert)
});
}
},
error: function(xhr, ajaxOptions, thrownError) {
alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
});
var initialOptionChosen = false;
// //"Choose Options" button scroll to options when clicked.
// $("#button-choose-options").on("click", function(){
// var visibleGroups = $("#product .visible-option-link");
// if (!initialOptionChosen)
// {
// scrollToProduct(visibleGroups[0]);
// initialOptionChosen = true;
// }
// else
// {
// $.each(visibleGroups, function(index, value){
// if($(value).find("input[type='radio']").length > 0 && $(value).find("input:radio:checked").length == 0){
// scrollToProduct(value);
// return false;
// }
// if($(value).find("input[type='checkbox']").length > 0 && $(value).find("input:checkbox:checked") == 0){
// scrollToProduct(value);
// return false;
// }
// if($(value).find(".bootstrap-tagsinput").length == 0){
// if($(value).find("input[type='text']:not(input[type='text']:hidden)").length > 0 && $(value).find("input:text[value!='']:not(input[type='text']:hidden)")){
// scrollToProduct(value);
// return false;
// }
// }else{
// if($(value).find("span.tag").length == 0){
// scrollToProduct(value);
// return false;
// }
// }
// if($(value).find("select").length > 0 && $(value).find("select").prop("selectedIndex")