var detailsLink0="";
var createEventLink0="";
var editEventLink0="";
var deleteEventLink0="";
var createActivityLink0="";
var editActivityLink0="";
var deleteActivityLink0="";
var targetDetailsLink0="";
var singleScheduleLink0="";

var detailsLink="";
var createEventLink="";
var editEventLink="";
var deleteEventLink="";
var createActivityLink="";
var editActivityLink="";
var deleteActivityLink="";
var targetDetailsLink="";
var singleScheduleLink="";

var aktiv=0;	// Variable enth�lt 0 bei verstecktem Kontextmen� und 1 bei sichtbarem 
var timer=null;	// Variable f�r timeout zum Verstecken des Kontextmen�s
var posx=0;		// Linke Position des Kontextmen�s
var posy=0;		// Obere Position des Kontextmen�s
var dx=-4;		// Verschiebung des Men�s relativ zum Mauszeiger in x
var dy=-4;		// Verschiebung des Men�s relativ zum Mauszeiger in y


// Speichert bei onMouseover den Kontext in Puffer-Variablen.
function setMenuLinks(detailsLink, createLink, editLink, deleteLink, targetLink, singleLink)
{
	detailsLink0=detailsLink;
	createActivityLink0=createLink;
	editActivityLink0=editLink;
	deleteActivityLink0=deleteLink;
	targetDetailsLink0=targetLink;
	singleScheduleLink0=singleLink;
}


// Speichert bei onMouseover den Kontext in Puffer-Variablen.
function setMenuLinksWithEvent(detailsLink, createEventLink, editEventLink, deleteEventLink, createLink, editLink, deleteLink, targetLink, singleLink)
{
	detailsLink0=detailsLink;
	createEventLink0=createEventLink;
	editEventLink0=editEventLink;
	deleteEventLink0=deleteEventLink;
	createActivityLink0=createLink;
	editActivityLink0=editLink;
	deleteActivityLink0=deleteLink;
	targetDetailsLink0=targetLink;
	singleScheduleLink0=singleLink;
}


// L�scht bei onMouseoout die Puffer-Variablen.
function clearMenuLinks()
{
	detailsLink0="";
	createEventLink0="";
	editEventLink0="";
	deleteEventLink0="";
	createActivityLink0="";
	editActivityLink0="";
	deleteActivityLink0="";
	targetDetailsLink0="";
	singleScheduleLink0="";
	window.status = '';
	return true;
}


// �bertr�gt die Attribute aus dem Puffer in die f�r das Kontextmen�
// relevanten Variablen. Solange das Kontextmen� ge�ffnet ist, haben
// Mausbewegungen keinen Einfluss mehr auf den entsprechenden Kontext.
// Im Puffer kann jedoch ein neuer Kontext abgelegt werden.
function saveActivityLinks()
{
	detailsLink=detailsLink0;
	createEventLink=createEventLink0;
	editEventLink=editEventLink0;
	deleteEventLink=deleteEventLink0;
	createActivityLink=createActivityLink0;
	editActivityLink=editActivityLink0;
	deleteActivityLink=deleteActivityLink0;
	targetDetailsLink=targetDetailsLink0;
	singleScheduleLink=singleScheduleLink0;

	return (detailsLink.length > 0 || createEventLink.length > 0 
		|| editEventLink.length > 0 || deleteEventLink.length > 0
		|| createActivityLink.length > 0 || editActivityLink.length > 0 
		|| deleteActivityLink.length > 0 || targetDetailsLink.length > 0 
		|| singleScheduleLink.length > 0);
}


//Festlegen der Menueposition
function getPosX(e)
{
	if(checkBrowserName('msie'))
		return event.clientX-parseInt(document.documentElement.scrollLeft);
  	else if (checkBrowserName('firefox'))
 		return e.pageX+parseInt(window.pageXOffset);
}

function getPosY(e)
{
	if(checkBrowserName('msie'))
		return event.clientY+parseInt(document.documentElement.scrollTop);
  	else if (checkBrowserName('firefox'))
  	{
 		return e.pageY+parseInt(window.pageYOffset);
 	}
}


