var MainmenuTimerId;
var MAINMENUACTIVE = "";
var MAINMENUACTIVEBUTTON = "";
var MAINMENUACTIVEPAGINA = '0';

function ShowMainMenu(paginaId)
{
	//alert('Show ' + paginaId);
	oButton = document.getElementById('MainmenuButton' + paginaId);
	oMenu = document.getElementById('Mainmenu' + paginaId);
	oCurrent = false;
	
	if (paginaId + '' == MAINMENUACTIVEPAGINA)
	{
		oCurrent = true;
	}
	
	oButton.className = 'MainmenuItemHover';
	if (oMenu)
	{
		if (oMenu.innerHTML.length > 0)
		{
		//	if (document.all)
		//	{
		//		oMenu.style.left = oButton.offsetLeft + 2;
		//		oMenu.style.top = oButton.offsetTop + 168;
		//	}
		//	else
		//	{
				var obj = oButton;
				var curleft = findPosX(obj);
				var curtop = findPosY(obj);
				if (BrowserDetect.browser == 'Safari')
				{
					oMenu.style.position = 'fixed';
				}
				
				if (document.all){
					oMenu.style.left = curleft + 2;}
				else {
					oMenu.style.left = curleft + 1;}
				oMenu.style.top = curtop + 22;
		//	}
			oMenu.style.display = "block";
		}
	}
	// Vorige open menu verbergen
	if (MAINMENUACTIVE != ('Mainmenu' + paginaId))
	{
		if (document.getElementById(MAINMENUACTIVE))
			document.getElementById(MAINMENUACTIVE).style.display = "none";
		if (document.getElementById(MAINMENUACTIVEBUTTON))
			document.getElementById(MAINMENUACTIVEBUTTON).className = "MainmenuItem";
	}
	MAINMENUACTIVE = 'Mainmenu' + paginaId;
	if (oCurrent)
	{
		MAINMENUACTIVEBUTTON = '';
	}
	else
	{
		MAINMENUACTIVEBUTTON = 'MainmenuButton' + paginaId;
	}
	MainmenuClearTimeOut();
}

function findPosX(obj) 
{
    var curleft = 0;
    if (obj.offsetParent) {
        while (1) {
            curleft+=obj.offsetLeft;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.x) {
        curleft+=obj.x;
    }
    return curleft;
}
function findPosY(obj) 
{
    var curtop = 0;
    if (obj.offsetParent) {
        while (1) {
            curtop+=obj.offsetTop;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.y) {
        curtop+=obj.y;
    }
    return curtop;
}


// Zet de timer, die het Edit Menu van een Blok gaat verbergen
function MainmenuHide(paginaId, currentPaginaId)
{
	//alert('Hide ' + paginaId);
	MainmenuTimerId = setTimeout("MainmenuHideForReal(" + paginaId + "," + currentPaginaId + ")",50);
}
// Verbergt het Edit menu van een Blok
function MainmenuHideForReal(paginaId, currentPaginaId)
{
	oButton = document.getElementById('MainmenuButton' + paginaId);
	oMenu = document.getElementById('Mainmenu' + paginaId);
	
	if (oMenu)
	{
		oMenu.style.display = "none";
	}
	if (paginaId != currentPaginaId)
	{
		oButton.className = 'MainmenuItem';
	}
	clearTimeout(MainmenuTimerId);
}	

function MainmenuClearTimeOut()
{
	clearTimeout(MainmenuTimerId);
}



var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();


