
  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;
  y = (document.layers) ? loc.pageY : event.clientY;

  minical.style.pixelTop  = y-170 + document.body.scrollTop;
  minical.style.pixelLeft  = x-100 + document.body.scrollLeft;
  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:±¼¸²;'>"
      + "<tr align=center><td colspan=7 nowrap=nowrap align=center>"
      + "<span title='ÀÌÀü´Þ' style=cursor:pointer; onclick='Show_cal("+intPrevYear+","+intPrevMonth+",1);'>"
      + "<font color=Navy>¢¸&nbsp;</font></span>"
      + "<b style=color:red>"+get_Yearinfo(intThisYear,intThisMonth,intThisDay)+"³â"+get_Monthinfo(intThisYear,intThisMonth,intThisDay)+"¿ù</b>"
      + "<span title='´ÙÀ½´Þ' style=cursor:pointer; onclick='Show_cal("+intNextYear+","+intNextMonth+",1);'>"
      + "<font color=Navy>&nbsp;¢º</font></span>"
      + "</td></tr>"
      + "<tr align=center bgcolor=ThreedFace style='color:#555555;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 min = 1920;
  var max = parseInt(year) + 10;
  var i = new Number();
  var str = new String();

  str = "<select onChange='Show_cal(this.value,"+day2(month).toString()+","+day2(day).toString()+");' onMouseover=doOver(); style='font-size:8pt;font-family:±¼¸²;'>";
  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 MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function get_Monthinfo(year,month,day) {                    // ¿ù Á¤º¸¸¦ ÄÞº¸ ¹Ú½º·Î Ç¥½Ã
  var i = new Number();
  var str = new String();

  str = "<select onChange='Show_cal("+year+",this.value,"+day2(day).toString()+");' onMouseover=doOver(); style='font-size:8pt;font-family:±¼¸²;'>";
  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;
}


// ¿À´Ã ³¯ÀÚ·Î °Ë»ö ±â°£À» °íÁ¤
function OnLoadDaySta(pForm)
{
  datToday = new Date();                          // ÇöÀç ³¯ÀÚ ¼³Á¤

  NowThisYear = datToday.getFullYear();                   // ÇöÀç ³â
  NowThisMonth = datToday.getMonth()+1;                   // ÇöÀç ¿ù
  NowThisDay = datToday.getDate();                        // ÇöÀç ÀÏ

  NowDayStart = NowThisYear + "-" + day2(NowThisMonth).toString() + "-" + day2(NowThisDay).toString();
  NowDayEnd =  NowThisYear + "-" + day2(NowThisMonth).toString() + "-" + day2(NowThisDay).toString();

  pForm.vDayStart.value = NowDayStart;
  pForm.vDayEnd.value = NowDayEnd;

}


function OnChangePeriod(pForm, val, set_date)
{
  //alert(val+":"+set_date);
  if(val == "") val = 0;
  var Months_day = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31)

  var period = new Array(8);
  var NowTime = 1000*60*60*24;
  datToday = new Date();                                  // ÇöÀç ³¯ÀÚ ¼³Á¤

  p2Day    = new Date(datToday.getTime()-(NowTime*7));

  NowThisYear = datToday.getFullYear();                   // ÇöÀç ³â
  NowThisMonth = datToday.getMonth()+1;                   // ÇöÀç ¿ù
  NowThisDay = datToday.getDate();                        // ÇöÀç ÀÏ

  NowDay = NowThisYear + "-" + day2(NowThisMonth).toString() + "-" + day2(NowThisDay).toString();

  period[0] = NowDay;
  period[1] = NowDay;
  period[2] = p2Day.getFullYear()+ "-"+day2((p2Day.getMonth()+1)).toString()+"-"+ day2((p2Day.getDate())).toString();
  period[3] = datToday.getFullYear()+ "-"+day2((datToday.getMonth()+1)).toString()+"-01";
  period[4] = NowThisYear + "-01-01";
  period[5] = datToday.getFullYear()+ "-"+day2((datToday.getMonth())).toString()+"-01";
  period[6] = datToday.getFullYear()+ "-"+day2((datToday.getMonth())).toString()+"-"+Months_day[(datToday.getMonth())];
  period[9] = set_date;

  if(val != 9) {
    pForm.vDayStart.value = period[val];
    pForm.vDayEnd.value = period[0];
  }
  if(val == 5) {
    pForm.vDayStart.value = period[val];
    pForm.vDayEnd.value = period[6];
  }
}

