//----------------------------------------
// Skoda-Auto.CZ Menu Script  11.05.2004
// 
// [Petr Urban] petr.urban1@skoda-auto.cz
// S K O D A   A U T O   a . s .
//----------------------------------------

//default global value
left_defaultItemLevelOneStyle = [];
left_defaultItemLevelOneUrl = [];
left_defaultItemLevelSecondStyle = [];
left_defaultItemLevelSecondUrl = [];

//Main function
function SkodaMenuLeft(menuItems, menuName, divname)
{
	//default values for first item level
	left_defaultItemLevelOneStyle = menuItems[0].itemStyle;
	left_defaultItemLevelOneUrl = menuItems[0].itemUrl;

	//creating element for printing tags
	element = document.createElement("Span");
	element.id = menuName;

	//opened item
	itemOpened = "";
	itemOpenedStyle = [];
	//loop for menuItems.length items
	// : create new menuItem
	stringHtmlTags = "";
	i = 1;
	for (i; i < menuItems.length; i++)
	{
		//setting other values for current item
		currentItemName = (menuItems[i].itemName == null) ? "undefined" : menuItems[i].itemName;
		currentItemStyle = (menuItems[i].itemStyle == null) ? left_defaultItemLevelOneStyle : menuItems[i].itemStyle;
		currentItemUrl = (menuItems[i].itemUrl == null) ? left_defaultItemLevelOneUrl : menuItems[i].itemUrl;
		currentItemDescription = (menuItems[i].itemDescription == null) ? "" : menuItems[i].itemDescription;
		currentItemSubMenu = (menuItems[i].itemSubMenu == null) ? null : menuItems[i].itemSubMenu;
		
		//is menu opened?
		if (menuItems[i].itemOpen != null)
		{
			itemOpened = i;
			itemOpenedStyle = (menuItems[i].itemStyle == null) ? left_defaultItemLevelOneStyle : menuItems[i].itemStyle;
		}

		//string with html tags
		stringHtmlTags += SkodaMenuLeftItem(i, currentItemName, currentItemStyle, currentItemUrl, currentItemDescription, currentItemSubMenu, menuName, menuItems.length);
	}

	//writing html tags into element and writing to document
	element.innerHTML = stringHtmlTags;
	//joining element with body element
	document.getElementById(divname).appendChild(element);
	//open menu
	if (itemOpened != "") {FirstOpen(itemOpened, menuName, itemOpenedStyle[1]);}
}

//Definition for one first level item
function SkodaMenuLeftItem(itemLevelOneId, itemName, itemStyle, itemUrl, itemDescription, itemSubMenu, menuName, menuLength)
{
	//number of members menu second level
	subMenuItemLength = (itemSubMenu == null)? 0 : itemSubMenu.length;
	//event onClick ( go on url or nothing)
	if (subMenuItemLength > 0)
	{
		actionOnClick = ' onclick="ShowHideSubMenuLeft(' + menuLength + ', ' + itemLevelOneId + ', \'' + menuName + '\',\'' + itemStyle[0] + '\',\'' + itemStyle[1] + '\');"';
	}
	else
	{
		actionOnClick = (itemUrl == "none") ? '' : ' onclick="location.href=\'' + itemUrl + '\';"';
	}
	//text in status bar
	actionStatusBar = (itemDescription == "") ? '' : ' self.status = \'' + itemDescription + '\';';
	//creating output string
	outputStringHtmlTags = "";
	outputStringHtmlTags += '<div id="levelOne_' + itemLevelOneId + '_' + menuName + '" class="' + itemStyle[0];
	outputStringHtmlTags += '" onmouseover="' + actionStatusBar + '" ';
	//outputStringHtmlTags += '" onmouseover="ShowHideSubMenuLeft(\'block\',' +  itemLevelOneId + ', \'' + menuName + '\'); this.className=\'' + itemStyle[1] + '\'; ' + actionStatusBar + '" onmouseout="this.className=\'' + itemStyle[0] + '\'; ShowHideSubMenuLeft(\'none\',' +  itemLevelOneId + ', \'' + menuName + '\');"';
	outputStringHtmlTags += actionOnClick + '>' + itemName + '</div>';
	if (subMenuItemLength > 0) outputStringHtmlTags += SkodaSubMenuLeftItem(itemLevelOneId, itemStyle, itemSubMenu, menuName);
	return outputStringHtmlTags;
}

