Thats why, despite everything in his prodigious nose and Polish values telling him no, he finally said yes to The Ticket (KTCK-1310 AM).When I was at KLIF, The Ticket annoyed the hell out of me, says Hitzges, who grudgingly made the intra-company radio move in 2000. I did not want to come downstairs.Betting on the lesser of two evils, however, was a five-star no-brainer. Joining the shtick-filled, 13th-floor station that delighted in mocking his numerous idiosyncrasies was, in the wake of KLIFs decision to dump sports, a more appealing alternative than sitting silent six months because of a non-compete clause in his contract.I wanted to explore my options, Hitzges recalls. But it was made very clear to me that if I did that Id have a legal problem.Six years later, chalk up another winner onto Norms gambling ledger.Americas first full-time sports-talk radio host at a time when P1s and sound drops were just a twinkle in some program directors vas deferens, Hitzges is these days more prominent, powerful and popular than ever. He raises money for the Austin Street homeless shelter, vacations in the Galapagos Islands and can walk into any bar this side of Cheers and be serenaded with Norm!Listen carefully; the 63-year-old has even befriended his 13-year-old enemies.I hear some stuff on The Ticket and think to myself, My Lord, Id never put that on my show, Hitzges says. My tolerance has softened, but I also finally realized these guys have a work ethic as diligent as mine. They just work on different things. Far different things.Norms ultimate acceptance of radios dark side was made easier after decades living nefariously through sports gambling. For the last 30 years Hitzges on-air Picks of the Polewhich debuted on KERA radio in 75 as an alternative to Jimmy the Greekhave both revved his adrenaline and caused civil war between the little Norms on his opposing shoulders.As a Christian, Ive been in a moral wrestling match since the day I started, Hitzges says. I understand people listen to me, take my picks and go gamble. But I dont like that.Seems a strange sentimenthypocritical evencoming from a gambling guru who gives out his weekly selections for free on the radio and at his Web site (normhitzges.com) but charges $30 a month to join a Clubhouse that offers detailed analysis of games and consensus picks gleaned from his network of handicappers. But Hitzges has evolved into a legendary personality grandfathered above accusation, evidenced by pro teams coaches and owners appearing on his 10 a.m. to noon show and tempting league rules by tiptoeing around the fuzzy line between being interviewed by a radio icon and associating with a known gambler.The business of analyzing sports may be populated with thieves at a higher percentage than any other business, Hitzges explains. I call them scamdicappers. If youre going to bet, Id rather you get real information and real research. Thats what I provide.To understand Hitzges seemingly twisted rationale, realize that gambling was always woven into the fabric of his family. When his father passed away in 99, Hitzges went to New Yorks Saratoga Springs Race Track. Later, at the funeral, he placed the un-redeemed winning tickets inside Dads jacket.When he got to where he was going, Hitzges says, I wanted to make sure he had a ticket to cash.Hitzges says he has never been a bookie, doesnt have an online gambling account and makes his occasional bets through a liaison. While admitting a negative lifetime balanceIm down, without question, he sayshes kept his habit from deteriorating into an addiction.There are times when Ive said, Wait a minute, youre betting eight games. This is crazy, says Hitzges, whose biggest payday was a $17,000 cash take-home from Lone Star Park in 2001. But this is my hobby. Some people drink $200 bottles of wine. I analyze sports.A far cry from going 22-1 in the 2003 NFL Playoffs or 19-8 during last years college bowl season, Hitzges picks were 48-53 through September 17, including a horrific 8-23 week that spawned a tense on-air exchange climaxed by Ticket personality Gordon Keith offering to make better picks flipping a coin.I work on my picks, but sometimes my work is wrong. Brutally wrong, Hitzges says. Im not picking games out of a hat or reading tea leaves. In 30 years Ive had only five losing seasons, so I must be doing something right.Through excruciating gambling defeats, a hip replacement and surgery to remove a spinal tumor thats left him with minimal nerve sensation below the knee in his right leg, what Norm hasnt lost is his passion for radio and wagering. Gambling is why Hitzges studied trends while in intensive care and once phoned in picks from Peru. Radio is why Hitzges says to bet against him retiring anytime soon.Strange as it is to have my identity tied to a microphone, I dont know what in the world Id do, he says. I guess Id play golf and fish and pick some games, but I do all that now. I am what I am.That, you can take to the bank. Richie Whittif (typeof apntag === 'object') apntag.anq.push(function() if (typeof Foundation.ApnAds.fillAds === 'function') Foundation.ApnAds.fillAds())Best Of Dallas
Sports & Recreation
2006
Best CoachTodd Dodge dnLoadScript(" ", true); Hard to argue against Avery Johnson pushing the Mavericks to the brink of the NBA Championship or McKinney's Hank Haney re-sculpting a swing that allowed Tiger Woods to win four straight tournaments over the summer, but here goes. Over the last four years Southlake Carroll High School's football team has two mythical National Championships, a 63-1 record, a 32-game winning streak and Todd Dodge as its head coach. While we're being brainwashed by Bill Parcells' mind games and monotone game plans, Dodge is suddenly the most creative and productive offensive football mind this side of Texas Tech's Mike Leach. Since arriving in Southlake in 2000, Dodge is 82-11, and his Dragons have won three of the last four state championships, the only loss by one point in the '03 title game. Last year's team set a Texas Class 5A record with 764 points. This year's edition should again be fun to watch and impossible to beat. Argument over, we win.if (typeof apntag === 'object') apntag.anq.push(function() if (typeof Foundation.ApnAds.fillAds === 'function') Foundation.ApnAds.fillAds())Best Of Dallas
Sports & Recreation
2006
Best StarMike Modano dnLoadScript(" ", true); Quick, name another Dallas Stars player. Didn't think so. Ol' Mo retains his title because he's still a serviceable player and still the face of the increasingly anonymous franchise. Last year Modano was 33rd in scoring in the NHL, a fact we placed right behind Keith Richards falling out of a coconut tree in Fiji on the "Hmm, that's interesting" scale. But, of course, we're too busy scarfing down marijuana muffins at lunch to be bothered by hockey, so screw us. Modano ain't perfect either. He was the prima donna that whined about the inferior amenities during the Winter Olympics and was a non-factor as the Stars were wiped out of the playoffs in the first round. But Jussi Jokinen can score all the shootout goals he wants, and Marty Turco can fall on his face at a time when goalies need to stand on their head; Modano remains. Without him, hockey in this town might already be a memory. And Primo's might go out of business.if (typeof apntag === 'object') apntag.anq.push(function() if (typeof Foundation.ApnAds.fillAds === 'function') Foundation.ApnAds.fillAds())Best Of Dallas
Sports & Recreation
2006
Best GymLife Time Fitness dnLoadScript(" ", true); If you're an aspiring boxer hell-bent on blood, sweat and tears, get your ass down to old-school Doug's Gym on Commerce Street. For the rest of us--ahhhh--to the paradise with the palm trees. The new Life Time Fitness on Highway 121 in Allen is like a five-star resort, complete with more than enough amenities to serve us peculiar, pampered types who want the oxymoronic experience of working out in total comfort. Ya know: no pain, no pain. There are indoor and outdoor pools. A caf with a full-service bar. A spa resplendent in cosmetic services. Courts for basketball, racquetball and squash. Locker rooms with free towels and big-screen TVs. A computer center. Financial services. Even a rock-climbing wall and water slides for the kids. Oh yeah, and they got some weights up in there too. All that for like $100 a month. So we ask you, why not just live here?if (typeof apntag === 'object') apntag.anq.push(function() if (typeof Foundation.ApnAds.fillAds === 'function') Foundation.ApnAds.fillAds())Best Of Dallas
Sports & Recreation
2006
Best New Gym No One UsesJewish Community Center of Dallas Sport and Fitness Facility dnLoadScript(" ", true); Some of us around here are of the less-Christian persuasion, and we belong to the JCC; kinda have to, though not as much as you did only a few years back. We can tell that from the rather empty addition that recently opened at the JCC--the sprawling new sports facility that includes two indoor pools (one heated for the very young and very old, one built for the more lap-swimming-inclined), a great indoor track and all the high-tech workout amenities you need to keep pace with the hipper gyms these days. Technically, the place is called the "Medical City Natatorium and Fitness Complex at the J," since Medical City was partner in the place, and you'd think with that powerhouse behind it, the complex would be packed. Not so much. We have our theories: Goyim think you need to be Jewish to belong, or they just don't know about the place, since it's being marketed as well as bacon and cheese sandwiches at a Chabad House. Really, people: Sure, it's not quite the same as working out at Premier Club; fewer MILFs, more migrs, but still. if (typeof apntag === 'object') apntag.anq.push(function() if (typeof Foundation.ApnAds.fillAds === 'function') Foundation.ApnAds.fillAds())Best Of Dallas
Sports & Recreation
2006
Best Sports MomentMavericks Win Game 7 in San Antonio dnLoadScript(" ", true); It's like picking our favorite child. Or choosing just one Basia ballad to squeeze onto the iPod. Dallas Desperados quarterback Clint Dolezel threw 11 touchdowns in one game. Area teams swept the Class 5A, 4A and 3A boys' high school basketball championships in Austin. And the Dallas Cup soccer tournament hosted a spunky team from war-torn Iraq. But nothing made us feel more alive--like we'd arrived--than the Mavs' 119-111 overtime victory over the hated Spurs in Game 7 of the NBA Western Conference Semifinals last May 22. The Mavs advanced to the Finals and got within 6:30 of a 3-0 lead over the Miami Heat, but there wasn't a bigger combo of relief/joy than eliminating the Spurs. It started with Dirk Nowitzki's gutsy drive to the basket and three-point play in the last minute of regulation. We were all Dallas in Wonderland. Our star had matured. Our team had finally conquered its nemesis. This just had to be our year. And then, with an assist from Mayor Laura Miller's premature plans for a parade, the biggest collapse since Bob Dole ran out of Viagra. if (typeof apntag === 'object') apntag.anq.push(function() if (typeof Foundation.ApnAds.fillAds === 'function') Foundation.ApnAds.fillAds())Best Of Dallas
Sports & Recreation
2006
Best HireMatt Doherty dnLoadScript(" ", true); Like 9-year-olds with acute ADD, we were all fixated on the firing of SMU basketball coach Jimmy Tubbs. Then--lookie, over here!--we got totally distracted by Matt Doherty. Cool! Sure it's silly and even unfair that Tubbs was sent packing for simply giving players free hamburgers and laundry detergent. But Doherty? We've actually heard of him! He may turn out to be the worst fad since ciabatta bread, but he did play with Michael Jordan and coach at North Carolina and Notre Dame. He gives the Mustangs instant cred, if not immediate success. The impact? Doherty, who boldly calls SMU the "Duke of Dallas," has put the Ponies back on the basketball map for the first time since John Koncak lumbered around Moody Coliseum. New athletic director Steve Orsini says the school has already raised 80 percent of the $13 million needed for a new practice facility. Illegal or otherwise, Tubbs couldn't have pulled that rabbit out of his hat. if (typeof apntag === 'object') apntag.anq.push(function() if (typeof Foundation.ApnAds.fillAds === 'function') Foundation.ApnAds.fillAds())Best Of Dallas
Sports & Recreation
2006
Best FansDallas Mavericks dnLoadScript(" ", true); Maybe it wasn't Moody Madness, but no denying it was a Love affair. When the Mavericks toppled the Spurs in Game 7 of the Western Conference Semifinals last May, Dallas went all High School Musical giddy over its hoops. A couple thousand fans--waiting for a basketball title in Dallas since Sanger met Harris--showed up at Love Field around midnight to welcome the team's charter plane home from San Antonio. It's the kind of reception usually reserved for the Cowboys arriving or Laura Miller leaving. The Mavs sold out every game in 2005-'06, pushing their sellout streak to 4 1/2 years and 194 consecutive regular-season games. Just as impressive, when Jason Terry got suspended a game for sucker-punching the Spurs' Michael Finley, Mavs fans--even former owners Don Carter and Ross Perot Jr.--showed up at American Airlines Center wearing his No. 31 jersey in unwavering support. Bravo.if (typeof apntag === 'object') apntag.anq.push(function() if (typeof Foundation.ApnAds.fillAds === 'function') Foundation.ApnAds.fillAds())Best Of Dallas
Sports & Recreation
2006
Best PunchJason Terry dnLoadScript(" ", true); It wasn't the most direct or devastating blow, but it was the most notable. And given the pussy-foot punches thrown by Evander Holyfield against Jeremy Bates and by Rangers reliever Scott Feldman against Angels infielder Adam Kennedy, Mavericks guard Jason Terry's quick jab to the jewels of San Antonio's Michael Finley was the most powerful punch of the year. Except, that is, for the fruit-bowl concoction that sneaked up on us at the W Hotel sneak preview party, but we digress. Meanwhile, Terry's sucker slap was so obscure we didn't even catch it live on TV. After a day of the NBA league office studying tape and Finley sitting on an ice pack, however, Terry was suspended for one game. And, somehow, Finley turned into the least deserving Public Enemy No. 1 in Dallas history.if (typeof apntag === 'object') apntag.anq.push(function() if (typeof Foundation.ApnAds.fillAds === 'function') Foundation.ApnAds.fillAds())Best Of Dallas
Sports & Recreation
2006
Best RangerMichael Young dnLoadScript(" ", true); Funny--no, make that creepy--that the most memorable Rangers play of the season almost never happens in a Rangers game. Like Hank Blalock's All-Star Game-winning homer in 2003 or All-Star Game MVP Alfonso Soriano's three-run blast off Roger Clemens in '04, Michael Young's two-out, two-run, game-winning triple in last summer's All-Star Game is again the team's defining moment. On an underachieving team dragged down by the delusions of owner Tom Hicks and the morose managerial style of Buck Showalter, Young again provided one of the few reasons not to give up on baseball and instead waste our lives making appointments for "non-therapeutic" massages on our Blackberrys. He has a better game--but not better highlights--than teammate Gary Matthews Jr. and better stats--but not a better Q rating--than Yankees' shortstop Derek Jeter. Reminding us that it's still possible to be good off the field without a posse and good on the field without steroids, Young is the only reason left to make the trek to Arlington.if (typeof apntag === 'object') apntag.anq.push(function() if (typeof Foundation.ApnAds.fillAds === 'function') Foundation.ApnAds.fillAds())Best Of Dallas2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2007
20062005
2004
2003
2002
2001
2000
UIkit.slider('[data-component-id="BestofYearSlider"] .fdn-best-of-year-slider-block') .slides.each(function (item, index) if(jQuery(item).hasClass('fdn-active-year')) UIkit.slider('[data-component-id="BestofYearSlider"] .fdn-best-of-year-slider-block') .show(index) ) Arts & EntertainmentCULTURE: Whore Wars SCENES: Ante UpBest Buried OutlawClyde Barrow, Western Heights CemeteryBest Dance ClubCowboys Red RiverBest Place to Hear Poorly Played RiffsGuitar CenterBest Reason to Outlaw SkatingThe Rise of Roller DerbyBest Fake Mayoral Candidate PromisePutting Big Tex on Top of Reunion TowerBest Place to Scoot Your BootsThe Round-Up SaloonBest Home TourSummer StrutBest Place to Hear MariachisEl RanchitoBest NewscastsWFAA-Channel 8, 6 p.m. and 10 p.m.Best Night Out of the CityDenton Town SquareBest Place to Flag Down a CopLakewood TexacoBest TV News AnchorJohn McCaa, co-anchor, News 8Best Tramp-Stamp CollectingJake's Old Fashioned Hamburgers, UptownBest Radio Station (Tie)KHYI-95.3 FM, The Range KTCK-1310 AM, The TicketBest Music Venue for MomThe Granada TheaterBest Southern Sector Radio ShowLiberation Nation with John Wiley PriceBest Fired DJFrank HejlBest Way to Run a RailroadTrinity Railway ExpressBest Pickup LineThe line at Eatzi's salad barBest Radio DJTom UrquhartBest Club DJDJ NatureBest Point of ViewTop of the Dome LoungeBest Local Stand-up ComicCorey SuttonBest WiFi if You Can Get ItMurray Street CoffeeBest Schizophrenic Video ShowZoo: The Visual Menagerie The CavernBest Daily Newspaper ColumnistScott Burns, The Dallas Morning NewsBest Local CD ReleaseThe Theater FireBest Place That Is a DragThe Rose Room Theater and LoungeBest Hateful Computer ColumnistDr. Emilio BombayBest Place to Send RaptorsRogers Wildlife CenterBest DMN criticDavid Dillon, ex-Dallas Morning NewsBest Place to Shoot OffBullet Trap Inc.Best Place to Endure a Communal HangoverGachet Coffee LoungeBest Political BloggerMichael DavisBest Local Guilty Pleasure BlogPope-rahsays.blogspot.comBest Place to Get (Nearly) NakedMassage EnvyBest Book ReviewerDr. Lurline MorrowBest Small Place for Big LaughsBackdoor Comedy ClubBest Art GalleryMetrognome CollectiveBest Place to Get HorizontalGrassy shores of White Rock LakeBest Hipster ArtArt ProstituteBest Movie With a ViewB-Reel at the BelmontBest Lonely Hearts HavenThe Ladies Room at Caf San MiguelBest Onscreen UnwindKewlbox.com by BlockdotBest Adventure ClubSunday Nights at Thomas & Leggitt TavernBest Secret Waiting to HappenStone Street TheatreBest Cheap DateCool ThursdaysBest Two-Wheel RivalryThe Blue Goose vs. The Dubliner, SundaysBest Dog ParkBark Park CentralBest-Looking Apartment ComplexSouth Side on LamarBest Karma Balance to the Bush LibraryEmbrey Human Rights Education ProgramBest Outdoor FiestaThe Patio at Matt's Rancho MartinezBest Annual Charity Benefit ConcertSpecial Care & Career ServicesBest Place to Troll for TailLee Harvey'sBest Place to Meet Hot East Dallas Soccer MomsWhole Foods Market on Lower GreenvilleBest TheaterDallas Children's TheaterBest Happy HourThe Old MonkBest Theater CompanyKitchen Dog TheaterBest Beer JointThe Ginger Man Best Theater DirectorCheryl DensonBest Honky-TonkAdair'sBest Local ActressHeather HenryBest Local ActorIan LesonBest Place to Pet a DonkeyFrisco Horse ParkBest CampingCedar Hill State ParkBest Theater NewcomerClay YocumBest Place to Get Your Farm OnHeritage Farmstead MuseumBest Theater HeartthrobGary FloydBest Latin ClubEscapade 2009Best Local Awards ShowThe Column AwardsBest Free OperaDallas Opera Guild Vocal CompetitionBest Intimate EveningIntimate Evening Concert Series at Bend StudioBest Acting SchoolKD Studio Actors ConservatoryBest Jazz ClubBrooklynBest Blues ClubDeep Ellum BluesBest Talent AgencyThe Horne AgencyBest Alternative ClubR.L. Griffin's Blues Palace No. 2Best Intermission EdiblesTheatre BritainBest Booking in a ShoeboxThe CavernBest Theatrical ComebackTheatre ThreeBest Place to Get UnwiredCrystal Meth AnonymousBest Rockin' Reality BabeZayra AlvarezBest Christmas DecorationsBeverly Drive, Highland ParkBest Watering Hole With a Water HoleBackYard Beach BarBest Blog (That Isn't Named Unfair Park, Suckers)FrontBurnerBest Chance to Catch a Rising StarHeart of Texas Speech TournamentBest Divas and Domino'sPhasesBest Local Music WebsiteThe Fine LineBest BarThe Inwood LoungeBest Use of Taxpayer DollarsThe Calatrava BridgesBest Place to People-WatchGhostbar W HotelBest Category We ForgotAnd our readers pick....Best City Council MemberMitchell Rasansky, District 13Best Outdoor Kids' Retreat in 110-Degree WeatherLake Highlands North Recreation CenterBest Design on a DimeR. Keith Petersen DesignBest Place for Wet Veggie TalesHawaiian FallsBest Local Comic Book WriterDavid HopkinsBest Place in DallasTending, (Blue) by James Turrell in the Nasher Sculpture CenterBest Live BandThe Polyphonic SpreeBest View"Prayer Mountain" at Mountain Creek Community ChurchBest Nurturer of NatureJennifer MorganBest Tourist AttractionDallas World AquariumBest History in the MakingZounds-Sounds Music InstructionBest Soul GlowHal SamplesBest Bar FoodThe Old MonkBest Place to Be Alone in a CrowdState Fair of TexasBest Gay BarSue Ellen'sBest JukeboxThe Lakewood LandingBest CoffeehouseStandard & Pours CoffeeBest Live Music Venue (Tie)Sons of Hermann Hall and Dan's SilverleafBest Wild GamePoker Night at The LodgeBest Place to Pick Up a DoctorElbow RoomBest Reason to Still Go to Deep EllumDarkside LoungeBest ArcadeGameWorksBest Outdoor BarMonkey BarBest Rock BarClub DadaFood & DrinkFOOD: Cocoa HeadBest CatfishHook, Line & SinkerBest Fish TacosTaco DinerBest Fried PicklesLove and War in TexasBest Food OrgasmPokey O's Cookies & Ice CreamBest Senior DiningChubby's Family RestaurantBest Homemade Ice CreamHam's Orchard PeachBest MuffulettaJimmy's Food StoreBest Taco StandTacos y MasBest Corporate DinerLucky'sBest SodaJarritosBest DumplingThai Dumpling at Bangkok InnBest Lunch DealThai ThaiBest Hangover CureGold Rush CafBest Italian RestaurantNicola's RistoranteBest CarpaccioBice RistoranteBest Seafood RestaurantThe Oceanaire Seafood RoomBest Mexican RestaurantLanny's Alta Cocina MexicanaBest SommelierDrew Hendricks, Pappas Bros.Best Ham SaladAmuse Restaurant & LoungeBest Fast-Food ChickenMarco Pollo RotisserieBest Indian RestaurantIndia Palace Restaurant & ClubBest Cajun RestaurantMargaux's, a Restaurant by DesignBest Vietnamese RestaurantQun Kien Giang Vietnamese CuisineBest Thai RestaurantNakhon ThaiBest French Fry ImpostorHanasho Japanese RestaurantBest Neighborhood RestaurantKitchen 1924Best Excuse for Bad BreathGarlic Rolls at Marco ItalianBest GuacamoleCaf San MiguelBest Slice of HeavenKey lime pie from JANTT Catering Co.Best Coffee Shop in the MorningCrossroads MarketBest Vegetarian RestaurantKalachandji's Restaurant & PalaceBest BrunchTerilli'sBest Place for Vegetarians to Take CarnivoresClay PitBest Sweet Tooth FixVoila BakeryBest Free AppetizerGloria'sBest Margaritaville SubstituteWeekends RestaurantBest BreakfastBuzzbrews KitchenBest Afternoon DelightFiesta Food MartBest Texas Two-StepRoti GrillBest Drinking BuddyThe Beer Companion at The Ginger ManBest Power Lunch If You Don't Have an Expense AccountChan ThaiBest Place to Eat After Running/ Cycling White Rock LakeLegal GroundsBest Dessert to Get Fat OnChocolate Cappuccino Pie, Scalini'sBest MojitosLa Duni Latin CafBest Outdoor DiningManny's UptownBest Free BeerFat Daddy's BurgersBest Dim Sum SundayArc-En-CielBest Roasted ChickenPollo FiestaBest Nighttime TransformationLegal Grounds/Papou's Greek Kitchen and TavernaBest Dessert for a CrowdCheesecake RoyaleBest CrawfishAw ShucksBest Chocolate ObsessionXocolatlBest BrazilianRafainBest Use of SausageBig Island MeatloafBest PizzaPiggie Pies Pizza & PastaBest Bhalle PapdiTaj Chaat HouseBest Place to Pray Over NuggetsChick-Fil-ABest Place to Have SoulVern's PlaceBest BurgerAngry DogBest Cheap MexicanCasa NavarroBest Customer HumiliationTwisted Root Burger Co.Best Unexpected Sunday BrunchCoal VinesBest Middle Eastern Restaurant: UpscaleCaf IstanbulBest Middle Eastern Restaurant: InexpensiveKasbah GrillBest Greek RestaurantZorba's Greek CafBest AtmosphereStephan PylesBest Fried ChickenBubba'sBest ServiceCraft DallasBest Taxi ServiceTijuana Bar & Grill's Tijuana Taxi ExpressBest BakeryEatZi'sBest BarbecueBaker's RibsBest Chicken-Fried SteakPeggy Sue BBQ Best DeliDeli NewsBest Fast FoodBack Yard BurgersBest WingsWingstopBest SaladSnappy SaladsBest Cheap SandwhichWhich Wich?Best DoughnutsKrispy KremeBest TortillaCaf San MiguelBest SushiTeppo Yakitori and Sushi BarBest Chinese RestaurantKirin CourtBest New RestaurantStephan PylesBest Fancy RestaurantAuroraBest SteakPappas Bros. SteakhouseBest French FriesDairy-etteBest Three-Course Lunch for Less Than $10East Wind Shopping & ServicesMARKET: Rubber MaidBest Grocery Two-FerTom Thumb and Central MarketBest Record Store EmployeeC.J. at Good RecordsBest Health Food StoreLower Greenville Whole FoodsBest Grocery Store With Eye CandyKroger Signature StoreBest Men's Clothing StoreBass Pro ShopsBest Beginner Camping StoreAcademy Sports and OutdoorsBest Quality Camping StoreREIBest Store for Conscientious ConsumersGreen LivingBest Tech ClothesWhole Earth Provision Co.Best Closet SwapBuffalo ExchangeBest Custom ShirtsQ ShirtmakersBest Place to Fix Flats (and Heels)VIllage Shoe ServiceBest Vintage ClothingPandemoniumBest Clothing SaleFIG FinaleBest Customer ServiceNordstrom at NorthPark CenterBest TailorArt TailorBest Place to Flip Your WigLemmon Beauty SupplyBest Trading PostDallas Zoo Nature ExchangeBest Way to Get Your Logo OnKeep U-N StitchesBest Mall MakeoverNorthPark CenterBest String of PurlsPassionKnitBest Auto Repair ShopAdvantage Tire ProsBest Convertible RepairDowntown Auto UpholsteryBest Window WashersNothing But Clean Window CleaningBest NipplesTeter's Faucet Parts CenterBest BarbershopAbbott's BarbershopBest Short-Hair StylistHenri Burgos, Montana SalonBest Haircut for Non-MetrosexualsWillie & Coote SalonBest Dentist's OfficeForest Park Dental CareBest Tooth RottersNoKa ChocolateBest Techno Do-GoodersG-C Partners, LLCBest Doggy StyleArmholeBest Food for FidoCity Pet SupplyBest Duds for Purse DogsDog SpecialtiesBest Aquarium SuppliesDallas North AquariumBest Fish BoutiqueThe Fish GalleryBest Thrift in a PinchCounter Culture (Deep Ellum)Best Wrist WorkAdventures in SyntheticsBest Place to Get Naked in Front of StudentsTexas Massage InstituteBest Antique ShowBuchanan Markets Antiques & CollectiblesBest Imitation of a Real Town SquareThe Legacy Town CenterBest Charity ShopGift and Resale ShopBest Place to Buy a Blind Date CoffeeOld Town StarbucksBest Halloween High FashionDallas Costume ShoppeBest Furniture StoreDurango Trading Co.Best Flooring SelectionFloor & DcorBest FloristAvant GardenBest Light FixturesLights FantasticBest Place to Bag Good TeaTempest TeaBest High-End TilesFrench-Brown FloorsBest LocksmithGolden's KeysBest Carry-On CosmeticsLushBest BlingOm ImportsBest Flea MarketJunkadoodleBest Paint StoreWalnut Hill Paint Co.Best Shop for Rock 'n' Roll CowboysCowboy CoolBest Gun ShopRay's Sporting GoodsBest Brazilian MarketCoisas Do BrasilBest CD StoreCD WorldBest Vinyl FetishA&R Record and TapeBest Place to Act Like a Kid AgainCelebration StationBest CleanersFreedom CleanersBest BookstoreHalf-Price BooksBest HotelHotel St. GermainBest Way to Screw a LocalHarry Winston Moving in Next to William NobleBest Repurposing of a Crap MallOlla Podrida Turns Into Hebrew School, SeriouslyBest Toy StoreFroggie's 5 & 10Best Fanboy HangTitan ComicsBest Attitude AdjustmentDr. Lynne Auerbach, Uptown ChiropracticBest Gift ShopUrban Flowers and Gift MarketBest Global Warming AntidoteRedenta'sBest Women's Clothing StoreEmeralds to CoconutsBest Oriental Rug CleanerOriental Rug Cleaning Co.Best Art SupportART is ARTBest Scene HeardTactics ProductionsBest Piercing RescueTim at Taboo TattooBest FacialBliss Spa at the W HotelBest Treasure TroveDolly PythonBest VeterinariansCity VetBest Handmade Wedding CakeSports & RecreationSPORTS: Norm Nose SportsBest CoachTodd DodgeBest StarMike ModanoBest GymLife Time FitnessBest New Gym No One UsesJewish Community Center of Dallas Sport and Fitness FacilityBest Sports MomentMavericks Win Game 7 in San AntonioBest HireMatt DohertyBest FansDallas MavericksBest PunchJason TerryBest RangerMichael YoungBest Sports ColumnistBrad ShamBest TV Sports AnchorDale HansenBest Sports ChiropractorDr. Mary CollingsBest Place to Watch Sports With an AthleteTen Sports GrillBest UnderdogsFC RomaBest Place to RunWhite Rock Lake ParkBest WhitewaterWhite Rock CreekBest Sports DealFC DallasBest Reason to Watch Another Boring Rangers SegmentErin HawksworthBest Skate ParkEisenbergs Skate ParkBest HikeLake Ray Roberts State ParkBest High-End Bowling300 DallasBest Indoor Rock ClimbingExposureBest Place to Get MuddyL.B. Houston Park trailBest MaverickDirk NowitzkiBest Sports Radio Talk ShowThe HardlineBest CowboyTroy AikmanBest Sports Sculpture"Golden Goal" and "Frisco Flyer" at Pizza Hut Park, Frisco FilterBest Of20222021202020192018201720162015201420132012201120102009200820072006200520042003200220012000 jQuery('#bestofSearchPanel select[name="year"]').on('change', function (e) window.location = e.target.value ) Arts & EntertainmentCULTURE: Whore WarsSCENES: Ante UpBest Buried OutlawClyde Barrow, Western Heights CemeteryBest Dance ClubCowboys Red RiverBest Place to Hear Poorly Played RiffsGuitar CenterBest Reason to Outlaw SkatingThe Rise of Roller DerbyBest Fake Mayoral Candidate PromisePutting Big Tex on Top of Reunion TowerBest Place to Scoot Your BootsThe Round-Up SaloonBest Home TourSummer StrutBest Place to Hear MariachisEl RanchitoBest NewscastsWFAA-Channel 8, 6 p.m. and 10 p.m.Best Night Out of the CityDenton Town SquareBest Place to Flag Down a CopLakewood TexacoBest TV News AnchorJohn McCaa, co-anchor, News 8Best Tramp-Stamp CollectingJake's Old Fashioned Hamburgers, UptownBest Radio Station (Tie)KHYI-95.3 FM, The Range KTCK-1310 AM, The TicketBest Music Venue for MomThe Granada TheaterBest Southern Sector Radio ShowLiberation Nation with John Wiley PriceBest Fired DJFrank HejlBest Way to Run a RailroadTrinity Railway ExpressBest Pickup LineThe line at Eatzi's salad barBest Radio DJTom UrquhartBest Club DJDJ NatureBest Point of ViewTop of the Dome LoungeBest Local Stand-up ComicCorey Sutton Best WiFi if You Can Get ItMurray Street CoffeeBest Schizophrenic Video ShowZoo: The Visual Menagerie The CavernBest Daily Newspaper ColumnistScott Burns, The Dallas Morning NewsBest Local CD ReleaseThe Theater FireBest Place That Is a DragThe Rose Room Theater and LoungeBest Hateful Computer ColumnistDr. Emilio BombayBest Place to Send RaptorsRogers Wildlife CenterBest DMN criticDavid Dillon, ex-Dallas Morning NewsBest Place to Shoot OffBullet Trap Inc.Best Place to Endure a Communal HangoverGachet Coffee LoungeBest Political BloggerMichael DavisBest Local Guilty Pleasure BlogPope-rahsays.blogspot.comBest Place to Get (Nearly) NakedMassage EnvyBest Book ReviewerDr. Lurline MorrowBest Small Place for Big LaughsBackdoor Comedy ClubBest Art GalleryMetrognome CollectiveBest Place to Get HorizontalGrassy shores of White Rock LakeBest Hipster ArtArt ProstituteBest Movie With a ViewB-Reel at the BelmontBest Lonely Hearts HavenThe Ladies Room at Caf San Miguel Best Onscreen UnwindKewlbox.com by BlockdotBest Adventure ClubSunday Nights at Thomas & Leggitt TavernBest Secret Waiting to HappenStone Street TheatreBest Cheap DateCool ThursdaysBest Two-Wheel RivalryThe Blue Goose vs. The Dubliner, SundaysBest Dog ParkBark Park CentralBest-Looking Apartment ComplexSouth Side on LamarBest Karma Balance to the Bush LibraryEmbrey Human Rights Education ProgramBest Outdoor FiestaThe Patio at Matt's Rancho MartinezBest Annual Charity Benefit ConcertSpecial Care & Career ServicesBest Place to Troll for TailLee Harvey'sBest Place to Meet Hot East Dallas Soccer MomsWhole Foods Market on Lower GreenvilleBest TheaterDallas Children's TheaterBest Happy HourThe Old MonkBest Theater CompanyKitchen Dog TheaterBest Beer JointThe Ginger ManBest Theater DirectorCheryl DensonBest Honky-TonkAdair'sBest Local ActressHeather HenryBest Local ActorIan LesonBest Place to Pet a DonkeyFrisco Horse ParkBest CampingCedar Hill State ParkBest Theater NewcomerClay YocumBest Place to Get Your Farm OnHeritage Farmstead MuseumBest Theater HeartthrobGary FloydBest Latin ClubEscapade 2009Best Local Awards ShowThe Column AwardsBest Free OperaDallas Opera Guild Vocal CompetitionBest Intimate EveningIntimate Evening Concert Series at Bend StudioBest Acting SchoolKD Studio Actors ConservatoryBest Jazz ClubBrooklynBest Blues ClubDeep Ellum BluesBest Talent AgencyThe Horne AgencyBest Alternative ClubR.L. Griffin's Blues Palace No. 2Best Intermission EdiblesTheatre BritainBest Booking in a ShoeboxThe CavernBest Theatrical ComebackTheatre ThreeBest Place to Get UnwiredCrystal Meth AnonymousBest Rockin' Reality BabeZayra AlvarezBest Christmas DecorationsBeverly Drive, Highland ParkBest Watering Hole With a Water HoleBackYard Beach BarBest Blog (That Isn't Named Unfair Park, Suckers)FrontBurnerBest Chance to Catch a Rising StarHeart of Texas Speech TournamentBest Divas and Domino'sPhasesBest Local Music WebsiteThe Fine LineBest BarThe Inwood LoungeBest Use of Taxpayer DollarsThe Calatrava BridgesBest Place to People-WatchGhostbar W HotelBest Category We ForgotAnd our readers pick....Best City Council MemberMitchell Rasansky, District 13Best Outdoor Kids' Retreat in 110-Degree WeatherLake Highlands North Recreation CenterBest Design on a DimeR. Keith Petersen DesignBest Place for Wet Veggie TalesHawaiian FallsBest Local Comic Book WriterDavid HopkinsBest Place in DallasTending, (Blue) by James Turrell in the Nasher Sculpture CenterBest Live BandThe Polyphonic SpreeBest View"Prayer Mountain" at Mountain Creek Community ChurchBest Nurturer of NatureJennifer MorganBest Tourist AttractionDallas World AquariumBest History in the MakingZounds-Sounds Music InstructionBest Soul GlowHal SamplesBest Bar FoodThe Old MonkBest Place to Be Alone in a CrowdState Fair of TexasBest Gay BarSue Ellen'sBest JukeboxThe Lakewood LandingBest CoffeehouseStandard & Pours CoffeeBest Live Music Venue (Tie)Sons of Hermann Hall and Dan's SilverleafBest Wild GamePoker Night at The LodgeBest Place to Pick Up a DoctorElbow RoomBest Reason to Still Go to Deep EllumDarkside LoungeBest ArcadeGameWorksBest Outdoor BarMonkey BarBest Rock BarClub DadaFood & Drink FOOD: Cocoa HeadBest CatfishHook, Line & SinkerBest Fish TacosTaco DinerBest Fried PicklesLove and War in TexasBest Food OrgasmPokey O's Cookies & Ice CreamBest Senior DiningChubby's Family RestaurantBest Homemade Ice CreamHam's Orchard PeachBest MuffulettaJimmy's Food StoreBest Taco StandTacos y MasBest Corporate DinerLucky'sBest SodaJarritosBest DumplingThai Dumpling at Bangkok InnBest Lunch DealThai ThaiBest Hangover CureGold Rush CafBest Italian RestaurantNicola's RistoranteBest CarpaccioBice RistoranteBest Seafood RestaurantThe Oceanaire Seafood RoomBest Mexican RestaurantLanny's Alta Cocina MexicanaBest SommelierDrew Hendricks, Pappas Bros.Best Ham SaladAmuse Restaurant & LoungeBest Fast-Food ChickenMarco Pollo Rotisserie Best Indian RestaurantIndia Palace Restaurant & ClubBest Cajun RestaurantMargaux's, a Restaurant by DesignBest Vietnamese RestaurantQun Kien Giang Vietnamese CuisineBest Thai RestaurantNakhon ThaiBest French Fry ImpostorHanasho Japanese RestaurantBest Neighborhood RestaurantKitchen 1924Best Excuse for Bad BreathGarlic Rolls at Marco ItalianBest GuacamoleCaf San MiguelBest Slice of HeavenKey lime pie from JANTT Catering Co.Best Coffee Shop in the MorningCrossroads MarketBest Vegetarian RestaurantKalachandji's Restaurant & PalaceBest BrunchTerilli'sBest Place for Vegetarians to Take CarnivoresClay PitBest Sweet Tooth FixVoila BakeryBest Free AppetizerGloria'sBest Margaritaville SubstituteWeekends RestaurantBest BreakfastBuzzbrews KitchenBest Afternoon DelightFiesta Food MartBest Texas Two-StepRoti GrillBest Drinking BuddyThe Beer Companion at The Ginger ManBest Power Lunch If You Don't Have an Expense AccountChan Thai Best Place to Eat After Running/ Cycling White Rock LakeLegal GroundsBest Dessert to Get Fat OnChocolate Cappuccino Pie, Scalini'sBest MojitosLa Duni Latin CafBest Outdoor DiningManny's UptownBest Free BeerFat Daddy's BurgersBest Dim Sum SundayArc-En-CielBest Roasted ChickenPollo FiestaBest Nighttime TransformationLegal Grounds/Papou's Greek Kitchen and TavernaBest Dessert for a CrowdCheesecake RoyaleBest CrawfishAw ShucksBest Chocolate ObsessionXocolatlBest BrazilianRafainBest Use of SausageBig Island MeatloafBest PizzaPiggie Pies Pizza & PastaBest Bhalle PapdiTaj Chaat HouseBest Place to Pray Over NuggetsChick-Fil-ABest Place to Have SoulVern's PlaceBest BurgerAngry DogBest Cheap MexicanCasa NavarroBest Customer HumiliationTwisted Root Burger Co.Best Unexpected Sunday BrunchCoal VinesBest Middle Eastern Restaurant: UpscaleCaf IstanbulBest Middle Eastern Restaurant: InexpensiveKasbah GrillBest Greek RestaurantZorba's Greek CafBest AtmosphereStephan PylesBest Fried ChickenBubba'sBest ServiceCraft DallasBest Taxi ServiceTijuana Bar & Grill's Tijuana Taxi ExpressBest BakeryEatZi'sBest BarbecueBaker's RibsBest Chicken-Fried SteakPeggy Sue BBQBest DeliDeli NewsBest Fast FoodBack Yard BurgersBest WingsWingstopBest SaladSnappy SaladsBest Cheap SandwhichWhich Wich?Best DoughnutsKrispy KremeBest TortillaCaf San MiguelBest SushiTeppo Yakitori and Sushi BarBest Chinese RestaurantKirin CourtBest New RestaurantStephan PylesBest Fancy RestaurantAuroraBest SteakPappas Bros. SteakhouseBest French FriesDairy-etteBest Three-Course Lunch for Less Than $10East WindShopping & ServicesMARKET: Rubber MaidBest Grocery Two-FerTom Thumb and Central MarketBest Record Store EmployeeC.J. at Good RecordsBest Health Food StoreLower Greenville Whole FoodsBest Grocery Store With Eye CandyKroger Signature StoreBest Men's Clothing StoreBass Pro ShopsBest Beginner Camping StoreAcademy Sports and OutdoorsBest Quality Camping StoreREIBest Store for Conscientious ConsumersGreen LivingBest Tech ClothesWhole Earth Provision Co.Best Closet SwapBuffalo ExchangeBest Custom ShirtsQ ShirtmakersBest Place to Fix Flats (and Heels)VIllage Shoe ServiceBest Vintage ClothingPandemoniumBest Clothing SaleFIG FinaleBest Customer ServiceNordstrom at NorthPark CenterBest TailorArt TailorBest Place to Flip Your WigLemmon Beauty SupplyBest Trading PostDallas Zoo Nature ExchangeBest Way to Get Your Logo OnKeep U-N StitchesBest Mall MakeoverNorthPark CenterBest String of PurlsPassionKnitBest Auto Repair ShopAdvantage Tire ProsBest Convertible RepairDowntown Auto UpholsteryBest Window WashersNothing But Clean Window CleaningBest NipplesTeter's Faucet Parts CenterBest BarbershopAbbott's BarbershopBest Short-Hair StylistHenri Burgos, Montana SalonBest Haircut for Non-MetrosexualsWillie & Coote SalonBest Dentist's OfficeForest Park Dental CareBest Tooth RottersNoKa ChocolateBest Techno Do-GoodersG-C Partners, LLCBest Doggy StyleArmholeBest Food for FidoCity Pet SupplyBest Duds for Purse DogsDog SpecialtiesBest Aquarium SuppliesDallas North AquariumBest Fish BoutiqueThe Fish GalleryBest Thrift in a PinchCounter Culture (Deep Ellum)Best Wrist WorkAdventures in SyntheticsBest Place to Get Naked in Front of StudentsTexas Massage InstituteBest Antique ShowBuchanan Markets Antiques & CollectiblesBest Imitation of a Real Town SquareThe Legacy Town CenterBest Charity ShopGift and Resale ShopBest Place to Buy a Blind Date CoffeeOld Town StarbucksBest Halloween High FashionDallas Costume ShoppeBest Furniture StoreDurango Trading Co.Best Flooring SelectionFloor & DcorBest FloristAvant GardenBest Light FixturesLights FantasticBest Place to Bag Good TeaTempest TeaBest High-End TilesFrench-Brown FloorsBest LocksmithGolden's KeysBest Carry-On CosmeticsLushBest BlingOm ImportsBest Flea MarketJunkadoodleBest Paint StoreWalnut Hill Paint Co.Best Shop for Rock 'n' Roll CowboysCowboy CoolBest Gun ShopRay's Sporting GoodsBest Brazilian MarketCoisas Do BrasilBest CD StoreCD WorldBest Vinyl FetishA&R Record and TapeBest Place to Act Like a Kid AgainCelebration StationBest CleanersFreedom CleanersBest BookstoreHalf-Price BooksBest HotelHotel St. GermainBest Way to Screw a LocalHarry Winston Moving in Next to William NobleBest Repurposing of a Crap MallOlla Podrida Turns Into Hebrew School, SeriouslyBest Toy StoreFroggie's 5 & 10Best Fanboy HangTitan ComicsBest Attitude AdjustmentDr. Lynne Auerbach, Uptown ChiropracticBest Gift ShopUrban Flowers and Gift MarketBest Global Warming AntidoteRedenta'sBest Women's Clothing StoreEmeralds to CoconutsBest Oriental Rug CleanerOriental Rug Cleaning Co.Best Art SupportART is ARTBest Scene HeardTactics ProductionsBest Piercing RescueTim at Taboo TattooBest FacialBliss Spa at the W HotelBest Treasure TroveDolly PythonBest VeterinariansCity VetBest Handmade Wedding CakeSports & RecreationSPORTS: Norm Nose SportsBest CoachTodd DodgeBest StarMike ModanoBest GymLife Time FitnessBest New Gym No One UsesJewish Community Center of Dallas Sport and Fitness FacilityBest Sports MomentMavericks Win Game 7 in San AntonioBest HireMatt DohertyBest FansDallas MavericksBest PunchJason TerryBest RangerMichael YoungBest Sports ColumnistBrad ShamBest TV Sports AnchorDale HansenBest Sports ChiropractorDr. Mary CollingsBest Place to Watch Sports With an AthleteTen Sports GrillBest UnderdogsFC RomaBest Place to RunWhite Rock Lake ParkBest WhitewaterWhite Rock CreekBest Sports DealFC DallasBest Reason to Watch Another Boring Rangers SegmentErin HawksworthBest Skate ParkEisenbergs Skate ParkBest HikeLake Ray Roberts State ParkBest High-End Bowling300 DallasBest Indoor Rock ClimbingExposureBest Place to Get MuddyL.B. Houston Park trailBest MaverickDirk NowitzkiBest Sports Radio Talk ShowThe HardlineBest CowboyTroy AikmanBest Sports Sculpture"Golden Goal" and "Frisco Flyer" at Pizza Hut Park, FriscoClear Search // (function () { if (true) // jQuery('[data-component-id="BestofSearchResults"]cracksearchnosearchcdsearchbloodsearchbowlsearchlegendary').length === 0) var bottomElementSelector = '[data-ev-zone="ZoneC"]' var searchSelector = '[data-component-id="BestofSearchController"]' var searchContainer = jQuery(searchSelector) var searchNHContainerSelector = '.fdn-best-of-search-neighborhood-dropdown-block' var searchNHContainer = searchContainer.find(searchNHContainerSelector) var searchSectionsSelector = '.fdn-best-of-search-controller' var searchSections = searchContainer.find(searchSectionsSelector) var redoSectionHeightsTimeout = null function redoSearchSectionHeights () // Clear the existing timeout and replace with this redoSectionHeightsTimeout = setTimeout(function () var windowHeight = window.innerHeight var offsetGap = 40 var bottomElement = jQuery(bottomElementSelector) if (bottomElement.length) var bottomReferencePoint = bottomElement.get(0).getBoundingClientRect().top - offsetGap else var bottomReferencePoint = 1000000000 var windowTopToComponentBottom = Math.min(windowHeight, bottomReferencePoint) var searchSectionsBoundingTop = searchSections.get(0).getBoundingClientRect().top var searchSectionsChildItems = searchSections.children('*') var totalSearchSectionsTitleHeight = 0 searchSectionsChildItems.not(':hidden').each(function () totalSearchSectionsTitleHeight += jQuery(this).find('.uk-accordion-title').outerHeight() ) var leftoverHeight = Math.round( Math.max(windowTopToComponentBottom - offsetGap - searchSectionsBoundingTop - totalSearchSectionsTitleHeight, 0) ) searchSections.find('.uk-accordion-content').css( 'height': leftoverHeight + 'px', 'min-height': '300px' ) , 33) // beforeshow is uikit event searchNHContainer.on('beforeshow click', redoSearchSectionHeights) searchSections.on('beforeshow click', redoSearchSectionHeights) jQuery(window).on('scroll resize', redoSearchSectionHeights) jQuery(redoSearchSectionHeights) redoSearchSectionHeights() var fireEvent = function (name, options) var jQevent = jQuery.Event(name) for (var property in options) jQevent[property] = options[property] jQuery(document).trigger(jQevent) var elementInView = function (element, topOffset, bottomOffset, debugOverlay) bottomInView var updateMetaDataFromElement = function (element) var BestOfItemsObj = function () this.smallMenuBreakPoint = 850 this.itemContainerSelector = '[data-component-id="BestofSearchResults"]' this.itemSelector = ' .fdn-custom-best-of-content-block' this.lazyLoadMoreResults = false this.spinnerHTML = '' Object.defineProperties(this, 'items': get: function() return jQuery(this.itemContainerSelector).find(this.itemSelector) , 'currentItem': get: function() var foundItem = null var foundItemInView = null this.items.each(function () var currentInView = elementInView(jQuery(this), scrollTopOffset, 0) if (currentInView) // An in view item is already located extra logic if (foundItemInView && foundItemInView.inView) // The entire previously found item is visible - it wins if (foundItemInView.topInView && foundItemInView.bottomInView) return // The previously found item covers the visible area - it wins if (foundItemInView.middleCoversView) return // The previously found item has more surface area - it wins if (foundItemInView.percentVisable > currentInView.percentOfViewHeight) return foundItem = jQuery(this) foundItemInView = currentInView ) return foundItem , 'currentItemIndex': get: function() var currentElement = this.currentItem.closest('[bestof-index]') if(currentElement) return parseInt(currentElement.attr('bestof-index')) return null , 'currentItemId': get: function() var currentElement = this.currentItem.closest('[bestof-id]') if(currentElement) return currentElement.attr('bestof-id') return null ) var bestOfInstance = this var scrollTopOffset = window.innerHeight > this.smallMenuBreakPoint ? 110 : 140 var originUrl = window.location.href this.scrollToIndex = function (index) var bestOfItem = this.items.filter('[bestof-index="' + index + '"]') if (bestOfItem.length) var topOffset = bestOfItem.offset().top - scrollTopOffset // window.scrollTo( top: topOffset, behavior: 'smooth' ) window.scrollTo( top: topOffset, behavior: 'auto' ) else this.fetchMore(index, function () bestOfInstance.scrollToIndex(index) ) this.fetchMore = function (startIndex, callback) // console.log('starting') var currentItemOnFetch = this.currentItem var url = window.location.origin + window.location.pathname var params = ajaxComponent: 'BestofSearchResults', action: 'grabMore', startIndex: startIndex, var keywords = currentItemOnFetch.attr('bestof-keywords') if (keywords) params.keywords = keywords jQuery.ajax( url: url, type: 'GET', data: params, dataType: 'json', beforeSend: function () // console.log('Fetching results') , success: function (data) // console.log('success', data.results, data.results.length, data.error, data) if (data) if (data.error) console.log(data.error) else if (data.results) // console.log('bestOfInstance.items', bestOfInstance.items) for (var i = 0; i 0 // console.log('result', resultItemIndex) var previousItem = null var previousItemIndex = 0 if (!resultAlreadyInserted) bestOfInstance.items.each(function () if (resultAlreadyInserted) return var currentItem = jQuery(this) var currentItemIndex = parseInt(currentItem.attr('bestof-index')) if (resultItemIndex === currentItemIndex ) resultAlreadyInserted = true return else if (resultItemIndex > previousItemIndex && resultItemIndex 0 var prevPrevIndexLoaded = bestOfInstance.items.filter('[bestof-index="' + prevPrevIndex + '"]').length > 0 var nextIndexLoaded = bestOfInstance.items.filter('[bestof-index="' + nextIndex + '"]').length > 0 var nextNextIndexLoaded = bestOfInstance.items.filter('[bestof-index="' + nextNextIndex + '"]').length > 0 if(!prevIndexLoaded) jQuery(bestOfInstance.itemContainerSelector + ' div[uk-spinner]').remove() // jQuery(bestOfInstance.itemContainerSelector).prepend(bestOfInstance.spinnerHTML) bestOfInstance.fetchMore(Math.max(prevIndex - 9, 1)) else if(!prevPrevIndexLoaded) jQuery(bestOfInstance.itemContainerSelector + ' div[uk-spinner]').remove() // jQuery(bestOfInstance.itemContainerSelector).prepend(bestOfInstance.spinnerHTML) bestOfInstance.fetchMore(Math.max(prevPrevIndex - 9, 1)) if(!nextIndexLoaded) jQuery(bestOfInstance.itemContainerSelector + ' div[uk-spinner]').remove() jQuery(bestOfInstance.itemContainerSelector).append(bestOfInstance.spinnerHTML) bestOfInstance.fetchMore(nextIndex) else if(!nextNextIndexLoaded) jQuery(bestOfInstance.itemContainerSelector + ' div[uk-spinner]').remove() jQuery(bestOfInstance.itemContainerSelector).append(bestOfInstance.spinnerHTML) bestOfInstance.fetchMore(nextNextIndex) , 500) var lastIndex = bestOfInstance.currentItemIndex jQuery(window).on('scroll resize', function () // Give lazyLoad a chance to finish before submiting more requests var lazyLoadTimeout = setTimeout(function () var currentIndex = bestOfInstance.currentItemIndex if(currentIndex !== lastIndex) lastIndex = currentIndex lazyLoadSurroundingItems(currentIndex) // console.log(`BestOf Item index: $currentIndex`) fireEvent('foundation:bestof:itemchange') , 200) ) this.initialized = false this.init = function () if (this.initialized === true) return // Prevent the browser from trying to scroll to the last scroll position before reload if (history.scrollRestoration) history.scrollRestoration = 'manual' var startIndex = this.items.first().attr('bestof-index') var oid = window.location.pathname.match(/\d+$/) if (oid) var grabIndex = parseInt(this.items.closest('[bestof-id="' + oid[0] + '"]').attr('bestof-index')) if (!isNaN(grabIndex)) var startIndex = grabIndex if (startIndex > 1) this.scrollToIndex(startIndex) if(jQuery(this.itemContainerSelector + '[single-listing]').length === 0) this.lazyLoadMoreResults = true this.initialized = true lazyLoadSurroundingItems(startIndex) return this var BestOfItems = new BestOfItemsObj() var highlightBestOfItemInSearch = function (element, bestofId) // var searchContainer = jQuery('[data-component-id="BestofSearchController"]') var searchContainer = jQuery(element) var currentListItem = searchContainer.find('.uk-accordion-content li[bestof-id="' + bestofId + '"]') var currentList = currentListItem.closest('ul.uk-list') searchContainer.find('.uk-accordion-content li[bestof-id] .uk-active') .removeClass('uk-active') currentListItem.find('a').addClass('uk-active') var searchAccordion = currentListItem.closest('.uk-accordion-content') if (searchAccordion.length > 0) var searchTop = searchAccordion.offset().top - pageYOffset var searchBottom = window.innerHeight - searchTop - searchAccordion.height() var inViewInfo = elementInView(currentListItem, searchTop, searchBottom) // console.log(inViewInfo, searchTop, searchBottom, searchAccordion.height()) if (inViewInfo) !inViewInfo.bottomInView) scrollToBestOfItemInSearch('[data-component-id="BestofSearchController"]', bestofId) scrollToBestOfItemInSearch('#bestofSearchPanel', bestofId) var scrollToBestOfItemInSearch = function (element, bestofId) // var searchContainer = jQuery('[data-component-id="BestofSearchController"]') var searchContainer = jQuery(element) var currentListItem = searchContainer.find('.uk-accordion-content li[bestof-id="' + bestofId + '"]') var currentList = currentListItem.closest('ul.uk-list') var heightTillCurrentItem = 0 var currentItemReached = false var previousHeight = 0 currentList.find('li').not(':hidden').each(function () if (jQuery(this).find('a').hasClass('uk-active')) currentItemReached = true Math.max(0, heightTillCurrentItem -= previousHeight) if(!currentItemReached) heightTillCurrentItem += jQuery(this).outerHeight(true) previousHeight = jQuery(this).outerHeight(true) ) currentList.closest('.uk-accordion-content').get(0).scroll( top: heightTillCurrentItem, behavior: 'smooth' ) // Timeout to prevent fast jogging from item to item var itemChangeTimeout = null jQuery(document).on('foundation:bestof:itemchange', function () itemChangeTimeout = setTimeout(function () highlightBestOfItemInSearch('[data-component-id="BestofSearchController"]', BestOfItems.currentItemId) updateMetaDataFromElement(BestOfItems.currentItem) // Google track pageview if (typeof ga === 'function') ga('set', 'location', window.location.href) ga('send', 'pageview') // Chartbeat track pageview if (typeof pSUPERFLY === 'object') var psupa = pSUPERFLY.virtualPage( authors: '', path: window.location.path, title: document.querySelector('title').text ) // console.log('pSUPERFLY.virtualPage', psupa) , 200) ) var bestOfSearchOnClick = function (e) var linkElement = jQuery(this) var listElement = linkElement.closest('ul.uk-list') var clickedItemElement = linkElement.closest('li[bestof-id]') var clickedItemId = clickedItemElement.attr('bestof-id') var clickedItemYear = clickedItemElement.attr('bestof-year') var clickedItemCategory = clickedItemElement.attr('bestof-category') var clickedItemIndex = clickedItemElement.attr('bestof-index') var currentItem = BestOfItems.currentItem var currentItemYear = currentItem.attr('bestof-year') var currentItemCategory = currentItem.attr('bestof-category') // console.log(linkElement, listElement, clickedItemElement, clickedItemId) if (clickedItemYear === currentItemYear && clickedItemCategory === currentItemCategory) e.preventDefault() // console.log(`BestOfItems.scrollToIndex($clickedItemIndex)`) BestOfItems.scrollToIndex(clickedItemIndex) listElement.find('.uk-active').removeClass('uk-active') highlightBestOfItemInSearch('[data-component-id="BestofSearchController"]', clickedItemId) highlightBestOfItemInSearch('#bestofSearchPanel', clickedItemId) jQuery('.fdn-best-of-search-item-link').click(bestOfSearchOnClick) // Try to highlight immediately BestOfItems.init() highlightBestOfItemInSearch('[data-component-id="BestofSearchController"]', BestOfItems.currentItemId) // On document loaded jQuery(function () BestOfItems.init() highlightBestOfItemInSearch('[data-component-id="BestofSearchController"]', BestOfItems.currentItemId) ) // console.log(jQuery('#bestofSearchPanelToggle'), jQuery('[data-component-id="SiteHeaderGrid"]')) // Secondary search panel bits for small displays var smallViewsearchPanelToggle = jQuery('#bestofSearchPanelToggle') jQuery('[data-component-id="SiteHeaderGrid"]').append(smallViewsearchPanelToggle) var smallViewSearchPanel = jQuery('#bestofSearchPanel') smallViewSearchPanel.on('shown', function () highlightBestOfItemInSearch('#bestofSearchPanel', BestOfItems.currentItemId) ) // Hide modal once item comes into view jQuery(document).on('foundation:bestof:itemchange', function () UIkit.modal(smallViewSearchPanel).hide() ) // keyword search else // Secondary search panel bits for small displays var smallViewsearchPanelToggle = jQuery('#bestofSearchPanelToggle') jQuery('[data-component-id="SiteHeaderGrid"]').append(smallViewsearchPanelToggle) var smallViewSearchPanel = jQuery('#bestofSearchPanel') smallViewSearchPanel.find('select[name="year"]').hide() smallViewSearchPanel.find('[uk-accordion]').hide() smallViewSearchPanel.find('[reset-search]').show() // )() Join the Observer community and help supportindependent local journalism in Dallas.
crack no cd blood bowl legendary
2ff7e9595c
Comments