var cpt_val = false;  // 레이어 캡쳐 여부 
var cpt_layer = null; // 캡쳐된 레이어 객체
var esX, esY;         // 시작 이벤트 위치
var zIdx    = 100;    // 시작 z-index 값
// IE 구분
var is_ie = (navigator.userAgent.indexOf("MSIE") != -1) ? true :false;

// 마우스 다운 이벤트시 레이어 캡쳐
function capture(obj_id, evt) {
	var evt = evt ? evt : event;

	cpt_layer = document.getElementById(obj_id);
	zIdx++;
	cpt_layer.style.zIndex = zIdx;
	cpt_val = true;

	if(document.body && document.body.setCapture) {
		// body 화면 고정(IE전용) 
		document.body.setCapture();
	}

	if(is_ie) {
		esX = evt.offsetX;
		esY = evt.offsetY;
	} else {
		esX = evt.clientX - (cpt_layer.offsetLeft ? cpt_layer.offsetLeft : 0);
		esY = evt.clientY - (cpt_layer.offsetTop  ? cpt_layer.offsetTop  : 0) ;
	}

	evt.cancelBubble = true;
	return false;
}

// 마우스 드래그시 레이어 이동
function drag_layer(evt) {
	var evt = evt ? evt : event;
	if(cpt_val == true) {
		if(cpt_layer != null) {
			if(is_ie) {
				cpt_layer.style.pixelLeft = evt.x + document.body.scrollLeft - esX;
				cpt_layer.style.pixelTop  = evt.y + document.body.scrollTop  - esY;
			} else {
				cpt_layer.style.left = evt.clientX - esX;
				cpt_layer.style.top  = evt.clientY - esY;
			}
			evt.cancelBubble = true;
			return false;
		}
	}
}

// 드래그가 끝났을때 캡쳐한 레이어 놓기
function release() {
	cpt_val = false;
	cpt_layer = null;
	if (document.body && document.body.releaseCapture) {
		// body화면 고정풀기(IE전용)
		document.body.releaseCapture();
	}
}

// 레이어창 닫기
function close_layer(obj_id) {
	cpt_layer = document.getElementById(obj_id);
	cpt_layer.style.display = "none";
}

document.onmousemove = drag_layer;
document.onmouseup   = release;
