<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">// js calendar by jaewon
// last_modified : 2009/08/06
// Usage : &lt;script type="text/javascript" src="calendar.js"&gt;&lt;/script&gt;
//         &lt;input type="text" id="start_date" name="start_date" value="20081027|null"&gt;
//         &lt;input type="button" name="ë‹¬ë&nbsp;¥" onClick="calendar(event, 'start_date')"&gt;
var calendar_div;
var calendar_obj;
var calendar_tt;

// ex) calendar(event, 'object_name', 'YYYYMMDD')
// fmt optionì´ ì—†ìœ¼ë©´ ê¸°ë³¸ìœ¼ë¡œ ì„¤ì&nbsp;•.
// YYYY : ë…„
// MM : ì›”
// DD : ì¼
var calendar_fmt = "YYYY-MM-DD";

// ìˆ¨ê²¨ì•¼ ë˜ëŠ” select element ì&nbsp;€ìž¥ë³€ìˆ˜(Array)
var hidden_select;
// elementì˜ x, y, width, heightë¥¼ ê°€ì&nbsp;¸ì˜´. (selectì™¸ì— objectë¥¼ ì¸ìˆ˜ë¡œ ì‚¬ìš©í•´ë„ ë¨ ex:div)
function get_pos(selectObj)
{
    var pos = new Array();
    
    var pos_x = 0, pos_y = 0;
    
    // whileì—ì„œ offsetParentë¥¼ ì°¾ì•„ê°€ëŠ” ë°©ì‹ì´ë¼
    // ë‹¤ë¥¸ ì§€ì&nbsp;•ìžì— ì¸ìˆ˜ë¡œ ë„˜ì–´ì˜¨ objectë¥¼ ë„˜ê²¨ì¤Œ.
    obj = selectObj;
    
    // ì¢Œí‘œê³„ì‚°
    while(obj.offsetParent)
    {
        pos_y += parseInt(obj.offsetTop);
        pos_x += parseInt(obj.offsetLeft);
        
        obj = obj.offsetParent;
    }
    pos_x += parseInt(obj.offsetLeft);
    pos_y += parseInt(obj.offsetTop);
    
    // ì¢Œí‘œì&nbsp;€ìž¥
    pos.x = pos_x;
    pos.y = pos_y;
    pos.x2 = pos_x + selectObj.offsetWidth;
    pos.y2 = pos_y + selectObj.offsetHeight;
    
    return pos;
}

// IEì™€ Maxtonì—ì„œ select elementsë¥¼ ìˆ¨ê¹€
// ë‹¬ë&nbsp;¥ ë&nbsp;ˆì´ì–´ì˜ ì¢Œí‘œë¥¼ ì¸ìˆ˜ë¡œ ë„˜ê²¨ì„œ í•´ë‹¹ ì¢Œí‘œë‚´ì— select elementê°€ ìžˆëŠ”ì§€ ì²´í¬í•˜ëŠ” ë°©ì‹
function hide_select(x, y, x2, y2)
{
    var selects = document.getElementsByTagName('select');
    var hidden_count = 0;
    
    x = parseInt(x);
    y = parseInt(y);
    x2 = parseInt(x2);
    y2 = parseInt(y2);
    
    // Xì¶•ì´ ê²¹ì¹˜ëŠ”ì§€ ì²´í¬í•˜ê¸° ìœ„í•œ ë³€ìˆ˜
    var x_cross = false;
    // Yì¶•ì´ ê²¹ì¹˜ëŠ”ì§€ ì²´í¬í•˜ê¸° ìœ„í•œ ë³€ìˆ˜
    var y_cross = false;
    
    // ìˆ¨ê²¨ì•¼ í•&nbsp; select elementsë¥¼ ë°°ì—´ë¡œ ë“±ë¡í•¨.
    hidden_select = new Array();
    
    for(var i=0; i&lt;selects.length; i++)
    {
        // select elementì˜ ì¢Œí‘œë¥¼ ê°€ì&nbsp;¸ì˜´.
        selects[i].pos = new Array();
        selects[i].pos = get_pos(selects[i]);
        
        // Xì¶•ì´ ë‹¬ë&nbsp;¥ ì˜ì—­ì— í¬í•¨ ë˜ì–´ ìžˆëŠ”ì§€ ì²´í¬
        if((x &lt;= selects[i].pos.x &amp;&amp; x2 &gt;= selects[i].pos.x) || (x &lt;= selects[i].pos.x2 &amp;&amp; x2 &gt;= selects[i].pos.x2))
            x_cross = true;
        else
            x_cross = false;
        
        // Yì¶•ì´ ë‹¬ë&nbsp;¥ ì˜ì—­ì— í¬í•¨ë˜ì–´ ìžˆëŠ”ì§€ ì²´í¬
        if((y &lt;= selects[i].pos.y &amp;&amp; y2 &gt;= selects[i].pos.y) || (y &lt;= selects[i].pos.y2 &amp;&amp; y2 &gt;= selects[i].pos.y2))
            y_cross = true;
        else
            y_cross = false;
        
        // Xì¶•ì´ë‚˜ Yì¶•ì´ ë‹¬ë&nbsp;¥ ë&nbsp;ˆì´ì–´ì™€ ê²¹ì³ì§€ë©´ í•´ë‹¹ select elementë¥¼ ìˆ¨ê¹€
        if(x_cross == true &amp;&amp; y_cross == true)
        {
            selects[i].style.visibility = "hidden";
            hidden_select[hidden_count++] = i;
        }
    }
}

