function beginDrag(elementToDrag,event){
	var x = parseInt(elementToDrag.style.left);
	var y = parseInt(elementToDrag.style.top);
	var deltaX = event.clientX-x;
	var deltaY = event.clientY-y;

	if(document.addEventListener){
		document.addEventListener("mousemove",moveHandler,true);
		document.addEventListener("mouseup",upHandler,true);
	} else if(document.attachEvent){
		document.attachEvent("onmousemove",moveHandler);
		document.attachEvent("onmouseup",upHandler);
	} else{
		var oldmovehandler = container.onmousemove;
		var olduphandler = container.onmouseup;
		document.onmousemove = moveHandler;
		document.onmouseup = upHandler;
	}
	if(event.stopPropagation) event.stopPropagation();
	else event.cancelBubble = true;
	if(event.preventDefault) event.preventDefault();
	else event.returnValue = false;
	
	function moveHandler(e){
		try{
		if(!e) e = window.event;
		elementToDrag.style.left = (e.clientX-deltaX) + "px";
		elementToDrag.style.top = (e.clientY-deltaY) + "px";
    document.getElementById(elementToDrag.id+"_face").style.left = (e.clientX-deltaX) + "px";
		document.getElementById(elementToDrag.id+"_face").style.top = (e.clientY-deltaY) + "px";
		if(e.stopPropagation) e.stopPropagation();
		else e.cancelBubble = true;
		}catch(ex){ alert(ex.message) }
	}
	
	function upHandler(e){
		if(!e) e = window.event;
		if(document.removeEventListener){
			document.removeEventListener("mousemove",moveHandler,true);
			document.removeEventListener("mouseup",upHandler,true);
		} else if(document.detachEvent){
			document.detachEvent("onmousemove",moveHandler);
			document.detachEvent("onmouseup",upHandler);
		} else{
			document.onmousemove = oldmovehandler;
			document.onmouseup = olduphandler;
		}
		if(e.stopPropagation) e.stopPropagation();
		else e.cancelBubble = true;
	}
}
