var bsAgent = navigator.userAgent.toLowerCase();
var bsOpera = (bsAgent.indexOf('opera') != -1);
var bsIE = (bsAgent.indexOf('msie') != -1) && !bsOpera;
var bsSafari = (bsAgent.indexOf('safari') != -1);

function menu() {
	var menuObj = document.getElementById('mainmenu');
	var menuitems = menuObj.getElementsByTagName('LI');
	var menuWidth = menuObj.offsetWidth;
	
	for ( var i=0; i<menuitems.length; i++)	{
		if (menuitems[i].className == 'active') {
			if (menuitems[i].childNodes[2] && menuitems[i].childNodes[2].childNodes[0])	{
				var menuitemPos = menuitems[i].offsetLeft;
				var menuitemWidth = menuitems[i].offsetWidth;
				var submenuObj = menuitems[i].childNodes[2].childNodes[0];
				var submenuWidth = submenuObj.offsetWidth;
				
				if (submenuWidth < 160) {
					submenuObj.childNodes[0].childNodes[0].style.padding = '0 50px 0 40px';
					var submenuWidth = submenuObj.offsetWidth;
				}
									
				if ( (menuitemPos + menuitemWidth/2) > submenuWidth/2 ) {
					if ( (menuWidth - (menuitemPos + menuitemWidth/2)) < submenuWidth/2 )
						submenuObj.style.left = menuWidth - submenuWidth - 5 + 'px';
					else
						submenuObj.style.left = parseInt(menuitemPos + menuitemWidth/2 - submenuWidth/2) + 'px';
				}
				else submenuObj.style.left = '10px';
				
				submenuObj.style.visibility = 'visible';
			}
		}
	}
}

if (bsSafari) window.onload = function() { menu(); };
else menu();
