//-----------------------------------------------------------------------------
// Scene_Achive
//

function Scene_Achive() {
    this.initialize(...arguments);
}

Scene_Achive.prototype = Object.create(Scene_MenuBase.prototype);
Scene_Achive.prototype.constructor = Scene_Achive;

Scene_Achive.prototype.initialize = function() {
    Scene_MenuBase.prototype.initialize.call(this);
};

Scene_Achive.prototype.create = function() {
    Scene_MenuBase.prototype.create.call(this);
    this.createAchiveWindow();
};

Scene_Achive.prototype.createAchiveWindow = function() {
    const rect = this.achiveWindowRect();
    this._achiveWindow = new Window_Achive(rect);
    this._achiveWindow.setHandler("cancel", this.popScene.bind(this));
    this.addWindow(this._achiveWindow);
};

Scene_Achive.prototype.achiveWindowRect = function() {
    const n = 10;//Math.min(this.maxCommands(), this.maxVisibleCommands());
    // const japanese_mode = $gameSwitches.value(80);
    const language = $gameVariables.value(25);
        if (language === 1) {
            ww = 750;
        } else {
            ww = 480;
        }
    // if (japanese_mode) {
    //     ww = 480;
    //   } else {
    //     ww = 750;
    //   }
    const wh = this.calcWindowHeight(n, true);
    const wx = (Graphics.boxWidth - ww) / 2;
    const wy = (Graphics.boxHeight - wh) / 2;
    return new Rectangle(wx, wy, ww, wh);
};


//-----------------------------------------------------------------------------
// Window_Achive
//-----------------------------------------------------------------------------

function Window_Achive() {
    this.initialize(...arguments);
}

Window_Achive.prototype = Object.create(Window_Selectable.prototype);
Window_Achive.prototype.constructor = Window_Achive;

Window_Achive.prototype.initialize = function(rect) {
    Window_Selectable.prototype.initialize.call(this, rect);
    this._data = [];
    this.refresh();
    this.activate();
};

Window_Achive.prototype.maxItems = function() {
    return this._data ? this._data.length : 1;
};

Window_Achive.prototype.makeItemList = function() {
    const start = 51;
    const names = $dataSystem.switches;
    const achive = DataManager.loadGlobalSaveAchive();
    const desc = this.description();
    // const japanese_mode = $gameSwitches.value(80);
    const language = $gameVariables.value(25);
    const name_eng = this.name_eng();
    for(let i = 0; i < achive.length; i++){
        var name = names[i + start];
        if(!!name){
            if(achive[i]){
                if (language === 0) {
                    this._data[i] = {name:name, cond:achive[i], desc:desc[i]};
                  } else {
                    this._data[i] = {name:name_eng[i], cond:achive[i], desc:desc[i]};
                  }
            }else{
                this._data[i] = {name:'？？？？', cond:achive[i], desc:''};
            }
        }else{
            this._data[i] = null;
        }
    }
    this._data = this._data.filter(item => !!item);
};