// IEì™€ Maxtonì—ì„œ ìˆ¨ê²¨ì§„ select elementsë¥¼ ë‹¤ì‹œ í‘œì‹œí•´ì¤Œ.
function show_select()
{
    var selects = document.getElementsByTagName('select');
    
    // hide_select functionì—ì„œ ìˆ¨ê¸´ select elementsë¥¼ ë‹¤ì‹œ ë³´ì—¬ì¤Œ.
    for(var i=0; i&lt;hidden_select.length; i++)
    {
        selects[hidden_select[i]].style.visibility = "visible";
    }
    hidden_select = null;
}

// ë‹¬ë&nbsp;¥ ë&nbsp;ˆì´ì–´ ì´ˆê¸°í™”
// ë‹¬ë&nbsp;¥ ë&nbsp;ˆì´ì–´ë¥¼ ë§Œë“¤ê³&nbsp; í´ë¦­í•œ objectì˜ ìœ„ì¹˜ë¥¼ ê³„ì‚°í•´ì„œ ë‹¬ë&nbsp;¥ì„ í‘œì‹œí•&nbsp; ìœ„ì¹˜ë¥¼ ê³„ì‚°í•¨
function calendar_set(e)
{
    if(!e) var e = window.event;
    var click_obj = e.target || e.srcElement;
    
    // í´ë¦­í•œ objectì˜ ì¢Œí‘œë¥¼ ê°€ì&nbsp;¸ì˜´
    var pos_x = 0;
    var pos_y = 0;
    var obj = click_obj;
    
    while(obj.offsetParent)
    {
        pos_y += parseInt(obj.offsetTop);
        pos_x += parseInt(obj.offsetLeft);
        
        obj = obj.offsetParent;
    }
    pos_x += parseInt(obj.offsetLeft);
    pos_y += parseInt(obj.offsetTop);
    
    pos_y += click_obj.offsetHeight;
    
    // ê¸°ì¡´ì— ë§Œë“&nbsp; ë‹¬ë&nbsp;¥ ë&nbsp;ˆì´ì–´ê°€ ìžˆìœ¼ë©´ ìž¬ì‚¬ìš©(ì¢Œí‘œëŠ” ë‹¤ì‹œ ê³„ì‚°í•¨)í•˜ê³&nbsp; ì—†ìœ¼ë©´ ìƒì„±
    calendar_div = document.getElementById('calendar_div');
    
    if(!calendar_div)
    {
        calendar_div = document.createElement("DIV");
        document.body.appendChild(calendar_div);
    }
    calendar_div.id = "calendar_div";
    calendar_div.style.cssText = "width:200px; background-color:#ffffff; border:3px; border-style:double; border-color:#d0d0d0;z-index:9999;";
    calendar_div.style.position = "absolute";
    calendar_div.style.top = pos_y + 'px';
    calendar_div.style.left = pos_x + 'px';
    
    calendar_div.style.visibility = "visible";
    
    // mouseover ìƒíƒœì—ì„œëŠ” ì°½ë‹«ê¸° íƒ€ì´ë¨¸ë¥¼ ì&nbsp;œê±°í•¨.
    calendar_div.onmouseover = function(e) {
        if(calendar_tt)
            window.clearTimeout(calendar_tt);
    }
    
    // mouseoutì´ ë˜ë©´ ì°½ë‹«ê¸° íƒ€ì´ë¨¸ë¥¼ ì„¤ì&nbsp;•í•¨
    // ì„¤ì&nbsp;•ëœ ì‹œê°„ í›„ì— ì°½ì´ ë‹«íž˜
    calendar_div.onmouseout = function() {
        if(calendar_tt)
            window.clearTimeout(calendar_tt);
        calendar_tt = window.setTimeout("calendar_hide()", 300);
    }
    
    calendar_div.focus();
    
    // ë”ë¸”í´ë¦­í•´ë„ ì°½ì´ ë‹«ížˆë„ë¡..
    //calendar_div.ondblclick = calendar_close;
}

