
function site_map()
{

	this.m_ClassName  = 'site_map';
	
	this.m_ShowHome   = false;
	this.m_ShowFocus  = false;	
	
	this.m_NavPath    = g_navNode_Path;
		
	site_map.prototype.Display = site_map_Display;
	site_map.prototype.DisplayNode = site_map_DisplayNode;
	
}

function site_map_Display (node)
{
	document.write ('<div class="' + this.m_ClassName + '"');
	
	if (this.m_TextColor != '')
		document.write (' style="color: ' + this.m_TextColor + ';"');
		
	document.write ('>');

	this.DisplayNode(node);
	
	document.write ('</div>');
}

function site_map_DisplayNode(node)	
{
	var nodeClass = this.m_ClassName;
	var nodeLevel = node.m_level;
	if (nodeLevel > 6)
		nodeLevel = 6;

	if (node.m_level > 0 || this.m_ShowHome)
	{
		var ds = new Array();
		var di = 0;

		if (this.m_ShowFocus && this.m_NavPath.length > 0 && node.m_level < this.m_NavPath.length)
		{
			if (this.m_NavPath[node.m_level] == node.m_id)
			{
				if (node.m_level > 0 || (node.m_level == 0 && this.m_NavPath.length == 1))
				{
					bSelected = true;
					nodeColor = this.m_FocusColor;
					nodeClass += '-focus';
				}
			}
		}
	
		if (node.m_level > 0)
			nodeClass += '-' + nodeLevel;
		if (node.m_level < 4)
		{
		if (nodeLevel == 1)
		ds[di++] = '<br>';
		ds[di++] = '<div';
		ds[di++] = ' class="' + nodeClass + '"';
		ds[di++] = '>';
				
		ds[di++] = '<a href="' + node.m_href + '"';
		
		ds[di++] = ' class="' + nodeClass + '"';
		ds[di++] = '>'
		ds[di++] = node.m_label;
		ds[di++] = '</a></div>';
		if (nodeLevel == 1)
		ds[di++] = '<br>';
		
		document.write(ds.join(''));
		}
	}
	
	// expand sub-levels (if any)
	for (var i = 0; i < node.m_subNodes.length; i++)
	{
		this.DisplayNode(node.m_subNodes[i]);
	}
}


