var ie = (document.all)? true:false;
var ns4 = (document.layers)? true:false;
var ns6 = (document.getElementById)? true:false;

//Init des variables,des Divs-Layers, et du onmousedown
function start() {
if (ie) {
// lance ma_fonction quand on appuie sur le bouton de la souris
information.onmousedown= ma_fonction;
}else if (ns4) {
// lance ma_fonction quand on appuie sur le bouton de la souris
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=ma_fonction;
}else if (ns6) {
// lance ma_fonction quand on appuie sur le bouton de la souris
document.getElementById("information").addEventListener("mousedown",ma_fonction, false);
}
}
function ma_fonction(e) {

if (ie) {
//Récupération de la position de la souris
window.lastX=event.clientX; 
window.lastY=event.clientY;
// lance doDrag tant que l'on appuie sur le bouton de la souris en la bougeant
document.onmousemove=doDrag;
// lance endDrag quand on relache le bouton de la souris
document.onmouseup=endDrag;
}else if (ns4) {
//Récupération de la position de la souris
window.lastX=e.pageX;
window.lastY=e.pageY;
// lance doDrag tant que l'on appuie sur le bouton de la souris en la bougeant
document.captureEvents(Event.MOUSEMOVE)
document.onmousemove=doDrag;
// lance endDrag quand on relache le bouton de la souris
document.captureEvents(Event.MOUSEUP)
document.onmouseup=endDrag;
}else if (ns6) {
//Récupération de la position de la souris
window.lastX=e.clientX;
window.lastY=e.clientY;
// lance doDrag tant que l'on appuie sur le bouton de la souris en la bougeant
window.onmousemove=doDrag;
// lance endDrag quand on relache le bouton de la souris
window.onmouseup=endDrag;
}
}
function doDrag(e) {

if (ie) {
// Calcul de l'écart de position de la souris
var difX=event.clientX-window.lastX;
var difY=event.clientY-window.lastY;
//Récupération de la position du div et ajout de l'écart de position de la souris
var newX1 = parseInt(information.style.left)+difX;
var newY1 = parseInt(information.style.top)+difY;
// Assignation des nouvelles coordonnées au div
information.style.left=newX1+"px";
information.style.top=newY1+"px";
//Assignation de l'anciènne position de la souris
window.lastX=event.clientX;
window.lastY=event.clientY;
}else if (ns4) {
// Calcul de l'écart de position de la souris
var difX=e.pageX-window.lastX;
var difY=e.pageY-window.lastY;
//Récupération de la position du div et ajout de l'écart de position de la souris
var newX1 = parseInt(document.layers.information.left)+difX;
var newY1 = parseInt(document.layers.information.top)+difY;
// Assignation des nouvelles coordonnées au div
document.layers.information.left=newX1;
document.layers.information.top=newY1;
//Assignation de l'anciènne position de la souris
window.lastX=e.pageX;
window.lastY=e.pageY;
}else if (ns6) {
// Calcul de l'écart de position de la souris
var difX=e.clientX-window.lastX;
var difY=e.clientY-window.lastY;
//Récupération de la position du div et ajout de l'écart de position de la souris
var newX1 = parseInt(document.getElementById("information").style.left)+difX;
var newY1 = parseInt(document.getElementById("information").style.top)+difY;
// Assignation des nouvelles coordonnées au div
document.getElementById("information").style.left=newX1+"px";
document.getElementById("information").style.top=newY1+"px";
//Assignation de l'anciènne position de la souris
window.lastX=e.clientX;
window.lastY=e.clientY;
} 
}
function endDrag(e) {

if (ie || ns4) {
//Réinitialisation du onmousemove
document.onmousemove=null;
}else if (ns6) {
//Réinitialisation du onmousemove
window.onmousemove=null;
}
}