// ë‹¬ë&nbsp;¥ ë&nbsp;ˆì´ì–´ë¥¼ ë‹«ìŒ
// ì´ë²¤íŠ¸ë¥¼ ë°›ì„ ì´ìœ&nbsp;ëŠ” ì—†ìœ¼ë‚˜ ì¶”ê°€ì&nbsp;ìœ¼ë¡œ ë­”ê°€ í•´ì•¼ë&nbsp; ì¼ì´ ìžˆì„ê²ƒ ê°™ì•„ì„œ ë°›ì•„ë‘&nbsp;.
function calendar_close(e)
{
    if(!e) var e = window.event;
    document.getElementById('calendar_div').style.visibility = "hidden";
    document.getElementById('calendar_months').style.visibility = "hidden";
    document.getElementById('calendar_years').style.visibility = "hidden";
    
    if(hidden_select)
        show_select();
    
    return false;
}

function calendar_years_change(calendar_y, calendar_m)
{
    var calendar_years = document.getElementById('calendar_years');
    var html = calendar_years_html(calendar_y, calendar_m);
    calendar_years.innerHTML = html;
}

// ë…„ë„ ë&nbsp;ˆì´ì–´
function calendar_years_html(calendar_y, calendar_m)
{
    var html = "";
    var margin_top = 0;
    var margin_left = 0;
    var prev_year, next_year;
    
    var year = Number(parseInt((Number(calendar_y) - 1)  / 10) * 10 + 1);
    // ë…„ë„ì„&nbsp;íƒ ë&nbsp;ˆì´ì–´ ì„¤ì&nbsp;•
    for(var i=0; i&lt;10; i++)
    {
        margin_top = (i &gt;= 4)? 2 : 0;
        margin_left = (i % 4 == 0)? 0 : 2;
        html += "&lt;div style=\"margin-top:"+margin_top+"px; margin-left:"+margin_left+"px; float:left; width:35px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+String(year+i)+String(calendar_m)+"01')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;"+String(year+i)+"&lt;/div&gt;";
    }
    
    prev_year = (year - i);
    next_year = (year + i);
    html += "&lt;div style=\"margin-top:"+margin_top+"px; margin-left:"+margin_left+"px; float:left; width:35px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_years_change('"+String(prev_year)+"', '"+String(calendar_m)+"')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;ì´ì&nbsp;„&lt;/div&gt;";
    html += "&lt;div style=\"margin-top:"+margin_top+"px; margin-left:"+margin_left+"px; float:left; width:35px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_years_change('"+String(next_year)+"', '"+String(calendar_m)+"')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;ë‹¤ìŒ&lt;/div&gt;";
    
    return html;
}

