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 Calendar(obj) {                                                        // jucke 
    var now = obj.value.split("-"); 
    var x, y; 
     
    target = obj;                                                                // Object ÀúÀå; 

    x = (document.layers) ? loc.pageX : event.clientX + document.body.scrollLeft; 
    y = (document.layers) ? loc.pageY : event.clientY + document.body.scrollTop; 

//	minical.style.pixelTop = obj.offsetTop + 20; 
//	minical.style.pixelLeft = obj.offsetLeft - 5; 

    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¹øÀÌ¸é (4·Î³ª´©¾î ¶³¾îÁö¸é) 
        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; onClick='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) - 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();>"; 
    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; 
} 