var G_SISETU_IDX;   //施設配列のインデックス番号
var G_SISETU_NO;    //施設番号
var G_SISETU_RR;    //履歴番号
var G_SISETU_NM;    //施設名
var G_YYYYMM_IDX;   //年月配列のインデックス番号
var G_YYYYMM;       //年月（yyyymm形式）
var G_YYYYMM_SME;   //年月ストッパー（s:開始、m:中間、e:終了、t:単月）
var G_YYYYMM_ZEN;   //前月（yyyymm形式）
var G_YYYYMM_JIG;   //次月（yyyymm形式）
var G_YYYYMM_HON;   //本日（yyyymm形式）
var G_YMD_TODAY     //本日（yyyymmdd形式）

//------------------------------------------------
//休日情報の取得
//  引数    [i] pYmd :対象日付（yyyymmdd形式）
//  戻り値  休日情報を配列で返却
//          [0] 日付
//          [1] 休日区分
//              0:平日
//              1:土曜日
//              2:日曜日
//              3:祝日
//              4:振替休日
//              9:その他の休日
//          [2] 休業区分
//              0:営業日
//              1:休業日
//          [3] 休日名
//------------------------------------------------
function YasumiCheck(pYmd){

    var i;                  //汎用カウント変数

    for(i=0;i<gAryYasumi.length;i++){

        if(gAryYasumi[i][0] == "" + pYmd){

            return [gAryYasumi[i][0],gAryYasumi[i][1],gAryYasumi[i][2],gAryYasumi[i][3]];

        }

    }

    return [pYmd,"","",""];

}
//------------------------------------------------
//施設情報の取得
//  引数    [i] pSisetuNo  :施設番号
//------------------------------------------------
function SetGlobalDataSisetu(pSisetuNo){

    var i;                  //汎用カウント変数

    for(i=0;i<gArySisetu.length;i++){

        if(gArySisetu[i][0] == "" + pSisetuNo){

            //グローバル変数にセット
            G_SISETU_IDX = i;                   //施設配列のインデックス番号
            G_SISETU_NO  = gArySisetu[i][0];    //施設番号
            G_SISETU_RR  = gArySisetu[i][1];    //履歴番号
            G_SISETU_NM  = gArySisetu[i][2];    //施設名

            return;

        }

    }

}
//------------------------------------------------
//当月情報の取得
//------------------------------------------------
function SetGlobalDataToday(){

    var wDate  = new Date();
    var wYyyy  = wDate.getFullYear();
    var wMm    = wDate.getMonth() + 1;
    var wDd    = wDate.getDate();

    G_YMD_TODAY = "" + wYyyy + AddZero(wMm,2) + AddZero(wDd,2); //本日（yyyymmdd形式）

}
//------------------------------------------------
//年月情報の取得
//  引数    [i] pYyyyMm    :対象年月
//------------------------------------------------
function SetGlobalDataYyyyMm(pYyyyMm){

    var wDate  = new Date();
    var wYyyy  = wDate.getFullYear();
    var wMm    = wDate.getMonth() + 1;
    var wDd    = wDate.getDate();
    var wMonth = parseInt(pYyyyMm.substring(4, 6),10);

    var i;                  //汎用カウント変数

    for(i=0;i<gAryCalendar[G_SISETU_IDX].length;i++){

        if(gAryCalendar[G_SISETU_IDX][i][0] == "" + pYyyyMm){

            //グローバル変数にセット
            G_YYYYMM_IDX = i;                   //年月配列のインデックス番号

            break;

        }

    }

    //グローバル変数にセット
    G_YYYYMM     = pYyyyMm;                                     //年月（yyyymm形式）
    G_YYYYMM_SME = gAryCalendar[G_SISETU_IDX][G_YYYYMM_IDX][1]; //年月ストッパー（s:開始、m:中間、e:終了、t:単月）
    G_YYYYMM_ZEN = CalcMonth(-1,pYyyyMm);                       //前月（yyyymm形式）
    G_YYYYMM_JIG = CalcMonth( 1,pYyyyMm);                       //次月（yyyymm形式）
    G_YYYYMM_HON = wYyyy + AddZero(wMm,2);                      //本日（yyyymm形式）

}
//------------------------------------------------
//空き状況カレンダーの描画
//  引数    [i] pSisetuNo  :施設番号
//------------------------------------------------
function DrawCalendar(pSisetuNo){

    var wYyyyMm;            //処理年月
    var wBlankCellCnt;      //第１週の空セル数
    var wFirstYobi;         //月初日の曜日
    var wHtml;              //HTML編集
    var wYobiNo;            //曜日番号
    var wColCnt;            //列カウンタ
    var wAryIdx;            //配列のインデックス
    var wAki;               //空き数
    var i,j;                //汎用カウント変数
    var wYmd;               //年月日（yyyymmdd形式）
    var wClassTd;           //TDタグのCLASS属性
    var wClassToday         //TDタグのCLASS属性（本日のみ）
    var wZenDisabled;       //前月用
    var wJigDisabled;       //次月用
    var wAryYasumi;         //休日配列
    var wYasumiType;        //休日区分
    var wKyugyoType;        //休業区分
    var wYasumiName;        //休日名

    //-----------------------------------
    //----->> グローバル変数セット <<----
    //-----------------------------------

    //当月情報の取得
    SetGlobalDataToday();

    //キー値の取得
    wKey = location.search;

    //キー値の有無判定
    if(wKey != ""){

        //?yyyymmから年月の取得
        wYyyyMm = wKey.substring(1,7);

    }else{

        //当月を指定
        wYyyyMm = G_YMD_TODAY.substring(0,6);

    }

    //施設情報の取得
    SetGlobalDataSisetu(pSisetuNo);

    //年月情報の取得
    SetGlobalDataYyyyMm(wYyyyMm);

    //-----------------------
    //----->> 初期処理 <<----
    //-----------------------

    //月初の曜日を取得
    wFirstYobi = GetYobiNo(wYyyyMm + "01");

    //空セル数の計算
    if(wFirstYobi >= C_START_YOBI){

        wBlankCellCnt = wFirstYobi - C_START_YOBI;

    }else{

        wBlankCellCnt = 7 - (C_START_YOBI - wFirstYobi);

    }

    //-------------------------
    //----->> HTMLの編集 <<----
    //-------------------------

    if(G_YYYYMM_SME == "s"){

        wZenDisabled = " DISABLED";
        wJigDisabled = "";

    }else if(G_YYYYMM_SME == "e"){

        wZenDisabled = "";
        wJigDisabled = " DISABLED";

    }else if(G_YYYYMM_SME == "t"){

        wZenDisabled = " DISABLED";
        wJigDisabled = " DISABLED";

    }else{

        wZenDisabled = "";
        wJigDisabled = "";

    }

    wHtml = "";
    wHtml = wHtml + "<a name=cal_top id=cal_top></a>";
    wHtml = wHtml + "<table id=id_cal_container>";
    wHtml = wHtml + "<tr>";
    wHtml = wHtml + "<td>";
    wHtml = wHtml + "<div class=cs_cal_datetime>更新日時：" + DateFormat(1,"M/D",gAryUpdateTime.substring(0,8)) + "　" + TimeFormat(1,"H:M",gAryUpdateTime.substring(8,12)) + "</div>";
    wHtml = wHtml + "</td>";
    wHtml = wHtml + "</tr>";
    wHtml = wHtml + "<tr>";
    wHtml = wHtml + "<td>";
    wHtml = wHtml + "<div class=cs_cal_message>" + C_MESSAGE010 + "</div>";
    wHtml = wHtml + "</td>";
    wHtml = wHtml + "</tr>";
    wHtml = wHtml + "<tr>";
    wHtml = wHtml + "<td>";

    wHtml = wHtml + "<table id=id_cal_upper_table>";
    wHtml = wHtml + "<tr>";
    wHtml = wHtml + "<td id=id_cal_upper_td1>";
    wHtml = wHtml + "<span id=id_cal_upper_yyyy>" + DateFormat(1,"YYYY",G_YYYYMM) + "</span><span id=id_cal_upper_mm>" + DateFormat(1,"M",G_YYYYMM) + "</span>";
    wHtml = wHtml + "</td>";
    wHtml = wHtml + "<td id=id_cal_upper_td2>";
    wHtml = wHtml + "<span id=id_cal_upper_sisetu_nm>" + G_SISETU_NM + "</span>";
    wHtml = wHtml + "</td>";
    wHtml = wHtml + "<td id=id_cal_upper_td3>";
    wHtml = wHtml + "<input type=button value=\"≪前の月\" id=id_cal_upper_btn_zen onClick=\"location.href='?" + G_YYYYMM_ZEN + "#cal_top';\"" + wZenDisabled + ">";
    wHtml = wHtml + "<input type=button value=\"本日\"     id=id_cal_upper_btn_hon onClick=\"location.href='?" + G_YYYYMM_HON + "#cal_top';\">";
    wHtml = wHtml + "<input type=button value=\"次の月≫\" id=id_cal_upper_btn_jig onClick=\"location.href='?" + G_YYYYMM_JIG + "#cal_top';\"" + wJigDisabled + ">";
    wHtml = wHtml + "<input type=button value=\"更新\"     id=id_cal_upper_btn_upd onClick=\"location.reload(true);\">";
    wHtml = wHtml + "</td>";
    wHtml = wHtml + "</tr>";
    wHtml = wHtml + "</table>";

    wHtml = wHtml + "</td>";
    wHtml = wHtml + "</tr>";
    wHtml = wHtml + "<tr>";
    wHtml = wHtml + "<td>";
    wHtml = wHtml + "<table id=id_cal_table>";
    wHtml = wHtml + "<caption>" + DateFormat(1,"YYYY/M",G_YYYYMM) + "</caption>";
    wHtml = wHtml + "<tr>";

    //曜日番号の初期化
    wYobiNo = C_START_YOBI;

    //ラベル（曜日）の描画
    for(i=1;i<=7;i++){

        //ラベル（曜日）の編集
        wHtml = wHtml + "<th class=cs_cal_" + wYobiNo + ">" + GetYobiName(wYobiNo) + "</th>";

        //曜日番号のカウントアップ
        wYobiNo = wYobiNo + 1;

        //0:日曜～6:金曜
        if(wYobiNo > 6){

            wYobiNo = 0;

        }

    }

    wHtml = wHtml + "</tr>";

    //変数の初期化
    wColCnt = 1;    //列カウンタ
    wAryIdx = 1;    //配列のインデックス
    wAki    = "";   //空き数

    //1日～31日のループ（インデックスは2～32）
    for(i=1;i<=31;i++){

        //配列のインデックスをセット
        wAryIdx = i + 1;

        //空き数の取得
        wAki = gAryCalendar[G_SISETU_IDX][G_YYYYMM_IDX][wAryIdx];

        //年月日（yyyymmdd形式）の編集
        wYmd = wYyyyMm + AddZero(i,2);

        //改行判定（開始）
        if(wColCnt == 1){

            wHtml = wHtml + "<tr>";

        }

        //第１週の空セル処理
        if(i == 1){

            //空セルの描画
            for(j=1;j<=wBlankCellCnt;j++){

                wHtml = wHtml + "<td class=cs_cal_x><br></td>";

                wColCnt = wColCnt + 1;

            }

        }

        //空き数判定
        if(wAki == "x"){

            //TDタグのCLASS属性
            wClassTd = " class=cs_cal_x";

        }else{

            //TDタグのCLASS属性
            wClassTd = " class=cs_cal_" + GetYobiNo(wYmd);

        }

        //休日情報の取得
        wAryYasumi = YasumiCheck(wYmd);

        wYasumiType = wAryYasumi[1];
        wKyugyoType = wAryYasumi[2];
        wYasumiName = wAryYasumi[3];

        //休日区分の判定
        if(wYasumiType != ""){

            //TDタグのCLASS属性（日曜日と同じ色）
            wClassTd = " class=cs_cal_0";

        }

        //休業区分の判定（0:営業日、1:休業日）
        if(wKyugyoType == "1"){

            //TDタグのCLASS属性
            wClassTd = " class=cs_cal_h";

        }

        wHtml = wHtml + "<td" + wClassTd + ">";
        wHtml = wHtml + "<div class=cs_cal_position>";

        //月末判定
        if(wAki == "x"){

            //存在しない日（小の月）
            wHtml = wHtml + "<div class=cs_cal_x><br></div>";

        }else{

            //日付を描画
            wHtml = wHtml + "<div class=cs_cal_cell_upper>" + i + "</div>";

            if(wYmd >G_YMD_TODAY){

                //休業区分の判定（0:営業日、1:休業日）
                if(wKyugyoType == "1"){

                    //空き数を描画しない
//                    wHtml = wHtml + "<div class=cs_cal_cell_rower></div>";// コメント 2010070701 H.Kurisu
                    wHtml = wHtml + "<div class=cs_cal_cell_rower><img src=images/cal_batu_h.gif width=\"12\" height=\"11\" /></div>";// 修正 2010070701 H.Kurisu

                }else{

                    //空き数を描画
                    wHtml = wHtml + "<div class=cs_cal_cell_rower>" + CalMode(wAki) + "</div>";

                }

            }else{

                //空き数を描画しない
                wHtml = wHtml + "<div class=cs_cal_cell_rower></div>";

            }

            //休日名の判定
            if(wYasumiName != ""){

                //休日名を描画
                wHtml = wHtml + "<div class=cs_cal_cell_name>" + wYasumiName + "</div>";

            }

        }

        //本日判定（丸で囲む）
        if(wYmd == G_YMD_TODAY){

            wHtml = wHtml + "<img src=images/maru.gif id=id_cal_today />";

        }

        wHtml = wHtml + "</div>";
        wHtml = wHtml + "</td>";

        //改行判定（終了）
        if(wColCnt == 7){

            wHtml = wHtml + "</tr>";

        }

        //列カウント
        wColCnt = wColCnt + 1;

        //列カウンタの判定
        if(wColCnt > 7){

            //列カウンタの初期化
            wColCnt = 1;

        }

    }

    //最終週の空セル処理
    if(wColCnt != 8 && wColCnt != 1){

        //空セルの描画
        for(i=0;i<=7-wColCnt;i++){

            wHtml = wHtml + "<td class=cs_cal_x><br></td>";

        }

        wHtml = wHtml + "</tr>";

    }

    wHtml = wHtml + "</table>";
    wHtml = wHtml + "</td>";
    wHtml = wHtml + "</tr>";
    wHtml = wHtml + "<tr>";
    wHtml = wHtml + "<td>";
    wHtml = wHtml + "<table id=id_cal_lower_table>";
    wHtml = wHtml + "<tr>";

    //表示モードの判定
    if(C_CAL_MODE == 1){

        wHtml = wHtml + "<td id=id_cal_lower_td1>";
        wHtml = wHtml + "</td>";
        wHtml = wHtml + "<td id=id_cal_lower_td2>";
        wHtml = wHtml + "</td>";
        wHtml = wHtml + "<td id=id_cal_lower_td3>";
//        wHtml = wHtml + "<span id=id_cal_lower_exp>○：空きあり、△：残りわずか、×：空きなし</span>";コメント 2010070622 H.Kurisu
        wHtml = wHtml + "<span id=id_cal_lower_exp><img src=images/cal_maru_s.gif width=\"12\" height=\"12\" />：空きあり、<img src=images/cal_sankaku_s.gif width=\"13\" height=\"10\" />：残りわずか、<img src=images/cal_batu_s.gif width=\"10\" height=\"10\" />：空きなし</span>";// 修正 2010070622 H.Kurisu
        wHtml = wHtml + "</td>";

    }else{

        wHtml = wHtml + "<td id=id_cal_lower_td1>";
        wHtml = wHtml + "</td>";
        wHtml = wHtml + "<td id=id_cal_lower_td2>";
        wHtml = wHtml + "</td>";
        wHtml = wHtml + "<td id=id_cal_lower_td3>";
        wHtml = wHtml + "</td>";

    }

    wHtml = wHtml + "</tr>";
    wHtml = wHtml + "</table>";
    wHtml = wHtml + "</td>";
    wHtml = wHtml + "</tr>";
    wHtml = wHtml + "</table>";

    //--------------------------
    //----->> HTMLの描画 <<-----
    //--------------------------

    document.write(wHtml);

}
//------------------------------------------------
//空き数の編集
//  引数    [i] pAki:空き数
//  戻り値  編集した空き数
//------------------------------------------------
function CalMode(wAki){

    var wStr;

    //表示モードの判定
    switch(C_CAL_MODE){
    case 1:

        if(wAki == 0){

            //空きなし
//            wStr = "×";コメント 2010070622 H.Kurisu
            wStr = "<img src=images/cal_batu.gif width=\"12\" height=\"11\" />";// 修正 2010070622 H.Kurisu

        }else if(wAki <= 2){

            //ラスト1～2件
//            wStr = "△";コメント 2010070622 H.Kurisu
            wStr = "<img src=images/cal_sankaku.gif width=\"19\" height=\"15\" />";// 修正 2010070622 H.Kurisu

        }else if(wAki > 1){

            //空きあり
//            wStr = "○";コメント 2010070622 H.Kurisu
            wStr = "<img src=images/cal_maru.gif width=\"17\" height=\"16\" />";// 修正 2010070622 H.Kurisu

        }else{

            wStr = "";

        }

        break;

    default:

        //空き数
        wStr = wAki;

        break;

    }

    return wStr;

}
//------------------------------------------------
//メッセージの描画
//  引数    [i] pOp :表示場所区分
//                      1:新着情報
//                      2:トピックス
//                      3:緊急情報
//  2009/10/01 新規作成
//------------------------------------------------
function DrawMessage(pOp){

    var wRowStr;            //行編集
    var wEdit;              //タグの編集
    var wHtml;              //HTML編集
    var i;                  //汎用カウント変数

    var wBox;               //レイアウト
    var wBoxDate;           //日付
    var wBoxText;           //文章
    var wBoxImage;          //画像

    wRowStr = "";

    //メッセージ配列のループ
    for(i=0;i<gAryMessage.length;i++){

        //表示場所区分の判定
        if(gAryMessage[i][0] == "" + pOp){

            //表示期間内かどうかの判定
            if(BetweenDate("",gAryMessage[i][1],gAryMessage[i][2])){

                //編集領域の初期化
                wBoxDate  = "";
                wBoxText  = "";
                wBoxImage = "";

                //表示開始日の有無判定
                if(gAryMessage[i][1] != ""){

                    wBoxDate = DateFormat(1,"YYYY/M/D",gAryMessage[i][1]);

                }

                //文章の有無判定
                if(gAryMessage[i][3] != ""){

                    //Aタグの編集
                    wBoxText = EditA(1,gAryMessage[i][3],gAryMessage[i][4]);

                }

                //画像の有無判定
                if(gAryMessage[i][5] != ""){

                    //IMGタグの編集
                    wBoxImage = EditImg("message/" + gAryMessage[i][5],"","","","",""," align=right");

                }

                //表示場所区分の判定
                switch("" + pOp){
                case "2":                    //トピックス
                case "3":                    //緊急情報
                default :                    //新着情報

                    wBox = "";
                    wBox = wBox + "<table class=\"cs_sotowaku\">";
                    wBox = wBox + "<tr>";
                    wBox = wBox + "<td align=\"left\"><div class=\"cs_pico_message\">" + wBoxImage + wBoxText + "</div></td>";
                    wBox = wBox + "</tr>";
                    wBox = wBox + "</table>";
                    wBox = wBox + "<br />";

                }

                wRowStr = wRowStr + wBox;

            }

        }

    }

    wHtml = "";

    //編集結果の判定
    if(wRowStr != ""){

        //表示場所区分の判定
        switch("" + pOp){
        case "2":   wHtml = wHtml + "<table width=\"680\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"font_n\">";
                    wHtml = wHtml + "<tr>";
                    wHtml = wHtml + "<td align=\"left\" valign=\"top\"><p class=\"stationmaster_title01\">ヤ・シィパークでレンタルできるアウトドア用品、その他備品</p></td>";
                    wHtml = wHtml + "</tr>";
        break;    //トピックス（備品について）

        case "3":   wHtml = wHtml + "<h2>ピクニックサイトについてのお知らせ</h2>";                      break;    //緊急情報
        default :   wHtml = wHtml + "<h2>新着情報</h2>";                                                break;    //新着情報
        }

        wHtml = wHtml + wRowStr;

    }

    //--------------------------
    //----->> HTMLの描画 <<-----
    //--------------------------

    document.write(wHtml);

}

