{"version":3,"sources":["../../../src/js/core.js","../../../src/js/config.js","../../../src/js/engine.js","../../../src/js/page.js","../../../src/js/account.js","../../../src/js/addToCart.js","../../../src/js/bootstrap.min.js","../../../src/js/carousels.js","../../../src/js/cart.js","../../../src/js/checkoutAvoidDuplicate.js","../../../src/js/checkoutComment.js","../../../src/js/checkoutCommentContinueBtnCheck.js","../../../src/js/clientAddForm.js","../../../src/js/clientAddressBook.js","../../../src/js/clientForm.js","../../../src/js/clientPopup.js","../../../src/js/clientReference.js","../../../src/js/clientViewEditForm.js","../../../src/js/dashboard.js","../../../src/js/dateInputValidator.js","../../../src/js/datePicker2.js","../../../src/js/datePicker2Validator.js","../../../src/js/deliveryCounter.js","../../../src/js/drawingTool.js","../../../src/js/dvaInformation.js","../../../src/js/fileUpload.js","../../../src/js/finalisePayment.js","../../../src/js/map.js","../../../src/js/mfaLogin.js","../../../src/js/myAccountSupplierInstaller.js","../../../src/js/newsEvents.js","../../../src/js/portalAccordion.js","../../../src/js/portalCheckout.js","../../../src/js/portalCheckoutClientSearch.js","../../../src/js/portalCheckoutClinicalJustification.js","../../../src/js/portalCheckoutHomeModification.js","../../../src/js/portalCheckoutPayment.js","../../../src/js/portalCheckoutShipping.js","../../../src/js/portalLogin.js","../../../src/js/portalPickupStore.js","../../../src/js/productCompare.js","../../../src/js/productDetail.js","../../../src/js/productListing.js","../../../src/js/selectValidator.js","../../../src/js/stockIntegration.js","../../../src/js/stores.js","../../../src/js/util.js"],"names":[],"mappings":"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G,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAA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","file":"core.scripts.js","sourcesContent":["(function(){\n    var root = this;\n    var Core = function(obj) {\n        if (obj instanceof Core){\n            return obj;\n        }\n        if (!(this instanceof Core)){\n            return new Core(obj);\n        }\n    };\n\n    root['Core'] = Core;\n\n}).call(this);\n\nCore.SetCache = function() {\n    Core.Cache = {\n        $window: $(window),\n        $document: $(document),\n        $body: $('body'),\n        $html: $('html'),\n        $loadingOverlay: $('#loading-overlay'),\n        $lazyLoadingMessage: $('#lazy-loading-message'),\n        $carousels: $('.carousel'),\n        $backToTop: $('#btn-top'),\n        $footer: $('.footer'),\n        $miniCartTotal: $('a#toggle-cart span.amount'),\n        $productListing: $('.product-list'),\n    };\n};\n\nCore.Page = function(){\n    Core.Page.init();\n};\n\nCore.IsMobile = function () {\n    if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {\n        var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n        if (width <= Core.Config.MobileWidth) {\n            return true;\n        }\n    }\n    return false;\n};\n\nCore.IsTablet = function() {\n    if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {\n        var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n        if (width <= Core.Config.TabletWidth) {\n            return true;\n        }\n    }\n    return false;\n};\n\nCore.HasKendoDropdowns = function(){\n    if (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {\n        if (Core.Config.Forms.DropdownStylingTouchDevices) {\n            return true;\n        }\n    }\n    else if (Core.Config.Forms.DropdownStylingDesktop) {\n        return true;\n    }\n\n    return false;\n};\n\nCore.RenderTemplate = function(templateName, data, $placeholder){\n    var source = $(templateName).html();\n    var template = Handlebars.compile(source);\n\n    $placeholder.html(template(data));\n};\n\nCore.GetParameterByName = function(name){\n    name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\n    var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\n        results = regex.exec(location.search);\n    return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\n};\n\nCore.UpdateUrlParameter = function (uri, key, value) {\n    // remove the hash part before operating on the uri\n    var i = uri.indexOf('#');\n    var hash = i === -1 ? '' : uri.substr(i);\n    uri = i === -1 ? uri : uri.substr(0, i);\n\n    var re = new RegExp(\"([?&])\" + key + \"=.*?(&|$)\", \"i\");\n    var separator = uri.indexOf('?') !== -1 ? \"&\" : \"?\";\n    if (uri.match(re)) {\n        uri = uri.replace(re, '$1' + key + \"=\" + value + '$2');\n    } else {\n        uri = uri + separator + key + \"=\" + value;\n    }\n    return uri + hash;  // finally append the hash as well\n};\n\nString.prototype.strim = function(needle) {\n    var org = this;\n    var modified = \"\";\n    var first_pos = 0;\n    var last_pos = org.length - 1;\n    //find first non needle char position\n    for (var i = 0; i < org.length; i++) {\n        if (org.charAt(i) !== needle) {\n            first_pos = (i === 0 ? 0 : i)\n\n            break;\n        }\n    }\n    // find first non needle char position\n    for (var j = org.length - 1; j > 0; j--) {\n        if (org.charAt(j) !== needle) {\n            last_pos = (j === org.length ? org.length : j + 1);\n            break;\n        }\n    }\n\n    return org.substring(first_pos, last_pos);\n};\n\nCore.ShowLazyLoading = function () {\n    Core.Cache.$lazyLoadingMessage.show();\n};\n\nCore.HideLazyLoading = function () {\n    Core.Cache.$lazyLoadingMessage.hide();\n};\n\nCore.ShowPageLoading = function(){\n    Core.Cache.$loadingOverlay.removeClass('hidden');\n    Core.Cache.$loadingOverlay.show();\n};\n\nCore.ShowPageLoadingMessage = function(message){\n    var msg = message || \"\";\n        el = $('#loading-overlay');\n\n    if(el.length === 0) {\n        if(msg !== \"\")\n            $('body').prepend('<div id=\"loading-overlay\" class=\"loading-overlay has-message\" style=\"display:block;\"><span class=\"lv1\"><span class=\"lv2\">' + msg + '</span></span></div>');\n        else\n            $('body').prepend('<div id=\"loading-overlay\" class=\"loading-overlay no-message\" style=\"display:block;\"></div>');        \n    }else{\n        if(msg !== \"\")\n            el\n                .addClass('has-message')\n                .removeClass('no-message')\n                .append('<span class=\"lv1\"><span class=\"lv2\">' + msg + '</span></span>')\n                .show();\n        else\n            el\n            .addClass('no-message')\n            .removeClass('has-message')\n            .html(\"\")\n            .show()\n            .end();\n    }\n};\n\nCore.HidePageLoading = function(){\n    Core.Cache.$loadingOverlay.hide();\n    var $el = $('#loading-overlay');\n        \n        $el.hide()\n        if(!$el.hasClass(\"js-dontclear\")) {\n            $el.html(\"\")\n        }\n        \n        $el.removeClass('no-message has-message');\n\n};\n\nCore.InitPopup = function($popup, title) {\n    var _width = 660, //Core.Config.CartNotification.Width,\n        _height = 350;\n\n    if (Core.IsMobile()) {\n        _width = Core.Cache.$window.width();\n    }\n\n    var winEl = $popup.kendoWindow({\n        title: title,\n        width: _width,\n        //height: _height,\n        visible: false,\n        iframe: false,\n        modal: true,\n        resizable: false,\n        actions: [\"Close\"],\n        pinned: true,\n        draggable: false,\n        appendTo: '#page-wrap'\n    });\n\n    winEl.data(\"kendoWindow\").wrapper.addClass('portal-modal');\n    var $closeBtn = $popup.find('.portal-modal__btn-close');\n\n    if ($closeBtn) {\n      $closeBtn.on('click', function() {\n        Core.ShowPopup($popup, false);\n      });\n    }\n\n    $popup.removeClass('hidden');\n};\n\nCore.ShowPopup = function($popup, doShow) {\n    doShow = doShow === undefined || null ? true : doShow; //set default to true/show\n\n    var popupWindow = $popup.data(\"kendoWindow\");\n\n    if (doShow) {\n        popupWindow.center().open();\n    } else {\n        popupWindow.close();\n    }        \n};\n\nCore.AppendErrorLabel = function($target, title) {\n    var tmpl = \"<label class='error'>\" + title + \"</label>\";\n    $target.append(tmpl);\n};\n\nCore.ShowErrorMessage = function ($errorBox, config, doShow) {\n    doShow = doShow === undefined || null ? true : doShow; //set default to true/show\n\n    if($errorBox.length === 0) {\n        console.warn('No div.portal-error exist. Returned early.');\n        return;\n    }\n\n    $errorBox.html('');\n    if(!doShow) {\n        $errorBox.addClass('hidden');\n        return;\n    }\n\n    var initCloseBtn = function() {\n        $errorBox.find('.portal-error__close').on('click', function() {\n          $errorBox.addClass('hidden');\n        });\n    };\n\n    if(config) {\n        //add icon close\n        var closeBtn = '<button type=\"button\" class=\"portal-error__close\">&times;</button>';\n        $errorBox.append(closeBtn);\n\n        if (config.title) {\n            $errorBox.append('<h4 class=\"portal-error__title\">' + config.title + '</h4>');\n        }\n    \n        if (Array.isArray(config.message)) {\n            $.each(config.message, function (i, msg) {\n                $errorBox.append('<p class=\"portal-error__message\">' + msg + '</p>');\n            });\n    \n        } else {\n            $errorBox.append('<p class=\"portal-error__message\">' + config.message + '</p>');\n        }\n\n        initCloseBtn();\n        $errorBox.removeClass('hidden');\n        Core.ScrollToView($errorBox.offset().top - 10);\n    }    \n}\n\nCore.ScrollToView = function(scrollTop) {\n    $('html, body').animate({\n        scrollTop: scrollTop\n    }, 300);\n};\n\nCore.IsNumber = function (evt) {\n    evt = (evt) ? evt : window.event;\n    var charCode = (evt.which) ? evt.which : evt.keyCode;\n    if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n        return false;\n    }\n    return true;\n};\nCore.IsValidText = function (evt) {\n    evt = (evt) ? evt : window.event;\n    var charCode = (evt.which) ? evt.which : evt.keyCode;\n   \n    var regex = /^[a-zA-Z0-9]{5}$/;\n    var y = String.fromCharCode(charCode);\n    var isValid = regex.test(String.fromCharCode(evt.charCode));\n    return isValid;\n};\nCore.SetCache();\n\nCore.Cache.$document.ready(function () {\n    Core.Engine.init();\n    Core.Page({});\n});\n","Core.Config = {\n    MobileWidth: 767, //set the max width of the mobile view port. options: integer\n    TabletWidth: 1024, //set the max width for the tablet view port. optioins: integer\n    Header: {\n        SearchToggle: true, //turn the seach box toggle on or off. options: boolean (true / false)\n        AutoScalingNavigation: false, //set navigation links to fill the space allowed by the parent container DESKTOP ONLY. options: boolean (true / false)\n\t\tMobileMenu: 'slideout', //set the type of mobile menu. options: string (slideOut / dropdown)\n\t\tMobileNavigationWidth: 767, //set the max width of the viewport which the mobile menu displays. options: integer\n        MobileSubMenuToggle: true,\n        MegaMenuDropdownDelay: 500 //navigation drop down delay (in ms)\n    },\n    Carousel: {\n        DesktopSlideMargin: 10, //margin between slides on desktop. options: integer\n        MobileSlideMargin: 18, //margin between slides on mobile. options: integer\n        MobileSlideCount: 2, //slide count for mobile. options: integer\n\t\tPager: true, //show or hide paging control. options: boolean (true / false)\n\t\tAuto: false, //slides will automatically transition. options: boolean (true / false)\n        Speed: 1000, //slide transition duration (in ms). options: integer\n\t\tPause: 4000, //the amount of time (in ms) between each auto transitions. options: integer\n        InfiniteLoop: true, //if true, clicking \"Next\" while on the last slide will transition to the first slide and vice-versa. options: boolean (true / false)\n        HideControlOnEnd: true, //\"Next\" control will be hidden on last slide and vice-versa (Only used when infiniteLoop: false). options: boolean (true / false)\n\t\tMoveSlides: 0, //number of slides to move on transition. This value must be >= minSlides, and <= maxSlides. If zero, the number of fully-visible slides will be used. options: integer\n        PauseOnHover: true //pause when mouse hovers over carousel. options: boolean (true / false)\n    },\n    Slider: {\n        Active: true, //turn the slider on or off. options: boolean (true / false)\n        Speed: 1500, //slide transition duration (in ms). options: integer\n        //Pause: 4000, //the amount of time (in ms) between each auto transitions. options: integer\n\t\tFx: 'scrollHorz' //set the type of transition effect. options: string (scrollHorz / fade / fadeout / none)\n    },\n    Forms: {\n        InputStyling: true, //styling of radio buttons and checkboxes. options: boolean (true / false)\n        DropdownStylingTouchDevices: true, //styling of select boxes for touch devices. options: boolean (true / false)\n        DropdownStylingDesktop: true //styling of select boxes for non touch devices. options: boolean (true / false)\n    },\n    Accordions: {\n        Active: true //turn the menu toggle on or off. options: boolean (true / false)\n    },\n    AccordionTabs: {\n        Active: true //turn the accordion tabs on or off. options: boolean (true / false)\n    },\n    SearchAutoComplete: {\n\t\tMinCharacters: 3 //sets the minimum number of characters the user must type before a search is performed\n    },\n    StoreFinder: {\n        MarkerIconPath: \"site.resource/images/location-pin.png\", //location of the google map icon marker. options: string\n        MarkerIconPathNetwork: \"site.resource/images/location-pin-purple.png\", //location pin for Network Partner (purple)\n        MapDetailZoomLevel: 15 //zoom level map appears on details page. options: integer\n    },\n    ProductDetail: {\n        ZoomPopupWidth: 780, //width of zoom popup window. options: integer\n        ZoomPopupHeight: 600, //height of zoom popup window. options: integer\n        ZoomPanningSpeed: 400, //panning speed of zoom feature. options: integer\n        Gallery: {\n            SlideMargin: 12,\n            SlideWidth: 90, //60,\n            MinSlides: 2,\n            MaxSlides: 5, //4,\n            MoveSlides: 0,\n            Auto: false,\n            Speed: 1000,\n            Pager: false,\n            InfiniteLoop: false,\n            HideControlOnEnd: true,\n            UseCSS: false\n        }\n    },\n    CartNotification: {\n        PauseTime: 4000, //pause time of notication window before it closes. options: integer\n        Width: 560, //width of notification window. options: integer\n        Height: 270 //height of notification window. options: integer\n    },\n    ResponsiveTables: {\n        Active: true //turn the responsive tables on or off. options: boolean (true / false)\n    },\n    FavouriteText: {\n        Add: 'Add to favourites',\n        Remove: 'Remove from favourites',\n        ErrorTitle: 'Favourite button error'\n    },\n    POA: {\n        Text: \"Enquire\"\n    }\n};\n","Core.Engine = {\n    _animWidth: 0,\n    init: function () {\n        var _config = Core.Config,\n            toggleMenu = false,\n            slideOutMenu = false;\n\n        if (Core.Config.Header.MobileMenu == 'dropdown') {\n            toggleMenu = true;\n        }\n        else {\n            slideOutMenu = true;\n        }\n\n        $.vividCore({\n            searchToggle: _config.Header.SearchToggle,\n            navigationToggle: _config.Header.NavigationToggle,\n            mobileToggleNavigation: toggleMenu,\n            mobileSlideOutNavigation: slideOutMenu,\n            navigationContainerSelector: \"#slide-navigation\",\n            hasAutoScalingNavigation: _config.Header.AutoScalingNavigation,\n            mobileNavigationMaxWidth: _config.Header.MobileNavigationWidth,\n            mobileSubMenuToggle: _config.Header.MobileSubMenuToggle,\n            cycleSlider: _config.Slider.Active,\n            cycleSliderSlideSpeed: _config.Slider.Speed,\n            cycleSliderTimeout: _config.Slider.Pause,\n            cycleSliderEffect: _config.Slider.Fx,\n            accordionTabs: _config.AccordionTabs.Active,\n            accordions: _config.Accordions,\n            formInputStyling: _config.Forms.InputStyling,\n            dropdownStylingTouchDevices: _config.Forms.DropdownStylingTouchDevices,\n            dropdownStylingDesktop: _config.Forms.DropdownStylingDesktop,\n            responsiveTables: _config.ResponsiveTables.Active\n        });\n\n        $.featherlightGallery.prototype.afterContent = function() {\n            var caption = this.$currentTarget.attr('title');\n            this.$instance.find('.featherlight__caption, .featherlight-next, .featherlight-previous').remove();\n            this.$instance.find('.featherlight-content').append(this.createNavigation('previous')).append(this.createNavigation('next'));\n            $('<div class=\"featherlight__caption\"><span class=\"featherlight__caption-content\">' + caption + '</span></div>').appendTo(this.$instance.find('.featherlight-content'));\n        }\n\n        this.updateAnimWidth();\n        $(window).on('resize', this.updateAnimWidth);\n        this.filtersToggle();\n        this.productMenu();\n        this.categoryMainMenu();\n        this.searchFocus();\n        this.autoCompleteSearch();\n        this.addBlockClass();\n        this.newsLetterSignup();\n        this.globalToggles();\n        this.backToTop();\n        this.prefilter();\n        this.navHasChildren();\n        this.tabContentContainer();\n        this.videoEmbedZindex();\n        this.getCartSummary();\n        this.cartQtyButtons();\n        this.ctaBtns();\n        this.disableFilters();\n        this.printPage();\n        this.oneImageSlider();\n        this.oneImageBxSlider();\n        this.categoryListing();\n        this.contentAccordion();\n        this.youtubeResize();\n        this.youtubeMobile();\n        this.quoteToggleHighlight();\n        this.disableLinks();\n        this.equalItemHeightFirstRun();\n        $(window).on('resize', this.equalItemHeight);\n        this.initResources();\n        $(window).on('resize', this.reflowResources);\n        this.menuSubHeight();\n        this.storeListingClasses();\n        this.megaMenuDelay();\n        this.megaMenuTabletInit();\n        this.swatchClick();\n        this.swatchHover();\n        this.filterSummaryInfo();\n        this.getPdfResources();\n        this.handleAlert();\n        this.handleAddressAutocomplete();\n        this.handleTopNavDropdown();\n\n        //set defaults for form validation\n        $.validator.setDefaults({ ignore: '' });\n        $.validator.addMethod(\"validate-email\", function (value, element) {\n            return this.optional(element) || /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$/i.test(value);\n        }, \"Please enter a valid email address\");\n\n        $.validator.addMethod(\"validate-password\", function (value, element) {\n            return this.optional(element) || /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/.test(value);\n        }, \"Passwords are at least 8 characters with uppercase letters, lowercase letters and at least one number\");\n\n        $.validator.addMethod(\"greaterThan\", function (value, element, params) {\n            if (!/Invalid|NaN/.test(new Date(value))) {\n                return kendo.parseDate(value, \"dd/MM/yyyy\") > kendo.parseDate($(params).val(), \"dd/MM/yyyy\");\n            }\n            return isNaN(value) && isNaN($(params).val())\n                || (Number(value) > Number($(params).val()));\n        }, 'Must be greater than {0}');\n\n        $.validator.addMethod(\"validate-date\", function (value, element) {\n            var currentDate = new Date();\n            var day = currentDate.getDate();\n            var month = currentDate.getMonth() + 1;\n            var year = currentDate.getFullYear();\n            var todaysDate = kendo.parseDate((day + \"/\" + month + \"/\" + year), \"dd/MM/yyyy\");\n            return this.optional(element) || (kendo.parseDate(value, \"dd/MM/yyyy\") !== null && kendo.parseDate(value, \"dd/MM/yyyy\") >= todaysDate);\n        }, \"Please enter a valid date\");\n\n        $.validator.addMethod('empty', function(value, element) {\n            return (value === '');\n        }, \"This field must remain empty.\");\n\n        $.validator.addMethod('ukpostcode', function(value, element) {\n            if (this.optional(element)) {\n                return true;\n            }\n\n            return /^([A-Za-z][A-Ha-hJ-Yj-y]?[0-9][A-Za-z0-9]? ?[0-9][A-Za-z]{2}|[Gg][Ii][Rr] ?0[Aa]{2})$/.test(value);\n        }, \"Please enter a valid post code\");\n\n        /**\n         * validate phone number according to australian format\n         * Ref: https://ilikekillnerds.com/2014/08/regular-expression-for-validating-australian-phone-numbers-including-landline-and-mobile/\n         * Ref: https://stackoverflow.com/questions/52127606/how-to-validate-input-field-phone-with-accurate-australian-format-using-jquery-v\n         */\n        jQuery.validator.addMethod(\"mobileau\", function(value, element) {\n            var phoneExpression = /^(?=\\d{10}$)(04)\\d+/;\n\n            if (!value) return true;\n\n            if (value.match(phoneExpression)) {\n                return true;\n            }\n            return false;\n        }, jQuery.validator.messages.mobileau || \"Please specify a valid mobile number start with 04\");\n\n        $.validator.classRuleSettings.className = { methodName: true };\n\n        /**\n         * @see addToCart.js\n         */\n        Core.AddToQuote.init();\n\n        /**\n         * @see carousels.js\n         */\n        new Core.Carousels();\n\n        /**\n         * @see productListing.js\n         */\n        Core.ProductListing.init();\n    },\n    updateAnimWidth: function() {\n        Core.Engine._animWidth = $('.megaMenu__containers').actual('width') + 40;\n        Core.Engine.categorySubResize(true);\n    },\n    homeToggle: function () {\n        Core.Cache.$body.on('click', '.toggle-trigger', function () {\n            $('.toggle-container').hide();\n            $(this).next().show();\n        });\n        if (Core.IsMobile()) {\n            Core.Cache.$body.on('click', '.toggle-trigger--mobile', function () {\n                $('.toggle-container').hide();\n                $(this).next().show();\n            });\n        }\n    },\n    filtersToggle: function () {\n        Core.Cache.$body.on('click', '#filters-toggle', function () {\n            $(this).parent().toggleClass('open');\n            $(this).parent('.mobile-toggle-btn').siblings('.filters-toggle-wpr').toggle();\n        });\n    },\n    productMenu: function () {\n        var _$catListingBlock = $('.cataloguelistingblock'),\n            _$catListItems = _$catListingBlock.find('ul.nav-panel__link-row');\n\n        if (!Core.IsMobile()) {\n            Core.Engine.categorySubResize();\n            _$catListItems.first().children().children('a.slide-out').on('click', function (e) {\n                e.preventDefault();\n                var _$currentCat = $(this).parent().find('.category-sub');\n                Core.Engine.categorySubResize();\n                _$currentCat.show().addClass('active');\n                _$currentCat.find('.cat-img').attr('src', _$currentCat.data('category-image'));\n\n                _$currentCat.find('img').lazyload({\n                    event: \"lazyload\",\n                    effect: \"fadeIn\"\n                })\n                .trigger(\"lazyload\");\n\n                _$catListingBlock.css('left', (Core.Engine._animWidth * -1) + 'px');\n            });\n        }\n\n        var _$ctaContainer = _$catListingBlock.find('div.nav-panel__cta-row'),\n            _$ctaListItems = _$catListingBlock.find(\"a.megaMenu__prod-cta[href='#']\"); // BACK buttons\n\n        if (!Core.IsMobile()) {\n            Core.Engine.categorySubResize();\n            _$ctaListItems.on('click', function (e) { // BACK buttons on click\n                e.preventDefault();\n                var _$currentCat = $(this).parent().find('.category-sub');\n                Core.Engine.categorySubResize();\n                _$currentCat.show().addClass('active');\n                _$currentCat.find('.cat-img').attr('src', _$currentCat.data('category-image'));\n\n                _$currentCat.find('img').lazyload({\n                    event: \"lazyload\",\n                    effect: \"fadeIn\"\n                })\n                .trigger(\"lazyload\");\n\n                _$catListingBlock.css('left', (Core.Engine._animWidth * -1) + 'px');\n            });\n        }\n\n        _$catListingBlock.find('.back').on('click', function (e) {\n            e.preventDefault();\n            _$catListingBlock.css('left', 0);\n            setTimeout(function () {\n                $('.category-sub.active').removeClass('active').hide();\n            }, 600);\n        });\n    },\n    categoryMainMenu: function () {\n        $('.slide-out').on('click', function(e) {\n            if (Core.IsMobile()) {\n                e.preventDefault();\n                var url = $(this).data('url');\n                if (url) {\n                    location.href = $(this).data('url');\n                } else {\n                    $(this).find(\".toggle-icon\").trigger('click');\n                }\n            }\n        });\n    },\n    categorySubResize: function(notransition) {\n        notransition = notransition === true ? notransition : false;\n\n        $('ul.nav-panel__link-row .category-sub').each(function() {\n            if (notransition) {\n                $(this).addClass('notransition');\n            }\n            $(this).width((Core.Engine._animWidth - 40) + 'px').css('left', (Core.Engine._animWidth - 10) + 'px');\n            if (notransition) {\n                $(this)[0].offsetHeight;\n                $(this).removeClass('notransition');\n            }\n        });\n\n        $('div.nav-panel__cta-row .category-sub').each(function() {\n            if (notransition) {\n                $(this).addClass('notransition');\n            }\n            $(this).width((Core.Engine._animWidth - 40) + 'px').css('left', (Core.Engine._animWidth * 0.350839) + 'px');\n            if (notransition) {\n                $(this)[0].offsetHeight;\n                $(this).removeClass('notransition');\n            }\n        });\n\n        if ($('.cataloguelistingblock').css('left') && parseInt($('.cataloguelistingblock').css('left')) !== 0) {\n            if (notransition) {\n                $('.cataloguelistingblock').addClass('notransition');\n            }\n            $('.cataloguelistingblock').css('left', (Core.Engine._animWidth * -1) + 'px');\n            if (notransition) {\n                $('.cataloguelistingblock').each(function() {\n                    $(this)[0].offsetHeight;\n                })\n                $('.cataloguelistingblock').removeClass('notransition');\n            }\n        }\n    },\n    logout: function () {\n        $('#logout').on('click', function (e) {\n            e.preventDefault();\n\n            $.ajax({\n                url: '/account/logout',\n                type: 'GET',\n                success: function (data) {\n                    if (data) {\n                        location.href = '/';\n                    }\n                },\n                error: function (xhr, ajaxOptions, thrownError) {\n                    //todo: do something\n                }\n            });\n        });\n    },\n    newsLetterSignup: function () {\n        var _$newsletterEmailBtn = $('#newsletter-subscription-btn'),\n            _$emailAddress = $(\"#newsletter-subscription\"),\n            _$newsletterForm = $(\"#newsletter-subscription-form\"),\n            _$newsletterResult = $(\"p.error\"),\n            _$buttonKeys = { \"EnterKey\": 13 };\n\n        _$newsletterEmailBtn.on('click', function (e) {\n            e.preventDefault();\n            _$newsletterResult.html(\"\");\n            var _emailAddress = _$emailAddress.val();\n            if (_emailAddress.length > 0) {\n                $('#loading-overlay-nl').show();\n                $.ajax({\n                    url: '/edm/newslettersignup',\n                    type: 'POST',\n                    dataType: \"json\",\n                    data: _$emailAddress.serialize(),\n                    success: function (data) {\n                        $('#loading-overlay-nl').hide();\n                        if (data.Result !== null) {\n                            if (data.Result.toLowerCase() === \"ok\") {\n                                _$emailAddress.val('');\n                                _$newsletterResult.html(data.SuccessMessage);\n                            } else {\n                                _$newsletterResult.html(data.ErrorMessage);\n                            }\n                        }\n                    },\n                    error: function (xhr, ajaxOptions, thrownError) {\n                        //todo: do something\n                        $('#loading-overlay-nl').hide();\n                    }\n                });\n            } else {\n                _$newsletterResult.html('Please enter an email address to signup to the newsletter');\n            }\n        });\n\n        _$newsletterForm.on('keypress', function (e) {\n            if (e.which == _$buttonKeys.EnterKey) {\n                var defaultButtonId = $(this).attr(\"defaultbutton\");\n                $(\"#\" + defaultButtonId).trigger('click');\n                return false;\n            }\n        });\n    },\n    searchFocus: function () {\n        //$(\"#search-site\").blur(function (e) {\n        //    if (e.relatedTarget == null || e.relatedTarget.id !== 'btn-search-site') {\n        //        $(\"#search-site\").val('');\n        //    }\n        //});\n        //$(\"#search-site\").focus(function (e) {\n        //    $(\"#search-site\").val('');\n        //});\n    },\n    autoCompleteSearch: function () {\n        var _$input = $(\"#search-site\"),\n            _$form = $('#frm-site-search'),\n            _$buttonKeys = { \"EnterKey\": 13 };\n\n        if (_$input.length === 0 )\n            return true;\n\n        var dataSource = new kendo.data.DataSource({\n                serverFiltering: true,\n                transport: {\n                    read: function (request, response) {\n                        var _$loading = _$form.children('.loading');\n                        var _$autocomplete = $(\"#search-site\").data(\"kendoAutoComplete\");\n\n                        var _$filterInput = _$input.val().replace(/[|;$%@\"<>(),?+*:]/g, \"\");\n\n                        _$loading.show();\n\n                        // https://run.mocky.io/v3/df4afccf-71ad-4282-a1d9-37e25fd3f54c\n                        $.getJSON('/sitesearch/term/?searchterm=' + encodeURI(_$filterInput), function (json) {\n                            request.success(json.Results);\n                            _$loading.hide();\n                            if (_$filterInput == '') {\n                                _$autocomplete.list.hide();\n                            }\n                        });\n                    }\n                }\n            });\n\n        var autocomplete = _$input.kendoAutoComplete({\n            dataTextField: \"Name\",\n            dataSource: dataSource,\n            // minLength: Core.Config.SearchAutoComplete.MinCharacters,\n            template: kendo.template($(\"#tpl-auto-search\").html()),\n            change: function (e) {\n                this.dataSource.read();\n                if (_$input.is(\":focus\")) {\n                    var _$filterInput = _$input.val().replace(/[|;$%@\"<>(),?+*:]/g, \"\");\n                    if (_$filterInput !== '') {\n                        var _url = _$form.data('url') + '#?searchTerm=' + encodeURI(_$filterInput);\n                        window.location.href = _url;\n                    }\n                }\n            },\n            filtering: function(e) {\n                var filter = e.filter;\n                var _$filterInput = filter.value.replace(/[|;$%@\"<>(),?+*:]/g, \"\");\n                if (_$filterInput.length < Core.Config.SearchAutoComplete.MinCharacters) {\n                    //prevent filtering if the filter does not value\n                    // this.list.hide();\n                    e.preventDefault();\n                }\n            },\n            // close: function(e, o, i) {\n            //     e.preventDefault(); // prevent close for debugging\n            // },\n            open: function (e) {\n            },\n            popup: {\n                origin: \"bottom center\",\n                position: \"top center\"\n            }\n        }).data(\"kendoAutoComplete\");\n\n        if(autocomplete) {\n            autocomplete.popup.element.addClass('k-popup-autocomplete');\n        }\n\n        $('#search-site-list').append('<a id=\"view-all-results\" class=\"view-all-results\" href=\"#\">VIEW ALL RESULTS</a>');\n\n        $('#view-all-results, #btn-search-site').on('click', function (e) {\n            e.preventDefault();\n            var _$autocomplete = $(\"#search-site\").data(\"kendoAutoComplete\");\n            var _$filterInput = _$input.val().replace(/[|;$%@\"<>(),?+*:]/g, \"\");\n\n            if (_$filterInput !== '') {\n                var _url = _$form.data('url') + '#?searchTerm=' + encodeURI(_$filterInput);\n                window.location.href = _url;\n                _$autocomplete.close();\n            }\n        });\n\n\n        _$form.on('keypress', function (e) {\n            if (e.which == _$buttonKeys.EnterKey) {\n                var defaultButtonId = $(this).attr(\"defaultbutton\");\n                $(\"#\" + defaultButtonId).trigger('click');\n                return false;\n            }\n        });\n    },\n    addBlockClass: function () {\n        $('.cta').parent('.block').addClass('no-padding');\n        $('.business-units').parent('.block').addClass('no-padding');\n        $('.no-padding').closest('.columns').addClass('no-padding');\n    },\n    globalToggles: function () {\n        $('.toggle-trigger').on('click', function (e) {\n            e.preventDefault();\n            var _$this = $(this);\n            _$this.toggleClass('filter-opened');\n            _$this.siblings('.toggle-container').slideToggle(400);\n        });\n        if (Core.IsMobile()) {\n            $('.toggle-trigger--mobile').on('click', function (e) {\n                e.preventDefault();\n                var _$this = $(this);\n                _$this.toggleClass('filter-opened');\n                _$this.siblings('.toggle-container').slideToggle(400);\n            });\n        }\n    },\n    backToTop: function () {\n        function checkPosition() {\n            if (Core.Cache.$window.scrollTop() > 200) {\n                Core.Cache.$backToTop.fadeIn(500);\n            } else {\n                Core.Cache.$backToTop.fadeOut(300);\n            }\n        }\n\n        // Show or hide the sticky footer button\n        Core.Cache.$window.on('scroll', checkPosition);\n\n        // Animate the scroll to top\n        Core.Cache.$backToTop.on('click', function (e) {\n            e.preventDefault();\n            Core.Cache.$body.add(Core.Cache.$html).animate({ scrollTop: 0 }, 300);\n        });\n\n        checkPosition();\n    },\n    prefilter: function () {\n        var _$prefilter = $('#prefilter');\n\n        if (_$prefilter.length > 0) {\n            if (!window.location.hash) {\n                var _prefilterVal = _$prefilter.val();\n                if (_prefilterVal !== '') {\n                    window.location.hash = _prefilterVal;\n                }\n            }\n        }\n    },\n    navHasChildren: function () {\n        $('.megaMenu__nav--link').has('.megaMenu__containers').addClass('has-children');\n    },\n    tabContentContainer: function () {\n        $('.product-extras__container').wrapInner( \"<div class='content-area'></div>\" );\n    },\n    //fix z-index mega menu issue on IE8\n    videoEmbedZindex: function () {\n        $(\"iframe\").each(function(){\n            var ifr_source = $(this).attr('src');\n            if (ifr_source) {\n                var wmode = \"wmode=transparent\";\n                if (ifr_source.indexOf('?') != -1) $(this).attr('src', ifr_source + '&' + wmode);\n                else $(this).attr('src', ifr_source + '?' + wmode);\n            }\n        });\n    },\n    getCartSummary: function (e) {\n        Core.Cache.$miniCartTotal.hide();\n        $.ajax({\n            url: '/cart/getcounters',\n            type: 'GET',\n            dataType: \"json\",\n            success: function (data) {\n                if (data !== null) {\n                    if (data.cartItemsCount !== null && data.cartItemsCount != \"0\") {\n                        Core.Cache.$miniCartTotal.html(data.cartItemsCount);\n                        Core.Cache.$miniCartTotal.show();\n                    }\n                }\n            },\n            error: function (xhr, ajaxOptions, thrownError) {\n                //todo: do something\n                //alert(thrownError);\n            }\n        });\n    },\n    cartQtyButtons: function () {\n        Core.Cache.$body.on('click', '.k-icon', function () {\n          $(this).trigger('focus');\n        });\n    },\n    ctaBtns: function () {\n       $('.btn-cta .arrow-box').wrapInner( '<span class=\"cta-text\"><span></span></span>' );\n    },\n    disableFilters: function () {\n        setTimeout(function () {\n            $('.checker.disabled').closest('label').addClass('disabled');\n        }, 1000);\n    },\n    printPage: function () {\n        $('.print').on('click', function (e) {\n            e.preventDefault();\n            window.print();\n        });\n    },\n    oneImageSlider: function () {\n        $('.slider').each(function() {\n          if ($('.slide', this).length <= 1) {\n            $('.slider-btn, .slider-paging').hide();\n          }\n        });\n    },\n    oneImageBxSlider: function () {\n        setTimeout(function () {\n            $('.carousel').each(function() {\n                var slides = $(this).children('li:not(.bx-clone)').length;\n                if(slides <= 4) {\n                    //need to add this to the CSS to override the important property\n                    $(this).parents('.bx-wrapper').children('.bx-controls').attr('style', 'display: none !important');\n                }\n            });\n        }, 300);\n    },\n    categoryListing: function () {\n        var _$categorylist = $('.category__list');\n        _$categorylist.find('.category__image').lazyload({\n            event: \"lazyload\",\n            effect: \"fadeIn\"\n        })\n        .trigger(\"lazyload\");\n    },\n    contentAccordion: function () {\n        var _$footerContent = $('.footer .generic-content');\n        _$footerContent.find('h2').addClass('toggle-trigger').siblings().wrap('<div class=\"toggle-container\"></div>');\n        _$footerContent.find('h2').on('click', function (e) {\n            e.preventDefault();\n            var _$this = $(this);\n            //_$this.toggleClass('filter-opened').siblings('.toggle-container').slideToggle(400);\n        });\n    },\n    youtubeResize: function () {\n        // Find all YouTube videos\n        var $allVideos = $(\"iframe[src^='http://www.youtube.com']\"),\n\n            // The element that is fluid width\n            $fluidEl = $(\".fancybox-inner\");\n\n        // Figure out and save aspect ratio for each video\n        $allVideos.each(function() {\n\n            $(this)\n                .data('aspectRatio', this.height / this.width)\n\n                // and remove the hard coded width/height\n                .removeAttr('height')\n                .removeAttr('width');\n\n        });\n\n        // When the window is resized\n        // (You'll probably want to debounce this)\n        $(window).on('resize', function() {\n\n            var newWidth = $fluidEl.width();\n\n            // Resize all videos according to their own aspect ratio\n            $allVideos.each(function() {\n\n                var $el = $(this);\n                $el\n                    .width(newWidth)\n                    .height(newWidth * $el.data('aspectRatio'));\n\n            });\n\n            Core.Engine.youtubeMobile();\n\n        // Kick off one resize to fix all videos on page load\n        }).trigger('resize');\n    },\n    youtubeMobile: function () {\n        if (Core.IsMobile()) {\n            $('.product-details__gallery-actions .icon-play').removeClass('fancybox-media');\n        } else {\n            $('.product-details__gallery-actions .icon-play').addClass('fancybox-media');\n        }\n    },\n    quoteToggleHighlight: function () {\n        $(\".k-icon\").on('keypress', function() {\n            $(this).closest('.k-master-row').toggleClass('active');\n        });\n    },\n    //dynamic tab width\n    countAccordionTabs: function() {\n        var amount = $('.accordion-tabs > li').length;\n        var tabWidth = 100 / parseFloat(amount);\n        if (!Core.IsMobile()) {\n            $('.product-extras__tab, .tab-block-container .accordion-tabs .tab, .tabsblock .accordion-tabs .tab').css('width', tabWidth + \"%\");\n            if (amount == 1) {\n                $('.product-extras__tab, .tab-block-container .accordion-tabs .tab, .tabsblock .accordion-tabs .tab').addClass('single-tab');\n            }\n        }\n    },\n    disableLinks: function () {\n        $('.disabled').on('click', function (e) {\n            e.preventDefault();\n        });\n    },\n    equalItemHeightFirstRun: function() {\n        if (!Core.IsMobile()) {\n            $('.equal-height').imagesLoaded(Core.Engine.equalItemHeight);\n        }\n    },\n    equalItemHeight: function() {\n        if (!Core.IsMobile()) {\n            $('.equal-height').removeClass('equal-height-initialised').height('auto');\n            $('.equal-height').each(function() {\n                if (!$(this).hasClass('.equal-height-initialised')) {\n                    var $siblings = $(this).add($(this).siblings('.equal-height'));\n                    var tallestHeight = $siblings.map(function (i, el) {\n                        return $(el).actual('height');\n                    }).get();\n                    $siblings.height(Math.max.apply(this, tallestHeight)).addClass('equal-height-initialised');\n                }\n            });\n        }\n    },\n    menuSubHeight: function() {\n        setTimeout(function () {\n            var maxHeight = -1;\n            var menuItem = $('#main-navigation .megaMenu .megaMenu__nav .megaMenu__nav--link:first-child');\n            var menuCategoryMenu = $('#main-navigation .megaMenu .megaMenu__nav .megaMenu__nav--link:first-child .category-sub');\n\n            //maxHeight = maxHeight > menuCategoryMenu.actual('height') ? maxHeight : menuCategoryMenu.actual('height');\n\n            menuCategoryMenu.each(function() {\n                maxHeight = maxHeight > $(this).actual('height') ? maxHeight : $(this).actual('height');\n            });\n\n\n            if (!Core.IsMobile()) {\n                if (menuItem.children('.megaMenu__containers').height() < maxHeight) {\n                    menuItem.children('.megaMenu__containers').height(maxHeight);\n                }\n            };\n        }, 300);\n    },\n    storeListingClasses: function () {\n        setTimeout(function () {\n            $('#store-results li:first-child, #store-results li:nth-child(4n+1)').addClass('no-margin');\n        }, 1000);\n    },\n    megaMenuDelay: function () {\n        if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {\n            if (!Core.IsMobile() && !Core.IsTablet()) {\n                var dropdownDelay = 250;\n                if (Core.Config.Header.MegaMenuDropdownDelay) {\n                    dropdownDelay = Core.Config.Header.MegaMenuDropdownDelay;\n                }\n                var openDropdownTimeout;\n\n                function megaMenuHoverOn(megaMenuId) {\n                    if ($(window).width() > Core.Config.Header.MobileNavigationWidth) {\n                        $(megaMenuId).children('.megaMenu__containers').show();\n                    }\n                }\n\n                function megaMenuOff(megaMenuId) {\n                    $(megaMenuId).children('.megaMenu__containers').hide();\n                }\n\n                $('.megaMenu__nav .megaMenu__nav--link').each(function () {\n                    var $this = $(this);\n                    var megaMenuId = $this\n                    if (megaMenuId != undefined) {\n                        $this.on('mouseenter', function () {\n                                openDropdownTimeout = setTimeout(function () {\n                                    megaMenuHoverOn(megaMenuId);\n                                }, dropdownDelay);\n                            }).on('mouseleave', function () {\n                                if (openDropdownTimeout)\n                                    clearTimeout(openDropdownTimeout);\n                                megaMenuOff(megaMenuId);\n                            });\n                    }\n                });\n            }\n        }\n    },\n    megaMenuTabletInit: function() {\n        if (!Core.IsMobile() && Core.IsTablet()) {\n            $(document).on('touchend', '.megaMenu__nav--link.has-children > a', function(e) {\n                var o = e.originalEvent;\n                var isTouch = o instanceof TouchEvent && o.changedTouches.length === 1;\n                if (isTouch) {\n                    if (!$(this).hasClass('hover')) {\n                        e.preventDefault();\n                        e.stopPropagation();\n                        $(this).addClass('hover');\n                        $(document).one('touchend', '*:not(\".megaMenu__nav--link.has-children\")', Core.Engine.closeMegaMenu);\n                    }\n                }\n            });\n            $(document).on('blur', '.megaMenu__nav--link.has-children > a.hover', function(e) {\n                $(this).removeClass('hover');\n            });\n        }\n    },\n    closeMegaMenu: function(e) {\n        var o = e.originalEvent;\n        var isTouch = o instanceof TouchEvent && o.changedTouches.length === 1;\n        if (isTouch) {\n            e.stopPropagation();\n            $('.megaMenu__nav--link.has-children > a.hover').trigger('blur');\n        }\n    },\n    swatchClick: function() {\n      $('.swatch').on('click', function() {\n        var $this = $(this);\n        var $mainImageWrap = $('#main-img');\n        var $mainImage = document.querySelector('img.main-image');\n        var imageUrl = $this.data('image-url');\n\n        // on image load, remove loading\n        $mainImage.addEventListener('load', function() {\n          $mainImageWrap.removeClass('is-loading');\n        });\n\n        if (imageUrl) {\n          $mainImageWrap.addClass('is-loading');\n          $mainImage.src = imageUrl;\n        }\n      })\n    },\n    swatchHover: function () {\n        if (Core.IsMobile() || Core.IsTablet()) {\n            $('.swatch').each(function() {\n                var $this = $(this);\n                var swatch = $this.children('img');\n                var $swatchzoom = $('<div class=\"swatch-zoom\"><img src=\"' + swatch.attr(\"src\") + '\"></div>');\n                $this.append($swatchzoom);\n                $this.on('click', function(ev) {\n                    ev.stopPropagation();\n                    // $(document).off('click');\n                    if ($swatchzoom.hasClass('show')) {\n                        $swatchzoom.removeClass('show');\n                    } else {\n                        $swatchzoom.addClass('show');\n                        $(document).one('click touchstart', $('*').not($this), function(e) {\n                            $swatchzoom.removeClass('show');\n                        });\n                    }\n                });\n            });\n        } else {\n            $('.swatch')\n                .on('mouseenter', function() {\n                    var $this = $(this);\n                    var swatch = $this.children('img');\n                    $this.append('<div class=\"swatch-zoom\"><img src=\"' + swatch.attr(\"src\") + '\"></div>');\n                })\n                .on('mouseleave', function() {\n                    var $this = $(this);\n                    $this.children('.swatch-zoom').remove();\n                });\n        }\n    },\n    filterSummaryInfo: function () {\n        if (Core.IsMobile()) {\n            Core.Cache.$body.on('click', '.mobile-toggle-btn', function () {\n                //var filterSummary = $('#filter-summary-info').html();\n                //$('#filters-summary-info').html(filterSummary);\n            });\n        }\n    },\n    /*galleryZoom: function () {\n        if($('.main-image').data('zoom-image') != ''){\n            $('.main-image').elevateZoom({\n                zoomType : \"inner\",\n                zoomWindowFadeIn: 300,\n                zoomWindowFadeOut: 300\n            });\n        }\n    },*/\n    formDropdownStyling: function () {\n        if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {\n            if (Core.Config.Forms.DropdownStylingDesktop) {\n                $(\"select:not(.kendo-ignore,.kendo-initialized)\").kendoDropDownList().addClass('kendo-initialized');\n            }\n        } else {\n            if (Core.Config.Forms.DropdownStylingTouchDevices) {\n                $(\"select:not(.kendo-ignore,.kendo-initialized)\").kendoDropDownList().addClass('kendo-initialized');\n            }\n        }\n    },\n    initResources: function() {\n        $('.resource-items').each(function(i, el) {\n            $(el).imagesLoaded(function initialiseResources () {\n                Core.Engine.resourcesEqualHeight(el);\n                Core.Engine.closestAccordionTabHeight(el);\n            });\n        });\n        Core.Engine.accordionTabHeight();\n    },\n    reflowResources: function(context) {\n        if (typeof context === \"undefined\" || typeof context.target !== \"undefined\" || $(context).length === 0) {\n            context = $('body')[0];\n        }\n        $('.resource-items .grid-item', context).css('height', 'auto'); // first make sure they're in their natural height\n        $('.resource-items', context).each(function reflowingResources(i, el) {\n            Core.Engine.resourcesEqualHeight(el);\n            Core.Engine.closestAccordionTabHeight(el);\n        });\n        Core.Engine.accordionTabHeight();\n    },\n    closestAccordionTabHeight: function(el) {\n        if (!Core.IsMobile()) {\n            $(el).closest('.accordion-tabs .tab > .container.open').each(function() {\n                $(this).height($($(this).children('div')[0]).actual('height'));\n            });\n            $(el).closest('.accordion-tabs').each(function() {\n                $(this).height($($(this).find('.tab.active > .container.open > div')[0]).actual('height') + 160);\n            });\n        }\n    },\n    accordionTabHeight: function(el) {\n        if (!Core.IsMobile()) {\n            // resize accordion tab height according to the content of the active one\n            $('.accordion-tabs .tab > .container.open').each(function() {\n                $(this).height($($(this).children('div')[0]).actual('height'));\n            });\n            $('.accordion-tabs').each(function() {\n                $(this).height($($(this).find('.tab.active > .container.open > div')[0]).actual('height') + 160);\n            });\n        } else {\n            $('.accordion-tabs .tab > .container.open, .accordion-tabs').css('height', 'auto');\n        }\n    },\n    resourcesEqualHeight: function(el) {\n        var maxHeight = -1;\n        $('.grid-item', el).each(function() {\n            if (maxHeight < $(this).height()) {\n                maxHeight = $(this).height();\n            }\n        })\n        $('.grid-item', el).height(maxHeight + 'px');\n    },\n    getPdfResources: function(e) {\n      // this is so hacky and tricky cause we can't change the html from editor (category section)\n      var $catSection = $('#category-section');\n\n      var $el = $('.resource-search');\n      var $input = $el.find('.resource-search-input');\n      var $submitBtn = $el.find('.resource-search-submit-btn');\n      var $clearBtn = $el.find('.resource-search-clear-btn');\n      var $linkWrap = $('#category-section .generic-content').find('table');\n\n      var mainCategories = $('.category-title').map((i, obj) => $(obj).text().replace(/\\s/g,'').toLowerCase());\n      var categoriesResult = [];\n      var noresult = [];\n\n\n      // remove whitespaces; override table style\n      var cleanup = function() {\n        $linkWrap.css('height', 'auto');\n        $linkWrap.find('tbody tr').css('height', 'auto');\n        $linkWrap.find('tbody td').css({\n          'vertical-align': 'top',\n          'height': 'auto'\n        });\n\n        $linkWrap.find('tbody td p').map(function() {\n          var $this = $(this);\n          $this.find('br').remove();\n          this.innerHTML = $this.html().replace(/&nbsp;/g, '');\n          if ($this.html().length === 0) $this.remove();\n        });\n      };\n\n      var reset = function() {\n        $('.resourcelistingblock').hide(); // hide all rows first\n        $('.resourcelistingblock .resource-items .grid-item').hide(); // hide all items first\n        // reset highlight\n        $('.resourcelistingblock .resource-items .grid-item .doc h3').map(function(index, item) {\n          var originalTitle = $(item).data('title');\n          if (originalTitle) {\n            $(item).html(originalTitle);\n          }\n        });\n\n        $('.resource-search-no-results').remove();\n      };\n\n      // green links under the serach box\n      var handleCategorySection = function(cat) {\n        // get all names, make into array of string\n        mainCategories.map(function(i, item) {\n          var foundCat = cat.find(o => o.name.replace(/\\s/g,'').toLowerCase() === item);\n          if (foundCat) {\n            foundCat.subcategories.map(function(subcat) {\n              categoriesResult.push(subcat.name.toLowerCase());\n            });\n          } else {\n            noresult.push(item.replace(/\\s/g,'').toLowerCase());\n          }\n        });\n\n        // map each links element\n        // selector is a bit complex since the content doesn't have specific class\n        $linkWrap.find('td p a').map(function(i, el) {\n          var $link = $(el);\n          // check if it's Categories title or not\n          if ($link.closest('strong').length === 0) {\n            // if (categoriesName.indexOf($link.text().toLowerCase()) >= 0) {\n            // check if category contains string eg: bathroom in Bathroom User Documents\n            if (categoriesResult.find(obj => obj.includes($link.text().toLowerCase()))) {\n              $link.show();\n              $link.next('br').show();\n            } else {\n              $link.hide();\n              $link.next('br').hide();\n            }\n          } else {\n            if (noresult.indexOf($link.text().replace(/\\s/g,'').toLowerCase()) >= 0) {\n              $link.closest('td').append('<div class=\"resource-search-no-results\">No results</div>');\n            }\n          }\n        });\n      };\n\n      var handleItems = function(subcat) {\n        // show/hide categories\n        var subcatId = $('.resourcelistingblock .resources-container').find('h2#' + subcat.id);\n        if (subcatId) {\n          $(subcatId).closest('.resourcelistingblock').show();\n        }\n\n        // show/hide items\n        subcat.Resources.map(function(item) {\n          var itemId = $('.resourcelistingblock .resource-items').find('.grid-item#' + item.id);\n          if (itemId) {\n            // highlight keyword\n            var $title = $(itemId).find('.doc h3');\n            var text = $title.text();\n            var keyword = $input.val();\n            var index = text.toLowerCase().indexOf(keyword.toLowerCase());\n            $title.data('title', text);\n            if (index >= 0) {\n              // var addSpace = text.substr(index + keyword.length + 1, 1) === ' '; // check if next character is space or not\n              var innerHTML = text.substring(0, index) + \"<span class='resource-search-highlight'>\" + text.substring(index, index + keyword.length) + \"</span>\" + text.substring(index + keyword.length);\n              $title.html(innerHTML);\n            }\n\n            $(itemId).show();\n          }\n        });\n\n        // show hide item sections (row)\n        $('.category-title').map(function(i, obj) {\n          var $title = $(obj);\n          var foundCat = noresult.find(o => o === $title.text().replace(/\\s/g,'').toLowerCase());\n          if (foundCat) {\n            $title.hide();\n          } else {\n            $title.show();\n          }\n        });\n      };\n\n      var doSearch = function() {\n        var keyword = $input.val();\n        if (!keyword) return;\n\n        $catSection.addClass('is-loading');\n        categoriesResult = [];\n        noresult = [];\n\n        // /sitesearch/Resources/?searchTerm=BoardingPass\n        // https://run.mocky.io/v3/cd51d9c0-ec76-4920-80f3-6be9ac2fb17f\n        // no results: https://run.mocky.io/v3/43b67612-b46d-4255-9795-045937ad1d8c\n        $.getJSON('/sitesearch/Resources/?searchterm=' + encodeURI(keyword), function (resp) {\n          var categories = resp.categories;\n\n          reset();\n          handleCategorySection(categories);\n          if (categories.length > 0) {\n            categories.map(function(cat) {\n              // check subcategories\n              cat.subcategories.map(function(subcat) {\n                handleItems(subcat);\n              });\n            });\n          } else {\n            $('.category-title').hide();\n          }\n          $catSection.removeClass('is-loading');\n        });\n      };\n\n      $input.on('keyup', function(e) {\n        var key = e.keyCode || e.which;\n        // capture enter\n        if (key == 13){\n          doSearch();\n        }\n\n        // determine to show search/clear icon\n        if ($input.val().length > 0) {\n          $clearBtn.show();\n        } else {\n          $clearBtn.hide();\n        }\n      });\n\n      $submitBtn.on('click', function() {\n        doSearch();\n      });\n\n      $clearBtn.on('click', function() {\n        $input.val('');\n        $clearBtn.hide();\n        $('.resource-search-no-results').remove();\n        $('.generic-content').find('table tbody td p a').show(); // show all links section\n        $('.resourcelistingblock .resource-items .grid-item').show(); // show as per page load\n        $('.resourcelistingblock').show(); // show as per page load\n        $('.category-title').show();\n      });\n\n      cleanup();\n      $catSection.addClass('is-initialized');\n    },\n\n    handleAlert: function() {\n      var LS_ALERT = 'aidacare.alertBlock.closed';\n      var currentLsAlert = localStorage.getItem(LS_ALERT) || [];\n\n      if (currentLsAlert.length > 0) {\n        currentLsAlert = JSON.parse(currentLsAlert);\n      }\n\n      $('[data-dismiss=\"alert\"]').on('click', function() {\n        var $this = $(this);\n        var $parent = $this.closest('.alert');\n        if ($parent?.length > 0) {\n          var id = $parent.data('id');\n          currentLsAlert.push(id);\n\n          if (currentLsAlert.length > 0) {\n            localStorage.setItem(LS_ALERT, JSON.stringify(currentLsAlert));\n          }\n          $parent.remove();\n        }\n\n      });\n\n      // remove alert if the value is on localstorage, else show alert\n      $('.alert.alert-dismissible').each(function(i, obj) {\n        var $this = $(this);\n        var id = $(obj).data('id');\n        if (currentLsAlert.find(o => o === id)) {\n          $this.remove();\n        } else {\n          $this.removeClass('d-none');\n        }\n      });\n    },\n\n    handleAddressAutocomplete: function() {\n      var _$input = $('.addressAutocomplete-input');\n      var fetchUrl = _$input.closest('.addressAutocomplete').data('fetch-api');\n\n      if (_$input && _$input.length > 0 && !fetchUrl) {\n        console.log('addressAutocomplete :: Please provide \"data-fetch-api\" attribute to addressAutocomplete element');\n        return;\n      }\n\n      _$input.map(function(i, inp) {\n        var $inp = $(inp);\n        var selectedVal;\n        var autocomplete = $inp.data('kendoAutoComplete');\n\n        if (autocomplete) return;\n\n        var dataSource = new kendo.data.DataSource({\n          serverFiltering: true,\n          transport: {\n            read: function (request, response) {\n              var url = `${fetchUrl}?query=${$inp.val()}`;\n\n              $.getJSON(url, function (response) {\n                if (response && Array.isArray(response) && response.length > 0) {\n                  response.map(function(item) {\n                    // add new prop to combine suburb, state, and postcode\n                    item.customText = `${item.locality}, ${item.state}, ${item.postcode}`;\n                    return item;\n                  })\n                }\n                request.success(response);\n              });\n            },\n          },\n        });\n\n        autocomplete = $inp.kendoAutoComplete({\n          dataTextField: \"customText\",\n          dataSource: dataSource,\n          minLength: Core.Config.SearchAutoComplete.MinCharacters,\n          template: `\n            <div class=\"addressAutocomplete-item\">\n                #:locality#, #:state#, #:postcode#\n            </div>\n          `,\n          change: function (e) {\n            var obj = e.sender;\n            // compare current val with selected, if different, call api\n            if (obj.value() !== $inp.val()) {\n              this.dataSource.read();\n            }\n          },\n          select: function(e) {\n            var $el = $(e.sender.element);\n            var $parent = $el.closest('.addressAutocomplete');\n            var item = e.dataItem;\n            selectedVal = item.customText;\n\n            $parent.find('.addressAutocomplete-suburb').val(item.locality);\n            $parent.find('.addressAutocomplete-state').val(item.state);\n            $parent.find('.addressAutocomplete-postcode').val(item.postcode);\n          },\n          filtering: function(e) {\n            var filter = e.filter;\n            var _$filterInput = filter.value.replace(/[|;$%@\"<>(),?+*:]/g, \"\");\n            if (_$filterInput.length < Core.Config.SearchAutoComplete.MinCharacters) {\n                // prevent filtering if the filter does not have value\n                e.preventDefault();\n            }\n          },\n        }).data(\"kendoAutoComplete\");\n\n        $inp.on('blur', function() {\n          // force to select prev selection\n          var curVal = $inp.val();\n          if (curVal !== selectedVal) {\n            $inp.val(selectedVal);\n          }\n        });\n\n        if(autocomplete) {\n          autocomplete.popup.element.addClass('k-popup-autocomplete addressAutocomplete-popup');\n        }\n      });\n    },\n\n    handleTopNavDropdown: function() {\n        $(\".top-nav-dropdown\").kendoMenu();\n    },\n};\n","Core.Page.SetCache = function() {\n    this.Cache = {\n        productDetail: document.querySelector('#product-detail'),\n        productListing: document.querySelector('#product-listing'),\n        compare: document.querySelector('#compare'),\n        cart: document.querySelector('#cart'),\n        dashboard: document.querySelector('#dashboard'),\n        portalCheckout: document.querySelector('#portal-checkout'),\n        portalPlayoutCart: document.querySelector('#cart-playout'),\n        portalLogin: document.querySelector('#portal-login'),\n        clientAddressBook: document.querySelector('#client-address-book'),\n        newsEventDetails: document.querySelector('#news-event-details'),\n        newsEventListing: document.querySelector('#news-event-listing'),\n        storeFinder: document.querySelector('#store-finder'),\n        storeDetails: document.querySelector('#store-details'),\n        myAccount: document.querySelector('#my-account'),\n        login: document.querySelector('#login'),\n        register: document.querySelector('#register'),\n        xform: document.querySelector('.xform'),\n        editDetails: document.querySelector('#edit-details'),\n        editPassword: document.querySelector('#edit-password'),\n        editEmail: document.querySelector('#edit-email'),\n        myQuotes: document.querySelector('#my-quote'),\n        myRentals: document.querySelector('#my-rental'),\n        myTrials: document.querySelector('#my-trial'),\n        gallery: document.querySelector('.productgalleryblock'),\n        finalisePayment: document.querySelector('.finalisePayment'),\n        fileUploadList: document.querySelectorAll('.fileUpload'),\n        deliveryCounter: document.querySelector('.deliveryCounter'),\n        checkoutAvoidDuplicate: document.querySelector('.checkoutAvoidDuplicate'),\n        mapList: document.querySelectorAll('.mapItem'),\n        myAccountSupplierInstaller: document.querySelector('.myAccountSupplierInstaller'),\n        mfaLogin: document.querySelector('.mfaLogin'),\n    };\n};\n\nCore.Page.init = function(){\n    Core.Util.addIEClasses($('body'));\n    Core.Util.isOnMouse();\n\n    this.SetCache();\n\n    /**\n     * @see productDetail.js\n     */\n    if (this.Cache.productDetail) {\n        Core.ProductDetail.init();\n    }\n\n    /**\n     * @see cart.js\n     */\n    if (this.Cache.cart) {\n        Core.Cart.init();\n    }\n\n    /**\n     * @see dashboard.js\n     */\n    if (this.Cache.dashboard) {\n        Core.Dashboard.init();\n    }\n\n    /**\n     * @see portalCheckout.js\n     * @see portalCheckout.js\n     */\n    if (this.Cache.portalCheckout) {\n        Core.PortalAccordion.init();\n        Core.PortalCheckout.init();\n        Core.PortalCheckoutCheckboxToggle.init();\n        Core.PortalPickupStores.Locator.init();\n        Core.PortalCheckoutClientSearch(document.querySelector('[data-client-search]'));\n    }\n\n    /**\n     * @see portalCheckout.js\n     */\n\n    if (this.Cache.portalPlayoutCart) {\n        Core.PortalPlayoutCart.init();\n        Core.CartFlyout.init();\n    }\n\n\n    /**\n     * @see portalLogin.js\n     */\n    if (this.Cache.portalLogin) {\n       Core.PortalLogin.init();\n    }\n\n    /**\n     * @see clientAddressBook.js\n     */\n    if (this.Cache.clientAddressBook) {\n        Core.ClientAddressBook.init();\n    }\n\n    //image & 360 gallery\n    if (this.Cache.gallery) {\n        Core.Config.ProductDetail.Gallery.MaxSlides = 3;\n        Core.ProductDetail.init();\n    }\n\n    /**\n     * @see productCompare.js\n     */\n    if (this.Cache.compare) {\n        Core.ProductCompare.init();\n    }\n\n    /**\n     * @see newsEvents.js\n     */\n    if (this.Cache.newsEventListing) {\n        Core.NewsEvents.Listing();\n    }\n\n    if (this.Cache.newsEventDetails) {\n        Core.NewsEvents.Details();\n    }\n\n    /**\n     * @see stores.js\n     */\n    if (this.Cache.storeFinder) {\n        Core.Stores.Locator.init();\n    }\n\n    if (this.Cache.storeDetails) {\n        Core.Stores.Details.init();\n    }\n\n    /**\n     * @see account.js\n     */\n    if (this.Cache.myAccount) {\n        Core.Account.myAccount();\n    }\n\n    if (this.Cache.editDetails || this.Cache.editPassword || this.Cache.editEmail || this.Cache.login || this.Cache.register || this.Cache.xform) {\n        Core.Account.form();\n    }\n\n    if (this.Cache.myQuotes){\n        Core.Account.dataTable('/account/quotes', 'Quote ID', false);\n    }\n\n    if (this.Cache.myRentals){\n        Core.Account.dataTable('/account/rentals', 'Rental ID', false);\n    }\n\n    if (this.Cache.myTrials){\n        Core.Account.dataTable('/account/trials', 'Trial ID', true);\n    }\n\n    /**\n     * @see finalisePayment.js\n     */\n    if (this.Cache.finalisePayment) {\n        Core.FinalisePayment.init();\n    }\n\n    /**\n     * @see fileUpload.js\n     */\n    if (this.Cache.fileUploadList && this.Cache.fileUploadList.length > 0) {\n        for (var i = this.Cache.fileUploadList.length - 1; i >= 0; i--) {\n            new Core.FileUpload(this.Cache.fileUploadList[i]).init();\n        }\n    }\n\n    /**\n     * @see deliveryCounter.js\n     */\n    if (this.Cache.deliveryCounter) {\n        Core.DeliveryCounter(this.Cache.deliveryCounter).init();\n    }\n\n    /**\n     * @see checkoutAvoidDuplicate.js\n     */\n    if (this.Cache.checkoutAvoidDuplicate) {\n        Core.CheckoutAvoidDuplicate(this.Cache.checkoutAvoidDuplicate).init();\n    }\n\n    /**\n     * @see map.js\n     */\n    if (this.Cache.mapList && this.Cache.mapList.length > 0) {\n         Core.Map().initList(this.Cache.mapList);\n    }\n\n    /**\n     * @see myAccountSupplierInstaller.js\n     */\n    if (this.Cache.myAccountSupplierInstaller) {\n         Core.MyAccountSupplierInstaller.init();\n    }\n\n    /**\n     * @see mfaLogin.js\n     */\n    if (this.Cache.mfaLogin) {\n        Core.MfaLogin().init();\n    }\n};\n","Core.Account = {\n    form: function () {\n\n        Core.Account.Cache = {\n            $validationForm: $('.form-validation'),\n            $ajaxAccountForm: $('#account-form'),\n            $formSubmit: $('#form-submit'),\n            $loginShowPassword: $('#showPassword'),\n            $regShowPassword: $('#reg-showPassword'),\n            $accShowPassword: $('#acc-showPassword'),\n            $loginPasswordInp: $('div.login-form').find('input[type=\"password\"]'),\n            $regPasswordInp: $('div.register-login-details').find('input[type=\"password\"]'),\n            $accPasswordInp: $('section#edit-details').find('input[type=\"password\"]'),\n            $printButton: $('#print')\n        };\n\n        Core.Account.Cache.$validationForm.each(function () {\n            var isSms = function() {\n                var $mfaMethod = $('#mfaMethod');\n                return $mfaMethod.length && $mfaMethod.val().toLowerCase() === 'sms';\n            };\n\n            $(this).validate({\n                focusInvalid: false,\n                invalidHandler: function (form, validator) {\n\n                    if (!validator.numberOfInvalids())\n                        return;\n\n                    $(\"div.validation-summary-errors\").html('');\n                    $('html, body').animate({\n                        scrollTop: $(validator.errorList[0].element.parentElement).offset().top - 30\n                    }, 300);\n                },\n                rules: {\n                    MobilePhone: {\n                        required: {\n                            depends: isSms\n                        },\n                        mobileau: {\n                            depends: isSms\n                        },\n                    }\n                },\n                messages: {\n                    MobilePhone: {\n                        required: 'Please enter a mobile number for SMS verification'\n                    }\n                }\n            });\n        });\n\n        var _self = this;\n\n        _self.Cache.$ajaxAccountForm.on('submit', function (e) {\n            e.preventDefault();\n\n            if (_self.Cache.$ajaxAccountForm.valid()) {\n                $.ajax({\n                    url: _self.Cache.$ajaxAccountForm.attr('action'),\n                    data: _self.Cache.$ajaxAccountForm.serialize(),\n                    type: 'POST',\n                    dataType: 'json',\n                    success: function (data) {\n                        var _$validationMessage = Core.Account.Cache.$ajaxAccountForm.find('.frm-validation-msg');\n                        _$validationMessage.hide();\n\n                        if (data.Success) {\n                            window.location.href = data.SuccessUrl;\n                        }\n                        else {\n                            _$validationMessage.html('<div class=\"error-msg\">' + data.ErrorMessage + '</div>').show();\n                        }\n                    },\n                    error: function (xhr, ajaxOptions, thrownError) {\n                        //todo: do something\n                    }\n                });\n            }\n        });\n\n        if (Core.Account.Cache.$loginShowPassword.length > 0) {\n            this.handleShowPwdClick(Core.Account.Cache.$loginShowPassword, Core.Account.Cache.$loginPasswordInp);\n        }\n\n        if (Core.Account.Cache.$regShowPassword.length > 0) {\n            this.handleShowPwdClick(Core.Account.Cache.$regShowPassword, Core.Account.Cache.$regPasswordInp);\n        }\n\n        if (Core.Account.Cache.$accShowPassword.length > 0) {\n            this.handleShowPwdClick(Core.Account.Cache.$accShowPassword, Core.Account.Cache.$accPasswordInp);\n        }\n    },\n    handleShowPwdClick: function($checkBox, $input) {\n        Core.Account.checkShowPassword($checkBox, $input);\n        $checkBox.unbind(\"click\");\n\n        $checkBox.on('click', function (e) {\n            Core.Account.showPassword($(this), $input, this.checked);\n        });\n    },\n    showPassword: function ($chekBox, $input, doShow) {\n        doShow = doShow == null || undefined ? false : doShow; //set default to false/hide\n\n        if (doShow) {\n            $input.prop('type', 'text');\n            $chekBox.addClass('showing');\n        } else {\n            $input.prop('type', 'password');\n            $chekBox.removeClass('showing');\n        }\n\n        $.uniform.update();\n    },\n    //check password input on load\n    checkShowPassword: function ($chekBox, $input) {\n        //check if checkbox is checked\n        $chekBox.prop('checked') ?\n            Core.Account.showPassword($chekBox, $input, true) :\n            Core.Account.showPassword($chekBox, $input, false);\n    },\n    myAccount: function () {\n        $('#promotions').on('click', function (e) {\n            var _checked = $(event.target).parent('span.checked').length > 0;\n\n            $.ajax({\n                url: '/account/updatepromotions/?enable=' + _checked,\n                type: 'POST',\n                success: function (data) {\n                    var _message = '';\n\n                    if (data) {\n                        _message = '<strong>Your preferences have been updated</strong>';\n                    } else {\n                        _message = '<strong>Sorry, we could not update your preferences</strong>';\n                    }\n\n                    $('#result').html(_message);\n                },\n                error: function (xhr, ajaxOptions, thrownError) {\n                    //todo: do something\n                }\n            });\n        });\n    },\n    dataTable: function (dataUrl, firstColumnTitle, hideTotalColumn) {\n\n        function detailInit(e) {\n            var div = $(\"<div class='details'/>\").appendTo(e.detailCell);\n\n            var object = {};\n            object.ClientName = e.data.ClientName;\n            object.Comments = e.data.Comments;\n            object.Date = e.data.Date;\n            object.FundingType = e.data.FundingType;\n            object.GST = e.data.GST;\n            object.Image = e.data.Image;\n            object.QuoteID = e.data.QuoteID;\n            object.PrimaryKeyId = e.data.PrimaryKeyId;\n\n            object.SubTotal = e.data.SubTotal;\n            object.Total = e.data.Total;\n            object.OrderTotal = e.data.OrderTotal;\n\n            object.OrderDetails = [];\n\n            for (var x = 0; x < e.data.OrderDetails.length; x++) {\n                object.OrderDetails.push(e.data.OrderDetails[x]);\n            }\n\n            Handlebars.registerHelper('breaklines', function (text) {\n                text = Handlebars.Utils.escapeExpression(text);\n                text = text.replace(/(\\r\\n|\\n|\\r)/gm, '<br>');\n                return new Handlebars.SafeString(text);\n            });\n\n            var template = Handlebars.compile($('#tplOrderDetails').html());\n            var html = template(object);\n            $(div).html(html);\n\n            $('#print-rental, #print-trial').on('click', function (e) {\n                e.preventDefault();\n                $(this).closest('.k-detail-row').addClass('active');\n                $(this).closest('.k-detail-row').prev('.k-master-row').addClass('active');\n                $(this).closest('.my-details-container').addClass('print');\n                window.print();\n                $(this).closest('.k-detail-row').removeClass('active');\n                $(this).closest('.k-detail-row').prev('.k-master-row').removeClass('active');\n                $(this).closest('.my-details-container').removeClass('print');\n            });\n\n            $('.add-to-cart').on('click', function (e) {\n                e.preventDefault();\n                var _$this = $(this);\n                var quoteId = _$this.data('id');\n\n                if (quoteId.length > 0) {\n                    Core.ShowPageLoading();\n                    $.get('/account/requote?quoteId=' + quoteId).\n                    success(function (data, status, headers, config) {\n\n                        Core.HidePageLoading();\n                        Core.Engine.getCartSummary();\n\n                        var _width = Core.Config.CartNotification.Width,\n                           _height = Core.Config.CartNotification.Height;\n\n                        if (Core.IsMobile()) {\n                            _width = Core.Cache.$window.width();\n                        }\n\n                        //check which items have been successful\n                        var _successfulItems = [];\n                        for (var x = 0; x < data.length; x++) {\n                            //if (data[x].WasSuccess) {\n                            _successfulItems.push(data[x]);\n                            //}\n                        }\n\n                        if (_successfulItems.length > 0) {\n                            //increase height of window if more than 2 items\n                            if (_successfulItems.length > 2) {\n                                _height = _height + (_successfulItems.length - 2) * 35;\n                            }\n\n                            Core.RenderTemplate('#tpl-cart-notification', _successfulItems, $('#cart-notification-content'));\n\n                            var _$addToCartWindow = $('#cart-notification');\n\n                            _$addToCartWindow = _$addToCartWindow.kendoWindow({\n                                width: _width, height: _height, visible: false, iframe: false, modal: true, resizable: false, pinned: true, draggable: false, appendTo: '#page-wrap', animation: false\n                            });\n\n                            _$addToCartWindow.data(\"kendoWindow\").center().open();\n\n                            $(\".k-overlay\").on('click', function () {\n                                _$addToCartWindow.data(\"kendoWindow\").close();\n                            });\n\n                            $(\".k-window-action > span.k-i-close, .cart-notification-buttons > a.k-i-close\").on('click', function (e) {\n                                e.preventDefault();\n                                _$addToCartWindow.data(\"kendoWindow\").close();\n                            });\n                        }\n                        else {\n                            //todo: do something when no items have been added\n                            alert('Sorry, that was a problem adding items to your cart');\n                        }\n\n                    }).error(function (data, status, headers, config) {\n                        //todo: do something\n                    });\n                }\n            });\n        }\n\n        var _$grid = $(\".grid\"),\n            _$pagerNav = $('.k-pager-nav'),\n            _$columns = [];\n\n        if (!hideTotalColumn) {\n            _$columns = [\n                { field: \"QuoteID\", title: firstColumnTitle },\n                { field: \"Date\", type: \"date\", format: \"{0:dd/MM/yyyy}\" },\n                { field: \"ClientName\", title: \"Client Name\" },\n                { field: \"FundingType\", title: \"Funding\" },\n                { field: \"Total\", title: \"Total\", type: \"number\", format: \"{0:c}\" }\n            ];\n        } else {\n            _$columns = [\n                { field: \"QuoteID\", title: firstColumnTitle },\n                { field: \"Date\", type: \"date\", format: \"{0:dd/MM/yyyy}\" },\n                { field: \"ClientName\", title: \"Client Name\" },\n                { field: \"FundingType\", title: \"Funding\" }\n            ];\n        }\n\n        _$grid.kendoGrid({\n            dataSource: {\n                transport: {\n                    read: {\n                        url: dataUrl,\n                        dataType: \"Json\",\n                        contentType: \"application/json; charset=utf-8\",\n                        method: \"GET\"\n                    }\n                },\n                serverPaging: false,\n                serverSorting: false,\n                sort: { field: \"Date\", dir: \"desc\" },\n                schema: {\n                    parse: function (response) {\n                        $.each(response, function (idx, elem) {\n                            if (elem.Date && typeof elem.Date === \"string\") {\n                                elem.Date = kendo.parseDate(elem.Date, \"dd-MMM-yyyy\");\n                            }\n                        });\n                        return response;\n                    }\n                },\n                requestStart: Core.ShowPageLoading()\n            },\n            sortable: true,\n            pageable: {\n                pageSize: 10,\n                messages: {\n                    first: \"\",\n                    last: \"\",\n                    next: \"next\",\n                    previous: \"previous\"\n                },\n                info: false\n            },\n            detailInit: detailInit,\n            dataBound: function () {\n                if (this.dataSource.total() === 0) {\n                    _$grid.hide();\n                } else {\n                    _$grid.show();\n\n                    //this.expandRow(this.tbody.find(\"tr.k-master-row\").first());\n\n                    if (this.dataSource.total() > 10) {\n                        _$pagerNav.find('span.k-i-arrow-w').text('<');\n                        _$pagerNav.find('span.k-i-arrow-e').text('>');\n                        $('.k-pager-wrap').show();\n                    }\n\n                    _$grid.find('.k-grid-header-wrap > table').addClass('responsiveTable');\n                    _$grid.find('.k-master-row td:nth-child(2)').addClass('quote-id');\n                    _$grid.find('.k-master-row td:nth-child(3)').addClass('date');\n                    _$grid.find('.k-master-row td:nth-child(4)').addClass('client-name');\n                    _$grid.find('.k-master-row td:nth-child(5)').addClass('funding-type');\n                    _$grid.find('.k-master-row td:nth-child(6)').addClass('total');\n                    $('.k-minus').closest('tr').addClass('active');\n                }\n\n                Core.HidePageLoading();\n\n                $('#my-quote .k-icon').on('click', function () {\n                    $(this).closest('.k-master-row').toggleClass('active');\n                });\n            },\n            columns: _$columns\n        });\n    }\n}\n","var CLS_HIDE = 'd-none';\nvar CLS_CHECKED = 'has-checked';\n\nCore.AddToQuote = {\n    init: function () {        \n        Core.AddToQuote.Cache = {\n            addToQuoteSelector: (!this.isPortal()) ? '.addToQuote' : '.addToCartPortal',\n            $rentBtn: $('.rent'),\n            $trialBtn: $('.trial'),\n            $groupPrice: $('#groupPrice'),\n            $groupCode: $('#groupCode'),\n            $productDetailContainer: $('#product-detail'),\n            $productListingPage: $('#product-listing'),\n        };\n\n        this.initAddToCartQuoteListener();\n    },\n\n    initAddToCartQuoteListener: function() {\n        // Community Website\n        if (this.isEventBased()) {\n            document.addEventListener('aidacare.addtocart', function(e) {\n                Core.ShowPageLoading();\n                Core.AddToQuote.addToCartPortalApi(e.detail.itemList);\n            });\n\n            return;\n        }\n\n        // Portal Website\n        if (this.isPortal()) {\n            this.addVariantsPortal();\n            this.addToCartPortal();\n            return;\n        }\n\n        // Corporate Website\n        this.addVariants();\n        this.addToQuote();\n    },\n\n    addVariants: function () {\n        window.selectedVariants = [];\n\n        // On click - main product blue button - add to cart\n        Core.Cache.$document.on(\"click\", '.product-details__variant--cart', function () {\n            var _$this = $(this);\n            if (_$this.hasClass('disabled')) { return false; }\n\n\t\t\t// User is adding an item to the cart, button isn't disabled\n            var _sku = _$this.data('id'),\n\t\t\t\t_price = _$this.data('price'),\n                _minQty = parseInt(_$this.data('minqty')),\n                _maxQty = parseInt(_$this.data('maxqty')),\n\t\t\t\t_$variant = _$this.parents('.product-details__variant');\n            \n            var stockData = Core.AddToQuote.getStockData(_$this.closest('.product-details__variant'));\n\n            _$this.toggleClass('added');\n            _$variant.toggleClass('selected');\n\n            if (_$this.hasClass('added')) {\n\t\t\t\t// Add initial item\n                selectedVariants.push({\n\t\t\t\t\tsku: _sku,\n\t\t\t\t\tqty: _minQty,\n\t\t\t\t\tprice: _price,\n                    stockcolor: stockData.stockColor,\n                    stockmessage: stockData.stockMessage,\n\t\t\t\t});\n            } else {\n\t\t\t\t// Remove item from cart\n                for (var i = 0; i < selectedVariants.length; i++) {\n                    if (selectedVariants[i]['sku'] == _sku) {\n                        selectedVariants.splice(selectedVariants.indexOf(selectedVariants[i]), 1);\n                        break;\n                    }\n                }\n            }\n\n\t\t\t// Get product code ID's\n            var productCode = $('span.added');\n            var blkstr = [];\n            $.each(productCode, function(i, e) {\n                blkstr.push( $(e).data('id') );\n            });\n\n            if (selectedVariants.length === 0) {\n                $(Core.AddToQuote.Cache.addToQuoteSelector)\n\t\t\t\t\t.add(Core.AddToQuote.Cache.$rentBtn)\n\t\t\t\t\t.add(Core.AddToQuote.Cache.$trialBtn)\n\t\t\t\t\t.addClass('disabled');\n            } else {\n                $(Core.AddToQuote.Cache.addToQuoteSelector)\n\t\t\t\t\t.add(Core.AddToQuote.Cache.$rentBtn)\n\t\t\t\t\t.add(Core.AddToQuote.Cache.$trialBtn)\n\t\t\t\t\t.removeClass('disabled');\n            }\n\n\t\t\t// Handle Kendo Number Box\n            var _$variantParent = _$this.parent();\n            if (_$variantParent.find('.k-numerictextbox').length > 0) {\n                _$variantParent.find(\"input[name='qty']\").data('kendoNumericTextBox').value(1);\n                _$variantParent.find('.k-numerictextbox').toggle();\n            } else {\n                //$(\".product-details__selections\").find('.k-numerictextbox').enable(true);\n                var _$selectionQuantity = $('.product-details__selections').find('#selection_qty');\n                this.numerictextbox = _$selectionQuantity.data('kendoNumericTextBox');\n                this.numerictextbox.enable( _$this.hasClass('added') );\n\n            }\n\n            if (Core.AddToQuote.Cache.$productDetailContainer.length > 0) {\n                Core.ProductDetail.Cache.$rentalForm.find('.productCode').val(blkstr.join(','));\n                Core.ProductDetail.Cache.$trialForm.find('.productCode').val(blkstr.join(','));\n\n                var $pdVariant = _$variantParent.closest('.product-details__variant');\n                var $relatedProducts = $pdVariant.find('.related-products') || _$variantParent.siblings('.related-products');\n                $relatedProducts.slideToggle(400, function () {\n\n                });\n            }\n\n\t\t\t// Group Pricing\n            var _groupPrice = 0;\n            var _$groupCodeStr = [];\n            for (var x = 0; x < selectedVariants.length; x++) {\n                _groupPrice += parseFloat(selectedVariants[x].price * selectedVariants[x].qty);\n                _$groupCodeStr.push(selectedVariants[x].sku);\n            }\n\n            if (_$groupCodeStr.length === 0) {\n                Core.AddToQuote.Cache.$groupPrice.hide();\n                Core.AddToQuote.Cache.$groupCode.hide();\n                if (Core.AddToQuote.Cache.$productDetailContainer.length > 0) {\n                    Core.ProductDetail.Cache.$trialForm.hide();\n                    Core.ProductDetail.Cache.$rentalForm.hide();\n                }\n            } else {\n                if (_groupPrice > 0) {\n                    Core.AddToQuote.Cache.$groupPrice.text('$' + _groupPrice.toFixed(2)).show();\n                } else {\n                    Core.AddToQuote.Cache.$groupPrice.text(Core.Config.POA.Text).show();\n                }\n\n                if (_$groupCodeStr.length === 1) {\n                    Core.AddToQuote.Cache.$groupCode.text(\"SKU# \" + _$groupCodeStr.join(\", \")).show();\n                } else {\n                    Core.AddToQuote.Cache.$groupCode.text(\"SKU# \" + \"Multiple Selections\").show();\n                }\n            }\n        });\n\n        // On click - accessories product blue button - add to cart\n        Core.Cache.$document.on(\"click\", '.product-details__variant--title span.next-item', function () {\n            var _$this = $(this);\n\n            // Close current group accordian and deselect any previously selected variants\n            var _$parentGroup = _$this.closest(\".related-products__accordion-item\");\n            _$parentGroup.find(\"span.added\").trigger(\"click\");\n            _$parentGroup.find(\".related-products__accordion-tab\").trigger(\"click\");\n\n            /* Disabling this because it's supposed to only close the parent item and not open next one\n             * However still want this commented out in the code just in case Aidacare changes their mind on this.\n            var _$nextGroup;\n            if (_$parentGroup.next().length > 0) {\n                _$nextGroup = _$parentGroup.next();\n            } else {\n                var _$parentParentGroup = _$parentGroup.closest(\".related-products__accordion-content\").closest(\".related-products__accordion-item\");\n                if (_$parentParentGroup.next().length > 0) {\n                    _$nextGroup = _$parentParentGroup.next();\n                }\n            }\n\n            _$nextGroup.find(\".related-products__accordion-tab\").trigger(\"click\");//*/\n        });\n    },\n\n    addToQuote: function () {\n        Core.Cache.$document.on(\"click\", Core.AddToQuote.Cache.addToQuoteSelector, function () {\n            var _$this = $(this);\n            if (!_$this.hasClass('disabled')) {\n                Core.ShowPageLoading();\n\n                Core.AddToQuote.Cache.$rentBtn.removeClass('selected');\n                Core.AddToQuote.Cache.$trialBtn.removeClass('selected');\n                var stockData = Core.AddToQuote.getStockData(_$this.closest('.product-details__variant'));\n                \n                if (selectedVariants.length === 0) {\n                    var _variant = {};\n\n                    _variant.sku = _$this.data('id');\n                    _variant.qty = 1;\n                    _variant.stockcolor = stockData.stockColor;\n                    _variant.stockmessage = stockData.stockMessage;\n\n                    selectedVariants.push(_variant);\n                }\n\n                var addToCartRequest = {\n                    cartItems: selectedVariants,\n                };\n\n                $.post('/cart/addtoquote?_=' + new Date().getTime().toString(), { '': selectedVariants }).\n                    success(function (data, status, headers, config) {\n                        Core.HidePageLoading();\n\n                        Core.Engine.getCartSummary();\n\n                        var _width = Core.Config.CartNotification.Width,\n                            _height = Core.Config.CartNotification.Height;\n\n                        if (Core.IsMobile()) {\n                            _width = Core.Cache.$window.width();\n                        }\n\n                        //check which items have been successful\n                        var _successfulItems = [];\n                        for (var x = 0; x < data.length; x++) {\n                            _successfulItems.push(data[x]);\n                        }\n\n                        if (_successfulItems.length > 0) {\n                            //increase height of window if more than 2 items\n                            if (_successfulItems.length > 2) {\n                                _height = _height + (_successfulItems.length - 2) * 35;\n                            }\n\n                            Core.RenderTemplate('#tpl-cart-notification', _successfulItems, $('#cart-notification-content'));\n\n                            var _$addToCartWindow = $('#cart-notification');\n\n                            _$addToCartWindow = _$addToCartWindow.kendoWindow({\n                                width: _width, height: _height, visible: false, iframe: false, modal: true, resizable: false, pinned: true, draggable: false, appendTo: '#page-wrap'\n                            });\n\n                            _$addToCartWindow.data(\"kendoWindow\").center().open();\n\n                            $(\".k-overlay\").on('click', function () {\n                                _$addToCartWindow.data(\"kendoWindow\").close();\n                            });\n\n                            $(\".k-window-action > span.k-i-close, .cart-notification-buttons > a.k-i-close\").on('click', function (e) {\n                                e.preventDefault();\n                                _$addToCartWindow.data(\"kendoWindow\").close();\n                            });\n\n                            window.selectedVariants = [];\n\n                            if (Core.ProductDetail.Cache) {\n                                Core.ProductDetail.closeFormField(Core.ProductDetail.Cache.$trialForm);\n                                Core.ProductDetail.closeFormField(Core.ProductDetail.Cache.$rentalForm);\n                            }\n                        }\n                        else {\n                            //todo: do something when no items have been added\n                            alert('Sorry, that was a problem adding items to your cart');\n                        }\n                }).error(function (data, status, headers, config) {\n                    //todo: do something\n                });\n            }\n        });\n    },\n\n    /**\n\n        DYNAMIC PRICE\n        - getDynamicPrice\n        - updatePrice\n        - resetOriginalPrice\n        - updatePriceLabel\n        - resetOriginalPriceLabel\n\n     */\n\n    // STR : DYNAMIC PRICE -------------------------------\n    getDynamicPrice: function(sku, qty) {\n        // var url = 'https://run.mocky.io/v3/45216a26-e140-4e7c-a1cf-25ed7c1b91f9';\n        var url = '/cart/getpricebyquantity';\n        var data = { \"sku\": sku, \"qty\": qty };\n        return $.post(url, data);\n    },\n\n    updatePrice: function($inptQty, newPrice) {\n        var originalPrice = $inptQty.data('originalPrice') == null\n                                ? $inptQty.data('price')\n                                : $inptQty.data('originalPrice');\n\n        $inptQty.data('originalPrice', originalPrice);\n        $inptQty.data('price', newPrice);\n    },\n\n    resetOriginalPrice: function($inptQty) {\n        if ($inptQty.data('originalPrice') == null) {\n            return;\n        }\n\n        var originalPrice = $inptQty.data('originalPrice');\n        $inptQty.data('price', originalPrice);\n    },\n\n    updatePriceLabel: function(sku, newLabel) {\n        var $priceLabl = $(\"[data-price-label=\" + sku + \"]\");\n\n        if (newLabel == null || $priceLabl.length === 0) {\n            return;\n        }\n\n        var originalLabel = $priceLabl.data('originalLabel') == null\n                                ? $priceLabl[0] && $($priceLabl[0]).text()\n                                : $priceLabl.data('originalLabel');\n\n        $priceLabl.data('originalLabel', originalLabel);\n        $priceLabl.text(newLabel);\n    },\n\n    resetOriginalPriceLabel: function(sku) {\n        var $priceLabl = $(\"[data-price-label=\" + sku + \"]\");\n\n        if ($priceLabl.data('originalLabel') == null) {\n            return;\n        }\n\n        var originalLabel = $priceLabl[0] && $($priceLabl[0]).data('originalLabel');\n        $priceLabl.text(originalLabel);\n    },\n\n    updatePriceSelectedVariants: function(sku, price) {\n        function updatePrice(item) {\n            (item.sku === sku)\n                && (item.price = price);\n\n            return item;\n        }\n\n        return selectedVariants.map(updatePrice);\n    },\n\n    // PDP & PLP list view - Check Local Stock\n    checkLocalStock: function($el, sku, qty) {\n        var isListingView = Core.Util.isPlp();\n        var $page = isListingView ? Core.AddToQuote.Cache.$productListingPage : Core.AddToQuote.Cache.$productDetailContainer;\n        var api = $page.data('check-local-stock-api');\n        var isCheckLocalStockAsync = Core.Util.isCheckLocalStockAsync();\n        \n        if (!api) {\n            console.log('Please provide the api url for stock check (data-check-local-stock-api)');\n            return;\n        }\n\n        var location = {\n            suburb: $page.attr('data-suburb'),\n            state: $page.attr('data-state'),\n            postCode: $page.attr('data-postcode'),\n        };\n        var variants = [{\n            qty: qty,\n            sku: sku,\n            mainsku: sku,\n        }];\n        var $parent = $el.closest('.product-details__variant');\n        var $error = $parent.find('.stock-error');\n\n        $.ajax({\n            url: api,\n            data: {\n                variants: variants,\n                location: location,\n                setLocation: false,\n            },\n            type: 'POST',\n            dataType: 'json',\n            success: function(data) {\n                if (data.isSuccess) {\n                    var item = data.stocks?.length > 0 && data.stocks[0];\n                    if (!item) return;\n\n                    var $row = isListingView ? \n                        $(`.plv__variant-row[data-id=\"${sku}\"]`) :\n                        $(`.product-details__variant--row[data-id=\"${sku}\"]`);\n                    if ($row.length === 0) return;\n\n                    if (item.value === '') {\n                        $row.find('.stock-error').removeClass(CLS_HIDE);\n                        return;\n                    }\n\n                    var localTemplate = (isCheckLocalStockAsync || isListingView) ? \n                        `${item.value}` : \n                        `${item.value} for ${location.suburb} ${location.postCode}`;\n                    var noStockMessage = Core.Util.isEmpty(localTemplate);\n                    var $local = $row.find(`.stock-local`);\n                    $local.find('.stock-status').css('background-color', item.colour);\n\n                    if (!noStockMessage) {\n                        $local.find('.stock-message').html(localTemplate);\n                    }\n                    $local.addClass(CLS_CHECKED);\n                    $row.find('.stock-checkBtn').addClass(CLS_HIDE);\n                    $row.find('.stock-updateBtn').removeClass(CLS_HIDE);\n\n                    // keep showing national stock if local stock not available\n                    if ((isCheckLocalStockAsync || isListingView) && !noStockMessage) {\n                        $row.find('.stock-national').addClass(CLS_HIDE);\n                    }\n                } else {\n                    $error.html(data.message);\n                    $error.removeClass(CLS_HIDE);\n                }\n            },\n            error: function(xhr, ajaxOptions, thrownError) {        \n                $error.removeClass(CLS_HIDE);\n                console.log('error', xhr, ajaxOptions, thrownError);\n            }\n        });\n    },\n\n    // get stock from table/variant\n    getStockData: function($parent) {\n        var $stock = $parent.find('.stock-wrap').first();\n\n        if ($parent.length === 0 || $stock.length === 0) {\n            return { stockMessage: '', stockColor: '' };\n        }\n\n        var $stockNational = $stock.find('.stock-national');\n        var $stockLocal = $stock.find('.stock-local');\n\n        var stockColor = $stockLocal.length > 0 ? $stockLocal.find('.stock-status').css('background-color') : '';\n        var stockMessage = $stockLocal.length > 0 ? $stockLocal.find('.stock-message').text() : '';\n        if (Core.Util.isEmpty(stockMessage)) {\n            stockMessage = $stockNational.length > 0 ? $stockNational.find('.stock-message').text() : '';\n            stockColor = $stockNational.length > 0 ? $stockNational.find('.stock-status').css('background-color') : '';\n        }\n\n        return {\n            stockMessage: stockMessage,\n            stockColor: stockColor,\n        };\n    },\n    // END : DYNAMIC PRICE -------------------------------\n\n    addVariantsPortal: function () {\n        var _self = this;\n        var isAgedCare = Core.Util.isAgedCare();\n        var isWholesale = Core.Util.isWholesale();\n        var isListingView = Core.Util.isPlp();\n        window.selectedVariants = [];\n\n        var handleUpdateQty = Core.Util.Debounce(function (_$el) {\n            var _$elParent  = isListingView ? \n                _$el.closest('.plv__variant-action-wrap') : \n                _$el.closest('.product-details__variant--format--column');\n\n            var _$added     = isWholesale ? \n                    _$el.closest('.product-details__variant--column.product-details__variant--actionwrap')\n                        .find('.added') : \n                    _$el.closest('.product-details__variant--column.product-details__variant--format')\n                        .siblings('.product-details__variant--column.product-details__variant--actionwrap')\n                        .find('.added'),\n                _$inptQty   = _$elParent.find(\"input[name='qty']\"),\n                _$sku       = _$inptQty.data(\"id\"),\n                _$mainsku   = isWholesale ? \n                    _$el.closest('.product-details__variant--table').find('.mainProdSku').val() :\n                    _$el.closest('.product-details__variant--format--table').find('.mainProdSku').val(),\n                _$price     = _$inptQty.data(\"price\"),\n                _$qty       = _$elParent.find(\"input.product-details__variant--qty:visible\").val();\n\n            _$added = (_$added.length > 0)\n                        ? _$added\n                        : getAddedElement(_$el);\n\n            var __price = _$price;\n            _self.getDynamicPrice(_$sku, _$qty)\n                .done(function(data) {\n                    if (data == null) {\n                        return;\n                    }\n\n                    data.unitPriceLabel\n                        && _self.updatePriceLabel(_$sku, data.unitPriceLabel);\n\n                    data.unitPrice\n                        && (__price = parseFloat(data.unitPrice)\n                           , _self.updatePrice(_$inptQty, __price));\n\n                    selectedVariants &&\n                        (selectedVariants = _self.updatePriceSelectedVariants(_$sku, __price));\n                })\n                .always(function() {\n                    theItem(_$added, _$sku, _$mainsku, _$qty, __price)\n                    calculateSelection();\n                });\n\n            (isWholesale || isListingView) &&_self.checkLocalStock(_$el, _$sku, _$qty);\n        }, 400);\n\n        // On click - qty +/- btns - update cart\n        Core.Cache.$document.on(\"click\", \".product-details__variant--qty .k-icon\", function() {\n            handleUpdateQty($(this));\n        });\n\n        var getAddedElement = function($el) {\n            var $addedEl = $el.closest('.product-details__variant--price')\n                .siblings('.product-details__variant--actionwrap')\n                .find('.added');\n            \n            if ($addedEl.length === 0) {\n                $addedEl = $el.closest('.product-details__variant--column-action').find('.added');\n            }\n\n            if ($addedEl.length === 0) {\n                $addedEl = $el.closest('.plv__variant-action').find('.added');\n            }\n\n            return $addedEl;\n        }\n\n        // On input - input qty - update cart\n        Core.Cache.$document.on(\"input\", \"input.product-details__variant--qty:visible\", function(){\n            var _$el        = $(this),\n                _$elParent  = _$el.parent(),\n                _$added     = _$el.closest('.product-details__variant--column.product-details__variant--format')\n                            .siblings('.product-details__variant--column.product-details__variant--actionwrap')\n                            .find('.added'),\n                _$inptQty   = _$elParent.find(\"input[name='qty']\"),\n                _$sku       = _$inptQty.data(\"id\"),\n                _$mainsku   = _$el.closest('.product-details__variant--format--table').find('.mainProdSku').val(),\n                _$price     = _$inptQty.data(\"price\"),\n                _$qty       = _$el.val(),\n                __price     = _$price;\n\n            _$added = (_$added.length > 0)\n                ? _$added\n                : getAddedElement(_$el);\n\n            if (!_$qty || !_$sku) return;\n\n            // need to call blur event here cause it won't trigger from previous event listener.\n            _$el.off('blur').on('blur', function() {\n              _self.getDynamicPrice(_$sku, _$qty)\n                .done(function(data) {\n                    if (data == null) {\n                        return;\n                    }\n\n                    data.unitPrice\n                        && (__price = parseFloat(data.unitPrice)\n                           , _self.updatePrice(_$inptQty, __price));\n\n                    data.unitPriceLabel\n                        && _self.updatePriceLabel(_$sku, data.unitPriceLabel);\n\n                    selectedVariants &&\n                        (selectedVariants = _self.updatePriceSelectedVariants(_$sku, __price));\n                })\n                .always(function() {\n                    theItem(_$added, _$sku, _$mainsku, _$qty, __price)\n                    calculateSelection();\n                });\n                \n                (isWholesale || isListingView) && _self.checkLocalStock(_$el, _$sku, _$qty);\n            });\n        });\n\n        // On close products variants - remove item\n        Core.Cache.$document.on(\"click\", \".product-details__variants.is-portalsite .related-products__accordion-tab\", function(){\n            var _$this = $(this),\n                _$content = _$this.siblings('.related-products__accordion-content');\n\n                if(_$content.is(\":visible\")){\n                    var _$added = _$content.find('.added');\n                    $.each(_$added , function (i, e) {\n                        var _$el    = $(e),\n                            _inputBox = _$el.closest('.product-details__variant--table'),\n                            _inputData = _inputBox.find('.product-details__variant--qty:visible').find(\"input[name='qty']\"),\n\n                            _sku = _inputData.data('id'),\n                            _mainsku = _inputBox.find('.mainProdSku').val(),\n                            _price = _inputData.data('price'),\n                            _qty = _inputBox.find('.product-details__variant--qty:visible input.product-details__variant--qty:visible').val();\n\n\n                        _$el.removeClass('added');\n                        _inputData.data('kendoNumericTextBox').value(0);\n                        _inputBox.find(\".k-formatted-value.product-details__variant--qty\").val(1);\n                        _inputBox.find('.k-numerictextbox').slideUp(300);\n\n                        // without the added class it does remove the item\n                        theItem(_$el, _sku, _mainsku, _qty, _price);\n\n                        _self.resetOriginalPrice(_inputData);\n                        _self.resetOriginalPriceLabel(_sku);\n                    });\n\n                    calculateSelection();\n                };\n        });\n\n        // On click - drop down menu (buy | rent | rent own)\n        Core.Cache.$document.on(\"click\", '.product-details__variant--type span', function () {\n            var _$this = $(this),\n                _$variant = _$this.closest('.product-details__variant'),\n                _$triggerWrap = _$this.closest('.product-details__variant--typewrap'),\n                _$triggerButton = _$triggerWrap.find('.product-details__variant--cart'),\n                dataType = _$this.data(\"type\");\n\n            // User is adding an item to the cart, button isn't disabled\n            var _closestTableWrap = _$this.closest('.product-details__variant--table'),\n                _relatedQty = _closestTableWrap.find('.product-details__variant--format--column[data-type=\"'+ _$this.data('type') +'\"]').find('input[name=\"qty\"]'),\n                _sku = _relatedQty.data('id'),\n                _mainsku = _closestTableWrap.find('.mainProdSku').val(),\n\t\t\t\t_price = _relatedQty.data('price'),\n                _qty = _relatedQty.siblings('input.product-details__variant--qty').val(),\n                _$variant = _$triggerButton.parents('.product-details__variant');\n\n            _$triggerButton.toggleClass('added');\n            _$variant.toggleClass('selected');\n            _$variant.data('type', dataType);\n            _$triggerWrap.removeClass('show-type');\n\n            //set selection/\n            theItem(_$triggerButton, _sku, _mainsku, _qty, _price, dataType);\n            calculateSelection();\n            showAccessories(_$variant);\n        });\n\n        // On click - main product blue button - add to cart\n        Core.Cache.$document.on(\"click\", '.product-details__variant--cart', function () {\n            var _$this = $(this);\n            var _$parent = _$this.closest('.product-details__variant--typewrap');\n            var _$variant = _$this.closest('.product-details__variant');\n\n            if (_$this.hasClass('disabled')) { return false; }\n\n            if (!_$this.hasClass('added')) {\n                // toggle button option dropdown\n                if (!isAgedCare) {\n                    _$parent.toggleClass('show-type');\n                } else {\n                    // get first variant which will be \"buy\" for agedCare\n                    var $buyType = _$parent.find('.product-details__variant--type li:first-child span');\n                    if ($buyType.length) $buyType.trigger('click');\n                }\n            } else {\n                var _$tableWrap = _$this.closest('.product-details__variant--table');\n                var _$sibling = _$tableWrap.siblings('.related-products');\n                var _$singleKendoWrap = _$tableWrap.find('.k-numerictextbox');\n\n                if (_$sibling.length == 0) {\n                    var _inputBox = _$this.closest('.product-details__variant--table'),\n                        _inputData = _inputBox.find('.product-details__variant--qty:visible').find(\"input[name='qty']\"),\n                        _sku = _inputData.data('id'),\n                        _mainsku = _inputBox.find('.mainProdSku').val(),\n                        _price = _inputData.data('price'),\n                        _qty = _inputBox.find('.product-details__variant--qty:visible input.product-details__variant--qty:visible').val();\n\n                    _$variant.removeClass('selected');\n                    _$variant.find('.selected').removeClass('selected');\n                    _$tableWrap.find('.added').removeClass('added');\n                    _$singleKendoWrap.find(\"input[name='qty']\").data('kendoNumericTextBox').value(0);\n                    _$singleKendoWrap.find(\".k-formatted-value.product-details__variant--qty\").val(1);\n                    _$singleKendoWrap.slideUp(300);\n\n                    _self.resetOriginalPrice(_$singleKendoWrap.find(\"input[name='qty']\"));\n                    _self.resetOriginalPriceLabel(_sku);\n\n                    //update and set selection for trigger button\n                    theItem(_$this, _sku, _mainsku, _qty, _price);\n                    calculateSelection();\n                } else {\n                    //update and set selection for related product if any\n                    _$tableWrap.siblings('.related-products').each(function () {\n                        var _$added = _$variant.find('.added');\n                        for(var a=0; a < _$added.length; a++){\n                            var _$addedElement = $(_$added[a]),\n                                _$closestVariantTable = _$addedElement.closest('.product-details__variant--table'),\n                                _$itemKNumerictexbox = _$closestVariantTable.find('.k-numerictextbox:visible'),\n                                _$itemSelected = _$itemKNumerictexbox.find(\"input[name='qty']\"),\n                                _sku =  _$itemSelected.data('id');\n\n                            _$itemKNumerictexbox.slideUp(300);\n                            _$addedElement.removeClass('added');\n\n                            _$itemKNumerictexbox.find(\".k-formatted-value.product-details__variant--qty\").val(1);\n                            _$itemSelected.data('kendoNumericTextBox').value(0);\n\n                            _self.resetOriginalPrice(_$itemSelected);\n                            _self.resetOriginalPriceLabel(_sku);\n\n\n                            theItem(\n                                _$addedElement,\n                                _$itemSelected.data('id'),\n                                _$closestVariantTable.find('.mainProdSku').val(),\n                                _$itemKNumerictexbox.find('input.product-details__variant--qty:visible').val(),\n                                _$itemSelected.data('price')\n                            );\n                        }\n                        _$variant.find('.k-numerictextbox').slideUp(300);\n\n                        calculateSelection();\n                    }).slideUp(300, function () {});\n                }\n            }\n        });\n\n        Core.Cache.$document.on(\"click\", '.product-details__variant--title span.next-item', function () {\n            var _$this = $(this);\n\n            // Close current group accordian and deselect any previously selected variants\n            var _$parentGroup = _$this.closest(\".related-products__accordion-item\");\n            _$parentGroup.find(\"span.added\").trigger(\"click\");\n            _$parentGroup.find(\".related-products__accordion-tab\").trigger(\"click\");\n\n            var _$nextGroup;\n            if (_$parentGroup.next().length > 0) {\n                _$nextGroup = _$parentGroup.next();\n            } else {\n                var _$parentParentGroup = _$parentGroup.closest(\".related-products__accordion-content\").closest(\".related-products__accordion-item\");\n                if (_$parentParentGroup.next().length > 0) {\n                    _$nextGroup = _$parentParentGroup.next();\n                }\n            }\n\n            _$nextGroup.find(\".related-products__accordion-tab\").trigger(\"click\");\n        });\n\n        function calculateSelection() {\n            var _$added = $('span.added'),\n                _$arrBuy = [],\n                _$arrrent = [],\n                _$arrrenttoown = [],\n                _$totbuy = 0,\n                _$totrent = 0,\n                _$totrenttoown = 0,\n                _$sumPrice = 0,\n                _$totalSumWrap = $('.product-details__total')\n                _$buyTotalElement = $('.buyTotal'),\n                _$rentTotalElement = $('.rentTotal'),\n                _$rentoownTotalElement = $('.rentToOwnTotal');\n\n            if(_$added.length > 0) {\n                $.each(_$added , function (i, e) {\n                    var _$el        = $(e),\n                        _$res       = 0,\n                        _$qtyBox    = _$el.closest('.product-details__variant--table'),\n                        _$activeQty = _$qtyBox.find('input.product-details__variant--qty:visible'),\n                        _$elQty     =  _$activeQty.parent().find(\"input[name='qty']\")\n                        _$elQtyMin  = _$elQty.attr(\"min\") > 0 ? _$elQty.attr(\"min\") : 1,\n                        _$elQtyVal  = 1;\n\n                    if (_$activeQty.val() >= _$elQtyMin) {\n                        _$elQtyVal = _$activeQty.val();\n                    } else {\n                        _$elQtyVal = 1;\n                        _$activeQty.val(1);\n                    }\n\n                   _$res = parseFloat(_$elQty.data('price')) * parseFloat(_$elQtyVal);\n                   switch (_$activeQty.closest('.product-details__variant--format--column').data('type')) {\n                        case \"buy\":\n                            _$totbuy += _$res;\n                        break;\n                        case \"rent\":\n                            _$totrent += _$res;\n                        break;\n                        case \"renttoown\":\n                            _$totrenttoown += _$res;\n                        break;\n                    };\n                });\n\n                _$buyTotalElement.children(\"span\").html(!isNaN(_$totbuy.toFixed(2)) ? _$totbuy.toFixed(2): \"0.00\");\n                _$rentTotalElement.children(\"span\").html(!isNaN(_$totrent.toFixed(2))? _$totrent.toFixed(2): \"0.00\");\n                _$rentoownTotalElement.children(\"span\").html(!isNaN(_$totrenttoown.toFixed(2))? _$totrenttoown.toFixed(2): \"0.00\");\n                _$totalSumWrap.slideDown(300);\n            } else {\n                _$buyTotalElement.children(\"span\").html(\"0.00\");\n                _$rentTotalElement.children(\"span\").html(\"0.00\");\n                _$rentoownTotalElement.children(\"span\").html(\"0.00\");\n                _$totalSumWrap.slideUp(300);\n            }\n        }\n\n        function theItem($addCartButton, $sku, $mainsku, $qty, $price, $selectFormat) {\n            var _$el = $addCartButton,\n                _$sku = $sku,\n                _$mainsku = $mainsku,\n                _$qty = $qty,\n                _$price = $price,\n                _$format = $selectFormat || false\n                _$parentTable = _$el.closest('.product-details__variant--table');\n            \n            var stockData = Core.AddToQuote.getStockData(_$parentTable);\n\n            if (_$el.hasClass('added')) {\n                // Add initial item\n                function CallbackFunctionToFindBySku(selectedVariants) {\n                    return selectedVariants.sku === _$sku;\n                };\n\n                function changeQty(sku, qty) {\n                   for (var i in selectedVariants) {\n                     if (selectedVariants[i].sku == sku) {\n                        selectedVariants[i].qty = qty;\n                        break; //Stop this loop, we found it!\n                     }\n                   }\n                };\n\n\n                // new find in object, the previous ones CallbackFunctionToFindBySku() doesn't works\n                var findInObject = selectedVariants.filter(function (selectedVariants) { return selectedVariants.sku === _$sku });\n                //var findInObject = selectedVariants.find(CallbackFunctionToFindBySku);\n\n                if (findInObject.length > 0) {\n                    changeQty(_$sku, _$qty);\n                } else {\n                    selectedVariants.push({\n                        sku: _$sku,\n                        mainsku: _$mainsku,\n                        qty: _$qty,\n                        price: _$price,\n                        stockmessage: stockData.stockMessage,\n                        stockcolor: stockData.stockColor,\n                    });\n                }\n            } else {\n                // Remove item from cart\n                for (var i = 0; i < selectedVariants.length; i++) {\n                    if (selectedVariants[i]['sku'] == _$sku) {\n                        selectedVariants.splice(selectedVariants.indexOf(selectedVariants[i]), 1);\n                        break;\n                    }\n                }\n            }\n\n            // Get all product code ID's\n            var productCode = $('span.added');\n            var blkstr = [];\n\n            $.each(productCode, function (i, e) {\n                var qtyActive = $(e)\n                    .closest('.product-details__variant--table')\n                    .find('.product-details__variant--qty:visible')\n                    .find(\"input[name='qty']\")\n                    .data(\"id\");\n\n                blkstr.push(qtyActive);\n            });\n\n            if (selectedVariants.length === 0) {\n                $(Core.AddToQuote.Cache.addToQuoteSelector)\n                    .add(Core.AddToQuote.Cache.$rentBtn)\n                    .add(Core.AddToQuote.Cache.$trialBtn)\n                    .addClass('disabled');\n            } else {\n                $(Core.AddToQuote.Cache.addToQuoteSelector)\n                    .add(Core.AddToQuote.Cache.$rentBtn)\n                    .add(Core.AddToQuote.Cache.$trialBtn)\n                    .removeClass('disabled');\n            }\n\n            // only for select variant with format\n            if (_$format) {\n                // Handle Kendo Number Box\n                var _$variantParent = _$el.closest('.product-details__variant--table');\n                var _$kendoNumericTextBox = _$variantParent.find('[data-type=\"' + _$format + '\"]').find('.k-numerictextbox');\n\n                if (_$kendoNumericTextBox.length > 0) {\n                    _$kendoNumericTextBox.find(\"input[name='qty']\").data('kendoNumericTextBox').value(1);\n                    _$kendoNumericTextBox.slideDown();\n                } else {\n                    //$(\".product-details__selections\").find('.k-numerictextbox').enable(true);\n                    var _$selectionQuantity = $('.product-details__selections').find('#selection_qty');\n                    this.numerictextbox = _$selectionQuantity.data('kendoNumericTextBox');\n                    this.numerictextbox.enable(_$el.hasClass('added'));\n                }\n            }\n\n            if (Core.AddToQuote.Cache.$productDetailContainer.length > 0) {\n                Core.ProductDetail.Cache.$rentalForm.find('.productCode').val(blkstr.join(','));\n                Core.ProductDetail.Cache.$trialForm.find('.productCode').val(blkstr.join(','));\n\n                // if select variant with format\n                if (_$format) {\n                    _$variantParent.siblings('.related-products').slideDown(400, function () { });\n                }\n            }\n\n            // Group Pricing\n            var _groupPrice = 0;\n            var _$groupCodeStr = [];\n            for (var x = 0; x < selectedVariants.length; x++) {\n                _groupPrice += parseFloat(selectedVariants[x].price * selectedVariants[x].qty);\n                _$groupCodeStr.push(selectedVariants[x].mainsku);\n            }\n\n            if (_$groupCodeStr.length === 0) {\n                Core.AddToQuote.Cache.$groupPrice.hide();\n                Core.AddToQuote.Cache.$groupCode.hide();\n                if (Core.AddToQuote.Cache.$productDetailContainer.length > 0) {\n                    Core.ProductDetail.Cache.$trialForm.hide();\n                    Core.ProductDetail.Cache.$rentalForm.hide();\n                }\n            } else {\n                if (_groupPrice > 0) {\n                    Core.AddToQuote.Cache.$groupPrice.text('$' + _groupPrice.toFixed(2)).show();\n                } else {\n                    Core.AddToQuote.Cache.$groupPrice.text(Core.Config.POA.Text).show();\n                }\n\n                if (_$groupCodeStr.length === 1) {\n                    Core.AddToQuote.Cache.$groupCode.text(\"SKU# \" + _$groupCodeStr.join(\", \")).show();\n                } else {\n                    Core.AddToQuote.Cache.$groupCode.text(\"SKU# \" + \"Multiple Selections\").show();\n                }\n            }\n        }\n\n        function showAccessories($variant) {\n            var CLS_HIDE = 'hidden';\n            var CLS_INVISIBLE = 'invisible';\n            var dataType = $variant.data('type');\n            var $pricesAcc = $variant.find('.related-products .product-details__variant--format--column');\n\n            var $itemRow = $variant.find('.related-products .product-details__variant--table');\n            $itemRow.removeClass(CLS_HIDE);\n\n            //hide price accessories\n            $pricesAcc.removeClass(CLS_INVISIBLE);\n\n            //hide cart action\n            var $cartAction = $variant.find('.related-products .product-details__variant--type > li > span');\n            $cartAction.removeClass(CLS_HIDE);\n        }\n    },\n\n    addToCartPortal: function () {\n        Core.Cache.$document.on(\"click\", Core.AddToQuote.Cache.addToQuoteSelector, function () {\n            var _$this = $(this);\n            if (!_$this.hasClass('disabled')) {\n                Core.ShowPageLoading();\n\n                Core.AddToQuote.Cache.$rentBtn.removeClass('selected');\n                Core.AddToQuote.Cache.$trialBtn.removeClass('selected');\n                var stockData = Core.AddToQuote.getStockData(_$this.closest('.product-details__variant'));\n\n                if (selectedVariants.length === 0) {\n                    var _variant = {};\n\n                    _variant.sku = _$this.data('id');\n                    _variant.qty = 1;\n                    _variant.stockcolor = stockData.stockColor;\n                    _variant.stockmessage = stockData.stockMessage;\n\n                    selectedVariants.push(_variant);\n                }\n\n                Core.AddToQuote.addToCartPortalApi(selectedVariants);\n            }\n        });\n    },\n\n    addToCartPortalApi: function(selectedVariants, cta) {      \n        var url = '/cart/addtocart'; // 'https://run.mocky.io/v3/5ec8c0bf-26d9-4b00-8d75-ecc19d3f48a9';        \n        $.post(`${url}?_=` + new Date().getTime().toString(), { '': selectedVariants })\n            .done(\n                function(data, status, headers, config) {\n                    Core.HidePageLoading();\n\n                    Core.Engine.getCartSummary();\n\n                    //check which items have been successful\n                    var _successfulItems = [];\n                    for (var x = 0; x < data.length; x++) {\n                        _successfulItems.push(data[x]);\n                    }\n\n                    if (_successfulItems.length > 0) {\n                        var _$addToCartWindow = $('#cart-notification');\n                        var _template = '#tpl-cart-notification';\n\n                        if (cta) {\n                            _$addToCartWindow = $(`.cart-notification--${cta}`);\n                            _template = `#tpl-cart-notification--${cta}`;\n                        }\n\n                        Core.RenderTemplate(_template, _successfulItems, _$addToCartWindow.find('.cart-notification-content'));\n                        Core.AddToQuote.initPopup(_$addToCartWindow);\n                        _$addToCartWindow.removeClass('hidden');\n\n                        $(\".k-overlay\").on('click', function () {\n                            _$addToCartWindow.data(\"kendoWindow\").close();\n                        });\n\n                        $(\".k-window-action > span.k-i-close, .cart-notification-buttons > a.k-i-close\").on('click', function (e) {\n                            e.preventDefault();\n                            _$addToCartWindow.data(\"kendoWindow\").close();\n                        });\n\n                        window.selectedVariants = [];\n                        // reset button state\n                        $('.product-details__variant--cart.added').each(function() {\n                            var $this = $(this);\n                            // prevent child that has been closed to re-trigger\n                            if ($this.hasClass('added')) $this.trigger('click');\n                        });\n\n                        if (Core.ProductDetail.Cache) {\n                            Core.ProductDetail.closeFormField(Core.ProductDetail.Cache.$trialForm);\n                            Core.ProductDetail.closeFormField(Core.ProductDetail.Cache.$rentalForm);\n                        }\n\n                        // reload cart flyout\n                        Core.CartFlyout.init();\n                    }\n                    else {\n                        //todo: do something when no items have been added\n                        alert('Sorry, that was a problem adding items to your cart');\n                    }\n                })\n            .fail(\n                function (data, status, headers, config) {\n                    //todo: do something\n                });\n    },\n\n    initPopup: function ($popup) {\n        var _width = Core.Config.CartNotification.Width;\n\n        if (Core.IsMobile()) {\n            _width = Core.Cache.$window.width();\n        }\n\n        $popup = $popup.kendoWindow({\n            width: _width,\n            visible: false,\n            iframe: false,\n            modal: true,\n            resizable: false,\n            actions: [\"Close\"],\n            pinned: true,\n            draggable: false,\n            appendTo: '#page-wrap',\n            close: function () {\n                $('body').css('overflowY', '');\n            }\n        });\n\n        var popUpObj = $popup.data(\"kendoWindow\");\n        popUpObj.wrapper.addClass('cart-notification__wrapper');\n\n        $('body').css('overflowY', 'hidden');\n        popUpObj.open();\n\n        setTimeout(function () {\n            Core.AddToQuote.setPopupHeight($popup);\n        }, 100);\n    },\n\n    setPopupHeight: function ($popup) {\n        //set max-height of popup-content\n        var $content = $popup.find('.cart-notification-content')\n            , $buttonWrap = $popup.find('.cart-notification-buttons')\n            , buttonH = $buttonWrap.outerHeight()\n            , popupH = $popup.outerHeight() + 80 + buttonH //80px is gap top and bottom\n            , windowH = window.innerHeight\n            , $header = $popup.find('.k-window-titlebar');\n\n        if (popupH > windowH) {\n            var contentH = windowH - buttonH - $header.outerHeight() - 130; //130 = padding-top + padding-bottom + (top + bottom popup's position)\n            $content.css('max-height', contentH + \"px\");\n        } else {\n            $content.css('max-height', '');\n        }\n    },\n\n    isPortal: function() {\n        return $('.product-details__variants').hasClass('is-portalsite')\n            || $('#product-listing').hasClass('is-portalsite')\n            || $('#favourites').hasClass('is-portalsite');\n    },\n\n    isEventBased: function() {\n        return $('[data-type=\"eventbased\"]').length > 0;\n    }\n};\n\nHandlebars.registerHelper('cartMsgHasPriceType', function (msgLst, priceType) {\n    for (var i = 0; i < msgLst.length; i++) {\n        if (msgLst[i]['PriceType'] == priceType) {\n            return true;\n        }\n    }\n\n    return false;\n});\n\nHandlebars.registerHelper('cartMsgIsPriceType', function (priceType, priceTypeCompare) {\n    return (priceType == priceTypeCompare);\n});\n","/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under the MIT license\n */\nif(\"undefined\"==typeof jQuery)throw new Error(\"Bootstrap's JavaScript requires jQuery\");!function(t){\"use strict\";var e=jQuery.fn.jquery.split(\" \")[0].split(\".\");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3<e[0])throw new Error(\"Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4\")}(),function(n){\"use strict\";n.fn.emulateTransitionEnd=function(t){var e=!1,i=this;n(this).one(\"bsTransitionEnd\",function(){e=!0});return setTimeout(function(){e||n(i).trigger(n.support.transition.end)},t),this},n(function(){n.support.transition=function o(){var t=document.createElement(\"bootstrap\"),e={WebkitTransition:\"webkitTransitionEnd\",MozTransition:\"transitionend\",OTransition:\"oTransitionEnd otransitionend\",transition:\"transitionend\"};for(var i in e)if(t.style[i]!==undefined)return{end:e[i]};return!1}(),n.support.transition&&(n.event.special.bsTransitionEnd={bindType:n.support.transition.end,delegateType:n.support.transition.end,handle:function(t){if(n(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(s){\"use strict\";var e='[data-dismiss=\"alert\"]',a=function(t){s(t).on(\"click\",e,this.close)};a.VERSION=\"3.4.1\",a.TRANSITION_DURATION=150,a.prototype.close=function(t){var e=s(this),i=e.attr(\"data-target\");i||(i=(i=e.attr(\"href\"))&&i.replace(/.*(?=#[^\\s]*$)/,\"\")),i=\"#\"===i?[]:i;var o=s(document).find(i);function n(){o.detach().trigger(\"closed.bs.alert\").remove()}t&&t.preventDefault(),o.length||(o=e.closest(\".alert\")),o.trigger(t=s.Event(\"close.bs.alert\")),t.isDefaultPrevented()||(o.removeClass(\"in\"),s.support.transition&&o.hasClass(\"fade\")?o.one(\"bsTransitionEnd\",n).emulateTransitionEnd(a.TRANSITION_DURATION):n())};var t=s.fn.alert;s.fn.alert=function o(i){return this.each(function(){var t=s(this),e=t.data(\"bs.alert\");e||t.data(\"bs.alert\",e=new a(this)),\"string\"==typeof i&&e[i].call(t)})},s.fn.alert.Constructor=a,s.fn.alert.noConflict=function(){return s.fn.alert=t,this},s(document).on(\"click.bs.alert.data-api\",e,a.prototype.close)}(jQuery),function(s){\"use strict\";var n=function(t,e){this.$element=s(t),this.options=s.extend({},n.DEFAULTS,e),this.isLoading=!1};function i(o){return this.each(function(){var t=s(this),e=t.data(\"bs.button\"),i=\"object\"==typeof o&&o;e||t.data(\"bs.button\",e=new n(this,i)),\"toggle\"==o?e.toggle():o&&e.setState(o)})}n.VERSION=\"3.4.1\",n.DEFAULTS={loadingText:\"loading...\"},n.prototype.setState=function(t){var e=\"disabled\",i=this.$element,o=i.is(\"input\")?\"val\":\"html\",n=i.data();t+=\"Text\",null==n.resetText&&i.data(\"resetText\",i[o]()),setTimeout(s.proxy(function(){i[o](null==n[t]?this.options[t]:n[t]),\"loadingText\"==t?(this.isLoading=!0,i.addClass(e).attr(e,e).prop(e,!0)):this.isLoading&&(this.isLoading=!1,i.removeClass(e).removeAttr(e).prop(e,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle=\"buttons\"]');if(e.length){var i=this.$element.find(\"input\");\"radio\"==i.prop(\"type\")?(i.prop(\"checked\")&&(t=!1),e.find(\".active\").removeClass(\"active\"),this.$element.addClass(\"active\")):\"checkbox\"==i.prop(\"type\")&&(i.prop(\"checked\")!==this.$element.hasClass(\"active\")&&(t=!1),this.$element.toggleClass(\"active\")),i.prop(\"checked\",this.$element.hasClass(\"active\")),t&&i.trigger(\"change\")}else this.$element.attr(\"aria-pressed\",!this.$element.hasClass(\"active\")),this.$element.toggleClass(\"active\")};var t=s.fn.button;s.fn.button=i,s.fn.button.Constructor=n,s.fn.button.noConflict=function(){return s.fn.button=t,this},s(document).on(\"click.bs.button.data-api\",'[data-toggle^=\"button\"]',function(t){var e=s(t.target).closest(\".btn\");i.call(e,\"toggle\"),s(t.target).is('input[type=\"radio\"], input[type=\"checkbox\"]')||(t.preventDefault(),e.is(\"input,button\")?e.trigger(\"focus\"):e.find(\"input:visible,button:visible\").first().trigger(\"focus\"))}).on(\"focus.bs.button.data-api blur.bs.button.data-api\",'[data-toggle^=\"button\"]',function(t){s(t.target).closest(\".btn\").toggleClass(\"focus\",/^focus(in)?$/.test(t.type))})}(jQuery),function(p){\"use strict\";var c=function(t,e){this.$element=p(t),this.$indicators=this.$element.find(\".carousel-indicators\"),this.options=e,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on(\"keydown.bs.carousel\",p.proxy(this.keydown,this)),\"hover\"==this.options.pause&&!(\"ontouchstart\"in document.documentElement)&&this.$element.on(\"mouseenter.bs.carousel\",p.proxy(this.pause,this)).on(\"mouseleave.bs.carousel\",p.proxy(this.cycle,this))};function r(n){return this.each(function(){var t=p(this),e=t.data(\"bs.carousel\"),i=p.extend({},c.DEFAULTS,t.data(),\"object\"==typeof n&&n),o=\"string\"==typeof n?n:i.slide;e||t.data(\"bs.carousel\",e=new c(this,i)),\"number\"==typeof n?e.to(n):o?e[o]():i.interval&&e.pause().cycle()})}c.VERSION=\"3.4.1\",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:\"hover\",wrap:!0,keyboard:!0},c.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},c.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(p.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(t){return this.$items=t.parent().children(\".item\"),this.$items.index(t||this.$active)},c.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e);if((\"prev\"==t&&0===i||\"next\"==t&&i==this.$items.length-1)&&!this.options.wrap)return e;var o=(i+(\"prev\"==t?-1:1))%this.$items.length;return this.$items.eq(o)},c.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(\".item.active\"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one(\"slid.bs.carousel\",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(i<t?\"next\":\"prev\",this.$items.eq(t))},c.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(\".next, .prev\").length&&p.support.transition&&(this.$element.trigger(p.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide(\"next\")},c.prototype.prev=function(){if(!this.sliding)return this.slide(\"prev\")},c.prototype.slide=function(t,e){var i=this.$element.find(\".item.active\"),o=e||this.getItemForDirection(t,i),n=this.interval,s=\"next\"==t?\"left\":\"right\",a=this;if(o.hasClass(\"active\"))return this.sliding=!1;var r=o[0],l=p.Event(\"slide.bs.carousel\",{relatedTarget:r,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,n&&this.pause(),this.$indicators.length){this.$indicators.find(\".active\").removeClass(\"active\");var h=p(this.$indicators.children()[this.getItemIndex(o)]);h&&h.addClass(\"active\")}var d=p.Event(\"slid.bs.carousel\",{relatedTarget:r,direction:s});return p.support.transition&&this.$element.hasClass(\"slide\")?(o.addClass(t),\"object\"==typeof o&&o.length&&o[0].offsetWidth,i.addClass(s),o.addClass(s),i.one(\"bsTransitionEnd\",function(){o.removeClass([t,s].join(\" \")).addClass(\"active\"),i.removeClass([\"active\",s].join(\" \")),a.sliding=!1,setTimeout(function(){a.$element.trigger(d)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(i.removeClass(\"active\"),o.addClass(\"active\"),this.sliding=!1,this.$element.trigger(d)),n&&this.cycle(),this}};var t=p.fn.carousel;p.fn.carousel=r,p.fn.carousel.Constructor=c,p.fn.carousel.noConflict=function(){return p.fn.carousel=t,this};var e=function(t){var e=p(this),i=e.attr(\"href\");i&&(i=i.replace(/.*(?=#[^\\s]+$)/,\"\"));var o=e.attr(\"data-target\")||i,n=p(document).find(o);if(n.hasClass(\"carousel\")){var s=p.extend({},n.data(),e.data()),a=e.attr(\"data-slide-to\");a&&(s.interval=!1),r.call(n,s),a&&n.data(\"bs.carousel\").to(a),t.preventDefault()}};p(document).on(\"click.bs.carousel.data-api\",\"[data-slide]\",e).on(\"click.bs.carousel.data-api\",\"[data-slide-to]\",e),p(window).on(\"load\",function(){p('[data-ride=\"carousel\"]').each(function(){var t=p(this);r.call(t,t.data())})})}(jQuery),function(a){\"use strict\";var r=function(t,e){this.$element=a(t),this.options=a.extend({},r.DEFAULTS,e),this.$trigger=a('[data-toggle=\"collapse\"][href=\"#'+t.id+'\"],[data-toggle=\"collapse\"][data-target=\"#'+t.id+'\"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};function n(t){var e,i=t.attr(\"data-target\")||(e=t.attr(\"href\"))&&e.replace(/.*(?=#[^\\s]+$)/,\"\");return a(document).find(i)}function l(o){return this.each(function(){var t=a(this),e=t.data(\"bs.collapse\"),i=a.extend({},r.DEFAULTS,t.data(),\"object\"==typeof o&&o);!e&&i.toggle&&/show|hide/.test(o)&&(i.toggle=!1),e||t.data(\"bs.collapse\",e=new r(this,i)),\"string\"==typeof o&&e[o]()})}r.VERSION=\"3.4.1\",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){return this.$element.hasClass(\"width\")?\"width\":\"height\"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass(\"in\")){var t,e=this.$parent&&this.$parent.children(\".panel\").children(\".in, .collapsing\");if(!(e&&e.length&&(t=e.data(\"bs.collapse\"))&&t.transitioning)){var i=a.Event(\"show.bs.collapse\");if(this.$element.trigger(i),!i.isDefaultPrevented()){e&&e.length&&(l.call(e,\"hide\"),t||e.data(\"bs.collapse\",null));var o=this.dimension();this.$element.removeClass(\"collapse\").addClass(\"collapsing\")[o](0).attr(\"aria-expanded\",!0),this.$trigger.removeClass(\"collapsed\").attr(\"aria-expanded\",!0),this.transitioning=1;var n=function(){this.$element.removeClass(\"collapsing\").addClass(\"collapse in\")[o](\"\"),this.transitioning=0,this.$element.trigger(\"shown.bs.collapse\")};if(!a.support.transition)return n.call(this);var s=a.camelCase([\"scroll\",o].join(\"-\"));this.$element.one(\"bsTransitionEnd\",a.proxy(n,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[o](this.$element[0][s])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass(\"in\")){var t=a.Event(\"hide.bs.collapse\");if(this.$element.trigger(t),!t.isDefaultPrevented()){var e=this.dimension();this.$element[e](this.$element[e]())[0].offsetHeight,this.$element.addClass(\"collapsing\").removeClass(\"collapse in\").attr(\"aria-expanded\",!1),this.$trigger.addClass(\"collapsed\").attr(\"aria-expanded\",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass(\"collapsing\").addClass(\"collapse\").trigger(\"hidden.bs.collapse\")};if(!a.support.transition)return i.call(this);this.$element[e](0).one(\"bsTransitionEnd\",a.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION)}}},r.prototype.toggle=function(){this[this.$element.hasClass(\"in\")?\"hide\":\"show\"]()},r.prototype.getParent=function(){return a(document).find(this.options.parent).find('[data-toggle=\"collapse\"][data-parent=\"'+this.options.parent+'\"]').each(a.proxy(function(t,e){var i=a(e);this.addAriaAndCollapsedClass(n(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass(\"in\");t.attr(\"aria-expanded\",i),e.toggleClass(\"collapsed\",!i).attr(\"aria-expanded\",i)};var t=a.fn.collapse;a.fn.collapse=l,a.fn.collapse.Constructor=r,a.fn.collapse.noConflict=function(){return a.fn.collapse=t,this},a(document).on(\"click.bs.collapse.data-api\",'[data-toggle=\"collapse\"]',function(t){var e=a(this);e.attr(\"data-target\")||t.preventDefault();var i=n(e),o=i.data(\"bs.collapse\")?\"toggle\":e.data();l.call(i,o)})}(jQuery),function(a){\"use strict\";var r='[data-toggle=\"dropdown\"]',o=function(t){a(t).on(\"click.bs.dropdown\",this.toggle)};function l(t){var e=t.attr(\"data-target\");e||(e=(e=t.attr(\"href\"))&&/#[A-Za-z]/.test(e)&&e.replace(/.*(?=#[^\\s]*$)/,\"\"));var i=\"#\"!==e?a(document).find(e):null;return i&&i.length?i:t.parent()}function s(o){o&&3===o.which||(a(\".dropdown-backdrop\").remove(),a(r).each(function(){var t=a(this),e=l(t),i={relatedTarget:this};e.hasClass(\"open\")&&(o&&\"click\"==o.type&&/input|textarea/i.test(o.target.tagName)&&a.contains(e[0],o.target)||(e.trigger(o=a.Event(\"hide.bs.dropdown\",i)),o.isDefaultPrevented()||(t.attr(\"aria-expanded\",\"false\"),e.removeClass(\"open\").trigger(a.Event(\"hidden.bs.dropdown\",i)))))}))}o.VERSION=\"3.4.1\",o.prototype.toggle=function(t){var e=a(this);if(!e.is(\".disabled, :disabled\")){var i=l(e),o=i.hasClass(\"open\");if(s(),!o){\"ontouchstart\"in document.documentElement&&!i.closest(\".navbar-nav\").length&&a(document.createElement(\"div\")).addClass(\"dropdown-backdrop\").insertAfter(a(this)).on(\"click\",s);var n={relatedTarget:this};if(i.trigger(t=a.Event(\"show.bs.dropdown\",n)),t.isDefaultPrevented())return;e.trigger(\"focus\").attr(\"aria-expanded\",\"true\"),i.toggleClass(\"open\").trigger(a.Event(\"shown.bs.dropdown\",n))}return!1}},o.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var e=a(this);if(t.preventDefault(),t.stopPropagation(),!e.is(\".disabled, :disabled\")){var i=l(e),o=i.hasClass(\"open\");if(!o&&27!=t.which||o&&27==t.which)return 27==t.which&&i.find(r).trigger(\"focus\"),e.trigger(\"click\");var n=i.find(\".dropdown-menu li:not(.disabled):visible a\");if(n.length){var s=n.index(t.target);38==t.which&&0<s&&s--,40==t.which&&s<n.length-1&&s++,~s||(s=0),n.eq(s).trigger(\"focus\")}}}};var t=a.fn.dropdown;a.fn.dropdown=function e(i){return this.each(function(){var t=a(this),e=t.data(\"bs.dropdown\");e||t.data(\"bs.dropdown\",e=new o(this)),\"string\"==typeof i&&e[i].call(t)})},a.fn.dropdown.Constructor=o,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=t,this},a(document).on(\"click.bs.dropdown.data-api\",s).on(\"click.bs.dropdown.data-api\",\".dropdown form\",function(t){t.stopPropagation()}).on(\"click.bs.dropdown.data-api\",r,o.prototype.toggle).on(\"keydown.bs.dropdown.data-api\",r,o.prototype.keydown).on(\"keydown.bs.dropdown.data-api\",\".dropdown-menu\",o.prototype.keydown)}(jQuery),function(a){\"use strict\";var s=function(t,e){this.options=e,this.$body=a(document.body),this.$element=a(t),this.$dialog=this.$element.find(\".modal-dialog\"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.fixedContent=\".navbar-fixed-top, .navbar-fixed-bottom\",this.options.remote&&this.$element.find(\".modal-content\").load(this.options.remote,a.proxy(function(){this.$element.trigger(\"loaded.bs.modal\")},this))};function r(o,n){return this.each(function(){var t=a(this),e=t.data(\"bs.modal\"),i=a.extend({},s.DEFAULTS,t.data(),\"object\"==typeof o&&o);e||t.data(\"bs.modal\",e=new s(this,i)),\"string\"==typeof o?e[o](n):i.show&&e.show(n)})}s.VERSION=\"3.4.1\",s.TRANSITION_DURATION=300,s.BACKDROP_TRANSITION_DURATION=150,s.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},s.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},s.prototype.show=function(i){var o=this,t=a.Event(\"show.bs.modal\",{relatedTarget:i});this.$element.trigger(t),this.isShown||t.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass(\"modal-open\"),this.escape(),this.resize(),this.$element.on(\"click.dismiss.bs.modal\",'[data-dismiss=\"modal\"]',a.proxy(this.hide,this)),this.$dialog.on(\"mousedown.dismiss.bs.modal\",function(){o.$element.one(\"mouseup.dismiss.bs.modal\",function(t){a(t.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var t=a.support.transition&&o.$element.hasClass(\"fade\");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),t&&o.$element[0].offsetWidth,o.$element.addClass(\"in\"),o.enforceFocus();var e=a.Event(\"shown.bs.modal\",{relatedTarget:i});t?o.$dialog.one(\"bsTransitionEnd\",function(){o.$element.trigger(\"focus\").trigger(e)}).emulateTransitionEnd(s.TRANSITION_DURATION):o.$element.trigger(\"focus\").trigger(e)}))},s.prototype.hide=function(t){t&&t.preventDefault(),t=a.Event(\"hide.bs.modal\"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off(\"focusin.bs.modal\"),this.$element.removeClass(\"in\").off(\"click.dismiss.bs.modal\").off(\"mouseup.dismiss.bs.modal\"),this.$dialog.off(\"mousedown.dismiss.bs.modal\"),a.support.transition&&this.$element.hasClass(\"fade\")?this.$element.one(\"bsTransitionEnd\",a.proxy(this.hideModal,this)).emulateTransitionEnd(s.TRANSITION_DURATION):this.hideModal())},s.prototype.enforceFocus=function(){a(document).off(\"focusin.bs.modal\").on(\"focusin.bs.modal\",a.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger(\"focus\")},this))},s.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on(\"keydown.dismiss.bs.modal\",a.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off(\"keydown.dismiss.bs.modal\")},s.prototype.resize=function(){this.isShown?a(window).on(\"resize.bs.modal\",a.proxy(this.handleUpdate,this)):a(window).off(\"resize.bs.modal\")},s.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass(\"modal-open\"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger(\"hidden.bs.modal\")})},s.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},s.prototype.backdrop=function(t){var e=this,i=this.$element.hasClass(\"fade\")?\"fade\":\"\";if(this.isShown&&this.options.backdrop){var o=a.support.transition&&i;if(this.$backdrop=a(document.createElement(\"div\")).addClass(\"modal-backdrop \"+i).appendTo(this.$body),this.$element.on(\"click.dismiss.bs.modal\",a.proxy(function(t){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:t.target===t.currentTarget&&(\"static\"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass(\"in\"),!t)return;o?this.$backdrop.one(\"bsTransitionEnd\",t).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass(\"in\");var n=function(){e.removeBackdrop(),t&&t()};a.support.transition&&this.$element.hasClass(\"fade\")?this.$backdrop.one(\"bsTransitionEnd\",n).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):n()}else t&&t()},s.prototype.handleUpdate=function(){this.adjustDialog()},s.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:\"\",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:\"\"})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:\"\",paddingRight:\"\"})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},s.prototype.setScrollbar=function(){var t=parseInt(this.$body.css(\"padding-right\")||0,10);this.originalBodyPad=document.body.style.paddingRight||\"\";var n=this.scrollbarWidth;this.bodyIsOverflowing&&(this.$body.css(\"padding-right\",t+n),a(this.fixedContent).each(function(t,e){var i=e.style.paddingRight,o=a(e).css(\"padding-right\");a(e).data(\"padding-right\",i).css(\"padding-right\",parseFloat(o)+n+\"px\")}))},s.prototype.resetScrollbar=function(){this.$body.css(\"padding-right\",this.originalBodyPad),a(this.fixedContent).each(function(t,e){var i=a(e).data(\"padding-right\");a(e).removeData(\"padding-right\"),e.style.paddingRight=i||\"\"})},s.prototype.measureScrollbar=function(){var t=document.createElement(\"div\");t.className=\"modal-scrollbar-measure\",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var t=a.fn.modal;a.fn.modal=r,a.fn.modal.Constructor=s,a.fn.modal.noConflict=function(){return a.fn.modal=t,this},a(document).on(\"click.bs.modal.data-api\",'[data-toggle=\"modal\"]',function(t){var e=a(this),i=e.attr(\"href\"),o=e.attr(\"data-target\")||i&&i.replace(/.*(?=#[^\\s]+$)/,\"\"),n=a(document).find(o),s=n.data(\"bs.modal\")?\"toggle\":a.extend({remote:!/#/.test(i)&&i},n.data(),e.data());e.is(\"a\")&&t.preventDefault(),n.one(\"show.bs.modal\",function(t){t.isDefaultPrevented()||n.one(\"hidden.bs.modal\",function(){e.is(\":visible\")&&e.trigger(\"focus\")})}),r.call(n,s,this)})}(jQuery),function(g){\"use strict\";var o=[\"sanitize\",\"whiteList\",\"sanitizeFn\"],a=[\"background\",\"cite\",\"href\",\"itemtype\",\"longdesc\",\"poster\",\"src\",\"xlink:href\"],t={\"*\":[\"class\",\"dir\",\"id\",\"lang\",\"role\",/^aria-[\\w-]*$/i],a:[\"target\",\"href\",\"title\",\"rel\"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:[\"src\",\"alt\",\"title\",\"width\",\"height\"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},r=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,l=/^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function u(t,e){var i=t.nodeName.toLowerCase();if(-1!==g.inArray(i,e))return-1===g.inArray(i,a)||Boolean(t.nodeValue.match(r)||t.nodeValue.match(l));for(var o=g(e).filter(function(t,e){return e instanceof RegExp}),n=0,s=o.length;n<s;n++)if(i.match(o[n]))return!0;return!1}function n(t,e,i){if(0===t.length)return t;if(i&&\"function\"==typeof i)return i(t);if(!document.implementation||!document.implementation.createHTMLDocument)return t;var o=document.implementation.createHTMLDocument(\"sanitization\");o.body.innerHTML=t;for(var n=g.map(e,function(t,e){return e}),s=g(o.body).find(\"*\"),a=0,r=s.length;a<r;a++){var l=s[a],h=l.nodeName.toLowerCase();if(-1!==g.inArray(h,n))for(var d=g.map(l.attributes,function(t){return t}),p=[].concat(e[\"*\"]||[],e[h]||[]),c=0,f=d.length;c<f;c++)u(d[c],p)||l.removeAttribute(d[c].nodeName);else l.parentNode.removeChild(l)}return o.body.innerHTML}var m=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init(\"tooltip\",t,e)};m.VERSION=\"3.4.1\",m.TRANSITION_DURATION=150,m.DEFAULTS={animation:!0,placement:\"top\",selector:!1,template:'<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',trigger:\"hover focus\",title:\"\",delay:0,html:!1,container:!1,viewport:{selector:\"body\",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error(\"`selector` option must be specified when initializing \"+this.type+\" on the window.document object!\");for(var o=this.options.trigger.split(\" \"),n=o.length;n--;){var s=o[n];if(\"click\"==s)this.$element.on(\"click.\"+this.type,this.options.selector,g.proxy(this.toggle,this));else if(\"manual\"!=s){var a=\"hover\"==s?\"mouseenter\":\"focusin\",r=\"hover\"==s?\"mouseleave\":\"focusout\";this.$element.on(a+\".\"+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+\".\"+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:\"manual\",selector:\"\"}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&\"number\"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data(\"bs.\"+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data(\"bs.\"+this.type,e)),t instanceof g.Event&&(e.inState[\"focusin\"==t.type?\"focus\":\"hover\"]=!0),e.tip().hasClass(\"in\")||\"in\"==e.hoverState)e.hoverState=\"in\";else{if(clearTimeout(e.timeout),e.hoverState=\"in\",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){\"in\"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data(\"bs.\"+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data(\"bs.\"+this.type,e)),t instanceof g.Event&&(e.inState[\"focusout\"==t.type?\"focus\":\"hover\"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState=\"out\",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){\"out\"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event(\"show.bs.\"+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr(\"id\",n),this.$element.attr(\"aria-describedby\",n),this.options.animation&&o.addClass(\"fade\");var s=\"function\"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\\s?auto?\\s?/i,r=a.test(s);r&&(s=s.replace(a,\"\")||\"top\"),o.detach().css({top:0,left:0,display:\"block\"}).addClass(s).data(\"bs.\"+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger(\"inserted.bs.\"+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s=\"bottom\"==s&&l.bottom+d>c.bottom?\"top\":\"top\"==s&&l.top-d<c.top?\"bottom\":\"right\"==s&&l.right+h>c.width?\"left\":\"left\"==s&&l.left-h<c.left?\"right\":s,o.removeClass(p).addClass(s)}var f=this.getCalculatedOffset(s,l,h,d);this.applyPlacement(f,s);var u=function(){var t=i.hoverState;i.$element.trigger(\"shown.bs.\"+i.type),i.hoverState=null,\"out\"==t&&i.leave(i)};g.support.transition&&this.$tip.hasClass(\"fade\")?o.one(\"bsTransitionEnd\",u).emulateTransitionEnd(m.TRANSITION_DURATION):u()}},m.prototype.applyPlacement=function(t,e){var i=this.tip(),o=i[0].offsetWidth,n=i[0].offsetHeight,s=parseInt(i.css(\"margin-top\"),10),a=parseInt(i.css(\"margin-left\"),10);isNaN(s)&&(s=0),isNaN(a)&&(a=0),t.top+=s,t.left+=a,g.offset.setOffset(i[0],g.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},t),0),i.addClass(\"in\");var r=i[0].offsetWidth,l=i[0].offsetHeight;\"top\"==e&&l!=n&&(t.top=t.top+n-l);var h=this.getViewportAdjustedDelta(e,t,r,l);h.left?t.left+=h.left:t.top+=h.top;var d=/top|bottom/.test(e),p=d?2*h.left-o+r:2*h.top-n+l,c=d?\"offsetWidth\":\"offsetHeight\";i.offset(t),this.replaceArrow(p,i[0][c],d)},m.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?\"left\":\"top\",50*(1-t/e)+\"%\").css(i?\"top\":\"left\",\"\")},m.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();this.options.html?(this.options.sanitize&&(e=n(e,this.options.whiteList,this.options.sanitizeFn)),t.find(\".tooltip-inner\").html(e)):t.find(\".tooltip-inner\").text(e),t.removeClass(\"fade in top bottom left right\")},m.prototype.hide=function(t){var e=this,i=g(this.$tip),o=g.Event(\"hide.bs.\"+this.type);function n(){\"in\"!=e.hoverState&&i.detach(),e.$element&&e.$element.removeAttr(\"aria-describedby\").trigger(\"hidden.bs.\"+e.type),t&&t()}if(this.$element.trigger(o),!o.isDefaultPrevented())return i.removeClass(\"in\"),g.support.transition&&i.hasClass(\"fade\")?i.one(\"bsTransitionEnd\",n).emulateTransitionEnd(m.TRANSITION_DURATION):n(),this.hoverState=null,this},m.prototype.fixTitle=function(){var t=this.$element;(t.attr(\"title\")||\"string\"!=typeof t.attr(\"data-original-title\"))&&t.attr(\"data-original-title\",t.attr(\"title\")||\"\").attr(\"title\",\"\")},m.prototype.hasContent=function(){return this.getTitle()},m.prototype.getPosition=function(t){var e=(t=t||this.$element)[0],i=\"BODY\"==e.tagName,o=e.getBoundingClientRect();null==o.width&&(o=g.extend({},o,{width:o.right-o.left,height:o.bottom-o.top}));var n=window.SVGElement&&e instanceof window.SVGElement,s=i?{top:0,left:0}:n?null:t.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},r=i?{width:g(window).width(),height:g(window).height()}:null;return g.extend({},o,a,r,s)},m.prototype.getCalculatedOffset=function(t,e,i,o){return\"bottom\"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:\"top\"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:\"left\"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},m.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr(\"data-original-title\")||(\"function\"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+\" `template` option must consist of exactly 1 top-level element!\");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(\".tooltip-arrow\")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data(\"bs.\"+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data(\"bs.\"+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass(\"in\")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off(\".\"+t.type).removeData(\"bs.\"+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data(\"bs.tooltip\"),i=\"object\"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data(\"bs.tooltip\",e=new m(this,i)),\"string\"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){\"use strict\";var s=function(t,e){this.init(\"popover\",t,e)};if(!n.fn.tooltip)throw new Error(\"Popover requires tooltip.js\");s.VERSION=\"3.4.1\",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:\"right\",trigger:\"click\",content:\"\",template:'<div class=\"popover\" role=\"tooltip\"><div class=\"arrow\"></div><h3 class=\"popover-title\"></h3><div class=\"popover-content\"></div></div>'}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),\"string\"===o&&(i=this.sanitizeHtml(i))),t.find(\".popover-title\").html(e),t.find(\".popover-content\").children().detach().end()[\"string\"===o?\"html\":\"append\"](i)}else t.find(\".popover-title\").text(e),t.find(\".popover-content\").children().detach().end().text(i);t.removeClass(\"fade top bottom left right in\"),t.find(\".popover-title\").html()||t.find(\".popover-title\").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr(\"data-content\")||(\"function\"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(\".arrow\")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data(\"bs.popover\"),i=\"object\"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data(\"bs.popover\",e=new s(this,i)),\"string\"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){\"use strict\";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||\"\")+\" .nav li > a\",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on(\"scroll.bs.scrollspy\",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data(\"bs.scrollspy\"),i=\"object\"==typeof o&&o;e||t.data(\"bs.scrollspy\",e=new n(this,i)),\"string\"==typeof o&&e[o]()})}n.VERSION=\"3.4.1\",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o=\"offset\",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o=\"position\",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data(\"target\")||t.attr(\"href\"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(\":visible\")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(n[t+1]===undefined||e<n[t+1])&&this.activate(s[t])},n.prototype.activate=function(t){this.activeTarget=t,this.clear();var e=this.selector+'[data-target=\"'+t+'\"],'+this.selector+'[href=\"'+t+'\"]',i=s(e).parents(\"li\").addClass(\"active\");i.parent(\".dropdown-menu\").length&&(i=i.closest(\"li.dropdown\").addClass(\"active\")),i.trigger(\"activate.bs.scrollspy\")},n.prototype.clear=function(){s(this.selector).parentsUntil(this.options.target,\".active\").removeClass(\"active\")};var t=s.fn.scrollspy;s.fn.scrollspy=e,s.fn.scrollspy.Constructor=n,s.fn.scrollspy.noConflict=function(){return s.fn.scrollspy=t,this},s(window).on(\"load.bs.scrollspy.data-api\",function(){s('[data-spy=\"scroll\"]').each(function(){var t=s(this);e.call(t,t.data())})})}(jQuery),function(r){\"use strict\";var a=function(t){this.element=r(t)};function e(i){return this.each(function(){var t=r(this),e=t.data(\"bs.tab\");e||t.data(\"bs.tab\",e=new a(this)),\"string\"==typeof i&&e[i]()})}a.VERSION=\"3.4.1\",a.TRANSITION_DURATION=150,a.prototype.show=function(){var t=this.element,e=t.closest(\"ul:not(.dropdown-menu)\"),i=t.data(\"target\");if(i||(i=(i=t.attr(\"href\"))&&i.replace(/.*(?=#[^\\s]*$)/,\"\")),!t.parent(\"li\").hasClass(\"active\")){var o=e.find(\".active:last a\"),n=r.Event(\"hide.bs.tab\",{relatedTarget:t[0]}),s=r.Event(\"show.bs.tab\",{relatedTarget:o[0]});if(o.trigger(n),t.trigger(s),!s.isDefaultPrevented()&&!n.isDefaultPrevented()){var a=r(document).find(i);this.activate(t.closest(\"li\"),e),this.activate(a,a.parent(),function(){o.trigger({type:\"hidden.bs.tab\",relatedTarget:t[0]}),t.trigger({type:\"shown.bs.tab\",relatedTarget:o[0]})})}}},a.prototype.activate=function(t,e,i){var o=e.find(\"> .active\"),n=i&&r.support.transition&&(o.length&&o.hasClass(\"fade\")||!!e.find(\"> .fade\").length);function s(){o.removeClass(\"active\").find(\"> .dropdown-menu > .active\").removeClass(\"active\").end().find('[data-toggle=\"tab\"]').attr(\"aria-expanded\",!1),t.addClass(\"active\").find('[data-toggle=\"tab\"]').attr(\"aria-expanded\",!0),n?(t[0].offsetWidth,t.addClass(\"in\")):t.removeClass(\"fade\"),t.parent(\".dropdown-menu\").length&&t.closest(\"li.dropdown\").addClass(\"active\").end().find('[data-toggle=\"tab\"]').attr(\"aria-expanded\",!0),i&&i()}o.length&&n?o.one(\"bsTransitionEnd\",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass(\"in\")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),\"show\")};r(document).on(\"click.bs.tab.data-api\",'[data-toggle=\"tab\"]',i).on(\"click.bs.tab.data-api\",'[data-toggle=\"pill\"]',i)}(jQuery),function(l){\"use strict\";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on(\"scroll.bs.affix.data-api\",l.proxy(this.checkPosition,this)).on(\"click.bs.affix.data-api\",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data(\"bs.affix\"),i=\"object\"==typeof o&&o;e||t.data(\"bs.affix\",e=new h(this,i)),\"string\"==typeof o&&e[o]()})}h.VERSION=\"3.4.1\",h.RESET=\"affix affix-top affix-bottom\",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&\"top\"==this.affixed)return n<i&&\"top\";if(\"bottom\"==this.affixed)return null!=i?!(n+this.unpin<=s.top)&&\"bottom\":!(n+a<=t-o)&&\"bottom\";var r=null==this.affixed,l=r?n:s.top;return null!=i&&n<=i?\"top\":null!=o&&t-o<=l+(r?a:e)&&\"bottom\"},h.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(h.RESET).addClass(\"affix\");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},h.prototype.checkPositionWithEventLoop=function(){setTimeout(l.proxy(this.checkPosition,this),1)},h.prototype.checkPosition=function(){if(this.$element.is(\":visible\")){var t=this.$element.height(),e=this.options.offset,i=e.top,o=e.bottom,n=Math.max(l(document).height(),l(document.body).height());\"object\"!=typeof e&&(o=i=e),\"function\"==typeof i&&(i=e.top(this.$element)),\"function\"==typeof o&&(o=e.bottom(this.$element));var s=this.getState(n,t,i,o);if(this.affixed!=s){null!=this.unpin&&this.$element.css(\"top\",\"\");var a=\"affix\"+(s?\"-\"+s:\"\"),r=l.Event(a+\".bs.affix\");if(this.$element.trigger(r),r.isDefaultPrevented())return;this.affixed=s,this.unpin=\"bottom\"==s?this.getPinnedOffset():null,this.$element.removeClass(h.RESET).addClass(a).trigger(a.replace(\"affix\",\"affixed\")+\".bs.affix\")}\"bottom\"==s&&this.$element.offset({top:n-t-o})}};var t=l.fn.affix;l.fn.affix=i,l.fn.affix.Constructor=h,l.fn.affix.noConflict=function(){return l.fn.affix=t,this},l(window).on(\"load\",function(){l('[data-spy=\"affix\"]').each(function(){var t=l(this),e=t.data();e.offset=e.offset||{},null!=e.offsetBottom&&(e.offset.bottom=e.offsetBottom),null!=e.offsetTop&&(e.offset.top=e.offsetTop),i.call(t,e)})})}(jQuery);\n","Core.Carousels = function () {\n    if (Core.Cache.$carousels) {\n\n        var _self = this,\n            updateLayout = Core.Util.Debounce(function () {\n                _self._init(true);\n            }, 400);\n\n        Core.Cache.$window.on('resize', function() {\n            updateLayout();\n        });\n\n        _self._init(false);\n    }\n};\n\nCore.Carousels.prototype = {\n    constructor: Core.Engine.Carousels,\n    _init: function (changeSettings) {\n        var _config = Core.Config.Carousel;\n\n        if (!changeSettings) {\n            this.DisplayMode = this._setDisplayMode();\n            this.CarouselSlideWidth = '';\n            this.Objects = [];\n        }\n\n        for (var x = 0; x < Core.Cache.$carousels.length; x++) {\n            var $this = Core.Cache.$carousels.eq(x),\n                parentWidth = $this.closest('.block').width(),\n                slideMargin = _config.DesktopSlideMargin,\n                maxSlides = $this.data('max-slides'),\n                auto = $this.data('auto'),\n                moveSlides = $this.data('move-slides');\n\n            if (Core.IsMobile()) {\n                this.CarouselSlideWidth = parentWidth;\n                slideMargin = _config.MobileSlideMargin;\n                maxSlides = $this.data('mobile-max-slides') || _config.MobileSlideCount;\n            }\n\n            if (!changeSettings) {\n                if (!Core.IsMobile()) {\n                    this.CarouselSlideWidth = (parentWidth / maxSlides) - slideMargin;\n                }\n                this.Objects[x] = $this.bxSlider({\n                    pager: _config.Pager,\n                    auto: auto,\n                    speed: _config.Speed,\n                    pause: _config.Pause,\n                    autoHover: _config.PauseOnHover,\n                    infiniteLoop: _config.InfiniteLoop,\n                    hideControlOnEnd: _config.HideControlOnEnd,\n                    useCSS: false,\n                    slideWidth: this.CarouselSlideWidth,\n                    minSlides: maxSlides,\n                    maxSlides: maxSlides,\n                    moveSlides: moveSlides,\n                    slideMargin: slideMargin\n                });\n            }\n            else {\n                if ((this.DisplayMode === \"mobile\" && !Core.IsMobile()) || (this.DisplayMode === \"desktop\" && Core.IsMobile())) {\n                    this.Objects[x].reloadSlider({\n                        pager: _config.Pager,\n                        auto: auto,\n                        speed: _config.Speed,\n                        pause: _config.Pause,\n                        autoHover: _config.PauseOnHover,\n                        infiniteLoop: _config.InfiniteLoop,\n                        hideControlOnEnd: _config.HideControlOnEnd,\n                        useCSS: false,\n                        slideWidth: this.CarouselSlideWidth,\n                        minSlides: maxSlides,\n                        maxSlides: maxSlides,\n                        moveSlides: moveSlides,\n                        slideMargin: slideMargin\n                    });\n                }\n            }\n        }\n\n        if ($('.carousel > li').not('.bx-clone').length < 4){\n            $('.bx-controls').hide();\n        }\n\n        this.DisplayMode = this._setDisplayMode();\n    },\n    _setDisplayMode: function () {\n        if (Core.IsMobile()) {\n            return \"mobile\";\n        }\n        else {\n            return \"desktop\";\n        }\n    }\n};\n","Core.Cart = {\n    init: function () {\n        Core.Cart.Cache = {\n            $cartTable: $('#cart-table'),\n            $cartEmpty: $('#cart-empty'),\n            $cartTotals: $('#cart-totals'),\n            $updateItem: $('.cart-update'),\n            $postcode: $('#Postcode'),\n            $postcodeError: $('#postcodeError'),\n            $removeItem: $('.remove-cart-item'),\n            $favouritesBtn: $('.favourites-btn'),\n            $subTotal: $('#subTotal'),\n            $gst: $('#gst'),\n            $total: $('#total'),\n            $onBehalfTitle: $('#OnBehalfTitle'),\n            $shipping: $('#shipping'),\n            $submitCart: $('#btn-request-cart'),\n            $organization: $('#Organization'),\n            $freightOption: $('#freightOption'),\n            $shippingCompany: $('#shippingCompany'),\n            $accountDetails: $('#accountDetails'),\n            $hideFreight: $('#HideFreight'),\n            $orderOrganization: $('#OrderOrganization'),\n            $therapistID: $('#TherapistID'),\n            $requestQuote: $('#request-quote'),\n            $quoteButtons: $('.btn-quote'),\n            $quoteForm: $('#quote-form'),\n            $quoteWindow: $('#quote-notification'),\n            $quoteFormButton: $('#btn-request-quote'),\n            $fundingType: $('#FundingType'),\n            $cartFormButton: $('#btn-request-cart'),\n            $dvCheckoutNoApprovalRequired: $('#dvCheckoutNoApprovalRequired'),\n            $checkoutNoApprovalRequired: $('#checkoutNoApprovalRequired'),\n            $dvCheckoutMessageRequired: $('#dvCheckoutMessageRequired'),\n            $checkoutMessageRequired: $('#checkoutMessageRequired'),\n            $dvCapex: $('#dvCapex'),\n            $checkoutMinThreshold: $('#CheckoutMinThreshold'),\n            $checkoutMaxThreshold: $('#CheckoutMaxThreshold'),\n            $capexThreshold: $('#CapexThreshold'),\n            $punchoutForm: $('#frmPunchoutForm'),\n            $punchoutForm1: $('#PunchoutReturnForm'),\n            $xmlString: $('[name=cXML-urlencoded]'),\n\n            $validator: $('.frm-quote').validate({\n                focusInvalid: false,\n                invalidHandler: function (form, validator) {\n\n                    if (!validator.numberOfInvalids())\n                        return;\n\n                    $('html, body').animate({\n                        scrollTop: $(validator.errorList[0].element.parentElement).offset().top - 30\n                    }, 300);\n\n                },\n                rules: {\n                    password: {\n                        ContainsAtLeastOneDigit: true,\n                        ContainsAtLeastOneCapitalLetter: true\n                    }\n                }\n            })\n        };\n\n        function onSpin(context) {\n            if ($(context).length > 0) {\n                $('.cart-update', context).addClass('show');\n                Core.Cart.disableRequestButton();\n                Core.Cart.disableCartButton();\n            }\n        }\n\n        function onPunchoutSubmit(xml) {\n            Core.Cart.Cache.$xmlString.val(xml);\n            Core.Cart.Cache.$punchoutForm.trigger('submit');\n        }\n\n        $('.product-qty').kendoNumericTextBox({\n            format: \"#\",\n            step: 1,\n            change: function() {\n                if (this.value() === null) {\n                    this.value(1);\n                }\n            },\n            spin: onSpin\n        }).on('focus', function(e){\n            var $qtyColumn = $(e.target).closest('.col-qty');\n            onSpin($qtyColumn.siblings('.col-update')[0]);\n        });\n\n        //update cart item\n        this.update();\n        this.updateShipping();\n\n        //remove cart item\n        this.remove();\n\n        //add|remove favourites\n        this.addRemoveFavourties();\n\n        //request quote\n        this.requestQuote();\n\n        this.initForm();\n\n        var stockIntegration = new Core.StockIntegration('co_agedcare');\n        stockIntegration.init();\n    },\n    initForm: function () {        \n        var $form = $('#frmSearchContact');\n        if ($form.length === 0) return;\n        \n        // Add timeout to wait for kendo\n        setTimeout(function() {    \n            $form.find('select').each(function(i, elem) {\n                var $dropdown = $(elem);\n                $dropdown.data(\"kendoDropDownList\") && $dropdown.data(\"kendoDropDownList\").value($dropdown.val() || ''); // give initial value                \n            });   \n        }, 300);\n\n        $form.find('#btn-request-cart').on('click', function (e) {\n            e.preventDefault();\n            var isValid = true;\n            \n            $form.find('select[data-rule-required=\"true\"]').each(function(i, elem) {                \n                if (!SelectValidator(elem).isValid()) {\n                    isValid = false;\n                }\n            });\n            $form.find('input:visible[data-rule-required=\"true\"]').each(function(i, elem) {                \n                $(elem).valid();\n            });\n\n            // if (isValid && $form.valid()) $form.trigger('submit');\n        });\n    },\n    disableRequestButton: function () {\n        Core.Cart.Cache.$quoteFormButton.addClass('disabled').prop('disabled', true);\n    },\n    enableRequestButton: function () {\n        Core.Cart.Cache.$quoteFormButton.removeClass('disabled').prop('disabled', false);\n    },\n    disableCartButton: function () {\n        Core.Cart.Cache.$cartFormButton.addClass('disabled').prop('disabled', true);\n    },\n    enableCartButton: function () {\n        Core.Cart.Cache.$cartFormButton.removeClass('disabled').prop('disabled', false);\n    },\n    checkCartButtonVisibility: function(output) {\n        // HideFrieght === true /-> hasInvalidShippingCost = false <-\n        // HideFrieght === false /-> output.ShippingCost > 0\n        //                   -> but with genuine output.ShippingCost == 0\n        //                   noShippingCost = true -> genuine 0\n        //                   noShippingCost = false -> no genuine 0\n        //\n        //  HideFrieght -> site level\n        //  noShippingCost -> item level\n\n        var hasInvalidShippingCost = output\n                                    && output.IsInvalidShipping\n                                    && ! output.HideFrieght;\n\n        if ($('.cart-update.show').length > 0 || hasInvalidShippingCost) {\n            Core.Cart.disableRequestButton();\n            Core.Cart.disableCartButton();\n            $(\"#shippingError\").html(output.Message);\n            $(\"#shippingError\").show();\n        } else {\n            Core.Cart.enableRequestButton();\n            Core.Cart.enableCartButton();\n            $(\"#shippingError\").hide();\n        }\n    },\n    update: function () {\n        Core.Cart.Cache.$updateItem.on('click', function () {            \n            var $updateBtn = $(this),\n                _$item = $(this).parents('tr'),\n                _qty = parseInt(_$item.find('.product-qty').eq(1).val()) !== \"NaN\" && parseInt(_$item.find('.product-qty').eq(1).val()) ? parseInt(_$item.find('.product-qty').eq(1).val()) : 1,\n                _unitPrice = parseFloat(_$item.find('.unit-price').data(\"price\"));\n\n            var postcode = Core.Cart.Cache.$postcode.val() || \"\";\n            var org = Core.Cart.Cache.$organization.val() || \"\";\n            var freight = Core.Cart.Cache.$hideFreight.val() || \"\";\n            var orderOrganization = Core.Cart.Cache.$orderOrganization.val() || \"\";\n            var therapistID = Core.Cart.Cache.$therapistID.val() || \"\";\n            var agedCare = ($(this).hasClass(\"aged-care\"));\n            var $url = ($(this).hasClass(\"aged-care\"))\n                            ? '/cart/updatecart' //'https://run.mocky.io/v3/543471ab-7551-4d2c-a5a3-d1bdf6eceafa'\n                            : '/cart/updatequote';\n\n            _$item.find('.product-qty').eq(1).val(_qty);\n\n            Core.ShowPageLoading();\n\n            // Testing purpose\n            //\n            // {\n            //     \"WasSuccess\": true,\n            //     \"Result\": \"\",\n            //     \"Name\": null,\n            //     \"Url\": null,\n            //     \"ImageUrl\": null,\n            //     \"Code\": null,\n            //     \"Quantity\": 0,\n            //     \"PriceType\": null,\n            //     \"Price\": null,\n            //     \"Currency\": \"$\",\n            //     \"SubTotal\": \"$6,900.00\",\n            //     \"TaxTotal\": \"$22.40\",\n            //     \"Total\": \"$7,146.40\",\n            //     \"ShippingCost\": \"$224.00\",\n            //     \"SubmitText\": \"Request Approval\",\n            //     \"HideFreight\": false,\n            //     \"Message\": \"\",\n            //     \"IsInvalidShipping\": false,\n            //     \"OrderStatus\": 1,\n            //     \"UnitPrice\": 2.2,\n            //     \"UnitPriceLabel\": \"$2.2\"\n            // }\n            //\n            // $url = 'https://run.mocky.io/v3/6b1681b8-c153-4fd4-8d1f-7393b81cc6df';\n            // $url = 'https://run.mocky.io/v3/ea477288-b8c7-466b-9a19-5ffed2df2cd1'; // empty string additional info\n\n            var org = Core.Cart.Cache.$organization.val() || \"\";\n            var freightOption = Core.Cart.Cache.$freightOption.val() || \"\";\n            var shippingCompany = Core.Cart.Cache.$shippingCompany.val() || \"\";\n            var accountDetails = Core.Cart.Cache.$accountDetails.val() || \"\";\n\n            var parameters = {\n                code: _$item.data('id'),\n                qty: _qty,\n                postcode: postcode,\n                organization: org,\n                hideFreight: freight,\n                orderOrganization: orderOrganization,\n                therapistID: therapistID\n            };\n\n            if (org) parameters.organization = org;            \n            if (freightOption) parameters.freightOption = freightOption;            \n            if (shippingCompany) parameters.shippingCompany = shippingCompany;            \n            if (accountDetails) parameters.accountDetails = accountDetails;\n\n            $.ajax({\n                url: $url,\n                data: parameters,\n                type: 'get',\n                dataType: 'json',\n                success: function (output) {\n                    Core.HidePageLoading();\n                    Core.Engine.getCartSummary();\n\n                    var currency = output.Currency || '$';\n\n\n                    if (_unitPrice > 0) {\n                        (output.UnitPrice)\n                            && (_unitPrice = output.UnitPrice);\n\n                        // equivalent of UnitPriceLabel\n                        (output.Price)\n                            && _$item.find('[data-price]').text(output.Price);\n\n                        _$item.find('.sub-total').text(currency + parseFloat(_qty * _unitPrice).toFixed(2));\n                    } else {\n                        _$item.find('.sub-total').text(Core.Config.POA.Text);\n                    }\n\n                    Core.Cart.UpdateTotals(output);\n                    Core.Cart.UpdateMessages(output, agedCare);\n                    Core.Cart.UpdateAdditionalInfo(_$item, output);\n\n                    if ($updateBtn) {\n                        $updateBtn.removeClass('show');\n                    }\n\n                    Core.Cart.checkCartButtonVisibility(output);\n                },\n                error: function (xhr, ajaxOptions, thrownError) {\n                    //todo: do something\n                }\n            });\n\n            // check local stock\n            /*\n            if (!!$('#cart').data('check-local-stock-api')) {\n                var stockIntegration = new Core.StockIntegration('co_agedcare');\n                stockIntegration.updateStock(false, $updateBtn.closest('.product-row'));\n            }\n            */\n        });\n    },\n    updateShipping: function () {\n        function updateShipping() {\n            Core.ShowPageLoading();\n            Core.Cart.Cache.$submitCart.attr('disabled', false);\n\n            var postcode = Core.Cart.Cache.$postcode.val() || \"\";\n            var org = Core.Cart.Cache.$organization.val() || \"\";\n            var freight = Core.Cart.Cache.$hideFreight.val() || \"\";\n            var freightOption = Core.Cart.Cache.$freightOption.val() || \"\";\n            var shippingCompany = Core.Cart.Cache.$shippingCompany.val() || \"\";\n            var accountDetails = Core.Cart.Cache.$accountDetails.val() || \"\";\n            var orderOrganization = Core.Cart.Cache.$orderOrganization.val() || \"\";\n            var therapistID = Core.Cart.Cache.$therapistID.val() || \"\";\n            var agedCare = ($(this).hasClass(\"aged-care\"));\n\n            var parameters = {\n                postcode: postcode,\n                organization: org,\n                hideFreight: freight,\n                orderOrganization: orderOrganization,\n                therapistID: therapistID,\n            };\n\n            if (freightOption) parameters.freightOption = freightOption;            \n            if (shippingCompany) parameters.shippingCompany = shippingCompany;            \n            if (accountDetails) parameters.accountDetails = accountDetails;\n\n            $.ajax({\n                url: '/cart/updateshipping',\n                // url: 'https://run.mocky.io/v3/df015c09-d1e9-449c-936e-f9b03bcd611d',\n                data: parameters,\n                type: 'get',\n                dataType: 'json',\n                success: function (output) {\n                    Core.HidePageLoading();\n                    Core.Engine.getCartSummary();\n\n                    Core.Cart.UpdateTotals(output);\n                    Core.Cart.UpdateMessages(output, agedCare);\n\n                    Core.Cart.checkCartButtonVisibility(output);\n                },\n                error: function (xhr, ajaxOptions, thrownError) {\n                    console.error(thrownError);\n                    Core.HidePageLoading();\n                }\n            });\n        };\n\n        function updateShippingLabel() {\n            var orgVal = Core.Cart.Cache.$organization.val();\n            var orgId = Core.Cart.Cache.$organization.attr('id');\n            var orgLabel = $(`label[for=\"${orgId}\"]`)?.data('label') || 'select facility';\n            var freightVal = Core.Cart.Cache.$freightOption.val();\n            var freightId = Core.Cart.Cache.$freightOption.attr('id');\n            var freightLabel = $(`label[for=\"${freightId}\"]`)?.data('label') || 'select freight term';\n\n            Core.Cart.Cache.$submitCart.attr('disabled', true);\n            if (!freightVal) {\n                Core.Cart.Cache.$shipping.text(`Please ${freightLabel}`);\n            } else if (!orgVal) {\n                Core.Cart.Cache.$shipping.text(`Please ${orgLabel}`);\n            }\n        }\n\n        Core.Cart.Cache.$postcode.on('change', updateShipping);\n        Core.Cart.Cache.$organization.on('change', function() {\n            // check if freight option exist\n            if (Core.Cart.Cache.$freightOption.length > 0) {\n                if (Core.Cart.Cache.$freightOption.val() && Core.Cart.Cache.$organization.val()) {\n                    updateShipping();\n                } else {\n                    updateShippingLabel();\n                }\n            } else {\n                updateShipping();\n            }\n        });\n\n        Core.Cart.Cache.$freightOption.on('change', function() {\n            var freightOption = $(this).val() || \"\";\n            if (freightOption === 'OnAccount') {\n                // show input\n                $('#dvOnAccountFields').removeClass('hidden');\n            } else {\n                // hide input\n                $('#dvOnAccountFields').addClass('hidden');\n            }\n\n            // check if facility dropdown exist\n            if (Core.Cart.Cache.$organization.length > 0) {\n                if (Core.Cart.Cache.$organization.val() && Core.Cart.Cache.$freightOption.val()) {\n                    updateShipping();\n                } else {\n                    updateShippingLabel();\n                }\n            } else {\n                updateShipping();\n            }\n        });\n\n        // seems like kendo clash with jquery validation that makes the error message shows twice\n        // so, do manual check if there is already error message (might need to ceck later for not hacky solution)\n        // timeout needed to wait for kendo to finish its validation\n        Core.Cart.Cache.$freightOption.on('blur', function() {\n            var $parent = $(this).closest('.k-dropdownlist');\n            setTimeout(function() {\n                $parent.find('label.error').remove();\n            }, 0);\n        });\n    },\n    punchoutSubmit: function (xml, id) {\n        if (id === 1) {\n            Core.Cart.Cache.$xmlString.val(xml);\n            $(document.body).append(Core.Cart.Cache.$punchoutForm);\n            Core.Cart.Cache.$punchoutForm.trigger('submit');\n        }\n        else {\n            Core.Cart.Cache.$punchoutForm1.html(xml);\n            $(document.body).append(Core.Cart.Cache.$punchoutForm1);\n            Core.Cart.Cache.$punchoutForm1.trigger('submit');\n        }\n    },\n    remove: function () {\n        Core.Cart.Cache.$removeItem.on('click', function () {\n            var _$item = $(this).parents('tr'),\n                _$siblings = _$item.siblings();\n\n            Core.ShowPageLoading();\n\n            var postcode = Core.Cart.Cache.$postcode.val() || \"\";\n            var org = Core.Cart.Cache.$organization.val() || \"\";\n            var freight = Core.Cart.Cache.$hideFreight.val() || \"\";\n            var orderOrganization = Core.Cart.Cache.$orderOrganization.val() || \"\";\n            var therapistID = Core.Cart.Cache.$therapistID.val() || \"\";\n            var freightOption = Core.Cart.Cache.$freightOption.val() || \"\";\n            var agedCare = ($(this).hasClass(\"aged-care\"));\n            var $url = ($(this).hasClass(\"aged-care\"))\n                            ? '/cart/removefromcart'\n                            : '/cart/removefromquote';\n\n            var parameters = {\n                code: _$item.data('id'),\n                postcode: postcode,\n                organization: org,\n                hideFreight: freight,\n                orderOrganization: orderOrganization,\n                therapistID: therapistID\n            };\n\n            if (freightOption) parameters.freightOption = freightOption;\n\n            $.ajax({\n                url: $url,\n                data: parameters,\n                type: 'get',\n                dataType: 'json',\n                success: function (output) {\n                    Core.HidePageLoading();\n                    Core.Engine.getCartSummary();\n\n                    if (_$siblings.length !== 0) {\n                        Core.Cart.UpdateTotals(output);\n                        Core.Cart.UpdateMessages(output, agedCare);\n                        _$item.remove();\n                    }\n                    else {\n                        Core.Cart.Cache.$cartTable.add(Core.Cart.Cache.$cartTotals).add(Core.Cart.Cache.$quoteButtons).add(Core.Cart.Cache.$quoteForm).remove();\n                        Core.Cart.Cache.$cartEmpty.show();\n                    }\n\n                    Core.Cart.checkCartButtonVisibility(output);\n                },\n                error: function (xhr, ajaxOptions, thrownError) {\n                    //todo: do something\n                }\n            });\n        });\n    },\n    UpdateTotals: function (output) {\n        Core.Cart.Cache.$subTotal.text(output.SubTotal);\n        Core.Cart.Cache.$gst.text(output.TaxTotal);\n        Core.Cart.Cache.$total.text(output.Total);\n\n        if (output.IsInvalidShipping && Core.Cart.Cache.$postcode.length) {\n            Core.Cart.Cache.$shipping.text('Enter Postcode');\n            Core.Cart.Cache.$postcodeError.hide();\n        } else if (output.IsInvalidShipping && Core.Cart.Cache.$organization.val() && Core.Cart.Cache.$organization.val().length < 1) {\n            Core.Cart.Cache.$shipping.text(Core.Cart.Cache.$onBehalfTitle.val());\n        }\n        else {\n            Core.Cart.Cache.$shipping.text(output.ShippingCost);\n            Core.Cart.Cache.$postcodeError.hide();\n        }\n\n        Core.Cart.Cache.$submitCart.val(output.SubmitText);\n    },\n    UpdateMessages: function (output, agedCare) {\n        if (agedCare) {\n            if (output.OrderStatus === 2) {\n                Core.Cart.Cache.$dvCheckoutNoApprovalRequired.show();\n                Core.Cart.Cache.$dvCheckoutMessageRequired.hide();\n            }\n            else if (output.OrderStatus === 1) {\n                Core.Cart.Cache.$dvCheckoutMessageRequired.show();\n                Core.Cart.Cache.$dvCheckoutNoApprovalRequired.hide();\n            } else {\n                Core.Cart.Cache.$dvCheckoutMessageRequired.hide();\n                Core.Cart.Cache.$dvCheckoutNoApprovalRequired.hide();\n            }\n\n            if (parseInt(output.Total.replace(\"$\", \"\").replace(\",\", \"\")) > parseInt(Core.Cart.Cache.$capexThreshold.val())) {\n                Core.Cart.Cache.$dvCapex.show();\n            } else {\n                Core.Cart.Cache.$dvCapex.hide();\n            }\n        }\n    },\n    UpdateAdditionalInfo: function ($row, item) {        \n        if ($row.find('.additional-info').length > 0) {\n            if (item.AdditionalInfo || item.AdditionalInfo === \"\") {\n                $row.find('.additional-info').text(item.AdditionalInfo);\n            }\n        }\n\n        if ($row.find('.col-gst').length > 0 && item.Gst) {\n            $row.find('.col-gst > span').text(item.Gst);\n        }\n\n        var $local = $row.find(`.stock-local`);\n        \n        if ($local.length > 0) {\n            $local.find('.stock-status').css('background-color', item.StockColor);\n            $local.find('.stock-message').html(`${item.StockMessage}`);\n            $local.addClass(CLS_CHECKED);\n            $row.find(`.stock-national`)?.addClass(CLS_HIDE);\n        }\n    },\n    addRemoveFavourties: function () {\n        Core.Cart.Cache.$favouritesBtn.on('click', function () {\n            var _$this = $(this),\n                _$item = _$this.parents('tr'),\n                _isFavourite = _$this.hasClass('icon-cart-fav');\n\n            var _apiUrl = '';\n\n            if (_isFavourite) {\n                _apiUrl = '/cart/removefromfavourites';\n            }\n            else {\n                _apiUrl = '/cart/addtofavourites';\n            }\n\n            $.ajax({\n                url: _apiUrl,\n                data: { code: _$item.data('id') },\n                type: 'get',\n                dataType: 'json',\n                success: function (output) {\n                    if (_isFavourite) {\n                        _$this.removeClass('icon-cart-fav').addClass('icon-cart-fav-add').attr('title', 'Add to favourites');\n                    }\n                    else {\n                        _$this.removeClass('icon-cart-fav-add').addClass('icon-cart-fav').attr('title', 'Remove from favourites');\n                    }\n                },\n                error: function (xhr, ajaxOptions, thrownError) {\n                    //todo: do something\n                }\n            });\n        });\n    },\n    requestQuote: function (e) {\n        Core.Cart.Cache.$quoteFormButton.on('click', function () {\n            Core.Cart.Cache.$quoteForm.show();\n            Core.Cache.$body.add(Core.Cache.$html).animate({\n                scrollTop: Core.Cart.Cache.$quoteForm.offset().top\n            }, 500);\n        });\n\n        // Handle Funding type dropdown on change\n        Core.Cart.Cache.$fundingType.on('change', function() {\n          var $this = $(this);\n          var fundingType = $this.val();\n          var $ndisWrap =  $('#ndis-inputs-wrap');\n\n          // if ndis selected, it will show NDIS-related fields\n          if (fundingType.toLowerCase() === 'ndis'){\n            $ndisWrap.removeClass('hidden');\n            Core.Cart.Cache.$quoteForm.find('#ndis-inputs-wrap .radio-group:first input[type=\"radio\"]').rules('add', {\n              required: true,\n              messages: {\n                required: 'Please select one of the options above'\n              },\n              errorPlacement: function(error, element) {\n                // need to move the error message for radio groups\n                var $error = $(error).next('.error');\n                if($error && $error.length > 0) {\n                  var $parent = $error.closest('.frm-fld');\n                  $error.css('marginBottom','8px')\n                  $parent.append($error);\n                }\n              },\n            })\n          } else {\n            $ndisWrap.addClass('hidden');\n            Core.Cart.Cache.$quoteForm.find('input[type=\"radio\"]').rules('remove', 'required')\n          }\n          \n          // show funding type message\n          var $fundingTypeMessage = $(`.fundingTypeMessage[data-id=\"${fundingType}\"]`);\n          $(`.fundingTypeMessage`).addClass('hidden');\n          if ($fundingTypeMessage.length > 0) {\n            $fundingTypeMessage.removeClass('hidden');\n          }\n        });\n\n        Core.Cart.Cache.$quoteForm.on('submit', function (e) {\n            e.preventDefault();\n\n            // reset recaptcha on submit error\n            // recaptcha is initialized from html page (https://www.aidacare.com.au/cart/)\n            var resetRecaptcha = function() {\n              if (grecaptcha && recaptcha1) {\n                grecaptcha.reset(recaptcha1);\n              }\n            };\n\n            var $form = $(this);\n            var _$validationMessage = $form.find('.frm-validation-msg');\n            _$validationMessage.html(\"\");\n\n            if ($form.valid()) {\n                Core.ShowPageLoading();\n                $.ajax({\n                    url: $form.attr('action'),\n                    data: $form.serialize(),\n                    type: 'POST',\n                    dataType: 'json',\n                    success: function (output) {\n                        Core.HidePageLoading();\n\n                        _$validationMessage.hide();\n                        if (output.Success) {\n                            $form.hide();\n                            var _width = Core.Config.CartNotification.Width,\n                                _height = Core.Config.CartNotification.Height;\n\n                            if (Core.IsMobile()) {\n                                _width = Core.Cache.$window.width();\n                            }\n\n                            var _$confirmationWindow = Core.Cart.Cache.$quoteWindow.kendoWindow({\n                                width: _width,\n                                height: _height,\n                                visible: false,\n                                iframe: false,\n                                modal: true,\n                                resizable: false,\n                                pinned: true,\n                                draggable: false,\n                                appendTo: '#content'\n                            });\n\n                            var _$regLink = _$confirmationWindow.find(\"a.register\");\n                            if (_$regLink.length > 0) {\n                                var _$href = _$regLink.attr(\"href\");\n                                _$regLink.attr(\"href\", _$href + \"?quoteid=\" + output.QuoteId);\n                            }\n\n                            _$confirmationWindow.data(\"kendoWindow\").center().open();\n\n                            $(\".k-overlay\").on('click', function() {\n                                window.location.href = window.location.href;\n                            });\n\n                            $(\".k-window-action > span.k-i-close, .cart-notification-buttons > a.k-i-close\").on('click', function (e) {\n                                window.location.href = window.location.href;\n                            });\n\n                        } else {\n                            _$validationMessage.html('<div class=\"error-msg\">' + output.ErrorMessage + '</div>').show();\n                            Core.Cache.$body.add(Core.Cache.$html).animate({\n                                scrollTop: _$validationMessage.offset().top - 40\n                            }, 500);\n\n                            resetRecaptcha();\n                        }\n                    },\n                    error: function(xhr, ajaxOptions, thrownError) {\n                        //todo: do something\n                        resetRecaptcha();\n                    }\n                });\n            } else {\n                Core.Cart.Cache.$validator.focusInvalid();\n            }\n        });\n    }\n};\n\n$(function() {\n    $('.favourites-btn').on('click', function () {\n        var _$this = $(this),\n            _$item = _$this.parents('tr'),\n            _isFavourite = _$this.hasClass('icon-cart-fav');\n\n        var _apiUrl = '';\n\n        if (_isFavourite) {\n            _apiUrl = '/cart/removefromfavourites';\n        }\n        else {\n            _apiUrl = '/cart/addtofavourites';\n        }\n\n        $.ajax({\n            url: _apiUrl,\n            data: { code: _$item.data('id') },\n            type: 'get',\n            dataType: 'json',\n            success: function (output) {\n                if (_isFavourite) {\n                    _$this.removeClass('icon-cart-fav').addClass('icon-cart-fav-add').attr('title', 'Add to favourites');\n                }\n                else {\n                    _$this.removeClass('icon-cart-fav-add').addClass('icon-cart-fav').attr('title', 'Remove from favourites');\n                }\n            },\n            error: function (xhr, ajaxOptions, thrownError) {\n                //todo: do something\n            }\n        });\n    });\n});\n","\nCore.CheckoutAvoidDuplicate = function(elem) {\n\n    /*\n\n\n        DATASET\n\n\n     */\n\n    function hasDataset(elem, name) {\n        return elem &&\n               elem.dataset &&\n               typeof elem.dataset[name] !== 'undefined';\n    }\n\n    function warnData(name) {\n        console.warn('CheckoutAvoidDuplicate data for ' + name + ' missing');\n        return;\n    }\n\n    function getDataset(elem, name) {\n        return hasDataset(elem, name)\n                    ? elem.dataset[name]\n                    : warnData(name);\n    }\n\n\n    /*\n\n\n        TMPL\n\n\n     */\n\n    function counterTmlp(data) {\n        return `<div class=\"checkoutAvoidDuplicateWarning--largeAnimation\">\n                <div class=\"checkoutAvoidDuplicateWarning--large\">\n                    <div class=\"checkoutAvoidDuplicateWarning--largeImg\">\n                        <svg\n                            aria-hidden=\"true\"\n                            focusable=\"false\"\n                            xmlns=\"http://www.w3.org/2000/svg\"\n                            viewBox=\"0 0 512 512\"\n                            style=\"width: 36px; color: #6c6c6e;\">\n                            <path fill=\"currentColor\" d=\"M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z\"/>\n                        </svg>\n                    </div>\n\n                    <div class=\"pt-2\">\n                        <b>WARNING</b><br>\n                        <span>Another approver is looking this order</span>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"checkoutAvoidDuplicateWarning--smallAnimation\">\n                <div class=\"checkoutAvoidDuplicateWarning--small\">\n                    <div class=\"checkoutAvoidDuplicateWarning--smallImg\">\n                        <svg\n                            aria-hidden=\"true\"\n                            focusable=\"false\"\n                            xmlns=\"http://www.w3.org/2000/svg\"\n                            viewBox=\"0 0 512 512\"\n                            style=\"width: 36px; color: #6c6c6e;\">\n                            <path fill=\"currentColor\" d=\"M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z\"/>\n                        </svg>\n                    </div>\n                    <div class=\"checkoutAvoidDuplicateWarning--smallLabel\">Warning</div>\n                </div>\n            </div>\n        `;\n    }\n\n    var el = {\n        elem: elem,\n        portalCheckout: document.querySelector('#portal-checkout'),\n    };\n\n    var data = {\n        orderNumber: getDataset(elem, 'orderNumber'),\n        dashboardUrl: getDataset(elem, 'dashboardUrl'),\n    };\n\n\n\n    // Methods\n    var m = {\n        init: function() {\n            if (typeof data.orderNumber === 'undefined') {\n                return;\n            }\n\n            m.boot();\n        },\n\n\n        boot: function() {\n            document.addEventListener('aidacare.warningshow', function() { m.showWarning(); m.calcWarningPosition(); });\n            document.addEventListener('aidacare.warninghide', m.hideWarning);\n            document.addEventListener('aidacare.orderchanged', function() { m.showOrderChangedBanner();  m.closeAccordions(); });\n\n            document.addEventListener('delivery-counter:show', m.calcWarningPosition);\n            document.addEventListener('delivery-counter:hide', m.calcWarningPosition);\n\n            m.connect();\n        },\n\n        connect: function() {\n            var connection = $.hubConnection();\n            var proxy = connection.createHubProxy('aidacareHub');\n\n            proxy.on('multipleUsers', m.fire('aidacare.warningshow'));\n            proxy.on('singleUser', m.fire('aidacare.warninghide'));\n            proxy.on('orderChanged', m.fire('aidacare.orderchanged'));\n            proxy.on('orderChanged', m.fire('aidacare.clearcart'));\n\n\n            connection.start()\n                .done(function(){ console.log('Now connected, connection ID=' + connection.id); })\n                .fail(function(){ console.log('Could not connect'); });\n        },\n\n        fire: function(eventName) {\n            return function(orderNumber, message) {\n                console.log(orderNumber);\n                console.log(message);\n\n                if (orderNumber !== data.orderNumber) {\n                    return;\n                }\n\n                var ev = new CustomEvent(eventName);\n                document.dispatchEvent(ev);\n            }\n        },\n\n\n        /*\n\n\n            Order Changed Banner\n\n\n         */\n\n        showOrderChangedBanner: function() {\n            if (m.hasOrderChangedBanner()) {\n                return;\n            }\n\n            var banner = m.getOrderChangedBanner();\n            el.portalCheckout.prepend(banner);\n        },\n\n        getOrderChangedBanner: function() {\n            var banner = document.createElement('div');\n            banner.classList.add('checkoutAvoidDuplicate-orderChanged');\n            banner.innerHTML = `<b>Attention:</b> The order has already changed, please go to the <a href=\"${data.dashboardUrl}\">dashboard</a> and check for the changes`;\n\n            return banner;\n        },\n\n        hasOrderChangedBanner: function() {\n            return document.querySelector('.checkoutAvoidDuplicate-orderChanged') !== null;\n        },\n\n        closeAccordions: function() {\n            var accordionItems = document.querySelectorAll('.portal-checkout__accordion-item');\n\n            function isNotNull(item) {\n                return ! (item == null);\n            }\n\n            function removeOpenPassedClasses(item) {\n                item.classList.remove('open');\n                item.classList.remove('passed');\n            }\n\n            Array\n                .from(accordionItems)\n                .filter(isNotNull)\n                .forEach(removeOpenPassedClasses)\n        },\n\n        hasWarning: function() {\n            return document.querySelector('.checkoutAvoidDuplicateWarning') !== null;\n        },\n\n        hasDeliveryCounterVisible: function() {\n            var delivery = document.querySelector('.deliveryCounter');\n\n            return delivery && (delivery.style.display === 'block');\n        },\n\n        calcWarningPosition: function() {\n            if (! m.hasWarning()) {\n                return;\n            }\n\n            var warn = document.querySelector('.checkoutAvoidDuplicateWarning');\n\n            m.hasDeliveryCounterVisible()\n                ? (warn.style.bottom = 'calc(32px + 87px)')\n                : (warn.style.bottom = '16px');\n        },\n\n        showWarning: function() {\n            if (m.hasWarning()) {\n                return;\n            }\n\n            var warn = document.createElement('div');\n            warn.classList.add('checkoutAvoidDuplicateWarning');\n            warn.classList.add('checkoutAvoidDuplicateWarning--yellow');\n            warn.classList.add('checkoutAvoidDuplicateWarning--showSmall');\n\n            warn.innerHTML = counterTmlp();\n\n            function swapClasses(e) {\n                e.currentTarget.classList.toggle('checkoutAvoidDuplicateWarning--showLarge');\n                e.currentTarget.classList.toggle('checkoutAvoidDuplicateWarning--showSmall');\n            }\n\n            warn.addEventListener('click', swapClasses);\n\n            document.body.prepend(warn);\n        },\n\n        hideWarning: function() {\n            var el = document.querySelector('.checkoutAvoidDuplicateWarning');\n            el && el.remove();\n        },\n    };\n\n    return m;\n\n};\n","\nCore.CheckoutComment = function(elem, btnCheck) {\n    var BTN_SHOW_TEXT_ADD = 'Add Product Comment';\n    var BTN_SHOW_TEXT_EDIT = 'Edit Product Comment';\n    var ERROR_TMPL = '<div data-comment=\"error\" class=\"small text-red mx-0 mt-2 mb-0\">Maximum 250 characters</div>';\n    var COMMENT_FORM_ID = Date.now() + '-' + Math.floor(Math.random() * 100) + '-' + Math.floor(Math.random() * 100);\n\n    function hide(elem) {\n        elem && elem.classList.add('d-none');\n    }\n\n    function show(elem) {\n        elem && elem.classList.remove('d-none');\n    }\n\n    function hasAllTheFields(fieldList) {\n        var previousValue = true;\n\n        fieldList.forEach(function(currentValue) {\n            previousValue = previousValue && currentValue;\n        });\n\n        return previousValue;\n    }\n\n\n    var el = {\n        elem: elem,\n\n        btnShow: elem.querySelector('[data-comment=\"btn-show\"]'),\n\n        inputHidden: elem.querySelector('[data-comment=\"hidden\"]'),\n        commentText: elem.querySelector('[data-comment=\"text\"]'),\n        form: elem.querySelector('[data-comment=\"form\"]'),\n        textarea: elem.querySelector('[data-comment=\"textarea\"]'),\n\n        btnSave: elem.querySelector('[data-comment=\"save\"]'),\n        btnCancel: elem.querySelector('[data-comment=\"cancel\"]'),\n        btnDelete: elem.querySelector('[data-comment=\"delete\"]'),\n    };\n\n    var data = {\n        isValid: true\n    };\n\n    // Methods\n    var m = {\n        init: function() {\n            var fieldList = [\n                el.btnShow,\n                el.inputHidden,\n                el.commentText,\n                el.textarea,\n                el.form,\n                el.btnSave,\n                el.btnCancel,\n                el.btnDelete\n            ];\n\n            if (! hasAllTheFields(fieldList)) {\n                return;\n            }\n\n            m.boot();\n        },\n\n\n        boot: function() {\n            el.btnShow.addEventListener('click', m.showForm);\n            el.btnCancel.addEventListener('click', m.onClickCancel);\n            el.btnDelete.addEventListener('click', m.onClickDelete);\n            el.btnSave.addEventListener('click', m.onClickSave);\n            el.textarea.addEventListener('input', function() {\n                el.textarea.value.length > 250\n                    ? m.showError()\n                    : m.hideError();\n            });\n        },\n\n        showForm: function(e) {\n            e.preventDefault();\n\n            m.setTextArea(el.inputHidden.value);\n            show(el.form);\n            hide(el.commentText);\n            hide(el.btnShow);\n            btnCheck.openCommentForm(COMMENT_FORM_ID);\n        },\n\n        onClickCancel: function(e) {\n            e.preventDefault();\n\n            hide(el.form);\n            show(el.btnShow);\n            show(el.commentText);\n            m.setTextArea('');\n            m.hideError();\n            btnCheck.closeCommentForm(COMMENT_FORM_ID);\n        },\n\n        onClickDelete: function(e) {\n            e.preventDefault();\n\n            m.setBtnShowText(BTN_SHOW_TEXT_ADD);\n            m.setTextArea('');\n            m.setInputHidden('');\n            m.setCommentText('');\n            m.hideError();\n\n            hide(el.form);\n            show(el.commentText);\n            show(el.btnShow);\n\n            btnCheck.closeCommentForm(COMMENT_FORM_ID);\n        },\n\n        onClickSave: function(e) {\n            e.preventDefault();\n\n            if (! data.isValid) {\n                return;\n            }\n\n            m.setInputHidden(el.textarea.value);\n            m.setCommentText(el.textarea.value)\n            el.textarea.value.length > 0\n                ? m.setBtnShowText(BTN_SHOW_TEXT_EDIT)\n                : m.setBtnShowText(BTN_SHOW_TEXT_ADD);\n            hide(el.form);\n            show(el.btnShow);\n            show(el.commentText);\n            m.setTextArea('');\n\n            btnCheck.closeCommentForm(COMMENT_FORM_ID);\n        },\n\n        setTextArea: function(val) {\n            el.textarea.value = val;\n        },\n\n        setInputHidden: function(val) {\n            el.inputHidden.value = val;\n        },\n\n        setCommentText: function(val) {\n            el.commentText.innerText = val;\n        },\n\n        setBtnShowText: function(text) {\n            el.btnShow.innerText = text;\n        },\n\n        showError: function() {\n            if (!data.isValid) {\n                return;\n            }\n\n            data.isValid = false;\n            $(el.textarea).after(ERROR_TMPL);\n            el.btnSave.disabled = true;\n        },\n\n        hideError: function() {\n            if (data.isValid) {\n                return;\n            }\n\n            data.isValid = true;\n            $(elem).find('[data-comment=\"error\"]').remove();\n            el.btnSave.disabled = false;\n        },\n\n    };\n\n    return m;\n};\n","/**\n * Prevent user from continue if add/edit comment is open\n */\nCore.CheckoutCommentContinueBtnCheck = function() {\n    var data = new Set();\n    var btn = document.querySelector('[data-btn=\"product-continue\"]');\n\n    var m = {\n        openCommentForm: function(COMMENT_FORM_ID) {\n            data.add(COMMENT_FORM_ID);\n            m.updateBtn();\n        },\n\n        closeCommentForm: function(COMMENT_FORM_ID) {\n            data.delete(COMMENT_FORM_ID);\n            m.updateBtn();\n        },\n\n        updateBtn: function() {\n            btn &&\n                (btn.disabled = data.size > 0);\n        }\n    };\n\n    return m;\n};","function ClientAddForm($rootDom) {\n    var form = new ClientForm($rootDom);\n    var popup = new ClientPopup($rootDom, {title: \"ADD NEW CLIENT\"});\n\n    var m = {\n        init: function() {\n            form.reset();\n            m.initForm();\n\n            popup.init();\n            popup.onClose(form.resetValidation);\n        },\n\n        initForm: function() {\n            form.isMultiOrganization()\n                ? form.disableForm()\n                : form.enableForm()\n        },\n    };\n\n    return m;\n}\n","Core.ClientAddressBook = {\n    init: function () {\n        var _self = this;\n\n        Core.ClientAddressBook.Cache = {\n            $searchInputText: $('.client-address-book__search-input'),\n            $searchRemoveButton: $('.client-address-book__search-remove'),\n\n            $btnAddNew: $('.btn-addnew'),\n\n            $popupView: $('#viewEditClient'),\n            $popupNew: $('#addNewClient'),\n\n            $btnFilter: $('#btnFilter'),\n            $btnReset: $('#btnReset'),\n            $portalDropdown: $('select#dropdownOrganization'),\n\n            initialGroupId: $('select#dropdownOrganization').val(), // get default portal id\n        };\n\n        _self.prepareDropdown();\n        _self.initSearch();\n        _self.searchInputText();\n        _self.removeSearchText();\n\n        _self.handleShowDropDownActions();\n\n        _self.handleBtnViewEdit();\n        _self.handleBtnsAdd();\n        _self.handleBtnFilter();\n        _self.handleBtnReset();\n    },\n\n\n    /*\n\n        SEARCH\n        - initSearch: init letter and buttons\n\n     */\n\n    initSearch: function() {\n        // search icon\n        $('.client-address-book__search-button').on('click', Core.ClientAddressBook.getClients);\n\n        // Letter filter\n        $('.btn-addressfilter').on('click', function (e) {\n            e.preventDefault();\n            $('.btn-addressfilter').removeClass('is-selected');\n            $(this).addClass('is-selected');\n            Core.ClientAddressBook.getClients();\n        });\n\n        // input typing\n        $('#SearchTextFilter').on('keyup', function (e) {\n            //enter\n            if (e.which == 13 || e.keyCode == 13) {\n                Core.ClientAddressBook.getClients();\n            }\n\n            //escape\n            if (e.which == 27 || e.keyCode == 27) {\n                Core.ClientAddressBook.Cache.$searchRemoveButton.trigger('click');\n            }\n        });\n    },\n\n    searchInputText: function() {\n        Core.ClientAddressBook.Cache.$searchInputText.on('input', function () {\n            if ((this.value).trim(\" \") != \"\")\n                Core.ClientAddressBook.Cache.$searchRemoveButton.show(0);\n            else\n                Core.ClientAddressBook.Cache.$searchRemoveButton.hide(0);\n        });\n    },\n\n    removeSearchText: function() {\n        Core.ClientAddressBook.Cache.$searchRemoveButton.on(\"click\", function () {\n            Core.ClientAddressBook.Cache.$searchInputText.val(\"\");\n            Core.ClientAddressBook.getClients();\n            Core.ClientAddressBook.Cache.$searchRemoveButton.hide(0);\n        });\n    },\n\n    getClients: function() {\n        Core.ShowPageLoading();\n\n        var letter = $('.btn-addressfilter.is-selected').data('letter')\n            , textFlt = $('#SearchTextFilter').val()\n            , url = $('#client-address-book').data('url-getclients')\n            , groupId= $('select[id=dropdownOrganization]').val()\n            , param = {};\n\n        if (letter) param.selectedFilterLetter = letter;\n        if (textFlt) param.searchTextFilter = textFlt;\n        if (groupId) param.groupId = groupId;\n\n        if (!url) {\n            console.warn(\"Can't find 'dataurl-getclients'. Returned early.\");\n            return;\n        }\n\n        $.ajax({\n            url: url,\n            type: 'GET',\n            data: param,\n            success: function(html) {\n                $('#TableClientAddressBook').html(html);\n                Core.ClientAddressBook.handleShowDropDownActions();\n                Core.ClientAddressBook.handleBtnViewEdit();\n                Core.HidePageLoading();\n            },\n            error: function(error) {\n                console.log(error);\n                Core.HidePageLoading();\n            }\n        });\n    },\n\n\n    /*\n\n        DROP DOWN\n\n     */\n\n    prepareDropdown: function() {\n        // prepend empty value\n        $('#clientPopupResStateAdd').prepend(\"<option value=''></option>\").val('');\n        $('#clientPopupResStateAdd').prop('required', true);\n    },\n\n    handleShowDropDownActions: function() {\n        function showNextDropDown(e) {\n            var elUl = e.target.parentElement.querySelector('.client-address-book__drop-down__ul');\n\n            elUl\n                && elUl.classList\n                && elUl.classList.remove('d-none');\n\n            var elBtn = e.target.parentElement.querySelector('.client-address-book__drop-down__close');\n\n            elBtn\n                && elBtn.classList\n                && elBtn.classList.remove('d-none');\n\n            elBtn.addEventListener('click', function() {\n                elUl.classList.add('d-none');\n                elBtn.classList.add('d-none');\n            });\n        }\n\n        $('.client-address-book__drop-down__action').on('click', showNextDropDown);\n    },\n\n    handleBtnViewEdit: function() {\n        $('.btn-view').on('click', function () {\n            var param = {\n                email: this.dataset.email,\n                contactid: this.dataset.contactid,\n                url: this.dataset.url\n            };\n\n            var _self = Core.ClientAddressBook;\n            var $popup = _self.Cache.$popupView;\n\n            _self.getClient(param, function() { _self.initForm(ClientViewEditForm)($popup); });\n        });\n    },\n\n    getClient: function(param, cb) {\n        if (!param.url) {\n            console.warn(\"Returned early. Couldn't find data-url. This should be set on the view/edit button\");\n            return;\n        }\n\n        Core.ShowPageLoading();\n        $.ajax({\n            url: param.url,\n            type: 'GET',\n            cache: false,\n            data: {\n                contactId: param.contactid\n            },\n            success: function (html) {\n                $(\"#viewEditClient\").find('.addressbook-body').html(html);\n                if (cb) cb();\n                Core.HidePageLoading();\n            },\n            error: function (error) {\n                $(that).remove();\n                DisplayError(error.statusText);\n                Core.HidePageLoading();\n            }\n        });\n    },\n\n    handleBtnsAdd: function() {\n        var _self = Core.ClientAddressBook;\n        var $popup = _self.Cache.$popupNew;\n\n        $('.btn-addnew').on('click', function() { _self.initForm(ClientAddForm)($popup); });\n    },\n\n    initForm: function(clientForm) {\n        return function($form) {\n            return (new clientForm($form)).init();\n        };\n    },\n\n    handleBtnFilter: function() {\n      var _self = Core.ClientAddressBook;\n      var $btnFilter = _self.Cache.$btnFilter;\n\n      $btnFilter.on('click', function() {\n        _self.getClients();\n      });\n    },\n\n    handleBtnReset: function() {\n      var _self = Core.ClientAddressBook;\n      var $btnReset = _self.Cache.$btnReset;\n      var $portalDropdown = _self.Cache.$portalDropdown;\n      var initialGroupId = _self.Cache.initialGroupId;\n\n      $btnReset.on('click', function() {\n        $portalDropdown.data(\"kendoDropDownList\").value(initialGroupId);\n        $('.btn-addressfilter').removeClass('is-selected');\n        $('.btn-addressfilter:first').addClass('is-selected');\n        _self.Cache.$searchRemoveButton.trigger('click');\n      });\n    },\n}\n","function ClientForm($form) {\n    // Consts\n    var DISABLE = true;\n    var ENABLE = false;\n\n    var formSelector = ($form && $form[0] && $form[0].id) ? '#' + $form[0].id : '';\n    var btnSaveSelector = `${formSelector} .btn-save`;\n    var orgSelector = `${formSelector} select[name=\"OrganizationID\"]`;\n\n    var refNumberInput = new ClientReferenceNumberInput($form);\n\n    var m = {\n        isMultiOrganization: function() {\n            // if no multi organizqtion\n            // - input hidden [name=\"OrganizationID\"]\n            // else\n            // - input hidden [name=\"OrganizationID\"]\n            // - select [name=\"OrganizationID\"]\n            return ($(`${formSelector} select[name=\"OrganizationID\"]`).length > 0)\n        },\n\n        isDVA: function() {\n            var isDVA = $(`${formSelector} #isDVA`).val() || '';\n            return (isDVA.toString() === 'true');\n        },\n\n        initListeners: function() {\n            m.unbindClickBtnSave();\n            m.initDVA();\n            m.onClickBtnSave();\n            m.onOrganizationChange();\n\n            m.setIsDVA();\n            m.checkShowHideDVA();\n        },\n\n\n        /*\n\n            INPUTS\n\n         */\n\n        toggle: function(isDisabled) {\n            $form.find('input[type=\"text\"], input[type=\"tel\"], input[type=\"radio\"], textarea, select').prop('readonly', isDisabled).prop(\"disabled\", isDisabled);\n            $form.find('select').prop('disabled', isDisabled);\n            $form.find('select').each(function(index, elem) {\n                $(elem).data(\"kendoDropDownList\") && $(elem).data(\"kendoDropDownList\").enable(! isDisabled);\n            });\n\n            $form.find(\".addressbook-popup__date input\").each(function(index, elem) {\n                $(elem).data(\"kendoDatePicker\") && $(elem).data(\"kendoDatePicker\").enable(!isDisabled);\n            })\n\n            $form.find('input[type=\"radio\"]').prop('disabled', isDisabled).uniform();\n\n            (!isDisabled)\n                ? $form.find('.acfi-show').removeClass('k-state-disabled')\n                : $form.find('.acfi-show').addClass('k-state-disabled')\n        },\n\n        enable: function() {\n            m.toggle(ENABLE);\n        },\n\n        disable: function() {\n            m.toggle(DISABLE);\n        },\n\n        reset: function() {\n            $form.find('input[type=\"text\"], input[type=\"tel\"], textarea').val('');\n\n            $form.find('select').each(function(index, elem) {\n                $(elem).data(\"kendoDropDownList\")\n                    && ( $(elem).data(\"kendoDropDownList\").enable(false)\n                       , $(elem).data(\"kendoDropDownList\").value('')\n                       , $(elem).data(\"kendoDropDownList\").trigger(\"change\"));\n            });\n        },\n\n        disableForm: function() {\n            m.disable();\n            m.resetOrganisation();\n            m.disableSaveBtn();\n            m.resetValidation();\n        },\n\n        enableForm: function() {\n            m.enable();\n            m.enableSaveBtn();\n        },\n\n        /**\n\n\n            VALIDATION\n\n\n         */\n\n        resetValidation: function() {\n            var validator = $form.find(\"form\").validate();\n            validator.resetForm();\n\n            $form.find('.error').removeClass('error');\n        },\n\n        checkSelect: function() {\n            $form.find('select[name=\"BillingState\"]').each(function(i, elem) {\n                SelectValidator(elem).isValid();\n            });\n\n            m.isDVA()\n                && m.isDVAValid();\n        },\n\n\n        /**\n\n\n            SAVE BTN\n\n\n         */\n\n        toggelSaveBtn: function(isDisabled) {\n            $(btnSaveSelector).last().attr(\"disabled\", isDisabled);\n        },\n\n        disableSaveBtn: function() {\n            m.toggelSaveBtn(DISABLE);\n        },\n\n        enableSaveBtn: function() {\n            m.toggelSaveBtn(ENABLE);\n        },\n\n        onClickBtnSave: function() {\n            var $formDom = $form.find('form').last();\n            var $btn = $(btnSaveSelector);\n\n            function submitOnValid(e) {\n                e.preventDefault();\n\n                // Enable ignore for jquery.unobstrusive\n                // Unfortunately the ignore property in validate\n                // doesn't work because of jquery.unobstrusive\n                var form = $($formDom).get(0);\n                if (form) {\n                    // pre fire valid to force generate the setting object\n                    $formDom.valid();\n\n                    $.data(form, \"validator\") &&\n                    $.data(form, \"validator\").settings &&\n                        ($.data(form, \"validator\").settings['ignore'] = \":hidden, .dva\");\n                }\n\n                // re-enable for hidden select\n                var $dropdown = $formDom.find('select:hidden');\n                var isSelectValid = true;\n                $.each($dropdown, function(index, el) {\n                    if (!el.closest('.d-none')) {\n                        if ($(el).prop('required')) {\n                            // can't add select validation dynamically cause it's already on ignore's list (:hidden)\n                            isSelectValid = !!$(el).val();\n                        }\n                    }\n                });\n\n                var isValidSave = $formDom.valid();\n                var isValidDVA = m.isDVAValid();\n\n                m.checkSelect();\n\n                if (isValidSave && isValidDVA && isSelectValid) {\n                    $formDom.trigger('submit');\n                    return;\n                }\n            }\n\n            $btn.on('click', submitOnValid);\n        },\n\n        unbindClickBtnSave: function() {\n            $(btnSaveSelector).unbind('click');\n        },\n\n\n        /*\n\n\n            ORGANIZATION\n\n\n        */\n\n        onOrganizationChange: function(clb) {\n            $(orgSelector).on('change', function(val) {\n                var val = $(this).val();\n\n                (val !== \"\")\n                    ? m.enableForm()\n                    : m.disableForm();\n\n                m.setIsDVA();\n                m.checkShowHideDVA();\n                m.setRefNumberLabel();\n            });\n        },\n\n        resetOrganisation: function() {\n            if (! m.isMultiOrganization()) {\n                return;\n            }\n\n            $orgKendo = $(orgSelector).kendoDropDownList();\n            $(orgSelector).val('');\n            $orgKendo.data('kendoDropDownList').value('');\n\n            m.enableOrg()\n        },\n\n        toggleOrg: function(isDisabled) {\n            $(orgSelector).prop('readonly', !isDisabled);\n            $(orgSelector).prop('disabled', !isDisabled);\n\n            $orgKendo = $(orgSelector).kendoDropDownList();\n\n            ($orgKendo.length > 0)\n                && $orgKendo.data('kendoDropDownList').enable(!isDisabled);\n        },\n\n        enableOrg: function() {\n            m.toggleOrg(ENABLE);\n        },\n\n        disableOrg: function() {\n            m.toggleOrg(DISABLE);\n        },\n\n\n        /**\n\n\n            DVA\n\n\n         */\n\n        initDVA: function() {\n            var selector = formSelector;\n\n            $(\"[type=radio]\").uniform();\n            $(\"select\").kendoDropDownList();\n\n            setTimeout(function() {\n                Core.DVAInformation.init({\n                    root: selector,\n                    datepickerInput: \".addressbook-popup__date input\",\n                    domActivites: `${selector} #clientPopupDVAActivities`,\n                    domBehaviour: `${selector} #clientPopupDVABehaviour`,\n                    domComplexHealthCare: `${selector} #clientPopupDVAComplex`,\n                });\n            }, 500);\n        },\n\n        setIsDVA: function(portalId) {\n            if (! m.isMultiOrganization()) {\n                return;\n            }\n\n            function isDVA(portalId) {\n                var select = $(orgSelector);\n                var dvaMap  = select && select.data(\"dva\");\n\n                if (! dvaMap) {\n                    return false;\n                }\n\n                return dvaMap.indexOf(portalId) > -1;\n            }\n\n            var key = $(orgSelector).val();\n            $(`${formSelector} #isDVA`).val(isDVA(key));\n        },\n\n        checkShowHideDVA : function() {\n            m.isDVA()\n                ? m.showDVASection()\n                : m.hideDVASection();\n        },\n\n        hideDVASection: function() {\n            $('.dva-information').addClass('d-none');\n        },\n\n        showDVASection: function() {\n            $('.dva-information').removeClass('d-none');\n        },\n\n        setRefNumberLabel: function() {\n          var $label = $(`${formSelector} label[for=\"clientPopupReferenceNumber\"]`);\n          if (m.isDVA()) {\n            $label.html(`DVA File Number <span class=\"req\">*</span>`);\n          } else {\n            $label.html(`Client Reference Number <span class=\"req\">*</span>`);\n          }\n        },\n\n        isDVAValid: function() {\n            if (!m.isDVA()) {\n                return true;\n            }\n\n            return Core.DVAInformation.isValid({\n                dvaCardType: `${formSelector} #clientPopupDVACardTypeEdit`,\n                dvaDOB: `${formSelector} #clientPopupDVADOB`,\n                dvaRCF: `${formSelector} #yes_rcf`,\n                dvaADL: `${formSelector} #clientPopupDVAActivities`,\n                dvaBEH: `${formSelector} #clientPopupDVABehaviour`,\n                dvaCHC: `${formSelector} #clientPopupDVAComplex`,\n\n                dvaFundingOther: `${formSelector} #yes_DVAFundingOther`, // yes_FundingOther\n                dvaFundingOtherType: `${formSelector} #DVAFundingOtherType`, // dvaFundingOtherType\n            });\n        },\n    };\n\n    m.initListeners();\n\n    return m;\n}\n","function ClientPopup($rootDom, option) {\n    var clbList = [];\n\n    var m = {\n        init: function () {\n            m.setup();\n            m.onClickClose();\n            m.onWindowResize();\n            m.initAddressAutocomplete();\n        },\n\n        setup: function() {\n            if (!option) {\n                option = {\n                    title: false\n                }\n            }\n\n            var _width = Core.Config.CartNotification.Width + 20;\n\n            if (Core.IsMobile()) {\n                _width = Core.Cache.$window.width();\n            }\n\n            $popup = $rootDom.kendoWindow({\n                title: option.title,\n                width: _width,\n                visible: false,\n                iframe: false,\n                modal: true,\n                resizable: false,\n                actions: [\"Close\"],\n                pinned: true,\n                draggable: false,\n                appendTo: '#page-wrap',\n                animation: false,\n                close: function() {\n                    $('body').css('overflowY', '');\n                    clbList.forEach(function(clb) { clb(); });\n                }\n            });\n\n            $popup.find('input[type=\"checkbox\"]').uniform();\n\n            var popUpObj = $popup.data(\"kendoWindow\");\n            popUpObj.wrapper.addClass('addressbook-popup__wrapper');\n\n            //override css\n            if ($popup.prop('id') === 'addNewClient') {\n                popUpObj.wrapper.css('padding-top', '50px');\n                popUpObj.wrapper.find('.k-window-titlebar').css('margin-top', '-45px');\n            }\n\n            $('body').css('overflowY', 'hidden');\n\n            popUpObj.open();\n\n            setTimeout(function() {\n                m.setHeight($popup);\n            }, 100);\n        },\n\n        onClickClose: function() {\n            $('.addressbook-btnclose, .addressbook-btncancel').on('click', m.close);\n        },\n\n        onWindowResize: function() {\n            $(window).on('resize', m.setHeight);\n        },\n\n        close: function() {\n            $rootDom.data('kendoWindow').close();\n        },\n\n        onClose: function(clb) {\n            clbList.push(clb);\n        },\n\n        setHeight: function() {\n            //set max-height of popup-content\n            var $content = $rootDom.find('.addressbook-popup__content')\n                , $buttonWrap = $rootDom.find('.addressbook-popup__buttonwrap')\n                , buttonH = $buttonWrap.is(':visible') ? $buttonWrap.outerHeight() : 0\n                , popupH = $rootDom.outerHeight() + 80 + buttonH //80px is gap top and bottom\n                , windowH = window.innerHeight\n                , $header = $rootDom.find('.addressbook-header');\n\n            if ($header.length === 0) $header = $rootDom.siblings('.k-window-titlebar');\n\n            var contentH = windowH - buttonH - $header.outerHeight() - 130; //130 = padding-top + padding-bottom + (top + bottom popup's position)\n            contentH = (contentH > 600) ? 600 : contentH;\n            $content.css('max-height', contentH + \"px\");\n        },\n\n        initAddressAutocomplete: function() {\n          var $content = $rootDom.find('.addressbook-popup__content');\n          var $autocomplete = $content.find('.addressAutocomplete');\n          if ($autocomplete.length > 0) {\n            var $input = $autocomplete.find('input.addressAutocomplete-input');\n            var autoObj = $input.data('kendoAutoComplete');\n\n            // make sure we init kendo once\n            if (!autoObj) Core.Engine.handleAddressAutocomplete();\n          }\n        },\n    };\n\n    return m;\n}\n","function ClientReferenceNumberInput($form) {\n    var clientRefselector = `${$form.selector} #clientPopupReferenceNumber`;\n    var clientRefselectorError = `${$form.selector} #clientRefrenceNumberError`;\n    var btnSaveSelector = `${$form.selector} .btn-save`;\n\n    var orgInputSelector = `${$form.selector} input[name=\"OrganizationID\"]`;\n    var orgSelectSelector = `${$form.selector} select[name=\"OrganizationID\"]`;\n\n    var originalRefNumber = '';\n\n    var DEFAULT_URL = \"/partner-portals/dva/clients/ValidateClient/\";\n    var DEFAULT_TYPE = \"get\";\n\n    var m = {\n        init: function() {\n            m.clearError();\n\n            $(clientRefselector).unbind('focus');\n            $(clientRefselector).unbind('keyup');\n            $(clientRefselector).unbind('change');\n\n            $(clientRefselector).on(\"focus\", m.setRefNumber);\n            $(clientRefselector).on(\"keyup\", m.checkIfDifferentRefNumber);\n            $(clientRefselector).on(\"change\", m.checkValidRefNumber);\n        },\n\n        getRefNumber: function() {\n            return $(clientRefselector).val();\n        },\n\n        setRefNumber: function() {\n            originalRefNumber = m.getRefNumber();\n        },\n\n        checkIfDifferentRefNumber: function() {\n            currentRefNumber = m.getRefNumber();\n\n            $(btnSaveSelector).attr(\"disabled\", (originalRefNumber !== currentRefNumber));\n        },\n\n        clearError: function() {\n            $(clientRefselector).removeClass('error');\n            $(clientRefselectorError).hide();\n            $(btnSaveSelector).removeAttr(\"disabled\");\n        },\n\n        showError: function(msg) {\n            setTimeout(function() { $(clientRefselector).addClass('error'); }, 100);\n            $(clientRefselectorError).addClass('pt-1');\n            $(clientRefselectorError).addClass('mb-0');\n            $(clientRefselectorError).text(msg);\n            $(clientRefselectorError).show();\n            $(btnSaveSelector).attr(\"disabled\", true);\n        },\n\n        checkValidRefNumber: function() {\n            var url  = $(clientRefselector).data('url') || DEFAULT_URL;\n            var type = $(clientRefselector).data('type') || DEFAULT_TYPE;\n            var errorMsg = $(clientRefselectorError).text();\n\n            Core.ShowPageLoading();\n            m.clearError();\n\n            var refNumber = m.getRefNumber();\n            var contactID = ($(\"#ContactId\").length > 0) ? $(\"#ContactId\").val() : \"\";\n            var orgaID    = ($(orgSelectSelector).length > 0) ? $(orgSelectSelector).val() : $(orgInputSelector).val();\n\n\n            $.ajax({\n                url: url,\n                data: {\n                    clientrefrencenumber: refNumber,\n                    contactID: contactID,\n                    organizationID: orgaID\n                },\n                type: type,\n                dataType: 'json',\n                success: function (output) {\n                    (output.Result)\n                        ? m.clearError()\n                        : m.showError(errorMsg);\n                },\n                error: function (xhr, ajaxOptions, thrownError) {\n                    m.showError('An issue with the api occurred. Try later.');\n                },\n                complete: function() {\n                    Core.HidePageLoading();\n                },\n            });\n        },\n    };\n\n    m.init();\n\n    return m;\n} \n","function ClientViewEditForm($rootDom) {\n    var form = new ClientForm($rootDom);\n    var popup = new ClientPopup($rootDom);\n\n    var m = {\n        init: function() {\n            form.disable();\n\n            m.setViewClient();\n            m.onClickEdit();\n\n            popup.init();\n        },\n\n        onClickEdit: function() {\n            $('.addressbook-btnedit').on('click', function(e) {\n                form.enable();\n                form.disableOrg();\n                m.setEditClient();\n                popup.setHeight();\n                $(this).hide();\n            });\n        },\n\n        setEditClient: function() {\n            $rootDom.find('.addressbook-btnedit').hide();\n            $rootDom.find('.addressbook-title').html('EDIT CLIENT');\n            $rootDom.find('.addressbook-popup__buttonwrap').show();\n\n            form.initListeners();\n        },\n\n        setViewClient: function() {\n            $rootDom.find('.addressbook-btnedit').show();\n            $rootDom.find('.addressbook-title').html('VIEW CLIENT');\n            $rootDom.find('.addressbook-popup__buttonwrap').hide();\n        },\n    };\n\n    return m;\n}\n","Core.Dashboard = {\n    init: function () {\n        Core.Dashboard.Cache = {\n        \t$rowToggle : $('.dashboard__grid--body .dashboard__grid--row-info'),\n        \t$headTick : $('.dashboard__grid--heading-cell-tick input[type=checkbox]'),\n        \t$btnDropMore: $('.btn-more-actions'),\n        \t$dropLink: $('.drop-list-link'),\n        \t$btnToggle: $('.btn-toggle'),\n            $btnView: $('.btn-view')\n        }\n\n    \tthis.contentToggle();\n    \tthis.dropToggle();\n    \tthis.PreventDropLink();\n    \tthis.viewDetail();\n    \tthis.setupPopup();\n    },\n\n    contentToggle: function () {\n        var reset = function (doReset, $detail, $info) {\n            var $allInfo = $('.dashboard__grid--body .dashboard__grid--row-info')\n                , $allDetail = $('.dashboard__grid--body .dashboard__grid--row-detail');\n\n            $allDetail.addClass('content-hide');\n            $allInfo.removeClass('showing-detail');\n\n            if (doReset) {\n                $detail.addClass('content-hide');\n                $info.removeClass('showing-detail');\n            } else {\n                $detail.removeClass('content-hide');\n                $info.addClass('showing-detail');\n            }\n        };\n\n        Core.Dashboard.Cache.$btnToggle.on('click', function (e) {\n    \t\tvar $el = $(this)\n    \t\t    , $row = $el.closest('.dashboard__grid--row-info')\n                , $info = $row.next('.dashboard__grid--row-detail');\n\n    \t\tif ($info.is(':visible')) {\n    \t\t    reset(true, $info, $row);\n            }\n    \t\telse {\n    \t\t    reset(false, $info, $row);\n            }\n\n        });\n    },\n\n    dropToggle: function(){\n    \tCore.Dashboard.Cache.$btnDropMore.on('click', function(e){\n    \t\te.stopPropagation();\n    \t\tvar $siblingDrop = $(this).siblings('.drop-content');\n\n    \t\t$siblingDrop.addClass('exc');\n    \t\t$('.drop-content:not(.exc)').removeClass('show');\n    \t\t$siblingDrop.removeClass('exc').toggleClass('show');\n    \t});\n    },\n\n    PreventDropLink: function() {\n    \tCore.Dashboard.Cache.$dropLink.on('click', function(e){\n    \t\te.preventDefault();\n    \t\t$(this).closest('.drop-content').removeClass('show');\n    \t});\n    },\n\n    viewDetail: function () {\n        Core.Dashboard.Cache.$btnView.on('click', function (e) {\n            e.preventDefault();\n            console.log('view detail');\n        });\n    },\n\n    setupPopup: function () {\n\n        Core.InitPopup($('#popupCancelOrder'), 'Cancel Order');\n        Core.InitPopup($('#popupResubmitOrder'), 'Resubmit Order');\n        Core.InitPopup($('#popupEditDraftOrder'), 'Edit Draft Order');\n        Core.InitPopup($('#popupReturnCartOrder'), 'Edit And Return Cart');\n        Core.InitPopup($('#popupChangeApproveOrder'), 'Change And Approve Order');\n\n        var closePopup = function ($el) {\n            $el.close();\n        };\n\n        var openPopup = function ($el) {\n            $el.center().open();\n        };\n\n        var initPopup = function ($el) {\n            return $el.kendoWindow({\n                maxWidth: 580,\n                minWidth: 450,\n                visible: false,\n                iframe: false,\n                modal: true,\n                resizable: false,\n                pinned: true,\n                draggable: false,\n                animation: false,\n                appendTo: '#page-wrap'\n            });\n        };\n\n\n        var setPopup = function ($el, title) {\n            if($el.length){\n                var $kw = $el.data(\"kendoWindow\");\n                $kw.wrapper.addClass(\"popup-dashboard\");\n                $kw.title(title);\n                return $kw;\n            } else {\n                return false;\n            }\n        };\n\n        var $popupDetail = $('#popupDetail');\n        var $popupReject = $('#popupReject');\n        //var $popupCancel = $('#popupCancelOrder');\n\n        $popupDetail = initPopup($popupDetail);\n        $popupReject = initPopup($popupReject);\n        //$popupCancel = initPopup($popupCancel);\n\n        var $kPopDetail = setPopup($popupDetail, \"View Detail\");\n        var $kPopReject = setPopup($popupReject, \"Rejection Reason\");\n        //var $kPopReject = setPopup($popupCancel, \"Cancel Order\");\n\n        $('.btn-view').on('click', function (e) {\n            e.preventDefault();\n            Core.Dashboard.preparePopupDetail($popupDetail, $(this).closest('.dashboard__grid--row'));\n            openPopup($kPopDetail);\n        });\n\n        $('.btn-reject').on('click', function (e) {\n            e.preventDefault();\n            openPopup($kPopReject);\n        });\n\n        $(\".k-overlay\").on('click', function (e) {\n            e.preventDefault();\n            closePopup($kPopDetail);\n        });\n\n        $('.btn-popup-cancel').on('click', function () {\n            closePopup($kPopReject);\n        });\n\n\n    },\n\n    preparePopupDetail: function ($popupDetail, $row) {\n        var popupPrf = \".popup__body-\";\n        var rowPrf = \".dashboard__grid--body-cell-\";\n        var properties = [\"client\", \"order\", \"therapist\"];\n\n        $.each(properties, function (i, prop) {\n            var propVal = $row.find(rowPrf + prop + ' .dashboard__grid--value').text().replace(/\\s/g, '');\n            $popupDetail.find(popupPrf + prop).html(propVal);\n        });\n    }\n}\n","function DateInputValidator(elemSelector) {\n    var elem = document.querySelector(elemSelector)\n\n    if (elem == null) {\n        return;\n    }\n\n    var requiredMsg = (elem.dataset && elem.dataset.valDate) ? elem.dataset.valDate : 'The field must be a date.';\n    var isRequired = (elem.dataset && elem.dataset.valDate);\n\n    function showError(errorMsg) {\n        var div = elem.parentElement.parentElement.parentElement;\n        var label = div.querySelector('label');\n\n        elem.classList.add('error');\n\n        label\n            && $(label).remove();\n\n        $(div).append('<label class=\"error\">' + errorMsg + '</label>');\n    }\n\n    function clearError() {\n        var div = elem.parentElement.parentElement.parentElement;\n        var span = elem.parentElement.querySelector('span');\n\n        elem.classList.remove('error');\n\n        $(div).find('label').remove();\n    }\n\n    function isRequiredValid() {\n        return (elem.value !== '');\n    }\n\n    if (isRequired) {\n        $(elem).data(\"kendoDatePicker\") &&\n            $(elem).data(\"kendoDatePicker\").bind(\"change\", function() {\n                if ($(elem).data(\"kendoDatePicker\").value() !== '') {\n                    clearError();\n                }\n            });\n    }\n\n    var m = {\n        isValid: function() {\n            var isValid = true;\n\n            if (isRequired && !isRequiredValid()) {\n                showError(requiredMsg);\n                return false;\n            }\n\n            return isValid;\n        }\n    };\n\n    return m;\n};\n\n","Core.DatePicker2 = function(elem) {\n    var IPAD_WIDTH_RESOLUTION = 1081;\n\n    function executeCallback(clb) {\n        clb();\n    }\n\n    function filler(dateNumber) {\n        return ('' + dateNumber).length < 2\n            ? '0' + dateNumber\n            : '' + dateNumber;\n    }\n\n    /*\n\n\n        DOM Check\n\n\n     */\n\n    // -- STR -- DOM --------------\n    function isInputText() {\n        return elem.nodeName === 'INPUT' && elem.type === 'text';\n    }\n\n    function hasAlreadyPicker2Class() {\n        return elem.classList.contains(\"datePicker2\")\n    }\n\n    function isNumberSlash(key) {\n        return /[0-9\\/]/.test(key);\n    }\n\n    function isTab(key) {\n        return key === 'Tab';\n    }\n\n    function isSlash(key) {\n        return key === '/';\n    }\n\n    function isBackspace(key) {\n        return key === 'Backspace';\n    }\n\n    function isArrowLeft(key) {\n        return key === 'ArrowLeft';\n    }\n\n    function isArrowRight(key) {\n        return key === 'ArrowRight';\n    }\n\n    function isArrow(key) {\n        return isArrowLeft(key)\n            || isArrowRight(key);\n    }\n\n    function isDayPosition(length) {\n        return (length === 2);\n    }\n\n    function isSlashPosition(length) {\n        return (length === 2 || length === 5);\n    }\n\n    function shouldBeSlash(length) {\n        return (length === 3 || length === 6);\n    }\n\n    function isLastDigitMonthPosition(length) {\n        return (length === 5);\n    }\n\n    function isMonthPosition(length) {\n        return (length === 4);\n    }\n\n    function isFirstYearDigitPosition(length) {\n        return (length === 7);\n    }\n\n    function isSecondYearDigitPosition(length) {\n        return (length === 8);\n    }\n\n    function isOnSelection() {\n        return (document.getSelection().focusNode === elem.parentNode)\n            && (document.getSelection().toString().length > 0);\n    }\n\n    function getCursorPosition() {\n        var input = elem;\n        if (!input) return; // No (input) element found\n        if ('selectionStart' in input) {\n            // Standard-compliant browsers\n            return input.selectionStart;\n        } else if (document.selection) {\n            // IE\n            input.focus();\n            var sel = document.selection.createRange();\n            var selLen = document.selection.createRange().text.length;\n            sel.moveStart('character', -input.value.length);\n            return sel.text.length - selLen;\n        }\n    }\n\n    function isInCurrentPosition(length) {\n        return getCursorPosition() === length;\n    }\n    // -- END -- DOM --------------\n\n\n    /*\n\n\n        TIME\n\n\n     */\n    // -- STR -- TIME --------------\n    function getYearsRange() {\n        var currentYear = new Date().getFullYear();\n        var years = [];\n\n        for (var i = currentYear - 120; i < currentYear + 20; i++) {\n            years.push({\n                value: i,\n                text: i\n            });\n        }\n\n        return years;\n    }\n\n    function getMonthsRange(year) {\n        var months = [];\n\n        for (var i = 1; i <= 12; i++) {\n            months.push({\n                value: i,\n                text: i\n            });\n        }\n\n        return months;\n    }\n\n    function getDaysRange(year, month) {\n        var dayCount = new Date(year, month, 0).getDate();\n        var days = [];\n\n        for (var i = 1; i <= dayCount; i++) {\n            days.push({\n                value: i,\n                text: i\n            });\n        }\n\n        return days;\n    }\n\n    function isValidPartialDateFormat(dateString) {\n        var reIsNumber =  new RegExp('[0-9]');\n        var reIsSlash =  new RegExp('^[/]{1}$');\n\n        var date = Array.from(dateString);\n        var date_sequence = [\n            reIsNumber,\n            reIsNumber,\n            reIsSlash,\n\n            reIsNumber,\n            reIsNumber,\n            reIsSlash,\n\n            reIsNumber,\n            reIsNumber,\n            reIsNumber,\n            reIsNumber,\n        ];\n\n        if (date.length === 0) {\n            return true;\n        }\n\n        if (date.length > 10) {\n            return false;\n        }\n\n        return date.reduce(function(previousValue, currentValue, currentIndex) {\n            return date_sequence[currentIndex].test(currentValue) && previousValue;\n        }, true);\n    }\n\n    /*\n\n        Check if in DD/MM/YYYY format\n\n     */\n    function isValidFormatDate(dateString) {\n        return /([0-9]{1,2})\\/([0-9]{1,2})\\/([0-9]{4})/.test(dateString);\n    }\n\n    /*\n\n        @param string dateString\n        @return obj {day: number, month: number, year: number}\n\n     */\n    function splitInputValues(dateString) {\n        // ['10/05/2022', '10', '05', '2022', index: 0, input: '10/05/2022', groups: undefined]\n        var found = dateString.match(/([0-9]{1,2})\\/([0-9]{1,2})\\/([0-9]{4})/);\n\n        return {\n            day: parseInt(found[1]),\n            month: parseInt(found[2]),\n            year: parseInt(found[3]),\n        };\n    }\n\n    /*\n\n        @return obj {day: number, month: number, year: number}\n\n     */\n    function getCurrentDate() {\n        var now = new Date();\n\n        return {\n            year: now.getFullYear(),\n            month: now.getMonth() + 1,\n            day: now.getDate(),\n        };\n    }\n\n    function getDate() {\n        var dateString = elem.value.toString();\n\n        return isValidFormatDate(dateString)\n            ? splitInputValues(dateString)\n            : getCurrentDate();\n    }\n    // -- END -- TIME --------------\n\n\n    /*\n\n\n        UTILS\n\n\n     */\n    // -- STR -- UTILS --------------\n    function getPlaceholderValue(value) {\n        var defaultPlaceholder = 'DD/MM/YYYY';\n\n        return value\n                ? '<i>' + value + '</i>' + defaultPlaceholder.slice(value.length)\n                : defaultPlaceholder;\n    }\n    // -- END -- UTILS --------------\n\n    var el = {\n        elem: elem,\n        cover: document.createElement('div'),\n        wrapper: document.createElement('div'),\n        placeholder: document.createElement('span'),\n    };\n\n    var data = {\n        selectorDay: '',\n        selectorMonth: '',\n        selectorYear: '',\n\n        _inputValue: '',\n\n        subscriberList: {\n            inputValue: [],\n        },\n\n        set inputValue(value) {\n            this._inputValue = value;\n\n            data.subscriberList.inputValue.forEach(executeCallback);\n        },\n\n        get inputValue() {\n            return this._inputValue;\n        },\n\n        subscribe(name, callback) {\n            data.subscriberList[name].push(callback);\n        },\n    };\n\n\n    // Methods\n    var m = {\n        init: function() {\n            if (! isInputText()) {\n                console.error('Invalid input element provided : ' + elem.nodeName);\n                return;\n            }\n\n            if (hasAlreadyPicker2Class()) {\n                console.warn('Date Picker 2 already init');\n                return;\n            }\n\n            m.boot();\n        },\n\n        boot: function() {\n            m.loadVar();\n            m.loadCallback();\n\n            m.initWrapper();\n            m.initCover();\n            m.initPlaceholder();\n            m.updatePlaceholder(el.elem.value);\n            m.composeDOMToWrapper();\n\n            m.initOnKeyDownAndUp();\n            m.initOnEsc();\n            m.initOnCoverClickShowSelector();\n            m.initOnWindowResize();\n            m.initMutatorCheckForDisabled();\n\n            m.initKendoPicker();\n        },\n\n        initKendoPicker: function() {\n            if (elem.classList.contains('show-picker')) {\n                $(elem).kendoDatePicker({\n                    format: \"dd/MM/yyyy\",\n                    change: function() {\n                        data.inputValue = el.elem.value;\n                        m.updatePlaceholder();\n                    },\n                });\n            }\n            \n        },\n\n        loadVar: function() {\n            data.inputValue = el.elem.value;\n        },\n\n        loadCallback: function() {\n            data.subscribe('inputValue', m.updatePlaceholder)\n        },\n\n        /*\n\n\n            EVENTS\n            - initOnKeyDownAndUp : when typing\n            - initOnEsc : getting out of selector view\n\n\n         */\n\n        // --- STR - EVENTS  --------------\n        initOnKeyDownAndUp: function() {\n            var doCheckValidKeyAndUpdatePlaceholder = function(e) {\n                var dataValue = el.elem.value.split(' ').join('').split('.').join(''); // mac double space add .\n                el.elem.value = dataValue;\n                var lastChar = dataValue[dataValue.length - 1];\n\n                if (! isNumberSlash(e.key) && ! isTab(e.key) && ! isBackspace(e.key) && !isArrow(e.key)) {\n                    e.preventDefault();\n                    return;\n                }\n\n                if (! isTab(e.key) && ! isBackspace(e.key) && !isArrow(e.key) && !isOnSelection() && el.elem.value.length >= 10) {\n                    e.preventDefault();\n                    return;\n                }\n\n                if (dataValue[getCursorPosition() - 1] === '/' && e.key === '/') {\n                    e.preventDefault();\n                    return;\n                }\n\n                isNumberSlash(e.key)\n                    && (data.inputValue = el.elem.value.trim() + e.key);\n            };\n\n            var doPolishInput = function(e) {\n                var dataValue = el.elem.value.split(' ').join('').split('.').join(''); // mac double space add .\n                el.elem.value = dataValue;\n                var lastChar = dataValue[dataValue.length - 1];\n                var prevLastChar = dataValue[dataValue.length - 2];\n\n\n                // case 1/ -> 01/\n                ! isBackspace(e.key)\n                    && !isArrow(e.key)\n                    && isSlash(lastChar)\n                    && isInCurrentPosition(el.elem.value.length)\n                    && isDayPosition(el.elem.value.length)\n                    && ( el.elem.value = '0' + dataValue\n                       , dataValue = el.elem.value\n                       );\n\n                // case 01/1/ -> 01/01/\n                ! isBackspace(e.key)\n                    && !isArrow(e.key)\n                    && isSlash(lastChar)\n                    && isInCurrentPosition(el.elem.value.length)\n                    && isLastDigitMonthPosition(el.elem.value.length)\n                    && ( el.elem.value = dataValue.slice(0, -2) + '0' + dataValue.slice(-2)\n                       , dataValue = el.elem.value\n                       );\n\n\n                // check if we are in a slash position\n                // if so and it's a number\n                // then swap and insert slash\n                // case 01 -> 01/\n                // case 01/01 -> 01/01/\n                ! isBackspace(e.key)\n                    && !isArrow(e.key)\n                    && !isSlash(lastChar)\n                    && isInCurrentPosition(el.elem.value.length)\n                    && shouldBeSlash(el.elem.value.length)\n                    && ( el.elem.value = dataValue.slice(0, -1) + '/' + lastChar\n                       , dataValue = el.elem.value\n                       );\n\n\n                // check that the first month int is 1 or 0\n                // else swap and add 0\n                // case 10/5 -> 10/05\n\n                ! isBackspace(e.key)\n                    && !isArrow(e.key)\n                    && !isSlash(lastChar)\n                    && isInCurrentPosition(el.elem.value.length)\n                    && isMonthPosition(el.elem.value.length)\n                    && (e.key !== '1' && e.key !== '0')\n                    && (el.elem.value = dataValue.slice(0, -1) + '0' + lastChar + '/'\n                       , lastChar = '/'\n                       , dataValue = el.elem.value\n                       );\n\n                // check if after all the data manipulation\n                // we are in slash position\n                // if so add slash\n                ! isBackspace(e.key)\n                    && !isArrow(e.key)\n                    && !isSlash(lastChar)\n                    && isInCurrentPosition(el.elem.value.length)\n                    && isSlashPosition(el.elem.value.length)\n                    && (el.elem.value += '/'\n                       , dataValue = el.elem.value\n                       );\n\n                data.inputValue = el.elem.value;\n            };\n\n            el.elem.addEventListener('keydown', doCheckValidKeyAndUpdatePlaceholder);\n            el.elem.addEventListener('keyup', doPolishInput);\n            el.elem.addEventListener('change', m.updatePlaceholder);\n            el.elem.addEventListener('blur', m.updateCurrentInputFillerDate);\n        },\n\n        initOnEsc: function() {\n            var removeOnEsc = function(e) {\n                (e.key === 'Escape') && m.removeSelector();\n            };\n\n            document.removeEventListener('keydown', removeOnEsc);\n            document.addEventListener('keydown', removeOnEsc);\n        },\n\n        initOnCoverClickShowSelector: function() {\n            el.cover.addEventListener('click', m.showSelector);\n        },\n\n        initOnWindowResize: function() {\n            window.addEventListener('resize', function(e) {\n                (window.innerWidth < IPAD_WIDTH_RESOLUTION)\n                    && m.removeSelector();\n            });\n        },\n\n        initMutatorCheckForDisabled: function() {\n            var hideCover = function() {\n                el.cover.classList.remove('d-block');\n                el.cover.classList.remove('d-lg-none');\n                el.cover.classList.add('d-none');\n            }\n\n            var showCover = function() {\n                el.cover.classList.add('d-block');\n                el.cover.classList.add('d-lg-none');\n                el.cover.classList.remove('d-none');\n            }\n\n            const observer = new MutationObserver(function() {\n                (el.elem.disabled)\n                    ? hideCover()\n                    : showCover();\n            });\n\n            observer.observe(elem, {attributes: true});\n        },\n        // --- END - EVENTS  --------------\n\n\n        /*\n\n            DOM\n            - initWrapper : add classes to wrap\n            - initCover : add classes to cover\n            - initPlaceholder : add classes to placeholder\n\n            - updatePlaceholder : update placeholder ui\n\n            - composeDOMToWrapper : append [cover, placeholder input] to the wrapper\n\n         */\n\n        // --- STR - DOM  --------------\n        initWrapper: function() {\n            [ \"datePicker2-wrapper\"\n            , \"form-input\"\n            , \"position-relative\"].forEach((itm) => el.wrapper.classList.add(itm));\n        },\n\n        initCover: function() {\n            el.cover.classList.add('datePicker2-cover');\n            el.cover.classList.add('d-block');\n            el.cover.classList.add('d-ipad-none');\n        },\n\n        initPlaceholder: function() {\n            el.placeholder.classList.add('datePicker2-placeholder');\n            el.placeholder.setAttribute('aria-hidden', true);\n        },\n\n        updatePlaceholder: function() {\n            el.placeholder.innerHTML = isValidPartialDateFormat(data.inputValue)\n                                        ? getPlaceholderValue(data.inputValue)\n                                        : '';\n        },\n\n        updateCurrentInputFillerDate: function() {\n            var dateObj;\n            var isValidLength = function(chunk) {\n                 return chunk.length > 0;\n            };\n\n            isValidFormatDate(el.elem.value)\n                && ( el.elem.value.split('/').filter(isValidLength).length === 3 )\n                && ( dateObj = splitInputValues(el.elem.value)\n                   , m.updateInputFillerDate(dateObj.day, dateObj.month, dateObj.year)\n                   );\n        },\n\n        updateInputFillerDate: function(day, month, year) {\n            el.elem.value = filler(day) + '/' + filler(month) + '/' + year;\n        },\n\n        composeDOMToWrapper: function() {\n            elem.parentNode.insertBefore(el.wrapper, elem);\n            el.wrapper.appendChild(el.cover);\n            el.wrapper.appendChild(el.placeholder);\n            el.wrapper.appendChild(elem);\n\n            elem.classList.add('datePicker2');\n        },\n\n        updateInputFromSelector: function() {\n            m.updateInputFillerDate(data.selectorDay, data.selectorMonth, data.selectorYear);\n\n            var event = new Event('change');\n            el.elem.dispatchEvent(event);\n        },\n        // --- END - DOM  --------------\n\n\n        /*\n\n            SELECTOR\n            - showSelector : append html and init js\n            - removeSelector : remove html\n            - initSelectors : init js\n                + if already has value\n                + if no value\n                + on confirm\n         */\n\n        // --- STR - SELECTOR  --------------\n        showSelector: function() {\n            var select = document.createElement('div');\n            select.classList.add('datePicker2-select');\n            select.innerHTML = `\n                <div class=\"datePicker2-wrapperMobile position-fixed k-overlay\" data-cancel></div>\n\n                <div class=\"datePicker2-datePanel animated slideInDown fast\">\n                    <header class=\"d-flex px-3 justify-between border-bottom border-extra-light-grey\">\n                        <button class=\"btn-link\" data-cancel>Cancel</button>\n                        <button class=\"btn-link\" data-confirm>Confirm</button>\n                    </header>\n\n                    <div class=\"date-selector\">\n                        <div class=\"day\" id=\"day\"></div>\n                        <div class=\"month\" id=\"month\"></div>\n                        <div class=\"year\" id=\"year\"></div>\n                    </div>\n                </div>`;\n\n            document.body.appendChild(select);\n\n            Array\n                .from(select.querySelectorAll('[data-cancel]'))\n                .forEach(function(cancelItem) { cancelItem.addEventListener('click', m.removeSelector); });\n\n            Array\n                .from(select.querySelectorAll('[data-confirm]'))\n                .forEach(function(confirmItem) {\n                    confirmItem.addEventListener('click', function() {\n                        m.updateInputFromSelector();\n                        data.inputValue = el.elem.value;\n                        m.removeSelector();\n                    });\n                });\n\n            m.initSelectors();\n        },\n\n        removeSelector: function() {\n            var select = document.querySelector('.datePicker2-select');\n\n            select\n                && select.parentNode\n                && select.parentNode.removeChild(select);\n        },\n\n        initSelectors: function() {\n            var initialDate = getDate();\n\n            data.selectorYear = initialDate.year;\n            data.selectorMonth = initialDate.month;\n            data.selectorDay = initialDate.day;\n\n            var yearSource = getYearsRange();\n            var monthSource = getMonthsRange();\n            var daySource = getDaysRange(initialDate.year, initialDate.month);\n\n            var yearSelector = new IosSelector({\n                el: '#year',\n                type: 'infinite',\n                source: yearSource,\n                count: 20,\n                value: initialDate.year,\n                onChange: (selected) => {\n                    data.selectorYear = selected.value;\n\n                    var daySource = getDaysRange(data.selectorYear, data.selectorMonth);\n                    daySelector.updateSource(daySource);\n                }\n            });\n\n            var monthSelector = new IosSelector({\n                el: '#month',\n                type: 'infinite',\n                source: monthSource,\n                count: 20,\n                value: initialDate.month,\n                onChange: (selected) => {\n                    data.selectorMonth = selected.value;\n\n                    var daySource = getDaysRange(data.selectorYear, data.selectorMonth);\n                    daySelector.updateSource(daySource);\n                }\n            });\n\n            var daySelector = new IosSelector({\n                el: '#day',\n                type: 'infinite',\n                source: daySource,\n                count: 20,\n                value: initialDate.day,\n                onChange: (selected) => {\n                    data.selectorDay = selected.value;\n                }\n            });\n        },\n        // --- END - SELCTOR  --------------\n    };\n\n    return m;\n\n};\n","function DatePicker2Validator(elemSelector) {\n    var elem = (elemSelector instanceof HTMLInputElement)\n        ? elemSelector\n        : document.querySelector(elemSelector);\n\n    if (elem == null) {\n        return;\n    }\n\n    var requiredMsg = (elem.dataset && elem.dataset.valDate) ? elem.dataset.valDate : 'The field must be a date.';\n    var isRequired = (elem.dataset && elem.dataset.valDate);\n    var pastDateMsg = (elem.dataset && elem.dataset.pastDate) ? elem.dataset.pastDate : 'The field must be a past date.';\n    var isPastDate = (elem.dataset && elem.dataset.pastDate);\n\n    function showError(errorMsg) {\n        var div = elem.parentElement.parentElement.parentElement;\n        var label = div.querySelector('label.error');\n\n        elem.classList.add('error');\n\n        label\n            && $(label).remove();\n\n        $(div).append('<label class=\"error\">' + errorMsg + '</label>');\n    }\n\n    function clearError() {\n        var div = elem.parentElement.parentElement.parentElement;\n\n        elem.classList.remove('error');\n\n        $(div).find('label.error').remove();\n    }\n\n    function isRequiredValid() {\n        return (elem.value !== '');\n    }\n\n    function isValidDateValid() {\n        if (elem.value.length > 10) {\n            return false;\n        }\n\n        return moment(elem.value, 'DD/MM/YYYY').isValid();\n    }\n\n    function isPastDateValid() {\n        return moment().diff(moment(elem.value, 'DD/MM/YYYY')) > -1;\n    }\n\n\n    elem.addEventListener('change', function() {\n        m.isValid()\n            && clearError();\n    });\n\n    var m = {\n        isValid: function() {\n            var isValid = true;\n\n            if (isRequired && !isRequiredValid()) {\n                showError(requiredMsg);\n                return false;\n            }\n\n            if (isRequired && !isValidDateValid()) {\n                showError(\"Please enter a valid date DD/MM/YYY\");\n                return false;\n            }\n\n            if (isPastDate && (!isValidDateValid() || !isPastDateValid())) {\n                showError(pastDateMsg);\n                return false;\n            }\n\n            clearError();\n            return isValid;\n        }\n    };\n\n    return m;\n};\n\n","Core.DeliveryCounter = function(elem) {\n\n    /*\n\n\n        DATASET\n\n\n     */\n\n    function hasDataset(elem, name) {\n        return elem &&\n               elem.dataset &&\n               typeof elem.dataset[name] !== 'undefined';\n    }\n\n    function warnData(name) {\n        console.warn('DeliveryCounter data for ' + name + ' missing');\n        return;\n    }\n\n    function getDataset(elem, name) {\n        return hasDataset(elem, name)\n                    ? elem.dataset[name]\n                    : warnData(name);\n    }\n\n\n    /*\n\n\n        TIME\n\n\n     */\n\n\n    /**\n     * utcToLocale\n     *\n     * @param  string date UTC time '2011-06-29T16:52:48.000Z'\n     * @return Date\n     */\n    function utcToLocale(utcDate) {\n        return new Date(utcDate);\n    }\n\n    function dayOfTheWeek(utcDate) {\n        var d = new Date(utcDate);\n        var week = new Array(7);\n\n        week[0] = \"Sun\";\n        week[1] = \"Mon\";\n        week[2] = \"Tue\";\n        week[3] = \"Wed\";\n        week[4] = \"Thu\";\n        week[5] = \"Fri\";\n        week[6] = \"Sat\";\n\n        return week[d.getDay()];\n    }\n\n    function getDateElem(utcDate) {\n        var d = new Date(utcDate);\n\n        return {\n            dayOfWeek: dayOfTheWeek(utcDate),\n            day: d.getDate(),\n            month: d.getMonth() + 1,\n            year: d.getFullYear()\n        };\n    }\n\n    function isFutureDate(endtime) {\n        var total = (Date.parse(endtime) - Date.parse(new Date()));\n\n        return total > 0;\n    }\n\n    function getTimeRemaining(endtime) {\n        var SEC = 1000,\n            MIN = SEC * 60,\n            HRS = MIN * 60,\n            DAY = HRS * 24;\n\n        var total = (Date.parse(endtime) - Date.parse(new Date()));\n\n        var d = Math.floor(total / DAY);\n        var h = Math.floor((total % DAY) / HRS) + (d * 24);\n        var m = Math.floor((total % HRS) / MIN);\n        var s = Math.floor((total % MIN) / SEC);\n\n        return {\n            h,\n            m,\n            s\n        };\n    }\n\n    function getLabel(endtime) {\n        if (getTimeRemaining(endtime).h > 0) {\n            return getTimeRemaining(endtime).h + 'h';\n        }\n\n        if (getTimeRemaining(endtime).m > 0) {\n            return getTimeRemaining(endtime).m + 'm';\n        }\n\n        if (getTimeRemaining(endtime).s > 0) {\n            return getTimeRemaining(endtime).s + 's';\n        }\n\n        return '---';\n    }\n\n\n    /*\n\n\n        TMPL\n\n\n     */\n\n    function counterTmlp(data) {\n        return `<div class=\"deliveryCounter--largeAnimation\">\n                <div class=\"deliveryCounter--large\">\n                    <div class=\"deliveryCounter--largeDelivery\">\n                        <span class=\"deliveryCounter--largeLabel\">CUT OFF</span>\n                        <span class=\"deliveryCounter--largeLabel2\">${data.dayOfWeek} ${data.day}/${data.month}/${data.year}</span>\n                    </div>\n\n                    <div class=\"deliveryCounter--largeTimer\">\n                        <span>${data.h}h</span>\n                        <span>${data.m}m</span>\n                        <span>${data.s}s</span>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"deliveryCounter--smallAnimation\">\n                <div class=\"deliveryCounter--small\">\n                    <div class=\"deliveryCounter--smallImg\">\n                        <svg aria-hidden=\"true\"\n                            focusable=\"false\"\n                            data-prefix=\"fas\"\n                            data-icon=\"truck\"\n                            role=\"img\"\n                            xmlns=\"http://www.w3.org/2000/svg\"\n                            viewBox=\"0 0 640 512\"\n                            class=\"svg-inline--fa fa-truck fa-w-20 fa-flip-horizontal fa-5x\"\n                            style=\"width: 43px; color: #6c6c6e;\">\n                            <path fill=\"currentColor\" d=\"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\" class=\"\"></path>\n                        </svg>\n                    </div>\n                    <div class=\"deliveryCounter--smallLabel\">${data.label}</div>\n                </div>\n            </div>\n        `;\n    }\n\n    var el = {\n        elem: elem,\n    };\n\n    var data = {\n        api: getDataset(elem, 'api'),\n        nextCutOff: [],\n        dayOfWeek: '---',\n        day: '--',\n        month: '--',\n        year: '----',\n\n        h: '--',\n        m: '--',\n        s: '--',\n        label: '---',\n    };\n\n\n\n    // Methods\n    var m = {\n        init: function() {\n            if (typeof data.api === 'undefined') {\n                return;\n            }\n\n            m.boot();\n        },\n\n\n        boot: function() {\n            m.onClickCounter();\n            m.fetchData();\n\n            setInterval(function() {\n                m.getNextData()\n                    ? m.calculateData(m.getNextData())\n                    : m.resetData();\n\n                m.getNextData()\n                    ? m.updateCounterTmpl()\n                    : m.cleanCounterTmpl();\n            }, 1000);\n        },\n\n        getNextData: function() {\n            return data.nextCutOff &&\n                    data.nextCutOff.length > 0 &&\n                    data.nextCutOff.filter(isFutureDate).length > 0 &&\n                    data.nextCutOff.filter(isFutureDate)[0];\n        },\n\n        onClickCounter: function() {\n            function swapClasses(e) {\n                e.currentTarget.classList.toggle('deliveryCounter--showLarge');\n                e.currentTarget.classList.toggle('deliveryCounter--showSmall');\n            }\n\n            el.elem.addEventListener('click', swapClasses);\n        },\n\n        updateCounterTmpl: function() {\n            el.elem.innerHTML = counterTmlp(data);\n            el.elem.style.display = 'block';\n\n            (parseInt(data.h) >= 23)\n                ? el.elem.classList.add('deliveryCounter--green')\n                : el.elem.classList.add('deliveryCounter--red');\n\n            (data.h === '--')\n                && ( el.elem.classList.remove('deliveryCounter--green')\n                   , el.elem.classList.remove('deliveryCounter--red'));\n\n\n            m.fire('delivery-counter:show');\n        },\n\n        cleanCounterTmpl: function() {\n            el.elem.innerHTML = '';\n            el.elem.style.display = 'none';\n\n            m.fire('delivery-counter:hide');\n        },\n\n        calculateData: function(utcDate) {\n            data['dayOfWeek'] = getDateElem(utcDate).dayOfWeek;\n            data['day'] = getDateElem(utcDate).day;\n            data['month'] = getDateElem(utcDate).month;\n            data['year'] = getDateElem(utcDate).year;\n\n            data['h'] = getTimeRemaining(utcDate).h;\n            data['m'] = getTimeRemaining(utcDate).m;\n            data['s'] = getTimeRemaining(utcDate).s;\n\n            data['label'] = getLabel(utcDate);\n        },\n\n        resetData: function() {\n            data['dayOfWeek'] = '---';\n            data['day'] = '--';\n            data['month'] = '--';\n            data['year'] = '----';\n\n            data['h'] = '--';\n            data['m'] = '--';\n            data['s'] = '--';\n            data['label'] = '---';\n        },\n\n        fetchData: function() {\n            $.ajax({\n                url: data.api,\n                processData: false,\n                contentType: false,\n                success: function(resp) {\n                   data.nextCutOff = (resp && resp.dates) ? resp.dates : [];\n                },\n                error: function(error) {\n\n                }\n            });\n        },\n\n        fire: function(eventName) {\n            var ev = new CustomEvent(eventName);\n            document.dispatchEvent(ev);\n        },\n\n    };\n\n    return m;\n\n};\n","Core.DrawingTool = function (elem, showTools = true) {\n    var $el = elem instanceof jQuery ? elem : $(elem);\n    var $canvas = $el.find('.drawingTool-canvas');\n    var $container = $el.find('.drawingTool-container');\n    var $btnClear = $el.find('.drawingTool-btnClear');\n    var $btnSave = $el.find('.drawingTool-btnSave');\n    var $btnChooseTemplate = $el.find('.drawingTool-btnChooseTemplate');\n    var $btnModifyPhoto = $el.find('.drawingTool-btnModifyPhoto');\n    var $btnChoosePhoto = $el.find('.drawingTool-btnChoosePhoto');\n    var $filePicker = $el.find('.drawingTool-filePicker');\n    var $fileNameInput = $el.find('.drawingTool-fileNameInput');\n    var $error = $el.find('.drawingTool-error');    \n\n    var fileName = $el.data('file-name');\n\n    function handleBtnClear() {\n        $btnClear.on('click', function () {\n            m.clear();\n        });\n    }\n\n    function handleBtnSave(fileUploadObj, $fileUploadEl) {\n        var scrollToUploadEl = function () {\n            document.getElementById('checkoutHomeModification-fileupload').scrollIntoView({\n                behavior: 'smooth',\n                block: 'center',\n                inline: 'center'\n            });\n        };\n\n        $btnSave.on('click', function () {\n            // validate file name and file\n            var fileName = getFileName();\n            if (!fileName) {\n                $fileNameInput.addClass('error');\n                $fileNameInput.focus();\n                return;\n            }            \n\n            if ($btnSave.closest('#homeMod-draw').length > 0 ) {\n                $fileNameInput.removeClass('error');\n            }\n\n            // check if modifying existing photo\n            var isModifying = false;\n            if ($fileNameInput.data('is-modifying')) {\n                isModifying = true;\n            }\n\n            // remove error\n            $container.removeClass('error');\n            $error.addClass('hidden');\n            $fileNameInput.removeClass('error');\n\n            $btnSave.prop('disabled', true);\n            var $list = $fileUploadEl.find('.fileUpload-fileList');\n            var fileCount = $list.find('.fileUpload-file').length || 0;\n\n            // find modified items, hide existing\n            var items = $list.find('.fileUpload-filename');            \n            if (isModifying && items.length  > 0) {\n                $(items).each(function(i, item) {\n                    var name = $(item).text();\n                    if ((isModifying && name === fileName)) {\n                        $(item).closest('.fileUpload-file').hide();\n                    }\n                });  \n            }\n\n            var imagedata = $canvas.drawr(\"export\", \"image/png\");\n            var imageBlob = Core.Util.uploadBase64Image(imagedata);\n            var imageFile = new File([imageBlob], fileName);\n\n            fileUploadObj.uploadFile(imageFile, fileCount, function(resp) {\n                // success callback\n                $btnSave.prop('disabled', false);\n\n                scrollToUploadEl();\n                m.clear();\n                //append to homeModsVar\n                var existingImages = window.homeModsVar.existingImages;\n\n                if (isModifying) {\n                    // update existing image\n                    existingImages.find(function(item) {\n                        if (item.name === fileName) {\n                            item.url = imagedata;\n                        }\n                    });\n                } else {\n                    existingImages.push({\n                        name: fileName,\n                        url: imagedata\n                    });\n                }\n\n                window.homeModsVar.existingImages = existingImages;\n                var $template = $('#drawingTool-existingPhoto');\n                renderPopupItem($template, existingImages);\n                \n                if (isModifying) {\n                    // check if isModifying\n                    items = $list.find('.fileUpload-filename'); \n                    if (items.length  > 0) {\n                        var duplicatedItems  = $(items).filter(function(i, item) {\n                            var name = $(item).text();\n                            if (isModifying) return name === fileName;\n                        });\n                        \n                        // remove previous item\n                        if (duplicatedItems.length > 1) {\n                            var $btn = $(duplicatedItems[0]).closest('.fileUpload-file').find('.fileUpload-delete');\n                            if ($btn) {\n                                $btn.attr('data-is-modifying', isModifying);\n                                $btn.trigger('click');\n                            }\n                        }\n                    }\n\n                }\n            }, function() {\n                // fail callback\n                scrollToUploadEl();\n                $btnSave.prop('disabled', false);\n            }, isModifying);\n        });\n    }\n\n    function handleOpenPhoto() {\n        if ($filePicker[0]) {\n            $filePicker[0].onchange = function () {\n                var file = $filePicker[0].files[0];\n                if (!file.type.startsWith('image/')) { return }\n                var reader = new FileReader();\n                reader.onload = function (e) {\n                    $canvas.drawr(\"load\", e.target.result);\n                    $filePicker.val('');\n                };\n                reader.readAsDataURL(file);\n            };\n        }\n\n        $btnChoosePhoto.on('click', function() {\n            $filePicker.click();\n        });\n    }\n\n    function getFileName() {\n        var _fileName = fileName;\n        if (_fileName) {\n            if (_fileName.includes('{date}')) {\n                var now = kendo.toString(new Date(), \"yyyyMMdd_HHmmss\");\n                _fileName = _fileName.replaceAll('{date}', now);\n            }\n\n            return `${_fileName}.png`;\n        } else if ($fileNameInput.val()) {\n            return `${$fileNameInput.val()}.png`;\n        } else {\n            return '';\n        }\n    }\n\n    function renderPopupItem($template, data) {\n        var $grid = $template.find('.drawingTool-templateGrid');\n        var id = $template.attr('id');\n        var isExistingPhoto = id === 'drawingTool-existingPhoto';\n\n        var templateItem = function(item) {\n            return `\n                <div class=\"drawingTool-templateItem\" data-item-id=\"${item.id}\">\n                    <img class=\"drawingTool-templateImage\" src=\"${item.url}\" alt=\"Template ${item.name} - ${item.id}\">\n                    <span class=\"drawingTool-templateItemName\">${item.name}</span>\n                </div>\n            `;\n        };\n\n        $grid.html('');\n        if (data.length > 0) {\n            data.map(function(item, i) {\n                $grid.append(templateItem(item));\n            });\n        } else {\n            $grid.html('<p class=\"pl-1\">No items found.</p>');\n        }\n\n         // add click event\n         $template.find('.drawingTool-templateItem').on('click', function() {\n            var image = $(this).find('img').prop('src');\n            var _$canvas = $('#homeMod-draw').find('.drawingTool-canvas');\n            var _$fileNameInput = $('#homeMod-draw').find('.drawingTool-fileNameInput');\n            _$canvas.drawr(\"load\", image);\n            \n            // set filename input, make it readonly, add flag if it's modifying existing photo\n            if (isExistingPhoto) {\n                // get item name, remove substring .png\n                var name = $(this).find('.drawingTool-templateItemName').text();                \n                _$fileNameInput.val(name.replaceAll('.png', ''));\n                _$fileNameInput.prop('readonly', true);\n                _$fileNameInput.data('is-modifying', true);\n            }\n\n            $template.data('kendoWindow').close();\n\n            // var popup = ClientPopup($template);\n            // popup && popup.close();\n\n            document.getElementById('homeMod-draw').scrollIntoView({\n                behavior: 'smooth',\n                block: 'center',\n                inline: 'center'\n            });\n        });\n    }\n\n    function renderPopupGrid($template, data, $btnTrigger, popupTitle) {\n        if ($template.hasClass('initialized')) return;\n\n        renderPopupItem($template, data);\n        $template.addClass('initialized');\n\n        var popup;\n        $btnTrigger.on('click', function() {\n            popup = new ClientPopup($template, {title: popupTitle});\n            popup.init();\n        });\n    }\n\n    function handleGridTemplate() {\n        var $template = $('#drawingTool-template');\n        var data = window.homeModsVar;\n        renderPopupGrid($template, data.templates, $btnChooseTemplate, \"Choose template\");\n    }\n\n    function handleModifyExistingPhoto() {\n        var $template = $('#drawingTool-existingPhoto');\n        var data = window.homeModsVar;\n        renderPopupGrid($template, data.existingImages, $btnModifyPhoto, \"Choose existing photo\");\n    }\n\n    function initCanvas() {\n        $canvas.drawr({\n            enable_transparency: true,\n            enable_transparency_image: true,\n            enable_scrollwheel_zooming: false,\n            undo_max_levels: 99,\n            no_toolbox: !showTools, \n            // canvas_width: $container.width(),\n            // canvas_height: $container.width() * (4/3),\n        });\n\n        $canvas.drawr(\"start\");\n    }\n\n    var m = {\n        init: function (fileUploadObj, $fileUploadEl) {\n            initCanvas();\n            handleBtnSave(fileUploadObj, $fileUploadEl);\n            handleBtnClear();\n            // handleBtnDelete();\n            \n            if (showTools) {\n                handleOpenPhoto();\n                handleGridTemplate();\n                handleModifyExistingPhoto();\n            }\n\n            // set callback for delete\n            // update existing images with current file list\n            fileUploadObj.onDeleteSuccess = function(fileNameList, isModifying) {\n                var existingImages = window.homeModsVar.existingImages;\n                if (!isModifying) {\n                    existingImages = existingImages.filter(function(item) {\n                        return fileNameList.indexOf(item.name) !== -1;\n                    });\n                    window.homeModsVar.existingImages = existingImages;\n                }\n\n                var $template = $('#drawingTool-existingPhoto');\n                renderPopupItem($template, existingImages);\n            }\n\n            if (!showTools) {\n                $el.find('.drawr-toolbox').addClass('invisible');\n            }\n\n            m.resize();\n            // $(window).trigger('resize');\n        },\n        clear: function () {\n            $canvas.drawr(\"clear\");\n            $fileNameInput.val('');\n            $fileNameInput.prop('readonly', false);\n            $fileNameInput.data('is-modifying', false);\n            $filePicker.val('');\n        },\n        resize: function () {\n            // reposition canvas\n            $(window).on('resize', function () {\n                var containerPosition = $container.offset();\n                // $canvas.css({\n                //     left: containerPosition.left,\n                //     top: containerPosition.top,\n                //     width: $container.width(),\n                //     height: $container.height(),\n                // });\n\n                $container.find('.sfx-canvas').css({\n                    left: containerPosition.left,\n                    top: containerPosition.top,\n                    width: $container.width() - 1,\n                    height: $container.height(),\n                });\n\n                $el.find('.drawr-toolbox-brush').css({\n                    left: containerPosition.left,\n                    top: containerPosition.top,\n                })\n            });\n        }\n    }\n\n    return m;\n};\n","/*\n *\n * @see clientAddressBook.js\n * @see checkout\n *\n */\nCore.DVAInformation = {\n    init: function(data) {\n        function isSet(data, name) {\n            return data && typeof data[name] !== 'undefined';\n        }\n\n        Core.DVAInformation.Cache = {\n            root: isSet(data, \"root\") ? document.querySelector(data.root) : document,\n            datepickerInput: isSet(data, \"datepickerInput\") ? data.datepickerInput : \".form-date input\",\n            domActivites: isSet(data, \"domActivites\") ? data.domActivites : \"#DVAActivities\",\n            domBehaviour: isSet(data, \"domBehaviour\") ? data.domBehaviour : \"#DVABehaviour\",\n            domComplexHealthCare: isSet(data, \"domComplexHealthCare\") ? data.domComplexHealthCare : \"#DVAComplex\",\n            domFundingOtherType: isSet(data, \"domFundingOtherType\") ? data.domFundingOtherType : \"#DVAFundingOtherType\",\n            domFundingOtherNotes: isSet(data, \"domFundingOtherNotes\") ? data.domFundingOtherNotes : \"#DVAFundingOtherNotes\",\n        };\n\n        Core.DVAInformation.initPicker();\n        // Core.DVAInformation.addEventListenerRCF();\n        Core.DVAInformation.addEventListenerFundingOther();\n        Core.DVAInformation.initACFIClassification();\n    },\n\n    initPicker: function() {\n        function isDatePicker2() {\n            var elem = document.querySelector(Core.DVAInformation.Cache.datepickerInput);\n            return elem && elem.dataset && elem.dataset.datepicker2 === '';\n        }\n\n        isDatePicker2()\n            ? Core.DVAInformation.initDatePicker2()\n            : Core.DVAInformation.initKendoDatePicker();\n    },\n\n    initKendoDatePicker: function() {\n        var rootDom = Core.DVAInformation.Cache.root;\n        var $el = $(rootDom.querySelectorAll(Core.DVAInformation.Cache.datepickerInput));\n\n        if (! $el || $el.length === 0) {\n            return;\n        }\n\n        $el.kendoDatePicker({\n            format: \"dd/MM/yyyy\",\n            start: Core.PortalCheckout.todayDate(),\n            footer: '<span></span>',\n            change: function (e) {\n                $(this.element).removeClass('error');\n                $(this.element).trigger('blur');\n            }\n        });\n\n        //make the input readonly\n        $el.prop('readonly', true);\n\n        $el.on('click', function () {\n            $(this).data('kendoDatePicker').open();\n        });\n\n        $el.parent().find('[role=\"button\"]').on('click', function () {\n            var input = $(this).parent().find('input');\n\n            if (!input.prop('disabled')) {\n                setTimeout(function() {\n                    $(this).parent().find('input').data('kendoDatePicker').open();\n                }, 100);\n            }\n        });\n\n        $el.on('blur', function (e) {\n            Core.PortalCheckout.calendarOnBlur($(this));\n        });\n    },\n\n    initDatePicker2: function() {\n        var rootDom = Core.DVAInformation.Cache.root;\n\n        Array\n            .from(rootDom.querySelectorAll(Core.DVAInformation.Cache.datepickerInput))\n            .forEach(function(itm) {\n                Core.DatePicker2(itm).init()\n            });\n    },\n\n    /*\n    addEventListenerRCF: function() {\n        var rootDom = Core.DVAInformation.Cache.root;\n        var radios = rootDom.querySelectorAll('[name=\"DVAResidentialCareFacility\"], [name=\"ResidentialCareFacility\"]');\n        var optionsContainer = rootDom.querySelector('.rcf-options');\n\n        function resetSelect() {\n            var $domActivites = $(Core.DVAInformation.Cache.domActivites);\n            var $domBehaviour = $(Core.DVAInformation.Cache.domBehaviour);\n            var $domComplexHealthCare = $(Core.DVAInformation.Cache.domComplexHealthCare);\n            var list = [$domActivites, $domBehaviour, $domComplexHealthCare];\n\n            if (!$domActivites || !$domBehaviour || !$domComplexHealthCare) {\n                return;\n            }\n\n            list.forEach(function(item) {\n\n                var $kItem = item.data(\"kendoDropDownList\");\n                $kItem\n                    && ( $kItem.value('')\n                        , $kItem.trigger('change') );\n            });\n        }\n\n        function onChange(e) {\n            var target = e.currentTarget;\n            if ($(target).prop('readonly')) {\n                e.preventDefault();\n                return;\n            }\n\n            var currentValue = target.value.toLowerCase();\n            var isVisible = (currentValue === 'yes' || currentValue === 'true');\n\n            isVisible\n                ? optionsContainer.classList.remove('d-none')\n                : optionsContainer.classList.add('d-none');\n\n            ! isVisible\n                && resetSelect();\n\n            // check if in viewport, if not scroll to view\n            if (isVisible) {\n              var $closestRow = $(target).closest('.row');\n              if ($closestRow && $closestRow.length > 0) {\n                $closestRow.get(0).scrollIntoView();\n              }\n            }\n        }\n\n        function addListeners(elem) {\n            elem.addEventListener('change', onChange);\n        }\n\n        Array.from(radios).forEach(addListeners);\n    },\n    */\n\n    addEventListenerFundingOther: function() {\n        var rootDom = Core.DVAInformation.Cache.root;\n        var radios = rootDom.querySelectorAll('[name=\"DVAFundingOther\"], [name=\"FundingOther\"]');\n        var optionsContainer = rootDom.querySelector('.fundingother-options');\n\n        function resetSelect() {\n            var $domFundingOtherType = $(Core.DVAInformation.Cache.domFundingOtherType);\n            var list = [$domFundingOtherType];\n\n            if (!$domFundingOtherType) {\n                return;\n            }\n\n            list.forEach(function(item) {\n                var $kItem = item.data(\"kendoDropDownList\");\n                $kItem.value('');\n                $kItem.trigger('change');\n            });\n        }\n\n        function resetNotes() {\n            var $domFundingOtherNotes = $(Core.DVAInformation.Cache.domFundingOtherNotes);\n            $domFundingOtherNotes &&\n                $domFundingOtherNotes.val('');\n        }\n\n        function onChange(e) {\n            var target = e.currentTarget;\n            if ($(target).prop('readonly')) {\n                e.preventDefault();\n                return;\n            }\n\n            var currentValue = target.value.toLowerCase();\n            var isVisible = (currentValue === 'yes' || currentValue === 'true');\n\n            isVisible\n                ? optionsContainer.classList.remove('d-none')\n                : optionsContainer.classList.add('d-none');\n\n            ! isVisible\n                && ( resetSelect()\n                   , resetNotes());\n\n             // check if in viewport, if not scroll to view\n            if (isVisible) {\n              var $closestRow = $(target).closest('.row');\n              if ($closestRow && $closestRow.length > 0) {\n                $closestRow.get(0).scrollIntoView();\n              }\n            }\n        }\n\n        function addListeners(elem) {\n            elem.addEventListener('change', onChange);\n        }\n\n        Array.from(radios).forEach(addListeners);\n    },\n\n    initACFIClassification: function() {\n        var rootDom = Core.DVAInformation.Cache.root;\n        var $domActivites = $(Core.DVAInformation.Cache.domActivites);\n        var $domBehaviour = $(Core.DVAInformation.Cache.domBehaviour);\n        var $domComplexHealthCare = $(Core.DVAInformation.Cache.domComplexHealthCare);\n        var domACFI = rootDom.querySelector('#acfi');\n        var domACFIShow = rootDom.querySelector('.acfi-show');\n\n        function executeCallback(clb) {\n            clb();\n        };\n\n        if (!$domActivites || !$domBehaviour || !$domComplexHealthCare || !domACFI || !domACFIShow) {\n            return;\n        }\n\n\n        var d = {\n            _activities: '',\n            _behaviour: '',\n            _complexHealthCare: '',\n\n            subscriberList: {\n                activities: [],\n                behaviour: [],\n                complexHealthCare: [],\n            },\n\n            set activities(activities) {\n                this._activities = activities;\n\n                d.subscriberList.activities.forEach(executeCallback);\n            },\n\n            set behaviour(behaviour) {\n                this._behaviour = behaviour;\n\n                d.subscriberList.behaviour.forEach(executeCallback);\n            },\n\n            set complexHealthCare(complexHealthCare) {\n                this._complexHealthCare = complexHealthCare;\n\n                d.subscriberList.complexHealthCare.forEach(executeCallback);\n            },\n\n            get acfi() {\n                var acfi = this._activities + this._behaviour + this._complexHealthCare;\n\n                return acfi.length === 3 ? acfi : '';\n            },\n\n            subscribe(name, callback) {\n                d.subscriberList[name].push(callback);\n            }\n        };\n\n\n        function loadValues() {\n            d.activities = $domActivites.val();\n            d.behaviour = $domBehaviour.val();\n            d.complexHealthCare = $domComplexHealthCare.val();\n        }\n\n        function updateACFI() {\n            domACFI.value = d.acfi;\n            domACFIShow.innerText = d.acfi;\n        }\n\n\n        loadValues();\n\n        d.subscribe('activities', updateACFI);\n        d.subscribe('behaviour', updateACFI);\n        d.subscribe('complexHealthCare', updateACFI);\n\n        $domActivites.data(\"kendoDropDownList\") &&\n            $domActivites.data(\"kendoDropDownList\").bind(\"change\", function() {\n                d.activities = $domActivites.data(\"kendoDropDownList\").value();\n            });\n\n        $domBehaviour.data(\"kendoDropDownList\") &&\n            $domBehaviour.data(\"kendoDropDownList\").bind(\"change\", function() {\n                d.behaviour = $domBehaviour.data(\"kendoDropDownList\").value();\n            });\n\n        $domComplexHealthCare.data(\"kendoDropDownList\") &&\n            $domComplexHealthCare.data(\"kendoDropDownList\").bind(\"change\", function() {\n                d.complexHealthCare = $domComplexHealthCare.data(\"kendoDropDownList\").value();\n            });\n    },\n\n    /*\n\n        data\n\n        Core.DVAInformation.isValid({\n            dvaCardType: \"#DVACardType\",\n            dvaDOB: \"#DVADOB\",\n            dvaRCF: \"#yes_rcf\",\n            dvaADL: \"#DVAActivities\",\n            dvaBEH: \"#DVABehaviour\",\n            dvaCHC: \"#DVAComplex\",\n            dvaFundingOther: #FundingOther,\n            dvaFundingOtherType: #FundingOtherType,\n        });\n\n\n     */\n    isValid: function(data) {\n        if (data === null) {\n            true;\n        }\n\n        var isValid = true;\n        var errorList = [];\n\n        function checkIsValid(selectValidator) {\n            isValid = selectValidator.isValid() && isValid;\n\n            if (!selectValidator.isValid()) {\n                selectValidator.elemSelector && errorList.push(selectValidator.elemSelector);\n            }\n        }\n\n        function isDatePicker2() {\n            var elem = document.querySelector(data.dvaDOB);\n            return elem && elem.dataset && elem.dataset.datepicker2 === '';\n        }\n\n        var dvaCardType = SelectValidator(data.dvaCardType);\n        var dvaDOB = isDatePicker2() ? DatePicker2Validator(data.dvaDOB) : DateInputValidator(data.dvaDOB);\n        var dvaRCF = document.querySelector(data.dvaRCF);\n\n        var dvaFundingOtherType = SelectValidator(data.dvaFundingOtherType);\n        var dvaFundingOther = document.querySelector(data.dvaFundingOther);\n\n        // var dvaADL = SelectValidator(data.dvaADL);\n        // var dvaBEH = SelectValidator(data.dvaBEH);\n        // var dvaCHC = SelectValidator(data.dvaCHC);\n\n        if (!dvaCardType || !dvaDOB || !dvaRCF) { // || !dvaADL || !dvaBEH || !dvaCHC\n            // in case no items it's valid\n            return true;\n        }\n\n        [dvaCardType, dvaDOB].forEach(checkIsValid);\n\n        // if (dvaRCF.checked) {\n        //     [dvaADL, dvaBEH, dvaCHC].forEach(checkIsValid);\n        // }\n\n        if (dvaFundingOther && dvaFundingOther.checked) {\n            [dvaFundingOtherType].forEach(checkIsValid);\n        }\n\n        // check position between custom error (card type and funding other type dropdown) and form fields\n        var top = 0;\n        if (errorList.length > 0) {\n            errorList.forEach(function(item, i) {\n                var offsetTop = item && $(item).closest('.k-dropdownlist').offset().top;\n                if (i === 0 || offsetTop > top) {\n                    top = offsetTop;\n                }\n            });\n        }\n\n        // check first error\n        var $form = $(data.dvaCardType).closest('form');\n        if ($form && $form.length > 0) {\n            var firstError = $form.find('.error:visible').first();\n            if (firstError && firstError.length > 0) {\n                var errorTop = firstError.offset().top;\n\n                // compare which top is lower\n                if (top === 0 || errorTop < top) {\n                    top = errorTop;\n                }\n            }\n        }\n\n        // check if within modal or not\n        // if ($form.closest('.k-window-content').length > 0) {\n        //     $form.find('div[class*=__content]').animate({\n        //         scrollTop: top\n        //     }, 300);\n        // } else {\n        // }\n        \n        top && Core.ScrollToView(top - 30);\n        return isValid;\n    },\n\n    isValidDischarged: function(data) {\n        if (data === null) {\n            true;\n        }\n\n        var isValid = true;\n\n        function checkIsValid(selectValidator) {\n            isValid = selectValidator.isValid() && isValid;\n        }\n\n        var dvaDOD = DateInputValidator(data.dvaDOD);\n        var dvaHospitalDischarge = document.querySelector(data.dvaHospitalDischarge);\n\n        if (!dvaDOD || !dvaHospitalDischarge) {\n            // in case no items it's valid\n            return true;\n        }\n\n        if (dvaHospitalDischarge.checked) {\n            [dvaDOD].forEach(checkIsValid);\n        }\n\n        return isValid;\n    }\n};\n","Core.FileUpload = function(elem) {\n    var NS = $(elem).closest('.portal-checkout__accordion-item').prop('id') || '';\n\n    function fireEvent(name) {\n        var event = new CustomEvent(name);\n        document.dispatchEvent(event);\n    }\n\n    /*\n\n        DATASET\n\n     */\n\n    function hasDataset(elem, name) {\n        return elem &&\n               elem.dataset &&\n               typeof elem.dataset[name] !== 'undefined';\n    }\n\n    function warnData(name) {\n        console.warn('Fileupload data for ' + name + ' missing');\n        return;\n    }\n\n    function getDataset(elem, name) {\n        return hasDataset(elem, name)\n                            ? elem.dataset[name]\n                            : warnData(name);\n    }\n\n    function getFileAllowed(elem) {\n        var fileAllowedRaw = hasDataset(elem, 'fileAllowed')\n                                ? elem.dataset.fileAllowed\n                                : '';\n\n        if (fileAllowedRaw.trim() === '') {\n            return [];\n        }\n\n        var fileAllowed = fileAllowedRaw\n                                .trim()\n                                .split(',')\n                                .map(function(el) {\n                                    return el.trim().toLowerCase()\n                                }).filter(function(el) {\n                                    return (el.length > 0);\n                                });\n\n        return fileAllowed;\n    }\n\n    /*\n\n        EVENTS\n\n     */\n\n    function preventDefaults (e) {\n        e.preventDefault();\n        e.stopPropagation();\n    }\n\n    function getFileHtml(id, name) {\n        return \"<div class='fileUpload-file' data-file-id=\" + id + \">\" +\n                \"<span class='icon-file'></span> \" +\n                \"<span class='fileUpload-filename'>\" + name + \"</span>\" +\n                \"<div class='fileUpload-trail'></div>\" +\n                \"<span class='fileUpload-loading'></span></div>\";\n    }\n\n    function addDeleteButton(elem, name) {\n        $(elem).find('.fileUpload-loading').remove();\n        $(elem).append(\"<button class='fileUpload-delete' aria-label='Delete file: \" + name + \"' title='Delete file: \" + name + \"'> <span class='icon-delete'></span> </button>\");\n    }\n\n    function appendHidden(elem, className, value) {\n        $(elem).append('<input type=\"hidden\" class=\"' + className + '\" value=\"' + value + '\">');\n    }\n\n    function recalculateHiddenFieldsNames(className) {\n        var reorderName = function(elem, i) {\n                              elem.name = className + '[' + i + ']';\n                          };\n\n        var list = el.elem.querySelectorAll('.' + className);\n\n        Array.from(list).forEach(reorderName);\n    }\n\n\n    /*\n\n\n        DOM\n\n\n     */\n\n    function getFileNameList() {\n        var list = el.fileList.querySelectorAll('.fileUpload-filename');\n\n        function getText(nodeDOM) {\n            return nodeDOM.innerText;\n        }\n\n        return Array.from(list).map(getText);\n    }\n\n    var el = {\n        elem: elem,\n        input: elem.querySelector('.fileUpload-input'),\n        target: elem.querySelector('.fileUpload-target'),\n        fileList: elem.querySelector('.fileUpload-fileList'),\n        errorWrap: elem.querySelector('.form-input'),\n        errorText: elem.querySelector('.error'),\n    };\n\n    var data = {\n        uploadId: getDataset(elem, 'uploadId'),\n        uploadClass: getDataset(elem, 'uploadClass'),\n        originalFileNameClass: getDataset(elem, 'originalFileNameClass'),\n        apiUpload: getDataset(elem, 'apiUpload'),\n        apiDelete: getDataset(elem, 'apiDelete'),\n        fileSize: getDataset(elem, 'fileSize') || 5,\n        fileAllowed: getFileAllowed(elem),\n        fileNameList: getFileNameList(),\n        isMultiple: (typeof el.input.attributes['multiple'] !== 'undefined')\n    };\n\n    // Methods\n    var m = {\n        init: function() {\n            if (typeof data.uploadId === 'undefined' ||\n                typeof data.apiUpload === 'undefined' ||\n                typeof data.apiDelete === 'undefined') {\n                return;\n            }\n\n            m.boot();\n        },\n\n        boot: function() {\n            m.onDragAndDrop();\n            m.onClickDelete();\n        },\n\n        onDragAndDrop: function() {\n            // Prevent default drag behaviors\n            [\n                'dragenter',\n                'dragover',\n                'dragleave',\n                'drop'\n            ].forEach(function(eventName) {\n                el.target.addEventListener(eventName, preventDefaults, false);\n                document.body.addEventListener(eventName, preventDefaults, false);\n            });\n\n            // Highlight drop area when item is dragged over it\n            ['dragenter', 'dragover'].forEach(function(eventName) {\n                el.target.addEventListener(eventName, function(e) { elem.classList.add('fileUpload-highlight'); }, false);\n            });\n\n            ['dragleave', 'drop'].forEach(function(eventName) {\n                el.target.addEventListener(eventName, function(e) { elem.classList.remove('fileUpload-highlight'); }, false);\n            });\n\n            el.target.addEventListener('drop', function(e) { Array.from(e.dataTransfer.files).forEach(m.uploadFile); }, false);\n\n            // enable upload same file after delete\n            el.input.addEventListener('keydown', function() { this.value = null; });\n            el.input.addEventListener('click', function() { this.value = null; });\n            el.input.addEventListener('change', function(e) { Array.from(e.target.files).forEach(m.uploadFile); }, false);\n        },\n\n        showError: function(msg) {\n            el.errorWrap.classList.remove('d-none');\n            el.errorText.innerText = msg;\n        },\n\n\n        /*\n\n\n            UPLOAD\n            allowSameName: allow upload same file name (Modify existing photo)\n\n         */\n\n        uploadFile: function(file, i, successCb, failCb, allowSameName) {\n            if (!allowSameName && data.isMultiple && data.fileNameList.includes(file.name)) {\n                m.showError('Upload file with the same name is not allowed');\n                if (failCb && typeof failCb === 'function') failCb();                    \n                return;\n            }\n\n            if (! data.isMultiple && data.fileNameList.length === 1) {\n                m.showError('You can only upload only one file. Delete the current file before upload.');\n                if (failCb && typeof failCb === 'function') failCb();\n                return;\n            }\n\n            if (data.fileAllowed.length > 0) {\n                var extension = file.name.split('.').length > 1\n                                ? file.name.toLowerCase().split('.').pop()\n                                : '';\n\n                if (data.fileAllowed.indexOf(extension) === -1) {\n                    m.showError('File extension \"' + extension + '\" is not allowed');\n                    if (failCb && typeof failCb === 'function') failCb();\n                    return;\n                }\n            }\n\n            if ((file.size / (1000 * 1000)).toFixed(2) > parseInt(data.fileSize)) {\n                m.showError(`The maximum file size allowed is ${data.fileSize}MB`);\n                if (failCb && typeof failCb === 'function') failCb();\n                return;\n            }\n\n            var formData = new FormData();\n            formData.append('uploadId', data.uploadId);\n            formData.append('file', file);\n            formData.append('fileSize', parseInt(data.fileSize));\n\n            var inputId = i + '-' + Date.now();\n\n            (data.isMultiple)\n                ? $(el.fileList).append(getFileHtml(inputId, file.name))\n                : $(el.fileList).html(getFileHtml(inputId, file.name));\n\n            el.errorWrap.classList.add('d-none');\n\n            if (!allowSameName) {\n                data.fileNameList.push(file.name);\n            }\n\n            $.ajax({\n                type: 'POST',\n                url: data.apiUpload,\n                data: formData,\n                processData: false,\n                contentType: false,\n                success: function(resp) {\n                    var elem = el.elem.querySelector('[data-file-id=\"' + inputId + '\"]');\n                    resp = typeof resp === 'string' ? JSON.parse(resp) : resp;\n\n                    elem\n                        && ( setTimeout(function() { addDeleteButton(elem, file.name); }, 250)\n                           , appendHidden(elem, data.uploadClass, resp.hash)\n                           , recalculateHiddenFieldsNames(data.uploadClass)\n                           , appendHidden(elem, data.originalFileNameClass, resp.originalFileName)\n                           , recalculateHiddenFieldsNames(data.originalFileNameClass)\n                           , fireEvent(`${NS ? NS + '.' : ''}fileUploaded`)\n                        );\n                    \n                    if (successCb && typeof successCb === 'function') {\n                        successCb(resp);\n                    }\n                },\n                error: function(error) {\n                    var elem = el.elem.querySelector('[data-file-id=\"' + inputId + '\"]');\n\n                    data.fileNameList = data.fileNameList.filter(function(fileName) { return fileName !== file.name; });\n\n                    error.responseText\n                        ? m.showError('Error Occurred: ' + error.responseText)\n                        : m.showError('Error uploading ' + file.name + ' try later');\n\n                    elem\n                        && $(elem).remove();\n\n                    if (failCb && typeof failCb === 'function') failCb();\n                }\n            });\n        },\n\n\n        /*\n\n\n            DELETE\n\n\n         */\n\n        onClickDelete: function() {\n            el.fileList.addEventListener('click', preventDefaults, false);\n            el.fileList.addEventListener('click', m.handleDelete, false);\n        },\n\n        handleDelete: function(e) {\n            function isDeleteButton(elem) {\n                return (elem.classList.contains('fileUpload-delete') || elem.classList.contains('icon-delete'));\n            }\n\n            function hasFileId(elem) {\n                var fileRow = findFileRow(elem, 0);\n                var fileId = fileRow.querySelector('input[type=hidden]');\n\n                return (fileId);\n            }\n\n            function getFileId(elem) {\n                var fileRow = findFileRow(elem, 0);\n                var fileId = fileRow.querySelector('input[type=hidden]');\n\n                return fileId.value;\n            }\n\n            function findFileRow(elem, attempt) {\n                if (elem.parentElement.classList.contains('fileUpload-file')) {\n                    return elem.parentElement;\n                }\n\n                if (attempt > 2) {\n                    return;\n                }\n\n                return findFileRow(elem.parentElement, attempt + 1);\n            }\n\n            function deleteFileRow(elem) {\n                var fileRow = findFileRow(elem, 0);\n\n                fileRow\n                    && $(fileRow).remove();\n            }\n\n            /*\n\n\n                Remove file name from file data.fileNameList.\n                This is to allow re-upload a file after deletion.\n\n\n             */\n            function freeFileNameFromFileList(elem) {\n                // is modifying, skip filter out\n                if (elem.dataset.isModifying) return;\n\n                var fileRow = findFileRow(elem, 0);\n                var fileNameDom = fileRow && fileRow.querySelector('.fileUpload-filename');\n\n                function filterOutFile(fileName) {\n                    return fileName !== fileNameDom.innerText;\n                }\n\n                fileNameDom &&\n                    (data.fileNameList = data.fileNameList.filter(filterOutFile));\n            }\n\n            function callApiDelete(elem) {\n                var formData = new FormData();\n                var isModifying = elem.dataset.isModifying;\n                formData.append('uploadId', data.uploadId);\n                formData.append('fileId', getFileId(elem));\n\n                $.ajax({\n                    type: 'POST',\n                    url: data.apiDelete,\n                    data: formData,\n                    processData: false,\n                    contentType: false,\n                    success: function(resp) {\n                        deleteFileRow(elem);\n                        freeFileNameFromFileList(elem);\n                        fireEvent(`${NS ? NS + '.' : ''}fileDeleted`);\n                        // delete from vars\n                        if (m.onDeleteSuccess && typeof m.onDeleteSuccess === 'function') m.onDeleteSuccess(data.fileNameList, isModifying);\n                    },\n                    error: function(error) {\n                        m.showError('Error Occurred: ' + error.responseText);\n                    }\n                });\n            }\n\n            isDeleteButton(e.target)\n                && hasFileId(e.target)\n                && callApiDelete(e.target);\n        },\n\n        onDeleteSuccess: null,\n    };\n\n    return m;\n};\n","\n\nCore.FinalisePayment = {\n    init: function () {\n        Core.FinalisePayment.Cache = {\n            $termAndConditionLink: $('.termAndConditionPopup'),\n            $btnAgreePopup: $('#btnAgreePopup'),\n            $btnCancelPopup: $('#btnCancelPopup'),\n            $termsCheckbox: $('#termsAndConditionsCheckbox'),\n            $btnPay: $('#btnPayNow'),\n        };\n\n        this.setPopup();\n        this.initTooltip();\n        this.handleTacCheckbox();\n        this.btnAgreeClickHandle();\n        this.btnCancelClickHandle();\n    },\n\n    btnAgreeClickHandle: function () {\n        Core.FinalisePayment.Cache.$btnAgreePopup.on('click', function (e) {\n            e.stopPropagation();\n            Core.FinalisePayment.checkTacCheckbox(true);\n            Core.FinalisePayment.showPopup($('#tacPopup'), false);\n        });\n    },\n\n    btnCancelClickHandle: function () {\n        Core.FinalisePayment.Cache.$btnCancelPopup.on('click', function (e) {\n            e.stopPropagation();\n            Core.FinalisePayment.checkTacCheckbox(false);\n            Core.FinalisePayment.showPopup($('#tacPopup'), false);\n        });\n    },\n\n    handleTacCheckbox: function () {\n        Core.FinalisePayment.Cache.$termsCheckbox.on('change', function (e) {\n            //keep chekbox unchanged\n            var isChecked = this.checked;\n            this.checked = !isChecked;\n            $.uniform.update('#termsAndConditionsCheckbox');\n\n            Core.FinalisePayment.showPopup($('#tacPopup'), true);\n        });\n    },\n\n    checkTacCheckbox: function (isSelected) {\n        var _self = Core.FinalisePayment;\n\n        _self.Cache.$termsCheckbox.prop('checked', isSelected);\n        $.uniform.update('#termsAndConditionsCheckbox');\n\n        _self.enablePayBtn(isSelected);\n    },\n\n    isTermChecked: function() {\n        var _self = Core.FinalisePayment;\n\n        return _self.Cache.$termsCheckbox.prop('checked');\n    },\n\n    enablePayBtn: function (doEnable) {\n        $('#btn-pay').prop('disabled', !doEnable);\n\n        if (typeof doEnable === \"undefined\" || doEnable === null) {\n            doEnable = true;\n        }\n\n        var _self = Core.FinalisePayment;\n\n        if (doEnable) _self.Cache.$btnPay.removeClass('disabled').prop('disabled', false);\n        else _self.Cache.$btnPay.addClass('disabled').prop('disabled', true);\n    },\n    initTooltip: function() {\n        $('#cvvTooltip').kendoTooltip({\n            width: 200,\n            position: \"top\",\n            show: function(e) {\n                this.popup.element.addClass('portal-tooltip text-center');\n            }\n        });\n    },\n    initPopup: function ($popup, title) {\n        var _self = Core.FinalisePayment;\n        var _width = 660,\n            _height = 350;\n\n        if (Core.IsMobile()) {\n            _width = Core.Cache.$window.width();\n        }\n\n        $popup.kendoWindow({\n            title: title,\n            width: _width,\n            visible: false,\n            iframe: false,\n            modal: true,\n            resizable: false,\n            actions: [\"Close\"],\n            pinned: true,\n            draggable: false,\n            animation: false,\n            appendTo: '#page-wrap'\n        });\n\n        var $closeBtn = $popup.find('.portal-modal__btn-close');\n\n        if ($closeBtn) {\n            $closeBtn.on('click', function () {\n                _self.showPopup($popup, false);\n            });\n        }\n    },\n\n    showPopup: function ($popup, doShow) {\n        doShow = doShow == undefined || null ? true : doShow; //set default to true/show\n\n        var popupWindow = $popup.data(\"kendoWindow\");\n\n        if (doShow) {\n            popupWindow.center().open();\n        } else {\n            popupWindow.close();\n        }\n    },\n\n    setPopup: function () {\n        var _self = Core.FinalisePayment;\n\n        _self.initPopup($('#tacPopup'), \"TERMS &amp; CONDITIONS\");\n\n        _self.Cache.$termAndConditionLink.on('click', function (e) {\n            e.preventDefault();\n            Core.FinalisePayment.showPopup($('#tacPopup'), true);\n        });\n    },\n};\n\n\n","Core.Map = function(elem) {\n    var canvas = elem ? elem : document.getElementById(\"google-map-canvas\");\n    var map = null;\n    var zoomLevel = 4;\n    var lat = -28.926;\n    var lng = 134.175;\n\n\n    /*\n\n\n        METHODS\n\n\n     */\n\n    var m = {\n        init: function() {\n            m.createMap();\n        },\n\n        createMap: function () {\n            var options = {\n                disableDefaultUI: true,\n                scrollWheel: false,\n                draggable: true,\n                streetViewControl: false,\n                zoom: zoomLevel,\n                zoomControl: true,\n                zoomControlOptions: {\n                    style: google.maps.ZoomControlStyle.SMALL,\n                    position: google.maps.ControlPosition.RIGHT_TOP\n                },\n                minZoom: 1,\n                center: new google.maps.LatLng(lat, lng),\n                mapTypeId: google.maps.MapTypeId.ROADMAP\n            };\n\n            map = new google.maps.Map(canvas, options);\n            canvas.classList.add('inited');\n        },\n\n        /*\n         * @param data { Latitude:string, Longitude: string, Name: string}[]\n         * @return void\n         */\n        plotMarkers: function (data) {\n            data.forEach(function(item) {\n                new google.maps.Marker({\n                    position: new google.maps.LatLng(item.Latitude, item.Longitude),\n                    map: map,\n                    title: item.Name,\n                    icon: Core.Config.StoreFinder.MarkerIconPath\n                });\n            });\n        },\n\n        resetCenter: function() {\n            map.setCenter({ lat: lat, lng: lng });\n            map.setZoom(Core.IsMobile() ? 3 : 4);\n        },\n\n        setState: function(state) {\n            var lat, lng, zoomLevel;\n\n            switch (state) {\n                case 'act':\n                    if (Core.IsMobile()) {\n                        zoomLevel = 6;\n                    } else {\n                        zoomLevel = 7;\n                    }\n                    lat = -35.308;\n                    lng = 149.124;\n                    break;\n                case 'nsw':\n                    zoomLevel = 6;\n                    lat = -33.253;\n                    lng = 148.921;\n                    break;\n                case 'vic':\n                    zoomLevel = 7;\n                    if ( Core.IsMobile()) {\n                        lat = -37.471;\n                        lng = 144.785;\n                    } else {\n                        lat = -36.390;\n                        lng = 144.235;\n                    }\n                    break;\n                case 'qld':\n                    zoomLevel = 6;\n                    if (Core.IsMobile()) {\n                        lat = -25.917;\n                        lng = 151.702;\n                    } else {\n                        lat = -23.803;\n                        lng = 145.571;\n                    }\n                    break;\n                case 'sa':\n                    if (Core.IsMobile()){\n                        zoomLevel = 5;\n                        lat = -30.000;\n                        lng = 136.209;\n                    } else {\n                        zoomLevel = 6;\n                        lng = 134.989;\n                        lat = -31.566;\n                    }\n                    break;\n                case 'wa':\n                    if ( Core.IsMobile() ) {\n                        zoomLevel = 5;\n                        lat = -24.1249304;\n                        lng = 111.9433776;\n                    } else {\n                        zoomLevel = 6;\n                        lat = -30.422;\n                        lng = 117.0266;\n                    }\n                    break;\n                case 'tas':\n                    zoomLevel = 7;\n                    lat = -41.965;\n                    lng = 146.628;\n                    break;\n                case 'nt':\n                    zoomLevel = 5;\n                    lat = -19.491;\n                    lng = 133.550;\n                    break;\n                default:\n                    if (Core.IsMobile()) {\n                        zoomLevel = 3;\n                    } else {\n                        zoomLevel = 4;\n                    }\n                    lat = -28.926;\n                    lng = 134.175;\n                    break;\n            }\n\n            map.setCenter({ lat: lat, lng: lng });\n            map.setZoom(zoomLevel);\n        },\n\n        goTo: function(_lat, _lng) {\n            lat = new Number(_lat);\n            lng = new Number(_lng);\n            map.setCenter(new google.maps.LatLng(lat, lng));\n            map.setZoom(15);\n        },\n\n        initList: function(mapList) {\n            function initGeneric(elem) {\n                var _map = new Core.Map(elem);\n                _map.init();\n\n                if (!elem.dataset || !elem.dataset.lng || !elem.dataset.lat) {\n                    return;\n                }\n\n                _map.plotMarkers([{\n                  \"Longitude\": elem.dataset.lng,\n                  \"Latitude\": elem.dataset.lat,\n                  \"Name\": elem.dataset.name || '',\n                }]);\n\n                _map.goTo(elem.dataset.lat, elem.dataset.lng)\n            }\n\n\n            Array.from(mapList).forEach(initGeneric);\n        },\n    };\n\n    return m;\n};\n","Core.MfaLogin = function () {\n    var CLS_HIDE = 'd-none';\n    var param = new URLSearchParams(window.location.search);\n    var id = param.get('id');\n    var $el = $('.mfaLogin');\n\n    function handleOption() {\n        $('.mfaLogin-option').on('click', function () {\n            Core.ShowPageLoading();            \n            var $btn = $(this);     \n            var authType = $btn.data('auth-type');\n            var api = $btn.data('auth-api');\n            var $box = $('.mfaLogin-box[data-auth-type=\"' + authType + '\"]');\n\n            switch (authType) {\n                case 'app':\n                    selectAuthApp(api, $box);\n                    break;\n                case 'sms':\n                    selectAuthSms(api, $box);\n                    break;\n                case 'email':\n                default:\n                    selectAuthEmail(api, $box);\n                    break;\n            }\n        });\n    }\n\n    function selectAuthApp(api, $box) {\n        $.ajax({\n            url: api,\n            data: { id: id },\n            type: 'POST',\n            dataType: 'json',\n            success: function (data) {\n                $box.find('.mfaLogin-qrCode img').prop('src', data.qrCode);\n                $box.find('.mfaLogin-code').html(data.code);\n                $('.mfaLogin-box').addClass(CLS_HIDE);\n                $box.removeClass(CLS_HIDE);\n                $box.find('.mfaLogin-body').removeClass(CLS_HIDE);\n            },\n            error: function (xhr, status, error) {\n                console.error({xhr, status, error});\n            },\n            complete: function () {\n                Core.HidePageLoading();\n            }\n        });\n    }\n\n    function selectAuthSms(api, $box) {\n        $.ajax({\n            url: api,\n            data: { id: id },\n            type: 'POST',\n            dataType: 'json',\n            success: function (data) {\n                if (!data.isSuccess) return;\n\n                $('.mfaLogin-box').addClass(CLS_HIDE);\n                if (data.requiredPhone) {\n                    $box.find('.mfaLogin-body[data-step-sms=\"phone\"]').removeClass(CLS_HIDE);\n                } else {\n                    $box.find('.mfaLogin-body[data-step-sms=\"otp\"]').removeClass(CLS_HIDE);\n                    $box.find('.mfaLogin-maskedPhone').html(data.mobileNumber);\n                }\n\n                $box.removeClass(CLS_HIDE);\n            },\n            error: function (xhr, status, error) {\n                console.error({xhr, status, error});\n            },\n            complete: function () {\n                Core.HidePageLoading();\n            }\n        });\n    }\n\n    function selectAuthEmail(api, $box) {\n        $.ajax({\n            url: api,\n            data: { id: id },\n            type: 'POST',\n            dataType: 'json',\n            success: function (data) {                \n                if (!data.isSuccess) return;\n\n                $('.mfaLogin-box').addClass(CLS_HIDE);\n                $box.find('.mfaLogin-body[data-step-email=\"otp\"]').removeClass(CLS_HIDE);\n                $box.find('.mfaLogin-maskedEmail').html(data.email);\n                $box.removeClass(CLS_HIDE);\n            },\n            error: function (xhr, status, error) {\n                console.error({xhr, status, error});\n            },\n            complete: function () {\n                Core.HidePageLoading();\n            }\n        });\n    }\n\n    function handleCancelButton() {\n        $('.mfaLogin-btnCancel').on('click', function (e) {\n            // if it's an anchor tag, redirect to href\n            if ($(this).is(\"a\")) return;\n\n            $('.mfaLogin-box, .mfaLogin-body').addClass(CLS_HIDE);\n            $('.mfaLogin-btnResendCode').prop('disabled', true);\n            $('.mfaLogin-error').html('');\n            $('.mfaLogin-form input').val('');\n\n            var $firstBox = $el.find('.mfaLogin-box:first');\n            $firstBox.removeClass(CLS_HIDE);\n            $firstBox.find('.mfaLogin-body').removeClass(CLS_HIDE);\n        });\n    }\n\n    // Verify button for app and sms\n    function handleVerifyButton() {\n        $el.find('form.mfaLogin-form__verify').on('submit', function (e) {\n            e.preventDefault();\n            var $form = $(this);\n            var $box = $form.closest('.mfaLogin-box');\n            if (!$form.valid()) return;\n\n            Core.ShowPageLoading();\n            var $error = $box.find('.mfaLogin-error');\n            var authType = $box.data('auth-type');\n            var api = '';\n\n            switch (authType) {\n                case 'app':\n                    api = $el.data('verify-app-api');\n                    break;                \n                case 'sms':\n                    api = $el.data('verify-sms-api');\n                    break;                \n                case 'email':\n                default:\n                    api = $el.data('verify-email-api');\n                    break;\n            }\n            var isSetup = $el.data('setup') === true || $el.data('setup') === \"true\";\n\n            $.ajax({\n                url: api,\n                data: { \n                    id: id, \n                    verificationCode: $form.find('input[name=\"verificationCode\"]').val(),\n                    trustedDevice: $form.find('input[name=\"trustedDevice\"]').is(':checked'),\n                },\n                type: 'POST',\n                dataType: 'json',\n                success: function (data) {\n                    if (data.isSuccess) {\n                        $error.addClass(CLS_HIDE);\n\n                        // is not setup, redirect to page\n                        if (isSetup) {\n                            $('.mfaLogin-box').addClass(CLS_HIDE);\n                            $('.mfaLogin-box[data-step=\"3\"], .mfaLogin-box[data-step=\"3\"] .mfaLogin-body').removeClass(CLS_HIDE); \n                            $('.mfaLogin-redirectLink').prop('href', data.urlPage);  \n\n                            Core.HidePageLoading();                        \n                            // Redirect to page after 5 seconds\n                            setTimeout(function () {\n                                window.location.href = data.urlPage;\n                            }, 5000);\n                        } else {\n                            window.location.href = data.urlPage;\n                        }\n\n                        return;\n                    } else {\n                        $error.html(data.message);\n                        $error.removeClass(CLS_HIDE);\n                        Core.HidePageLoading();\n                    }\n                },\n                error: function (xhr, status, error) {\n                    $error.html(status);\n                    $error.removeClass(CLS_HIDE);\n                    Core.HidePageLoading();\n                }\n            });\n        });\n    }\n\n    function handleVerifyPhoneButton() {\n        $el.find('form.mfaLogin-form__phone').on('submit', function (e) {\n            e.preventDefault();\n            var $form = $(this);\n            var $box = $form.closest('.mfaLogin-box');\n            if (!$form.valid()) return;\n\n            Core.ShowPageLoading();       \n            var $error = $box.find('.mfaLogin-error');\n            var api = $('.mfaLogin').data('verify-phone-api');\n\n            $.ajax({\n                url: api,\n                data: { \n                    id: id,\n                    mobileNumber: $box.find('#mobileNumber').val(),\n                },\n                type: 'POST',\n                dataType: 'json',\n                success: function (data) {\n                    if (data.isSuccess) {\n                        $error.addClass(CLS_HIDE);\n                        $box.find('.mfaLogin-maskedPhone').html(data.mobileNumber);\n                        $box.find('.mfaLogin-body[data-step-sms=\"phone\"]').addClass(CLS_HIDE);\n                        $box.find('.mfaLogin-body[data-step-sms=\"otp\"]').removeClass(CLS_HIDE);\n                        enableResendCode();           \n                    } else {\n                        $error.html(data.message);\n                        $error.removeClass(CLS_HIDE);\n                    }\n                },\n                error: function (xhr, status, error) {\n                    $error.html(status);\n                    $error.removeClass(CLS_HIDE);\n                },\n                complete: function () {\n                    Core.HidePageLoading();\n                }\n            });\n        });\n    \n    }\n\n    function enableResendCode() {\n        var $btn = $('.mfaLogin-btnResendCode');\n        var timeout = $btn.data('timeout');\n        setTimeout(() => {\n            $btn.prop('disabled', false);\n            $btn.removeClass(CLS_HIDE);\n        }, timeout || 10000); // default to 10 seconds\n    }\n\n    function handleResendCode() {\n        var resendClickCounter = 0;\n\n        $('.mfaLogin-btnResendCode').on('click', function () { \n            var $btn = $(this);\n            var api = $('.mfaLogin').data('resend-code-api');\n            var $box = $btn.closest('.mfaLogin-box');;\n            var $error = $box.find('.mfaLogin-error');\n            \n            if (resendClickCounter > 4) {\n                $btn.prop('disabled', true);\n                $error.html('You have reached the maximum number of resend code. Please try again later.');\n                $error.removeClass(CLS_HIDE);\n                return;\n            }\n\n            Core.ShowPageLoading();\n            $.ajax({\n                url: api,\n                data: { id: id },\n                type: 'POST',\n                dataType: 'json',\n                success: function (data) {\n                    $btn.prop('disabled', true);\n                    $btn.addClass(CLS_HIDE);\n                    if (data.isSuccess) {\n                        enableResendCode();           \n                        resendClickCounter++;\n                    } else {\n                        $error.html(data.message);\n                        $error.removeClass(CLS_HIDE);\n                    }\n                },\n                error: function (xhr, status, error) {\n                    console.error({xhr, status, error});\n                },\n                complete: function () {\n                    Core.HidePageLoading();\n                }\n            });\n        });\n    }\n\n    function initForm() {\n        $(\"input[type=checkbox]\").uniform();\n\n        $el.find('form').each(function () {\n            $(this).validate({\n                focusInvalid: false,\n                invalidHandler: function (form, validator) {\n\n                    if (!validator.numberOfInvalids())\n                        return;\n\n                    $(\".mfaLogin-error\").html('');\n                }\n            });\n        });\n    }\n\n    function handleRedirectBtn() {\n        $('.mfaLogin-redirectLink').on('click', function (e) {\n            Core.ShowPageLoading();\n        });\n    }\n\n    var m = {\n        init: function () {\n            initForm();\n            handleOption();\n            handleCancelButton();\n            handleVerifyButton();\n            handleVerifyPhoneButton();\n            handleResendCode();\n            handleRedirectBtn();\n\n            if ($el.data('setup') === false || $el.data('setup') === \"false\") {\n                enableResendCode();\n            }\n        },\n    };\n\n    return m;\n};","Core.MyAccountSupplierInstaller = (function() {\n    var $inputState = $(\".selectedState\");\n    var $inputInState = $(\".selectedInState\");\n\n    var $selectState = $(\"#dropdownState\");\n    var $selectInState = $(\"#dropdownInState\");\n\n    var $btnContinue = $(\"#btnSaveSupplierInstaller\");\n    var selectDefaultDom = document.querySelector(\"#dropdownInState option\");\n    var selectDefaultText = selectDefaultDom && selectDefaultDom.innerText || '';\n\n    var map = null;\n\n    function executeCallback(clb) {\n        clb();\n    };\n\n    /*\n\n\n        DATA\n\n\n     */\n\n    var d = {\n        state: '',\n        inState: '',\n\n        subscriberList: {\n            selectedState: [],\n            selectedInState: [],\n        },\n\n        set selectedState(state) {\n            this.state = state;\n            this.selectedInState = '';\n\n            d.subscriberList.selectedState.forEach(executeCallback);\n        },\n\n        get selectedState() {\n            return this.state;\n        },\n\n        set selectedInState(inState) {\n            this.inState = inState;\n\n            d.subscriberList.selectedInState.forEach(executeCallback);\n        },\n\n        get selectedInState() {\n            return this.inState;\n        },\n\n        subscribe(name, callback) {\n            d.subscriberList[name].push(callback);\n        }\n    };\n\n\n    /*\n\n\n        METHODS\n\n\n     */\n\n    var m = {\n        init: function() {\n            this.loadVar();\n            this.loadCallback();\n\n            this.updateState();\n            this.onStateChange();\n\n            this.updateInState();\n\n            this.updateDetails();\n\n            this.checkBtn();\n            this.initMap();\n            this.goTo();\n            this.initForm();\n        },\n\n        loadVar: function() {\n            d.selectedState = $inputState.val();\n            d.selectedInState = $inputInState.val();\n        },\n\n        loadCallback: function() {\n            d.subscribe('selectedState', m.updateInState);\n\n            d.subscribe('selectedInState', m.checkBtn);\n            d.subscribe('selectedInState', m.updateDetails);\n            d.subscribe('selectedInState', m.goTo);\n        },\n\n        /*\n\n\n            STATE\n\n\n         */\n\n        updateState: function() {\n            var selectedState = d.selectedState;\n\n            if (selectedState === '' || selectedState === 'all') {\n                return;\n            }\n\n            $selectState.data(\"kendoDropDownList\").value(selectedState);\n        },\n\n        onStateChange: function() {\n            function updateDataState() {\n                d.selectedState = $selectState.data(\"kendoDropDownList\").value();\n                $inputState.val(d.selectedState);\n                $inputInState.val(d.selectedInState);\n            };\n\n            $selectState.data(\"kendoDropDownList\").bind(\"change\", updateDataState);\n        },\n\n\n        /*\n\n\n            IN STATE\n\n\n         */\n\n        getInStatesList: function() {\n            var selectedState = d.selectedState;\n\n            function isInState(item) {\n                return item.State\n                    ? item.State.toLowerCase() === selectedState.toLowerCase()\n                    : false;\n            }\n\n            if (selectedState === '' || selectedState === 'all') {\n                return [{Name: selectDefaultText, \"Id\": \"\"}];\n            }\n\n\n            if (typeof window.DataJson === 'undefined' || typeof window.DataJson.Data === 'undefined') {\n                return [{Name: selectDefaultText, \"Id\": \"\"}];\n            }\n\n\n            var inStateList = window.DataJson.Data.filter(isInState);\n            return [{Name: selectDefaultText, \"Id\": \"\"}].concat(inStateList);\n        },\n\n        getInState: function() {\n            function isSelectedInState(item) {\n                return item.Id === d.selectedInState;\n            };\n\n            return m.getInStatesList().find(isSelectedInState);\n        },\n\n        updateInState: function() {\n            var selectedInState = d.selectedInState;\n            var itemList = m.getInStatesList();\n\n            $selectInState.kendoDropDownList({\n                dataSource: itemList,\n                dataTextField: \"Name\",\n                dataValueField: \"Id\"\n            });\n\n            $selectInState.data(\"kendoDropDownList\").value(selectedInState);\n            m.onInStateChange();\n        },\n\n        onInStateChange: function() {\n            function updateDataInState() {\n                d.selectedInState = $selectInState.data(\"kendoDropDownList\").value();\n                $inputInState.val(d.selectedInState);\n            };\n\n            $selectInState.data(\"kendoDropDownList\").bind(\"change\", updateDataInState);\n        },\n\n\n\n        /*\n\n\n            BUTTONS\n\n\n         */\n\n        checkBtn: function() {\n            var hasValidInState = (d.selectedInState !== '' && d.selectedState !== '');\n            $btnContinue.attr('disabled', !hasValidInState);\n        },\n\n\n\n        /*\n\n\n            DETAILS\n\n\n         */\n\n        updateDetails: function() {\n            var $desc = $('.desc');\n            var $details = $('.details');\n            var item = m.getInState();\n\n            if (!item.AddressLine1) {\n                $content = '&nbsp;';\n                $desc.show();\n                $details.html($content);\n                $details.hide();\n                return;\n            }\n\n            $content = '<h4 class=\"mb-2 mt-3\">' + item.Name + '</h4>'\n                        + '<p class=\"mb-0\">' + item.AddressLine1 + '</p>'\n                        + '<p class=\"mb-0\">' + item.Suburb + '</p>'\n                        + '<p class=\"mb-0\">' + item.State + ', ' + item.Postcode + '</p>'\n                        + '<p class=\"mb-0\">Phone: ' + item.Phone + '</p>'\n                        + (item.BusinessHours ? '<p class=\"mt-3\">Business Hours: </p> <div class=\"mt--3\">' + item.BusinessHours + '</div>' : '');\n\n            $desc.hide();\n            $details.html($content);\n            $details.show();\n        },\n\n        /*\n\n\n            MAP\n\n\n         */\n\n        initMap: function() {\n            var $mapCanvas = $(\"#google-map-canvas\");\n\n            if ($mapCanvas.length) {\n                var data = (typeof window.DataJson === 'undefined' || typeof window.DataJson.Data === 'undefined')\n                    ? []\n                    : window.DataJson.Data;\n\n                map = Core.Map($mapCanvas[0]);\n                map.init();\n                map.plotMarkers(data);\n            }\n        },\n\n        goTo: function() {\n            var item = m.getInState();\n\n            (!item.AddressLine1)\n                ? map.setState(d.selectedState)\n                : map.goTo(item.Latitude, item.Longitude);\n        },\n\n        initForm: function() {\n            var $form = $('.myAccountSupplierInstaller form');\n\n            $form.on('submit', function(e) {\n                e.preventDefault();\n                if ($form.valid()) {\n                    $.ajax({\n                        url: $form.attr('action'),\n                        data: $form.serialize(),\n                        type: 'POST',\n                        dataType: 'json',\n                        success: function (data) {\n                            var _$validationMessage = $form.find('.frm-validation-msg');\n                            _$validationMessage.hide();\n\n                            if (data.Success) {\n                                window.location.href = data.SuccessUrl;\n                            }\n                            else {\n                                _$validationMessage.html('<div class=\"error-msg\">' + data.ErrorMessage + '</div>').show();\n                            }\n                        },\n                        error: function (xhr, ajaxOptions, thrownError) {\n                            //todo: do something\n                        }\n                    });\n                }\n            });\n        },\n    };\n\n    return m;\n})();\n","Core.NewsEvents = {\n    Listing: function () {\n        Core.NewsEvents.Cache = {\n            $newsEventListingItems: $('#newsEventListingItems'),\n            $topic: $('#topicFilter'),\n            $trialBtn: $('#trial'),\n            $groupPrice: $('#groupPrice'),\n            $newsEventListing: $('#news-event-listing')\n        };\n\n        var _isLoading = false,\n            _pageNumber = 0,\n            _pageLinkId = Core.NewsEvents.Cache.$newsEventListing.data('pageid');\n\n        Core.RenderTemplate('#tpl-NewsEventListing', jsonResult, Core.NewsEvents.Cache.$newsEventListingItems);\n\n        Core.Cache.$window.scroll(function () {\n            if (Core.Cache.$window.scrollTop() + Core.Cache.$window.height() >= Core.Cache.$footer.offset().top && !_isLoading) {\n\n                if (jsonResult.ItemCount > 0 && (jsonResult.ItemCount !== Core.NewsEvents.Cache.$newsEventListingItems.children().length)) {\n                    _isLoading = true;\n                    Core.ShowPageLoading();\n                    _pageNumber += 1;\n                    $.ajax({\n                        url: '/newsandevents/list',\n                        data: { pageLinkId: _pageLinkId, topic: Core.NewsEvents.Cache.$topic.val(), pageNumber: _pageNumber },\n                        type: 'get',\n                        dataType: 'json',\n                        success: function (data) {\n                            var source = $('#tpl-NewsEventListing').html();\n                            var template = Handlebars.compile(source);\n\n                            Core.NewsEvents.Cache.$newsEventListingItems.append(template(data));\n                            _isLoading = false;\n                            Core.HidePageLoading();\n                        },\n                        error: function (xhr, ajaxOptions, thrownError) {\n                            //todo: do something\n                        }\n                    });\n                }\n            }\n        });\n\n        Core.NewsEvents.Cache.$topic.on('change', function (e) {\n            var _topicId = Core.NewsEvents.Cache.$topic.val();\n            var url = _topicId === 0 ? '' : '?category=' + _topicId;\n            window.location = location.protocol + '//' + location.host + location.pathname + url;\n        });\n    },\n    Details: function () {\n        try {\n            addthis.init();\n        }\n        catch (e) { }\n    }\n};","/*\n * Notes\n *\n *     Accordion states:\n *     - white green no tick [to do]   (portal-checkout__accordion-item)\n *     - green no tick       [current] (portal-checkout__accordion-item open)\n *     - grey, green tick    [done]    (portal-checkout__accordion-item collapsible passed)\n *     - grey, grey tick     [re-do]   (portal-checkout__accordion-item open passed)\n *\n */\nCore.PortalAccordion = {\n\tinit: function () {\n        Core.PortalAccordion.Cache = {\n            $accordionHeading: $('.portal-checkout__accordion-heading')\n        }\n\n        this.toggleAccordion();\n        this.handleReviewEditBtn();\n    },\n\n    getItem: function(itemId) {\n        var item = Array\n                    .from(Core.PortalAccordion.Cache.$accordionHeading)\n                    .find(function(item) { return item.parentElement.id === itemId});\n\n        !item\n            && console.log('Accordion item not found: #' + itemId);\n\n        return item;\n    },\n\n    setToDone: function(itemId) {\n        var item = Core.PortalAccordion.getItem(itemId);\n\n        item\n            && $(item.parentElement).addClass('collapsible passed');\n    },\n\n    clickItem: function(itemId) {\n        var item = Core.PortalAccordion.getItem(itemId);\n\n        item\n            && Core.PortalAccordion.disableNextAll(item);\n    },\n\n    toggleAccordion: function () {\n        Core.PortalAccordion.Cache.$accordionHeading.on('click', function(e){\n            e.preventDefault();\n\n            var $heading = $(this),\n                $content = $heading.siblings('.portal-checkout__accordion-content'),\n                $accordion = $heading.closest('.portal-checkout__accordion-item');\n            \n            if($accordion.hasClass('collapsible')) {\n                if(!$accordion.hasClass('in-animate')) {\n                    $accordion.addClass('in-animate').toggleClass('open');\n\n                    ($accordion.hasClass('open'))\n                        ? $content.slideDown(0)\n                        : $content.slideUp(0);\n\n                    // disable current accordion before submit\n                    Core.PortalAccordion.collapsePrevAll($heading);\n                    Core.PortalAccordion.disableNextAll($heading);\n\n                    setTimeout(function(){ \n                    \t$accordion.removeClass('in-animate'); \n                    }, 100);\n\n                    Core.PortalAccordion.scrollToActive();\n                }\n            }            \n        });\n    },\n\n    collapsePrevAll: function(elem) {\n        Core.PortalAccordion.collapseGenerator('prevAll')(elem);\n    },\n    collapseNextAll: function(elem) {\n        Core.PortalAccordion.collapseGenerator('nextAll')(elem);\n    },\n\n    disableNextAll: function (elem, current) {\n        var current = current || false;\n    \tvar $el = Core.PortalAccordion.getAccordion(elem);\n\n        $el.addClass('open').nextAll('.portal-checkout__accordion-item').removeClass(\"collapsible passed open\");\n        \n        if(current)\n        \t$el.removeClass(\"collapsible passed\"); \n        \n    },\n\n    getAccordion: function(elem) {\n        return $(elem).hasClass('portal-checkout__accordion-item')\n                        ? $(elem)\n                        : $(elem).closest('.portal-checkout__accordion-item');\n    },\n\n    collapseGenerator: function(action) {\n        return function(elem) {\n            var $el = Core.PortalAccordion.getAccordion(elem);\n\n            $el.addClass('open')[action]('.portal-checkout__accordion-item').removeClass(\"open\");\n        }\n    },\n\n    scrollToActive: function () {\n    \t$('html, body').animate({\n\t        scrollTop: $(\".portal-checkout__accordion-item.open\").offset().top\n\t    }, 500);\n    },\n\n    handleReviewEditBtn: function() {\n        $('#checkoutPayment').on('click', '.reviewSubmit__editBtn', function(e) {\n            e.preventDefault();\n            var accordionId = $(this).data('accordion-id');\n\n            if (accordionId) {\n                $(\"#\" + accordionId).find('.portal-checkout__accordion-heading').trigger('click');\n            }\n        });\n    },\n}\n","Core.PortalCheckout = {\n    SHOW: 'show',\n    REMOVE: 'remove',\n\n    init: function () {\n        Core.PortalCheckout.Cache = {\n            $calendar: $('input.portal-checkout__purchase-calendar'),\n            $accordionContent: $('.portal-checkout__accordion-content'),\n            $checkoutQuantity: $('.portal-checkout__purchase-column--qty input:visible'),\n            $inputQuantity: $(\".portal-checkout__purchase-qty\"),\n            $selectUserCheckout: $('.btnSelectUser'),\n            $clientDetailRadio: $('.portal-checkout__client-detail--radio input[type=radio]'),\n            $shippingCostRadio: $('input[name=\"shippingCostOptions\"]'),\n            $btnClientDetails: $('#btnClientDetails'),\n            $btnCheckoutSize: $('#frmSaveCart .btn-checkout-size'),\n            $hidNewClient: $('#hidNewClient'),\n\n            // Hospital Process\n            $hospitalLocationDetailsWrap: $('.portal-checkout__accordion-content__hospital-location-details'),\n            $hospitalLocationDetails: $('.portal-checkout__location--list-details'),\n        };\n\n        $(\"input[type=checkbox], input[type=radio]\").uniform();\n\n        // cart functions\n        this.checkoutCalendar();\n        this.initAndChangeNumericTextBox();\n        this.removeProductFromCart();\n        this.saveCartValidate();\n        this.checkCartItem();\n\n        // client functions\n        this.userCheckoutSelected();\n        this.updateUserListDisplay();\n        this.saveClientSubmit();\n        this.saveClientValidate();\n        this.saveConfirmValidate();\n        this.saveStaffValidate();\n        this.favBtnHandle();\n        this.handleBtnSubmit();\n        this.handleClientRefrenceNo();\n        this.hideClientMissingError();\n\n        // Hospital Process\n        this.handleHospitalLocationDetails();\n        this.listenHomeMod();\n        this.initComments();\n        \n        var stockIntegration = new Core.StockIntegration('checkout');\n        stockIntegration.init();\n\n        var resizeTimer;\n        $(window).on('resize', function (e) {\n            clearTimeout(resizeTimer);\n            resizeTimer = setTimeout(function () {\n                Core.PortalCheckout.updateClassRemove();\n            }, 100);\n        });\n    },\n\n    isEmptyCart: function() {\n        return ($('#frmSaveCart').text().trim() === 'You do not have any items in your cart');\n    },\n\n    refreshItems: function() {\n        var api = $('#frmSaveCart').data('refreshcartApi');\n\n        if (!api) {\n            return;\n        }\n\n        $.get(api, function (response) {\n            $('#frmSaveCart').replaceWith(response);\n            Core.PortalCheckout.init();\n\n            Core.PortalCheckout.isEmptyCart()\n                && Core.PortalAccordion.disableNextAll($('#checkoutCart'));\n        });\n    },\n\n    listenHomeMod: function() {\n        document.addEventListener('aidacare.home-mod-completed', Core.PortalCheckout.refreshItems);\n    },\n\n    initComments: function() {\n        var btnCheck = Core.CheckoutCommentContinueBtnCheck();\n\n        Array\n            .from(document.querySelectorAll('[data-comment=\"true\"]'))\n            .forEach(function(elem) {\n                Core.CheckoutComment(elem, btnCheck).init();\n            });\n    },\n\n    checkoutCalendar: function () {\n        Core.PortalCheckout.Cache.$calendar.each(function () {\n            var id = this.getAttribute('id');\n\n            if (id) {\n                if (Core.IsMobile()) {\n                    //set mobile native datepicker\n                    Core.PortalCheckout.initNativeDatepicker(this, id);\n                } else {\n                    Core.PortalCheckout.initKendoDatepicker(this, id);\n                }\n            }\n        });\n\n        Core.PortalCheckout.setCalendarVal();\n    },\n\n    //init mobile native datepicker\n    initNativeDatepicker: function (input, id) {\n        var onChange = function ($this) {\n            var $parent = $($this.parents('.inputwrap')[0])\n                , $errorWrap = $parent.find('.inputwrap-error')\n                , calVal = $this.val();\n\n            if ($parent.hasClass('is-required')) {\n                if (!calVal) {\n                    Core.PortalCheckout.insertErrorMsg($errorWrap, \"Required\");\n                } else {\n                    $errorWrap.empty();\n                }\n            }\n\n            //rent, start date handler\n            if ($el.hasClass('has-endDate')) {\n                var $endDate = $el.parents('.portal-checkout__purchase-column--startdate').siblings('.portal-checkout__purchase-column--enddate').find('input.endDate')\n                    , minVal = moment(calVal).add(1, 'd')._d;\n                $endDate.attr('min', moment(minVal).format('YYYY-MM-DD'));\n            }\n\n            //rent, end-date handler\n            if ($el.hasClass('endDate')) {\n                var $startDate = $el.parents('.portal-checkout__purchase-column--enddate').siblings('.portal-checkout__purchase-column--startdate').find('input.startDate')\n                    , maxVal = moment(calVal).subtract(1, 'd')._d;\n                $startDate.attr('max', moment(maxVal).format('YYYY-MM-DD'));\n            }\n\n            //rent-to-own\n            var weekToOwn = $el.data('weekstoown')\n                , newWeekToOwn;\n\n            if (typeof weekToOwn !== \"undefined\") {\n                var $span = $el.closest('tr').find('.portal-checkout__purchase-column--ownby span');\n                if (weekToOwn > 0)\n                    newWeekToOwn = Core.PortalCheckout.weekCalculation(calVal, weekToOwn);\n                else\n                    newWeekToOwn = Core.PortalCheckout.formatDate(calVal);\n\n                $span.html(newWeekToOwn);\n            }\n\n        };\n\n        var $el = $(\"#\" + id)\n            , today = moment(new Date)\n            , elVal = $el.val();\n\n        $el.attr('type', 'date');\n        $el.attr('min', moment().format('YYYY-MM-DD'));\n        if (elVal) {\n            //format from server side on loads\n            var date = moment(elVal, 'DD/MM/YYYY');\n            $el.val(date.format('YYYY-MM-DD'));\n        }\n\n        $el.on('change blur', function () {\n            onChange($(this));\n        });\n    },\n\n    initKendoDatepicker: function (input, id) {\n        var isEndDate = input.classList.contains('endDate')\n            , today = moment(new Date)\n            , $el = $(\"#\" + id)\n            , curVal = $el.val();\n\n        $el.kendoDatePicker({\n            format: \"dd/MM/yyyy\",\n            start: Core.PortalCheckout.todayDate(),\n            footer: \"<button onclick='Core.PortalCheckout.clearCalendar(\" + id + \")'>Clear</button>\",\n            min: isEndDate ? today.add(1, 'd')._d : today._d,\n            change: function (e) {\n                //use trigger blur so it only called once if calendar input change\n                $(this.element).trigger('blur');\n            }\n        });\n\n        //make the input readonly\n        $el.prop('readonly', true);\n        $el.on('click', function () {\n            $(this).data('kendoDatePicker').open();\n        });\n\n        $el.on('blur', function (e) {\n            Core.PortalCheckout.calendarOnBlur($(this));\n        });\n    },\n\n    setCalendarVal: function () {\n        Core.PortalCheckout.Cache.$calendar.each(function () {\n            var id = this.getAttribute('id')\n                , today = moment(new Date)\n                , $el = $(\"#\" + id)\n                , curVal = $el.val();\n\n            var elObj = $el.data('kendoDatePicker');\n            if (!Core.IsMobile() && curVal) {\n                curVal = Core.IsMobile() ? moment(curVal, \"YYYY-MM-DD\") : moment(curVal, \"D/MM/YYYY\");\n                //check if curval less than today\n                if (curVal.diff(today) < 0) {\n                    elObj.value(today.format('DD/MM/YYYY'));\n                    $el.trigger('blur');\n                } else {\n                    elObj.value(curVal.format('DD/MM/YYYY'));\n                }\n            }\n        });\n    },\n\n    calendarOnBlur: function ($this) {\n        var $parent = $($this.parents('.inputwrap')[0])\n            , $errorWrap = $parent.find('.inputwrap-error');\n\n        if ($parent.hasClass('is-required')) {\n            if (!$this.val()) {\n                $this.addClass(\"error\");\n                Core.PortalCheckout.insertErrorMsg($errorWrap, \"Required\");\n            } else {\n                $this.removeClass(\"error\");\n            }\n        }\n\n        //check if date is valid first\n        var dateVal = moment($this.val(), 'DD/MM/YYYY', true);\n        if ($this.val()) {\n            if (!dateVal.isValid()) {\n                $this.addClass(\"error\");\n                Core.PortalCheckout.insertErrorMsg($errorWrap, \"Invalid date\");\n            } else {\n                $this.removeClass(\"error\");\n                $errorWrap.empty();\n            }\n        }\n\n        Core.PortalCheckout.calendarOnChange($this.data('kendoDatePicker'));\n    },\n\n    calendarOnChange: function ($this) {\n        var $el = $this.element\n            , $span = $($el).closest('tr').find('.portal-checkout__purchase-column--ownby span')\n            , calVal = $this.value();\n\n        if (!calVal) {\n            $span.html('');\n            return;\n        }\n\n        //rent, start date handler\n        if ($el.hasClass('has-endDate')) {\n            var $end = $el.parents('.portal-checkout__purchase-column--startdate').siblings('.portal-checkout__purchase-column--enddate').find('input.endDate');\n            var $endDate = $end.data('kendoDatePicker');\n            var endVal = moment(calVal).add(1, 'd');\n            $endDate.min(endVal._d);\n            return;\n        }\n\n        //rent, end-date handler\n        if ($el.hasClass('endDate')) {\n            var $start = $el.parents('.portal-checkout__purchase-column--enddate').siblings('.portal-checkout__purchase-column--startdate').find('input.startDate');\n            var $startDate = $start.data('kendoDatePicker');\n            var maxVal = moment(calVal).subtract(1, 'd');\n            $startDate.max(maxVal._d);\n            return;\n        }\n\n        //rent-to-own\n        var weekToOwn = $el.data(\"weekstoown\")\n            , newWeekToOwn;\n\n        if (typeof weekToOwn !== \"undefined\") {\n            if (weekToOwn > 0)\n                newWeekToOwn = Core.PortalCheckout.weekCalculation(calVal, weekToOwn);\n            else\n                newWeekToOwn = Core.PortalCheckout.formatDate(calVal);\n\n            $span.html(newWeekToOwn);\n        }\n    },\n\n    clearCalendar: function (el) {\n        var $errorWrap = $(el).find('.inputwrap-error')\n        $(el).data(\"kendoDatePicker\").value(null);\n    },\n\n    insertErrorMsg: function ($el, txt) {\n        $el.empty();\n        $el.append($(\"<label class=\\\"error\\\">\" + txt + \"</label>\"));\n    },\n\n    handleBtnSubmit: function () {\n        Core.PortalCheckout.Cache.$btnCheckoutSize.unbind();\n        Core.PortalCheckout.Cache.$btnCheckoutSize.on('click', function (e) {\n            e.preventDefault();\n            var success = true;\n\n            var generateErrorTxt = function ($el, txt) {\n                Core.PortalCheckout.insertErrorMsg($el, txt);\n                success = false;\n            };\n\n            var currentDate = new Date()\n                , dateFormat = Core.IsMobile() ? \"YYYY-MM-DD\" : \"DD/MM/YYYY\";\n            currentDate.setHours(0, 0, 0, 0);\n\n            $('.rent-row').each(function () {\n                var $this = $(this)\n                    , startObj = $this.find('input.startDate')[0]\n                    , $start = startObj.value;\n\n                if ($start === \"\") {\n                    startObj.classList.add('error');\n                    generateErrorTxt($this.find('.start-date-error'), 'Required');\n                    return;\n                } else {\n                    startObj.classList.remove('error');\n                }\n\n                var $from = moment($start, dateFormat, true);\n                if (!$from.isValid()) {\n                    generateErrorTxt($this.find('.start-date-error'), 'Invalid date');\n                    return;\n                }\n\n                var endObj = $this.find('input.endDate')[0]\n                    , $end = endObj.value\n                    , $to = moment($end, dateFormat, true);\n                if ($end && !$to.isValid()) {\n                    endObj.classList.add('error');\n                    generateErrorTxt($this.find('.end-date-error'), 'Invalid date');\n                    return;\n                } else {\n                    endObj.classList.remove('error');\n                }\n            });\n\n            $('.rent-own-row').each(function () {\n                var $this = $(this)\n                    , startObj = $this.find('input.startDate')[0]\n                    , $start = startObj.value;\n                if ($start === \"\") {\n                    startObj.classList.add('error');\n                    generateErrorTxt($this.find('.start-date-error'), 'Required');\n                    return;\n                } else {\n                    startObj.classList.remove('error');\n                }\n\n                var $from = moment($start, dateFormat, true);\n                if (!$from.isValid()) {\n                    generateErrorTxt($this.find('.start-date-error'), 'Invalid date');\n                    return;\n                }\n            });\n\n            //go to first error\n            var $error = $('.inputwrap-error label.error');\n            if ($error.length > 0) {\n                var offset = Core.IsMobile() ? 80 : 50;\n                var scrollTop = $error.first().offset().top - offset;\n                Core.ScrollToView(scrollTop);\n            }\n\n            if (success)\n                $('#frmSaveCart').trigger('submit');\n        });\n    },\n\n    getDynamicPrice: function(sku, qty) {\n        // var url = 'https://run.mocky.io/v3/cc977cc6-69b0-4f0e-93a2-abe7e32a6586';\n        var url = '/cart/getpricebyquantity';\n        var data = { \"sku\": sku, \"qty\": qty };\n        return $.post(url, data);\n    },\n\n    initAndChangeNumericTextBox: function () {\n        function getSku(elem) {\n            var inputCodeName = $(elem).attr('name');\n            var sku = $('[name=\"' + inputCodeName.replace('Quantity', 'Code') + '\"]').val();\n\n            return sku;\n        }\n\n        function setPrice(elem, newPrice) {\n            $(elem).attr('price', newPrice);\n        }\n\n        function setLabelPrice(sku, newLabel) {\n            $('[data-price-label=\"' + sku + '\"]').text(newLabel);\n        }\n\n        function onChangeQty() {\n            var self = this;\n            var elem = this.element;\n            var sku = getSku(elem);\n            var isDynamic = $(elem).data('dynamicPrice') || false;\n            var qty = $(elem).val();\n\n            // force to have value '1' if input is blank\n            if (!qty) {\n                qty = 1;\n                this.value(1);\n            }\n\n            if (! isDynamic) {\n                Core.PortalCheckout.updateTotalAndSubtotal(self);\n                return;\n            }\n\n            Core.PortalCheckout.getDynamicPrice(sku, qty)\n                .done(function(data) {\n                    if (data == null) {\n                        return;\n                    }\n\n                    data.unitPriceLabel\n                        && setLabelPrice(sku, data.unitPriceLabel);\n\n                    data.unitPrice\n                        && setPrice(elem, data.unitPrice);\n                })\n                .always(function() {\n                    Core.PortalCheckout.updateTotalAndSubtotal(self);\n                });\n\n            // check stock\n            if (!!$('#portal-checkout').data('check-local-stock-api')) {                \n                var stockIntegration = new Core.StockIntegration('checkout');\n                stockIntegration.updateStock(false, $(elem).closest('.portal-checkout__row'));\n            }\n        }\n\n        Core.PortalCheckout.Cache.$inputQuantity.kendoNumericTextBox({\n            min: 1,\n            format: \"#\",\n            decimals: 0,\n            step: 1,\n            change: onChangeQty,\n            spin: onChangeQty\n        });\n    },\n\n    /**\n     * Show or remove the confirmation remove message.\n     * This allow the user to stop the remove action.\n     *\n     * @param {jquery} $row - the row to attach or remove the message\n     * @param {string} doShow Core.PortalCheckout.SHOW || .Core.PortalCheckout.REMOVE\n     */\n    showRemoveMessage: function ($row, doShow) {\n        doShow = doShow === Core.PortalCheckout.SHOW; //set default to true\n\n        if (doShow) {\n            var removeMsgTmpl = '<p class=\"removeMessage\">This item has been removed from your cart. <button type=\"button\" class=\"btn-undo\">Undo</button></p>';\n            $row.find('td:first-child').append(removeMsgTmpl);\n            $row.addClass('on-removed');\n        } else {\n            $row.find('.removeMessage').remove();\n            $row.removeClass(function (index, css) {\n                return (css.match(/(^|\\s)rorcls\\S+/g) || []).join(' ');\n            });\n            $row.removeClass('on-removed');\n        }\n\n        Core.PortalCheckout.updateClassRemove();\n    },\n\n    updateClassRemove: function () {\n        var elements = $('tr.on-removed');\n\n        // add new class name\n        var cssStyleshets = [];\n        for (var a = 0; a < elements.length; a++) {\n            var el = $(elements[a]);\n            var elHeight = el.outerHeight() / 2;\n            el.addClass(\"rorcls-\" + a);\n            cssStyleshets.push(\".rorcls-\" + a.toString() +\n                \" .removeMessage{ height:\" + elHeight +\n                \"px !important; top:\" + el.position().top +\n                \"px; padding-top:\" + (elHeight - 10) +\n                \"px  !important; padding-bottom:10px  !important;}\");\n        }\n        // remove existing stylesheets\n        $('#overlayElementsStyles').remove();\n        // add new stylesheets\n        if (elements.length > 0) {\n            $('<style type=\"text/css\" id=\"overlayElementsStyles\">' + cssStyleshets.join('') + '</style>').appendTo($('head'));\n        }\n    },\n\n    /*\n\n        After deleting a item on the cart check if there are\n        still items that make the cart valid.\n\n        Eg: if i've got only a service eg home modification\n        doesn't make sense to have shipping which is\n        stricly product related.\n\n        to debug:\n        document\n            .addEventListener(\n                'aidacare.is-invalid-shipping',\n                () => console.log('invalid shipment'))\n\n        @event aidacare.is-invalid-shipping\n        @var response\n        @see response from ore.PortalCheckout.deleteItem\n\n     */\n    propagateIsInvalidShipping: function(response) {\n        var dispatchInvalidShipping = function() {\n            var custEvent = new CustomEvent('aidacare.is-invalid-shipping');\n            document.dispatchEvent(custEvent);\n        };\n\n        var isInvalidShipping = function() {\n            return response\n                && response.IsInvalidShipping\n                && response.IsInvalidShipping.toString().toLowerCase().trim() === 'true';\n        }\n\n        isInvalidShipping()\n            && dispatchInvalidShipping();\n    },\n\n    removeProductFromCart: function () {\n        $('.portal-checkout__purchase-remove').unbind('click');\n        $('.portal-checkout__purchase-remove').on('click', function (e) {\n            e.stopPropagation();\n\n            var $el = $(this);\n            var btnNext = document.querySelector('.btn-checkout-size');\n            var $row = $el.closest(\"tr\");\n            var $qtyInput = $row.find('input.portal-checkout__purchase-qty[type=text]:visible');\n            var $hiddenQty = $row.find('input.portal-checkout__purchase-qty[type=text][id*=\"__Quantity\"]');\n\n            $row.addClass('on-removed');\n            $hiddenQty.data('default-qty', $qtyInput.val());\n\n            Core.PortalCheckout.showRemoveMessage($row, Core.PortalCheckout.SHOW);\n            btnNext.disabled = true;\n\n            var doRemoveItem = function () {\n                var id = $row.attr('data-id');\n                Core.PortalCheckout.deleteItem(id, function (response) {\n                    Core.PortalCheckout.propagateIsInvalidShipping(response);\n\n                    // remove item from flyout\n                    var $rowFlyOut = $('#cart-playout').find('tr.table-yourcart-row-item[data-id=' + id + ']');\n                    Core.FlyoutButtons.removeItemRow($rowFlyOut);\n\n                    Core.PortalCheckout.refreshItems();\n                });\n            };\n\n            var executeRemove = setTimeout(function () {\n                //remove item\n                doRemoveItem();\n\n                //hide removeMessage\n                Core.PortalCheckout.showRemoveMessage($row, Core.PortalCheckout.REMOVE);\n            }, 2000);\n\n            $row.find('.btn-undo').on('click', function () {\n                //cancel out delete item\n                clearTimeout(executeRemove);\n                Core.PortalCheckout.showRemoveMessage($row, Core.PortalCheckout.REMOVE);\n                btnNext.disabled = false;\n            });\n        });\n    },\n\n    removeItemRow: function ($row) {\n        //remove item row\n        var $wrap = $row.closest('.portal-checkout__purchase-item');\n        $row.remove();\n\n        //if there's no item left, delete whole section (buy, rent, or rent-to-own)\n        if ($wrap.find('tr.portal-checkout__row').length === 0) {\n            $wrap.remove();\n\n            //remove total summary\n            if ($('.buy-row').length === 0) $('.portal-checkout__purchase-shipping-summary--value-buy').parent().remove();\n            if ($('.rent-row').length === 0) $('.portal-checkout__purchase-shipping-summary--value-rent').parent().remove();\n            if ($('.rent-own-row').length === 0) $('.portal-checkout__purchase-shipping-summary--value-renttoown').parent().remove();\n        }\n\n        Core.PortalCheckout.checkCartItem();\n    },\n\n    calculateRow: function (inpObj) {\n        var elem = $(inpObj.element);\n        var price = elem.attr('price') || 0;\n\n        return price * inpObj._value;\n    },\n\n    //calculate sub-total per section (buy, rent, or rent-to-own)\n    //inpObj's value could be tableId (buy, rent, or rent-to-own)\n    calculateSection: function (el) {\n        var $parent = $(el).hasClass('portal-checkout__purchase-table') ? el : $(el.element);\n        //var $parent = elem;\n        if (!$parent.hasClass('portal-checkout__purchase-table')) {\n            $parent = $parent.closest('.portal-checkout__purchase-table');\n        }\n\n        var $quantities = $parent.find('input.portal-checkout__purchase-qty[type=text][id*=\"__Quantity\"]')\n            , amount = 0;\n\n        for (var i = 0; i < $quantities.length; i++) {\n            var $el = $($quantities[i])\n                , qty = $el.closest('.portal-checkout__purchase-column').find('input[type=\"text\"].portal-checkout__purchase-qty:visible').val() || 0\n                , price = $el.attr('price');\n\n            amount += (price * qty);\n        };\n\n        return amount;\n    },\n\n    //update text total per row and subtotal per section\n    updateTotalAndSubtotal: function (inpObj) {\n        var elem = $(inpObj.element);\n        var _self = Core.PortalCheckout\n            , $col = elem.closest('.portal-checkout__purchase-column')\n            , $subTotalHTML = $col.siblings('.portal-checkout__purchase-column--subtotal').find('span')\n            , rowTotal = _self.formatMoney(_self.calculateRow(inpObj), 2, '$', ',', '.');\n\n        $subTotalHTML.html(rowTotal);\n\n        var $parents = elem.closest('.portal-checkout__purchase-table')\n            , $totalHTML = $parents.find('.portal-checkout__purchase-totalprice span')\n            , summaryTotal = _self.formatMoney(_self.calculateSection(inpObj), 2, '$', ',', '.');\n\n        $totalHTML.html(summaryTotal);\n\n        if ($parents.attr('id') == \"table-purchaseitems\") {\n            $('.portal-checkout__purchase-shipping-summary--value-buy span').html(summaryTotal);\n        }\n\n        if ($parents.attr('id') == \"table-rentitems\") {\n            $('.portal-checkout__purchase-shipping-summary--value-rent span').html(summaryTotal + \"/week\");\n        }\n\n        if ($parents.attr('id') == \"table-renttoownitem\") {\n            $('.portal-checkout__purchase-shipping-summary--value-renttoown span').html(summaryTotal + \"/week\");\n        }\n\n        _self.updateAmountToBePaid();\n    },\n\n    //update Amount to be paid now\n    updateAmountToBePaid: function () {\n        var _self = Core.PortalCheckout\n            , $tblPurchase = $('#table-purchaseitems')\n            , $tblRent = $('#table-rentitems')\n            , $tblRentOwn = $('#table-renttoownitem')\n            , amount = 0;\n\n        if ($tblPurchase.length) amount += _self.calculateSection($tblPurchase);\n        if ($tblRent.length) amount += _self.calculateSection($tblRent);\n        if ($tblRentOwn.length) amount += _self.calculateSection($tblRentOwn);\n\n        $('#spnBuyTotal').html(_self.formatMoney(amount, 2, '$', ',', '.'));\n    },\n\n    deleteItem: function (id, successCb) {\n        Core.ShowPageLoading();\n        var postcode = \"\";\n        var org = \"\";\n\n        $.ajax({\n            type: \"GET\",\n            url: '/Cart/removefromcart',\n            data: {\n                code: id,\n                postcode: postcode,\n                organization: org,\n                hideFreight: false,\n                orderOrganization: \"\",\n                therapistID: \"\"\n            },\n            success: function (response) {\n                Core.CartFlyout.init();\n                if (successCb) successCb(response);\n                Core.HidePageLoading();\n            },\n            error: function (xhr, ajaxOptions, thrownError) {\n                //todo: do something\n                Core.HidePageLoading();\n            }\n        });\n    },\n\n    userCheckoutSelected: function () {\n        $('.btnSelectUser').on('click', function () {\n\n            var $el = $(this),\n                $parent = $el.closest('tr'),\n                $wrap = $el.closest('table');\n\n            if (!$parent.hasClass('selected')) {\n                $wrap.find('tr.selected').removeClass('selected');\n                $parent.addClass('selected');\n            }\n\n            $(\"#AddNewClientContent\").slideDown();\n        });\n    },\n\n    updateExistingClientAddNewClientRadio: function(radioName) {\n        Array\n            .from(document.querySelectorAll('[name=clientDetailRadio]'))\n            .forEach(function(itm) {\n                itm.checked = (itm.value === radioName);\n            })\n\n        $('[name=clientDetailRadio]').uniform();\n    },\n\n    hideClientMissingError: function() {\n      $(\"#clientMissingError\").html('');\n      $(\"#clientMissingError\").hide();\n    },\n\n    updateUserListDisplay: function () {\n        Core.PortalCheckout.Cache.$clientDetailRadio.unbind();\n        Core.PortalCheckout.Cache.$clientDetailRadio.on('change', function () {\n            var $el = $(this),\n                $label = $el.closest('.portal-checkout__client-detail--radio'),\n                $content = $label.siblings('.portal-checkout__client-detail--content'),\n                $hiddenValNewClient = $('#hidNewClient');\n\n            if ($el.val() === \"Add New Client\") {\n                $hiddenValNewClient.attr(\"value\", \"true\");\n                $('#divSearchContact').slideUp();\n                $('#divClientDetails').slideDown();\n                $(\"#frmClientRefNo\").find(\"#ContactID\").val('');\n                Core.PortalCheckout.resetForm($('#AddNewClientContent').find('form'));\n            }\n            else {\n                $hiddenValNewClient.attr(\"value\", \"false\");\n                $('#divSearchContact').slideDown();\n                $('#divClientDetails').slideUp(0);\n            }\n\n\n            if ($('#ClientReferenceNumber').val() == \"\") {\n                $('#checkOutClientDetailsReadonly').find('input[type=\"text\"],input[type=\"email\"], input[type=\"tel\"], textarea').prop('readonly', true);\n                $('#checkOutClientDetailsReadonly').find('#DVADOB, #DVADOD').prop('disabled', true);\n                $('#checkOutClientDetailsReadonly').find('input[type=\"checkbox\"], input[type=\"radio\"]').prop('disabled', true).uniform();\n                $(\"#ClientReferenceNumber\").prop('readonly', false);\n\n                // Comment out dropdown select cause we don't use state dropdown anymore.\n                // $('#checkOutClientDetailsReadonly').find('select').prop('disabled', true);\n                // $('#checkOutClientDetailsReadonly').find('select').each(function(index, elem) {\n                //     $(elem).data(\"kendoDropDownList\")\n                //         && ( $(elem).data(\"kendoDropDownList\").enable(false)\n                //            , $(elem).data(\"kendoDropDownList\").value(''));\n                // });\n                // $('#checkOutClientDetailsReadonly').find('select').data(\"kendoDropDownList\").enable(false);\n            }\n\n            Core.PortalCheckout.hideClientMissingError();\n            $(\"#clientRefrenceNumberError\").html('');\n\n            Core.PortalCheckout.updateExistingClientAddNewClientRadio($el.val());\n        });\n    },\n\n    resetForm: function ($form) {\n        $form.find('input:text, input:password, input[type=tel], input[type=email], select, textarea').val('');\n        $form.find('input:radio, input:checkbox')\n            .prop('checked', false).prop('selected', false);\n    },\n\n    saveClientSubmit: function () {\n        $(\"#btnClientDetails\").unbind();\n        $(\"#btnClientDetails\").on('click', function (e) {\n            var behalf = $('[data-id=\"onBehalfOrganization\"]').val();\n            $('#OnBehalfOrganization').val(behalf);\n\n            if ($(\"#hidSelectedContactID\").val() === \"\" && $(\"[name= clientDetailRadio][value='Existing Client']\").is(\":checked\")) {\n\n                if (!$(\".existingClientSearch\").find(\".error\").length) {\n                    $(\".existingClientSearch\").append(\"<label for=\\\"clientDetailRadio\\\" class=\\\"error\\\">Please select existing client</label>\");\n                    Core.PortalCheckout.hideClientMissingError();\n                }\n\n                $(\"html, body\").animate({ scrollTop: $(\"[name= clientDetailRadio]\").offset().top - 30 }, 300);\n                e.preventDefault();\n            }\n            else if ($(\"#divClientDetails:visible\").length === 0) {\n\n                $(\"#clientMissingError\").html(\"Please add client\");\n                $(\"#clientMissingError\").show();\n                $(\"html, body\").animate({ scrollTop: $(\"[name= clientDetailRadio]\").offset().top - 30 }, 300);\n                e.preventDefault();\n            }\n            // TODO: validate autocomplete\n            else {\n\n                if ($(\".existingClientSearch\").find(\".error\").length) {\n                    $(\".existingClientSearch .error\").remove();\n                }\n                Core.PortalCheckout.hideClientMissingError();\n\n                var isSaveContactValid = $('#frmSaveContact').valid();\n                var isSaveStaffValid = $('#frmSaveStaff').valid();\n\n                // STR -- DVA ERAP validation\n\n                var isDVAValid = Core.DVAInformation.isValid({\n                    dvaCardType: \"#DVACardType\",\n                    dvaDOB: \"#DVADOB\",\n                    dvaRCF: \"#yes_rcf\",\n\n                    dvaFundingOther: '#yes_DVAFundingOther',\n                    dvaFundingOtherType: '#DVAFundingOtherType',\n\n                    // dvaADL: \"#DVAActivityOfDailyLiving\",\n                    // dvaBEH: \"#DVABehaviour\",\n                    // dvaCHC: \"#DVAComplexHealthCare\"\n                });\n\n                var isDVADischargedValid = Core.DVAInformation.isValidDischarged({\n                    dvaDOD: \"#DVADOD\",\n                    dvaHospitalDischarge: \"#DVAHospitalDischarge\",\n                });\n\n                // END -- DVA ERAP validation\n\n\n                if (isSaveStaffValid && isDVAValid && isDVADischargedValid) {\n                    $(\"#frmSaveContact\").trigger('submit');\n                    $(\"#frmSaveStaff\").trigger('submit');\n                }\n            }\n        });\n    },\n\n    saveConfirmSubmit: function () {\n        $(\"#btnConfirmDetails\").unbind();\n        $(\"#btnConfirmDetails\").on('click', function (e) {\n            if ($('#frmConfirmOrder').valid() && $('#frmConfirmOrder').valid()) {\n                $(\"#frmConfirmOrder\").trigger('submit');\n            }\n        });\n    },\n\n    saveCartValidate: function () {\n        $(\"#frmSaveCart\").validate({\n            focusInvalid: false,\n            invalidHandler: function (form, validator) {\n\n                if (!validator.numberOfInvalids())\n                    success = true;\n                else {\n                    $(\"div.validation-summary-errors\").html('');\n                    $('html, body').animate({\n                        scrollTop: $(validator.errorList[0].element.parentElement).offset().top - 30\n                    },\n                        300);\n                }\n            }\n        });\n    },\n\n    saveClientValidate: function () {\n        $(\"#frmSaveContact\").validate({\n            ignore: ':hidden',\n            focusInvalid: false,\n            invalidHandler: function (form, validator) {\n                if (!validator.numberOfInvalids())\n                    success = true;\n                // scroll to view handled on DVAInformation.js\n                // else {\n                //     $(\"div.validation-summary-errors\").html('');\n                //     $('html, body').animate({\n                //         scrollTop: $(validator.errorList[0].element.parentElement).offset().top - 30\n                //     }, 300);\n                // }\n            }\n        });\n    },\n\n    saveConfirmValidate: function () {\n        $(\"#frmConfirmOrder\").validate({\n            ignore: ':hidden',\n            focusInvalid: false,\n            invalidHandler: function (form, validator) {\n\n                if (!validator.numberOfInvalids())\n                    success = true;\n                else {\n                    $(\"div.validation-summary-errors\").html('');\n                    $('html, body').animate({\n                        scrollTop: $(validator.errorList[0].element.parentElement).offset().top - 30\n                    },\n                        300);\n                }\n            }\n        });\n    },\n\n    saveStaffValidate: function () {\n        $(\"#frmSaveStaff\").validate({\n            focusInvalid: false,\n            invalidHandler: function (form, validator) {\n\n                if (!validator.numberOfInvalids())\n                    success = true;\n                else {\n                    $(\"div.validation-summary-errors\").html('');\n                    $('html, body').animate({\n                        scrollTop: $(validator.errorList[0].element.parentElement).offset().top - 30\n                    },\n                        300);\n                }\n            }\n        });\n    },\n\n    triggerCheckout: function () {\n        Core.PortalCheckout.Cache.$btnCheckoutSize.unbind();\n        Core.PortalCheckout.Cache.$btnCheckoutSize.on('click', function (e) {\n            e.preventDefault();\n            if ($('.futureDate').val() === \"\") {\n                $('.futureDate').closest('.form-input').append(\"<label for=\\\"futureDate\\\" class=\\\"error\\\">Required</label>\");\n                return false;\n            }\n            var currentDate = new Date();\n            var selectedDate = new Date($('.futureDate').val());\n\n            if (selectedDate < currentDate) {\n                $('.futureDate').closest('.form-input').append(\"<label for=\\\"futureDate\\\" class=\\\"error\\\">Must be future date</label>\");\n                return false;\n            }\n        });\n    },\n\n    showNotificationPopup: function (popupLabel, contentText, type) {\n        var typeClass;\n\n        switch (type) {\n            case \"warning\":\n                typeClass = \"warning-popup-content\";\n                break;\n            case \"error\":\n                typeClass = \"error-popup-content\";\n                break;\n            case \"valid\":\n                typeClass = \"valid-popup-content\";\n                break;\n            default:\n                typeClass = false;\n                break;\n        }\n\n        var kendoWindow = $(\"<div />\").kendoWindow({\n            actions: [\"Close\"],\n            title: popupLabel,\n            resizable: false,\n            modal: true,\n            deactivate: function () {\n                this.destroy();\n            }\n        });\n\n        var template = kendo.template($(\"#notificationTemplate\").html());\n\n        kendoWindow.data(\"kendoWindow\")\n            .content(template(contentText))\n            .center().open();\n\n        if (typeClass != false) {\n            kendoWindow\n                .parent()\n                .addClass(typeClass)\n                .end();\n        }\n\n        kendoWindow\n            .find(\".btnNotifOk\")\n            .on('click', function () {\n                kendoWindow.data(\"kendoWindow\").close();\n            })\n            .end();\n    },\n\n    todayDate: function () {\n        var today = new Date();\n        var dd = today.getDate();\n        var mm = today.getMonth() + 1;\n        var yyyy = today.getFullYear();\n\n        if (dd < 10) {\n            dd = '0' + dd;\n        }\n        if (mm < 10) {\n            mm = '0' + mm;\n        }\n        var today = dd + '/' + mm + '/' + yyyy;\n        return today;\n    },\n\n    weekCalculation: function (date, weeks) {\n        var newdate = new Date(date);\n        var numOfDays = weeks * 7;\n        newdate.setDate(newdate.getDate() + numOfDays);\n        return ('0' + newdate.getDate()).slice(-2) + \"/\" + ('0' + (newdate.getMonth() + 1)).slice(-2) + \"/\" + newdate.getFullYear();\n    },\n\n    formatDate: function (date) {\n        function pad(s) { return (s < 10) ? '0' + s : s; }\n        var d = new Date(date);\n        return [pad(d.getDate()), pad(d.getMonth() + 1), d.getFullYear()].join('/');\n    },\n\n    formatMoney: function (number, places, symbol, thousand, decimal) {\n        number = number || 0;\n        places = !isNaN(places = Math.abs(places)) ? places : 2;\n        symbol = symbol !== undefined ? symbol : \"$\";\n        thousand = thousand || \",\";\n        decimal = decimal || \".\";\n        var negative = number < 0 ? \"-\" : \"\",\n            i = parseInt(number = Math.abs(+number || 0).toFixed(places), 10) + \"\",\n            j = (j = i.length) > 3 ? j % 3 : 0;\n        return symbol + negative + (j ? i.substr(0, j) + thousand : \"\") + i.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + thousand) + (places ? decimal + Math.abs(number - i).toFixed(places).slice(2) : \"\");\n    },\n\n    disabledButton: function (button) {\n        $(button).addClass('disabled').prop('disabled', true);\n    },\n\n    enabledButton: function (button) {\n        $(button).removeClass('disabled').prop('disabled', false);\n    },\n\n    checkCartItem: function () {\n        //check if any iten exist, if not grey out continue button\n        if ($('.portal-checkout__row').length === 0) {\n            $('#frmSaveCart .btn-checkout-size').prop('disabled', true);\n        } else {\n            $('#frmSaveCart .btn-checkout-size').prop('disabled', false);\n        }\n    },\n\n    favBtnHandle: function () {\n        $('.portal-checkout__purchase-favourite').unbind('click');\n        $('.portal-checkout__purchase-favourite').on('click', function () {\n            Core.PortalCheckout.favouriteItem($(this).children(), function (response) {\n                console.log(response);\n            });\n        });\n    },\n\n    favouriteItem: function ($btnFav, successCb) {\n        Core.ShowPageLoading();\n        var _$this = $btnFav,\n            _$item = _$this.parents('tr'),\n            _isFavourite = _$this.hasClass('icon-cart-fav'),\n            $errorBox = $('#divCart .portal-error');\n\n        var _apiUrl = _isFavourite ? '/cart/removefromfavourites' : '/cart/addtofavourites';\n\n        $.ajax({\n            url: _apiUrl,\n            data: { code: _$item.data('id') },\n            type: 'get',\n            dataType: 'json',\n            success: function (data) {\n                if (data.WasSuccess) {\n                    Core.ShowErrorMessage($errorBox, null, false);\n\n                    if (_isFavourite) {\n                        _$this.removeClass('icon-cart-fav').addClass('icon-fav');\n                        _$this.parent().removeClass('active').attr('title', Core.Config.FavouriteText.Add);\n                    }\n                    else {\n                        _$this.removeClass('icon-fav').addClass('icon-cart-fav');\n                        _$this.parent().addClass('active').attr('title',  Core.Config.FavouriteText.Remove);\n                    }\n                } else {\n                    Core.ShowErrorMessage($errorBox, {\n                        title: Core.Config.FavouriteText.ErrorTitle,\n                        message: data.Result\n                    });\n                }\n\n                if (successCb) successCb(data);\n                Core.HidePageLoading();\n            },\n            error: function (xhr, status, error) {\n                Core.ShowErrorMessage($errorBox, {\n                    title: Core.Config.FavouriteText.ErrorTitle,\n                    message: [\n                        xhr.responseText,\n                        \"Status: \" + xhr.status,\n                        \"Error: \" + error\n                    ]\n                });\n                Core.HidePageLoading();\n            }\n        });\n    },\n\n    /*\n\n        @TODO remove after integration Core.PortalCheckoutClientSearch\n\n     */\n    handleSelectClient: function () {\n        $('#clientDetailListTable .pccdlt-row').on('click', function (e) {\n            var form = $(this).find('.pccdlt-acts form');\n            $(form).trigger('submit');\n        });\n    },\n\n    handleClientRefrenceNo: function () {\n        $('#ClientRefNo').on('change', function (e) {\n            $(\"#frmClientRefNo\").trigger('submit');\n        });\n    },\n\n\n    /**\n\n\n        Hospital Location Details\n\n\n     */\n\n    handleHospitalLocationDetails: function () {\n        function isNull(el) {\n            return !(el.html() + '').trim();\n        }\n\n        function getLocationData(locationID) {\n            return (typeof window.hospitalLocationsData[locationID] !== 'undefined')\n                ? window.hospitalLocationsData[locationID]\n                : { name: '-', addr: '-', suburb: '-', state: '-', postcode: '-'};\n        }\n\n        function updateLocationDetailsForm(data) {\n            details.find('#locationAddr').val(data.addr);\n            details.find('#locationSuburb').val(data.suburb);\n            details.find('#locationPostcode').val(data.postcode);\n\n            details.find('#locationState').val(data.state);\n\n            details.find('#locationState').data(\"kendoDropDownList\") &&\n                details.find('#locationState').data(\"kendoDropDownList\").value(data.state);\n        }\n\n        function updateLocationDetails(val) {\n            var data = getLocationData(val);\n\n            updateLocationDetailsForm(data);\n        }\n\n        function onLocationChange(e) {\n            updateLocationDetails(e.currentTarget.value);\n        }\n\n        var wrap = Core.PortalCheckout.Cache.$hospitalLocationDetailsWrap;\n        var select = wrap.find('#LocationDetails');\n        var details = Core.PortalCheckout.Cache.$hospitalLocationDetails;\n        var pageLoadValue = select.val();\n\n        if (isNull(wrap) || ! window.hospitalLocationsData) {\n            return;\n        }\n\n        select.on('change', onLocationChange);\n\n        pageLoadValue\n            && updateLocationDetails(pageLoadValue);\n    },\n};\n\nCore.PortalCheckoutTermsAndConditions = {\n    init: function () {\n        Core.PortalCheckoutTermsAndConditions.Cache = {\n            $termAndConditionLink: $('.termAndConditionPopup'),\n            $btnContinueShipping: $('#btnContinueShipping'),\n            $btnAgreeShippingPopup: $('#btnAgreeShippingPopup'),\n            $btnCancelPopup: $('#btnCancelShippingPopup'),\n            $termsCheckbox: $('#termsAndConditionsCheckbox'),\n            $btnPay: $('#btnPayNow'),\n            $poNumber: $('.poNumber'),\n            $formPayment: $('#frmConfirmOrder')\n        };\n\n        this.setPopup();\n        this.handleTacCheckbox();\n        this.handlePOChange();\n        this.btnAgreeClickHandle();\n        this.btnCancelClickHandle();\n        this.btnSubmitHandle();\n    },\n\n    btnAgreeClickHandle: function () {\n        Core.PortalCheckoutTermsAndConditions.Cache.$btnAgreeShippingPopup.on('click', function (e) {\n            e.stopPropagation();\n            Core.PortalCheckoutTermsAndConditions.checkTacCheckbox(true);\n            Core.PortalCheckoutTermsAndConditions.showPopup($('#tacPopup'), false);\n        });\n    },\n\n    btnCancelClickHandle: function () {\n        Core.PortalCheckoutTermsAndConditions.Cache.$btnCancelPopup.on('click', function (e) {\n            e.stopPropagation();\n            Core.PortalCheckoutTermsAndConditions.checkTacCheckbox(false);\n            Core.PortalCheckoutTermsAndConditions.showPopup($('#tacPopup'), false);\n        });\n    },\n\n    handleTacCheckbox: function () {\n        Core.PortalCheckoutTermsAndConditions.Cache.$termsCheckbox.on('change', function (e) {\n            //keep chekbox unchanged\n            var isChecked = this.checked;\n            this.checked = !isChecked;\n            $.uniform.update('#termsAndConditionsCheckbox');\n\n            Core.PortalCheckoutTermsAndConditions.showPopup($('#tacPopup'), true);\n        });\n    },\n\n    checkTacCheckbox: function (isSelected) {\n        var _self = Core.PortalCheckoutTermsAndConditions;\n\n        _self.Cache.$termsCheckbox.prop('checked', isSelected);\n        _self.Cache.$btnContinueShipping.prop('disabled', !isSelected);\n        $.uniform.update('#termsAndConditionsCheckbox');\n\n        (_self.isPONumberRequired() && ! _self.isPONumberValid())\n            ? _self.enablePayBtn(false)\n            : _self.enablePayBtn(isSelected);\n    },\n\n    isPONumberRequired: function() {\n        var _self = Core.PortalCheckoutTermsAndConditions;\n\n        return _self.Cache.$poNumber &&\n                _self.Cache.$poNumber.prop('required');\n    },\n\n    isPONumberValid: function() {\n        var _self = Core.PortalCheckoutTermsAndConditions;\n\n        return _self.Cache.$poNumber &&\n                _self.Cache.$poNumber.val().length > 0;\n    },\n\n    /**\n     * If the T&C section is present then use it during validation.\n     *\n     * Comunity portal for eg. doesn't have T&C.\n     *\n     * @return Boolean\n     */\n    isTermChecked: function() {\n        var _self = Core.PortalCheckoutTermsAndConditions;\n\n        return (_self.Cache.$termsCheckbox.length > 0)\n                    ? _self.Cache.$termsCheckbox.prop('checked')\n                    : true;\n    },\n\n    handlePOChange: function() {\n        var _self = Core.PortalCheckoutTermsAndConditions;\n\n        _self.Cache.$poNumber &&\n            _self.Cache.$poNumber.keyup(function() {\n                var invalidPO = (_self.isPONumberRequired() && ! _self.isPONumberValid());\n                var invalidCheck = !_self.isTermChecked();\n\n                (invalidPO || invalidCheck)\n                    ? _self.enablePayBtn(false)\n                    : _self.enablePayBtn(true);\n            });\n    },\n\n    enablePayBtn: function (doEnable) {\n        $('#btnPayNow').prop('disabled', !doEnable);\n\n        if (typeof doEnable === \"undefined\" || doEnable === null) {\n            doEnable = true;\n        }\n\n        var _self = Core.PortalCheckoutTermsAndConditions;\n\n        if (doEnable) _self.Cache.$btnPay.removeClass('disabled').prop('disabled', false);\n        else _self.Cache.$btnPay.addClass('disabled').prop('disabled', true);\n    },\n\n    initPopup: function ($popup, title) {\n        var _self = Core.PortalCheckoutTermsAndConditions;\n        var _width = 660, //Core.Config.CartNotification.Width,\n            _height = 350;\n\n        if (Core.IsMobile()) {\n            _width = Core.Cache.$window.width();\n        }\n\n        $popup.kendoWindow({\n            title: title,\n            width: _width,\n            //height: _height,\n            visible: false,\n            iframe: false,\n            modal: true,\n            resizable: false,\n            actions: [\"Close\"],\n            pinned: true,\n            draggable: false,\n            appendTo: '#page-wrap',\n            animation: false,\n        });\n\n        var $closeBtn = $popup.find('.portal-modal__btn-close');\n\n        if ($closeBtn) {\n            $closeBtn.on('click', function () {\n                _self.showPopup($popup, false);\n            });\n        }\n    },\n\n    showPopup: function ($popup, doShow) {\n        doShow = doShow == undefined || null ? true : doShow; //set default to true/show\n\n        var popupWindow = $popup.data(\"kendoWindow\");\n        popupWindow.wrapper.addClass('k-window-custom');\n\n        if (doShow) {\n            popupWindow.center().open();\n        } else {\n            popupWindow.close();\n        }\n    },\n\n    setPopup: function () {\n        var _self = Core.PortalCheckoutTermsAndConditions;\n\n        _self.initPopup($('#tacPopup'), \"TERMS & CONDITIONS\");\n        _self.initPopup($('#cardChangePopup'), \"PAYMENT CONFIRMATION\");\n\n        _self.Cache.$termAndConditionLink.on('click', function (e) {\n            e.preventDefault();\n            Core.PortalCheckoutTermsAndConditions.showPopup($('#tacPopup'), true);\n        });\n    },\n\n    checkDateValid: function () {\n        var today = moment();\n        var $selMonth = $('#paymentExpDate').data('kendoDropDownList');\n        var $selYear = $('#paymentExpYear').data('kendoDropDownList');\n        var selectedDate = moment($selYear.value() + '-' + $selMonth.value() + '-' + '01', 'YY-MM-DD');\n        var isValid = selectedDate.isSameOrAfter(today, 'month');\n\n        if (isValid) {\n          $selMonth.wrapper && $selMonth.wrapper[0].classList.remove('error');\n          $selYear.wrapper && $selYear.wrapper[0].classList.remove('error');\n          $('#paymentExpError').addClass('hidden');\n        }\n        else {\n          $selMonth.wrapper && $selMonth.wrapper[0].classList.add('error');\n          $selYear.wrapper && $selYear.wrapper[0].classList.add('error');\n          $('#paymentExpError').removeClass('hidden');\n        }\n\n        return isValid;\n    },\n\n    btnSubmitHandle: function () {\n        var _self = Core.PortalCheckoutTermsAndConditions;\n\n        _self.Cache.$btnPay.on('click', function (e) {\n            e.preventDefault();\n            var isCreditCard = $('input[name=\"checkoutPaymentMethod\"]:checked').val() === \"CreditCard\";\n\n            if (!isCreditCard) {\n                _self.Cache.$formPayment.trigger('submit');\n            } else {\n                var isDateValid = _self.checkDateValid();\n                if (_self.Cache.$formPayment.valid() && isDateValid) {\n                    _self.showPopup($('#cardChangePopup'), true);\n                } else {\n                    //go to first error\n                    var $error = $('.portal-checkout__cc-details input.error');\n                    if ($error.length > 0) {\n                        var offset = Core.IsMobile() ? 80 : 50;\n                        var scrollTop = $error.first().offset().top - offset;\n                        Core.ScrollToView(scrollTop);\n                    }\n                }\n            }\n\n        });\n\n        $('#btnAgreeCardChange').on('click', function () {\n            _self.Cache.$formPayment.trigger('submit');\n            //show error box\n        });\n    }\n};\n\nCore.PortalCheckoutCheckboxToggle = {\n    init: function () {\n        Core.PortalCheckoutCheckboxToggle.Cache = {\n            $toggleCbTrigger: $('#divClientDetails .toggle-cb-trigger')\n        }\n\n        this.handleToggleCheckbox();\n        this.checkCheckbox();\n    },\n\n    handleToggleCheckbox: function () {\n        Core.PortalCheckoutCheckboxToggle.Cache.$toggleCbTrigger.on('click', function () {\n            Core.PortalCheckoutCheckboxToggle.toggleCheckbox($(this));\n        });\n    },\n\n    toggleCheckbox: function ($el, cb) {\n        var $targetName = $el.attr(\"id\"),\n            $targetTrigger = $el.find('input[type=\"checkbox\"]'),\n            $targetContent = $('div[data-toggle=\"' + $targetName + '\"]'),\n            isChecked = $targetTrigger.is(':checked');\n\n        if (isChecked) {\n            $targetContent.slideDown();\n        } else {\n            $targetContent.slideUp();\n            Core.PortalCheckoutCheckboxToggle.clearForm($targetContent);\n        }\n\n        if (cb) cb(isChecked);\n    },\n\n    clearForm: function ($el) {\n        $el.find(':input').each(function () {\n            switch (this.type) {\n                case 'password':\n                case 'text':\n                case 'textarea':\n                case 'file':\n                case 'select-multiple':\n                case 'date':\n                case 'number':\n                case 'tel':\n                case 'email':\n                    $(this).val('');\n                    break;\n                case 'checkbox':\n                case 'radio':\n                    this.checked = false;\n                    break;\n                case 'select-one':\n                    var kDropdown = $(this).data(\"kendoDropDownList\");\n                    if (kDropdown) kDropdown.select(0);\n                    else $(this).prop('selectedIndex', 0);\n                    break;\n            }\n        });\n    },\n\n    checkCheckbox: function () {\n        Core.PortalCheckoutCheckboxToggle.Cache.$toggleCbTrigger.each(function () {\n            var $el = $(this),\n                $targetName = $el.attr(\"id\"),\n                $targetTrigger = $el.find('input[type=\"checkbox\"]'),\n                $targetContent = $('div[data-toggle=\"' + $targetName + '\"]'),\n                isChecked = $targetTrigger.is(':checked');\n\n            if (isChecked) $targetContent.show();\n            else $targetContent.hide();\n        });\n\n    }\n};\n\nCore.PortalCheckoutToggleRadioContent = {\n    resetRadio: function ($radio) {\n        var radioList = \".portal-radio__listbox-options-item\";\n        $radio.parents('.portal-checkout__listbox-options').find(radioList).removeClass('is-selected');\n        $radio.parents(radioList).addClass('is-selected');\n    },\n\n    //clicking on the box\n    handleRadioClick: function ($radioWrap) {\n        $radioWrap.on('click', function (e) {\n            if (e.target.getAttribute('type') == 'radio') return;\n\n            var $this = $(this)\n                , $radioGroup = $this.find('.toggle-radiogroup-content')\n                , radioName = $radioGroup.prop('name');\n\n            $radioGroup.trigger('change');\n            $('input[name=\"' + radioName + '\"]').prop('checked', false); //unchecked all first\n            $radioGroup.prop('checked', true);\n            $.uniform.update('input[name=\"' + radioName + '\"]');\n        });\n    }\n\n};\n\nfunction getToggleSel(el) {\n    return $(el).data('toggle');\n}\n\nfunction updateDeliveryOptionPrices(optionList) {\n    function updateSingleOption(option) {\n        if (!option || !option.id || !option.price) {\n            return;\n        }\n\n        var elRadio = document.querySelector('[data-id=\"' + option.id + '\"]');\n        elRadio\n            && (elRadio.dataset['price'] = option.price);\n\n        var elLabel = document.querySelector('[data-price=\"' + option.id + '\"]');\n        elLabel\n            && (elLabel.innerText = option.price);\n    };\n\n    optionList.forEach(updateSingleOption);\n}\n\nfunction updateElem(id, value) {\n    var el = document.querySelector(id);\n\n    el && (el.innerText = value);\n}\n\nfunction getSelectedPrice() {\n    var priceElList = document.querySelectorAll('.toggle-radiogroup-content[data-price]');\n\n    var selectedPrice = Array.from(priceElList).filter(function(el) { return el.checked === true; });\n\n    return selectedPrice\n            && selectedPrice[0]\n            && selectedPrice[0].dataset\n            && selectedPrice[0].dataset.price\n                ? selectedPrice[0].dataset.price\n                : '';\n}\n\nfunction updateShippingTotal() {\n    var selectedPrice = getSelectedPrice();\n    if (selectedPrice === '') {\n        return;\n    }\n\n    updateElem('#shippingTotal', selectedPrice);\n    updateElem('#spnShippingTotal', selectedPrice);\n}\n\nfunction resetShippingTotal() {\n    updateElem('#shippingTotal', '$--.--');\n    updateElem('#spnShippingTotal', '$--.--');\n    updateElem('span[data-price]', '$--.--');\n}\n\nfunction getDeliveryPriceFromApi(postcode) {\n    var elApi = document.querySelector('[data-postcodeapi]');\n\n    elApi &&\n    elApi.dataset &&\n    elApi.dataset.postcodeapi &&\n        ($.ajax({\n            type: \"GET\",\n            url: elApi.dataset.postcodeapi,\n            data: {\n                postcode: postcode\n            },\n            success: function (response) {\n                //[{id: \"c199888c-1f44-4cbd-8b9c-ebe59111a641\", price: \"$40.00\"}]\n                updateDeliveryOptionPrices(response)\n                updateShippingTotal();\n            }\n        }));\n}\n\nCore.PortalCheckoutUpdateShippingCost = {\n    init: function () {\n        Core.PortalCheckoutUpdateShippingCost.Cache = {\n            $shippingCostRadio: $('input[name=\"shippingCostOptions\"]'),\n            $deliverTo: $('input[name=\"deliveryTo\"]'),\n            $addAlternateContact: $('input[name=\"NewContactInfo\"]'),\n            $dynamicPostcode: $('input.dynamic-postcode'),\n        }\n\n        updateShippingTotal();\n\n        this.updateShippingCost();\n        this.updateDeliveryTo();\n        this.updateContactInfo();\n    },\n\n    updateShippingCost: function () {\n        Core.PortalCheckoutUpdateShippingCost.Cache.$shippingCostRadio.on('change', function () {\n            var $el = $(this);\n            var price = $el.data('price');\n\n            $('#spnShippingTotal').html(price);\n            $('#shippingTotal').html(price);\n            $('#hidPrice').val(price);\n            $(\"#hidShippingOptionId\").val($el.data('id'));\n            $('#hidShippingMethod').val($el.data('shippingmethod'));\n            $('#hidUrgent').val($el.data('urgent'));\n        });\n    },\n\n    updateDeliveryTo: function() {\n        var $dt = Core.PortalCheckoutUpdateShippingCost.Cache.$deliverTo;\n        var $dynamicPostcode = Core.PortalCheckoutUpdateShippingCost.Cache.$dynamicPostcode;\n\n        function getFormElem(id) {\n            var wrap = document.querySelector(id + '.allow-disabled');\n\n            if (!wrap) {\n                return [];\n            }\n\n            var formElemList = wrap.querySelectorAll('.form-input input, .form-input textarea, .form-input select');\n            return formElemList;\n        }\n\n        function toggleDisableElem(disabled) {\n            return function(formElemList) {\n                Array.from(formElemList).forEach(function(elem) {\n                    elem.disabled = disabled;\n\n                    !elem.classList.contains('select-disabled') &&\n                    $(elem).data(\"kendoDropDownList\") &&\n                        $(elem).data(\"kendoDropDownList\").enable(!disabled);\n                });\n            };\n        }\n\n        var setDisabled = toggleDisableElem(true);\n        var setEnabled = toggleDisableElem(false);\n\n        function hideEl(index, $el) {\n            var id = getToggleSel($el);\n            $(id).addClass('d-none');\n\n            setDisabled(getFormElem(id));\n        };\n\n        function hideAll() {\n            $dt.each(hideEl);\n        };\n\n        function showEl($el) {\n            var id = getToggleSel($el);\n            $(id).removeClass('d-none');\n            setEnabled(getFormElem(id));\n        };\n\n        function updateDeliveryOptionsPrice($el) {\n            var id = getToggleSel($el);\n            var postcode = $(id).find('.postcode').val();\n            var dynamic = $(id).find('.dynamic-postcode');\n\n            postcode &&\n                ( resetShippingTotal()\n                , getDeliveryPriceFromApi(postcode));\n\n            dynamic &&\n            dynamic.length > 0 &&\n                resetShippingTotal();\n        };\n\n        function onDeliveryToChange(e) {\n            var el = $(e.currentTarget);\n            hideAll();\n            showEl(el);\n\n            updateDeliveryOptionsPrice(el);\n        };\n\n        function onPostcodeChangeUpdateDelivery(e) {\n            var postcode = e.currentTarget.value;\n\n            postcode &&\n            postcode.length === 4 &&\n            getDeliveryPriceFromApi(postcode);\n        }\n\n        $dt.on('change', onDeliveryToChange);\n        $dynamicPostcode.on('keyup', onPostcodeChangeUpdateDelivery);\n    },\n\n    updateContactInfo: function() {\n        var wrap = document.querySelector('[data-toggle=\"toggleAlternativeContactCB\"]:not(.disable-not-allowed)');\n        var $wrap = $(wrap);\n        var $ac = Core.PortalCheckoutUpdateShippingCost.Cache.$addAlternateContact;\n        var formElemList = wrap ? wrap.querySelectorAll('.form-input input, .form-input textarea') : [];\n\n        function toggleElem(disabled) {\n            return function() {\n                Array.from(formElemList).forEach(function(elem) { elem.disabled = disabled; });\n            };\n        }\n\n        var setDisabled = toggleElem(true);\n        var setEnabled = toggleElem(false);\n\n\n        function doToggleFormDisable() {\n            ($wrap.hasClass('toggle-cb-content'))\n                ? setDisabled()\n                : setEnabled();\n        }\n\n        function onDeliveryToContactPersonChange() {\n            $wrap.toggleClass('toggle-cb-content');\n            doToggleFormDisable();\n        }\n\n        $ac.on('change', onDeliveryToContactPersonChange);\n        doToggleFormDisable();\n    }\n};\n\nCore.PortalPlayoutCart = {\n    init: function () {\n        Core.PortalCheckout.Cache = {\n            $togglePlayout: $('a#toggle-cart')\n        };\n\n        this.toggleCartPlayout();\n    },\n\n    toggleCartPlayout: function () {\n        Core.PortalCheckout.Cache.$togglePlayout.on('click', function (e) {\n            e.preventDefault();\n            var $el = $(this),\n                $cartDesktop = $el.siblings('.cart-playout'),\n                $cartMobile = $('#cart-playout-mobile');\n\n            if ($cartDesktop.css('display') === \"block\") {\n                $cartDesktop.css('display', 'none');\n            } else {\n                $cartDesktop.css('display', 'block');\n            }\n\n            if ($cartMobile.css('display') === \"block\") {\n                $cartMobile.slideUp(300);\n            } else {\n                $cartMobile.slideDown(300);\n            }\n\n        });\n    }\n};\n\nCore.FlyoutButtons = {\n    init: function () {\n        Core.FlyoutButtons.Cache = {\n            $togglePlayoutClose: $('#cart-playout .cart-playout--close'),\n            $togglePlayoutCloseMobile: $('#cart-playout-mobile .cart-playout--close'),\n            $removeItem: $('.table-yourcart .table-btnremove')\n        };\n\n        this.togglePlayoutClose();\n        this.togglePlayoutCloseMobile();\n        this.removeCartItem();\n    },\n\n    togglePlayoutClose: function () {\n        Core.FlyoutButtons.Cache.$togglePlayoutClose.on('click', function (e) {\n            e.preventDefault();\n\n            // for desktop\n            $(this).parents('.cart-playout').slideToggle(0);\n\n            // for mobile\n            var $cartMobile = $('#cart-playout-mobile');\n            if ($cartMobile.css('display') === \"block\") {\n                $cartMobile.css('display', 'none');\n            } else {\n                $cartMobile.css('display', 'block');\n            }\n        });\n    },\n\n    togglePlayoutCloseMobile: function () {\n        Core.FlyoutButtons.Cache.$togglePlayoutCloseMobile.on('click', function (e) {\n            e.preventDefault();\n\n            // for desktop\n            Core.FlyoutButtons.Cache.$togglePlayoutClose.parents('.cart-playout').slideToggle(0);\n\n            // for mobile\n            var $cartMobile = $('#cart-playout-mobile');\n            if ($cartMobile.css('display') === \"block\") {\n                $cartMobile.slideUp(300);\n            } else {\n                $cartMobile.slideDown(300);\n            }\n        });\n    },\n\n    removeCartItem: function () {\n        Core.FlyoutButtons.Cache.$removeItem.on('click', function (e) {\n            e.stopPropagation();\n            var $el = $(this),\n                id = $el.attr('data-id'),\n                $table = $el.closest('.table-yourcart');\n\n            Core.PortalCheckout.deleteItem(id, function (response) {\n                Core.PortalCheckout.propagateIsInvalidShipping(response);\n\n                Core.PortalCheckout.refreshItems();\n                Core.FlyoutButtons.removeItemRow($el.closest('tr.table-yourcart-row-item'));\n            });\n\n        });\n    },\n\n    removeItemRow: function ($row) {\n        var $table = $row.closest('.table-yourcart');\n        $row.remove();\n\n        //if there's no item left, delete whole section (buy, rent, or rent-to-own)\n        if ($table.find('tr.table-yourcart-row-item').length === 0) {\n            $table.remove();\n        }\n    }\n};\n\nCore.CartFlyout = {\n    init: function () {\n        Core.CartFlyout.Cache = {\n            $flyoutCart: $(\"#cart-playout\"),\n            $flyoutCartMobile: $(\"#cart-playout-mobile\"),\n            $cartAmount: $(\"a#toggle-cart .amount\")\n        }\n\n        this.loadCartFlyout();\n        this.initListenerClearCart();\n    },\n    initListenerClearCart: function() {\n        var _self = this;\n        var clearCart = function() { _self.clearCart() };\n\n        document.removeEventListener('aidacare.clearcart', clearCart);\n        document.addEventListener('aidacare.clearcart', clearCart);\n    },\n\n    loadCartFlyout: function () {\n        $.ajax({\n            type: \"GET\",\n            url: '/Cart/GetItems',\n            data: {\n                cart: \"Default\"\n            },\n            success: function (response) {\n                var portalCartObject = response;\n\n                Core.CartFlyout.Cache.$flyoutCart.html(\"\");\n                var portalCartTemplate = Handlebars.compile($('#portalCartTemplate').html());\n                var portalCartHTML = portalCartTemplate(portalCartObject);\n                var productsPurchasedLen = portalCartObject.length;\n\n                Core.CartFlyout.Cache.$flyoutCart.append(portalCartHTML);\n\n                setTimeout(function () {\n                    var $totalOfProduct = $('.toggle-cart tr.table-yourcart-row-item');\n                    if ($totalOfProduct.length > 0) {\n                        var sum = 0;\n                        for (var a = 0; a < $totalOfProduct.length; a++) {\n                            sum = sum + parseInt($($totalOfProduct[a]).attr(\"data-qty\"));\n                        }\n                        Core.CartFlyout.Cache.$cartAmount.html(sum).show();\n                    } else {\n                        Core.CartFlyout.resetCart();\n                    }\n\n                    Core.CartFlyout.Cache.$flyoutCartMobile.html(Core.CartFlyout.Cache.$flyoutCart.html());\n                    Core.FlyoutButtons.init();\n                }, 100);\n            }\n        });\n    },\n\n    hideCartAmount: function() {\n        $(\"a#toggle-cart .amount\").html(\"\").hide();\n    },\n\n    setYourCartEmpty: function() {\n        var YOUR_CART_IS_EMPTY_HTML = '<div class=\"cart-playout--emptymessage\">Your cart is empty.</div>';\n        $('.cart-playout--content').html(YOUR_CART_IS_EMPTY_HTML);\n    },\n\n    resetCart: function() {\n        Core.CartFlyout.hideCartAmount();\n        Core.CartFlyout.setYourCartEmpty();\n    },\n\n    clearCart: function() {\n        var _self = this;\n        $.post('/cart/removeall').done(function() { _self.resetCart(); });\n    },\n};\n\nHandlebars.registerHelper('portalCartObjectTypeLabel', function (portalCartObject, label) {\n    for (var i = 0; i < portalCartObject.length; i++) {\n        if (portalCartObject[i]['PriceType'] == label) {\n            return true;\n        }\n    }\n\n    return false;\n});\n\nHandlebars.registerHelper('portalCartObjectType', function (portalCartObject, type) {\n    if (portalCartObject.PriceType == type) {\n        return true;\n    }\n    return false;\n});\n\nHandlebars.registerHelper('portalCartObjectTypeTotal', function (portalCartObject, label) {\n    var total = 0;\n\n    for (var i = 0; i < portalCartObject.length; i++) {\n        if (portalCartObject[i]['PriceType'] == label) {\n            total += portalCartObject[i]['LineItemTotal'];\n        }\n    }\n\n    return Core.PortalCheckout.formatMoney(total, 2, '$', ',', '.');\n});\n","/*\n * API_STATUS := OK | ERROR\n * RESPONSE_STATUS := OK | BAD_FORMAT\n *\n * {\n *      \"clients\":[\n *          {\n *              \"contactId\":\"60cb3c52-564e-44f5-a4f8-4d96e13572b0\",\n *              \"name\":\"Doe, John\",\n *              \"address\":\"1/15 Jarrah Drive\",\n *              \"clientReferenceNumber\":\"12345ABC\",\n *              \"phone\":\"0412377404\"\n *          },\n *      ],\n *      \"hasMore\":true\n *  }\n *\n */\nCore.PortalCheckoutClientSearch = function(rootElem) {\n    if (rootElem == null) {\n        return;\n    }\n\n    /*\n\n        DATASET\n\n     */\n\n    function hasDataset(elem, name) {\n        return elem &&\n               elem.dataset &&\n               typeof elem.dataset[name] !== 'undefined';\n    }\n\n    function warnData(msg) {\n        console.warn(msg);\n    }\n\n    function getDataset(elem, name) {\n        return hasDataset(elem, name)\n                ? elem.dataset[name]\n                : warnData('Data attribute for ' + name + ' missing');\n    }\n\n\n    /*\n\n        UTILS\n\n     */\n\n    function HandleSessionExpired(callback) {\n        $.get('/account/IsSessionExpired', function(response) {\n            if (response == true) {\n                window.location.href = '/logout';\n            }\n            else if (callback) {\n                callback();\n            }\n        });\n    }\n\n\n    /*\n\n\n        HTML TMPL\n\n\n     */\n\n    function tableWrapTmpl(content, label) {\n        return '<div class=\"portal-checkout__client-detail--list-wrap\">' +\n               '<div id=\"clientDetailListTable\" class=\"portal-checkout__client-detail--list-table\">' +\n                    '<div class=\"pccdlt-row pccdlt-head\">' +\n                        '<div class=\"pccdlt-col\"></div> '+\n                        '<div class=\"pccdlt-col\">' + label + '</div>' +\n                        '<div class=\"pccdlt-col\">Client Name</div>' +\n                        '<div class=\"pccdlt-col\">Phone</div>' +\n                        '<div class=\"pccdlt-col\">Address</div>' +\n                    '</div>' +\n\n                    content +\n                '</div>' +\n                '</div>';\n    }\n\n    function pagination(content) {\n        return `<div class=\"pccdlt-row pccdlt-body position-relative\" style=\"height: 50px;\" data-pagination >\n                    <div class=\"pccdlt-col position-absolute w-100 text-center\">\n                        ${content}\n                    </div>\n                    <div class=\"pccdlt-mobile pccdlt-col pccdlt-col__show-mobile  position-absolute w-100 text-center\">\n                        ${content}\n                    </div>\n                </div>`;\n    }\n\n    function youReachedTheEndOfTheList() {\n        return pagination('<span class=\"small text-grey-lightest\">You reached the end of the list</span>');\n    }\n\n    function showMoreResults(pageNum) {\n        return pagination('<button class=\"btn-link\" data-page=\"' + pageNum + '\" data-btn-show-more>Show more results</button>');\n    }\n\n    function rowTmpl(client) {\n        return `<div class=\"pccdlt-row pccdlt-body ${data.contactId === client.contactId ? 'selected' : ''}\" data-contact-id=\"${client.contactId}\" data-row-page=\"${client.page}\" >\n                <div class=\"pccdlt-col pccdlt-col__show-mobile pccdlt-acts\">\n                    <div class=\"pccdlt-select\">\n                        <span class=\"pccdlt-select__icon icon-approved\"></span>\n                    </div>\n                </div>\n\n                <div class=\"pccdlt-col\" title=\"${client.clientReferenceNumber}\">\n                    <div class=\"pccdlt-refno\">${client.clientReferenceNumber}</div>\n                </div>\n                <div class=\"pccdlt-col\">\n                    <div class=\"pccdlt-name\">${client.name}</div>\n                </div>\n                <div class=\"pccdlt-col\">${client.phone}</div>\n                <div class=\"pccdlt-col\">${client.address}</div>\n\n                <div class=\"pccdlt-mobile pccdlt-col pccdlt-col__show-mobile\">\n                    <p class=\"pccdlt-mobile__row\">\n                        <strong>${client.clientReferenceNumberLabel || \"Client Ref #\"}:</strong> ${client.clientReferenceNumber}\n                    </p>\n                    <p class=\"pccdlt-mobile__row\">\n                        <strong>Client Name:</strong> ${client.name}\n                    </p>\n                    <p class=\"pccdlt-mobile__row\">\n                        <strong>Phone Number:</strong> ${client.phone}\n                    </p>\n                    <p class=\"pccdlt-mobile__row\">\n                        <strong>Address:</strong> ${client.address}\n                    </p>\n                </div>\n            </div>`;\n    }\n\n    function getTableBody(clientList, hasMore, nextPage) {\n        function genFnNextPage(nextPage) {\n            return function(client) {\n                client['page'] = nextPage - 1;\n                return client;\n            }\n        }\n\n        var clientListHtml = clientList\n                                .map(genFnNextPage(nextPage))\n                                .map(rowTmpl)\n                                .join('');\n        var footer = hasMore\n            ? showMoreResults(nextPage)\n            : youReachedTheEndOfTheList();\n\n        return clientListHtml + footer;\n    }\n\n    function apiErrorTmpl() {\n        return '<div class=\"p-3 text-center small\"> Sorry, an error occurred during the search. <br/> Try Later</div>';\n    }\n\n    function noResultsTable() {\n        return '<div class=\"p-3 text-center small\" colspan=\"4\"> No results available</div>';\n    }\n\n    function resultsTable(clients, hasMore) {\n        var content = getTableBody(clients, hasMore, 2);\n        var label = clients[0].clientReferenceNumberLabel || \"Client Ref #\";\n        return tableWrapTmpl(content, label);\n    }\n\n\n\n    var el = {\n        root: rootElem,\n        input: rootElem.querySelector('[data-input]') || warnData('Please add [data-input] attribute'),\n        btn: rootElem.querySelector('[data-btn]'|| warnData('Please add [data-btn] attribute')),\n        results: rootElem.querySelector('[data-results]')|| warnData('Please add [data-results] attribute'),\n    };\n\n    var data = {\n        searchApi: getDataset(el.root, 'searchApi'),\n        selectApi: getDataset(el.root, 'selectApi'),\n        contactId: '',\n        pageNum: 0,\n    };\n\n    var m = {\n        init: function() {\n            function isNull(item) {\n                return item == null;\n            }\n\n            function checkAllValid(previousValue, currentValue) {\n                return previousValue && !isNull(currentValue);\n            }\n\n            function isAllValid() {\n                return [data.searchApi, data.selectApi, el.input, el.btn, el.results].reduce(checkAllValid, true);\n            }\n\n            if (!isAllValid()) {\n                return;\n            }\n\n            m.boot();\n        },\n\n        boot: function() {\n            m.searchListeners();\n        },\n\n        // -- STR -- Search Client -----------------------\n        searchListeners: function() {\n            el.btn.addEventListener('click', m.doSearchClient)\n            el.input.addEventListener('keydown', function(e) {\n                (e.key === \"Enter\") && m.doSearchClient()\n            });\n        },\n\n        doSearchClient: function() {\n            function onFail(data) {\n                m.showSearchApiError();\n            }\n\n            function onSuccess(data) {\n                m.updateResults(data);\n                m.onSelectClient(1);\n                m.onShowMore();\n            }\n\n            function onDone() {\n                Core.HidePageLoading();\n                m.showResults();\n            }\n\n            Core.ShowPageLoading();\n\n            var payload = { Keywords: el.input.value };\n\n            $.post(data.searchApi, payload, onSuccess)\n             .fail(onFail)\n             .always(onDone);\n        },\n\n        showResults: function() {\n            document.location.host.indexOf('localhost') === -1\n                ? HandleSessionExpired(function() {\n                    $(el.results).slideDown();\n                  })\n                : $(el.results).slideDown();\n        },\n\n        showSearchApiError: function() {\n            el.results.innerHTML = apiErrorTmpl();\n        },\n\n        updateResults: function(data) {\n            el.results.innerHTML = (data && data.clients && data.clients.length > 0)\n                ? resultsTable(data.clients, data.hasMore)\n                : noResultsTable();\n        },\n        // -- END -- Search Client -----------------------\n\n\n        onShowMore: function() {\n            function onClick(e) {\n                var nextPage = $(e.currentTarget).data(\"page\");\n                nextPage = parseInt(nextPage);\n\n                m.doShowMore(nextPage);\n            }\n\n            Array\n                .from(el.root.querySelectorAll('[data-btn-show-more]'))\n                .forEach(function(elm) {\n                    elm.addEventListener('click', onClick)\n                });\n        },\n\n        doShowMore: function(nextPage) {\n            function onFail(data) {\n                Array\n                    .from(el.root.querySelectorAll('[data-pagination]'))\n                    .forEach(function(elm) {\n                        elm.innerHTML = pagination(apiErrorTmpl());\n                    });\n            }\n\n            function onSuccess(data) {\n                m.appendResults(data, nextPage);\n                m.onSelectClient(nextPage);\n                m.onShowMore();\n            }\n\n            function onDone() {\n                Core.HidePageLoading();\n            }\n\n            Core.ShowPageLoading();\n\n            var payload = { Keywords: el.input.value, PageNumber: nextPage };\n\n            $.post(data.searchApi, payload, onSuccess)\n             .fail(onFail)\n             .always(onDone);\n        },\n\n\n        appendResults: function(data, nextPage) {\n            var pagination = el.root.querySelector('[data-pagination]');\n            var results = (data && data.clients && data.clients.length > 0)\n                && getTableBody(data.clients, data.hasMore, nextPage + 1);\n\n            pagination\n                && results\n                && $(pagination).replaceWith(results);\n        },\n\n        // -- STR -- Select Client -----------------------\n        onSelectClient: function(page) {\n            function onClick(e) {\n                var contactId = $(e.currentTarget).data(\"contactId\");\n\n                m.doSelectClient(contactId);\n            }\n\n            Array\n                .from(el.root.querySelectorAll('[data-row-page=\"' + page + '\"]'))\n                .forEach(function(elm) {\n                    elm.addEventListener('click', onClick)\n                });\n        },\n\n        doSelectClient: function(contactId) {\n            function onFail(data) {\n                m.showSearchApiError();\n            }\n\n            function onSuccess(data) {\n                m.updateClientDetails(data, contactId);\n            }\n\n            function onDone() {\n                Core.HidePageLoading();\n            }\n\n            Core.ShowPageLoading();\n\n            var payload = { ContactID: contactId };\n\n            $.post(data.selectApi, payload, onSuccess)\n             .fail(onFail)\n             .always(onDone);\n        },\n\n        updateClientDetails: function(data, contactId) {\n            data.contactId = contactId;\n\n            //show detail when checkbox is checked\n            var cbIsChecked = function ($el) {\n                var id = $el.closest('.portal-checkout__cb-control').attr('id')\n                    , $target = $('div[data-toggle=\"' + id + '\"]');\n                if ($target) $target.slideDown();\n            };\n\n            var initAddressAutocomplete = function() {\n              var $autocomplete = $('.addressAutocomplete');\n              if ($autocomplete.length > 0) {\n                Core.Engine.handleAddressAutocomplete();\n              }\n            };\n\n            var clientDetails = document.querySelector('#checkOutClientDetailsReadonly');\n            clientDetails\n                ? $(clientDetails).html(data)\n                : console.warning('#checkOutClientDetailsReadonly not present details not updated');\n\n            $(\"#hidSelectedContactID\").val(contactId);\n\n            $(\".pccdlt-body\").removeClass('selected');\n            $(\"[data-contact-id=\" + contactId + \"]\").addClass('selected');\n\n            $(\".portal-checkout__client-detail--item-addnew-client input[type=checkbox], .portal-checkout__client-detail--item-addnew-client input[type=radio]\").uniform();\n            Core.PortalCheckoutCheckboxToggle.init();\n            $('#divClientDetails select:not(.kendo-ignore,.kendo-initialized)').kendoDropDownList().addClass('kendo-initialized');\n\n            //check checkbox\n            $('#NewShippingAddress').prop('checked') && cbIsChecked($('#NewShippingAddress'));\n            $('#NewContactInfo').prop('checked') && cbIsChecked($('#NewContactInfo'));\n\n            $('#divClientDetails').slideDown();\n            $('#divSearchResult').slideUp();\n            $(\"#frmClientRefNo\").find(\"#ContactID\").val(contactId);\n\n            initAddressAutocomplete();\n\n            setTimeout(function () {\n                Core.DVAInformation.init({\n                    domActivites: \"#DVAActivityOfDailyLiving\",\n                    domBehaviour: \"#DVABehaviour\",\n                    domComplexHealthCare: \"#DVAComplexHealthCare\",\n                })\n            }, 500);\n        },\n        // -- END -- Select Client -----------------------\n\n    };\n\n    m.init();\n\n    return m;\n};\n","Core.PortalCheckoutClinicalJustification = {\n  init: function() {\n    Core.PortalCheckoutClinicalJustification.handleSubmit();\n  },\n  handleSubmit: function() {\n    var _self = Core.PortalCheckoutClinicalJustification;\n    var $form = $('#frmClinicalJustification');\n    var $errorWrapper = $form.find('.error-wrapper');\n    var $btn = $form.find('.buttonblock button');\n\n    $btn.on('click', function(e) {\n      e.preventDefault();\n      if (_self.isValid()) {\n        $errorWrapper.addClass('d-none');\n        $form.submit();\n      } else {\n        $errorWrapper.removeClass('d-none');\n      }\n    });\n  },\n  isValid:function() {\n    var $form = $('#frmClinicalJustification');\n    var isRequiredValidation = $form.find('#IsRequiredValidation').val();\n\n    if (isRequiredValidation && isRequiredValidation.toLowerCase() === 'true') {\n      // check if instructions or attached file is provided\n      var hasInstructions = !!$form.find('#clinicalJustificationInstructions').val();\n      var hasFiles = $form.find('.fileUpload-fileList input[type=hidden]').length > 0;\n\n      var isValid = hasInstructions || hasFiles;\n      return isValid;\n    } \n    \n    return true;\n  }\n};\n","Core.PortalCheckoutHomeModification = (function() {\n    var NS = 'checkoutHomeModification';\n    var fileUploadObj = null;\n    var map = null;\n    var pop = null;\n\n    function executeCallback(clb) {\n        clb();\n    };\n\n    function countFiles() {\n        return document.querySelectorAll('#checkoutHomeModification .fileUpload-fileList input[type=hidden]').length;\n    }\n\n    function OptionsError() {\n        return {\n            show() {\n                if ($( \".error-options\" ).length) {\n                    return;\n                }\n\n                $('.fileUpload').append('<label class=\"error error-options\">Please add instructions or attachments if you require home modification</label>');\n            },\n\n            clear() {\n                $('.error-options').remove();\n            }\n        }\n    }\n\n    var v = {};\n\n    /*\n\n\n        DATA\n\n\n     */\n\n    var d = {\n        state: '',\n        installer: '',\n        instructions: '',\n        fileCounter: 0,\n        subscriberList: {\n            selectedState: [],\n            selectedInstaller: [],\n            textInstructions: [],\n            files: [],\n        },\n\n        set selectedState(state) {\n            this.state = state;\n            this.selectedInstaller = '';\n\n            d.subscriberList.selectedState.forEach(executeCallback);\n        },\n\n        get selectedState() {\n            return this.state;\n        },\n\n        set selectedInstaller(installer) {\n            this.installer = installer;\n\n            d.subscriberList.selectedInstaller.forEach(executeCallback);\n        },\n\n        get selectedInstaller() {\n            return this.installer;\n        },\n\n        set textInstructions(instructions) {\n            this.instructions = instructions;\n\n            d.subscriberList.textInstructions.forEach(executeCallback);\n        },\n\n        get textInstructions() {\n            return this.instructions;\n        },\n\n        set files(count) {\n            this.fileCounter = count;\n\n            d.subscriberList.files.forEach(executeCallback);\n        },\n\n        get files() {\n            return this.fileCounter;\n        },\n\n        subscribe(name, callback) {\n            d.subscriberList[name].push(callback);\n        }\n    };\n\n\n    /*\n\n\n        METHODS\n\n\n     */\n\n    var m = {\n        init: function() {\n            m.initFilesUpload();\n\n            m.loadVar();\n            m.loadCallback();\n\n            m.updateState();\n            m.onStateChange();\n\n            m.updateInstallerSelect();\n\n            m.updateDetails();\n\n            m.onTextInstructionsChange();\n            m.onFilesChange();\n            m.initMap();\n            m.goTo();\n\n            m.listenBtnClick();\n            m.initModal();\n            m.setValidators();\n\n            m.onBtnClick();\n            m.initDrawingTool();\n        },\n\n        initFilesUpload: function() {\n            var uploaderList = Array.from(document.querySelectorAll('#checkoutHomeModification .fileUpload'));\n\n            uploaderList.forEach(function(elem) {\n                fileUploadObj = new Core.FileUpload(elem);\n                fileUploadObj.init();\n            });\n        },\n\n        loadVar: function() {\n            d.selectedState = $(\".selectedState\").val();\n            d.selectedInstaller = $(\".selectedInstaller\").val();\n            d.textInstructions = $(\"#homeModificationInstructions\").val();\n            d.files = countFiles();\n        },\n\n        loadCallback: function() {\n            d.subscribe('selectedState', m.updateInstallerSelect);\n            d.subscribe('selectedState', m.isValidState);\n\n            d.subscribe('selectedInstaller', m.updateDetails);\n            d.subscribe('selectedInstaller', m.goTo);\n\n            d.subscribe('textInstructions', m.isValidOptions);\n            d.subscribe('files', m.isValidOptions);\n        },\n\n        setValidators: function() {\n            v['state'] = new SelectValidator(\"#dropdownInstallerState\");\n            v['installer'] = new SelectValidator(\"#dropdownInstallerInState\");\n            v['options'] = {\n                isValid: function() {\n                    var error = new OptionsError();\n                    var hasOption = (m.hasTextInstructions() || m.hasFiles());\n\n                    hasOption\n                        ? error.clear()\n                        : error.show();\n\n                    return hasOption;\n                }\n            }\n        },\n\n        isValidState: function() {\n            setTimeout(v['state'].isValid, 100);\n        },\n\n        isValidInstaller: function() {\n            setTimeout(v['installer'].isValid, 100);\n        },\n\n        isValidOptions: function() {\n            setTimeout(v['options'].isValid, 100);\n        },\n\n\n\n        /*\n\n\n            STATE\n\n\n         */\n\n        updateState: function() {\n            var selectedState = d.selectedState;\n\n            if (selectedState === '' || selectedState === 'all') {\n                return;\n            }\n\n            $('#dropdownInstallerState').data(\"kendoDropDownList\").value(selectedState);\n        },\n\n        onStateChange: function() {\n            function updateDataState() {\n                d.selectedState = $(\"#dropdownInstallerState\").data(\"kendoDropDownList\").value();\n                $(\".selectedState\").val(d.selectedState);\n                $(\".selectedInstaller\").val(d.selectedInstaller);\n            };\n\n            $(\"#dropdownInstallerState\").data(\"kendoDropDownList\").bind(\"change\", updateDataState);\n        },\n\n\n\n        /*\n\n\n            INSTALLERS\n\n\n         */\n\n        getInstallersList: function() {\n            var selectedState = d.selectedState;\n\n            function isInstallerInState(installer) {\n                return installer.State\n                    ? installer.State.toLowerCase() === selectedState.toLowerCase()\n                    : false;\n            }\n\n            if (selectedState === '' || selectedState === 'all') {\n                return [{Name: \"Pick an installer\", \"Id\": \"\"}];\n            }\n\n\n            if (typeof window.InstallersJson === 'undefined' || typeof window.InstallersJson.Installers === 'undefined') {\n                return [{Name: \"Pick an installer\", \"Id\": \"\"}];\n            }\n\n\n            var installerListInState = window.InstallersJson.Installers.filter(isInstallerInState);\n            return [{Name: \"Pick an installer\", \"Id\": \"\"}].concat(installerListInState);\n        },\n\n        getInstaller: function() {\n            function isSelectedInstaller(installer) {\n                return installer.Id === d.selectedInstaller;\n            };\n\n            return m.getInstallersList().find(isSelectedInstaller);\n        },\n\n        updateInstallerSelect: function() {\n            var selectedInstaller = d.selectedInstaller;\n            var installerList = m.getInstallersList();\n\n            $(\"#dropdownInstallerInState\").kendoDropDownList({\n                dataSource: installerList,\n                dataTextField: \"Name\",\n                dataValueField: \"Id\"\n            });\n\n            $(\"#dropdownInstallerInState\").data(\"kendoDropDownList\").value(selectedInstaller);\n            m.onInstallerChange();\n        },\n\n        onInstallerChange: function() {\n            function updateDataInstaller() {\n                d.selectedInstaller = $(\"#dropdownInstallerInState\").data(\"kendoDropDownList\").value();\n                $(\".selectedInstaller\").val(d.selectedInstaller);\n                m.isValidInstaller();\n            };\n\n            $(\"#dropdownInstallerInState\").data(\"kendoDropDownList\").bind(\"change\", updateDataInstaller);\n        },\n\n\n\n        /*\n\n\n            INSTRUCTIONS\n\n\n         */\n\n        onTextInstructionsChange: function() {\n            function updateDataTextInstructions() {\n                d.textInstructions = $(\"#homeModificationInstructions\").val();\n                m.isValidOptions();\n            };\n\n            $(\"#homeModificationInstructions\").on(\"keyup\", updateDataTextInstructions);\n        },\n\n\n\n        /*\n\n\n            FILES\n\n\n         */\n\n        onFilesChange: function() {\n            function updateDataFiles() {\n                d.files = countFiles();\n                m.isValidOptions();\n            };\n\n            document.addEventListener(`${NS}.fileUploaded`, updateDataFiles);\n            document.addEventListener(`${NS}.fileDeleted`, updateDataFiles);\n        },\n\n\n        hasMinimumRequirements: function() {\n            var hasOption = (m.hasTextInstructions() || m.hasFiles());\n\n            return m.hasValidInstaller() && hasOption;\n        },\n\n        hasValidInstaller: function() {\n            return (d.selectedInstaller !== '' && d.selectedState !== '');\n        },\n\n        hasTextInstructions: function() {\n            return (d.textInstructions.length > 0);\n        },\n\n        hasFiles: function() {\n            return (d.files > 0);\n        },\n\n\n\n        /*\n\n\n            BUTTONS\n\n\n         */\n\n        checkBtn: function() {\n           $(\"#btnContinueHomeMod\").attr('disabled', ! m.hasMinimumRequirements());\n        },\n\n        onBtnClick: function() {\n            var isSubmitted = false;\n            var setIsSubmittedFalse = function() {\n                isSubmitted = false;\n            }\n\n            var onClick = function() {\n                m.isValidState();\n                m.isValidInstaller();\n                m.isValidOptions();\n\n                if (! m.hasMinimumRequirements()) {\n                    return;\n                }\n\n                // reorder file list names to send to server\n                var $list = $('#checkoutHomeModification .fileUpload .fileUpload-fileList');\n                $list.find('.fileUpload-file').each(function(i, item) {\n                    var $file = $(item);\n                    $file.find('.UploadedFiles').prop('name', `UploadedFiles[${i}]`);\n                    $file.find('.UploadedOriginalFileNames').prop('name', `UploadedOriginalFileNames[${i}]`);\n                });\n\n                !isSubmitted &&\n                    ( isSubmitted = true\n                    , setTimeout(setIsSubmittedFalse, 500)\n                    , $('#frmHomeModification').trigger('submit')\n                    );\n            };\n\n            var btn = document.querySelector(\"#btnContinueHomeMod\");\n            btn && btn.addEventListener('click', onClick);\n        },\n\n\n\n        /*\n\n\n            DETAILS\n\n\n         */\n\n        updateDetails: function() {\n            var $desc = $('.home-mod-option-desc');\n            var $details = $('.home-mod-details');\n            var installer = m.getInstaller();\n\n            if (!installer || !installer.AddressLine1) {\n                $content = '&nbsp;';\n                $desc.show();\n                $details.html($content);\n                $details.hide();\n                return;\n            }\n\n            $content = '<h4>' + installer.Name + '</h4>'\n                        + '<p>' + installer.AddressLine1 + '</p>'\n                        + '<p>' + installer.Suburb + '</p>'\n                        + '<p>' + installer.State + ', ' + installer.Postcode + '</p>'\n                        + '<p>Phone: ' + installer.Phone + '</p>'\n                        + (installer.BusinessHours ? '<p class=\"mt-3\">Business Hours: </p> <div class=\"mt--3\">' + installer.BusinessHours + '</div>' : '');\n\n            $desc.hide();\n            $details.html($content);\n            $details.show();\n        },\n\n\n\n        /*\n\n\n            MAP\n\n\n         */\n\n        initMap: function() {\n            var $mapCanvas = $(\"#google-map-canvas-home-mod\");\n\n            if ($mapCanvas.length) {\n                var data = (typeof window.InstallersJson === 'undefined' || typeof window.InstallersJson.Installers === 'undefined')\n                    ? []\n                    : window.InstallersJson.Installers;\n\n                map = Core.Map($mapCanvas[0]);\n                map.init();\n                map.plotMarkers(data);\n            }\n        },\n\n        goTo: function() {\n            var installer = m.getInstaller();\n\n            (!installer || !installer.AddressLine1)\n                ? map.setState(d.selectedState)\n                : map.goTo(installer.Latitude, installer.Longitude);\n        },\n\n\n        /*\n\n\n            HOME MOD BUTTONS\n            - listenBtnClick init both btns listners\n\n\n         */\n\n        listenBtnClick: function() {\n            m.onClickBtnContinueHomeMod();\n            m.onClickBtnNoHomeModRequired();\n        },\n\n        onClickBtnContinueHomeMod: function() {\n            $(\"#btnContinueHomeMod\").on('click', function(e) {\n                e.preventDefault();\n\n                $('.homeMods').val('true');\n\n                $(\"#btnContinueHomeMod\").unbind('click').trigger('click');\n                setTimeout(m.onClickBtnContinueHomeMod, 250);\n            });\n        },\n\n        onClickBtnNoHomeModRequired: function() {\n            $(\"#btnNoHomeModRequired\").on('click', function(e) {\n                e.preventDefault();\n\n                if (m.isModalNoHomeMod()) {\n                    m.showModal();\n                    return;\n                }\n\n                $('.homeMods').val('false');\n                m.doClickNoHomeModRequired();\n            });\n        },\n\n        // unbind click and bind event\n        // required to submit the no home mode form\n        doClickNoHomeModRequired: function() {\n            $(\"#btnNoHomeModRequired\").unbind('click').trigger('click');\n            setTimeout(m.onClickBtnNoHomeModRequired, 250);\n        },\n\n        /*\n\n            on ajax_homemods_OnComplete\n            we fire `aidacare.home-mod-completed`\n            portalCheckout will listen and refresh the cart items\n            Core.PortalCheckoutHomeModification.homeModCompletedEvent()\n\n         */\n        homeModCompletedEvent: function() {\n            var event = new Event('aidacare.home-mod-completed');\n            document.dispatchEvent(event);\n\n            // remove error message\n            setTimeout(() => {\n                var error = new OptionsError();\n                error.clear();\n                \n                // remove files and notes if no home mod required clicked\n                if ($('.homeMods').val().toLowerCase() === 'false') {\n                    $('#checkoutHomeModification .fileUpload-fileList').empty();\n                    $(\"#homeModificationInstructions\").val('');\n                    $('.drawingTool-canvas').drawr('clear');\n                }\n            }, 1000);\n        },\n\n\n        /*\n\n\n            NO HOME MOD MODAL\n            - if only product in the cart is home mod\n            - if user click yes (which means remove)\n              then we do remove and refresh the page\n\n\n         */\n\n        isModalNoHomeMod: function() {\n            return $('#btnNoHomeModRequired').data(\"confirm\") || m.hasMinimumRequirements();\n        },\n\n        showModal: function() {\n            pop.data(\"kendoWindow\").center().open();\n        },\n\n        initModal: function() {\n            pop = $('#confirm')\n                        .kendoWindow({\n                            title: \"CONFIRM NO HOME MOD\",\n                            visible: false,\n                            iframe: false,\n                            modal: true,\n                            resizable: false,\n                            pinned: true,\n                            draggable: false,\n                            animation: false,\n                        });\n\n            $('[data-name=\"no\"]').on('click', function() {\n                pop.data(\"kendoWindow\").close();\n            });\n\n            $('[data-name=\"yes\"]').on('click', function() {\n                pop.data(\"kendoWindow\").close();\n                $('.homeMods').val('false');\n\n                m.doClickNoHomeModRequired();\n            });\n        },\n\n        initDrawingTool: function() {\n            var $fileUploadEl = $('#checkoutHomeModification .fileUpload');\n\n            if ($(\"#homeMod-draw\").length > 0) {\n                var drawingTool = new Core.DrawingTool(\"#homeMod-draw\");\n                drawingTool.init(fileUploadObj, $fileUploadEl);\n            }\n        },\n    };\n\n    return m;\n})();\n","Core.PortalCheckoutPayment = {\n    init: function() {\n        Core.PortalCheckoutPayment.Cache = {\n            $radio: $('.toggle-radiogroup-content[name=\"checkoutPaymentMethod\"]')\n        };\n\n        this.handleRadio();\n        this.initCCInput();\n        this.initTooltip();\n        this.setBtnPaymentText($('.toggle-radiogroup-content[name=\"checkoutPaymentMethod\"]:checked').val());\n        Core.PortalCheckoutToggleRadioContent.handleRadioClick($('#divPayment .portal-radio__listbox-options-item'));\n    },\n\n    handleRadio: function() {\n        var _self = Core.PortalCheckoutPayment;\n        var _termConditionCheckbox = Core.PortalCheckoutTermsAndConditions;\n\n        _self.Cache.$radio.on('change', function() {\n            var $el = $(this),\n                name = $el.attr(\"name\"),\n                $group = $('[data-content=\"' + name + '\"]'),\n                $target = $group.find($el.attr(\"data-target\"));\n\n            $termscondition = $el.attr(\"data-termscondition\");\n            $submittext = $el.attr(\"data-submittext\");\n\n            if ($termscondition == \"False\") {\n                $(\".portal-checkout__termsconditions\").hide();\n                $(\"#btnPayNow\").removeClass('disabled').prop('disabled', false);\n            }\n            else {\n                $(\".portal-checkout__termsconditions\").show();\n                 if (!_termConditionCheckbox.isTermChecked()) {\n                    $(\"#btnPayNow\").removeClass('disabled').prop('disabled', true);\n                 }\n            }\n\n            _self.setBtnPaymentText(this.value, $submittext);\n            Core.PortalCheckoutToggleRadioContent.resetRadio($el);\n\n            $group.find('.portal-checkout__radiogroup-item.active').removeClass('active');\n            $target.addClass('active');\n        });\n    },\n\n    setBtnPaymentText: function (payMethod, submitext) {\n        var $btn = $(\"#btnPayNow\");\n\n        // https://levogroup.atlassian.net/browse/AD-462\n        if (payMethod === \"CreditCard\") {\n            $btn.text(submitext);\n        } else {\n            $btn.text(submitext);\n        }\n\n        // if(payMethod === \"ChargeToAccount\") {\n        //     var roles = $('#userRole').val();\n\n        //     if(!roles) {\n        //         console.warn(\"Couldn't find '#userRole' element. Returned early.\");\n        //         return;\n        //     }\n\n        //     roles = roles.split(\";\");\n\n        //     //https://levogroup.atlassian.net/browse/AD-137\n        //     //check if only 'therapist'\n        //     if(roles.length == 1 && roles[0] == 'Therapist') {\n        //         btnText = \"Send for Approval\";\n        //     }\n        //     else if (roles.indexOf(\"Approver\") != -1){\n        //         btnText = \"Submit Now\";\n        //     }\n        // }\n\n        //$(\"#btnPayNow\").text(btnText);\n    },\n\n    initCCInput: function() {\n        //console.log('init cc input');\n        var cleave = new Cleave('#paymCCno', {\n            creditCard: true,\n            onCreditCardTypeChanged: function (type) {\n                //console.log(type);\n            }\n        });\n    },\n\n    initTooltip: function() {\n        $('#cvvTooltip').kendoTooltip({\n            width: 200,\n            position: \"top\",\n            show: function(e) {\n                this.popup.element.addClass('portal-tooltip text-center');\n            }\n        });\n    },\n\n    generateDummydata: function() {\n        $('#checkoutPayment .portal-checkout__accordion-heading').on('dblclick', function() {\n            $('#cardHolderName').val('Aidacare');\n            $('#paymCCno').val('1234123412341234');\n            $('#paymCCcvv').val('123');\n            $(\"#paymentExpYear\").data(\"kendoDropDownList\").select(1);\n            $(\"#paymentExpDate\").data(\"kendoDropDownList\").select(1);\n        });\n\n        $('#checkoutPayment .portal-checkout__accordion-content').on('dblclick', function() {\n            $('#cardHolderName').val('Aidacare');\n            $('#paymCCno').val('4564710000000004');\n            $('#paymCCcvv').val('847');\n            $(\"#paymentExpYear\").data(\"kendoDropDownList\").select(1);\n            $(\"#paymentExpDate\").data(\"kendoDropDownList\").select(1);\n        });\n    }\n};\n","Core.PortalCheckoutShipping = {\n    init: function() {\n        Core.PortalCheckoutShipping.Cache = {\n            $toggleRadioContent: $('.toggle-radiogroup-content[name=\"shippingCostOptions\"]'),\n            $btnContinueShipping: $('#btnContinueShipping'),\n            $btnSaveAsDraft: $('#btnSaveAsDraft'),\n            $btnRequestQuote: $('#btnRequestQuote')\n        };\n\n      // this.onStateChange();\n      // this.updateSupplierSelect();\n      this.handleSelectStore();\n      this.handleStoreLocation();\n      this.checkShippingMethod();\n      this.handleBtnSubmit();\n      this.handleRadio();\n\n      Core.PortalCheckoutToggleRadioContent.handleRadioClick($('#divShipping .portal-radio__listbox-options-item'));\n    },\n\n    isPickup: function() {\n        var pickup = $('input[name=\"shippingCostOptions\"]:checked').data('pickup');\n\n        if (pickup) {\n            return pickup.toLowerCase() === 'true';\n        }\n\n        return false;\n    },\n\n    handleSelectStore: function() {\n        $('#dropdownStoreLocation').on('change', function() {\n            var $wrap = $(this).closest('.form-input');\n            var $selObj =  $(this).data('kendoDropDownList');\n            $('#hidStoreId').val(this.value);\n\n            if(this.value) {\n              $selObj.wrapper && $selObj.wrapper[0].classList.remove('error');\n              $wrap.find('label.error').remove();\n            } else {\n              $selObj.wrapper && $selObj.wrapper[0].classList.add('error');\n              if($wrap.find('label.error').length === 0) Core.AppendErrorLabel($wrap, \"Please select store\");\n            }\n        });\n    },\n\n    handleStoreLocation: function () {\n        $('[data-StoreLocationDropDown]').on('change', function () {\n            var $wrap = $(this).closest('.form-input');\n            var $selObj = $(this).data('kendoDropDownList');\n            $('#hidStoreStorePaidShippingId').val(this.value);\n\n            if (this.value) {\n                $wrap.find('label.error').remove();\n            } else {\n                if ($wrap.find('label.error').length === 0) Core.AppendErrorLabel($wrap, \"Please select store\");\n            }\n        });\n    },\n\n    onStateChange: function() {\n      // get default value from selectedState (Home mod)\n      var selectedState = $('.selectedState').val();\n      $(\"#dropdownSupplierState\").data(\"kendoDropDownList\").value(selectedState);\n\n      $(\"#dropdownSupplierState\").on(\"change\", function() {\n        Core.PortalCheckoutShipping.updateSupplierSelect();\n      });\n    },\n\n    updateSupplierSelect: function() {\n      var installerList = Core.PortalCheckoutShipping.getSupplierList();\n\n      $(\"[data-storelocationdropdown]\").kendoDropDownList({\n          dataSource: installerList,\n          dataTextField: \"Name\",\n          dataValueField: \"Id\"\n      });\n\n      $(\"[data-storelocationdropdown]\").data(\"kendoDropDownList\").value('');\n    },\n\n    // render options from selected State\n    getSupplierList: function() {\n      var selectedState = $(\"#dropdownSupplierState\").val() || $('.selectedState').val(); // get default value from selectedState (Home mod)\n\n      function isInstallerInState(installer) {\n          return installer.State\n              ? installer.State.toLowerCase() === selectedState?.toLowerCase()\n              : false;\n      }\n\n      if (selectedState === '' || selectedState === 'all') {\n          return [{Name: \"Pick a supplier\", \"Id\": \"\"}];\n      }\n\n      if (typeof window.StoreJson === 'undefined') {\n          return [{Name: \"Pick a supplier\", \"Id\": \"\"}];\n      }\n\n      var installerListInState = window.StoreJson.filter(isInstallerInState);\n      return [{Name: \"Pick a supplier\", \"Id\": \"\"}].concat(installerListInState);\n    },\n\n    handleRadio: function() {\n        var _self = Core.PortalCheckoutShipping;\n\n        _self.Cache.$toggleRadioContent.on('change', function() {\n            var $el = $(this),\n                name = $el.attr(\"name\"),\n                $group = $('[data-content=\"' + name + '\"]'),\n                $target = $group.find($el.attr(\"data-target\"));\n\n            Core.PortalCheckoutToggleRadioContent.resetRadio($el);\n\n            $group.find('.portal-checkout__radiogroup-item.active').removeClass('active');\n            $target.addClass('active');\n            $(\"#shippingOption\").val($el.data('id'));\n\n            if ($el.data('price').toLowerCase() === \"free\") {\n                Core.PortalCheckoutShipping.initMap();\n                Core.PortalCheckoutShipping.initStoreDropdown();\n            } else {\n                Core.PortalCheckoutShipping.initStoreLocationDropdown();\n            }\n        });\n    },\n\n    validateShipping: function() {\n        if (Core.PortalCheckoutShipping.isPickup()) {\n            $('#hidStoreStorePaidShippingId').val('');\n            var $store = $('#dropdownStoreLocation');\n            var $selObj =  $store.data('kendoDropDownList');\n\n            if(!$store.val()) {\n                var $wrap = $store.closest('.form-input');\n\n                if($wrap.find('label.error').length === 0) {\n                  $selObj.wrapper && $selObj.wrapper[0].classList.add('error');\n                  Core.AppendErrorLabel($wrap, \"Please select store\");\n                }\n                return false;\n            } else {\n              $selObj.wrapper && $selObj.wrapper[0].classList.remove('error');\n            }\n\n        } else {\n            $('#hidStoreId').val('');\n            var id = \"store-\" + $(\"#shippingOption\").val();\n                $store = $('#' + id);\n            var $storeLength = $store.length;\n\n            if ($storeLength==0) {\n                return true;\n            }\n             $wrap = $store.closest('.form-input');\n            if (!$store.val()) {\n                if ($wrap.find('label.error').length === 0) {\n                    Core.AppendErrorLabel($wrap, \"Please select store\");\n                }\n                else {\n                    $wrap.find('label.error').show();\n                }\n                return false;\n            } else {\n                if ($wrap.find('label.error').length > 0) {\n                    $wrap.find('label.error').remove();\n                }\n            }\n        }\n\n        return true;\n    },\n\n    checkShippingMethod: function() {\n        var _self = Core.PortalCheckoutShipping;\n\n        //if free ship is selected\n        if(_self.isPickup()) {\n            _self.initMap();\n            _self.initStoreDropdown();\n\n            var storeIdx = $('#dropdownStoreLocation option:selected').index();\n            if(storeIdx) {\n                Core.PortalPickupStores.Locator.showStoreInfo(storeIdx - 1);\n                Core.PortalPickupStores.Locator.Map.setZoom(15);\n            }\n        }\n    },\n\n    initMap: function() {\n        var $mapCanvas = $(\"#google-map-canvas\");\n        if ($mapCanvas.length && !$mapCanvas.hasClass('inited')) {\n            Core.PortalPickupStores.Locator.init();\n        }\n    },\n\n    initStoreDropdown: function() {\n        var $dropdownStoreLocation = $('#dropdownStoreLocation');\n        if ($dropdownStoreLocation.length && $dropdownStoreLocation.data('role') != \"dropdownlist\") {\n            $dropdownStoreLocation.kendoDropDownList();\n        }\n    },\n\n    initStoreLocationDropdown: function () {\n        var $dropdownStoreLocation = $('[data-StoreLocationDropDown]');\n        if ($dropdownStoreLocation.length && $dropdownStoreLocation.data('role') != \"dropdownlist\") {\n            $dropdownStoreLocation.kendoDropDownList();\n        }\n\n        // var $dropdownState = $(\"#dropdownSupplierState\");\n        // if ($dropdownState.length && $dropdownState.data('role') != \"dropdownlist\") {\n        //   $dropdownState.kendoDropDownList();\n        // }\n    },\n\n    onClickSaveDraftButton: function() {\n        var self = Core.PortalCheckoutShipping;\n        var $btnSaveAsDraft = self.Cache.$btnSaveAsDraft;\n        var $form = $('#frmSaveShipping');\n\n        var isValidForm = function() {\n            return self.validateShipping() && $form.valid();\n        };\n\n        var submitForm = function() {\n            var action = $('#frmSaveShipping').attr('action').replace(\"SaveShipping\", 'SaveAsDraft')\n            $form.attr('action', action);\n            $form.attr('data-ajax-success', \"ajax_draf_OnSuccess\");\n            $form.attr('data-ajax-failue', \"ajax_draf_OnFailure\");\n            $form.attr('data-ajax-complete', \"ajax_draf_OnComplete\");\n\n            $form.trigger('submit');\n        };\n\n        var onClickBtn = function(e) {\n            e.stopPropagation();\n            self.showValidation();\n\n            isValidForm()\n                && Core.ModalSaveDraft.show().onSaveDraft(submitForm);\n        };\n\n        $btnSaveAsDraft.on('click', onClickBtn);\n    },\n\n    handleBtnSubmit: function() {\n        var _self = Core.PortalCheckoutShipping;\n\n        _self.Cache.$btnContinueShipping.on('click', function (e) {\n            e.stopPropagation();\n            _self.showValidation();\n\n            var $form = $('#frmSaveShipping');\n            if(_self.validateShipping() && $form.valid()) {\n                //console.log('submit');\n                $form.trigger('submit');\n            }\n        });\n\n        _self.onClickSaveDraftButton();\n\n        _self.Cache.$btnRequestQuote.on('click', function (e) {\n            e.stopPropagation();\n            _self.showValidation();\n\n            var $form = $('#frmSaveShipping');\n            if (_self.validateShipping() && $form.valid()) {\n                //console.log('submit');\n                var action = $('#frmSaveShipping').attr('action').replace(\"SaveShipping\", 'RequestQuote')\n                $form.attr('action', action);\n                $form.attr('data-ajax-success', \"ajax_draf_OnSuccess\");\n                $form.attr('data-ajax-failue', \"ajax_draf_OnFailure\");\n                $form.attr('data-ajax-complete', \"ajax_draf_OnComplete\");\n\n                $form.trigger('submit');\n            }\n        });\n    },\n\n    showValidation: function() {\n        if (!$(\"[name=shippingCostOptions]\").is(\":checked\")) {\n            if (!$(\".portal-checkout__listbox-options\").find(\".error\").length) {\n                $(\".portal-checkout__listbox-options\")\n                    .append(\n                        \"<label for=\\\"shippingCostOptions\\\" class=\\\"error\\\">Please select shipping method</label>\");\n            }\n\n            var $offset = $(\"[name=shippingCostOptions]\").offset();\n            var offset = $offset ? $offset.top : 0;\n\n            $(\"html, body\").animate({ scrollTop: offset - 30 }, 300);\n\n            return;\n        }\n\n        if ($(\".portal-checkout__listbox-options\").find(\".error\").length)\n            $(\".portal-checkout__listbox-options .error\").remove();\n    }\n};\n\nCore.ModalSaveDraft = {\n    show: function() {\n        var _width = Core.IsMobile()\n                        ? Core.Cache.$window.width()\n                        : Core.Config.CartNotification.Width;\n\n        var tmpl = `\n        <div class=\"modal-save-draft\">\n            <div class=\"px-2 py-3 border-super-light-grey border-bottom-2 border-top-2\">\n                <table>\n                    <tbody>\n                        <tr>\n                             <td>\n                                Do you want to save the order as a draft?<br>\n                                Once saved as a draft, the order can be retrieved and edited from your dashboard.\n                            </td>\n                        </tr>\n                    </tbody>\n                </table>\n            </div>\n            <div class=\"text-center pt-3 \">\n                <button class=\"btn\" data-btn=\"save\">Save as draft</button>\n                <button class=\"btn\" data-btn=\"cancel\">Cancel</button>\n            </div>\n        </div>\n        `;\n\n        $popup = $(tmpl).kendoWindow({\n            width: _width,\n            visible: false,\n            modal: true,\n            resizable: false,\n            actions: [\"Close\"],\n            pinned: true,\n            draggable: false,\n            appendTo: '#page-wrap',\n            title: 'SAVE AS DRAFT',\n            animation: false,\n            close: function () {\n                $('body').css('overflowY', '');\n            }\n        });\n\n        $('body').css('overflowY', 'hidden');\n        $popup.data(\"kendoWindow\").center();\n        $popup.data(\"kendoWindow\").open();\n\n        $(\".k-overlay\").on('click', function () {\n            $popup.data(\"kendoWindow\").close();\n        });\n\n        $(\".k-window-action > span.k-i-close, .k-window [data-btn='cancel']\").on('click', function (e) {\n            e.preventDefault();\n            $popup.data(\"kendoWindow\").close();\n        });\n\n        $(\"[data-btn='save']\").on('click', function() {\n            Core.ModalSaveDraft.Cache\n                && Core.ModalSaveDraft.Cache.onSaveDraft\n                    && Core.ModalSaveDraft.Cache.onSaveDraft();\n\n            $popup.data(\"kendoWindow\").close();\n        });\n\n        return this;\n    },\n\n    onSaveDraft: function(callback) {\n        Core.ModalSaveDraft.Cache = {\n            onSaveDraft: callback\n        };\n    },\n};\n","Core.PortalLogin = {\n  init: function () {\n    Core.PortalLogin.Cache = {\n      $cbShowPassword: $(\".showPassword\"),\n      $inputPassword: $(\"#password\"),\n    };\n\n    // this.showHidePassword();\n\n    // functions below are used on DVA registration. Initiation happen on step 3\n    // this.handleTacCheckbox();\n    // this.initPopup();\n  },\n\n  showHidePassword: function () {\n    Core.PortalLogin.Cache.$cbShowPassword.on(\"change\", function () {\n      if (Core.PortalLogin.Cache.$inputPassword.attr(\"type\") == \"password\")\n        Core.PortalLogin.Cache.$inputPassword.attr(\"type\", \"text\");\n      else Core.PortalLogin.Cache.$inputPassword.attr(\"type\", \"password\");\n    });\n  },\n\n  handleTacCheckbox: function () {\n    var $checkbox = $(\"#register #termsAndConditionsCheckbox\");\n    var $tacLink = $(\"#register a.termAndConditionPopup\");\n\n    $checkbox.on(\"change\", function (e) {\n      //keep chekbox unchanged\n      var isChecked = this.checked;\n      this.checked = !isChecked;\n      $.uniform.update(\"#termsAndConditionsCheckbox\");\n\n      Core.PortalLogin.showPopup($(\"#tacPopup\"), true);\n    });\n\n    $tacLink.on('click', function(e) {\n      e.preventDefault();\n      Core.PortalLogin.showPopup($(\"#tacPopup\"), true);\n    });\n  },\n\n  handleTacButtons: function(btnId, isSelected) {\n    var $popup = $(\"#tacPopup\");\n    var $checkbox = $(\"#register #termsAndConditionsCheckbox\");\n    var $btnRegister = $('#btn-register2');\n\n    $popup.find(btnId).on('click', function (e) {\n      e.stopPropagation();\n      $checkbox.prop('checked', isSelected);\n      $.uniform.update('#termsAndConditionsCheckbox');\n\n      if (isSelected) $btnRegister.removeClass('disabled').prop('disabled', false);\n      else $btnRegister.addClass('disabled').prop('disabled', true);\n\n      Core.PortalLogin.showPopup($popup, false);\n    });\n  },\n\n  initPopup: function (title) {\n    var _self = Core.PortalLogin;\n    var _width = 660;\n    var $popup = $(\"#tacPopup\");\n\n    if ($popup.length === 0) return;\n\n    if (Core.IsMobile()) {\n      _width = Core.Cache.$window.width();\n    }\n\n    $popup.kendoWindow({\n      title: \"TERMS & CONDITIONS\",\n      width: _width,\n      visible: false,\n      iframe: false,\n      modal: true,\n      resizable: false,\n      actions: [\"Close\"],\n      pinned: true,\n      draggable: false,\n      animation: false,\n      appendTo: \"#page-wrap\",\n    });\n\n    _self.handleTacButtons('#btnCancelPopup', false);\n    _self.handleTacButtons('#btnAgreePopup', true);\n  },\n\n  showPopup: function ($popup, doShow) {\n    doShow = doShow == undefined || null ? true : doShow; //set default to true/show\n\n    var popupWindow = $popup.data(\"kendoWindow\");\n\n    if (doShow) {\n      popupWindow.center().open();\n    } else {\n      popupWindow.close();\n    }\n  },\n};\n","Core.PortalPickupStores = {\n    Locator: {\n        init: function () {\n\n            Core.PortalPickupStores.Locator.Cache = {\n                $map: $('#google-map-canvas')\n            };\n\n            var _self = this;\n\n            _self.Map = null;\n            _self.Markers = [];\n            _self.InfoWindows = [];\n\n            _self.data = window.StoreJson;\n\n            Handlebars.registerHelper(\"storesGetIndex\", function (arr, options) {\n                return $.map(arr, function (item, index) {\n                    item.$idx = index;\n                    return options.fn(item);\n                }).join('');\n            });\n\n            if(Core.PortalPickupStores.Locator.Cache.$map.length) {\n                this.setStartingPoint();\n                this.createMap();\n            }\n\n            Core.Cache.$document.on(\"change\", '#dropdownStoreLocation', function (e) {\n\n                e.preventDefault();\n                var sIndex = this.selectedIndex;\n                if (sIndex > 0) {\n                    var $store = window.StoreJson[this.selectedIndex-1];\n                    $content = '<h4>' + $store.Name + '</h4>'\n                        + '<p>' + $store.AddressLine1 + '</p>'\n                        + '<p>' + $store.Suburb + '</p>'\n                        + '<p>' + $store.State + ', ' + $store.Postcode + '</p>'\n                        + '<p>Phone: ' + $store.Phone + '</p>'\n                        + '<p class=\"mt-3\">Business Hours: </p> <div class=\"mt--3\">' + $store.BusinessHours + '</div>';\n\n                    $('.shipping-option-desc').hide();\n                    $('.store-address-details').html($content);\n                    $('.store-address-details').show();\n\n                    _self.showStoreInfo(this.selectedIndex-1);\n                    _self.Map.setZoom(15);\n                }\n                else\n                {\n                    $content = '&nbsp;';\n                    $('.shipping-option-desc').show();\n                    $('.store-address-details').html($content);\n                    $('.store-address-details').hide();\n\n                    //show default map\n                    _self.setStartingPoint();\n                    _self.Map.setCenter({ lat: lat, lng: longitude });\n                    _self.Map.setZoom(Core.IsMobile() ? 3 : 4);\n                }\n               \n            });\n        },\n\n        setStartingPoint: function () {\n            switch (window.CurrentState) {\n                case 'act':\n                    if (Core.IsMobile()) {\n                        zoomLevel = 6;\n                    } else {\n                        zoomLevel = 7;\n                    }\n                    lat = -35.308;\n                    longitude = 149.124;\n                    break;\n                case 'nsw':\n                    zoomLevel = 6;\n                    lat = -33.253;\n                    longitude = 148.921;\n                    break;\n                case 'vic':\n                    zoomLevel = 7;\n\t\t\t        if ( Core.IsMobile()) {\n\t\t\t\t\t    lat = -37.471;\n\t\t\t\t\t\tlongitude = 144.785;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlat = -36.390;\n\t\t\t\t\t\tlongitude = 144.235;\n\t\t\t\t\t}\n                    break;\n                case 'qld':\n                    zoomLevel = 6;\n\t\t\t\t\tif (Core.IsMobile()) {\n\t\t\t\t\t\tlat = -25.917;\n\t\t\t\t\t\tlongitude = 151.702;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlat = -23.803;\n\t\t\t\t\t\tlongitude = 145.571;\n\t\t\t\t\t}\n                    break;\n                case 'sa':\n\t\t\t\t\tif (Core.IsMobile()){\n\t\t\t\t\t\tzoomLevel = 5;\n\t\t\t\t\t\tlat = -30.000;\n\t\t\t\t\t\tlongitude = 136.209;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tzoomLevel = 6;\n\t\t\t\t\t\tlongitude = 134.989;\n\t\t\t\t\t\tlat = -31.566;\n\t\t\t\t\t}\n                    break;\n                case 'wa':\n\t\t\t\t\tif ( Core.IsMobile() ) {\n\t\t\t\t\t\tzoomLevel = 5;\n\t\t\t\t\t\tlat = -31.14;\n\t\t\t\t\t\tlongitude = 115.159;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tzoomLevel = 6;\n\t\t\t\t\t\tlat = -30.422;\n\t\t\t\t\t\tlongitude = 117.0266;\n\t\t\t\t\t}\n                    break;\n                case 'tas':\n                    zoomLevel = 7;\n                    lat = -41.965;\n                    longitude = 146.628;\n                    break;\n                case 'nt':\n                    zoomLevel = 5;\n                    lat = -19.491;\n                    longitude = 133.550;\n                    break;\n                default:\n                    if (Core.IsMobile()) {\n                        zoomLevel = 3;\n                    } else {\n                        zoomLevel = 4;\n                    }\n                    lat = -28.926;\n                    longitude = 134.175;\n                    break;\n            }\n        },\n\n        createMap: function () {\n            var canvas = document.getElementById(\"google-map-canvas\");\n\n            var options = {\n                disableDefaultUI: true,\n                scrollWheel: false,\n                draggable: true,\n                streetViewControl: false,\n                zoom: zoomLevel,\n                zoomControl: true,\n                zoomControlOptions: {\n                    style: google.maps.ZoomControlStyle.SMALL,\n                    position: google.maps.ControlPosition.RIGHT_TOP\n                },\n                minZoom: 1,\n                center: new google.maps.LatLng(lat, longitude),\n                mapTypeId: google.maps.MapTypeId.ROADMAP\n            };\n\n            this.Map = new google.maps.Map(canvas, options);\n            this.plotMarkers();\n            canvas.classList.add('inited');\n        },\n\n        plotMarkers: function () {\n            var _self = this;\n\n            $.each(_self.data, function (i, store) {\n                _self.Markers[i] = new google.maps.Marker({\n                    position: new google.maps.LatLng(store.Latitude, store.Longitude),\n                    map: _self.Map,\n                    title: store.Name,\n                    icon: Core.Config.StoreFinder.MarkerIconPath\n                });\n\n\t\t\t\tvar _$infoContent = Core.PortalPickupStores.Locator._storeContent(store);\n\n                _self.InfoWindows[i] = new google.maps.InfoWindow({\n                    content: _$infoContent\n                });\n\n                google.maps.event.addListener(_self.Markers[i], 'click', function () {\n                    _self.showStoreInfo(i);\n                    _self.Map.setZoom(15);\n                });\n\n\t\t\t\tCore.PortalPickupStores.Locator._styleWindow(_self.InfoWindows[i]);\n            });\n        },\n        \n        showStoreInfo: function (idx) {\n            for (var i = 0; i < this.InfoWindows.length; i++) {\n                if (i !== idx) {\n                    if (this.InfoWindows[i] !== null) {\n                        this.InfoWindows[i].close();\n                    }\n                }\n                else if (this.InfoWindows[idx] !== null) {\n                    //this.InfoWindows[idx].open(this.Map, this.Markers[idx]);\n                    this.Map.setCenter(this.Markers[idx].position);\n                }\n            }\n        },\n\n\t\t_styleWindow: function(info){\n            // *\n            // START INFOWINDOW CUSTOMIZE.\n            // The google.maps.event.addListener() event expects\n            // the creation of the infowindow HTML structure 'domready'\n            // and before the opening of the infowindow, defined styles are applied.\n            // *\n            google.maps.event.addListener(info, 'domready', function () {\n                var $iwCloseBtn = $('.gm-style-iw').next();\n                var $img = $iwCloseBtn.find('img');\n\n                if ($img.filter('.custom').length === 0) {\n                    $img.hide();\n                    $iwCloseBtn\n                        .css({opacity: '1', right: '15px', top: '15px', width: '35px', height: '35px'})\n                        .append('<img src=\"/site.resource/images/infowindow_x.png\" class=\"custom\" draggable=\"false\">');\n                }\n            });\n\t\t},\n\t\t// Generates popup content\n\t\t_storeContent: function(store){\n\n\t\t\t// Get the Title\n\t\t\tvar _$infoContent = '';\n\t\t\tif(typeof store.Name === 'string')\n\t\t\t\t_$infoContent = '<div class=\"mapInfoWindow\"><h2>' + store.Name + '</h2><p>';\n\t\t\telse if(typeof store.Title === 'string')\n\t\t\t\t_$infoContent = '<div class=\"mapInfoWindow\"><h2>' + store.Title + '</h2><p>';\n\n\t\t\t// Body Content\n            if (typeof store.AddressLine1 == 'string' && store.AddressLine1.length > 0) {\n                _$infoContent = _$infoContent + store.AddressLine1 + '<br>';\n            }\n            if (typeof store.Suburb == 'string' && store.Suburb.length > 0) {\n                _$infoContent = _$infoContent + store.Suburb + '<br>';\n            }\n            if (typeof store.State == 'string' && store.State.length > 0) {\n                _$infoContent = _$infoContent + store.State + ', ';\n            }\n            if (typeof store.Postcode == 'string' && store.Postcode.length > 0) {\n                _$infoContent = _$infoContent + store.Postcode;\n            }\n            if (typeof store.Phone == 'string' && store.Phone.length > 0) {\n                _$infoContent = _$infoContent + '</p><p>Phone: ' + store.Phone;\n            }\n            if (typeof store.Fax == 'string' && store.Fax.length > 0) {\n                _$infoContent = _$infoContent + '<br>Fax: ' + store.Fax;\n            }\n            if (typeof store.Email == 'string' && store.Email.length > 0) {\n                _$infoContent = _$infoContent + '<br> Email: ' + store.Email;\n            }\n\t\t\tif ( typeof store.Url === 'string' )\n\t\t\t\t_$infoContent = _$infoContent + '</p><a href=\"' + store.Url + '\">View More</a></div>';\n\t\t\treturn _$infoContent;\n\t\t}\n    },\n    Details: {\n        init: function () {\n\n            var _location = document.getElementById(\"location-map\"),\n                _latlng = new google.maps.LatLng(_location.getAttribute(\"data-latitude\"), _location.getAttribute(\"data-longitude\")),\n                _mapOptions = {\n                    zoom: Core.Config.StoreFinder.MapDetailZoomLevel,\n                    center: _latlng,\n                    mapTypeId: google.maps.MapTypeId.ROADMAP,\n                    styles: [{\n                        featureType: \"poi\",\n                        elementType: \"labels\",\n                        stylers: [ { visibility: \"off\" } ]\n                    }, ]\n                };\n\n            var _map = new google.maps.Map(document.getElementById(\"map-canvas\"), _mapOptions);\n\n\n            var Marker = new google.maps.Marker({\n                position: _latlng,\n                clickable: true,\n                map: _map,\n                icon: Core.Config.StoreFinder.MarkerIconPath\n            });\n\n\n\t\t\tvar _$infoContent = Core.PortalPickupStores.Locator._storeContent(StoreJson);\n\n            var InfoWindow = new google.maps.InfoWindow({\n                content: _$infoContent\n            });\n\n            google.maps.event.addListener(Marker, 'click', function () {\n                InfoWindow.open(_map, Marker);\n                _map.setCenter(Marker.position);\n                _self.Map.setZoom(15);\n            });\n\t\t\tCore.PortalPickupStores.Locator._styleWindow(InfoWindow);\n        }\n    }\n};\n","Core.ProductCompare = {\n    init: function () {\n        $('.icon-close').on('click', function () {\n\n            var _$this = $(this),\n                _classToDelete = _$this.parents('td').attr(\"class\"),\n                _table = _$this.parents('table'),\n                _productCode = _$this.parents('td').attr(\"data-code\");\n\n            _table.find('.' + _classToDelete).remove();\n\n            if (_table.find('tr').first().children().length === 1) {\n                _table.remove();\n                $('#compare-empty').show();\n                $('#compareTools').hide();\n            }\n        });\n\n        try {\n            addthis.init();\n        }\n        catch (e) { }\n    }\n};","Core.ProductDetail = {\n    init: function () {\n        var _config = Core.Config.ProductDetail.Gallery;\n        Core.ProductDetail.Cache = {\n            $mainImg: $('#main-img'),\n            $galleryThumbs: $('#gallery-thumnbs'),\n            $productZoom: $('#product-zoom'),\n            $360SpinnerButton: $('#spinnerInit'),\n            $360Spinner: $('#magic360Spinner'),\n            $rentalForm: $('#rental-form'),\n            $trialForm: $('#trial-form'),\n            $variants: $('#variants'),\n            $variantSelections: $('#variantSelections'),\n            $trialButton: $('.trial'),\n            $rentButton: $('.rent'),\n            $confirmationWindow: $('#confirmation-notification'),\n            $addToQuoteButton: $('.addToQuote'),\n            $scrollToTabs: $('.tab-check'),\n            $favouriteBtn: $('#add-to-favourites'),\n            $selectedVariantTitle: $('.product-details__variant--title'),\n            $selectedVariantPrice: $('.product-details__variant--price span.price'),\n            $selectedVariantListPrice: $('.product-details__variant--price span.was-price'),\n            $selectedVariantCartBtn: $('.product-details__variant--cart'),\n            $selectedVariantCompareBtn: $('.product-details__variant--compare'),\n            $productTitle: '',\n            $productPrice: '',\n            $productListPrice: '',\n            gallerySettings: {\n                slideMargin: Core.Config.ProductDetail.Gallery.SlideMargin,\n                slideWidth: _config.SlideWidth,\n                minSlides: _config.MinSlides,\n                maxSlides: _config.MaxSlides,\n                moveSlides: _config.MoveSlides,\n                auto: _config.Auto,\n                speed: _config.Speed,\n                pager: _config.Pager,\n                infiniteLoop: _config.InfiniteLoop,\n                hideControlOnEnd: _config.HideControlOnEnd,\n                useCSS: _config.UseCSS\n            },\n        };\n\n        $('.datepicker').kendoDatePicker({\n            format: \"dd/MM/yyyy\"\n        });\n\n        try {\n            addthis.init();\n        }\n        catch (e){}\n\n        //product variant display\n        if (this.Cache.$variants.length > 0) {\n            this.variants.init();\n        }\n\n        //product variant selction display\n        if (this.Cache.$variantSelections.length > 0) {\n            this.variantSelection.init();\n        }\n\n        //image & 360 gallery\n        Core.ProductDetail.Cache.$galleryThumbs.imagesLoaded(function() {\n            Core.ProductDetail.gallery.init();\n        });\n\n        //trial\n        this.trial();\n\n        //rent\n        this.rent();\n\n        //scroll links to tabs\n        this.scrollToTabs();\n\n        //add|remove favourite\n        this.favourites();\n        this.viewMore();\n\n        this.arrangeLayout();\n        // this.setProductDetailHeight();\n        var stockIntegration = new Core.StockIntegration('pdp');\n        stockIntegration.init();\n\n        var resizeTimer;\n        $(window).on('resize', function (e) {\n            clearTimeout(resizeTimer);\n            resizeTimer = setTimeout(function () {\n                Core.ProductDetail.arrangeLayout();\n                // Core.ProductDetail.setProductDetailHeight();\n            }, 100);\n        });\n\n    },\n    variants: {\n        init: function () {\n\n            var _$groupPrice = $('#groupPrice');\n\n            function updateVariantQuantity() {\n\n                if (this.value() === null) {\n                    this.value(1);\n                }\n\n                var _sku = $(this.element).data('id'),\n                    _qty = this.value(),\n                    _groupPrice = 0;\n\n                for (var i = 0; i < window.selectedVariants.length; i++) {\n                    if (window.selectedVariants[i]['sku'] == _sku) {\n                        window.selectedVariants[i].qty = _qty;\n                        break;\n                    }\n                }\n\n                for (var x = 0; x < selectedVariants.length; x++) {\n                    _groupPrice += parseFloat(selectedVariants[x].price * selectedVariants[x].qty);\n                }\n\n                if (_groupPrice === 0) {\n                    _$groupPrice.text(Core.Config.POA.Text).show();\n                }\n                else {\n                    _$groupPrice.text('$' + _groupPrice.toFixed(2)).show();\n                }\n\n            }\n\n            if($('.product-details__variant--qty').length) {\n                $('.product-details__variant--qty').kendoNumericTextBox({\n                    format: \"#\",\n                    step: 1,\n                    change: updateVariantQuantity,\n                    spin: updateVariantQuantity\n                });\n            }\n\n            $('.related-products__accordion-tab').on('click', function () {\n                var _$this = $(this);\n                _$this.children('span').toggleClass('icon-plus-grey').toggleClass('icon-minus-grey');\n                _$this.siblings('.related-products__accordion-content').slideToggle();\n            });\n\n            $('.related-products').each(function () {\n                var _$firstAccordion = $(this).find('.related-products__accordion').first().children().first();\n                _$firstAccordion.children().first().trigger('click');\n                _$firstAccordion.find('ul').children().first().find('.related-products__accordion-tab').trigger('click');\n            });\n        }\n    },\n    variantSelection: {\n        init: function () {\n            var _$groupPrice = $('#groupPrice');\n            window.selectedSkus = [];\n            var selectionColour = $('#selection_colour').find('img');\n            selectionColour.on('click', $.proxy(this.filter, this));\n            selectionColour.on('click', function () {\n                var _$this = $(this);\n                if (_$this.closest('ul').hasClass('disabled')) {\n                } else {\n                    $('img.selected').removeClass('selected');\n                    $(this).addClass('selected');\n                }\n            });\n\n            $('.product-details__selection').find('select').on('change', $.proxy(this.filter, this));\n\n            function updateVariantQuantity() {\n\n                if (this.value() === null) {\n                    this.value(1);\n                }\n\n                var _sku = window.selectedSkus[0].Code,\n                    _qty = this.value(),\n                    _groupPrice = 0;\n\n                for (var i = 0; i < window.selectedVariants.length; i++) {\n                    if (window.selectedVariants[i]['sku'] == _sku) {\n                        window.selectedVariants[i].qty = _qty;\n                        break;\n                    }\n                }\n\n                for (var x = 0; x < selectedVariants.length; x++) {\n                    _groupPrice += parseFloat(selectedVariants[x].price * selectedVariants[x].qty);\n                }\n\n                if (_groupPrice === 0) {\n                    _$groupPrice.text(Core.Config.POA.Text).show();\n                }\n                else {\n                    _$groupPrice.text('$' + _groupPrice.toFixed(2)).show();\n                }\n            }\n\n            var _$selectionQuantity = $('#selection_qty');\n\n            //init quantity input\n            if(_$selectionQuantity.length) {\n                _$selectionQuantity.kendoNumericTextBox({\n                    format: \"#\",\n                    step: 1,\n                    change: updateVariantQuantity,\n                    spin: updateVariantQuantity\n                });\n\n                this.numerictextbox = _$selectionQuantity.data(\"kendoNumericTextBox\");\n                this.numerictextbox.enable(false);\n            }\n\n            Core.ProductDetail.Cache.$productTitle = Core.ProductDetail.Cache.$selectedVariantTitle.html();\n            Core.ProductDetail.Cache.$productPrice = Core.ProductDetail.Cache.$selectedVariantPrice.text();\n            Core.ProductDetail.Cache.$productListPrice = Core.ProductDetail.Cache.$selectedVariantListPrice.text();\n        },\n        renderProductDetail: function(data) {\n            var $complexVar = $('#complexVariant');\n            var isWholesale = Core.Util.isWholesale();\n            data.IsDVA =  Core.ProductDetail.isDVA();\n\n            if($complexVar.hasClass('is-portalsite')) {\n                var template = isWholesale ? \n                    kendo.template($(\"#productDetailVariantWholesaleTemplate\").html()) :\n                    kendo.template($(\"#productDetailVariantTemplate\").html());                \n                \n                var render = template(data);\n                $complexVar.html(render);\n\n                $('#complexVariant .product-details__variant--qty').kendoNumericTextBox({\n                    format: \"#\",\n                    step: 1,\n                    change: Core.ProductDetail.updateVariantQuantity,\n                    spin: Core.ProductDetail.updateVariantQuantity\n                });\n\n                if (!!$('#product-detail').data('check-local-stock-api')) {\n                    var stockIntegration = new Core.StockIntegration('pdp');\n                    stockIntegration.checkStockAsyncPdp(true);\n\n                    /*\n                    $complexVar.find('.stock-checkBtn').on('click', function () {\n                        var $btn = $(this);                        \n                        stockIntegration.updateStock(false, $btn.closest('.product-details__variant'));\n                    });\n                    $complexVar.find('.stock-changeSuburbBtn').on('click', function () {\n                        var $btn = $(this);\n                        stockIntegration.changeSuburb($btn.closest('.product-details__variant'));\n                    });\n                    */\n                }\n            }\n        },\n        filter: function (e) {\n            var _$filter = $(e.target),\n                _variants = $('.product-details__selection').not('.product-details__quantity'),\n                _$variantOption = _$filter.parents('.product-details__selection'),\n                _variantOption = _$variantOption.data('id'),\n                _$nextItem = _$variantOption.next(),\n                _nextFilter = _$nextItem.data('id'),\n                _noMoreFilters = _$nextItem.hasClass('product-details__quantity'),\n                _selectOptions = [],\n                _variantVal;\n\n            if (_variantOption === 'Colour') {\n                var _variantOptionUl = _$variantOption.find('ul:first-child');\n                if (_variantOptionUl.length > 0) {\n                    if (_variantOptionUl.hasClass('disabled')) {\n                        return;\n                    }\n                }\n            }\n\n            // Clear previous selections\n            window.selectedVariants = [];\n            window.selectedSkus = [];\n\n            // Reset form components\n            if(this.numerictextbox) {\n                this.numerictextbox.enable(false);\n                this.numerictextbox.value(1);\n            }\n\n            Core.AddToQuote.Cache.$groupPrice.hide();\n            Core.AddToQuote.Cache.$groupCode.hide();\n\n            Core.ProductDetail.Cache.$selectedVariantTitle.html(Core.ProductDetail.Cache.$productTitle);\n            Core.ProductDetail.Cache.$selectedVariantPrice.text(Core.ProductDetail.Cache.$productPrice);\n            if (Core.ProductDetail.Cache.$productPrice !== Core.ProductDetail.Cache.$productListPrice) {\n                Core.ProductDetail.Cache.$selectedVariantListPrice.text(Core.ProductDetail.Cache.$productListPrice);\n            } else {\n                Core.ProductDetail.Cache.$selectedVariantListPrice.text('');\n            }\n\n            Core.ProductDetail.Cache.$selectedVariantCartBtn.addClass('disabled');\n            Core.ProductDetail.Cache.$selectedVariantCompareBtn.addClass('disabled');\n            Core.ProductDetail.Cache.$selectedVariantCartBtn.data('id', '');\n            Core.ProductDetail.Cache.$selectedVariantCartBtn.data('price', '');\n\n            $('.product-details__variant').removeClass('selected');\n            $('.product-details__variant--cart').removeClass('added');\n            if (selectedVariants.length === 0) {\n                $(Core.AddToQuote.Cache.addToQuoteSelector).add(Core.AddToQuote.Cache.$rentBtn).add(Core.AddToQuote.Cache.$trialBtn).addClass('disabled');\n            } else {\n                $(Core.AddToQuote.Cache.addToQuoteSelector).add(Core.AddToQuote.Cache.$rentBtn).add(Core.AddToQuote.Cache.$trialBtn).removeClass('disabled');\n            }\n\n            //clear all filters after current filter\n            if (!_noMoreFilters) {\n                _$variantOption.nextAll().not('.product-details__quantity').each(function () {\n                    var _$option = $(this),\n                        _$dropdown = _$option.find('select'),\n                        _$colours = _$option.find('ul');\n\n                    // clear dropdowns\n                    if (_$dropdown.length > 0) {\n                        if (Core.HasKendoDropdowns()) {\n                            _$dropdown.data(\"kendoDropDownList\").enable(false);\n                            var _dataSource = _$dropdown.data(\"kendoDropDownList\").dataSource.data([]);\n                            _dataSource = _$dropdown.data(\"kendoDropDownList\").dataSource.add({\n                                \"text\": 'Select ' + _$option.data('id'),\n                                \"value\": 0\n                            });\n                            _$dropdown.data(\"kendoDropDownList\").select(0);\n                            _$dropdown.data(\"kendoDropDownList\").trigger(\"change\");\n                        } else {\n                            _$dropdown.prop('disabled', 'disabled');\n                            _$dropdown.children().remove();\n                            _$dropdown.append('<option value=\"0\">Select ' + _$option.data('id') + '</option>');\n                        }\n                    }\n\n                    // clear colour selection\n                    if (_$colours.length > 0) {\n                        _$colours.addClass('disabled');\n                        _$colours.find('img').show();\n                        _$colours.find('img.selected').removeClass('selected');\n                    }\n                    _$option.data('value', '');\n\n                });\n            }\n\n            // if colour store value against variant\n            if (_variantOption === 'Colour') {\n                _$variantOption.data('value', _$filter.data('code').toLowerCase());\n            }\n\n            //store all selected attributes\n            var _selectedAttributes = [];\n            _variants.each(function () {\n                var _$variant = $(this),\n                    _variantOption = _$variant.data('id'),\n                    _variantVal;\n\n                if (_variantOption === 'Colour') {\n                    if (_$variant.data('value')) {\n                        _variantVal = _$variant.data('value').toLowerCase();\n                    } else {\n                        _variantVal = '0';\n                    }\n                }\n                else {\n                    _variantVal = _$variant.find('select').val().toLowerCase();\n                }\n\n                if (_variantVal !== '0') {\n                    _selectedAttributes.push(_variantVal);\n                }\n            });\n\n            var _currentSelectedOption = _$filter.find('option:selected'),\n                _currentSelectedOptionValue = \"0\";\n            if (_variantOption === 'Colour') {\n                _currentSelectedOptionValue = _$variantOption.data('value');\n            } else if (_currentSelectedOption.length > 0) {\n                _currentSelectedOptionValue = _currentSelectedOption.val();\n            }\n\n            if (_currentSelectedOptionValue !== \"0\") {\n\n                var _$dropdown = _$nextItem.find('select'),\n                    _$colours = _$nextItem.find('ul'),\n                    _$allColours = _variants.find('ul');\n\n                function isInArray(value, array) {\n                    return array.indexOf(value) > -1;\n                }\n\n                var minSalePrice = 0;\n                var maxSalePrice = 0;\n                var minListPrice = 0;\n                var maxListPrice = 0;\n\n                if (!_noMoreFilters) {\n                    _$allColours.find('img').hide();\n                }\n\n                //add active skus and generate option items for next filter\n                for (var i = 0; i < jsonResult.length; i++) {\n                    var sku = jsonResult[i];\n\n                    //check sku attributes matches chosen values\n                    var _activeSku = true;\n                    for (var x = 0; x < _selectedAttributes.length; x++) {\n                        if (sku.Attributes) {\n                            if (sku.Attributes[Object.keys(sku.Attributes)[x]].toLowerCase() !== _selectedAttributes[x]) {\n                                _activeSku = false;\n                                break;\n                            }\n                        }\n                    }\n\n                    if (_activeSku) {\n                        window.selectedSkus.push(sku);\n\n                        if (!_noMoreFilters) {\n                            //generate dropdownlist for next filter\n                            if (sku.Attributes) {\n                                if (!isInArray(sku.Attributes[_nextFilter], _selectOptions)) {\n                                    var _attribute = sku.Attributes[_nextFilter];\n                                    _selectOptions.push(_attribute);\n\n                                    if (_$dropdown.length > 0) {\n                                        if (Core.HasKendoDropdowns()) {\n                                            var dataSource = _$dropdown.data(\"kendoDropDownList\").dataSource.add({\n                                                \"text\": _attribute,\n                                                \"value\": _attribute\n                                            });\n                                        } else {\n                                            _$dropdown.append('<option value=\"' + _attribute + '\">' + _attribute + '</option>');\n                                        }\n                                    }\n                                }\n\n                                var _attributeColour = sku.Attributes[\"Colour\"];\n                                if (_attributeColour && _$allColours.length > 0 && _attributeColour.length > 0) {\n                                    var _img = _$allColours.find('img[data-code=\"' + _attributeColour + '\"]');\n                                    if (_img.length > 0) {\n                                        _img.show();\n                                    }\n                                }\n                            }\n\n                            if (sku.SalePrice !== Core.Config.POA.Text) {\n                                var salePrice = Number(sku.SalePrice.replace(/[^0-9\\.]+/g, \"\"));\n                                if (minSalePrice == 0 || salePrice < minSalePrice) {\n                                    minSalePrice = salePrice;\n                                }\n                                if (salePrice > maxSalePrice) {\n                                    maxSalePrice = salePrice;\n                                }\n                            }\n\n                            if (sku.ListPrice !== Core.Config.POA.Text) {\n                                var listPrice = Number(sku.ListPrice.replace(/[^0-9\\.]+/g, \"\"));\n                                if (minListPrice == 0 || listPrice < minListPrice) {\n                                    minListPrice = listPrice;\n                                }\n                                if (listPrice > maxListPrice) {\n                                    maxListPrice = listPrice;\n                                }\n                            }\n                        } else {\n                            // no more filters, so enable qty and add variant if only 1 exists\n                            if (window.selectedSkus.length === 1) {\n                                //this.numerictextbox.enable(true);\n\n                                Core.ProductDetail.Cache.$selectedVariantTitle.html('<span>' + window.selectedSkus[0].Name + '<em>' + window.selectedSkus[0].Code + '</em></span>');\n                                Core.ProductDetail.Cache.$selectedVariantPrice.text(window.selectedSkus[0].SalePrice);\n                                if (window.selectedSkus[0].SalePrice !== window.selectedSkus[0].ListPrice) {\n                                    Core.ProductDetail.Cache.$selectedVariantListPrice.text(window.selectedSkus[0].ListPrice);\n                                } else {\n                                    Core.ProductDetail.Cache.$selectedVariantListPrice.text('');\n                                }\n                                Core.ProductDetail.Cache.$selectedVariantCartBtn.removeClass('disabled');\n                                Core.ProductDetail.Cache.$selectedVariantCartBtn.show();\n                                Core.ProductDetail.Cache.$selectedVariantCompareBtn.removeClass('disabled');\n                                Core.ProductDetail.Cache.$selectedVariantCartBtn.data('id', window.selectedSkus[0].Code);\n                                Core.ProductDetail.Cache.$selectedVariantCartBtn.data('price', window.selectedSkus[0].Price);\n\n                                this.renderProductDetail(window.selectedSkus[0]);\n\n                                Core.ProductDetail.Cache.$selectedVariantCartBtn.trigger(\"click\");\n                            }\n                        }\n                    }\n                }\n\n                if (!_noMoreFilters) {\n                    //alert(\"MINS: \" + minSalePrice + \" MAXS\" + maxSalePrice + \"MINL: \" + minListPrice + \" MAXL\" + maxListPrice);\n                    var newSalePrice = \"$\" + minSalePrice.toFixed(2);\n                    if (minSalePrice == 0) {\n                        newSalePrice = Core.Config.POA.Text;\n                    }\n                    if (minSalePrice != maxSalePrice && maxSalePrice > 0) {\n                        newSalePrice = newSalePrice + \" - \" + \"$\" + maxSalePrice.toFixed(2);\n                    }\n                    Core.ProductDetail.Cache.$selectedVariantPrice.text(newSalePrice);\n\n                    var newListPrice = \"$\" + minListPrice.toFixed(2);\n                    if (minListPrice == 0) {\n                        newListPrice = Core.Config.POA.Text;\n                    }\n                    if (minListPrice != maxListPrice && maxListPrice > 0) {\n                        newListPrice = newListPrice + \" - \" + \"$\" + maxListPrice.toFixed(2);\n                    }\n                    if (newSalePrice !== newListPrice) {\n                        Core.ProductDetail.Cache.$selectedVariantListPrice.text(newListPrice);\n                    } else {\n                        Core.ProductDetail.Cache.$selectedVariantListPrice.text('');\n                    }\n\n                    if (_$dropdown.length > 0) {\n                        if (Core.HasKendoDropdowns()) {\n                            _$dropdown.data(\"kendoDropDownList\").enable(true);\n                        } else {\n                            _$dropdown.prop('disabled', false);\n                        }\n                    }\n\n                    if (_$colours.length > 0) {\n                        _$colours.removeClass('disabled');\n                    }\n                }\n            } else {\n                $('#complexVariant').html('');\n            }\n\n            //reset select options\n            _selectOptions = [];\n        }\n    },\n    gallery: {\n        init: function () {\n            if (Core.ProductDetail.Cache.$galleryThumbs.children().length > 1) {\n                //render thumbnails\n                Core.ProductDetail.Cache.$galleryThumbs.bxSlider(Core.ProductDetail.Cache.gallerySettings).css('visibility', 'visible');\n\n                //thumbnail click event\n                Core.ProductDetail.Cache.$galleryThumbs.find('span').on('click', $.proxy(this.thumbnailClick, this));\n            } else {\n              // hide thumbnails wrapper div\n              Core.ProductDetail.Cache.$galleryThumbs.addClass('hidden');\n            }\n\n            if (!Core.IsMobile()) {\n                //image zoom\n                // Core.ProductDetail.Cache.$productZoom.on('mouseover', $.proxy(this.zoom, this));\n            }\n            else {\n                //main image slide\n                this.mobileGallery();\n            }\n\n            //360 image\n            this.spinner360();\n        },\n\n        thumbnailClick: function (e) {\n            e.preventDefault();\n\n            Core.Cache.$body.children('.zoomContainer').remove();\n\n            if (Core.ProductDetail.Cache.$360SpinnerButton.hasClass('active')) {\n                window.magic360spinner.stop();\n                Core.ProductDetail.Cache.$360Spinner.hide();\n                Core.ProductDetail.Cache.$mainImg.show();\n                Core.ProductDetail.Cache.$360SpinnerButton.removeClass('active');\n            }\n\n            var _$thumb = $(e.target).parent();\n            _$thumb.addClass('active').parent().siblings().children().removeClass('active');\n\n            Core.ProductDetail.Cache.$mainImg\n    \t\t\t\t.find('img.main-image')\n            .attr('src', _$thumb.data('mainimg'))\n            .data('zoom-image', _$thumb.data('zoom-image'));\n\n            /*if (_$thumb.data('zoom-image') === '') {\n                Core.ProductDetail.Cache.$mainImg.find('button#product-zoom').hide();\n                Core.Cache.$body.children('.zoomContainer').remove();\n            } else {\n                Core.ProductDetail.Cache.$mainImg.find('button#product-zoom').show();\n                this.zoom();\n            }*/\n\n        },\n\n\t\t// Handle product Zoom\n        /*zoom: function () {\n            $('.main-image').elevateZoom({\n                zoomType : \"inner\",\n                zoomWindowFadeIn: 300,\n                zoomWindowFadeOut: 300\n            });\n        },*/\n        mobileGallery: function () {\n            var $mainImage = Core.ProductDetail.Cache.$mainImg.children('img');\n\n            function scrollGallery($current, direction) {\n                var _$images = Core.ProductDetail.Cache.$galleryThumbs.find('li');\n\n                $current.find('span').removeClass('active');\n\n                var currentIndex = _$images.index($current);\n                currentZoomIndex = currentIndex;\n\n                var _$next;\n                if (direction === 'next') {\n                    _$next = $current.next();\n\n                    if (currentIndex == (_$images.length - 1)) {\n                        _$next = _$images.first();\n                    }\n                }\n                else {\n                    _$next = $current.prev();\n\n                    if (currentIndex === 0) {\n                        _$next = _$images.last();\n                    }\n                }\n\n                loadNextImage(_$next);\n            }\n\n            function loadNextImage($next) {\n                var _$span = $next.find('span');\n                _$span.addClass('active');\n\n                $mainImage.on('load', function () {\n                }).attr('src', _$span.data('mainimg'));\n            }\n\n            $mainImage.touchwipe({\n                wipeLeft: function () {\n                    scrollGallery(Core.ProductDetail.Cache.$galleryThumbs.find(\"span.active\").parent(), 'next');\n                },\n                wipeRight: function () {\n                    scrollGallery(Core.ProductDetail.Cache.$galleryThumbs.find(\"span.active\").parent(), 'previous');\n                },\n                preventDefaultEvents: false\n            });\n\n            if (Core.ProductDetail.Cache.$galleryThumbs.children().length < 2) {\n                Core.ProductDetail.Cache.$mainImg.addClass('single-image');\n            } else {\n                $('.mobile-gallery-btn.btn-prev').on('click', function () {\n                    scrollGallery(Core.ProductDetail.Cache.$galleryThumbs.find(\"span.active\").parent(), 'previous');\n                });\n                $('.mobile-gallery-btn.btn-next').on('click', function () {\n                    scrollGallery(Core.ProductDetail.Cache.$galleryThumbs.find(\"span.active\").parent(), 'next');\n                });\n            }\n        },\n        spinner360: function () {\n            var _scriptTag = document.createElement('script');\n            _scriptTag.setAttribute('type', 'text/javascript');\n            _scriptTag.setAttribute('src', '/site.resource/vendor/magic360spin/magic360.js');\n            (document.getElementsByTagName('head')[0] || document.documentElement).appendChild(_scriptTag);\n\n            Core.ProductDetail.Cache.$360SpinnerButton.on('click', function () {\n                var _$this = $(this);\n                if (!_$this.hasClass('active')) {\n                    window.magic360spinner.start();\n                    Core.ProductDetail.Cache.$360Spinner.show();\n                    //Core.ProductDetail.Cache.$mainImg.hide();\n                    _$this.addClass('active');\n                }\n            });\n        }\n    },\n    trial: function () {\n\n        Core.ProductDetail.Cache.$trialButton.on('click', function (e) {\n            Core.ProductDetail.addProductsToFormField(e, Core.ProductDetail.Cache.$trialButton, Core.ProductDetail.Cache.$trialForm, Core.ProductDetail.Cache.$rentButton, Core.ProductDetail.Cache.$rentalForm);\n        });\n\n        Core.ProductDetail.Cache.$trialForm.on('submit', function (e) {\n            Core.ProductDetail.formPost(e, Core.ProductDetail.Cache.$trialForm);\n        });\n\n        if (Core.GetParameterByName('trial')) {\n            var code = Core.GetParameterByName('code');\n            if (code.length > 0) {\n                $('span.product-details__variant--cart[data-id=\"' + code + '\"]').trigger(\"click\");\n                Core.ProductDetail.Cache.$trialButton.trigger(\"click\");\n            }\n            Core.Cache.$body.add(Core.Cache.$html).animate({\n                scrollTop: $('.product-details__btn-group--price').offset().top\n            }, 2000);\n        }\n    },\n    rent: function () {\n\n        Core.ProductDetail.Cache.$rentButton.on('click', function (e) {\n            Core.ProductDetail.addProductsToFormField(e, Core.ProductDetail.Cache.$rentButton, Core.ProductDetail.Cache.$rentalForm, Core.ProductDetail.Cache.$trialButton, Core.ProductDetail.Cache.$trialForm);\n        });\n\n        Core.ProductDetail.Cache.$rentalForm.on('submit', function (e) {\n            Core.ProductDetail.formPost(e, Core.ProductDetail.Cache.$rentalForm);\n        });\n\n        if (Core.GetParameterByName('rent')) {\n            var code = Core.GetParameterByName('code');\n            if (code.length > 0) {\n                $('span.product-details__variant--cart[data-id=\"' + code + '\"]').trigger(\"click\");\n                Core.ProductDetail.Cache.$rentButton.trigger(\"click\");\n            }\n            Core.Cache.$body.add(Core.Cache.$html).animate({\n                scrollTop: $('.product-details__btn-group--price').offset().top\n            }, 2000);\n        }\n    },\n    addProductsToFormField: function (e, $btn, $form, $otherBtn, $otherForm) {\n        if (!$btn.hasClass('disabled')) {\n            var _productCode = $('span.added');\n            var $btnParent = $btn.closest('.product-details__btn-group');\n\n            var blkstr = [];\n            $.each(_productCode, function (i, e) {\n                var str = $(e).data('id');\n                blkstr.push(str);\n            });\n\n            $form.show().find('.productCode').val(blkstr.join(\",\"));\n            Core.ProductDetail.closeFormField($otherForm);\n\n            $btn.addClass('selected');\n            $otherBtn.removeClass('selected');\n\n            Core.Cache.$body.add(Core.Cache.$html).animate({\n                scrollTop: $btnParent.offset().top - 15\n            }, 500);\n        }\n        else {\n            e.preventDefault();\n        }\n    },\n    closeFormField: function ($form) {\n        $form.hide();\n    },\n    formPost: function (e, $form) {\n\n        e.preventDefault();\n\n        var _$validationMessage = $form.find('.frm-validation-msg');\n        _$validationMessage.html(\"\");\n\n        var _$isRentalForm = $form.attr('action').indexOf('rent') !== -1;\n\n        var _$validator = $form.validate({\n            focusInvalid: false,\n            invalidHandler: function (form, validator) {\n\n                if (!validator.numberOfInvalids())\n                    return;\n\n                $('html, body').animate({\n                    scrollTop: $(validator.errorList[0].element.parentElement).offset().top - 30\n                }, 300);\n\n            }\n        });\n\n        if ($form.valid()) {\n\n            Core.ShowPageLoading();\n\n            if (selectedVariants.length > 0) {\n                var _$productData = JSON.stringify(selectedVariants);\n                if (_$isRentalForm) {\n                    Core.ProductDetail.Cache.$rentalForm.find('.productCode').val(_$productData);\n                } else {\n                    Core.ProductDetail.Cache.$trialForm.find('.productCode').val(_$productData);\n                }\n            }\n\n            $.ajax({\n                url: $form.attr('action'),\n                data: $form.serialize(),\n                type: 'POST',\n                dataType: 'json',\n                success: function(data) {\n                    Core.HidePageLoading();\n                    var _$validationMessage = $form.find('.frm-validation-msg');\n                    _$validationMessage.hide();\n                    if (data.Success) {\n                        $form.hide();\n                        var _width = Core.Config.CartNotification.Width,\n                            _height = Core.Config.CartNotification.Height;\n\n                        if (Core.IsMobile()) {\n                            _width = Core.Cache.$window.width();\n                        }\n\n                        var _$confirmationWindow = Core.ProductDetail.Cache.$confirmationWindow.kendoWindow({\n                            width: _width,\n                            height: _height,\n                            visible: false,\n                            iframe: false,\n                            modal: true,\n                            resizable: false,\n                            pinned: true,\n                            draggable: false,\n                            appendTo: '#page-wrap'\n                        });\n\n                        var _$regLink = _$confirmationWindow.find(\"a.register\");\n                        if (_$regLink.length > 0) {\n                            var _$href = _$regLink.attr(\"href\");\n                            _$regLink.attr(\"href\", _$href + \"?quoteid=\" + data.QuoteId);\n                        }\n\n                        _$confirmationWindow.data(\"kendoWindow\").center().open();\n\n                        $(\".k-overlay\").on('click', function() {\n                            window.location.href = window.location.href;\n                        });\n\n                        $(\".k-window-action > span.k-i-close, .cart-notification-buttons > a.k-i-close\").on('click', function (e) {\n                            window.location.href = window.location.href;\n                        });\n\n                    } else {\n                        _$validationMessage.html('<div class=\"error-msg\">' + data.ErrorMessage + '</div>').show();\n                        Core.Cache.$body.add(Core.Cache.$html).animate({\n                            scrollTop: _$validationMessage.offset().top - 40\n                        }, 500);\n                    }\n                },\n                error: function(xhr, ajaxOptions, thrownError) {\n                    //todo: do something\n                }\n            });\n        } else {\n            _$validator.focusInvalid();\n        }\n    },\n    scrollToTabs: function () {\n        Core.ProductDetail.Cache.$scrollToTabs.on('click', function (e) {\n            e.preventDefault();\n            var _$this = $(this),\n                _$tab = $('.product-extras__tab a[data-check-name=\"' + _$this.data(\"check-name\") + '\"]');\n\n            if (!_$tab.hasClass('active')) {\n                _$tab.trigger('click');\n            }\n\n            Core.Cache.$body.add(Core.Cache.$html).animate({\n                scrollTop: _$tab.offset().top\n            }, 1000);\n        });\n    },\n    favourites: function () {\n        var _self = Core.ProductDetail;\n\n        _self.Cache.$favouriteBtn.on('click', function (e) {\n            Core.ShowPageLoading();\n\n            var $this = $(this),\n                _stateRemove = $this.hasClass('active'),\n                _apiUrl = _stateRemove ? '/cart/removefromfavourites' : '/cart/addtofavourites',\n                $errorBox = $('#product-detail .portal-error');\n\n            $.ajax({\n                url: _apiUrl,\n                data: {\n                    code: _self.Cache.$favouriteBtn.data('id')\n                },\n                type: 'get',\n                dataType: 'json',\n                success: function (data) {\n                    //console.log(data);\n                    if(data.WasSuccess) {\n                        if (_stateRemove) {\n                            $this.attr('title', Core.Config.FavouriteText.Add).text(Core.Config.FavouriteText.Add);\n                        } else {\n                            $this.attr('title', Core.Config.FavouriteText.Remove).text(Core.Config.FavouriteText.Remove);\n                        }\n                        Core.ShowErrorMessage($errorBox, null, false);\n                        _self.Cache.$favouriteBtn.toggleClass('active');\n                    } else {\n                        Core.ShowErrorMessage($errorBox, {\n                            title: Core.Config.FavouriteText.ErrorTitle,\n                            message: data.Result\n                        });\n                    }\n\n                    Core.HidePageLoading();\n                },\n                error: function (xhr, status, error) {\n                    Core.ShowErrorMessage($errorBox, {\n                        title: Core.Config.FavouriteText.ErrorTitle,\n                        message: [\n                            xhr.responseText,\n                            \"Status: \" + xhr.status,\n                            \"Error: \" + error\n                        ]\n                    });\n                    Core.HidePageLoading();\n                }\n            });\n\n            e.preventDefault();\n        });\n    },\n    viewMore: function() {\n        var productDescription = $('.product-details__description');\n        var productDescriptionClass = $('.product-details__description.less');\n        var descHeight = 240;\n\n        if (productDescription.height() < descHeight) {\n            $('.showLessMore').hide();\n        } else {\n            productDescriptionClass.css('height', descHeight + 'px');\n        }\n\n        $('.showLessMore a:first').on('click', function (e) {\n            e.preventDefault();\n\n\n            if (productDescription.hasClass('less')) {\n                productDescription.removeClass('less');\n                productDescriptionClass.css('height', 'inherit');\n                $(e.target).text('Show less');\n                $(e.target).attr('title', 'less');\n            } else {\n                productDescription.addClass('less');\n                productDescriptionClass.css('height', descHeight + 'px');\n                $(e.target).text('Show more');\n                $(e.target).attr('title', 'more');\n                if (Core.IsMobile()) {\n                    Core.Cache.$body.add(Core.Cache.$html).animate({\n                        scrollTop: $('.product-detail__title').offset().top - 20\n                    }, 1000);\n                }\n            }\n        });\n    },\n\n    arrangeLayout: function () {\n        //check if mobile\n        var $desc = $('.product-details__column-description')\n            , $trial = $('.product-details__column-availability');\n\n        var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n\n        //check tablet\n        if (width >= 600 && width < Core.Config.TabletWidth) {\n            $desc.prependTo('.product-details__columnwrap');\n            $trial.appendTo('.product-details__column-left');\n        } else {\n            //desktop and small mobile (less than 600px) /\n            $desc.prependTo('.product-details__column-left');\n            $trial.appendTo('.product-details__column-right');\n        }\n    },\n    updateVariantQuantity: function() {\n        //copy from above. this should be a global function since it's using more than place\n        if (this.value() === null) {\n            this.value(1);\n        }\n\n        var _$groupPrice = $('#groupPrice');\n        var _sku = window.selectedSkus[0].Code,\n            _qty = this.value(),\n            _groupPrice = 0;\n\n        for (var i = 0; i < window.selectedVariants.length; i++) {\n            if (window.selectedVariants[i]['sku'] == _sku) {\n                window.selectedVariants[i].qty = _qty;\n                break;\n            }\n        }\n\n        for (var x = 0; x < selectedVariants.length; x++) {\n            _groupPrice += parseFloat(selectedVariants[x].price * selectedVariants[x].qty);\n        }\n\n        if (_groupPrice === 0) {\n            _$groupPrice.text(Core.Config.POA.Text).show();\n        }\n        else {\n            _$groupPrice.text('$' + _groupPrice.toFixed(2)).show();\n        }\n    },\n\n    setProductDetailHeight: function() {\n        var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n\n        if (width >= Core.Config.MobileWidth && width <= Core.Config.TabletWidth) {\n            var h = $('.product-details__gallery-wrap').height();\n            $('.product-details__block-details').css('height', h + 20 + \"px\");\n        } else {\n            $('.product-details__block-details').css('height', '');\n        }\n\n    },\n    isDVA: function() {\n      var isDVA = $(`#isDVA`).val() || '';\n      return (isDVA.toString() === 'true');\n    },\n};\n","Core.ProductListing = {\n    init: function () {\n        this.initAccordion();\n    },\n    variants: {\n        init: function () {\n            Core.ProductListing.Cache = {\n                $variants: $('.product-details__variants')\n            };\n\n            //var _$groupPrice = $('#groupPrice');\n\n            Core.AddToQuote.Cache.$groupPrice = $('#groupPrice');\n            Core.AddToQuote.Cache.$groupCode = $('#groupCode');\n\n            function updateVariantQuantity() {                \n                if (this.value() === null) {\n                    this.value(1);\n                }\n\n                // set selectedVariants if undefined\n                if (typeof selectedVariants === 'undefined') {\n                    selectedVariants = [];\n                }\n\n                var _sku = $(this.element).data('id'),\n                    _qty = this.value(),\n                    _groupPrice = 0;\n\n                for (var i = 0; i < window.selectedVariants?.length; i++) {\n                    if (window.selectedVariants[i]['sku'] == _sku) {\n                        window.selectedVariants[i].qty = _qty;\n                        break;\n                    }\n                }\n\n                for (var x = 0; x < selectedVariants?.length; x++) {\n                    _groupPrice += parseFloat(selectedVariants[x].price * selectedVariants[x].qty);\n                }\n\n                if (_groupPrice === 0) {\n                    Core.AddToQuote.Cache.$groupPrice.text(Core.Config.POA.Text).show();\n                }\n                else {\n                    Core.AddToQuote.Cache.$groupPrice.text('$' + _groupPrice.toFixed(2)).show();\n                }\n\n                // $(this.element).trigger('input');\n                // $(this.element).trigger('blur'); // prevent call api twice after changing using spinner\n            }\n\n            /*\n            var handleQtyChange = Core.Util.Debounce(function($row) {                       \n                Core.ProductListing.checkLocalStockVariant($row);                \n            }, 300);\n            */\n\n            $(\".product-details__variant--qty\").each(function(index, element) {\n                var $elem = $(element);\n                var $row = $elem.closest('.plv__variant-row')\n\n                // Check if element has been initialized\n                if ($elem.hasClass('k-widget') ||\n                    $elem.hasClass('k-input') ||\n                    $elem.hasClass('k-numerictextbox') ||\n                    $elem.hasClass('k-input-inner')) {\n                    return;\n                }\n\n                $elem.kendoNumericTextBox({\n                    format: \"#\",\n                    step: 1,\n                    change: updateVariantQuantity,\n                    spin: updateVariantQuantity\n                });\n                \n                /*\n                if (`${$('#product-listing').data('list-view')}`?.toLowerCase() === 'true') {\n                    $row.find('.k-icon-button').on('click', function() {\n                        handleQtyChange($row);\n                    });\n\n                    $row.find('input.product-details__variant--qty').on('change', function() {                        \n                        handleQtyChange($row);\n                    });\n                }\n                */\n            });\n        }\n    },\n    clearSelections: function () {\n        window.selectedVariants = [];\n    },\n    setItemHeight: function () {\n        var $prodDetails = document.querySelectorAll('.product-details.is-portalsite');\n        if ($prodDetails) Core.Util.setFakeRowHeights($prodDetails);\n    },\n    initAccordion: function () {\n        if ($(\"#plv__panelbar\").length === 0) return;\n\n        $(\"#plv__panelbar\").kendoPanelBar({\n            expand: function(e) {\n                var plp = Core.ProductListing;\n                var $panelItem = $(e.item);\n                plp.variants.init();\n                plp.checkStockPanel($panelItem);\n            },\n        });\n    },\n    checkStockPanel: function($panelItem) {\n        var CLS_HIDE = 'd-none';\n        var CLS_CHECKED = 'has-checked';\n\n        if ($panelItem.hasClass(CLS_CHECKED)) return;\n\n        var $page = $('#product-listing');\n        var api = $page.data('check-local-stock-api');\n        var variants = [];\n\n        var $rows = $panelItem.find('.plv__variant-row');\n        var location = {\n            suburb: $page.attr('data-suburb'),\n            state: $page.attr('data-state'),\n            postCode: $page.attr('data-postcode'),\n        };\n\n        $rows.each(function(i, row) {\n            var $qty = $(row).find('input[name=\"qty\"]');\n            variants.push({\n                qty: $qty.val(),\n                sku: $qty.data('id'),\n            });\n        });\n\n        $.ajax({\n            url: api,\n            data: {\n                variants: variants,\n                location: location,\n                setLocation: false,\n            },\n            type: 'POST',\n            dataType: 'json',\n            success: function(data) {  \n                $panelItem.addClass(CLS_CHECKED);\n                \n                if (data.isSuccess) {\n                    var stockData = data.stocks;\n                    \n                    if (stockData.length > 0) {\n                        stockData.forEach(function(item, index) {\n                            var $row = $panelItem.find(`.plv__variant-row[data-id=\"${item.sku}\"]`);\n                            if ($row.length === 0) return;\n            \n                            // keep stock-national if no value\n                            if (Core.Util.isEmpty(item.value)) {\n                                return;\n                            }\n            \n                            var $local = $row.find(`.stock-local`);\n                            $local.find('.stock-status').css('background-color', item.colour);\n                            $local.find('.stock-message').html(`${item.value}`);\n                            $local.addClass(CLS_CHECKED);\n                            $row.find(`.stock-national`)?.addClass(CLS_HIDE);\n                        });\n                    }\n                } else {\n                    console.log('error', data.message);\n                }\n            },\n            error: function(xhr, ajaxOptions, thrownError) {        \n                console.log('error', xhr, ajaxOptions, thrownError);\n            }\n        });\n    },\n    checkLocalStockVariant: function($row) {\n        var $page = $('#product-listing');\n        var api = $page.data('check-local-stock-api');\n        if (!api) {\n            console.log('Please provide the api url for stock check (data-check-local-stock-api)');\n            return;\n        }\n\n        var $qty = $row.find('input[name=\"qty\"]');\n        var variants = [{\n            qty: $qty.val(),\n            sku: $qty.data('id'),\n            mainsku: $qty.data('id'),\n        }];\n\n        $.ajax({\n            url: api,\n            data: {\n                variants: variants,\n                setLocation: false,\n            },\n            type: 'POST',\n            dataType: 'json',\n            success: function(data) {\n                if (data.isSuccess) {\n                    var item = data.stocks?.length > 0 && data.stocks[0];\n                    if (!item) return;\n\n                    var $local = $row.find(`.stock-local`);\n                    $local.find('.stock-status').css('background-color', item.colour);\n                    $local.find('.stock-message').html(item.value);\n                    $local.addClass(CLS_CHECKED);\n                }\n            },\n            error: function(xhr, ajaxOptions, thrownError) {\n                console.log('error', xhr, ajaxOptions, thrownError);\n            }\n        });\n        \n    },\n};","function SelectValidator(elemSelector) {\n    var elem = (elemSelector instanceof HTMLSelectElement)\n        ? elemSelector\n        : document.querySelector(elemSelector);\n\n    if (elem == null) {\n        return;\n    }\n\n    var requiredMsg = (elem.dataset && elem.dataset.msgRequired) ? elem.dataset.msgRequired : 'Please select a value';\n    var isRequired = (elem.dataset && elem.dataset.ruleRequired && elem.dataset.ruleRequired === 'true');\n\n    function showError(errorMsg) {\n        var div = elem.parentElement.parentElement;\n        var span = div.querySelector('span.k-dropdownlist');\n        var label = div.querySelector('label');\n\n        span\n            && span.classList\n            && span.classList.add('error');\n\n        label\n            && $(label).remove();\n\n        $(div).append('<label class=\"error\">' + errorMsg + '</label>');\n    }\n\n    function clearError() {\n        var div = elem.parentElement.parentElement;\n        var span = div.querySelector('span.k-dropdownlist');\n\n        span\n            && span.classList\n            && span.classList.remove('error');\n\n        $(div).find('label').remove();\n    }\n\n    function isRequiredValid() {\n        return (elem.value !== '');\n    }\n\n    if (isRequired) {\n        $(elem).data(\"kendoDropDownList\") &&\n            $(elem).data(\"kendoDropDownList\").bind(\"change\", function() {\n                if ($(elem).data(\"kendoDropDownList\").value() !== '') {\n                    clearError();\n                }\n            });\n    }\n\n    var m = {\n        isValid: function() {\n            var isValid = true;\n\n            if (isRequired && !isRequiredValid()) {\n                showError(requiredMsg);\n                return false;\n            }\n\n            clearError();\n            return isValid;\n        },\n        elemSelector: elemSelector,\n    };\n\n    return m;\n};\n\n","/**\n * \n * @param {string} pageType values: pdp, checkout\n * @returns \n */\nCore.StockIntegration = function(pageType) {\n    var PAGE_TYPE = {\n        PDP: 'pdp',\n        CHECKOUT: 'checkout',\n        CO_AGEDCARE: 'co_agedcare',\n    }\n    var CLS_HIDE = 'd-none';\n    var CLS_CHECKED = 'has-checked';\n    var CLS_LOCATION = 'has-location';\n\n    var currentSku = '';\n    var currentMainSku = '';\n    var $currentVariant = '';\n    var $locationPopup = $('#stock-location-popup');\n    var isPdp = pageType === 'pdp';\n    var isAgedCare = Core.Util.isAgedCare();\n    \n    var $page = getPageType();\n    var isWholesale = $page.hasClass('product-detail--wholesale');\n\n    function getPageType() {\n        switch (pageType) {\n            case PAGE_TYPE.PDP:\n            default:\n                return $('#product-detail');\n            case PAGE_TYPE.CHECKOUT:\n                return $('#portal-checkout');\n            case PAGE_TYPE.CO_AGEDCARE:\n                return $('#cart');\n        }\n    }\n\n    function getParentSelector($btn) {\n        switch (pageType) {\n            case PAGE_TYPE.PDP:\n            default:\n                var $parent = $btn.closest('.product-details__variant');\n                return $parent.length > 0 ? $parent : $btn.closest('.product-details__columnwrap');\n            case PAGE_TYPE.CHECKOUT:\n                return $btn.closest('.portal-checkout__stock');\n            case PAGE_TYPE.CO_AGEDCARE:\n                return $btn.closest('.product-row');\n        }\n    }\n\n    function handleCheckStock() {\n        var $stockCheckBtn = $('.stock-checkBtn');\n        if ($stockCheckBtn.length === 0) return;\n        \n        $stockCheckBtn.on('click', function(e) {\n            var $btn = $(this);\n            var $parent = getParentSelector($btn);\n            \n            setVariables($parent);\n            \n            // if postcode is already set, check stock directly\n            if ($page.attr('data-postcode')) {\n                checkStock(false);\n            } else {\n                openPopup();\n            }\n        });\n    }\n\n    function handleChangeSuburb() {\n        var $changeSuburbBtn = $('.stock-changeSuburbBtn');\n        if ($changeSuburbBtn.length === 0) return;\n\n        $changeSuburbBtn.on('click', function(e) {\n            e.preventDefault();\n            var $btn = $(this);\n            var $parent = getParentSelector($btn);\n            setVariables($parent);\n            openPopup();\n        });\n    }\n\n    function setVariables($parent) {\n        var sku = $parent.find('[name=\"qty\"]').data('id');\n        var mainSku = $parent.find('.mainProdSku').val();\n\n        currentSku = sku;\n        currentMainSku = mainSku;\n        $currentVariant = $parent;\n        // value is empty on variant-selector, so set to global window variable\n        window.currentSku = sku;\n        window.currentMainSku = mainSku;\n        window.$currentVariant = $parent;\n    }\n\n    function openPopup() {\n        var popup = new ClientPopup($locationPopup, {title: 'Enter your postcode for local stock availability'});\n        popup.init();\n    }\n\n    function handleSetLocation() {\n        var $setLocationBtn = $('.stock-setLocationBtn');\n        if ($setLocationBtn.length === 0) return;\n\n        $setLocationBtn.on('click', function(e) {\n            e.preventDefault();\n            var $btn = $(this);\n            var $form = $btn.closest('form');\n\n            $page.attr({\n                'data-postcode': $form.find('.addressAutocomplete-postcode').val(),\n                'data-suburb': $form.find('.addressAutocomplete-suburb').val(),\n                'data-state': $form.find('.addressAutocomplete-state').val(),\n            });\n\n            if (!$form.valid()) return;\n\n            $('.stock-local').addClass(CLS_LOCATION);\n            checkStock(true);\n        });\n    }\n\n    function checkStock(setLocation) {\n        // get location from page element\n        var api = $page.data('check-local-stock-api');\n        if (!api) {\n            console.log('Please provide the api url for stock check (data-check-local-stock-api)');\n            return;\n        }\n\n        var _$currentVariant = $currentVariant || window.$currentVariant;\n        var location = {\n            suburb: $page.attr('data-suburb'),\n            state: $page.attr('data-state'),\n            postCode: $page.attr('data-postcode'),\n        };\n\n        if (!location.postCode) {\n            openPopup();\n            return;\n        }\n\n        // make sure it select the first one cause some producst has children within the current variant selector\n        var $loader = _$currentVariant.find('.loading-overlay').first();\n        var $wrap = _$currentVariant.find('.stock-wrap').first();\n        var $local = $wrap.find('.stock-local');\n        var $stockCheckBtn = _$currentVariant.find('.stock-checkBtn').first();\n        var $error = setLocation ? $('.stock-setLocationError') : _$currentVariant.find('.stock-error').first();    \n\n        if (setLocation) {\n            Core.ShowPageLoading();\n        } else {\n            $stockCheckBtn.prop('disabled', true);\n            $loader.removeClass(CLS_HIDE);\n        }\n\n        $error.addClass(CLS_HIDE);\n\n        var variants = [];\n        if (isPdp) {\n            if (isWholesale) {\n                $('#variants .product-details__variant--row').each(function(i, row) {\n                    variants.push({\n                        qty: row.querySelector('input[name=\"qty\"]')?.value || 1,\n                        sku: row.dataset.id,\n                    });\n                });\n            } else {\n                variants.push({\n                    qty: 1,\n                    sku: currentSku || window.currentSku,\n                    mainsku: currentMainSku || window.currentMainSku,\n                });\n            }\n        } else {\n            // push all variants for checkout page\n            if (isAgedCare) {\n                $('.product-row').each(function(i, row) {\n                    variants.push({\n                        qty: row.querySelector('input[name=\"qty\"]')?.value || 1,\n                        sku: row.dataset.id,\n                    });\n                });\n            } else {\n                $('.portal-checkout__row.buy-row').each(function(i, row) {\n                    variants.push({\n                        qty: row.querySelector('input.portal-checkout__purchase-qty')?.value || 1,\n                        sku: row.dataset.id,\n                    });\n                });\n            }\n        }\n\n        $.ajax({\n            url: api,\n            data: {\n                variants: variants,\n                location: location,\n                setLocation: setLocation,\n            },\n            type: 'POST',\n            dataType: 'json',\n            success: function(data) {     \n                if (data.isSuccess) {\n                    var stockData = data.stocks.length > 0 && \n                        (isPdp && !isWholesale) ? data.stocks[0] : data.stocks; // get first item for pdp\n\n                      // Reset all local stock info\n                      if (setLocation) {\n                        $('.stock-local').removeClass(CLS_CHECKED);\n                        $('.stock-checkBtn').removeClass(CLS_HIDE);\n                    }\n                    \n                    if (isPdp) {\n                        isWholesale ? \n                            onSuccessCheckStock(location, stockData) :\n                            onSuccessCheckStockPdp(location, $local, stockData);\n                    } else {\n                        onSuccessCheckStock(location, stockData);\n                    }\n\n                    // Close popup \n                    if (setLocation) {\n                        $locationPopup.data('kendoWindow').close();\n                        Core.HidePageLoading();\n                    }\n                } else {\n                    $error.html(data.message);\n                    $error.removeClass(CLS_HIDE);\n                }\n            },\n            error: function(xhr, ajaxOptions, thrownError) {        \n                $error.removeClass(CLS_HIDE);\n                console.log('error', xhr, ajaxOptions, thrownError);\n                Core.HidePageLoading();\n            },\n            complete: function() {\n                $stockCheckBtn.prop('disabled', false);\n                $loader.addClass('d-none');\n            }\n        });\n    }\n\n    function onSuccessCheckStockPdp(location, $local, stockData) {\n        // show error if value is empty\n        if (stockData.value === '') {\n            $local.find('.stock-error').removeClass(CLS_HIDE);\n            return;\n        }\n\n        $('.stock-checkBtn').text(`Check local stock for ${location.suburb} ${location.postCode}`);\n        $local.find('.stock-status').css('background-color', stockData.colour);\n        $local.find('.stock-message').text(`${stockData.value} for ${location.suburb} ${location.postCode}`);\n        $local.find('.stock-checkBtn').addClass(CLS_HIDE);\n        $local.addClass(CLS_CHECKED);\n    }\n\n    // for checkout page, pdp-wholesale\n    function onSuccessCheckStock(location, stockData) {\n        if (isWholesale) {\n            $('.stock-checkBtn').html(`Showing stock for ${location.suburb} ${location.postCode}`);\n            $('.stock-checkBtn').addClass('pe-none');\n        } else {\n            $('.stock-checkBtn').html(`Check local stock for ${location.suburb} ${location.postCode}`);\n        }\n        \n        if (stockData.length > 0) {\n            stockData.forEach(function(item, index) {\n                var $row = \n                    isWholesale ? $(`.product-details__variant--row[data-id=\"${item.sku}\"]`) :\n                    isAgedCare ? $(`.product-row[data-id=\"${item.sku}\"]`) : \n                    $(`.portal-checkout__row[data-id=\"${item.sku}\"]`);\n                if ($row.length === 0) return;\n\n                if (item.value === '') {\n                    $row.find('.stock-error').removeClass(CLS_HIDE);\n                    return;\n                }\n\n                var locationTemplate = isWholesale\n                    ? `<span class=\"px-0\">${location.suburb} ${location.postCode}</span>`\n                    : `<a href=\"#\" role=\"button\" class=\"stock-changeSuburbBtn btn-link px-0\">${location.suburb} ${location.postCode}</a>`;\n\n                var $local = $row.find(`.stock-local`);\n                $local.find('.stock-status').css('background-color', item.colour);\n                $local.find('.stock-message').html(`${item.value} for ${locationTemplate}`);\n                $local.addClass(CLS_CHECKED);\n                $row.find('.stock-checkBtn').addClass(CLS_HIDE);\n                $row.find('.stock-updateBtn').removeClass(CLS_HIDE);\n\n                $local.on('click', '.stock-changeSuburbBtn', function(e) {\n                    e.preventDefault();\n                    var $btn = $(this);\n                    var $parent = getParentSelector($btn);\n                    setVariables($parent);\n                    openPopup();\n                });\n            });\n        }\n    }\n\n    // async api call to check stock on page load\n    function checkStockAsyncPdp(isComplexVariant) {\n        if (!Core.Util.isCheckLocalStockAsync()) return;\n\n        var api = $page.data('check-local-stock-api');\n        if (!api) {\n            console.log('Please provide the api url for stock check (data-check-local-stock-api)');\n            return;\n        }\n\n        var location = {\n            suburb: $page.attr('data-suburb'),\n            state: $page.attr('data-state'),\n            postCode: $page.attr('data-postcode'),\n        };\n\n        var variants = [];\n        var $row = isComplexVariant ? $('#complexVariant .product-details__variant') : $('#variants .product-details__variant--row');\n        $row.each(function(i, row) {\n            variants.push({\n                qty: row.querySelector('input[name=\"qty\"]')?.value || 1,\n                sku: row.dataset.id,\n            });\n        });\n\n        var retry = 0;\n        var doCheckStock = function() {\n            $.ajax({\n                url: api,\n                data: {\n                    variants: variants,\n                    location: location,\n                    setLocation: false,\n                },\n                type: 'POST',\n                dataType: 'json',\n                success: function(data) {     \n                    if (data.isSuccess) {\n                        var stockData = data.stocks;\n                        \n                        if (stockData.length > 0) {\n                            stockData.forEach(function(item, index) {\n                                var $row = $(`.product-details__variant--row[data-id=\"${item.sku}\"]`);\n                                if ($row.length === 0) return;\n                \n                                // keep stock-national if no value\n                                if (Core.Util.isEmpty(item.value)) {\n                                    return;\n                                }\n                \n                                var $local = $row.find(`.stock-local`);\n                                $local.find('.stock-status').css('background-color', item.colour);\n                                $local.find('.stock-message').html(`${item.value}`);\n                                $local.addClass(CLS_CHECKED);\n                                $row.find(`.stock-national`)?.addClass(CLS_HIDE);\n                            });\n                        }\n                    } else {\n                        console.log('error', data.message);\n                        retryCheckStock();\n                    }\n                },\n                error: function(xhr, ajaxOptions, thrownError) {        \n                    console.log('error', xhr, ajaxOptions, thrownError);\n                    retryCheckStock();\n                }\n            });\n        };\n\n        var retryCheckStock = function() {            \n            if (retry === 0) {\n                setTimeout(doCheckStock, 500);\n                retry++;\n            }\n        };\n\n        if (variants.length > 0) {\n            doCheckStock();\n        }\n    }\n\n    var m = {\n        init: function() {\n            handleCheckStock();\n            handleChangeSuburb();\n            handleSetLocation();\n            checkStockAsyncPdp();\n        },\n        updateStock: function(setLocation, $parent) {\n            setVariables($parent);\n            checkStock(setLocation);\n        },\n        changeSuburb: function($parent) {\n            setVariables($parent);\n            openPopup();\n        },\n        checkStockAsyncPdp: checkStockAsyncPdp,\n    };\n\n    return m;\n};","Core.Stores = {\n    Locator: {\n        init: function () {\n\n            Core.Stores.Locator.Cache = {\n                $map: $('#google-map-canvas')\n            };\n\n            var _self = this;\n\n            _self.Map = null;\n            _self.Markers = [];\n            _self.InfoWindows = [];\n\n            _self.data = window.StoreJson;\n\n            Handlebars.registerHelper(\"storesGetIndex\", function (arr, options) {\n                return $.map(arr, function (item, index) {\n                    item.$idx = index;\n                    return options.fn(item);\n                }).join('');\n            });\n\n            this.setStartingPoint();\n\n            this.createMap();\n\n            Core.RenderTemplate('#tpl-stores', _self.data, $('#store-results'));\n\n            Core.Cache.$document.on(\"click\", '.btn-view-store', function (e) {\n\n                e.preventDefault();\n\n                _self.showStoreInfo($(this).data('id'));\n                _self.Map.setZoom(15);\n\n                Core.Cache.$body.add(Core.Cache.$html).animate({\n                    scrollTop: Core.Stores.Locator.Cache.$map.offset().top - 50\n                }, 400);\n            });\n        },\n        setStartingPoint: function () {\n            switch (window.CurrentState) {\n                case 'act':\n                    if (Core.IsMobile()) {\n                        zoomLevel = 6;\n                    } else {\n                        zoomLevel = 7;\n                    }\n                    lat = -35.308;\n                    longitude = 149.124;\n                    break;\n                case 'nsw':\n                    zoomLevel = 6;\n                    lat = -33.253;\n                    longitude = 148.921;\n                    break;\n                case 'vic':\n                    zoomLevel = 7;\n\t\t\t        if ( Core.IsMobile()) {\n\t\t\t\t\t    lat = -37.471;\n\t\t\t\t\t\tlongitude = 144.785;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlat = -36.390;\n\t\t\t\t\t\tlongitude = 144.235;\n\t\t\t\t\t}\n                    break;\n                case 'qld':\n                    zoomLevel = 6;\n\t\t\t\t\tif (Core.IsMobile()) {\n\t\t\t\t\t\tlat = -25.917;\n\t\t\t\t\t\tlongitude = 151.702;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlat = -23.803;\n\t\t\t\t\t\tlongitude = 145.571;\n\t\t\t\t\t}\n                    break;\n                case 'sa':\n\t\t\t\t\tif (Core.IsMobile()){\n\t\t\t\t\t\tzoomLevel = 5;\n\t\t\t\t\t\tlat = -30.000;\n\t\t\t\t\t\tlongitude = 136.209;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tzoomLevel = 6;\n\t\t\t\t\t\tlongitude = 134.989;\n\t\t\t\t\t\tlat = -31.566;\n\t\t\t\t\t}\n                    break;\n                case 'wa':\n\t\t\t\t\tif ( Core.IsMobile() ) {\n\t\t\t\t\t\tzoomLevel = 5;\n\t\t\t\t\t\tlat = -31.14;\n\t\t\t\t\t\tlongitude = 115.159;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tzoomLevel = 6;\n\t\t\t\t\t\tlat = -30.422;\n\t\t\t\t\t\tlongitude = 117.0266;\n\t\t\t\t\t}\n                    break;\n                case 'tas':\n                    zoomLevel = 7;\n                    lat = -41.965;\n                    longitude = 146.628;\n                    break;\n                case 'nt':\n                    zoomLevel = 5;\n                    lat = -19.491;\n                    longitude = 133.550;\n                    break;\n                default:\n                    if (Core.IsMobile()) {\n                        zoomLevel = 3;\n                    } else {\n                        zoomLevel = 4;\n                    }\n                    lat = -28.926;\n                    longitude = 134.175;\n                    break;\n            }\n        },\n        createMap: function () {\n            var canvas = document.getElementById(\"google-map-canvas\");\n\n            var options = {\n                disableDefaultUI: true,\n                scrollWheel: false,\n                draggable: true,\n                streetViewControl: false,\n                zoom: zoomLevel,\n                zoomControl: true,\n                zoomControlOptions: {\n                    style: google.maps.ZoomControlStyle.SMALL,\n                    position: google.maps.ControlPosition.RIGHT_TOP\n                },\n                minZoom: 1,\n                center: new google.maps.LatLng(lat, longitude),\n                mapTypeId: google.maps.MapTypeId.ROADMAP\n            };\n\n            this.Map = new google.maps.Map(canvas, options);\n            this.plotMarkers();\n\n        },\n        plotMarkers: function () {\n            var _self = this;\n\n            $.each(_self.data.Stores, function (i, store) {\n                _self.Markers[i] = new google.maps.Marker({\n                    position: new google.maps.LatLng(store.Latitude, store.Longitude),\n                    map: _self.Map,\n                    title: store.Name,\n                    icon: store.IsAidacareStore ?\n                      Core.Config.StoreFinder.MarkerIconPath :\n                      Core.Config.StoreFinder.MarkerIconPathNetwork\n                });\n\n\t\t\t\tvar _$infoContent = Core.Stores.Locator._storeContent(store);\n\n                _self.InfoWindows[i] = new google.maps.InfoWindow({\n                    content: _$infoContent\n                });\n\n                google.maps.event.addListener(_self.Markers[i], 'click', function () {\n                    _self.showStoreInfo(i);\n                    _self.Map.setZoom(15);\n                });\n\n\t\t\t\tCore.Stores.Locator._styleWindow(_self.InfoWindows[i]);\n            });\n        },\n        showStoreInfo: function (idx) {\n            for (var i = 0; i < this.InfoWindows.length; i++) {\n                if (i !== idx) {\n                    if (this.InfoWindows[i] !== null) {\n                        this.InfoWindows[i].close();\n                    }\n                }\n                else if (this.InfoWindows[idx] !== null) {\n                    this.InfoWindows[idx].open(this.Map, this.Markers[idx]);\n                    this.Map.setCenter(this.Markers[idx].position);\n                }\n            }\n        },\n\n\t\t_styleWindow: function(info){\n            // *\n            // START INFOWINDOW CUSTOMIZE.\n            // The google.maps.event.addListener() event expects\n            // the creation of the infowindow HTML structure 'domready'\n            // and before the opening of the infowindow, defined styles are applied.\n            // *\n            google.maps.event.addListener(info, 'domready', function () {\n                var $iwCloseBtn = $('.gm-style-iw').find('button[title=\"Close\"]');\n                var $triangle = $('.gm-style-iw').next();\n                var $img = $triangle.find('img');\n\n                if ($img.filter('.custom').length === 0) {\n                    $img.hide();\n                    $triangle\n                        .css({opacity: '1', width: '25px', height: '25px', top: '-2px'});\n                    $iwCloseBtn\n                        .css({width: '35px', height: '35px', top: '12px', right: '12px'})\n                        .html('<img src=\"/site.resource/images/infowindow_x.png\" class=\"custom\" draggable=\"false\">');\n                }\n            });\n\t\t},\n\t\t// Generates popup content\n\t\t_storeContent: function(store){\n\n\t\t\t// Get the Title\n\t\t\tvar _$infoContent = '';\n\t\t\tif(typeof store.Name === 'string')\n\t\t\t\t_$infoContent = '<div class=\"mapInfoWindow\"><h2>' + store.Name + '</h2><p>';\n\t\t\telse if(typeof store.Title === 'string')\n\t\t\t\t_$infoContent = '<div class=\"mapInfoWindow\"><h2>' + store.Title + '</h2><p>';\n\n\t\t\t// Body Content\n            if (typeof store.AddressLine1 == 'string' && store.AddressLine1.length > 0) {\n                _$infoContent = _$infoContent + store.AddressLine1 + '<br>';\n            }\n            if (typeof store.Suburb == 'string' && store.Suburb.length > 0) {\n                _$infoContent = _$infoContent + store.Suburb + '<br>';\n            }\n            if (typeof store.State == 'string' && store.State.length > 0) {\n                _$infoContent = _$infoContent + store.State + ', ';\n            }\n            if (typeof store.Postcode == 'string' && store.Postcode.length > 0) {\n                _$infoContent = _$infoContent + store.Postcode;\n            }\n            if (typeof store.Phone == 'string' && store.Phone.length > 0) {\n                _$infoContent = _$infoContent + '</p><p>Phone: ' + store.Phone;\n            }\n            if (typeof store.Fax == 'string' && store.Fax.length > 0) {\n                _$infoContent = _$infoContent + '<br>Fax: ' + store.Fax;\n            }\n            if (typeof store.Email == 'string' && store.Email.length > 0) {\n                _$infoContent = _$infoContent + '<br> Email: ' + store.Email;\n            }\n\t\t\tif ( typeof store.Url === 'string' )\n\t\t\t\t_$infoContent = _$infoContent + '</p><a href=\"' + store.Url + '\">View More</a></div>';\n\t\t\treturn _$infoContent;\n\t\t}\n    },\n    Details: {\n        init: function () {\n            var $store = document.getElementById('store-details')\n            var _location = document.getElementById(\"location-map\"),\n                _latlng = new google.maps.LatLng(_location.getAttribute(\"data-latitude\"), _location.getAttribute(\"data-longitude\")),\n                _mapOptions = {\n                    zoom: Core.Config.StoreFinder.MapDetailZoomLevel,\n                    center: _latlng,\n                    mapTypeId: google.maps.MapTypeId.ROADMAP,\n                    styles: [{\n                        featureType: \"poi\",\n                        elementType: \"labels\",\n                        stylers: [ { visibility: \"off\" } ]\n                    }, ]\n                };\n\n            var _map = new google.maps.Map(document.getElementById(\"map-canvas\"), _mapOptions);\n\n\n            var Marker = new google.maps.Marker({\n                position: _latlng,\n                clickable: true,\n                map: _map,\n                icon: $store.hasAttribute('data-is-aidacare-store') ?\n                  Core.Config.StoreFinder.MarkerIconPath :\n                  Core.Config.StoreFinder.MarkerIconPathNetwork\n            });\n\n\n\t\t\tvar _$infoContent = Core.Stores.Locator._storeContent(StoreJson);\n\n            var InfoWindow = new google.maps.InfoWindow({\n                content: _$infoContent\n            });\n\n            google.maps.event.addListener(Marker, 'click', function () {\n                InfoWindow.open(_map, Marker);\n                _map.setCenter(Marker.position);\n                _self.Map.setZoom(15);\n            });\n\t\t\tCore.Stores.Locator._styleWindow(InfoWindow);\n        }\n    }\n};\n","(function () {\n    var devices = {\n        isIE11OrLess: function () {\n            var docMode = document.documentMode;\n            if (!docMode) return false;\n            if (docMode <= 11) return true;\n        }\n    };\n\n    function getInnerHeight($el) {\n        var style = window.getComputedStyle($el, null);\n        return parseInt(style.getPropertyValue(\"height\").split(\"px\")[0], 10);\n    }\n\n    /**\n    * Ensures items in $items array are same height\n    * @param $items\n    * @param justClear\n    */\n    function sameHeightItems($items, justClear) {\n\n        var h = 0;\n\n        $.each($items, function (i, $el) {\n            $el.removeAttribute(\"style\");\n        });\n\n        if (justClear) return;\n\n        $.each($items, function (i, $el) {\n            //let thisH: number = getInnerHeight($el);\n            var thisH = devices.isIE11OrLess() ? $($el).height() : getInnerHeight($el);\n            if (thisH > h) h = thisH;\n        });\n\n        $.each($items, function (i, $el) {\n            $el.style.height = h + \"px\";\n        });\n    }\n\n    /**\n    * @description Takes a list of elements and ensures they are the same height on the same row. Styles are added within inline JS.\n    * @param $list (element list) - list of elements to be used.\n    * @param justClear\n    */\n    function setFakeRowHeights($list, justClear) {\n        var offTop\n          , prevTop\n          , itemPerRow = 0\n          , rowList = []\n          , multiList = [];\n\n\n        $.each($list, function (i, $tile) {\n            //var offTop = $tile.offsetTop;\n            var offTop = $($tile).offset().top;\n\n            if (itemPerRow) {\n                //push to multilist if it has reached the the total of items per row\n                if (i % itemPerRow == 0) {\n                    multiList.push(rowList);\n                    rowList = [];\n                }\n\n                rowList.push($tile);\n\n            } else {\n                // if offsetTop is different, means it's a new line\n                if (i > 0 && prevTop !== offTop) {\n                    //find total items per row first based on offsetTop\n                    itemPerRow = rowList.length;\n                    multiList.push(rowList);\n                    rowList = [];\n                }\n\n                rowList.push($tile);\n            }\n\n            prevTop = offTop;\n\n            //push the rest of items to multilist\n            if (i == $list.length - 1) multiList.push(rowList);\n\n        });\n\n        $.each(multiList, function (i, row) {\n            if (row.length > 1) sameHeightItems(row, justClear);\n            else sameHeightItems(row, true); //if only one tile is left, remove attribue 'style'\n        });\n    }\n\n    function debounce(func, wait, immediate) {\n        var timeout;\n\n        return function() {\n            var context = this, args = arguments;\n            var later = function() {\n                timeout = null;\n                if (!immediate) func.apply(context, args);\n            };\n            var callNow = immediate && !timeout;\n            clearTimeout(timeout);\n            timeout = setTimeout(later, wait);\n            if (callNow) func.apply(context, args);\n        };\n    }\n\n    function groupBy(arr, key) {\n      return arr.reduce(function (rv, x) {\n        (rv[x[key]] = rv[x[key]] || []).push(x);\n        return rv;\n      }, {});\n    }\n\n    function replaceNullValue(oriVal, newVal) {\n        if(oriVal == \"\" || oriVal == null) newVal = newVal ? newVal : \"\";\n        else newVal = oriVal;\n\n        return newVal;\n    }\n\n    function renderErrorMsg($target, msg) {\n        var tmpl = '<div class=\"glbError\">' + msg + '</div>';\n        var $error = $target.find('.glbError');\n        if ($error.length) $error.html(msg);\n        else $target.prepend(tmpl);\n    }\n\n    function addIEClasses ($siteWrap) {\n        // Just in case you need to browser sniff MS IE11 browser\n        if (devices.isIE11OrLess()) $siteWrap.addClass('ie-msie11');\n    }\n\n    function isAgedCare() {\n        return $('body').hasClass('is-agedCare');\n    }\n\n    function isWholesale() {\n        return $('#product-detail').hasClass('product-detail--wholesale');\n    }\n\n    function isCheckLocalStockAsync() {        \n        return `${$('#product-detail').data('check-local-stock-async')}`?.toLowerCase() === \"true\";\n    }\n\n    function isPlp() {\n        return $('#product-listing').length > 0;\n    }\n\n    function isOnMouse() {\n        document.body.addEventListener('mousedown', function() {\n            document.body.classList.add('using-mouse');\n        });\n\n        document.body.addEventListener('keydown', function() {\n            document.body.classList.remove('using-mouse');\n        });\n    }\n\n    function isElementInViewport (el) {\n\n      // Special bonus for those using jQuery\n      if (typeof jQuery === \"function\" && el instanceof jQuery) {\n          el = el[0];\n      }\n\n      var rect = el.getBoundingClientRect();\n\n      return (\n          rect.top >= 0 &&\n          rect.left >= 0 &&\n          rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /* or $(window).height() */\n          rect.right <= (window.innerWidth || document.documentElement.clientWidth) /* or $(window).width() */\n      );\n    }\n\n    function uploadBase64Image(base64String) {\n        // Split the base64 string in data and contentType\n        var block = base64String.split(\";\");\n        // Get the content type\n        var contentType = block[0].split(\":\")[1];\n        // Get the real base64 content of the file\n        var realData = block[1].split(\",\")[1];\n        // Convert to blob\n        var blob = b64toBlob(realData, contentType);\n        // Create a FormData and append the file\n        // var formData = new FormData();\n        // formData.append(\"file\", blob);\n        // Now you can send the form using fetch or XMLHttpRequest\n        return blob;\n    }\n\n    function b64toBlob(b64Data, contentType, sliceSize) {\n        contentType = contentType || '';\n        sliceSize = sliceSize || 512;\n        var byteCharacters = atob(b64Data);\n        var byteArrays = [];\n        for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n            var slice = byteCharacters.slice(offset, offset + sliceSize);\n            var byteNumbers = new Array(slice.length);\n            for (var i = 0; i < slice.length; i++) {\n                byteNumbers[i] = slice.charCodeAt(i);\n            }\n            var byteArray = new Uint8Array(byteNumbers);\n            byteArrays.push(byteArray);\n        }\n        var blob = new Blob(byteArrays, {type: contentType});\n        return blob;\n    }\n\n    function isEmpty(content) {\n        return content === '' || content === null || content === 'null' || content === undefined || content === 'undefined';\n    }\n\n    var Utils = {\n        Debounce: debounce\n      , setFakeRowHeights: setFakeRowHeights\n      , groupBy: groupBy\n      , replaceNullValue: replaceNullValue\n      , renderErrorMsg: renderErrorMsg\n      , addIEClasses: addIEClasses\n      , isAgedCare: isAgedCare\n      , isWholesale: isWholesale\n      , isOnMouse: isOnMouse\n      , isElementInViewport: isElementInViewport\n      , uploadBase64Image: uploadBase64Image\n      , isCheckLocalStockAsync: isCheckLocalStockAsync\n      , isEmpty: isEmpty\n      , isPlp: isPlp\n    };\n\n    Core = Core || {};\n    Core.Util = Utils;\n})();\n\n/*\nCore.Util = {\n    // debouce - a la Underscore\n\n    Debounce: function (func, wait, immediate) {\n        var timeout;\n\n        return function() {\n            var context = this, args = arguments;\n            var later = function() {\n                timeout = null;\n                if (!immediate) func.apply(context, args);\n            };\n            var callNow = immediate && !timeout;\n            clearTimeout(timeout);\n            timeout = setTimeout(later, wait);\n            if (callNow) func.apply(context, args);\n        };\n    }\n};\n*/\n"]}