//Das Objekt, das gerade bewegt wird.
var dragobjekt = null;

// Position, an der das Objekt angeklickt wurde.
var dragx = 0;
var dragy = 0;

// Mausposition
var posx = 0;
var posy = 0;


function draginit() {
 // Initialisierung der Überwachung der Events
  var oElem = document.getElementById("sub_menu");
  if (oElem) {

      document.onmousemove = drag;
      document.onmouseup = dragstop;
      
      GET_COOKIE();
  }
}


function dragstart(element) {
   //Wird aufgerufen, wenn ein Objekt bewegt werden soll.

  dragobjekt = element.parentNode;
  dragobjekt.onselectstart=function(){return false;};  
  if (typeof dragobjekt.style.MozUserSelect!="undefined") {
    dragobjekt.style.MozUserSelect = "none";
  }
  dragx = posx - dragobjekt.offsetLeft;
  dragy = posy - dragobjekt.offsetTop;
}


function dragstop() {
  //Wird aufgerufen, wenn ein Objekt nicht mehr bewegt werden soll.
  if(dragobjekt != null) {
    SET_COOKIE();
    if (typeof dragobjekt.style.MozUserSelect!="undefined") {
      dragobjekt.style.MozUserSelect = "";
    }  
    dragobjekt=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) {
    dragobjekt.style.left = (posx - dragx) + "px";
    dragobjekt.style.top = (posy - dragy) + "px";
  }
}

function SET_COOKIE()
{
    if(dragobjekt != null) {
        tmp_x = dragobjekt.style.left = (posx - dragx);
        tmp_y = dragobjekt.style.top = (posy - dragy);
    	document.cookie = "x="+tmp_x+" y="+tmp_y;
    }
}

function GET_COOKIE()
{
if (document.cookie) {
        
        //alert(document.cookie);
        //auf Jenny steht da zusätzlich noch die PHPSessionID im IE 6 drin, daher parseInt
        var sParams = document.cookie.split(" ");
        
        if (sParams.length > 1) {
            tmp_x = sParams[0];
            tmp_y = sParams[1];
            tmp_x = parseInt(tmp_x.substr(tmp_x.indexOf("=")+1), 10) + "px";
            tmp_y = parseInt(tmp_y.substr(tmp_y.indexOf("=")+1), 10) + "px";

            document.getElementById("sub_menu").style.left = tmp_x;
            document.getElementById("sub_menu").style.top = tmp_y;

        }
	    
    }
}
