/* Event */
function stopBubble(e){
	if (e.stopPropagation) e.stopPropagation();
	else window.event.cancelBubble = true;
}
function stopDefault(e){
    if (e.preventDefault) e.preventDefault();
    return false;
}

/* attr */
function attr(elem, name, value) {
    if ( !name || name.constructor != String ) return '';

    name = { "for":"htmlFor", "class":"className" }[name] || name;
    if (value != null){
        if (elem[name]) elem[name] = value;
        if (elem.setAttribute)
            elem.setAttribute(name,value);
    }
    return elem[name] || elem.getAttribute(name) || '';
}

/* create */
function create( elem ) {
    return document.createElementNS ?
        document.createElementNS( 'http://www.w3.org/1999/xhtml', elem ) :
        document.createElement( elem );
}

/* appendChild = 자식요소로 뒤쪽에 삽입 */
function append(source, target){
	target.appendChild(source);
}

/* 노드탐색관련 */
function id(id){
	return document.getElementById(id);
}
function prev(ele){
	do{
		ele = ele.previousSibling;
	}while(ele && ele.nodeType!=1)
	return ele;
}

/* offset */
function pageX(elem){
    var p = 0;
    while ( elem.offsetParent ){
        p += elem.offsetLeft;
        elem = elem.offsetParent;
    }
    return p;
}
function pageY(elem){
    var p = 0;
    while ( elem.offsetParent ) {
        p += elem.offsetTop;
        elem = elem.offsetParent;
    }
    return p;
}


//<![CDATA[
function calendar(e){
	var e = e || window.event;
	var eSrc = e.target || e.srcElement;

	if( ! id("cal-layer") ){
		var div = create("DIV");
		attr(div, "id", "cal-layer");
		append(div, document.body);
		
	}
	var div = id("cal-layer");
	div.innerHTML = '<iframe class="cal-ifrm" name="cal-ifrm" src="/common/asp/engcalendar.asp" title="날짜입력" frameborder="0" scrolling="no"></iframe>';
	
	var x = pageX(eSrc.parentNode);
	var y = pageY(eSrc.parentNode)+3+eSrc.offsetHeight;

	var ifrm = div.getElementsByTagName("IFRAME")[0];
	ifrm.eSrc = prev(eSrc);

	div.style.display = "block";
	div.style.top = y+"px";
	div.style.left = x+"px";

	stopBubble(e);
	return stopDefault(e);
}
//]]>

