// Adapted by Jay Small, smallinitiatives.com
// from "Javascript + CSS + DOM Magic" by Makiko Itoh (good book!).
// For efficiency, SI version removes image rollover functions
// and functions for menu positioning based on window size.

// define variables for "if n4 (Netscape 4), if IE (IE 4.x), 
// and if n6 (if Netscape 6/W3C-DOM compliant)"

var n4, ie, n6;

// detecting browser support for certain key objects/methods and 
// assembling a custom document object

var doc,doc2,doc3,sty;

if (document.layers) {
	doc = "document.";
	doc2 = ".document.";
	doc3 = "";
	sty = "";
	n4 = true;
} else if (document.all) {
	doc = "document.all.";
	doc2 = "";
	doc3 = "";
	sty = ".style";
	ie = true;
} else if (document.getElementById) {
	doc = "document.getElementById('";
	doc2 ="')";
	doc3 ="')";
	sty = "').style";
	n6 = "true";
} 

//position the element on the page.

function placeIt(elem,leftPos,topPos) {
	docObj = eval(doc + elem + sty);
	if (n4 || n6) {
		docObj.left = leftPos;
		docObj.top= topPos;
	}
	if (ie) {
		docObj.pixelLeft = leftPos;
		docObj.pixelTop = topPos;
	}
}

// preload navigation images

var loaded = 0;
function preload() {
loaded = 1;
}

// main nav color swap function

function onoff (elemparent,elem,state) {
	if (loaded) {
		newstate = eval(elem+"_"+state);
		if (n4) {
			menuObj = eval (doc + elemparent + doc2 + elem);
	} else if (ie || n6) {
		menuObj = eval (doc + elem + doc2);
	}
	menuObj.src = newstate.src;
	}
}

// mouse over (on) and mouseoff(off) color values

// var oncolor = "#006";
// var oncolor = "#0080c0"003366;
var oncolor = "#4A4D4A";
// var offcolor = "#000066";
var offcolor = "#6699cc";
// old before changing drop-down color: var offcolor = "#06c";

function changecolor(divname,colorname) {
	stopall();
	if (!n4) {
		menuObj = eval(doc + divname + sty);
		menuObj.backgroundColor = colorname;
	}
}

// show or hide DIV element

function showhide(divname,state) {
	if (n4) {
		divObj = eval (doc + divname);
	}
	else {
		divObj = eval (doc + divname + sty);
	}
	divObj.visibility = state;
}

// variables that hold the value of the currently active (open) menu

var active_submenu1 = null;
var active_submenu2 = null;
var active_menuelem = null;
var active_topelem = null;

// function closes all active menus and turns back to 'off' state

function closeallmenus() {
	if (active_submenu1 != null) {
		showhide(active_submenu1,'hidden');
	}
	if (active_submenu2 != null) {
		showhide(active_submenu2,'hidden');
	}
	if (active_menuelem != null) {
		changecolor(active_menuelem,offcolor);
	}
	if (active_topelem != null) {
		onoff('mainmenu',active_topelem,'off');
	}
}

// the menu close timeout variable

var menu_close_timeout = 0;

// delay in milliseconds until the open menus are closed

var delay = 500;

// function calls the closeallmenus() function after a delay

function closeall() {
	menu_close_timeout = setTimeout('closeallmenus()',delay);
}

// stop all timeout functions (stops menus from closing)

function stopall() {
	clearTimeout(menu_close_timeout);
}

// function controls submenus

function controlsubmenu(submenu1,submenu2,menuelem,topelem) {
	stopall();
	closeallmenus();
	if (submenu1 != null) {
		showhide(submenu1,'visible');
		active_submenu1 = submenu1;
	}
	if (submenu2 != null) {
		showhide(submenu2,'visible');
		active_submenu2 = submenu2;
	}
	if (menuelem != null) {
		changecolor(menuelem,oncolor);
		active_menuelem = menuelem;
	}
	if (topelem != null) {
		onoff('mainmenu',topelem,'on');
		active_topelem = topelem;
	}
}

// function initializes menus

function initialize() {
	preload();
	closeallmenus();
	stopall();
	placeIt('mainmenu');
	placeIt('seminars');
	placeIt('knowledge');
	placeIt('convergence');
	placeIt('tailored');
	placeIt('forums');
	placeIt('about');
	placeIt('subconvergence1');
	placeIt('subconvergence2');
	placeIt('subconvergence3');
	placeIt('subabout1');
	placeIt('subabout2');
	placeIt('subabout3');
}
