$(".tab-content .slots-panel .slots-content").each(function(i) {
    $(this).append(`<div class="meter" data-index="${i}"><span></span><div id="counter${i}">0%</div></div>
`)
})


$(".tab-content .slots-panel .wrapper__game-image .wrapper__game-image__content .wrapper__game-image__wrap .wrapper__game-image__wrap-btn").each(function(i) {
    $(this).attr('id', `modaldata${i}`)
})

function timeonly() {
    var today = new Date();
    var dateasd = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
    var timeasd = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();

    return timeasd;
}

progressBarInit()

setInterval(() => {
    progressBarInit()
}, 10000);

function progressBarInit() {
    $('.gettime').text(timeonly());
    $(".meter").each(function() {
        let dataLastValue = $(this).attr('last-value')
        let maxPrecentage = 98.50
        let minPrecentage = 80

        let randomPrecentage
        if (typeof dataLastValue === 'undefined') {
            randomPrecentage = Math.random() * (maxPrecentage - minPrecentage) + minPrecentage + '%';
        } else {
            let start, end
            let currentValue = parseInt(dataLastValue)

            start = currentValue - 2
            end = currentValue + 2

            if (currentValue - 2 <= minPrecentage) {
                start = minPrecentage
            } else if (currentValue + 2 >= maxPrecentage) {
                end = maxPrecentage
            }

            randomPrecentage = Math.random() * (end - start) + start + '%';
        }

        let animationDuration = 2500;

        let progessBar = $(this).find("span");
        let index = $(this).data("index");
        let precentageBar = randomPrecentage.replace(/%/g, '') - 10;
        let realPrecentageBar = Math.round(randomPrecentage.replace(/%/g, ''))

        $(this).attr('last-value', realPrecentageBar)

        if (realPrecentageBar >= 90) {
            progessBar.addClass("green")
            $(`#modaldata${index}`).attr("data-toggle", "modal")
            $(`#modaldata${index}`).attr("data-target", ".providerModal")
        } else {
            progessBar.removeClass("green")
            $(`#modaldata${index}`).removeAttr("data-toggle", "modal")
            $(`#modaldata${index}`).removeAttr("data-target", ".providerModal")
        }

        //counter text
        $(this).find("div").text(realPrecentageBar + '%')
        $(`#modaldata${index}`).attr("data-id", realPrecentageBar)
        dateUpdate(index)
        progessBar.css('float','left');

        progessBar.data("origWidth", precentageBar + "%")
            .width(0)
            .animate({
                    width: progessBar.data("origWidth")
                },
                animationDuration
            );
    });
}

function dateUpdate(index) {
    var currentdate = new Date();
    var datetime = currentdate.getHours() + ":" +
        currentdate.getMinutes() + ":" +
        currentdate.getSeconds();

    $(`#timer${index}`).text(datetime)
}

$('.pragmatic').hide()
$('.pgsoft').hide()
$('.habanero').hide()
$('.microgaming').hide()

$('.provider-tab-item').click(function() {
    $('.provider-tab-item').removeClass('active')
    $(this).addClass('active')

    let target = $(this).data("game")
    
    $('.text-provider').html(target)

    switch (target) {
        case "idnslot":
            $('.idnslot').show()
            $('.pragmatic').hide()
            $('.pgsoft').hide()
            $('.habanero').hide()
            $('.microgaming').hide()
            break;
        case "pragmatic":
            $('.idnslot').hide()
            $('.pragmatic').show()
            $('.pgsoft').hide()
            $('.habanero').hide()
            $('.microgaming').hide()
            break;
        case "pgsoft":
            $('.idnslot').hide()
            $('.pragmatic').hide()
            $('.pgsoft').show()
            $('.habanero').hide()
            $('.microgaming').hide()
            break;
        case "habanero":
            $('.idnslot').hide()
            $('.pragmatic').hide()
            $('.pgsoft').hide()
            $('.habanero').show()
            $('.microgaming').hide()
            break;
        case "microgaming":
            $('.idnslot').hide()
            $('.pragmatic').hide()
            $('.pgsoft').hide()
            $('.habanero').hide()
            $('.microgaming').show()
            break;
        default:
            break;
    }

});

