function contextmenu(str,show,e,type,maxwidth)
{
	var factor = 23;
	if(!e) e = event;
	if(type=="id")
	{
		str = document.getElementById(str).innerHTML;
	}
	if(!document.getElementById('contextmenudiv'))
	{
		div = document.createElement("div");
		div.setAttribute('id','contextmenudiv');
		document.body.appendChild(div);
	}
	if (e.pageX || e.pageY)
    {
      mousex = e.pageX;
      mousey = e.pageY;
    }
    else if (e.clientX || e.clientY)
    { 
      mousex = e.clientX + document.body.scrollLeft;
      mousey = e.clientY + document.body.scrollTop;
    }  

	document.getElementById('contextmenudiv').innerHTML = str;
	document.getElementById('contextmenudiv').style.position = 'absolute';
	document.getElementById('contextmenudiv').style.padding = '5px';
	document.getElementById('contextmenudiv').style.fontSize = '11px';
	document.getElementById('contextmenudiv').style.fontFamily = 'arial';
	document.getElementById('contextmenudiv').style.border = '1px solid #D4C897';
	document.getElementById('contextmenudiv').style.backgroundColor = '#EEEAD1';
	document.getElementById('contextmenudiv').style.color = '#656565';
	document.getElementById('contextmenudiv').style.textAlign = 'justify';
	document.getElementById('contextmenudiv').style.zIndex = '999';
	if(maxwidth && document.getElementById('contextmenudiv').offsetWidth > maxwidth)
	{
		document.getElementById('contextmenudiv').style.width = maxwidth+'px';
	}
	
	if((mousey + document.getElementById('contextmenudiv').offsetHeight > document.body.clientHeight)&&document.body.clientHeight)
    {
    	factor = - 23 - document.getElementById('contextmenudiv').offsetHeight;
    }
	
	var varleft = mousex - 10;
	var vartop = mousey + factor;
	
	document.getElementById('contextmenudiv').style.top = vartop + 'px';
	document.getElementById('contextmenudiv').style.left = varleft + 'px';
	
	if(show == 'off')
	{
		document.getElementById('contextmenudiv').style.display = 'none';
	}
	if(show == 'on')
	{
		document.getElementById('contextmenudiv').style.display = 'inline';
	}
}