Window_Achive.prototype.name_eng = function() {
    const language = $gameVariables.value(25);
    switch (language) {
        // case 0:
        //   return ['「特定の行為」を匂わせた',
        //             '「試しに」の続きを話した',
        //             '一つのコップを二つのストローで囲んだ',
        //             '突然動いたベッドで脚が絡む事故が起きた',
        //             '先輩が後輩に壁ドンをした',
        //             '後輩が先輩に壁ドンをした',
        //             '脚立を下から支えて後ろから覗き込んだ',
        //             'ホラーっぽい映画を観た',
        //             'ＳＦっぽい映画を観た',
        //             '指示に従い、ベッドで眠った',
        //             'デカタピクッションでくつろいだ',
        //             'アロマオイルで変な気分になった',
        //             'ホットサンドを食べた',
        //             'ホットサンドをもう一度食べた',
        //             '服を着替えて遊んだ',
        //             'お風呂に入っていちゃいちゃした',
        //             '相手の近くで30秒以上うろうろした',
        //             '未実装',
        //             '未実装',
        //             '未実装',
        //             '未実装',
        //             '未実装',
        //             '未実装',
        //             '未実装',
        //             '後輩を主人公にして脱出した',
        //             '先輩を主人公にして脱出した',
        //             '2周クリアし、世界の実情を知った',
        //             'ロボットたちの準備風景を見た',]
        //   break;
        case 1:
            return ['A Certain Thing',
                    'Attempted Kiss',
                    'Just One Cup',
                    'Tangled Legs',
                    'Kabe-don',
                    'Kabe-don Continued',
                    'Support the Stepladder',
                    "Movie Time",
                    "Movie Time Continued",
                    'Sleep in YURIKAGO',
                    'King Tapi',
                    'Aroma Oil',
                    'Hot Sandwiches',
                    'Hot Sandwiches Continued',
                    'Changing Clothes',
                    'Bathing Together',
                    'Always Close',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    'Clear with Kouhai',
                    'Clear with Senpai',
                    'The Post-Apocalyptic World',
                    'The Robot Guardians',]
          break;
        case 2:
            return ['特定的行为',
                    '接吻未得逞',
                    '杯子就一个',
                    '双脚缠绕',
                    '壁咚',
                    '壁咚・续',
                    '扶梯子',
                    "看电影",
                    "看电影・续",
                    '睡入摇篮',
                    '珍珠王',
                    '香油',
                    '热三明治',
                    '热三明治・续',
                    '更衣',
                    '一起入浴',
                    '永远伴身边',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '学妹Clear',
                    '学姐Clear',
                    '在这灭亡后的世界中',
                    '默守着的机器人们',]
          break;
        case 3:
            return ['特定的行爲',
                    '接吻未得逞',
                    '杯子就一個',
                    '雙腳纏繞',
                    '壁咚',
                    '壁咚・續',
                    '扶梯子',
                    "看電影",
                    "看電影・續",
                    '睡入搖籃',
                    '珍珠王',
                    '香油',
                    '熱三明治',
                    '熱三明治・續',
                    '更衣',
                    '一起入浴',
                    '永遠伴身邊',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '學妹Clear',
                    '學姐Clear',
                    '在這滅亡後的世界中',
                    '默守著的機器人們',]
          break;
        default:
          break;
      }
    // return ['Specific actions',
    //         'Attempted kiss',
    //         'One cup',
    //         'Leg entanglement',
    //         'Kabedon',
    //         'Continued Kabedon',
    //         'Support the stepladder',
    //         "Let's watch a movie",
    //         "Let's watch the movie",
    //         'Sleep in a cradle',
    //         'King Tapi',
    //         'Aroma oil',
    //         'Hot sandwich',
    //         'Continued hot sandwich',
    //         'Change clothes',
    //         'Bath together',
    //         'Always close',
    //         '未実装',
    //         '未実装',
    //         '未実装',
    //         '未実装',
    //         '未実装',
    //         '未実装',
    //         '未実装',
    //         'Clear with juniors',
    //         'Clear with seniors',
    //         'In the post-apocalyptic world',
    //         'Robots watching over',]
};

