var strictDocType = true; 
var MSIE = navigator.userAgent.indexOf('MSIE')>=0?true:false;
var regExp = new RegExp(".*MSIE ([0-9]\.[0-9]).*","g");
var navigatorVersion = navigator.userAgent.replace(regExp,'$1');


function getStyleObject(objectId) {
    // cross-browser function to get an object's style object given its id
    if(document.getElementById && document.getElementById(objectId)) {
	// W3C DOM
	return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
	// MSIE 4 DOM
	return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
	// NN 4 DOM.. note: this won't find nested layers
	return document.layers[objectId];
    } else {
	return false;
    }
} // getStyleObject

function changeObjectVisibility(objectId, newVisibility) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	styleObject.visibility = newVisibility;
	styleObject.zIndex = 5000;
	return true;
    } else {
	// we couldn't find the object, so we can't change its visibility
	return false;
    }
} // changeObjectVisibility

function moveObject(objectId, newXCoordinate, newYCoordinate) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	styleObject.left = newXCoordinate;
	styleObject.top = newYCoordinate;
	return true;
    } else {
	// we couldn't find the object, so we can't very well move it
	return false;
    }
} // moveObject



function showMenu(menuNumber, eventObj) {
    //    alert(eventObj);
    hideAllMenus();
    var menuId = 'menu' + menuNumber;
    if(changeObjectVisibility(menuId, 'visible')) {
	var menuTitle = getStyleObject('menuTitle' + menuNumber);
//	menuTitle.backgroundColor = '#000000';
	calcMenuPos(menuNumber)	
	eventObj.cancelBubble = true;
	return true;
    } else {
	return false;
    }
}

var numMenus = 6;

function hideAllMenus() {
    for(counter = 1; counter <= numMenus; counter++) {
	changeObjectVisibility('menu' + counter, 'hidden');
	var menuTitle = getStyleObject('menuTitle' + counter);
//	menuTitle.backgroundColor = '#000000';
	
    }
}


document.onmouseover = hideAllMenus;



function calcMenuPos(menuNumber) {
	var menuTitle = document.getElementById('menuBarLink' + menuNumber);
	
	var menuID = getStyleObject('menu' + menuNumber);
	var xmenushift= 10;
	var ymenushift= 23;	
	// this is firefox. The position it reads is position from left of body statement so we need to substract the space between container left-side and body left side:
		var containerObject = document.getElementById('container');
		var containerpos = getPos(containerObject).x;
		xmenushift= xmenushift - containerpos;
	//alert('nothing');
	// Start: IE5.5 FIX
	if((navigatorVersion && navigatorVersion<6) || (MSIE && !strictDocType)){ 
		//alert('ie 5.5');
		xmenushift= -25;
		ymenushift= -50;
	}
	// End: IE5.5 FIX
	// Start: IE6FIX
	if((navigatorVersion && navigatorVersion==6 && MSIE)){ 
		xmenushift= 30;
		ymenushift= 120;
		//alert('ie 6');
	}
	// End: IE6 FIX
	// Start: IE7FIX
	if((navigatorVersion && navigatorVersion>6 && MSIE)){
		xmenushift= 30;
		ymenushift= 120;
		//alert('ie 7');
	}
	// End: IE7 FIX
	
	var menuPosLeft= getPos(menuTitle).x + xmenushift;
	var menuPosTop= getPos(menuTitle).y + ymenushift;
	menuID.left = menuPosLeft +'px';
	menuID.top = menuPosTop +'px';
}


function getPos(el) {
    var browser = navigator.appName;
    if(browser == 'Microsoft Internet Explorer') {
	lx =el.offsetLeft;
	ly=el.offsetTop;
	var el2 = document.getElementById('menuBar');
	lx+= el2.offsetLeft;
	ly+= el2.offsetTop;
	return {x:lx,y:ly}
} else {
	for (var lx=0,ly=0;el!=null;
		lx+=el.offsetLeft,ly+=el.offsetTop,el=el.offsetParent);
	return {x:lx,y:ly}
} 
}
