// The main menu order for this site. Edit this if the main menu order needs to change
var menuOrder = new Array("Safety", "Disasters", "Emergencies", "Get Involved");

var subMenuOrder;
var subMenuOrders = new Array();						  						  
// e.g.
//subMenuOrders["Safety"] = new Array("Child", "Community", "Farm", "Fire");


function Menu(url, text, subMenus)
{
	this.url = url || "";
	this.text = text || "";
	this.subMenus = subMenus || new Array();
}
Menu.prototype.toString = menuToString;
Menu.prototype.toSideMenuString = menuToSideMenuString;


function addMenu(menus, menu)
{
	menus[menus.length] = menu;
}


function menuToString()
{
	var context = "/";
	if (location.pathname.match(/^.*(\/dev\/).*$/))
	{
		context = "/dev/";
	}
	var menuString = '<li><a href="' + context + this.url + '" title="' + this.text + '">' + this.text + '</a>';
	// Uncomment the following block to turn on drop down menus
	/*
	if (subMenuOrders[this.text])
	{
		subMenuOrder = subMenuOrders[this.text];
		this.subMenus.sort(sortSubMenus);
	}
	else 
	{
		this.subMenus.sort(sortMenusAlpha);
	}
		
	
	if (this.subMenus.length > 0)
	{
		menuString += '<ul>';
		for (var i = 0; i < this.subMenus.length; i++)
		{
			menuString += this.subMenus[i].toString();
		}
		menuString += '</ul>';
	}
	*/
	menuString += '</li>';
	
	return menuString;
}

var menuId = 1;

function menuToSideMenuString()
{
	var menuString = '<li><a href="' + this.url + '" title="' + this.text + '">' + this.text + '</a>';
	
	if (subMenuOrders[this.text])
	{
		subMenuOrder = subMenuOrders[this.text];
		this.subMenus.sort(sortSubMenus);
	}
	else 
	{
		this.subMenus.sort(sortMenusAlpha);
	}	
	
	if (this.subMenus.length > 0)
	{
		menuString += '<ul id="xc' + menuId + '">';
		for (var i = 0; i < this.subMenus.length; i++)
		{
			menuString += this.subMenus[i].toSideMenuString();
		}
		menuString += '</ul>';
		menuId++;
	}
	menuString += '</li>';
	return menuString;
}

function printHeaderMenu(menus)
{
	var menuString = '<ul id="udm" class="udm">';
	menus.sort(sortMenus);
	for (var i = 0; i < menus.length; i++)
	{
		menuString += menus[i].toString();
	}	
	menuString += '</ul>';
	document.write(menuString);
}




function printSideMenu(menus)
{
	if (menuGroup == '')
	{
		menuGroup = "Home";
		menus.sort(sortMenus);	
	} else  {
		menuGroup = menuGroup.replace(/_/g, ' ');
		if (subMenuOrders[menuGroup])
		{
			subMenuOrder = subMenuOrders[menuGroup];
			menus.sort(sortSubMenus);
		}
		else 
		{
			menus.sort(sortMenusAlpha);
		}			
	}
	var menuString = '<h2>' + menuGroup + '</h2><ul id="nav2xc">';
	
	for (var i = 0; i < menus.length; i++)
	{
		menuString += menus[i].toSideMenuString();
	}	
	menuString += '</ul>';
	document.write(menuString);
	setHeaderImage();
	
}

function sortMenusAlpha(a,b) {
	if (a.text < b.text)
		return -1;
	else if (a.text > b.text) 
		return 1;
	else	
		return 0;		
}

function sortMenus(a,b) {
	var aPosition = menuOrder.length;
	var bPosition = menuOrder.length;
	for (var i = 0; i < menuOrder.length; i++)
	{
		if (a.text == menuOrder[i])
		{
			aPosition = i;			
		}
		if (b.text == menuOrder[i])
		{
			bPosition = i;	
		}
	}	
    return aPosition - bPosition;
}

function sortSubMenus(a,b) {
	var aPosition = subMenuOrder.length;
	var bPosition = subMenuOrder.length;
	for (var i = 0; i < subMenuOrder.length; i++)
	{
		if (a.text == subMenuOrder[i])
		{
			aPosition = i;			
		}
		if (b.text == subMenuOrder[i])
		{
			bPosition = i;	
		}
	}
    return aPosition - bPosition;
}

function setHeaderImage() {
	var alternateHeaderPaths = /^(.*\/)(Emergencies|Disasters|Get_Involved|Farm|Road|Water|Child)\/.*$/;
	if (location.pathname.match(alternateHeaderPaths))
	{
		var match = location.pathname.match(alternateHeaderPaths);
		var alternatePath = location.protocol + "//" + location.host + match[1] + match[2];
		var headerStyles = "<style type='text/css'>\n";
		headerStyles += "#header { background-image:url(" + alternatePath + "/mainHeadImage.jpg) !important; } \n";
		headerStyles += "#banner { background:url(" + alternatePath + "/banner.jpg) no-repeat left !important; background-color:#006fa7; } \n";
		headerStyles += "</style>";
		document.write(headerStyles);
	}
}


