// Alert module
document.querySelectorAll(".alert__close").forEach((closeButton) => {
  closeButton.addEventListener("click", () =>
    closeButton.closest(".alert__module").remove()
  );

  closeButton.addEventListener('keypress', function (e) {
    closeButton.closest(".alert__module").remove()
  });
}); 


 
//////////////////////
// NATIONAL HEADER MODULE

// Show Menu - mobile
const btnMenu = document.querySelector("#btnMenu");
const navMobile = document.querySelector("#navMobile");

// Close and open burger menu
btnMenu.addEventListener("click", () => {
  navMobile.classList.toggle("showMenu");
  btnMenu.classList.toggle("change");
});

btnMenu.addEventListener("keypress",  function(event) {
    if (event.key === "Enter") {
        event.preventDefault();
        navMobile.classList.toggle("showMenu");
        btnMenu.classList.toggle("change");
    }
});

// Accordions - Turn Up and down arrows
const accordions = document.querySelectorAll(".nav__item__layer");
accordions.forEach((accordion) => {
  accordion.addEventListener("click", openItem);
  accordion.addEventListener("keypress", function(event) { 
    if (event.key === "Enter") { 
        openItem(event); 
    }
    });
});

function openItem(e) {
  const itemMenu = document.getElementById(e.target.dataset.id);
  const iteamArrow = document.getElementById(e.target.dataset.arrow);
  itemMenu.classList.toggle("active");
  iteamArrow.classList.toggle("arrowUp");
}

// Show and hide search bar
const searchButton = document.querySelector("#searchButton");
const navSearchBar = document.querySelector("#navSearchBar");
const desktopMenu = document.querySelector("#desktopMenu");
searchButton.addEventListener("click", () => {
  navSearchBar.classList.add("active");
  desktopMenu.classList.add("noActive");
  document.getElementById("inputSearch").focus();
});

document.addEventListener("click", (event) => {
  if (
    event.target.closest("#navSearchBar") ||
    event.target.closest("#searchButton") ||
    event.target.closest(".slider__button") ||
    event.target.closest(".blogSlider__button")
  ) {
    return;
  } else {
    navSearchBar.classList.remove("active");
    desktopMenu.classList.remove("noActive");
  }
});

searchButton.addEventListener("keypress", function(event) {
  if (event.key === "Enter") {
    event.preventDefault();
    document.getElementById("searchButton").click();
  }
});

// Close icon when type on search bar
const inputSearch = document.querySelector("#inputSearch");
const closeIcon = document.querySelector("#closeIcon");
inputSearch.addEventListener("input", (e) => {
  toggleCloseIcon(e.target.value);
});

closeIcon.addEventListener("click", (e) => {
  inputSearch.value = "";
  toggleCloseIcon(inputSearch.value);
});

closeIcon.addEventListener("keypress", function(event) {
  if (event.key === "Enter") {
    event.preventDefault();
    inputSearch.value = "";
    toggleCloseIcon(inputSearch.value);
  }
});

// Close search window if [escape] key pressed
document.onkeydown = function(evt) {
  evt = evt || window.event;
  var isEscape = false;
  if ("key" in evt) {
      isEscape = (evt.key === "Escape" || evt.key === "Esc");
  }
  if (isEscape) {
      navSearchBar.classList.remove("active");
      desktopMenu.classList.remove("noActive");
  }
};

function toggleCloseIcon(text) {
  if (text === "") {
    closeIcon.classList.remove("active");
    inputSearch.focus();
  } else {
    closeIcon.classList.add("active");
  }
}

//Hide nav when user scrolls down
let prevScroll = window.scrollY;

window.onscroll = function () {
  const currentScroll = window.scrollY;
  if (prevScroll > currentScroll) {
    document.getElementById("navbar").classList.add("showNav");
    document.getElementById("navMenu").classList.add("beforeScroll");
    document.getElementById("navMenu").classList.remove("afterScroll");    
  } else {
    document.getElementById("navbar").classList.remove("showNav");
    document.getElementById("navbar").classList.add("hideNav");
    document.getElementById("navMenu").classList.remove("beforeScroll");
    document.getElementById("navMenu").classList.add("afterScroll");
  }

  var alertModule = document.querySelector(".alert__module");
  if(alertModule) {
    if(currentScroll > 0) {
        alertModule.style.position = "fixed";
    } else {
        alertModule.style.position = "unset";
    }
  }
  
  prevScroll = currentScroll;
};

 

/*

//////////////////////
// NATIONAL HERO VIDEO

var heroVideoPlayButton = document.getElementById("location__hero__video-play-button");

heroVideoPlayButton.addEventListener("click", function (e) {
  e.preventDefault();
  if (video.paused == true) {
    video.play();
    heroVideoPlayButton.classList.remove("panel-control--play");
    heroVideoPlayButton.classList.add("panel-control--pause");
  } else {
    video.pause();
    heroVideoPlayButton.classList.remove("panel-control--pause");
    heroVideoPlayButton.classList.add("panel-control--play");
  }
});

var rifTitle = document.getElementById("min-rif-title");
var rifFields = document.getElementById("min-rif-fields");
var rifToggleBtn = document.getElementById("min-rif-toggle-btn");

rifTitle.addEventListener("click", function (e) {
    e.preventDefault();
    toggleRifFields();
});
rifTitle.addEventListener("keypress", function (e) {
    e.preventDefault();
    if(e.key == "Enter") {
        toggleRifFields();
    }
});

function toggleRifFields() {
    rifFields.style.display = rifFields.style.display == "none" ? "block" : "none";
    rifToggleBtn.classList.toggle("js-mini-rif-closed");
}

*/


