		var __selectboxes_hidden = false;
		
		if (document.getElementsByTagName)
			window.setTimeout('hide_selectboxes();',1000);
		
		function hide_selectboxes()
		{
			var hide = false;
			for (i in __visible_layers)
				if (__visible_layers[i])
				{
					hide = true;
					break;
				}
			if (hide && !__selectboxes_hidden)
			{
				var e = document.getElementsByTagName('SELECT');
				for (i=0;i<e.length;i++)
				{
					e[i].style.visibility = 'hidden';
				}
				__selectboxes_hidden = true;
			}
			else if (!hide && __selectboxes_hidden)
			{
				var e = document.getElementsByTagName('SELECT');
				for (i=0;i<e.length;i++)
				{
					e[i].style.visibility = 'visible';
				}
				__selectboxes_hidden = false;
			}
			window.setTimeout('hide_selectboxes();',500);
		}
		
		function togglelayer(name,enabled,x,y)
		{
			var elem = false;
			if (document.all)
				elem = document.all(name);
			else if (document.getElementById)
				elem = document.getElementById(name);

			if (!elem)
				return false;
				
			if (x) elem.style.left = x;
			if (y) elem.style.top = y;
			
			elem.style.visibility = enabled?'visible':'hidden';
			__visible_layers[name.substr(2)] = enabled;
			return true;
		}
		
		function showlayer(event,name,submenu,c,c2)
		{
			if ((document.all && ! document.getElementById) || (submenu && navigator.userAgent.indexOf('Mac')>0))
				return true;
			var evsrc = event.srcElement;
			if (!evsrc)
			{
				evsrc = event.target;
				var x = parseInt(evsrc.x);
    			var y = parseInt(evsrc.y)+evsrc.height + (submenu?-14:14);
				if (!y) return true;
			}
			else
			{
    			var x = window.document.body.scrollLeft + event.clientX - event.offsetX+(submenu?evsrc.offsetParent.offsetWidth-4:-3);
    			var y = window.document.body.scrollTop + event.clientY - event.offsetY + (submenu?evsrc.offsetTop-5:evsrc.offsetHeight+12);
			}
			if (!x || !y)
				window.status = 'Did not find X or Y';
            if (__layer_levels_visible[__layer_levels[name]] != name)
            	hidelayer(__layer_levels_visible[__layer_levels[name]],true);
            __layer_levels_visible[__layer_levels[name]] = name;
			cancel_hide_delayed_layer(name);
			
			return togglelayer('ml'+name,true,x,y);
		}
		function _hidelayer(id)
		{
			return togglelayer('ml'+id,false);
		}
		
		function hidelayer(id,override)
		{
			if (has_visible_layers(id) && !override)
				return false;
			//if (!navigator.userAgent.indexOf('MSIE 4'))
			{
    			for (i in __layer_elements[id])
    				hidelayer(i,true);
			}
			_hidelayer(id);
		}
		
		function delayhidelayer(name)
		{
			__delayed_hidden_layers[name] = true;
			window.clearTimeout(__delayed_hidden_layers_timer);
			__delayed_hidden_layers_timer = window.setTimeout('hide_delayed_layers();',1000);
		}
		
		function cancel_hide_delayed_layer(id)
		{
			__delayed_hidden_layers[id] = false;
		}
		
		function hide_delayed_layers(level)
		{
			for (i in __delayed_hidden_layers)
			{
				if (__delayed_hidden_layers[i] == true)
					hidelayer(i);
			}
			if (!level)
				hide_delayed_layers(true);
		}
		
		function has_visible_layers(id)
		{
			for (i in __layer_elements[id])
			{
				if (__visible_layers[i])
					return true;
				else if (has_visible_layers(i))
					return true;
			}
			return false;
		}
		function addtolayer(id,parentid,nextlayer,level,html,href)
		{
			if (!__layerhtml)
				return false;
			if (! __submenu_rendered || __submenu_rendered[nextlayer] || document.layers)
				return true;
			
			if (!html || html.toLowerCase() == '<br>' || html == '-')
			{
				html = '';
				href = '';
			}
			
			//html = '<a href="#" onmouseover="showlayer('+nextlayer+',true,'+id+');" onmouseout="delayhidelayer('+nextlayer+');"><img src=img/menu/'+nextlayer+'.png border=0></a><br>';
			html = '<a '+href+' onmouseover="showlayer(event,'+nextlayer+',true,'+id+');" onmouseout="delayhidelayer('+nextlayer+');">&nbsp;&nbsp;&nbsp;'+html.replace(/ /g,'&nbsp;')+'&nbsp;&nbsp;&nbsp;</a><br>';
			
			if (__layerhtml[id])
				__layerhtml[id] += html;
			else
				__layerhtml[id] = html;
			__layer_parents[id] = parentid;
			
			if (!__layer_elements[id])
				__layer_elements[id] = new Array();
			__layer_elements[id][nextlayer] = new Array();
			__layer_levels[id] = level;
			__submenu_rendered[nextlayer] = true;
			
			return true;
		}
		
		function renderlayers()
		{
			if (document.layers) return '';
			var s = '';
			for (i in __layerhtml)
				s+= '<div class="menulayer" id=ml'+i+' onmouseover="cancel_hide_delayed_layer('+i+');" onmouseout="delayhidelayer('+i+');"><img src=img/spacer.gif height=2 width=1><br>'+__layerhtml[i]+'<img src=img/spacer.gif height=3 width=0></div>';
			return s;
		}
		
		var __layerhtml = new Array();
		var __delayed_hidden_layers = new Array();
		var __delayed_hidden_layers_timer = null;
		var __layer_parents = new Array();
		var __layer_elements = new Array();
		var __visible_layers = new Array();
		var __layer_levels = new Array();
		var __layer_levels_visible = new Array();
		var __submenu_rendered = new Array();

		
		
var __map_visible = false;
var __map_width = 445;
function togglemap(e)
{
	var m = false;
	if (document.all)
		m = document.all('worldmap');
	else if (document.getElementById)
		m = document.getElementById('worldmap');
	else if (document.layers)
		m = document.layers['worldmap_ns'];
		
	if (!m){alert('layer not found');return;}
	if (!__map_visible)
	{
		if (document.layers)
		{
			m.left = e.target.x-__map_width-1;
			m.top = e.target.y;
			__map_visible = true;
			m.visibility = 'show';
			return;
		}
		else if (!document.all && document.getElementById)
		{
            evsrc = e.target;
            m.style.left = parseInt(evsrc.x)-__map_width-1;
   			m.style.top = parseInt(evsrc.y)-2;
            m.style.visibility = 'visible';
		}
		else if (document.getElementById)
		{
    		m.style.left = (window.document.body.scrollLeft + event.clientX - event.offsetX-__map_width-4)+'px';
    		m.style.top = (window.document.body.scrollTop + event.clientY - event.offsetY-3)+'px';
			m.style.visibility = 'visible';
		}
		else
		{
			return;
		}
		__visible_layers[-1] = true;
		__map_visible = true;
	}
	else
	{
		if (!document.layers)
			m.style.visibility = 'hidden';
		else
			m.visibility = 'hide';
		__visible_layers[-1] = false;
		__map_visible = false;
	}
}

