canFire = false;
setFire = true;
menu_ids = new Array();
if( typeof IE == "undefined" )
{
	IE = false;
}

// can't get to the body so this is here
//var bodytags = document.getElementsByTagName('body');
//var my_body = bodytags[0];

window.onclick = function(e) {
	e = e ? e : window.event; // stupid IE (this is here for later)
	if(canFire) {
		for(i = 0;i<menu_ids.length;i++)
		{
			document.getElementById(menu_ids[i]).style.visibility = 'hidden';
		}

		if(IE)
		{
			fix_images('visible');
		}

		canFire = false;
	}
	else {
		if(setFire) {
			canFire = true;
			setFire = false;
		}
	}
}

function show_hide_menu(menu_id)
{
	my_menu = document.getElementById(menu_id);
	if(my_menu.style.visibility =='visible') {
		my_menu.style.visibility = 'hidden';
		canFire = false;
		setFire = false;
		if(IE) fix_images('visible');
	}
	else {
		my_menu.style.visibility = 'visible';
		if(IE) fix_images('hidden',menu_id);
		setFire = true;
	}
}

function register_menu(menu_id) {

	menu_ids[menu_ids.length] = menu_id;
	var menu= document.getElementById( menu_id );
	menu.style.visibility = 'hidden';
	menu.style.position = 'absolute';
//	menu.style.backgroundColor='#FFFFFF';
}

function fix_images(showHide,dontHide) {

	allimgs = document.getElementsByTagName('img');

	// yet another hack to figure out which element I'm supposed to ignore a hide for
	var ignoreHide;
	if(dontHide) {
		ignoreHide = document.getElementById(dontHide).parentNode;
	}

	found = false;
	for(i=0;i<allimgs.length;i++) {
		myParent = allimgs[i].parentNode.parentNode; //first parent is the HREF, second is the container

		if(myParent.className == 'menuContainer') {

			// don't change until we've found the ignored content
			if(ignoreHide == undefined) {
				found = true;
			} else if(myParent == ignoreHide) {
				found = true;
				continue;
			}

			if(found) {
				//allimgs[i].style.visibility = showHide;
			    if (showHide == 'hidden')
                {
                    allimgs[i].style.display = 'none';
                }
                else
                {
                    allimgs[i].style.display = 'inline';
                }
            }
		}
	}
}