/*

////////////////////////
// ALUMNI SPOTLIGHT MODULE

var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";

var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

var player;
var currentID = "rqRTbR6pmFU";
var currentState = -1;
function onYouTubeIframeAPIReady() {
	player = new YT.Player('alumniSpotlight__player', {
		width: '100%',
		height: '100%',
		videoId: 'rqRTbR6pmFU',
		playerVars: {
			'playsinline': 1
		},
		events: {
			'onReady': onPlayerReady,
			'onStateChange': onPlayerStateChange
		}
	});

	initSlider();
}

function onPlayerReady(event) {
    // Commented below to stop video autoplay
	//event.target.playVideo();
}

function onPlayerStateChange(event) {
    currentState = event.data;
}

var glide;
function initSlider() {
	glide = new Glide('.alumniSpotlight__glide', {
		type: 'carousel',
		gap: 0,
		perView: 4,
		focusAt: 'center',
		breakpoints: {
			800: {
				perView: 2
			},
			480: {
				perView: 1
			}
		}
	})

	glide.mount()
}

function changeVideo(id, index) {
    if(id == currentID) {
        if(currentState != 1) {
            player.playVideo();
        } else {
            player.pauseVideo();
        }
    } else {
	    player.loadVideoById(id);
        currentID = id;
    }
	glide.go('=' + index);
}

const wrapper = document.querySelector('.alumniSpotlight__youtubeWrapper');

function YouTubeResize() {
	let w = wrapper.offsetWidth;
	let ratio = 16 / 9;

	let newHeight = w / ratio;
	
	wrapper.style.height = newHeight + "px";
}

window.addEventListener('resize', YouTubeResize);
document.addEventListener('DOMContentLoaded', YouTubeResize);

*/

/*
////////////////////////
// BLOG POSTS MODULE

let blogPosition = 0;
const blogSliderTime = 3500;
const blogMarginCard = 20;

const blogSliderList = document.querySelector("#blogSliderList");
const blogSliderControls = document.querySelector(".blogSlider__control");

const blogCards = document.querySelectorAll(".blogMobile__card");
blogCards.forEach((blogCard, x) => {
  var div = document.createElement("div");
  div.classList.add("blogSlider__button");
  if (x == 0) div.classList.add("blogBtnSliderSelected");
  div.dataset.slide = x;
  blogSliderControls.appendChild(div);
});

const blogButtons = document.querySelectorAll(".blogSlider__button");
blogButtons.forEach((btn) => {
  btn.addEventListener("click", (e) => blogHandleClick({ e }));
});

function blogHandleClick({ e }) {
  cleanBlogButtons();

  let id = e.target.dataset.slide;
  blogButtons[id].classList.add("blogBtnSliderSelected");

  blogPosition = id;

  let margin = 0;
  for (var i = 0; i < id; i++) {
    margin += blogCards[i].offsetWidth + blogMarginCard;
  }
  blogSliderList.style.marginLeft = "-" + margin + "px";
}

function cleanBlogButtons() {
  blogButtons.forEach((btn) => {
    btn.classList.remove("blogBtnSliderSelected");
  });
}

window.addEventListener("load", () => {
  setInterval(() => {
    const isMobile = window.matchMedia("(max-width: 768px)").matches;
    if (isMobile) {
      blogPosition >= blogCards.length - 1
        ? (blogPosition = 0)
        : blogPosition++;
    } else {
      blogSliderList.style.marginLeft = "0";
    }
    blogButtons[blogPosition].click();
  }, blogSliderTime);
});

var blogPosts = document.querySelectorAll(".blogPosts__card");
attachBlogClick(blogPosts);

var blogPostsMob = document.querySelectorAll(".blogMobile__card");
attachBlogClick(blogPostsMob);

function attachBlogClick(posts) {
    posts.forEach((post) => {
        post.addEventListener("click", () => {
            var blogLinkTag = post.querySelector(".blogLink");
            if(blogLinkTag) {
                window.location.href = blogLinkTag.href;
            }
        });
        post.addEventListener("keypress", (event) => {
            if (event.key === "Enter") {
                event.preventDefault();
                var blogLinkTag = post.querySelector(".blogLink");
                if(blogLinkTag) {
                    window.location.href = blogLinkTag.href;
                }
            }
            
        });
    });
}

*/

///////////////////
// NATIONAL FOOTER MODULE

const footerAccordions = document.querySelectorAll(".navfooter__item__container");
footerAccordions.forEach((footerAccordion) => {
  footerAccordion.addEventListener("click", openElement);
});

function openElement(e) {
  const elementMenu = document.getElementById(e.target.dataset.id);
  const elementArrow = document.getElementById(e.target.dataset.arrow);
  elementMenu.classList.toggle("activeFooter");
  elementArrow.classList.toggle("arrowFooter");
}
