1(function(){if(window.FeeyDeliveryCutoff)return;function computeEaster(y){var a=y%19,b=Math.floor(y/100),c=y%100,d=Math.floor(b/4),e=b%4,f=Math.floor((b+8)/25),g=Math.floor((b-f+1)/3),h=(19*a+b-d-g+15)%30,i=Math.floor(c/4),k=c%4,l=(32+2*e+2*i-h-k)%7,m=Math.floor((a+11*h+22*l)/451),month=Math.floor((h+l-7*m+114)/31),day=(h+l-7*m+114)%31+1;return new Date(y,month-1,day)}var HOLIDAY_CACHE={};function getHolidaysForYear(y){if(HOLIDAY_CACHE[y])return HOLIDAY_CACHE[y].slice();var E=computeEaster(y);function rel(n){return isoOf(new Date(E.getFullYear(),E.getMonth(),E.getDate()+n))}var list=[y+"-01-01",y+"-01-02",rel(-2),rel(1),y+"-05-01",rel(39),rel(50),y+"-08-01",y+"-08-15",y+"-11-01",y+"-12-08",y+"-12-25",y+"-12-26"];return HOLIDAY_CACHE[y]=list,list.slice()}var GERMAN_MONTHS=["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],GERMAN_DAYS_SHORT=["So","Mo","Di","Mi","Do","Fr","Sa"];function pad2(n){return("0"+n).slice(-2)}function isoOf(d){return d.getFullYear()+"-"+pad2(d.getMonth()+1)+"-"+pad2(d.getDate())}function startOfDay(d){return new Date(d.getFullYear(),d.getMonth(),d.getDate())}function isoToDdMmYyyy(iso){var p=(iso||"").split("-");return p.length!==3?iso||"":p[2]+"/"+p[1]+"/"+p[0]}function escapeHTML(s){return String(s==null?"":s).replace(/[&<>"']/g,function(c){return{"&":"&","<":"<",">":">",'"':""","'":"'"}[c]})}function getZurichNow(){var z;try{for(var fmt=new Intl.DateTimeFormat("en-CA",{timeZone:"Europe/Zurich",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}),parts=fmt.formatToParts(new Date),out={},i=0;i<parts.length;i++)parts[i].type!=="literal"&&(out[parts[i].type]=parts[i].value);z={year:parseInt(out.year,10),month:parseInt(out.month,10),day:parseInt(out.day,10),hour:parseInt(out.hour,10)}}catch(e){var n=new Date;z={year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate(),hour:n.getHours()}}try{var search=typeof window!="undefined"&&window.location&&window.location.search||"";search.indexOf("feey_force_after_noon=1")!==-1?z.hour=13:search.indexOf("feey_force_before_noon=1")!==-1&&(z.hour=9)}catch(e2){}return z}function getZurichTodayIso(){var z=getZurichNow();return z.year+"-"+pad2(z.month)+"-"+pad2(z.day)}function getMinDate(){var z=getZurichNow(),todayZ=new Date(z.year,z.month-1,z.day),offset=z.hour<12?1:2;return todayZ.setDate(todayZ.getDate()+offset),todayZ}function parseAdminBlockedDatesFromText(raw){var out={};if(typeof raw!="string")return out;for(var todayIso=getZurichTodayIso(),lines=raw.split(/\r?\n/),i=0;i<lines.length;i++){var s=lines[i].trim();/^\d{4}-\d{2}-\d{2}$/.test(s)&&s>=todayIso&&(out[s]=!0)}return out}function buildBlockedDateSet(adminDates){for(var s={},baseYear=getZurichNow().year,yr=baseYear-1;yr<=baseYear+2;yr++)for(var hs=getHolidaysForYear(yr),hi=0;hi<hs.length;hi++)s[hs[hi]]=!0;try{if(typeof window!="undefined")for(var globals=["FEY_SG_EXTRA_HOLIDAYS","FEY_DE_EXTRA_HOLIDAYS"],g=0;g<globals.length;g++){var arr=window[globals[g]];if(Array.isArray(arr))for(var gi=0;gi<arr.length;gi++)typeof arr[gi]=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(arr[gi])&&(s[arr[gi]]=!0)}}catch(e){}if(adminDates)if(Array.isArray(adminDates))for(var j=0;j<adminDates.length;j++)s[adminDates[j]]=!0;else for(var k in adminDates)adminDates.hasOwnProperty(k)&&(s[k]=!0);return s}function isBlockedWeekday(d){var dow=d.getDay();return dow===0||dow===1||dow===2}function isBlocked(d,blockedDates,minDate){return!!(d<minDate||isBlockedWeekday(d)||blockedDates&&blockedDates[isoOf(d)])}function createCalendar(rootEl,options){options=options||{};var blockedDates=options.blockedDates||{},maxMonthsAhead=options.maxMonthsAhead||2,onPick=options.onPick||function(){},classPrefix=options.classPrefix||"feey-fdc",saturdayBadge=typeof options.saturdayBadge=="string"?options.saturdayBadge:"+4.90",selectedIso=options.initialIso||"";rootEl.innerHTML='<div class="'+classPrefix+'__head"><button type="button" class="'+classPrefix+'__nav" data-cal-prev aria-label="Vorheriger Monat">\u2039</button><span class="'+classPrefix+'__month" data-cal-month></span><button type="button" class="'+classPrefix+'__nav" data-cal-next aria-label="N\xE4chster Monat">\u203A</button></div><div class="'+classPrefix+'__weekdays" aria-hidden="true"><span>Mo</span><span>Di</span><span>Mi</span><span>Do</span><span>Fr</span><span>Sa</span><span>So</span></div><div class="'+classPrefix+'__grid" role="grid" data-cal-grid></div>';var monthLabel=rootEl.querySelector("[data-cal-month]"),grid=rootEl.querySelector("[data-cal-grid]"),prevBtn=rootEl.querySelector("[data-cal-prev]"),nextBtn=rootEl.querySelector("[data-cal-next]"),viewYear=null,viewMonth=null;function initView(){var min=getMinDate();if(selectedIso){var p=selectedIso.split("-");
1viewYear=parseInt(p[0],10),viewMonth=parseInt(p[1],10)-1}else viewYear=min.getFullYear(),viewMonth=min.getMonth()}function render(){viewYear===null&&initView();var minDate=getMinDate(),zNow=getZurichNow(),maxDate=new Date(zNow.year,zNow.month+maxMonthsAhead,0),todayIso=getZurichTodayIso();monthLabel.textContent=GERMAN_MONTHS[viewMonth]+" "+viewYear;for(var firstOfMonth=new Date(viewYear,viewMonth,1),lastOfMonth=new Date(viewYear,viewMonth+1,0),leadEmpty=(firstOfMonth.getDay()+6)%7,totalCells=leadEmpty+lastOfMonth.getDate();totalCells%7!==0;)totalCells++;for(var html="",i=0;i<totalCells;i++){var dayNum=i-leadEmpty+1;if(dayNum<1||dayNum>lastOfMonth.getDate()){html+='<button type="button" class="'+classPrefix+'__cell is-empty" tabindex="-1" aria-hidden="true"></button>';continue}var d=new Date(viewYear,viewMonth,dayNum),iso=isoOf(d),isSat=d.getDay()===6,classes=classPrefix+"__cell",ariaLabel=dayNum+". "+GERMAN_MONTHS[viewMonth]+" "+viewYear,blocked=isBlocked(d,blockedDates,minDate)||d>maxDate;blocked?(classes+=" is-blocked",ariaLabel+=" \u2014 nicht verf\xFCgbar"):isSat&&(classes+=" is-saturday",ariaLabel+=" \u2014 Samstag, Zuschlag CHF 4.90"),iso===todayIso&&(classes+=" is-today"),selectedIso===iso&&(classes+=" is-selected");var feeBadge=!blocked&&isSat&&saturdayBadge?'<span class="'+classPrefix+'__cell-fee">'+escapeHTML(saturdayBadge)+"</span>":"";html+='<button type="button" class="'+classes+'" data-cal-day="'+iso+'" aria-label="'+escapeHTML(ariaLabel)+'"'+(blocked?' aria-disabled="true"':"")+"><span>"+dayNum+"</span>"+feeBadge+"</button>"}grid.innerHTML=html;var prevMonthLast=new Date(viewYear,viewMonth,0);prevBtn.disabled=prevMonthLast<minDate;var nextMonthFirst=new Date(viewYear,viewMonth+1,1);nextBtn.disabled=nextMonthFirst>maxDate;for(var cells=grid.querySelectorAll("[data-cal-day]"),j=0;j<cells.length;j++)(function(btn){btn.addEventListener("click",function(){if(!(btn.classList.contains("is-blocked")||btn.classList.contains("is-empty"))){var iso2=btn.getAttribute("data-cal-day"),p=iso2.split("-"),dt=new Date(parseInt(p[0],10),parseInt(p[1],10)-1,parseInt(p[2],10)),dateLabel=GERMAN_DAYS_SHORT[dt.getDay()]+" "+dt.getDate()+"."+(dt.getMonth()+1)+".";selectedIso=iso2;for(var k=0;k<cells.length;k++)cells[k].classList.toggle("is-selected",cells[k]===btn);onPick(iso2,dateLabel)}})})(cells[j])}return prevBtn.addEventListener("click",function(){prevBtn.disabled||(viewMonth-=1,viewMonth<0&&(viewMonth=11,viewYear-=1),render())}),nextBtn.addEventListener("click",function(){nextBtn.disabled||(viewMonth+=1,viewMonth>11&&(viewMonth=0,viewYear+=1),render())}),initView(),render(),{getSelectedIso:function(){return selectedIso},setSelectedIso:function(iso){if(selectedIso=iso||"",selectedIso){var p=selectedIso.split("-");viewYear=parseInt(p[0],10),viewMonth=parseInt(p[1],10)-1}render()},revalidate:function(){if(selectedIso){var p=selectedIso.split("-"),picked=new Date(parseInt(p[0],10),parseInt(p[1],10)-1,parseInt(p[2],10));picked<getMinDate()&&(selectedIso="")}render()},goToMonth:function(year,month){viewYear=year,viewMonth=month,render()}}}window.FeeyDeliveryCutoff={pad2:pad2,isoOf:isoOf,startOfDay:startOfDay,isoToDdMmYyyy:isoToDdMmYyyy,escapeHTML:escapeHTML,getZurichNow:getZurichNow,getZurichTodayIso:getZurichTodayIso,getMinDate:getMinDate,parseAdminBlockedDatesFromText:parseAdminBlockedDatesFromText,buildBlockedDateSet:buildBlockedDateSet,isBlockedWeekday:isBlockedWeekday,isBlocked:isBlocked,createCalendar:createCalendar,getHolidaysForYear:getHolidaysForYear,GERMAN_MONTHS:GERMAN_MONTHS,GERMAN_DAYS_SHORT:GERMAN_DAYS_SHORT}})(); 2//# sourceMappingURL=/cdn/shop/t/54/assets/feey-delivery-cutoff.js.map?v=111919574596483814391781885718
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.