PageSourceSearch

https://marcus-milarov.de/wp-content/cache/minify/5db77.js

js marcus-milarov.de collected 2026-10-02 16:05:37 UTC 18,600 bytes, 92 lines download raw bytes

1(function($){'use strict';function getOrCreateStorageValue(key,fallbackPrefix){try{var existing=window.localStorage.getItem(key);if(existing){return existing;}
2var value=fallbackPrefix+'-'+Math.random().toString(36).slice(2,12);window.localStorage.setItem(key,value);return value;}catch(e){return fallbackPrefix+'-'+Math.random().toString(36).slice(2,12);}}
3function currentVisitorId(){return getOrCreateStorageValue('klicktipp_visitor_id','visitor');}
4function currentSessionId(){return getOrCreateStorageValue('klicktipp_session_id','session');}
5function hashString(input){var value=String(input||'');var hash=0;for(var i=0;i<value.length;i++){hash=((hash<<5)-hash)+value.charCodeAt(i);hash|=0;}
6return String(Math.abs(hash));}
7function showMessage($container,message,type){$container.removeClass('kt-msg-success kt-msg-error').addClass(type==='success'?'kt-msg-success':'kt-msg-error').text(String(message||'')).stop(true,true).fadeIn(120);}
8function refreshStartedTimestamps(){$('.kt-optin-form input[name="kt_started"]').each(function(){$(this).val(String(Date.now()));});}
9function normalizeTemporalFieldValue(rawValue,inputType){var raw=String(rawValue||'').trim();var type=String(inputType||'').toLowerCase();if(!raw||(type!=='date'&&type!=='time'&&type!=='datetime-local')){return raw;}
10if(/^-?[0-9]{1,12}$/.test(raw)){return raw;}
11if(type==='datetime-local'){var dt=new Date(raw);if(!isNaN(dt.getTime())){return String(Math.floor(dt.getTime()/1000));}
12return raw;}
13if(type==='date'){var dateParts=raw.split('-');if(dateParts.length===3){var y=parseInt(dateParts[0],10);var m=parseInt(dateParts[1],10);var d=parseInt(dateParts[2],10);if(!isNaN(y)&&!isNaN(m)&&!isNaN(d)){var dateObj=new Date(y,m-1,d,0,0,0,0);return String(Math.floor(dateObj.getTime()/1000));}}
14return raw;}
15var timeMatch=raw.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/);if(timeMatch){var now=new Date();var hh=parseInt(timeMatch[1],10);var mm=parseInt(timeMatch[2],10);var ss=parseInt(timeMatch[3]||'0',10);if(!isNaN(hh)&&!isNaN(mm)&&!isNaN(ss)){var timeObj=new Date(now.getFullYear(),now.getMonth(),now.getDate(),hh,mm,ss,0);return String(Math.floor(timeObj.getTime()/1000));}}
16return raw;}
17function readFieldData($form){var payload={};$form.find('[name^="kt_field_"]').each(function(){var $input=$(this);var name=String($input.attr('name')||'');if(!name){return;}
18var key=name.replace(/^kt_field_/,'').replace(/\[\]$/,'');if(!key){return;}
19var payloadKey='field_'+key;if($input.is(':checkbox')){if(!$input.is(':checked')){return;}
20if(!Array.isArray(payload[payloadKey])){payload[payloadKey]=[];}
21payload[payloadKey].push(String($input.val()||'').trim());return;}
22var value=$input.val();var inputType=String($input.attr('type')||'').toLowerCase();if(Array.isArray(value)){payload[payloadKey]=value.map(function(item){return String(item||'').trim();}).filter(Boolean);}else{payload[payloadKey]=normalizeTemporalFieldValue(value,inputType);}});return payload;}
23function isEmail(value){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value);}
24function validateFieldFormat($control,value){var tag=String($control.prop('tagName')||'').toLowerCase();var type='textarea'===tag?'textarea':String($control.attr('type')||'text').toLowerCase();var name=String($control.attr('name')||'');var isEmailField='kt_field_email'===name||'email'===type;if(isEmailField){return isEmail(value)?'':klicktippFrontend.messages.email;}
25if('url'===type){return/^https?:\/\/[^\s]+\.[^\s]+/i.test(value)?'':klicktippFrontend.messages.field_invalid_url;}
26if('text'===type&&'decimal'===String($control.attr('inputmode')||'').toLowerCase()){return/^[+-]?[\d.,\s]+$/.test(value)?'':klicktippFrontend.messages.field_invalid_decimal;}
27if('number'===type){var isWholeNumber=value.indexOf('.')===-1&&/^[+-]?[\d,]+$/.test(value);return isWholeNumber?'':klicktippFrontend.messages.field_invalid_number;}
28if('tel'===type){return/^[0-9+\-\s()]{6,}$/.test(value)?'':klicktippFrontend.messages.field_invalid_phone;}
29if('date'===type){return/^\d{4}-\d{2}-\d{2}$/.test(value)?'':klicktippFrontend.messages.field_invalid_date;}
30if('time'===type){return/^\d{2}:\d{2}(:\d{2}
30)?$/.test(value)?'':klicktippFrontend.messages.field_invalid_time;}
31if('datetime-local'===type){return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/.test(value)?'':klicktippFrontend.messages.field_invalid_datetime;}
32return'';}
33function clearFieldErrors($form){$form.find('.kt-field-group, .kt-gdpr-group').removeClass('kt-field-invalid');$form.find('.kt-field-error').remove();$form.find('[aria-invalid="true"]').removeAttr('aria-invalid');}
34function buildFieldValidationErrors($form,data){var errors=[];var $emailGroup=null;$form.find('.kt-field-group').each(function(){var $group=$(this);var $multiDropdown=$group.find('.kt-multi-dropdown').not('.kt-single-dropdown');if($multiDropdown.length){var isRequired='1'===String($multiDropdown.attr('data-required')||'');var checkedCount=$multiDropdown.find('.kt-multi-dropdown-option:checked').length;if(isRequired&&0===checkedCount){errors.push({$group:$group,$focusTarget:$multiDropdown.find('.kt-multi-dropdown-trigger').first(),message:klicktippFrontend.messages.field_required});}
35return;}
36var $singleInput=$group.find('.kt-single-dropdown-input');if($singleInput.length){var singleValue=$.trim(String($singleInput.val()||''));if($singleInput.prop('required')&&''===singleValue){errors.push({$group:$group,$focusTarget:$group.find('.kt-single-dropdown .kt-multi-dropdown-trigger').first(),message:klicktippFrontend.messages.field_required});}
37return;}
38var $control=$group.find('input.kt-input, textarea.kt-input').first();if(!$control.length){return;}
39if('email'===String($control.attr('type')||'').toLowerCase()||$control.is('[data-kt-email-field="1"]')){$emailGroup=$group;}
40var value=$.trim(String($control.val()||''));var isControlRequired=!!$control.prop('required');if(isControlRequired&&''===value){errors.push({$group:$group,$focusTarget:$control,message:klicktippFrontend.messages.field_required});return;}
41if(''===value){return;}
42var formatError=validateFieldFormat($control,value);if(formatError){errors.push({$group:$group,$focusTarget:$control,message:formatError});}});if(!$emailGroup){var $hiddenEmailField=$form.find('input[data-kt-email-field="1"]');var fallbackEmail=$hiddenEmailField.length?$.trim(String($hiddenEmailField.val()||'')):'';if(!isEmail(fallbackEmail)){errors.push({$group:null,$focusTarget:null,message:klicktippFrontend.messages.email});}}
43var $gdprInput=$form.find('input[name="kt_gdpr"]');if($gdprInput.length&&'1'!==String(data.gdpr)){var gdprErrorMessage=String($form.attr('data-gdpr-error-message')||'').trim();errors.push({$group:$form.find('.kt-gdpr-group'),$focusTarget:$gdprInput,message:gdprErrorMessage||klicktippFrontend.messages.field_required});}
44return errors;}
45function applyFieldErrors(errors){errors.forEach(function(error){if(error.$group&&error.$group.length){error.$group.addClass('kt-field-invalid');error.$group.append($('<div class="kt-field-error" role="alert"></div>').text(error.message));}
46if(error.$focusTarget&&error.$focusTarget.length){error.$focusTarget.attr('aria-invalid','true');}});}
47function trackFormViews(){var visitorId=currentVisitorId();var sessionId=currentSessionId();$('.kt-optin-form').each(function(){var $form=$(this);var formId=String($form.find('input[name="kt_form_id"]').val()||'').trim();if(!formId){return;}
48var viewKey='klicktipp_view_'+formId+'_'+hashString(visitorId+':'+sessionId);try{if(window.sessionStorage.getItem(viewKey)){return;}
49window.sessionStorage.setItem(viewKey,'1');}catch(e){}
50$.ajax({url:klicktippFrontend.ajax_url,method:'POST',timeout:3000,data:{action:'klicktipp_track_view',nonce:klicktippFrontend.nonce,form_id:formId,visitor_hash:hashString(visitorId),session_id:sessionId,is_test:isPreviewFrame()?'1':'0'}});});}
51function isPreviewFrame(){return document.body&&document.body.classList.contains('klicktipp-plugin-frontend-preview');}
52function hidePreviewNoise(){if(!isPreviewFrame()){return;}
53var selectors=['#query-monitor-main','#query-monitor-container','#qm-wrapper','#qm-panel-menu','#qm-overview','#qm-admin-bar-menu','[id^="qm-"]','[class*="query-monitor"]'];selectors.forEach(function(selector){document.querySelectorAll(selector).forEach(function(node){if(node&&node.parentNode){node.parentNode.removeChild(node);}});});}
54function sendPreviewHeight(){if(!isPreviewFrame()){return;}
55try{hidePreviewNoise();var shell=document.querySelector('.kt-optin-preview-shell');var form=document.querySelector('.kt-optin-wrap');var shellHeight=shell?Math.max(shell.scrollHeight||0,shell.offsetHeight||0):0;var formHeight=form?Math.max(form.scrollHeight||0,form.offsetHeight||0):0;var fallbackHeight=Math.max(document.body?(document.body.scrollHeight||0):0,document.documentElement?(document.documentElement.scrollHeight||0):0);window.parent.postMessage({type:'ktOptinPreviewHeight',height:Math.max(shellHeight,formHeight,fallbackHeight)},'*');}catch(e){}}
56function installPreviewHeightSync(){if(!isPreviewFrame()){return;}
57var queued=false;function queuePreviewHeightSync(){if(queued){return;}
58queued=true;window.requestAnimationFrame(function(){queued=false;sendPreviewHeight();});}
59if(typeof window.ResizeObserver==='function'){var resizeObserver=new ResizeObserver(function(){queuePreviewHeightSync();});if(document.body){resizeObserver.observe(document.body);}
60if(document.documentElement){resizeObserver.observe(document.documentElement);}}
61if(typeof window.MutationObserver==='function'&&document.body){var mutationObserver=new MutationObserver(function(){queuePreviewHeightSync();});mutationObserver.observe(document.body,{childList:true,subtree:true,attributes:true,characterData:true});}
62window.addEventListener('resize',queuePreviewHeightSync);window.addEventListener('orientationchange',queuePreviewHeightSync);window.addEventListener('load',function(){hidePreviewNoise();sendPreviewHeight();});setTimeout(sendPreviewHeight,50);setTimeout(sendPreviewHeight,250);}
63function updateMultiDropdownLabel($dropdown){if(!$dropdown||!$dropdown.length){return;}
64var selectedLabels=[];$dropdown.find('.kt-multi-dropdown-option:checked').each(function(){var $option=$(this);var labelText=String($option.closest('.kt-multi-dropdown-option-row').find('span').first().text()||'').trim();if(labelText){selectedLabels.push(labelText);}});var $value=$dropdown.find('.kt-multi-dropdown-value');var emptyLabel=String($value.attr('data-empty-label')||'Choose options').trim();$value.text(selectedLabels.length?selectedLabels.join(', '):emptyLabel);$value.attr('title',selectedLabels.length?selectedLabels.join(', '):'');}
65function syncSingleDropdownSelection($dropdown,value){if(!$dropdown||!$dropdown.length){return;}
66var selectedValue=String(value||'').trim();var $options=$dropdown.find('.kt-single-dropdown-option');var hasMatch=false;$options.each(function(){var $option=$(this);var optionValue=String($option.data('value')||'').trim();var isSelected=selectedValue!==''&&optionValue===selectedValue;$option.toggleClass('is-selected',isSelected);if(isSelected){hasMatch=true;}});var $input=$dropdown.find('.kt-single-dropdown-input');if($input.length){$input.val(hasMatch?selectedValue:'');}
67var $value=$dropdown.find('.kt-multi-dropdown-value');var emptyLabel=String($value.attr('data-empty-label')||'Please choose').trim();var labelText='';if(hasMatch){var $selected=$options.filter('.is-selected').first();labelText=String($selected.text()||'').trim();}
68$value.text(labelText||emptyLabel);$value.attr('title',labelText||'');}
69$(document).on('submit','.kt-optin-form',function(e){e.preventDefault();var $form=$(this);var $button=$form.find('.kt-submit-btn');var $buttonText=$button.find('.kt-btn-text');var $buttonLoading=$button.find('.kt-btn-loading');var $message=$form.find('.kt-optin-message');var hasRetried=false;if($button.prop('disabled')){return;}
70var unlockTimer=window.setTimeout(function(){$button.prop('disabled',false);$buttonLoading.hide();$buttonText.show();},10000);function proceedWithSubmit(captchaEuSolution){var data={action:'klicktipp_submit',nonce:klicktippFrontend.nonce,klicktipp_locale:(klicktippFrontend&&klicktippFrontend.locale)?String(klicktippFrontend.locale):'',form_id:$form.find('input[name="kt_form_id"]').val()||'',idempotency_key:$form.find('input[name="kt_idempotency_key"]').val()||'',tag_id:$form.find('input[name="kt_tag_id"]').val()||'',list_id:$form.find('input[name="kt_list_id"]').val()||'',gdpr:$form.find('input[name="kt_gdpr"]').is(':checked')?'1':'0',started:$form.find('input[name="kt_started"]').val()||'',hp:$form.find('input[name="kt_hp"]').val()||'',visitor_hash:hashString(currentVisitorId()),session_id:currentSessionId(),'g-recaptcha-response':$form.find('textarea[name="g-recaptcha-response"]').val()||'',captcha_eu_solution:captchaEuSolution||'',is_test:isPreviewFrame()?'1':'0'};$.extend(data,readFieldData($form));clearFieldErrors($form);var validationErrors=buildFieldValidationErrors($form,data);if(validationErrors.length){applyFieldErrors(validationErrors);showMessage($message,klicktippFrontend.messages.form_invalid||klicktippFrontend.messages.required,'error');
70var $firstFocusTarget=validationErrors[0].$focusTarget;if($firstFocusTarget&&$firstFocusTarget.length&&typeof $firstFocusTarget.focus==='function'){$firstFocusTarget.focus();}
71return;}
72$button.prop('disabled',true);$buttonText.hide();$buttonLoading.show();$message.hide();var submitTimeoutMs=parseInt((klicktippFrontend&&klicktippFrontend.submit_timeout_ms)?klicktippFrontend.submit_timeout_ms:9000,10);if(isNaN(submitTimeoutMs)||submitTimeoutMs<4000){submitTimeoutMs=9000;}
73function doSubmit(){return $.ajax({url:klicktippFrontend.ajax_url,method:'POST',timeout:submitTimeoutMs,data:data});}
74function handleSubmitDone(response){if(response&&response.success){if(response.data&&response.data.redirect_url){if(isPreviewFrame()){window.parent.open(response.data.redirect_url,'_blank');}else{window.location.href=response.data.redirect_url;}
75return;}
76showMessage($message,response.data.message,'success');if(response.data&&response.data.email_warning){$message.append($('<div class="kt-optin-warning">').text(String(response.data.email_warning||'')));}
77if($form.length){$form.find('.kt-multi-dropdown').each(function(){updateMultiDropdownLabel($(this));});}
78return;}
79var code=(response&&response.data&&response.data.code)?response.data.code:'';if(code==='security'&&!hasRetried){hasRetried=true;$.ajax({url:klicktippFrontend.ajax_url,method:'POST',timeout:5000,data:{action:'klicktipp_refresh_nonce'}}).done(function(refreshResponse){if(refreshResponse&&refreshResponse.success&&refreshResponse.data&&refreshResponse.data.nonce){klicktippFrontend.nonce=refreshResponse.data.nonce;data.nonce=refreshResponse.data.nonce;doSubmit().done(handleSubmitDone).fail(handleSubmitFail).always(handleSubmitAlways);}else{handleSubmitAlways();showMessage($message,(klicktippFrontend.messages&&klicktippFrontend.messages.security_cached)?klicktippFrontend.messages.security_cached:klicktippFrontend.messages.error,'error');}}).fail(function(){handleSubmitAlways();showMessage($message,(klicktippFrontend.messages&&klicktippFrontend.messages.security_cached)?klicktippFrontend.messages.security_cached:klicktippFrontend.messages.error,'error');});return;}
80var fallback=(response&&response.data&&response.data.message)?response.data.message:klicktippFrontend.messages.error;if(code==='security'){fallback=(klicktippFrontend.messages&&klicktippFrontend.messages.security_cached)?klicktippFrontend.messages.security_cached:fallback;}
81showMessage($message,fallback,'error');}
82function handleSubmitFail(error){if(error&&String(error.statusText||'').toLowerCase()==='timeout'){showMessage($message,(klicktippFrontend.messages&&klicktippFrontend.messages.timeout)?klicktippFrontend.messages.timeout:klicktippFrontend.messages.error,'error');return;}
83if(error&&error.responseJSON&&error.responseJSON.data&&error.responseJSON.data.message){showMessage($message,error.responseJSON.data.message,'error');return;}
84showMessage($message,klicktippFrontend.messages.error,'error');}
85function handleSubmitAlways(){window.clearTimeout(unlockTimer);$button.prop('disabled',false);$buttonLoading.hide();$buttonText.show();}
86doSubmit().done(handleSubmitDone).fail(handleSubmitFail).always(handleSubmitAlways);}
87var $captchaGroup=$form.find('.kt-captcha-group');var captchaProvider=$captchaGroup.length?String($captchaGroup.attr('data-captcha-provider')||''):'';if(captchaProvider==='captcha_eu'&&window.KROT&&typeof window.KROT.getSolution==='function'){window.KROT.getSolution().then(function(solution){proceedWithSubmit(solution?JSON.stringify(solution):'');},function(){proceedWithSubmit('');});}else{proceedWithSubmit('');}});function clearGroupError($el){var $group=$el.closest('.kt-field-group, .kt-gdpr-group');if($group.length){$group.removeClass('kt-field-invalid');$group.find('.kt-field-error').remove();}
88$el.removeAttr('aria-invalid');}
89$(document).on('input change','.kt-optin-form input.kt-input, .kt-optin-form textarea.kt-input, .kt-optin-form input[name="kt_gdpr"]',function(){clearGroupError($(this));});$(document).on('change','.kt-multi-dropdown-option',function(){var $dropdown=$(this).closest('.kt-multi-dropdown');updateMultiDropdownLabel($dropdown);clearGroupError($dropdown);});$(document).on('click','.kt-single-dropdown-option',function(e){e.preventDefault();var $option=$(this);var $dropdown=$option.closest('.kt-single-dropdown');if(!$dropdown.length){return;}
90var value=String($option.data('value')||'').trim();syncSingleDropdownSelection($dropdown,value);clearGroupError($dropdown);$dropdown.removeAttr('open');});$(document).on('click','.kt-multi-dropdown-trigger',function(e){e.preventDefault();var $dropdown=$(this).closest('.kt-multi-dropdown');if(!$dropdown.length){return;}
91var shouldOpen=!$dropdown.prop('open');$('.kt-multi-dropdown[open]').not($dropdown).removeAttr('open');if(shouldOpen){$dropdown.attr('open','open');}else{$dropdown.removeAttr('open');}});$(document).on('click',function(e){var $target=$(e.target);if($target.closest('.kt-multi-dropdown').length){return;}
92$('.kt-multi-dropdown[open]').removeAttr('open');});$(document).on('keydown',function(e){if(e.key==='Escape'||e.keyCode===27){$('.kt-multi-dropdown[open]').removeAttr('open');}});$(function(){refreshStartedTimestamps();$('.kt-multi-dropdown').each(function(){updateMultiDropdownLabel($(this));});$('.kt-single-dropdown').each(function(){var $dropdown=$(this);var initialValue=String($dropdown.find('.kt-single-dropdown-input').val()||'').trim();syncSingleDropdownSelection($dropdown,initialValue);});trackFormViews();installPreviewHeightSync();});})(jQuery);

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.