// script issu de : http://www.webbricks.org/bricks/dragOn/
function addEvent(a,b,c,d){
	if(a.addEventListener){
		a.addEventListener(b,c,d)
	}
	else{
		a.attachEvent("on"+b,c)
	}
}

function getPos(a){
	var b={'r':0,'l':0,'t':0,'b':0};
	var c=a;
	do{b.l+=c.offsetLeft;c=c.offsetParent}
	while(c!==null);
	b.r=b.l+a.offsetWidth;
	c=a;
	do{
	b.t+=c.offsetTop;
	c=c.offsetParent
	}
	while(c!==null);
	b.b=b.t+a.offsetHeight;
	b.b=b.b-200;
	return b
}
	
var mousePos={'x':0,'y':0};
function getMousePos(a){
	var b=document,c=b.documentElement,d=document.body;
	a=a||window.event;
	if(a.pageX||a.pageY){
		mousePos.x=a.pageX;
		mousePos.y=a.pageY
	}
	else if(a.clientX||a.clientY){mousePos.x=a.clientX+d.scrollLeft+c.scrollLeft;mousePos.y=a.clientY+d.scrollTop+c.scrollTop}
}
addEvent(document,'mousemove',getMousePos);
	
function inRange(a,b,c,d){
	if(((a<=d)&&(a>=c))||((b<=d)&&(b>=c))){return true}
	return false
}
	
function isOver(a,b){
	var c=getPos(a),d=getPos(b),e,f,g,h,i,j,k,l;
	e=c.t;f=c.b;g=c.l;h=c.r;i=d.t;j=d.b;k=d.l;l=d.r;
	if(inRange(e,f,i,j)&&inRange(g,h,k,l)){return true}
	return false
}
	
var dragOn={
	decalX:0,decalY:0,isDragging:0,maxZ:0,before:function(a){
		a=a||this.isDragging;
		this.maxZ++;
		a.style.zIndex=this.maxZ;
		if(a.dragOptions.moveArea){
			var b=typeof a.dragOptions.moveArea=='object'?a.dragOptions.moveArea:a.dragOptions.moveArea.parentNode;
			b=getPos(b);
			a.dragOptions.minX=b.l;
			a.dragOptions.maxX=b.r;
			a.dragOptions.minY=b.t;
			a.dragOptions.maxY=b.b
		}
		},start:function(a){
			if(a.dragOptions.moveArea){
				var b=typeof a.dragOptions.moveArea=='object'?a.dragOptions.moveArea:a.dragOptions.moveArea.parentNode;
				b=getPos(b);
				a.dragOptions.minX=b.l;
				a.dragOptions.maxX=b.r;
				a.dragOptions.minY=b.t;
				a.dragOptions.maxY=b.b
			}
			this.isDragging=a;
			a.style.top=getPos(a).t+'px';
			//a.style.left=getPos(a).l+'px';
			if(a.dragOptions.cssPosition!=='fixed'){a.style.position='absolute'}
			if(a.dragOptions.movingClass){a.className+=" "+a.dragOptions.movingClass}
			//dragOn.decalX=mousePos.x-getPos(a).l;
			dragOn.decalY=mousePos.y-getPos(a).t;
			dragOn.decalY = 0;
			this.before(a);
			this.move()
		},stop:function(){
			var a=dragOn.isDragging;
			if(a){
				if(a.dragOptions.movingClass){a.className=a.className.replace(" "+a.dragOptions.movingClass,'')}
				dragOn.isDragging=0
			}
		},apply:function(b,c){
			c=c||{};
			var d=c.handle=c.handle?c.handle:b;
			c.cssPosition=c.cssPosition?c.cssPosition:b.style.position;
			c.moveHoriz=c.moveHoriz===undefined?1:c.moveHoriz;
			c.moveVert=c.moveVert===undefined?1:c.moveVert;
			b.dragOptions=c;
			b.style.width=b.clientWidth+'px';
			b.style.height=b.clientHeight+'px';
			var e,f;
			e=function(a){dragOn.start(b)};
			addEvent(d,'mousedown',e);
			f=function(){dragOn.before(b)};
			addEvent(b,'mousedown',f);
			d.onselectstart=function(){return false};
			d.onmousedown=function(){return false}
			},move:function(){
				var a=dragOn.isDragging,b,c,d;
				if(a){
					if(a){
						b=a.dragOptions;
						if(b.moveHoriz){
							c=mousePos.x-dragOn.decalX;
							c=b.maxX!==undefined&&b.maxX<c+a.offsetWidth?b.maxX-a.offsetWidth:c;
							c=b.minX!==undefined&&b.minX>c?b.minX:c;
							a.style.left=c+"px"
						}
						if(b.moveVert){
							d=mousePos.y-dragOn.decalY-260;
							if(d<=1){d=0;}
							if(d>=223){d=223;}
							hauteur = (document.getElementById('home_textarea_texte').offsetHeight-240);
							document.getElementById('home_textarea_texte').style.top = "-" + parseInt(d*hauteur/223) + "px";
							d=b.maxY!==undefined&&b.maxY<d+a.offsetHeight?b.maxY-a.offsetHeight:d;
							d=b.minY!==undefined&&b.minY>d?b.minY:d;a.style.top=d+"px"
						}
					}
				}
			}
		};
		addEvent(document,'mouseup',dragOn.stop);
		addEvent(document,'mousemove',dragOn.move);