//Definition for second level items
function SkodaSubMenuLeftItem(itemLevelOneId, itemLevelOneStyle, subMenuItems, menuName)
{
	//default values for second item level
	//pokud to bude hazet chybu = musi se vytvorit kanaly a subkanaly v CMS (1. a 2. uroven navigace)
	defaultItemLevelSecondStyle = subMenuItems[0].itemStyle;
	defaultItemLevelSecondUrl = subMenuItems[0].itemUrl;
	defaultItemLevelSecondUrlTarget = "_self";

	//creating table 
	stringSubMenuHtmlTags = "";
	stringSubMenuHtmlTags += '<div id="levelSecond_' + itemLevelOneId + '_' + menuName + '" style="display: none;" >';
	j = 1;
	for (j; j < subMenuItems.length; j++)
	{
		//setting other values for current item
		itemSubMenuName = (subMenuItems[j].itemName == null) ? "undefined" : subMenuItems[j].itemName;
		itemSubMenuStyle = (subMenuItems[j].itemStyle == null) ? defaultItemLevelSecondStyle : subMenuItems[j].itemStyle;
		itemSubMenuUrl = (subMenuItems[j].itemUrl == null) ? defaultItemLevelSecondUrl : subMenuItems[j].itemUrl;
		itemSubMenuUrlTarget = (subMenuItems[j].itemTarget == null) ? defaultItemLevelSecondUrlTarget : subMenuItems[j].itemTarget;
		itemSubMenuDescription = (subMenuItems[j].itemDescription == null) ? "" : subMenuItems[j].itemDescription;
		//event onClick ( go on url or nothing)
		if (itemSubMenuUrlTarget == defaultItemLevelSecondUrlTarget)
		{
			actionSubMenuOnClick = (itemSubMenuUrl == "none") ? '' : ' onclick="location.href=\'' + itemSubMenuUrl + '\';"';
		}
		else
		{
			itemLinkBegin = '<a href=\'' + itemSubMenuUrl + '\' target=\'' + itemSubMenuUrlTarget + '\'>';
			itemLinkEnd =  '</a>';
		}
		//text in status bar
		actionSubMenuStatusBar = (itemSubMenuDescription == "") ? '' : ' self.status = \'' + itemSubMenuDescription + '\';';

		//string with html tags
		if (itemSubMenuUrlTarget == defaultItemLevelSecondUrlTarget)
		{
			stringSubMenuHtmlTags += '<div class="' + itemSubMenuStyle[0] + '" onmouseover="this.className=\'' + itemSubMenuStyle[1] + '\'; ' + actionSubMenuStatusBar + '" onmouseout="this.className=\'' + itemSubMenuStyle[0] + '\';"' + actionSubMenuOnClick + '>' + itemSubMenuName + '</div>';
		}
		else
		{
			stringSubMenuHtmlTags += itemLinkBegin + '<div class="' + itemSubMenuStyle[0] + '" onmouseover="this.className=\'' + itemSubMenuStyle[1] + '\'; ' + actionSubMenuStatusBar + '" onmouseout="this.className=\'' + itemSubMenuStyle[0] + '\';">' + itemSubMenuName + '</div>' + itemLinkEnd;
		}
	}
	
	stringSubMenuHtmlTags += '</div>';
	return stringSubMenuHtmlTags;
}

//function for show and hide menu items
function ShowHideSubMenuLeft(menuLength, itemLevelOneId, menuName, itemStyleClose, itemStyleOpen)
{
	//close all submenus
	for (i = 1; i < menuLength; i++)
	{
		if (i != itemLevelOneId && document.getElementById('levelSecond_' + i + '_' + menuName) != null)
			document.getElementById('levelSecond_' + i + '_' + menuName).style.display = 'none';	
		if (document.getElementById('levelOne_' + i + '_' + menuName) != null)
			document.getElementById('levelOne_' + i + '_' + menuName).className = itemStyleClose;
	}
	//open actual submenu
	if (document.getElementById('levelSecond_' + itemLevelOneId + '_' + menuName) != null)
	{
		if (document.getElementById('levelSecond_' + itemLevelOneId + '_' + menuName).style.display == 'none')
		{
			document.getElementById('levelOne_' + itemLevelOneId + '_' + menuName).className = itemStyleOpen;
			document.getElementById('levelSecond_' + itemLevelOneId + '_' + menuName).style.display = 'block';
		}
		else
		{
			document.getElementById('levelOne_' + itemLevelOneId + '_' + menuName).className = itemStyleClose;
			document.getElementById('levelSecond_' + itemLevelOneId + '_' + menuName).style.display = 'none';
		}
	}
}

function FirstOpen(itemLevelOneId, menuName, itemStyleOpen)
{
	document.getElementById('levelOne_' + itemLevelOneId + '_' + menuName).className = itemStyleOpen;
	document.getElementById('levelSecond_' + itemLevelOneId + '_' + menuName).style.display = 'block';
}

//--------------------------------------
// end of script
//--------------------------------------