var target; // È£ÃâÇÑ ObjectÀÇ ÀúÀå
var stime;
document.write¡¡¡¡("<div id=minical oncontextmenu='return false' ondragstart='return false' onselectstart='return false' style=\"background:buttonface; margin:5; padding:5;margin-top:2;border-top:1 solid buttonshadow;border-left: 1 solid buttonshadow;border-right: 1 solid buttonshadow;border-bottom:1 solid buttonshadow;width:160;display:none;position: absolute; z-index: 99\"></div>");
function my_calendar(obj)
{
    var now = obj.value.split("-");
    var x, y;
    
    target = obj;
    x = (document.layers) ? loc.pageX : event.clientX;
    y = (document.layers) ? loc.pageY : event.clientY;
    minical.style.pixelTop  = y+5;
    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 = "buttonhighlight";
        el.style.borderRightColor = el.style.borderBottomColor = "buttonshadow";
    }
    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 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=100% BORDER=0 CELLPADDING=0 CELLSPACING=0 ONMOUSEOVER=doOver(); ONMOUSEOUT=doOut(); STYLE='font-size:8pt;font-family:Tahoma;'>"
        + "<TR ALIGN=CENTER><TD COLSPAN=7 nowrap=nowrap ALIGN=CENTER><SPAN TITLE='ÀÌÀü´Þ' STYLE=cursor:¡¡¡¡hand; onC¡¡¡¡lick='Show_cal("+intPrevYear+","+intPrevMonth+",1);'><FONT COLOR=Navy>¢¸</FONT></SPAN> "
        + "<B STYLE=color:red>"+get_Yearinfo(intThisYear,intThisMonth,intThisDay)+"³â"+get_Monthinfo(intThisYear,intThisMonth,intThisDay)+"¿ù</B>"
        + " <SPAN TITLE='´ÙÀ½´Þ' STYLE=cursor:¡¡¡¡hand; onClick='Show_cal("+intNextYear+","+intNextMonth+",1);'><FONT COLOR=Navy>¢º</FONT></SPAN></TD></TR>"
        + "<TR ALIGN=CENTER BGCOLOR=ThreedFace STYLE='color:White;font-weight:bold;'><TD>ÀÏ</TD><TD>¿ù</TD><TD>È­</TD><TD>¼ö</TD><TD>¸ñ</TD><TD>±Ý</TD><TD>Åä</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 onClick=doClick();>";
                }
                else // ÀÔ·Â³¯Â¥°¡ ÇöÀç¿ù¿¡ ÇØ´ç µÇ¸é
                {
                    Cal_HTML += "<TD onClick=doClick(); title="+intThisYear+"-"+day2(intThisMonth).toString()+"-"+day2(thirdPrintDay).toString()+" STYLE=\"cursor:¡¡¡¡Hand;border:1px solid white;";
                    if (intThisYear == NowThisYear && intThisMonth==NowThisMonth && thirdPrintDay==intThisDay)
                    {
                        Cal_HTML += "background-color:cyan;";
                    }
                    
                    switch(intLoopDay)
                    {
                        case 1: // ÀÏ¿äÀÏÀÌ¸é »¡°£ »öÀ¸·Î
                            Cal_HTML += "color:red;"
                            break;
                        case 7:
                            Cal_HTML += "color:blue;"
                            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>";
    document.all.minical.innerHTML = Cal_HTML;
}
function get_Yearinfo(year,month,day) // ³â Á¤º¸¸¦ ÄÞº¸ ¹Ú½º·Î Ç¥½Ã
{                                           
    var min = parseInt(year) - 10;
    var max = parseInt(year) + 10;
    var i = new Number();
    var str = new String();
    
    str = "<SELECT onChange='Show_cal(this.value," + month + "," + day + ");' ONMOUSEOVER=doOver();>";
    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();>";
    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;
}