/////////////////////////////////////////////////////////////////////////////
// Function : GWL_MainNavigation
// Comments : 
/////////////////////////////////////////////////////////////////////////////

function GWL_MainNavigation(strShowHome, strDivider) {
	
	this.m_ShowHome   		= false;
	this.m_NavPath    		= g_navNode_Path;

	this.m_Divider				= strDivider;
			
	GWL_MainNavigation.prototype.Display = GWL_MainNavigation_Display;
	
	if (strShowHome == "true")
		this.m_ShowHome = true;
}

function GWL_MainNavigation_Display (node) {
	
	var bSelected = false;
		
	var ds = new Array();
	var di = 0;
	var count =  this.m_ShowHome ? -1 : 0;

	var href = "";
	var label = "";
	var nodeID = null;
	var bShowHome = this.m_ShowHome;
	var bFirstNode = false;
	var bLastNode = false;
	var nodeLength = 0;
	var bPrevNodeSelected = true
	
	var counter = 1;  	//counter for stylesheet mainnavwidth id.  (creates the ablility to set each menu with in the stylesheet)
						// this is used in the style sheet to space/display each tab in the main navigation individually.  (id is topnavtab#)
						// would have used the count variable (above) but it may start at -1 or 0 and so might confuse the business user modifying the css.
	
	if ( node == null ) {
		return;
	}
	
	ds[di++] = "<TABLE cellSpacing=0 cellPadding=0 width=770 border=0>";
	ds[di++] = "<TBODY>";
	ds[di++] = "<TR vAlign=top>";
	ds[di++] = "<TD id=topnavBkgd>";
	ds[di++] = "<TABLE cellSpacing=0 cellPadding=0 width=770 border=0>";
	ds[di++] = "<TBODY>";
	ds[di++] = "<TR vAlign=center height=21>";
	
	
	nodeLength = node.m_subNodes.length;
	
		
		for ( ; count < nodeLength; count++) {
		
			
			if ( bShowHome ) {
				bFirstNode = (count == -1);
			} else {
				bFirstNode = (count == 0);
			}
			bLastNode = (count == nodeLength - 1);
		
			bSelected = false;
			if (count == -1) {
				if ( (this.m_NavPath.length == node.m_level+1) &&	(this.m_NavPath[node.m_level] == node.m_id) )	{
					bSelected = true;
				}
					
				label = node.m_label;
				href  = node.m_href;
				nodeID = node.m_id;
			} else {	
				if (this.m_NavPath.length > node.m_subNodes[count].m_level) {
					if (this.m_NavPath[node.m_subNodes[count].m_level] == node.m_subNodes[count].m_id) {
						bSelected = true;
					}
				}
				
				label = node.m_subNodes[count].m_label;
				href = node.m_subNodes[count].m_href;
				nodeID = node.m_subNodes[count].m_id;
			}
		
		
		
	
			if ( bFirstNode ) {
				if ( bSelected ) {
					ds[di++] = "<TD width=10 valign=top id=topnavTabStartOn></TD>";
					ds[di++] = "<TD class=topnavOn id=topnavtab" + counter + "><A id=topnavOn href=\"" + href + "\">" + label + "</A></TD>";
					ds[di++] = "<TD width=10 valign=top id=topnavTabRightOn></TD>";
				} else {
					ds[di++] = "<TD width=10 valign=top id=topnavTabStartOff></TD>";
					ds[di++] = "<TD class=topnav id=topnavtab" + counter + "><A id=topnav href=\"" + href + "\">" + label + "</A></TD>";
					
				}
			} else if ( bLastNode ) {
				if ( bSelected ) {
					ds[di++] = "<TD width=10 valign=top id=topnavTabLeftOn></TD>";
					ds[di++] = "<TD class=topnavOn id=topnavtab" + counter + "><A id=topnavOn href=\"" + href + "\">" + label + "</A></TD>";
					ds[di++] = "<TD width=10 valign=top id=topnavTabEndOn></TD>";
				} else {
					ds[di++] = insertDivider(this.m_Divider, bPrevNodeSelected);
					ds[di++] = "<TD class=topnav id=topnavtab" + counter + "><A id=topnav href=\"" + href + "\">" + label + "</A></TD>";
					ds[di++] = "<TD width=10 valign=top id=topnavTabEndOff></TD>";				
				}
			} else {
				if ( bSelected ) {
					ds[di++] = "<TD width=10 valign=top id=topnavTabLeftOn></TD>";
					ds[di++] = "<TD class=topnavOn id=topnavtab" + counter + "><A id=topnavOn href=\"" + href + "\">" + label + "</A></TD>";
					ds[di++] = "<TD width=10 valign=top id=topnavTabRightOn></TD>";
				} else {
					ds[di++] = insertDivider(this.m_Divider , bPrevNodeSelected);
					ds[di++] = "<TD class=topnav id=topnavtab" + counter + "><A id=topnav href=\"" + href + "\">" + label + "</A></TD>";
				}
			}
			
			bPrevNodeSelected = bSelected
			counter++;
		}		
	
	
	
	ds[di++] = "</TR>";
	ds[di++] = "</TBODY>";
	ds[di++] = "</TABLE>";
	ds[di++] = "</TD>";
	ds[di++] = "</TR>";
	ds[di++] = "</TBODY>";
	ds[di++] = "</TABLE>";
	
	document.write(ds.join(""));
	
}

function insertDivider (sDivider, bPrevNodeSelected) {

	var sValue = "";
	
	if ( !bPrevNodeSelected ) {
		sValue = "<TD width=10 align=center><img src=\"" + sDivider + "\" width=2 height=9></TD>";
	}
	
	return sValue;
}
