// JavaScript Document

function getObject(objectId) 
{    
	// cross-browser function to get an object given its id  
	if(document.getElementById && document.getElementById(objectId)) 
	{
		// W3C DOM
		return document.getElementById(objectId);
	} 
	else if (document.all && document.all(objectId))
	{
		// MSIE 4 DOM
		return document.all(objectId);
	} 
	else if (document.layers && document.layers[objectId]) 
	{
		// NN 4 DOM.. note: this won't find nested layers
		return document.layers[objectId];
	} 
	else 
	{ return false; }
} // getObject

function getStyleObject(objectId) 
{    
	// cross-browser function to get an object's style object given its id  
	if(document.getElementById && document.getElementById(objectId)) 
	{
		// W3C DOM
		return document.getElementById(objectId).style;
	} 
	else if (document.all && document.all(objectId))
	{
		// MSIE 4 DOM
		return document.all(objectId).style;
	} 
	else if (document.layers && document.layers[objectId]) 
	{
		// NN 4 DOM.. note: this won't find nested layers
		return document.layers[objectId];
	} 
	else 
	{ return false; }
} // getStyleObject


function displayContent(ObjectID, NewStyle)
{
	// get a reference to the cross-browser style object and make sure the object exists
	var styleObject = getStyleObject(ObjectID);

	if(styleObject) 
	{
		styleObject.display = NewStyle;
		return true;
	}
	else
	{
		// we couldn't find the object, so we can't change its display style
		return false;
	}
}

function openFirstLevel(col1id)
{
	if (col1selected != col1id)
	{
		if (col1selected != '')
		{ 
			displayContent(col1selected, 'none'); 
		
			// clear all second levels
			if (menustructure[col1selected])
			{
				for (i = 0; i < menustructure[col1selected].options.length; i ++)
				{ displayContent(menustructure[col1selected].options[i], 'none'); }
			}
		}
	
		// select new layer	
		displayContent(col1id, '');
		col1selected = col1id;	
	}	
}

function openSecondLevel(col2id)
{
	if (col2selected != col2id)
	{
		if (col1selected != '')
		{ displayContent(col2selected, 'none'); }
	
		// select new layer
		displayContent(col2id, '');
		col2selected = col2id;
	}
}

function highlight(objectID, level, setting)
{
	var onName, offName;
	if (setting == 'off')
	{
		onName = classNormal;
		offName = classSelected;
	}
	else
	{
		onName = classSelected;
		offName = classNormal;
	}

	if (level == 1)
	{
		if (objectID != level1highlighted)
		{ 
			getObject(objectID).className = onName;
			if (setting == 'click')
			{
				if (getObject(level1highlighted))
				{ getObject(level1highlighted).className = offName; }
				
				level1highlighted = objectID; 
			}
		}
	}
	
	if (level == 2)
	{
		if (objectID != level2highlighted)
		{ 
			getObject(objectID).className = onName;
			if (setting == 'click')
			{
				if (getObject(level2highlighted))
				{ getObject(level2highlighted).className = offName; }
				
				level2highlighted = objectID; 
			}
		}
	}
	
	if (level == 3)
	{
		if (objectID != level3highlighted)
		{ 
			getObject(objectID).className = onName;
			if (setting == 'click')
			{
				if (getObject(level3highlighted))
				{ getObject(level3highlighted).className = offName; }
				
				level3highlighted = objectID; 
			}
		}
	}
}

function setInitialState(col1sel, col2sel, level1hi, level2hi, level3hi)
{
	openFirstLevel(col1sel);
	openSecondLevel(col2sel);
	highlight(level1hi, 1, 'click');
	highlight(level2hi, 2, 'click');
	highlight(level3hi, 3, 'click');
}

var classSelected = 'MNlinkOn';
var classNormal = 'MNlink';

var menustructure = new Object();
menustructure['MAA_01'] = new Object();
menustructure['MAA_01'].options = new Array();
menustructure['MAA_02'] = new Object();
menustructure['MAA_02'].options = new Array('MAA_02_01', 'MAA_02_02', 'MAA_02_03');
menustructure['MAA_03'] = new Object();
menustructure['MAA_03'].options = new Array('MAA_03_01', 'MAA_03_02', 'MAA_03_03');