|
- global.gfiWebforms = (function () {
- return {
- goTo: function () {
- $("#captchaimg").click(function () {
- initCaptcha();
- return false;
- });
- this.initDatepicker();
- this.initCaptcha();
-
- // FeedbackForm
- var relatedContentId = $("#feedbackRelatedId").data("related-id");
- if (relatedContentId !== undefined) {
- $('input[name="relatedDocumentId"]').val(relatedContentId);
- }
-
-
- // this.removeMyWebformsDetailText();
-
- var keepAliveUrl = $(".mwf-form").data("keepalive-url");
- if (keepAliveUrl !== undefined) {
- setInterval(function () {
- $.ajax({url: keepAliveUrl})
- }, 120000); // 2 Minuten
- }
- var errorMessageDiv = $('.mwf-error');
- if (errorMessageDiv.length > 0) {
- $('html, body').animate({scrollTop: $('.mwf-error').first().offset().top - 200}, 1000);
- errorMessageDiv.parent().find("input").addClass("mwf-error-input");
- }
-
- $("input.mwf-error-input").change(function () {
- var currentElement = $(this);
- currentElement.removeClass("mwf-error-input");
- if (currentElement.hasClass("mwf-checkbox") || currentElement.hasClass("mwf-radio")) {
- currentElement.parents("fieldset").find("input").removeClass("mwf-error-input");
- }
- });
-
- $("a[title='externer Link']").addClass("extern");
- },
-
- initCaptcha: function () {
- var self = gfiWebforms;
- self.refreshCaptcha("-barrier-free");
- self.refreshCaptcha("");
-
- $("#refresh-captcha").click(function () {
- self.refreshCaptcha("");
- return false;
- });
-
- $("#refresh-captcha-barrier-free").click(function () {
- self.refreshCaptcha("-barrier-free");
- return false;
- });
-
- $('#tabs > ul a').on('click', function (e) {
- e.preventDefault();
- const a = $(this);
- a.parent('li').addClass('active').siblings().removeClass('active');
- $(a.attr('href')).addClass('active').siblings('.active').removeClass('active');
- if (a.text() === "Zeichencode") {
- $('#captchaSolution').prop('title', 'Beliebiger Text');
- $('#captchaSolution').prop('pattern', '.*');
- $('#captchaId').val($('#captchaId-img').val());
- } else if (a.text() === "Rechenaufgabe") {
- $('#captchaSolution').prop('title', 'Bitte nur Ziffern eingeben');
- $('#captchaSolution').prop('pattern', '[0-9][0-9]*');
- $('#captchaId').val($('#captchaId-calc').val());
- }
- }).first().trigger('click');
-
-
- /**
- * IHK-4797: Captcha-Probleme - falls der Inhalt von captchaId und captchaId-img (bzw. captchaId-calc)
- * aus irgendwelchen Gruenden nicht uebereinstimmen sollte, wird captchaId korrigiert.
- * (Das geschieht z.B wenn man den Back-Button drueckt)
- */
- $('#rw-security').submit(function () {
- let valmain = $("#captchaId").val();
- const valimg = $("#captchaId-img").val();
- const visimg = $("#tabs-1");
- const valcalc = $("#captchaId-calc").val();
- const viscalc = $("#tabs-2");
-
- if ((visimg.css("visibility") !== "hidden") && (valimg !== valmain)) {
- $("#captchaId").val(valimg);
- } else if ((viscalc.css("visibility") !== "hidden") && (valcalc !== valmain)) {
- $("#captchaId").val(valcalc);
- }
- return true;
- });
-
- /*
- $("#tabs").tabs();
- $(".ui-tabs-anchor").click(function () {
- var hiddenCaptchaId = $("#captchaId");
- var captchaId = "";
- if ($(this).text() === "Zeichencode") {
- captchaId = $("#captchaId-img").attr("value");
- $('#captchaSolution').prop('title', 'Beliebiger Text');
- $('#captchaSolution').prop('pattern', '.*');
- } else {
- captchaId = $("#captchaId-calc").attr("value");
- $('#captchaSolution').prop('title', 'Bitte nur Ziffern eingeben');
- $('#captchaSolution').prop('pattern', '[0-9][0-9]*');
- }
- hiddenCaptchaId.attr('value', captchaId);
- });
- */
- },
-
- refreshCaptcha: function (barrierFree) {
- var self = gfiWebforms;
- var hiddenCaptchaId = $("#captchaId");
- var captchaIdField = $("#captchaId-img");
- var jsonCaptchaSrc = hiddenCaptchaId.data("captcha-url");
-
- if (jsonCaptchaSrc !== undefined) {
- if (barrierFree == "-barrier-free") {
- captchaIdField = $("#captchaId-calc");
- jsonCaptchaSrc += "&barrierFree=true";
- }
-
- $.ajax(
- {
- url: jsonCaptchaSrc,
- type: 'get',
- dataType: "json",
- xhrFields: {withCredentials: true}
- }
- ).done(function (data) {
- hiddenCaptchaId.attr('value', data.id);
- captchaIdField.attr('value', data.id);
- self.showCaptcha(data, barrierFree);
- });
- // $.getJSON(jsonCaptchaSrc, function(data) {
- // hiddenCaptchaId.attr('value', data.id);
- // captchaIdField.attr('value', data.id);
- // self.showCaptcha(data, barrierFree);
- // });
- }
- },
-
- showCaptcha: function (data, barrierFree) {
- if (barrierFree === "") {
- $("#captcha-code").attr('src', 'data:image/jpg;base64,' + data.challenge).attr('alt', 'Geben sie die im Bild dargestellte Zeichenfolge in das ein');
- } else {
- $("#captcha-code-barrier-free").html(data.challenge);//.attr('alt', 'Lösen Sie die im Bild gestellte Rechenaufgabe und geben Sie die Lösung in Zahlen ein');
- }
- },
-
-
- removeMyWebformsDetailText: function () {
-
- var detailText = $("#webformsDetailText");
- if (detailText === null) {
- return;
- }
-
- $("#webformsDetailText").show();
-
- var pageCounter = $("#webformsPageCounter");
- if (pageCounter === null) {
- return;
- }
-
- var currentPage = pageCounter.data("page-number");
- if (currentPage !== undefined && currentPage < 2) {
- return;
- }
-
- $("#webformsDetailText").hide();
- $(".anchorlinks").hide();
- $(".text.initial").hide();
- $(window).scrollTop(0);
- },
-
- initDatepicker: function () {
- [].forEach.call(document.querySelectorAll('[data-format-datepicker]'), function (datepickerElement) {
- var self = gfiWebforms;
- var dateOptions = datepickerElement.dataset.formatDatepicker;
- var minDateVal = datepickerElement.dataset.mindateDatepicker;
- var maxDateVal = datepickerElement.dataset.maxdateDatepicker;
-
- if (dateOptions === "keine Auswahl") {
- self.validDateValues(datepickerElement, 'dd.mm.yy', minDateVal, maxDateVal);
- }
- if (dateOptions === "dd.MM.yyyy") {
- self.validDateValues(datepickerElement, 'dd.mm.yy', minDateVal, maxDateVal);
- }
- if (dateOptions === "yyyy-MM-dd") {
- self.validDateValues(datepickerElement, 'yy-mm-dd', minDateVal, maxDateVal);
- }
- if (dateOptions === "MM/dd/yy") {
- self.validDateValues(datepickerElement, 'mm/dd/y', minDateVal, maxDateVal);
- }
- });
- },
-
- validDateValues: function (datepickerElementVal, dateFormatVal, minDateVal, maxDateVal) {
- if ((minDateVal === undefined) && (maxDateVal === undefined)) {
- $(datepickerElementVal).datepicker({dateFormat: dateFormatVal, changeYear: true, changeMonth: true});
- }
-
- if ((minDateVal !== undefined) && (maxDateVal === undefined)) {
- $(datepickerElementVal).datepicker({
- dateFormat: dateFormatVal,
- minDate: new Date(minDateVal),
- changeYear: true,
- changeMonth: true
- });
- }
-
- if ((minDateVal === undefined) && (maxDateVal !== undefined)) {
- $(datepickerElementVal).datepicker({
- dateFormat: dateFormatVal,
- maxDate: new Date(maxDateVal),
- changeYear: true,
- changeMonth: true
- });
- }
-
- if ((minDateVal !== undefined) && (maxDateVal !== undefined)) {
- $(datepickerElementVal).datepicker({
- dateFormat: dateFormatVal,
- minDate: new Date(minDateVal),
- maxDate: new Date(maxDateVal),
- changeYear: true,
- changeMonth: true
- });
- }
- }
-
- }
- })();
|