// change visibility of element
function getStyleObject(objectId) {
	if(document.getElementById && document.getElementById(objectId)) {
		return document.getElementById(objectId).style;
	} else if (document.all && document.all(objectId)) {
		return document.all(objectId).style;
	} else if (document.layers && document.layers[objectId]) {
		return getObjNN4(document,objectId);
	} else {
		return false;
	}
}

function changeObjectVisibility(objectId, newVisibility) {
    var styleObject = getStyleObject(objectId, document);
    if(styleObject) {
	styleObject.display = newVisibility;
	return true;
    } else {
	return false;
    }
}



// Functions for the navigation

var g_strNavSection = String("");

function NavSectionClick( strSection ) {

	// Hide the current section
	if ( g_strNavSection != "" ) {
		DocumentObject( "nav-section-" + g_strNavSection, true ).display = 'none';
	}
	if ( g_strNavSection == strSection ) {
		g_strNavSection = "";
	} else {
		DocumentObject( "nav-section-" + strSection, true ).display = 'block';
		g_strNavSection = strSection;
	}
}

var g_strNavMenu = String("")
var g_iMenuTimerID = Number(0);

function NavMenuOver( strMenu ) {

	// Clear the timeout, if any
	clearTimeout( g_iMenuTimerID );
	g_iMenuTimerID = 0;

	// Hide the existing menu, if any
	if ( g_strNavMenu != strMenu  &&  g_strNavMenu != "" ) {
		DocumentObject( "nav-menu-" + g_strNavMenu, true ).display = 'none';
	}
	DocumentObject( "nav-menu-" + strMenu, true ).display = 'block';
	g_strNavMenu = strMenu;
}

function NavMenuOut( strMenu ) {

	// Clear the timeout, if any
	clearTimeout( g_iMenuTimerID );
	g_iMenuTimerID = 0;
	
	// Set a new timer
	g_iMenuTimerID = setTimeout( 'NavHideMenus();', 500 );
}

function NavHideMenus( ) {

	// Clear the timeout, if any
	clearTimeout( g_iMenuTimerID );
	g_iMenuTimerID = 0;
	
	if ( g_strNavMenu != "" ) {
		DocumentObject( "nav-menu-" + g_strNavMenu, true ).display = 'none';
		g_strNavMenu = "";
	}
}

function NavMenuItemOver( ) {

	// Clear the timeout, if any
	clearTimeout( g_iMenuTimerID );
	g_iMenuTimerID = 0;
}

function NavMenuItemOut( ) {

	// Clear the timeout, if any
	clearTimeout( g_iMenuTimerID );
	g_iMenuTimerID = 0;

	// Set a new timer
	g_iMenuTimerID = setTimeout( 'NavHideMenus();', 1000 );
}

// Document manipulation functions
function DocumentObject( strObjectID, bWithStyle ) {
	if (bWithStyle) {
		if (document.getElementById) return (document.getElementById(strObjectID).style); 
		else if (document.all) return (document.all[strObjectID].style); 
		else if ((navigator.appName.indexOf('Netscape') != -1) && (parseInt(navigator.appVersion) == 4)) return (document.layers[strObjectID]); 
	} else {
		if (document.getElementById) return (document.getElementById(strObjectID)) ; 
		else if (document.all) return (document.all[strObjectID]); 
		else if ((navigator.appName.indexOf('Netscape') != -1) && (parseInt(navigator.appVersion) == 4)) return (document.layers[strObjectID]); 
	}
}








