document.getElementById('DivMenu').style.visibility="hidden";
var mouse_x;
var mouse_y;
var Statut;


function Bouton(val,Div)
{			
	position;
	Statut = val;
	if(Statut)
	{
		Element = document.getElementById(Div);
		Element.style.position = "absolute";
		x_origin = mouse_x - parseInt(Element.style.left);
		y_origin = mouse_y - parseInt(Element.style.top);
		Element.style.zIndex = 1000;
	}
	else
	{
		if(Div!="")
		{
			Element = document.getElementById(Div);
			Element.style.zIndex = 50;
			LastMoved = "";
		}
	}	
}

function register_position()
{
	document.onmousemove = position;
	//document.onmouseup = Bouton(false,'DivMenu');
}
	
function position(evt)
{
	if(!evt) evt = window.event;    
		mouse_x = evt.clientX;
		mouse_y = evt.clientY;
	Deplace('DivMenu');
}

function Deplace(Div)
{		
	if(Statut)
	{		
		Element = document.getElementById(Div);
		//document.getElementById('Debug').innerHTML = mouse_y-y_origin;
		if(mouse_y+Element.offsetHeight<screen.availHeight-150 && mouse_y-y_origin>25)
			Element.style.top = mouse_y-y_origin;
		if(mouse_x+Element.offsetWidth<screen.availWidth-25 && mouse_x-x_origin>25)
			Element.style.left = mouse_x-x_origin;
		SetCookie('MenuPosition',parseInt(Element.style.top)+":"+parseInt(Element.style.left));
		if(document.selection)
		{
			document.selection.empty();
		}
		else
		{
			window.getSelection().removeAllRanges();
		}
	}
}

function SetOrigine()
{
	var Referer = document.getElementById('Referer');
	var Element = document.getElementById('DivMenu');
	Element.style.top = ds_gettop(Referer)+Referer.offsetHeight;
	Element.style.left = ds_getleft(Referer);
	SetCookie('MenuPosition',parseInt(Element.style.top)+":"+parseInt(Element.style.left));
}

function ds_getleft(el) {
	var tmp = el.offsetLeft;
	el = el.offsetParent
	while(el) {
		tmp += el.offsetLeft;
		el = el.offsetParent;
	}
	return tmp;
}
function ds_gettop(el) {
	var tmp = el.offsetTop;
	el = el.offsetParent
	while(el) {
		tmp += el.offsetTop;
		el = el.offsetParent;
	}
	return tmp;
}


function Init()
{
	var Temp = (document.getElementById('ds_calclass')!=undefined)
	if(Temp)
	{
		var Div = document.getElementById('DivMenu');
		var Referer = document.getElementById('Referer');
		var Position = GetCookie('MenuPosition');
		var Top;
		var Left;
		if(Position!= null && Position!="")
		{
			var reg = new RegExp("[:]", "ig");
			res = Position.split(reg);
			Top = res[0];
			Left = res[1];
		}
		else
		{
			Top = 0;
			Left = screen.availWidth-25 - parseInt(document.getElementById('DivMenu').offsetWidth);
		}
		
		Div.style.position = "absolute";
		Div.style.top = Top ;
		Div.style.left = Left;
		Div.style.zindex = 1000;
		register_position();	
		Div.style.visibility = "visible";
	}
}

function SetCookie (name, value) 
{
	var argv=SetCookie.arguments;
	var argc=SetCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	if(expires==null)
	{
		/*
		var date_c = new Date();
		date_c.setTime(date_c.getTime()+(3600*1000));
		expires = date_c.toGMTString();
		*/
	}
	var path=(argc > 3) ? argv[3] : null;
	if(path==null)
	{
		var pathname=location.pathname;
		var myDomain=pathname.substring(0,pathname.lastIndexOf('/')) +'/';
	}
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=name+"="+escape(value)+
		((expires==null) ? "" : ("; expires="+expires))+
		((path==null) ? "" : ("; path="+path))+
		((domain==null) ? "" : ("; domain="+domain))+
		((secure==true) ? "; secure" : "");
}

function GetCookie (name) 
{
	var arg=name+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen) 
	{
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg)
						return getCookieVal (j);
				i=document.cookie.indexOf(" ",i)+1;
						if (i==0) break;
	}
	return null;
}

function getCookieVal(offset) 
{
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1)
      	endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
