﻿var ListBrowser = function(element)
{
	var list = [];
	var links = [];
	var activeLink = null;
	var index = 0;

	var initialize = function()
	{
		element = (typeof(element) == "string") ? document.getElementById(element) : element;
	};

	var setList = function(l)
	{
		list = l;
		links = [];
		activeLink = null;
		index = 0;
		
		while(element.hasChildNodes())
			element.removeChild(element.firstChild);
		
		for(var i=0; i<list.length; i++)
		{
			if(i > 0)
				element.appendChild(document.createTextNode(" | "));
		
			var link = document.createElement("a");
			link.onclick = function(link, item, idx) { 
				return function() 
				{ 
					if(activeLink)
						activeLink.className = "";
					
					link.className = "active"; 
					activeLink = link;
					
					index = idx;
					
					if(pub.onclick) 
						pub.onclick(item); 
				}; 
			}(link, list[i], i);
			
			link.href = "javascript: void(0);";
			
			link.appendChild(document.createTextNode(i+1));
			element.appendChild(link);
			
			links.push(link);
		};
	};
	
	var gotoFirst = function()
	{
		if(links.length > 0)
		{
			index = 0;
			links[index].onclick();
		}
	};
	
	var gotoNext = function()
	{
		index++;
		
		if(index >= links.length)
			index = 0;
			
		links[index].onclick();
	};

	var pub = {
		setList : setList,
		gotoFirst : gotoFirst,
		gotoNext : gotoNext,
		onclick : null
	};
	
	initialize();
	
	return pub;
};
