(function () { var $calc, area, sku = $('.ProductDetailsGrid').find('.ruk_rating_snippet').data('sku'); var config = { '$coverage_element' : $('#ProductOtherDetails').find('.Label:contains("coverage:")').next('.Value'), '$handle' : $('.qty').eq(0), caption : 'We estimate that you’ll need {calculation}L for 2 coats (standard coverage)', footnote : 'Calculations based on the coverage of {coverage}m2 per litre. (Calculations are based on applying to a smooth surface. Coverage will vary depending on substrate and conditions)', calc_area_readonly : false, test : false, querystring_activate: false }; if (config['$coverage_element'] && config['$coverage_element'].length > 0 && !isNaN(parseFloat(config['$coverage_element'].text().trim()))) config.coverage = parseFloat(config['$coverage_element'].text().trim()); else if (config.test) config.coverage = 0.18; config.units = 'metres'; config.breakdowns = { 'Earthborn Masonry': { sku : [184, 185], constants: {litre_coverage: config.coverage || 4, container_litres: 1}, preamble : 'The following break-down shows an estimate of how many litres of primer and paint you’ll need for the job', matrix : [ [ '', 'Product', 'Primer', 'Masonry Paint' ], [ 'First stage', 'Primer coat', function () { return (area / (config.breakdowns['Earthborn Masonry'].constants.litre_coverage * config.breakdowns['Earthborn Masonry'].constants.container_litres)).toFixed(1); }, '' ], [ 'Second stage', 'First paint coat with 20% primer included', function () { return (0.2 * (area / (config.breakdowns['Earthborn Masonry'].constants.litre_coverage * config.breakdowns['Earthborn Masonry'].constants.container_litres))).toFixed(1); }, function () { return (0.8 * (area / (config.breakdowns['Earthborn Masonry'].constants.litre_coverage * config.breakdowns['Earthborn Masonry'].constants.container_litres))).toFixed(1); } ], [ 'Third stage', 'Second paint coat', '', function () { return (area / (config.breakdowns['Earthborn Masonry'].constants.litre_coverage * config.breakdowns['Earthborn Masonry'].constants.container_litres)).toFixed(1); } ], [ function () { return 'Total Litres'; }, '', function () { return (1.2 * (area / (config.breakdowns['Earthborn Masonry'].constants.litre_coverage * config.breakdowns['Earthborn Masonry'].constants.container_litres))).toFixed(1); }, function () { return (1.8 * (area / (config.breakdowns['Earthborn Masonry'].constants.litre_coverage * config.breakdowns['Earthborn Masonry'].constants.container_litres))).toFixed(1); } ] ] } }; var calc_expand = function () { $calc.toggleClass('cs-calc--expanded'); if ($calc.hasClass('cs-calc--expanded')) { $('.cs-calc-width').focus(); _gaq.push(['_trackEvent', 'Calculator', 'Expand']); } }; var calc_calculate = function () { if ($('.cs-calc-width').val() !== '' && $('.cs-calc-length').val() !== '') { area = parseFloat($('.cs-calc-width').val()) * parseFloat($('.cs-calc-length').val()); $('.cs-calc-area').val(''); if (!isNaN(area)) $('.cs-calc-area').val(area.toFixed(2)); } else area = parseFloat($('.cs-calc-area').val()); _gaq.push(['_trackEvent', 'Calculator', 'Calculate', 'Area', area]); if (config.hasOwnProperty('coverage')) { $('.cs-calc-response').empty(); if (!isNaN(area)) { var breakdown = null; $.each(config.breakdowns, function (i, m) { console.log(m, sku, m.sku); if (~$.inArray(sku, m.sku)) { breakdown = m; return false; } }); if (breakdown != null) { var matrix = breakdown.matrix; var $table = $('
'); $.each(matrix, function (i, m) { var $tr = $(''); $.each(m, function (ii, mm) { $tr.append('' + (typeof(mm) === 'function' ? mm() : mm) + ''); }); $table.append($tr); $table.append(''); }); if (breakdown.preamble) $('.cs-calc-response').append('

' + breakdown.preamble + '

'); $('.cs-calc-response').append($table); $('.cs-calc-footnote').html((breakdown.footnote || config.footnote || '').replace('{coverage}', breakdown.litre_coverage || config.coverage)); } else { var caption = config.caption || '{calculation}L'; $('.cs-calc-response').append('

' + caption.replace('{calculation}', (area / parseFloat(config.coverage)).toFixed(2)) + '

'); $('.cs-calc-footnote').html((config.footnote || '').replace('{coverage}', config.coverage)); } } } }; if ((!config.querystring_activate || location.search === '?calc') && config['$handle'].length > 0) { var $header = $('
', { class: 'cs-calc-header', html : (config.coverage ? 'Coverage' : 'Area') + ' Calculator' }).on('click', calc_expand); var $body = $('
', {class: 'cs-calc-body'}) .append(config.coverage ? '

How much do I need?

' : '') .append($('