// JavaScript Document
/******************************************************
  カレンダ情報取得関数
******************************************************/
/*
  //日付背景色設定
  color1="休日"; //休日(固定)
  color2="***"; //未設定
  color3="***"; //未設定
  //日曜を休日とする
  sun_flg=1; //0:設定しない、1:設定する
  //ボーダー有無(0：なし、1:あり)
  bdr=0;
  //ボーダー色
  bdr_color=""; //ﾋﾟﾝｸ系：#FFE6FF
  //カレンダータイトル色
  ttl_color="#000000";
  //曜日表示
  sun="日"; //日
  mon="月"; //月
  tue="火"; //火
  wed="水"; //水
  thu="木"; //木
  fri="金"; //金
  sat="土"; //土
*/
  //セパレータ
//  sep="\t"; //->ﾀﾌﾞ(但し文章中にﾀﾌﾞは使えません)
  sep=","; //->ｶﾝﾏ(但し文章中にｶﾝﾏは使えません)
 /*============================================
   初期処理
 ============================================*/
  //配列宣言
  linkArry=new Array();
  //本日取得
  myDate=new Date();
  wkp0=myDate.getFullYear();
  wkp1=myDate.getMonth()+1;
  prm=wkp0.toString()+"/"+wkp1.toString();
 /*============================================
   日付取得処理
 ============================================*/
