function fix_menu() {
	if (navigator.appName == "Opera") {
		// Opera fix, shame on you ;)
		$('opera_fix').style.display = "block";
		window.setTimeout("$('opera_fix').style.display = 'none';", 1);
	}
}

function check_menu(menu) {
	if ((menu == null) || (menu == "undefined")) {
		return;
	}
	
	var header = $('page_header').getElementsByTagName('table')[0];
	var header_width = Element.getWidth(header);
	var header_offset = Element.viewportOffset(header);
	var max_x = header_offset.left + header_width - 56;
	if ((menu.max_x_last == null) || (max_x != menu.max_x_last)) {
		menu.max_x_last = max_x;
		
		var m_parent = Element.up(menu);
		var m_size = Element.getDimensions(menu);
		m_size.width = 510;
		var m_offset = Element.viewportOffset(m_parent);
		if (navigator.appName == "Microsoft Internet Explorer") {
			// IE Extrawurst
			m_offset = Element.viewportOffset(m_parent);
		}
		var x = m_offset.left + m_size.width;
		var y = m_offset.top + m_size.height;
		var offset_x = 16;
		var offset_y = m_parent.getHeight() - 10; 
		
		if (x > max_x) {
			offset_x = offset_x - (x - max_x);
		}
		
		Element.clonePosition(menu, m_parent, 
				{ 
					setWidth: false,
					setHeight: false,
					offsetTop: offset_y,
					offsetLeft: offset_x
				}
			);
	}
}
