Mudanças entre as edições de "MediaWiki:Common.js"

De Wiki Gla
Ir para navegação Ir para pesquisar
Linha 116: Linha 116:


//------- RANKED TIMER ---------
//------- RANKED TIMER ---------
  //------- WORLD BOSS TIMER ---------
//------- WORLD BOSS TIMER ---------
var wbTimer = $('#worldboss-time'); // Timer do World Boss
var wbTimer = $('#worldboss-time'); // Timer do World Boss
var wbBossImage = $('.worldboss-image'); // Imagem do World Boss
var wbBossImage = $('.worldboss-image'); // Imagem do World Boss
Linha 134: Linha 134:
}
}


function getBrazilTime() {
function startWorldBossCountdown(endTime) {
    return new Date(new Date().getTime() - 3 * 60 * 60 * 1000); // Ajusta UTC para UTC-3
}
 
function wbStartTimer(endTime) {
     if (wbInterval) clearInterval(wbInterval);
     if (wbInterval) clearInterval(wbInterval);


     wbInterval = setInterval(function () {
     wbInterval = setInterval(function () {
         var now = getBrazilTime().getTime();
         var now = new Date().getTime(); // Usa o horário local do navegador
         var distance = endTime - now;
         var distance = endTime - now;


Linha 149: Linha 145:
             var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
             var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
             var seconds = Math.floor((distance % (1000 * 60)) / 1000);
             var seconds = Math.floor((distance % (1000 * 60)) / 1000);
 
             wbTimer.html('Termina em: ' + wbPad(hours) + ":" + wbPad(minutes) + ":" + wbPad(seconds));
             wbTimer.html(wbPad(hours) + ":" + wbPad(minutes) + ":" + wbPad(seconds));
         } else {
         } else {
             clearInterval(wbInterval);
             clearInterval(wbInterval);
             wbUpdateBoss();
             wbUpdateBoss(); // Atualiza para o próximo World Boss
         }
         }
     }, 1000);
     }, 1000);
Linha 159: Linha 154:


function wbUpdateBoss() {
function wbUpdateBoss() {
     var now = getBrazilTime();
     var now = new Date(); // Usa o horário local do navegador


     for (var i = 0; i < wbBossesList.length; i++) {
     for (var i = 0; i < wbBossesList.length; i++) {
         var wbEventStart = new Date(wbBossesList[i].date + 'T11:00:00Z');
         var wbEventStart = new Date(wbBossesList[i].date + 'T11:00:00'); // Horário local do evento
        wbEventStart.setHours(wbEventStart.getHours() - 3); // Ajusta para UTC-3
         var wbEventEnd = new Date(wbEventStart.getTime() + wbDuration);
         var wbEventEnd = new Date(wbEventStart.getTime() + wbDuration);


         if (now < wbEventStart) {
         if (now < wbEventStart) {
            // Próximo World Boss ainda não começou
             wbBossImage.attr('src', wbBossesList[i].src || '/images/a/a5/AnyEvent.png');
             wbBossImage.attr('src', wbBossesList[i].src || '/images/a/a5/AnyEvent.png');
             wbTimer.html('Próximo WB: ' + wbEventStart.toLocaleString());
             wbTimer.html(
                'Próximo WB: ' +
                wbEventStart.toLocaleDateString('pt-BR') +
                ' às ' +
                wbEventStart.toLocaleTimeString('pt-BR', { hour: '2-digit', minute: '2-digit' })
            );
             return;
             return;
         } else if (now >= wbEventStart && now < wbEventEnd) {
         } else if (now >= wbEventStart && now < wbEventEnd) {
            // World Boss ativo
             wbBossImage.attr('src', wbBossesList[i].src);
             wbBossImage.attr('src', wbBossesList[i].src);
             wbStartTimer(wbEventEnd.getTime());
             startWorldBossCountdown(wbEventEnd.getTime());
             return;
             return;
         }
         }
     }
     }


    // Caso nenhum World Boss esteja programado
     wbBossImage.attr('src', '/images/a/a5/AnyEvent.png');
     wbBossImage.attr('src', '/images/a/a5/AnyEvent.png');
     wbTimer.html('Aguardando próximas datas...');
     wbTimer.html('Aguardando próximas datas...');
Linha 185: Linha 187:
});
});
//------- WORLD BOSS TIMER ---------
//------- WORLD BOSS TIMER ---------


     //------- COUNTDOWN MAINPAGE---------
     //------- COUNTDOWN MAINPAGE---------

Edição das 13h53min de 19 de dezembro de 2024

