var tdv_sdk = {};

// --- 1. CONFIG DATA ---
// Cập nhật: Thêm Id, sửa format Ani, sửa format Audio (tên file local)
tdv_sdk.list = [
  {
    Id: 0,
    Ani: "Ani_0",
    answer: "Family",
    audio: "Family",
    bgFrame: 1,
  },
  {
    Id: 1,
    Ani: "Ani_1",
    answer: "Firework",
    audio: "Firework",
    bgFrame: 2,
  },
  {
    Id: 2,
    Ani: "Ani_2",
    answer: "Lucky Money",
    audio: "Lucky Money",
    bgFrame: 3,
  },
  {
    Id: 3,
    Ani: "Ani_3",
    answer: "Flower Market",
    audio: "Flower Market",
    bgFrame: 4,
  },
  {
    Id: 4,
    Ani: "Ani_4",
    answer: "Chung Cake",
    audio: "Chung Cake",
    bgFrame: 5,
  },
];

tdv_sdk.pageCardConfig = [3, 3, 3, 3, 3];

tdv_sdk.pageCurrent = 0;
tdv_sdk.totalPage = 0;
tdv_sdk.currentPageList = [];
tdv_sdk.pageInfo = [];

// --- GETTERS (Giữ nguyên) ---
tdv_sdk.getTotalPage = function () {
  return tdv_sdk.totalPage;
};
tdv_sdk.getCurrentPage = function () {
  return tdv_sdk.pageCurrent;
};
tdv_sdk.getCurrentPageListInfo_getTotal = function () {
  return tdv_sdk.currentPageList.length - 1;
};
tdv_sdk.getCurrentPageListInfo_getByIndex = function (index, attr) {
  return tdv_sdk.currentPageList[index][attr];
};

// --- NAVIGATION (Giữ nguyên) ---
tdv_sdk.nextPage = function () {
  if (tdv_sdk.pageCurrent < tdv_sdk.totalPage) {
    tdv_sdk.pageCurrent++;
    tdv_sdk.updateMaxCardByPage();
    tdv_sdk.getPostionInPage();
  }
};

tdv_sdk.prePage = function () {
  if (tdv_sdk.pageCurrent > 0) {
    tdv_sdk.pageCurrent--;
    tdv_sdk.updateMaxCardByPage();
    tdv_sdk.getPostionInPage();
  }
};

tdv_sdk.updateMaxCardByPage = function () {
  const index = tdv_sdk.pageCurrent;
  if (tdv_sdk.pageCardConfig && tdv_sdk.pageCardConfig[index] !== undefined) {
    tdv_sdk.maxCardInPage = tdv_sdk.pageCardConfig[index];
  }
};

// --- CORE LOGIC (Refactor mapping dữ liệu) ---
tdv_sdk.start = function () {
  tdv_sdk.pageInfo = [];

  for (let i = 0; i < tdv_sdk.pageCardConfig.length; i++) {
    let count = tdv_sdk.pageCardConfig[i];
    let dataItem = tdv_sdk.list[i];
    let cardList = [];

    for (let j = 0; j < count; j++) {
      const _obj = {
        // Cập nhật mapping dữ liệu mới
        Id: dataItem.Id,
        Ani: dataItem.Ani,
        answer: dataItem.answer,
        audio: dataItem.audio,
        bgFrame: dataItem.bgFrame,

        x: 0,
        y: 0,
        indexInGroup: j, // Index của hint trong 1 câu (0,1,2)
      };
      cardList.push(_obj);
    }

    tdv_sdk.pageInfo.push({
      index: i,
      totalCardInpage: cardList.length,
      cardList: cardList,
    });
  }

  tdv_sdk.totalPage = tdv_sdk.pageInfo.length - 1;
  tdv_sdk.pageCurrent = 0;
  tdv_sdk.updateMaxCardByPage();
  tdv_sdk.getPostionInPage();
};

// --- POSITION (Logic cũ với kích thước 360x360) ---
tdv_sdk.getPostionInPage = function () {
  const _currentPage = tdv_sdk.pageInfo[tdv_sdk.pageCurrent];

  const max_width = 1400;
  const margin = 20;
  const card_width = 360;
  const card_height = 360;
  const card_y = 450;

  const total_width =
    _currentPage.totalCardInpage * card_width +
    (_currentPage.totalCardInpage - 1) * margin;

  const start_x = (max_width - total_width) / 2 + card_width / 2;

  _currentPage.cardList.forEach((card, index) => {
    const center_x = start_x + index * (card_width + margin);
    card.x = center_x;
    card.y = card_y;
  });

  tdv_sdk.currentPageList = _currentPage.cardList;
};

// --- AUDIO ---
tdv_sdk.playSound = function (index) {
  // Lưu ý: Audio giờ là chuỗi tên file (ví dụ "Family").
  // Hàm này giữ nguyên cấu trúc cũ, nếu bạn dùng C2 Audio Object để play thì không cần gọi hàm này nữa.
  const _audio = tdv_sdk.currentPageList[index].audio;
  console.log("Audio requested:", _audio);
};
