var SecondaryMenuGap = "&nbsp;&nbsp;&nbsp;";
var LeftSecondaryLinkHTML = "&larr; туда";
var RightSecondaryLinkHTML = "сюда &rarr;";

var TopMenuDivId = "mainMenu";
var BottomMenuDivId = "bottomMenu";

var YearClassName = "year";
var ActiveMenuClassName = "menuActive";

var HtmlFileExtension = ".htm";

function RenderPrimaryMenu()
{
	var activeDataEntryIndex = -1;
	var primaryMenuDivObject = document.getElementById(TopMenuDivId);
	
	if (primaryMenuDivObject != undefined)
	{
		var i, j;
		var numberOfYears = TripsByYear.length;
		var urlHasHtmlExtension = (document.location.href.indexOf(HtmlFileExtension) > 0);

		var primaryMenuLiElement;
		var primaryMenuUlElement = document.createElement("ul");
				
		var numberOfEntries;
		
		for (i = numberOfYears - 1; i >= 0; i --)
		{
			numberOfEntries = TripsByYear[i].entries.length;

			primaryMenuLiElement = document.createElement("li");
			primaryMenuLiElement.appendChild(CreateDivObject(TripsByYear[i].label, YearClassName));
			primaryMenuUlElement.appendChild(primaryMenuLiElement);
			
			for (j = numberOfEntries - 1; j >= 0; j --)
			{
				primaryMenuLiElement = document.createElement("li");

				/** If menu item is active */
				if ((urlHasHtmlExtension == false && TripsByYear[i].entries[j] == DefaultDataItem) || document.location.href.indexOf(Data[TripsByYear[i].entries[j]].url) > 0)
				{
					activeDataEntryIndex = TripsByYear[i].entries[j];
					primaryMenuLiElement.appendChild(CreateSpanObject(Data[TripsByYear[i].entries[j]].label, ActiveMenuClassName));
				}
				else
				{
					primaryMenuLiElement.appendChild(CreateHyperlinkObject(Data[TripsByYear[i].entries[j]].url, Data[TripsByYear[i].entries[j]].label));
				}
			
				primaryMenuUlElement.appendChild(primaryMenuLiElement);
			}
		}

		primaryMenuDivObject.appendChild(primaryMenuUlElement);
	}
	
	return activeDataEntryIndex;
}	
	
function RenderSecondaryMenu(activeDataEntryIndex)
{
	var secondaryMenuDivObject = document.getElementById(BottomMenuDivId);
	var dataLength = Data.length;
	
	if (secondaryMenuDivObject != undefined && dataLength > 1)
	{
		var secondaryMenuLinkObject;
		var nextDataEntryIndex = activeDataEntryIndex + 1;
		var prevDataEntryIndex = activeDataEntryIndex - 1;
		
		if (nextDataEntryIndex >= dataLength)
		{
			secondaryMenuLinkObject = CreateHyperlinkObject(Data[prevDataEntryIndex].url);
			secondaryMenuLinkObject.innerHTML = LeftSecondaryLinkHTML;
			secondaryMenuDivObject.appendChild(secondaryMenuLinkObject);
		}
		else if (prevDataEntryIndex < 0)
		{
			secondaryMenuLinkObject = CreateHyperlinkObject(Data[nextDataEntryIndex].url);
			secondaryMenuLinkObject.innerHTML = RightSecondaryLinkHTML;
			secondaryMenuDivObject.appendChild(secondaryMenuLinkObject);
		}
		else
		{
			secondaryMenuLinkObject = CreateHyperlinkObject(Data[prevDataEntryIndex].url);
			secondaryMenuLinkObject.innerHTML = LeftSecondaryLinkHTML;
			secondaryMenuDivObject.appendChild(secondaryMenuLinkObject);
			
			secondaryMenuDivObject.appendChild(CreateSpanObject(SecondaryMenuGap));
			
			secondaryMenuLinkObject = CreateHyperlinkObject(Data[nextDataEntryIndex].url);
			secondaryMenuLinkObject.innerHTML = RightSecondaryLinkHTML;
			secondaryMenuDivObject.appendChild(secondaryMenuLinkObject);
		}
	}
}

function CreateHyperlinkObject(address, innerHTML, className)
{
	var hyperlinkElement = document.createElement("a");
	hyperlinkElement.setAttribute("href", address);

	if (innerHTML != undefined && innerHTML != "")
		hyperlinkElement.innerHTML = innerHTML;

	if (className != undefined && className != "")
	{
		hyperlinkElement.setAttribute("class", className);
		hyperlinkElement.setAttribute("className", className);
	}

	return hyperlinkElement;
}

function CreateSpanObject(innerHTML, className)
{
	var spanElement = document.createElement("span");
	spanElement.innerHTML = innerHTML;

	if (className != undefined && className != "")
	{
		spanElement.setAttribute("class", className);
		spanElement.setAttribute("className", className);
	}

	return spanElement;
}

function CreateDivObject(innerHTML, className)
{
	var divElement = document.createElement("div");
	divElement.innerHTML = innerHTML;

	if (className != undefined && className != "")
	{
		divElement.setAttribute("class", className);
		divElement.setAttribute("className", className);
	}

	return divElement;
}

//window.onload = function()
function RenderMenus()
{
	var activeDataEntryIndex = RenderPrimaryMenu();
	RenderSecondaryMenu(activeDataEntryIndex);
}
