var ea = {};

ea.BlockPager = function (pager) {
	
	var selectedIndex = 0;
	var blocks = pager.getElementsByTagName("li");
	var blockCount = blocks.length;
	
	var nextBtn = alchemy.selectElement(".BlockPager-next", pager);
	var prevBtn = alchemy.selectElement(".BlockPager-prev", pager);
	var counter = alchemy.selectElement(".BlockPager-counter", pager);
	
	function selectBlock(index) {
		
		// Wrap the selected index around the edges
		if (index >= blockCount) index = 0;
		else if (index < 0) index = blockCount - 1;
		
		// Hide the currently visible block
		blocks[selectedIndex].style.display = "none";
		
		// Select the new block
		selectedIndex = index;
		blocks[selectedIndex].style.display = "block";
		updateCounter();
	}

	// Update the counter
	function updateCounter() {
		counter.innerHTML = (selectedIndex + 1) + " / " + blockCount;
	}

	nextBtn.onclick = function () {	selectBlock(selectedIndex + 1); }
	prevBtn.onclick = function () { selectBlock(selectedIndex - 1); }
	
	// Hide all blocks beyond the first one
	for (var i = 0; i < blocks.length; i++) {
		blocks[i].style.display = (i == 0 ? "block" : "none");
	}

	pager.className += " BlockPager-scripted";
	updateCounter();
}

alchemy.bind(".BlockPager", ea.BlockPager);
