// **********************************************************
//
// div/img drag and drop function
//
// based on kurt.grigg work
// http://www.btinternet.com/~kurt.grigg/javascript/
//
// **********************************************************

var ns=(document.layers);
var ns6=(document.getElementById&&!document.all);
var ie=(document.all);
// M.Hardy 20/06/2005 : incrément z-index par defaut pour compatibilité popups avec coolmenus
var n=5000;
// Fin M.Hardy 20/06/2005
var x=null;
var y=null;
var z=null;

// Temporary variables to hold mouse x-y pos.s
var tempX = 0
var tempY = 0

if (ns||ns6) {
 window.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
 document.releaseEvents(Event.MOUSEMOVE);
}
if (ns) {
 window.onmousedown=MouseDown
 window.onmouseup=MouseUp
 window.onmousemove=getMouseXY
 
}
if (ie||document.getElementById) {
 document.onmousedown=MouseDown
 document.onmouseup=MouseUp
 document.onmousemove=getMouseXY
}

function MouseDown(e) {
 if (ns) {
  if (document.layers['popwin'+e.target.name]) {
   window.onmousemove=MouseMove;
   z=document.layers['popwin'+e.target.name];
   y=e.layerY;
   x=e.layerX;
   document.layers['popwin'+e.target.name].zIndex=n++;
  } else {
   return true
  }
 }
 if (ie && window.event.srcElement.parentElement) {
  if (window.event.srcElement.parentElement.id.indexOf("popwin") != -1) {
   document.onmousemove=MouseMove;
   z=window.event.srcElement.parentElement; 
   y=window.event.offsetY;
   x=window.event.offsetX;
   window.event.srcElement.parentElement.style.zIndex=n++;
  }
 }
 if (ns6) {
  if (e.target.parentNode.id && e.target.parentNode.id.indexOf("popwin") != -1) {
   document.onmousemove=MouseMove;
   z=e.target.parentNode.style;
   x=e.clientX - parseInt(z.left);
   y=e.clientY - parseInt(z.top);
   z.zIndex=n++;  
  } else {
   return true;
  }
 }
 return false;
}

function MouseMove(e){
 if (ns && z) {
  z.left=e.pageX-x;
  z.top=e.pageY-y;
 }
 if (ns6 && z) {
  z.top=parseInt(e.clientY)-y;
  z.left=parseInt(e.clientX)-x;
 }
 if (ie && z) {
  z.style.posLeft=window.event.clientX-x;
  z.style.posTop=window.event.clientY-y+window.document.body.scrollTop;
 }
 return false;
}

function MouseUp(e){
 if (ie||ns6) {
  document.onmousemove=getMouseXY;
 }
 if (ns) {
  window.onmousemove=getMouseXY;
 }
 z=null;
}

function getMouseXY(e) {
  if (ie) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  

  //window.status = "xMousePos="+tempX+", yMousePos="+tempY;
  return true
}