Window_Achive.prototype.description = function() {
    const language = $gameVariables.value(25);
    switch (language) {
        case 0:
          return ['「特定の行為」を匂わせた',
                    '「試しに」の続きを話した',
                    '一つのコップを二つのストローで囲んだ',
                    '突然動いたベッドで脚が絡む事故が起きた',
                    '先輩が後輩に壁ドンをした',
                    '後輩が先輩に壁ドンをした',
                    '脚立を下から支えて後ろから覗き込んだ',
                    'ホラーっぽい映画を観た',
                    'ＳＦっぽい映画を観た',
                    '指示に従い、ベッドで眠った',
                    'デカタピクッションでくつろいだ',
                    'アロマオイルで変な気分になった',
                    'ホットサンドを食べた',
                    'ホットサンドをもう一度食べた',
                    '服を着替えて遊んだ',
                    'お風呂に入っていちゃいちゃした',
                    '相手の近くで30秒以上うろうろした',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '後輩を主人公にして脱出した',
                    '先輩を主人公にして脱出した',
                    '2周クリアし、世界の実情を知った',
                    'ロボットたちの準備風景を見た',]
          break;
        case 1:
            return ['Hinted at a "certain thing."',
                    'Talked about after "trying it."',
                    'A cup surrounded by two straws.',
                    'A moving bed accident with tangled legs.',
                    'Senpai does a kabe-don to Kouhai.',
                    'Kouhai does a kabe-don to Senpai.',
                    'Looked from behind with a stepladder.',
                    'Watched a horror-ish movie.',
                    'Watched a SF movie.',
                    'Obeyed directions and slept in bed.',
                    'Relaxed on the big Tapi-cushion.',
                    'Felt strange with aroma oil.',
                    'Ate a hot sandwich.',
                    'Ate another hot sandwich.',
                    'Had fun changing clothes.',
                    'Fooled around in the bath.',
                    'Close to each other for 30 sec. plus.',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    'Kouhai leaves as the main character.',
                    'Senpai leaves as the main character.',
                    'Cleared twice, knew the real world.',
                    'Saw the robots preparing.',]
          break;
        case 2:
            return ['谕示了「特点的行为」',
                    '将「试试」的后文说了',
                    '将一个杯子用两根吸管包围',
                    '突然动了的床上发生了缠脚事故',
                    '学姐对学妹做了“壁咚”',
                    '学妹对学姐做了“壁咚”',
                    '在下方扶着梯子偷看上面',
                    '看完了恐怖电影',
                    '看完了SF电影',
                    '尊重指示在床上入眠',
                    '在超大珍珠枕上打法了时间',
                    '闻了香油后变奇怪了',
                    '吃了热三明治',
                    '再次吃了热三明治',
                    '更换衣服玩耍了',
                    '在浴室里亲热了',
                    '在另一方的身边徘徊了30秒以上',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '以学妹为主角逃出',
                    '以学姐为主角逃出',
                    '2周目Clear，得知了世界的真相',
                    '看到了机器人们准备的场景',]
          break;
        case 3:
            return ['谕示了「特點的行爲」',
                    '將「試試」的後文說了',
                    '將一個杯子用兩根吸管包圍',
                    '突然動了的床上發生了纏腳事故',
                    '學姐對學妹做了“壁咚”',
                    '學妹對學姐做了“壁咚”',
                    '在下方扶著梯子偷看上面',
                    '看完了恐怖電影',
                    '看完了SF電影',
                    '尊重指示在床上入眠',
                    '在超大珍珠枕上打法了時間',
                    '聞了香油後變奇怪了',
                    '吃了熱三明治',
                    '再次吃了熱三明治',
                    '更換衣服玩耍了',
                    '在浴室裏親熱了',
                    '在另一方的身邊徘徊了30秒以上',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '未実装',
                    '以學妹爲主角逃出',
                    '以學姐爲主角逃出',
                    '2周目Clear，得知了世界的真相',
                    '看到了機器人們准備的場景',]
          break;
        default:
          break;
      }
    // const japanese_mode = $gameSwitches.value(80);
    // if (japanese_mode) {
    //     return ['「特定の行為」を匂わせた',
    //             '「試しに」の続きを話した',
    //             '一つのコップを二つのストローで囲んだ',
    //             '突然動いたベッドで脚が絡む事故が起きた',
    //             '先輩が後輩に壁ドンをした',
    //             '後輩が先輩に壁ドンをした',
    //             '脚立を下から支えて後ろから覗き込んだ',
    //             'ホラーっぽい映画を観た',
    //             'ＳＦっぽい映画を観た',
    //             '指示に従い、ベッドで眠った',
    //             'デカタピクッションでくつろいだ',
    //             'アロマオイルで変な気分になった',
    //             'ホットサンドを食べた',
    //             'ホットサンドをもう一度食べた',
    //             '服を着替えて遊んだ',
    //             'お風呂に入っていちゃいちゃした',
    //             '相手の近くで30秒以上うろうろした',
    //             '未実装',
    //             '未実装',
    //             '未実装',
    //             '未実装',
    //             '未実装',
    //             '未実装',
    //             '未実装',
    //             '後輩を主人公にして脱出した',
    //             '先輩を主人公にして脱出した',
    //             '2周クリアし、世界の実情を知った',
    //             'ロボットたちの準備風景を見た',]
    // } else {
    //     return ['I smelled "a specific act"',
    //             'I talked about the continuation of "Trial"',
    //             'One cup surrounded by two straws',
    //             'A leg entanglement occurred in a suddenly moving bed',
    //             'Senior gave a kabedon to a junior',
    //             'The junior gave the senior a kabedon',
    //             'I supported the stepladder from below and looked into it from behind',
    //             'I watched a horror movie',
    //             'I watched a sci-fi movie',
    //             'Followed the instructions and slept in bed',
    //             'Relaxed with a big cushion',
    //             'Aroma oil made me feel weird',
    //             'I ate a hot sandwich',
    //             'I ate the hot sandwich again',
    //             'I changed my clothes and played',
    //             'I took a bath',
    //             'I wandered near my opponent for more than 30 seconds',
    //             '未実装',
    //             '未実装',
    //             '未実装',
    //             '未実装',
    //             '未実装',
    //             '未実装',
    //             '未実装',
    //             'Escaped with a junior as the main character',
    //             'Escaped with a senior as the main character',
    //             'Cleared 2 laps and learned the actual situation of the world',
    //             'I saw the preparation scenery of the robots',]
    // }
};

Window_Achive.prototype.itemAt = function(index) {
    return this._data && index >= 0 ? this._data[index] : null;
};

Window_Achive.prototype.drawItem = function(index) {
    const item = this.itemAt(index);
    if (item) {
        const rect = this.itemLineRect(index);
        this.contents.fontSize = 24;
        this.resetTextColor();
        this.changePaintOpacity(item.cond);
        this.drawText(item.name, rect.x, rect.y, rect.width);
        this.contents.fontSize = 12;
        this.changeTextColor(ColorManager.textColor(8));
        this.drawText(item.desc, rect.x, rect.y, rect.width, 'right');
        this.changePaintOpacity(1);
    }
};

Window_Achive.prototype.refresh = function() {
    this.makeItemList();
    Window_Selectable.prototype.refresh.call(this);
};