var menuLinksArray = new Array();
		var showOriginalContextMenu = 1;
		var documentLoaded = 0;
		var moveContextMenu = 0;	


		
		function CMA_bodyOnload(e)
		{
			// fonction qui creer la div en display none avec rien dedans
		
			var contextMenu = document.createElement('div');
			contextMenu.id = 'cm_contextmenu';
			contextMenu.className = 'contextmenu';
			contextMenu.style.display = 'none';
			
			
			
			
			document.body.appendChild(contextMenu);
			
			
			document.body.onmousemove = function(e)
			{
				if(moveContextMenu)
				{
		
					if(window.event)
					{
						Mouse_X = window.event.clientX;
						Mouse_Y = window.event.clientY;
						
					}
					else
					{
						
						Mouse_X = e.pageX;
						Mouse_Y = e.pageY;
					}
				
					var newTop = (Mouse_Y-5)+'px';
					document.getElementById('cm_contextmenu').style.top = newTop;
					
					var newLeft = (Mouse_X-10)+'px';
					document.getElementById('cm_contextmenu').style.left = newLeft;
				

				}	
			}
			document.body.onclick = function(e)
			{
				
				CMA_bodyOnclick(e);	
			}
		
			
			document.body.oncontextmenu = function(e)
			{
				
				CMA_bodyOncontextmenu(e);
				return showOriginalContextMenu;
			}
			
			document.body.onmouseup = function()
			{
				moveContextMenu = 0;	
			}
			
			documentLoaded = 1;
		}
		
		
		
	

		
		function CMA_bodyOnclick(e)
		{
			if ((!document.all && e.which != 3) || (document.all && event.button!=2))
			{				
				if(documentLoaded)
				{
					//alert("onclick");
					
					CMA_getMenu(e,'left');	
				}
			}
		}
		
		function CMA_bodyOncontextmenu(e)
		{
			if(documentLoaded)
			{
				//alert("oncontext");
				
			
			
				CMA_getMenu(e,'right');
			}
		}		
		function CMA_unsetMenu()
		{
			var contextMenu = document.getElementById('cm_contextmenu');
			
			
			if(contextMenu && !moveContextMenu)
			{
				
				contextMenu.innerHTML = '';
				contextMenu.style.display='none';
			}
		}
		
	

		function CMA_addMenuLink(idbalise,button,ajaxLink)
		{
			if(!menuLinksArray[idbalise])
				menuLinksArray[idbalise] = new Array();
				
			menuLinksArray[idbalise][button] = ajaxLink;		
		}
		

		function CMA_getMenu(e,clicktype)
		{
			
			// fonction qui va chercher le contenu pour afficher le menu
			
			
			
			
			if(window.event)
			{
				Mouse_X = window.event.clientX;
				Mouse_Y = window.event.clientY;
				var Target = window.event.srcElement;
			}
			else
			{
				Mouse_X = e.pageX;
				Mouse_Y = e.pageY;
				var Target = e.target;
			}
			
			if(Target.id == 'cm_contextmenumove')
				return false;
			CMA_unsetMenu();
	
			
			var contextMenu = document.getElementById('cm_contextmenu')
			
			/*if(Target.getAttribute && menuLinksArray[Target.getAttribute('idblock')])
			{
				
				var menuLinkToShow = menuLinksArray[Target.getAttribute('idblock')];
			}
			else */if(menuLinksArray[Target.id])
			{
				var menuLinkToShow = menuLinksArray[Target.id];
			}
			else
			{
				while(!menuLinkToShow && Target.parentNode)
				{
					/*if(Target.parentNode.getAttribute && menuLinksArray[Target.parentNode.getAttribute('idblock')])
						var menuLinkToShow = menuLinksArray[Target.parentNode.getAttribute('idblock')];
					else */if(menuLinksArray[Target.parentNode.id])
						var menuLinkToShow = menuLinksArray[Target.parentNode.id];
					else
						Target = Target.parentNode;
				}
			}
			
			
			
			
		
			

			if(menuLinkToShow)
			{
				contextMenu.style.top = (Mouse_Y+2)+"px";
				contextMenu.style.left = (Mouse_X+2)+"px";
				
				
				
			
				if(menuLinkToShow[clicktype])
				{
					var ajaxUrl = menuLinkToShow[clicktype];
					
					
					
					new Ajax.Request
					(
					 	ajaxUrl,
						{
							method:"POST",
							onSuccess:function(transport)
							{
								contextMenu.innerHTML = '';
								
								var contextMenuContent = document.createElement('div');
								contextMenuContent.id = 'cm_contextmenucontent';
								contextMenuContent.className = 'contextmenucontent';
								contextMenuContent.innerHTML = transport.responseText;
																
								
								var contextMenuMove = document.createElement('div');
								contextMenuMove.id = 'cm_contextmenumove';
								contextMenuMove.className = 'contextmenumove';
								contextMenuMove.innerHTML = '&nbsp;';
								contextMenuMove.height = '2px';
								contextMenuMove.onmousedown = function()
								{
									moveContextMenu = 1;	
				
																	
								}
								
								
								

								
								
								contextMenu.appendChild(contextMenuMove);
								contextMenu.appendChild(contextMenuContent);	
								
								setMenuDynamique('cm_contextmenucontent','li','sousmenu');
							}
						}
					);
					
				}
				
				
				contextMenu.style.display = "block";
			
				showOriginalContextMenu = false;
			}
			else
			{
				showOriginalContextMenu = true;
			}
										
		}
		