var menu_obj = null;
var dyn_menu = [
				['Quimica', 'chemistry.html'],
				['Neumaticos', 'tires.html'],
				['Maquinaria', 'technics.html'],
				['Contactos', 'contacts.html'],
				];

function buildMenu () {
	_menuRoot = document.getElementById ("menuRoot");
	_menuRoot.appendChild (createDiv ());
	_menuRoot.firstChild.appendChild (createTable ());
	var _tbl = _menuRoot.firstChild.firstChild;
	_tbl.cellSpacing = 4;
	_tbl.cellPadding = 0;
	_tbl.border = 0;
	for (var i = 0; i < dyn_menu.length; i++) {
		var _link = createLink ("a");
		_link.innerText = dyn_menu[i][0];
		_link.href = dyn_menu[i][1];
		_link.className = "MenuLinkItem";
		_link.title = dyn_menu[i][0];
		
		if (dyn_menu[i].length > 2 && dyn_menu[i][2] != null && dyn_menu[i][2] != '')
			_link.style.color = dyn_menu[i][2];

		_link.onmouseover = SelectMenu;
		_link.onmouseout = UnSelectMenu;
		
		
		var _tr = _tbl.insertRow ();
		var _td = _tr.insertCell ();
		_td = _tr.firstChild;
		_td.noWrap = true;
		_td.className = "BorderTd";
		
		_td.appendChild (_link);
		if (dyn_menu[i].length == 4) {
			_img = createImg ();
			_img.src = "images/ch.gif";
			_img.border = 0;
			_img.alt = "";
			_img.style.marginRight = 7;
			_img.align = "middle";
			_td.appendChild (_img)
		}
		_tbl.insertRow (_tr);
	}
}

var parent = null, target = null;
function SelectMenu () {
	if (!menu_visited && menu_activated) {
		dispose ();
	}
	
	parent = this.parentElement;
	target = this;
	parent.bgColor = "#99FFFF";
	target.style.backgroundColor = "#99FFFF";
	sel_menu_index = -1;
	selected = this.innerText;
	for (i = 0; i < dyn_menu.length; i++) {
		if (dyn_menu[i][0] == selected && dyn_menu[i].length == 4) {
			sel_menu_index = i;
			break;
		}
	}
	
	if (sel_menu_index > -1) {
		var obj = buildSubMenu (sel_menu_index);
		if (obj != null) {
			obj.style.left = (getLeft (this) + this.parentElement.offsetWidth + 5) + document.body.scrollLeft;
			obj.style.top = (getTop (this) - 6) + document.body.scrollTop;
			document.body.appendChild (obj);
			menu_activated = true;
		}
	}
}

var menu_visited = false;
var menu_activated = false;

function UnSelectMenu () {
	if (subMenu != null && menu_visited) {
		dispose ();
	}
	else {
		if (!menu_activated)
			dispose ();
		else
			hide_timer ();	
	}
}

function dispose (type) {
	if (subMenu != null)
		subMenu.innerHTML = "";
	menu_visited = false;
	menu_activated = false;
	if (type == 3 || !menu_activated) {
		target.style.backgroundColor = "#FFFFFF";
		parent.bgColor = "#FFFFFF";
		target = null;
		parent = null;
	}
}

var subMenu = null;

function buildSubMenu (selIndex) {
	var selMenu = dyn_menu[selIndex][3];
	if (subMenu == null) {
		subMenu = createDiv ();
		subMenu.style.position = "absolute";
	}
	for (var i = 0; i < selMenu.length; i++) {
		_link = createLink ();
		_br = createBr ("br");
		_link.innerText = selMenu[i][0];
		_link.className = "SubMenuLink";
		_link.href = selMenu[i][1];
		_link.title = selMenu[i][0];
		
		if (selMenu[i].length > 2)
			if (selMenu[i][2] != null && selMenu[i][2] != '')
				_link.style.color = selMenu[i][2];
		subMenu.appendChild (_link);
		subMenu.appendChild (_br);
	}
	return subMenu;
}

function getLeft (el) {
	return el.offsetLeft + (el.offsetParent ? getLeft (el.offsetParent) : 0) - el.scrollLeft + el.clientLeft;
}

function getTop (el) {
	return el.offsetTop + (el.offsetParent ? getTop (el.offsetParent) : 0) - el.scrollTop + el.clientTop;
}

var mouse_x = 0, mouse_y = 0;

function hide_timer (){
	var obj = document.getElementById ("menuRoot").firstChild;
	mouse_x = parseInt (event.clientX) + document.body.scrollLeft;
	mouse_y = parseInt (event.clientY) + document.body.scrollTop;
	var _x = getLeft (obj);
	var _x1 = _x + obj.offsetWidth;
	var _y = getTop (obj);
	var _y1 = _y + obj.offsetHeight;
	
	if (mouse_x >= _x && mouse_x <= _x1 && mouse_y >= _y && mouse_y <= _y1 && !menu_activated) {
		dispose (3);
		return;
	}
}

document.onmousemove = function () {
	if (subMenu != null) {
		mouse_x = parseInt(event.clientX) + document.body.scrollLeft;
		mouse_y = parseInt(event.clientY) + document.body.scrollTop;
		var _x = parseInt (subMenu.style.left);
		var _x1 = _x + subMenu.offsetWidth;
		var _y = parseInt (subMenu.style.top);
		var _y1 = _y + subMenu.offsetHeight;
		
		var mRoot = document.getElementById ("menuRoot").firstChild;
		var _mx = getLeft (mRoot);
		var _mx1 = _mx + mRoot.offsetWidth;
		var _my = getTop (mRoot);
		var _my1 = _my + mRoot.offsetHeight;
		
		if (!(mouse_x >= _x && mouse_x <= _x1 && mouse_y >= _y && mouse_y <= _y1)) {
			if (!(mouse_x >= _mx && mouse_x <= _x1 && mouse_y >= _y && mouse_y <= _y1) && menu_activated)				//startTimer ();
				dispose (3);
		}
	}
}

function createLink () 			{ return createElement ("a"); }
function createDiv () 			{	return createElement ("div"); }
function createBr () 			{ return createElement ("br"); }
function createImg () 			{	return createElement ("img"); }
function createTable () 		{ return createElement ("table"); }
function createElement (elem) 	{	return document.createElement (elem); }