
/*
 * 今月のカレンダーを取得します。
 */
function getCalendar(pYear, pMonth){
  var zOut = "";
  var wkMonth;

  if(pYear.length > 0 && pMonth.length > 0){
    wkMonth   = new Date(pYear, pMonth, 1);
  }else{
    wkMonth   = new Date();
  }

  var thisYear  = wkMonth.getFullYear();
  var thisMon   = eval(wkMonth.getMonth());
  var thisMonth = new Date(thisYear, thisMon);

  var theVTime = new Date(thisMonth);
  var prevMonth ="";
  var nextMonth ="";
  if(thisMonth.getMonth() > 0){
    prevMonth = new Date(thisMonth.getFullYear(), thisMonth.getMonth()-1,1);

  }else{
    prevMonth = new Date(thisMonth.getFullYear()-1, 11,1);
  }
  if(thisMonth.getMonth()+1 < 13){
    nextMonth = new Date(thisMonth.getFullYear(), thisMonth.getMonth()+1,1);
  }else{
    nextMonth = new Date(thisMonth.getFullYear()+1, 1,1);
  }
  var theYY = thisMonth.getFullYear();
  var theMM = thisMonth.getMonth() + 1;
  var theDofW = thisMonth.getDay();

  var viewMonth="";
  switch(thisMon+1){
    case 1:  viewMonth="January"; break;
    case 2:  viewMonth="February"; break;
    case 3:  viewMonth="March"; break;
    case 4:  viewMonth="April"; break;
    case 5:  viewMonth="May"; break;
    case 6:  viewMonth="June"; break;
    case 7:  viewMonth="July"; break;
    case 8:  viewMonth="August"; break;
    case 9:  viewMonth="September"; break;
    case 10: viewMonth="October"; break;
    case 11: viewMonth="November"; break;
    case 12: viewMonth="December"; break;
  }

  zOut += '<table class="calendar" border="0" cellpadding="0" cellspacing="1">\n';
  zOut += '<tr><th colspan="7" class="calendar_month">';
  zOut += '<a href="#" onClick="getCalendar(\'' + prevMonth.getFullYear() + '\', \'' + prevMonth.getMonth() + '\');return false">&lt;&lt;</a>　 ';
  zOut += viewMonth + ' ' + theYY
  zOut += '　 <a href="#" onClick="getCalendar(\'' + nextMonth.getFullYear() + '\', \'' + nextMonth.getMonth() + '\');return false">&gt;&gt;</a></th></tr>\n';
  zOut += '<tr>';
  zOut += '<th class="style2">Sun</th>';
  zOut += '<th>Mon</th>';
  zOut += '<th>Tue</th>';
  zOut += '<th>Wed</th>';
  zOut += '<th>Thu</th>';
  zOut += '<th>Fri</th>';
  zOut += '<th class="style3">Sat</th>';
  zOut += '</tr>\n';

  theVTime.setDate(1);
  zOut += '<tr>';
  for (i=1; i<theDofW+1; i++) {
     zOut += '<td class="calendar_open">&nbsp;</td>';
  }
  for (i=1; theVTime<nextMonth; i++) {
    // 定休日の比較
    var varHoliday=0;
    for(var j=0; j<holiday.length; j++){
      var wk = holiday[j].split("/");
      if(theMM == wk[0] && i == wk[1]){
        varHoliday=1;
        break;
      }
    }

    if(varHoliday==1) varStyle = "calendar_close";
    else varStyle = "calendar_open";

    if (theVTime.getDay()==0){
        zOut += '<td class="' + varStyle + '">' + i + '</td>';
    }else if (theVTime.getDay()<6){
        zOut += '<td class="' + varStyle + '">' + i + '</td>';
    }else if(theVTime.setDate(i+1)<nextMonth) {
        zOut += '<td class="' + varStyle + '">' + i + '</td></tr>\n<tr>';
    } else {
        zOut += '<td class="' + varStyle + '">' + i + '</td>';
    }

    theVTime.setDate(i+1);
  }

  if(nextMonth.getDay()>0){
    for(j=theVTime.getDay();j<=6;j++) { zOut += '<td class="calendar_open">&nbsp;</td>'; }
  }
  zOut += '</tr>\n</table>\n';
  zOut += '<img src="img/icon_open.gif" />営業日　　<img src="img/icon_close.gif" />休業日';

  //document.write( zOut );

  document.getElementById("calendar_box").innerHTML = zOut;
}

