1try 2{function mapInvalidateSize(map) { 3try { 4var oldSize = map._size 5var invalidateSize = map.invalidateSize(false); 6var newSize = map._size 7if (oldSize.distanceTo(newSize) > 0) { 8map.eachLayer(function (layer) { 9if (layer.isPopupOpen()) { 10layer.closePopup() 11layer.openPopup() 12} 13}); 14} 15} catch (e) {} 16} 17} catch (e) {console.log(e.message)} 18try 19{if (typeof jQuery == "function") { 20jQuery.extend(jQuery.expr[':'], { 21'containsi': function (elem, i, match, array) { 22return (elem.textContent || elem.innerText || '').toLowerCase() 23.indexOf((match[3] || "").toLowerCase()) >= 0; 24} 25}); 26jQuery.fn.reverse = function () { 27return this.pushStack(this.get().reverse(), arguments); 28}; 29} 30function dropdownlinklist(elem, id) { 31var optionElem = elem.options[elem.options.selectedIndex]; 32var option; 33if (optionElem == null || optionElem.value == null || optionElem.value.length == 0) { 34return; 35} 36var targetElem = document.getElementById(id + "_listform").elements["target" + elem.options.selectedIndex]; 37var target = "_notarget"; 38if (targetElem != null) { 39target = targetElem.value; 40} 41if (target == "_top") { 42top.location.href = optionElem.value; 43} else if (target == "_self" || target == "same") { 44self.location.href = optionElem.value; 45} else if (target == "_blank" || target == "new") { 46window.open(optionElem.value, "window" + elem.options.selectedIndex); 47} else if (target == "_parent") { 48parent.location.href = optionElem.value; 49} else { // falls target=="_notarget" 50self.location.hash = optionElem.value; 51} 52} 53function cancelLogin(url) { 54window.top.location.href = url; 55} 56/** 57* Function hasClass 58* 59* Checks an given object "el" for class "className" 60* 61* Parameter: 62* el: valid html-element object 63* className: name of class to look for 64* 65* Example: 66* 67* var myobj = document.getElementById('myId'); 68* if (hasClass(myobj, 'myClass')) { 69* alert('has class myClass'); 70* } 71*/ 72function hasClass(el, className) { 73if (!(el && el.className)) { 74return; 75} 76var cls = el.className.split(" "); 77var ar = new Array(); 78for (var i = cls.length; i > 0;) { 79if (cls[--i] == className) { 80return true; 81} 82} 83return false; 84} 85/** 86* Function addClass 87* 88* Adds class "className" to an given object 89* 90* Parameter: 91* el: valid html-element object 92* className: name of class to add 93* 94* Example: 95* 96* var myobj = document.getElementById('myId'); 97* addClass(myobj, 'anotherClassToAdd')) { 98*/ 99function addClass(el, className) { 100if (!(el && el.className)) { 101return; 102} 103removeClass(el, className); 104el.className += " " + className; 105} 106/** 107* Function removeClass 108* 109* Removes class "className" from an given object 110* 111* Parameter: 112* el: valid html-element object 113* className: name of class to remove 114* 115* Example: 116* 117* var myobj = document.getElementById('myId'); 118* removeClass(myobj, 'classToRemove')) { 119*/ 120function removeClass(el, className) { 121if (!(el && el.className)) { 122return; 123} 124var cls = el.className.split(" "); 125var ar = new Array(); 126for (var i = cls.length; i > 0;) { 127if (cls[--i] != className) { 128ar[ar.length] = cls[i]; 129} 130} 131el.className = ar.join(" "); 132} 133function refreshByEditor(id, locale, userobject) { 134var url = document.location.href; 135if (userobject != null && userobject.length > 0) { 136if (url.indexOf("?") > 0) { 137url += "&"; 138} else { 139url += "?"; 140} 141url += "userobject=" + userobject; 142} 143document.location.href = url; 144} 145function captchaLoad(id, divid, elm) { 146if (elm.value == '') return; 147var img = document.getElementById(id); 148var div = document.getElementById(divid); 149if (img == null) { 150doAlert(id + " not found"); 151return; 152} 153if (div == null) { 154doAlert(divid + " not found"); 155return; 156} 157div.style.display = ''; 158} 159function captchaReload(id, txtfieldId) { 160var img = document.getElementById(id); 161if (img == null) { 162return; 163} 164var src = img.src; 165if (src.indexOf('?captchaReload=') > 0) { 166src = src.substring(0, src.indexOf('?captchaReload=')); 167} else if (src.indexOf('&captchaReload=') > 0) { 168src = src.substring(0, src.indexOf('&captchaReload=')); 169} 170if (src.indexOf('?') == -1) { 171src += '?'; 172} else { 173src += '&'; 174} 175src += 'captchaReload=' + (new Date()).getTime(); 176img.src = src; 177var elem = document.getElementById(txtfieldId); 178if (elem) elem.value = ''; 179} 180function displayTextCaptcha(id, txtfieldId, txtfieldName, src) { 181var outerElement = document.getElementById(id); 182if (outerElement == null) { 183return; 184} 185if (src.indexOf('?captchaReload=') > 0) { 186src = src.substring(0, src.indexOf('?captchaReload=')); 187} else if (src.indexOf('&captchaReload=') > 0) { 188src = src.substring(0, src.indexOf('&captchaReload=')); 189} 190if (src.indexOf('?') == -1) { 191src += '?'; 192} else { 193src += '&'; 194} 195src += 'captchaReload=' + (new Date()).getTime(); 196src += '&txtfieldId=' + txtfieldId; 197src += '&txtfieldName=' + txtfieldName; 198jQuery.post(src, {}, function (data) { 199jQuery('#' + id).html(data); 200}, "html"); 201} 202function textcaptchaReload(id, txtfield, src) { 203var captchaElement = document.getElementById(id); 204if (captchaElement == null) { 205return; 206} 207if (src.indexOf('?captchaReload=') > 0) { 208src = src.substring(0, src.indexOf('?captchaReload=')); 209} else if (src.indexOf('&captchaReload=') > 0) { 210src = src.substring(0, src.indexOf('&captchaReload=')); 211} 212if (src.indexOf('?') == -1) { 213src += '?'; 214} else { 215src += '&'; 216} 217src += 'captchaReload=' + (new Date()).getTime(); 218jQuery.post(src, {}, function (data) { 219jQuery('#' + id).html(data); 220}, "html"); 221var elem = document.getElementById(txtfield); 222if (elem) elem.value = ''; 223} 224function enterKeyToClick(e) { 225try { 226if (!e) e = window.event; 227if (13 == e.charCode) { 228e.srcElement.click(); 229e.preventDefault(); 230} 231} catch (i) { 232} 233} 234function operationalURL(url) { 235if (typeof url == "undefined") { 236return ""; 237} 238var nopPlaceholder = "[nop]"; 239url = url.replace(nopPlaceholder, ""); 240return url; 241} 242function sendSubscription(url, type, data, context, captchaImg, dialogToClose) { 243url = operationalURL(url); 244var effectDuration = 300; 245if (dialogToClose != null) { 246effectDuration = 0; 247} 248jQuery.ajax({ 249type: type, 250url: url, 251data: data, 252context: context, 253async: true, 254cache: false, 255success: function (msg) { 256if (captchaImg != null) { 257jQuery("#" + captchaImg).remove(); 258} 259var msgElement = jQuery(msg); 260var titleElement = msgElement.find(".subscribeTitle").first(); 261var subscribeTitle = titleElement.text(); 262titleElement.hide(); 263jQuery.jqDialog.content(msgElement, { 264minWidth: 400, 265title: subscribeTitle,
266dialogClass: "subscription-dialog", 267show: {effect: "blind", duration: effectDuration} 268}); 269}, 270complete: function (msg) { 271if (dialogToClose != null) { 272jQuery(dialogToClose).dialog('close'); 273} 274if (captchaImg != null && document.getElementById(captchaImg) != null) { 275captchaReload(captchaImg); 276} 277} 278}); 279} 280function sendAndRefresh(url) { 281url = operationalURL(url); 282jQuery.post( 283url, 284null, 285function (html) { 286document.location.href = document.location.href; 287} 288) 289return false; 290} 291function confirmAndRefresh(url, msg) { 292url = operationalURL(url); 293jQuery.jqDialog.confirm(msg, 294function () { 295jQuery.post( 296url, 297null, 298function (html) { 299document.location.href = document.location.href; 300} 301) 302}, 303function () { 304} 305); 306return false; 307} 308function confirmAndRedirectTo(url, msg, targetUrl, errCallback) { 309url = operationalURL(url); 310jQuery.jqDialog.confirm(msg, 311function () { 312jQuery.ajax({ 313type: 'POST', 314url: url, 315success: function (html) { 316document.location.href = targetUrl; 317}, 318error: errCallback 319}); 320}, 321function () { 322} 323); 324return false; 325} 326function confirmAndNotify(url, msg, feedback, time) { 327url = operationalURL(url); 328jQuery.jqDialog.confirm(msg, 329function () { 330jQuery.post( 331url, 332null, 333function (html) { 334if (time) { 335jQuery.jqDialog.notify(feedback, time); 336} else { 337jQuery.jqDialog.notify(feedback); 338} 339} 340) 341}, 342function () { 343} 344); 345return false; 346} 347function createBlogEntry(locale, formid) { 348var form = jQuery('#' + formid); 349if (form == null) return; 350var localeField = form.find("input[name='locale']").first(); 351localeField.attr('value', locale); 352form.submit(); 353} 354function createForumNode(formid, quote) { 355var form = jQuery('#' + formid); 356if (form == null) return; 357try { 358var localeField = form.find("input[name='quote']").first(); 359localeField.attr('value', quote); 360} catch (except) { 361} 362form.submit(); 363} 364function elementLoad(eventElement) { 365var oEmbedElement = jQuery(eventElement).closest("[data-url]"); 366oEmbedElement.load(oEmbedElement.attr("data-url")); 367} 368function switchStyle(styleName, styleValue) { 369var bodyElement = jQuery("body"); 370var classes = bodyElement.attr("class"); 371var arr = classes.split(' '); 372arr.forEach(function (entry) { 373if (entry.indexOf(styleName) == 0) { 374bodyElement.removeClass(entry); 375} 376}); 377jQuery("[data-" + styleName.toLowerCase() + "]").removeClass("active") 378if (styleValue) { 379bodyElement.addClass(styleName + '_' + styleValue); 380jQuery.cookie(styleName, styleValue, {path: '/', expires: 31, samesite: "Strict"}); 381} else { 382jQuery.cookie(styleName, styleValue, {path: '/', expires: -1}); 383} 384jQuery("[data-" + styleName.toLowerCase() + "='" + styleValue + "']").addClass("active") 385} 386/** 387* Open window specified in parmList. 388* @param parmList [separator]url[separator]windowName[separator]params[separator]options[separator] 389*/ 390function openWin1(parmList) { 391if (parmList === "" || parmList == null) { 392return false; 393} 394var separator = parmList.charAt(0);
395var parts = parmList.split(separator); 396var url = parts[1]; 397var windowName = parts[2]; 398var params = parts[3]; 399var options = parts[4]; 400openWin4(url, windowName, params, options); 401return false; 402} 403/** 404* Opens window and sets focus. 405* @param url as in window.open() 406* @param windowName as in window.open() 407* @param params as in window.open() 408*/ 409function openWin3(url, windowName, params) { 410windowName = windowName.replace(/[\-\+.]/g, "_"); 411var winHandle = window.open(url, windowName, params); 412try { 413winHandle.focus(); 414} catch (e) { 415} 416return winHandle; 417} 418/** 419* Opens window and sets focus. 420* @param url as in window.open() 421* @param windowName as in window.open() 422* @param params as in window.open() 423* @param options additional options 424* option "center" centers window 425* option "keep" does not load given url if window already open 426* option "fullwidth" uses full screen-width for window 427* option "fullheight" uses full screen-height for window 428* option "fullsize" uses full screen size for window 429*/ 430function openWin4(url, windowName, params, options) { 431windowName = windowName.replace(/[\-\+.]/g, "_"); 432var winHandle = null; 433var keepExisting = false; 434if (windowName === "_self") { 435document.location.replace(url); 436return window; 437} 438if (params !== "") { 439var keyValues = getKeyValuePairs(params); 440if (options != null) { 441var optionsArr = options.split(","); 442for (var i = 0; i < optionsArr.length; ++i) { 443if ("keep" === optionsArr[i]) { 444keepExisting = true; 445} else { 446if ("center" === optionsArr[i]) { 447var width = Number(keyValues["width"]); 448var height = Number(keyValues["height"]); 449var left = Math.max(0, ((window.screen.width - width) / 2) - 10); 450var top = Math.max(0, ((window.screen.height - height) / 2) - 40); 451keyValues["left"] = left; 452keyValues["top"] = top; 453} else { 454if ("fullwidth" === optionsArr[i]) { 455keyValues["width"] = window.screen.availWidth - 12; 456keyValues["left"] = 0; 457} else { 458if ("fullheight" === optionsArr[i]) { 459keyValues["height"] = window.screen.availHeight - 40; 460keyValues["top"] = 0; 461} else { 462if ("fullsize" === optionsArr[i]) { 463keyValues["width"] = window.screen.availWidth - 12; 464keyValues["left"] = 0; 465keyValues["height"] = window.screen.availHeight - 40; 466keyValues["top"] = 0; 467} 468} 469} 470} 471} 472} 473} 474params = joinKeyValuePairs(keyValues); 475} 476if (keepExisting && windowName !== "") { 477winHandle = openWin3("", windowName, params); 478try { 479if (winHandle.document.location.href.indexOf("http") !== 0) { 480winHandle.document.location.replace(url); 481} 482} catch (except) { 483winHandle = openWin3(url, windowName, params); 484} 485} else { 486winHandle = openWin3(url, windowName, params); 487} 488try { 489winHandle.focus(); 490} catch (e) { 491} 492return winHandle; 493} 494function attachOnloadEvent(func) { 495if (window.jQuery) { 496jQuery(document).ready(func); 497} else if (window.Ext) { 498Ext.onReady(func); 499} else if (typeof window.addEventListener != "undefined") { 500window.addEventListener("load", func, false); 501} else if (typeof document.addEventListener != "undefined") { 502document.addEventListener("load", func, false); 503} else if (typeof window.attachEvent != "undefined") { 504window.attachEvent("onload", func); 505} else { 506if (typeof window.onload == "function") { 507var oldonload = onload; 508window.onload = function () { 509oldonload(); 510func(); 511}; 512} else { 513window.onload = func; 514} 515} 516} 517function getKeyValuePairs(params) { 518var result = []; 519if (params) { 520var optionsArr = params.split(","); 521for (var i = 0; i < optionsArr.length; ++i) { 522var keyValueArr = optionsArr[i].split("="); 523if (keyValueArr.length > 1) { 524result[keyValueArr[0]] = keyValueArr[1]; 525} 526} 527} 528return result; 529} 530function joinKeyValuePairs(array) { 531var result = ""; 532var separator = ""; 533for (var key in array) { 534result = result + separator + key + "=" + array[key]; 535separator = ","; 536} 537return result; 538} 539function DvvI18N(map) { 540this.map = map; 541} 542DvvI18N.prototype.format = function (key, args) { 543var str = this.map[key]; 544return str.replace(DvvI18N.prototype.format.regex, function (item) { 545var intVal = parseInt(item.substring(1, item.length - 1)); 546var replace; 547if (intVal >= 0) { 548try { 549replace = args[intVal]; 550} catch (e) { 551} 552} else if (intVal === -1) { 553replace = "{"; 554} else if (intVal === -2) { 555replace = "}"; 556} else { 557replace = ""; 558} 559return replace; 560}); 561}; 562DvvI18N.prototype.format.regex = new RegExp("{-?[0-9]+}", "g"); 563function strToDate(dateStr, format) { 564var data = dateStr.split(/ /); 565dateStr = data[0]; 566var timeStr = data[1]; 567if (format == null) { 568format = "DMY"; 569} 570format = format.toUpperCase(); 571if (format.length !== 3) { 572format = "DMY"; 573} 574if ((format.indexOf("M") == -1) || (format.indexOf("D") == -1) || (format.indexOf("Y") == -1)) { 575format = "DMY"; 576} 577var reg1; 578var reg2; 579if (format.substring(0, 1) == "Y") { 580reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/; 581reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/; 582} else { 583if (format.substring(1, 2) == "Y") { 584reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/; 585reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/; 586} else { 587reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/; 588reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/; 589} 590} 591if ((!reg1.test(dateStr)) && (!reg2.test(dateStr))) { 592return Number.NaN; 593} 594var parts = dateStr.split(RegExp.$1); 595var mm; 596var dd; 597var yy; 598if (format.substring(0, 1) == "M") { 599mm = parts[0]; 600} else { 601if (format.substring(1, 2) == "M") { 602mm = parts[1]; 603} else { 604mm = parts[2]; 605} 606} 607if (format.substring(0, 1) == "D") { 608dd = parts[0]; 609} else { 610if (format.substring(1, 2) == "D") { 611dd = parts[1]; 612} else { 613dd = parts[2]; 614} 615} 616if (format.substring(0, 1) == "Y") { 617yy = parts[0]; 618} else { 619if (format.substring(1, 2) == "Y") { 620yy = parts[1]; 621} else { 622yy = parts[2]; 623} 624} 625if (parseFloat(yy) <= 50) { 626yy = (parseFloat(yy) + 2000).toString(); 627} 628if (parseFloat(yy) <= 99) { 629yy = (parseFloat(yy) + 1900).toString(); 630} 631var hh = 0; 632var mn = 0; 633var ss = 0; 634if (timeStr) { 635timeStr += ":0:0:0"; 636var timeData = timeStr.split(/:/); 637hh = timeData[0]; 638mn = timeData[1]; 639ss = timeData[2]; 640} 641var dt = new Date(parseFloat(yy), parseFloat(mm) - 1, parseFloat(dd), parseFloat(hh), parseFloat(mn), parseFloat(ss), 0); 642if (parseFloat(dd) != dt.getDate()) { 643return Number.NaN; 644} 645if (parseFloat(mm) - 1 != dt.getMonth()) { 646return Number.NaN; 647} 648return dt; 649} 650function optimizedDate(dateStr, twoDigits, keepEmpty) { 651if (typeof twoDigits == "undefined") { 652twoDigits = true; 653} 654if (typeof keepEmpty == "undefined") { 655keepEmpty = true; 656} 657if ((dateStr == "") && (keepEmpty)) { 658return ""; 659} 660var d = new Date(); 661var reg = /(\W)/; 662reg.test(dateStr); 663var separator = (RegExp.$1 == "") ? "." : RegExp.$1; 664var parts = dateStr.split(separator); 665if (isNaN(parts[0]) || parts[0] == "") { 666parts[0] = d.getDate(); 667} 668if (parts[0] > 31) { 669parts[0] = 31; 670} 671if (parts[0] < 1) { 672parts[0] = 1; 673}
674if (isNaN(parts[1])) { 675parts[1] = d.getMonth() + 1; 676} 677if (parts[1] > 12) { 678parts[1] = 12; 679} 680if (parts[1] < 1) { 681parts[1] = 1; 682} 683if (isNaN(parts[2])) { 684parts[2] = d.getYear(); 685} 686if (parts[2] < 1) { 687parts[2] = d.getYear(); 688} 689var dd = "" + parts[0]; 690var mm = "" + parts[1]; 691var yy = "" + parts[2]; 692if (twoDigits) { 693if (dd.length < 2) { 694dd = "0" + (dd); 695} 696if (mm.length < 2) { 697mm = "0" + (mm); 698} 699} 700if (parseFloat(yy) <= 50) { 701yy = (parseFloat(yy) + 2000).toString(); 702} 703if (parseFloat(yy) <= 150) { 704yy = (parseFloat(yy) + 1900).toString(); 705} 706return dd + "." + mm + "." + yy; 707} 708/* Prüft, ob eine eingegebene Zahl gültig ist. 709* Tausender-Punkte werden ignoriert. Maximal ein Dezimal-Komma ist erlaubt. 710*/ 711function isValidNumber(number) { 712var numStr = number.replace(/[.]/g, ""); 713var reFloatF1 = /(^-?\d\d*\,\d*$)|(^-?\d\d*$)|(^-?\,\d\d*$)/; 714return (reFloatF1.test(numStr)); 715} 716function isValidDate(dateStr, format) { 717return !isNaN(strToDate(dateStr, format)); 718} 719function optimizeDate(obj, twoDigits, keepEmpty) { 720obj.value = optimizedDate(obj.value, twoDigits, keepEmpty); 721} 722function reportFailedCall(message) { 723doAlert("Script-Fehler:\nUnbekanntes Feld als Parameter angegeben.\n\nDer Plausi-Text w\u00E4re gewesen:\n" + message); 724return false; 725} 726function reportFailedPlausi(field, message) { 727try { 728field.focus(); 729} catch (e) { 730} 731doAlert(message); 732return false; 733} 734function doAlert(message) { 735if (jQuery.jqDialog) { 736jQuery.jqDialog.notify(message); 737} else { 738alert(message); 739} 740} 741function checkNumberField(field, message, keepEmpty, minValue, maxValue) { 742if (typeof field == "undefined") { 743return reportFailedCall(message); 744} 745var numStr = field.value; 746var checkResult = false; 747if (isValidNumber(numStr)) { 748checkResult = true; 749} 750if (typeof keepEmpty == "undefined") { 751keepEmpty = true; 752} 753if ((numStr == "") && (keepEmpty)) { 754return true; 755} 756var msg1 = dvvI18N.format("exact", [minValue]); 757var msg2 = dvvI18N.format("range", [minValue, maxValue]); 758if (typeof minValue != "undefined") { 759if (numStr < minValue) { 760if (typeof maxValue != "undefined") { 761if (minValue == maxValue) { 762message = msg1; 763} else { 764message = msg2; 765} 766} else { 767message = dvvI18N.format("min", [minValue]); 768} 769checkResult = false; 770} 771} 772if (checkResult && typeof maxValue != "undefined") { 773if (numStr > maxValue) { 774if (typeof minValue != "undefined") { 775if (minValue == maxValue) { 776message = msg1; 777} else { 778message = msg2; 779} 780} else { 781message = dvvI18N.format("max", [maxValue]); 782} 783checkResult = false; 784} 785} 786if (checkResult) { 787return true; 788} 789return reportFailedPlausi(field, message); 790} 791function checkStringField(field, message) { 792if (typeof field == "undefined") { 793return reportFailedCall(message); 794} 795var fieldStr = field.value; 796if (fieldStr != "") { 797return true; 798} 799return reportFailedPlausi(field, message); 800} 801function checkDateField(field, message, keepEmpty) { 802if (typeof field == "undefined") { 803return reportFailedCall(message); 804} 805if (isValidDate(field.value)) { 806return true; 807} 808if (typeof keepEmpty == "undefined") { 809keepEmpty = true; 810} 811var dateStr = field.value; 812if ((dateStr === "") && (keepEmpty)) { 813return true; 814} 815return reportFailedPlausi(field, message); 816} 817function splitMails(email) { 818if (email) { 819email = email.replace(";", ",") 820var split = email.split(","); 821var len = split.length; 822var result = []; 823for (i = 0; i < len; i++) { 824var single = split[i].trim(); 825if (single > " ") { 826result.push(single); 827} 828} 829return result; 830} 831return []; 832} 833function isValidEmail(email, multiple) { 834if (email) { 835if (multiple) { 836var mails = splitMails(email); 837var len = mails.length; 838if (len > 0) { 839for (i = 0; i < len; i++) { 840if (!isValidEmail(mails[i], false)) { 841return false; 842} 843} 844return true; 845} 846return false; 847} 848if (email.indexOf("..") >= 0) 849return false; 850var count = (email.match(/@/g) || []).length; 851if (1 !== count) { 852return false; 853} 854try 855{var at = email.indexOf('@'); 856var localPart = email.slice(0, at); 857if (localPart.endsWith(".")) { 858return false; 859} 860if (!(localPart.startsWith("\"") && localPart.endsWith("\""))) { 861var blackPattern = /[()\[\]\\;:,<>]/; 862if (localPart.match(blackPattern)) { 863return false; 864} 865} 866} catch (e) { 867} 868var emailPattern = /[^\s@]+@[^\s@]+\.([a-zA-Z]{2,15}|[0-9]{1,3})(\]?)(>?)$/; 869if (email.match(emailPattern)) 870return true; 871} 872return false; 873} 874function setNoValidate(elem) { 875try { 876elem.form.setAttribute("data-novalidate", true); 877} catch (e) { 878} 879return false; 880} 881function toggleErrorClass(inputField, isError) { 882var $elem = jQuery(inputField) 883var for_id = $elem.attr("id"); 884var userInput = false; 885var jQuerySelector = "label[for='" + $elem.attr("id") + "']"; 886if (isError) { 887jQuery(jQuerySelector).addClass("error"); 888$elem.closest("div").addClass("error"); 889} else { 890jQuery(jQuerySelector).removeClass("error"); 891$elem.closest("div").removeClass("error"); 892} 893} 894function checkFileSize(inputField) { 895var $elem = jQuery(inputField) 896var dataMaxSize = $elem.attr("data-max-size"); 897var valid = true; 898if (dataMaxSize > 0) 899try { 900var files = inputField.files; 901for (var i = 0; i < files.length; i++) { 902var file = files[i]; 903var size = file.size; 904if (file.fileSize) { 905size = file.fileSize; 906} 907if (size > dataMaxSize) { 908var maxText = $elem.attr("data-max-text") || dataMaxSize + " Bytes"; 909var msg = dvvI18N.format("maxSize", [maxText]); 910valid = false; 911doAlert(msg); 912break; 913} 914} 915} catch (e) { 916} 917toggleErrorClass(inputField, !valid); 918} 919function onFormSubmit(form) { 920try { 921if (form.getAttribute("data-novalidate")) 922{return true; 923} 924} catch (e) { 925} 926var firstErrorfield = null; 927jQuery(form).find("input.required, textarea.required").each( 928function () { 929var $elem = jQuery(this); 930var elementType = $elem.attr("type"); 931var for_id = $elem.attr("id"); 932var userInput = false; 933var jQuerySelector = "label[for='" + $elem.attr("id") + "']"; 934if (elementType == "checkbox" || elementType == "radio") 935{jQuery(form).find("input[name='" + $elem.attr("name") + "']").each( 936function () { 937var $checkElement = jQuery(this); 938jQuerySelector += ","; 939jQuerySelector += "label[for='" + $checkElement.attr("id") + "']"; 940if ($checkElement.prop("checked")) { 941userInput = true; 942} 943} 944); 945} else if ($elem.val() != null && $elem.val() != "") { 946userInput = true; 947} 948if (userInput) { 949jQuery(jQuerySelector).removeClass("error"); 950jQuery(jQuerySelector).closest("div").removeClass("error"); 951} else { 952jQuery(jQuerySelector).addClass("error"); 953jQuery(jQuerySelector).closest("div").addClass("error"); 954if (!firstErrorfield) { 955firstErrorfield = $elem; 956} 957} 958} 959); 960if (firstErrorfield) { 961reportFailedPlausi(firstErrorfield, checkFormularErrorMessage); 962return false; 963} 964jQuery(form).find("input.type-email").each( 965function () { 966var $elem = jQuery(this); 967var id = $elem.attr("id"); 968var multiple = !!($elem.attr("multiple"));
969var elementValue = $elem.val(); 970var valid = false; 971if ("" === elementValue) { 972valid = !$elem.hasClass("required"); 973} else { 974valid = isValidEmail(elementValue, multiple); 975} 976if (valid) { 977jQuery("label[for='" + id + "']").removeClass("error"); 978} else { 979jQuery("label[for='" + id + "']").addClass("error"); 980if (!firstErrorfield) { 981firstErrorfield = $elem; 982} 983} 984} 985); 986if (firstErrorfield) { 987reportFailedPlausi(firstErrorfield, dvvI18N.format("email")); 988return false; 989} 990jQuery(form).find("input.type-file").each( 991function () { 992var inputField = this; 993var $elem = jQuery(this); 994var id = $elem.attr("id"); 995var dataMaxSize = $elem.attr("data-max-size"); 996if (dataMaxSize > 0) { 997var valid = true; 998var files = inputField.files; 999for (var i = 0; i < files.length; i++) { 1000var file = files[i]; 1001var size = file.size; 1002if (file.fileSize) { 1003size = file.fileSize; 1004} 1005if (size > dataMaxSize) { 1006valid = false; 1007break; 1008} 1009} 1010toggleErrorClass(inputField, !valid) 1011if (!valid) { 1012if (!firstErrorfield) { 1013firstErrorfield = $elem; 1014} 1015var maxText = $elem.attr("data-max-text") || dataMaxSize + " Bytes"; 1016reportFailedPlausi(firstErrorfield, dvvI18N.format("maxSize", [maxText])); 1017} 1018} 1019} 1020); 1021if (!firstErrorfield) 1022{reported = false; 1023jQuery(form).find("div.checkboxes.required,div.radiobuttons.required").each( 1024function () { 1025userInput = false; 1026var $divElement = jQuery(this); 1027jQuery($divElement).find("input").each( 1028function () { 1029var $checkElement = jQuery(this); 1030if ($checkElement.prop("checked")) { 1031userInput = true; 1032} else { 1033if (!firstErrorfield) { 1034firstErrorfield = $checkElement; 1035} 1036} 1037} 1038); 1039if (userInput) { 1040firstErrorfield = null; 1041$divElement.removeClass("error"); 1042} else { 1043$divElement.addClass("error"); 1044if (!reported) { 1045reportFailedPlausi(firstErrorfield, dvvI18N.format("selectOne")); 1046reported = true; 1047} 1048} 1049} 1050); 1051} 1052if (firstErrorfield) { 1053return false; 1054} 1055return true; 1056} 1057} catch (e) {console.log(e.message)} 1058try 1059{var _dvv_locale = "de"; 1060if (typeof jQuery == "function") { 1061var cb = jQuery.colorbox || {}; 1062jQuery.extend(cb.settings, { 1063close: "SchlieÃen", 1064current: "Bild {current} von {total}", 1065imgError: "Dieses Bild konnte nicht geladen werden.", 1066next: "Weiter", 1067previous: "Zurück", 1068slideshowStart: "Start", 1069slideshowStop: "Stop", 1070xhrError: "Dieser Inhalt konnte nicht geladen werden." 1071}); 1072var jd = jQuery.jqDialog || {}; 1073jQuery.extend(jd.defaults, { 1074label_Cancel: "Abbrechen", 1075label_Close: "SchlieÃen", 1076label_No: "Nein", 1077label_OK: "OK", 1078label_Yes: "Ja" 1079}); 1080var dl = jQuery.fn.lightBox || {}; 1081jQuery.extend(dl.defaults, { 1082labelClose: "SchlieÃen", 1083labelNext: "Weiter", 1084labelPrev: "Zurück", 1085txtImage: "Bild", 1086txtOf: "von" 1087}); 1088var bxs = jQuery.fn.bxSlider || {}; 1089jQuery.extend(true, bxs.defaults, { 1090nextText: 'Weiter', 1091prevText: 'Zurück', 1092startText: 'Start', 1093stopText: 'Stop', 1094}); 1095var ts = jQuery.tablesorter || {}; 1096jQuery.extend(ts.language, { 1097sortAsc: 'aufsteigend sortiert, ', 1098sortDesc: 'absteigend sortiert, ', 1099sortNone: 'unsortiert, ', 1100sortDisabled: '', 1101nextAsc: 'aktivieren um aufsteigend zu sortieren', 1102nextDesc: 'aktivieren um absteigend zu sortieren', 1103nextNone: 'aktivieren um die Sortierung zu entfernen' 1104}); 1105var mgp = jQuery.magnificPopup || {}; 1106jQuery.extend(true, mgp.defaults, { 1107tClose: "SchlieÃen", 1108tLoading: "Ãbertrage Daten...", 1109gallery: { 1110tPrev: "Zurück", 1111tNext: "Weiter", 1112tCounter: "Bild %curr% von %total%" 1113}, 1114image: {tError: "Dieses Bild konnte nicht geladen werden."}, 1115ajax: {tError: "Dieser Inhalt konnte nicht geladen werden."} 1116}); 1117} 1118var dvvI18N = new DvvI18N( 1119{locale: _dvv_locale, 1120creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein.", 1121date: "Bitte geben Sie ein gültiges Datum ein.", 1122dateISO: "Bitte geben Sie ein gültiges Datum ein (ISO).", 1123digits: "Geben Sie bitte nur Ziffern ein.", 1124email: "Geben Sie bitte eine gültige E-Mail Adresse ein.", 1125enterRequired: "Bitte füllen Sie alle Pflichtfelder aus.", 1126equalTo: "Bitte denselben Wert wiederholen.", 1127exact: "Der Wert muss {0} sein.", 1128max: "Geben Sie bitte einen Wert kleiner oder gleich {0} ein.", 1129maxlength: "Geben Sie bitte maximal {0} Zeichen ein.", 1130maxSize: "Die Datei darf maximal {0} groà sein.", 1131min: "Geben Sie bitte einen Wert gröÃer oder gleich {0} ein.", 1132minlength: "Geben Sie bitte mindestens {0} Zeichen ein.", 1133number: "Geben Sie bitte eine Nummer ein.", 1134range: "Geben Sie bitte einen Wert zwischen {0} und {1} ein.", 1135rangelength: "Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein.", 1136required: "Dieses Feld ist ein Pflichtfeld.", 1137selectOne: "Bitte wählen Sie ein Element aus der Liste aus.", 1138url: "Geben Sie bitte eine gültige URL ein." 1139} 1140); 1141var checkFormularErrorMessage = "Bitte füllen Sie alle Pflichtfelder aus."; 1142try { 1143bootbox.setLocale(_dvv_locale); 1144bootbox.locales(_dvv_locale).OK = "OK" 1145bootbox.locales(_dvv_locale).CONFIRM = "Ja" 1146bootbox.locales(_dvv_locale).CANCEL = "Nein" 1147} catch (e) { 1148} 1149} catch (e) {console.log(e.message)}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.