Files
vokspace/files/main.js
2026-01-02 21:08:58 +01:00

1600 lines
47 KiB
JavaScript

function toggleButtonBack(state) {
if(state == 'on') {
$('.button-back').css('display','block');
setTimeout(function () {
$('.button-back').css('opacity','1');
}, 200);
}
if(state == 'off') {
$('.button-back').css('opacity','0');
setTimeout(function () {
$('.button-back').css('display','none');
}, 200);
}
}
function getContent(page, meta, animation, callback) {
openTooltip(page);
closeActionMenu(page);
if(animation == 'scrollDown') {
$('.content').css('opacity','0');
$('.content').css('transform','translateY(-10px)');
setTimeout(function () {
$('.content').css('transition-duration','0s');
$('.content').css('transform','translateY(10px)');
}, 100);
}
if(animation == 'scrollUp') {
$('.content').css('opacity','0');
$('.content').css('transform','translateY(10px)');
setTimeout(function () {
$('.content').css('transition-duration','0s');
$('.content').css('transform','translateY(-10px)');
}, 100);
}
if(animation == 'scrollRight') {
$('.content').css('opacity','0');
$('.content').css('transform','translateX(-10px)');
setTimeout(function () {
$('.content').css('transition-duration','0s');
$('.content').css('transform','translateX(10px)');
}, 100);
}
if(animation == 'scrollLeft') {
$('.content').css('opacity','0');
$('.content').css('transform','translateX(10px)');
setTimeout(function () {
$('.content').css('transition-duration','0s');
$('.content').css('transform','translateX(-10px)');
}, 100);
}
if(animation == 'fade') {
$('.content').css('opacity','0');
setTimeout(function () {
$('.content').css('transition-duration','0s');
}, 100);
}
if(page == 'settings' || page == 'account' || page == 'index' || page == 'learn' || page == 'login' || page == 'trashcan' || page == 'intro:p1'||page == 'intro:p2'|| page == 'register' || page == 'login:timeout'|| page == 'list:add'||page == 'list:delete'|| page == 'list:download' ||page == 'list:rename' || page == 'voc:add' || page == 'voc:copy' || page == 'voc:delete' || page == 'voc:move' || page == 'voc:select' || page == 'lang:manage' || page == 'action:langAdd' || page == 'help:lang:manage' || page == 'help:index' || page == 'takeout' || page == 'verify-identity' || page == 'search' || page == 'forgot-password') {
if(page == 'index') {
$('div.selection-display').css('top','10px');
$('button#account').attr('onclick',"getContent('account','','scrollDown')");
$('button#settings').attr('onclick',"getContent('settings','','scrollDown')");
$('button#search').attr('onclick',"getContent('search','','scrollDown')");
$('button#home').attr('onclick','');
toggleButtonBack("off");
}
if(page == 'settings') {
$('div.selection-display').css('top','190px');
$('button#account').attr('onclick',"getContent('account','','scrollUp')");
$('button#search').attr('onclick',"getContent('search','','scrollUp')");
$('button#home').attr('onclick',"getContent('index','','scrollUp')");
$('button#settings').attr('onclick','');
toggleButtonBack("off");
}
if(page == 'account') {
$('div.selection-display').css('top','130px');
$('button#settings').attr('onclick',"getContent('settings','','scrollDown')");
$('button#home').attr('onclick',"getContent('index','','scrollUp')");
$('button#account').attr('onclick','');
$('button#search').attr('onclick',"getContent('search','','scrollUp')");
toggleButtonBack("off");
}
if(page == 'search') {
$('div.selection-display').css('top','70px');
$('button#account').attr('onclick',"getContent('account','','scrollDown')");
$('button#settings').attr('onclick',"getContent('settings','','scrollDown')");
$('button#home').attr('onclick',"getContent('index','','scrollUp')");
$('button#search').attr('onclick','');
toggleButtonBack("off");
}
$.post("getcontent.php",
{
page: page,
meta: meta,
},
function(data, status){
if(status == "success") {
$(".content").html(data);
setTimeout(function () {
$('.content').css('transition-duration','.1s');
$('.content').css('opacity','1');
$('.content').css('transform','translate(0,0)');
}, 200);
if(page == 'index') {
toggleButtonBack("off");
setActionMenu("index");
$("#help-node").attr("onclick","getContent('help:index','index','scrollRight')");
}
if(page == 'list:add') {
toggleButtonBack("on");
$('.button-back').attr('onclick','getContent("lang","' + meta + '","scrollLeft")');
}
if(page == 'voc:add' || page == 'voc:select' || page == 'list:download') {
toggleButtonBack("on");
$('.button-back').attr('onclick','getContent("list","","scrollLeft")');
}
if(page == 'learn') {
toggleButtonBack("on");
$('.button-back').attr('onclick','getContent("list","","scrollLeft")');
}
if(page == 'takeout') {
toggleButtonBack("on");
$('.button-back').attr('onclick','getContent("account","","scrollLeft")');
}
if(page == 'lang:manage') {
$('.button-back').attr('onclick','getContent("index","","fade")');
$('.button-back').attr('onclick','getContent("index","","fade")');
toggleButtonBack("on");
setActionMenu("lang:manage");
$("#help-node").attr("onclick","getContent('help:lang:manage','lang:manage','scrollRight')");
}
if(page.includes("help:")) {
$('.button-back').attr('onclick','getContent("' + meta + '","","scrollLeft")');
}
}
});
}
if(page == 'action:login') {
$.post("getcontent.php",
{
page: page,
username: $('#login-email').val(),
password: $('#login-password').val(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'false') {
executeMessage('login:unknownUserdata');
}
if(data == 'loginfails') {
executeMessage('login:loginfails');
}
if(data == 'true') {
if(animation == 'growEllipse') {
$('div.grow-ellipse').css({"top": "0px", "bottom": "0px", "right": "60px", "left": "0px", "border-radius": "0"});
setTimeout(function () {
$.post("getcontent.php",
{
page: "index",
},
function(data, status){
if(status == "success") {
$(".content").html(data);
$('div.grow-ellipse').css('opacity','0');
setTimeout(function () {
$('div.grow-ellipse').css('transition-duration','0s');
$('div.grow-ellipse').css('display','none');
setTimeout(function () {
$('div.grow-ellipse').removeAttr('style');
}, 800);
}, 800);
}
});
}, 800);
}
}
}, 100);
}
});
}
if(page == 'action:register') {
$.post("getcontent.php",
{
page: page,
email: $('#register-email').val(),
username: $('#register-username').val(),
password: $('#register-password').val(),
password_repeat: $('#register-password-repeat').val(),
captcha: grecaptcha.getResponse(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'usernameRegistered' ||data == 'noCaptcha' ||data == 'emailRegistered' || data == 'noAgreement' || data == 'incompleteUserdata' ) {
executeMessage('register:'+ data);
}
else {
if(data == 'true') {
executeMessage('register:success');
setTimeout(function () {
$.post("getcontent.php",
{
page: "register:code",
},
function(data, status){
if(status == "success") {
$(".content").html(data);
}
});
}, 800);
}
else {
executeMessage('incompleteUserdata');
}
}
}, 100);
}
});
}
if(page == 'action:registerCode') {
$.post("getcontent.php",
{
page: page,
code: $('#register-code').val(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'wrongCode' ||data == 'codeFailsLimit' || data == 'usernameRegistered' ||data == 'emailRegistered' || data == 'noAgreement' || data == 'incompleteUserdata') {
executeMessage('register:'+ data);
}
else {
if(data == 'true') {
executeMessage('register:codeSuccess');
setTimeout(function () {
$.post("getcontent.php",
{
page: "intro:p1",
},
function(data, status){
if(status == "success") {
$(".content").html(data);
}
});
}, 800);
}
else {
executeMessage('incompleteUserdata');
}
}
}, 100);
}
});
}
if(page == 'action:intro:p1') {
$.post("getcontent.php",
{
page: page,
meta: $('#register-nickname').val(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'true') {
getContent("intro:p2","","scrollRight");
}
else {
if(data == 'nicknameEmpty') {
executeMessage('register:noNickname');
}
else {
executeMessage('generalError');
}
}
}, 100);
}
});
}
if(page == 'action:langAdd') {
$.post("getcontent.php",
{
page: page,
language: $('#select-lang').val(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'true') {
getContent("index","","scrollLeft");
}
else {
executeMessage('generalError');
getContent("index","","fade");
}
}, 100);
}
});
}
if(page == 'action:vocEditSave') {
$.post("getcontent.php",
{
page: page,
voc: meta,
vocedit_1: $( "#vocedit-1-" + meta ).val(),
vocedit_2: $( "#vocedit-2-" + meta ).val(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'true') {
executeMessage('action:voc:edit:saveSuccess');
}
else {
executeMessage('generalError');
}
}, 100);
}
});
}
if(page == 'lang') {
$.post("getcontent.php",
{
page: page,
lang: meta,
},
function(data, status){
if(status == "success") {
$(".content").html(data);
setTimeout(function () {
$('.content').css('transition-duration','.1s');
$('.content').css('opacity','1');
$('.content').css('transform','translate(0,0)');
}, 200);
}
});
$('.button-back').attr('onclick','getContent("index","","scrollLeft")');
toggleButtonBack("on");
setActionMenu(page);
}
if(page == 'list') {
$.post("getcontent.php",
{
page: page,
list: meta,
},
function(data, status){
if(status == "success") {
$(".content").html(data);
setTimeout(function () {
$('.content').css('transition-duration','.1s');
$('.content').css('opacity','1');
$('.content').css('transform','translate(0,0)');
}, 200);
}
});
$('.button-back').attr('onclick','getContent("lang","","scrollLeft")');
toggleButtonBack("on");
setActionMenu(page);
}
if(page == 'action:orderBy') {
$.post("getcontent.php",
{
page: page,
meta: meta,
},function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'true') {
callback();
}
else {
executeMessage('generalError');
}
}, 100);
}
});
}
if(page == 'action:vocCopySearch') {
$.post("getcontent.php",
{
page: page,
meta: $( "#search_query" ).val(),
},
function(data, status){
if(status == "success") {
$(".result_query").html(data);
}
});
}
if(page == 'action:vocCopy') {
$.post("getcontent.php",
{
page: page,
meta: meta,
},
function(data, status){
if(status == "success") {
response = data.split(',');
if(response[4] != 'true') {
executeMessage("generalError");
}
else {
executeMessage('',response[0] + " Vokabeln von <i>" + response[1] + "</i> nach <i>" + response[2] + "</i> kopiert!");
}
getContent("list",response[3],"scrollLeft");
}
});
}
if(page == 'action:vocMove') {
$.post("getcontent.php",
{
page: page,
meta: meta,
},
function(data, status){
if(status == "success") {
response = data.split(',');
if(response[4] != 'true') {
executeMessage("generalError");
}
else {
executeMessage('',response[0] + " Vokabeln von <i>" + response[1] + "</i> nach <i>" + response[2] + "</i> verschoben!");
}
getContent("list",response[3],"scrollLeft");
}
});
}
if(page == 'action:vocMoveSearch') {
$.post("getcontent.php",
{
page: page,
meta: $( "#search_query" ).val(),
},
function(data, status){
if(status == "success") {
$(".result_query").html(data);
}
});
}
if(page == 'action:vocDelete') {
$.post("getcontent.php",
{
page: page,
meta: meta,
},
function(data, status){
if(status == "success") {
response = data.split(',');
if(response[3] != 'true') {
executeMessage("generalError");
}
else {
executeMessage('',response[0] + " Vokabeln aus <i>" + response[1] + "</i> unwiderruflich gelöscht!");
}
getContent("list",response[2],"scrollLeft");
}
});
}
if(page == 'action:getSelectedItems') {
$.post("getcontent.php",
{
page: page,
meta: $('#voc-select-display').val(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'true') {
getContent("voc:" + meta,"","scrollRight");
}
else {
executeMessage('generalError');
}
}, 100);
}
});
}
if(page == 'action:listAdd') {
$.post("getcontent.php",
{
page: page,
listname: $('#list-add-name').val(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'true') {
getContent("lang","","scrollLeft");
executeMessage('listCreated');
}
else {
executeMessage('generalError');
}
}, 100);
}
});
}
if(page == 'action:listRename') {
$.post("getcontent.php",
{
page: page,
listname: $('#list-add-name').val(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'true') {
getContent("list","","scrollLeft");
executeMessage('listEdited');
}
else {
executeMessage('generalError');
}
}, 100);
}
});
}
if(page == 'action:listDelete') {
$.post("getcontent.php",
{
page: page,
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'true') {
getContent("lang","","scrollLeft");
executeMessage('listDeleted');
}
else {
executeMessage('generalError');
}
}, 100);
}
});
}
if(page == 'action:learn') {
$('.button-back').attr('onclick','if(confirm(\'Sicher, dass Sie das Lernen abbrechen möchten? Ihr Fortschritt wird dennoch gespeichert.\')) {getContent("learn","","scrollLeft")}');
if(meta == 'start') {
$.post("getcontent.php",
{
page: page,
meta: meta,
difficulty: $("input:radio[name ='difficulty']:checked").val(),
selection: $('#_2_3').prop('checked') + "," + $('#_2_2').prop('checked') + "," + $('#_2_1').prop('checked'),
},
function(data, status){
if(status == "success") {
if(data == 'noSelection') {
executeMessage('learn:noSelection');
}
if(data == '') {
executeMessage('generalError');
}
if(data == 'true') {
$.post("getcontent.php",
{
page: "action:learn-preset",
},
function(data, status){
if(status == "success") {
$(".content").html(data);
}
});
}
}
});
}
else {
$('#learn-form').attr("onsubmit","return false");
$('.learn-card-choicebox').css('display','none');
$.post("getcontent.php",
{
page: page,
meta : meta,
suggestion: $('#learn-suggestion').val()
},
function(data, status){
if(status == "success") {
response = data.split(',');
if(response[0] == 'true') {
$('.learn-feedback-ghost').attr("src","files/green-checkmark.svg");
}
if(response[0] == 'false') {
$('.learn-feedback-ghost').attr("src","files/red-x.svg");
}
$(".learn-feedback-ghost").addClass('animate');
setTimeout(function () {
$(".learn-feedback-ghost").removeClass('animate');
}, 2000);
$('#learn-correct-incorrect').html(response[2]);
$('.progress-bar div').css("width",response[6] + "%");
if(response[7] == '1') { // Difficulty 1 (Keine Abfrage)
if(response[0] == 'false') {
$('#learn-voc-correct').css('display','block');
}
setTimeout(function () {
$('#learn-form').css('display','block');
$('#learn-voc-question').html(response[3]);
$('#learn-voc-correct').html(response[5]);
$('#learn-progress').html(response[1]);
$('#learn-voc-correct').css('display','none');
}, 3000);
}
if(response[7] == '2') { // Difficulty 2
if(response[0] == 'false') {
$('#learn-voc-correct').css('display','block');
$('#learn-voc-correct').html(response[5]);
}
$('#learn-voc-correct').html(response[5]);
setTimeout(function () {
$('#learn-suggestion').val("");
$('#learn-progress').html(response[1]);
$('#learn-voc-question').html(response[3]);
$('#learn-form').attr("onsubmit","return getContent('action:learn')");
$('#learn-voc-correct').css('display','none');
}, 3000);
}
if(response[7] == '3') { // Difficulty 3 (Schwer)
$('#learn-voc-correct').css('display','block');
$('#learn-voc-correct').html(response[5]);
setTimeout(function () {
$('#learn-suggestion').val("");
$('#learn-progress').html(response[1]);
$('#learn-voc-question').html(response[3]);
$('#learn-form').attr("onsubmit","return getContent('action:learn')");
$('#learn-voc-correct').html(response[5]);
$('#learn-voc-correct').css('display','none');
}, 3000);
}
if(response[4] == 'false') { // Wenn noch eine Frage folgt
}
else { // Wenn dies die letzte Frage ist
$.post("getcontent.php",
{
page: "learn-summary",
},
function(data, status){
if(status == "success") {
toggleButtonBack("off");
setTimeout(function () {
$(".content").html(data);
}, 3000);
}
});
}
if(data == '') {
executeMessage('generalError');
}
}
});
}
}
if(page == 'action:train') {
if(meta == 'start') {
$.post("getcontent.php",
{
page: page,
meta: meta,
},
function(data, status){
if(status == "success") {
if(data == 'noSelection') {
executeMessage('learn:noSelection');
}
if(data == '') {
executeMessage('generalError');
}
if(data == 'true') {
$.post("getcontent.php",
{
page: "action:learn-preset",
},
function(data, status){
if(status == "success") {
$(".content").html(data);
}
});
}
}
});
}
}
if(page == 'action:verify-identity') {
$.post("getcontent.php",
{
page: page,
code: $('#verify-code').val(),
password: $('#verify-password').val(),
},
function(data, status){
if(status == "success") {
if(data == 'wrongCode' ||data == 'wrongPassword'||data == 'codeFailsLimit' ) {
executeMessage('verify:'+ data);
}
else {
executeMessage('verifySuccess');
$.post("getcontent.php",
{
page: data,
},
function(data, status){
if(status == "success") {
$(".content").html(data);
}
});
}
}
});
}
if(page == 'action:change-email') {
$.post("getcontent.php",
{
page: page,
email: $('#change-email').val(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'emailRegistered' || data == 'incompleteUserdata' ) {
executeMessage('register:'+ data);
}
else {
if(data == 'true') {
$.post("getcontent.php",
{
page: "change-email-verify",
},
function(data, status){
if(status == "success") {
$(".content").html(data);
}
});
}
else {
executeMessage('incompleteUserdata');
}
}
}, 100);
}
});
}
if(page == 'action:change-email-verify') {
$.post("getcontent.php",
{
page: page,
code: $('#change-email-code').val(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'emailRegistered' || data == 'incompleteUserdata' ) {
executeMessage('register:'+ data);
}
else {
if(data == 'true') {
getContent("account");
executeMessage('email:changeSuccess');
}
else {
executeMessage('incompleteUserdata');
}
}
}, 100);
}
});
}
if(page == 'action:change-password') {
$.post("getcontent.php",
{
page: page,
password: $('#change-password').val(),
password_repeat: $('#change-password-repeat').val(),
},
function(data, status){
if(status == "success") {
if(data == 'noAgreement') {
executeMessage('register:'+ data);
}
else {
setTimeout(function () {
if(data == 'true') {
getContent("account");
executeMessage('password:changeSuccess');
}
else {
executeMessage('incompleteUserdata');
}
}, 100);
}
}
});
}
if(page == 'action:delete-account') {
$.post("getcontent.php",
{
page: page,
},
function(data, status){
if(status == "success") {
if(data == 'true') {
getContent("index");
executeMessage('account:deleteSuccess');
}
else {
executeMessage('incompleteUserdata');
}
}
});
}
if(page == 'action:forgot-password-email') {
$.post("getcontent.php",
{
page: page,
email: $('#forgot-password-email').val(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'emailUnknown') {
executeMessage('emailUnknown');
}
else {
if(data == 'true') {
$.post("getcontent.php",
{
page: "forgot-password-email-verify",
},
function(data, status){
if(status == "success") {
$(".content").html(data);
}
});
}
else {
executeMessage('incompleteUserdata');
}
}
}, 100);
}
});
}
if(page == 'action:forgot-password-email-verify') {
$.post("getcontent.php",
{
page: page,
code: $('#forgot-password-code').val(),
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'codeFailsLimit') {
executeMessage('register:codeFailsLimit');
}
else {
if(data == 'true') {
$.post("getcontent.php",
{
page: "forgot-password-newpassword",
},
function(data, status){
if(status == "success") {
$(".content").html(data);
}
});
}
else {
executeMessage('generalError');
}
}
}, 100);
}
});
}
if(page == 'action:forgot-password-change-password') {
$.post("getcontent.php",
{
page: page,
password: $('#change-password').val(),
password_repeat: $('#change-password-repeat').val(),
},
function(data, status){
if(status == "success") {
if(data == 'noAgreement') {
executeMessage('register:'+ data);
}
else {
setTimeout(function () {
if(data == 'true') {
getContent("index");
executeMessage('password:changeSuccess');
}
else {
executeMessage('incompleteUserdata');
}
}, 100);
}
}
});
}
if(page == 'action:logout') {
$.post("getcontent.php",
{
page: page,
},
function(data, status){
if(status == "success") {
if(data == 'true') {
getContent("index");
executeMessage('logout:success');
}
else {
executeMessage('generalError');
}
}
});
}
if(page == 'onload') {
$.post("getcontent.php",
{
page: page,
},
function(data, status){
if(status == "success") {
getContent(data);
}
});
}
if(page == 'help:lang:manage') {
}
return false; // Alle Formulare am Absenden hindern
}
function checkIfFilled(input) {
if($('#' + input).val() == '') {
$('#' + input).removeClass("filled");
}
else {
$('#' + input).addClass("filled");
}
}
function executeMessage(name, text) {
$('.message-banner').css('animation','none');
$('.message-banner .time-beam').css('animation','none');
setTimeout(function () {
$('.message-banner').css('animation','show-message 7s forwards');
if(name == 'login:unknownUserdata') {
$(".message-banner span").html("Sorry, diese Nutzerdaten sind unbekannt. Verschen Sie es bitte erneut oder setzen Sie Ihr Passwort zurück.");
}
if(name == 'login:loginfails') {
$(".message-banner span").html("Sie haben fünf Mal versucht sich anzumelden. Anzal ungültiger Login-Versuche überschritten - bitte setzen Sie Ihr Passwort zurück. Ihr Konto wird solange gesperrt.");
}
if(name == 'action:voc:add:save') {
$(".message-banner span").html("Wird gespeichert...");
}
if(name == 'action:voc:add:saveSuccess') {
$(".message-banner span").html("Alle &Auml;nderungen gespeichert!");
}
if(name == 'action:voc:edit:saveSuccess') {
$(".message-banner span").html("&Auml;nderungen gespeichert!");
}
if(name == 'generalError') {
$(".message-banner span").html("Fehler bei der Daten&uuml;bertragung. Die Aktion wurde abgebrochen.");
}
if(name == 'listCreated') {
$(".message-banner span").html("Die Liste wurde erstellt");
}
if(name == 'listEdited') {
$(".message-banner span").html("Änderungen gespeichert");
}
if(name == 'register:incompleteUserdata') {
$(".message-banner span").html("Es wurden nicht alle Felder korrekt ausgef&uuml;llt");
}
if(name == 'register:noCaptcha') {
$(".message-banner span").html("Bitte bestätigen Sie, dass Sie kein Roboter sind");
}
if(name == 'register:noAgreement') {
$(".message-banner span").html("Die Passw&ouml;rter stimmen nicht &uuml;berein");
}
if(name == 'register:emailRegistered') {
$(".message-banner span").html("Diese E-Mail-Adresse wird bereits von einem anderen Konto verwendet");
}
if(name == 'register:usernameRegistered') {
$(".message-banner span").html("Dieser Benutzername wird bereits von einem anderen Konto verwendet");
}
if(name == 'register:success') {
$(".message-banner span").html("Die Aktion war erfolgreich!");
}
if(name == 'register:wrongCode') {
$(".message-banner span").html("Der Authentifizierungscode ist nicht korrekt.");
}
if(name == 'register:codeFailsLimit') {
$(".message-banner span").html("Limit falsch eingegbender Versuche erreicht. Es wurde eine neue E-Mail gesendet.");
}
if(name == 'register:codeSuccess') {
$(".message-banner span").html("Ihr Konto wurde aktiviert! Willkommen!");
}
if(name == 'register:noNickname') {
$(".message-banner span").html("Bitte wählen Sie einen Spitznamen");
}
if(name == 'register:intro:success') {
$(".message-banner span").html("Kontoeinrichtung abgeschlossen");
}
if(name == 'action:appearance:changeSuccess') {
$(".message-banner span").html("Darstellung gespeichert!");
}
if(name == 'action:closeTooltipSuccess') {
$(".message-banner span").html("Tooltip wird in Zukunft nicht mehr angezeigt");
}
if(name == 'learn:noSelection') {
$(".message-banner span").html("Die aktuelle Auswahl beinhaltet keine Vokabeln");
}
if(name == 'verify:wrongPassword') {
$(".message-banner span").html("Bitte überprüfen Sie Ihr Passwort");
}
if(name == 'verify:wrongCode') {
$(".message-banner span").html("Bitte überprüfen Sie Ihren Code");
}
if(name == 'verifySuccess') {
$(".message-banner span").html("Aktion genehmigt");
}
if(name == 'verify:codeFailsLimit') {
$(".message-banner span").html("Limit falsch eingegbender Versuche erreicht. Es wurde eine neue E-Mail gesendet.");
}
if(name == 'emailUnknown') {
$(".message-banner span").html("Mit dieser E-Mail-Adresse ist kein Konto registriert.");
}
if(name == 'email:changeSuccess') {
$(".message-banner span").html("E-Mail geändert!");
}
if(name == 'password:changeSuccess') {
$(".message-banner span").html("Passwort wurde aktualisiert");
}
if(name == 'account:deleteSuccess') {
$(".message-banner span").html("Ihr Konto wurde mit allen Inhalten gelöscht. Auf Wiedersehen!");
}
if(name == 'logout:success') {
$(".message-banner span").html("Sie wurden aus Ihrem Konto abgemeldet");
}
if(name == 'listDeleted') {
$(".message-banner span").html("Liste wurde unwiderruflich gelöscht");
}
if(text != '') {
$(".message-banner span").html(text);
}
$('.message-banner').css('animation-play-state','running');
$('.message-banner .time-beam').css('animation','expire 6.6s forwards linear');
$('.message-banner .time-beam').css('animation-play-state','running');
}, 10);
}
function openActionMenu(page) {
if(page != 'index') {
$("div.action-menu-wrapper div.action-menu-content div").css("transform", "translateX(0)");
$("div.action-menu-wrapper button").attr("onclick", "closeActionMenu('" + page + "')");
$("div.action-menu-wrapper button").css("transform", "rotate(360deg)");
$("div.action-menu-wrapper div.action-menu-content").css("pointer-events", "all");
setTimeout(function () {
$("div.action-menu-wrapper div.action-menu-content div").css("opacity", "1");
}, 100);
setTimeout(function () {
$("div.action-menu-wrapper button").html('<i class="fas fa-times"></i>');
}, 200);
}
if(page == 'voc:select') {
$("div.action-menu-wrapper button").html('<i class="fas fa-ellipsis-v"></i>');
}
if(page == 'list') {
$("div.action-menu-wrapper button").html('<i class="fas fa-pen"></i>');
}
}
function closeActionMenu(page) {
if(page != '') {
$("div.action-menu-wrapper button").attr("onclick", "openActionMenu('" + page + "')");
setActionMenu(page);
}
$("div.action-menu-wrapper div.action-menu-content div").css("transform", "translateX(calc(100% + 100px))");
$("div.action-menu-wrapper button").css("transform", "rotate(0)");
$("div.action-menu-wrapper div.action-menu-content div").css("opacity", "0");
$("div.action-menu-wrapper div.action-menu-content").css("pointer-events", "none");
}
function setActionMenu(page) {
if(page == 'index') {
$("div.action-menu-wrapper button").attr("onclick", "getContent(\'lang:manage\',\'\',\'fade\')");
$("div.action-menu-wrapper button").html('<i class="fas fa-plus"></i>');
$(".action-menu-toggle").css({'pointer-events' : 'all', 'opacity' : '1'});
$(".action-menu-content").html('<div onclick="getContent(\'lang:manage\',\'\',\'fade\')">Neue Sprache</div>');
}
if(page == 'lang') {
$("div.action-menu-wrapper button").attr("onclick", "getContent(\'list:add\',\'\',\'fade\')");
$("div.action-menu-wrapper button").html('<i class="fas fa-plus"></i>');
$(".action-menu-toggle").css({'pointer-events' : 'all', 'opacity' : '1'});
}
if(page == 'list') {
$("div.action-menu-wrapper button").attr("onclick", "openActionMenu('list')");
$("div.action-menu-wrapper button").html('<i class="fas fa-pen"></i>');
$(".action-menu-toggle").css({'pointer-events' : 'all', 'opacity' : '1'});
$(".action-menu-content").html('<div onclick="getContent(\'voc:add\',\'\',\'scrollRight\')">Vokabeln bearbeiten oder hinzufügen</div><div onclick="getContent(\'voc:select\',\'\',\'scrollRight\')">Elemente auswählen</div><div onclick="getContent(\'list:rename\',\'\',\'scrollRight\')">Umbenennen</div><div onclick="window.print();">Liste drucken</div><div onclick="getContent(\'list:download\',\'\',\'scrollRight\')">Liste herunterladen</div><div onclick="getContent(\'list:delete\',\'\',\'scrollRight\')">Liste löschen</div>');
}
if(page == 'voc:select') {
$("div.action-menu-wrapper button").attr("onclick", "openActionMenu('voc:select')");
$("div.action-menu-wrapper button").html('<i class="fas fa-ellipsis-v"></i>');
$(".action-menu-toggle").css({'pointer-events' : 'all', 'opacity' : '1'});
$(".action-menu-content").html('<div onclick="getContent(\'action:getSelectedItems\',\'move\',\'fade\')">Verschieben nach</div><div onclick="getContent(\'action:getSelectedItems\',\'copy\',\'fade\')">Kopieren nach</div><div onclick="getContent(\'action:getSelectedItems\',\'delete\',\'fade\')">Löschen</div>');
}
if(page == 'lang:manage' ||page == 'login' ||page == 'login' || page == 'settings' || page == 'account' || page == 'list:add'|| page == 'list:rename'|| page == 'voc:add' || page == 'learn') {
$(".action-menu-toggle").css({'pointer-events' : 'none', 'opacity' : '0'});
}
}
function openTooltip(page) {
$.post("getcontent.php",
{
page: "action:checkForTooltip",
meta: page,
},
function(data, status){
if(status == "success") {
if(data == 'true') {
if(page == 'voc:add') {
$('.tooltip').css({"opacity":".9","pointer-events":"all"});
$('.tooltip').html("<i class='fas fa-times-circle' onclick='closeTooltip(\"" + page + "\")'></i>Sie befinden sich dich nun im Bearbeitungsmodus Ihrer Vokabelliste.<br>Klicken Sie in der ersten Zeile auf das grau hinterlegte Feld um eine neue Vokabelreihe hinzuzf&uuml;gen. Wenn Sie Enter drücken, gelangen Sie in die n&auml;chste Spalte, bzw. Zeile.<br><br>Au&szlig;erdem sind jetzt alle Vokabeln anklickbar und lassen sich bearbeiten. Zum Speichern bitte jeweils Enter drücken.");
return;
}
if(page == 'voc:select') {
$('.tooltip').css({"opacity":".9","pointer-events":"all"});
$('.tooltip').html("<i class='fas fa-times-circle' onclick='closeTooltip(\"" + page + "\")'></i>Sie fefinden sich nun im Auswahlmodus. Klicken Sie die runden Felder in der Mitte an, um Aktionen für einzelne Vokabeln durchzuführen.<br>Mit dem Button unten rechts können Sie die gewählten Vokabeln alle auf einmal bearbeiten.");
return;
}
if(page == 'index') {
$('.tooltip').css({"opacity":".9","pointer-events":"all"});
$('.tooltip').html("<i class='fas fa-times-circle' onclick='closeTooltip(\"" + page + "\")'></i>Willkommen in Ihrem VokSpace!<br>Klicken Sie auf den Button unten rechts und fügen Sie Ihre erste Sprache hinzu.");
return;
}
if(page == 'lang') {
$('.tooltip').css({"opacity":".9","pointer-events":"all"});
$('.tooltip').html("<i class='fas fa-times-circle' onclick='closeTooltip(\"" + page + "\")'></i>Sie befinden sich nun in einem Sprachordner. Klicken Sie auf den Button unten rechts, um Ihre erste Vokabelliste hinzuzufügen.");
return;
}
$('.tooltip').css({"opacity":"0","pointer-events":"none"});
}
else {
return;
}
}
});
}
function closeTooltip(page) {
$.post("getcontent.php",
{
page: "action:closeTooltip",
meta: page,
},
function(data, status){
if(status == "success") {
setTimeout(function () {
if(data == 'true') {
executeMessage('action:closeTooltipSuccess');
$('.tooltip').css({"opacity":"0","pointer-events":"none"});
}
}, 100);
}
});
}
function changeAppearance(meta) {
appearance = $("#change-appearance").val();
if(appearance === undefined) {
appearance = meta;
}
if(appearance == '1') {
$("#darkmode-stylesheet").attr("href","files/light.css");
}
if(appearance == '2') {
$("#darkmode-stylesheet").attr("href","");
}
if(appearance == '3') {
$("#darkmode-stylesheet").attr("href","files/dark.css");
}
$.post("getcontent.php",
{
page: "action:appearance:change",
meta: appearance,
},
function(data, status){
if(status == "success") {
if(data == 'true') {
if(meta === undefined) {
executeMessage('action:appearance:changeSuccess');
}
}
}
else {
alert("Fehler bei der Kommunikation zum Server!");
}
});
delete meta;
}
function vokInput(column) {
if($( "#vok-input" ).val() != '') {
if(column == 'left') {
$( "#vok-input" ).attr( "placeholder","Deutsch" );
$( "div.input>form").attr( "onsubmit","vokInput('right'); return false;" );
$( "#vok-input" ).css( "margin-right","0" );
$( "#vok-input" ).css( "margin-left","calc(50% + 9px)" );
$( "div.input>div:first-of-type" ).html( $( "#vok-input" ).val() );
$( "div.input>div:first-of-type" ).css( "color","inherit" );
vokinputtmpleft = $( "#vok-input" ).val();
}
if(column == 'right') {
vokinputtmpright = $( "#vok-input" ).val();
$( "#vok-input" ).attr( "placeholder","Englisch" );
$( "div.input>div:first-of-type,div.input>div:last-of-type" ).html( "undefined" );
$( "div.input>div:first-of-type" ).css( "color","rgba(0,0,0,0)" );
$( "div.input>form").attr( "onsubmit","vokInput('left'); return false;" );
$( "#vok-input" ).css( "margin-right","calc(50% + 9px)" );
$( "#vok-input" ).css( "margin-left","0" );
$( "div.voklist div.dummy>div" ).eq(0).html( vokinputtmpleft );
$( "div.voklist div.dummy>div" ).eq(1).html( vokinputtmpright );
$.post("getcontent.php",
{
page: "action:voc:add",
vokinputtmpleft: vokinputtmpleft,
vokinputtmpright: vokinputtmpright,
},
function(data, status){
if(status == "success") {
if(data == 'true') {
executeMessage('action:voc:add:saveSuccess');
}
else {
executeMessage('generalError');
}
}
else {
alert("Fehler bei der Kommunikation zum Server!");
}
});
$( "div.voklist div.dummy" ).css({ "height":"auto","margin-bottom":"6px","opacity":"1" });
$( "div.voklist div.dummy>div" ).css({ "padding":"10px", "height":"auto","margin-bottom":"6px" });
setTimeout(function () {
$('div.voklist div.dummy>div,div.voklist div.dummy').css('transition-duration','0s');
$( "div.voklist div.dummy" ).css({ "height":"0","margin-bottom":"0","opacity":"0" });
$( "div.voklist div.dummy>div" ).css({ "padding":"0", "height":"0","margin-bottom":"0"});
setTimeout(function () {
$('div.voklist div.dummy>div,div.voklist div.dummy').css('transition-duration','.7s');
}, 10);
$( "div.template" ).first().clone().insertAfter( "div.dummy" );
$( "div.voklist div.template>div" ).eq(0).html( vokinputtmpleft );
$( "div.voklist div.template>div" ).eq(1).html( vokinputtmpright );
$( "div.template" ).eq(0).css("display", "inline-block");
}, 1000);
}
}
$( "#vok-input" ).val( "" );
return false;
}
function vocSelect(that, id) {
$(that).find(".progress-indicator").css({'background-color':'#212529'});
$(that).attr('onclick','vocUnselect(this,\'' + id + '\')');
$('#voc-select-display').val($('#voc-select-display').val() + "-" + id);
$('.fixed-title h2 b').html(parseInt($('.fixed-title h2 b').html()) + 1);
}
function vocUnselect(that, id) {
$(that).find(".progress-indicator").css({'background-color':'#2A2E32'});
$(that).attr('onclick','vocSelect(this,\'' + id + '\')');
$('#voc-select-display').val($('#voc-select-display').val().replace("-" + id, ""));
$('.fixed-title h2 b').html(parseInt($('.fixed-title h2 b').html()) - 1);
}
function showHint() {
$('#learn-voc-correct').css('display','block');
$('.learn-card-choicebox').css('display','block');
$('#learn-form').css('display','none');
}