//Variables indeed
var hasNiceBrowser = (document.getElementById != null && document.createElement != null);
var navItems = new Array();
var navPages = new Array();
var maxHeight = 190;

//Object to store properties about each Nav Item
function NavItem(text, path)
{
	this.Text = text;
	this.Path = path;
}

//Object to store properties about each Page of the NavBar
//Each page can and probably will be a different size
function NavPage(startIndex, endIndex)
{
	this.StartIndex = startIndex;
	this.EndIndex = endIndex;
}

//Main function to create the navbar and setup pager controls
function PopulateNavBar(pageIndex)
{
	if (!hasNiceBrowser)
		return;
		
	var navlist = document.getElementById("NavList");
	navlist.innerHTML = "";
	navlist.style.height = '1px';
	
	//allow for first page
	if (pageIndex == -1)
	{
		navPages[0] = new NavPage(0, navItems.length);
		pageIndex = 0;
	}
	
	cumHeight = parseInt(navlist.style.height);
	for(i=navPages[pageIndex].StartIndex; i<navPages[pageIndex].EndIndex; i++)
	{
		if (cumHeight <= maxHeight)
		{
			var dt = document.createElement("dt");
			var link = document.createElement("a");
			link.href = navItems[i].Path;
			link.innerHTML = navItems[i].Text;
			dt.appendChild(link);
			navlist.appendChild(dt);
			cumHeight += parseInt(dt.offsetHeight);
			navlist.style.height = cumHeight + 'px';

			//alert(cumHeight + "::" + dt.height + "::" + navlist.style.height + "::" + navlist.offsetHeight);
		}
		else
		{
			navPages[pageIndex].EndIndex = i;
			break;
		}
	}
	
	PopulatePager(pageIndex);
}

function PopulatePager(pageIndex)
{
	var backlink = document.getElementById("BackLink");
	var nextlink = document.getElementById("NextLink");
	backlink.className ="hidden";
	nextlink.className ="hidden";
	
	//check if pagers actually needed
	if (navPages[pageIndex].StartIndex == 0 && navPages[pageIndex].EndIndex == navItems.length)
		return;
	
	//add new nav page if needed
	if (pageIndex+1 >= navPages.length)
	{
		navPages[pageIndex+1] = new NavPage(navPages[pageIndex].EndIndex, navItems.length);
	}
	
	//add back arrow if needed
	if (navPages[pageIndex].StartIndex > 0)
	{
		backlink.className = "";
		backlink.href = "javascript:PopulateNavBar(" + (pageIndex-1) + ");";
	}
	
	//add forward arrow if needed
	if (navPages[pageIndex].EndIndex < navItems.length)
	{
		nextlink.className ="";
		nextlink.href = "javascript:PopulateNavBar(" + (pageIndex+1) + ");";
	}
	
/*
	//get instance of page and clear it!
	var navpager = document.getElementById("NavPager");
	navpager.innerHTML = "";
		
	//check if pagers actually needed
	if (navPages[pageIndex].StartIndex == 0 && navPages[pageIndex].EndIndex == navItems.length)
	{
		navpager.className ="hidden";
		return;
	}
	
	//add new nav page if needed
	if (pageIndex+1 >= navPages.length)
	{
		navPages[pageIndex+1] = new NavPage(navPages[pageIndex].EndIndex, navItems.length);
	}
	
	//build navigation table
	var navTable = document.createElement("table");
	navTable.cellpadding = 0;
	navTable.cellspacing = 0;
	navTable.border = 1;
	navTable.width = "100%";
	var tableRow = document.createElement("tr")
	
	//add back arrow if needed
	if (navPages[pageIndex].StartIndex > 0)
	{
		var leftCell = document.createElement("td");
		var backlink = document.createElement("a");
		var backarrow = document.createElement("img");
		
		backarrow.src = "images/Generic/arrow_rewind.gif";
		backarrow.alt = "Back";
		backarrow.className = "iconleft";
		
		backlink.href = "javascript:PopulateNavBar(" + (pageIndex-1) + ");";
		
		backlink.appendChild(backarrow);
		leftCell.appendChild(backlink);
		tableRow.appendChild(leftCell);
	}
		
	//add forward arrow if needed
	if (navPages[pageIndex].EndIndex < navItems.length)
	{
		var rightCell = document.createElement("td")
		rightCell.align = "right";
		var forwardlink = document.createElement("a");
		var forwardarrow = document.createElement("img");
		
		forwardarrow.src = "images/Generic/arrow_fastforward.gif";
		forwardarrow.alt = "Next";
		forwardarrow.className = "icon";

		forwardlink.href = "javascript:PopulateNavBar(" + (pageIndex+1) + ");";
		
		forwardlink.appendChild(forwardarrow);
		rightCell.appendChild(forwardlink);
		tableRow.appendChild(rightCell);
	}
	
	//add table to div
	navTable.appendChild(tableRow);
	navpager.appendChild(navTable);
*/
}