function random_item(items){
    return items[Math.floor(Math.random()*items.length)];
}

var step1 = [30,35,45,45,55,30,45,25,30,55,45,55,30,45,35,65];
var step2 = [35,40,25,40,50,45,40,40,25,50,40,40,45,20,40,30];
var step3 = [3,5,10,3,5,10,5,5,10,10,3,10,3,5,5,10];
var step4 = [40,55,60,60,75,30,55,55,35,70,60,75,55,70,30,80];

$('.slots-panel').click(function() {
    let dataProvider = $(this).attr("data-provider")
    if(dataProvider == 'BIG GAMING'){
        $('.fhide').hide()
        $('.panel').hide()
        $('.modal-header').hide()
    }

    $('#step1').text(random_item(step1)+'X Spin normal (manual tanpa ceklis)')
    $('#step2').text(random_item(step2)+'X Spin cepat (auto)')
    $('#step3').text(random_item(step3)+'X Tangkap spin (manual tanpa ceklis)')
    $('#step4').text(random_item(step4)+'X Spin turbo (manual)')
})

$('.detail-provider').click(function() {
    let data = $(this).attr('id')
    let dataPresentasi = parseInt($(`#${data}`).attr("data-id"))
    let dataProvider = $(`#${data}`).attr("data-provider")
    // $('.text-provider').text(dataProvider)

    /*if (dataPresentasi >= 97) {
        $('#step1').text("55X Spin normal (manual tanpa ceklis)")
        $('#step2').text("50X Spin cepat (auto)")
        $('#step3').text("10X Tangkap spin (manual tanpa ceklis)")
        $('#step4').text("80X Spin turbo (manual)")
    }

    if (dataPresentasi >= 94 && dataPresentasi <= 96) {
        $('#step1').text("45X Spin normal (manual tanpa ceklis)")
        $('#step2').text("40X Spin cepat (auto)")
        $('#step3').text("3X Tangkap spin (manual tanpa ceklis)")
        $('#step4').text("60X Spin turbo (manual)")
    }

    if (dataPresentasi >= 92 && dataPresentasi <= 93) {
        $('#step1').text("35X Spin normal (manual tanpa ceklis)")
        $('#step2').text("40X Spin cepat (auto)")
        $('#step3').text("3X Tangkap spin (manual tanpa ceklis)")
        $('#step4').text("30X Spin turbo (manual)")
    }

    if (dataPresentasi == 90 && dataPresentasi <= 91) {
        $('#step1').text("45X Spin normal (manual tanpa ceklis)")
        $('#step2').text("20X Spin cepat (auto)")
        $('#step3').text("5X Tangkap spin (manual tanpa ceklis)")
        $('#step4').text("70X Spin turbo (manual)")
    }*/

    $('#step1').text(random_item(step1)+'X Spin normal (manual tanpa ceklis)')
    $('#step2').text(random_item(step2)+'X Spin cepat (auto)')
    $('#step3').text(random_item(step3)+'X Tangkap spin (manual tanpa ceklis)')
    $('#step4').text(random_item(step4)+'X Spin turbo (manual)')

    if (dataPresentasi < 90) {
        $('.providerModalLost').modal("show")
    }
})

var ll = $('div');
var lh = []
var wscroll = 0;
var wh = $(window).height();

function update_offsets() {
    $('.wrapper__game-image').each(function() {
        var x = $(this).offset().top;
        lh.push(x);
    });
};

function lazy() {
    wscroll = $(window).scrollTop();
    for (i = 0; i < lh.length; i++) {
        if (lh[i] <= wscroll + (wh - 200)) {
            let imageUrl = $('.wrapper__game-image').eq(i).data('image');
            $('.wrapper__game-image').eq(i).css('background-image', 'url(' + imageUrl + ')');
        };
    };
};

// Page Load
update_offsets();
lazy();

$(window).on('scroll', function() {
    lazy();
});