var date_Of_Month = new Array( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );			// ÇØ´ç ´Þ¿¡ ´ëÇÑ ÀÏ ¼ö..
//var day_Of_Week = new Array( "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" );   // ¿äÀÏÇ¥½Ã ¹®±¸
//var day_Of_Week = new Array( "ìí", "êÅ", "ûý", "â©", "ÙÊ", "ÐÝ", "÷Ï" );  // ¿äÀÏÇ¥½Ã ¹®±¸
var day_Of_Week = new Array( "ÀÏ", "¿ù", "È­", "¼ö", "¸ñ", "±Ý", "Åä" );  // ¿äÀÏÇ¥½Ã ¹®±¸

var date = new Date();
var currYear = date.getFullYear();   // ÇöÀç ³â
var currMonth = date.getMonth()+1; // ÇöÀç ¿ù
var currDate = date.getDate();  // ÇöÀç ÀÏ
var currDay = date.getDay();    // ÇöÀç ¿äÀÏ

var year = currYear;         // Ãâ·ÂµÉ ³â
var month = currMonth;     // Ãâ·ÂµÈ ¿ù

// °¡À»ºû[pattern 1] #C2A5A2, #A48E90, #A48E90, #0000FF, #FF0000, #CEC3C2, #EBE5E0, #AC8C89, #FFFFFF, C2A5A2(today border)
// ÇÏ´Ã»ö[pattern 2] #9BB1C8, #8A9FA8, #8A9FA8, #0000FF, #FF0000, #C1C5DB, #DEE0ED, #9BB1C8, #FFFFFF, 6C7557(today border)
var dayOfWeekBgColor = '#E0E8F1';		// ¿äÀÏÇ¥½Ã ¹è°æ»ö 
var preDateColor = '#8A9FA8';				// ÀÌÀü´Þ ³¯Â¥ »ö
var nextDateColor = '#8A9FA8';				// ´ÙÀ½´Þ ³¯Â¥ »ö
var saturdayColor = '#0000FF';				// Åä¿äÀÏ Ç¥½Ã »ö
var sundayColor = '#FF6600';				// ÀÏ¿äÀÏ Ç¥½Ã »ö
var mouseOverColor = '#FFFFFF';		// ¸¶¿ì½º ¿À¹ö½Ã »ö±ò
var mouseOutColor = '#FFFFFF';			// ¸¶¿ì½º ¾Æ¿ô½Ã »ö±ò
var todayBgColor = '#FFFFCC';				// ±ÝÀÏ ¹è°æ»ö
var todayDateColor = '#000088';			// ±ÝÀÏ ±ÛÀÚ»ö
var DateBgColor = '#FFFFFF';		// default ³¯Â¥ »ö
var nextDateBgColor = '#F4F4F4';		// ´ÙÀ½´Þ ³¯Â¥ »ö
var prevDateBgColor = '#F4F4F4';		// ´ÙÀ½´Þ ³¯Â¥ »ö

var inputText_Nm = '';	//ÀÔ·ÂµÇ¾îÁú ºÎ¸ðÃ¢ÀÇ INPUT ÀÌ¸§
var nextText_Nm = '';	//ÀÔ·ÂµÈ ÈÄ FOCUS¸¦ °¡Áú ºÎ¸ðÃ¢ÀÇ INPUT ÀÌ¸§
var first=true;
//printCal();
// Ãâ·ÂÇÏ´Â ÇÔ¼ö 
function isDateNumber(val){
	var comp = "0123456789";
	var len=val.length;
	for(i=0;i<len;i++)
	{
		if(comp.indexOf(val.substring(i,i+1).toUpperCase())<0)
		{
			return false;
		}
	}
	return true;
}

