{"version":3,"file":"../../javascript/global.js","names":["Biiju","repaint","elem","prop","e","document","body","v","$","css","console","log","data","changeStripeColour","colour","c","className","hasClass","removeClass","replace","addClass","$overlay","$container","$close","$wrap","$placeholder","NProgress","configure","minimum","trickleRate","trickleSpeed","slick","autoplay","autoplaySpeed","accessibility","arrows","infinite","slidesToShow","adaptiveHeight","prevArrow","nextArrow","wrap","before","each","this","attr","parent","on","prev","text","find","trigger","appendTo","append","modal","close","$current","children","eq","length","insertAfter","click","preventDefault","fn","empty","hide","href","$target","metaKey","start","get","done","html","$content","fail","window","location","always","change","val","closest","open","next","$spinners","ids","map","toArray","checkStatus","getJSON","message","result","pending","complete","key","tag","replaceWith","setTimeout","$this","is","target","contains"],"sources":["global.js"],"mappings":"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","ignoreList":[],"sourcesContent":["var Biiju = {\n    // Trigger a browser repaint\n    repaint: function(elem, prop) {\n        var e = elem ? elem : document.body,\n            prop = prop ? prop : 'height';\n\n        var v = $(e).css(prop);\n\n        if (console && console.log) {\n            console.log('Forced repaint, got value', v, 'for prop', prop);\n        }\n\n        $(e).data(prop, v);\n    },\n    changeStripeColour: function(colour) {\n        var prefix = '',\n            c      = document.body.className;\n\n        if (!$(document.body).hasClass('alt-striped')) {\n            $(document.body).addClass('alt-striped');\n            prefix = 'alt';\n            c = ' ' + document.body.className;\n            c = c.replace(/alt-striped\\-\\-([a-z\\-]+)/g, '') + ' alt-striped--' + colour\n        } else {\n            $(document.body).removeClass('alt-striped');\n            c = ' ' + document.body.className;\n            c = c.replace(/([^\\-])striped\\-\\-([a-z\\-]+)/g, '$1') + ' striped--' + colour\n        }\n\n        document.body.className = c;\n    }\n};\n\n$(function() {\n    NProgress.configure({\n        minimum: 0.08,\n        trickleRate: 0.1,\n        trickleSpeed: 400\n    });\n\n    $('.hero-banners--slick').slick({\n        autoplay:true,\n        autoplaySpeed:3000,\n        accessibility: false,\n        arrows: true,\n        infinite: true,\n        slidesToShow: 1,\n        adaptiveHeight: true,\n        prevArrow: '.hero-banners__pagination--prev',\n        nextArrow: '.hero-banners__pagination--next',\n    });\n\n    $('.gallery').slick({\n        // accessibility: true,\n        arrows: true,\n        infinite: true,\n        slidesToShow: 1,\n        adaptiveHeight: true,\n    });\n\n    $('select').wrap('<div class=\"select-replace\"></div>').before('<p class=\"select-replace__value\"></p>').each(function() {\n        if ($(this).attr('id')) {\n            $(this).parent().attr('id', $(this).attr('id') + '_replace');\n        }\n    }).on('change', function() {\n        $(this).prev().text( $(this).find('option:selected').text() );\n        if ($(this).prop('disabled')) {\n            $(this).parent().addClass('select-replace--disabled');\n        }\n    }).on('focus', function() {\n        $(this).parent().addClass('select-replace--focused');\n    }).on('blur', function() {\n        $(this).parent().removeClass('select-replace--focused');\n    }).trigger('change');\n\n\n    /*\n     * Modals\n     */\n\n    (function() {\n        var $overlay     = $('<div id=\"simplemodal-overlay\">'),\n            $container   = $('<div id=\"simplemodal-container\">'),\n            $close       = $('<a class=\"modalCloseImg simple-modal-close\">').appendTo($container),\n            $wrap        = $('<div class=\"simplemodal-wrap\">').appendTo($container),\n            $placeholder = $('<span id=\"simplemodal-placeholder\">');\n\n        $(document.body).append($overlay).append($container);\n\n        $.modal = function(elem) {\n            elem.modal();\n        };\n\n        $.modal.close = function() {\n            var $current = $wrap.children().eq(0);\n            if ($current.length) {\n                $current.removeClass('simplemodal-data').insertAfter($placeholder);\n            }\n\n            $overlay.removeClass('modal--visible');\n            $container.removeClass('modal--visible');\n        };\n\n        $close.click(function(e) {\n            e.preventDefault();\n            $.modal.close();\n        });\n\n        $.fn.modal = function() {\n           $.modal.close();\n\n            $(this).before($placeholder);\n            $wrap.empty().append($(this).addClass('simplemodal-data'));\n\n            $overlay.addClass('modal--visible');\n            $container.addClass('modal--visible');\n        };\n    })();\n\n    $('.modal-element').hide();\n    $('.modal-launcher').click(function(e) {\n        var href    = $(this).attr('href'),\n            $target = $([]);\n\n        if (href[0] != '/') {\n            $target = $(href);\n        }\n\n        if (href[0] == '/' && e.metaKey) {\n            return;\n        } else {\n            e.preventDefault();\n        }\n\n        if ($target.length) {\n            $target.modal();\n            return;\n        }\n\n        NProgress.start();\n        $.get(href)\n            .done(function(html) {\n                var $content = $(html).find('.inner-content');\n                $content.removeClass('inner-content');\n\n                $content.modal();\n            })\n            .fail(function() {\n                // Redirect to end page to show browser no internet connection\n                // page\n                window.location = href;\n            })\n            .always(function() {\n                NProgress.done();\n            });\n    });\n\n    $('.product-purchase select').change(function() {\n        if ($(this).val()) {\n            $(this).closest('.field-wrap').removeClass('field-wrap--error');\n        }\n    });\n\n    $('#addtobasket').click(function(e) {\n        $(this).closest('form').find('select').each(function() {\n            if (!$(this).val()) {\n                $(this).closest('.field-wrap').addClass('field-wrap--error');\n                e.preventDefault();\n                return false;\n            }\n        });\n    });\n\n    $('.peek-nav .share').click(function(e) {\n        e.preventDefault();\n        var open = $(this).hasClass('share-open');\n\n        $(this)[open ? 'removeClass' : 'addClass']('share-open');\n        $(this).next()[open ? 'removeClass' : 'addClass']('share-open');\n    });\n\n    (function() {\n        var $spinners = $('.loading-spinner');\n        if (!$spinners.length) { return; }\n\n        var ids = $spinners.map(function() {\n            return $(this).data('load');\n        }).toArray();\n\n        var checkStatus = function() {\n            $.getJSON('/products/thumbnails', { ids: ids }, function(data) {\n                if (data.message != \"Ok\") { return; }\n                ids = data.result.pending;\n\n                $.each(data.result.complete, function(key, tag) {\n                    $('.loading-spinner[data-load=\"' + key + '\"]').replaceWith(tag);\n                });\n\n                if (ids.length) {\n                    setTimeout(function() {\n                        checkStatus();\n                    }, 1000);\n                }\n            });\n        };\n\n        setTimeout(function() {\n            checkStatus();\n        }, 1000);\n\n    })();\n\n\n    $(document).on('click', '.d3r-show, .d3r-hide', function(e) {\n\t\tvar $this = $(this),\n\t\t\t$target;\n\t\tif ($this.is('a')) e.preventDefault();\n\t\tif (!!$this.data('target')) {\n\t\t\t$target = $('#'+$this.data('target'));\n\t\t} else if (!!$this.attr('href') && \"#\" == $this.attr('href')[0]) {\n\t\t\t$target = $($this.attr('href'));\n\t\t}\n\t\tif ($target.length) {\n\t\t\tvar hide = $this.hasClass('d3r-hide');\n\t\t\t$target[hide ? 'toggleClass' : 'addClass']('d3r-shown');\n\t\t\t$this[hide ? 'toggleClass' : 'addClass']('d3r-active');\n\t\t}\n\t\tif ($target.hasClass('d3r-shown') && $this.hasClass('d3r-autoclose')) {\n\t\t\tconsole.log(this, e.target);\n\t\t\tvar autoclose = function(e) {\n\t\t\t\tif ($target.hasClass('d3r-shown') && !$.contains($target[0], e.target)) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\t$target.removeClass('d3r-shown');\n\t\t\t\t\t$this.removeClass('d3r-active');\n\t\t\t\t\t// $(document).off('click', autoclose);\n\t\t\t\t};\n\t\t\t};\n\t\t\t$(document).on('click', autoclose);\n\t\t}\n\t});\n});\n"]}