//Das Objekt, das gerade bewegt wird.
var dragobjekt = null;
var dragType = null;
// Position, an der das Objekt angeklickt wurde.
var dragx = 0;
var dragy = 0;

// Mausposition
var posx = 0;
var posy = 0;

//Flags


function dragActivate(){
  document.onmousemove = drag;
  document.onmouseup = dragStop;
}

function dragDeactivate(){
  document.onmousemove = null;
  document.onmouseup = null;
  dragobjekt = null;
}
function dragStart(element, type) {
   //Wird aufgerufen, wenn ein Objekt bewegt werden soll.

  document.onmousemove = drag;
  document.onmouseup = dragStop;
  dragType = type;
  dragobjekt = element;

  dragx = posx - dragobjekt.offsetLeft;
  dragy = posy - dragobjekt.offsetTop;
 
  
}


function dragStop() {
  //Wird aufgerufen, wenn ein Objekt nicht mehr bewegt werden soll.

  dragobjekt = null;
  document.onmousemove = null;
  document.onmouseup = null;
 
}


function drag(ereignis) {
  //Wird aufgerufen, wenn die Maus bewegt wird und bewegt bei Bedarf das Objekt.

  posx = document.all ? window.event.clientX : ereignis.pageX;
  posy = document.all ? window.event.clientY : ereignis.pageY;
  if(dragobjekt != null) {
   
    
    if(dragType == "size"){
    	 if((posy - dragy)>dragobjekt.parentNode.firstChild.style.top & (posx - dragx)>dragobjekt.parentNode.firstChild.style.left + 43){
       dragobjekt.style.left = (posx - dragx) + "px";
    	 dragobjekt.style.top = (posy - dragy) + "px";
    	
    	dragobjekt.parentNode.firstChild.style.width = (posx - dragx +3) + "px";
    	dragobjekt.parentNode.firstChild.style.height = (posy - dragy+3) + "px";
    	}
    }
    if(dragType == "move"){
    	if((posy - dragy)>0 &(posx - dragx)>0){
    		dragobjekt.style.left = (posx - dragx) + "px";
    		dragobjekt.style.top = (posy - dragy) + "px";
    	}
    	
    }
  }
}
