var dragObj = new Object();
dragObj.zIndex = 0;
function dragStart(e,id) {
	var x, y;
	var ev=(!e)?window.event:e;
	if (ev.pageX) {
		x = ev.pageX+window.pageXOffset;
		y = ev.pageY+window.pageYOffset;
	}
	else if(ev.clientX) {
		if(document.documentElement) {
			x = ev.clientX + document.documentElement.scrollLeft;
			y = ev.clientY + document.documentElement.scrollTop;
		}
		else if(document.body){
			x = ev.clientX + document.body.scrollLeft;
			y = ev.clientY + document.body.scrollTop;
		}
	}
	else {
		return false;
	}

	dragObj.elNode = document.getElementById(id);
	dragObj.cursorStartX = x;
	dragObj.cursorStartY = y;
	dragObj.elStartLeft  = parseInt(dragObj.elNode.style.left, 10);
	dragObj.elStartTop   = parseInt(dragObj.elNode.style.top,  10);

	if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
	if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = 0;

	dragObj.elNode.style.zIndex = ++dragObj.zIndex;

	if(document.addEventListener) {
		document.addEventListener("mousemove", dragGo,   true);
		document.addEventListener("mouseup",   dragStop, true);
		event.preventDefault();
	}
	else {
		document.attachEvent("onmousemove", dragGo);
		document.attachEvent("onmouseup",   dragStop);
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	}
}
function dragGo(e) {
	var x, y;
	var ev=(!e)?window.event:e;
	if (ev.pageX) {
		x = ev.pageX+window.pageXOffset;
		y = ev.pageY+window.pageYOffset;
	}
	else if(ev.clientX) {
		if(document.documentElement) {
			x = ev.clientX + document.documentElement.scrollLeft;
			y = ev.clientY + document.documentElement.scrollTop;
		}
		else if(document.body){
			x = ev.clientX + document.body.scrollLeft;
			y = ev.clientY + document.body.scrollTop;
		}
	}
	else {
		return false;
	}
	
	dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
	dragObj.elNode.style.top  = (dragObj.elStartTop  + y - dragObj.cursorStartY) + "px";
	
	if(event.preventDefault) {
		event.preventDefault();
	}
	else {
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	}
}
function dragStop(e) {
	if(document.removeEventListener) {
		document.removeEventListener("mousemove", dragGo,   true);
		document.removeEventListener("mouseup",   dragStop, true);
	}
	else {
		document.detachEvent("onmousemove", dragGo);
		document.detachEvent("onmouseup",   dragStop);
	}
}
function OpenPopup(elm) {
	document.getElementById(elm).style.visibility = "visible";
}
function ClosePopup(elm) {
	document.getElementById(elm).style.visibility = "hidden";
}
