SPF3719-22.2K SuperPro Anti-Roll Bar Mount Bush Kit

SuperPro SPF3719-22.2K SWAY BAR TO CHASSIS 22.2MM KIT

RRP: £64.91

£56.99 inc VAT (£47.49 + VAT)

SPF3719-22.2K SuperPro Anti-Roll Bar Mount Bush Kit

// Picture element HTML5 shiv
document.createElement( “picture” );

×

#motulNav.overlay {
background-color: #000;
}
#motulNav.overlay a {
color: #ffffff;
}
#motulNav.overlay a:hover {
color: #ec2027;
}
.motul-menu {
background-color: #000;
background-image:url(images/suppliers/Motul/menu-bg.jpg);
background-position: bottom right;
background-size: 100%;
background-repeat:no-repeat;
padding-bottom: 50vh;
}
.motul-menu h1 {
border-bottom-color: #ec2027;
margin: 20px 0;
}
.motul-menu h2 {
margin: 20px 0;
}
.motul-menu ul {
font-family: ‘Oswald’, sans-serif;
list-style: none; /* Remove default bullets */
}
.motul-menu ul li::before {
color: #ec2027;
content: “2022”; /* Add content: 2022 is the CSS Code/unicode for a bullet */
font-weight: bold; /* If you want it to be bold */
display: inline-block; /* Needed to add space between the bullet and the text */
width: 1em; /* Also needed for space (tweak if needed) */
margin-left: -1em; /* Also needed for space (tweak if needed) */
}
.motul-menu ul li {
margin: 20px 0 0 0;
font-weight: 300;
}
#motulNav.overlay .motul-menu ul li a {
line-height: 1;
font-size: 120%;
display: inline-block;
transition: all 0.12s ease 0s;
}
#motulNav.overlay .motul-menu ul li a:hover, .motul-menu ul li a:active {
background-color: #ec2027;
color: #fff;
}
.motul-menu ul li ul {
margin: 0 auto;
}
.motul-menu ul li ul li {
margin: 0 auto;
padding: 0;
}
.motul-menu ul li ul li:last-child {
margin-bottom: 10px;
}

Motul

We are now a top-tier distributor of Motul products in the UK.