// ë‹¬ë&nbsp;¥ ë&nbsp;ˆì´ì–´ì— ë‹¬ë&nbsp;¥ì„ ì¶œë&nbsp;¥í•¨.
function calendar_draw(set_date)
{
    var days_arr = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    
    var html = "&lt;table border=\"0\" width=\"100%\"&gt;";
    var calendar_date, calendar_t;
    
    // ë‹¬ë&nbsp;¥ì„ ìž…ë&nbsp;¥í•&nbsp; input boxì˜ ìˆ«ìžë§Œ ê²€ì¶œí•œ ê°’ì˜ ìžë¦¿ìˆ˜ê°€ 6ìžë¦¬ YYYYMM ì´ê±°ë‚˜ 8ìžë¦¬ YYYYMMDDë¼ë©´ í•´ë‹¹ ë…„ì›”ì— ë§žê²Œ ë‹¬ë&nbsp;¥ì„ í‘œì‹œí•¨
    if(set_date &amp;&amp; (set_date.length == 6 || set_date.length == 8))
    {
        calendar_date = set_date;
        var y = calendar_date.substring(0, 4);
        var m = calendar_date.substring(4, 6);
        var s_t = new Date(y, m-1, 1);
        if(s_t.getMonth()+1 != Number(m))
            calendar_t = null;
        else
            calendar_t = new Date(y, m-1, 1);
    }
    
    // ì˜¤ëŠ˜ ë‚&nbsp;ì§œë¥¼ êµ¬í•¨. (ì˜¤ëŠ˜ë‚&nbsp;ì§œëŠ” font-weight:bold; ìŠ¤íƒ€ì¼ ì§€ì&nbsp;•)
    var t = new Date();
    var today = t.getFullYear();
    
    if(t.getMonth()+1 &lt; 10)
        today += '0' + String(t.getMonth()+1);
    else
        today += String(t.getMonth()+1);
    
    if(t.getDate() &lt; 10)
        today += '0' + String(t.getDate());
    else
        today += String(t.getDate());
    
    // ë‹¬ë&nbsp;¥ì„ ìž…ë&nbsp;¥í•&nbsp; input boxì˜ ê°’ìœ¼ë¡œ ê¸°ë³¸ê°’ì´ ì„¤ì&nbsp;•ë˜ì§€ ì•Šì•˜ë‹¤ë©´ ì˜¤ëŠ˜ì„ ê¸°ì¤€ìœ¼ë¡œ ë‹¬ë&nbsp;¥ì„ í‘œì‹œí•¨
    if(!calendar_t)
    {
        var y = t.getFullYear();
        var m = t.getMonth();
        
        calendar_t = new Date(y, m, 1);
    }
    
    // í‘œì‹œí•&nbsp; ë‹¬ë&nbsp;¥ì˜ ë…„ì›”
    var calendar_yymm = calendar_t.getFullYear();
    calendar_yymm += (calendar_t.getMonth()+1 &lt; 10)? String('0' + (calendar_t.getMonth() + 1)) : String(calendar_t.getMonth()+1);
    
    // í‘œì‹œí•&nbsp; ë‹¬ë&nbsp;¥ì˜ ì—°ë„
    var calendar_y = Number(calendar_yymm.substring(0, 4));
    // í‘œì‹œí•&nbsp; ë‹¬ë&nbsp;¥ì˜ ì›”
    var calendar_m = Number(calendar_yymm.substring(4, 6));
    
    // ì´ì&nbsp;„ë‹¬ ë§í¬ ê°’ (â—€í´ë¦­)
    var prev_m;
    if(Number(calendar_m) == 1)
    {
        prev_m = String(calendar_y - 1);
        prev_m += '12';
    }
    else
    {
        prev_m = String(calendar_y);
        prev_m += (calendar_m - 1 &lt; 10)? '0' + (calendar_m - 1) : calendar_m - 1;
    }
    
    // ë‹¤ìŒë‹¬ ë§í¬ê°’ (â–¶í´ë¦­)
    var next_m;
    if(Number(calendar_m) == 12)
    {
        next_m = String(calendar_y + 1);
        next_m += '01';
    }
    else
    {
        next_m = String(calendar_y);
        next_m += (calendar_m + 1 &lt; 10)? '0' + (calendar_m + 1) : calendar_m + 1;
    }
    
    // ì´ì&nbsp;„ ë‹¤ìŒë‹¬ ê°’ì„ ê³„ì‚°í•˜ê¸° ìœ„í•´ ë‹¬ë&nbsp;¥í‘œì‹œ ì›”ì˜ ê°’ì„ ì•„ëž˜ì—ì„œ ìŠ¤íŠ¸ë§ìœ¼ë¡œ ë³€ê²½
    calendar_m = (calendar_m &lt; 10)? String('0' + calendar_m) : String(calendar_m);
    // ì&nbsp;„ë…„ë„
    var prev_y = String(calendar_y-1) + calendar_m;
    // í›„ë…„ë„
    var next_y = String(calendar_y+1) + calendar_m;
    
    // ë…„, ì›”, ë‹«ê¸° ë²„íŠ¼ html
    html += "&lt;tr height=\"20\"&gt;";
    html += "&lt;td colspan=\"6\" width=\"100%\" align=\"center\" valign=\"center;\"&gt;";
    html += "&lt;span style=\"cursor:pointer; font-size: 12px;\" onClick=\"calendar_draw('"+prev_y+"')\"&gt;â—€&lt;/span&gt;&amp;nbsp;";
    html += "&lt;span style=\"font-size: 12px; cursor:pointer;\" onClick=\"calendar_years_toggle()\"&gt;â†•"+calendar_y+"&lt;/span&gt;&amp;nbsp;";
    html += "&lt;span style=\"cursor:pointer; font-size: 12px;\" onClick=\"calendar_draw('"+next_y+"')\"&gt;â–¶&lt;/span&gt;&amp;nbsp;";
    html += "&lt;span style=\"cursor:pointer; font-size: 12px;\" onClick=\"calendar_draw('"+prev_m+"')\"&gt;â—€&lt;/span&gt;&amp;nbsp;";
    html += "&lt;span style=\"cursor:pointer; font-size: 12px;\" onClick=\"calendar_months_toggle()\"&gt;â†•"+calendar_m+"&lt;/span&gt;&amp;nbsp;";
    html += "&lt;span style=\"cursor:pointer; font-size: 12px;\" onClick=\"calendar_draw('"+next_m+"')\"&gt;â–¶&lt;/span&gt;&amp;nbsp;";
    html += "&lt;/td&gt;";
    html += "&lt;td align=\"right\" valign=\"center;\"&gt;&lt;span style=\"cursor:pointer; font-size: 12px; font-weight:bold;\" onClick=\"calendar_close(event)\"&gt;X&lt;/span&gt;&lt;/td&gt;";
    html += "&lt;/tr&gt;";
    // ìš”ì¼í‘œì‹œ html
    html += "&lt;tr height=\"20\"&gt;";
    html += "&lt;td style=\"background-color:#f0f0f0; text-align:center; font-weight:bold; font-size:11px;\"&gt;Sun&lt;/td&gt;";
    html += "&lt;td style=\"background-color:#f0f0f0; text-align:center; font-weight:bold; font-size:11px;\"&gt;Mon&lt;/td&gt;";
    html += "&lt;td style=\"background-color:#f0f0f0; text-align:center; font-weight:bold; font-size:11px;\"&gt;Tue&lt;/td&gt;";
    html += "&lt;td style=\"background-color:#f0f0f0; text-align:center; font-weight:bold; font-size:11px;\"&gt;Wed&lt;/td&gt;";
    html += "&lt;td style=\"background-color:#f0f0f0; text-align:center; font-weight:bold; font-size:11px;\"&gt;Thu&lt;/td&gt;";
    html += "&lt;td style=\"background-color:#f0f0f0; text-align:center; font-weight:bold; font-size:11px;\"&gt;Fri&lt;/td&gt;";
    html += "&lt;td style=\"background-color:#f0f0f0; text-align:center; font-weight:bold; font-size:11px;\"&gt;Sat&lt;/td&gt;";
    html += "&lt;/tr&gt;";
    
    // ë‹¬ë&nbsp;¥ ì‹œìž‘ì¼ì˜ ìš”ì¼ì„ êµ¬í•¨
    var week = calendar_t.getDay();
    // ì‹œìž‘ì¼ì´ ì¼ìš”ì¼ì´ ì•„ë‹ˆë©´ ë¹ˆ TD ì¶œë&nbsp;¥
    for(var i=0; i&lt;week; i++)
    {
        html += "&lt;td&gt;&amp;nbsp;&lt;/td&gt;\n";
    }
    
    // í•´ë‹¹ì›”ì˜ ë§ˆì§€ë§‰ ë‚&nbsp;ì„ ê°€ì&nbsp;¸ì˜´.
    if(String(calendar_t.getMonth()+1) == '2')
        max_days = ((( calendar_y % 4 == 0) &amp;&amp; (calendar_y % 100 != 0)) || (calendar_y % 400 == 0))? 29 : 28;
    else
        max_days = days_arr[calendar_t.getMonth()];
    
    // ë‹¬ë&nbsp;¥ ì¶œë&nbsp;¥
    var this_date;
    for(var i=1; i&lt;=max_days; i++)
    {
        if(week &gt; 6)
        {
            html += "&lt;/tr&gt;";
            week = 0;
        }
        if(week == 0)
        {
            html += "&lt;tr height=\"20\"&gt;";
        }
        
        // ë‹¬ë&nbsp;¥ì˜ ë…„ì›”
        this_date = calendar_yymm;
        // í‘œì‹œì¼
        this_date += (i &lt;= 9)? String('0' + i) : String(i);
        
        var style = "cursor:pointer; font-size:12px; text-align:center;";
        // input boxì˜ ê°’ê³¼ ë™ì¼í•œ ë‚&nbsp;ì€ underline í‘œì‹œ
        if(set_date == this_date)
            style += " text-decoration:underline;";
        // ì˜¤ëŠ˜ë‚&nbsp;ì§œëŠ” ì§„í•˜ê²Œ í‘œì‹œ
        if(today == this_date)
            style += " font-weight:bold;";
        // ì¼ìš”ì¼ì€ ë¹¨ê°„ìƒ‰
        if(week == 0)
            style += " color:red;";
        // í†&nbsp;ìš”ì¼ì€ íŒŒëž€ìƒ‰
        if(week == 6)
            style += " color:blue;";
        html += "&lt;td style=\""+style+"\" onClick=\"calendar_set_date('"+this_date+"');\"&gt;"+i+"&lt;/td&gt;";
        week ++;
    }
    
    // í†&nbsp;ìš”ì¼ë¡œ ëë‚˜ì§€ ì•Šì•˜ìœ¼ë©´ ë¹ˆ TD ì¶œë&nbsp;¥
    if(week &lt; 6)
    {
        for(var i=week; i&lt;=6; i++)
        {
            html += "&lt;td&gt;&amp;nbsp;&lt;/td&gt;\n";
        }
    }
    html += "&lt;/tr&gt;";
    html += "&lt;/table&gt;";
    
    html += "&lt;div id=\"calendar_years\" style=\"position:absolute; padding-left:4px; width:160px; visibility:hidden; background-color:#ffffff;\"&gt;";
    html += calendar_years_html(calendar_y, calendar_m);
    html += "&lt;/div&gt;";
    
    // ì›”ì„&nbsp;íƒ ë&nbsp;ˆì´ì–´ ì„¤ì&nbsp;•
    html += "&lt;div id=\"calendar_months\" style=\"position:absolute; padding-left:4px; width:160px; visibility:hidden; background-color:#ffffff;\"&gt;";
    html += "&lt;div style=\"float:left; width:22px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+calendar_y+"01')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;1&lt;/div&gt;";
    html += "&lt;div style=\"float:left; margin-left:2px; width:22px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+calendar_y+"02')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;2&lt;/div&gt;";
    html += "&lt;div style=\"float:left; margin-left:2px; width:22px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+calendar_y+"03')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;3&lt;/div&gt;";
    html += "&lt;div style=\"float:left; margin-left:2px; width:22px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+calendar_y+"04')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;4&lt;/div&gt;";
    html += "&lt;div style=\"float:left; margin-left:2px; width:22px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+calendar_y+"05')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;5&lt;/div&gt;";
    html += "&lt;div style=\"float:left; margin-left:2px; width:22px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+calendar_y+"06')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;6&lt;/div&gt;";
    html += "&lt;div style=\"float:left; margin-top:1px; width:22px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+calendar_y+"07')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;7&lt;/div&gt;";
    html += "&lt;div style=\"float:left; margin-left:2px; margin-top:1px; width:22px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+calendar_y+"08')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;8&lt;/div&gt;";
    html += "&lt;div style=\"float:left; margin-left:2px; margin-top:1px; width:22px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+calendar_y+"09')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;9&lt;/div&gt;";
    html += "&lt;div style=\"float:left; margin-left:2px; margin-top:1px; width:22px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+calendar_y+"10')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;10&lt;/div&gt;";
    html += "&lt;div style=\"float:left; margin-left:2px; margin-top:1px; width:22px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+calendar_y+"11')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;11&lt;/div&gt;";
    html += "&lt;div style=\"float:left; margin-left:2px; margin-top:1px; width:22px; height:20px; text-align:center; padding-top:2px; border:1px solid #d2d2d2; background-color:#f5f5f5; font-size:11px; cursor:pointer;\" onClick=\"calendar_draw('"+calendar_y+"12')\" onMouseOver=\"this.style.backgroundColor='#e0e0e0';\" onMouseOut=\"this.style.backgroundColor='#f5f5f5';\"&gt;12&lt;/div&gt;";
    html += "&lt;/div&gt;";
    
    // ë‹¬ë&nbsp;¥ í‘œì‹œ
    calendar_div.innerHTML = html;
    
    // IE/Maxtonì¼ë•Œ ìˆ¨ê²¨ì§„ select elements í‘œì‹œ
    if(hidden_select)
        show_select();
    
    // Crome, Firefox, Safariê°€ ì•„ë‹ˆë©´ ë‹¬ë&nbsp;¥ ì˜ì—­ê³¼ ê²¹ì¹˜ëŠ” select elements ìˆ¨ê¹€
    if(navigator.userAgent.indexOf('Chrome') == -1 &amp;&amp; navigator.userAgent.indexOf('Firefox') == -1 &amp;&amp; navigator.userAgent.indexOf('Safari') == -1)
    {
        hide_select(parseInt(calendar_div.style.left), parseInt(calendar_div.style.top), parseInt(calendar_div.style.left) + parseInt(calendar_div.offsetWidth), parseInt(calendar_div.style.top) + parseInt(calendar_div.offsetHeight));
    }
}

