var Menu = null;
var MenuItem = null;
var MenuTimer = null;

function ClearMenuTimeout() {
	if (MenuTimer) clearTimeout(MenuTimer);
	MenuTimer = null;
}

function StartMenuTimeout() {
	if (MenuTimer) clearTimeout(MenuTimer);
	MenuTimer = setTimeout("HideMenu()", 500);
}

function getExplorerVersion() {
	var ieVers = parseFloat(navigator.appVersion);
	if (navigator.appName != 'Microsoft Internet Explorer') return ieVers;
	var tempVers = navigator.appVersion;
	var i = tempVers.indexOf('MSIE ');
	if (i >= 0) {
		tempVers = tempVers.substring(i+5);
		ieVers = parseFloat(tempVers); 
	}
	return ieVers;
}

function moveXbySlicePos (x, img) { 
	if (!document.layers) {
		var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
//		var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
		var macIE45 = document.all && navigator.platform.indexOf('Mac') > 0 && navigator.appName == 'Microsoft Internet Explorer';
		var par = img;
		var lastOffset = 0;
		while (par){
			if (par.leftMargin && ! onWindows) x += parseInt(par.leftMargin);
			if ((par.offsetLeft != lastOffset) && par.offsetLeft) x += parseInt(par.offsetLeft);
			if (par.offsetLeft != 0) lastOffset = par.offsetLeft;
			par = macIE45 ? par.parentElement : par.offsetParent;
		}
	} else if (img.x) x += img.x;
	return parseInt(x);
}

function moveYbySlicePos (y, img) {
	if (!document.layers) {
		var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
//		var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
		var macIE45 = document.all && navigator.platform.indexOf('Mac') > 0 && navigator.appName == 'Microsoft Internet Explorer';
		var par = img;
		var lastOffset = 0;
		while (par){
			if (par.topMargin && !onWindows) y += parseInt(par.topMargin);
			if ((par.offsetTop != lastOffset) && par.offsetTop) y += parseInt(par.offsetTop);
			if (par.offsetTop != 0) lastOffset = par.offsetTop;
			par = macIE45 ? par.parentElement : par.offsetParent;
		}
	} else if (img.y >= 0) y += img.y;
	return parseInt(y);
}

function ShowMenu(menu_name, ofs_x, ofs_y, parent, parent_item) {
	ClearMenuTimeout();

	if (Menu && !Menu.parentMenu) HideMenu();

	if ((Menu = document.getElementById('menu_'+menu_name)) && (img = document.getElementById('img_'+menu_name))) {
		Menu.parentMenu = parent;

		menu_left = moveXbySlicePos(ofs_x, img);
		menu_top = moveYbySlicePos(ofs_y, img);

		logo_pos = moveXbySlicePos(0, document.getElementById('logo'));

		cur_menu_left = moveXbySlicePos(0, document.getElementById('menu_'+menu_name+'_left'));
		cur_menu_right = 1000 + moveXbySlicePos(0, document.getElementById('menu_'+menu_name+'_right'));

		if ((menu_left - logo_pos + cur_menu_right) > 760) {
			if (Menu.parentMenu) {
				menu_left = parseInt(Menu.parentMenu.style.left) - (cur_menu_right - cur_menu_left) - 1;
			}
			else {
				parent_right = moveXbySlicePos(0, document.getElementById('img_'+menu_name+'_right'));
				menu_left = /*logo_pos + 760*/parent_right - (cur_menu_right) + 2;
			}
		}

		if (!Menu.parentItem) Menu.parentItem = document.getElementById(parent_item);
		Menu.parentItem.style.color = '#003366';

		Menu.style.left = menu_left;
		Menu.style.top = menu_top;
		Menu.style.visibility = 'visible';
	}
	SetFrameVisibility('hidden');
}

function HideMenu() {
	ClearMenuTimeout();
	if (Menu) {
		MenuTimer = null;
		if (MenuItem) {
			MenuItem.parentMenu = document.getElementById(MenuItem.getAttribute('parent_id'));

			while (Menu != MenuItem.parentMenu) {
				Menu.style.visibility = 'hidden';
				Menu.style.left = -1000;
				Menu.style.top = -1000;
				Menu.parentItem.style.display = 'none';
				Menu.parentItem.style.color = '#666666';
				Menu.parentItem.style.display = '';
				Menu = Menu.parentMenu;
			}
		}
		else do {
			Menu.style.visibility = 'hidden'; 
			Menu.style.left = -1000;
			Menu.style.top = -1000;
			Menu.parentItem.style.color = '#666666';
		} while (Menu = Menu.parentMenu);
	}
	if (!Menu) SetFrameVisibility('visible');
}

function MenuItemOver(item_name) {
	if (MenuItem = document.getElementById(item_name)) {
//		bkg_color = (MenuItem.className == 'menu') ? '#E9E9E9' : '#CCCCCC';
//		MenuItem.style.backgroundColor = bkg_color;
//		if (right_cell = document.getElementById('right_'+item_name)) right_cell.style.backgroundColor = bkg_color;

		if (NewMenu = document.getElementById('menu_'+item_name)) NewMenu.parentItem = document.getElementById(item_name+'_link');

		if (NewMenu == Menu) return;

		MenuItem.parentMenu = document.getElementById(MenuItem.getAttribute('parent_id'));
		HideMenu();
		if (MenuItem.subMenu = NewMenu) {
			ShowMenu(item_name, 12, -6, Menu);
		}
	}
}

function MenuItemOut(item_name) {
	if (MenuItem = document.getElementById(item_name)) {
//		bkg_color = (MenuItem.className == 'menu') ? '#E9E9E9' : '#CCCCCC';
//		MenuItem.style.backgroundColor = '#E9E9E9';
//		if (right_cell = document.getElementById('right_'+item_name)) right_cell.style.backgroundColor = '#FFFFFF';

		if (Menu) StartMenuTimeout();
		MenuItem = null;
	}
}

function SetFrameVisibility(val) {
/*
	i=0;
	while (frm=document.getElementById('iframe_'+i)) {
//		frm.style.display = val;
		frm.style.visibility = val;
		i++;
	}
*/
	combos = document.getElementsByTagName('select');
	for (i=0; i<combos.length; i++) {
		el=combos[i];
		el.style.visibility = val;
/*
		if ((el.style.visibility = val) == 'hidden') {
			el.parentNode.style.borderStyle = 'dashed';
			el.parentNode.style.borderWidth = '1px';
			el.parentNode.style.borderColor = '#000000';
		}
		else {
			el.parentNode.style.borderStyle = 'solid';
			el.parentNode.style.borderWidth = '1px';
			el.parentNode.style.borderColor = '#FFFFFF';
		}
*/
	}
}
