var selectedTab = 0

/**
 * @param {number} idx
 */
function selectTab(idx) {
	var tabs = document.querySelectorAll('.tabs h3')
	var tabViews = document.querySelectorAll('.tab-view')
	if (tabs.length > 0) {
		tabs.forEach(function (tab, tIdx) {
			if (idx == tIdx) {
				return
			}

			tab.classList.remove('selected')
			tabViews[tIdx].classList.add('hidden')
		})
		tabs[idx].classList.add('selected')
		tabViews[idx].classList.remove('hidden')
	}
}

/**
 * @param {number} offset
 */
function tabNav(offset) {
	var items = document.querySelectorAll('.tab-view')

	selectedTab += offset
	if (selectedTab < 0) {
		selectedTab += items.length
	}
	if (selectedTab >= items.length) {
		selectedTab -= items.length
	}
	selectTab(selectedTab)
}

function handleTabKeyDown(e) {
	switch (e.key) {
		case 'ArrowLeft':
			e.preventDefault()
			e.stopPropagation()
			tabNav(-1)
			break
		case 'ArrowRight':
			e.preventDefault()
			e.stopPropagation()
			tabNav(1)
			break
	}
}

window.addEventListener('load', function (e) {
	// Select first item
	selectTab(selectedTab)
	// Add onclick
	document.querySelectorAll('.tabs h3').forEach(function (tab, tIdx) {
		tab.addEventListener('click', function (e) {
			selectedTab = tIdx
			selectTab(selectedTab)
		})
	})

	document.body.addEventListener('keydown', handleTabKeyDown)
})