// ì„&nbsp;íƒí•œ ë‚&nbsp;ì§œë¥¼ input boxì— ë„£ì–´ì¤Œ.
function calendar_set_date(set_date)
{
    // FMT ë³€ê²½ (YYYY-MM-DD)
    if(calendar_obj)
    {
        var year = set_date.substring(0,4);
        var month = set_date.substring(4,6);
        var day = set_date.substring(6,8);
        
        var calendar_value = calendar_fmt;
        calendar_value = calendar_value.replace(/yyyy/i, year);
        calendar_value = calendar_value.replace(/mm/i, month);
        calendar_value = calendar_value.replace(/dd/i, day);
        
        calendar_obj.value = calendar_value;
    }
    calendar_close();
}

// ë‹¬ë&nbsp;¥ì„ ìˆ¨ê¹€
function calendar_hide()
{
    if(calendar_tt)
        window.clearTimeout(calendar_tt);
    calendar_close();
}

// 300ms í›„ì— ë‹¬ë&nbsp;¥ì„ ìˆ¨ê¹€
// mouseoutë•Œ ë°”ë¡œ ë‹«ížˆì§€ ì•Šê³&nbsp; ì•½ê°„ì˜ í…€ì„ ë‘ì–´ ë‹¤ì‹œ ë§ˆìš°ìŠ¤ê°€ ê°”ì„ë•Œ ë‹¬ë&nbsp;¥ ë&nbsp;ˆì´ì–´ë¥¼ ìœ&nbsp;ì§€í•˜ê¸° ìœ„í•¨
function calendar_afterHide()
{
    if(calendar_tt)
        window.clearTimeout(calendar_tt);
    this.t = window.setTimeout("calendar_hide()", 300);
}

