Next sale 2025: Predict dates, how to get a VIP slot and more!
If you are looking to save money and get excellent offers, the next sale is the perfect opportunity. Known for its mass discounts on clothing, household items and beauty products, it is one of the most popular purchasing events in the United Kingdom.
Do you ask when the next sale is happening or how to make the most of it? You are not alone. Buyers wait all year for these sales, and with VIP sales spaces, you can get early access to the best bargains before they leave.
In this guide, I will share predicted dates by 2025, I will explain how to get a VIP slot and give you simple advice to help you buy and save more. Whether it is your first sale in the next sale or regular, this guide will prepare it and prepare to make the most of it.
Key control
I predicted the sale dates of the next sale 2025: Early times for spring sales, summer and boxing day based on previous trends.
How to access the VIP sales slots: Simple steps to qualify for early access and buy before the crowds.
Tips for saving money in the next sale: Practical advice on budgets, delivery plans and purchase strategies.
What is the next sale?
The next sale is one of the most popular purchasing events in the United Kingdom, which takes place several times a year and offers great discounts on clothing, footwear, household items and beauty products.
The sale is available both online and in the store, but many buyers prefer the convenience of online access, especially with the option of buying early for VIP customers.
Discounts vary from 30% to 70%, with the sale of boxing day the highlight thanks to its unbeatable networks.
The expected sales dates of the next sale by 2025
Although the next one has not officially announced its 2025 sales dates, predictions based on previous years provide a reliable idea of when these events are likely to take place:
Spring sale: Planned to start at the end of March.
Summer sale: Planned that it will begin in early July.
Winter sale: Predicted that it will begin in mid -December, with general access from Boxing Day, on December 26.
How to get early access to the next sale
Having early access to the next sale can make a big difference, especially if you look for high -demand items such as clothing in popular sizes or trend home items.
The best way to secure this advantage is to qualify for a VIP sales slot, which allows you to buy online to the general public.
What are VIP sales spaces?
VIP slot machines are invitations offered with loyal customers, which gives them the opportunity to buy early sale. If you qualify, you will then send an email with a personalized link and a specific moment to start buying.
This exclusive access, which is only online, can help you secure the best bargains before articles run out. It is particularly useful during the sale of boxing day or other important events when demand is high.
How to qualify for a next sale VIP tragamoned
If you are looking to improve your chances of being selected for an upcoming VIP sales slot, here are the key steps to follow:
Open a following credit account: Having a NextPay account or a credit account is often a main eligibility requirement.
Keep your credit balance available: Make sure your account is at least 250 of credit available, since this is typically one of the conditions to receive an invitation.
Buy regularly: Customers who buy frequently, either online or in the store, are more likely to qualify for VIP access.
Keep the emails signed: The VIP invitations are sent by email, so be sure to register for the promotional emails of Next and that your contact information is updated.
If you receive an invitation, it is important to reserve your slot quickly. These spaces are limited and very sought after, so ensuring their early place is key to obtaining the best offers.
The next unlimited plan
If you plan to buy the next online sale, it is worth considering the next unlimited plan. By £ 22 a year, it offers unlimited delivery the next day, helping you save money on delivery costs and ensure that your items arrive quickly, even during the periods of sale occupied.
The plan is particularly useful during sales when you can make multiple orders such as new agreements. Instead of paying delivery every time, this subscription covers all its orders for the whole year.
Benefits of the next unlimited plan
Delivery the next day: Get your orders quickly, even during maximum purchase times such as the sale of boxing day.
Profitable: A £ 22 a year, it is much cheaper than paying for delivery with each order.
Excellent sale buyers: During sales, when multiple orders are common, this plan ensures that it does not accumulate additional delivery costs.
For those who regularly buy the next, the unlimited plan is an easy way to save money and enjoy quick and problems without problems throughout the year.
Can you return the items bought in the next sale?
Yes, items bought during the next sale can be returned, which is excellent if it changes your mind about a size, style or product. This flexible policy makes it easier to buy without worrying about being stuck with something that suits you.
Return of deadlines and refunds
Articles can be returned within 28 days after delivery or collection, provided they are not used and, when possible, in their original packaging.
Within 28 days: A complete refund to its original payment method will be issued.
After 28 days: Refunds can be provided as Evouchers.
Having a clear window for returns gives you the flexibility of buying with confidence during the sale.
How to return the next sale purchases
Next, it offers several ways to return items, so you can choose the one that works best for you:
Returns in the store: Take your items to any next store to get a quick reimbursement. This is the fastest option.
Postal returns: Use Royal Mail or EVRI to return your articles. Keep in mind that a £ 2.50 fee is applied to the frank.
Messaging collection: For comfort, you can make arrangements to collect the items directly from home.
Next Flexible Return options mean that you can buy the sale with peace of mind, know that unwanted items can easily be returned.
Tips for saving money during the next sale
The next sale is already a great opportunity to save, but with a little planning, you can extend your budget even more.
Plan in advance: Use any previous sale view that goes to the next offers to make a shopping list and make up what you really need.
Buy early: If it is eligible for a VIP slot, take full advantage of early access to ensure popular items before they run out.
Establish a budget: Decide how much you want to spend before the sale begins to avoid spending excessively on impulse purchases.
Use the next unlimited plan: Save the delivery rates and make sure your articles quickly arrive with this annual subscription.
By taking these tips into account, you can enjoy a softer and more profitable purchase experience.
In general
The next sale is one of the best moments to save money on clothes, household items and beauty products. Although the official dates for 2025 have not been confirmed, the predicted times for spring, summer and winter sales give a useful idea of when to wait for them.
If you can ensure a VIP sales slot, you will have early access to offers, increasing your possibilities of finding popular items before they run out. For online buyers, the next unlimited plan offers a profitable way to enjoy a quick delivery during the entire sales period.
With the correct preparation and smart shopping options, the next sale can help you find excellent items with significant discounts, so it is a key event for anyone who wants to save.
Frequent questions
What is the next sale?
The next sale is a purchase event held several times a year, offering discounts of up to 70% in clothing, household items and beauty products. Often includes current season collections along with liquidation stocks, which makes it a great opportunity to save on high quality items.
When will the next spring sale take place?
The next spring sale is expected to begin at the end of March 2025.
When will the next summer sale take place?
The sale of next summer is expected to begin at the beginning of July 2025.
When is the next winter sale?
The next winter sale is expected to begin with VIP access in mid -December 2025, with general access from Boxing Day, December 26.
How do I qualify for a VIP sales slot?
To qualify for a VIP sales slot, you will need a NextPay account or a credit account with at least £ 250 of available credit. Buying regularly and staying subscribed to the promotional emails of Next can also improve its possibilities.
Can I return the items bought during the next sale?
The items bought during the next sale can be returned within 28 days of delivery or collection. Refunds are issued to their original payment method if returned within this period. Returns made after 28 days are generally reimbursed as Evouchers.
What discounts can I expect during the next sale?
Discounts during the next sale generally vary from 30% to 70% and apply to categories such as clothing, household items and beauty products.
Is it worth the next unlimited plan?
The next unlimited plan costs £ 22 per year and offers unlimited delivery the next day, so it is a profitable option for frequent buyers, especially during sales.
Should I buy the next online sale or in the store?
Both options have their advantages. Online purchases offer the comfort of the early VIP access and the delivery of the house, while purchasing at the store allow you to see and try items before buying. Choose the option that best suits your preferences.
Very good, gangs hunters, prepare to upload your savings game because Sam’s Club is about to become her new best friend. At this time, as part of the sale of its presidents, you can obtain a membership by Justo $ 20.
Yes, that’s 60% discount The regular price of $ 50! If you have been waiting for you to finally be a signal, this is. But let’s not stop alone in the deal. I will share some intelligent ways that you can also make that membership work in extra time for you too. You are welcome.
How to maximize your membership
Now that you are in the fast track to join Sam’s Club, let’s see how you can stretch that investment of $ 20. Being a member is not just about saving money, it’s about making life easier and more intelligent.
Do you want to save money and avoid the dreaded question of “what’s for dinner”? Sam’s Club can help you stock up on all the essential elements to facilitate meal preparation. Buy in bulk meals and prepare throughout the week! Here is a combo that will cause the greatness of meal preparation:
Take your packages in beef or ground chicken to cook and freeze.
ABOX your pantry with rice, pasta or quinoa for easy sides (hello, carbohydrates).
Do not forget the Fresh Products section: You can cut, portion and bag vegetables for fast snacks or sauteed kits.
Pinterest idea: Create a Mason’s bottle salad station! Use Sam’s Mason’s bottles and take them with layers of vegetables, proteins and dressings, all of bulk portions. It is convenient, healthy and looks super cute in its refrigerator (read Instagram’s gold).
2. Give bulk purchases a creative touch
Buying in bulk does not mean wasting food or drowning in snacks. It’s about thinking about it. For example, take those boxes of bars or marola chips of mega size in Sam’s Club. Use them for:
Build affordable snack packages for school or work.
Create personalized gift bags for birthday parties or team events.
Moment of Vibes de Pinterest? Use chips bags the size of a snack to make mini piñatas or party favors for children’s birthdays!
Do you want even easier things? Sam’s Club regularly offers kits all in one for parties and events, from sandwiches trays to dessert dishes. Ah, and your frozen section? Perfect for quick comforting foods (we are talking about pizza and gofres rolls for days).
3. Holidays and parties with a budget
Organizing people can be expensive, but not if you have a Sam’s Club card. The dishes of his party are super affordable, and can obtain thematic supplies and bulk supplies such as cups, dishes and utensils for any meeting. And you do not sleep in its floral department, it is a beautiful already a price less than the specialized stores.
Idea worthy of Pinterest: Buy Mini Mason Jars by Sam’s Club, fill them with bulk sweets and put them with printable labels for personalized party favors. Ideal for weddings, Baby Showers or, Devils, on Tuesday afternoon.
4. Save on the essential elements of the home
Laundry detergent, paper towels, cleaning products, you know, the It is not fun but totally necessary stuff. Sam’s Club has those giant packages of essential elements at much better prices than most groceries. Buy them once and be ready for months. Less shopping trips = more time for things like seeing your favorite programs.
Hack Pinterest: Convert bulk cleaning supplies into a nice DIY project of home organizer! Gócalos in transparent jars or containers, tag them with slate stickers and voilà: functional fantasy and Pinterest level.
5. Exclusive offers on great savings
Another secret weapon? You will find good crazy prices in everything from electronics to mattresses. Do you need a new iPhone? A grill for outdoor meals? Verify the Sam Club first. In addition, its health and beauty section often carries brand products at better prices, and maybe even some luxury robberies (think of skin care and hair care care brands).
Final thoughts
There you have it, it is not only this offer of the presidents of the presidents of $ 20 the perfect excuse to join Sam’s Club finally, but it is also your gold ticket for a more friendly life for the budget and worthy of Pinterest. Whether you are preparing, buying vacations or simply tired of paying more essential, savings are endless.
Don’t forget, this one 60% discount The membership agreement ends February 26And once he is gone, he has gone. Register online Or go to your local Sam Club and start enjoying all the advantages. Happy bulk purchase!
PD: If you make those mason bottle salads or mini sweet bottles, tag in Pinterest; I need to see your brilliance in action.
See the places of interest in Madrid and Barcelona, with a customizable itinerary. It will fly to Madrid and outside of Barcelona, with international round trip tickets included, and hundreds of hotels to choose from, while you can choose the duration of your stay in each city, and which of the optional activities you want to add to your trip (at an additional cost). Reserve this travel agreement before July 31.
Start planning your summer empties and autumn with all our best travel offers. Buy now in tripmasters
“;outerWrapper.insertAdjacentHTML(getInsertPosition(options.navPosition),navHtml);navContainer=outerWrapper.querySelector(“.tns-nav”);navItems=navContainer.children}updateNavVisibility();if(TRANSITIONDURATION){var prefix=TRANSITIONDURATION.substring(0,TRANSITIONDURATION.length-18).toLowerCase(),str=”transition: all “+speed/1000+”s”;if(prefix){str=”-“+prefix+”-“+str}addCSSRule(sheet,”(aria-controls^=”+slideId+”-item)”,str,getCssRulesLength(sheet))}setAttrs(navItems(navCurrentIndex),{“aria-label”:navStr+(navCurrentIndex+1)+navStrCurrent});removeAttrs(navItems(navCurrentIndex),”tabindex”);addClass(navItems(navCurrentIndex),navActiveClass);addEvents(navContainer,navEvents)}if(hasControls){if(!controlsContainer&&(!prevButton||!nextButton)){outerWrapper.insertAdjacentHTML(getInsertPosition(options.controlsPosition),”
“);controlsContainer=outerWrapper.querySelector(“.tns-controls”)}if(!prevButton||!nextButton){prevButton=controlsContainer.children(0);nextButton=controlsContainer.children(1)}if(options.controlsContainer){setAttrs(controlsContainer,{“aria-label”:”Carousel Navigation”,”tabindex”:”0″})}if(options.controlsContainer||options.prevButton&&options.nextButton){setAttrs((prevButton,nextButton),{“aria-controls”:slideId,”tabindex”:”-1″})}if(options.controlsContainer||options.prevButton&&options.nextButton){setAttrs(prevButton,{“data-controls”:”prev”});setAttrs(nextButton,{“data-controls”:”next”})}prevIsButton=isButton(prevButton);nextIsButton=isButton(nextButton);updateControlsStatus();if(controlsContainer){addEvents(controlsContainer,controlsEvents)}else{addEvents(prevButton,controlsEvents);addEvents(nextButton,controlsEvents)}}disableUI()}function initEvents(){if(carousel&&TRANSITIONEND){var eve={};eve(TRANSITIONEND)=onTransitionEnd;addEvents(container,eve)}if(touch){addEvents(container,touchEvents,options.preventScrollOnTouch)}if(mouseDrag){addEvents(container,dragEvents)}if(arrowKeys){addEvents(doc,docmentKeydownEvent)}if(nested===”inner”){events.on(“outerResized”,function(){resizeTasks();events.emit(“innerLoaded”,info())})}else if(responsive||fixedWidth||autoWidth||autoHeight||!horizontal){addEvents(win,{“resize”:onResize})}if(autoHeight){if(nested===”outer”){events.on(“innerLoaded”,doAutoHeight)}else if(!disable){doAutoHeight()}}doLazyLoad();if(disable){disableSlider()}else if(freeze){freezeSlider()}events.on(“indexChanged”,additionalUpdates);if(nested===”inner”){events.emit(“innerLoaded”,info())}if(typeof onInit===”function”){onInit(info())}isOn=true}function destroy(){sheet.disabled=true;if(sheet.ownerNode){sheet.ownerNode.remove()}removeEvents(win,{“resize”:onResize});if(arrowKeys){removeEvents(doc,docmentKeydownEvent)}if(controlsContainer){removeEvents(controlsContainer,controlsEvents)}if(navContainer){removeEvents(navContainer,navEvents)}removeEvents(container,hoverEvents);removeEvents(container,visibilityEvent);if(autoplayButton){removeEvents(autoplayButton,{“click”:toggleAutoplay})}if(autoplay){clearInterval(autoplayTimer)}if(carousel&&TRANSITIONEND){var eve={};eve(TRANSITIONEND)=onTransitionEnd;removeEvents(container,eve)}if(touch){removeEvents(container,touchEvents)}if(mouseDrag){removeEvents(container,dragEvents)}var htmlList=(containerHTML,controlsContainerHTML,prevButtonHTML,nextButtonHTML,navContainerHTML,autoplayButtonHTML);tnsList.forEach(function(item,i){var el=item===”container”?outerWrapper:options(item);if(typeof el===”object”){var prevEl=el.previousElementSibling?el.previousElementSibling:false,parentEl=el.parentNode;el.outerHTML=htmlList(i);options(item)=prevEl?prevEl.nextElementSibling:parentEl.firstElementChild}});tnsList=animateIn=animateOut=animateDelay=animateNormal=horizontal=outerWrapper=innerWrapper=container=containerParent=containerHTML=slideItems=slideCount=breakpointZone=windowWidth=autoWidth=fixedWidth=edgePadding=gutter=viewport=items=slideBy=viewportMax=arrowKeys=speed=rewind=loop=autoHeight=sheet=lazyload=slidePositions=slideItemsOut=cloneCount=slideCountNew=hasRightDeadZone=rightBoundary=updateIndexBeforeTransform=transformAttr=transformPrefix=transformPostfix=getIndexMax=index=indexCached=indexMin=indexMax=resizeTimer=swipeAngle=moveDirectionExpected=running=onInit=events=newContainerClasses=slideId=disable=disabled=freezable=freeze=frozen=controlsEvents=navEvents=hoverEvents=visibilityEvent=docmentKeydownEvent=touchEvents=dragEvents=hasControls=hasNav=navAsThumbnails=hasAutoplay=hasTouch=hasMouseDrag=slideActiveClass=imgCompleteClass=imgEvents=imgsComplete=controls=controlsText=controlsContainer=controlsContainerHTML=prevButton=nextButton=prevIsButton=nextIsButton=nav=navContainer=navContainerHTML=navItems=pages=pagesCached=navClicked=navCurrentIndex=navCurrentIndexCached=navActiveClass=navStr=navStrCurrent=autoplay=autoplayTimeout=autoplayDirection=autoplayText=autoplayHoverPause=autoplayButton=autoplayButtonHTML=autoplayResetOnVisibility=autoplayHtmlStrings=autoplayTimer=animating=autoplayHoverPaused=autoplayUserPaused=autoplayVisibilityPaused=initPosition=lastPosition=translateInit=disX=disY=panStart=rafIndex=getDist=touch=mouseDrag=null;for(var a in this){if(a!==”rebuild”){this(a)=null}}isOn=false}function onResize(e){raf(function(){resizeTasks(getEvent(e))})}function resizeTasks(e){if(!isOn){return}if(nested===”outer”){events.emit(“outerResized”,info(e))}windowWidth=getWindowWidth();var bpChanged,breakpointZoneTem=breakpointZone,needContainerTransform=false;if(responsive){setBreakpointZone();bpChanged=breakpointZoneTem!==breakpointZone;if(bpChanged){events.emit(“newBreakpointStart”,info(e))}}var indChanged,itemsChanged,itemsTem=items,disableTem=disable,freezeTem=freeze,arrowKeysTem=arrowKeys,controlsTem=controls,navTem=nav,touchTem=touch,mouseDragTem=mouseDrag,autoplayTem=autoplay,autoplayHoverPauseTem=autoplayHoverPause,autoplayResetOnVisibilityTem=autoplayResetOnVisibility,indexTem=index;if(bpChanged){var fixedWidthTem=fixedWidth,autoHeightTem=autoHeight,controlsTextTem=controlsText,centerTem=center,autoplayTextTem=autoplayText;if(!CSSMQ){var gutterTem=gutter,edgePaddingTem=edgePadding}}arrowKeys=getOption(“arrowKeys”);controls=getOption(“controls”);nav=getOption(“nav”);touch=getOption(“touch”);center=getOption(“center”);mouseDrag=getOption(“mouseDrag”);autoplay=getOption(“autoplay”);autoplayHoverPause=getOption(“autoplayHoverPause”);autoplayResetOnVisibility=getOption(“autoplayResetOnVisibility”);if(bpChanged){disable=getOption(“disable”);fixedWidth=getOption(“fixedWidth”);speed=getOption(“speed”);autoHeight=getOption(“autoHeight”);controlsText=getOption(“controlsText”);autoplayText=getOption(“autoplayText”);autoplayTimeout=getOption(“autoplayTimeout”);if(!CSSMQ){edgePadding=getOption(“edgePadding”);gutter=getOption(“gutter”)}}resetVariblesWhenDisable(disable);viewport=getViewportWidth();if((!horizontal||autoWidth)&&!disable){setSlidePositions();if(!horizontal){updateContentWrapperHeight();needContainerTransform=true}}if(fixedWidth||autoWidth){rightBoundary=getRightBoundary();indexMax=getIndexMax()}if(bpChanged||fixedWidth){items=getOption(“items”);slideBy=getOption(“slideBy”);itemsChanged=items!==itemsTem;if(itemsChanged){if(!fixedWidth&&!autoWidth){indexMax=getIndexMax()}updateIndex()}}if(bpChanged){if(disable!==disableTem){if(disable){disableSlider()}else{enableSlider()}}}if(freezable&&(bpChanged||fixedWidth||autoWidth)){freeze=getFreeze();if(freeze!==freezeTem){if(freeze){doContainerTransform(getContainerTransformValue(getStartIndex(0)));freezeSlider()}else{unfreezeSlider();needContainerTransform=true}}}resetVariblesWhenDisable(disable||freeze);if(!autoplay){autoplayHoverPause=autoplayResetOnVisibility=false}if(arrowKeys!==arrowKeysTem){arrowKeys?addEvents(doc,docmentKeydownEvent):removeEvents(doc,docmentKeydownEvent)}if(controls!==controlsTem){if(controls){if(controlsContainer){showElement(controlsContainer)}else{if(prevButton){showElement(prevButton)}if(nextButton){showElement(nextButton)}}}else{if(controlsContainer){hideElement(controlsContainer)}else{if(prevButton){hideElement(prevButton)}if(nextButton){hideElement(nextButton)}}}}if(nav!==navTem){nav?showElement(navContainer):hideElement(navContainer)}if(touch!==touchTem){touch?addEvents(container,touchEvents,options.preventScrollOnTouch):removeEvents(container,touchEvents)}if(mouseDrag!==mouseDragTem){mouseDrag?addEvents(container,dragEvents):removeEvents(container,dragEvents)}if(autoplay!==autoplayTem){if(autoplay){if(autoplayButton){showElement(autoplayButton)}if(!animating&&!autoplayUserPaused){startAutoplay()}}else{if(autoplayButton){hideElement(autoplayButton)}if(animating){stopAutoplay()}}}if(autoplayHoverPause!==autoplayHoverPauseTem){autoplayHoverPause?addEvents(container,hoverEvents):removeEvents(container,hoverEvents)}if(autoplayResetOnVisibility!==autoplayResetOnVisibilityTem){autoplayResetOnVisibility?addEvents(doc,visibilityEvent):removeEvents(doc,visibilityEvent)}if(bpChanged){if(fixedWidth!==fixedWidthTem||center!==centerTem){needContainerTransform=true}if(autoHeight!==autoHeightTem){if(!autoHeight){innerWrapper.style.height=””}}if(controls&&controlsText!==controlsTextTem){prevButton.innerHTML=controlsText(0);nextButton.innerHTML=controlsText(1)}if(autoplayButton&&autoplayText!==autoplayTextTem){var i=autoplay?1:0,html=autoplayButton.innerHTML,len=html.length-autoplayTextTem(i).length;if(html.substring(len)===autoplayTextTem(i)){autoplayButton.innerHTML=html.substring(0,len)+autoplayText(i)}}}else{if(center&&(fixedWidth||autoWidth)){needContainerTransform=true}}if(itemsChanged||fixedWidth&&!autoWidth){pages=getPages();updateNavVisibility()}indChanged=index!==indexTem;if(indChanged){events.emit(“indexChanged”,info());needContainerTransform=true}else if(itemsChanged){if(!indChanged){additionalUpdates()}}else if(fixedWidth||autoWidth){doLazyLoad();updateSlideStatus();updateLiveRegion()}if(itemsChanged||!carousel){updateGallerySlidePositions()}if(!disable&&!freeze){if(bpChanged&&!CSSMQ){if(autoHeight!==autoheightTem||speed!==speedTem){update_carousel_transition_duration()}if(edgePadding!==edgePaddingTem||gutter!==gutterTem){innerWrapper.style.cssText=getInnerWrapperStyles(edgePadding,gutter,fixedWidth,speed,autoHeight)}if(horizontal){if(carousel){container.style.width=getContainerWidth(fixedWidth,gutter,items)}var str=getSlideWidthStyle(fixedWidth,gutter,items)+getSlideGutterStyle(gutter);removeCSSRule(sheet,getCssRulesLength(sheet)-1);addCSSRule(sheet,”#”+slideId+” > .tns-item”,str,getCssRulesLength(sheet))}}if(autoHeight){doAutoHeight()}if(needContainerTransform){doContainerTransformSilent();indexCached=index}}if(bpChanged){events.emit(“newBreakpointEnd”,info(e))}}function getFreeze(){if(!fixedWidth&&!autoWidth){var a=center?items-(items-1)/2:items;return slideCount<=a}var width=fixedWidth?(fixedWidth+gutter)*slideCount:slidePositions(slideCount),vp=edgePadding?viewport+edgePadding*2:viewport+gutter;if(center){vp-=fixedWidth?(viewport-fixedWidth)/2:(viewport-(slidePositions(index+1)-slidePositions(index)-gutter))/2}return width=bp){breakpointZone=bp}}}var updateIndex=function(){return loop?carousel?function(){var leftEdge=indexMin,rightEdge=indexMax;leftEdge+=slideBy;rightEdge-=slideBy;if(edgePadding){leftEdge+=1;rightEdge-=1}else if(fixedWidth){if((viewport+gutter)%(fixedWidth+gutter)){rightEdge-=1}}if(cloneCount){if(index>rightEdge){index-=slideCount}else if(indexindexMax){while(index>=indexMin+slideCount){index-=slideCount}}else if(index<indexMin){while(index<=indexMax-slideCount){index+=slideCount}}}:function(){index=Math.max(indexMin,Math.min(indexMax,index))}}();function disableUI(){if(!autoplay&&autoplayButton){hideElement(autoplayButton)}if(!nav&&navContainer){hideElement(navContainer)}if(!controls){if(controlsContainer){hideElement(controlsContainer)}else{if(prevButton){hideElement(prevButton)}if(nextButton){hideElement(nextButton)}}}}function enableUI(){if(autoplay&&autoplayButton){showElement(autoplayButton)}if(nav&&navContainer){showElement(navContainer)}if(controls){if(controlsContainer){showElement(controlsContainer)}else{if(prevButton){showElement(prevButton)}if(nextButton){showElement(nextButton)}}}}function freezeSlider(){if(frozen){return}if(edgePadding){innerWrapper.style.margin="0px"}if(cloneCount){var str="tns-transparent";for(var i=cloneCount;i–;){if(carousel){addClass(slideItems(i),str)}addClass(slideItems(slideCountNew-i-1),str)}}disableUI();frozen=true}function unfreezeSlider(){if(!frozen){return}if(edgePadding&&CSSMQ){innerWrapper.style.margin=""}if(cloneCount){var str="tns-transparent";for(var i=cloneCount;i–;){if(carousel){removeClass(slideItems(i),str)}removeClass(slideItems(slideCountNew-i-1),str)}}enableUI();frozen=false}function disableSlider(){if(disabled){return}sheet.disabled=true;container.className=container.className.replace(newContainerClasses.substring(1),"");removeAttrs(container,("style"));if(loop){for(var j=cloneCount;j–;){if(carousel){hideElement(slideItems(j))}hideElement(slideItems(slideCountNew-j-1))}}if(!horizontal||!carousel){removeAttrs(innerWrapper,("style"))}if(!carousel){for(var i=index,l=index+slideCount;i<l;i++){var item=slideItems(i);removeAttrs(item,("style"));removeClass(item,animateIn);removeClass(item,animateNormal)}}disableUI();disabled=true}function enableSlider(){if(!disabled){return}sheet.disabled=false;container.className+=newContainerClasses;doContainerTransformSilent();if(loop){for(var j=cloneCount;j–;){if(carousel){showElement(slideItems(j))}showElement(slideItems(slideCountNew-j-1))}}if(!carousel){for(var i=index,l=index+slideCount;i<l;i++){var item=slideItems(i),classN=i<index+items?animateIn:animateNormal;item.style.left=(i-index)*100/items+"%";addClass(item,classN)}}enableUI();disabled=false}function updateLiveRegion(){var str=getLiveRegionStr();if(liveregionCurrent.innerHTML!==str){liveregionCurrent.innerHTML=str}}function getLiveRegionStr(){var arr=getVisibleSlideRange(),start=arr(0)+1,end=arr(1)+1;return start===end?start+"":start+" to "+end}function getVisibleSlideRange(val){if(val==null){val=getContainerTransformValue()}var start=index,end,rangestart,rangeend;if(center||edgePadding){if(autoWidth||fixedWidth){rangestart=-(parseFloat(val)+edgePadding);rangeend=rangestart+viewport+edgePadding*2}}else{if(autoWidth){rangestart=slidePositions(index);rangeend=rangestart+viewport}}if(autoWidth){slidePositions.forEach(function(point,i){if(i<slideCountNew){if((center||edgePadding)&&point=0.5){end=i}}})}else{if(fixedWidth){var cell=fixedWidth+gutter;if(center||edgePadding){start=Math.floor(rangestart/cell);end=Math.ceil(rangeend/cell-1)}else{end=start+Math.ceil(viewport/cell)-1}}else{if(center||edgePadding){var a=items-1;if(center){start-=a/2;end=index+a/2}else{end=index+a}if(edgePadding){var b=edgePadding*items/viewport;start-=b;end+=b}start=Math.floor(start);end=Math.ceil(end)}else{end=start+items-1}}start=Math.max(start,0);end=Math.min(end,slideCountNew-1)}return(start,end)}function doLazyLoad(){if(lazyload&&!disable){getImageArray.apply(null,getVisibleSlideRange()).forEach(function(img){if(!hasClass(img,imgCompleteClass)){var eve={};eve(TRANSITIONEND)=function(e){e.stopPropagation()};addEvents(img,eve);addEvents(img,imgEvents);img.src=getAttr(img,”data-src”);var srcset=getAttr(img,”data-srcset”);if(srcset){img.srcset=srcset}addClass(img,”loading”)}})}}function onImgLoaded(e){imgLoaded(getTarget(e))}function onImgFailed(e){imgFailed(getTarget(e))}function imgLoaded(img){addClass(img,”loaded”);imgCompleted(img)}function imgFailed(img){addClass(img,”failed”);imgCompleted(img)}function imgCompleted(img){addClass(img,”tns-complete”);removeClass(img,”loading”);removeEvents(img,imgEvents)}function getImageArray(start,end){var imgs=();while(start<=end){forEach(slideItems(start).querySelectorAll("img"),function(img){imgs.push(img)});start++}return imgs}function doAutoHeight(){var imgs=getImageArray.apply(null,getVisibleSlideRange());raf(function(){imgsLoadedCheck(imgs,updateInnerWrapperHeight)})}function imgsLoadedCheck(imgs,cb){if(imgsComplete){return cb()}imgs.forEach(function(img,index){if(hasClass(img,imgCompleteClass)){imgs.splice(index,1)}});if(!imgs.length){return cb()}raf(function(){imgsLoadedCheck(imgs,cb)})}function additionalUpdates(){doLazyLoad();updateSlideStatus();updateLiveRegion();updateControlsStatus();updateNavStatus()}function update_carousel_transition_duration(){if(carousel&&autoHeight){middleWrapper.style(TRANSITIONDURATION)=speed/1000+"s"}}function getMaxSlideHeight(slideStart,slideRange){var heights=();for(var i=slideStart,l=Math.min(slideStart+slideRange,slideCountNew);i=start&&i=index&&i=0?navClicked:getCurrentNavIndex();navClicked=-1;if(navCurrentIndex!==navCurrentIndexCached){var navPrev=navItems(navCurrentIndexCached),navCurrent=navItems(navCurrentIndex);setAttrs(navPrev,{“tabindex”:”-1″,”aria-label”:navStr+(navCurrentIndexCached+1)});removeClass(navPrev,navActiveClass);setAttrs(navCurrent,{“aria-label”:navStr+(navCurrentIndex+1)+navStrCurrent});removeAttrs(navCurrent,”tabindex”);addClass(navCurrent,navActiveClass);navCurrentIndexCached=navCurrentIndex}}}function getLowerCaseNodeName(el){return el.nodeName.toLowerCase()}function isButton(el){return getLowerCaseNodeName(el)===”button”}function isAriaDisabled(el){return el.getAttribute(“aria-disabled”)===”true”}function disEnableElement(isButton,el,val){if(isButton){el.disabled=val}else{el.setAttribute(“aria-disabled”,val.toString())}}function updateControlsStatus(){if(!controls||rewind||loop){return}var prevDisabled=prevIsButton?prevButton.disabled:isAriaDisabled(prevButton),nextDisabled=nextIsButton?nextButton.disabled:isAriaDisabled(nextButton),disablePrev=index=indexMax?true:false;if(disablePrev&&!prevDisabled){disEnableElement(prevIsButton,prevButton,true)}if(!disablePrev&&prevDisabled){disEnableElement(prevIsButton,prevButton,false)}if(disableNext&&!nextDisabled){disEnableElement(nextIsButton,nextButton,true)}if(!disableNext&&nextDisabled){disEnableElement(nextIsButton,nextButton,false)}}function resetDuration(el,str){if(TRANSITIONDURATION){el.style(TRANSITIONDURATION)=str}}function getSliderWidth(){return fixedWidth?(fixedWidth+gutter)*slideCountNew:slidePositions(slideCountNew)}function getCenterGap(num){if(num==null){num=index}var gap=edgePadding?gutter:0;return autoWidth?(viewport-gap-(slidePositions(num+1)-slidePositions(num)-gutter))/2:fixedWidth?(viewport-fixedWidth)/2:(items-1)/2}function getRightBoundary(){var gap=edgePadding?gutter:0,result=viewport+gap-getSliderWidth();if(center&&!loop){result=fixedWidth?-(fixedWidth+gutter)*(slideCountNew-1)-getCenterGap():getCenterGap(slideCountNew-1)-slidePositions(slideCountNew-1)}if(result>0){result=0}return result}function getContainerTransformValue(num){if(num==null){num=index}var val;if(horizontal&&!autoWidth){if(fixedWidth){val=-(fixedWidth+gutter)*num;if(center){val+=getCenterGap()}}else{var denominator=TRANSFORM?slideCountNew:items;if(center){num-=getCenterGap()}val=-num*100/denominator}}else{val=-slidePositions(num);if(center&&autoWidth){val+=getCenterGap()}}if(hasRightDeadZone){val=Math.max(val,rightBoundary)}val+=horizontal&&!autoWidth&&!fixedWidth?”%”:”px”;return val}function doContainerTransformSilent(val){resetDuration(container,”0s”);doContainerTransform(val)}function doContainerTransform(val){if(val==null){val=getContainerTransformValue()}container.style(transformAttr)=transformPrefix+val+transformPostfix}function animateSlide(number,classOut,classIn,isOut){var l=number+items;if(!loop){l=Math.min(l,slideCountNew)}for(var i=number;i=0){stopAutoplay()}running=true;transformCore()}}function strTrans(str){return str.toLowerCase().replace(/-/g,””)}function onTransitionEnd(event){if(carousel||running){events.emit(“transitionEnd”,info(event));if(!carousel&&slideItemsOut.length>0){for(var i=0;i<slideItemsOut.length;i++){var item=slideItemsOut(i);item.style.left="";if(ANIMATIONDELAY&&TRANSITIONDELAY){item.style(ANIMATIONDELAY)="";item.style(TRANSITIONDELAY)=""}removeClass(item,animateOut);addClass(item,animateNormal)}}if(!event||!carousel&&event.target.parentNode===container||event.target===container&&strTrans(event.propertyName)===strTrans(transformAttr)){if(!updateIndexBeforeTransform){var indexTem=index;updateIndex();if(index!==indexTem){events.emit("indexChanged",info());doContainerTransformSilent()}}if(nested==="inner"){events.emit("innerLoaded",info())}running=false;indexCached=index}}}function goTo(targetIndex,e){if(freeze){return}if(targetIndex==="prev"){onControlsClick(e,-1)}else if(targetIndex==="next"){onControlsClick(e,1)}else{if(running){if(preventActionWhenRunning){return}else{onTransitionEnd()}}var absIndex=getAbsIndex(),indexGap=0;if(targetIndex==="first"){indexGap=-absIndex}else if(targetIndex==="last"){indexGap=carousel?slideCount-items-absIndex:slideCount-1-absIndex}else{if(typeof targetIndex!=="number"){targetIndex=parseInt(targetIndex)}if(!isNaN(targetIndex)){if(!e){targetIndex=Math.max(0,Math.min(slideCount-1,targetIndex))}indexGap=targetIndex-absIndex}}if(!carousel&&indexGap&&Math.abs(indexGap)0?1:-1;indexGap+=index+indexGap-slideCount>=indexMin?slideCount*factor:slideCount*2*factor*-1}index+=indexGap;if(carousel&&loop){if(indexindexMax){index-=slideCount}}if(getAbsIndex(index)!==getAbsIndex(indexCached)){render(e)}}}function onControlsClick(e,dir){if(running){if(preventActionWhenRunning){return}else{onTransitionEnd()}}var passEventObject;if(!dir){e=getEvent(e);var target=getTarget(e);while(target!==controlsContainer&&(prevButton,nextButton).indexOf(target)=0){passEventObject=true;dir=targetIn===0?-1:1}}if(rewind){if(index===indexMin&&dir===-1){goTo(“last”,e);return}else if(index===indexMax&&dir===1){goTo(“first”,e);return}}if(dir){index+=slideBy*dir;if(autoWidth){index=Math.floor(index)}render(passEventObject||e&&e.type===”keydown”?e:null)}}function onNavClick(e){if(running){if(preventActionWhenRunning){return}else{onTransitionEnd()}}e=getEvent(e);var target=getTarget(e),navIndex;while(target!==navContainer&&!hasAttr(target,”data-nav”)){target=target.parentNode}if(hasAttr(target,”data-nav”)){var navIndex=navClicked=Number(getAttr(target,”data-nav”)),targetIndexBase=fixedWidth||autoWidth?navIndex*slideCount/pages:navIndex*items,targetIndex=navAsThumbnails?navIndex:Math.min(Math.ceil(targetIndexBase),slideCount-1);goTo(targetIndex,e);if(navCurrentIndex===navIndex){if(animating){stopAutoplay()}navClicked=-1}}}function setAutoplayTimer(){autoplayTimer=setInterval(function(){onControlsClick(null,autoplayDirection)},autoplayTimeout);animating=true}function stopAutoplayTimer(){clearInterval(autoplayTimer);animating=false}function updateAutoplayButton(action,txt){setAttrs(autoplayButton,{“data-action”:action});autoplayButton.innerHTML=autoplayHtmlStrings(0)+action+autoplayHtmlStrings(1)+txt}function startAutoplay(){setAutoplayTimer();if(autoplayButton){updateAutoplayButton(“stop”,autoplayText(1))}}function stopAutoplay(){stopAutoplayTimer();if(autoplayButton){updateAutoplayButton(“start”,autoplayText(0))}}function play(){if(autoplay&&!animating){startAutoplay();autoplayUserPaused=false}}function pause(){if(animating){stopAutoplay();autoplayUserPaused=true}}function toggleAutoplay(){if(animating){stopAutoplay();autoplayUserPaused=true}else{startAutoplay();autoplayUserPaused=false}}function onVisibilityChange(){if(doc.hidden){if(animating){stopAutoplayTimer();autoplayVisibilityPaused=true}}else if(autoplayVisibilityPaused){setAutoplayTimer();autoplayVisibilityPaused=false}}function mouseoverPause(){if(animating){stopAutoplayTimer();autoplayHoverPaused=true}}function mouseoutRestart(){if(autoplayHoverPaused){setAutoplayTimer();autoplayHoverPaused=false}}function onDocumentKeydown(e){e=getEvent(e);var keyIndex=(KEYS.LEFT,KEYS.RIGHT).indexOf(e.keyCode);if(keyIndex>=0){onControlsClick(e,keyIndex===0?-1:1)}}function onControlsKeydown(e){e=getEvent(e);var keyIndex=(KEYS.LEFT,KEYS.RIGHT).indexOf(e.keyCode);if(keyIndex>=0){if(keyIndex===0){if(!prevButton.disabled){onControlsClick(e,-1)}}else if(!nextButton.disabled){onControlsClick(e,1)}}}function setFocus(el){el.focus()}function onNavKeydown(e){e=getEvent(e);var curElement=doc.activeElement;if(!hasAttr(curElement,”data-nav”)){return}var keyIndex=(KEYS.LEFT,KEYS.RIGHT,KEYS.ENTER,KEYS.SPACE).indexOf(e.keyCode),navIndex=Number(getAttr(curElement,”data-nav”));if(keyIndex>=0){if(keyIndex===0){if(navIndex>0){setFocus(navItems(navIndex-1))}}else if(keyIndex===1){if(navIndex=0}function preventDefaultBehavior(e){e.preventDefault?e.preventDefault():e.returnValue=false}function getMoveDirectionExpected(){return getTouchDirection(toDegree(lastPosition.y-initPosition.y,lastPosition.x-initPosition.x),swipeAngle)===options.axis}function onPanStart(e){if(running){if(preventActionWhenRunning){return}else{onTransitionEnd()}}if(autoplay&&animating){stopAutoplayTimer()}panStart=true;if(rafIndex){caf(rafIndex);rafIndex=null}var $=getEvent(e);events.emit(isTouchEvent(e)?”touchStart”:”dragStart”,info(e));if(!isTouchEvent(e)&&(“img”,”a”).indexOf(getLowerCaseNodeName(getTarget(e)))>=0){preventDefaultBehavior(e)}lastPosition.x=initPosition.x=$.clientX;lastPosition.y=initPosition.y=$.clientY;if(carousel){translateInit=parseFloat(container.style(transformAttr).replace(transformPrefix,””));resetDuration(container,”0s”)}}function onPanMove(e){if(panStart){var $=getEvent(e);lastPosition.x=$.clientX;lastPosition.y=$.clientY;if(carousel){if(!rafIndex){rafIndex=raf(function(){panUpdate(e)})}}else{if(moveDirectionExpected===”?”){moveDirectionExpected=getMoveDirectionExpected()}if(moveDirectionExpected){preventScroll=true}}if(preventScroll){e.preventDefault()}}}function panUpdate(e){if(!moveDirectionExpected){panStart=false;return}caf(rafIndex);if(panStart){rafIndex=raf(function(){panUpdate(e)})}if(moveDirectionExpected===”?”){moveDirectionExpected=getMoveDirectionExpected()}if(moveDirectionExpected){if(!preventScroll&&isTouchEvent(e)){preventScroll=true}try{if(e.type){events.emit(isTouchEvent(e)?”touchMove”:”dragMove”,info(e))}}catch(err){}var x=translateInit,dist=getDist(lastPosition,initPosition);if(!horizontal||fixedWidth||autoWidth){x+=dist;x+=”px”}else{var percentageX=TRANSFORM?dist*items*100/((viewport+gutter)*slideCountNew):dist*100/(viewport+gutter);x+=percentageX;x+=”%”}container.style(transformAttr)=transformPrefix+x+transformPostfix}}function onPanEnd(e){if(panStart){if(rafIndex){caf(rafIndex);rafIndex=null}if(carousel){resetDuration(container,””)}panStart=false;var $=getEvent(e);lastPosition.x=$.clientX;lastPosition.y=$.clientY;var dist=getDist(lastPosition,initPosition);if(Math.abs(dist)){if(!isTouchEvent(e)){var target=getTarget(e);addEvents(target,{“click”:function preventClick(e){preventDefaultBehavior(e);removeEvents(target,{“click”:preventClick})}})}if(carousel){rafIndex=raf(function(){if(horizontal&&!autoWidth){var indexMoved=-dist*items/(viewport+gutter);indexMoved=dist>0?Math.floor(indexMoved):Math.ceil(indexMoved);index+=indexMoved}else{var moved=-(translateInit+dist);if(moved=slidePositions(slideCountNew-1)){index=indexMax}else{var i=0;while(i=slidePositions(i)){index=i;if(moved>slidePositions(i)&&dist0?-1:1)}}}}if(options.preventScrollOnTouch===”auto”){preventScroll=false}if(swipeAngle){moveDirectionExpected=”?”}if(autoplay&&!animating){setAutoplayTimer()}}function updateContentWrapperHeight(){var wp=middleWrapper?middleWrapper:innerWrapper;wp.style.height=slidePositions(index+items)-slidePositions(index)+”px”}function getPages(){var rough=fixedWidth?(fixedWidth+gutter)*slideCount/viewport:slideCount/items;return Math.min(Math.ceil(rough),slideCount)}function updateNavVisibility(){if(!nav||navAsThumbnails){return}if(pages!==pagesCached){var min=pagesCached,max=pages,fn=showElement;if(pagesCached>pages){min=pages;max=pagesCached;fn=hideElement}while(min<max){fn(navItems(min));min++}pagesCached=pages}}function info(e){return{container:container,slideItems:slideItems,navContainer:navContainer,navItems:navItems,controlsContainer:controlsContainer,hasControls:hasControls,prevButton:prevButton,nextButton:nextButton,items:items,slideBy:slideBy,cloneCount:cloneCount,slideCount:slideCount,slideCountNew:slideCountNew,index:index,indexCached:indexCached,displayIndex:getCurrentSlide(),navCurrentIndex:navCurrentIndex,navCurrentIndexCached:navCurrentIndexCached,pages:pages,pagesCached:pagesCached,sheet:sheet,isOn:isOn,event:e||{}}}return{version:"2.9.1",getInfo:info,events:events,goTo:goTo,play:play,pause:pause,isOn:isOn,updateSliderHeight:updateInnerWrapperHeight,refresh:initSliderTransform,destroy:destroy,rebuild:function(){return tns(extend(options,optionsElements))}}};return tns}();
/* save_content */
DN.saveContent=function(element){this.contentElement=element;this.contentId=element.getAttribute("data-id");this.contentType=element.getAttribute("data-type");this.source="site-"+DN.pageData.publication_id+"-"+DN.pageData.type;if(deviceTarget){this.source+="-"+deviceTarget}var subSource=element.getAttribute("data-sub-source");if(!DN.empty(subSource)){this.source+="-"+subSource}this.saveURL=document.location.protocol+"//"+document.location.hostname+"/async/content/save/";this.removeURL=document.location.protocol+"//"+document.location.hostname+"/async/content/remove/";this.xhr=null;this.doAction=function(remove){var params="";var url=null;params+="content_id="+encodeURIComponent(this.contentId);params+="&content_type="+encodeURIComponent(this.contentType);if(remove){url=this.removeURL}else{url=this.saveURL;params+="&source="+encodeURIComponent(this.source)}this.xhr=new DN.xhr(url,this.handleResponse,params,this)};this.handleResponse=function(responseText){if(responseText!==undefined){var data=JSON.parse(responseText);if(data("success")){var title=this.contentElement.getAttribute("data-title");if(title==undefined||title.length==0){title="This Content"}if(data("removed")){title="Click To Save "+title;if(DN.hasClass(this.contentElement,"icon-saved-heart")){DN.swapClass(this.contentElement,"icon-saved-heart","icon-unsaved-heart");DN.swapClass(this.contentElement,"remove-content","save-content");this.contentElement.setAttribute("aria-label",title);this.contentElement.setAttribute("title",title)}else if(DN.hasClass(this.contentElement,"material-save-heart")){DN.swapClass(this.contentElement,"remove-content","save-content");DN.get("svg.icon use",this.contentElement).setAttribute("xlink:href","#ic-save");this.contentElement.setAttribute("aria-label",title);this.contentElement.setAttribute("title",title)}else{var parent=this.contentElement.parentNode;while(!DN.hasClass(parent,"tile")){parent=parent.parentNode;if(!parent){break}}if(parent){parent.style.opacity=0.25;element.style.visibility="hidden"}if(DN.hasClass(this.contentElement.parentNode,"saved-content")){this.contentElement.parentNode.style.display="none";var saveButton=DN.get(".save-content",this.contentElement.parentNode.parentNode);if(saveButton){saveButton.style.display="inline-block"}if(parent){parent.style.opacity=1;this.contentElement.style.visibility="visible"}}}DN.saveContentHandler.afterUnsave.fire(this.contentElement)}else{title="Click To Unsave "+title;if(DN.hasClass(this.contentElement,"icon-unsaved-heart")){DN.swapClass(this.contentElement,"icon-unsaved-heart","icon-saved-heart");DN.swapClass(this.contentElement,"save-content","remove-content");this.contentElement.setAttribute("aria-label",title);this.contentElement.setAttribute("title",title)}else if(DN.hasClass(this.contentElement,"material-save-heart")){DN.swapClass(this.contentElement,"save-content","remove-content");DN.get("svg.icon use",this.contentElement).setAttribute("xlink:href","#ic-save-checked");this.contentElement.setAttribute("aria-label",title);this.contentElement.setAttribute("title",title)}else{savedURL="https://"+document.location.hostname+"/mydealnews/saved/";this.contentElement.style.display="none";var savedDiv=DN.get(".saved-content",this.contentElement.parentNode);if(savedDiv){savedDiv.style.display="inline-block"}else{newEl=document.createElement("span");newEl.className="saved-content";newEl.innerHTML="Saved! (undo)”;this.contentElement.parentNode.insertBefore(newEl,this.contentElement);DN.event.bind(DN.get(“.remove-content”,this.contentElement.parentNode),”click”,DN.saveContentHandler.clickHandler)}}DN.saveContentHandler.afterSave.fire(this.contentElement)}var newText;var savedCountElements=DN.getAll(“.saved-count”);for(var x=0;x<savedCountElements.length;x++){savedCountElements(x).innerHTML=data("saved_count_fmt")}var savedCountLinkElements=DN.getAll(".saved-count-link");for(var x=0;x0){DN.removeClass(savedCountLinkElements(x),”saved-count-link-hidden”)}else{DN.addClass(savedCountLinkElements(x),”saved-count-link-hidden”)}}var savedCount=DN.get(“header-saved-count”);if(savedCount){var savedCountText=data(“saved_count_fmt”);if(data(“saved_count”)>9){savedCountText=”9+”}if(parseInt(data(“saved_count”),0)===0){DN.swapClass(savedCount,”heart-number-saved”,”heart-number-unsaved”);DN.swapClass(savedCount,”heart-number-saved-shift”,”heart-number-unsaved”)}else{DN.swapClass(savedCount,”heart-number-unsaved”,”heart-number-saved”);if(data(“saved_count”)>9){data(“saved_count”)=”9+”;DN.swapClass(savedCount,”heart-number-unsaved”,”heart-number-saved-shift”);DN.swapClass(savedCount,”heart-number-saved”,”heart-number-saved-shift”)}else{DN.swapClass(savedCount,”heart-number-unsaved”,”heart-number-saved”);DN.swapClass(savedCount,”heart-number-saved-shift”,”heart-number-saved”)}}savedCount.innerHTML=savedCountText}var savedTabBar=DN.get(“saved-tab-bar”);if(savedTabBar){selTab=DN.get(“.sel .txt”,savedTabBar,true);if(selTab){newText=selTab.innerHTML.substr(0,selTab.innerHTML.indexOf(“(“)+1)+data(“saved_count_fmt”)+”)”;selTab.innerHTML=newText}}}else{if(data(“not_logged_in”)){DN.loginForm.show.call(this.contentElement)}else{if(!data(“error”)||data(“error”)===””){data(“error”)=”An unknown error occured”}this.showError(data(“error”))}}}else{this.showError(“An unknown error occurred”)}};this.showError=function(error){alert(error)}};if(!DN.saveContentHandler){DN.saveContentHandler={objCache:{},afterSave:new DN.customEvent({passArgs:true}),afterUnsave:new DN.customEvent({passArgs:true}),afterChange:new DN.customEvent({passArgs:true}),addListeners:function(){var links=DN.getAll(“.save-content”);for(n=0;n<links.length;n++){if(!links(n).getAttribute("data-bound")){links(n).setAttribute("data-bound",1);DN.event.bind(links(n),"click",DN.saveContentHandler.clickHandler)}}links=DN.getAll(".remove-content");for(n=0;n<links.length;n++){if(!links(n).getAttribute("data-bound")){links(n).setAttribute("data-bound",1);DN.event.bind(links(n),"click",DN.saveContentHandler.clickHandler)}}},clickHandler:function(e){DN.preventDefault(e);var contentId=this.getAttribute("data-id");var contentType=this.getAttribute("data-type");if(contentId&&contentType){var key=contentType+contentId;var isUnsave=DN.hasClass(this,"remove-content");if(isUnsave){key+="remove"}if(!DN.saveContentHandler.objCache(key)||!DN.saveContentHandler.objCache(key).contentElement){DN.saveContentHandler.objCache(key)=new DN.saveContent(this)}var saveContentObj=DN.saveContentHandler.objCache(key);saveContentObj.doAction(isUnsave)}}}}DN.onDOMReady.bind(DN.saveContentHandler.addListeners);
/* content_overflow_menu */
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props(i);descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}(function(scopeVar){var ContentOverflowMenu=function(){"use strict";function ContentOverflowMenu(){_classCallCheck(this,ContentOverflowMenu)}_createClass(ContentOverflowMenu,({key:"attachListeners",value:function attachListeners(){var menus=DN.getAll(".content-card .action-menu");for(var x=0;x<menus.length;x++){if(menus(x).getAttribute("data-overflow-menu-bound")!=="true"){DN.event.bind(menus(x),"mouseenter",this.setAttributes,this);DN.event.bind(menus(x),"focus",this.setAttributes,this);menus(x).setAttribute("data-overflow-menu-bound","true")}}}},{key:"setAttributes",value:function setAttributes(ev){var menu=DN.getRealTarget(ev);var sheet=DN.get(menu.dataset.bottomSheetId);if(sheet){DN.get(".open-link",sheet).href=menu.dataset.offerUrl;DN.get(".alert-signup",sheet).setAttribute("category",menu.dataset.category);DN.get(".alert-signup",sheet).setAttribute("brand",menu.dataset.brand);DN.get(".alert-signup",sheet).setAttribute("store",menu.dataset.store);if(menu.dataset.expired==="1"){DN.get(".report-error",sheet).classList.add("hidden");DN.get(".report-error",sheet).setAttribute("data-id","");DN.get(".report-error",sheet).setAttribute("data-type","")}else{DN.get(".report-error",sheet).classList.remove("hidden");DN.get(".report-error",sheet).setAttribute("data-id",menu.dataset.contentId);DN.get(".report-error",sheet).setAttribute("data-type",menu.dataset.contentType)}var shareSheet=DN.get(DN.get(".action-menu-share",sheet).dataset.bottomSheetId);DN.get(".share-email",shareSheet).href=menu.dataset.shareEmailUrl;DN.get(".share-facebook",shareSheet).href=menu.dataset.shareFacebookUrl;DN.get(".share-twitter",shareSheet).href=menu.dataset.shareTwitterUrl;DN.get(".share-pinterest",shareSheet).href=menu.dataset.sharePinterestUrl}}}));return ContentOverflowMenu}();scopeVar.ContentOverflowMenu=ContentOverflowMenu})(DN);DN.onDOMReady.bind(function(){if(!DN.contentOverflowMenu){DN.contentOverflowMenu=new DN.ContentOverflowMenu}DN.contentOverflowMenu.attachListeners()});
/* content_card */
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;ip>a”,this.card);if(el){this.addSalesLeadAttributes(el,”snippet”)}el=DN.get(“div.summary>p>a”,this.card);if(el){this.addSalesLeadAttributes(el,”summary”)}var related=DN.getAll(“div.related-offers>ul>li>a”,this.card);for(var x=0;x<related.length;x++){related(x).dataset.saleslead="related"}var image=DN.getAll(".cover-link, .attractor, .title-link",this.card);if(image){DN.event.bind(image,"click",function(e){if(!DN.hasClass(_this.card,"expanded")){if(_this.ctaDisabled){DN.preventDefault(e)}var fakeEvent={target:_this.media,srcElement:_this.media};_this.mediaClick(fakeEvent);e.stopPropagation()}},this)}this.expandButton=DN.get(".expand",this.card);if(this.expandButton){DN.event.bind(this.expandButton,"click",this.expand,this);DN.event.bind(this.expandButton,"keydown",this.expand,this)}var expandDefaults=DN.getAll(".expand-default",this.card);if(expandDefaults){DN.event.bind(expandDefaults,"click",function(){this.expand()},this)}this.collapseButton=DN.get(".collapse",this.card);if(this.collapseButton){DN.event.bind(this.collapseButton,"click",this.collapse,this);DN.event.bind(this.collapseButton,"keydown",this.collapse,this)}var less=DN.get(".less",this.card);if(less){DN.event.bind(less,"click",this.collapse,this);DN.event.bind(less,"keydown",this.collapse,this)}var more=DN.get(".more",this.card);if(more){DN.event.bind(more,"click",this.expand,this);DN.event.bind(more,"keydown",this.expand,this)}}},{key:"mediaClick",value:function mediaClick(e){var foundAnchor=false;var target=DN.getTarget(e);while(target!=this.media){if(target.tagName=="A"){foundAnchor=true;break}target=target.parentNode}if(!foundAnchor){if(!DN.hasClass(this.card,"expanded")){this.expand(e)}}}},{key:"expand",value:function expand(e){if(e){if(e.keyCode&&!(e.keyCode==13||e.keyCode==32)){return}DN.preventDefault(e)}if(this.detailsLoaded){this.revealDetails()}else{new DN.xhr(this.expandBaseURL+this.media.getAttribute("data-id")+".html",this.loadDetails,null,this,{"Accept":"dealnews/json","Content-Accept":"dealnews/json"})}}},{key:"collapse",value:function collapse(e){if(e){if(e.keyCode&&!(e.keyCode==13||e.keyCode==32)){return}DN.preventDefault(e)}this.card.classList.remove("expanded");this.media.classList.remove("details");this.card.setAttribute("aria-expanded","false");this.setStyle(this.collapseButton,"display","none");this.setStyle(this.expandButton,"display","inline-block");if(this.cta&&this.ctaDisabled){this.cta.setAttribute("disabled","")}}},{key:"revealDetails",value:function revealDetails(){var card=this.card;var scrollIntoView=function(){var cardRegion=DN.getRegion(card);var block;if(cardRegion.topdocument.documentElement.scrollTop+document.documentElement.clientHeight){block=”end”}if(block){card.scrollIntoView({behavior:”smooth”,block:block})}};this.card.classList.add(“expanded”);this.media.classList.add(“details”);this.card.setAttribute(“aria-expanded”,”true”);this.setStyle(this.expandButton,”display”,”none”);this.setStyle(this.collapseButton,”display”,”inline-block”);if(this.cta&&this.ctaDisabled){this.cta.removeAttribute(“disabled”)}window.setTimeout(scrollIntoView,100)}},{key:”setStyle”,value:function setStyle(elem,style,value){if(elem){elem.style(style)=value}}},{key:”loadDetails”,value:function loadDetails(responseText){try{var response=JSON.parse(responseText)}catch(error){var response=null}if(response){DN.loadDNJson(this.detailsContainer,response);this.detailsLoaded=true;this.revealDetails()}}}));return ContentCard}();scopeVar.ContentCard=ContentCard})(DN);DN.onDOMReady.bind(function(){DN.createObjects(“contentCards”,”.content-card”,DN.ContentCard)});
/* get_code */
DN.getCode=function(el){this.handleClick=function(e){var href=this.el.getAttribute(“data-href”);if(!href){href=this.el.getAttribute(“href”)}var permalink=this.el.getAttribute(“data-permalink”);if(permalink&&href){DN.preventDefault(e);window.open(permalink);window.location.href=href}};this.el=el;DN.event.bind(el,”click”,this.handleClick,this)};DN.onDOMReady.bind(function(){DN.createObjects(“getCodeObjects”,”.get-code”,DN.getCode,false)});
/* views */
DN.contentViewTracker=function(){this.content={};this.viewed={};this.sent={};this.scrollTimer=null;this.sendTimer=null;this.init=function(){if(typeof publicationID==”undefined”||publicationID===null||publicationID===0){return}var contentElements=DN.getAll(“.article, .content-view”);for(var x=0;x<contentElements.length;x++){var c=contentElements(x);if(!c.getAttribute("data-id")||c.getAttribute("data-id").lengthviewTop&&c.center=200){this.makeRequest(content);content={};count=0}}if(count>0){this.makeRequest(content);this.viewed={}}};this.makeRequest=function(content){var url=document.location.protocol+”//”+document.location.hostname+”/lw/views.php”;var data={publicationID:publicationID,content:content};data=DN.addStdLogData(data);data=JSON.stringify(data);try{DN.xhr(url,null,data)}catch(e){}};this.init()};DN.onDOMReady.bind(function(){if(!DN.contentViewTrackerObject){DN.contentViewTrackerObject=new DN.contentViewTracker}else{DN.contentViewTrackerObject.init()}});
/* lightbox_pop */
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(“Cannot call a class as a function”)}}function _defineProperties(target,props){for(var i=0;i0){for(var i=0;i0){for(var h=0;h<offers.length;h++){attr=offers(h).getAttribute("data-singleuseloaded");if(!attr){offers(h).setAttribute("data-singleuseloaded",1);new DN.singleUseCouponLightbox(offers(h))}}}var continue_browsing=DN.get(".continue-browsing");if(continue_browsing&&DN.hasOwnProperty("lightboxPanels")&&DN.lightboxPanels.hasOwnProperty("singleusecouponpanel")){DN.event.bind(continue_browsing,"click",function(){DN.lightboxPanels("singleusecouponpanel").hide()})}});
/* loading_bar */
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props(i);descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}(function(scopeVar){var LoadingBar=function(){"use strict";function LoadingBar(elem){_classCallCheck(this,LoadingBar);this.elem=elem;this.id=elem.id;this.scrim_elem=DN.get(this.id+"_scrim")}_createClass(LoadingBar,({key:"show",value:function show(){DN.removeClass(this.elem,"loading-ellipsis-hide");if(this.scrim_elem){DN.removeClass(this.scrim_elem,"loading-ellipsis-hide")}}},{key:"hide",value:function hide(){DN.addClass(this.elem,"loading-ellipsis-hide");if(this.scrim_elem){DN.addClass(this.scrim_elem,"loading-ellipsis-hide")}}}));return LoadingBar}();DN.onDOMReady.bind(function(){scopeVar.LoadingBar=LoadingBar;DN.createObjects("loadingBars",".loading-ellipsis",LoadingBar)})})(DN);
/* wizard */
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i=this.step_timeout){clearInterval(this.interval);this.interval=null;this.activateStep(this.error_step_name)}}else{if(!DN.empty(this.interval)){clearInterval(this.interval);this.interval=null}for(var i in this.steps){if(i===step_name){DN.addClass(this.steps(i),”dnwizard-step-active”);this.active_step=step_name;this.stepActivated.fire(step_name)}else{DN.removeClass(this.steps(i),”dnwizard-step-active”)}}this.hideBar()}}},{key:”cancelStep”,value:function cancelStep(deactivate_loadingbar){if(typeof deactivate_loadingbar===”undefined”){deactivate_loadingbar=true}if(!DN.empty(this.interval)){clearInterval(this.interval);this.interval=null}if(deactivate_loadingbar){this.hideBar()}}},{key:”showBar”,value:function showBar(){this.initializeObject(“loadingbar”,this.loadingbar_id,DN.loadingBars);if(this.loadingbar){this.loadingbar.show()}}},{key:”hideBar”,value:function hideBar(){this.initializeObject(“loadingbar”,this.loadingbar_id,DN.loadingBars);if(this.loadingbar){this.loadingbar.hide()}}},{key:”initializeObject”,value:function initializeObject(property_name,object_name,object_container){if(!this(property_name)){if(object_container&&typeof object_container===”object”){if(object_container.hasOwnProperty(object_name)){this(property_name)=object_container(object_name)}}}}},{key:”initialize”,value:function initialize(){this.steps={};this.steps_status={};this.default_step=null;var step_name=null;var step_status=0;var step_default=0;var steps=DN.getAll(“.dnwizard-step”,this.elem);if(steps&&steps.length>0){for(var i=0;i=o.length)return{done:true};return{done:false,value:o(i++)}},e:function(e){throw e},f:F}}throw new TypeError(“Invalid attempt to iterate non-iterable instance.nIn order to be iterable, non-array objects must have a (Symbol.iterator)() method.”)}var normalCompletion=true,didErr=false,err;return{s:function(){it=o(Symbol.iterator)()},n:function(){var step=it.next();normalCompletion=step.done;return step},e:function(e){didErr=true;err=e},f:function(){try{if(!normalCompletion&&it.return!=null)it.return()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o===”string”)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n===”Object”&&o.constructor)n=o.constructor.name;if(n===”Map”||n===”Set”)return Array.from(o);if(n===”Arguments”||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2(i)=arr(i)}return arr2}(function(scopeVar){if(!scopeVar.recaptchaLoaded){window.CaptchaCallback=function(){var recaptchas=DN.getAll(".g-recaptcha-explicit");if(recaptchas){var _iterator=_createForOfIteratorHelper(recaptchas),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var el=_step.value;var id=grecaptcha.render(el,{"sitekey":el.getAttribute("data-sitekey"),"theme":el.getAttribute("data-theme"),"size":el.getAttribute("data-size"),"tabindex":el.getAttribute("data-tabindex"),"callback":el.getAttribute("data-callback"),"expired-callback":el.getAttribute("data-expired-callback"),"error-callback":el.getAttribute("data-error-callback"),"client-id":el.getAttribute("data-widget-id")});el.setAttribute("data-widget-id",id)}}catch(err){_iterator.e(err)}finally{_iterator.f()}}if(DN.MessageBus){DN.MessageBus.post("recaptchaAvailable")}};var js=document.createElement("script");js.src="https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit";js.async=true;js.defer=true;document.head.appendChild(js);scopeVar.recaptchaLoaded=true}})(DN);
/* async_form */
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i0){for(var x=0;x<fields.length;x++){if(fields(x).type!=="submit"&&(fields(x).type!=="checkbox"||fields(x).checked)){if(post_data!==""){post_data+="&"}post_data+=fields(x).name+"="+encodeURIComponent(fields(x).value)}}}}return post_data}},{key:"responseCallback",value:function responseCallback(responseText){var response={};try{response=JSON.parse(responseText)}catch(e){response={};console.log(e)}if(response){this.submitted.fire(response,this.form)}}},{key:"initialize",value:function initialize(){if(this.form){DN.event.bind(this.form,"submit",this.submitForm,this)}}}));return AsyncForm}();scopeVar.AsyncForm=AsyncForm})(DN);
/* google_login */
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props(i);descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}(function(scopeVar){if(scopeVar.GoogleLogin){return}var GoogleLogin=function(){"use strict";function GoogleLogin(){_classCallCheck(this,GoogleLogin);this.ready=false;this.onReady=new DN.customEvent;this.onSignIn=new DN.customEvent({passArgs:true,returnResult:false,returnArgs:false});this.clientId="240283651047-2k9j9dpqt61kh002lfn5f9dptm2vo4bt.apps.googleusercontent.com"}_createClass(GoogleLogin,({key:"load",value:function load(){(function(d,s,id){var js,fjs=d.getElementsByTagName(s)(0);if(d.getElementById(id)){return}js=d.createElement(s);js.id=id;js.src="https://accounts.google.com/gsi/client";js.async=true;js.defer=true;fjs.parentNode.insertBefore(js,fjs)})(document,"script","google-jssdk");var self=this;window.onGoogleLibraryLoad=function(){if(!self.ready){google.accounts.id.initialize({client_id:self.clientId,context:"signin",itp_support:true,callback:function(CredentialResponse){self.onSignIn.fire(CredentialResponse)}});self.setReady();google.accounts.id.prompt()}}}},{key:"setReady",value:function setReady(){this.ready=true;this.onReady.fire()}},{key:"attachOnReadyCallback",value:function attachOnReadyCallback(callback){if(this.ready){callback()}else{this.onReady.bind(callback)}}},{key:"renderButton",value:function renderButton(container){if(this.ready){google.accounts.id.renderButton(container,{type:"standard",shape:"rectangular",theme:"outline",text:"continue_with",size:"large",logo_alignment:"left",width:240})}else{this.onReady.bind(function(){this.renderButton(container)},this)}}}));return GoogleLogin}();scopeVar.GoogleLogin=new GoogleLogin;if(DN.MessageBus){DN.MessageBus.post("thirdPartyLoginAvailable")}})(DN);
/* facebook_login */
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props(i);descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}(function(scopeVar){if(scopeVar.FacebookLogin){return}var FacebookLogin=function(){"use strict";function FacebookLogin(){_classCallCheck(this,FacebookLogin);this.FB=null;this.onReady=new DN.customEvent}_createClass(FacebookLogin,({key:"load",value:function load(){(function(d,s,id){var js,fjs=d.getElementsByTagName(s)(0);if(d.getElementById(id)){return}js=d.createElement(s);js.id=id;js.src="https://connect.facebook.net/en_US/sdk.js";fjs.parentNode.insertBefore(js,fjs)})(document,"script","facebook-jssdk")}},{key:"setFB",value:function setFB(FB){this.FB=FB;this.onReady.fire()}},{key:"loginOrPop",value:function loginOrPop(callback,context){var that=this;this.FB.getLoginStatus(function(response){if(response.status==="connected"){that.loadUser(callback,context)}else{that.FB.login(function(response){if(response.authResponse){that.loadUser(callback,context)}},{scope:"public_profile,email"})}})}},{key:"loadUser",value:function loadUser(callback,context){this.FB.api("/me?fields=email,name",function(response){if(context){callback.apply(context,(response))}else{callback.apply(null,(response))}})}},{key:"attachListener",value:function attachListener(element,callback,context){if(this.FB){DN.event.bind(element,"click",function(){this.loginOrPop(callback,context)},this)}else{this.onReady.bind(function(){this.attachListener(element,callback,context)},this)}}},{key:"attachOnReadyCallback",value:function attachOnReadyCallback(callback){if(this.FB){callback()}else{this.onReady.bind(callback)}}}));return FacebookLogin}();scopeVar.FacebookLogin=new FacebookLogin;if(DN.MessageBus){DN.MessageBus.post("thirdPartyLoginAvailable")}})(DN);window.fbAsyncInit=function(){FB.init({appId:"16976398217",xfbml:true,version:"v3.3"});FB.AppEvents.logPageView();DN.FacebookLogin.setFB(FB)};
/* login */
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i0){for(var i=0;i0){for(var j=0;j0){for(var x=0;x<fields.length;x++){if(fields(x).type!=="submit"&&(fields(x).type!=="checkbox"||fields(x).checked)){if(post_data!==""){post_data+="&"}post_data+=fields(x).name+"="+encodeURIComponent(fields(x).value)}}}this.beforeSubmit.fire(post_data);if(!DN.empty(post_data)){new DN.xhr(this.endpoint,this.responseCallback,post_data,this,this.postFormResultsHeaders,"POST")}}}},{key:"responseCallback",value:function responseCallback(responseText){this.form=null;var response={};try{response=JSON.parse(responseText)}catch(e){console.log(e)}if(response&&DN.isDNJson(response)){if(DN.loadDNJson(this.container,response)){this.form=DN.get(this.form_selector,this.container);if(this.form){DN.event.bind(this.form,"submit",this.submitForm,this)}this.dnjsonLoaded.fire()}}else if(response){this.success.fire(response)}}},{key:"postAuthCallback",value:function postAuthCallback(responseText){var response={};try{response=JSON.parse(responseText)}catch(e){console.log(e)}if(response&&response.hasOwnProperty("post_auth")){if(this.form){if(this.postauth_field){var field=DN.get(this.postauth_field,this.form);field.value=response.post_auth;this.postData()}}}}}));return XHRForm}();scopeVar.XHRForm=XHRForm})(DN);
/* modal/onboard */
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i0){for(var x=0;x0){for(var y=0;y0){for(var j=0;j0){var step_index=0;if(step||this.wizard.active_step){if(step){step_index=steps.indexOf(step)}else if(this.wizard.active_step){step_index=steps.indexOf(this.wizard.active_step)}if(step_index>=0){step_index++}}if(step_index>=0&&steps(step_index)){next_step=steps(step_index)}else{next_step=false}}if(!DN.hasOwnProperty(“onboardpreferences”)||!DN.onboardpreferences){if(next_step===”entry”||next_step===”preferences”||next_step===”success”){next_step=this.getNextStep(next_step)}}else if(DN.userLoggedIn&&(next_step===”entry”||next_step===”account”)){next_step=this.getNextStep(next_step)}else if(DN.userHasPref&&(next_step===”preferences”||next_step===”success”)){if(next_step===”preferences”||!this.pref_changed){next_step=this.getNextStep(next_step)}}else if(!DN.userHasPref&&next_step===”success”){next_step=this.getNextStep(next_step)}if(next_step===”entry”||next_step===”success”){var cookie_name=this.entry_cookie_name;if(next_step===”success”){cookie_name=this.success_cookie_name}var cookie=DN.getCookie(cookie_name);if(!DN.empty(cookie)){next_step=this.getNextStep(next_step)}}return next_step}}));return Onboard}();scopeVar.Onboard=new Onboard})(DN);
/* modal/onboard-login */
DN.loginForm={show:function(e){if(DN.hasOwnProperty(“Onboard”)){if(typeof e!==”object”){if(typeof this===”object”&&this instanceof HTMLElement){e={currentTarget:this}}}DN.Onboard.toggle(e)}}};
/* widgets/newsletter */
DN.NewsletterSignup=function(baseElement){this.baseElement=DN.get(baseElement);if(baseElement.tagName==”FORM”){this.element=this.baseElement}else{this.element=DN.get(“form”,this.baseElement)}this.onSuccess=new DN.customEvent({passArgs:true});this.onFailure=new DN.customEvent;this.onSubmit=new DN.customEvent;this.shown=false;this.scrollTimer=null;this.source=””;this.source_type=””;this.lastResponse={};this.campaignCheckbox=false;this.closeEl=false;this.closeCookieName=false;this.baseURL=document.location.protocol+”//”+document.location.hostname+”/async/newsletter/signup/”;this.data={};this.submitForm=function(responseText){if(responseText){var data=JSON.parse(responseText);if(data(“post_auth”)){var queryData=””;for(var i in this.data){if(queryData.length>0){queryData+=”&”}queryData+=i+”=”;if(i==”campaign”){queryData+=this.data(i).join(“,”)}else{queryData+=encodeURIComponent(this.data(i))}}queryData+=”&post_auth=”+encodeURIComponent(data(“post_auth”));var buttons=DN.getAll(“.button, input(type=submit)”,this.element);if(buttons){for(var x=0;x<buttons.length;x++){buttons(x).setAttribute("disabled","1")}}this.logNavEvent("submitted");var xhr=new DN.xhr(this.baseURL,this.handleResponse,queryData,this);return}}alert("An unknown error has occured.")};this.validate=function(e){if(e){DN.preventDefault(e)}this.data={};this.getData();if(!this.data.hasOwnProperty("uid")&&!this.data.hasOwnProperty("email")){alert("An unknown error has occured. Please reload the page and try again.");return}else if(!this.data.hasOwnProperty("uid")&&DN.empty(this.data.email)){alert("You must provide a valid email address in order to subscribe.");return}if((!this.data.hasOwnProperty("campaign")||this.data.campaign.length<1)&&this.campaignCheckbox===true){alert("Please choose at least one newsletter campaign, before clicking "Subscribe".");return}if(!this.data.hasOwnProperty("source")&&!this.data.hasOwnProperty("source_page")){alert("An unknown error has occured. Please reload the page and try again.");return}this.onSubmit.fire();this.pA.fetch()};this.getData=function(){if(JSON.stringify(this.data)=="{}"){var emailField=DN.get(".nl-email",this.element);var uidField=DN.get(".nl-user_id",this.element);var zipField=DN.get(".nl-zipcode",this.element);var pubField=DN.get(".nl-pub",this.element);if(emailField){this.data("email")=emailField.value}if(uidField&&!DN.empty(uidField.value)){this.data("uid")=uidField.value}if(zipField&&!DN.empty(zipField.value)){this.data("zip")=zipField.value}if(pubField&&!DN.empty(pubField.value)){this.data("pub")=pubField.value}else if(publicationID){this.data("pub")=publicationID}this.getSource();if(this.source_type=="form"){this.data("source")=this.source}else if(this.source_type=="page"){this.data("source_page")=this.source}this.data("campaign")=this.getCampaigns()}};this.handleResponse=function(responseText){if(responseText){var data=JSON.parse(responseText);this.lastResponse=data;if(data("success")){frmBlock=DN.get(".frm",this.baseElement);if(data("sent_confirm")){successBlock=DN.get(".success-confirm-sent",this.baseElement)}else{successBlock=DN.get(".success-confirmed",this.baseElement)}if(frmBlock&&successBlock){if(successBlock.innerHTML===""){successBlock.innerHTML=data("message_html")}emailSpan=DN.get(".email",successBlock);if(emailSpan){emailSpan.innerHTML=data("email")}frmBlock.style.display="none";successBlock.style.display="block";this.logNavEvent("subscribed");if(this.closeEl){this.setCloseCookie();var self=this;this.scrollTimer=setTimeout(function(){self.dismiss.call(self)},5000)}}this.onSuccess.fire(data)}else{errorBlock=DN.get(".nl-error",this.element);if(errorBlock){errorBlock.innerHTML=data("errors")(0)}else{alert(data("errors")(0))}var buttons=DN.getAll(".button, input(type=submit)",this.element);if(buttons){for(var x=0;xdocument.body.scrollTop){viewTop=document.documentElement.scrollTop}else{viewTop=document.body.scrollTop}if(document.documentElement&&document.documentElement.clientHeight>document.body.clientHeight){viewBottom=viewTop+document.body.clientHeight}else{viewBottom=viewTop+document.documentElement.clientHeight}var center=region.top+region.height/2;if(center>viewTop&¢er<viewBottom){this.isShown()}}};this.isShown=function(){if(!this.shown){this.shown=true;this.logNavEvent("shown");DN.event.unbind(window,"optimizedScroll",this.checkOnScreen)}};this.handleScroll=function(){if(this.scrollTimer){clearTimeout(this.scrollTimer)}var self=this;this.scrollTimer=setTimeout(function(){self.checkOnScreen.call(self)},500)};this.getSource=function(){var sourceValue=null;if(this.source===""||this.source_type===""){var sourcePageField=DN.get(".nl-source-page",this.element);var sourceField=DN.get(".nl-source",this.element);if(sourceField){sourceValue=encodeURIComponent(sourceField.value);this.source=sourceValue;this.source_type="form"}else if(sourcePageField){sourceValue=encodeURIComponent(sourcePageField.value);this.source=sourceValue;this.source_type="page"}}else{sourceValue=this.source}return sourceValue};this.getCampaigns=function(){var campaignFields=DN.getAll(".nl-campaign",this.element);var camps=();if(campaignFields){for(x=0;x0){for(var i=0;i<buttons.length;i++){if(buttons(i).getAttribute("data-manage-newsletters")!=="1"){DN.event.bind(buttons(i),"click",DN.manage_newsletters.action);buttons(i).setAttribute("data-manage-newsletters","1")}}}}};DN.onDOMReady.bind(DN.manage_newsletters.init);
/* back_to_top */
DN.backToTop=function(){this.el=DN.get(".back-to-top-outer");if(this.el){DN.event.bind(this.el,"click",function(e){DN.preventDefault(e);DN.scrollTo(document.body)},this)}};DN.onDOMReady.bind(function(){DN.backToTopButton=new DN.backToTop});