Super Customer Service
Transparent Pricing & Secure Payments
Nationwide Delivery Available On All Orders
UK's Largest Online Builders Merchant
Start right away with 4 months to pay
Enjoy 0% over 4 monthly instalments*
View finance options
* Subject to status. Minimum spend required. T&Cs apply.
The SMART way to buy trade building materials
Sign up today for a cash or credit account, exclusive discounts, rebates and rewards with a Building Superstore Account
See our specialist stores
Be first to know about offers, product deals, exclusive discounts and industry news.
Would you like to empty your basket?
Yes No
Request a call back
'); } }); } function callBackValidation() { var charexp = / /gi; // used to strip white space var formError = false; $('#call-back__form').find('.call-back__input, .call-back__select').each(function () { if ($(this).val().replace(charexp, "") == "") { formError = true; } }); if (true === formError) { return false; } else { pushFormSubmission('Request a Callback'); $('#js-call-back-save-btn').css('visibility', 'hidden').attr('disabled', true); grecaptcha.execute(recaptchaCallBack); } } function callBackRecapcha(token) { insertCallBackRequest(); } function insertProductQuestion() { var thisForm = $("#product-question__form"); var questionFormHeader = $("#js-product-question-header-wrapper"); var questionHeaderWrapper = $("#js-product-question-header-wrapper"); var questionSaveBtn = $('#js-product-question-save-btn'); $.ajax({ url: thisForm.attr('action'), type: thisForm.attr('method'), data: thisForm.serialize(), dataType: "json", cache: false, error: function () { alert('The invisible reCAPTCHA failed, please try again.'); grecaptcha.reset(recaptchaProductQuestion); grecaptcha.execute(recaptchaProductQuestion); questionSaveBtn.css('visibility', '').attr('disabled', false); }, success: function (response) { if (false === response['email-error']) { thisForm.hide(); questionFormHeader.html('
Thank you for the product question
When your question is answered, it will be listed above.
'); questionHeaderWrapper.addClass('product-question-success').removeClass('product-question-error'); grecaptcha.reset(recaptchaProductQuestion); } else { questionFormHeader.html('
There\'s been a problem
'); questionHeaderWrapper.addClass('product-question-error').removeClass('product-question-success'); grecaptcha.reset(recaptchaProductQuestion); questionSaveBtn.css('visibility', '').attr('disabled', false); } } }); } function productQuestionValidation() { var charexp = / /gi; // used to strip white space var alertMessage = ''; var formError = false; $('#product-question__form').find('.product-question__input').each(function () { if (($(this).attr('name') !== 'email_address' || $(this).attr('name') === 'telephone_number') && $(this).val().replace(charexp, '') === '') { alertMessage += $(this).data('error') + '\n'; formError = true; } else if ($(this).attr('name') === 'email_address' && /^[\w\d_-](\.?[\w\d_-])*@[\w\d_-]+\.([\w]{1,20}\.)?([\w]{1,20}\.)?[\w]{2,20}$/g.test($(this).val()) === false) { // Check email is not blank and valid alertMessage += $(this).data('error') + '\n'; formError = true; } else if ($(this).attr('name') === 'telephone_number' && /^[0-9s()-+]{6,25}$/g.test($(this).val().replace(charexp, '')) === false) { // Check telephone is not blank and valid alertMessage += $(this).data('error'); formError = true; } }); if (true == formError) { alert('The fields below have errors : \n' + alertMessage); return false; } else { pushFormSubmission('Product Question'); grecaptcha.execute(recaptchaProductQuestion); } } function contactFormSPERecaptcha(token) { woofuCaptchaValidate(token, 'collapseOne'); grecaptcha.execute(recaptchaContactFormSPE); } function contactFormCSERecaptcha(token) { woofuCaptchaValidate(token, 'collapseTwo'); grecaptcha.execute(recaptchaContactFormCSE); } function contactFormFCRecaptcha(token) { woofuCaptchaValidate(token, 'collapseThree'); grecaptcha.execute(recaptchaContactFormFC); } function contactFormValidation(contactFormReference, recaptchaVariable) { var charexp = / /gi; // used to strip white space var alertMessage = ''; var formError = false; $('#'+contactFormReference).find('.js-contact-form-input').each(function () { var field = $(this).data('label'); var required = $(this).prop('required'); // Check to ensure required fields contain data if (required && $(this).val() === '') { alertMessage += field + '\n'; formError = true; } else if ('Email Address' === field && /^[\w\d_-](\.?[\w\d_-])*@[\w\d_-]+\.([\w]{1,20}\.)?([\w]{1,20}\.)?[\w]{2,20}$/g.test($(this).val()) === false) { // Check email is not blank and valid alertMessage += field + '\n'; formError = true; } else if ('Telephone' === field && /^[0-9s()-+]{6,25}$/g.test($(this).val().replace(charexp, '')) === false) { // Check telephone is not blank and valid alertMessage += field + '\n'; formError = true; } else if ('Enquiry Type' === field && 'Select an enquiry type' === $(this).val()) { alertMessage += field + '\n'; formError = true; } }); if (true === formError) { alert('The fields below have errors : \n' + alertMessage); return false; } else { grecaptcha.execute(recaptchaVariable); } } function woofuCaptchaValidate(token, contactFormReference) { $.ajax({ url: 'https://www.plumbingsuperstore.co.uk/verify-captcha', type: 'POST', data: { 'g-recaptcha-response': token }, dataType: "json", cache: false, error: function () { alert('The invisible reCAPTCHA failed, please try again.'); grecaptcha.reset(recaptchaProductQuestion); grecaptcha.execute(recaptchaProductQuestion); }, success: function (response) { if ('success' === response.response) { $('#' + contactFormReference + ' form .recaptcha-field').remove(); $('#' + contactFormReference + ' form').submit(); } else { alert('The invisible reCAPTCHA failed, please try again.'); } } }); } function whatsappSharingRecaptcha(token) { grecaptcha.execute(recaptchaWhatsappSharing); } function smsSharingRecaptcha(token) { grecaptcha.execute(recaptchaSmsSharing); } function emailSharingRecaptcha(token) { grecaptcha.execute(recaptchaEmailSharing); } function validateShareBasketInput(inputId) { var charexp = / /gi; // used to strip white space var alertMessage = ''; if ($(inputId).attr('type') === 'tel' && /^[0-9+]{9,20}$/g.test($(inputId).val().replace(charexp, '')) === false) { // Check telephone is not blank and valid alertMessage += 'Mobile number'; } else if ($(inputId).attr('type') === 'email' && /^[\w\d_-](\.?[\w\d_-])*@[\w\d_-]+\.([\w]{1,20}\.)?([\w]{1,20}\.)?[\w]{2,20}$/g.test($(inputId).val()) === false) { // Check email is not blank and valid alertMessage += 'Email address'; } if (alertMessage.length > 0) { alert(alertMessage + ' is not valid.'); return false; } else { postSharingForm($(inputId).parent().parent().parent()); } } function postSharingForm(thisForm) { var shareBtn = thisForm.find('.share-button').first(); var thisFormId = thisForm[0].id; var gRecaptchaResponse = thisForm.find('.g-recaptcha-response')[0].value; var sharingVar = ''; if (thisFormId === 'smsMobileSharing') { sharingVar = recaptchaSmsSharing; } else if (thisFormId === 'whatsappMobileSharing') { sharingVar = recaptchaWhatsappSharing; } else if (thisFormId === 'emailSharing') { sharingVar = recaptchaEmailSharing; } var sharingInput = thisForm.find('.js-sharing-input'); if (gRecaptchaResponse === '') { alert('Please check the reCaptcha and try again.'); } else if (sharingVar !== '') { shareBtn.first().css('visibility', 'hidden').attr('disabled', true); $.ajax({ url: thisForm.data('url'), type: 'POST', data: { 'shareMethod': thisFormId, 'sharingInput': $(sharingInput).val(), 'permalink': $('#basketPermalinkInput').val(), 'recaptcha': gRecaptchaResponse }, error: function () { shareBtn.first().css('visibility', '').attr('disabled', false); alert('Sharing failed, please try again.'); grecaptcha.reset(sharingVar); grecaptcha.execute(sharingVar); }, success: function (response) { if (response['response'] === 'success') { var dataLayer = window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'event': 'basketShare', 'method': thisFormId, 'permalink': $('#basketPermalinkInput').val() }); thisForm.hide(); $('#js-sharing-success').show(); grecaptcha.reset(sharingVar); var basketSharedViaWhatsApp = response['cookies']['basketSharedViaWhatsApp']; var basketSharedViaSms = response['cookies']['basketSharedViaSms']; var basketSharedViaEmail = response['cookies']['basketSharedViaEmail']; if (basketSharedViaWhatsApp && basketSharedViaSms && basketSharedViaEmail) { $('.allShareContainers').remove(); } else { if (basketSharedViaWhatsApp) { $('#whatsappShareContainer').remove(); } if (basketSharedViaSms) { $('#smsShareContainer').remove(); } if (basketSharedViaEmail) { $('#emailShareContainer').remove(); } } if (response['additional'] !== undefined) { var win = window.open(response['additional'], '_blank'); win.focus(); } } } }); } else { alert('Could not find reCAPTCHA. Please refresh and try again.'); } } function productQuestionsRecapcha(token) { $('#js-product-question-save-btn').css('visibility', 'hidden').attr('disabled', true); insertProductQuestion(); } function subscribeFormValidation() { var formError = false; const customerName = $('#customer_name'); const customerEmail = $('#customer_email'); var alertMessage = ''; if (customerName.val().replace(/ /i, "") === "") { alertMessage += 'Your name.\n'; formError = true; } if (/^[\w\d_-](\.?[\w\d_-])*@[\w\d_-]+\.([\w]{1,20}\.)?([\w]{1,20}\.)?[\w]{2,20}$/g.test(customerEmail.val()) === false) { alertMessage += 'A valid email address.'; formError = true; } if (true === formError) { alert('Please enter the following and try again: \n' + alertMessage); return false; } else { $('#js-subscribe-save-btn').css('visibility', 'hidden').attr('disabled', true); grecaptcha.execute(recaptchaSubscribe); } } function submitSubscribeFormData() { var thisForm = $("#js-subscribe-form"); $.ajax({ url: thisForm.attr('action'), type: thisForm.attr('method'), data: thisForm.serialize(), dataType: "json", cache: false, error: function () { alert('The invisible reCAPTCHA failed, please try again.'); grecaptcha.reset(recaptchaSubscribe); grecaptcha.execute(recaptchaSubscribe); }, success: function (response) { window.location.href = '/pages/subscribe-confirmation.html'; } }); } function subscribeRecapcha(token) { submitSubscribeFormData(); } var onloadCallback = function () { /* Attached to Request a Call Back Form */ if ($('#callBackRecapcha').length) { recaptchaCallBack = grecaptcha.render('callBackRecapcha', { 'sitekey': reCaptchaSiteKey, 'callback': callBackRecapcha, 'size': 'invisible', 'badge': 'inline' }); } /* Attached to Product Question Form */ if ($('#productQuestionsRecapcha').length) { recaptchaProductQuestion = grecaptcha.render('productQuestionsRecapcha', { 'sitekey': reCaptchaSiteKey, 'callback': productQuestionsRecapcha, 'size': 'invisible', 'badge': 'inline' }); } /* Attached to SPE Contact Form */ if ($('#contactFormSPERecaptcha').length) { recaptchaContactFormSPE = grecaptcha.render('contactFormSPERecaptcha', { 'sitekey': reCaptchaSiteKey, 'callback': contactFormSPERecaptcha, 'size': 'invisible', 'badge': 'inline' }); } if ($('#contactFormCSERecaptcha').length) { recaptchaContactFormCSE = grecaptcha.render('contactFormCSERecaptcha', { 'sitekey': reCaptchaSiteKey, 'callback': contactFormCSERecaptcha, 'size': 'invisible', 'badge': 'inline' }); } if ($('#contactFormFCRecaptcha').length) { recaptchaContactFormFC = grecaptcha.render('contactFormFCRecaptcha', { 'sitekey': reCaptchaSiteKey, 'callback': contactFormFCRecaptcha, 'size': 'invisible', 'badge': 'inline' }); } if ($('#subscribeRecapcha').length) { recaptchaSubscribe = grecaptcha.render('subscribeRecapcha', { 'sitekey': reCaptchaSiteKey, 'callback': subscribeRecapcha, 'size': 'invisible', 'badge': 'inline' }); } }; $(document).ready(function () { // Load recaptcha JS when a product question or callback request form element receives focus var captchaLoaded = false; $('.product-question__input, .call-back__input, .call-back__select, .js-sharing-input, .subscribe__input, .js-contact-form-input').on('focus', function () { // Only load JS once if (captchaLoaded) { return; } var head = document.getElementsByTagName('head')[0]; var recaptchaScript = document.createElement('script'); recaptchaScript.type = 'text/javascript'; recaptchaScript.src = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit'; recaptchaScript.defer = true; head.appendChild(recaptchaScript); captchaLoaded = true; }); $('#js-call-back-save-btn').click(function () { callBackValidation(); }); $('#js-product-question-save-btn').click(function () { productQuestionValidation(); }); $('#js-subscribe-save-btn').click(function (event) { event.preventDefault(); subscribeFormValidation(); }); // Contact Form submit detects $('#saveForm_SPE').click(function (event) { event.preventDefault(); contactFormValidation('collapseOne', recaptchaContactFormSPE); }); $('#saveForm_CSE').click(function (event) { event.preventDefault(); contactFormValidation('collapseTwo', recaptchaContactFormCSE); }); $('#saveForm_FC').click(function (event) { event.preventDefault(); contactFormValidation('collapseThree', recaptchaContactFormFC); }); /* Set-up Category/Brand/Search price slider */ if ($('.js-range-slider').length) { $('head').append('
'); $.ajax({ url: "/user/themes/base/assets/js/ion.rangeSlider/js/ion.rangeSlider.min.js", context: document.body }).done(function() { $('.js-range-slider').ionRangeSlider({ skin: "round", prettify_enabled: true, prettify_separator: ',' }); }); } });
Sorry
It seems you are running an older version of Internet Explorer. Our site does not support these old browsers as they do not house the technology that allows our site to be safe and secure.
If you wish to access our site please either upgrade your browser or download an alternative.