    var calendar_target;
    var calendar_action_function;
    var div_id;
    
    function calendar(event,where, left, top, id)
    {
        div_id = id;
        
        dat = new Date();
        //calendar_action_function = p_calendar_action_function;
        calendar_target = where;
        //document.getElementById(div_id).style.zIndex = 9999;
        //alert(document.getElementById(id).offsetTop);
        //document.getElementById(div_id).style.left = (event.clientX +  document.documentElement.scrollLeft - 150).toString() + "px";
        //document.getElementById(div_id).style.top = (event.clientY + document.documentElement.scrollTop - 150).toString() + "px";
        //alert(document.getElementById(div_id).style.top);
        show_calendar(dat.getFullYear(),dat.getMonth() + 1);
        
    }
    function show_calendar(year,month)
    {
        
        var firstofmonth = (new Date(year, month-1, 1).getDay() ) % 7;
        var maxday = 31;
        
        if (month == 4 || month == 6 || month == 9 || month == 11) maxday=30;
        if (month == 2)
        {
            if( ( (year % 4 == 0) && (year % 100 != 0) ) || (year % 400 == 0) ) maxday = 29;
            else maxday = 28;
        }
        
        var next_year = year;
        var next_month = month + 1;
        
        if (next_month > 12)
        {
            next_year++;
            next_month = 1;
        }

        var prev_year = year;
        var prev_month = month - 1;
        
        if (prev_month < 1)
        {
            prev_year--;
            prev_month = 12;
        }
        

        
        var r_str = "";
        r_str += "<strong><a href=# class=\"c_navi_prev\" onclick=\"show_calendar(" + prev_year.toString() + "," + prev_month.toString() + ");return false;\"> ≪ </a>";
        r_str += "<a href=#>" + year.toString() + "." + month.toString() + "</a>&nbsp; ";
        r_str += "<a href=# class=\"c_navi_next\" onclick=\"show_calendar(" + next_year.toString() + "," + next_month.toString() + ");return false;\"> ≫ </a></strong>";
        r_str += "<table cellspacing=\"0\">";
        r_str += "<thead><tr><th class=\"week sunday\">일</th><th class=\"week\">월</th><th class=\"week\">화</th><th class=\"week\">수</th><th class=\"week\">목</th><th class=\"week\">금</th><th class=\"week\">토</th></tr></thead><tbody>";
        r_str += "<tr class=\"cal_week\">";
        
        for (i=0;i<firstofmonth;i++) r_str += "<td>&nbsp;</td>";
        
        var date_base = year.toString();
        if (month < 10) date_base += "0";
        date_base += month.toString();
            
        for (i=0;i<maxday;i++)
        {
            
            var stri = (i + 1).toString();
            if (i<9) stri = "0" + stri;
            
            var date_10 = date_base + stri;
            
            
            if ((i + firstofmonth + 1) % 7 == 0)
            {
                r_str += "<td class=\"week sunday\"><a href=\"javascript:calendar_target.value=\'" + date_10 + "\';div_close(div_id);\">" + (i+1).toString() + "</a></td>";
                r_str += "</tr><tr>";
            }
            else
            {
                r_str += "<td class=\"week\"><a href=\"javascript:calendar_target.value=\'" + date_10 + "\';div_close(div_id);\">" + (i+1).toString() + "</a></td>";
            }
        }
        
        for (i=0;i< (7 - (firstofmonth + maxday) % 7) % 7 ;i++) r_str += "<td>&nbsp;</td>";
        r_str += "</tr></tbody></table>";
        
        document.getElementById(div_id).innerHTML = r_str;
        div_open(div_id)
        
    }