function DateCheck(val){
	var currYear = val.slice(0,4);
	var year = Number(currYear);
	var currMonth = val.slice(4,6);
	var month= Number(currMonth);
	var currDate = Number(val.slice(6,8));	
	if(1>year || year>2500 || 1>month || month>12 || 1>currDate || currDate>31)
	{
		return false;
	}
	return true
}
function printCal() {
	var objForm = document.forms[0].name;	
	if(first){
		
		txtday=eval("document."+objForm+"."+inputText_Nm).value;
		if(!isDateNumber(txtday))
		{
			alert('³¯Â¥¸¦ Á¤È®ÇÏ°Ô ÀÔ·ÂÇÏ¼¼¿ä');
			document.getElementById('calendar').style.visibility='hidden';
			eval("document."+objForm+"."+inputText_Nm).value="20090203";
			return;
		}
		if(!DateCheck(txtday))
		{
			alert('ÅØ½ºÆ®ÀÔ·Â°ªÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù');
			document.getElementById('calendar').style.visibility='hidden';
			eval("document."+objForm+"."+inputText_Nm).value="20090203";
			return;
		}
		currYear = txtday.slice(0,4);
		year = Number(currYear);
		currMonth = txtday.slice(4,6);
		month= Number(currMonth);
		currDate = Number(txtday.slice(6,8));	
		first=false;	
	}
	//!-- Á¦¸ñ----------------------------------------------------------------------------------
	var currDateObj = new Date(year, month-1, 1); // Ãâ·ÂµÉ ´Þ date °´Ã¼
	var currDayOfWeek = currDateObj.getDay();  // Ãâ·ÂµÉ ´Þ 1ÀÏ ¿äÀÏ
	var currLastDate = getDate(year, month);   // Ãâ·ÂµÉ ´Þ ¸¶Áö¸· ÀÏ
	var printRowCnt = Math.ceil( ( currDayOfWeek + currLastDate ) / 7 ); // Ãâ·ÂµÉ ÇàÀÇ °¹¼ö

	var preLastDate = getDate(year, month-1); // ÀÔ·Â¹ÞÀº ´Þ ÇÑ´ÞÀü date °´Ã¼
	// Á¦¸ñ Ç¥½Ã
	cal_tit_year.innerHTML = year + " ³â";
	cal_tit_month.innerHTML = month + " ¿ù";
	//cal_title.innerHTML = year + "Ò´ "+ month + "êÅ";

	//!-- ³»¿ë----------------------------------------------------------------------------------
	var rowCnt = cal_Table.rows.length; // ÇöÀç Å×ÀÌºí¿¡ Ãâ·ÂµÇ¾î ÀÖ´Â Çà °¹¼ö
	for( var i=0; i<rowCnt ;i++ ) {    // Ãâ·ÂµÇ¾î ÀÖ´Â Çàµé »èÁ¦
		cal_Table.deleteRow();
	}

	//!!!---- ¿äÀÏ Ãâ·Â
	var row2 = cal_Table.insertRow();
	var w_td;
	for( var i=0; i<day_Of_Week.length ;i++ ) {
		w_td = row2.insertCell();
		w_td.innerHTML = day_Of_Week[i];
		w_td.style.textAlign = 'center';
		w_td.style.backgroundColor = dayOfWeekBgColor;

		//w_td.Borderwidth = '1px';       // <=-- Border
		//w_td.Borderstyle = 'Solid';
		//w_td.Bordercolor = '#f4f4f4'; 

		w_td.width = '21';
		w_td.height = '20';
	}

	//!!!---- ³¯Â¥ Ãâ·Â
	var i_tr; // Temp tr Object
	var i_td; // Temp td Object
	var tempInt = 1;
	var tempInt2 = 1;

	for( var i=0; i<printRowCnt; i++ ) {
		i_tr = cal_Table.insertRow();

		for( var j=0; j<7; j++ ) { 

			// Ã¹¹øÂ° ÇàÀÏ¶§ : Àü´Þ ³¯Â¥ set
			if( i == 0 && j < currDayOfWeek) { 
				i_td = i_tr.insertCell();
				i_td.innerHTML = preLastDate - currDayOfWeek + j + 1;
				i_td.style.color = preDateColor;
				i_td.style.backgroundColor = prevDateBgColor;
				

				if((month-1) < 10) {
					if((preLastDate - currDayOfWeek + j + 1) < 10)
						i_td.id = year + '0' + (month-1) + '0' + (preLastDate - currDayOfWeek + j + 1)
						//i_td.id = year + '-0' + (month-1) + '-0' + (preLastDate - currDayOfWeek + j + 1)	// 0000-00-00 ÇüÅÂ
					else
						i_td.id = year + '0' + (month-1) + '' + (preLastDate - currDayOfWeek + j + 1)
						//i_td.id = year + '-0' + (month-1) + '-' + (preLastDate - currDayOfWeek + j + 1)	// 0000-00-00 ÇüÅÂ
				}
				else {
					if((preLastDate - currDayOfWeek + j + 1) < 10)
						i_td.id = year + '' + (month-1) + '0' + (preLastDate - currDayOfWeek + j + 1)
						//i_td.id = year + '-' + (month-1) + '-0' + (preLastDate - currDayOfWeek + j + 1)	// 0000-00-00 ÇüÅÂ
					else
						i_td.id = year + '' + (month-1) + '' + (preLastDate - currDayOfWeek + j + 1)
						//i_td.id = year + '-' + (month-1) + '-' + (preLastDate - currDayOfWeek + j + 1)	// 0000-00-00 ÇüÅÂ
				}
				if( month - 1 == 0 ) { // ÇØ°¡ ³Ñ¾î°¬À»¶§
					i_td.id = (year-1) + '12' + (preLastDate - currDayOfWeek + j + 1); 
					//i_td.id = (year-1) + '-12-' + (preLastDate - currDayOfWeek + j + 1); // 0000-00-00 ÇüÅÂ
				}
			}
			
			// ¸¶Áö¸· ÇàÀÏ¶§ : ´ÙÀ½´Þ ³¯Â¥ Set
			else if ( i == printRowCnt-1 && tempInt == currLastDate+1 ) { 
				i_td = i_tr.insertCell();
				i_td.innerHTML = tempInt2++;
				i_td.style.color = nextDateColor;
				i_td.style.backgroundColor = nextDateBgColor;

				if((month+1) < 10) {
					if((tempInt2-1) < 10)
						i_td.id = year + '0' + (month+1) + '0' + (tempInt2-1);
						//i_td.id = year + '-0' + (month+1) + '-0' + (tempInt2-1);		
					else
						i_td.id = year + '0' + (month+1) + '' + (tempInt2-1);	
						//i_td.id = year + '-0' + (month+1) + '-' + (tempInt2-1);		
					
				}
				else {
					if((tempInt2-1) < 10) 
						i_td.id = year + '' + (month+1) + '0' + (tempInt2-1);
						//i_td.id = year + '-' + (month+1) + '-0' + (tempInt2-1);
					else
						i_td.id = year + '' + (month+1) + '' + (tempInt2-1);
						//i_td.id = year + '-' + (month+1) + '-' + (tempInt2-1);
						
				}
				
				if( month + 1 == 13 ) { i_td.id = (year+1) + '010' + (tempInt2-1); }
			}
			
			// Çö ´Þ Date Set
			else {
				i_td = i_tr.insertCell();
				i_td.innerHTML = tempInt++;
				if(month < 10) {
					if((tempInt-1) < 10)
						i_td.id = year + '0' + month + '0' + (tempInt-1);
						//i_td.id = year + '-0' + month + '-0' + (tempInt-1);
					else
						i_td.id = year + '0' + month + '' + (tempInt-1);
						//i_td.id = year + '0' + month + '-' + (tempInt-1);
				}
				else {
					if((tempInt-1) < 10)
						i_td.id = year + '' + month + '0' + (tempInt-1);
						//i_td.id = year + '-' + month + '-0' + (tempInt-1);
					else
						i_td.id = year + '' + month + '' + (tempInt-1);
						//i_td.id = year + '-' + month + '-' + (tempInt-1);
				}

				// ±ÝÀÏÇ¥½Ã
				if( currYear == year && currMonth == month && tempInt-1 == currDate ) { 
					i_td.style.backgroundColor = todayBgColor; 
					i_td.style.fontWeight = 'bolder'; 
					i_td.style.color = todayDateColor;
				}
				else
					i_td.style.backgroundColor = DateBgColor;
				// ÀÏ¿äÀÏ
				if( j == 0 ) { i_td.style.color=sundayColor; }
				// Åä¿äÀÏ
				if( j == 6 ) { i_td.style.color=saturdayColor;}
			}

			i_td.attachEvent( 'onclick', writeValue );	
			
			// onMouseOver Ã³¸®		
			//i_td.attachEvent( 'onmouseover', changeBgColorOver );
			//i_td.attachEvent( 'onmouseout', changeBgColorOut );
			
			i_td.style.cursor = 'hand';
			i_td.style.paddingRight = '5px'
			i_td.style.textAlign = 'right';
			i_td.width = '21';
			i_td.height = '20';

		} // for( var j=0; j<7; j++ )
	} // for( var i=0; i<printRowCnt ;i++ )

	// Ã¢ Å©±â º¯È¯
	//window.resizeTo( 198, 85+eval(printRowCnt)*20 );	//253 * 123
	self.focus();
}