// Wird aufgerufen, wenn im IE die rechte Maustaste ger�ckt wird.
function clickIE()
{
	var conmenu = document.getElementById('conmenu');

	if (saveActivityLinks())
	{			
		aktiv=1;
		conmenu.style.top=getPosY(window.event)+dy+'px';
		conmenu.style.left=getPosX(window.event)+dx+'px';
		conmenu.style.visibility="visible";
		window.status=" ";
		adjustMenu();
		return false;
	}
	else
	{
		aktiv=0;
		conmenu.style.visibility="hidden";
	}
}
// Wird aufgerufen, wenn im NS6/NS4 die rechte oder linke Maustaste
// gedr�ckt wird oder im IE die linke Maustaste.
function clickFF(e) 
{
	var conmenu = document.getElementById('conmenu');
	if(e.which == 3 || e.which == 2)
	{
		if (saveActivityLinks())
		{
			aktiv=1;
			conmenu.style.top=getPosY(e)+dy+'px';
			conmenu.style.left=getPosX(e)+dx+'px';
			conmenu.style.visibility="visible";
			window.status=" ";
			adjustMenu();
			return false;
		}
		else
		{
			aktiv=0;
			conmenu.style.visibility="hidden";
		}
	}
	else if(e.which == 1)
	{
		aktiv=0;
		conmenu.style.visibility="hidden";
	}
}
function adjustMenu()
{
	var menuDetails = document.getElementById('menuDetails');
	var menuDetailsDivide = document.getElementById('menuDetailsDivide');
	var menuCreateActivity = document.getElementById('menuCreateActivity');
	var menuEditActivity = document.getElementById('menuEditActivity');
	var menuDeleteActivity = document.getElementById('menuDeleteActivity');
	if(showMenu(detailsLink))
	{
		menuDetails.style.display = 'block';
		menuDetailsDivide.style.display = 'block';
	}
	else
	{
		menuDetails.style.display = 'none';
		menuDetailsDivide.style.display = 'none';
	}
		
	if(showMenu(createActivityLink))
		menuCreateActivity.style.display = 'block';
	else
		menuCreateActivity.style.display = 'none';
		
	if(showMenu(editActivityLink))
		menuEditActivity.style.display = 'block';
	else
		menuEditActivity.style.display = 'none';
		
	if(showMenu(deleteActivityLink))
		menuDeleteActivity.style.display = 'block';	
	else
		menuDeleteActivity.style.display = 'none';	
}
function showMenu(menuLink)
{
	if (menuLink.length > 0)
	{ 
		if(menuLink.indexOf("FORBIDDEN") != -1)
			return false;
		else
			return true;
	}
	else
		return false;
}




// Wird kontinuierlich aufgerufen,wenn die Maus bewegt wird.
// Ist das Men� sichtbar (aktiv==1), wird ermittelt, ob sich
// die Maus au�erhalb des Men�s befindet.Ist dies der Fall,
// wird ein Timeout mit 1 Sek. Verz�gerung gestartet. Wird
// innerhalb dieser Zeit die Maus nicht �ber das Men� gef�hrt,
// wird es ausgeblendet.
function verstecken(e)
{
	var conmenu = document.getElementById('conmenu');
	if(aktiv==1)
	{
		clearTimeout(timer);
		if (checkBrowserName('firefox'))
		{
			o=posy;
			l=posx;
			u=posy+parseInt(conmenu.style.height);
			r=posx+parseInt(conmenu.style.width);
			if(e.pageX<l||e.pageX>r||e.pageY<o||e.pageY>u)
				timer=setTimeout('hideConMenu()',1000);
		}
		else if (checkBrowserName('msie'))
		{
			o=posy;
			l=posx;
			u=posy+parseFloat(conmenu.currentStyle.height);
			r=posx+parseInt(conmenu.currentStyle.width);
			if(window.event.clientX<l||window.event.clientX>r||window.event.clientY<o||window.event.clientY>u)
				timer=setTimeout('hideConMenu()',1000);
		}
	}
}

function hideConMenu()
{
	document.getElementById("conmenu").style.visibility="hidden";
	aktiv=0;
}

/* User Agent (Browserkennung) auf einen bestimmten Browsertyp pr�fen */  
function checkBrowserName(name)
{   
	var agent = navigator.userAgent.toLowerCase();  
	if (agent.indexOf(name.toLowerCase())>-1) 
	{   
 		return true;   
	}   
	return false;   
} 


// Registrieren der Eventhandler
if (checkBrowserName('firefox'))
{
	document.oncontextmenu=clickFF;
	//document.captureEvents(Event.MOUSEDOWN|Event.MOUSEMOVE);
	//document.onmousedown=clickFF;
	//document.onmouseup=clickFF;
}
else if (checkBrowserName('msie'))
{
	document.oncontextmenu=clickIE;
}
document.onmousemove=verstecken;