function get_chalender(prm,flg){
 /**/
  dateArry=new Array();
  dateArry=prm.split("/");
 /*日付計算*/
  /*追加仕様
    今月より前の月は移動できない
    今月より３か月先へは移動できない
  */
  //当月を求める
  myDate=new Date();
  toDateY=myDate.getFullYear();
  toDateM=myDate.getMonth()+1;
  if(toDateM.toString().length==1){
    toYM=toDateY.toString()+"0"+toDateM.toString();
  }else{
    toYM=toDateY.toString()+toDateM.toString();
  }
  //当月を含めて3ヶ月後の月を求める
  aDateY=myDate.getFullYear();
  aDateM=myDate.getMonth()+3;
  if(aDateM.toString().length==1){
    aDateMs="0"+aDateM.toString();
  }else{
    aDateMs=aDateM.toString();
  }
  if(aDateM>12){
    after3M=(parseInt(aDateY)+1).toString()+aDateMs;
  }else{
    after3M=aDateY.toString()+aDateMs;
  }

  toMflg=0;//当月FLGの初期化

  if(flg==0){   //当月
    //当日を求める
    myDate=new Date();
    dateArry[0]=myDate.getFullYear();
    dateArry[1]=myDate.getMonth()+1;
    toMflg=1;
  }else{
    bDateY=dateArry[0];
    bDateM=dateArry[1];
    dateArry[0]=parseInt(dateArry[0]);
    dateArry[1]=parseInt(dateArry[1]);
    if(flg==1){ //翌月
      nextM=parseInt(dateArry[1])+1;
      if(nextM==13){
        dateArry[0]=parseInt(dateArry[0])+1;
        dateArry[1]=1;
      }else{
        dateArry[1]=parseInt(dateArry[1])+1;
      }
      //フラグ設定用年月取得
      if(dateArry[1].toString().length==1){
        nxtMon=dateArry[0].toString()+"0"+dateArry[1].toString();
      }else{
        nxtMon=dateArry[0].toString()+dateArry[1].toString();
      }

      if(nxtMon>=after3M)toMflg=2;
    }else{      //前月
      backM=parseInt(dateArry[1])-1;
      if(backM<1){
        dateArry[0]=parseInt(dateArry[0])-1;
        dateArry[1]=12;
      }else{
        dateArry[1]=parseInt(dateArry[1])-1;
      }
      //フラグ設定用年月取得
      if(dateArry[1].toString().length==1){
        bfrMon=dateArry[0].toString()+"0"+dateArry[1].toString();
      }else{
        bfrMon=dateArry[0].toString()+dateArry[1].toString();
      }
      if(bfrMon==toYM)toMflg=1;
    }
  }

 
 /*配列作成*/
  //日付を求める
  myDate=new Date(dateArry[0], dateArry[1]-1, 1);
  dd=myDate.getDate();
  sday=myDate.getDay();
  yyyy=myDate.getFullYear();
  mm=myDate.getMonth()+1;
  dateArry[0]=yyyy;
  dateArry[1]=mm;
 //月の日数を求める
  if(mm==2){ //2月のとき
    if(yyyy % 4==0){ //閏年計算
      if(yyyy % 100==0 && yyyy % 400!=0){
        mday=28;
      }else{
        mday=29;
      } 
    }else{ //通常月
      mday=28;
    }
  }else //2月以外の小の月
  if(mm==4 || mm==6 || mm==9 || mm==11){
    mday=30;
  }else{//大の月
    mday=31;
  }

  c=new Array(6); //背景色配列
  for(j=0;j<c.length;j++){
    c[j] = new Array(7);
  }
  for(i=0;i<6;i++){ //初期化
    for(j=0;j<7;j++){
      c[i][j] = "";
    }
  }
  d=new Array(6); //日付配列
  for(j=0;j<d.length;j++){
    d[j] = new Array(7);
  }
  wno=0;wd=0;day=1;
  for(i=0;i<42;i++){
    switch(wno){
      case 0://第1週
           switch(wd){
             case 0://日
                  if(wd>=sday){
                    d[wno][wd]=day.toString();
                    day++;
                  }else{
                    d[wno][wd]="　";
                  }
                  wd++;
                  break;
             case 1://
                  if(wd>=sday){
                    d[wno][wd]=day.toString();
                    day++;
                  }else{
                    d[wno][wd]="　";
                  }
                  wd++;
                  break;
             case 2://火
                  if(wd>=sday){
                    d[wno][wd]=day.toString();
                    day++;
                  }else{
                    d[wno][wd]="　";
                  }
                  wd++;
                  break;
             case 3://水
                  if(wd>=sday){
                    d[wno][wd]=day.toString();
                    day++;
                  }else{
                    d[wno][wd]="　";
                  }
                  wd++;
                  break;
             case 4://木
                  if(wd>=sday){
                    d[wno][wd]=day.toString();
                    day++;
                  }else{
                    d[wno][wd]="　";
                  }
                  wd++;
                  break;
             case 5://金
                  if(wd>=sday){
                    d[wno][wd]=day.toString();
                    day++;
                  }else{
                    d[wno][wd]="　";
                  }
                  wd++;
                  break;
             case 6://土
                  if(wd>=sday){
                    d[wno][wd]=day.toString();
                    day++;
                  }else{
                    d[wno][wd]="　";
                  }
                  wno++;//週番号加算
                  wd=0;
                  break;
           }
           break;
      case 1://第2週
           switch(wd){
              case 0://日
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 1://月
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 2://火
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 3://水
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 4://木
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 5://金
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 6://土
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wno++;//週番号加算
                 wd=0;
                 break;
          }
          break;
     case 2://第3週
           switch(wd){
              case 0://日
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 1://月
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 2://火
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 3://水
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 4://木
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 5://金
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 6://土
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wno++;//週番号加算
                 wd=0;
                 break;
          }
          break;
    case 3://第4週
           switch(wd){
              case 0://日
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 1://月
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 2://火
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 3://水
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 4://木
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 5://金
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 6://土
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wno++;//週番号加算
                 wd=0;
                 break;
          }
          break;
    case 4://第5週
           switch(wd){
              case 0://日
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 1://月
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 2://火
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 3://水
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 4://木
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 5://金
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 6://土
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wno++;//週番号加算
                 wd=0;
                 break;
          }
          break;
    case 5://第6週
           switch(wd){
              case 0://日
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 1://月
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 2://火
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 3://水
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 4://木
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 5://金
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wd++;
                 break;
            case 6://土
                 if(day<=mday){
                   d[wno][wd]=day.toString();
                   day++;
                 }else{
                   d[wno][wd]="　";
                 }
                 wno++;//週番号加算
                 wd=0;
                 break;
          }
          break;
    }
  }

  /*ﾘﾝｸの貼り付け*/
  weekTbl=new Array("日","月","火","水","木","金","土");
  wkArry=new Array();
  for(i=0;i<6;i++){ //週ｶｳﾝﾄ
    for(j=0;j<7;j++){//曜ｶｳﾝﾄ
      c[i][j]=""; //初期化
      if(j==0){
        c[i][j]="bg_red02"; //初期化
      }else
      if(j==6){
        c[i][j]="bg_blue02"; //初期化
      }
      //日曜日の設定
      myDate = new Date(yyyy,mm-1,d[i][j]);
      myWeek = myDate.getDay();
      for(k=0;k<linkArry.length;k++){
        wkArry=linkArry[k].split(sep);
        if(wkArry[0]==yyyy && wkArry[1]==mm && wkArry[2]==d[i][j]){
          if(wkArry[3]==1){//日曜
            c[i][j]="bg_red02";
          }else
          if(wkArry[3]==2){//休館日
            c[i][j]="bg_red00";
          }else
          if(wkArry[3]==3){//土曜
            c[i][j]="bg_blue02";
          }else{
            if(weekTbl[myWeek]=="日"){//日曜
              if(d[i][j]!="　" && c[i][j]==""){
                c[i][j]="bg_red02";
              }
            }
            if(weekTbl[myWeek]=="土"){//土曜
              if(d[i][j]!="　" && c[i][j]==""){
                c[i][j]="bg_blue02";
              }
            }
          }
/*
          if(wkArry[4]!=""){//リンクあり
            d[i][j]='<a href="'+wkArry[4]+'"><b>'+d[i][j]+'</b></a>';
          }
*/
        }
      }
      if(weekTbl[myWeek]=="日"){ //日曜
        if(d[i][j]!="　" && c[i][j]==""){
          c[i][j]="bg_red02";
        }
      }
      if(weekTbl[myWeek]=="土"){ //土曜
        if(d[i][j]!="　" && c[i][j]==""){
          c[i][j]="bg_blue02";
        }
      }
    }
  }

  /*日付による並べ替え*/
  for(i=0;i<linkArry.length;i++){
    wkArry=linkArry[i].split(sep);
    if(wkArry[1].length==1)wkArry[1]="0"+wkArry[1];
    if(wkArry[2].length==1)wkArry[2]="0"+wkArry[2];
   linkArry[i]=wkArry.join(sep);
  }  
  linkArry=linkArry.sort();
  for(i=0;i<linkArry.length;i++){
    wkArry=linkArry[i].split(sep);
    wkArry[1]=Number(wkArry[1]);
    wkArry[2]=Number(wkArry[2]);
    linkArry[i]=wkArry.join(sep);
  }

 /*==テーブルの書出し===*/
//東武博物館向け//bg_red02,bg_red00,bg_blue02
  msg=    '<div class="calendar">'+"\n";
  msg=msg+' <table width="180" border="0" cellpadding="0" cellspacing="1">'+"\n";
  msg=msg+'  <tr>'+"\n";
  msg=msg+'   <td colspan="7" class="bg_gray01">'+"\n";
  msg=msg+'    <strong>'+"\n";
  msg=msg+'     <span class="middle pl20 white">'+"\n";
  if(toMflg!=1){
    msg=msg+'<a href="#calendar" onclick="get_chalender(\''+ yyyy.toString() +'/'+ mm.toString() +'\',2)">&lt;&lt;</a>'+"\n";
  }
  msg=msg+'　'+mm+'月の休館日　'+"\n";
  if(toMflg!=2){
    msg=msg+'<a href="#calendar" onclick="get_chalender(\''+ yyyy.toString() +'/'+ mm.toString() +'\',1)">&gt;&gt;</a>'+"\n";
  }
  msg=msg+'</span>'+"\n";
  msg=msg+'    </strong>'+"\n";
  msg=msg+'   </td>'+"\n";
  msg=msg+'  </tr>'+"\n";
  msg=msg+'  <tr>'+"\n";
  msg=msg+'   <td width="24" class="bg_red01">日</td>'+"\n";
  msg=msg+'   <td width="25" class="bg_gray02">月</td>'+"\n";
  msg=msg+'   <td width="25" class="bg_gray02">火</td>'+"\n";
  msg=msg+'   <td width="25" class="bg_gray02">水</td>'+"\n";
  msg=msg+'   <td width="25" class="bg_gray02">木</td>'+"\n";
  msg=msg+'   <td width="25" class="bg_gray02">金</td>'+"\n";
  msg=msg+'   <td width="23">土</td>'+"\n";
  msg=msg+'  </tr>'+"\n";
  //20081215追加仕様
  //2008年1〜6月は全館休館
  imgsrc="http://www.tobu-hakubutsukan.jp/museum/img/close.gif";
  if(yyyy=="2009" &&
    (mm=="1" || mm=="2" || mm=="3" || mm=="4" || mm=="5" || mm=="6")
  ){
    msg=msg+'  <tr class="bg_white">'+"\n";
    msg=msg+'   <td colspan="7">';
    msg=msg+'<img name="kyukan" src="'+imgsrc+'">';
    msg=msg+'</td>'+"\n";
    msg=msg+'  </tr>'+"\n";
  }else{
    msg=msg+'  <tr class="bg_white">'+"\n";
    msg=msg+'   <td class="'+c[0][0]+'">'+d[0][0]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[0][1]+'">'+d[0][1]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[0][2]+'">'+d[0][2]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[0][3]+'">'+d[0][3]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[0][4]+'">'+d[0][4]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[0][5]+'">'+d[0][5]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[0][6]+'">'+d[0][6]+'</td>'+"\n";
    msg=msg+'  </tr>'+"\n";
    msg=msg+'  <tr class="bg_white">'+"\n";
    msg=msg+'   <td class="'+c[1][0]+'">'+d[1][0]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[1][1]+'">'+d[1][1]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[1][2]+'">'+d[1][2]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[1][3]+'">'+d[1][3]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[1][4]+'">'+d[1][4]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[1][5]+'">'+d[1][5]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[1][6]+'">'+d[1][6]+'</td>'+"\n";
    msg=msg+'  </tr>'+"\n";
    msg=msg+'  <tr class="bg_white">'+"\n";
    msg=msg+'   <td class="'+c[2][0]+'">'+d[2][0]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[2][1]+'">'+d[2][1]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[2][2]+'">'+d[2][2]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[2][3]+'">'+d[2][3]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[2][4]+'">'+d[2][4]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[2][5]+'">'+d[2][5]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[2][6]+'">'+d[2][6]+'</td>'+"\n";
    msg=msg+'  </tr>'+"\n";  msg=msg+'  <tr class="bg_white">'+"\n";
    msg=msg+'   <td class="'+c[3][0]+'">'+d[3][0]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[3][1]+'">'+d[3][1]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[3][2]+'">'+d[3][2]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[3][3]+'">'+d[3][3]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[3][4]+'">'+d[3][4]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[3][5]+'">'+d[3][5]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[3][6]+'">'+d[3][6]+'</td>'+"\n";
    msg=msg+'  </tr>'+"\n";
    msg=msg+'  <tr class="bg_white">'+"\n";
    msg=msg+'   <td class="'+c[4][0]+'">'+d[4][0]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[4][1]+'">'+d[4][1]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[4][2]+'">'+d[4][2]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[4][3]+'">'+d[4][3]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[4][4]+'">'+d[4][4]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[4][5]+'">'+d[4][5]+'</td>'+"\n";
    msg=msg+'   <td class="'+c[4][6]+'">'+d[4][6]+'</td>'+"\n";
    msg=msg+'  </tr>'+"\n";
    if(d[5][0]!="" && d[5][0]!="　"){
      msg=msg+'  <tr class="bg_white">'+"\n";
      msg=msg+'   <td class="'+c[5][0]+'">'+d[5][0]+'</td>'+"\n";
      msg=msg+'   <td class="'+c[5][1]+'">'+d[5][1]+'</td>'+"\n";
      msg=msg+'   <td class="'+c[5][2]+'">'+d[5][2]+'</td>'+"\n";
      msg=msg+'   <td class="'+c[5][3]+'">'+d[5][3]+'</td>'+"\n";
      msg=msg+'   <td class="'+c[5][4]+'">'+d[5][4]+'</td>'+"\n";
      msg=msg+'   <td class="'+c[5][5]+'">'+d[5][5]+'</td>'+"\n";
      msg=msg+'   <td class="'+c[5][6]+'">'+d[5][6]+'</td>'+"\n";
      msg=msg+'  </tr>'+"\n";
    }
  }
  msg=msg+' </table>'+"\n";
  msg=msg+'</div>'+"\n";

  //ﾃｰﾌﾞﾙの書き換え
  if(document.all || document.getElementById){ // IE4/5、NN6用の分岐 
    if(document.all)document.all("CLayer").innerHTML = msg; 
    else document.getElementById("CLayer").innerHTML = msg; 
  }else
  if(document.layers){ // NN4.7用の分岐 
    with(document.layers["CLayer"]){
      document.open(); 
      document.write(msg); // ﾚｲﾔｰ"CLayer"に変数msgの値を書き出す 
      document.close();
    } 
  }
}