{"version":3,"sources":["account/account.js"],"names":["$","click","e","preventDefault","removeClass","this","closest","addClass","change","submit","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","on","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').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]').change(function() {\n        $(this).closest('form').submit();\n    });\n\n    $('.account-section__form--ajax').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').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').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"}