{"version":3,"sources":["account/account.js"],"names":["$","on","e","preventDefault","removeClass","this","closest","addClass","trigger","button","document","activeElement","tagName","classList","contains","ajax","type","url","attr","data","serialize","success","console","log","section","span","find","altText","html","hasClass","stop","animate","scrollTop","offset","top","accountSidebar","updateSidebar","jQuery","mobileNav","querySelector","current","cloneNode","nav","openIcon","createElement","innerHTML","AndrewMartin","svgSymbolsFile","closedIcon","add","appendChild","firstChild","insertBefore","addEventListener","event","isExpanded","getAttribute","setAttribute","sidebar","navPlaceholder","init","height","width","setListeners","off","target","hash","$target","window","location","scrollPosition","each","currentLink","refElement","length","adjustedTop","position","adjustedHeight","outerHeight","parseInt","css"],"mappings":"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","file":"../../javascript/account.js","sourcesContent":["(function($) {\n    $('.account-section__title').on('click', function(e) {\n        e.preventDefault();\n        $('.account-section').removeClass('account-section--open');\n        $(this).closest('.account-section').addClass('account-section--open');\n    });\n\n    $('.account-section__form--submits-on-radio-change input[type=radio]').on('change', function() {\n        $(this).closest('form').trigger('submit');\n    });\n\n    $('.account-section__form--ajax').on('submit', function(e) {\n        var button = document.activeElement;\n        if (button.tagName === 'BUTTON' && button.classList.contains('js-account-no-ajax')) {\n            return;\n        }\n\n        e.preventDefault();\n        $.ajax({\n            type: \"POST\",\n            url: $(this).attr('action'),\n            data: $(this).serialize(),\n            success: function() {\n                console.log('updated');\n            }\n        });\n    });\n\n    $('.account-section__show-all').on('click', function(e) {\n        e.preventDefault();\n        var section = $(this).closest('.account-section');\n\n        var span = $(this).find('span');\n        var altText = $(this).data('alt-text');\n        $(this).data('alt-text', span.html());\n        span.html(altText);\n\n        if (section.hasClass('account-section--show-all')) {\n            section.removeClass('account-section--show-all');\n            $('html, body').stop().animate({\n                'scrollTop': section.find('.account-section__snap-tag').offset().top\n            }, 500, 'swing');\n            accountSidebar.updateSidebar();\n        } else {\n            section.addClass('account-section--show-all');\n        }\n    });\n})(jQuery);\n\n\n(function mobileNavigation() {\n    var mobileNav = document.querySelector('.js-account-nav-mobile');\n    var current = mobileNav.querySelector('.account-nav__nav-item--active').cloneNode(true);\n    var nav = mobileNav.querySelector('.account-nav__nav');\n    var openIcon = document.createElement('div');\n    openIcon.innerHTML = '<svg class=\"icon icon-less\" role=\"img\"><use xlink:href=\"' + AndrewMartin.svgSymbolsFile + '#icon-less\"></use></svg>';\n    var closedIcon = document.createElement('div');\n    closedIcon.innerHTML = '<svg class=\"icon icon-more\" role=\"img\"><use xlink:href=\"' + AndrewMartin.svgSymbolsFile + '#icon-more\"></use></svg>';\n\n    current.classList.add('account-nav__nav-item--selected');\n    current.appendChild(closedIcon.firstChild);\n    current.appendChild(openIcon.firstChild);\n    mobileNav.insertBefore(current, nav);\n\n    current.addEventListener('click', function (event) {\n        event.preventDefault();\n\n        var isExpanded = mobileNav.getAttribute('aria-expanded') === 'true';\n        mobileNav.setAttribute('aria-expanded', isExpanded ? 'false' : 'true');\n    });\n})();\n\nvar accountSidebar = {\n    sidebar: $('.account-wrap__sidebar'),\n    nav: $('.account-nav__nav--smooth-scroll'),\n    navPlaceholder: $('.account-nav__placeholder'),\n    init: function() {\n        accountSidebar.navPlaceholder.height(accountSidebar.nav.height());\n        accountSidebar.navPlaceholder.width(accountSidebar.nav.width());\n        accountSidebar.setListeners();\n        accountSidebar.updateSidebar();\n    },\n    setListeners: function() {\n        accountSidebar.nav.find('.account-nav__nav-item').on('click', function(e) {\n            e.preventDefault();\n            $(document).off(\"scroll\");\n\n            $('.account-nav__nav-item').removeClass('account-nav__nav-item--active');\n            $(this).addClass('account-nav__nav-item--active');\n\n            var target = this.hash;\n            $target = $(target);\n            $('html, body').stop().animate({\n                'scrollTop': $target.offset().top\n            }, 500, 'swing', function () {\n                window.location.hash = target;\n                $(document).on(\"scroll\", accountSidebar.updateSidebar);\n                console.log('her');\n                accountSidebar.updateSidebar();\n            });\n        });\n\n        $(document).on(\"scroll\", accountSidebar.updateSidebar);\n    },\n    updateSidebar: function() {\n        var scrollPosition = $(document).scrollTop();\n        $('.account-nav__nav-item').each(function () {\n            var currentLink = $(this);\n            var refElement = $(this.hash);\n            if (refElement.length > 0) {\n                var section = refElement.closest('.account-section');\n                var adjustedTop = section.position().top + refElement.position().top - 5;\n                var adjustedHeight = section.outerHeight() + parseInt(section.css('marginBottom'));\n\n                if (adjustedTop < scrollPosition && (adjustedTop + adjustedHeight) > scrollPosition) {\n                    currentLink.addClass('account-nav__nav-item--active');\n                } else {\n                    currentLink.removeClass('account-nav__nav-item--active');\n                }\n            }\n        });\n\n        var navPlaceholderBottom = accountSidebar.navPlaceholder.height() + accountSidebar.navPlaceholder.position().top;\n        var sideBarBottom = accountSidebar.sidebar.height() + accountSidebar.sidebar.position().top;\n\n        if (navPlaceholderBottom > sideBarBottom) {\n            $('.account-nav[data-nav-attach-to-bottom]').addClass('account-nav--attached-to-bottom');\n        } else {\n            $('.account-nav[data-nav-attach-to-bottom]').removeClass('account-nav--attached-to-bottom');\n        }\n    }\n};\n\naccountSidebar.init();\n"],"sourceRoot":"../../../../resources/javascript"}