
// 

var target;                                                                    // È£ÃâÇÑ ObjectÀÇ ÀúÀå
var stime;
document.write("<div id='minical' oncontextmenu='return false' ondragstart='return false' onselectstart='return false' style=\"background:#FFFFFF;border-color: #7d7d7d; width:200px; display:none;position: absolute; z-index: 99\"></div>");

function Calendar(obj) {                                                        // jucke
    var now = obj.value.split("-");
    var x, y;
    
    target = obj;                                                                // Object ÀúÀå;

    x = (document.layers) ? loc.pageX : event.clientX;
    y = (document.layers) ? loc.pageY : event.clientY;
    
    x = document.body.scrollLeft + x;                                            // ½ºÅ©·Ñ ¿µ¿ª º¸Á¤
    y = document.body.scrollTop + y;

    minical.style.pixelTop    = y+7;
    minical.style.pixelLeft    = x-50;
    minical.style.display = (minical.style.display == "block") ? "none" : "block";

    if (now.length == 3) {                                                        // Á¤È®ÇÑÁö °Ë»ç
        Show_cal(now[0],now[1],now[2]);                                            // ³Ñ¾î¿Â °ªÀ» ³â¿ùÀÏ·Î ºÐ¸®
    } else {
        now = new Date();
        Show_cal(now.getFullYear(), now.getMonth()+1, now.getDate());            // ÇöÀç ³â/¿ù/ÀÏÀ» ¼³Á¤ÇÏ¿© ³Ñ±è.
    }
}
    
function doOver() {                                                                // ¸¶¿ì½º°¡ Ä®·»´ÙÀ§¿¡ ÀÖÀ¸¸é
    var el = window.event.srcElement;
    cal_Day = el.title;

    if (cal_Day.length > 7) {                                                    // ³¯ÀÚ °ªÀÌ ÀÖÀ¸¸é.
        el.style.borderTopColor = el.style.borderLeftColor = "#898989";
        el.style.borderRightColor = el.style.borderBottomColor = "#898989";
        el.style.borderBottomColor = el.style.borderBottomColor = "#898989";
    }
    window.clearTimeout(stime);                                                    // Clear
}

function doClick() {                                                            // ³¯ÀÚ¸¦ ¼±ÅÃÇÏ¿´À» °æ¿ì
    cal_Day = window.event.srcElement.title;
    window.event.srcElement.style.borderColor = "red";          // Å×µÎ¸® »öÀ» »¡°£»öÀ¸·Î
    if (cal_Day.length > 7) {                                                 // ³¯ÀÚ °ªÀÌÀÖÀ¸¸é
        target.value=cal_Day                                                  // °ª ¼³Á¤
    }
    minical.style.display='none';                                                // È­¸é¿¡¼­ Áö¿ò
}

function doClick2() {                                                            // ³¯ÀÚ¸¦ ¼±ÅÃÇÏ¿´À» °æ¿ì
    cal_Day = window.event.srcElement.title;
    window.event.srcElement.style.borderColor = "red";                            // Å×µÎ¸® »öÀ» »¡°£»öÀ¸·Î
    if (cal_Day.length > 7) {                                                    // ³¯ÀÚ °ªÀÌÀÖÀ¸¸é
        target.value=cal_Day                                                    // °ª ¼³Á¤
    }
    minical.style.display='none';                                                // È­¸é¿¡¼­ Áö¿ò
}


function doOut() {
    var el = window.event.fromElement;
    cal_Day = el.title;

    if (cal_Day.length > 7) {
        el.style.borderColor = "white";
    }
    //stime=window.setTimeout("minical.style.display='none';", 200);
}

function day2(d) {                                                                // 2ÀÚ¸® ¼ýÀÚ·á º¯°æ
    var str = new String();
    
    if (parseInt(d) < 10) {
        str = "0" + parseInt(d);
    } else {
        str = "" + parseInt(d);
    }
    return str;
}

