// JavaScript for showing dropdown items in header menu

function getElementPosition(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    // The following Mac-specific code only seems to screw things up
    /*if (whichPlatform() == "Mac" && typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }*/
    return {left:offsetLeft, top:offsetTop};
}

function showSubMenu(menu, mainlink) {
	var menuDIVs = new Array(
		document.getElementById('menuCountry'),
		document.getElementById('menuDowntown'),
		document.getElementById('menuAbout'),
		document.getElementById('menuCommCenter'),
		document.getElementById('menuHowItWorks')
	);
	var mainLinks = new Array(
		document.getElementById('mainLinkCountry'),
		document.getElementById('mainLinkDowntown'),
		document.getElementById('mainLinkAbout'),
		document.getElementById('mainLinkCommCenter'),
		document.getElementById('mainLinkHowItWorks')
	);
	var menuHdr = document.getElementById(mainlink);
	var menuHdrPos = getElementPosition(mainlink);
	var menuDIV = document.getElementById(menu);
	for (var i=0; i<mainLinks.length; i++) {
		mainLinks[i].style.backgroundColor = "#65572e"; // Reset background color of all menu items
	}
	for (var j=0; j<menuDIVs.length; j++) {
		if (document.getElementById(menu) != menuDIVs[j]) menuDIVs[j].style.display = "none"; // Hide previous menu, whatever it was
	}
	menuDIV.style.left = parseInt(menuHdrPos.left) + "px";
	menuDIV.style.top = (parseInt(menuHdrPos.top) + 33) + "px";
	menuDIV.style.visibility = "visible";
	menuDIV.style.display = "";
	menuHdr.style.backgroundColor = "#453918";
	/*
	// Internet Explorer wasn't clipping child DIVs inside their container so we have to adjust the width accordingly:
	if (whichBrowser() == "Internet Explorer") {
		menuDIV.style.width = 159 + "px";
		var chldrn = menuDIV.getElementsByTagName('div');
		for (var i=0; i<chldrn.length; i++) {
			chldrn[i].style.width = 155 + "px";
		}
	}
	*/
}

var _timer = '';

function hideSubMenus() {
	document.getElementById('menuCountry').style.display = "none";
	document.getElementById('menuDowntown').style.display = "none";
	document.getElementById('menuAbout').style.display = "none";
	document.getElementById('menuCommCenter').style.display = "none";
	document.getElementById('menuHowItWorks').style.display = "none";
	document.getElementById('mainLinkCountry').style.backgroundColor = "#65572e";
	document.getElementById('mainLinkDowntown').style.backgroundColor = "#65572e";
	document.getElementById('mainLinkAbout').style.backgroundColor = "#65572e";
	document.getElementById('mainLinkCommCenter').style.backgroundColor = "#65572e";
	document.getElementById('mainLinkHowItWorks').style.backgroundColor = "#65572e";
	clearInterval(_timer);
}

function changeBGColor(elem,_event) {
	// Internet Explorer doesn't do CSS hover events for elements other than A tags, so we'll have to do it manually
	//if (whichBrowser() == "Internet Explorer") {
		switch (_event) {
			case "over":
				elem.style.backgroundColor = "#453918";
				break;
			case "off":
				elem.style.backgroundColor = "#65572e";
				break;
		}
	//}
}

function hideMenusTimer(t) {
	switch (t) {
		case 'start':
			_timer = setInterval('hideSubMenus()', 100);
			break;
		case 'stop':
			clearInterval(_timer);
			break;
	}
}

function whichBrowser() {
	var agt = navigator.userAgent.toLowerCase();
	if (agt.indexOf("opera") != -1) return 'Opera';
	else if (agt.indexOf("staroffice") != -1) return 'Star Office';
	else if (agt.indexOf("beonex") != -1) return 'Beonex';
	else if (agt.indexOf("chimera") != -1) return 'Chimera';
	else if (agt.indexOf("netpositive") != -1) return 'NetPositive';
	else if (agt.indexOf("phoenix") != -1) return 'Phoenix';
	else if (agt.indexOf("firefox") != -1) return 'Firefox';
	else if (agt.indexOf("camino") != -1) return 'Camino';
	else if (agt.indexOf("safari") != -1) return 'Safari';
	else if (agt.indexOf("skipstone") != -1) return 'SkipStone';
	else if (agt.indexOf("msie") != -1) return 'Internet Explorer';
	else if (agt.indexOf("netscape") != -1) return 'Netscape';
	else if (agt.indexOf("mozilla/5.0") != -1) return 'Mozilla';
	else if (agt.indexOf('\/') != -1) {
		if (agt.substr(0,agt.indexOf('\/')) != 'mozilla') {
			return navigator.userAgent.substr(0,agt.indexOf('\/'));
		}
		else return 'Netscape';
	}
	else if (agt.indexOf(' ') != -1)
		return navigator.userAgent.substr(0,agt.indexOf(' '));
	else return navigator.userAgent;
}