const ACCOUNTS = [
    { u: "gratis", p: "2026" },
    { u: "aprobecha", p: "6390" },
    { u: "pornu", p: "1234" },
    { u: "vosete", p: "1426" },
    { u: "tuyo", p: "5373" },
    { u: "argentina", p: "6729" },
    { u: "joben", p: "2537" },
    { u: "xxx", p: "1234" },
    { u: "suerte", p: "67373" },
    { u: "posta", p: "2364" },
    { u: "cabeon", p: "6372" },
    { u: "tuhermana", p: "5262" }
];

const LIMIT = 130;
let socialStatus = { yt: false, wa: false, tg: false };

// Persistencia Local
let currentClaims = parseInt(localStorage.getItem('yoni_claims') || "0");
let myAccount = JSON.parse(localStorage.getItem('yoni_my_acc') || "null");

function init() {
    updateBadge();
    
    if (myAccount) {
        showResult(myAccount.u, myAccount.p);
    } else if (currentClaims >= LIMIT) {
        showLimit();
    }

    document.querySelectorAll('input[name="origin"]').forEach(input => {
        input.addEventListener('change', () => {
            document.getElementById('socialChecklist').classList.remove('hidden');
            validate();
        });
    });
}

function toggleInfo() {
    const el = document.getElementById('extendedInfo');
    const arrow = document.getElementById('infoArrow');
    el.classList.toggle('hidden');
    arrow.innerText = el.classList.contains('hidden') ? "▼" : "▲";
}

function markSocial(key) {
    socialStatus[key] = true;
    document.getElementById(`check_${key}`).innerText = "✅";
    validate();
}

function validate() {
    const btn = document.getElementById('mainBtn');
    const hasOrigin = document.querySelector('input[name="origin"]:checked');
    
    if (hasOrigin && socialStatus.yt && socialStatus.wa && socialStatus.tg) {
        btn.disabled = false;
        btn.classList.remove('opacity-30', 'cursor-not-allowed');
    }
}

function generateAccount() {
    if (currentClaims >= LIMIT) {
        showLimit();
        return;
    }

    // Elige una cuenta al azar de tu lista
    const random = ACCOUNTS[Math.floor(Math.random() * ACCOUNTS.length)];
    currentClaims++;
    
    const accData = { u: random.u, p: random.p };
    localStorage.setItem('yoni_claims', currentClaims);
    localStorage.setItem('yoni_my_acc', JSON.stringify(accData));

    showResult(random.u, random.p);
    updateBadge();
}

function showResult(u, p) {
    document.getElementById('generatorContent').classList.add('hidden');
    document.getElementById('resultBox').classList.remove('hidden');
    document.getElementById('finalUser').innerText = u;
    document.getElementById('finalPass').innerText = p;
}

function showLimit() {
    document.getElementById('generatorContent').classList.add('hidden');
    document.getElementById('limitBox').classList.remove('hidden');
}

function updateBadge() {
    const rem = LIMIT - currentClaims;
    document.getElementById('badgeCounter').innerText = `${rem} DISPONIBLES`;
}

window.onload = init;

