var table = [] var selectedWindow = "none" var data_graph = {} var isLoggingOut = false var useSound = false window.addEventListener('message', function(event) { if (event.data.UseSound) { useSound = event.data.UseSound; } switch (event.data.action) { case 'loading_data': if (selectedWindow == "none") { $('#menu').html(`

Loading Data...
`); $("#menu").fadeIn(); $(".main_card").fadeIn(); selectedWindow = "loading_data"; } break case 'bankmenu': if (selectedWindow == "loading_data") { if(useSound) { var popup_sound = new Audio('popup.mp3'); popup_sound.volume = 0.2; popup_sound.play(); } $("#menu").fadeOut(); setTimeout(function(){ if (event.data.playerSex == "m") { avatar = ``; } else { avatar = ``; } $('#menu').html(`
Overview
${avatar}
Wallet: EUR

`); $("#menu").fadeIn(); overview_page_function(event); }, 400); } break case 'updatevalue': $("#playerBankMoney").html(''); $("#playerBankMoney").html(event.data.playerBankMoney.toLocaleString()); $("#wallet_money").html(event.data.walletMoney.toLocaleString()); break case 'updateiban': $("#playerIBAN").html(''); $("#playerIBAN").html(event.data.iban); break case 'overview_page': overview_page_function(event); break case 'transactions_page': for(var i=0; iSociety `; } else { society = ''; } $('#sidebar').html(` ${society} `); var row = ''; var num = event.data.db.length; var numOfTransactions = 0 for(var i = 0; i < num; i++) { numOfTransactions++ var db = event.data.db[i]; // Received if (db.type == 'transfer' && db.receiver_identifier == event.data.identifier) { var name = db.sender_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` From ${name}
Received
`; amount = `+ ${db.value.toLocaleString()} EUR`; // Sent } else if (db.type == 'transfer' && db.sender_identifier == event.data.identifier) { var name = db.receiver_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` To ${name}
Sent
`; amount = `- ${db.value.toLocaleString()} EUR`; // Deposited } else if (db.type == 'deposit') { var name = db.receiver_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` Into ${name}
Deposited
`; amount = `+ ${db.value.toLocaleString()} EUR`; // Withdrawn } else if (db.type == 'withdraw') { var name = db.sender_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` From ${name}
Withdrawn
`; amount = `- ${db.value.toLocaleString()} EUR`; } row += ` ${icon} ${data} ${db.date} ${amount} `; } $('#page_info').removeClass('row'); $('#page_info').html(`
TRANSACTIONS

${numOfTransactions}

INCOME

${event.data.graph_values[7].toLocaleString()}$

OUTCOME

${event.data.graph_values[8].toLocaleString()}$

EARNINGS

${event.data.graph_values[9].toLocaleString()}$

`); $('#transactionsData').html(row); var table_id = document.getElementById('transactionsTable'); table.push(new simpleDatatables.DataTable(table_id, { perPageSelect: false, perPage: 5, })); break case 'society_transactions': for(var i=0; iSociety `; } else { society = ''; } $('#sidebar').html(` ${society} `); var row = ''; var num = event.data.db.length; var numOfTransactions = 0 for(var i = 0; i < num; i++) { numOfTransactions++ var db = event.data.db[i]; // Received if (db.type == 'transfer' && db.receiver_identifier == event.data.identifier) { var name = db.sender_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` From ${name}
Received
`; amount = `+ ${db.value.toLocaleString()} EUR`; // Sent } else if (db.type == 'transfer' && db.sender_identifier == event.data.identifier) { var name = db.receiver_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` To ${name}
Sent
`; amount = `- ${db.value.toLocaleString()} EUR`; // Deposited } else if (db.type == 'deposit') { var name = db.receiver_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` Into ${name}
Deposited
`; amount = `+ ${db.value.toLocaleString()} EUR`; // Withdrawn } else if (db.type == 'withdraw') { var name = db.sender_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` From ${name}
Withdrawn
`; amount = `- ${db.value.toLocaleString()} EUR`; } row += ` ${icon} ${data} ${db.date} ${amount} `; } $('#page_info').removeClass('row'); $('#page_info').html(`
TRANSACTIONS

${numOfTransactions}

INCOME

${event.data.graph_values[7].toLocaleString()}€

OUTCOME

${event.data.graph_values[8].toLocaleString()}€

EARNINGS

${event.data.graph_values[9].toLocaleString()}€

`); $('#transactionsData').html(row); var table_id = document.getElementById('transactionsTable'); table.push(new simpleDatatables.DataTable(table_id, { perPageSelect: false, perPage: 5, })); break case 'society_page': society_page_function(event); break case 'settings_page': settings_page_function(event); break case 'atm': atm_numpad(event.data.pin); $(".atm_card").fadeIn(); selectedWindow = "atm"; break } }); // Overview $(document).on('click', "#overview_page", function() { $.post('https://okokBanking/action', JSON.stringify({ action: "overview_page", })); }); // Transactions $(document).on('click', "#transactions_page", function() { $.post('https://okokBanking/action', JSON.stringify({ action: "transactions_page", })); }); $(document).on('click', "#view_all_transactions", function() { $.post('https://okokBanking/action', JSON.stringify({ action: "transactions_page", })); }); $(document).on('click', "#view_all_transactions_society", function() { $.post('https://okokBanking/action', JSON.stringify({ action: "society_transactions", })); }); // Society $(document).on('click', "#society_page", function() { $.post('https://okokBanking/action', JSON.stringify({ action: "society_page", })); }); // Society transactions $(document).on('click', "#society_transactions", function() { $.post('https://okokBanking/action', JSON.stringify({ action: "society_transactions", })); }); // Settings $(document).on('click', "#settings_page", function() { $.post('https://okokBanking/action', JSON.stringify({ action: "settings_page", })); }); // End Pages $(document).on('click', ".depositMoneyModal", function() { var modalId = $('#depositModal'); var depositModal = new bootstrap.Modal(modalId); depositModal.show() }); $(document).on('click', ".withdrawMoneyModal", function() { var modalId = $('#withdrawModal'); var depositModal = new bootstrap.Modal(modalId); depositModal.show() }); $(document).on('click', ".transferMoneyModal", function() { var modalId = $('#transferModal'); var depositModal = new bootstrap.Modal(modalId); depositModal.show() }); // aqui $(document).on('click', "#buy_new_cc", function() { $.post('https://okokBanking/action', JSON.stringify({ action: "buy_new_cc", })); }); $(document).on('click', ".logout", function() { if(!isLoggingOut) { isLoggingOut = true logout_page() } }); // Close ESC Key $(document).ready(function() { document.onkeyup = function(data) { if (data.which == 27) { switch (selectedWindow) { case 'bankmenu': if(!isLoggingOut) { isLoggingOut = true logout_page() } break case 'societies': if(!isLoggingOut) { isLoggingOut = true logout_page() } break case 'settings': if(!isLoggingOut) { isLoggingOut = true logout_page() } break case 'atm': $(".atm_card").fadeOut(); $.post('https://okokBanking/action', JSON.stringify({ action: "close", })); selectedWindow = "none"; break } } }; }); $(document).on('click', '#depositMoney', function() { var deposit_value = $('#deposit_value').val(); deposit_value = Math.trunc( deposit_value ); $.post('https://okokBanking/action', JSON.stringify({ action: 'deposit', value: deposit_value, window: selectedWindow, })); $('#deposit_value').val(''); document.getElementById('depositMoney').disabled = true; }) $(document).on('click', '#withdrawMoney', function() { var withdraw_value = $('#withdraw_value').val(); withdraw_value = Math.trunc( withdraw_value ); $.post('https://okokBanking/action', JSON.stringify({ action: 'withdraw', value: withdraw_value, window: selectedWindow, })); $('#withdraw_value').val(''); document.getElementById('withdrawMoney').disabled = true; }) $(document).on('click', "#transferMoney", function() { var transfer_value = $('#transfer_value').val(); var iban_value = $('#transfer_iban').val(); $.post('https://okokBanking/action', JSON.stringify({ action: 'transfer', value: transfer_value, iban: iban_value, window: selectedWindow, })); $('#transfer_value').val(''); $('#transfer_iban').val(''); document.getElementById('transferMoney').disabled = true; }); // Change iban $(document).on('click', "#change_iban", function() { var new_iban = $('#new_iban').val(); $.post('https://okokBanking/action', JSON.stringify({ action: "change_iban", iban: new_iban, })); $('#new_iban').val(''); document.getElementById('change_iban').disabled = true; }); // Change pin $(document).on('click', "#change_pin", function() { var new_pin = $('#new_pin').val(); $.post('https://okokBanking/action', JSON.stringify({ action: "change_pin", pin: new_pin, })); $('#new_pin').val(''); document.getElementById('change_pin').disabled = true; }); $(document).on('click', ".close-atm", function() { if(useSound) { var popuprev_sound = new Audio('popupreverse.mp3'); popuprev_sound.volume = 0.2; popuprev_sound.play(); } $('.atm_card').fadeOut(); $.post('https://okokBanking/action', JSON.stringify({ action: "close", })); selectedWindow = "none"; }) function checkIfEmpty() { // Deposit if (document.getElementById("deposit_value").value === "") { document.getElementById('depositMoney').disabled = true; } else { document.getElementById('depositMoney').disabled = false; } // Withdraw if(document.getElementById("withdraw_value").value === "") { document.getElementById('withdrawMoney').disabled = true; } else { document.getElementById('withdrawMoney').disabled = false; } // Transfer if(document.getElementById("transfer_value").value === "" || document.getElementById("transfer_iban").value === "") { document.getElementById('transferMoney').disabled = true; } else { document.getElementById('transferMoney').disabled = false; } } function checkIfEmptySettings() { // New pin if(document.getElementById("new_pin").value === "") { document.getElementById('change_pin').disabled = true; } else { document.getElementById('change_pin').disabled = false; } // New iban if(document.getElementById("new_iban").value === "") { document.getElementById('change_iban').disabled = true; } else { document.getElementById('change_iban').disabled = false; } } function overview_page_function(event) { if(event.data.isUpdate && selectedWindow == "bankmenu" || !event.data.isUpdate){ for(var i=0; iSociety `; } else { society = ''; } $('#sidebar').html(` ${society} `); if(event.data.RequireCC) { informations = `Informations NEW`; } else { informations = `Informations`; } $('#page_info').addClass('row'); $('#page_info').html(`
Statistics
Last Transactions VIEW ALL
${informations}
okokBank Classic
Status
ACTIVE
VALID THRU 08/25

Balance: EUR

IBAN:

Actions
`); $("#playerName").html(event.data.playerName); $("#playerBankMoney").html(event.data.playerBankMoney.toLocaleString()); $("#playerIBAN").html(event.data.playerIBAN); $("#wallet_money").html(event.data.walletMoney.toLocaleString()); var row = ''; var num = event.data.db.length; if (num > 4) { num = 4 } for(var i = 0; i < num; i++) { var db = event.data.db[i]; // Received if (db.type == 'transfer' && db.receiver_identifier == event.data.identifier) { var name = db.sender_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` From ${name}
Received
`; amount = `+ ${db.value.toLocaleString()} EUR`; // Sent } else if (db.type == 'transfer' && db.sender_identifier == event.data.identifier) { var name = db.receiver_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` To ${name}
Sent
`; amount = `- ${db.value.toLocaleString()} EUR`; // Deposited } else if (db.type == 'deposit') { var name = db.receiver_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` Into ${name}
Deposited
`; amount = `+ ${db.value.toLocaleString()} EUR`; // Withdrawn } else if (db.type == 'withdraw') { var name = db.sender_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` From ${name}
Withdrawn
`; amount = `- ${db.value.toLocaleString()} EUR`; } row += ` ${icon} ${data} ${amount} `; } $('#lastTransactionsData').html(row); var table_id = document.getElementById('lastTransactionsTable'); table.push(new simpleDatatables.DataTable(table_id, { searchable: false, perPageSelect: false, paging: false, })); const labels = []; const months = ["Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec"]; for (i = 6; i > -1; i--) { var days = i; var date = new Date(); var last = new Date(date.getTime() - (days * 24 * 60 * 60 * 1000)); var day =last.getDate(); var month=last.getMonth(); labels.push(day+" "+months[month]) } var ctx = document.getElementById('myChart').getContext('2d'); var gradient = ctx.createLinearGradient(0, 0, 0, 300); gradient.addColorStop(0, 'rgba(20, 75, 217, 0.5)'); gradient.addColorStop(1, 'rgba(25, 70, 189, 0)'); const day_earnings = event.data.graphDays; var data_graph = { labels: labels, datasets: [{ label: 'Earnings', backgroundColor: gradient, borderColor: '#1f5eff', data: [day_earnings[6], day_earnings[5], day_earnings[4], day_earnings[3], day_earnings[2], day_earnings[1], day_earnings[0]], tension: 0.25, fill: 'start', pointBackgroundColor: '#1f5eff', pointRadius: 4, pointHoverRadius: 6, }] }; var config = { type: 'line', data: data_graph, options: { plugins: { legend: { display: false } }, animation: { duration: 0 }, scales: { y: { // y-axis configuration grid: { lineWidth: 1, color: '#2e2f36', drawBorder: false }, ticks: { color: '#d5d6da' } }, x: { // x-axis configuration grid: { display: false }, ticks: { color: '#d5d6da' } } } } }; var myChart = new Chart (document.getElementById('myChart'), config); selectedWindow = "bankmenu"; } } function society_page_function(event) { if(event.data.isUpdate && selectedWindow == "societies" || !event.data.isUpdate){ for(var i=0; iSociety `; } else { society = ''; } $('#sidebar').html(` ${society} `); $('#page_info').addClass('row'); $('#page_info').html(`
Statistics
Last Transactions VIEW ALL
Informations
okokBank Classic
Status
ACTIVE
VALID THRU 08/25

Balance: EUR

IBAN:

Actions
`); $("#playerBankMoney").html(event.data.societyInfo.value.toLocaleString()); $("#wallet_money").html(event.data.walletMoney.toLocaleString()); $("#playerIBAN").html(event.data.societyInfo.iban); var row = ''; var num = event.data.db.length; if (num > 4) { num = 4 } for(var i = 0; i < num; i++) { var db = event.data.db[i]; // Received if (db.type == 'transfer' && db.receiver_identifier == event.data.identifier) { var name = db.sender_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` From ${name}
Received
`; amount = `+ ${db.value.toLocaleString()} EUR`; // Sent } else if (db.type == 'transfer' && db.sender_identifier == event.data.identifier) { var name = db.receiver_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` To ${name}
Sent
`; amount = `- ${db.value.toLocaleString()} EUR`; // Deposited } else if (db.type == 'deposit') { var name = db.receiver_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` Into ${name}
Deposited
`; amount = `+ ${db.value.toLocaleString()} EUR`; // Withdrawn } else if (db.type == 'withdraw') { var name = db.sender_name; if (name.length > 15){ name = name.substring(0, 15)+"..." } icon = ''; data = ` From ${name}
Withdrawn
`; amount = `- ${db.value.toLocaleString()} EUR`; } row += ` ${icon} ${data} ${amount} `; } $('#lastTransactionsData').html(row); var table_id = document.getElementById('lastTransactionsTable'); table.push(new simpleDatatables.DataTable(table_id, { searchable: false, perPageSelect: false, paging: false, })); const labels = []; const months = ["Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec"]; for (i = 6; i > -1; i--) { var days = i; var date = new Date(); var last = new Date(date.getTime() - (days * 24 * 60 * 60 * 1000)); var day =last.getDate(); var month=last.getMonth(); labels.push(day+" "+months[month]) } var ctx = document.getElementById('myChart').getContext('2d'); var gradient = ctx.createLinearGradient(0, 0, 0, 300); gradient.addColorStop(0, 'rgba(20, 75, 217, 0.5)'); gradient.addColorStop(1, 'rgba(25, 70, 189, 0)'); const day_earnings = event.data.graphDays; var data_graph = { labels: labels, datasets: [{ label: 'Earnings', backgroundColor: gradient, borderColor: '#1f5eff', data: [day_earnings[6], day_earnings[5], day_earnings[4], day_earnings[3], day_earnings[2], day_earnings[1], day_earnings[0]], tension: 0.25, fill: 'start', pointBackgroundColor: '#1f5eff', pointRadius: 4, pointHoverRadius: 6, }] }; var config = { type: 'line', data: data_graph, options: { plugins: { legend: { display: false } }, animation: { duration: 0 }, scales: { y: { // y-axis configuration grid: { lineWidth: 1, color: '#2e2f36', drawBorder: false }, ticks: { color: '#d5d6da' } }, x: { // x-axis configuration grid: { display: false }, ticks: { color: '#d5d6da' } } } } }; var myChart = new Chart (document.getElementById('myChart'), config); selectedWindow = "societies"; } } function settings_page_function(event) { for(var i=0; iSociety `; } else { society = ''; } $('#sidebar').html(` ${society} `); $('#page_info').addClass('row'); $('#page_info').html(`
Account IBAN
Change IBAN
The IBAN has a change cost of ${event.data.ibanCost}€
The IBAN always have the prefix "${event.data.ibanPrefix}"
The maximum number of characters is ${event.data.ibanCharNum}
PIN Code
Change PIN
The PIN has a change cost of ${event.data.pinCost}€
The maximum number of characters is ${event.data.pinCharNum}
You can only use numbers
`); selectedWindow = "settings"; } function logout_page() { $("#menu").fadeOut(); setTimeout(function () { $('#menu').html(`

Logging out...
`); $("#menu").fadeIn(); setTimeout(function(){ $("#menu").fadeOut(); $(".main_card").fadeOut(); selectedWindow = "none"; setTimeout(function(){ isLoggingOut = false for(var i=0; i