// ë‹¬ë&nbsp;¥ ìˆ¨ê¹€ íƒ€ì´ë¨¸ë¥¼ ì‚­ì&nbsp;œí•¨.
function calendar_clearT()
{
    if(calendar_tt)
        window.clearTimeout(calendar_tt);
}

// ë…„ë„ í´ë¦­ì‹œ ì›”ì„&nbsp;íƒ ë&nbsp;ˆì´ì–´ë¥¼ í‘œì‹œ/ê°ì¶¤
// on -&gt; off
// off -&gt; on
function calendar_years_toggle()
{
    var calendar_div = document.getElementById('calendar_div');
    var calendar_years = document.getElementById('calendar_years');
    var calendar_months = document.getElementById('calendar_months');
    
    calendar_months.style.visibility = "hidden";
    
    // ë‹¬ë&nbsp;¥ì˜ ë…„,ì›”,ë‹«ê¸° ë¶€ë¶„ì€ í‘œì‹œë˜ë„ë¡ ìƒë‹¨ì—ì„œ 20px ë‚´ë&nbsp;¤ì„œ í‘œì‹œí•¨.
    var top = parseInt(calendar_div.style.top) + 20;
    var left = parseInt(calendar_div.style.left);
    
    // position:absolute; ì´ì§€ë§Œ ë‹¬ë&nbsp;¥ ë&nbsp;ˆì´ì–´ì˜ ìƒëŒ€ì„± ì&nbsp;ˆëŒ€ì¢Œí‘œë¡œ ì¸ì‹í•¨.
    calendar_years.style.top = '20px';
    calendar_years.style.left = '0px';
    
    // ì›”ì„&nbsp;íƒ ë&nbsp;ˆì´ì–´ í†&nbsp;ê¸€
    if(calendar_years.style.visibility == "hidden")
        calendar_years.style.visibility = "visible";
    else
        calendar_years.style.visibility = "hidden";
}