$(document).ready(function () {
//------- RANKED TIMER ---------
var rankedTimer = $('#ranked-time'); // Timer das ranqueadas
var rankedImage = $('.ranked-image'); // Imagem da ranqueada
var rankedInterval;

// Lista das ranqueadas: dias e horários específicos
var rankedInfo = {
    0: [ // Domingo
        { name: 'Ranked 2x2 Duo', time: '15:00:00', src: '/images/2x2_duo_ranked.png' },
        { name: 'Ranked 2x2 Solo', time: '16:00:00', src: '/images/2x2_solo_ranked.png' },
        { name: 'Ranked 1x1', time: '17:00:00', src: '/images/1x1_ranked.png' }
    ],
    2: [ // Terça-feira
        { name: 'Ranked 2x2 Duo', time: '20:00:00', src: '/images/2x2_duo_ranked.png' },
        { name: 'Ranked 2x2 Solo', time: '21:00:00', src: '/images/2x2_solo_ranked.png' },
        { name: 'Ranked 1x1', time: '22:00:00', src: '/images/1x1_ranked.png' }
    ],
    4: [ // Quinta-feira
        { name: 'Ranked 2x2 Duo', time: '15:00:00', src: '/images/2x2_duo_ranked.png' },
        { name: 'Ranked 2x2 Solo', time: '16:00:00', src: '/images/2x2_solo_ranked.png' },
        { name: 'Ranked 1x1', time: '17:00:00', src: '/images/1x1_ranked.png' }
    ],
    6: [ // Sábado
        { name: 'Ranked 2x2 Duo', time: '15:00:00', src: '/images/2x2_duo_ranked.png' },
        { name: 'Ranked 2x2 Solo', time: '16:00:00', src: '/images/2x2_solo_ranked.png' },
        { name: 'Ranked 1x1', time: '17:00:00', src: '/images/1x1_ranked.png' }
    ]
};

function pad(value) {
    return value < 10 ? '0' + value : value;
}

function startRankedTimer(eventTime, nextEventName) {
    if (rankedInterval) clearInterval(rankedInterval);

    rankedInterval = setInterval(function () {
        var now = new Date().getTime(); // Usa o horário local do navegador
        var distance = eventTime.getTime() - now; // Calcula a diferença de tempo

        if (distance > 0) {
            var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
            var seconds = Math.floor((distance % (1000 * 60)) / 1000);
            rankedTimer.html(pad(hours) + ":" + pad(minutes) + ":" + pad(seconds));
        } else {
            clearInterval(rankedInterval);
            setRankedEvents(); // Ajusta automaticamente para a próxima fila
        }
    }, 1000);
}

function setRankedEvents() {
    var now = new Date(); // Usa o horário local do navegador
    var todayEvents = rankedInfo[now.getDay()];
    var eventFound = false;

    // Verifica os eventos de hoje
    if (todayEvents) {
        for (var i = 0; i < todayEvents.length; i++) {
            var event = todayEvents[i];
            var timeParts = event.time.split(':');
            var eventTime = new Date(
                now.getFullYear(),
                now.getMonth(),
                now.getDate(),
                parseInt(timeParts[0], 10),
                parseInt(timeParts[1], 10),
                parseInt(timeParts[2], 10)
            );

            if (now < eventTime) {
                rankedImage.attr('src', event.src);
                rankedTimer.html('Próxima ranqueada: ' + event.name);
                startRankedTimer(eventTime, todayEvents[i + 1] ? todayEvents[i + 1].name : null);
                eventFound = true;
                return;
            }
        }
    }

    // Caso não haja mais eventos hoje, exibe "Encerrado por hoje"
    if (!eventFound && todayEvents) {
        rankedImage.attr('src', '/images/a/a5/AnyEvent.png');
        rankedTimer.html('Encerrado por hoje');
    }

    // Caso não haja eventos hoje, busca o próximo dia
    if (!eventFound) {
        var nextRanked = findNextRankedDay(now.getDay());
        if (nextRanked) {
            var isTomorrow = (now.getDay() + 1) % 7 === nextRanked.day; // Se for amanhã
            var nextDayText = isTomorrow ? 'AMANHÃ' : ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'][nextRanked.day];
            rankedImage.attr('src', '/images/a/a5/AnyEvent.png');
            rankedTimer.html('Próxima ranqueada: ' + nextDayText);
        } else {
            rankedTimer.html('Sem informações de ranqueadas');
        }
    }
}

function findNextRankedDay(currentDay) {
    for (var i = 1; i <= 7; i++) {
        var nextDay = (currentDay + i) % 7;
        if (rankedInfo[nextDay]) {
            return { day: nextDay, events: rankedInfo[nextDay] };
        }
    }
    return null;
}

$(document).ready(function () {
    setRankedEvents();
});

//------- RANKED TIMER ---------
//------- WORLD BOSS TIMER ---------
var wbTimer = $('#worldboss-time'); // Timer do World Boss
var wbBossImage = $('.worldboss-image'); // Imagem do World Boss
var wbInterval;

var wbBossesList = [
    { date: '2024-12-17', name: 'Marineford', src: '/images/4/46/Deathmatch_event.png' },
    { date: '2024-12-23', name: 'Marineford', src: '/images/4/46/Deathmatch_event.png' },
    { date: '2024-12-28', name: 'Bananawani', src: '/images/4/46/Deathmatch_event.png' },
    { date: '2025-12-05', name: 'Aokiji', src: '/images/4/46/Deathmatch_event.png' },
];

var wbDuration = 22 * 60 * 60 * 1000; // 22 horas em milissegundos

function wbPad(value) {
    return value < 10 ? '0' + value : value;
}

function startWorldBossCountdown(endTime) {
    if (wbInterval) clearInterval(wbInterval);

    wbInterval = setInterval(function () {
        var now = new Date().getTime(); // Usa o horário local do navegador
        var distance = endTime - now;

        if (distance > 0) {
            var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
            var seconds = Math.floor((distance % (1000 * 60)) / 1000);
            wbTimer.html('Termina em: ' + wbPad(hours) + ":" + wbPad(minutes) + ":" + wbPad(seconds));
        } else {
            clearInterval(wbInterval);
            wbUpdateBoss(); // Atualiza para o próximo World Boss
        }
    }, 1000);
}

function wbUpdateBoss() {
    var now = new Date(); // Usa o horário local do navegador

    for (var i = 0; i < wbBossesList.length; i++) {
        var wbEventStart = new Date(wbBossesList[i].date + 'T11:00:00'); // Horário local do evento
        var wbEventEnd = new Date(wbEventStart.getTime() + wbDuration);

        if (now < wbEventStart) {
            // Próximo World Boss ainda não começou
            wbBossImage.attr('src', wbBossesList[i].src || '/images/a/a5/AnyEvent.png');
            wbTimer.html(
                'Próximo WB: ' +
                wbEventStart.toLocaleDateString('pt-BR') +
                ' às ' +
                wbEventStart.toLocaleTimeString('pt-BR', { hour: '2-digit', minute: '2-digit' })
            );
            return;
        } else if (now >= wbEventStart && now < wbEventEnd) {
            // World Boss ativo
            wbBossImage.attr('src', wbBossesList[i].src);
            startWorldBossCountdown(wbEventEnd.getTime());
            return;
        }
    }

    // Caso nenhum World Boss esteja programado
    wbBossImage.attr('src', '/images/a/a5/AnyEvent.png');
    wbTimer.html('Aguardando próximas datas...');
}

$(document).ready(function () {
    wbUpdateBoss();
});
//------- WORLD BOSS TIMER ---------

    //------- COUNTDOWN MAINPAGE---------
var timer = $('#event-time');
var eventImage = $('.event-image');

// Informações dos eventos
/*
  0 - Domingo
  1 - Segunda-feira
  2 - Terça-feira
  3 - Quarta-feira
  4 - Quinta-feira
  5 - Sexta-feira
  6 - Sábado
*/
var eventsInfo = {
    0: [
            { name: 'Foxy Memory', time: '02:00:00', src: '/images/3/37/Foxy_memory_event.png' },
            { name: 'Foxy race (ship)', time: '09:00:00', src: '/images/2/29/Foxy_race_ship_event.png' },
            { name: 'Deathmatch', time: '12:00:00', src: '/images/4/46/Deathmatch_event.png' },
            { name: 'Foxy race', time: '15:00:00', src: '/images/e/e8/Foxy_race_event.png' },
            { name: 'Foxy quiz', time: '19:00:00', src: '/images/b/b3/Foxy_quiz_event.png' },
            { name: 'Foxy count', time: '22:00:00', src: '/images/f/f3/Foxy_count_event.png' },
        ],
        1: [
            { name: 'Foxy Memory', time: '02:00:00', src: '/images/3/37/Foxy_memory_event.png' },
            { name: 'Foxy race (ship)', time: '09:00:00', src: '/images/2/29/Foxy_race_ship_event.png' },
            { name: 'Deathmatch', time: '12:00:00', src: '/images/4/46/Deathmatch_event.png' },
            { name: 'Foxy race', time: '15:00:00', src: '/images/e/e8/Foxy_race_event.png' },
            { name: 'Foxy quiz', time: '19:00:00', src: '/images/b/b3/Foxy_quiz_event.png' },
            { name: 'Foxy count', time: '22:00:00', src: '/images/f/f3/Foxy_count_event.png' },
        ],
        2: [
            { name: 'Foxy race (ship)', time: '02:00:00', src: '/images/2/29/Foxy_race_ship_event.png' },
            { name: 'Deathmatch', time: '09:00:00', src: '/images/4/46/Deathmatch_event.png' },
            { name: 'Foxy race', time: '12:00:00', src: '/images/e/e8/Foxy_race_event.png' },
            { name: 'Foxy quiz', time: '15:00:00', src: '/images/b/b3/Foxy_quiz_event.png' },
            { name: 'Foxy count', time: '19:00:00', src: '/images/f/f3/Foxy_count_event.png' },
            { name: 'Foxy Memory', time: '22:00:00', src: '/images/3/37/Foxy_memory_event.png' },
        ],
        3: [
            { name: 'Deathmatch', time: '02:00:00', src: '/images/4/46/Deathmatch_event.png' },
            { name: 'Foxy race', time: '09:00:00', src: '/images/e/e8/Foxy_race_event.png' },
            { name: 'Foxy quiz', time: '12:00:00', src: '/images/b/b3/Foxy_quiz_event.png' },
            { name: 'Foxy count', time: '15:00:00', src: '/images/f/f3/Foxy_count_event.png' },
            { name: 'Foxy Memory', time: '19:00:00', src: '/images/3/37/Foxy_memory_event.png' },
            { name: 'Foxy race (ship)', time: '22:00:00', src: '/images/2/29/Foxy_race_ship_event.png' },
        ],
        4: [
            { name: 'Foxy race', time: '02:00:00', src: '/images/e/e8/Foxy_race_event.png' },
            { name: 'Foxy quiz', time: '09:00:00', src: '/images/b/b3/Foxy_quiz_event.png' },
            { name: 'Foxy count', time: '12:00:00', src: '/images/f/f3/Foxy_count_event.png' },
            { name: 'Foxy Memory', time: '15:00:00', src: '/images/3/37/Foxy_memory_event.png' },
            { name: 'Foxy race (ship)', time: '19:00:00', src: '/images/2/29/Foxy_race_ship_event.png' },
            { name: 'Deathmatch', time: '22:00:00', src: '/images/4/46/Deathmatch_event.png' },
        ],
        5: [
            { name: 'Foxy quiz', time: '02:00:00', src: '/images/b/b3/Foxy_quiz_event.png' },
            { name: 'Foxy count', time: '09:00:00', src: '/images/f/f3/Foxy_count_event.png' },
            { name: 'Foxy Memory', time: '12:00:00', src: '/images/3/37/Foxy_memory_event.png' },
            { name: 'Foxy race (ship)', time: '15:00:00', src: '/images/2/29/Foxy_race_ship_event.png' },
            { name: 'Deathmatch', time: '19:00:00', src: '/images/4/46/Deathmatch_event.png' },
            { name: 'Foxy race', time: '22:00:00', src: '/images/e/e8/Foxy_race_event.png' },
        ],
        6: [
            { name: 'Foxy count', time: '02:00:00', src: '/images/f/f3/Foxy_count_event.png' },
            { name: 'Foxy Memory', time: '09:00:00', src: '/images/3/37/Foxy_memory_event.png' },
            { name: 'Foxy race (ship)', time: '12:00:00', src: '/images/2/29/Foxy_race_ship_event.png' },
            { name: 'Deathmatch', time: '15:00:00', src: '/images/4/46/Deathmatch_event.png' },
            { name: 'Foxy race', time: '19:00:00', src: '/images/e/e8/Foxy_race_event.png' },
            { name: 'Foxy quiz', time: '22:00:00', src: '/images/b/b3/Foxy_quiz_event.png' },
        ]
};

var haveEvent = false;

function pad(value) {
    return value < 10 ? '0' + value : value;
}

function startTimer(eventTime) {
    if (this.interval) clearInterval(this.interval);

    this.interval = setInterval(function () {
        var now = new Date().getTime(); // Usa o horário local do navegador
        var distance = eventTime.getTime() - now;

        if (distance > 0) {
            var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
            var seconds = Math.floor((distance % (1000 * 60)) / 1000);
            timer.html(pad(hours) + ":" + pad(minutes) + ":" + pad(seconds));
        } else {
            clearInterval(this.interval);
            haveEvent = false;
            setDayEvents();
        }
    }, 1000);
}

function setDayEvents() {
    var now = new Date(); // Usa o horário local do navegador
    var dayEvents = eventsInfo[now.getDay()];

    if (!dayEvents) {
        eventImage.attr('src', '/images/a/a5/AnyEvent.png');
        timer.html('');
        return;
    }

    for (var i = 0; i < dayEvents.length; i++) {
        var event = dayEvents[i];
        var timeParts = event.time.split(':');
        var eventTime = new Date(
            now.getFullYear(),
            now.getMonth(),
            now.getDate(),
            parseInt(timeParts[0], 10),
            parseInt(timeParts[1], 10),
            parseInt(timeParts[2], 10)
        );
        var eventEndTime = new Date(eventTime.getTime() + 5 * 60000); // Evento dura 5 minutos

        if (now < eventTime) {
            eventImage.attr('src', event.src);
            haveEvent = true;
            startTimer(eventTime);
            return;
        } else if (now >= eventTime && now <= eventEndTime) {
            eventImage.attr('src', event.src);
            timer.html('O evento está começando!');
            haveEvent = true;

            setTimeout(function () {
                haveEvent = false;
                setDayEvents();
            }, 300000);
            return;
        }
    }

    if (!haveEvent) {
        eventImage.attr('src', '/images/a/a5/AnyEvent.png');
        timer.html('');
    }
}

$(document).ready(function () {
    setDayEvents();
});
//------- COUNTDOWN MAINPAGE---------


    //------- TABSKILL (PERSONAGENS) ---------
    $('.tab-skill-test').on('click', function () {
        $('.tab-skill-test.active').removeClass('active');
        $(this).addClass('active');

        var skillId = $(this).data('skill-id');
        $('.skillInfo-test.active').removeClass('active').addClass('hidden');
        $('.skillInfo-test[data-skill-id="' + skillId + '"]').removeClass('hidden').addClass('active');
    });

    // Ativar tab e habilidade com base no hash da URL
    var hash = window.location.hash; // Exemplo: https://wiki.gla.com.br/index.php/Aokiji#IceStar
    if (hash) {
        var linkName = hash.replace('#', '');
        var tabButton = $('.tab-skill-test[data-link-name="' + linkName + '"]');
        var skillSection = $('.skillInfo-test[data-link-name="' + linkName + '"]');

        if (tabButton.length && skillSection.length) {
            $('.tab-skill-test.active').removeClass('active');
            tabButton.addClass('active');

            $('.skillInfo-test.active').removeClass('active').addClass('hidden');
            skillSection.removeClass('hidden').addClass('active');
        }
    }
    //------- TOOLTIP IMAGE---------
    /*
        Tooltip image consiste em uma funcionalidade que insere uma tag IMG 
        quando o usuario passa o mouse por cima de uma imagem com a classe "tooltip-image"
        ao fazer é inserido no body uma tag IMG com a mesma "src" 1.3 vezes maior do que a imagem
        que o usuario está com o mouse em coma, esta tag IMG terá o mesmo X e Y do mouse + um offset 
        para manter um distanciamento.
    */

    //Distanciamento / margem do mouse
    const offset = { x: 20, y: 10 };

    $('.tooltip-image').on('mouseenter',
        function (e) {
            var src = $(this).attr('src');
            var size = $(this).width() * 1.3;

            $('<img src="' + src + '" id="bigImage" />').css('left', e.pageX + offset.x).css('top', e.pageY + offset.y).css('width', size + "px").appendTo('body').hide().fadeIn(500);
        }).on('mouseleave',
            function () {
                $('#bigImage').remove();
            });

    $('.tooltip-image').mousemove(function (e) {
        $('#bigImage').css('left', e.pageX + offset.x).css('top', e.pageY + offset.y);
    });
    //------- TOOLTIP IMAGE---------

    //------- FUNCIONALIDADES PACIENTES KUREHA ---------
    const pacients = {
        "bafo": { image: "/images/c/ce/Bafo_static.png", gif: "/images/e/e0/Bafo.gif" },
        "espirrando": { image: "/images/thumb/5/5b/Espirro_static.png/180px-Espirro_static.png", gif: "/images/thumb/9/90/Espirro.gif/180px-Espirro.gif", audio: "/images/2/2b/Espirrando.ogg" },
        "enjoado": { image: "/images/thumb/5/52/Enjoado_static.png/180px-Enjoado_static.png", gif: "/images/thumb/7/76/Enjoado.gif/180px-Enjoado.gif", audio: "/images/5/5b/Vomito.ogg" },
        "tremendo": { image: "/images/thumb/3/35/Tremendo_static.png/180px-Tremendo_static.png", gif: "/images/thumb/f/f4/Tremendo.gif/180px-Tremendo.gif" },
        "tossindo": { image: "/images/thumb/e/ef/Tosse_static.png/180px-Tosse_static.png", gif: "/images/thumb/a/a4/Tosse.gif/180px-Tosse.gif", audio: "/images/f/f9/Tossindo.ogg" },
        "solucando": { image: "/images/thumb/c/c0/Soluco_static.png/180px-Soluco_static.png", gif: "/images/thumb/6/67/Soluco.gif/180px-Soluco.gif", audio: "/images/e/e2/Solucando.ogg" },
        "funk": { image: "/images/thumb/e/e8/Funkeiro_static.png/180px-Funkeiro_static.png ", gif: "/images/thumb/7/79/Funkeiro.gif/180px-Funkeiro.gif", audio: "/images/d/d2/Funk.ogg" },
        "fedendo": { image: "/images/thumb/1/1e/Fedido_static.png/180px-Fedido_static.png", gif: "/images/thumb/c/c9/Fedido.gif/180px-Fedido.gif" },
        "febre": { image: "/images/thumb/1/14/Febre_static.png/180px-Febre_static.png", gif: "/images/thumb/7/75/Febre.gif/180px-Febre.gif" },
        "endemoniado": { audio: "/images/3/32/Risada_maligna.ogg" },
        "fome": { audio: "/images/3/37/Estomago_roncando.ogg" },
        "cardiaco": { audio: "/images/2/27/Coracao_batendo.ogg" }
    };

    const audioPlayer = document.querySelector("#audio");

    $(".pacient-audio").on("click", function (e) {
        id = $(this).attr('id');

        if (pacients[id]) {
            audioPlayer.src = pacients[id].audio;
            audioPlayer.play();
        }

    });

    $('.interactive-pacient').on('mouseenter', function (e) {
        id = $(this).attr('id');

        if (pacients[id])
            $(this).attr('src', pacients[id].gif);
    }).on('mouseleave', function (e) {
        id = $(this).attr('id');

        if (pacients[id])
            $(this).attr('src', pacients[id].image);
    });

    //------- FUNCIONALIDADES PACIENTES KUREHA ---------
    //------- FUNCIONALIDADES BUZINAS ---------
    const horns = {
        "Buzinadelacucha": { audio: "/images/5/55/Buzinadelacucha-audio.ogg" },
        "Buzinadefumaca": { audio: "/images/3/3a/Buzinadefumaca-audio.ogg" },
        "Buzinadecaminhao": { audio: "/images/e/e4/Buzinadecaminhao-audio.ogg" },
        "Buzinadetrem": { audio: "/images/3/34/Buzinadetrem-audio.ogg" },
        "Buzinadeesporte": { audio: "/images/2/2b/Buzinadeesporte-audio.ogg" },
        "Buzinadear": { audio: "/images/9/95/Buzinadear-audio.ogg" },
        "Buzinadepalhaco": { audio: "/images/a/a4/Buzinadepalhaco-audio.ogg" },
        "Buzinadeinvestida": { audio: "/images/f/ff/Buzinadeinvestida-audio.ogg" },
        "Buzinadebicicleta": { audio: "/images/1/15/Buzinadebicicleta-audio.ogg" },
        "Buzinadeneblina": { audio: "/images/6/64/Buzinadeneblina-audio.ogg" }
    };

    const hornAudioPlayer = document.querySelector("#audio");

    $(".horn-audio").on("click", function (e) {
        const id = $(this).attr('id');
        if (horns[id]) {
            hornAudioPlayer.src = horns[id].audio;
            hornAudioPlayer.play();
        }
    });

    //------- FUNCIONALIDADES BUZINAS ---------

    //------- PERSONAGENS ---------

    const characters = [
        { name: "Aokiji Dio", types: ["slasher", "especialist", "tank", "marine", "diamond", "break_wall", "bridge"], link: "/Aokiji", img: "/images/6/67/Aokiji_card.png" },
        { name: "Bartolomew Kuma", types: ["especialist", "tank", "diamond", "break_wall"], link: "/Kuma", img: "/images/b/b5/Card-kuma.png" },
        { name: "Boa Hancock", types: ["fighter", "dps", "diamond"], link: "/Boa_Hancock", img: "/images/4/47/Card-hancock.png" },
        { name: "Borsalino Kizaru", types: ["especialist", "shooter", "dps", "diamond", "break_wall"], link: "/Kizaru", img: "/images/3/32/Card-kizaru.png" },
        { name: "Brook (TS)", types: ["slasher", "support", "diamond", "bridge"], link: "/Brook_(Timeskip)", img: "/images/1/1d/Card-brookts.png" },
        { name: "Tony Tony Chopper (TS) Gurren", types: ["fighter", "support", "diamond", "break_wall"], link: "/Chopper_(Timeskip)", img: "/images/5/53/Card-chopperts.png" },
        { name: "Doflamingo", types: ["shooter", "especialist", "dps", "diamond", "break_wall", "bridge"], link: "/Doflamingo", img: "/images/8/8d/Card-doflamingo.png" },
        { name: "Dracule Mihawk", types: ["slasher", "dps", "diamond", "break_wall"], link: "/Mihawk", img: "/images/9/91/Card-mihawk.png" },
        { name: "Emporio Ivankov", types: ["fighter", "support", "diamond", "break_wall"], link: "/Ivankov", img: "/images/c/ca/Card-ivankov.png" },
        { name: "Enel", types: ["shooter", "especialist", "diamond", "dps"], link: "/Enel", img: "/images/8/85/Enel_card.png" },
        { name: "Franky (TS) Sanitaria", types: ["shooter", "tank", "diamond", "break_wall"], link: "/Franky_(Timeskip)", img: "/images/d/d0/Card-frankyts.png" },
        { name: "Jinbe", types: ["fighter", "tank", "diamond", "break_wall"], link: "/Jinbe", img: "/images/2/2e/Card-jinbe.png" },
        { name: "Marshall D. Teach Barba Negra", types: ["especialist", "bruiser", "diamond"], link: "/Marshall_D._Teach", img: "/images/f/ff/Card-kurohige.png" },
        { name: "Marco Abacaxi", types: ["especialist", "fighter", "support", "diamond"], link: "/Marco", img: "/images/2/2b/Marco_card.png" },
        { name: "Monkey D. Luffy (TS) Visno", types: ["fighter", "dps", "diamond", "break_wall"], link: "/Luffy_(Timeskip)", img: "/images/e/ed/Card-luffyts.png" },
        { name: "Nami (TS)", types: ["especialist", "dps", "diamond"], link: "/Nami_(Timeskip)", img: "/images/3/35/Card-namits.png" },
        { name: "Portgas D. Ace Duduh", types: ["especialist", "shooter", "dps", "diamond"], link: "/Ace", img: "/images/4/40/Card-ace.png" },
        { name: "Robin (TS)", types: ["especialist", "dps", "diamond", "break_wall", "bridge"], link: "/Robin_(Timeskip)", img: "/images/b/b0/Card-robints.png" },
        { name: "Roronoa zoro (TS)", types: ["slasher", "dps", "diamond", "break_wall"], link: "/Zoro_(Timeskip)", img: "/images/7/74/Card-zorots.png" },
        { name: "Sabo Loge", types: ["fighter", "especialist", "dps", "diamond", "break_wall"], link: "/Sabo", img: "/images/0/04/Card-sabo.png" },
        { name: "Sakazuki Akainu", types: ["especialist", "fighter", "dps", "diamond", "break_wall"], link: "/Akainu", img: "/images/b/b0/Card_akainu.png" },
        { name: "Shanks", types: ["slasher", "bruiser", "diamond", "break_wall"], link: "/Shanks", img: "/images/a/aa/Card-shanks.png" },
        { name: "Usopp (TS)", types: ["shooter", "dps", "diamond", "break_wall"], link: "/Usopp_(Timeskip)", img: "/images/c/cc/Card-usoppts.png" },
        { name: "Uta", types: ["especialist", "dps", "diamond", "break_wall"], link: "/Uta", img: "/images/2/22/Card_uta.png" },
        { name: "Vinsmoke Sanji (TS)", types: ["fighter", "dps", "diamond", "break_wall"], link: "/Sanji_(Timeskip)", img: "/images/7/7a/Card-sanjits.png" },
        { name: "Baby 5", types: ["slasher", "shooter", "gold", "dps"], link: "/Baby_5", img: "/images/5/5e/Baby5_card.png" },
        { name: "Bartolomeo", types: ["especialist", "dps", "gold", "break_wall", "bridge"], link: "/Bartolomeo", img: "/images/a/a9/Card-barto.png" },
        { name: "Basil Hawkins Lost", types: ["especialist", "bruiser", "gold", "bridge"], link: "/Basil_Hawkins", img: "/images/8/89/Card-hawkins.png" },
        { name: "Bastille", types: ["slasher", "tank", "gold", "break_wall"], link: "/Bastille", img: "/images/1/13/Card-bastille.png" },
        { name: "Bellamy", types: ["fighter", "dps", "gold", "break_wall"], link: "/Bellamy", img: "/images/7/7e/Card-bellamy.png" },
        { name: "Bonney Poseidon", types: ["fighter", "support", "gold"], link: "/Bonney", img: "/images/9/91/Card-bonney.png" },
        { name: "Brook", types: ["slasher", "support", "gold"], link: "/brook", img: "/images/7/76/Card-brook.png" },
        { name: "Capone gang bege", types: ["shooter", "dps", "gold", "break_wall"], link: "/Capone_Bege", img: "/images/c/c0/Card-capone.png" },
        { name: "Carrot", types: ["slasher", "especialist", "dps", "gold"], link: "/Carrot", img: "/images/8/8d/Card-carrot.png" },
        { name: "Tony Tony Chopper Gurren", types: ["fighter", "support", "gold", "break_wall"], link: "/Chopper", img: "/images/1/19/Card-chopper.png" },
        { name: "Crocodile", types: ["especialist", "tank", "gold", "break_wall", "bridge"], link: "/Crocodile", img: "/images/5/5d/Card-crocodile.png" },
        { name: "Dalmatian", types: ["slasher", "bruiser", "gold", "break_wall"], link: "/Dalmatian", img: "/images/9/99/Card-dalmatian.png" },
        { name: "Franky Sanitaria", types: ["shooter", "bruiser", "gold", "break_wall"], link: "/Franky", img: "/images/6/61/Card-franky.png" },
        { name: "Gecko Moria Coxinha", types: ["slasher", "support", "gold"], link: "/Gecko_Moria", img: "/images/f/fc/Moria_card.png" },
        { name: "Hina", types: ["fighter", "bruiser", "gold", "break_wall", "bridge"], link: "/Hina", img: "/images/5/57/Card-hina.png" },
        { name: "Jesus Burgess", types: ["fighter", "tank", "gold", "break_wall"], link: "/Jesus_Burgess", img: "/images/2/28/Card-burgess.png" },
        { name: "Eustass Kid Rag", types: ["shooter", "tank", "gold", "break_wall", "bridge"], link: "/Kid", img: "/images/9/9a/Card-kid.png" },
        { name: "Killer", types: ["slasher", "dps", "gold"], link: "/Killer", img: "/images/b/b2/Card-killer.png" },
        { name: "Koala", types: ["fighter", "dps", "gold"], link: "/Koala", img: "/images/f/f3/Card-koala.png" },
        { name: "Leo & Mansherry", types: ["especialist", "support", "gold", "bridge"], link: "/Leo", img: "/images/d/d9/Card-leo.png" },
        { name: "Monkey D. Luffy Visno", types: ["fighter", "bruiser", "gold", "break_wall"], link: "/Luffy", img: "/images/a/af/Card-luffy.png" },
        { name: "Nami", types: ["especialist", "dps", "gold", "break_wall"], link: "/nami", img: "/images/0/08/Card-nami.png" },
        { name: "Perona", types: ["especialist", "support", "gold", "break_wall"], link: "/Perona", img: "/images/6/6d/Card-perona.png" },
        { name: "Rebecca", types: ["slasher", "tank", "gold"], link: "/Rebecca", img: "/images/9/91/Card-rebecca.png" },
        { name: "Nico Robin", types: ["especialist", "dps", "gold", "break_wall", "bridge"], link: "/Robin", img: "/images/3/3f/Card-robin.png" },
        { name: "Roronoa zoro", types: ["slasher", "bruiser", "gold", "break_wall"], link: "/Zoro", img: "/images/6/6f/Card-zoro.png" },
        { name: "Ryuma", types: ["slasher", "dps", "gold"], link: "/Ryuma", img: "/images/a/ac/Card-ryuma.png" },
        { name: "Scratchmen Apoo", types: ["shooter", "support", "gold"], link: "/Apoo", img: "/images/9/90/Card-apoo.png" },
        { name: "Smoker Piseiro", types: ["fighter", "tank", "gold"], link: "/Smoker", img: "/images/f/fb/Card-smoker.png" },
        { name: "Trafalgar Law Zhao Feng", types: ["slasher", "especialist", "dps", "gold", "break_wall"], link: "/Law", img: "/images/b/b9/Card-law.png" },
        { name: "Urouge", types: ["fighter", "tank", "gold", "break_wall"], link: "/Urouge", img: "/images/9/98/Card-urouge.png" },
        { name: "Usopp", types: ["shooter", "dps", "gold", "break_wall"], link: "/Usopp", img: "/images/a/ac/Card-usopp.png" },
        { name: "Van Augur", types: ["shooter", "dps", "gold", "break_wall"], link: "/Van_Augur", img: "/images/c/c7/Card-vanaugur.png" },
        { name: "Vinsmoke Ichiji", types: ["fighter", "bruiser", "gold", "break_wall"], link: "/Ichiji", img: "/images/8/8c/Card-ichiji.png" },
        { name: "Vinsmoke Niji", types: ["shooter", "dps", "gold"], link: "/Niji", img: "/images/6/66/Card-niji.png" },
        { name: "Vinsmoke Reiju Athena", types: ["especialist", "support", "gold"], link: "/Reiju", img: "/images/2/23/Card-reiju.png" },
        { name: "Vinsmoke Sanji", types: ["fighter", "dps", "gold", "break_wall"], link: "/Sanji", img: "/images/0/04/Card-sanji.png" },
        { name: "Vinsmoke Yonji", types: ["fighter", "tank", "gold", "break_wall"], link: "/Yonji", img: "/images/7/73/Card-yonji.png" },
        { name: "X-drake", types: ["fighter", "bruiser", "gold", "break_wall"], link: "/X_Drake", img: "/images/6/69/Card-drake.png" },
        { name: "Satori", types: ["support", "shooter", "especialist", "silver"], link: "/Satori", img: "/images/f/f3/Satori_card.png" },
        { name: "Gedatsu", types: ["fighter", "dps", "silver"], link: "/Gedatsu", img: "/images/f/f6/Gedatsu_card.png" },
        { name: "Ohm", types: ["tank", "slasher", "silver"], link: "/Ohm", img: "/images/1/1e/Ohm_card.png" },
        { name: "Shura", types: ["slasher", "dps", "silver"], link: "/Shura", img: "/images/2/2e/Shura_card.png" },
        { name: "Arlong", types: ["fighter", "bruiser", "silver", "break_wall"], link: "/Arlong", img: "/images/1/1e/Card-arlong.png" },
        { name: "Bepo", types: ["fighter", "dps", "silver"], link: "/Bepo", img: "/images/1/1d/Card-bepo.png" },
        { name: "Mr.2", types: ["fighter", "dps", "silver"], link: "/mr.2", img: "/images/2/27/Card-bonchan.png" },
        { name: "Buggy", types: ["shooter", "dps", "silver", "break_wall"], link: "/buggy", img: "/images/c/ca/Card-buggy.png" },
        { name: "Daddy Masterson", types: ["shooter", "dps", "silver"], link: "/Daddy_Masterson", img: "/images/2/20/Card-daddy.png" },
        { name: "mr.1 Daz Bonez Kolivier", types: ["slasher", "tank", "silver"], link: "/mr.1", img: "/images/6/61/Card-dazbonez.png" },
        { name: "Miss Doublefinger Zala", types: ["slasher", "bruiser", "silver"], link: "/Miss_Doublefinger", img: "/images/5/5f/Card-doublefinger.png" },
        { name: "Don Krieg", types: ["shooter", "dps", "silver"], link: "/don_Krieg", img: "/images/8/8f/Card-krieg.png" },
        { name: "Kuro", types: ["slasher", "dps", "silver"], link: "/kuro", img: "/images/3/3d/Card-kuro.png" },
        { name: "mr.3 Galdino", types: ["especialist", "support", "silver", "bridge"], link: "/mr.3", img: "/images/7/75/Card-mr3.png" },
        { name: "Tashigi", types: ["slasher", "dps", "silver"], link: "/tashigi", img: "/images/b/b8/Card-tashigi.png" },
        { name: "Nefertari Vivi", types: ["slasher", "support", "silver"], link: "/Vivi", img: "/images/9/9c/Card-vivi.png" },
        { name: "Wapol", types: ["shooter", "tank", "silver", "break_wall"], link: "/wapol", img: "/images/b/ba/Card-wapol.png" },
        { name: "Alvida", types: ["fighter", "support", "bronze"], link: "/Alvida", img: "/images/8/83/Card-alvida.png" },
        { name: "Buchi & Sham", types: ["slasher", "bruiser", "bronze"], link: "/Buchi", img: "/images/0/0b/Card-buchi.png" },
        { name: "Cabaji", types: ["slasher", "dps", "bronze"], link: "/Cabaji", img: "/images/9/9d/Card-cabaji.png" },
        { name: "Chew", types: ["shooter", "dps", "bronze", "break_wall"], link: "/Chew", img: "/images/0/0f/Card-chew.png" },
        { name: "Eric", types: ["shooter", "slasher", "dps", "bronze"], link: "/Eric", img: "/images/3/31/Card-eric.png" },
        { name: "Gin", types: ["fighter", "shooter", "dps", "bronze"], link: "/Gin", img: "/images/1/18/Card-gin.png" },
        { name: "Miss Goldenweek", types: ["support", "especialist", "bronze"], link: "/Goldenweek", img: "/images/0/0e/Card-goldenweek.png" },
        { name: "Hatchan", types: ["slasher", "support", "bronze"], link: "/Hatchan", img: "/images/3/31/Card-hatchan.png" },
        { name: "Jango", types: ["shooter", "support", "bronze"], link: "/Jango", img: "/images/4/48/Card-jango.png" },
        { name: "Kuroobi", types: ["fighter", "tank", "bronze", "break_wall"], link: "/Kuroobi", img: "/images/6/6a/Card-kuroobi.png" },
        { name: "Mohji", types: ["especialist", "bruiser", "bronze"], link: "/Mohji", img: "/images/5/58/Card-mohji.png" },
        { name: "Morgan", types: ["slasher", "bruiser", "bronze"], link: "/Morgan", img: "/images/4/43/Card-morgan.png" },
        { name: "Mr.4", types: ["shooter", "bruiser", "bronze"], link: "/Mr.4", img: "/images/9/90/Card-mr4.png" },
        { name: "Mr.5", types: ["shooter", "dps", "bronze"], link: "/Mr.5", img: "/images/4/49/Card-mr5.png" },
        { name: "Pearl", types: ["fighter", "especialist", "tank", "bronze"], link: "/Pearl", img: "/images/d/de/Card-pearl.png" },
    ];

    $(".filter--icon").on("click", function () {
        const id = $(this).attr("id");

        if ($(this).hasClass("all")) {
            $('.filter--icon.active').removeClass('active');
            $(".characters").addClass('show');
            $(".filter--icon.all").addClass('active');
            return false;
        } else {
            $(".filter--icon.all").removeClass('active');
        }

        if ($(this).hasClass("active")) {
            $(this).removeClass('active');
            actives = $('.filter--icon.active');
            query = "";

            $.each(actives, function (key, item) {
                query += "[data-type-" + item.id + "]";
            });

            $(".characters" + query).addClass('show');
        } else {
            if ($(this).hasClass("tier")) {
                $('.filter--icon.tier.active').removeClass('active');
            }

            $(this).addClass('active');
            $(".characters").removeClass('show');
            query = "";
            actives = $('.filter--icon.active');

            $.each(actives, function (key, item) {
                query += "[data-type-" + item.id + "]";
            });

            $(".characters" + query).addClass('show');
        }
    });

    $.each(characters, function (key, item) {
        data = '';
        id = item.name.replace(/\s/g, '_').toLowerCase();

        $.each(item.types, function (key, value) {
            data += "data-type-" + value + " ";
        });

        $("#characters-container").append(
            "<div id=" + id + " class='characters show' " + data + " >" +
            "<a href='https://wiki.gla.com.br/index.php" + item.link + "'>" +
            "<img src='" + item.img + "' alt='imagem de " + item.name + "' />" +
            "</a>" +
            "</div>"
        );
    });

    $(".filter--searchButton").on("click", function () {
        $(".filter--icon.active").removeClass('active');
        $(".characters.show").removeClass('show');
        if ($("#f-input").val().toLowerCase() != '') {
            $(".characters[id*=" + $("#f-input").val().toLowerCase() + "]").addClass('show');
        } else {
            $(".characters").addClass('show');
        }
    });

    $('#f-input').keypress(function (e) {
        const key = e.which;
        if (key == 13)  // the enter key code
        {
            $('.filter--searchButton').click();
            return false;
        }
    });

    //------- PERSONAGENS ---------

    //------- WANTED ---------
    const wanted_slashers = [
        { name: "Baby 5", wanteds: ["nami", "usopp", "mr. 3", "jango"], img: "/images/5/5e/Baby5_card.png" },
        { name: "Ohm", wanteds: ["robin", "nami", "brook", "zoro", "luffy", "sanji", "urouge", "ryuma", "van augur", "law", "niji", "crocodile", "cabaji"], img: "/images/1/1e/Ohm_card.png" },
        { name: "Roronoa Zoro", wanteds: ["robin", "nami", "brook", "chopper", "franky", "luffy", "sanji", "perona", "usopp", "capone", "kid", "van augur", "law", "yonji", "ichiji", "mr. 1", "mr. 2", "mr. 3", "mr. 4", "mr. 5", "bepo", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "koala", "buggy", "gin", "mohji", "drake", "alvida", "wapol", "crocodile", "cabaji"], img: "/images/6/6f/Card-zoro.png" },
        { name: "Shanks", wanteds: ["robin", "nami", "brook", "franky", "zoro", "luffy", "sanji", "bonney", "leo", "apoo", "rebecca", "usopp", "ryuma", "killer", "burgess", "capone", "kid", "van augur", "law", "yonji", "niji", "ichiji", "baby 5", "mr. 1", "mr. 2", "mr. 3", "doublefinger", "goldenweek", "mr. 4", "bepo", "pearl", "arlong", "hatchan", "chew", "jango", "kuroobi", "koala", "buggy", "kuro", "gin", "krieg", "mohji", "morgan", "drake", "hawkins", "alvida", "wapol", "crocodile", "bellamy"], img: "/images/a/aa/Card-shanks.png" },
        { name: "Dracule Mihawk", wanteds: ["robin", "nami", "chopper", "luffy", "sanji", "bonney", "leo", "apoo", "urouge", "perona", "usopp", "ryuma", "capone", "van augur", "law", "reiju", "yonji", "niji", "ichiji", "baby 5", "mr. 2", "mr. 3", "doublefinger", "goldenweek", "mr. 4", "pearl", "arlong", "hatchan", "chew", "jango", "kuroobi", "buggy", "kuro", "krieg", "mohji", "morgan", "hawkins", "alvida", "crocodile"], img: "/images/9/91/Card-mihawk.png" },
        { name: "Killer", wanteds: ["rebecca", "van augur", "pearl", "jango", "buggy", "alvida"], img: "/images/b/b2/Card-killer.png" },
        { name: "Tashigi", wanteds: ["chopper", "zoro", "luffy", "sanji", "bonney", "urouge", "perona", "ryuma", "killer", "burgess", "kid", "reiju", "yonji", "baby 5", "mr. 1", "mr. 2", "mr. 4", "pearl", "arlong", "hatchan", "buchi", "jango", "kuroobi", "koala", "kuro", "gin", "mohji", "morgan", "alvida", "wapol", "crocodile", "cabaji"], img: "/images/b/b8/Card-tashigi.png" },
        { name: "Roronoa Zoro (TS)", wanteds: ["chopper", "leo", "perona", "usopp", "capone", "mr. 3", "goldenweek", "pearl", "hatchan", "buchi", "jango", "buggy", "alvida"], img: "/images/7/74/Card-zorots.png" },
        { name: "Rebbeca", wanteds: ["franky", "luffy", "sanji", "urouge", "usopp", "ryuma", "killer", "capone", "van augur", "law", "yonji", "niji", "mr. 2", "doublefinger", "mr. 4", "pearl", "arlong", "buchi", "chew", "jango", "kuroobi", "buggy", "kuro", "gin", "krieg", "morgan", "drake", "alvida"], img: "/images/9/91/Card-rebecca.png" },
        { name: "Carrot", wanteds: ["nami", "chopper", "luffy", "sanji", "leo", "leo", "usopp", "capone", "kid", "van augur", "law", "niji", "ichiji", "mr. 3", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "kuroobi", "krieg", "mohji", "drake", "alvida"], img: "/images/8/8d/Card-carrot.png" },
        { name: "Shimotsuki Ryuma", wanteds: ["nami", "brook", "chopper", "franky", "sanji", "leo", "urouge", "perona", "capone", "law", "reiju", "yonji", "niji", "baby 5", "doublefinger", "goldenweek", "mr. 4", "bepo", "pearl", "hatchan", "buchi", "chew", "jango", "kuroobi", "koala", "buggy", "gin", "mohji", "morgan", "drake", "alvida", "crocodile"], img: "/images/a/ac/Card-ryuma.png" },
        { name: "Trafalgar Law", wanteds: ["luffy", "sanji", "leo", "apoo", "usopp", "kid", "reiju", "yonji", "niji", "ichiji", "baby 5", "doublefinger", "mr. 4", "bepo", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "kuroobi", "buggy", "krieg", "drake", "alvida"], img: "/images/b/b9/Card-law.png" },
        { name: "Mr. 1", wanteds: ["chopper", "perona", "killer", "capone", "law", "niji", "baby 5", "mr. 2", "doublefinger", "mr. 4", "bepo", "pearl", "arlong", "buchi", "chew", "jango", "kuroobi", "kuro", "krieg", "mohji", "morgan", "alvida", "wapol", "crocodile"], img: "/images/6/61/Card-dazbonez.png" },
        { name: "Bastille", wanteds: ["chopper", "zoro", "law", "doublefinger", "mr. 4", "arlong", "buchi", "kuro", "gin", "alvida", "bellamy"], img: "/images/1/13/Card-bastille.png" },
        { name: "Dalmatian", wanteds: ["capone", "mr. 2", "pearl", "arlong", "buchi", "chew", "jango", "kuroobi", "mohji", "morgan", "alvida", "crocodile"], img: "/images/9/99/Card-dalmatian.png" },
        { name: "Morgan", wanteds: ["robin", "nami", "leo", "van augur", "baby 5", "goldenweek", "buchi", "chew", "jango", "alvida"], img: "/images/4/43/Card-morgan.png" },
        { name: "Cabaji", wanteds: ["nami", "chopper", "chew", "jango", "alvida"], img: "/images/9/9d/Card-cabaji.png" },
        { name: "Kuro", wanteds: ["nami", "pearl", "hatchan", "buchi", "jango", "koala", "krieg", "mohji", "alvida", "bellamy"], img: "/images/3/3d/Card-kuro.png" },
        { name: "Eric", wanteds: ["nami", "brook", "apoo", "usopp", "reiju", "mr. 3", "goldenweek", "mr. 5", "jango", "buggy", "alvida"], img: "/images/3/31/Card-eric.png" },
        { name: "Miss Doublefinger", wanteds: ["chopper", "luffy", "sanji", "urouge", "rebecca", "perona", "usopp", "burgess", "capone", "kid", "reiju", "yonji", "pearl", "hatchan", "buchi", "jango", "kuroobi", "mohji", "alvida", "wapol"], img: "/images/5/5f/Card-doublefinger.png" },
    ];

    const wanted_shooters = [
        { name: "Baby 5", wanteds: ["nami", "usopp", "mr. 3", "jango"], img: "/images/5/5e/Baby5_card.png" },
        { name: "Daddy Masterson", wanteds: ["robin", "nami", "apoo", "apoo", "usopp", "niji", "mr. 3", "goldenweek", "mr. 5", "chew", "jango", "buggy", "krieg"], img: "/images/2/20/Card-daddy.png" },
        { name: "Enel", wanteds: ["robin", "usopp", "jango", "cabaji"], img: "/images/8/85/Enel_card.png" },
        { name: "Capone Gang Bege", wanteds: ["robin", "nami", "brook", "chopper", "franky", "luffy", "sanji", "leo", "apoo", "rebecca", "usopp", "killer", "burgess", "van augur", "law", "reiju", "yonji", "niji", "ichiji", "baby 5", "mr. 2", "mr. 3", "goldenweek", "mr. 4", "mr. 5", "bepo", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "kuroobi", "koala", "buggy", "kuro", "krieg", "mohji", "morgan", "alvida", "alvida", "wapol", "crocodile", "cabaji"], img: "/images/c/c0/Card-capone.png" },
        { name: "Franky", wanteds: ["robin", "nami", "brook", "chopper", "franky", "zoro", "luffy", "sanji", "leo", "urouge", "usopp", "ryuma", "burgess", "capone", "kid", "van augur", "law", "yonji", "niji", "ichiji", "baby 5", "mr. 1", "mr. 2", "doublefinger", "mr. 4", "mr. 5", "bepo", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "kuroobi", "koala", "buggy", "kuro", "gin", "mohji", "morgan", "hawkins", "alvida", "crocodile", "cabaji"], img: "/images/6/61/Card-franky.png" },
        { name: "Eustass kid", wanteds: ["chopper", "luffy", "usopp", "kid", "baby 5", "mr. 1", "mr. 2", "doublefinger", "mr. 4", "pearl", "buchi", "gin", "hawkins", "alvida", "crocodile"], img: "/images/9/9a/Card-kid.png" },
        { name: "Van Augur", wanteds: ["robin", "nami", "brook", "chopper", "franky", "luffy", "bonney", "leo", "apoo", "urouge", "usopp", "killer", "capone", "van augur", "law", "reiju", "yonji", "niji", "ichiji", "baby 5", "mr. 2", "mr. 3", "goldenweek", "mr. 5", "bepo", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "kuroobi", "koala", "buggy", "krieg", "mohji", "morgan", "drake", "alvida", "wapol", "cabaji"], img: "/images/c/c7/Card-vanaugur.png" },
        { name: "Portgas D. Ace", wanteds: ["nami", "brook", "chopper", "bonney", "leo", "apoo", "perona", "usopp", "kid", "van augur", "niji", "mr. 3", "mr. 5", "bepo", "arlong", "buchi", "chew", "jango", "kuroobi", "buggy", "krieg", "mohji"], img: "/images/4/40/Card-ace.png" },
        { name: "Usopp (TS)", wanteds: ["brook", "chopper", "leo", "apoo", "perona", "usopp", "van augur", "niji", "mr. 3", "goldenweek", "mr. 5", "hatchan", "chew", "jango", "buggy", "krieg", "alvida"], img: "/images/c/cc/Card-usoppts.png" },
        { name: "Donquixote Doflamingo", wanteds: ["robin", "nami", "brook", "chopper", "franky", "zoro", "luffy", "sanji", "bonney", "leo", "apoo", "urouge", "perona", "usopp", "ryuma", "killer", "burgess", "capone", "kid", "van augur", "law", "reiju", "yonji", "niji", "ichiji", "mr. 2", "mr. 3", "doublefinger", "goldenweek", "mr. 4", "bepo", "pearl", "arlong", "hatchan", "buchi", "jango", "kuroobi", "koala", "buggy", "gin", "krieg", "mohji", "morgan", "drake", "alvida"], img: "/images/8/8d/Card-doflamingo.png" },
        { name: "Buggy", wanteds: ["nami", "chopper", "bonney", "apoo", "perona", "usopp", "van augur", "baby 5", "mr. 4", "mr. 5", "pearl", "arlong", "buchi", "chew", "jango", "kuroobi", "krieg", "mohji", "alvida", "cabaji"], img: "/images/c/ca/Card-buggy.png" },
        { name: "Vinsmoke Niji", wanteds: ["nami", "apoo", "van augur", "reiju", "mr. 3", "mr. 5", "buchi", "jango", "buggy", "krieg", "alvida"], img: "/images/6/66/Card-niji.png" },
        { name: "Wapol", wanteds: ["robin", "nami", "brook", "chopper", "zoro", "luffy", "sanji", "urouge", "rebecca", "perona", "ryuma", "killer", "burgess", "kid", "law", "reiju", "yonji", "ichiji", "baby 5", "mr. 1", "doublefinger", "mr. 4", "pearl", "arlong", "buchi", "jango", "kuroobi", "kuro", "mohji", "morgan", "hawkins", "wapol", "crocodile"], img: "/images/b/ba/Card-wapol.png" },
        { name: "Franky (TS)", wanteds: ["chopper", "zoro", "usopp", "capone", "kid", "yonji", "mr. 1", "doublefinger", "mr. 4", "pearl", "arlong", "buchi", "kuro", "alvida"], img: "/images/d/d0/Card-frankyts.png" },
        { name: "Borsalino Kizaru", wanteds: ["capone", "jango", "drake", "alvida"], img: "/images/3/32/Card-kizaru.png" },
        { name: "Don Krieg", wanteds: ["brook", "chopper", "apoo", "capone", "reiju", "goldenweek", "mr. 5", "hatchan", "buchi", "chew", "jango", "buggy", "drake", "alvida"], img: "/images/8/8f/Card-krieg.png" },
        { name: "Eric", wanteds: ["nami", "brook", "apoo", "usopp", "reiju", "mr. 3", "goldenweek", "mr. 5", "jango", "buggy", "alvida"], img: "/images/3/31/Card-eric.png" },
        { name: "Mr. 4", wanteds: ["chopper", "zoro", "bonney", "goldenweek", "buchi", "jango", "morgan"], img: "/images/9/90/Card-mr4.png" },
        { name: "Mr. 5", wanteds: ["brook", "sanji", "bonney", "goldenweek", "jango", "kuroobi"], img: "/images/4/49/Card-mr5.png" },
        { name: "Gin", wanteds: ["chopper", "capone", "van augur", "baby 5", "mr. 3", "goldenweek", "bepo", "buchi", "gin", "krieg", "mohji", "drake", "alvida", "cabaji"], img: "/images/1/18/Card-gin.png" },
        { name: "Chew", wanteds: ["mr. 5"], img: "/images/0/0f/Card-chew.png" },
        { name: "Usopp", wanteds: ["nami", "brook", "chopper", "leo", "apoo", "reiju", "niji", "mr. 3", "mr. 5", "arlong", "hatchan", "buchi", "chew", "jango", "kuroobi", "buggy", "krieg", "alvida", "wapol"], img: "/images/a/ac/Card-usopp.png" },
    ];

    const wanted_fighters = [
        { name: "Sabo", wanteds: ["nami", "niji", "mr. 2", "mr. 3", "goldenweek", "mr. 4", "mr. 5", "bepo", "pearl", "arlong", "buchi", "chew", "jango", "kuroobi", "koala", "buggy", "kuro", "gin", "krieg", "mohji", "cabaji"], img: "/images/0/04/Card-sabo.png" },
        { name: "X-Drake", wanteds: ["robin", "brook", "chopper", "franky", "zoro", "sanji", "bonney", "leo", "apoo", "urouge", "rebecca", "usopp", "ryuma", "killer", "burgess", "capone", "kid", "van augur", "law", "reiju", "yonji", "ichiji", "baby 5", "mr. 1", "mr. 3", "doublefinger", "mr. 5", "bepo", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "koala", "buggy", "kuro", "gin", "krieg", "mohji", "morgan", "drake", "hawkins", "alvida", "wapol", "crocodile", "cabaji", "bellamy"], img: "/images/6/69/Card-drake.png" },
        { name: "Hina", wanteds: ["robin", "brook", "chopper", "franky", "zoro", "luffy", "sanji", "leo", "urouge", "rebecca", "perona", "usopp", "ryuma", "killer", "burgess", "capone", "kid", "van augur", "reiju", "yonji", "ichiji", "baby 5", "mr. 1", "mr. 3", "doublefinger", "mr. 5", "bepo", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "kuroobi", "koala", "buggy", "kuro", "gin", "krieg", "mohji", "morgan", "drake", "hawkins", "alvida", "wapol", "crocodile", "cabaji"], img: "/images/5/57/Card-hina.png" },
        { name: "Smoker", wanteds: ["robin", "nami", "zoro", "luffy", "urouge", "capone", "van augur", "law", "baby 5", "mr. 1", "mr. 2", "mr. 3", "mr. 5", "krieg", "alvida"], img: "/images/f/fb/Card-smoker.png" },
        { name: "Bellamy", wanteds: ["nami", "brook", "chopper", "zoro", "luffy", "sanji", "apoo", "urouge", "rebecca", "ryuma", "burgess", "van augur", "law", "yonji", "ichiji", "baby 5", "mr. 1", "mr. 2", "doublefinger", "goldenweek", "mr. 4", "bepo", "pearl", "arlong", "buchi", "jango", "kuroobi", "koala", "gin", "krieg", "mohji", "morgan", "drake", "hawkins", "alvida", "wapol", "crocodile", "cabaji"], img: "/images/7/7e/Card-bellamy.png" },
        { name: "Urouge", wanteds: ["nami", "sanji", "apoo", "usopp", "capone", "chew"], img: "/images/9/98/Card-urouge.png" },
        { name: "Boa Hancock", wanteds: ["robin", "nami", "brook", "chopper", "franky", "zoro", "luffy", "sanji", "leo", "urouge", "perona", "usopp", "ryuma", "burgess", "capone", "van augur", "law", "reiju", "yonji", "ichiji", "baby 5", "mr. 1", "mr. 3", "mr. 5", "bepo", "arlong", "hatchan", "chew", "jango", "kuroobi", "buggy", "kuro", "gin", "krieg", "mohji", "morgan", "drake", "hawkins", "alvida", "wapol", "crocodile", "cabaji", "bellamy"], img: "/images/4/47/Card-hancock.png" },
        { name: "VinsmokeYonji", wanteds: ["mr. 4", "kuro"], img: "/images/7/73/Card-yonji.png" },
        { name: "Vinsmoke Ichiji", wanteds: ["robin", "nami", "brook", "sanji", "apoo", "urouge", "rebecca", "usopp", "capone", "ichiji", "baby 5", "mr. 3", "mr. 5", "bepo", "pearl", "arlong", "buchi", "chew", "jango", "kuroobi", "koala", "buggy", "kuro", "gin", "hawkins", "alvida", "wapol", "crocodile", "cabaji"], img: "/images/8/8c/Card-ichiji.png" },
        { name: "Mr. 2", wanteds: ["bonney", "usopp", "hatchan", "krieg", "alvida"], img: "/images/2/27/Card-bonchan.png" },
        { name: "Vinsmoke Sanji (TS)", wanteds: ["nami", "chopper", "usopp", "law", "mr. 2", "doublefinger", "mr. 4", "mr. 5", "bepo", "pearl", "buchi", "chew", "jango", "koala", "buggy", "krieg", "mohji", "morgan", "alvida", "wapol", "cabaji"], img: "/images/7/7a/Card-sanjits.png" },
        { name: "Monkey D. Luffy (TS)", wanteds: ["robin", "nami", "brook", "chopper", "franky", "zoro", "luffy", "sanji", "leo", "apoo", "urouge", "rebecca", "perona", "usopp", "ryuma", "killer", "burgess", "kid", "law", "yonji", "niji", "ichiji", "mr. 1", "mr. 2", "doublefinger", "goldenweek", "mr. 4", "mr. 5", "bepo", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "kuroobi", "buggy", "kuro", "gin", "mohji", "morgan", "drake", "hawkins", "alvida", "wapol", "crocodile", "cabaji"], img: "/images/e/ed/Card-luffyts.png" },
        { name: "Koala", wanteds: ["robin", "nami", "brook", "franky", "zoro", "luffy", "sanji", "leo", "apoo", "urouge", "usopp", "killer", "burgess", "capone", "van augur", "law", "reiju", "yonji", "mr. 1", "mr. 2", "doublefinger", "mr. 4", "bepo", "pearl", "arlong", "chew", "jango", "kuroobi", "koala", "buggy", "kuro", "gin", "krieg", "mohji", "morgan", "drake", "hawkins", "alvida", "crocodile", "cabaji", "bellamy"], img: "/images/f/f3/Card-koala.png" },
        { name: "Burgess", wanteds: ["robin", "nami", "brook", "franky", "zoro", "luffy", "sanji", "rebecca", "usopp", "ryuma", "killer", "burgess", "capone", "kid", "van augur", "law", "yonji", "niji", "ichiji", "mr. 1", "mr. 2", "doublefinger", "mr. 4", "bepo", "pearl", "arlong", "hatchan", "buchi", "chew", "kuroobi", "koala", "buggy", "kuro", "gin", "hawkins", "alvida", "wapol", "crocodile", "cabaji"], img: "/images/2/28/Card-burgess.png" },
        { name: "Monkey D. Luffy", wanteds: ["brook", "chopper", "franky", "sanji", "leo", "usopp", "burgess", "kid", "law", "mr. 1", "mr. 2", "mr. 4", "mr. 5", "pearl", "arlong", "hatchan", "chew", "jango", "kuroobi", "koala", "buggy", "morgan", "alvida", "wapol", "cabaji"], img: "/images/a/af/Card-luffy.png" },
        { name: "Bepo", wanteds: ["zoro", "luffy", "sanji", "pearl", "arlong", "buchi", "kuro", "mohji", "morgan", "drake", "alvida"], img: "/images/1/1d/Card-bepo.png" },
        { name: "Vinsmoke Sanji", wanteds: ["brook", "chopper", "usopp", "kid", "mr. 4", "mr. 5", "pearl", "hatchan", "buchi", "chew", "jango", "kuroobi", "buggy", "gin", "morgan", "hawkins", "alvida", "wapol", "crocodile", "cabaji"], img: "/images/0/04/Card-sanji.png" },
        { name: "Arlong", wanteds: ["mr. 2", "chew", "alvida"], img: "/images/1/1e/Card-arlong.png" },
        { name: "Gin", wanteds: ["chopper", "capone", "van augur", "baby 5", "mr. 3", "goldenweek", "bepo", "buchi", "gin", "krieg", "mohji", "drake", "alvida", "cabaji"], img: "/images/1/18/Card-gin.png" },
    ];

    const wanted_especialists = [
        { name: "Sakazuki Akainu", wanteds: ["capone", "bellamy"], img: "/images/b/b0/Card_akainu.png" },
        { name: "Uta", wanteds: ["nami", "usopp", "jango", "buggy"], img: "/images/2/22/Card_uta.png" },
        { name: "Sabo", wanteds: ["nami", "niji", "mr. 2", "mr. 3", "goldenweek", "mr. 4", "mr. 5", "bepo", "pearl", "arlong", "buchi", "chew", "jango", "kuroobi", "koala", "buggy", "kuro", "gin", "krieg", "mohji", "cabaji"], img: "/images/0/04/Card-sabo.png" },
        { name: "Enel", wanteds: ["robin", "usopp", "jango", "cabaji"], img: "/images/8/85/Enel_card.png" },
        { name: "Vinsmoke Reiju", wanteds: ["brook", "bonney", "urouge", "rebecca", "killer", "burgess", "kid", "reiju", "yonji", "baby 5", "mr. 2", "doublefinger", "mr. 4", "bepo", "pearl", "arlong", "hatchan", "koala", "kuro", "gin", "mohji", "morgan", "hawkins", "alvida", "crocodile", "cabaji"], img: "/images/2/23/Card-reiju.png" },
        { name: "Portgas D. Ace", wanteds: ["nami", "brook", "chopper", "bonney", "leo", "apoo", "perona", "usopp", "kid", "van augur", "niji", "mr. 3", "mr. 5", "bepo", "arlong", "buchi", "chew", "jango", "kuroobi", "buggy", "krieg", "mohji"], img: "/images/4/40/Card-ace.png" },
        { name: "Donquixte Doflamingo", wanteds: ["robin", "nami", "brook", "chopper", "franky", "zoro", "luffy", "sanji", "bonney", "leo", "apoo", "urouge", "perona", "usopp", "ryuma", "killer", "burgess", "capone", "kid", "van augur", "law", "reiju", "yonji", "niji", "ichiji", "mr. 2", "mr. 3", "doublefinger", "goldenweek", "mr. 4", "bepo", "pearl", "arlong", "hatchan", "buchi", "jango", "kuroobi", "koala", "buggy", "gin", "krieg", "mohji", "morgan", "drake", "alvida"], img: "/images/8/8d/Card-doflamingo.png" },
        { name: "Borsalino Kizaru", wanteds: ["capone", "jango", "drake", "alvida"], img: "/images/3/32/Card-kizaru.png" },
        { name: "Trafalgar Law", wanteds: ["luffy", "sanji", "leo", "apoo", "usopp", "kid", "reiju", "yonji", "niji", "ichiji", "baby 5", "doublefinger", "mr. 4", "bepo", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "kuroobi", "buggy", "krieg", "drake", "alvida"], img: "/images/b/b9/Card-law.png" },
        { name: "Carrot", wanteds: ["nami", "chopper", "luffy", "sanji", "leo", "leo", "usopp", "capone", "kid", "van augur", "law", "niji", "ichiji", "mr. 3", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "kuroobi", "krieg", "mohji", "drake", "alvida"], img: "/images/8/8d/Card-carrot.png" },
        { name: "Nami (TS)", wanteds: ["robin", "nami", "brook", "chopper", "franky", "zoro", "luffy", "sanji", "bonney", "leo", "apoo", "urouge", "rebecca", "usopp", "ryuma", "killer", "kid", "law", "reiju", "yonji", "niji", "ichiji", "baby 5", "mr. 1", "mr. 2", "mr. 3", "doublefinger", "goldenweek", "mr. 4", "mr. 5", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "kuroobi", "koala", "buggy", "kuro", "gin", "krieg", "mohji", "morgan", "drake", "hawkins", "alvida", "wapol", "crocodile", "cabaji"], img: "/images/3/35/Card-namits.png" },
        { name: "Nami", wanteds: ["chopper", "bonney", "leo", "apoo", "burgess", "law", "niji", "mr. 3", "doublefinger", "goldenweek", "mr. 5", "pearl", "hatchan", "buchi", "chew", "jango", "buggy", "krieg", "mohji", "alvida"], img: "/images/0/08/Card-nami.png" },
        { name: "Nico Robin", wanteds: ["nami", "chopper", "leo", "apoo", "usopp", "mr. 3", "arlong", "buchi", "chew", "jango", "buggy", "mohji", "alvida"], img: "/images/3/3f/Card-robin.png" },
        { name: "Nico Robin (TS)", wanteds: ["bonney", "leo", "apoo", "perona", "mr. 3", "buchi", "chew", "jango", "alvida"], img: "/images/b/b0/Card-robints.png" },
        { name: "Bartolomeo", wanteds: ["urouge", "reiju", "pearl", "arlong", "jango", "kuroobi", "koala", "morgan", "drake", "alvida"], img: "/images/a/a9/Card-barto.png" },
        { name: "Marshall D. Teach", wanteds: ["bonney", "perona", "killer", "capone", "mr. 2", "goldenweek", "mr. 5", "pearl", "buchi", "chew", "jango", "buggy", "alvida"], img: "/images/f/ff/Card-kurohige.png" },
        { name: "Crocodile", wanteds: ["nami", "yonji", "mr. 1", "alvida"], img: "/images/5/5d/Card-crocodile.png" },
        { name: "Bartolomew Kuma", wanteds: ["robin", "nami", "brook", "chopper", "franky", "zoro", "luffy", "sanji", "urouge", "rebecca", "usopp", "ryuma", "killer", "burgess", "capone", "kid", "van augur", "yonji", "niji", "ichiji", "baby 5", "mr. 1", "mr. 2", "mr. 3", "doublefinger", "mr. 4", "mr. 5", "bepo", "pearl", "arlong", "hatchan", "buchi", "chew", "jango", "kuroobi", "koala", "buggy", "kuro", "gin", "krieg", "mohji", "morgan", "drake", "hawkins", "alvida", "wapol", "crocodile", "cabaji", "bellamy"], img: "/images/b/b5/Card-kuma.png" },
        { name: "Basil Hawkins", wanteds: ["luffy", "urouge", "yonji", "pearl", "kuroobi", "alvida"], img: "/images/8/89/Card-hawkins.png" },
        { name: "Mohji", wanteds: ["alvida", "bonney", "buggy", "pearl", "van augur"], img: "/images/5/58/Card-mohji.png" },
        { name: "Leo & Mansherry", wanteds: ["alvida", "bonney", "mohji"], img: "/images/d/d9/Card-leo.png" },
    ];

    function filterAndAppend(array, value, id) {
        whoDo = array.filter(
            function (v) {
                return v.wanteds.includes(value);
            }
        );

        $.each(whoDo, function (key, item) {
            $(".wantedPortraits#" + id).append(
                "<div class='wantedPortrait' >" +
                "<img src='" + item.img + "' alt='imagem de " + item.name + "' />" +
                "</div>"
            );
        })
    }

    $("#selectbox-wanted").on("input", function () {
        const value = $(this).val();

        if ($(".wantedPortrait"))
            $(".wantedPortrait").remove();

        filterAndAppend(wanted_shooters, value, "wanted-shooter");
        filterAndAppend(wanted_slashers, value, "wanted-slasher");
        filterAndAppend(wanted_fighters, value, "wanted-fighter");
        filterAndAppend(wanted_especialists, value, "wanted-especialist");
    });
    //------- WANTED ---------

    //------- SKILL TAB ---------
    $('.tab-skill').on('click', function () {
        $('.tab-skill.active').removeClass('active');
        $(this).addClass('active');
        const skillId = $(this).data('skill-id');
        if ($(".skillInfo[data-skill-id=" + skillId + "]")) {
            $(".skillInfo.active").removeClass('active');
            $(".skillInfo[data-skill-id=" + skillId + "]").addClass('active');
        }
    });
    //------- SKILL TAB ---------

    //------- CALCULATOR XP ---------
    const maximum_level = 110;
    const tier_values = {
        "diamond": 0.5,
        "gold": 1,
        "silver": 2,
        "bronze": 3
    };

    $(".calcXp--tierIcon").on("click", function () {
        $(".calcXp--tierIcon.active").removeClass('active');
        $(this).addClass('active');
    });

    $("#calculate-btn").on('click', function () {
        getNeededPotions();
    });

    function calcMissingXpInPotions() {
        const currentPercentOfXp = $("#char-currentPercentOfXp").val() != "" ? $("#char-currentPercentOfXp").val() : 100;
        const currentLevel = $("#char-level").val() != "" ? $("#char-level").val() : 1;
        const levelToUp = $("#char-levelToUp").val() != "" ? $("#char-levelToUp").val() : 110;
        const charTier = $(".calcXp--tierIcon.active").length != 0 ? tier_values[$(".calcXp--tierIcon.active").attr('id')] : tier_values["gold"];

        const percentToUp = 100 - currentPercentOfXp;
        const currentXp = ((50 * (Math.pow((currentLevel - 1), 3)) - 150 * (Math.pow((currentLevel - 1), 2)) + 400 * (currentLevel - 1)) / 3) + ((50 * Math.pow(currentLevel, 2) - 150 * currentLevel + 200) * percentToUp / 100);
        const desiredXp = (50 * (Math.pow((levelToUp - 1), 3)) - 150 * (Math.pow((levelToUp - 1), 2)) + 400 * (levelToUp - 1)) / 3;
        const missingXp = Math.round((desiredXp - currentXp));

        const missingPotions = {
            "small": Math.ceil((missingXp / (1000 * charTier))),
            "medium": (missingXp / (10000 * charTier)).toFixed(1),
            "big": (missingXp / (100000 * charTier)).toFixed(2)
        };

        return missingPotions;
    }

    function calcPotions() {
        const missingPotions = calcMissingXpInPotions();

        var complementaryPotS;
        var complementaryPotM;
        potS = missingPotions['small'];
        potM = missingPotions['medium'];
        potB = missingPotions['big'];

        if (String(potS).slice(-1) == "0") {
            potM = Math.ceil(parseFloat(potM));
        } else {
            potM = Math.floor(potM);
            complementaryPotS = potS - potM * 10;
        }

        if (String(potM).slice(-1) == "0") {
            potM = Math.ceil((parseFloat(potM)));
            potB = Math.floor(potB);
        }
        else {
            potB = Math.floor(potB)
            complementaryPotM = potM - potB * 10
        }

        const potions = {
            "small": complementaryPotS,
            "medium": complementaryPotM,
            "big": potB
        }

        return potions;
    }

    function getNeededPotions() {
        const potions = calcPotions();
        const resultsArea = $("#calc-result");

        resultsArea.html('');

        if (potions["big"]) {
            resultsArea.append(
                "<div class='badge'>" +
                "<img src='/images/a/a5/Bigexppot.png' class='calcXp--xpIcon' />" +
                "<span class='calcXp--numberOfPots'>" + potions['big'] + "</span>" +
                "</div>"
            );
        }


        if (potions["medium"]) {
            resultsArea.append(
                "<div class='badge'>" +
                "<img src='/images/d/df/Medexppot.png' class='calcXp--xpIcon' />" +
                "<span class='calcXp--numberOfPots'>" + potions['medium'] + "</span>" +
                "</div>"
            );
        }


        if (potions["small"]) {
            resultsArea.append(
                "<div class='badge'>" +
                "<img src='/images/5/5a/Smallexppot.png' class='calcXp--xpIcon' />" +
                "<span class='calcXp--numberOfPots'>" + potions['small'] + "</span>" +
                "</div>"
            );
        }
    }
    //------- CALCULATOR XP ---------

    //------- VIDEO SELECTOR ---------
    $(".video-selector").on("click", function () {
        $(".video-selector.active").removeClass("active");
        $(this).addClass("active");

        const value = $(this).data("value");
        const obj = eval('(' + value + ')');
        $("video[data-type-" + obj.select + "].active").removeClass('active');
        const index = obj.showId - 1;
        $("video[data-type-" + obj.select + "]").eq(index).addClass('active');
    });
    //------- VIDEO SELECTOR ---------
    //-------- gurren
    $(document).ready(function () {
        // Alternar entre mostrar e ocultar abas ao clicar
        $('.mostrar-aba').click(function () {
            var aba_id = $(this).attr('data-aba');
            var aba_selecionada = $("#aba-" + aba_id);

            if (aba_selecionada.hasClass('atual')) {
                aba_selecionada.removeClass('atual'); // Oculta a aba se já estiver ativa
                $(this).removeClass('ativa'); // Remove a classe ativa do botão
            } else {
                $('.aba').removeClass('atual'); // Oculta todas as abas
                aba_selecionada.addClass('atual'); // Exibe a aba correspondente
                $('.mostrar-aba').removeClass('ativa'); // Remove a classe ativa de outros botões
                $(this).addClass('ativa'); // Adiciona a classe ativa ao botão clicado
            }
        });

        // Exibir aba correspondente ao hash da URL
        var url = location.href;
        var hash = url.split('#')[1];
        if (hash != null && hash.length > 0) {
            $("#aba-" + hash).addClass('atual'); // Exibe a aba do hash
            $('*[data-aba="' + hash + '"]').addClass('ativa'); // Ativa o botão correspondente
        }
    });
});