var objDrag = null; // Element, Ÿber dem Maus bewegt wurde

var mouseX = 0; // X-Koordinate der Maus
var mouseY = 0; // Y-Koordinate der Maus

var offX = 0; // X-Offset des Elements, das geschoben werden soll
var offY = 0; // Y-Offset des Elements, das geschoben werden soll

// Browserweiche
IE = document.all && !window.opera;
DOM = document.getElementById && !IE;

function FFpreventDrag(event) {
	if (event.preventDefault)
		event.preventDefault();
}

// Initialisierungs-Funktion
function initDragDrop() {
	// Initialisierung der †berwachung der Events
	document.onmousemove = doDrag;
	document.onmouseup = stopDrag;

	// disable firefox drag
	oImage = document.getElementById("advertiseBalloon");
	oImage.addEventListener("mousedown", FFpreventDrag, false);
}

// Wird aufgerufen, wenn die Maus Ÿber einer Box gedrŸckt wird
function startDrag(objElem) {
	// Objekt der globalen Variabel zuweisen -> hierdurch wird Bewegung mšglich
	objDrag = objElem;

	// Offsets im zu bewegenden Element ermitteln
	offX = mouseX - objDrag.offsetLeft;
	offY = mouseY - objDrag.offsetTop;
}

// Wird ausgefŸhrt, wenn die Maus bewegt wird
function doDrag(ereignis) {
	// Aktuelle Mauskoordinaten bei Mausbewegung ermitteln
	mouseX = (IE) ? window.event.clientX : ereignis.pageX;
	mouseY = (IE) ? window.event.clientY : ereignis.pageY;

	// Wurde die Maus Ÿber einem Element gedrŸck, erfolgt eine Bewegung
	if (objDrag != null) {
		// Element neue Koordinaten zuweisen
		objDrag.style.left = (mouseX - offX) + "px";
		objDrag.style.top = (mouseY - offY) + "px";

		// Position in Statusleiste ausgeben
		window.status = "Box-Position: " + objDrag.style.left + ", "
				+ objDrag.style.top;
	}
}

// Wird ausgefŸhrt, wenn die Maustaste losgelassen wird
function stopDrag(ereignis) {
	// Objekt lšschen -> beim Bewegen der Maus wird Element nicht mehr
	// verschoben
	objDrag = null;
}
