//
//  gueltig fuer Netscape ab Version 6, Mozilla, Internet Explorer ab Version 4
//
//  Usage:  <body onLoad)="draginit()" ....>
//                <div id="xxx" onmousedown="dragstart(this)" style="position:absolute;top:0px;left:0px;height:100px;width:100px;background:#ff0000"> </div>
//  
//

// HISTORY:
//	29.09.2005	POK von http://aktuell.de.selfhtml.org/tippstricks/dhtml/draganddrop/index.htm kopiert
//	29.09.2005	POK function hideElement(elemID) und showElement(elemID) hinzugefuegt
//
//

//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

  document.onmousemove = drag;
  document.onmouseup = dragstop;
}


function dragstart(element) {
   //Wird aufgerufen, wenn ein Objekt bewegt werden soll.

  dragobjekt = element;
  dragx = posx - dragobjekt.offsetLeft;
  dragy = posy - dragobjekt.offsetTop;
}


function dragstop() {
  //Wird aufgerufen, wenn ein Objekt nicht mehr bewegt werden soll.

  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 getPageYOffset() {
		var pO='';
		if(document.all) {
			var rootElements=document.getElementsByTagName('html');
			pO=rootElements[0].scrollTop;
		} else {
			pO=window.pageYOffset;
		}
		return(pO);
	}

	function hideElement(elemID) {
		var elem=document.getElementById(elemID);
		if(elem!=null) {
			elem.style.display="none";
		}
	}

	function showElement(elemID) {
		var elem=document.getElementById(elemID);
		if(elem!=null) {
			var yOffSet=getPageYOffset();
			if(document.all) {
				elem.style.top=(yOffSet+(posy))+'px';
			} else {
				elem.style.top=((posy))+'px';				
			}
			// alert('yOffSet: '+yOffSet+' posy: '+posy+' elem.style.top: '+elem.style.top);
			elem.style.display="block"; 	// "inline";
		}
	}

