var submenu = new Array();
var tmr = new Array();
var last_zIndex = 0;
var lastOverId = '';

var alignSubmenu 	= 'right';		// bottom or right side of the main button.
var useLastItemCSS	= false;		 // generate last menu item too
								                     	// if false, it will behave as a normal item
								                     	// and the css menuItemLast class will not be used
var adjustFirst		= false;		   // overlap the first submenu too?
var adjustTop		= 0;			        // move the submenu's some pixels. Positive number (10) for down, negative (-10) for up.
var adjustLeft		= 0;			       // move the submenu's some pixels. Positive number (10) for right, negative (-10) for left.


//first submenu tree
submenu['menu1'] = new Array();
submenu['menu1'][0] = menuItem(getTxt("MENU_01_01"),'main.php?section=about_minicut','_self');
submenu['menu1'][1] = menuItem(getTxt("MENU_01_02"),'main.php?section=team','_self');
submenu['menu1'][2] = menuItem(getTxt("MENU_01_03"),'main.php?section=location_facilities','_self');
submenu['menu1'][3] = menuItem(getTxt("MENU_01_05"),'main.php?section=accreditations','_self');
submenu['menu1']['width'] = '190px';

//first submenu tree
submenu['menu4'] = new Array();
submenu['menu4'][0] = menuItem(getTxt("MENU_04_01"),'main.php?section=find_distributor','_self');
submenu['menu4'][1] = menuItem(getTxt("MENU_04_02"),'main.php?section=find_sales_rep','_self');
submenu['menu4']['width'] = '160px';


//first submenu tree
submenu['menu3'] = new Array();
submenu['menu3'][0] = menuItem(getTxt("MENU_03_01"),'main.php?section=formulas','_self');
submenu['menu3'][1] = menuItem(getTxt("MENU_03_02"),'main.php?section=charts','_self');
submenu['menu3'][2] = menuItem(getTxt("MENU_03_03"),'main.php?section=faq','_self');
submenu['menu3'][3] = menuItem(getTxt("MENU_03_04"),'main.php?section=video','_self');
submenu['menu3']['width'] = '150px';


//build or unhide submenu div...
function buildSubmenu(obj){
 var adj = new Array();
	lastOverId = obj.id;
	
	//get common part of div id
	menuPath = obj.id.split('_');
	
	//unset mousout of parent menus and make sure they are visible...
	x = "div";
	for( i = 0; i < menuPath.length; i++ ) {
		x += '_' + menuPath[i];
		if ( document.getElementById(x) ) {
			if ( tmr[x] )
				window.clearTimeout( tmr[x] );
		 	document.getElementById(x).style.visibility = 'visible';
		}		
	}

	//check if we have a submenu of the obj...
	if ( submenu[obj.id] ) {
		d = obj;
		if ( d ) {
			L_pos = d.offsetLeft - 4;
			T_pos = d.offsetTop + 26;
			while( d.offsetParent ) {
				d = d.offsetParent;
				L_pos += d.offsetLeft;					
				T_pos += d.offsetTop;
			}
		}

		//patch first submenu to go right below the main buttons...
		if ( obj.className.indexOf('menuItem') < 0 && alignSubmenu == 'bottom' ) {
			L_pos -= obj.offsetWidth;
			T_pos += obj.offsetHeight;
		}

		//move the submenu (overlap?)
		if ( (adjustTop || adjustLeft) && (adjustFirst || (!adjustFirst && obj.className.indexOf('menuItem') >= 0) ) ) {
			L_pos += adjustLeft;
			T_pos += adjustTop;
		}
		
		//check if already build...
		c = document.getElementById( 'div_' + obj.id );
		if ( c ) {
			//unhide...
			c.style.visibility = 'visible';
			c.style.zIndex = last_zIndex++;
			c.style.top = -2 + T_pos + "px";
			c.style.left = 5 + L_pos + "px";
			
		} else {
			//calc position of mouseover
			

			//build new div 
			subObj = document.createElement('div');
			subObj.id = 'div_' + obj.id;
			subObj.className = 'submenu';
			subObj.style.position = 'absolute';
			subObj.style.zIndex = last_zIndex++;
			subObj.style.width = submenu[obj.id]['width'];			
			subObj.style.top = -2 + T_pos + "px";
			subObj.style.left = 5 + L_pos + "px";

			//write div to the body...
			document.getElementsByTagName('body')[0].appendChild( subObj );

			//build phpl for submenu
			content = "";
			m = submenu[obj.id];
			for( i = 0; i < m.length; i++ ) {

				//determin target for onclick...
				//	(sorry, I should rewrite this routine...)
				if ( !m[i][2] || m[i][2] == '_self' ) {
					act = "self.location.href='" + m[i][1] + "';";
				} else if ( m[i][2] == '_top' ) {
					act = "top.location.href='" + m[i][1] + "';";
				} else if ( m[i][2] == '_blank' ) {
     act = "window.open('" + m[i][1] + "');";
				} else {
					act = "window.frames['"+m[i][2]+"'].location.href='" + m[i][1] + "';";
				}
				
				//make item
				content+= "<div onmouseout=\"hideSubmenu(this)\" onmouseover=\"buildSubmenu(this)\" "+ (m[i][1] ? "onclick=\""+ act + "\" " : "") + "class=\"menuItem" + (i==0 ? 'First' : (i==(m.length -1) && useLastItemCSS ? 'Last' : '')) + "\" id=\"" + obj.id + "_" + i +"\">" + m[i][0] + "</div>";
				//alert(content);
				adj[i] = obj.id + "_" + i;
			}

			//insert new menu
			subObj.innerHTML = content;

			//make all just made div's the same width...
			for( i = 0; i < adj.length; i++ ) {				
				document.getElementById(adj[i]).style.width = subObj.style.width;
				document.getElementById( adj[i] ).style.height = "14px";
				//alert(submenu[obj.id]['width']);
			}
			
		}
	}
}

//hide a submebu div
function hideSubmenu( obj ) {
	//get common part of div id
	closePath = obj.id.split('_');
	obj.style.backgroundColor = '';
	//hide path
	x = "div";
	for( i = 0; i < closePath.length; i++ ) {
		x+= '_' + closePath[i];
		if ( document.getElementById(x) )
			tmr[x] = window.setTimeout("document.getElementById('" + x + "').style.visibility = 'hidden';", 200);
		//The timeout above is needed for MSIE browsers... Or else the menu's will disapear on EVERY mousout!!!
		//Please get a normal browser like Firefox, Mozilla or Opera!!
	}
	
}


//add an menu item to the config array (called in the config lines)
function menuItem( txt, url, tar ){
	return new Array( txt, url, tar );
}

//*** Patch for firefox bug with focus on mouseover...
//		This function should be called onMouseOver of every iFrame that's under the menu structure.
function iFramePatch(){
	if(!document.all && lastOverId)
		hideSubmenu( document.getElementById(lastOverId) );
}

//*** Now a patch for MSIE lag of CSS2 compliance!!
if( navigator.userAgent.indexOf('MSIE') >= 0 && navigator.userAgent.indexOf('Opera') == -1 ){
	document.onmouseover = function() {
		obj = event.srcElement;
		if ( obj.className == 'menuItemFirst' || obj.className == 'menuItem' || obj.className == 'menuItemLast' )
			obj.className += 'Over';
	}
	
	document.onmouseout = function() {
		obj = event.srcElement;
		if( obj.className == 'menuItemFirstOver' || obj.className == 'menuItemOver' || obj.className == 'menuItemLastOver' )
			obj.className = obj.className.substring( 0, ( obj.className.length - 4 ) );
	}
}

