﻿ var myObjectClick = null;
 var movable = false;
 var positionXAtClick = null;
 var positionYAtClick = null;
 var positionXMyobjectClick = null;
 var positionYMyobjectClick = null;
 if(!nombre_fenetre)var nombre_fenetre=0;
 
 
function Add_Event( obj_, event_, func_, mode_){
	if(obj_.addEventListener)
		obj_.addEventListener( event_, func_, mode_? mode_:false);
	else
		obj_.attachEvent( 'on'+event_, func_);
}
 
 //Fonction permettant d'initialiser les listeners
 function init_evenement(){
 	var allElements = document.getElementsByTagName('div'); //récupère tous les éléments
	 for (var i = 0; i< allElements.length; i++) {
		if(allElements[i].getAttribute('drag')){//verifie si l'attribut bulle existe
		  Add_Event( allElements[i], 'mousedown', start);
		  Add_Event( allElements[i], 'mousemove', drag);
		  Add_Event( allElements[i], 'mouseup', drop);
		}
	}
 }
 
 //Fonction permettant de récupèrer l'objet sur lequel on a clické, et l'on récupère sa classe
 function start(e){
	//On initialise l'évènement s'il n'a aps été créé ( sous ie )
	if(!e) e = window.event;
	//Détection de l'élément sur lequel on a clické
	monElement = (e.target)? e.target:e.srcElement;
	myObjectClick = get(monElement.getAttribute('drag'));
	movable = true;
	 myObjectClick.style.opacity = 0.5;
	 myObjectClick.style.filter = 'alpha(opacity=50)';
	 nombre_fenetre=nombre_fenetre+1
	 myObjectClick.style.zIndex=nombre_fenetre;
	 myObjectClick.style.cursor="move";
	return false;
 }

 function drag(e){
	 //On initialise l'évènement s'il n'a aps été créé ( sous ie )
	 if(!e) e = window.event;
	 //Si l'objet est déplaçable et qu'il existe
	 if(myObjectClick && movable==true){
		 //On récupère la position de la souris par rapport à l'objet
		e.cancelBubble = true;
		e.returnValue = false;
		if (e.stopPropagation) {
			e.stopPropagation();
			e.preventDefault();
		}
		myObjectClick.focus();
		myObjectClick.style.MozUserSelect ="none";
		myObjectClick.style.left = e.clientX + "px";
		myObjectClick.style.top = e.clientY + "px";
	 }else{
		
	 }
	 return false;
 }

function drop(){
	myObjectClick.style.MozUserSelect ="";
	myObjectClick.style.opacity =1;
	myObjectClick.style.filter = 'alpha(opacity=100)';
	myObjectClick.style.cursor="";
	movable=false;
	myObjectClick = null;
	positionXAtClick = null;
	positionYAtClick = null;
	positionXMyobjectClick = null;
	positionYMyobjectClick = null;
}

