			var curTabId = "";
			var elemClassNames = new Object();
			var elemClassNamesOrig = new Object();
			
			var cssVals = {
				"generic" : {
					"base"			: "n_base",
					"sel_over"		: "n_sel_over",
					"unsel_over"	: "n_unsel_over",
					"sel_out"		: "n_sel_out",
					"unsel_out"		: "n_unsel_out"
				},
				"nav5" : {
					"base"			: "n_base",
					"sel_over"		: "b_sel_over",
					"unsel_over"	: "b_unsel_over",
					"sel_out"		: "b_sel_out",
					"unsel_out"		: "b_unsel_out"
				},
				"Lcatalog" : {
					"base"			: "loc_base",
					"sel_over"		: "loc_sel_over",
					"unsel_over"	: "loc_unsel_over",
					"sel_out"		: "loc_sel_out",
					"unsel_out"		: "loc_unsel_out"
				},
				"Lhelp" : {
					"base"			: "loc_base",
					"sel_over"		: "loc_sel_over",
					"unsel_over"	: "loc_unsel_over",
					"sel_out"		: "loc_sel_out",
					"unsel_out"		: "loc_unsel_out"
				},
				"Lcart" : {
					"base"			: "loc_base",
					"sel_over"		: "loc_sel_over",
					"unsel_over"	: "loc_unsel_over",
					"sel_out"		: "loc_sel_out",
					"unsel_out"		: "loc_unsel_out"
				},
				"Lshipping" : {
					"base"			: "checkout_base",
					"sel_over"		: "checkout_sel_over",
					"unsel_over"	: "checkout_unsel_over",
					"sel_out"		: "checkout_sel_out",
					"unsel_out"		: "checkout_unsel_out"
				},
				"Lbilling" : {
					"base"			: "checkout_base",
					"sel_over"		: "checkout_sel_over",
					"unsel_over"	: "checkout_unsel_over",
					"sel_out"		: "checkout_sel_out",
					"unsel_out"		: "checkout_unsel_out"
				},
				"Lorderreview" : {
					"base"			: "checkout_base",
					"sel_over"		: "checkout_sel_over",
					"unsel_over"	: "checkout_unsel_over",
					"sel_out"		: "checkout_sel_out",
					"unsel_out"		: "checkout_unsel_out"
				},
				"Lorderdone" : {
					"base"			: "checkout_base",
					"sel_over"		: "checkout_sel_over",
					"unsel_over"	: "checkout_unsel_over",
					"sel_out"		: "checkout_sel_out",
					"unsel_out"		: "checkout_unsel_out"
				}
			};
				
			function highlightBaseline( tabClass )
			{
				var elem = document.getElementById( "navBase" );
				if ( elem != null )
				{
					elem.className = tabClass;
				}
			}
			
			function getCssKey( tabId )
			{
				return cssVals[ tabId ] == null ? "generic" : tabId;
			}
			
			function highlightNav(tabId, highlight) {
				var cssKey = getCssKey( tabId );
				var elem = document.getElementById(tabId);
				if ( elem == null || elem.className == null )
				{
					return;
				}
				if (elemClassNames[tabId] == null) {
					origName = elem.className;
					elemClassNamesOrig[tabId] = origName;
					
					// Strip n_base if present, since we'll put it back in later
					var idx = origName.indexOf( cssVals[ cssKey ][ "base" ] );
					if (idx >= 0) {
						origName = origName.substr(0, idx) + origName.substr(idx + cssVals[ cssKey ][ "base" ].length);
					}
					elemClassNames[tabId] = origName;
				}
				var elemClassName = elemClassNames[tabId];
				
				var tabClass = highlight
					?	tabId == curTabId ? cssVals[ cssKey ][ "sel_over" ] : cssVals[ cssKey ][ "unsel_over" ]
					:	tabId == curTabId ? cssVals[ cssKey ][ "sel_out" ] : cssVals[ cssKey ][ "unsel_out" ]

				elem.className = elemClassName + " " + tabClass;
			}

			function showNav(tabId) {
				curTabId = tabId;
				highlightNav(tabId, false);
			}

			function setNav(tabId, oid) {
				showNav(tabId);

				goAction(tabId, oid);
			}
			
			function _goNav(tabId, oid) {
				var curTabElem = document.getElementById(curTabId); 
				if (curTabElem != null) {
					if (elemClassNamesOrig[curTabId] != null) {
						curTabElem.className = elemClassNamesOrig[curTabId];
					}
				}
				
				curTabElem = document.getElementById(tabId);
				curTabId = tabId;
				if (curTabElem != null) {
					if (elemClassNamesOrig[curTabId] != null) {
						curTabElem.className = elemClassNames[tabId] + " " + cssVals[ getCssKey( tabId ) ][ "sel_over" ];
						highlightBaseline( cssVals[ getCssKey( tabId ) ][ "sel_over" ] );
					}
				}

				goAction(tabId, oid);
			}
			
			function goNav(tabId, oid) {
				var curTabElem = document.getElementById(curTabId); 
				if (curTabElem != null) {
					if (elemClassNamesOrig[curTabId] != null) {
						curTabElem.className = elemClassNamesOrig[curTabId];
					}
				}
				
				curTabElem = document.getElementById(tabId);
				curTabId = tabId;
				if (curTabElem != null) {
					if (elemClassNamesOrig[curTabId] != null) {
						curTabElem.className = elemClassNames[tabId] + " " + cssVals[ getCssKey( tabId ) ][ "sel_over" ];
						highlightBaseline( cssVals[ getCssKey( tabId ) ][ "sel_over" ] );
					}
				}

				goAction(tabId, oid);
			}

