/* ############## MENU INTERFACE ############## */

// Show menu
function show_menu(str_menu_id) {
	// get the menu root
   obj_menu_root = document.getElementById('mr_' + str_menu_id);
   
   // get the menu
   obj_menu = document.getElementById('m_' + str_menu_id);
   
   // update the menu location
   obj_menu.style.left = getX(obj_menu_root);
   obj_menu.style.top = getY(obj_menu_root) + 15;
   
   // hide the others
   obj_menu_1 = document.getElementById('m_testimonials');
   obj_menu_1.style.display = 'none';
   obj_menu_2 = document.getElementById('m_about');
   obj_menu_2.style.display = 'none';
   obj_menu_3 = document.getElementById('m_contact');
   obj_menu_3.style.display = 'none';
   obj_menu_4 = document.getElementById('m_faq');
   obj_menu_4.style.display = 'none';
   
	// show it
   obj_menu.style.display = 'block';
}

// Hide menu
function clear_menu(e, str_menu_id) {
// alert('1');
	if (!e) var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target; // alert(tg.nodeName); // this should be DIV
	if (tg.nodeName != 'DIV') return;
	var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; // alert(reltg.nodeName); // this should be DIV (for GG)
	while (reltg != tg && reltg.nodeName != 'DIV')
		reltg= reltg.parentNode
	if (reltg== tg) return;

	// Mouseout took place when mouse actually left layer

   // get the menu & hide it
   obj_menu = document.getElementById('m_' + str_menu_id);
	obj_menu.style.display = 'none';
}

// Hide menu
function clear_menu2(e, str_menu_id) {
// alert('2');
	if (!e) var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target; // alert('NN?' + tg.nodeName); // this should be A
	if (tg.nodeName != 'A') return;
	var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; 

// alert('x?' + reltg.nodeName); // this should be A or DIV/class="menu"
	if (reltg.nodeName == '#text') {
		reltg = reltg.parentNode;
	}

	// while (reltg != tg) {
		if (reltg.nodeName == 'A') return;
		if (reltg.nodeName == 'DIV') {
			// check if the DIV id class="menu" // alert('DIV class:' + reltg.className);
			if (reltg.className == 'menu') return;
		}
		reltg= reltg.parentNode
	// }
	/*
	if (reltg.nodeName == '#text') {
		alert('MAC or Konk?');
		alert("reltg.nodeName:" + reltg.nodeName + "\nreltg.nodeType:" + reltg.nodeType + "\nreltg.nodeValue:" + reltg.nodeValue);
		alert('parent is' + reltg.parentNode.nodeName);
		return;
	}
	*/

	// Mouseout took place when mouse actually left layer

   // get the menu & hide it
   obj_menu = document.getElementById('m_' + str_menu_id);
	obj_menu.style.display = 'none';
}

// Hide menu
function clear_menu3(e, str_menu_id) {
// alert('3');
	if (!e) var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target; 
// alert('A?' + tg.nodeName); // this should be A ( or #text for Safari)
	if (tg.nodeName == '#text') {
// alert('PNN:' + tg.parentNode.nodeName);
		tg = tg.parentNode;
	}
	if (tg.nodeName != 'A') return;
	var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; // alert('x?' + reltg.nodeName); // this should be A or DIV/class="menu"

	// A/parentNode =div.class = menu :: OK (i.e. return now)


	if (reltg.nodeName == 'A') {
		// check if the A tag's parent is a DIV with id class="menu"  
		// alert('A, pn.class:' + parentNode.className);
		if (reltg.parentNode.className == 'menu') return;
	}

	// DIV class = menu :: OK (i.e. return now)
	if (reltg.nodeName == 'DIV') {
		// check if the DIV id class="menu"  
		// alert('DIV id:' + reltg.id); 
		// alert('DIV class:' + reltg.className);
		if (reltg.className == 'menu') return;
	}

	// Mouseout took place when mouse actually left layer

   // get the menu & hide it
   obj_menu = document.getElementById('m_' + str_menu_id);
	obj_menu.style.display = 'none';
}