// À±³âÀÌ¸é true ¾Æ´Ï¸é false¸¦ return
function leapYear(year) {
	if( year%4 ==0 && year%100 !=0 || year%400==0 ) { return true; }
		return false;
}

// ÇØ´ç ³â¿ù¿¡ ¸î ÀÏÀÌ ÀÖ´ÂÁö return
function getDate(r_year, r_month) {
	if( r_month == 13 ) { r_month = 1; r_year++; }
	else if( r_month == 0 ) { r_month = 12; r_year--; }

	if( leapYear(r_year) ) { date_Of_Month[1] = 29; }
	else { date_Of_Month[1] = 28; }

	return date_Of_Month[r_month-1];
}

// ÀÌÀü³â
function to_PreYear() {
	year--;
	printCal();
}

// ÀÌÀü´Þ
function to_PreMonth() {
	month--;
	if( month == 0 ) { month = 12; year--; }
	printCal();
}

// ´ÙÀ½³â
function to_NextYear() {
	year++;
	printCal();
}

// ´ÙÀ½´Þ
function to_NextMonth() {
	month++;
	if( month == 13 ) { month = 1; year++; }
	printCal();
}

// ¸¶¿ì½º ¿À¹ö½Ã ¹ÙÅÁ»ö º¯È¯
function changeBgColorOver() { 
	var overObj = window.event.srcElement;
	var curDate;

	if(currMonth < 10) {
		if(currDate < 10) 
			curDate = currYear + '0' + currMonth + '0' + currDate;
			//curDate = currYear + '-0' + currMonth + '-0' + currDate;
		else
			curDate = currYear + '0' + currMonth + '' + currDate;
			//curDate = currYear + '-0' + currMonth + '-' + currDate;
	}
	else {
		if(currDate < 10) 
			curDate = currYear + '' + currMonth + '0' + currDate;
			//curDate = currYear + '-' + currMonth + '-0' + currDate;
		else
			curDate = currYear + '' + currMonth + '' + currDate;
			//curDate = currYear + '-' + currMonth + '-' + currDate;
	}
	if( overObj.id !=  curDate){ 
		overObj.style.backgroundColor = mouseOverColor; 
	}
	// overObj.style.textDecoration = 'underline'; // <=-- UnderLine~
}