// ì›” í´ë¦­ì‹œ ë…„ë„ì„&nbsp;íƒ ë&nbsp;ˆì´ì–´ë¥¼ í‘œì‹œ/ê°ì¶¤
// on -&gt; off
// off -&gt; on
function calendar_months_toggle()
{
    var calendar_div = document.getElementById('calendar_div');
    var calendar_months = document.getElementById('calendar_months');
    var calendar_years = document.getElementById('calendar_years');
    
    calendar_years.style.visibility = "hidden";
    
    // ë‹¬ë&nbsp;¥ì˜ ë…„,ì›”,ë‹«ê¸° ë¶€ë¶„ì€ í‘œì‹œë˜ë„ë¡ ìƒë‹¨ì—ì„œ 20px ë‚´ë&nbsp;¤ì„œ í‘œì‹œí•¨.
    var top = parseInt(calendar_div.style.top) + 20;
    var left = parseInt(calendar_div.style.left);
    
    // position:absolute; ì´ì§€ë§Œ ë‹¬ë&nbsp;¥ ë&nbsp;ˆì´ì–´ì˜ ìƒëŒ€ì„± ì&nbsp;ˆëŒ€ì¢Œí‘œë¡œ ì¸ì‹í•¨.
    calendar_months.style.top = '20px';
    calendar_months.style.left = '0px';
    
    // ì›”ì„&nbsp;íƒ ë&nbsp;ˆì´ì–´ í†&nbsp;ê¸€
    if(calendar_months.style.visibility == "hidden")
        calendar_months.style.visibility = "visible";
    else
        calendar_months.style.visibility = "hidden";
}

