document.onclick = hideContextMenu;
document.onkeyup = hideContextMenu;

var elementId=0;

function initContext(element, event){
	var cposition=Position.cumulativeOffset(element);
	var cx=cposition[0];
	var cy=cposition[1];
	
	var pposition=Position.positionedOffset(element);
	var px=pposition[0];
	var py=pposition[1];
	
	if($("contextMenu"+elementId))
		$("contextMenu"+elementId).style.display='none';
	
	elementId=element.id.replace("div_","");
	var contextId = "contextMenu"+elementId;

	$(contextId).style.left=(Event.pointerX(event)-cx+px)+"px";
	$(contextId).style.top=(Event.pointerY(event)-cy+py)+"px";	

	$(contextId).style.display='block';
}

function hideContextMenu(){
	var cont = $('item');
	var object = getElementsByClassName('contextMenu', 'div', cont);	
	for(i = 0; i < object.length; i++){ 
		if (object[i].style.display!='none') 
			object[i].style.display='none';
	} 

	//$("contextMenu").style.display='none';
}

/************************************ getElementsByClassName ************************************************/
/* 
	Bessere und performantere Funktion als die von Prototype.
	strClass 			= gesuchte Class
	[strTag] 			= gesuchter Tag (opt.)
	[objContElm] 	= Element das durchsucht werden soll (opt.)
*/
	getElementsByClassName = function(strClass, strTag, objContElm) {
	  strTag = strTag || "*";
	  objContElm = objContElm || document;
	  var objColl = objContElm.getElementsByTagName(strTag);
	  if (!objColl.length &&  strTag == "*" &&  objContElm.all) objColl = objContElm.all;
	  var arr = new Array();
	  var delim = strClass.indexOf('|') != -1  ? '|' : ' ';
	  var arrClass = strClass.split(delim);
	  for (var i = 0, j = objColl.length; i < j; i++) {
	    var arrObjClass = objColl[i].className.split(' ');
	    if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
	    var c = 0;
	    comparisonLoop:
	    for (var k = 0, l = arrObjClass.length; k < l; k++) {
	      for (var m = 0, n = arrClass.length; m < n; m++) {
	        if (arrClass[m] == arrObjClass[k]) c++;
	        if (( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) {
	          arr.push(objColl[i]);
	          break comparisonLoop;
	        }
	      }
	    }
	  }
	  return arr;
	}
	
// To cover IE 5.0's lack of the push method
Array.prototype.push = function(value) {
  this[this.length] = value;
}
/************************************************************************************************************/
