local QBCore = exports['qb-core']:GetCoreObject()

local flightinprogress = false

function flightCooldown()
    SetTimeout(30000, function() -- 300000 = 5 minute cooldown. 
        flightinprogress = false
    end)
end


RegisterServerEvent('qb-skydive:flightcooldown', function()
    flightinprogress = true
    flightCooldown()
end)

RegisterServerEvent("qb-skydive:server:payforgroup")
AddEventHandler("qb-skydive:server:payforgroup", function()
    local source = source
    local Player = QBCore.Functions.GetPlayer(source)
    local groupfee = Config.GroupFee
    local balance = Player.Functions.GetMoney('bank')

    if not flightinprogress then
        if balance >= groupfee then
            Player.Functions.RemoveMoney("bank", groupfee, "skydive")
            TriggerClientEvent('QBCore:Notify', source, " Du har betalt for en gruppe!", 'success')
            TriggerClientEvent('qb-skydive:client:skydivetime', source)
        else
            TriggerClientEvent('QBCore:Notify', source, " Du har ingen penge i banken.", 'error')
        end
    else
        TriggerClientEvent('QBCore:Notify', source, "Flyet er allerede i luften.", 'error')
    end
end)

RegisterServerEvent("qb-skydive:server:solojump")
AddEventHandler("qb-skydive:server:solojump", function()
    local source = source
    local Player = QBCore.Functions.GetPlayer(source)
    local solofee = Config.SoloFee
    local balance = Player.Functions.GetMoney('bank')

    if not flightinprogress then

        if balance >= solofee then
            TriggerClientEvent('qb-skydive:client:skydivesolo', source)
            Player.Functions.RemoveMoney("bank", solofee, "skydive-solo")
            TriggerClientEvent('QBCore:Notify', source, " Du har betalt for et solo hop!", 'success')
        else
            TriggerClientEvent('QBCore:Notify', source, " Du har ingen penge i banken.", 'error')
        end
    else
        TriggerClientEvent('QBCore:Notify', source, "Flyet er allerede i luften.", 'error')
    end
end)