currentX = currentY = 0;
whichEl = null;

if (ver4) {
document.write("<DIV ID='elDRAGOne'>Drag Me!</DIV>");
}

function setEls(first) {
if (!ver4) {return};
if (NS4) {
document.elDRAGOne.left = document.elAll.document.images["imOne"].x;
document.elDRAGOne.top  = document.elAll.document.images["imOne"].y;
if (first) { document.elDRAGOne.visibility = "visible"};
}
else {
        elDRAGOne.style.pixelLeft = 75;
        elDRAGOne.style.pixelTop  = elAll.offsetTop;
if (first) { elDRAGOne.style.visibility = "visible"};
}
}

function grabEl(e) {
    if (IE4) {
        whichEl = event.srcElement;

        while (whichEl.id.indexOf("DRAG") == -1) {
            whichEl = whichEl.parentElement;
            if (whichEl == null) { return }
          if (whichEl.id.indexOf("DRAG") != -1) { break }
        }
    }
    else {
        mouseX = e.pageX;
        mouseY = e.pageY;

        for ( i=0; i<document.layers.length; i++ ) {
	    tempLayer = document.layers[i];
            if ( tempLayer.id.indexOf("DRAG") == -1 ) { continue }
            if ( (mouseX > tempLayer.left) && (mouseX < (tempLayer.left + tempLayer.clip.width)) && (mouseY > tempLayer.top) && (mouseY < (tempLayer.top + tempLayer.clip.height)) ) {
                whichEl = tempLayer;
            }
        } 

        if (whichEl == null) { return}
    }

if (whichEl != activeEl) {
    if (IE4) { whichEl.style.zIndex = activeEl.style.zIndex+1 }
        else { whichEl.moveAbove(activeEl) };
    activeEl = whichEl;
}

    if (IE4) {
        whichEl.style.pixelLeft = whichEl.offsetLeft;
        whichEl.style.pixelTop = whichEl.offsetTop;

        currentX = (event.clientX + document.body.scrollLeft);
        currentY = (event.clientY + document.body.scrollTop); 

    }
    else {
	currentX = e.pageX;
	currentY = e.pageY;

	document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = moveEl;
    }

    qq = "<FONT COLOR=white><B>&nbsp;&nbsp;At Last!</B></FONT>";
    if (NS4) {
        whichEl.document.write(qq);
        whichEl.document.close();
    }
    else { whichEl.innerHTML = qq }
}

function moveEl(e) {
if (IE4) {
	SRCEL.innerText = event.srcElement;
	SRCET.innerText = event.srcElement.tagName;
	PAREL.innerText = event.srcElement.parentElement;
	PARET.innerText = event.srcElement.parentElement.tagName;
	CLXEL.innerText = event.clientX;
	CLYEL.innerText = event.clientY;
	SCLEL.innerText = document.body.scrollLeft;
	SCTEL.innerText = document.body.scrollTop;
	OFLEL.innerText = event.srcElement.offsetLeft;
	OFTEL.innerText = event.srcElement.offsetTop;
	PXLEL.innerText = event.srcElement.style.pixelLeft;
	PXTEL.innerText = event.srcElement.style.pixelTop;
}
    if (whichEl == null) { return };

    if (IE4) {
        newX = (event.clientX + document.body.scrollLeft);
        newY = (event.clientY + document.body.scrollTop);
    }
    else {
        newX = e.pageX;
        newY = e.pageY;
    }
    distanceX = (newX - currentX);
    distanceY = (newY - currentY);
    currentX = newX;
    currentY = newY;

    if (IE4) {
        whichEl.style.pixelLeft += distanceX;
        whichEl.style.pixelTop += distanceY;
        event.returnValue = false;
    }
    else { whichEl.moveBy(distanceX,distanceY) }
}

function checkEl() {
    if (whichEl!=null) { return false }
}

function dropEl(e) {
    if (NS4) { document.releaseEvents(Event.MOUSEMOVE) }
    whichEl = null;
}

function cursEl() {
if (IE4) {
if (event.srcElement.id.indexOf("DRAG") != -1) { event.srcElement.style.cursor = "move" }
}

}

if (ver4) {
    if (NS4) {
        document.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP);
        activeEl = document.elDRAGOne;
    }
    else {
        document.onmousemove = moveEl;
        document.onselectstart = checkEl;
	document.onmouseover = cursEl;
        activeEl= document.all.elDRAGOne;
    }

    document.onmousedown = grabEl;
    document.onmouseup = dropEl;
    setEls(true);
}

function redo() { location.reload() }
if (NS4) {captureEvents(Event.RESIZE); onresize=redo}


