// Configuração do site — Processo Seletivo Simplificado IBGE | Censo Agropecuário, Florestal e Aquícola 2026 | Banca: IBFC
const CONFIG = {
  // URL da API de pagamentos (com prefixo /api pois o servidor proxy adiciona este caminho)
  API_URL: "https://painel.seletivosbrasil.com/api",

  // Valor da taxa em centavos — taxa única de R$ 53,00 para qualquer função
  TAXAS: {
    "agente-censitario-supervisor":      5300,
    "agente-censitario-administrativo":  5300,
    "agente-censitario-informatica":     5300,
    "agente-operacional-regional":       5300,
    "agente-censitario-regional":        5300,
    DEFAULT:                             5300,
  },

  // Descrições enviadas ao gateway de pagamento por função
  CONCURSOS: {
    "agente-censitario-supervisor":      "Taxa de Inscrição — Agente Censitário Supervisor (ACS) — IBGE Censo Agro 2026",
    "agente-censitario-administrativo":  "Taxa de Inscrição — Agente Censitário Administrativo (ACA) — IBGE Censo Agro 2026",
    "agente-censitario-informatica":     "Taxa de Inscrição — Agente Censitário de Informática (ACI) — IBGE Censo Agro 2026",
    "agente-operacional-regional":       "Taxa de Inscrição — Agente Operacional Regional (AOR) — IBGE Censo Agro 2026",
    "agente-censitario-regional":        "Taxa de Inscrição — Agente Censitário Regional (ACR) — IBGE Censo Agro 2026",
    DEFAULT:                             "Taxa de Inscrição — Processo Seletivo IBGE Censo Agro 2026",
  },

  // Configuração de polling para verificar status do pagamento
  POLLING: {
    INTERVAL: 5000,
    MAX_ATTEMPTS: 120,
  },

  GOOGLE_ADS: {
    CONVERSION_ID: "AW-XXXXXXXXXX",
    CONVERSION_LABEL: "XXXXXXXXXXXXXXXXXXX",
    ENABLED: false,
    EVENT_NAME: "purchase_ibge_censo_agro_2026",
  },

  META_ADS: {
    PIXEL_ID: "",
    ENABLED: false,
  },

  SITE_ID: "ibge-censo-agro-2026",
};

window.SITE_CONFIG = CONFIG;

window.trackGoogleAdsConversion = function(value, transactionId, callback, currency = "BRL") {
  const config = window.SITE_CONFIG?.GOOGLE_ADS;
  if (!config?.ENABLED) { if (callback) callback(); return false; }
  if (!config.CONVERSION_ID || config.CONVERSION_ID === "AW-XXXXXXXXXX") { if (callback) callback(); return false; }
  if (!config.CONVERSION_LABEL || config.CONVERSION_LABEL === "XXXXXXXXXXXXXXXXXXX") { if (callback) callback(); return false; }
  if (typeof gtag !== "function") { if (callback) callback(); return false; }
  try {
    const params = {
      send_to: `${config.CONVERSION_ID}/${config.CONVERSION_LABEL}`,
      value, currency, transaction_id: transactionId,
    };
    if (callback) params.event_callback = callback;
    gtag("event", "conversion", params);
    return true;
  } catch { if (callback) callback(); return false; }
};

window.trackMetaAdsConversion = function(value, transactionId) {
  const config = window.SITE_CONFIG?.META_ADS;
  if (!config?.ENABLED || !config?.PIXEL_ID) return false;
  if (typeof fbq !== "function") return false;
  try {
    fbq("track", "Purchase", { value, currency: "BRL", content_type: "product", content_ids: [transactionId] });
    return true;
  } catch { return false; }
};

window.trackAllConversions = function(value, transactionId) {
  const results = {
    googleAds: window.trackGoogleAdsConversion(value, transactionId),
    metaAds: window.trackMetaAdsConversion(value, transactionId),
  };
  const log = JSON.parse(localStorage.getItem("conversionLog") || "[]");
  log.push({ timestamp: new Date().toISOString(), site: window.SITE_CONFIG?.SITE_ID, value, transactionId, results });
  if (log.length > 50) log.shift();
  localStorage.setItem("conversionLog", JSON.stringify(log));
  return results;
};
