{"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","preventDefault","fn","empty","hide","href","$target","metaKey","start","get","done","html","$content","fail","window","location","always","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.on('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').on('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').on('change', function() {\n        if ($(this).val()) {\n            $(this).closest('.field-wrap').removeClass('field-wrap--error');\n        }\n    });\n\n    $('#addtobasket').on('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').on('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"]}