//**********************************************************************
//
//	File:
//	js/globalnav_top.js
//
//	Purpose:
//	Shows / hides second level global nav on tab rollovers
//
//	Notes:
//
//**********************************************************************

// GLOBAL VARIABLES
// Indicates the active navigation level
var activeGlobalNavLevel = 6;
// Holds timeout
var theInterval;
// Stops nav from closing
var isClose = true;
// Default navigation level and total items
var defNavLevel = 6;
var defTotalItems = 6;

// Load the Default Tab
YAHOO.util.Event.onDOMReady(closeOpenNavLevel);


//***********************************************************************
//
//  Function:
//  preloadGlobalNavImages
//
//  Purpose:
//  Preloads rollover and on states for the global nav
//
//  Parameters:
//
//  Return value:
//	None.
//
//  Notes:
//
//***********************************************************************




//***********************************************************************
//
//  Function:
//  showNavLevel
//
//  Purpose:
//  Shows a level of the global nav - hides all other levels
//
//  Parameters:
//	theNumber:	the number of the level you wish to show (use 0 to turn all of them off)
//	totalItems: the total number of nav levels present (default should be 4, members nav should be 8)
//
//  Return value:
//	None.
//
//  Notes:
//
//***********************************************************************

function showNavLevel(theNumber, totalItems) {
	
	clearTimeout(theInterval);

	var theName = "nav_"+theNumber;
	
	globalTabOn(theNumber);
	
	if (document.getElementById) {
	
		if (theNumber!=0) {
	
			var theNavId = document.getElementById(theName);
			
			theNavId.style.display = "";
			
			activeGlobalNavLevel = theNumber;
			
		}
		
		var i = 0;
		
		for (i;i<=totalItems;i++) {
			
			if (i!=theNumber) {
				
				globalTabOff(i);
				
				if (i>0) {
			
					var theOffName = "nav_"+i;
				
					var theOffId = document.getElementById(theOffName);
					
					theOffId.style.display = "none";
				
				}
				
			}
			
		}
		
	}

}



//***********************************************************************
//
//  Function:
//  closeNavLevel
//
//  Purpose:
//  Begins the process of closing a level of the global nav
//
//  Parameters:
//
//  Return value:
//	None.
//
//  Notes:
//
//***********************************************************************


function closeNavLevel() {
	
	if (activeGlobalNavLevel!=0) {
	
		clearTimeout(theInterval);

		theInterval = setTimeout("closeOpenNavLevel()", 500);
		
	}

}



//***********************************************************************
//
//  Function:
//  closeOpenNavLevel
//
//  Purpose:
//  Finishes off the process of closing a level of the global nav
//
//  Parameters:
//
//  Return value:
//	None.
//
//  Notes:
//
//***********************************************************************


function closeOpenNavLevel() {	

	if (isClose) {
		
		globalTabOff(activeGlobalNavLevel);
	
		var theName = "nav_"+activeGlobalNavLevel;
	
		var theNavId = document.getElementById(theName);
		
		theNavId.style.display = "none";
		
		activeGlobalNavLevel = 0;
		
		if (defNavLevel != undefined) {
				showNavLevel(defNavLevel, defTotalItems);
		}
		
	}
	
	clearTimeout(theInterval);
	
}



//***********************************************************************
//
//  Function:
//  globalTabOn
//
//  Purpose:
//  Rollovers / image swap
//
//  Parameters:
//	theNumber:	The number of the tab to change states
//
//  Return value:
//	None.
//
//  Notes:
//
//***********************************************************************


function globalTabOn(theNumber) {
	
	if (document.getElementById) {
	
		var theId = "tab_"+theNumber;
	
		var theImage = document.getElementById(theId);
		
		theImage.src = rolloverImages[theId].src;
	
		return true;	
		
	}
	
}





//***********************************************************************
//
//  Function:
//  globalTabOff
//
//  Purpose:
//  Rollouts / image swap
//
//  Parameters:
//	theNumber:	The number of the tab to change states
//
//  Return value:
//	None.
//
//  Notes:
//
//***********************************************************************


function globalTabOff(theNumber) {
	
	if (document.getElementById) {
	
		var theId = "tab_"+theNumber;

		var theImage = document.getElementById(theId);
		
		theImage.src = defaultImages[theId].src;
	
		return true;	
		
	}
	
}





//***********************************************************************
//
//  Function:
//  preloadHeaderImages
//
//  Purpose:
//  Preloads images
//
//  Parameters:
//
//  Return value:
//	None.
//
//  Notes:
//
//***********************************************************************


var rolloverImages = new Object();
var defaultImages = new Object();
// preload images for rollovers
function preloadDefaultHeaderImages() {
	if (document.images) {
		rolloverImages["tab_0"] = new Image();
		rolloverImages["tab_0"].src = "http://images.onesite.com/laofficelounge.com/home_on.gif";
		rolloverImages["tab_1"] = new Image();
		rolloverImages["tab_1"].src = "http://images.onesite.com/laofficelounge.com/company_on.gif";
		rolloverImages["tab_2"] = new Image();
		rolloverImages["tab_2"].src = "http://images.onesite.com/laofficelounge.com/services_on.gif";	
		rolloverImages["tab_3"] = new Image();
		rolloverImages["tab_3"].src = "http://images.onesite.com/laofficelounge.com/events_on.gif";
		rolloverImages["tab_4"] = new Image();
		rolloverImages["tab_4"].src = "http://images.onesite.com/laofficelounge.com/members_on.gif";
		rolloverImages["tab_5"] = new Image();
		rolloverImages["tab_5"].src = "http://images.onesite.com/laofficelounge.com/lounge_on.gif";
		rolloverImages["tab_6"] = new Image();
		rolloverImages["tab_6"].src = "http://images.onesite.com/laofficelounge.com/roadshow_on.gif";
		defaultImages["tab_0"] = new Image();
		defaultImages["tab_0"].src = "http://images.onesite.com/laofficelounge.com/home_off.gif";
		defaultImages["tab_1"] = new Image();
		defaultImages["tab_1"].src = "http://images.onesite.com/laofficelounge.com/company_off.gif";
		defaultImages["tab_2"] = new Image();
		defaultImages["tab_2"].src = "http://images.onesite.com/laofficelounge.com/services_off.gif";	
		defaultImages["tab_3"] = new Image();
		defaultImages["tab_3"].src = "http://images.onesite.com/laofficelounge.com/events_off.gif";
		defaultImages["tab_4"] = new Image();
		defaultImages["tab_4"].src = "http://images.onesite.com/laofficelounge.com/member_off.gif";
		defaultImages["tab_5"] = new Image();
		defaultImages["tab_5"].src = "http://images.onesite.com/laofficelounge.com/lounge_off.gif";
		defaultImages["tab_6"] = new Image();
		defaultImages["tab_6"].src = "http://images.onesite.com/laofficelounge.com/roadshow_off.gif";	
	}
}
