//document.write("Passed here");
// (こうしないとIE6で動かなかった)
function cal1_onclick() {
  setTimeout(cal1_send,0);
}

function cal1_hello() {
  document.writeln("<br>Hello!!!<br>");
}

//
// 実際のリクエスト
//
function cal1_send() {
  var d = new Date();
  var year_and_manth ;
  var year = d.getYear();
  var month = d.getMonth() +1;  //count up one
  var ymdate = "<center>" + year + "年" + month + "月" + "</center>";
  //var year = "2008"; //document.getElementById('cal1-year').value;
  //var month = "7";  //document.getElementById('cal1-month').value;
  document.writeln(ymdate);
  //document.writeln("<center>2009年 5月</center>");



  if( year >= 2000 && month >= 1 && month <= 12 ) {
    // script 作成、挿入
    var script=document.createElement('script');
    script.type = 'text/javascript';
    script.charset = 'utf-8';
    script.setAttribute('defer','defer');                                    //●コールバック指定
    script.src = 'http://refits.cgk.affrc.go.jp/tsrv/jp/calendar.php?t=l&jsonp=cal1_callback&y=' + year + '&m=' + month;
    document.getElementsByTagName('head')[0].appendChild(script);
  }
  else {
    alert('年 ('+year+') または 月('+month+')が不正です。');
  }
}

// jsonp応答が到達した→カレンダーを作成
function cal1_callback(res) {
  if( !res ) {
    alert('正しいJSONP応答が得られませんでした。');
    return;
  }
  if( res.status > 0 ) {
    alert('サービスからエラーが返されました。\n'+res.message);
    return;
  }

  var n;
  // tbody を見つける
  var tbody = document.getElementById('cal1-tbody');
  // 見出しを残して全て消す
  var head = document.getElementById('cal1-head');  // 残される
  for( n = tbody.childNodes.length-1; n >= 0; n-- ) {
    if( tbody.childNodes.item(n) != head ) {
      tbody.removeChild(tbody.childNodes.item(n));
    }
  }

  // 日付を追加
  var tr1 = document.createElement('tr');
  var tr2 = document.createElement('tr');
  tr1.className = 'num';
  tr2.className = 'text';
  var td1, td2;
  // 余白を作る(月初が日曜以外)
  if( res.result.firstwday > 1 ) {
    td = document.createElement('td');
    td.colSpan = res.result.firstwday - 1;
    td.rowSpan = 2;
    td.className = 'blank';
    tr1.appendChild(td);
  }
  // 日ごとに追加
  for( n = 0; n < res.result.days; n++ ) {
    td1 = document.createElement('td');
    td2 = document.createElement('td');
    // td1は日付
    td1.className = 'num';
    td1.appendChild(document.createTextNode(res.result.day[n].mday));
    // 日付は曜日で色をつける
    if( res.result.day[n].wday == 1 ) {
      td1.className = 'sun';
    }
    else if( res.result.day[n].wday == 7 ) {
      td1.className = 'sat';
    }
    // td2は休日/振休/休日の名前
    if( res.result.day[n].htype == 1 || res.result.day[n].htype == 2 || res.result.day[n].htype == 3 ) {
      // 休日/振休
      td2.className = 'red';
      td2.appendChild(document.createTextNode(res.result.day[n].hname));
    }
    else {
      td2.className = 'text';
    }
    // 作成されたtdをtrに追加
    tr1.appendChild(td1);
    tr2.appendChild(td2);
    // 土曜まで来たら折り返し
    if( res.result.day[n].wday == 7 ) {
      tbody.appendChild(tr1);
      tbody.appendChild(tr2);
      tr1 = document.createElement('tr');
      tr2 = document.createElement('tr');
      tr1.className = 'num';
      tr2.className = 'text';
    }
  }
  // ループ終了
  // 最終が土曜日以外なら、tr1,tr2 にデータがあるから追加
  if( res.result.day[res.result.days-1].wday < 7 ) {
    // 空白td追加
    td = document.createElement('td');
    td.colSpan = 7 - res.result.day[res.result.days-1].wday;
    td.rowSpan = 2;
    td.className = 'blank';
    tr1.appendChild(td);
    // tr1, tr2 を追加
    tbody.appendChild(tr1);
    tbody.appendChild(tr2);
  }
}