function Show_cal(sYear, sMonth, sDay) {
    var Months_day = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31)
    var Weekday_name = new Array("ÀÏ", "¿ù", "È­", "¼ö", "¸ñ", "±Ý", "Åä");
    var intThisYear = new Number(), intThisMonth = new Number(), intThisDay = new Number();
    document.all.minical.innerHTML = "";
    datToday = new Date();                                                    // ÇöÀç ³¯ÀÚ ¼³Á¤
    
    intThisYear = parseInt(sYear);
    intThisMonth = parseInt(sMonth);
    intThisDay = parseInt(sDay);
    
    if (intThisYear == 0) intThisYear = datToday.getFullYear();                // °ªÀÌ ¾øÀ» °æ¿ì
    if (intThisMonth == 0) intThisMonth = parseInt(datToday.getMonth())+1;    // ¿ù °ªÀº ½ÇÁ¦°ª º¸´Ù -1 ÇÑ °ªÀÌ µÅµ¹·Á Áø´Ù.
    if (intThisDay == 0) intThisDay = datToday.getDate();
    
    switch(intThisMonth) {
        case 1:
                intPrevYear = intThisYear -1;
                intPrevMonth = 12;
                intNextYear = intThisYear;
                intNextMonth = 2;
                break;
        case 12:
                intPrevYear = intThisYear;
                intPrevMonth = 11;
                intNextYear = intThisYear + 1;
                intNextMonth = 1;
                break;
        default:
                intPrevYear = intThisYear;
                intPrevMonth = parseInt(intThisMonth) - 1;
                intNextYear = intThisYear;
                intNextMonth = parseInt(intThisMonth) + 1;
                break;
    }

    NowThisYear = datToday.getFullYear();                                        // ÇöÀç ³â
    NowThisMonth = datToday.getMonth()+1;                                        // ÇöÀç ¿ù
    NowThisDay = datToday.getDate();                                            // ÇöÀç ÀÏ
    
    datFirstDay = new Date(intThisYear, intThisMonth-1, 1);                        // ÇöÀç ´ÞÀÇ 1ÀÏ·Î ³¯ÀÚ °´Ã¼ »ý¼º(¿ùÀº 0ºÎÅÍ 11±îÁöÀÇ Á¤¼ö(1¿ùºÎÅÍ 12¿ù))
    intFirstWeekday = datFirstDay.getDay();                                        // ÇöÀç ´Þ 1ÀÏÀÇ ¿äÀÏÀ» ±¸ÇÔ (0:ÀÏ¿äÀÏ, 1:¿ù¿äÀÏ)
    
    intSecondWeekday = intFirstWeekday;
    intThirdWeekday = intFirstWeekday;
    
    datThisDay = new Date(intThisYear, intThisMonth, intThisDay);                // ³Ñ¾î¿Â °ªÀÇ ³¯ÀÚ »ý¼º
    intThisWeekday = datThisDay.getDay();                                        // ³Ñ¾î¿Â ³¯ÀÚÀÇ ÁÖ ¿äÀÏ

    varThisWeekday = Weekday_name[intThisWeekday];                                // ÇöÀç ¿äÀÏ ÀúÀå
    
    intPrintDay = 1                                                                // ´ÞÀÇ ½ÃÀÛ ÀÏÀÚ
    secondPrintDay = 1
    thirdPrintDay = 1
    
    Stop_Flag = 0
    
    if ((intThisYear % 4)==0) {                                                    // 4³â¸¶´Ù 1¹øÀÌ¸é (»ç·Î³ª´©¾î ¶³¾îÁö¸é)
        if ((intThisYear % 100) == 0) {
            if ((intThisYear % 400) == 0) {
                Months_day[2] = 29;
            }
        } else {
            Months_day[2] = 29;
        }
    }
    intLastDay = Months_day[intThisMonth];                                        // ¸¶Áö¸· ÀÏÀÚ ±¸ÇÔ
    Stop_flag = 0
    
    Cal_HTML = "<table width='200' border='0' cellspacing='0' cellpadding='0' class='boxsolid_calendar'>"
	Cal_HTML = Cal_HTML + "<tr><td valign='top' style='padding:7 7 7 7' align='center'>"
	Cal_HTML = Cal_HTML + "<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=1 ONMOUSEOVER=doOver(); ONMOUSEOUT=doOut();>"
	Cal_HTML = Cal_HTML + "<TR ALIGN=CENTER>"
	Cal_HTML = Cal_HTML + "<TD ALIGN=LEFT><img src='/js/calendar/btn_calendar_prev.gif' BORDER='0' TITLE='ÀÌÀü´Þ' STYLE=cursor:hand; onClick='Show_cal("+intPrevYear+","+intPrevMonth+","+intThisDay+");'>"
	Cal_HTML = Cal_HTML + "<TD COLSPAN=5 nowrap=nowrap ALIGN=CENTER>"
	Cal_HTML = Cal_HTML + "<B STYLE=color:red>"+get_Yearinfo(intThisYear,intThisMonth,intThisDay)+" "+get_Monthinfo(intThisYear,intThisMonth,intThisDay)+"</B></TD>"
	Cal_HTML = Cal_HTML + "<TD ALIGN=RIGHT><IMG SRC='/js/calendar/btn_calendar_next.gif' BORDER='0' TITLE='´ÙÀ½´Þ' STYLE=cursor:hand; onClick='Show_cal("+intNextYear+","+intNextMonth+","+intThisDay+");'>"
	Cal_HTML = Cal_HTML + "</TD></TR>"
	Cal_HTML = Cal_HTML + "<TR ALIGN=CENTER bgcolor='#e7e7e7'>"
	Cal_HTML = Cal_HTML + "<TD><font style='font-size:10pt; font-family:³ª´®°íµñ;'>ÀÏ</TD>"
	Cal_HTML = Cal_HTML + "<TD><font style='font-size:10pt; font-family:³ª´®°íµñ;'>¿ù</TD>"
	Cal_HTML = Cal_HTML + "<TD><font style='font-size:10pt; font-family:³ª´®°íµñ;'>È­</TD>"
	Cal_HTML = Cal_HTML + "<TD><font style='font-size:10pt; font-family:³ª´®°íµñ;'>¼ö</TD>"
	Cal_HTML = Cal_HTML + "<TD><font style='font-size:10pt; font-family:³ª´®°íµñ;'>¸ñ</TD>"
	Cal_HTML = Cal_HTML + "<TD><font style='font-size:10pt; font-family:³ª´®°íµñ;'>±Ý</TD>"
	Cal_HTML = Cal_HTML + "<TD><font style='font-size:10pt; font-family:³ª´®°íµñ;'>Åä</TD></TR>";
            
    for (intLoopWeek=1; intLoopWeek < 7; intLoopWeek++) {                        // ÁÖ´ÜÀ§ ·çÇÁ ½ÃÀÛ, ÃÖ´ë 6ÁÖ
        Cal_HTML += "<TR ALIGN=right BGCOLOR=WHITE>"
        for (intLoopDay=1; intLoopDay <= 7; intLoopDay++) {                        // ¿äÀÏ´ÜÀ§ ·çÇÁ ½ÃÀÛ, ÀÏ¿äÀÏ ºÎÅÍ
            if (intThirdWeekday > 0) {                                            // Ã¹ÁÖ ½ÃÀÛÀÏÀÌ 1º¸´Ù Å©¸é
                Cal_HTML += "<TD onClick=doClick();>";
                intThirdWeekday--;
            } else {
                if (thirdPrintDay > intLastDay) {                                // ÀÔ·Â ³¯Â¦ ¿ù¸»º¸´Ù Å©´Ù¸é
                    Cal_HTML += "<TD>";
                } else {                                                        // ÀÔ·Â³¯Â¥°¡ ÇöÀç¿ù¿¡ ÇØ´ç µÇ¸é
                    Cal_HTML += "<TD onClick=doClick(); title="+intThisYear+"-"+day2(intThisMonth).toString()+"-"+day2(thirdPrintDay).toString()+" STYLE=\"font-size:10pt; font-family:³ª´®°íµñ;cursor:Hand;border:1px solid white;";
                    if (intThisYear == NowThisYear && intThisMonth==NowThisMonth && thirdPrintDay==intThisDay) {
                        Cal_HTML += "background-color:#EFEFEF;";
                    }
                    
                    switch(intLoopDay) {
                        case 1:                                                    // ÀÏ¿äÀÏÀÌ¸é »¡°£ »öÀ¸·Î
                            Cal_HTML += "color:#DD7403;"
                            break;
                        case 7:
                            Cal_HTML += "color:#3C8096;"
                            break;
                        default:
                            Cal_HTML += "color:black;"
                            break;
                    }
                    
                    Cal_HTML += "\">"+thirdPrintDay;
                    
                }
                thirdPrintDay++;
                
                if (thirdPrintDay > intLastDay) {                                // ¸¸¾à ³¯Â¥ °ªÀÌ ¿ù¸» °ªº¸´Ù Å©¸é ·çÇÁ¹® Å»Ãâ
                    Stop_Flag = 1;
                }
            }
            Cal_HTML += "</TD>";
        }
        Cal_HTML += "</TR>";
        if (Stop_Flag==1) break;
    }
    Cal_HTML += "</TABLE></td></tr></table>";

    document.all.minical.innerHTML = Cal_HTML;
}

