$(document).ready(function() { $("#hilfestellung_modal").on('shown.bs.modal', function() { $('#hilfestellung_modal').trigger('focus'); }); $("#menu > *").each(function() { let target_section = $($(this).attr("data-target")); let title = target_section.find("> h2").text(); $(this).attr("title", title); }); menuitem_click(document.getElementById("menuitem_formular"), false); }); function menuitem_click(sender, animation) { let all_menuitems = $("#menu > *"); let all_sections = $("main > div > section"); all_sections.hide(); let this_menuitem = $(sender); let target_section = $($(this_menuitem.attr("data-target"))); target_section.show(animation ? 200 : 0); all_menuitems.prop("disabled", false); this_menuitem.prop("disabled", true); } function isScrolledIntoView(elem) { var docViewTop = $(window).scrollTop(); var docViewBottom = docViewTop + $(window).height(); var elemTop = $(elem).offset().top; var elemBottom = elemTop + $(elem).height(); return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop)); } function reset_inputs(wirksam, schwer, schaden) { set_input('wirksam', wirksam); set_input('schwer', schwer); set_input('schaden', schaden); berechne(); } function set_input(id, value) { let element = $("#" + id); element.val(value); element.css("background-color", "#C0C0FF"); setTimeout(function() { element.css("background-color", ""); }, 1500); } function berechne() { $("#formular").submit(); /* setTimeout(function() { $("#formular").submit(); }, 500); */ } function formular_onsubmit(e) { e.preventDefault(); let form = e.target; let schaden = $(form).find(":input[name='schaden']").val(); let schwer = $(form).find(":input[name='schwer']").val(); let wirksam = $(form).find(":input[name='wirksam']").val(); $.get("./calculate.php?schaden=" + schaden + "&schwer=" + schwer + "&wirksam=" + wirksam, function(data, stat) { let fehlertext = ""; let div_fehlermeldung = $("#fehlermeldung"); let div_ergebnis = $("#ergebnis"); let div_rechenweg = $("#rechenweg"); let anchor_rechenweg = div_rechenweg.find("> a"); div_fehlermeldung.text(data.message); let div_info; if (data.success) { let ergebnis_class = ""; let ergebnis_text = ""; if (data.egal) { ergebnis_text = "Der errechnete Nutzen ist für beide Entscheidungen identisch. Es ist also vollkommen gleichgültig, was du machst."; ergebnis_class = "alert-info"; } else if (data.impfung_empfohlen) { ergebnis_text = "Unter den gegebenen Annahmen ist die Impfung empfehlenswert."; ergebnis_class = "alert-success"; } else { ergebnis_text = "Unter den gegebenen Annahmen ist die Impfung nicht empfehlenswert."; ergebnis_class = "alert-danger"; } div_ergebnis.text(ergebnis_text); div_ergebnis.removeClass("alert-info"); div_ergebnis.removeClass("alert-success"); div_ergebnis.removeClass("alert-danger"); div_ergebnis.addClass(ergebnis_class); anchor_rechenweg.attr("href", "./solution.php?schaden=" + schaden + "&schwer=" + schwer + "&wirksam=" + wirksam); div_ergebnis.prop("hidden", false); div_rechenweg.prop("hidden", false); div_fehlermeldung.prop("hidden", true); $("#geimpft_utility").text(data.geimpft_utility); $("#ungeimpft_utility").text(data.ungeimpft_utility); // nur für den Effekt div_ergebnis.hide(0); div_ergebnis.show(200); div_info = div_ergebnis; } else { div_ergebnis.prop("hidden", true); div_rechenweg.prop("hidden", true); div_fehlermeldung.prop("hidden", false); $("#geimpft_utility").text(""); $("#ungeimpft_utility").text(""); // nur für den Effekt div_fehlermeldung.hide(0); div_fehlermeldung.show(200); div_info = div_fehlermeldung; } $("html, body").animate({ scrollTop: $(document).height() }); /* if (!isScrolledIntoView(div_info)) { $([document.documentElement, document.body]).animate({ scrollTop: div_info.offset().top }, 500); //console.log("scrolled"); } */ }); } function toggle_section(sender) { $(sender).closest("h1, h2, h3, h4, h5, h6").parent().find("> [data-content]").toggle(200); }