// ¸¶¿ì½º ¾Æ¿ô½Ã ¹ÙÅÁ»ö º¯È¯
function changeBgColorOut() {
	var outObj = window.event.srcElement;
	var curDate;

	if(currMonth < 10) {
		if(currDate < 10) 
			curDate = currYear + '0' + currMonth + '0' + currDate;
			//curDate = currYear + '-0' + currMonth + '-0' + currDate;
		else
			curDate = currYear + '0' + currMonth + '' + currDate;
			//curDate = currYear + '-0' + currMonth + '-' + currDate;
	}
	else {
		if(currDate < 10) 
			curDate = currYear + '' + currMonth + '0' + currDate;
			//curDate = currYear + '-' + currMonth + '-0' + currDate;
		else
			curDate = currYear + '' + currMonth + '' + currDate;
			//curDate = currYear + '-' + currMonth + '-' + currDate;
	}

	if( outObj.id != curDate ){ outObj.style.backgroundColor = mouseOutColor; }
	// outObj.style.textDecoration = 'none';   // <=- UnderLine Ãë¼Ò~
}

// ³¯Â¥ Å¬¸¯½Ã 
function writeValue() {      
	var objForm = document.forms[0].name;	// ÀÔ·ÂµÇ¾îÁú ºÎ¸ðÃ¢ÀÇ FORM ÀÌ¸§
	var idValue = window.event.srcElement.id; // ÀÔ·Â°ª
	// ±ÝÀÏ set

	if( window.event.srcElement.id == 'today' ) { 
		if(currMonth < 10) {
			if(currDate < 10)
				idValue = currYear + '0' + currMonth + '0' + currDate; 
				//idValue = currYear + '-0' + currMonth + '-0' + currDate; 
			else
				idValue = currYear + '0' + currMonth + '' + currDate; 
				//idValue = currYear + '-0' + currMonth + '-' + currDate; 
		}
		else {			
			if(currDate < 10)
				idValue = currYear + '' + currMonth + '0' + currDate;
				//idValue = currYear + '-' + currMonth + '-0' + currDate;
			else
				idValue = currYear + '' + currMonth + '' + currDate;
				//idValue = currYear + '-' + currMonth + '-' + currDate;
		}
	}
	//´Þ·Â½ºÅ©¸³Æ® 2°³¸¦ ÀÌ¿ë ±â°£À¸·Î ÀÔ·ÂÇÏ´Â °æ¿ì ¿ÞÂÊ °ªÀÌ ¿À¸¥ÂÊ ³¯Â¥ ÀÌÀü °ªÀÌ ÀÌ¾î¾ßÇÑ´Ù.
	if(inputText_Nm=='ctl_txtSdate'){
		if( idValue > eval("document."+objForm+".ctl_txtEdate").value){
			alert('½Ã°£ÀÇ Èå¸§¿¡ µû¶ó ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊÀ¸·Î Á¤È®ÇÑ ±â°£À» ÀÔ·ÂÇÏ¼¼¿ä.');
			return;
		}
	}
	else if(inputText_Nm=='ctl_txtEdate'){
		if(idValue < eval("document."+objForm+".ctl_txtSdate").value){
			alert('½Ã°£ÀÇ Èå¸§¿¡ µû¶ó ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊÀ¸·Î Á¤È®ÇÑ ±â°£À» ÀÔ·ÂÇÏ¼¼¿ä.');
			return;
		}
	}
	//if( window.event.srcElement.name == 'none' ) { idValue = ''; }
	
	//·Î±×ÀÎ ¿©ºÎ¿¡ µû¶ó ÀÔ·Â°ªÀ» 2009³â2¿ù3ÀÏ ±âÁØÀ¸·Î °Ë»ç ÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù
	var date = new Date();
	var tmpYear = date.getFullYear();   // ÇöÀç ³â
	var tmpMonth = date.getMonth()+1; // ÇöÀç ¿ù
	if(String(tmpMonth).length<2) tmpMonth = "0"+tmpMonth;
	var tmpDate = date.getDate();  // ÇöÀç ÀÏ
	if(String(tmpDate).length<2) tmpDate = "0"+tmpDate;
	var tmpToday=String(tmpYear)+tmpMonth+tmpDate;
	if(idValue>tmpToday){
		alert('¹Ì·¡ ³¯Â¥´Â ÀÔ·Â ÇÒ ¼ö ¾ø½À´Ï´Ù.');
		idValue = tmpToday;	
	}
	// value set
	eval("document."+objForm+"."+inputText_Nm).value = idValue;
	
	// Focus
	eval("document."+objForm+"."+inputText_Nm).focus();

	// ´ÙÀ½ value focus set
	
	if(nextText_Nm.length >0) {
		if(nextText_Nm='ctl_selPeriod'){
			eval("document."+objForm+"."+nextText_Nm).value = '';
			eval("document."+objForm+"."+inputText_Nm).focus();
			
		}
		else{
			eval("document."+objForm+"."+nextText_Nm).value = '';
			eval("document."+objForm+"."+nextText_Nm).focus();
		}
	}	
	document.all.calendar.style.visibility='hidden';
	first=true;
}

// ·¹ÀÌ¾î top Position, ·¹ÀÌ¾î left position, ¼±ÅÃ³¯Â¥¸¦ ÀÔ·ÂÇÒ textBox id,  ´ÙÀ½ focus ÀÌµ¿ textBox
function set_calendar(top_pos, left_pos, txt_nm, txt_next)	
{
	document.all.calendar.style.top = top_pos;
	document.all.calendar.style.left = left_pos;
	
	if(document.all.calendar.style.visibility == "hidden")
		document.all.calendar.style.visibility = 'visible';
	else
		document.all.calendar.style.visibility = 'hidden';
	
	inputText_Nm = txt_nm;	 
	nextText_Nm = txt_next; 
	
	printCal();	// ´Þ·Â ·¹ÀÌ¾î »ý¼º
}

function calendar_close()
{	
	if(document.getElementById('calendar').style.visibility=='visible')
	{
		document.getElementById('calendar').style.visibility='hidden';
		first=true;
	}
}

function cancelbubble()
{
	window.event.cancelBubble=true;
}
function eventadd()
{
	document.onclick = calendar_close;
	document.getElementById('calendar').onclick = cancelbubble;
}
window.onload = eventadd;