// ë‹¬ë&nbsp;¥í‘œì‹œ í˜¸ì¶œí•¨ìˆ˜ onClick="calendar(event, 'ID')"ë¡œ í˜¸ì¶œ
function calendar(e, obj_name, fmt)
{
    if(!e) var e = window.event;
    calendar_obj = document.getElementById(obj_name);
    // input objectì˜ ê°’ì—ì„œ ìˆ«ìžë§Œ ì¶”ì¶œí•¨.
    var default_date = calendar_obj.value.replace(/[^0-9]/g, '');
    
    // YYYYMM í˜¹ì€ YYYYMMDD í˜•ì‹ì´ ì•„ë‹ˆë©´ ë¬´ì‹œí•¨.
    if(default_date.length != 6 &amp;&amp; default_date.length != 8)
        default_date = '';
    
    // onClick="calendar(event, 'ID')"ì˜ ID Objectê°€ ì—†ìœ¼ë©´ ë‹¬ë&nbsp;¥ì„ í‘œì‹œí•´ë„ ë„£ì„ê³³ì´ ì—†ìœ¼ë¯€ë¡œ ì˜¤ë¥˜ì²˜ë¦¬
    if(!calendar_obj)
    {
        alert(calendar_obj + ' object is null');
        return;
    }
    
    if(fmt)
        calendar_fmt = fmt;
    else
        calendar_fmt = "YYYY-MM-DD";
    
    // ë‹¬ë&nbsp;¥ ë&nbsp;ˆì´ì–´ ì´ˆê¸°í™”
    calendar_set(e);
    // ë‹¬ë&nbsp;¥ í‘œì‹œ
    calendar_draw(default_date);
}</pre></body></html>