PageSourceSearch

https://www.badnenndorf.de/typo3temp/assets/compressed/init-tosc5-…b5ef97c9578245796ac215-min.js.1790261496.gz

js badnenndorf.de collected 2026-09-24 21:48:53 UTC 10,388 bytes, 48 lines download raw bytes

1window.dw=window.dw||function(){(dw.q=dw.q||[]).push(arguments)}
2window.t5tq=typeof window.t5tq!=='undefined'?t5tq:[]
3window.initTOSC5=()=>{const originalTitle=document.title
4const revertTitle=()=>{document.title=originalTitle}
5const dynamicTitle=(toscTitle)=>{document.title=`${originalTitle} - ${toscTitle}`}
6const settings=JSON.parse(document.querySelector('#tosc5target script[type="application/json"]').innerText)
7const targetContainer=document.querySelector('#tosc5target')
8const stylesheet=targetContainer.getAttribute('data-stylesheet')
9const customPOIs=settings.customPOIs||[]
10let accommodationView='accommodation.list.views.default="card"'
11const isDesktop=window.matchMedia('(min-width: 1024px)')
12const urlParams=new URLSearchParams(window.location.search)
13if(parseInt(settings.useListViewForDesktop)>0&&isDesktop.matches){accommodationView='accommodation.list.views.default="list"'}
14const urlOptionalParams=new URLSearchParams(settings.urlOptionalParams||'')
15settings.preselectedFilters=settings.preselectedFilters||{}
16const filtersSetter=(key,value,{target})=>
16{if(!target){return}
17target.split('.').reduce((filter,key,index,pathSegments)=>{if(index===pathSegments.length-1){filter[key]=value
18return settings.preselectedFilters}else{filter[key]=filter[key]||{}
19return filter[key]}},settings.preselectedFilters)}
20const urlOptionalParamSetter=(key,value)=>{urlOptionalParams.set(key,value)}
21const urlParamsConfig={lkBC:{type:'string',setter:urlOptionalParamSetter},lkRG:{type:'string',setter:urlOptionalParamSetter},lkID:{type:'string',setter:urlOptionalParamSetter},lkPG:{type:'string',setter:urlOptionalParamSetter},limExGenLocPrio:{type:'string',setter:urlOptionalParamSetter},limExGenSoundex:{type:'bool',setter:urlOptionalParamSetter},limAddSrvTHEME:{type:'string',setter:urlOptionalParamSetter},limAddSrvType:{type:'string',setter:urlOptionalParamSetter},limAddSrvProducts:{type:'string',setter:urlOptionalParamSetter},limAddSrvServices:{type:'string',setter:urlOptionalParamSetter},limAddSrvServiceProviders:{type:'string',setter:urlOptionalParamSetter},limAddSrvServiceProviderCriterias:{type:'string',setter:urlOptionalParamSetter},limAddSrvServiceCriterias:{type:'string',setter:urlOptionalParamSetter},limAddSrvMARK:{type:'string',setter:urlOptionalParamSetter},limExAddRQRT:{type:'string',setter:urlOptionalParamSetter},limACCMARK:{type:'string',setter:urlOptionalParamSetter},limACCCAT:{type:'string',setter:urlOptionalParamSetter},limACCSTAR:{type:'string',setter:urlOptionalParamSetter},limACCSPCRI:{type:'string',setter:urlOptionalParamSetter},limACCSRCRI:{type:'string',setter:urlOptionalParamSetter},limACCSPCLASS:{type:'string',setter:urlOptionalParamSetter},limACCSRCLASS:{type:'string',setter:urlOptionalParamSetter},limACCTHEME:{type:'string',setter:urlOptionalParamSetter},limACCCHAIN:{type:'string',setter:urlOptionalParamSetter},limExAccLAC:{type:'int',setter:urlOptionalParamSetter},limExAccShSPwoPr:{type:'bool',setter:urlOptionalParamSetter},limExAccShSPwoUO:{type:'bool',setter:urlOptionalParamSetter},limExAccRQRT:{type:'string',setter:urlOptionalParamSetter},limExAccIsBO:{type:'bool',setter:urlOptionalParamSetter},limExAccUFSrch:{type:'bool',setter:urlOptionalParamSetter},limEVENTTHEME:{type:'string',setter:urlOptionalParamSetter},limEVENTCRITERIA:{type:'string',setter:urlOptionalParamSetter},limSERIALEVENTS:{type:'string',setter:urlOptionalParamSetter},limTOPEVENTS:{type:'bool',setter:urlOptionalParamSetter},limVISIBILITYLEVEL:{type:'int',setter:urlOptionalParamSetter},limINFOSYSTEMTHEME:{type:'string',setter:urlOptionalParamSetter},limINFOSYSTEMTYPE:{type:'int',setter:urlOptionalParamSetter},limINFOSYSTEMTOPICS:{type:'string',setter:urlOptionalParamSetter},limINFOSYSTEMSUBTOPICS:{type:'string',setter:urlOptionalParamSetter},limBROCHURETHEMES:{type:'string',setter:urlOptionalParamSetter},limBROCHUREGROUPS:{type:'string',setter:urlOptionalParamSetter},limPACKAGEGROUP:{type:'string',setter:urlOptionalParamSetter},limPACKAGETHEME:{type:'string',setter:urlOptionalParamSetter},limPACKAGETYPES:{type:'int',setter:urlOptionalParamSetter},filterAddServicesTypes:{type:'string[]',setter:filtersSetter,target:'filterAddServices.types'},filterAddServicesHolidayThemes:{type:'string[]',setter:filtersSetter,target:'filterAddServices.holidayThemes'},filterAddServicesLocations:{type:'string[]',setter:filtersSetter,target:'filterAddServices.locations'},filterAccommodationCategories:{type:'string[]',setter:filtersSetter,target:'filterAccommodation.categories'},filterAccommodationLocations:{type:'string[]',setter:filtersSetter,target:'filterAccommodation.locations'},filterAccommodationRooms:{type:'int[]',setter:filtersSetter,target:'filterAccommodation.rooms'},filterAccommodationBedrooms:{type:'int[]',setter:filtersSetter,target:'filterAccommodation.bedrooms'},filterAccommodationStars:{type:'string[]',setter:filtersSetter,target:'filterAccommodation.stars'},filterAccommodationCriterias:{type:'string[]',setter:filtersSetter,target:'filterAccommodation.criterias'},filterAccommodationClassifications:{type:'string[]',setter:filtersSetter,target:'filterAccommodation.classifications'},filterAccommodationTopClassifications:{type:'string[]',setter:filtersSetter,target:'filterAccommodation.topClassifications'},filterAccommodationMarketinggroups:{type:'string[]',setter:filtersSetter,target:'filterAccommodation.marketinggroups'},filterAccommodationPriceFrom:{type:'int',setter:filtersSetter,target:'filterAccommodation.price.from'},filterAccommodationPriceTo:{type:'int',setter:filtersSetter,target:'filterAccommodation.price.to'},filterAccommodationBestPrice:{type:'bool',setter:filtersSetter,target:'filterAccommodation.bestPrice'}
21,filterAccommodationSpecialPrice:{type:'bool',setter:filtersSetter,target:'filterAccommodation.specialPrice'},filterAccommodationSpecialOffer:{type:'bool',setter:filtersSetter,target:'filterAccommodation.specialOffer'},filterEventTopEvent:{type:'bool',setter:filtersSetter,target:'filterEvent.topEvent'},filterEventLocations:{type:'string[]',setter:filtersSetter,target:'filterEvent.locations'},filterEventCriteria:{type:'string[]',setter:filtersSetter,target:'filterEvent.criteria'},filterEventGroups:{type:'string[]',setter:filtersSetter,target:'filterEvent.eventGroups'},filterEventHolidayThemes:{type:'string[]',setter:filtersSetter,target:'filterEvent.holidayThemes'},filterInfrastructureOpeningTimes:{type:'int[]',setter:filtersSetter,target:'filterInfrastructure.openingTimes'},filterInfrastructureTypes:{type:'string[]',setter:filtersSetter,target:'filterInfrastructure.infrastructureTypes'},filterInfrastructureTopics:{type:'string[]',setter:filtersSetter,target:'filterInfrastructure.topics'},filterInfrastructureLocations:{type:'string[]',setter:filtersSetter,target:'filterInfrastructure.locations'},filterInfrastructureHolidayThemes:{type:'string[]',setter:filtersSetter,target:'filterInfrastructure.holidayThemes'},filterBrochureGroups:{type:'string[]',setter:filtersSetter,target:'filterBrochures.brochureGroups'},filterBrochureHolidayThemes:{type:'string[]',setter:filtersSetter,target:'filterBrochures.holidayThemes'},filterBrochureLanguages:{type:'string[]',setter:filtersSetter,target:'filterBrochures.languages'},filterPackageGroups:{type:'string[]',setter:filtersSetter,target:'filterPackage.groups'},filterPackageHolidayThemes:{type:'string[]',setter:filtersSetter,target:'filterPackage.holidayThemes'},filterTourLanguages:{type:'string[]',setter:filtersSetter,target:'filterTour.languages'},filterTourCategories:{type:'string[]',setter:filtersSetter,target:'filterTour.categories'},filterTourHolidayThemes:{type:'string[]',setter:filtersSetter,target:'filterTour.holidayThemes'},filterTourTopTour:{type:'bool',setter:filtersSetter,target:'filterTour.topTour'}}
22const valueConverter={string:val=>String(val),bool:val=>!(val==='0'||val==='false'||val===!1),int:val=>parseInt(val),'string[]':val=>{const array=Array.isArray(val)?val:typeof val==='string'?val.split(','):[val]
23return array.map(String)},'int[]':val=>{const array=Array.isArray(val)?val:typeof val==='string'?val.split(','):[val]
24return array.map(parseInt)}}
25for(const[urlParamKey,urlParamValue]of urlParams.entries()){if(!Object.prototype.hasOwnProperty.call(urlParamsConfig,urlParamKey)){continue}
26const urlParamConfig=urlParamsConfig[urlParamKey]
27let paramValue=null
28if(Object.prototype.hasOwnProperty.call(valueConverter,urlParamConfig.type||'none')){paramValue=valueConverter[urlParamConfig.type](urlParamValue)}else{paramValue=urlParamValue}
29urlParamConfig.setter(urlParamKey,paramValue,urlParamConfig)}
30if(urlOptionalParams.size>0){settings.urlOptionalParams=urlOptionalParams.toString()}
31let tmpFilter=sessionStorage.getItem('ndsibesearch_tmp_filter')
32if(tmpFilter&&tmpFilter!==''){tmpFilter=JSON.parse(tmpFilter)
33sessionStorage.setItem('ndsibesearch_tmp_filter','')}
34settings.dw.profileOverrides=['general.navigation.visible='+(parseInt(settings.generalNavigationVisible)>0),accommodationView]
35if(customPOIs.length>0){settings.dw.profileOverrides.push('general.customPOIs=customPOIs')}
36settings.dw.allowScrollOnApplicationStart=parseInt(settings.allowScrollOnApplicationStart)>0
37settings.dw.lang=document.documentElement.lang||'de'
38settings.dw.styleResources=stylesheet?[stylesheet]:[]
39if(tmpFilter&&typeof tmpFilter==='object'&&Object.prototype.hasOwnProperty.call(tmpFilter,'filter')){if(!settings.preselectedFilters){settings.preselectedFilters=tmpFilter.filter}else{settings.preselectedFilters=deepMerge(settings.preselectedFilters,tmpFilter.filter)}}
40dw('settings',settings.tagId,settings.dw)
41if(Object.entries(settings.preselectedFilters||{}).length!==0){dw('onFilterOverride',settings.tagId,function(event){if(event&&event.filter&&settings.preselectedFilters){Object.assign(event.filter,settings.preselectedFilters)}})}
42dw('onUserAction',settings.tagId,function(e){window.dispatchEvent(new CustomEvent('tosc5UserAction',{detail:e}))
43t5tq.push({eventName:'onUserAction',event:e})})
44dw('onPageLoad',settings.tagId,(e)=>
44{const revertPages=[100,102,104,106,108,110,112]
45revertPages.includes(e.pageType)?revertTitle():dynamicTitle(e.pageTitle)})
46function deepMerge(target,source){const result={...target,...source}
47for(const key of Object.keys(result)){result[key]=typeof target[key]==='object'&&typeof source[key]==='object'?deepMerge(target[key],source[key]):structuredClone(result[key])}
48return result}}

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.