
var __timerID=null;
var __timerRunning=false;

function __stopClock() {
	if(__timerRunning) {
		clearInterval(__timerID);
		__timerRunning=false;
		//alert('stop Clock');
	}	
}

function __startClock() {
	if(!__timerRunning) {
		//alert('start Clock');
		__timerID=setInterval('__Calendar_Close()', 1000);
		__timerRunning=true;
	}	
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////

var __Calendar_Target=null;
var __Calendar_HiddenFlag_For_Object=true;
var __Calendar_HiddenFlag_For_Calendar=true;
var __Calendar_PreBgColor='';
var __Calendar_PreFtColor='';
var __Image_Path='/js/calendar/';

function __Calendar_Create() {
	var year;
	var month;
	var offsetOfFirstDay=0;
	var offset=0;

	var xnow=new Date();
	var xyear=xnow.getYear();
	var xmonth=xnow.getMonth()+1;
	var xday=xnow.getDate();
	var xtoday=String(xyear)+'-'+String(xmonth<10?0:'')+String(xmonth)+'-'+String(xday<10?0:'')+String(xday);

	var value='';
	var oldInnerHTML='';
	var newInnerHTML='';
	var cellEvents=' onmouseover="__Calendar_HighlightDay(event);" onmouseout="__Calendar_HighlightDay(event);"';
	var days=new Array;
	days[0]=31;
	days[1]=28;
	days[2]=31;
	days[3]=30;
	days[4]=31;
	days[5]=30;
	days[6]=31;
	days[7]=31;
	days[8]=30;
	days[9]=31;
	days[10]=30;
	days[11]=31;

	year=id_CalSelectYear.options[id_CalSelectYear.selectedIndex].value;
	month=id_CalSelectMonth.options[id_CalSelectMonth.selectedIndex].value;

	if(year<1583) year=1583;

	if(month<1||month>12) {
		month=1;
		id_CalSelectMonth.selectedIndex=0;
	}

	if((year%4==0&&year%100!=0)||year%400==0) days[1]=29;

	newInnerHTML+='<table cellpadding=0 cellspacing=0 class="cls_CalTableArea">';
	newInnerHTML+='<tr ><td class="cls_CalTdSundayHeader">ÀÏ</td>';
	newInnerHTML+='<td class="cls_CalTdOtherdaysHeader">¿ù</td>';
	newInnerHTML+='<td class="cls_CalTdOtherdaysHeader">È­</td>';
	newInnerHTML+='<td class="cls_CalTdOtherdaysHeader">¼ö</td>';
	newInnerHTML+='<td class="cls_CalTdOtherdaysHeader">¸ñ</td>';
	newInnerHTML+='<td class="cls_CalTdOtherdaysHeader">±Ý</td>';
	newInnerHTML+='<td class="cls_CalTdSaturdayHeader">Åä</td></tr>';

	offsetOfFirstDay=__getADayOfTheWeek(year,month,1,days);

	for(var i=0;i<offsetOfFirstDay;i++) {
		if(i==0) newInnerHTML+='<tr>';
		newInnerHTML+='<td class="cls_CalTdOtherdays" style="cursor:default;">&nbsp;</td>';
	}

	for(var i=0;i<days[month-1];i++) {
		offset=offsetOfFirstDay+i;
		value=String(year)+'-'+String(month<10?0:'')+String(month)+'-'+String(i<9?0:'')+String(i+1);

		if(offset%7==0) newInnerHTML+='<tr>';

		if(value==xtoday) {
			newInnerHTML+='<td id="id_CalDays" class="cls_CalTdToday" value='+value+
				' onClick="__Calendar_DayClick(this.value);"'+cellEvents+'>'+String(i+1)+'</td>';
		} else if(offset%7==0) {
			newInnerHTML+='<td id="id_CalDays" class="cls_CalTdSunday" value='+value+
				' onClick="__Calendar_DayClick(this.value);"'+cellEvents+'>'+String(i+1)+'</td>';
		} else if(offset%7==6) {
			newInnerHTML+='<td id="id_CalDays" class="cls_CalTdSaturday" value='+value+
				' onClick="__Calendar_DayClick(this.value);"'+cellEvents+'>'+String(i+1)+'</td>';
		} else {
			newInnerHTML+='<td id="id_CalDays" class="cls_CalTdOtherdays" value='+value+
				' onClick="__Calendar_DayClick(this.value);"'+cellEvents+'>'+String(i+1)+'</td>';
		}

		if(offset%7==6) newInnerHTML+='</tr>';
	}

	for(var i=offset+1;i%7>0;i++) {
		newInnerHTML+='<td class="cls_CalTdOtherdays" style="cursor:default;">&nbsp;</td>';
		if(i%7==0) newInnerHTML+='</tr>';
	}

/*	¹«Á¶°Ç 6ÁÙ·Î ³ªÅ¸³ª°Ô ÇÏ±âÀ§ÇÑ ºÎºÐ... Àß ¾ÈµÇ³×... ¹Ì¿Ï¼º... 2001.10.30
	if(parseInt((offsetOfFirstDay+days[month-1])/7)<5) {
		for(var z=0;z<5-parseInt((offsetOfFirstDay+days[month-1])/7);z++) {
			newInnerHTML+='<tr>';

			for(var i=0;i<7;i++) {
				newInnerHTML+='<td class="cls_CalTdOtherdays" style="cursor:default;">&nbsp;</td>';			
			}

			newInnerHTML+='</tr>';
		}
	}
*/

	newInnerHTML+='</table>';

	id_CalendarArea.innerHTML=newInnerHTML;
	//if(__Calendar_Target) __Calendar_Target.focus();

	return;

	function __getADayOfTheWeek(y,m,d,days) {
		var allDays=0;
		var daysOfThisYear=0;

		for(var i=0;i<m-1;i++) {
			daysOfThisYear+=days[i];
		}

		daysOfThisYear+=d;

		y--;
		allDays=y*365+parseInt(y/4)+parseInt(y/400)-parseInt(y/100)+daysOfThisYear;

		return allDays%7;
	}
}

function __Calendar_Initialize() {
	var now=new Date();
	var year=now.getYear();
	var month=now.getMonth()+1;
	var option='';
	var startYear=1990;
	var endYear=2020;

	__Calendar_WriteCss();
	__Calendar_WriteHtml();

	option+='<select id="id_CalSelectYear" class="cls_CalSelect">';
	for(var i=startYear;i<endYear+1;i++) {
		option+='<option value="'+String(i)+'">'+String(i)+'</option>\n';
	}
	option+='</select>';

	id_CalSelectYear.outerHTML=option;

	for(var i=0;i<id_CalSelectYear.options.length;i++) {
		if(year==id_CalSelectYear.options[i].value) {
			id_CalSelectYear.selectedIndex=i;
			break;
		}
	}

	for(var i=0;i<id_CalSelectMonth.options.length;i++) {
		if(month==id_CalSelectMonth.options[i].value) {
			id_CalSelectMonth.selectedIndex=i;
			break;
		}
	}
}
/*****************************************************************/
/* ´Þ·Â À§ÂÊÀ¸·Î ¶ßµµ·Ï Ãß°¡ÇÑ ¸ðµâ                              */
/* 2003³â 6¿ù 26ÀÏ By ¼ÕÁ¤´ë                                     */
/*****************************************************************/
function __Calendar_Show_Up(o) {
	var temp;
	if(o==null) return;

	__Calendar_Target=o;
	__Calendar_Target.onblur=__Calendar_Target_onblur;
	__Calendar_Target.onclick=__Calendar_Target.onfocus;
	__Calendar_HiddenFlag_For_Object=false;

	if(!__Calendar_Target||!__Calendar_Target.value||__Calendar_Target.value=='--') {
		__Calendar_SetCurrent();		
	} else {
		temp=o.value.split('-');

		for(var i=0;i<id_CalSelectYear.options.length;i++) {
			if(temp[0]==id_CalSelectYear.options[i].value) {
				id_CalSelectYear.selectedIndex=i;
				break;
			}
		}

		for(var i=0;i<id_CalSelectMonth.options.length;i++) {
			if(parseInt(temp[1])==id_CalSelectMonth.options[i].value) {
				id_CalSelectMonth.selectedIndex=i;
				break;
			}
		}
	}

	__Calendar_Create();
	__Popup_ShowElementHere_Up(__Calendar_Target,id_CalControl);
}

/*****************************************************************/
/* ´Þ·Â À§ÂÊÀ¸·Î ¶ßµµ·Ï Ãß°¡ÇÑ ¸ðµâ                              */
/* 2003³â 6¿ù 26ÀÏ By ¼ÕÁ¤´ë                                     */
/*****************************************************************/
function __Popup_ShowElementHere_Up(el,ann)
{
	__Popup_HideElement(ann);
	__Popup_ShowElement(ann,__getLeft(el),__getTop(el));

	function __getLeft(o) {
		var p;
		var x;

		if(o==null) return 0;

		p=o.offsetParent;
		x=o.offsetLeft+o.scrollLeft+(p.tagName=='BODY'?0:p.clientLeft);


		while(p.tagName!='BODY') {
			x+=p.offsetLeft+p.scrollLeft;
			p=p.offsetParent;
		}

		return x;
	}

	function __getTop(o) {
		var p;
		var y;

		if(o==null) return 0;

		p=o.offsetParent;
		y=o.offsetHeight+o.offsetTop+o.scrollTop+(p.tagName=='BODY'?0:p.clientTop);

		while(p.tagName!='BODY') {
			y+=p.offsetTop+p.scrollTop;
			p=p.offsetParent;
		}

    y -= 195;

		return y;
	}
}

function __Calendar_Show(o) {
	var temp;
	if(o==null) return;

	__Calendar_Target=o;
	__Calendar_Target.onblur=__Calendar_Target_onblur;
	__Calendar_Target.onclick=__Calendar_Target.onfocus;
	//__Calendar_Target.onfocus=__Calendar_Target_onfocus;
	//__Calendar_Target.focus();
	__Calendar_HiddenFlag_For_Object=false;

	if(!__Calendar_Target||!__Calendar_Target.value||__Calendar_Target.value=='--') {
		__Calendar_SetCurrent();		
	} else {
		temp=o.value.split('-');

		for(var i=0;i<id_CalSelectYear.options.length;i++) {
			if(temp[0]==id_CalSelectYear.options[i].value) {
				id_CalSelectYear.selectedIndex=i;
				break;
			}
		}

		for(var i=0;i<id_CalSelectMonth.options.length;i++) {
			if(parseInt(temp[1])==id_CalSelectMonth.options[i].value) {
				id_CalSelectMonth.selectedIndex=i;
				break;
			}
		}
	}

	__Calendar_Create();
	__Popup_ShowElementHere(__Calendar_Target,id_CalControl);
	//__startClock();
}

function __Calendar_Hide() {
	if(__Calendar_HiddenFlag_For_Object&&__Calendar_HiddenFlag_For_Calendar) {
		__Popup_HideElement(id_CalControl);
		//__Calendar_Target=null;
	}
}

function __Calendar_SetCurrent() {
	var now=new Date();
	var year=now.getYear();
	var month=now.getMonth()+1;

	for(var i=0;i<id_CalSelectYear.options.length;i++) {
		if(year==id_CalSelectYear.options[i].value) {
			id_CalSelectYear.selectedIndex=i;
			break;
		}
	}

	for(var i=0;i<id_CalSelectMonth.options.length;i++) {
		if(month==id_CalSelectMonth.options[i].value) {
			id_CalSelectMonth.selectedIndex=i;
			break;
		}
	}

	__Calendar_Create();
}

function __Calendar_SetToday() {
	var now=new Date();
	var year=now.getYear();
	var month=now.getMonth()+1;
	var day=now.getDate();

	value=String(year)+'-'+String(month<10?0:'')+String(month)+'-'+String(day<9?0:'')+String(day);

	__Calendar_DayClick(value);
}

function __Calendar_Delete() {
	__Calendar_Target.value='';

	//if(__Calendar_Target) __Calendar_Target.focus();
	__Calendar_HiddenFlag_For_Object=true;
	__Calendar_HiddenFlag_For_Calendar=true;
	event.cancelBubble=true;
	//__Calendar_Hide();
}

function __Calendar_Close() {
	__Calendar_HiddenFlag_For_Object=true;
	__Calendar_HiddenFlag_For_Calendar=true;
	if(event) event.cancelBubble=true;
	__Calendar_Hide();
	__stopClock();
}


function __Calendar_HighlightDay(e) {
	var el=e.srcElement;

	if(e.type.toLowerCase()=='mouseover') {
		__Calendar_PreBgColor=el.style.backgroundColor;
		__Calendar_PreFtColor=el.style.color;
		el.style.backgroundColor='#f46d01';
		el.style.color='white';
	}
	else if(e.type.toLowerCase()=='mouseout') {
		el.style.backgroundColor=__Calendar_PreBgColor;
		el.style.color=__Calendar_PreFtColor;
	}
}

function __Calendar_IsDate() {
	return true;
}

function __Calendar_WriteCss() {
	document.writeln('<style type="text/css">');
	document.writeln('#id_CalControl {');
	document.writeln('	position:absolute;display:none;z-index:9;margin:0px;padding:0px;width:auto;height:auto;cursor:auto;');
	document.writeln('  border:1px solid white;background-color:white}');
//	document.writeln('  border-left:1px solid buttonhighlight;border-right:1px solid buttonshadow;');
//	document.writeln('  border-top:1px solid buttonhighlight;border-bottom:1px solid buttonshadow;}');
	document.writeln('.cls_CalTableTotal {');
	document.writeln('	margin:0px;padding:0px;width:auto;');
	document.writeln('  border-collapse:collapse;background-color:white;');
//	document.writeln('  border-left:1px solid D4CFC9;border-right:1px solid D4CFC9;');
//	document.writeln('  border-top:1px solid D4CFC9;border-bottom:1px solid D4CFC9;}');
	document.writeln('.cls_CalTableArea {');
	document.writeln('	margin:0px;padding:0px;width:auto;');
	document.writeln('  border-collapse:collapse;background-color:white;}');
//	document.writeln('  border-left:1 solid #d4cfd9;border-right:1 solid #d4cfd9;');
//	document.writeln('  border-top:0 solid #d4cfd9;border-bottom:1 solid #d4cfd9;}');
//	document.writeln('.cls_CalTableNone {');
//	document.writeln('	border:0px solid transparent;border-collapse:collapse;background-color:transparent;margin:0px;padding:0px;}');
//	document.writeln('.cls_CalTd {');
//	document.writeln('	font-family:±¼¸²;font-size:9pt;color:black;font-weight:normal;text-align:center;cursor:default;width:auto;');
//	document.writeln('	border:1px solid black;background-color:transparent;padding:0px;margin:0px;height:auto;}');
	document.writeln('.cls_CalTdNone {');
	document.writeln('	font-family:±¼¸²;font-size:9pt;font-weight:normal;text-align:center;cursor:default;width:auto;');
	document.writeln('  border-left:1 solid #D3D0C9;border-right:2 solid #D3D0C9;');
	document.writeln('  border-top:0 solid #D3D0C9;border-bottom:1 solid #D3D0C9;');
	document.writeln('	background-color:white;padding:0px 4px 3px 4px;margin:0px;height:auto;}');
	document.writeln('.cls_CalTdSelect {');
	document.writeln('	font-family:±¼¸²;font-size:9pt;color:414141;font-weight:normal;text-align:center;cursor:default;width:auto;');
	document.writeln('  border-left:1 solid #D3D0C9;border-right:1 solid #D3D0C9;');
	document.writeln('	background-color:e7e7e7;padding:0px 0px 3px 0px;margin:0px;height:26px;}');
//	document.writeln('.cls_CalTdUnderline {');
//	document.writeln('	font-family:±¼¸²;font-size:9pt;color:black;font-weight:normal;text-align:center;cursor:default;width:auto;');
//	document.writeln('	border:1x solid transparent;background-color:transparent;padding:0px;margin:0px;height:auto;');
//	document.writeln('	border-bottom:1px solid black;}');
	document.writeln('.cls_CalTdSunday {');
	document.writeln('	font-family:±¼¸²;font-size:9pt;color:#409bba;font-weight:normal;text-align:center;cursor:hand;width:auto;');
	document.writeln('	border:none;background-color:white;padding:2px 3px 0px 2px;margin:0px;height:auto;}');
	document.writeln('.cls_CalTdSaturday {');
	document.writeln('	font-family:±¼¸²;font-size:9pt;color:#f46d01;font-weight:normal;text-align:center;cursor:hand;width:auto;');
	document.writeln('	border:0px solid buttonface;background-color:white;padding:2px 3px 0px 2px;margin:0px;height:auto;}');
	document.writeln('.cls_CalTdOtherdays {');
	document.writeln('	font-family:±¼¸²;font-size:9pt;color:#f46d01;font-weight:normal;text-align:center;cursor:hand;width:auto;');
	document.writeln('	border:0px solid buttonface;background-color:white;padding:2px 3px 0px 2px;margin:0px;height:auto;}');
	document.writeln('.cls_CalTdToday {');
	document.writeln('	font-family:±¼¸²;font-size:9pt;color:#0068ff;font-weight:normal;text-align:center;cursor:hand;width:auto;');
	document.writeln('	border:0px solid #008200;background-color:white;padding:2px 3px 0px 2px;margin:0px;height:auto;text-decoration:underline;}');
	document.writeln('.cls_CalTdSundayHeader {');
	document.writeln('	font-family:±¼¸²;font-size:9pt;color:#409bba;font-weight:normal;text-align:center;cursor:default;width:auto;');
	document.writeln('	border:0px solid buttonface;background-color:white;padding:2px 3px 0px 2px;margin:0px;height:auto;');
	document.writeln('	border-bottom:0px solid gray;border-top:0px solid gray;}');
	document.writeln('.cls_CalTdSaturdayHeader {');
	document.writeln('	font-family:±¼¸²;font-size:9pt;color:#f46d01;font-weight:normal;text-align:center;cursor:default;width:auto;');
	document.writeln('	border:0px solid buttonface;background-color:white;padding:2px 3px 0px 2px;margin:0px;height:auto;');
	document.writeln('	border-bottom:0px solid gray;border-top:0px solid gray;}');
	document.writeln('.cls_CalTdOtherdaysHeader {');
	document.writeln('	font-family:±¼¸²;font-size:9pt;color:#7e7e7e;font-weight:normal;text-align:center;cursor:default;width:auto;');
	document.writeln('	border:0px solid buttonface;background-color:white;padding:2px 3px 0px 2px;margin:0px;height:auto;');
	document.writeln('	border-bottom:0px solid gray;border-top:0px solid gray;}');
	document.writeln('.cls_CalTdToolbar {');
	document.writeln('	font-family:±¼¸²;font-size:9pt;font-weight:normal;text-align:center;cursor:default;width:auto;');
	document.writeln('  padding:3px 4px 2px 4px;margin:0px;height:21px');
	//document.writeln('	border:1x solid #505050;background-color:#ffde88;}');
	document.writeln('  border-collapse:collapse;background-color:#414141;}');
	//document.writeln('  border-left:1 solid #414141;border-right:1 solid #414141;');
	//document.writeln('  border-top:1 solid buttonshadow;border-bottom:1 solid buttonshadow;}');
	document.writeln('.cls_CalSelect {');
	document.writeln('	font-family:Tahoma;font-size:7pt;color:505050;font-weight:bold;width:auto;height:auto;}');
//	document.writeln('.cls_CalSpanButton {');
//	document.writeln('	font-family:±¼¸²;font-size:9pt;color:#414141;font-weight:normal;text-align:center;cursor:hand;width:auto;');
//	document.writeln('	border:0px solid transparent;background-color:#272727;padding:0px;margin:0px;height:auto;}');
//	document.writeln('img{');
//	document.writeln('	border:none;');
//	document.writeln('}');
	document.writeln('</style>');
}

function __Calendar_WriteHtml() {
	document.writeln('<div id="id_CalControl">');
	document.writeln('<table class="cls_CalTableTotal"><tr>');
	document.writeln('<td class="cls_CalTdToolbar">');

	document.writeln('<table style="width:100%;margin:0px;border-left:1px solid #414141;border-right:1px solid #414141;border-collapse:collapse;"><tr>');
	document.writeln('<td style="width:auto;border:none;text-align:left;background-color:414141;">');
	document.writeln('<img src="'+__Image_Path+'calendar_today_unfocus.gif" alt="¿À´Ã³¯Â¥ ÀÔ·Â" onclick="__Calendar_SetToday();" align="absmiddle" ');
	document.writeln('	  onmouseover="this.src=\''+__Image_Path+'calendar_today_focus.gif\';" onmouseout="this.src=\''+__Image_Path+'calendar_today_unfocus.gif\';">');
	document.writeln('<img src="'+__Image_Path+'calendar_current_unfocus.gif" alt="ÇöÀç ³â,¿ù·Î ÀÌµ¿" onclick="__Calendar_SetCurrent();" align="absmiddle" ');
	document.writeln('	  onmouseover="this.src=\''+__Image_Path+'calendar_current_focus.gif\';" onmouseout="this.src=\''+__Image_Path+'calendar_current_unfocus.gif\';">');
	document.writeln('<img src="'+__Image_Path+'calendar_delete_unfocus.gif" alt="Áö¿ò"       onclick="__Calendar_Delete();" align="absmiddle" ');
	document.writeln('	  onmouseover="this.src=\''+__Image_Path+'calendar_delete_focus.gif\';" onmouseout="this.src=\''+__Image_Path+'calendar_delete_unfocus.gif\';">');
	document.writeln('</td><td style="width:auto;padding:border:0px solid;text-align:right;background-color:414141;">');
	document.writeln('<img src="'+__Image_Path+'calendar_close_unfocus.gif" alt="´Ý±â" style="margin:0px;width:13px"       onclick="__Calendar_Close();" align="absmiddle" ');
	document.writeln('	  onmouseover="this.src=\''+__Image_Path+'calendar_close_focus.gif\';" onmouseout="this.src=\''+__Image_Path+'calendar_close_unfocus.gif\';">');
	document.writeln('</td></tr></table>');

	document.writeln('</td></tr><tr><td class="cls_CalTdSelect" style="padding-top:4px;" colspan=7>');
	document.writeln('<span id="id_CalSelectArea"><select id="id_CalSelectYear" class="cls_CalSelect">');
	document.writeln('</select>³â <select id="id_CalSelectMonth" class="cls_CalSelect">');
	document.writeln('<option value="1">1</option>');
	document.writeln('<option value="2">2</option>');
	document.writeln('<option value="3">3</option>');
	document.writeln('<option value="4">4</option>');
	document.writeln('<option value="5">5</option>');
	document.writeln('<option value="6">6</option>');
	document.writeln('<option value="7">7</option>');
	document.writeln('<option value="8">8</option>');
	document.writeln('<option value="9">9</option>');
	document.writeln('<option value="10">10</option>');
	document.writeln('<option value="11">11</option>');
	document.writeln('<option value="12">12</option>');
	document.writeln('</select>¿ù</span></td></tr><tr><td class="cls_CalTdNone" style="padding-top:0px">');
	document.writeln('<span id="id_CalendarArea"><!-- Calendar Area --></span>');
	document.writeln('</td></tr></table></div>');
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////

function __Popup_ShowElement(el,x,y) {
	var body=document.body;
	var sx,sy;

	//elÀÌ nullÀÎÁö, objectÀÎÁö °Ë»ç
	if(el==null) return;

	el.style.pixelLeft=(x==null||isNaN(x)||x<0?0:x);
	el.style.pixelTop=(y==null||isNaN(y)||y<0?0:y);

	if(el.style.display!='block') el.style.display='block';

	//scroll
	/*
	¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
	¦­                              ¦­
	¦­                              ¦­
	¦­                              ¦­
	¦­                    ¦£¦¡¦¡¦¡¦¡¦À¦¡¦¡¦¡¦¡¦¤
	¦­                    ¦¢        ¦­        ¦¢
	¦­                    ¦¢        ¦­		  ¦¢
	¦­                    ¦¢        ¦­		  ¦¢
	¦­                    ¦¢        ¦­		  ¦¢
	¦­                    ¦¢        ¦­		  ¦¢
	¦­                    ¦¢        ¦­		  ¦¢
	¦­                    ¦¦¦¡¦¡¦¡¦¡¦À¦¡¦¡¦¡¦¡¦¥
	¦­                              ¦­
	¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦°
	*/
	if(el.style.pixelLeft+el.offsetWidth>body.scrollLeft+body.clientWidth&&body.clientWidth>el.offsetWidth)
		sx=body.scrollLeft+el.style.pixelLeft+el.offsetWidth-body.scrollLeft-body.clientWidth
	else
		sx=body.scrollLeft;

	/*
	¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯
	¦­                              ¦­
	¦­                              ¦­
	¦­                              ¦­
	¦­                              ¦­
	¦­                              ¦­
	¦­                              ¦­
	¦­      ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤      ¦­
	¦­      ¦¢              ¦¢      ¦­
	¦­      ¦¢              ¦¢      ¦­
	¦­      ¦¢              ¦¢      ¦­
	¦±¦¬¦¬¦¬¦»¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦»¦¬¦¬¦¬¦°
            ¦¢              ¦¢
            ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥
	*/
	if(el.style.pixelTop+el.offsetHeight>body.scrollTop+body.clientHeight&&body.clientHeight>el.offsetHeight)
		sy=body.scrollTop+el.style.pixelTop+el.offsetHeight-body.scrollTop-body.clientHeight
	else
		sy=body.scrollTop;

	if(!(sx==body.scrollLeft&&sy==body.scrollTop)) window.scrollTo(sx,sy);
}

function __Popup_HideElement(el) {
	if(el.style.display=='none') return;
	el.style.display='none';
}

function __Popup_ShowElementHere(el,ann) {
	//var el=event.srcElement;

	__Popup_HideElement(ann);
	__Popup_ShowElement(ann,__getLeft(el),__getTop(el));

	function __getLeft(o) {
		var p;
		var x;

		if(o==null) return 0;

		p=o.offsetParent;
		x=o.offsetLeft+o.scrollLeft+(p.tagName=='BODY'?0:p.clientLeft);


		while(p.tagName!='BODY') {
			x+=p.offsetLeft+p.scrollLeft;
			p=p.offsetParent;
		}

		return x;
	}

	function __getTop(o) {
		var p;
		var y;

		if(o==null) return 0;
		if(o.offsetTop==0) return 0;//ÄÁÆ®·ÑÀÌ ¸Ç À§¿¡ º¸¿©ÁÖ°Ô ÇÏ±â À§ÇÔ.
		
		p=o.offsetParent;
		y=o.offsetHeight+o.offsetTop+o.scrollTop+(p.tagName=='BODY'?0:p.clientTop);

		while(p.tagName!='BODY') {
			y+=p.offsetTop+p.scrollTop;
			p=p.offsetParent;
		}

		return y;
	}
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////

function __Calendar_DayClick(v) {
	__Calendar_Target.value=v;
	__Calendar_HiddenFlag_For_Object=true;
	__Calendar_HiddenFlag_For_Calendar=true;
	event.cancelBubble=true;
	__Calendar_Hide();
}

function __id_CalControl_onmouseover() {
	__Calendar_HiddenFlag_For_Calendar=false;
	__stopClock();
}

function __id_CalControl_onmouseout() {
	__Calendar_HiddenFlag_For_Calendar=true;
	//__startClock();
}

function __id_CalControl_onclick() {
	__Calendar_HiddenFlag_For_Calendar=false;

	if(event.srcElement.tagName.toLowerCase()=='select') {
		event.cancelBubble=true;
	}
	else {
		__Calendar_Target.focus();
	}
}

function __id_CalSelectYearMonth_onchange() {
	//__Calendar_Target.focus();
	__Calendar_Create();
	__stopClock();
}

function __id_CalSelectYearMonth_onfocus() {
	__Calendar_HiddenFlag_For_Calendar=false;
	__stopClock();
}

function __id_CalSelectYearMonth_onblur() {
	__Calendar_Target.focus(); //ÀÌ°Ô ¹®Á¦¾ß........... ¤Ì.¤Ì
}

function __id_CalSelectYearMonth_onclick() {
	__Calendar_HiddenFlag_For_Calendar=false;
	event.cancelBubble=true;
}

function __id_CalSelectYearMonth_onmouseover() {
	event.calcelBubble=true;
	__Calendar_HiddenFlag_For_Calendar=false;	
}

function __Calendar_Target_onblur() {
	__Calendar_HiddenFlag_For_Object=true;
	//__Calendar_Hide();
}

function __Calendar_Target_onfocus() {
	__Calendar_HiddenFlag_For_Object=false;
	__Calendar_Show(event.srcElement);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////

document.onload=__Calendar_Initialize();

id_CalControl.onmouseover=__id_CalControl_onmouseover;
id_CalControl.onmouseout=__id_CalControl_onmouseout;
//id_CalControl.onclick=__id_CalControl_onclick;

id_CalSelectYear.onchange=__id_CalSelectYearMonth_onchange;
//id_CalSelectYear.onblur=__id_CalSelectYearMonth_onblur;
id_CalSelectYear.onfocus=__id_CalSelectYearMonth_onfocus;
id_CalSelectYear.onclick=__stopClock;
id_CalSelectYear.onmouseover=__stopClock;

id_CalSelectMonth.onchange=__id_CalSelectYearMonth_onchange;
//id_CalSelectMonth.onblur=__id_CalSelectYearMonth_onblur;
id_CalSelectMonth.onfocus=__id_CalSelectYearMonth_onfocus;
id_CalSelectMonth.onclick=__stopClock;
id_CalSelectMonth.onmouseover=__stopClock;