function get_Yearinfo(year,month,day) {                                            // ³â Á¤º¸¸¦ ÄÞº¸ ¹Ú½º·Î Ç¥½Ã
    var min = parseInt(year) - 100;
    var max = parseInt(year) + 10;
    var i = new Number();
    var str = new String();
    
    str = "<SELECT onChange='Show_cal(this.value,"+month+","+day+");' ONMOUSEOVER=doOver(); class='txtbox1'>";
    for (i=min; i<=max; i++) {
        if (i == parseInt(year)) {
            str += "<OPTION VALUE="+i+" selected ONMOUSEOVER=doOver();>"+i+"</OPTION>";
        } else {
            str += "<OPTION VALUE="+i+" ONMOUSEOVER=doOver();>"+i+"</OPTION>";
        }
    }
    str += "</SELECT>";
    return str;
}


function get_Monthinfo(year,month,day) {                                        // ¿ù Á¤º¸¸¦ ÄÞº¸ ¹Ú½º·Î Ç¥½Ã
    var i = new Number();
    var str = new String();
    
    str = "<SELECT onChange='Show_cal("+year+",this.value,"+day+");' ONMOUSEOVER=doOver(); class='txtbox1'>";
    for (i=1; i<=12; i++) {
        if (i == parseInt(month)) {
            str += "<OPTION VALUE="+i+" selected ONMOUSEOVER=doOver();>"+i+"</OPTION>";
        } else {
            str += "<OPTION VALUE="+i+" ONMOUSEOVER=doOver();>"+i+"</OPTION>";
        }
    }
    str += "</SELECT>";
    return str;
}