Motul offers you all you need as a good full-range supplier: mineral-based oils, semi-synthetic and 100% synthetic oils, ester-based racing oils, special oils and gear oils, to ensure you always have the right oil for each specific engine. Motul also covers all manufacturer requirements.

  • Additives Range

  • Car Care

  • Cleaning and Polishing

  • Clothing & Merch

  • Fluids, Oils and Lubes

  • Air Intake Cleaner

  • Brake Cleaner

  • Brake Fluids

  • Ceramic Grease

  • Coolants and Anti-Freeze

  • Cooling System Additives & Flushes

  • Radiator Cleaners

  • Stop Radiator Leaks

  • Emission Reduction Kits

  • Engine Oil Additives and Flushes

  • Engine Cleaner / Flush

  • Hydraulic Valve Lifter Care

  • Stop Oil Leaks

  • Engine Oils

  • By Viscosity
  • 0W-12
  • 0W-15
  • 0W-16
  • 0W-20
  • 0W-30
  • 0W-40
  • 0W-8
  • 10W-30
  • 10W-40
  • 10W-50
  • 10W-60
  • 15W-40
  • 15W-50
  • 20W-50
  • 20W-60
  • 5W-20
  • 5W-30
  • 5W-40
  • 5W-50
  • 5W-60
  • 75W-140
  • SAE 30
  • SAE 40
  • SAE 50
  • SAE 90
  • By Manufacturer Approval
  • Abarth
  • 0101
  • BMW
  • LL-01
  • LL-04
  • LL-12 FE
  • LL-17 FE+
  • Daimler
  • MB 226.5
  • MB 229.3
  • MB 229.5
  • MB 229.51
  • MB 229.52
  • MB 229.71
  • MB 229.1
  • MB 236.9
  • MB 236.14
  • MB 236.15
  • Ford
  • WSS M2C 913-D
  • WSS M2C 934-B
  • WSS M2C 937-A
  • WSS M2C 948-B
  • WSS M2C 950-A
  • WSS M2C 931-C
  • Jaguar / Land Rover
  • STJLR.03.5003
  • STJLR.03.5004
  • STJLR.03.5005
  • STJLR.03.5006
  • STJLR.51.5122
  • STJLR.03.5007
  • Opel / General Motors
  • GM dexos 2â„¢
  • GM dexos 1â„¢ Gen 2
  • OV 0401547
  • Porsche
  • A40
  • C20
  • C30
  • C40
  • PSA-Group (Peugeot, Citroen and DS)
  • B71 2290
  • B71 2312
  • Renault
  • RN0700
  • RN0710
  • RN0720
  • RN17FE
  • Volkswagen
  • VW 501 01
  • VW 502 00
  • VW 504 00
  • VW 505 00
  • VW 508 00 – VW 509 00
  • VW 511 00
  • Volvo
  • VCC 95200377
  • VCC RBS0-2AE
  • VCC 95200356
  • 300V

  • 4000 & 2000

  • 4100 & 2100

  • 6100

  • 8100

  • 8100 Power

  • Classic Cars

  • Hybrid

  • LCV

  • NGEN Bio-Sourced Oil

  • Nismo Competition Oil

  • Oil Analysis Kit

  • Specific

  • Sport

  • Fuel Additives and Flushes

  • DFP Cleaners

  • Fuel Stabilisers

  • Fuel System Cleaners

  • Lead Substitute

  • Octane / Cetane Booster

  • Gear / Transmission Additives and Flushes

  • Gear Oil / Transmission Fluid

  • Automatic Transmission Fluid

  • CVT Fluid

  • Dual-Clutch Transmission Fluid

  • Limited-Slip Differential Oil

  • Mechanical Transmission

  • Nismo

  • Oil Analysis Kit

  • Racing Cars

  • Greases

  • Hydraulic Fluid

  • Oil Analysis Kit

  • Threadlocker

  • Throttle Body Cleaner

  • Windscreen Washer Fluid

  • Motorcycle Products

  • 300V Factory Line Racing

  • Chain Cleaner

  • Chain Lube

  • Workshop Supplies

  • Workshop Tools

  • Parts Washing / Washers

  • Favourites

    18

    Mods4U

    My Account | Settings | Sign Out

  • Vehicle Search
  • Bilstein
  • GFB
  • H&R
  • Powerflex
  • Motul
  • Milltek
  • ITG
  • Febest
  • Probite
  • Universal
  • Clearance
  • Downloads
  • Home
  • Vehicle Search
  • Bilstein
  • Powerflex
  • GFB (Go Fast Bits)
  • H&R
  • Motul
  • Milltek Sport
  • ITG
  • Febest OEM
  • Probite Brakes
  • Tube, Link and Bush Finder
  • Other Brands
  • Universal Products
  • Clearance
  • Videos
  • Latest News
  • Frequently Asked Questions
  • Price List & Media Files
  • Contact Us
  • My Account
  • Settings
  • Log Out
  • Search

    section.tabs {
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    padding: 20px !important;
    }
    .frm-add-to-basket {
    margin-top: 0 !important;
    }
    .key, .value {
    width: 48%;
    float: left;
    font-weight: bold;
    font-size: 120%;
    line-height: 1.3;
    }
    .key {
    text-align: right;
    margin-right: 4%;
    clear: left;
    }

    .spacer {
    width: 100px;
    height: 20px;
    clear: both;
    }
    .spacer.half {
    height: 10px;
    }
    .quantity-divider {
    width: 70%;
    height: 1px;
    background: #ccc;
    margin: 15px auto 0px auto;
    clear: both;
    }
    .quantity-divider.lighter {
    background: #dfdfdf;
    }
    .quantity {
    outline-color: #719ECE;
    }
    .key.case, .value.case {
    font-size: 100%;
    }
    .key.case {
    font-weight: normal;
    }
    .pricingMessageContainer{
    margin-bottom: 30px;
    }
    .pricingMessageContainer, .stockMessageContainer {
    padding: 0 0 0 0;
    clear: both;
    }
    .pricingMessageContainer {
    margin-bottom: 10px;
    }
    .subtotalContainer, .pricingTitleContainer {
    width: 100%;
    clear: both;
    text-align: center;
    }
    .suggestionContainer {
    width: 100%;
    clear: both;
    }
    .suggestionContainerInner {
    margin-top: 20px;
    padding: 30px;
    text-align: center;
    border: 3px dashed #78af2d;
    }
    .subtotalContainer h3, .pricingTitleContainer h3 {
    font-weight: 200;
    text-transform: uppercase;
    border-bottom: 1px solid #ff3200;
    display: inline-block;
    clear: both;
    line-height: normal;
    }
    .txtSmaller {
    font-size: 80% !important;
    }
    .txtInitial {
    color: initial;
    }

    SPF3719-22.2K

    SuperPro Anti-Roll Bar Mount Bush Kit

    available Sizes 22.2, 23.4, 24 & 25.4mmSway Bar Bush Kit

    Kit Includes:

  • 2 x Polyurethane Bushes
  • Shipping Weight:
    0.1830kg

    Stock Details:
    Country of Origin: AUEAN: 9317745760450
    Immediate Stock On Hand: 5
    Secondary Stock on Hand: 0 (Normally within 24 hours)

    Media Files:

    Fitting – Video

    Additional Information – Video

    Additional Information – Video

    Fitting – Video

    Suitable for:

  • Lexus CT A10 Front Wheel Drive (2010 and later)
  • Toyota Corolla NZE18_, ZRE18_ Front Wheel Drive (2012 and later)
  • Toyota Corolla E160, E170, E180 Front Wheel Drive (2012 to 2018)
  • Toyota Corolla NRE18_, ZRE17_, ZRE18_, NDE18_ Front Wheel Drive (2013 and later)
  • Toyota Prius W30 Front Wheel Drive (2008 to 2015)
  • Toyota Prius ZVW40 Front Wheel Drive (2011 and later)
  • Toyota RAV 4 MK3 All-wheel Drive (2005 to 2012)
  • Toyota RAV 4 MK3 Front Wheel Drive (2005 to 2012)
  • Toyota RAV 4 XA40 All-wheel Drive (2012 to 2018)
  • Toyota RAV 4 XA40 Front Wheel Drive (2012 to 2018)
  • Other Similar Parts:

  • SPF3719-23.4K
  • SPF3719-24K
  • SPF3719-25.4K
  • By

    Add to Basket

    QUANTITY

    +

    .fullwidth {
    width: 100% !important;
    max-width: 2048px;
    }

    .home-feature-container-outer {
    background: #f5f5f5;
    padding: 5px;
    display: flex;
    justify-content: center;
    clear: both;
    }

    .home-feature-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-column-gap: 5px;
    grid-row-gap: 5px;
    }

    .home-feature-container > img {
    aspect-ratio: 16/9;
    object-fit: cover;
    }

    .feature1 { grid-area: 1 / 1 / 2 / 2; }
    .feature2 { grid-area: 1 / 2 / 2 / 3; }
    .feature3 { grid-area: 2 / 1 / 3 / 2; }
    .feature4 { grid-area: 2 / 2 / 3 / 3; }
    .feature5 { grid-area: 3 / 1 / 4 / 2; }
    .feature6 { grid-area: 3 / 2 / 4 / 3; }

    @media only screen and (min-width: 1024px) {

    .home-feature-container-outer {
    padding: 0;
    }

    .home-feature-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr auto;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    }

    .feature1 { grid-area: 1 / 1 / 2 / 2; }
    .feature2 { grid-area: 1 / 2 / 2 / 3; }
    .feature3 { grid-area: 1 / 3 / 2 / 4; }
    .feature4 { grid-area: 1 / 4 / 2 / 5; }
    .feature5 { grid-area: 2 / 1 / 3 / 3; }
    .feature6 { grid-area: 2 / 3 / 3 / 5; }

    }

    About Octane Distribution

  • About Us
  • News
  • Videos
  • Latest Photos
  • Frequently Asked Questions
  • Contact Us
  • Returns Policy
  • Terms and Conditions of Sale
  • Data Protection Policy (GDPR)
  • Website Privacy Policy
  • Specialisms

  • Go Fast Bits
  • Bilstein Suspension
  • Motul
  • Powerflex Bushes
  • Probite Brakes
  • ITG Filters
  • Febest
  • Universal Products
  • OEM+ Front Control Arm Kits
  • Other Brands
  • © Copyright 2005-2025, Octane Distribution Ltd. All Rights Reserved.

    Back to Top

    // Add a script element as a child of the body
    function downloadJSAtOnload() {
    var element = document.createElement(“script”);
    element.src = “js/respond.min.js”;
    document.body.appendChild(element);
    }

    // Check for browser support of event handling capability
    if (window.addEventListener)
    window.addEventListener(“load”, downloadJSAtOnload, false);
    else if (window.attachEvent)
    window.attachEvent(“onload”, downloadJSAtOnload);
    else window.onload = downloadJSAtOnload;

    window.jQuery || document.write(”)

    $(document).ready(function(){

    // other models drop down menu

    function openothermodelsmenu() {
    $(“.downarrow,#model-list”).addClass(“open”);
    }
    function closeothermodelsmenu() {
    $(“.downarrow,#model-list”).removeClass(“open”);
    }

    $(“.h1-logo”).click(function(e) {
    //e.preventDefault();
    if ( $(“.downarrow”).hasClass(“open”) ) {
    closeothermodelsmenu();
    }
    else {
    openothermodelsmenu();
    }
    });

    // notification area (if needed)

    // *************
    // SEARCH V2
    // *************

    // constructs the suggestion engine
    var makes = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace(‘label’,’description1′,’description2′,’keywords’),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    // `states` is an array of state names defined in “The Basics”
    //local: makes,
    //sufficient: 100,
    //prefetch: ‘json/best-sellers.json’,
    //prefetch: ‘json/predicted.results.json’,
    remote: {
    //url: ‘https://www.beta.superproeurope.com/trade2/ajax/search.results.cfm?q=%QUERY’,
    url: ‘https://api.superproeurope.com/rest/SuperProAPI/search/globalElasticSearch.json?keyword=%QUERY’,
    wildcard: ‘%QUERY’
    }
    });

    var oem = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace(‘label’,’description1′,’keywords’),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    // `states` is an array of state names defined in “The Basics”
    //local: makes,
    //sufficient: 100,
    //prefetch: ‘json/best-sellers.json’,
    //prefetch: ‘json/predicted.results.json’,
    remote: {
    //url: ‘https://www.beta.superproeurope.com/trade2/ajax/search.results.cfm?q=%QUERY’,
    url: ‘https://api.superproeurope.com/rest/SuperProAPI/search/globalElasticSearch.json?keyword=%QUERY’,
    wildcard: ‘%QUERY’
    }
    });

    var myTypeahead = $(‘#bloodhound .typeahead’).typeahead({
    hint: true,
    highlight: true,
    minLength: 1
    },
    {
    name: ‘makes’,
    display: ‘label’,
    source: makes,
    limit: 20,
    //limit: 5, /* This is disabled because it seemed to affect the results being returned if set higher than 5! */
    templates: {
    empty: [
    ”,
    ‘No results found’,

    ].join(‘n’),
    //suggestion: Handlebars.compile(‘{{make}} – {{makeid}}’)
    suggestion: function(data) {
    if(data._source.resultimage==”) {
    resultimage=’https://d365pjkgt5rd4j.cloudfront.net/images/products/default.jpg’;
    }
    else if(data._source.resultimage.substring(0,8)==”https://”) {
    resultimage=data._source.resultimage;
    }
    else {
    resultimage=’https://d365pjkgt5rd4j.cloudfront.net/images/’+data._source.resultimage;
    }

    visiblelabel=data._source.label + ‘: ‘ + data._source.description1;

    return ” + visiblelabel +” + data._source.resultimage + data._source.resulttype + ”;
    }
    }
    });

    var OEMTypeahead = $(‘#oemSearchContainer .oemsearch’).typeahead({
    hint: true,
    highlight: true,
    minLength: 3
    },
    {
    name: ‘oem’,
    display: ‘label’,
    source: oem,
    limit: 20,
    //limit: 5, /* This is disabled because it seemed to affect the results being returned if set higher than 5! */
    templates: {
    empty: [
    ”,
    ‘No results found’,

    ].join(‘n’),
    //suggestion: Handlebars.compile(‘{{make}} – {{makeid}}’)
    suggestion: function(data) {
    if(data.resultimage==”) {
    resultimage=’https://d365pjkgt5rd4j.cloudfront.net/images/products/default.jpg’;
    }
    else if(data.resultimage.substring(0,8)==”https://”) {
    resultimage=data.resultimage;
    }
    else {
    resultimage=’https://d365pjkgt5rd4j.cloudfront.net/images/’+data.resultimage;
    }

    visiblelabel=data.label + ‘ ‘ + data.description1 + ‘ ‘ + data.description2;

    return ” + visiblelabel +” + data.resultimage + data.resulttype + ”;
    }
    }
    });

    // Attach initialized event to it
    myTypeahead.on(‘typeahead:selected’,function(evt,data){

    data=data._source;

    // what to do?
    if(data.resulttype == ‘Part’) {
    window.location.href = “part.number.cfm?partnumber=” + encodeURI(data.value);
    }
    else if(data.resulttype == ‘GFBPart’) {
    window.location.href = “gfb.part.number.cfm?partnumber=” + encodeURI(data.value);
    }
    else if(data.resulttype == ‘FebestPart’) {
    window.location.href = “febest.part.number.cfm?partnumber=” + encodeURI(data.value);
    }
    else if(data.resulttype == ‘ITGPart’) {
    window.location.href = “itg.part.number.cfm?partnumber=” + encodeURI(data.value);
    }
    else if(data.resulttype == ‘Vehicle’) {
    window.location.href = “products.cfm?vehicleid=” + encodeURI(data.value);
    }
    else if(data.resulttype == ‘Page’ || data.resulttype == ‘Pages’) {
    window.location.href = encodeURI(data.value);
    }
    else if(data.resulttype == ‘Brands’) {
    window.location.href = “brand.cfm?brandid=” + encodeURI(data.value);
    }
    else if(data.resulttype==”News”) {
    window.location.href = “news.read.cfm?articleid=” + encodeURI(data.value);
    }
    else if(data.resulttype==”Make”) {
    window.location.href = “products.by.make.cfm?makeid=” + encodeURI(data.value);
    }
    else if(data.resulttype==”Model”) {
    window.location.href = “products.by.model.cfm?modelid=” + encodeURI(data.value);
    }
    else if(data.resulttype==”Video”) {
    window.location.href = “video.watch.cfm?videoid=” + encodeURI(data.value);
    }
    else if(data.resulttype==”DENIED”) {
    window.location.href = “index.cfm”;
    }
    else {
    alert(‘Something else was selected’);
    };

    return false;

    });

    // reload current page function
    function reloadCurrentPage() {
    location.reload(true); // parameter true means refresh from server not cache
    }

    function getHeights() {
    var window_height = ($(window).height());
    var footer_height = ($(“#footer”).outerHeight());

    // if the height of the page is less than the height of the content then make the footer position absolute bottom and add approrpiate margin
    if(window_height > $(“body”).outerHeight()) {
    $(“#footer”).css({
    “position”:”absolute”,
    “bottom”:0,
    “left”:0
    });
    $(“body”).css({
    “margin-bottom”:footer_height+”px”});
    }

    }

    // after load
    var window_width_start = $(window).width(); // save width of screen
    getHeights();

    $(document).on(“click”, “.open-ajax-notification”, function(e) {
    e.preventDefault();
    $.magnificPopup.open({
    items: {
    src: $(this).attr(‘href’)
    },
    type: ‘iframe’,
    closeBtnInside: true,
    alignTop: true,
    overflowY: ‘scroll’, // as we know that popup content is tall we set scroll overflow by default to avoid jump,
    callbacks: {
    close: function() {
    // Will fire when popup is closed
    isNotificationSet(‘SPF3719-22.2K’).done(function(data) {
    if(data.trim() == ‘false’) {
    var notificationButtonText=’Notify Me’;
    }
    else {
    var notificationButtonText=’Cancel Notification’;
    }
    $(“#stockNotification”).html(“” + notificationButtonText + “”);
    });
    }
    }
    })
    });

    function isNotificationSet(partNumber) {

    return $.ajax({
    url: ‘ajax/back.in.stock.notification.check.cfm?partnumber=’ + partNumber,
    type: ‘GET’,
    async: true,
    success: function(data){
    //console.log(data);
    },
    close: function() {
    alert(‘Closed’);
    }
    });

    }

    // now call the function
    isNotificationSet(‘SPF3719-22.2K’).done(function(data) {
    if(data.trim() == ‘false’) {
    var notificationButtonText=’Notify Me’;
    }
    else {
    var notificationButtonText=’Cancel Notification’;
    }
    $(“#stockNotification”).html(“” + notificationButtonText + “”);
    });

    // NEWS LAYOUT

    // RESIZE
    $(window).resize(function() { // stops window.resize firing multiple times during resize event

    if(window_width_start!==$(window).width()) { // only fires if the width has changed
    getHeights();
    window_width_start = $(window).width(); // we know window has been resized so reset the global window width variable
    //$(“#mobilenav”).removeClass(“open”); // closes the mobile menu if it’s open
    closeMobileMainMenu() // close the mobile nav menu if it’s open
    enableMainScroll();

    }

    });

    // VEHICLE MENU
    $(‘.grid’).masonry({
    itemSelector: ‘.grid-item’,
    percentPosition: true,
    columnWidth: 10,
    fitWidth: true,
    isAnimated: false,
    layoutPriorities: {
    shelfOrder: 2
    },
    });

    // FULL SCREEN MENU

    // disable scroll bars when opening the products menu
    function disableMainScroll() {
    if ($(document).height() > $(window).height()) {
    var scrollTop = ($(‘html’).scrollTop()) ? $(‘html’).scrollTop() : $(‘body’).scrollTop(); // Works for Chrome, Firefox, IE…
    $(‘html’).addClass(‘noscroll’).css(‘top’,-scrollTop);
    }
    }

    // re-enable scroll bars when closing the products menu
    function enableMainScroll() {
    var scrollTop = parseInt($(‘html’).css(‘top’));
    $(‘html’).removeClass(‘noscroll’).css(“top”, 0);
    $(‘html,body’).scrollTop(-scrollTop);
    }

    // open menu
    function openNav() {
    $(“#fullNav”).css(“height”, “100%”);
    disableMainScroll();
    //$(“body”).addClass(“noscroll”);
    }
    // motul version
    function openMotulNav() {
    $(“#motulNav”).css(“height”, “100%”);
    disableMainScroll();
    //$(“body”).addClass(“noscroll”);
    }

    // close menu
    function closeNav() {
    $(“#fullNav”).css(“height”, “0%”);
    enableMainScroll()
    //$(“body”).removeClass(“noscroll”);
    }
    // motul version
    function closeMotulNav() {
    $(“#motulNav”).css(“height”, “0%”);
    enableMainScroll()
    //$(“body”).removeClass(“noscroll”);
    }

    $(“.productsLnk”).click(function(e) {
    e.preventDefault();
    openNav();
    });
    // motul version
    $(“.motulLnk”).click(function(e) {
    e.preventDefault();
    openMotulNav();
    });
    $(“.closebtn”).click(function(e) {
    e.preventDefault();
    closeNav();
    closeMotulNav();
    });

    // Mobile Search Menu

    // open mobile search panel
    function openMobileSearchPanel() {
    disableMainScroll();
    $(“#search-screen,.menu-search”).addClass(“open”);
    }
    // close mobile search panel
    function closeMobileSearchPanel() {
    enableMainScroll();
    $(“#search-screen,.menu-search”).removeClass(“open”);
    }

    // mobile search
    $(“.menu-search”).click(function(e) {
    e.preventDefault();
    if($(“#search-screen”).hasClass(“open”)) {
    closeMobileSearchPanel();
    }
    else {
    openMobileSearchPanel();
    closeMobileMainMenu(); // make sure we close the main menu if it’s open
    }
    });

    // Mobile Main Menu
    //open mobile main menu
    function openMobileMainMenu() {
    // set mobile menu height to be below the header
    $(“#mobile-menu”).css(“margin-top”, $(“#header”).outerHeight());
    $(“#mobilenav,#mobile-menu-container”).addClass(“open”);
    }
    // close
    function closeMobileMainMenu() {
    // close menu and nav icon
    $(“#mobilenav,#mobile-menu-container”).removeClass(“open”);
    }
    // toggle the above on click
    function toggleMobileNav(navaction) {
    if($(“#mobile-menu-container”).hasClass(“open”)) {
    //enableMainScroll();
    closeMobileMainMenu();
    }
    else {
    //disableMainScroll();
    openMobileMainMenu();
    closeMobileSearchPanel(); // close the search menu if it’s open
    }

    }

    $(“.menu-link”).click(function(e) {
    e.preventDefault();
    toggleMobileNav();
    });

    // listen for the escape key to close any menus (if open)
    $(document).keyup(function(e) {
    if (e.keyCode === 27) { // esc
    closeNav();
    closeMotulNav();
    closeMobileMainMenu();
    closeMobileSearchPanel();
    }
    });

    // VEHICLE SELECTOR
    $(“#modelid”).chained(“#makeid”);

    function getYears(element) {
    if (“” != $(“option:selected”, element).val()) {
    $.ajax({
    type: “POST”,
    url: ‘ajax/vehicle.years.simplified.cfm?’ + $(“option:selected”, element).val() + ‘&vehicleyear=’,
    dataType: “html”,
    success: function(data) {
    // Call this function on success
    //$(“#vehicleyears”).hide().html( data ).fadeIn();
    $(“#vehicleyear”).empty().append(data).prop(“disabled”, false);
    if (“” != $(“option:selected”, $(“#vehicleyear”)).val()) {
    $(“#vehicle-submit”).show();
    }
    return data;
    },
    error: function(xhr, ajaxOptions, thrownError) {
    //alert(‘Error occured’);
    alert(xhr.status);
    alert(thrownError);
    }
    });

    } else {
    $(“#vehicleyear”).prop(“disabled”, true).removeAttr(“selected”).filter(“[value=”]”).prop(“selected”, true);
    $(“#vehicle-submit”).hide();
    }
    }

    // run the year function on load to see if it’s already been pre-selected (browser history)
    getYears($(“#modelid”));

    /* Show button after each pulldown has a value. */
    $(“#modelid”).on(“change”, function(event) {
    getYears(this);
    checkYears(this);
    });

    // once the year has been selected, show the submit button
    $(document).on(“change”, “#vehicleyear”, function(event) {
    checkYears($(“#vehicleyear”));
    });

    // VALIDATE VEHICLE YEAR SELECTION
    function checkYears() {

    if (“” != $(“#vehicleyear”).val() && “” != $(“#modelid”).val()) {

    submiturl=”choose.vehicle.process.cfm?” + $(“option:selected”, $(“#modelid”)).val() + “&vehicleyear=” + $(“option:selected”, $(“#vehicleyear”)).val();

    $(“#vehicleselect”).attr(‘action’, submiturl);
    $(“#vehicle-submit”).show();
    }
    else {
    $(“#vehicle-submit”).hide();
    }
    }

    // END VEHICLE SELECTION

    $(‘.popup-youtube’).magnificPopup({
    type: ‘iframe’,
    mainClass: ‘mfp-fade’,
    preloader: true
    });

    // PRODUCT TABS

    // END: PRODUCT TABS

    // GALLERY

    $(‘.related-parts’).owlCarousel({
    loop:true,
    margin:10,
    autoHeight:true,
    responsiveClass:true,
    responsive:{
    0:{
    items:1,
    nav:false,
    stagePadding: 0
    },
    600:{
    items:1,
    nav:true,
    stagePadding: 0
    },
    1000:{
    items:1,
    nav:true,
    stagePadding: 0,
    }
    }
    });

    setTimeout(function() {
    createGallery();
    });

    function createGallery() {

    var $pswp = $(‘.pswp’)[0];
    var image = [];

    $(‘.demo-gallery’).each( function() {
    var $pic = $(this),
    getItems = function() {
    var items = [];
    $pic.find(‘a.enlarge’).each(function() {
    var $href = $(this).attr(‘href’),
    $size = $(this).data(‘size’).split(‘x’),
    $width = $size[0],
    $height = $size[1],
    $caption = $(this).attr(‘title’);

    //alert($caption);

    var item = {
    src : $href,
    w : $width,
    h : $height,
    title: $caption
    }

    items.push(item);
    });
    return items;
    }

    var items = getItems();

    //alert(JSON.stringify(items));

    $.each(items, function(index, value) {
    image[index] = new Image();
    image[index].src = value[‘src’];
    });

    $pic.on(‘click’, ‘a.enlarge’, function(event) {
    event.preventDefault();

    //var $index = $(this).index();
    //var $index = parseInt($(this).attr(“index”), 10);
    var $index = parseInt($(this).data(‘index’)-1, 10);

    if(!$(this).attr(‘title’)) {
    var $caption=”;
    }
    else {
    var $caption = $(this).attr(‘title’);
    }

    var options = {
    index: $index,
    bgOpacity: 0.98,
    showHideOpacity: true,
    loop: true,
    escKey: true,
    closeOnScroll: false,
    // Function builds caption markup

    getImageCaption: $caption
    }

    var lightBox = new PhotoSwipe($pswp, PhotoSwipeUI_Default, items, options);
    lightBox.init();
    });
    });
    }

    // END GALLERY

    // BASKET FUNCTIONS

    // QUANTITIES (now works for multiple forms on the same page)
    $(‘.numeric’).numeric(); // this keeps the input numeric-only

    var currencySymbol=”£”;
    var addVATRate=1.2;
    var vatExempt=0;
    var rrpOnly=0;
    var brandid=1;
    // set correct minus button action
    function setMinus() {
    // loop all the various quantity fields on the page
    $(“input[name=’quantity’]”).each(function() {
    var submitBtn=$(this).closest(‘form’).find(“input[name=’addtobasket’]”);
    var userMessageContainer=$(this).closest(‘form’).find(“div.userMessageContainer”);
    var pricingMessageContainer=$(this).closest(‘form’).find(“div.pricingMessageContainer”);

    var suggestionMessageContainer=$(this).closest(‘form’).find(“div.suggestionContainer”);

    var selectedQuantityField=$(this);
    var quantity = parseInt(selectedQuantityField.val());
    var currentVal=quantity;
    var minQty=selectedQuantityField.attr(‘min’);
    var maxQty=selectedQuantityField.attr(‘max’);

    var rrp=parseFloat($(this).closest(‘form’).find(“input[name=’unitprice’]”).val()).toFixed(2);
    var caseQuantity=parseInt($(this).closest(‘form’).find(“input[name=’casequantity’]”).val());
    var unitTradePrice=parseFloat($(this).closest(‘form’).find(“input[name=’unittradeprice’]”).val()).toFixed(2);
    var unitTradePriceCase=parseFloat($(this).closest(‘form’).find(“input[name=’unittradepricecase’]”).val()).toFixed(2);

    var numberOfCases=0;
    var numberOfSeparates=quantity;

    var userMessage=””;
    var pricingMessage=””;
    //var pricingMessage=”Pricing”;
    var pricingMessage=pricingMessage+”Unit RRP” + currencySymbol + rrp + ((!vatExempt==1) ? ” (exc VAT)” : “”) + “”;

    // handle + and – buttons
    var minus=selectedQuantityField.closest(‘form’).find(“.minus”);
    var plus=selectedQuantityField.closest(‘form’).find(“.plus”);
    if(typeof maxQty !== typeof undefined && maxQty !== false && maxQty !== ”) {
    // great, there’s a max set. This just stops ordering more than available quantity on pages such as the Clearance lines
    }
    else {
    var maxQty=999999;
    }

    // check min quantity
    if (!isNaN(currentVal) && currentVal > minQty) {
    minus.addClass(“active”);
    }
    else if (!isNaN(currentVal) && currentVal > 1 && currentVal < minQty) { minus.addClass("active"); selectedQuantityField.val(minQty); var currentVal=minQty; var quantity=minQty; userMessage='You must order this product in multiples of ' + minQty + '.'; } else if(currentVal == minQty) { minus.removeClass("active"); } else { selectedQuantityField.val(1); var currentVal=1; var quantity=1; var numberOfSeparates=1; minus.removeClass("active"); } // check max quantity if (!isNaN(currentVal) && currentVal > 1 && currentVal 1 && currentVal > maxQty) {
    minus.addClass(“active”);
    selectedQuantityField.val(maxQty);
    var currentVal=maxQty;
    var quantity=maxQty;
    userMessage=’You can only order a maximum of ‘ + maxQty + ‘ units’;
    }
    else if(!isNaN(currentVal) && currentVal == 1) {
    minus.removeClass(“active”);
    }
    else {
    selectedQuantityField.val(1);
    var currentVal=1;
    var quantity=1;
    var numberOfSeparates=1;
    minus.removeClass(“active”);
    }

    // now see if there’s any issue with the Min Quantity
    if(currentVal == minQty) {
    minus.removeClass(“active”);
    submitBtn.prop(‘disabled’, false);
    }
    else if(currentVal < minQty || currentVal % minQty > 0) {
    userMessage=’You must order this product in multiples of ‘ + minQty + ‘.’;
    submitBtn.prop(‘disabled’, true);
    //selectedQuantityField.val(minQty);
    //var quantity=minQty;
    //minus.removeClass(“active”);
    }
    else {
    submitBtn.prop(‘disabled’, false);
    }

    // now see if there’s any issue with the Max Quantity
    if(currentVal == maxQty) {
    // at maxqty so make it inactive
    plus.removeClass(“active”);
    }
    else if(currentVal > maxQty) {
    userMessage=’You can only order a maximum of ‘ + maxQty + ‘ units’;
    selectedQuantityField.val(maxQty);
    var quantity=maxQty;
    plus.removeClass(“active”);
    }
    else {
    plus.addClass(“active”);
    }

    // write any messages or clear them if needed
    if(userMessage !==”) {
    userMessageContainer.html(userMessage);
    } else {
    userMessageContainer.empty();
    }

    // CREATE PRICING MESSAGE

    if(!vatExempt==1) {
    var pricingMessage=pricingMessage+” ” + currencySymbol + parseFloat((rrp*addVATRate)).toFixed(2) + ((!vatExempt==1) ? ” (inc VAT)” : “”) + “”;
    }

    if(!rrpOnly==1) { // only do this if they want to see RRP and trade pricing
    // quantity divider
    var pricingMessage=pricingMessage + “”;

    // customer’s trade price
    var pricingMessage=pricingMessage+”Unit trade price” + currencySymbol + unitTradePrice + ((!vatExempt==1) ? ” (exc VAT)”:””) + “”;

    var pricingMessage=pricingMessage+”Your margin” + (100-(unitTradePrice/rrp).toFixed(2)*100).toFixed(0) + “%”;

    // handle case rate pricing here
    if(!caseQuantity==0) {

    // quantity divider
    var pricingMessage=pricingMessage + “”;

    var pricingMessage=pricingMessage+”Case unit price” + currencySymbol + unitTradePriceCase + ((!vatExempt==1) ? ” (exc VAT)”:””) + “”;
    var pricingMessage=pricingMessage+”Case quantitymultiples of ” + caseQuantity + “”;
    var pricingMessage=pricingMessage+”Your margin” + (100-(unitTradePriceCase/rrp).toFixed(2)*100).toFixed(0) + “%”;

    // calculate the display of current pricing
    var numberOfCases=(quantity/caseQuantity);
    var numberOfSeparates=quantity-(caseQuantity*Math.floor(numberOfCases));

    // add a message about case rate pricing and what it means
    var suggestionMessage=”Why not add ” + caseQuantity + ” to your basket to take advantage of our case rate pricing.”;

    }
    else {
    var pricingMessage=pricingMessage+””;
    }

    // output pricing subtotal details
    //var pricingMessage=pricingMessage + “Cases: ” + numberOfCases + “Separates: ” + numberOfSeparates;

    // quantity divider
    var pricingMessage=pricingMessage + “Subtotal”;

    //if(numberOfSeparates >= 1) {
    if(numberOfSeparates==1) {
    var plural=””;
    }
    else {
    var plural=”s”;
    }
    var pricingMessage=pricingMessage + “” + numberOfSeparates + ” unit” + plural + ” at” + currencySymbol + unitTradePrice + “”;
    //}

    if(numberOfCases >= 1) {
    var pricingMessage=pricingMessage + “” + (Math.floor(numberOfCases)*caseQuantity) + ” units at” + currencySymbol + unitTradePriceCase + ” (case rate)”;
    }
    else {
    if(!caseQuantity==0) {
    var pricingMessage=pricingMessage + “0 units at” + currencySymbol + unitTradePriceCase + ” (case rate)”;
    }
    }

    // SUBTOTAL
    // separates subtotal
    if(numberOfSeparates>=1) {
    var separatesSubTotal=(numberOfSeparates*unitTradePrice).toFixed(2);
    }
    else {
    var separatesSubTotal=0.00;
    }
    // case subtotal
    if(numberOfCases>=1) {
    var casesSubTotal=((Math.floor(numberOfCases)*caseQuantity)*unitTradePriceCase).toFixed(2);
    }
    else {
    var casesSubTotal=0.00;
    }
    // add the two
    var subTotal=(+separatesSubTotal+ +casesSubTotal).toFixed(2);

    var pricingMessage=pricingMessage + “=” + currencySymbol + subTotal + ((!vatExempt==1) ? ” (exc VAT)” : “”) + “”;

    // quantity divider
    var pricingMessage=pricingMessage + “”;

    } // end of conditional rrpOnly clause
    else {
    // this is to add an RRP subtotal section
    var subTotal=(+quantity * rrp).toFixed(2);
    var pricingMessage=pricingMessage + “Subtotal”;
    var pricingMessage=pricingMessage + “RRP” + currencySymbol + subTotal + ((!vatExempt==1) ? ” (exc VAT)” : “”) + “”;
    if(!vatExempt==1) {
    var pricingMessage=pricingMessage + “RRP” + currencySymbol + (subTotal*addVATRate).toFixed(2) + ” (inc VAT)”;
    }
    }

    // pricing details
    pricingMessageContainer.html(pricingMessage);
    suggestionMessageContainer.html(suggestionMessage);

    });

    } // end setMinus

    $(document).on(“change”, “.quantity”, function(e) {
    setMinus();
    });

    /*
    $(document).on(“change”, “.quantity”, function(e) {
    e.preventDefault();
    setMinus();
    console.log(‘here’);
    var selectedQuantityField=$(this).closest(‘form’).find(“input[name=’quantity’]”);
    var userMessageContainer=$(this).closest(‘form’).find(“div.userMessageContainer”);
    var userMessage=”;
    var quantity = parseInt(selectedQuantityField.val());
    var maxQty=selectedQuantityField.attr(‘max’);
    if(typeof maxQty !== typeof undefined && maxQty !== false && maxQty !== ”) {
    // great, there’s a max set. This just stops ordering more than available quantity on pages such as the Clearance lines
    }
    else {
    var maxQty=999999;
    }
    userMessage=’Quantity: ‘ + quantity + ‘nMax qty: ‘ + maxQty;

    if(quantity < 1) { userMessage='You must enter a value greater than 0 (zero)'; } else if(quantity > maxQty) {
    userMessage=’You can only order a maximum of ‘ + maxQty + ‘ units’;
    }

    if(userMessage !==”) {
    userMessageContainer.html(userMessage);
    }

    })
    */

    // This button will increment the value
    $(‘.plus’).click(function(e){
    // Stop acting like a button
    e.preventDefault();
    // Get the field name
    fieldName=$(this).closest(‘form’).find(“input[name=’quantity’]”);
    // Get its current value
    var currentVal = parseInt(fieldName.val());
    // If is not undefined
    if (!isNaN(currentVal)) {
    // Increment
    fieldName.val(currentVal + 1);
    } else {
    // Otherwise put a 1 there
    fieldName.val(1);
    }

    console.log(‘Plus’);
    setMinus();

    });
    // This button will decrease the value til 0
    $(“.minus”).click(function(e) {
    // Stop acting like a button
    e.preventDefault();
    // Get the field name
    fieldName=$(this).closest(‘form’).find(“input[name=’quantity’]”);
    // Get its current value
    var currentVal = parseInt(fieldName.val());
    // If it isn’t undefined or its greater than 0
    if (!isNaN(currentVal) && currentVal > 1) {
    // Decrement one
    fieldName.val(currentVal – 1);
    } else {
    // Otherwise put a 1 there
    fieldName.val(1);
    }

    console.log(‘Minus’);
    setMinus();

    });

    function setStock() {
    // this simply loops all the addtobasket forms on the page and sets the stock details
    $(“input[name=’quantity’]”).each(function() {

    var stockMessage=””;
    //var stockMessage=”Stock Information”;
    var stockMessageContainer=$(this).closest(‘form’).find(“div.stockMessageContainer”);

    var partnumber=$(this).closest(‘form’).find(“input[name=’partnumber’]”).val();

    // stock availability info
    var immediateStock=$(this).closest(‘form’).find(“input[name=’immediateStock’]”).val();
    var secondaryStock=$(this).closest(‘form’).find(“input[name=’secondaryStock’]”).val();
    var nextAvailableStockDue=$(this).closest(‘form’).find(“input[name=’nextAvailableStockDue’]”).val();
    var nextAvailalableStockQuantity=$(this).closest(‘form’).find(“input[name=’nextAvailalableStockQuantity’]”).val();

    var stockStatus=$(this).closest(‘form’).find(“input[name=’stockStatus’]”).val();
    var displayStockBoolean=$(this).closest(‘form’).find(“input[name=’displayStockBoolean’]”).val();
    var stockQuantity=$(this).closest(‘form’).find(“input[name=’stockQuantity’]”).val();
    var despatchDate=$(this).closest(‘form’).find(“input[name=’despatchDate’]”).val();

    if( stockStatus == 1 ) {
    // if in stock
    var stockMessage=stockMessage + “StockIn Stock”;
    if(displayStockBoolean

    5 in stock

    Estimated delivery by 12/05/2026

    SKU: SuperPro/SPF3719-22.2K Category: Brand:

    Tech Specs

    Specification

    Category Bushes
    Brand SuperPro
    MPN

    SPF3719-22.2K

    More Information

    Ratings