var menuItems = ["portraits", "weddings", "art", "events", "profile", "resources", "contact"];
var menuHeadings = ["Portraits", "Weddings", "Art", "Events", "Profile", "Resources", "Contact"];
var prefix = '../';

var menu = [
	{
	id: "portraits",
	items: [
		{title: "Family", link: "javascript:;"},
		{title: "Children", link: "javascript:;"},
		{title: "Mother & Baby", link: "motherBaby"},
		{title: "Client Galleries", link: "http://www.onlinepictureproof.com/JohnPraterPhotography/albums/portraits/"}
		],
	subNav: [
		[
			{title: "Studio", link: "familyStudio"},
			{title: "Location", link: "familyLocation"}
		],
		[
			{title: "Studio", link: "childrenStudio"},
			{title: "Location", link: "childrenLocation"}
		]
		]
	},
	{
	id: "weddings",
	items: [
		{title: "Wedding Day Gold", link: "weddingsGold", itemClass: "largerItem"},
		{title: "Wedding Day Silver", link: "weddingsSilver", itemClass: "largerItem"},
		{title: "Civil Wedding", link: "weddingsCivil", itemClass: "largerItem"},
		{title: "Client Galleries", link: "http://www.onlinepictureproof.com/JohnPraterPhotography/albums/weddings/", itemClass: "largerItem"}
		],
	subNav: []
	},
	{
	id: "art",
	items: [
		{title: "Fine Art", link: "fineArt"},
		{title: "Galleries", link: "http://www.onlinepictureproof.com/JohnPraterPhotography/albums/art/"}
		],
	subNav: []
	},
	{
	id: "events",
	items: [
		{title: "Dinner Dance", link: "dinner"},
		{title: "School Prom", link: "promGraduation"},
		{title: "Graduation Ball", link: "promGraduation"},
		{title: "Event Galleries", link: "http://www.onlinepictureproof.com/JohnPraterPhotography/albums/events/"}
		],
	subNav: []
	},
	{
	id: "profile",
	items: [
		{title: "John Prater", link: "index"}
		],
	subNav: []
	},
	{
	id: "resources",
	items: [
		{title: "Resources", link: "resources"}
		],
	subNav: []
	},
	{
	id: "contact",
	items: [
		{title: "Contact Details", link: "details"},
		{title: "Enquiry Form", link: "enquiry"}
		],
	subNav: []
	}
];

function buildMenu (pIndexPage) {
	if (pIndexPage) prefix = '';
	addButtons();
	addContainers();
}
function addButtons () {
	for (var loop = 0; loop < menuItems.length; loop++) {
		var item = addItemButton(menuItems[loop]);
		var shadow = addHeading(menuHeadings[loop], "shadow");
		var heading = addHeading(menuHeadings[loop]);
		item += (shadow + heading + "</div>");
		document.write(item);
	}
}

function addItemButton (pItem) {
	var item = '<div ';
	item += 'class="button ' + pItem + '" ';
	item += 'onmouseout="startTimeout(500)" ';
	var showMenu = '\'' + pItem + 'Container\', \'' + pItem + 'Menu\'';
	item += 'onmouseover="showMenu(' + showMenu + ')" ';
	return (item + '>');
}

function addHeading (pHeading, pClass) {
	if (!pClass) pClass = "main";
	var heading = '<span ';
	heading += 'class="menuHeading ' + pClass + '">';
	heading += pHeading + '</span>';
	return heading;
}
function addContainers () {
	for (var loop = 0; loop < menu.length; loop++) addContainer(menu[loop]);
}
function addContainer (pItem) {
	var id = pItem.id;
	var container = '<div id="' + id + 'Container" class="menuContainer ' + id + '">';
	container += addItems(id, pItem.items, pItem.subNav);
	if (pItem.subNav.length > 0) container += addSubNav(id, pItem.subNav);
	container += '</div>';
	document.write(container);
}
function addItems (pId, pItems, pSubNav) {
	var div = '<div id="' + pId + 'Menu" class="menu" onmouseout="startTimeout(500)">';
	for (var loop = 0; loop < pItems.length; loop++) {
		div += addItem(pId, pItems[loop], loop + 1, (pSubNav[loop] != undefined));
	}
	div += '</div>';
	return div;
}
function addItem (pId, pItem, pIndex, pSubNav) {
	var link = pItem.link;
	if (link.indexOf("javascript") != -1) link = prefix + pId + '/' + link + '.html';
	var item = '<a href="';
	if (link.indexOf("http://") != -1) {
		item += pItem.link;
		item += '" target="_blank';
	} else if (pItem.link.indexOf("javascript") != -1) {
		item += pItem.link;
	} else if (pItem.link == 'index') {
		item += prefix + pItem.link + '.html';
	} else {
		item += prefix + pId + '/' + pItem.link + '.html';
	}
	item += '" class="' + (pItem.itemClass ? pItem.itemClass : "item") + ' pos' + pIndex;
	item += '" onmouseover="overMenuItem(\'' + pId + 'Menu\'';
	if (pSubNav) item += ', \'' + pIndex + '\'';
	item += ')">';
	item += '<span>' + pItem.title + '</span>';
	item += '</a>';
	return item;
}

function addSubNav (pId, pSubNav) {
	var subnav = '';
	for (var loop = 0; loop < pSubNav.length; loop++) subnav += addSubMenu(pId, pSubNav[loop], loop + 1);
	return subnav;
}
function addSubMenu (pId, pSubItems, pIndex) {
	var id = pId + 'Menu_' + pIndex;
	var item = '<div id="' + id;
	item += '" class="subStyle pos' + pIndex;
	item += '" onmouseout="startTimeout(500)"';
	item += ' onmouseover="overMenuItem(\'' + id + '\')">';
	item += addSubItems(pId, pSubItems);
	return (item + '</div>');
}
function addSubItems (pId, pSubItems) {
	var items = '';
	for (var loop = 0; loop < pSubItems.length; loop++) items += addSubItem(pId, pSubItems[loop], loop + 1);
	return items;
}
function addSubItem (pId, pItem, pIndex, pSubNav) {
	var link = pItem.link;
	if (link.indexOf("javascript") != -1) link = prefix + pId + '/' + link + '.html';
	var item = '<a href="';
	if (pItem.link.indexOf("javascript") != -1) {
		item += pItem.link;
	} else {
		item += prefix + pId + '/' + pItem.link + '.html';
	}
	item += '" class="item pos' + pIndex + '">';
	item += '<span>' + pItem.title + '</span>';
	return (item + '</a>');
}

