1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 5
5<script> 6 function formatSOCiPhoneNumber(phoneNumber, countryCode) { 7 if (phoneNumber === '+1 800-555-5555') { 8 return ''; 9 } 10 11 let extension = ''; 12 let phoneComponent = phoneNumber; 13 if (phoneNumber.includes('ext')) { 14 const locationPhoneArray = phoneNumber.split(/(.*)ext\.(.*)/i); 15 phoneComponent = locationPhoneArray[1].trim(); 16 extension = ` ext. ${locationPhoneArray[2].trim()}`; 17 } 18 const isUSorCA = countryCode.trim().toUpperCase() === 'US' || countryCode.trim().toUpperCase() === 'CA'; 19 const cleanNumber = phoneComponent.replace(/\D/g, ''); 20 const hasProperLength = (cleanNumber.length === 11 && cleanNumber.startsWith('1')) || cleanNumber.length === 10; 21 if (isUSorCA && hasProperLength) { 22 const nationalNumber = cleanNumber.length === 11 ? cleanNumber.substring(1) : cleanNumber; 23 const formattedNumber = nationalNumber.replace(/(\d{3})(\d{3})(\d{4})/, '($1) $2-$3'); 24 return `${formattedNumber}${extension}`; 25 } else { 26 // Return original input if it's not a valid US phone number 27 return phoneNumber; 28 } 29 } 30 31 function formatTime(inputTime, formatString) { 32 // Extract hours and minutes from the input time 33 const [hours24, minutes] = inputTime 34 .split(":") 35 .map((str) => parseInt(str, 10)); 36 // Function to convert 24-hour format to 12-hour format 37 const hours12 = hours24 % 12 || 12; 38 const ampm = hours24 < 12 ? "AM" : "PM"; 39 // Pad numbers to two digits 40 const pad = (num) => num.toString().padStart(2, "0"); 41 // Replace format tokens in the format string 42 return formatString.replace(/HH|H|hh|h|mm|A|a/g, (match) => { 43 switch (match) { 44 case "HH": 45 return pad(hours24); // 24-hour format (00-23) 46 case "H": 47 return hours24; // 24-hour format (0-23) 48 case "hh": 49 return pad(hours12); // 12-hour format (01-12) 50 case "h": 51 return hours12; // 12-hour format (1-12) 52 case "mm": 53 return pad(minutes); // Minutes with leading zero 54 case "A": 55 return ampm; // AM/PM uppercase 56 case "a": 57 return ampm.toLowerCase(); // am/pm lowercase 58 default: 59 return match; // Default case to handle unexpected tokens 60 } 61 }); 62 } 63 64 function isDatePassed(date) { 65 const endOfDay = new Date(date); 66 endOfDay.setUTCHours(23, 59, 59, 999); 67 return endOfDay.getTime() < (new Date()).getTime(); 68 } 69 70 function getCurrentWeekDayDate(day) { 71 const days = { 72 sunday: 0, 73 monday: 1, 74 tuesday: 2, 75 wednesday: 3, 76 thursday: 4, 77 friday: 5, 78 saturday: 6 79 }; 80 81 const now = new Date(); 82 const today = now.getDay(); 83 const offset = (today === 0) ? -7 : 0; 84 85 const givenDay = new Date( 86 now.setDate(now.getDate() - today + days[day] + offset) 87 ); 88 89 const timezoneOffset = givenDay.getTimezoneOffset() * 60000; // Convert minutes to milliseconds 90 const adjustedGivenDay = new Date(givenDay.getTime() - timezoneOffset); // Adjust for timezone offset 91 92 return adjustedGivenDay.toISOString().split("T")[0]; 93 } 94 95 function getOpenCloseTime(location, day) { 96 const formattedDate = getCurrentWeekDayDate(day); 97 const hasSpecialHours = typeof location.special_hours !== 'undefined' && 98 location.special_hours[formattedDate] instanceof Array; 99 const [specialOpen, specialClose] = location.special_hours?.[formattedDate]?.[0]?.split('-') ?? ['', '']; 100 101 const openTime = (!hasSpecialHours) ? 102 location.hours[`${day}_open`] : 103 specialOpen; 104 const closeTime = (!hasSpecialHours) ? 105 location.hours[`${day}_close`] : 106 specialClose; 107 108 const isClosed = (openTime === '' && closeTime === ''); 109 const isOpen24Hours = (openTime === "00:00" && closeTime === "00:00"); 110 111 return { 112 openTime, 113 closeTime, 114 isClosed, 115 isOpen24Hours 116 }; 117 } 118 119 function getFormattedHoursByDay({ 120 location, 121 formatFn, 122 placeholderClosed = "Closed", 123 placeholderOpen24Hours = "Open 24 Hours" 124 }) { 125 const daysOfWeek = [ 126 "sunday", 127 "monday", 128 "tuesday", 129 "wednesday", 130 "thursday", 131 "friday", 132 "saturday", 133 ]; 134 135 const formattedHoursByDay = {}; 136
137 daysOfWeek.forEach((day) => { 138 const { 139 openTime, 140 closeTime, 141 isClosed, 142 isOpen24Hours 143 } = getOpenCloseTime(location, day); 144 145 if (isClosed) { 146 formattedHoursByDay[day] = placeholderClosed; 147 } else if (isOpen24Hours) { 148 formattedHoursByDay[day] = placeholderOpen24Hours; 149 } else { 150 formattedHoursByDay[day] = formatFn(openTime, closeTime); 151 } 152 }); 153 154 return formattedHoursByDay; 155 } 156 157 function getTodayName() { 158 const days = { 159 0: 'sunday', 160 1: 'monday', 161 2: 'tuesday', 162 3: 'wednesday', 163 4: 'thursday', 164 5: 'friday', 165 6: 'saturday' 166 }; 167 168 const todayName = days[new Date().getDay()]; 169 } 170 171 function iOS() { 172 return [ 173 'iPad Simulator', 174 'iPhone Simulator', 175 'iPod Simulator', 176 'iPad', 177 'iPhone', 178 'iPod' 179 ].includes(navigator.platform) 180 // iPad on iOS 13 detection 181 || 182 (navigator.userAgent.includes("Mac") && "ontouchend" in document) 183 } 184 185 var today = new Date(); 186 187 //console.log(today) 188 189 function fmtDate() { 190 var yr = today.getFullYear(); 191 var mm = today.getMonth() + 1; 192 if (mm < 10) { 193 mm = '0' + mm.toString(); 194 } 195 var dd = today.getDate() 196 if (dd < 10) { 197 dd = '0' + dd.toString(); 198 } 199 var str = yr + '-' + mm + '-' + dd; 200 return str; 201 } 202 var now = fmtDate(today) 203 var padding = today.setDate(today.getDate() + 30); 204 var padding2 = fmtDate(padding) 205 206 window.timeGate = padding2; 207 function convertTo24Hour(time) { 208 if(time == 'Closed') { 209 return 'Closed'; 210 } else { 211 time = time.trim().toLowerCase(); 212 let [hour, minute] = time.slice(0, -2).split(':'); 213 let period = time.slice(-2); 214 215 hour = parseInt(hour); 216 minute = minute.padStart(2, '0'); 217 218 if (period === 'pm' && hour !== 12) { 219 hour += 12; 220 } else if (period === 'am' && hour === 12) { 221 hour = 0; 222 } 223 224 return `${hour.toString().padStart(2, '0')}${minute}`; 225 } 226 227 } 228 229 230 </script>
230 231 232 <!-- Google Tag Manager (by SOCi - 12/26/2023)--> 233
233<script>
vendor: 359 bytes, lines 233-237
233(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 234 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 235 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 236 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 237 })(window,document,'script','dataLayer','
237GTM-M5P7HZCN
vendor: 3 bytes, line 237
237');
237</script>
237 238 <!-- End Google Tag Manager -->
vendor: 72 bytes, lines 238-239
238 239 <script async src="https://www.googletagmanager.com/gtag/js?id=
239G-V5REP66Q6R
vendor: 20 bytes, lines 239-240
239"></script> 240
240<script> 241
vendor: 158 bytes, lines 241-245
241window.dataLayer = window.dataLayer || []; 242 function gtag(){dataLayer.push(arguments);} 243 gtag('js', new Date()); 244 245 gtag('config', '
245G-V5REP66Q6R
vendor: 12 bytes, lines 245-246
245'); 246
246</script>
246 247 <meta charset="utf-8"/> 248 <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=yes" /> 249 <meta name="description" content="Find a The Simple Greek location near you"> 250 <link rel="canonical" href="https://restaurants.thesimplegreek.com/search/" /> 251 252 <link rel="preconnect" href="https://use.typekit.net"> 253 <link rel="preload" href="https://use.typekit.net/slq1bli.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 254 <link rel="stylesheet" href="https://use.typekit.net/slq1bli.css"> 255 256 <link rel="icon" href="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/images/favicon2-80x80.png" sizes="32x32"> 257 <link rel="icon" href="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/images/favicon2-80x80.png" sizes="192x192"> 258 <link rel="apple-touch-icon" href="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/images/favicon2-80x80.png"> 259 <title>The Simple Greek Store Locator</title> 260
260<script> 261 var W2GI = { 262 config: { 263 url: '/rest', 264 appkey : '852643F4-7453-11EE-9B91-1D702CD69500', 265 autoStart: true, 266 locator: { 267 theme:null, 268 noZoomOnPan: true, 269 alertError: false, 270 formdata: { 271 geoip: true, 272 dataview: 'store_default', 273 limit: 20, 274 geolocs: { 275 geoloc: [{ 276 addressline: '', 277 country: '', 278 latitude: '', 279 longitude: '' 280 }] 281 }, 282 searchradius: '50|100|250', 283 where: { 284 "opening_status": { 285 "ne": 'permanently_closed' 286 } 287 } 288 }, 289 drivingdirections: { 290 disableDynamicRoutes: false, 291 formdata: { 292 dataview: 'store_default', 293 map: { 294 size :'330,225', 295 icons:{ 296 start: { 297 path: 'ddstartpin.png' 298 }, 299 end:{ 300 path: 'ddendpin.png' 301 } 302 } 303 }, 304 geolocs: { 305 geoloc: [{ 306 address1: '', 307 city: '', 308 state: '', 309 province: '', 310 postalcode: '', 311 addressline: '', 312 country: '', 313 latitude: '', 314 longitude: '' 315 }] 316 } 317 } 318 }, 319 imgPath: 'https://llp-assets.meetsoci.com/libs/images/zoombar', 320 controls: [{ name: 'zoom', options: {} }], 321 dynamicSearch: true, 322 routeStyle: { 323 strokeWidth: 8, 324 strokeOpacity: .5, 325 strokeColor: '#0000FF' 326 }, 327 sources: [ 328 { 329 name: 'Google Normal', 330 options: { 331 disableDoubleClickZoom : true, 332 displayName : 'Map', 333 projection: 'EPSG:900913', 334 units: 'm', 335 type: 'roadmap', 336 maxZoomLevel:18, 337 } 338 } 339 ] 340 } 341 342 }, 343 custom_ob: { 344 updateRecords : function(recs) { 345 var date = new Date(); 346 var today = date.getDay(); 347 $(recs).each (function(i,e) { 348 349 e.location.phonef = formatSOCiPhoneNumber(e.location.phone, e.location.address.country); 350 e.location.faxf = formatSOCiPhoneNumber(e.location.fax, e.location.address.country); 351 352 if (e.location.address.state_province === 'nn') { 353 e.location.address.state_province = ""; 354 } 355 if (['00000', '12345'].includes(e.location.postal_code)) { 356 e.location.postal_code = ''; 357 } 358 if(e.location.postal_code) 359 var postal = e.location.postal_code.length; 360 if(postal === 10) { 361 var cut = e.location.postal_code.substring(0, 5); 362 e.location.postal_code = cut; 363 } 364 e.state2 = e.location.address.state_province.toLowerCase(); 365 e.city2 = e.location.address.city.toLowerCase().replace(/ /g,"-"); 366 e.city2 = e.city2.toLowerCase().replace(/'/g,"-"); 367 e.localpage_url_id = e.localpage_url_id.replace(/-{2,}/g, '-');
368 e.lp_url = "/" + e.state2 + "/" + e.city2 + "/" + e.localpage_url_id + "/"; 369 370 const formatFn = (openTime, closeTime) => { 371 const format = "h:mma"; 372 373 const openHour = formatTime(openTime, format); 374 const closeHour = formatTime(closeTime, format); 375 376 return `${openHour} - ${closeHour}`; 377 }; 378 379 const formattedHoursByDay = getFormattedHoursByDay({ location: e.location, formatFn }); 380 381 Object.entries(formattedHoursByDay).forEach(([key, value]) => { 382 e[`${key}_hours_formatted`] = value; 383 }); 384 385 //console.log(e.monday_hours_formatted) 386 387 if(e.monday_hours_formatted || e.tuesday_hours_formatted || e.wednesday_hours_formatted || e.thursday_hours_formatted || e.friday.hours_formatted || e.saturday_hours_formatted || e.sunday_hours_formatted) { 388 //let bhoString = e.bho.toString() 389 const splitHours = (hours) => hours.split('-'); 390 391 // Create the array of arrays for each day 392 const hoursArray = [ 393 splitHours(e.monday_hours_formatted), 394 splitHours(e.tuesday_hours_formatted), 395 splitHours(e.wednesday_hours_formatted), 396 splitHours(e.thursday_hours_formatted), 397 splitHours(e.friday_hours_formatted), 398 splitHours(e.saturday_hours_formatted), 399 splitHours(e.sunday_hours_formatted) 400 ]; 401 402 console.log(hoursArray) 403 404 const cleanedHours = hoursArray.map(pair => pair.map(convertTo24Hour)); 405 //const cleanedHours = hoursArray.map(day => day.map(time => time.replace(/\s*(am|pm)\s*/gi, '').trim())); 406 407 if(hoursArray !== '[]' && hoursArray !== '[["0000","0000"],["0000","0000"],["0000","0000"],["0000","0000"],["0000","0000"],["0000","0000"],["0000","0000"]]'){ 408 e.show_hours = 1; 409 //let hoursArray = JSON.parse(e.bho); 410 for (let [index, [key, value]] of Object.entries(Object.entries(cleanedHours))) { 411 //console.log(key) 412 //console.log(value) 413 if(value){ 414 if(value[0] === 'Closed'){ 415 e[`dayhours${index}`] = 'Closed'; 416 } else { 417 e[`dayhours${index}`] = `${convertTime(value[0])} - ${convertTime(value[1])}`; 418 //e[`dayhours${index}`] = `${formatTime(value[0], "hh:mma")} - ${formatTime(value[1], "hh:mma")}`; 419 e[`dayopen${index}`] = value[0]; 420 e[`dayclosed${index}`] = value[1]; 421 } 422 } 423 } 424 425 } else { 426 e.show_hours = ''; 427 } 428 429 if(hoursArray !== '[]' && hoursArray !== '[["0000","0000"],["0000","0000"],["0000","0000"],["0000","0000"],["0000","0000"],["0000","0000"],["0000","0000"]]'){ 430 431 432 433 if (today === 0) { 434
435 e.sun_check = 1; 436 let dayopen = e.dayopen0; 437 let dayclosed = e.dayclosed0; 438 let tomorrowopen = e.dayopen1; 439 if(e.dayhours0 !== 'Closed'){ 440 e.open_closed = displayOpenClosed(dayopen,dayclosed,tomorrowopen); 441 } else { 442 e.open_closed = 'Closed'; 443 } 444 } 445 446 if (today === 1) { 447 e.mon_check = 1; 448 let dayopen = e.dayopen1; 449 let dayclosed = e.dayclosed1; 450 let tomorrowopen = e.dayopen2; 451 if(e.dayhours1 !== 'Closed'){ 452 e.open_closed = displayOpenClosed(dayopen,dayclosed,tomorrowopen); 453 } else { 454 e.open_closed = 'Closed'; 455 } 456 } 457 458 if (today === 2) { 459 e.tue_check = 1; 460 let dayopen = e.dayopen2; 461 let dayclosed = e.dayclosed2; 462 let tomorrowopen = e.dayopen3; 463 if(e.dayhours2 !== 'Closed'){ 464 e.open_closed = displayOpenClosed(dayopen,dayclosed,tomorrowopen); 465 } else { 466 e.open_closed = 'Closed'; 467 } 468 } 469 470 if (today === 3) { 471 e.wed_check = 1; 472 let dayopen = e.dayopen3; 473 let dayclosed = e.dayclosed3; 474 let tomorrowopen = e.dayopen4; 475 if(e.dayhours3 !== 'Closed'){ 476 e.open_closed = displayOpenClosed(dayopen,dayclosed,tomorrowopen); 477 } else { 478 e.open_closed = 'Closed'; 479 } 480 } 481 482 if (today === 4) { 483 //console.log(e.dayopen4) 484 //console.log(e.dayclosed4) 485 //console.log(e.dayopen5) 486 487 e.thu_check = 1; 488 let dayopen = e.dayopen4; 489 let dayclosed = e.dayclosed4; 490 let tomorrowopen = e.dayopen5; 491 if(e.dayhours4 !== 'Closed'){ 492 e.open_closed = displayOpenClosed(dayopen,dayclosed,tomorrowopen); 493 } else { 494 e.open_closed = 'Closed'; 495 } 496 } 497 498 if (today === 5) { 499 e.fri_check = 1; 500 let dayopen = e.dayopen5; 501 let dayclosed = e.dayclosed5; 502 let tomorrowopen = e.dayopen6; 503 if(e.dayhours5 !== 'Closed'){ 504 e.open_closed = displayOpenClosed(dayopen,dayclosed,tomorrowopen); 505 } else { 506 e.open_closed = 'Closed'; 507 } 508 } 509 510 if (today === 6) { 511 e.sat_check = 1; 512 let dayopen = e.dayopen6; 513 let dayclosed = e.dayclosed6; 514 let tomorrowopen = e.dayopen0; 515 if(e.dayhours6 !== 'Closed'){ 516 e.open_closed = displayOpenClosed(dayopen,dayclosed,tomorrowopen); 517 } else { 518 e.open_closed = 'Closed'; 519 } 520 } 521 } 522 } 523 524 e.location_status = 'location-open'; 525 e.temporary_closed = ''; 526 527 if((e.location.opening_status && e.location.opening_status == 'temporarily_closed')) { 528 e.temporary_closed = 'temporarily_closed'; 529 } else if (e.location.opening_status === 'permanently_closed') { 530 e.location_status = ''; 531 } 532 533 if(e.location.address.address_line_2) { 534 e.directions_url = `https://maps.google.com/maps?q=The Simple Greek,${e.location.address.address_line_1}, ${e.location.address.address_line_2}, ${e.location.address.city}, ${e.location.address.state_province}, ${e.location.address.postal_code}`; 535 } else { 536 e.directions_url = `https://maps.google.com/maps?q=The Simple Greek,${e.location.address.address_line_1}, ${e.location.address.city}, ${e.location.address.state_province}, ${e.location.address.postal_code}`; 537 } 538 539 // 540 541 }.bind(this)); 542 return recs; 543 }, 544 }, 545 } 546 547 548 function convertTime(time) { 549 let hours = parseInt(time.substring(0, 2)); 550 let minutes = time.substring(2, 4); 551 let ampm = hours >= 12 ? 'pm' : 'am'; 552 553 hours = hours % 12; 554 hours = hours === 0 ? 12 : hours; // Convert "00" to "12" 555 556 return `${hours.toString()}:${minutes}${ampm}`; 557 } 558 559 function displayOpenClosed(startTime, endTime, startTime2) { 560 var date = new Date(); 561 var hours = date.getHours().toString().padStart(2, '0'); 562 var minutes = date.getMinutes().toString().padStart(2, '0'); 563 var timeNow = `${hours}${minutes}`; 564 565 566 console.log(`Current Time: ${timeNow}`); 567 console.log(`Start Time: ${startTime}`); 568 console.log(`End Time: ${endTime}`); 569 console.log(`Second Start Time: ${startTime2}`); 570 571 if(parseInt(timeNow) >= parseInt(startTime) && parseInt(timeNow) < parseInt(endTime)){ 572 return `<span class="location_open">Open Now</span><span>Closes at ${convertTime(endTime)}</span>` 573 } else if (parseInt(timeNow) < parseInt(startTime)){ 574 return `<span class="location_closed">Closed Now</span><span>Opens at ${convertTime(startTime)}</span>` 575 } else { 576 return `<span class="location_closed">Closed Now</span><span>Opens at ${convertTime(startTime2)}</span>`;
577 } 578 579 /*if (parseInt(timeNow) >= parseInt(startTime) && parseInt(timeNow) < parseInt(endTime)) { 580 return `<span class="location_open">Open Now</span><span>Closes at ${convertTime(endTime)}</span>`; 581 } else if (parseInt(timeNow) < parseInt(startTime)) { 582 return `<span class="location_closed">Closed Now</span><span>Opens at ${convertTime(startTime)}</span>`; 583 return `<span class="location_closed">Closed Now</span><span>Opens at ${startTime}</span>`; 584 } else if (startTime2 && parseInt(timeNow) < parseInt(startTime2)) { 585 return `<span class="location_closed">Closed Now</span><span>Opens at ${convertTime(startTime2)}</span>`; 586 return `<span class="location_closed">Closed Now</span><span>Opens at ${startTime2}</span>`; 587 } else { 588 return `<span class="location_closed">Closed Now</span>`; 589 }*/ 590 591 /*if (parseInt(timeNow) >= parseInt(startTime) && parseInt(timeNow) < parseInt(endTime)) { 592 return `<span class="location_open">Open Now</span><span>Closes at ${formatTime(endTime, "hh:mma")}</span>`; 593 } else if (parseInt(timeNow) < parseInt(startTime)) { 594 return `<span class="location_closed">Closed Now</span><span>Opens at ${formatTime(startTime, "h:mma")}</span>`; 595 } else if (startTime2 && parseInt(timeNow) < parseInt(startTime2)) { 596 return `<span class="location_closed">Closed Now</span><span>Opens at ${formatTime(startTime2, "h:mma")}</span>`; 597 } else { 598 return `<span class="location_closed">Closed Now</span>`; 599 }*/ 600 } 601 602 603 </script>
603 604
604<script src="https://llp-assets.meetsoci.com/libs/javascript/backbone/bb/lib/jquery.js"></script>
604 605
605<script data-main="https://llp-assets.meetsoci.com/libs/javascript/backbone/bb/dist/bones.min" src="https://llp-assets.meetsoci.com/libs/javascript/backbone/bb/lib/require.js"></script>
605 606 <!--
606<script src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/local/search/javascript/custom.js"></script>
606 --> 607
607<script type="text/javascript"> 608 W2GI.loaded = function($) { 609 // on page load (for when there is no response) 610 611 // on initial response and searches - poi specific jquery should go here 612 ace.util.DomEvent.on("w2gi:proximityresponse", function() { 613 // let windowWidth = $(window).width(); 614 // if(windowWidth < 802){ 615 $('.poi_hours button').click(function() { 616 let $this = $(this); 617 let $next = $this.parent().next() 618 $this.toggleClass('open'); 619 $next.slideToggle(300) 620 setTimeout(function(){ 621 if($this.hasClass('open')){ 622 $next.attr({'aria-hidden':'false'}) 623 } else { 624 $next.attr({'aria-hidden':'true'}) 625 } 626 627 }, 350); 628 }); 629 // } 630 631 }); 632 633 // when no results are returned. Note that the delay must be at least 800 or the modal popup will not display properly 634 ace.util.DomEvent.on("w2gi:fetchError", function() { 635 636 }); 637 638 // Browser is resized 639 $(window).resize(function() { 640 641 }); 642 643 // When pagination is present and occurs 644 ace.util.DomEvent.on("w2gi:sliceupdated", function() { 645 646 }); 647 648 ace.collection.appendOptions('#bubble_country', 'Account::Country', {}, 'account_country', 'name', 'description'); 649 } 650 function searchCountry(country) { 651 require(['jquery'], function($) { 652 $('.search-box').val('') 653 $('.country_val').val(country) 654 ace.util.searchExternal('locator_search'); 655 }) 656 } 657 658 function toggleAriaChecked(item){ 659 var temp = document.getElementById(item).getAttribute("aria-checked"); 660 //console.log(temp); 661 if (temp && temp != "true") { 662 document.getElementById(item).setAttribute("aria-checked", "true"); 663 } 664 else 665 document.getElementById(item).setAttribute("aria-checked", "false"); 666 //document.getElementById(item).focus(); 667 } 668 669 $('#map').on('pageshow', function(){ 670 google.maps.event.trigger(map, "resize"); 671 }); 672 </script>
672 673 <link rel="preconnect" href="https://fonts.googleapis.com"> 674 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 675 <link href="https://fonts.googleapis.com/css2?family=PT+Sans:wght@400;700&family=Roboto:wght@400;700&display=swap" rel="stylesheet"> 676 <link href="https://llp-assets.meetsoci.com/libs/css/style.css" rel="stylesheet"> 677 <!-- <link rel="stylesheet" type="text/css" href="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/local/search/css/header-footer-styles.css"> --> 678 <link rel="stylesheet" type="text/css" href="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/local/search/css/v3-light-theme.css"> 679 <!-- <style> 680 681 .poi_address_linkwrap a { 682 position: relative; 683 /* text-decoration: underline;*/ 684 } 685 686 .poi_address_linkwrap a:after { 687 content: ''; 688 display: block; 689 width: 100%; 690 position: absolute; 691 left: 0; 692 bottom: 0; 693 border: .5px solid #000; 694 } 695 696 .open_closed_wrapper { 697 margin-left: 40px; 698 text-transform: none; 699 } 700 701 .open_closed_wrapper span.location_open { 702 color: green; 703 } 704 705 .open_closed_wrapper span.location_closed { 706 color: red; 707 } 708 709 .open_closed_wrapper span:nth-of-type(2) { 710 margin-left: 12px; 711 } 712 713 @media (max-width: 450px){ 714 715 .poi_hours { 716 flex-wrap: wrap; 717 } 718 719 input#search_input::placeholder { 720 font-size: 14px; 721 } 722 723 } 724 </style> --> 725 </head> 726 727 <body> 728 <!-- Google Tag Manager (noscript) --> 729 <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-M5P7HZCN" height="0" width="0" style="display:none;visibility:hidden"></iframe> 730 <!-- End Google Tag Manager (noscript) --> 731 <a class="sr-only sr-only-focusable" href="#poi">Skip to Store Listings</a> 732 <!-- add header include reference here --> 733 <style> 734 header { 735 display: flex; 736 justify-content: space-between; 737 margin: 0 auto; 738 /*max-width: 1500px;*/ 739 /*max-width: 1280px;*/ 740 max-width: 1500px; 741 /*padding: 8px 20px;*/ 742 padding: 20px; 743 width: 100%; 744 } 745 746 header > a { 747 align-items: center; 748 display: flex; 749 } 750 751 header > a img { 752 height: 31px; 753 width: 177px; 754 } 755 756 header nav { 757 /*max-width: 840px;*/ 758 /*max-width: 532px;*/ 759 max-width: 280px; 760 width: 100%; 761 } 762 763 header nav ul { 764 display: flex; 765 flex-direction: row; 766 justify-content: space-between; 767 list-style: none; 768 margin: 0; 769 padding: 0; 770 } 771 772 header nav li { 773 align-items: center; 774 display: flex; 775 height: 52px; 776 } 777 778 header nav a { 779 color: var(--client-color-primary); 780 font-size: 15px; 781 font-weight: 800; 782 text-decoration: none; 783 text-transform: lowercase; 784 } 785 786 header nav button { 787 background: transparent; 788 border: 0; 789 } 790 791 header nav form { 792 background-color: var(--client-button-primary); 793 border-radius: 36px; 794 color: #fff; 795 display: flex; 796 height: 36px; 797 padding: 0 13px 0 22px; 798 width: 210px; 799 } 800 header nav input { 801 -wekit-appearance: none; 802 appearance: none; 803 background-color: var(--client-button-primary); 804 border: 0; 805 color: #fff; 806 font-family: var(--client-font-primary); 807 font-size: 15px; 808 font-weight: bold; 809 height: 36px; 810 text-transform: lowercase; 811 width: calc(100% - 20px); 812 } 813 814 header nav input::placeholder { 815 color: #fff; 816 817 } 818 819 header > button { 820 display: none; 821 } 822 823 header nav ul button { 824 align-items: center; 825 border: 0; 826 cursor: pointer; 827 display: flex; 828 height: 36px; 829 justify-content: center;
830 width: 20px; 831 } 832 header nav ul button img { 833 height: auto; 834 max-width: none; 835 pointer-events: none; 836 width: auto; 837 } 838 839 @media (max-width: 820px) { 840 841 header { 842 flex-wrap: wrap; 843 } 844 845 header > button { 846 align-items: center; 847 /*background-color: var(--client-secondary-color);*/ 848 background-color: transparent; 849 border: 0; 850 display: flex; 851 flex-direction: column; 852 justify-content: space-around; 853 height: 60px; 854 margin: 0; 855 padding: 16px 0; 856 width: 45px; 857 } 858 859 header > button span { 860 /*background-color: #000;*/ 861 background-color: var(--client-color-primary); 862 border-radius: 4px; 863 display: block; 864 height: 4px; 865 width: 40px; 866 } 867 868 header nav { 869 /*height: 321px; 870 max-height: 320px;*/ 871 /*height: 261px; 872 max-height: 260px;*/ 873 height: 161px; 874 max-height: 160px; 875 max-width: 100%; 876 opacity: 1; 877 transition-duration: .2s; 878 transition-timing-function: ease-out; 879 transition-property: max-height, opacity; 880 /*transition: max-height .2s ease-in-out;*/ 881 } 882 883 header nav.mobile-nav-hide { 884 max-height: 0; 885 opacity: 0; 886 overflow: hidden; 887 } 888 889 header nav ul { 890 flex-direction: column; 891 } 892 893 header nav a { 894 width: 100%; 895 } 896 897 header nav form { 898 width: 100%; 899 } 900 } 901 902 footer { 903 align-items: center; 904 /*border-top: 2px solid var(--client-primary-color);*/ 905 display: flex; 906 flex-direction: column; 907 /*margin: 24px 0 0;*/ 908 padding: 56px 0 20px; 909 width: 100%; 910 } 911 912 footer > img { 913 height: auto; 914 width: 141px; 915 } 916 917 footer > ul { 918 display: flex; 919 flex-direction: row; 920 gap: 8px; 921 list-style: none; 922 margin: 34px 0 20px; 923 padding-left: 0px; 924 } 925 926 footer > ul li { 927 928 } 929 930 p.copyright { 931 text-align: center; 932 } 933 934 @media (max-width: 450px) { 935 p.copyright { 936 padding: 0 8.5%; 937 } 938 } 939 940 941 942 </style> 943 <header> 944 <a href="https://thesimplegreek.com"><img src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/images/tsg-logo.2.png" class="" alt="The Simple Greek logo"></a> 945 <button id="nav-toggle" type="button"> 946 <span class="sr-only">Header navigation toggle</span> 947 <span></span> 948 <span></span> 949 <span></span> 950 </button> 951 <nav id="header-nav" class="mobile-nav-hide"> 952 <ul> 953 <li> 954 <a href="https://restaurants.thesimplegreek.com/search/">Locations</a> 955 </li> 956 <li> 957 <a href="https://thesimplegreek.com/menu/">Menu</a> 958 </li> 959 <!--<li> 960 <a href="https://thesimplegreek.com/catering/">Catering</a> 961 </li>--> 962 <li> 963 <a href="https://thesimplegreek.com/rewards/">Rewards</a> 964 </li> 965 <!--<li> 966 <a href="https://franchise.thesimplegreek.com">Franchising</a> 967 </li>--> 968 <!--<li> 969 <form id="header-search"> 970 <label for="header-search-field" class="sr-only">Search Simple Greek</label> 971 <input id="header-search-field" type="text" placeholder="Search Simple Greek"> 972 <button> 973 <span class="sr-only">Click to search</span> 974 <img src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/images/search-icon.svg" alt=""> 975 </button> 976 </form> 977 </li>--> 978 </ul> 979 </nav> 980 </header> 981
981<script> 982 $(function(){ 983 let windowWidth = $(window).width(); 984 if(windowWidth < 821){ 985 986 $('.mobile-nav-hide').attr({'aria-hidden':'true'}); 987 $('.mobile-nav-hide a,#header-search button,#header-search input').each(function(){ 988 $(this).attr({'tabindex':'-1'}); 989 }); 990 $('#nav-toggle').click(function(){ 991 let $this = $(this); 992 $this.next().toggleClass('mobile-nav-hide'); 993 }); 994 $('#nav-toggle').keydown(function(e){ 995 let $this = $(this) 996 if(e.keycode === 13 || e.which === 13){ 997 if(!$this.hasClass('open')){ 998 $this.addClass('open'); 999 $('#header-nav').attr({'aria-hidden':'false'}); 1000 $('#header-nav a,#header-search button,#header-search input').each(function(){ 1001 $(this).attr({'tabindex':'0'}); 1002 }); 1003 } else { 1004 $this.removeClass('open'); 1005 $('#header-nav').attr({'aria-hidden':'true'}); 1006 $('#header-nav a,#header-search button,#header-search input').each(function(){ 1007 $(this).attr({'tabindex':'-1'}); 1008 }); 1009 } 1010 } 1011 // $this.next().toggleClass('mobile-nav-hide'); 1012 }) 1013 } else { 1014 $('#nav-toggle').attr({'aria-hidden':'true','tabindex':'-1'}) 1015 } 1016 1017 $('#header-search').on('submit', function(e) { 1018 e.preventDefault(); 1019 let formValue = $('#header-search-field').val(); 1020 let regex = /[^a-zA-Z\d\s:]/g; 1021 let formValueScrubbed = formValue.replace(regex,''); 1022 window.location.href = `https://answers.thesimplegreek.com/?query=${formValueScrubbed}`; 1023 }); 1024 1025 }); 1026 </script>
1026 <main id="w2gi_wrapper"> 1027 <div data-w2gi="locator" class="box-wrapper"> 1028 <h1 class="sr-only">Find a location</h1> 1029 <div class="forms-poi-box" role="form"> 1030 <div class="form-wrapper"> 1031 <div class="locator-wrapper"> 1032 <form id="locator_search" role="search" autocomplete="off"> 1033 <div class="search_input_wrapper"> 1034 <button class="button-search" id="locatorSearchButton" data-gtm-event="locator interaction" data-gtm-contenttype="Locator Search button"> 1035 <img src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/local/search/images/locator/search.svg" alt="" aria-hidden="true"> 1036 <span class="sr-only">Search for locations</span> 1037 </button> 1038 <label for="search_input" class="sr-only">Enter city, state or zip code</label> 1039 <input id="search_input" type="text" aria-required="true" class="search-box" name="addressline" placeholder="Enter city, state or zip code"/> 1040 <button id="reset_button" class="close_button" type="button"> 1041 <span class="sr-only">Reset search text</span> 1042 <img src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/local/search/images/locator/reset-search.svg" alt="" aria-hidden="true"> 1043 </button> 1044 </div> 1045 <div class="hidden-inputs" style="display: none;" aria-hidden="true"> 1046 <label for="search_country" class="sr-only">Select a country</label> 1047 <select id="search_country" name="country" style="display: none;" tabindex="-1"> 1048 <option value="">Select a country</option> 1049 </select> 1050 <label for="searchradius" class="sr-only" style="display:none">Search Radius</label> 1051 <select id="searchradius" name="searchradius" style="display:none" tabindex="-1"> 1052 <option value="50|100|250">50 miles</option> 1053 <option value="100|250">100 miles</option> 1054 <option value="250">250 miles</option> 1055 </select> 1056 </div> 1057 </form> 1058 <div class="mobile_toggle_buttons"> 1059 <button type="button" id="listview" class="active">List View</button> 1060 <button type="button" id="mapview">Map View</button> 1061 </div> 1062 </div> 1063 </div> 1064 <div class="poi" id="poi" aria-live="polite" tabindex="0"></div> 1065 </div> 1066 <div class="dd-form-wrapper" style="display:none"></div> 1067 <div class="wrapper map-hidden"> 1068 <div class="map" id="mapEl"></div> 1069 </div> 1070 <div id="indicator"></div> 1071 <div class="attribution"> 1072 <span class="attribution"> 1073 Mapping Locator Powered by <a href="https://www.meetsoci.com/" target="_new">SOCi</a> Copyright ©
1073<script>document.write(new Date().getFullYear())</script>
1073, All Rights Reserved. 1074 </span> 1075 </div> 1076 1077 <div class="overlay"></div> 1078 <div class="modal" aria-hidden="true"> 1079 <a href="#" class="closeBtn">Close</a> 1080 <p></p> 1081 </div> 1082 <div class="street-view-wrapper" aria-hidden="true"> 1083 <a class="gs" data-action="close">Close</a> 1084 <div id="streetViewCtn" class="street-view"></div> 1085 </div> 1086 </div> 1087 <!-- Templates --> 1088 <div class="templates" aria-hidden="true"> 1089
1089<script id="locator_addressline" type="text/x-handlebars-template"> 1090 {{ location.address.city }} {{ location.address.state_province }} {{location.address.postal_code}} 1091 </script>
1091 1092
1092<script id="directions_addressline" type="text/x-handlebars-template"> 1093 {{#if location.address.address_line_1}}{{location.address.address_line_1}} {{ location.address.city }} {{ location.address.state_province }} {{location.address.postal_code}} {{else}}{{#if addressline}}{{addressline}}{{/if}} {{ location.address.city }} {{ location.address.state_province }} {{location.address.postal_code}}{{/if}} 1094 </script>
1094 1095
1095<script id="collection_multiple_address" type="text/x-handlebars-template"> 1096 <h2>Please select your location</h2> 1097 <ul class="content-list address-suggestions"> 1098 {{#each this}} 1099 <li data-id='{{@index}}'><strong>{{city}} </strong>{{state}} {{postalcode}}</li> 1100 {{/each}} 1101 </ul> 1102 </script>
1102 1103 <!-- poi template start --> 1104
1104<script id="collection_poi" type="text/x-handlebars-template"> 1105 <h2>{{count}} location<span class="hideIfOne{{count}}">s</span> found near you</h2> 1106 <ul class="content-list poi-result"> 1107 {{#each pois}} 1108 {{#if location_status}} 1109 <li data-id="{{@index}}" data-uid="{{asset.uid}}" class="poi-item {{location_status}}"> 1110 <div class="poi_wrapper"> 1111 <div class="poi_nap"> 1112 <div class="poi_name_distance"> 1113 <h3 class="poi_name" data-action="open_bubble" role="button" tabindex="0">{{collectionIndex}}. {{location.name}}</h3> 1114 {{#if _distance}}<div class="poi_distance">{{_distance}} miles away</div>{{/if}} 1115 </div> 1116 <div class="poi_address"> 1117 <div class="poi_icon_wrapper"> 1118 <svg xmlns="http://www.w3.org/2000/svg" width="14.474" height="16.5" viewBox="0 0 14.474 16.5" aria-hidden="true"> 1119 <g id="map_pin" data-name="map pin" transform="translate(-430.363 -189)"> 1120 <path id="Vector" d="M2.879,5.75A2.875,2.875,0,1,1,5.757,2.879,2.881,2.881,0,0,1,2.879,5.75Zm0-4.634A1.763,1.763,0,1,0,4.642,2.879,1.767,1.767,0,0,0,2.879,1.116Z" transform="translate(434.719 193.111)" fill="#1e8385" stroke="#1e8385" stroke-width="0.5"/> 1121 <path id="Vector-2" data-name="Vector" d="M6.975,16A4.441,4.441,0,0,1,3.9,14.758C1.708,12.645-.717,9.276.2,5.266A6.781,6.781,0,0,1,6.975,0h.007a6.78,6.78,0,0,1,6.776,5.274c.907,4.009-1.517,7.371-3.712,9.484A4.441,4.441,0,0,1,6.975,16Zm0-14.884a5.618,5.618,0,0,0-5.683,4.4c-.8,3.5,1.4,6.523,3.392,8.435a3.292,3.292,0,0,0,4.589,0c1.986-1.912,4.188-4.932,3.4-8.435A5.638,5.638,0,0,0,6.975,1.116Z" transform="translate(430.623 189.25)" fill="#1e8385" stroke="#1e8385" stroke-width="0.5"/> 1122 </g> 1123 </svg> 1124 </div> 1125 <div class="poi_address_linkwrap"><a href="{{directions_url}}" id="locatorResult{{@index}}GetDirections" data-gtm-event="locator interaction" data-gtm-contenttype="Locator Result {{@index}} - Get Directions">{{location.address.address_line_1}}{{#if location.address.address_line_2}}, {{{location.address.address_line_2}}} {{/if}}, {{location.address.city}}, {{location.address.state_province}}, {{location.address.postal_code}}</a></div> 1126 </div> 1127 {{#if location.phone}} 1128 <div class="poi_phone"> 1129 <div class="poi_icon_wrapper"> 1130 <svg xmlns="http://www.w3.org/2000/svg" width="16.47" height="16.5" viewBox="0 0 16.47 16.5" aria-hidden="true"> 1131 <g id="phone" transform="translate(0.25 0.25)"> 1132 <path id="Vector" d="M12.056,16a6.808,6.808,0,0,1-2.642-.588,13.972,13.972,0,0,1-2.672-1.533,23.229,23.229,0,0,1-2.508-2.136A22.233,22.233,0,0,1,2.1,9.243,13.888,13.888,0,0,1,.58,6.593,6.89,6.89,0,0,1,0,3.937,4.485,4.485,0,0,1,.305,2.292,3.975,3.975,0,0,1,1.3.848,2.7,2.7,0,0,1,3.23,0a2.012,2.012,0,0,1,.841.186,1.7,1.7,0,0,1,.714.6L6.512,3.222a2.883,2.883,0,0,1,.357.633,1.672,1.672,0,0,1,.149.662,1.579,1.579,0,0,1-.238.819,2.977,2.977,0,0,1-.5.633L5.775,6.5a.363.363,0,0,0,.022.052,5.723,5.723,0,0,0,.61.826c.365.417.707.8,1.049,1.146.439.432.8.774,1.146,1.057a4.847,4.847,0,0,0,.863.618l-.015.037L9.994,9.7a2.779,2.779,0,0,1,.67-.513A1.571,1.571,0,0,1,12.115,9.1a3.388,3.388,0,0,1,.625.35l2.471,1.756a1.6,1.6,0,0,1,.6.707,2.154,2.154,0,0,1,.164.8,2.482,2.482,0,0,1-.238,1.049,3.466,3.466,0,0,1-.6.893,3.817,3.817,0,0,1-1.421,1.02A4.394,4.394,0,0,1,12.056,16ZM3.23,1.116a1.631,1.631,0,0,0-1.153.536A2.855,2.855,0,0,0,1.347,2.7a3.256,3.256,0,0,0-.231,1.235,5.738,5.738,0,0,0,.491,2.218,12.422,12.422,0,0,0,1.4,2.426,20.589,20.589,0,0,0,2.017,2.367A20.954,20.954,0,0,0,7.4,12.971a12.091,12.091,0,0,0,2.448,1.407,4.439,4.439,0,0,0,3.446.26,2.748,2.748,0,0,0,1.02-.737,2.413,2.413,0,0,0,.417-.625,1.318,1.318,0,0,0,.134-.573.888.888,0,0,0-.082-.372.563.563,0,0,0-.208-.223L12.1,10.352a2.133,2.133,0,0,0-.409-.231.391.391,0,0,0-.484.022,1.7,1.7,0,0,0-.432.335l-.566.558a1.061,1.061,0,0,1-1.079.223l-.2-.089a6.344,6.344,0,0,1-1.057-.752c-.357-.305-.744-.662-1.213-1.124-.365-.372-.729-.767-1.109-1.206A6.349,6.349,0,0,1,4.793,7.04L4.7,6.817a1.389,1.389,0,0,1-.06-.372.955.955,0,0,1,.283-.692l.558-.58a2.155,2.155,0,0,0,.335-.417A.477.477,0,0,0,5.9,4.5a.692.692,0,0,0-.06-.238A2.135,2.135,0,0,0,5.6,3.87L3.877,1.429A.686.686,0,0,0,3.6,1.2.932.932,0,0,0,3.23,1.116ZM9.451,10.24l-.119.506.2-.521A.092.092,0,0,0,9.451,10.24Z" fill="#1e8385" stroke="#1e8385" stroke-width="0.5"/> 1133 </g> 1134 </svg> 1135 1136 </div> 1137 <a href="javascript:void(0);" id="locatorResult{{@index}}Phone" data-gtm-event="locator interaction" data-gtm-contenttype="Locator Result {{@index}} - Call Phone" onclick="window.parent.location = 'tel:{{location.phone}}';">{{location.phonef}}</a> 1138 </div> 1139 {{/if}} 1140 </div> 1141 {{#if temporary_closed}} 1142 <div class="poi_hours"> 1143 <div class="store_hours"> 1144 <h4> 1145 <div class="poi_icon_wrapper"> 1146 <svg xmlns="http://www.w3.org/2000/svg" width="16.5" height="16.5" viewB
1146ox="0 0 16.5 16.5" aria-hidden="true"> 1147 <g id="time" transform="translate(-173 -189)"> 1148 <path id="Vector" d="M8,16a8,8,0,1,1,8-8A8.007,8.007,0,0,1,8,16ZM8,1.116A6.884,6.884,0,1,0,14.884,8,6.892,6.892,0,0,0,8,1.116Z" transform="translate(173.25 189.25)" fill="#1e8385" stroke="#1e8385" stroke-width="0.5"/> 1149 <path id="Vector-2" data-name="Vector" d="M3.587,6.824A.5.5,0,0,1,3.3,6.742L1,5.366A2.195,2.195,0,0,1,0,3.609V.558A.562.562,0,0,1,.558,0a.562.562,0,0,1,.558.558V3.609a1.1,1.1,0,0,0,.454.8L3.877,5.782a.557.557,0,0,1,.193.767A.573.573,0,0,1,3.587,6.824Z" transform="translate(180.424 193.35)" fill="#1e8385" stroke="#1e8385" stroke-width="0.5"/> 1150 </g> 1151 </svg> 1152 </div> 1153 <div style="text-transform: none"> 1154 Temporarily Closed 1155 </div> 1156 </h4> 1157 </div> 1158 </div> 1159 {{else}} 1160 {{#if show_hours}} 1161 <div class="poi_hours"> 1162 <div class="store_hours"> 1163 <h4> 1164 <div class="poi_icon_wrapper"> 1165 <svg xmlns="http://www.w3.org/2000/svg" width="16.5" height="16.5" viewBox="0 0 16.5 16.5" aria-hidden="true"> 1166 <g id="time" transform="translate(-173 -189)"> 1167 <path id="Vector" d="M8,16a8,8,0,1,1,8-8A8.007,8.007,0,0,1,8,16ZM8,1.116A6.884,6.884,0,1,0,14.884,8,6.892,6.892,0,0,0,8,1.116Z" transform="translate(173.25 189.25)" fill="#1e8385" stroke="#1e8385" stroke-width="0.5"/> 1168 <path id="Vector-2" data-name="Vector" d="M3.587,6.824A.5.5,0,0,1,3.3,6.742L1,5.366A2.195,2.195,0,0,1,0,3.609V.558A.562.562,0,0,1,.558,0a.562.562,0,0,1,.558.558V3.609a1.1,1.1,0,0,0,.454.8L3.877,5.782a.557.557,0,0,1,.193.767A.573.573,0,0,1,3.587,6.824Z" transform="translate(180.424 193.35)" fill="#1e8385" stroke="#1e8385" stroke-width="0.5"/> 1169 </g> 1170 </svg> 1171 </div> 1172 <button aria-controls="storehours_list" id="locatorResult{{@index}}StoreHoursDropdown" data-gtm-event="locator interaction" data-gtm-contenttype="Locator Result {{@index}} - Store Hours Dropdown">Store Hours</button> 1173 <div class="open_closed_wrapper"> 1174 {{{open_closed}}} 1175 </div> 1176 </h4> 1177 <ul id="storehours_list"> 1178 <li class="bold{{mon_check}}"><span>Mon:</span><span>{{monday_hours_formatted}}</span></li> 1179 <li class="bold{{tue_check}}"><span>Tue:</span><span>{{tuesday_hours_formatted}}</span></li> 1180 <li class="bold{{wed_check}}"><span>Wed:</span><span>{{wednesday_hours_formatted}}</span></li> 1181 <li class="bold{{thu_check}}"><span>Thu:</span><span>{{thursday_hours_formatted}}</span></li> 1182 <li class="bold{{fri_check}}"><span>Fri:</span><span>{{friday_hours_formatted}}</span></li> 1183 <li class="bold{{sat_check}}"><span>Sat:</span><span>{{saturday_hours_formatted}}</span></li> 1184 <li class="bold{{sun_check}}"><span>
1184Sun:</span><span>{{sunday_hours_formatted}}</span></li> 1185 </ul> 1186 </div> 1187 <!-- uncomment if client has holiday hours 1188 {{#if holidayhours}} 1189 <div class="holiday_hours"> 1190 <h4> 1191 <button aria-controls="storehours_list">Holiday Hours</button> 1192 </h4> 1193 <ul id="holidayhours_list"> 1194 {{holidayhours}} 1195 </ul> 1196 </div> 1197 {{/if}} 1198 --> 1199 </div> 1200 {{/if}} 1201 {{/if}} 1202 <div class="poi_ctas"> 1203 <ul> 1204 <li> 1205 <a href="javascript:void(0)" id="locatorResult{{@index}}ViewStorePage" data-gtm-event="locator interaction" data-gtm-contenttype="Locator Result {{@index}} - View Store Page" onclick="window.open('{{lp_url}}')" class="btn btn-secondary">View Store Page</a> 1206 </li> 1207 {{#if location.attributes.url_order_ahead}} 1208 <li> 1209 <a href="{{location.attributes.url_order_ahead}}" id="locatorResult{{@index}}OrderOnline" data-gtm-event="locator interaction" data-gtm-contenttype="Locator Result {{@index}} - Order Online" class="btn btn-primary">Order Online</a> 1210 </li> 1211 {{/if}} 1212 </ul> 1213 </div> 1214 </div> 1215 </li> 1216 {{/if}} 1217 {{/each}} 1218 </ul> 1219 <div class="poi_paging_wrapper"> 1220 <span class="poi_paging_prev"><span class="fa fa-arrow-left"></span><span>Previous</span></span> 1221 <span class="poi_paging_next"><span>Next</span><span class="fa fa-arrow-right"></span></span> 1222 </div> 1223 </script>
1223 1224 <!-- poi template end --> 1225 1226 1227
1227<script id="collection_more_info" type="text/x-handlebars-template" data-slicesize="1"> 1228 <ul class="content-list poi-result moreinfo_box"> 1229 <li data-id={{index}} data-uid={{asset.uid}} class="poi-item"> 1230 <div> 1231 <!-- add moreinfo content here --> 1232 </div> 1233 <a id="moreinfo_back" href="javascript:void(0);" role="button" onclick="document.getElementById('back_image').click()" onkeypress="document.getElementById('back_image').click()"> 1234 <img id="back_image" data-action="show_all" onclick="moreinfo_changeback();" src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/local/search/images/back_to_search.png" alt="" aria-hidden="true"> 1235 <span>Back to Search</span> 1236 </a> 1237 </li> 1238 </ul> 1239 </script>
1239 1240 <!-- <a data-action="show_all" href="javascript:void(0);">Back</a> --> 1241 <!-- driving directions panel template end --> 1242
1242<script id="collection_maneuvers" type="text/x-handlebars-template"> 1243 <a role="button" href="javascript:void(0);" id="search_return" onclick="window.location.reload()"> 1244 <img src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/local/search/images/back_to_search.png" alt="" aria-hidden="true"> 1245 <span>Back to Search Results</span> 1246 </a> 1247 <div class="dist_time"><span>Distance:</span> {{total_distance}}</div> 1248 <div class="dist_time"><span>Drive time:</span> {{total_time}} drive</div> 1249 <p class="maneuver_start"> 1250 From (A): {{#if fromAddress.location.address.address_line_1}} {{fromAddress.location.address.address_line_1}} {{/if}} {{fromAddress.location.address.city}} {{fromAddress.location.address.state_province}} {{fromAddress.location.address.postal_code}} 1251 </p> 1252 <ul class="content-list maneuver-result"> 1253 {{#each maneuverlist}} 1254 <li data-id={{@index}} data-uid={{asset.uid}}> 1255 {{incIndex @index}} {{text}} {{distance}} {{distanceuom}} 1256 </li> 1257 {{/each}} 1258 </ul> 1259 <p class="maneuver_end"> 1260 To (B): {{#if toAddress.location.address.address_line_1}} {{toAddress.location.address.address_line_1}} {{/if}} {{toAddress.location.address.city}} {{toAddress.location.address.state_province}} {{toAddress.location.address.postal_code}} </strong> 1261 </p> 1262 </script>
1262 1263 <!-- driving directions panel template end --> 1264 <!-- driving directions form template start --> 1265
1265<script id="dd-template" type="text/x-handlebars-template"> 1266 <form id="driving_directions" autocomplete="off"> 1267 <div class="icon-bar"> 1268 <a href="#" onclick="window.open(ace.util.printUrl('locator-print.html'), 'print', 'toolbar=no, resizable=yes, scrollbars=yes, menubar=yes');"><span class="fa fa-print"></span>Print</a> 1269 </div> 1270 <label for="start_address"> 1271 <span>From:</span><input type="text" id="start_address" class="search-box" data-action="start" name="addressline" placeholder="Start address"> 1272 </label> 1273 <label for="end_address"> 1274 <span>To:</span><input type="text" id="end_address" class="search-box" data-action="end" name="addressline" placeholder="End address"> 1275 </label> 1276 <button class="button-search dd-button-search">GET DIRECTIONS</button> 1277 <input type="hidden" id="longitude" name="longitude" aria-hidden="true"/> 1278 <input type="hidden" id="latitude" name="latitude" aria-hidden="true"/> 1279 <input type="hidden" id="dest_longitude" name="dest_longitude" aria-hidden="true"/> 1280 <input type="hidden" id="dest_latitude" name="dest_latitude" aria-hidden="true"/> 1281 </form> 1282 </script>
1282 1283 <!-- driving directions form template end --> 1284 <!-- icon template start --> 1285
1285<script id="default" type="text/x-handlebars-template"> 1286 <div class="icon" data-bubbleid="bubble" style="pointer-events: none; cursor:none !important; z-index: 10;" data-width="41" data-height="54" data-offsetx="-21" data-offsety="-54" data-labeloffsetx="8" data-labeloffsety="-10" data-fontfamily="Roboto" data-fontcolor="#ffffff" data-fontsize="700 16px" data-display="false"> 1287 <img class="alpha" src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/local/search/images/locator/map-pin-sg.png" style="cursor:pointer;" alt="Map Pin"/> 1288 </div> 1289 </script>
1289 1290 <!-- icon template end --> 1291 1292 <!-- bubble template start --> 1293
1293<script id="bubble" data-offsetx="0" data-offsety="0" data-width="0" data-height="0" type="text/x-handlebars-template"> 1294 <ul class="tabs" style="display:none;"> 1295 <li class="active" data-tab="tab1">Address</li> 1296 </ul> 1297 <div class="tab-content active" data-tab="tab1"> 1298 <ul> 1299 <li>{{location.address.address_line_1}}<li> 1300 <li>{{location.address.city}}, {{location.address.state_province}} {{location.address.postal_code}}<li> 1301 </ul> 1302 <a href="javascript:void(0);" onclick="window.parent.location = 'tel:{{location.phone}}';" > 1303 {{location.phone}} 1304 </a> 1305 <div>Get Directions</div> 1306 <div class="dd-wrapper" style="display:none !important;"> 1307 <form id="dd" autocomplete="off"> 1308 <label for="input_bubble" class="sr-only">Enter Address</label> 1309 <input id="input_bubble" size="18" type="text" name="addressline" class="direction_address" value="{{addressline}}" /> 1310 1311 <input id="bubble_submit" type="submit" value="" class="search_arrow"> 1312 <!-- <input size="19" type="text" name="addressline" style="display:none;" class="direction_address" value="{{location.address.address_line_1}}, {{location.address.city}}, {{location.address.state_province}} {{location.address.postal_code}} " /> 1313 <input type="submit" value="" class="search_arrow" style="display:none;"> --> 1314 <label for="bubble_country" class="sr-only">Country</label> 1315 <select id="bubble_country" name="country" class="country_selection" style="display:none"> 1316 <option value="">Select a country</option> 1317 {{#each options}} 1318 <option value="{{value}}" {{#if selected}}selected="selected"{{/if}}>{{text}}</option> 1319 {{/each}} 1320 </select> 1321 <input type="submit" value="Go" style="display:none;" > 1322 </form> 1323 </div> 1324 </div> 1325 </script>
1325 1326 <!-- bubble template end --> 1327 <!-- center marker template start --> 1328
1328<script id="center_marker" type="text/x-handlebars-template"> 1329 <div class="icon" style="z-index: 8;" data-bubbleid="bubble" data-width="24" data-height="24" data-offsetx="-12" data-offsety="-12"> 1330 <img class="alpha" src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/local/search/images/locator/centerpoint.barb.png" alt="Center marker" /> 1331 </div> 1332 </script>
1332 1333 <!-- center marker template end --> 1334 <!-- dd end markers template start --> 1335
1335<script id="ddstarticon" type="text/x-handlebars-template"> 1336 <div class="end_icon" data-height="38" data-width="27" data-offsetx="-13" data-offsety="-38"> 1337 <img class="alpha" src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/local/search/images/ddstartpin-new.png" alt="Start Icon"/> 1338 </div> 1339 </script>
1339 1340
1340<script id="ddendicon" type="text/x-handlebars-template"> 1341 <div class="end_icon" data-height="38" data-width="27" data-offsetx="-13" data-offsety="-38"> 1342 <img class="alpha" src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/local/search/images/ddendpin-new.png" alt="End Icon"/> 1343 </div> 1344 </script>
1344 1345 <!-- dd end markers template start --> 1346
1346<script id="panel_error_message" type="text/x-handlebars-template"> 1347 <div id="error_message" role="alert" aria-live="assertive"><span class="locerror">{{error}}</span></div> 1348 </script>
1348 1349 </div> 1350 1351 </main> <!-- end of w2gi wrapper --> 1352 <footer> 1353 <style> 1354 footer { 1355 position: relative; 1356 } 1357 1358 footer a.btn { 1359 left: 40px; 1360 max-width: 240px; 1361 position: absolute; 1362 top: 40px; 1363 } 1364 1365 @media (max-width: 719px) { 1366 footer a.btn { 1367 margin: 0 0 30px; 1368 position: static; 1369 } 1370 } 1371 </style> 1372 <a href="https://restaurants.thesimplegreek.com/" class="btn btn-primary">Store Directory</a> 1373 <img src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/images/tsg-logo.2.png" alt="The Simple Greek logo"> 1374 <ul> 1375 <li> 1376 <a href="https://www.facebook.com/thesimplegreek"><span class="sr-only">Visit The Simple Greek's Facebook page</span><img src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/images/facebook.svg" alt="" aria-hidden="true"></a> 1377 </li> 1378 <li> 1379 <a href="https://www.instagram.com/thesimplegreek/"><span class="sr-only">Visit The Simple Greek's Instagram page</span><img src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/images/instagram.svg" alt="" aria-hidden="true"></a> 1380 </li> 1381 <li> 1382 <a href="https://twitter.com/thesimplegreek"><span class="sr-only">Visit The Simple Greek's X page</span><img src="https://llp-assets.meetsoci.com/live/assets/thesimplegreeksites/images/twitter.svg" alt="" aria-hidden="true"></a> 1383 </li> 1384 </ul> 1385 <p class="copyright">© <span></span> Copyright The Simple Greek. All rights reserved.</p> 1386 1387 </footer> 1388 1389
1389<script> 1390 $(function(){ 1391 let date = new Date(); 1392 let year = date.getFullYear(); 1393 $('p.copyright span').html(year); 1394 }) 1395 </script>
1395 1396 <!-- add footer include reference here --> 1397 1398
1398<script> 1399 var anchorIn = document.createElement('a'); 1400 anchorIn.setAttribute('href', 'javascript:void(0);'); 1401 anchorIn.setAttribute('aria-label', 'Zoom In'); 1402 anchorIn.setAttribute('role', 'button'); 1403 1404 var anchorOut = document.createElement('a'); 1405 anchorOut.setAttribute('href', 'javascript:void(0);'); 1406 anchorOut.setAttribute('aria-label', 'Zoom Out'); 1407 anchorIn.setAttribute('role', 'button'); 1408 1409 setTimeout(function() { 1410 var elIn = document.getElementById('OpenLayers_Control_PanZoom_zoomin_innerImage'); 1411 var elOut = document.getElementById('OpenLayers_Control_PanZoom_zoomout_innerImage'); 1412 if (elIn){ 1413 elIn.parentNode.insertBefore(anchorIn, elIn); 1414 anchorIn.appendChild(elIn); 1415 } 1416 if (elOut){ 1417 elOut.parentNode.insertBefore(anchorOut, elOut); 1418 anchorOut.appendChild(elOut); 1419 } 1420 }, 6000); 1421 </script>
1421 1422
1422<script> 1423 1424 $(function(){ 1425 $('#reset_button').click(function(){ 1426 $('#search_input').val(''); 1427 }); 1428 1429 $('.mobile_toggle_buttons button').click(function() { 1430 if(!$(this).hasClass('active')){ 1431 if($(this)[0].id === 'mapview'){ 1432 $('.wrapper').removeClass('map-hidden'); 1433 $('.poi').hide() 1434 } else { 1435 $('.poi').show(); 1436 $('.wrapper').addClass('map-hidden'); 1437 } 1438 $('.mobile_toggle_buttons button').each(function(){ 1439 let $this = $(this); 1440 $this.toggleClass('active'); 1441 }) 1442 setTimeout(function(){ 1443 1444 },320); 1445 } 1446 }) 1447 1448 }) 1449 1450 // added to get rid of ADA errors regarding the images/iframes loading from Google map 1451 setTimeout(function(){ 1452 1453 var temp = document.querySelectorAll("#mapEl div img"); 1454 for(var i = 0; i < temp.length; i++) { 1455 var img = temp[i]; 1456 img.setAttribute("alt", "Google Map" + i); 1457 img.setAttribute("aria-title", "Google Map" + i); 1458 // console.log(img); 1459 } 1460 1461 var temp = document.getElementById('mapEl').querySelectorAll('[role="presentation"]'); 1462 for(var i = 0; i < temp.length; i++) { 1463 temp[i].removeAttribute("role"); 1464 } 1465 1466 var frames = document.getElementsByTagName("iframe"); 1467 console.log("total frames found: " + frames.length); 1468 for (var i = 0; i < frames.length; ++i) 1469 { 1470 if (frames[i].hasAttribute("frameborder")) 1471 frames[i].removeAttribute("frameborder"); 1472 if (frames[i].hasAttribute("width")) 1473 frames[i].removeAttribute("width"); 1474 if (frames[i].hasAttribute("height")) 1475 frames[i].removeAttribute("height"); 1476 if (frames[i].hasAttribute("marginwidth")) 1477 frames[i].removeAttribute("marginwidth"); 1478 if (frames[i].hasAttribute("marginwidth")) 1479 frames[i].removeAttribute("marginwidth"); 1480 if (frames[i].hasAttribute("marginheight")) 1481 frames[i].removeAttribute("marginheight"); 1482 if (frames[i].hasAttribute("scrolling")) 1483 frames[i].removeAttribute("scrolling"); 1484 if (!frames[i].hasAttribute("title")) 1485 frames[i].setAttribute("title", "iframe"); 1486 } 1487 }, 6000); 1488 1489 1490 </script>
1490 1491</body> 1492</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.