1<!DOCTYPE html> 2<html> 3<head> 4 5 <link rel="stylesheet" href="/Content/custom-theme/remove-logo-box-shadow.css"> 6 <link rel="stylesheet" href="/Content/themes/css-customize/scheme_carrot.css"> 7 <link href="/Content/themes/css-v2/style_v2.min.css?v=111.20260916-129" rel="stylesheet" /> 8 <link href="https://getz-online-store.s3.ap-southeast-1.amazonaws.com/prod/Content/styleCustom.css?v=111.20260916-129" rel="stylesheet" /> 9 10 11 12 13 14 <style> 15 @font-face { 16 font-family: 'Urbanist'; 17 font-weight: normal; 18 font-style: normal; 19 font-display: swap; 20 src: url('/Content/fonts/custom-fonts/Urbanist/Urbanist.woff') format('woff'), 21 url('/Content/fonts/custom-fonts/Urbanist/Urbanist.ttf') format('truetype'); 22 } 23 24 :root { 25 --main-font-family: "Urbanist", sans-serif; 26 } 27 </style> 28 29<link href="/Content/css_newUI/font-style.css" rel="stylesheet" /> 30 31
31<script> siteID = "sZyelz6f+SGMS+pk3WnxWHrF9idLXd4WIs24BLX4WTPeqGMv6uvD7ZGvNjkxQRCyOT2D7O9NLO1qkcFFj801Hg=="; </script>
31 32 33 34 35 <title>Recommended For You | West Coz Cafe | Delivery or Takeaway</title> 36 <meta name="description" content="Browse through our Recommended For You menu. Choose from 0 dishes from our tantalising menu. Order online today for Delivery or Takeaway!"> 37 38 39 40 41 42 43<link rel="stylesheet" href="/Content/slow-notice.css"> 44 45 46
46<script> 47 var DD_LOGS = null; 48 </script>
48 49 50 51 <meta charset="utf-8" /> 52<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1"> 53<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 54<meta name="keywords" content="Recommended For You, order Recommended For You online, food delivery, food takeaway, online food Singapore"> 55 56<meta name="apple-mobile-web-app-capable" content="yes"> 57 58 <link rel="shortcut icon" href="https://s3-ap-southeast-1.amazonaws.com/smoovpos-live/dbfa6749-e17e-4a3f-90a0-c7d2f4e1b979/1782571845_WestCozCafe.png">
59<script> 60 var lazyLoadingImages = 'False' == 'True'; 61 var urlProductDetail = '/Product/ProductDetail'; 62 var urlEVoucherDetail = '/EVoucher/EVoucherDetail'; 63 var urlEVoucherInfo = '/EVoucher/EVoucherInfo'; 64</script>
64 65<link href="https://fonts.googleapis.com/css?family=Lato:400,100,300,700,900" rel="stylesheet" type="text/css"> 66<link rel="stylesheet" href="/Content/css_newUI/bootstrap.css"> 67<link rel="stylesheet" href="/Content/css_newUI/style.css?v=111.20260916-129"> 68<link rel="stylesheet" href="/Content/css_newUI/fix_new_ui.css?v=111.20260916-129"> 69<link rel="stylesheet" href="/Content/css_newUI/custom_new_ui.css?v=111.20260916-129" /> 70<link rel="stylesheet" href="/Content/css_newUI/select-payment-method.css?v=111.20260916-129" /> 71<link rel="stylesheet" href="/Content/css_newUI/upsell-cart.css?v=111.20260916-129" /> 72<link rel="stylesheet" href="/Content/themes/getz-dropdownhover.css?v=111.20260916-129"> 73<link rel="stylesheet" href="/Content/themes/GetzThemMenuLeftRightAuto.css?v=111.20260916-129"> 74<link rel="stylesheet" href="/Content/css_newUI/print.css?v=111.20260916-129" media="print"> 75<!-- Core stylesheet --> 76<link rel="stylesheet" href="/Content/customizable_loading/css/modal-loading.css?v=111.20260916-129"> 77<!-- CSS3 animations --> 78<link rel="stylesheet" href="/Content/customizable_loading/css/modal-loading-animate.css?v=111.20260916-129"> 79<link rel="stylesheet" href="/Content/v2/css/homepage/homepage.min.css?v=111.20260916-129"> 80 81 82<link href="/Content/jquery-ui.css" rel="stylesheet"/> 83 84<link href="/Content/font-awesome-4.3.0/css/font-awesome.css" rel="stylesheet"/> 85 86<link href="/Content/carousel/owl.carousel.css" rel="stylesheet"/> 87<link href="/Content/carousel/owl.theme.css" rel="stylesheet"/> 88<link href="/Content/carousel/owl.transitions.css" rel="stylesheet"/> 89 90 91<!-- Javascripts 3rd party -->
92<script src="https://web-content.getz.co/prod/Scripts/jquery-2.0.3.min.js"></script>
vendor: 2 bytes, line 92
92
93<script src="https://web-content.getz.co/prod/Scripts/jquery.validate.min.js"></script>
vendor: 2 bytes, line 93
93
94<script src="https://web-content.getz.co/prod/Scripts/jquery.validate.unobtrusive.min.js"></script>
vendor: 2 bytes, line 94
94
95<script src="https://web-content.getz.co/prod/Scripts/jquery-ui.min.js"></script>
vendor: 2 bytes, line 95
95
96<script src="https://web-content.getz.co/prod/Scripts/carousel/owl.carousel.min.js"></script>
vendor: 2 bytes, line 96
96
97<script src="https://web-content.getz.co/prod/Scripts/bootbox.min.js"></script>
vendor: 2 bytes, line 97
97
98<script src="https://web-content.getz.co/prod/Scripts/imagesloaded.pkgd.min.js"></script>
vendor: 2 bytes, line 98
98
99<script src="https://web-content.getz.co/prod/Scripts/js_newUI/modernizr.min.js"></script>
vendor: 2 bytes, line 99
99
100<script src="https://web-content.getz.co/prod/Scripts/js_newUI/bootstrap.min.js"></script>
vendor: 2 bytes, line 100
100
101<script src="/Scripts/v2/lib/qrcode.min.js"></script>
101 102
103<script src="/Scripts/js_newUI/script.js?v=111.20260916-129"></script>
103 104 105<!-- Javascripts Customizable -->
106<script src="/Scripts/echo.js?v=111.20260916-129"></script>
vendor: 2 bytes, line 106
106
107<script src="/Scripts/datadogLibrary.js?v=111.20260916-129"></script>
vendor: 2 bytes, line 107
107
108<script src="/Scripts/library.js?v=111.20260916-129&pwaLogin=2"></script>
vendor: 2 bytes, line 108
108
109<script src="/Scripts/themes/theme_8/getz-dropdownhover.js?v=111.20260916-129"></script>
vendor: 2 bytes, line 109
109
110<script src="/Content/customizable_loading/js/modal-loading.js?v=111.20260916-129"></script>
110 111 112 113<!-- JS moved to end </body> --> 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131<!-- JS not use --> 132 133 134 135<!-- Javascripts Customizable -->
136<script src="/Scripts/v2/home/collapse-card.js?v=111.20260916-129"></script>
vendor: 2 bytes, line 136
136
137<script src="/Scripts/v2/home/_discount.js?v=111.20260916-129"></script>
vendor: 2 bytes, line 137
137
138<script src="/Scripts/v2/home/_group-order-delivery.js?v=111.20260916-129"></script>
138 139 140 141 142 143 144<link rel="manifest" href="/Pwa/Manifest" /> 145<meta name="theme-color" content="#ffffff" /> 146<meta name="apple-mobile-web-app-capable" content="yes" /> 147<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> 148<meta name="apple-mobile-web-app-title" content="West Coz Cafe" /> 149 150<link rel="icon" type="image/png" sizes="192x192" href="/Pwa/Icon?size=192" /> 151<link rel="icon" type="image/png" sizes="512x512" href="/Pwa/Icon?size=512" /> 152<link rel="apple-touch-icon" sizes="180x180" href="/Pwa/Icon?size=180" /> 153 154 155 156 157 158 159
160<script> 161 var fbq = null; 162 var ga = null; 163</script>
163 164 165 166 167 168 <!-- Global site tag (gtag.js) - Google Analytics - Getz's GA Account -->
vendor: 69 bytes, lines 168-169
168 169 <script async src="https://www.googletagmanager.com/gtag/js?id=
169UA-72067487-2
vendor: 17 bytes, lines 169-170
169"></script> 170
170<script> 171
vendor: 159 bytes, lines 171-175
171window.dataLayer = window.dataLayer || []; 172 function gtag() { dataLayer.push(arguments); } 173 gtag('js', new Date()); 174 175 gtag('config', '
175UA-72067487-2
vendor: 9 bytes, lines 175-176
175'); 176
176</script>
176 177 <!-- Google Analytics --> 178
178<script>
vendor: 452 bytes, lines 178-186
178 179 (function (i, s, o, g, r, a, m) { 180 i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { 181 (i[r].q = i[r].q || []).push(arguments) 182 }, i[r].l = 1 * new Date(); a = s.createElement(o), 183 m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) 184 })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); 185 186 ga('create', '
186UA-72067487-2
vendor: 54 bytes, lines 186-188
186', 'auto'); 187 ga('send', 'pageview'); 188
188ga('send', 'event', 'GA', 'Tracking', 'Page View') 189 </script>
189 190 <!-- End Google Analytics --> 191 192<!-- Apply Hotjar Tracking Code for all merchants on 20191016 - Request by Ronald --> 193 194 195 196 197 198 199 200 201<!-- Getz Group Pte Ltd--> 202<!-- Google Tag Manager -->
203<script>
vendor: 463 bytes, lines 203-211
203 204 (function (w, d, s, l, i) { 205 w[l] = w[l] || []; w[l].push({ 206 'gtm.start': 207 new Date().getTime(), event: 'gtm.js' 208 }); var f = d.getElementsByTagName(s)[0], 209 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 210 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 211 })(window, document, 'script', 'dataLayer', '
211GTM-PMCCZZG
vendor: 3 bytes, line 211
211');
211</script>
211 212<!-- End Google Tag Manager --> 213 214 215 216 217 218 219 220 221 222 223 224 225 <link rel="stylesheet" href="/Content/css/pwa-install.css?v=18" /> 226 227</head> 228<body class="page-1"> 229 230<div class="alert alert-warning alert-dismissible" id="slow-notice"> 231 <div class="pwa-offline-copy"> 232 <p>No Internet Connection.</p> 233 <p>Please check your internet connection and try again.</p> 234 </div> 235 <div class="pwa-online-copy" style="display: none;"> 236 <p>You're back online.</p> 237 <p>Tap Retry to restore the app.</p> 238 </div> 239 <div class="dismiss-container"> 240 <button type="button" class="pwa-offline-retry" style="display: none;" onclick="retryPwaConnection();">Retry</button> 241 <span class="dismiss" onclick="setCookie('dismissed', '1', 1);$('#slow-notice').css('display', 'none');">[x] dismiss</span> 242 </div> 243</div> 244 245 246 247 248 249 250 251 252 253<!-- Getz Group Pte Ltd--> 254<!-- Google Tag Manager (noscript) -->
vendor: 75 bytes, lines 254-256
254 255<noscript> 256 <iframe src="https://www.googletagmanager.com/ns.html?id=
256GTM-PMCCZZG
vendor: 99 bytes, lines 256-258
256" 257 height="0" width="0" style="display:none;visibility:hidden"></iframe> 258</noscript>
259<!-- End Google Tag Manager (noscript) --> 260 261 <div id="wrapper"> 262 263<div id="menu-mb" class="menu-mb hidden-md hidden-lg"> 264 <div class="inner"> 265 266 267 <ul class="list-3 list-unstyled"> 268 <li> 269 <a href="/" title="Home"><i class="wi-icon-main"></i><span>Home</span></a> 270 </li> 271 </ul> 272 <ul class="list-3 list-unstyled"> 273 <li> 274 <a href="/Recommendations" title="Recommended"><span>Recommended</span></a> 275 </li> 276 </ul> 277 <ul class="list-3 list-unstyled"> 278 <li> 279 <a href="/Promotion" title="Promotions"><span>Promotions</span></a> 280 </li> 281 </ul> 282 <ul class="list-3 list-unstyled"> 283 <li> 284 <a href="/Home/Hours" title="Hours"><span>Hours</span></a> 285 </li> 286 </ul> 287 <div class="block-2 full-menu-block"> 288 <h2 class="title-5">Menu Categories</h2> 289 <ul class="list-1 list-unstyled"> 290 <li> 291 <a href="/Category" title="All Items"> 292 All Items 293 </a> 294 </li> 295 <li> 296 <a href="/Category/e-voucher-turn-your-bills-into-thrills.html" title="E-VOUCHER - Turn Your Bills into Thrills"> 297 E-VOUCHER - Turn Your Bills into Thrills 298 </a> 299 </li> 300 <li> 301 <a href="/Category/promotion.html" title="PROMOTION"> 302 PROMOTION 303 </a> 304 </li> 305 <li> 306 <a href="/Category/set-menu.html" title="Set Menu"> 307 Set Menu 308 </a> 309 </li> 310 <li> 311 <a href="/Category/signature-curry-fish.html" title="Signature Curry Fish"> 312 Signature Curry Fish 313 </a> 314 </li> 315 <li> 316 <a href="/Category/sides.html" title="Sides"> 317 Sides 318 </a> 319 </li> 320 <li> 321 <a href="/Category/egg.html" title="Egg"> 322 Egg 323 </a> 324 </li> 325 <li> 326 <a href="/Category/beancurd.html" title="Beancurd"> 327 Beancurd 328 </a> 329 </li> 330 <li> 331 <a href="/Category/sotong.html" title="Sotong"> 332 Sotong 333 </a> 334 </li> 335 <li> 336 <a href="/Category/fish.html" title="Fish"> 337 Fish 338 </a> 339 </li> 340 <li> 341 <a href="/Category/prawn.html" title="Prawn"> 342 Prawn 343 </a> 344 </li> 345 <li> 346 <a href="/Category/chicken.html" title="Chicken"> 347 Chicken 348 </a> 349 </li> 350 <li> 351 <a href="/Category/beef.html" title="Beef"> 352 Beef 353 </a> 354 </li> 355 <li> 356 <a href="/Category/soup.html" title="Soup"> 357 Soup 358 </a> 359 </li> 360 <li> 361 <a href="/Category/vegetables.html" title="Vegetables"> 362 Vegetables 363 </a> 364 </li> 365 <li> 366 <a href="/Category/rice.html" title="Rice"> 367 Rice 368 </a> 369 </li> 370 <li> 371 <a href="/Category/noodles.html" title="Noodles"> 372 Noodles 373 </a> 374 </li> 375 <li> 376 <a href="/Category/dessert.html" title="Dessert"> 377 Dessert 378 </a> 379 </li> 380 381 </ul> 382 </div> 383 384 385 </div> 386</div> 387 <div id="container"> 388 389 390<header id="header" class="header" style=""> 391 <div class="inner"> 392 <nav id="nav" class="navbar"> 393 394 395 396<style> 397 #message-pc p { 398 margin: initial; 399 } 400 401 #message-pc .carousel-control { 402 opacity: 1;
403 } 404 405 #message-pc .carousel-control.right, .carousel-control.left { 406 background-image: initial; 407 background-repeat: no-repeat; 408 } 409 410 #message-pc .glyphicon { 411 font-size: inherit; 412 } 413</style> 414 415 416 <div class="container-fluid"> 417 <div class="row"> 418 <div class="col-lg-2 col-md-3"> 419 <div class="navbar-header"> 420 <a href="/" title="" class="navbar-brand hidden-xs hidden-sm"> 421 <span class="logo"> 422 <img src="https://s3-ap-southeast-1.amazonaws.com/smoovpos-live/dbfa6749-e17e-4a3f-90a0-c7d2f4e1b979/1782571845_WestCozCafe.png" alt="Order online for pickup or delivery" class="img-responsive" /> 423 </span> 424 </a> 425 </div> 426 </div> 427 <div class="col-lg-10 col-md-9"> 428 <div class="row"> 429 <div class="col-md-8 col-lg-8"> 430 <div class="navbar-header"> 431 <h1 class="brand-name" onclick="location.href = '/';">West Coz Cafe (West Coast Plaza)</h1> 432 433 </div> 434 </div> 435 <div class="col-md-4 col-lg-4"> 436 <div id="languages-menu"> 437 <div class="member-portal member-portal-desktop pull-right"> 438 <div class="menu__login mt-8"> 439 <a class="btn-login" href="javascript: void(0)" onclick="redirectMemberUrl(null, 0, false, 'Online Member Portal')">Member?</a> 440 </div> 441 </div> 442 </div> 443 <div class="search-form hidden-xs hidden-sm"> 444 <form id="search-form" method="get" action="#"> 445 <div class="input-1 placeholder-typing-effect"> 446 <input type="text" id="txtSearch" class="stxtProductSearch"> 447 </div> 448 <button class="fa fa-search" id="btnProductSearch"></button> 449 </form> 450 </div> 451 </div> 452 </div> 453 <div class="row"> 454 <div id="main-menu" class="main-menu collapse navbar-collapse hidden-xs hidden-sm"> 455 <ul id="navbar-collapse-1" class="nav navbar-nav"> 456 457 458 459 460 461 462 <li class=""> 463 <a href="/" title="Home">Home</a> 464 </li> 465 <li id="getz-menu-mainsub-category" class="dropdown-getz dropdown dropdown-inline"> 466 <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" role="button" aria-expanded="false"> 467 MENU<span class="caret"></span> 468 </a> 469 <ul class="dropdown-menu hidden" role="menu"></ul> 470 <div class="wrapper"> 471 <ul class="dropdown-menu-getz list-unstyled"> 472 <li> 473 <a tabindex="0" href="/Category" title="All Items">All Items</a> 474 </li> 475 <li class="un-uppercase"> 476 <a tabindex="0" href="/Category/e-voucher-turn-your-bills-into-thrills.html">E-VOUCHER - Turn Your Bills into Thrills</a> 477 </li> 478 <li class="un-uppercase"> 479 <a tabindex="0" href="/Category/promotion.html">PROMOTION</a> 480 </li> 481 <li class="un-uppercase"> 482 <a tabindex="0" href="/Category/set-menu.html">Set Menu</a> 483 </li> 484 <li class="un-uppercase"> 485 <a tabindex="0" href="/Category/signature-curry-fish.html">Signature Curry Fish</a> 486 </li> 487 <li class="un-uppercase"> 488 <a tabindex="0" href="/Category/sides.html">Sides</a> 489 </li> 490 <li class="un-uppercase"> 491 <a tabindex="0" href="/Category/egg.html">Egg</a> 492 </li> 493 <li class="un-uppercase"> 494 <a tabindex="0" href="/Category/beancurd.html">Beancurd</a> 495 </li> 496 <li class="un-uppercase"> 497 <a tabindex="0" href="/Category/sotong.html">Sotong</a> 498 </li> 499 <li class="un-uppercase"> 500 <a tabindex="0" href="/Category/fish.html">Fish</a> 501 </li> 502 <li class="un-uppercase"> 503 <a tabindex="0" href="/Category/prawn.html">Prawn</a> 504 </li> 505 <li class="un-uppercase"> 506 <a tabindex="0" href="/Category/c
506hicken.html">Chicken</a> 507 </li> 508 <li class="un-uppercase"> 509 <a tabindex="0" href="/Category/beef.html">Beef</a> 510 </li> 511 <li class="un-uppercase"> 512 <a tabindex="0" href="/Category/soup.html">Soup</a> 513 </li> 514 <li class="un-uppercase"> 515 <a tabindex="0" href="/Category/vegetables.html">Vegetables</a> 516 </li> 517 <li class="un-uppercase"> 518 <a tabindex="0" href="/Category/rice.html">Rice</a> 519 </li> 520 <li class="un-uppercase"> 521 <a tabindex="0" href="/Category/noodles.html">Noodles</a> 522 </li> 523 <li class="un-uppercase"> 524 <a tabindex="0" href="/Category/dessert.html">Dessert</a> 525 </li> 526 </ul> 527 </div> 528 </li> 529 <li class="active"> 530 <a href="/Recommendations">RECOMMENDED</a> 531 </li> 532 <li class=""> 533 <a href="/Home/Hours">Hours</a> 534 </li> 535 </ul> 536 </div> 537 </div> 538 </div> 539 540 </div> 541 </div> 542 </nav> 543 </div> 544 545 <div class="header__navbar"> 546 <div class="row promote-partner"> 547 548 549 550<style> 551 #message-pc-m p { 552 margin: initial; 553 } 554 555 #message-pc-m .carousel-control { 556 opacity: 1; 557 } 558 559 #message-pc-m .carousel-control.left { 560 left: -6%; 561 } 562 563 #message-pc-m .carousel-control.right { 564 right: -5%; 565 } 566 567 #message-pc-m .carousel-control.right, .carousel-control.left { 568 background-image: initial; 569 background-repeat: no-repeat; 570 } 571 572 #message-pc-m .glyphicon { 573 font-size: 16px; 574 } 575</style> 576 577 578 </div> 579 580 <div class="row mobile-menu member-portal"> 581 582 <div class="menu__toggle show-member"> 583 584 <button type="button" class="navbar-toggle collapsed"> 585 586 <span class="icon-bar"></span> 587 588 <span class="icon-bar"></span> 589 590 <span class="icon-bar"></span> 591 592 </button> 593 594 <div class="menu__login"> 595 <a class="btn-login" href="javascript: void(0)" onclick="redirectMemberUrl()">Member?</a> 596 </div> 597 </div> 598 <div class="menu__branch-name"> 599 <div class="menu__home-page"> 600 <h1 class="branch__text branch-name branch__text-fix" onclick="location.href = '/';">West Coz Cafe (West Coast Plaza)</h1> 601 602 <div class="dropdown dropdown-service"> 603 <div class="dropdown-toggle" data-toggle="dropdown">
604 <span class="branch__text"> 605Select Services 606 </span> 607 <svg class="icon-caret" xmlns="http://www.w3.org/2000/svg" width="13" height="8" viewBox="0 0 13 8" fill="none"> 608 <mask id="path-1-inside-1_2018_14218" fill="white"> 609 <path d="M11.09 0.589996L6.5 5.17L1.91 0.589996L0.5 2L6.5 8L12.5 2L11.09 0.589996Z" /> 610 </mask> 611 <path d="M11.09 0.589996L6.5 5.17L1.91 0.589996L0.5 2L6.5 8L12.5 2L11.09 0.589996Z" fill="#F26722" /> 612 <path d="M11.09 0.589996L13.2113 -1.53132L11.0923 -3.65033L8.97099 -1.53364L11.09 0.589996ZM6.5 5.17L4.38099 7.29363L6.5 9.40802L8.61901 7.29363L6.5 5.17ZM1.91 0.589996L4.02901 -1.53364L1.90769 -3.65033L-0.211321 -1.53132L1.91 0.589996ZM0.5 2L-1.62132 -0.121324L-3.74264 2L-1.62132 4.12132L0.5 2ZM6.5 8L4.37868 10.1213L6.5 12.2426L8.62132 10.1213L6.5 8ZM12.5 2L14.6213 4.12132L16.7426 2L14.6213 -0.121324L12.5 2ZM8.97099 -1.53364L4.38099 3.04636L8.61901 7.29363L13.209 2.71363L8.97099 -1.53364ZM8.61901 3.04636L4.02901 -1.53364L-0.209006 2.71363L4.38099 7.29363L8.61901 3.04636ZM-0.211321 -1.53132L-1.62132 -0.121324L2.62132 4.12132L4.03132 2.71132L-0.211321 -1.53132ZM-1.62132 4.12132L4.37868 10.1213L8.62132 5.87868L2.62132 -0.121324L-1.62132 4.12132ZM8.62132 10.1213L14.6213 4.12132L10.3787 -0.121324L4.37868 5.87868L8.62132 10.1213ZM14.6213 -0.121324L13.2113 -1.53132L8.96868 2.71132L10.3787 4.12132L14.6213 -0.121324Z" fill="#F26722" mask="url(#path-1-inside-1_2018_14218)" /> 613 </svg> 614 </div> 615 <ul class="dropdown-menu"> 616 <li class="active" style="display: block" onclick="changeService(1, 2 <= 1, false)"><a href="#">Pick-up</a></li> 617 <li class="" style="display: block" onclick="changeService(0, 2 <= 1, false)"><a href="#">Delivery</a></li> 618 </ul> 619 </div> 620 </div> 621 <div class="menu__login-search"> 622 <div class="menu__search-box with-icon-cart "> 623 <div class="btn-menu-back"> 624 <svg xmlns="http://www.w3.org/2000/svg" width="28" height="20" viewBox="0 0 28 20" fill="none"> 625 <path d="M10 19.3333L11.88 17.4533L5.77333 11.3333H27.3333V8.66667H5.77333L11.8933 2.54667L10 0.666672L0.666666 10L10 19.3333Z" fill="#F26722" /> 626 </svg> 627 </div> 628 <button type="button" class="seach-input-icon btn-search"> 629 <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none"> 630 <path d="M16.6667 14.6667H15.6133L15.24 14.3067C16.5467 12.7867 17.3333 10.8133 17.3333 8.66667C17.3333 3.88 13.4533 0 8.66667 0C3.88 0 0 3.88 0 8.66667C0 13.4533 3.88 17.3333 8.66667 17.3333C10.8133 17.3333 12.7867 16.5467 14.3067 15.24L14.6667 15.6133V16.6667L21.3333 23.32L23.32 21.3333L16.6667 14.6667ZM8.66667 14.6667C5.34667 14.6667 2.66667 11.9867 2.66667 8.66667C2.66667 5.34667 5.34667 2.66667 8.66667 2.66667C11.9867 2.66667 14.6667 5.34667 14.6667 8.66667C14.6667 11.9867 11.9867 14.6667 8.66667 14.6667Z" fill="#F26722" /> 631 </svg> 632 633 </button> 634 <div class="autocomplete"> 635 <input type="text" id="myInput" placeholder="Search items" class="form-control search-input stxtProductSearch"> 636 </div> 637 <div class="clear-search-input"> 638 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"> 639 <path d="M10 0.25C4.62391 0.25 0.25 4.62391 0.25 10C0.25 15.3761 4.62391 19.75 10 19.75C15.3761 19.75 19.75 15.3761 19.75 10C19.75 4.62391 15.3761 0.25 10 0.25ZM13.5302 12.4698C13.6027 12.5388 13.6608 12.6216 13.7008 12.7133C13.7409 12.805 13.7622 12.9039 13.7635 13.004C13.7648 13.1041 13.746 13.2034 13.7083 13.2961C13.6706 13.3889 13.6147 13.4731 13.5439 13.5439C13.4731 13.6147 13.3889 13.6706 13.2961 13.7083C13.2034 13.746 13.1041 13.7648 13.004 13.7635C12.9039 13.7622 12.805 13.7409 12.7133 13.7008C12.6216 13.6608 12.5388 13.6027 12.4698 13.5302L10 11.0608L7.53016 13.5302C7.38836 13.6649 7.19955 13.7389 7.00398 13.7364C6.8084 13.7339 6.62155 13.6551 6.48325 13.5168C6.34495 13.3785 6.26614 13.1916 6.26364 12.996C6.26114 12.8005 6.33513 12.6116 6.46984 12.4698L8.93922 10L6.46984 7.53016C6.33513 7.38836 6.26114 7.19955 6.26364 7.
63900398C6.26614 6.8084 6.34495 6.62155 6.48325 6.48325C6.62155 6.34495 6.8084 6.26614 7.00398 6.26364C7.19955 6.26114 7.38836 6.33513 7.53016 6.46984L10 8.93922L12.4698 6.46984C12.6116 6.33513 12.8005 6.26114 12.996 6.26364C13.1916 6.26614 13.3785 6.34495 13.5168 6.48325C13.6551 6.62155 13.7339 6.8084 13.7364 7.00398C13.7389 7.19955 13.6649 7.38836 13.5302 7.53016L11.0608 10L13.5302 12.4698Z" fill="#333333" /> 640 </svg> 641 </div> 642 </div> 643 <div class="menu__cart navbar-header" style="display: block"> 644 <a href="javascript:void(0)" title="Cart" class="cart car__mobile"> 645 <svg xmlns="http://www.w3.org/2000/svg" width="33" height="32" viewBox="0 0 33 32" fill="none"> 646 <path fill-rule="evenodd" clip-rule="evenodd" d="M2.09502 5.20816C1.78055 5.3788 1.68467 5.79563 1.88449 6.12333C2.08685 6.45532 2.19451 6.47205 4.12462 6.47205H5.86285L8.03391 13.1529L10.2049 19.8338L9.93845 20.0831C9.77688 20.2342 9.60804 20.4706 9.50973 20.6836C9.36518 20.9964 9.34749 21.0963 9.34749 21.5981C9.34749 22.0972 9.36551 22.2001 9.50528 22.4995C9.71063 22.9394 10.0393 23.2694 10.4676 23.4656C10.7937 23.6149 10.8636 23.6245 11.7693 23.6449L12.7264 23.6663L12.5099 23.7773C12.2069 23.9328 11.8485 24.3078 11.6852 24.6403C11.5698 24.8752 11.5466 25.006 11.5457 25.429C11.5447 25.8716 11.5646 25.9768 11.7023 26.2573C12.3911 27.6599 14.3957 27.6646 15.0935 26.2653C15.2352 25.9812 15.2581 25.8703 15.2602 25.4571C15.2623 25.0537 15.2392 24.9282 15.1135 24.6601C14.9453 24.3012 14.6119 23.9402 14.2937 23.7723L14.0797 23.6593L19.1187 23.6569L24.1577 23.6544L23.9064 23.8137C23.5514 24.0388 23.2011 24.4585 23.0835 24.7996C22.7622 25.7314 23.1766 26.7183 24.075 27.161C24.2882 27.2661 24.4252 27.2879 24.8679 27.2872C25.3364 27.2865 25.4382 27.2679 25.6848 27.1379C26.046 26.9475 26.3618 26.6303 26.545 26.274C26.7565 25.8629 26.7846 25.2148 26.6111 24.7547C26.471 24.3829 26.0549 23.9188 25.713 23.7527L25.5158 23.657L25.7326 23.6557C26.413 23.6516 26.7379 22.9633 26.2769 22.5023L26.1052 22.3305L18.5585 22.3023L11.0119 22.2742L10.8558 22.118C10.7173 21.9795 10.6995 21.9204 10.6995 21.5981C10.6995 21.2758 10.7173 21.2168 10.8558 21.0783L11.0119 20.9221L18.7557 20.8939L26.4995 20.8658L26.6651 20.6968C26.8032 20.5559 27.1461 19.6299 28.7284 15.1252C30.7408 9.39614 30.7116 9.49575 30.4618 9.21976C30.2048 8.93571 30.8431 8.95081 19.0735 8.95081H8.09059L7.59968 7.44384C7.32966 6.61497 7.07339 5.81833 7.03007 5.67349C6.98252 5.51429 6.8832 5.35277 6.77898 5.26506L6.60659 5.12L4.42787 5.12225C2.61071 5.12411 2.22363 5.13842 2.09502 5.20816Z" fill="#F26722" /> 647 648 </svg> 649 </a> 650 <span id="my-cart-count">0</span> 651 </div> 652 </div> 653 654 </div> 655 </div> 656 <div id="tiles-toggle"> 657 <div class="mobile-services"> 658 <div class="services-info-block"> 659 <div title="Select service, date and time" class="select-datetime-service" onclick="selectService();"> 660 <div class="session-service-outlet"> 661 <span>Select service, date and time</span> 662 </div> 663 <svg xmlns="http://www.w3.org/2000/svg" width="10" height="17" viewBox="0 0 10 17" fill="none"> 664 <path d="M0 2.38L6.10667 8.5L0 14.62L1.88 16.5L9.88 8.5L1.88 0.5L0 2.38Z" fill="white" /> 665 </svg> 666 </div> 667 </div> 668 </div> 669 <div class="tooltip bottom hidden-md hidden-lg hidden" id="date_time_adjusted_mobi"> 670 <div class="tooltip-arrow"></div> 671 <div class="tooltip-inner bg-pink" id="date_time_adjusted_text">Timeslot has been adjusted according to assigned outlet</div> 672 </div> 673 674 <div class="row keep-open mobile-search"> 675 </div> 676 </div> 677 </div> 678</header> 679 680<link rel="stylesheet" href="/Content/themes/getz-dropdownhover.css?v=111.20260916-129">
681<script src="https://web-content.getz.co/prod/Scripts/mootools.min.js"></script>
vendor: 2 bytes, line 681
681
682<script src="https://web-content.getz.co/prod/Scripts/jquery.lazyload.js"></script>
682 683
684<script> 685 const memberUrl = 'https://segar.member.getz.co'; 686 var lastScrollTop = 0; 687 var oldScrollTop = 0; 688 var templateType = 2; 689 var txtSearchForYourItemEasyHere = 'Search for your items easily here'; 690 691 isBuffet = 'False' == 'True'; 692 isGroupOrdering = 'False' == 'True'; 693 isBuffetDetail = 'False' == 'True'; 694 if (isBuffetDetail) { 695 isBuffet = true; 696 } 697 $(document).ready(function () { 698 loadImageOriginal(false); 699 //ResizeDescription(); 700 //xu ly loadmore template Tiles 701 if (templateType == 1 || templateType == 3) 702 { 703 ToogleCategoryAndProduct(1000); 704 } 705 706 707 if ($(window).width() < 992) { 708 var currentUrl = window.location.href.toLowerCase(); 709 if (currentUrl.indexOf('/recommendations') > 0 710 || currentUrl.indexOf('/category/') > 0 711 || currentUrl.indexOf('/promotion') > 0 712 || currentUrl.indexOf('/hours') > 0 713 || currentUrl.indexOf('/about') > 0 714 || currentUrl.indexOf('/shippinginfo') > 0 715 || currentUrl.indexOf('/returnexchange') > 0 716 || currentUrl.indexOf('/contact') > 0 717 || currentUrl.indexOf('/privacypolicy') > 0 718 || currentUrl.indexOf('/termsconditions') > 0 719 ) { 720 $('#menu-tiles-mobile').attr('style', 'display: none !important'); 721 722 } 723 $('#header').height($("#header .header__navbar").height() - 3); 724 725 setTimeout(function () { 726 $('#header').height($("#header .header__navbar").height() - 3); 727 }, 750); 728 } 729 addHeighBody(); 730 731 $('.btn-search').on('click', function () { 732 const $searchBox = $(this).parents('.menu__search-box'); 733 if (!$searchBox.hasClass('open')) { 734 $(this).parents('.menu__search-box').addClass('open'); 735 $(this).siblings('.autocomplete').find('.search-input').val('').focus(); 736 } 737 //$(this).siblings('.autocomplete').find('.search-input').focus(); 738 }); 739 740 $('.btn-menu-back').on('click', function () { 741 const $searchBox = $(this).parents('.menu__search-box'); 742 $searchBox.addClass('closed'); 743 setTimeout(function () { 744 $searchBox.removeClass('open closed'); 745 }, 150); 746 }); 747 748 $('.clear-search-input').on('click', function () { 749 $(this).siblings('.autocomplete').find('.search-input').val('').focus(); 750 }); 751 752 $('.btn-member-portal').on('click', function () { 753 $('#member-portal-modal').addClass('modal-show'); 754 }); 755 756 $('.member-portal-close, .member-modal-backdrop').on('click', function () { 757 $('#member-portal-modal').removeClass('modal-show'); 758 }); 759 760 if (2 <= 1) { 761 $('.btn-change-service').addClass("hidden"); 762 } 763 $('.mobile-services').on('click', '.session-service-item-cta ', function () { 764 if (!isAmendMore && (isBuffet == 'False' || isBuffet == false) && (isGroupOrdering == 'False' || isGroupOrdering == false)) { 765 showPopup('#outlet-and-datetime-popup', changeOutletAndDatetime("West Coz Cafe (West Coast Plaza)", ', ')); 766 } 767 }); 768 }); 769 770 function changeOutletAndDatetime(outletName, outletAndDatetime) { 771 $('#outlet-and-datetime-popup .outlet-and-datetime__outlet-name').text(outletName); 772 $('#outlet-and-datetime-popup .outlet-and-datetime__datetime-selected').text(outletAndDatetime); 773 } 774 775 function addHeighBody() { 776 var newMarginTop = 10; 777 778 if ($(window).width() > 768) { 779 newMarginTop += $('#header .inner').outerHeight(); 780 } 781 782 //$('#bodyMain').css("margin-top", newMarginTop + "px"); 783 } 784 785 $(window).resize(function () { 786 787 if (templateType == 1 || templateType == 3) { 788 ToogleCategoryAndProduct(0); 789 } 790 });
791 792 function ToogleCategoryAndProduct(numTimeout) { 793 let wScrollbar = $('#wrapper').height() > $(window).height() ? 7 : 0; 794 if ($(window).width() < 992 - wScrollbar) { 795 if ($('#div-category-tiles').length > 0) { 796 $('#div-category-tiles').attr('style', 'display: none !important'); 797 $('#div-products-tiles').removeAttr('style'); 798 799 if ($('.row-item-product-floating').length !== 0) { 800 $(".row-item-product-floating").removeClass("loaded"); 801 802 setTimeout(function () { 803 try { 804 if (numTimeout > 0) { 805 ResizeRecommendProductFloating(); 806 } 807 else if (window.innerWidth != windowWidth) { 808 windowWidth = $(window).width(); 809 ResizeRecommendProductFloating(); 810 } 811 } catch (e) { 812 console.log(e); 813 } 814 }, numTimeout); 815 } 816 } 817 818 var currentUrl = window.location.href.toLowerCase(); 819 if (currentUrl.indexOf('/category') > 0 && $("#li-promotion").length > 0) { 820 $('#li-promotion')[0].addEventListener('click', function () { 821 window.location.href = "/Promotion" 822 }); 823 $('#li-Announcement').remove(); 824 } 825 } 826 else { 827 if ($('#div-category-tiles').length > 0) { 828 $('#div-category-tiles').removeAttr('style'); 829 $('#div-products-tiles').attr('style', 'display: none !important'); 830 ResizeCategory(true); 831 } 832 833 } 834 } 835 836 (function () { 837 // Standalone-only self-heal: this header renders "logged in" purely from the 838 // 30-minute server session (ViewBag.MemberLogged). If the device still has a 839 // locally cached GetzPay member token (from a PWA/Online Shop login on this same 840 // origin), silently validate/refresh it and reload so this header re-renders 841 // signed in -- instead of forcing the user through the full GetzPay redirect login. 842 var isMemberLoginServer = false; 843 var showMemberLoginServer = true; 844 845 if (showMemberLoginServer && !isMemberLoginServer && typeof trySyncMemberSessionForStandalone === 'function') { 846 $(function () { 847 trySyncMemberSessionForStandalone(0); 848 }); 849 } 850 })(); 851</script>
851 852 <main id="bodyMain"> 853 <div class="container-fluid"> 854 855 856 857 858<aside class="sidebar"> 859 <div class="cart-block"> 860 <div class="tab"> 861 <div class="inner"> 862 <div id="mobile-tab"> 863 864 <div class="mobile-tab__header-service"> 865 <span class="mobile-tab__header--action-back back-to-menu"> 866 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" viewBox="0 0 20 15" fill="none"> 867 <path d="M7 14.5L8.41 13.09L3.83 8.5H20V6.5H3.83L8.42 1.91L7 0.5L0 7.5L7 14.5Z" fill="#FFF" /> 868 </svg> 869 </span> 870 <i id="iprocessingtab" class="fa fa-spinner fa-spin" style="position: absolute;left: 25%;top: 33px;z-index: 999; display:none;"></i> 871 <ul role="tablist" class="nav nav-tabs nav-justified"> 872 </ul> 873 <div class="mobile-tab__header-service--login member-portal"> 874 <a class="btn-login" href="javascript: void(0)" onclick="redirectMemberUrl()">Member?</a> 875 </div> 876 877 </div> 878 </div> 879 <div id="desktop-tab"> 880 <i id="iprocessingtab" class="fa fa-spinner fa-spin" style="position: absolute;left: 25%;top: 33px;z-index: 999; display:none;"></i> 881 <ul role="tablist" class="nav nav-tabs nav-justified"> 882 </ul> 883 </div> 884 <div></div> 885 <div class="border-color-system " id="content-tab-main"> 886 <div id="tab_Pick_Up" role="tabpanel" class="tab-pane "> 887 </div> 888 <div id="tab_Delivery" role="tabpanel" class="tab-pane "> 889 </div> 890 </div> 891 </div> 892 </div> 893 </div> 894</aside> 895
896<script type="text/javascript"> 897 898 $(document).ready(function () { 899 countEnable = 2; 900 var element = document.getElementById('content-service__title'); 901 902 function isElementOverflowing(element) { 903 if (element) { 904 var overflowX = element.offsetWidth < element.scrollWidth, 905 overflowY = element.offsetHeight < element.scrollHeight; 906 } 907 return (overflowX || overflowY); 908 } 909 910 function wrapContentsInMarquee(element) { 911 var marquee = document.createElement('marquee'), 912 contents = element.innerText; 913 914 marquee.innerText = contents; 915 element.innerHTML = ''; 916 element.appendChild(marquee); 917 } 918 919 if (isElementOverflowing(element)) { 920 //console.log(isElementOverflowing(element)); 921 wrapContentsInMarquee(element); 922 } 923 924 window.onscroll = function () { 925 if (typeof isMerchantOS !== 'undefined' && isMerchantOS == true) { 926 927 } 928 else { 929 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 930 if (windowHeight < 1) { 931 windowHeight = $(window).height(); 932 } 933 934 let heightHeader = $("#header .inner").height() + 15; 935 let heightToFooter = windowHeight - $(".cart-block .inner").height() - heightHeader - 20; 936 let bottomHeight = $("#footer").height() - ($(document).height() - $(window).scrollTop() - windowHeight) + 20; 937 if (bottomHeight > heightToFooter && $(window).width() > 991 938 && $("#main").height() > $("aside .cart-block .inner").height() 939 ) { 940 //$("#container").find(".cart-block").removeClass("sticky-scroll").css({ 941 // "bottom": bottomHeight, 942 // "position": "fixed" 943 //}); 944 945 $("#container").find(".cart-block").attr("style", "position: fixed;bottom:" + bottomHeight + "px"); 946 } 947 else { 948 scrollFunction(heightHeader); 949 } 950 } 951 }; 952 953 function scrollFunction(heightHeader) { 954 if ($("#main").height() > $("aside .cart-block .inner").height() 955 && window.pageYOffset > $(".slider-block").height() + 0 956 ) { 957 //$("#container").find(".cart-block").removeAttr("style").addClass("sticky-scroll"); 958 $("#container").find(".cart-block").attr("style", "position: fixed;top:" + heightHeader + "px"); 959 } else { 960 //$("#container").find(".cart-block").removeAttr("style").removeClass("sticky-scroll"); 961 $("#container").find(".cart-block").removeAttr("style"); 962 } 963 } 964 965 currentService = 4; 966 $(".mobile-services").find(".tab-service-item").removeClass("active"); 967 $(".mobile-services").find(".pickup-service").addClass("active"); 968 }); 969</script>
969 970 971 972 <section id="main"> 973 <section class="block-1 menu-slider-block hidden"> 974 <div data-slider="menu-select-slider" class="slider slider-3"> 975 <div class="slide item"> 976 <a onclick="GoToDiv('0eb67413-a09a-4b94-a648-e9ca83c3dcb6')" title="E-VOUCHER - Turn Your Bills into Thrills"> 977 <span>E-VOUCHER - Turn Your Bills into Thrills</span> 978 </a> 979 </div> 980 <div class="slide item"> 981 <a onclick="GoToDiv('205488a2-e88d-46c9-ac6f-972ac9e6a6f5')" title="PROMOTION"> 982 <span>PROMOTION</span> 983 </a> 984 </div> 985 <div class="slide item"> 986 <a onclick="GoToDiv('4db28fef-47e7-4a0e-887f-6d9da04ec6e8')" title="Set Menu"> 987 <span>Set Menu</span> 988 </a> 989 </div> 990 <div class="slide item"> 991 <a onclick="GoToDiv('bcb13b65-9073-4445-9371-ab59eb6b539e')" title="Signature Curry Fish"> 992 <span>Signature Curry Fish</span> 993 </a> 994 </div> 995 <div class="slide item"> 996 <a onclick="GoToDiv('67d8091d-e240-484c-af18-b1efe2fd837d')" title="Sides"> 997 <span>Sides</span> 998 </a> 999 </div> 1000 <div class="slide item"> 1001 <a onclick="GoToDiv('e3cc0753-1e91-481c-9f01-9cf6513f1fc8')" title="Egg"> 1002 <span>Egg</span> 1003 </a> 1004 </div> 1005 <div class="slide item"> 1006 <a onclick="GoToDiv('596b602a-11ea-45cf-a70e-17e9e881634c')" title="Beancurd"> 1007 <span>Beancurd</span> 1008 </a> 1009 </div> 1010 <div class="slide item"> 1011 <a onclick="GoToDiv('4eceb767-fe55-42d2-be84-e8f7c0a4f165')" title="Sotong"> 1012 <span>Sotong</span> 1013 </a> 1014 </div> 1015 <div class="slide item"> 1016 <a onclick="GoToDiv('00029b2d-446b-4adb-a1cc-ed7ad5bfb429')" title="Fish"> 1017 <span>Fish</span> 1018 </a> 1019 </div> 1020 <div class="slide item"> 1021 <a onclick="GoToDiv('447fac8c-9e58-4f88-9ae0-2dfb7be77852')" title="Prawn"> 1022 <span>Prawn</span> 1023 </a> 1024 </div> 1025 <div class="slide item"> 1026 <a onclick="GoToDiv('5f3285ae-9601-4a9e-bc71-8dcf90ca8f16')" title="Chicken">
1027 <span>Chicken</span> 1028 </a> 1029 </div> 1030 <div class="slide item"> 1031 <a onclick="GoToDiv('56def104-ac21-4fb2-b447-1b96469e33eb')" title="Beef"> 1032 <span>Beef</span> 1033 </a> 1034 </div> 1035 <div class="slide item"> 1036 <a onclick="GoToDiv('623be01c-aaeb-40f3-8625-7360ddde903b')" title="Soup"> 1037 <span>Soup</span> 1038 </a> 1039 </div> 1040 <div class="slide item"> 1041 <a onclick="GoToDiv('6fd9218b-79f2-4661-bfc7-6693ef29ccdc')" title="Vegetables"> 1042 <span>Vegetables</span> 1043 </a> 1044 </div> 1045 <div class="slide item"> 1046 <a onclick="GoToDiv('021feb84-f8bb-48ee-8889-e5d8a6ba7f45')" title="Rice"> 1047 <span>Rice</span> 1048 </a> 1049 </div> 1050 <div class="slide item"> 1051 <a onclick="GoToDiv('482fbed0-716d-48ea-a20b-e28ac8c2793e')" title="Noodles"> 1052 <span>Noodles</span> 1053 </a> 1054 </div> 1055 <div class="slide item"> 1056 <a onclick="GoToDiv('81109543-94fa-42c6-95d5-69a91aa1974d')" title="Cold Beverage"> 1057 <span>Cold Beverage</span> 1058 </a> 1059 </div> 1060 <div class="slide item"> 1061 <a onclick="GoToDiv('03ce5f3e-f09c-4554-8513-c29501e9e662')" title="Hot Beverage"> 1062 <span>Hot Beverage</span> 1063 </a> 1064 </div> 1065 <div class="slide item"> 1066 <a onclick="GoToDiv('90225474-1f3e-4420-a31f-736088c1f087')" title="Dessert"> 1067 <span>Dessert</span> 1068 </a> 1069 </div> 1070 </div> 1071 </section> 1072 1073
1073<script> 1074 //function initMap() { 1075 // console.log('initMap'); 1076 //} 1077 function resetMenu() { 1078 $('#mnuHome').attr("class", ""); 1079 $('#mnuProduct').attr("class", ""); 1080 $('#mnuCollection').attr("class", ""); 1081 $('#mnuBestSeller').attr("class", ""); 1082 $('#mnuDiscount').attr("class", ""); 1083 } 1084 1085 1086 1087 function OnBegin(mnuName) { 1088 1089 //Reset navigator status 1090 resetMenu(); 1091 //update the status 1092 $('#' + mnuName).attr("class", "active"); 1093 var anchor = $('#' + mnuName).find('a:first'); 1094 window.history.replaceState('', 'Title', anchor.attr('href')); 1095 } 1096 1097 function OnSuccess(response) { 1098 // 1099 1100 } 1101 1102 function OnFailure(response) { 1103 alert(response.responseText); 1104 } 1105 </script>
1105 1106 1107<link rel="stylesheet" href="/Content/themes/getz-dropdownhover.css?v=111.20260916-129"> 1108<link rel="stylesheet" href="/Content/themes/GetzThemMenuLeftRightAuto.css?v=111.20260916-129"> 1109 1110 <div id="ProductGridViewLoadMore"> 1111 1112<section data-full-height-block data-item-per-row="3" id="category-section" class="block-1 full-menu-block style-1 remove-padding-left-right"> 1113 <div class="title-group"> 1114 <h2 class="title-2 title-inline"> 1115 <a href="#" title="recommended for you"><span class="color-by-theme">recommended for you</span></a> 1116 <i class="fa fa-chevron-circle-right visible-xs"></i> 1117 </h2> 1118 </div> 1119 1120 <h4 class="center-block">There is no product at this moment.</h4> 1121</section> 1122
1123<script> 1124 $(document).ready(function () { 1125 var noOfImages = $(".row-item-product-loadmore img").length; 1126 if ('True' == 'False') { 1127 noOfImages = noOfImages - 0; 1128 } 1129 var noLoaded = 0; 1130 $(".row-item-product-loadmore img").on('load', function () { 1131 noLoaded++; 1132 if (noOfImages === noLoaded) { 1133 ResizeRecommendProductFloating(); 1134 } 1135 }); 1136 }); 1137 1138 $(window).load(function () { 1139 ResizeRecommendProductFloating(); 1140 }); 1141 1142 $(window).resize(function () { 1143 if ($(window).width() >= 640) { 1144 $(".gridItem").addClass("col-xs-6").removeClass("single-columnn-product"); 1145 } else { 1146 $(".gridItem").removeClass("col-xs-6").addClass("single-columnn-product"); 1147 } 1148 if (2 != 0) { 1149 try { 1150 if (window.innerWidth != windowWidth) { 1151 windowWidth = $(window).width(); 1152 ResizeRecommendProductFloating(); 1153 } 1154 } catch (e) { 1155 console.log(e); 1156 } 1157 } 1158 }); 1159 1160 $(window).on('beforeunload', function () { 1161 $(window).scrollTop(0); 1162 }); 1163 1164 1165 var initialNumberProductWithImage = 6; 1166 var initialNumberProductWithNonImage = 6; 1167 1168 var isStartLoadingWithImage = false; 1169 var isStartLoadingNonImage = false; 1170 1171 var totalNumberProductWithImage = parseInt('0'); 1172 var totalNumberProductWithNonImage = parseInt('0'); 1173 1174 if (initialNumberProductWithNonImage >= totalNumberProductWithNonImage) { 1175 $("#load-more-product-with-non-image").hide(); 1176 } 1177 1178 if (initialNumberProductWithImage >= totalNumberProductWithImage) { 1179 $("#load-more-product-with-image").hide(); 1180 } 1181 1182 var productAddToCart = []; 1183 function addVariantToCart(productItem) { 1184 productItem.arrayModifierGroup = []; 1185 1186 var isExist = false; 1187 var quantity = productItem.quantity + 1; 1188 for (var i = 0; i < productAddToCart.length; i++) { 1189 if (productAddToCart[i].docId == productItem.docId) { 1190 isExist = true; 1191 productAddToCart[i].quantity = productAddToCart[i].quantity + 1; 1192 1193 quantity = productAddToCart[i].quantity; 1194 break; 1195 } 1196 } 1197 1198 if (isExist == false) { 1199 data = { docId: productItem.docId, quantity: quantity }; 1200 productAddToCart.push(data); 1201 } 1202 1203 productItem.quantity = 1; 1204 $.ajax({
1205 type: "POST", 1206 url: '/ShoppingCart/AddToCart', 1207 contentType: 'application/json; charset=UTF-8', 1208 data: JSON.stringify(productItem), 1209 success: function (result) { 1210 //updateCart(); 1211 if (result.status == -1 || result.status == 0) { 1212 location.reload(); 1213 } 1214 else { 1215 setCountOrderInMyCart(result.count); 1216 for (var i = 0; i < productAddToCart.length; i++) { 1217 if (productAddToCart[i].docId == productItem.docId) { 1218 productAddToCart[i].quantity = result.quantity; 1219 break; 1220 } 1221 } 1222 if (productItem.isTrackQuantity == true && quantity >= productItem.quantityInStock) { 1223 $('#m-' + productItem.docId).attr('style', 'display:none'); 1224 $('#s-' + productItem.docId).attr('style', 'display:none'); 1225 $('#span-m-' + productItem.docId).removeAttr('style'); 1226 $('#span-m-' + productItem.docId).attr('style', 'color:red;'); 1227 $('#span-s-' + productItem.docId).removeAttr('style'); 1228 $('#span-s-' + productItem.docId).attr('style', 'color:red;'); 1229 } 1230 else { 1231 //SetItemIsAddedToCart(); 1232 ShowIsAddedToCart("#item-added-" + productItem.docId); 1233 } 1234 } 1235 }, 1236 error: function () { }, 1237 beforeSend: function () { }, 1238 complete: function () { } 1239 }); 1240 } 1241</script>
1241 1242 1243 </div> 1244
1245<script> 1246 menuId = 'recommendations'.toLowerCase(); 1247 menuType = 'recommendations'.toLowerCase(); 1248 urlBodyMain = '/Product/PartialProductGridView'; 1249 1250 $(document).ready(function () { 1251 //$('.dropdown-toggle').dropdown(); 1252 }); 1253 1254 //Auto resize image when screen size is change 1255 $(window).resize(function () { 1256 //repositionDiscountBanner(); 1257 1258 var imageItemArray = document.getElementsByClassName("gridItem_Image"); //Get all element that has class = gridItem_Image 1259 for (var i = 0; i < imageItemArray.length; i++) { 1260 setImageSize(imageItemArray[i].id); 1261 } 1262 }); 1263 1264 function repositionDiscountBanner() { 1265 //Apply new position for discount-banner 1266 var deviceWidth = $(document).width(); 1267 var gridWidth = $('.gridItem').width() + 30;//Compensate the padding-left(15px) and padding-right(15px) 1268 1269 //Only for Iphone in vertical mode 1270 if (gridWidth >= 380 && deviceWidth === gridWidth) { 1271 var discountItemArray = document.getElementsByClassName("discount-banner"); //Get all element that has class = gridItem_Image 1272 for (var i = 0; i < discountItemArray.length; i++) { 1273 $('#' + discountItemArray[i].id).removeClass('corner-ribbon-wrapper').addClass('corner-ribbon-wrapper-iphone'); 1274 } 1275 } 1276 } 1277 1278 var listItemViewModel = []; 1279 /*initiate the autocomplete function on the "myInput" element, and pass along the countries array as possible autocomplete values:*/ 1280 autocomplete(document.getElementById("myInput"), document.getElementById("btnInput"), listItemViewModel); 1281 1282</script>
1282 1283 </section> 1284 </div> 1285 </main> 1286 <br /> 1287 1288 1289<footer id="footer" style=""> 1290 <div class="footer"> 1291 <div class="container-fluid"> 1292 <ul class="list-inline footer-menu"> 1293 <li> 1294 <a href="/Home/PrivacyPolicy" title="Privacy Policy">Privacy Policy</a> 1295 </li> 1296 <li> 1297 <a href="/Home/TermsConditions" title="Terms & Conditions">Terms & Conditions</a> 1298 </li> 1299 </ul> 1300 <ul class="list-inline socials"> 1301<li> 1302 <a href="https://www.facebook.com/WestCoz" title="Facebook"><i class="fa fa-facebook"></i></a> 1303 </li> 1304 </ul> 1305 1306 <p class="copy"> 1307 <span class="copyrights-copy">© 2026 West Coz Cafe. Powered by </span> 1308 <a href="http://getz.co" title="http://getz.co">Getz</a> 1309 </p> 1310 </div> 1311 1312 <div id="scroll-top" class="hidden"> 1313 <i class="fa fa-chevron-up"></i> 1314 </div> 1315 1316 <div id="show-progress-bar-when-add-item" class="block-4 cart-info-block"></div> 1317 1318 1319 1320 <style> 1321 @media (max-width: 991px) { 1322 footer#footer { 1323 margin-bottom: 64px !important; 1324 } 1325 } 1326 1327 /* When PWA bottom nav is shown, cart bar sits above it (see pwa-install.css). */ 1328 @media (max-width: 1024px) { 1329 body.pwa-bottom-nav-enabled .homepage-cart-button-display { 1330 bottom: var(--pwa-bottom-nav-offset, 74px) !important; 1331 } 1332 } 1333 </style> 1334 <div class="homepage-cart-button-display "> 1335 1336 <button type="button" class="btn btn-homepage-cart-display" onclick="$('.menu__cart').trigger('click');"> 1337 <span class="homepage-cart-display__amount"> 1338 <span></span> 1339 </span> 1340 <span class="homepage-cart-display__view-cart"> 1341 View Cart 1342 </span> 1343 <span class="homepage-cart-display__quatity-box"> 1344 <span class="homepage-cart-display__quatity"></span> 1345 </span> 1346 </button> 1347 </div> 1348 </div> 1349</footer> 1350 1351 </div> 1352 </div> 1353 <input id="hdOrderId" type="hidden" value="9b8f318b-6db1-433d-9b28-5af37fff9b93" /> 1354 <input id="hdMemberId" type="hidden" value="" /> 1355 <input id="hdBuffetId" type="hidden" value="" /> 1356 1357 <input id="RedirectTo" name="RedirectTo" type="hidden" value="/Product/ProductGridView" /> 1358 1359
1359<script src="https://web-content.getz.co/prod/Scripts/js_newUI/bootstrap.min.js"></script>
1359 1360 1361
1361<script src="/Scripts/js_newUI/script.js?v=111.20260916-129"></script>
1361 1362 1363
1363<script src="/Scripts/js_newUI/custom_js_ui.js?v=111.20260916-129"></script>
1363 1364
1364<script src="/Scripts/js_newUI/product-to-cart.js?v=111.20260916-129"></script>
1364 1365
1365<script src="/Scripts/js_newUI/placeholder-typing-effect.js?v=111.20260916-129"></script>
1365 1366
1366<script type="text/javascript" src="https://cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js"></script>
1366 1367
1367<script type="text/javascript" src="https://cdn.datatables.net/1.10.9/js/dataTables.bootstrap.min.js"></script>
1367 1368
1368<script> 1369 const THEME_COLOR = "#F26722"; 1370 var urlSocketIO = 'https://v1.collaborative.rtm.live.ms1.getz.co'; 1371 var currency = 'SGD'; 1372 var urlAddToCartByProductId = '/ShoppingCart/AddToCartByProductId'; 1373 var urlAddEVoucherToCart = '/ShoppingCart/AddEVoucherToCart'; 1374 var urlGetItemAddedToCart = '/ShoppingCart/GetItemAddedToCart'; 1375 var urlContainMyCart = '/ShoppingCart/MyCart'; 1376 var urlPaymentMyCart = '/Checkout/OrderDetail'; 1377 var urlCheckProductOutOfStock = '/ShoppingCart/CheckProductOutOfStock'; 1378 //var urlProductDetail = '/Product/ProductDetail'; 1379 var urlIndexHome = '/'; 1380 var urlCheckSessionTimeOut = '/Home/CheckSessionTimeOut'; 1381 var urlReloadCollectTime = '/Home/ReloadCollectTime'; 1382 var urlUpdateDeliveryAddress = '/Product/UpdateDeliveryAddress'; 1383 var urlSearchProductByText = '/Product/SearchProductByText'; 1384 var urlTimeSelectModalHome = '/Home/TimeSelectModal'; 1385 var urlDeliveryTab = '/ShoppingCart/Delivery'; 1386 var urlPickupTab = '/ShoppingCart/PickUp'; 1387 var urlBlockoutExpired = '/Home/BlockoutExpired'; 1388 //var urlSetDefaultDineInMethod = '/Home/SetDefaultDineInMethod'; 1389 var urlTrackPostalCodeNotAvailableForDelivery = '/Home/TrackPostalCodeNotAvailableForDelivery'; 1390 var urlCheckServiceAvailable = '/Home/CheckServiceAvailable'; 1391 var urlChangBranchIndex = '/Home/ChangBranchIndex'; 1392 var urlRemoveSessionAnnouncement = '/Home/ClearSessionAnnouncement'; 1393 var urlSignUp = '/Home/SignUp'; 1394 var urlSetStoreOrderWhenChangePickupToDineInMethod = '/Home/SetStoreOrderWhenChangePickupToDineInMethod'; 1395 var sessionDeliveryMethodKey = 'SessionDeliveryMethodKey'; 1396 var urlSendMessage = '/Home/SendMessage'; 1397 var urlGetGeoByPostalCode = '/Home/GetGeoByPostalCode'; 1398 var urlGetGeoByPostalCodeFromDB = '/Home/GetGeoByPostalCodeFromDB'; 1399 var urlPartialCategory = '/Home/PartialCategory'; 1400 var urlContinuePromotion = '/Home/ContinuePromotion'; 1401 var urlConvertItemToPromotion = '/Home/ConvertItemToPromotion'; 1402 var urlCheckIsUser = '/Account/CheckIsUser'; 1403 var urlCheckAddToCartByProductId = '/ShoppingCart/CheckAddToCartByProductId'; 1404 var urlCloseAnnouncement = '/Home/CloseAnnouncement'; 1405 var urlClosePopupService = '/Home/ClosePopupService'; 1406 var urlClosePopUpAnnouncement = '/Home/ClosePopUpAnnouncement'; 1407 var urlGetHomePagePromotion = '/Home/GetHomePagePromotion'; 1408 var urlLoadBannerSlider = '/Home/LoadBannerSlider'; 1409 var urlClosePopUpPromotion = '/Home/ClosePopUpPromotion'; 1410 var urlClosePopUpAlert = '/Home/ClosePopUpAlert'; 1411 1412 var urlAllowSapVoucherPayment = '/Payment/AllowSapVoucherPayment'; 1413 var urlRejectSapVoucherPayment = '/Payment/RejectSapVoucherPayment'; 1414 var urlPaymentDineIn = '/Checkout/PaymentDineIn'; 1415 var urlValidCancelPromotion = '/Promotion/ValidCancelPromotion'; 1416 var urlPartialMatchOutlets = '/Home/PartialMatchOutlets'; 1417 var urlCheckShowPopUpTime = '/Home/CheckShowPopUpTime'; 1418 var urlChangeQuantityVersion3 = '/ShoppingCart/ChangeQuantityVersion3'; 1419 var urlGetQuantityInCart = '/ShoppingCart/GetQuantityInCart'; 1420 var urlGetProductInfoInCart = '/ShoppingCart/GetProductInfoInCart'; 1421 var urlGetOrderSource = '/Home/GetOrderSource'; 1422 var urlClosePopUpAlert = '/Home/ClosePopUpAlert'; 1423 var urlLogOutMember = '/Home/LogOutMember'; 1424 var urlLogInMember = '/Home/LogInMember'; 1425 var urlPartialOrderStatus = '/OrderTracker/PartialOrderStatus/-id-'; 1426 var urlOrderTracker = '/OrderTracker/Index/-id-'; 1427 var urlCheckPromotionDetailUrl = '/Promotion/CheckPromotionDetailUrl'; 1428 var urlUpdateBuffetProcessToPay = '/Checkout/UpdateBuffetProcessToPay'; 1429 var urlCheckLimitPerOfPax = '/Home/CheckLimitPerOfPax'; 1430 var urlUpdateCartSession = '/Checkout/UpdateCartSession'; 1431 var urlUpdateOrderStatusSession = '/Checkout/UpdateOrderStatusSession'; 1432 var urlDynamicQRCodeExpired = '/StationOrdering/DynamicQRCodeExpired'; 1433 var urlSendOTPMessage = '/ShoppingCart/SendOTPMessage';
1434 var urlUpdateCartOfMerchantOS = '/Checkout/UpdateCartOfMerchantOS'; 1435 var urlReloadMerchantOS = '/Home/ReloadMerchantOS'; 1436 var urlUpdateNoteForItem = '/ShoppingCart/UpdateNoteForItem'; 1437 var urlOSMemberLogout = '/Home/OSMemberLogout'; 1438 var urlRedirectToOrderTracker = '/Home/RedirectToOrderTracker/-id-'; 1439 var urlUpdateGroupOrderSession = '/Home/UpdateGroupOrderSession'; 1440 1441 const discountURl = { 1442 "applyVoucher": '/Discount/ApplyVoucher', 1443 "getVoucher": '/Discount/GetVoucher', 1444 "applyPromoCode": '/Discount/ApplyPromoCode', 1445 "getPromoCode": '/Discount/GetPromoCode', 1446 "applyMemberPoint": '/Discount/ApplyMemberPoint', 1447 "getMemberPoint": '/Discount/GetMemberPoint', 1448 "findPromoCodeByText": '/Discount/FindPromoCodeByText', 1449 "getVoucherSection": '/Discount/GetVoucherSection', 1450 "getPromoCodeSection": '/Discount/GetPromoCodeSection', 1451 "removeVoucher": '/Discount/RemoveVoucher', 1452 "removePromoCode": '/Discount/RemovePromoCode', 1453 "removePoint": '/Discount/RemovePoint', 1454 "addItemToCartVoucher": '/Discount/AddItemToCartVoucher', 1455 "addItemToCartPromoCode": '/Discount/AddItemToCartPromoCode', 1456 "getVoucherInfoOfOutlet": '/Discount/GetVoucherInfoOfOutlet', 1457 "getVoucherTermsIframe": '/Discount/GetVoucherTermsIframe', 1458 "getVoucherSectionByText": '/Discount/GetVoucherSectionByText', 1459 "clearSelectionVouchers": '/Discount/ClearSelectionVouchers', 1460 }; 1461 1462 isMainPopUpShow = 'False' === 'True' ? true : false; 1463 isMainPopUpAllowedShow = 'False' == 'True' ? true : false; 1464 1465 var urlChangeLang = '/Home/Lang'; 1466 var approvedSapVoucherPayment = null; 1467 var allowedSapVoucherPayment = false; 1468 var from_deliveryMethodModal = false; 1469 1470 var blockout = {"beginDate":"\/Date(-62135596800000)\/","endDate":"\/Date(-62135596800000)\/","enablePickup":false,"beginDatePickup":"\/Date(1790678385316)\/","endDatePickup":"\/Date(1790678385316)\/","earliestOrderingTimePickup":-86400,"blockOrderingTimePickup":-86400,"enableDelivery":false,"beginDateDelivery":"\/Date(1790678385316)\/","endDateDelivery":"\/Date(1790678385316)\/","earliestOrderingTimeDelivery":-86400,"blockOrderingTimeDelivery":-86400,"endDatePickupString":"29/09/2026 06:39 PM","endD
1470ateDeliveryString":"29/09/2026 06:39 PM","beginDateString":"0001-01-01T08:00:00","endDateString":"0001-01-01T08:00:00","timeZone":"(UTC+8:00)"}; 1471 1472 var displayTheDesktop = "ShowDesktop"; 1473 var displayTheMobile = "ShowMobile"; 1474 1475 langSelect = 'EN'; 1476 languageButton = {"O_YesShowMe":"Yes! Show Me!","O_StartOrder":"Start Order","O_UpdateAmount":"Update Amount:","O_YesRemoveAndRefund":"Yes, Remove \u0026 Refund","O_Action_Required":"Action Required!","O_AddToCart":"Add to Cart","O_ClickToViewMorePromotions":"Click to view more promotions","O_SignupFullMembership":"Signup Full Membership","O_Accept_Pay":"Accept \u0026 Pay","O_AddRemark":"Add","O_UseManualInput":"USE MANUAL INPUT","O_Orders_Action_Required":"Orders Action Required!","O_ToggleNavigation":"Toggle navigation","O_ProceedPayment":"Proceed Payment","O_AddMoreItems":"+ Add More Items","O_SigninOrSignupAsMember":"Sign in / Sign up as Member","O_BackToOrderTracker":"Back to ORDER Tracker","O_SeeItemsOfMyGroupOrder":"See items of my group order","O_StartReserving":"Start Reserving","O_ADD_MORE_ITEM":"ADD MORE ITEM","O_PayLaterAfterDine":"PAY AT COUNTER (AFTER DINING)","O_PayLater":"PAY AT COUNTER AFTER DINING","O_AddMoreItemsInYourCart":"Add more items in your cart","O_Processing":"Processing","O_Save":"Save","O_Skip":"Skip","O_Stay":"Stay","O_Done":"Done","O_Edit":"Edit","O_Back":"Back","O_Next":"Next","O_Join":"Join","O_Keep":"Keep","O_InviteMore":"Invite More","O_ProceedToCheckout":"Proceed To Checkout","O_ClickToHideInformation":"Click to hide information","O_ClickToExpandInformation":"Click to expand information","O_Reselect":"Reselect","O_OK_I_Got_It":"OK, I Got it","O_ViewMap":"View Map","O_ViewAll":"View All","O_GoToMembersPortal":"Go to Memberâs Portal","O_ContinueWithMobileBrowser":"Continue with Mobile Browser","O_ReorderForDineInHere":"Reorder for Dine-in here","O_Ok_GotIt":"OK, GOT IT","O_TakeMeThere":"Take Me There!","O_ClickToViewMoreCategories":"Click to view more categories","O_Reorder":"Reorder","O_MainReceipt":"Main Receipt","O_RemoveGuest":"Remove guest","O_CopyLink":"Copy Link","O_ClaimRewards":"Claim Rewards","O_ViewDetail":"View Detail","O_ProceedToPay":"Proceed To Pay","O_ViewReceiptAdjustment":"View Receipt Adjustment","O_ReviewItems":"Review Items","O_YesCancelThisAmend":"Yes, Cancel this Amend","O_ProceedToPayment":"Proceed to payment","O_UseMyMemberAccountInfo":"USE MY MEMBER ACCOUNT INFO","O_PayLaterBeforeDine":"PAY AT COUNTER (BEFORE DINING)","O_ContinueInBrowser":"Continue in Browser","O_ViewDetails":"View details","O_Continue":"Continue","O_MainOrder":"Main Order","O_Confirm":"Confirm","O_PAY":"PAY","O_Yes":"Yes","O_Add":"ADD","O_Buy":"BUY","O_ViewMemberPortal":"VIEW MEMBER PORTAL","O_ViewCartButton":"View Cart","O_LeaveGroup":"Leave Group","O_YesILoveTo":"Yes, Iâd love to!","O_ProceedWithPayment":"Proceed with Payment","O_MoreInfo":"More info","O_ReservationOrder":"Reservation Order","O_SubOrder":"Sub-Order","O_ViewGroupCartButton":"View Group Cart","O_ContinueOrder":"Continue Order","O_Re-Order":"Re-Order","O_UsePoint":"Use Point","O_DeleteGroupOrder":"Delete Group Order","O_OkGotIt":"Ok, got it","O_ReturnToPreviousScreen":"Return to Previous Screen","O_ChangePassword":"Change Password","O_PROCEED_WITH_REMAINING_ITEMS":"PROCEED WITH REMAINING ITEM(S)","O_MenuCategories":"Menu categories","O_Verify":"Verify","O_LoadMore":"Load More","O_ConfirmRemove":"Confirm","O_Remove":"Remove","O_Select":"Select","O_SignIn":"SIGN IN","O_SignUp":"Sign Up","O_Submit":"Submit","O_CreateGroupOrder":"Create Group Order","O_OrderViaChopeApp":"Order via Chope app","O_MyMembershipRewards":"My Membership Rewards","O_Proceed":"Proceed","O_PayOnline":"Pay Online","O_ViewChanges":"View Changes","O_StartOrdering":"Start Ordering","O_SubReceipt":"Sub-Receipt","O_ClickToViewMore":"Click to view more","O_GroupOrder":"Group Order","O_SeeMembershipPerks":"See Membership Perks","O_Log_In":"Log In","O_PayAtCounter":"Pay at Counter (After Dine)","O_Member":"Member","O_DownloadReceipt":"Download RECEIPT","O_Cancel":"Cancel","O_SeePromo":"See Promo","O_Change":"Change","O_InQueueOrder":"In-Queue Order","O_CheckMyPaymentReceipt":"Check my payment receipt","O_ClickToViewMoreRecommendations":"Click to view more recommendations","O_RedemptionRules":"Redemption Rules","O_PayAtCounterBeforeDine":"Pay at Counter (Before Dine)","O_ViewOrderDetail":"View Order Detail","O_PayFirstOnMobile":"Pay on Mobile","O_BackToCart":"Back to Cart","O_EditDateTime":"Edit date / time","O_ViewMyMemberWallet":"View my member wallet","O_OK_IGotIt":"OK, I Got It","O_DineinSelfOrdering":"Dine-in Self Ordering","O_C
1476ancelMyOrder":"Cancel Order","O_MemberLogin":"Member?","O_NoContinueViaBrowser":"No! Continue via browser","O_Ok_I_GotIt":"OK, I got it","O_Enter":"Enter","O_GetIt":"GET IT","O_Login":"Login","O_Leave":"Leave","O_Close":"Close","O_Clear":"Clear","O_OK":"OK","O_No":"No"}; 1477 languageLabel = {"O_LastNameOptional":"Last Name (Optional)","O_ViewYourWallet":"View your wallet, rewards or customise your profile by going to the Memberâs Portal.","O_GrandTotal":"Grand Total","O_ChooseDateTime":"Choose Date \u0026 Time","O_EditModifiers":"Edit Item","O_YourBalance":"Your Balance","O_ItemAdded":"Item(s) Added","O_SelfCollect":"Self-Collect","O_NoOutletSelected":"No Outlet Selected","O_SelectedOutlet":"Selected Outlet","O_ViewLess":"View less","O_ViewMore":"View more","O_ItemTotal":"Item(s) Total","O_ReservationStation":"*Reservation","O_AfterRounding":"after rounding","O_MemberPoints":"Member Points","O_ConfirmPassword":"Confirm password","O_ShippingAddress":"Delivery Address","O_AdditionalCostWaitingForPayment":"Additional Cost (Waiting For Payment)","O_EstimateWaittingTime":"Estimated Waiting Time","O_AlcoholicItem":"Alcoholic Item","O_MessageHere":"Message here","O_TheEarliestFulfillmentTimeHasBeenAdjusted":"The earliest fulfillment time has been adjusted.","O_Timeslot_has_been_adjusted":"Timeslot has been adjusted according to assigned outlet","O_PayWithYourPhoneNowAndGetRewards":"Pay with your phone now and get rewarded!","O_IHavePurchasedAVoucher":"I have purchased a voucher from another platform and would like to apply it on this order.","O_BirthdayOptional":"Birthday (Optional)","O_ProductRemaining":"{0} of {1} Remaining","O_SelectTimeSlot":"Select Time slot","O_OpenPrice":"Open Price","O_Eligibility":"Eligibility","O_WhoOrderedWhat":"Who ordered what?","O_DiscoverVoucherRewards":"Discover Voucher Rewards","O_PackagingFee":"Packaging Fee","O_Refunded":"Refunded","O_RefundBy":"Refund by","O_CollectPoint":"Collect Point","O_ReturningCustomers":"Returning Customers","O_SelectADifferentDateTime":"Select a different date/time","O_SuperPromotion":"Super Promotion:","O_TotalItem":"Total Item","O_EnterNumberOfPaxInQueue":"Enter number of pax","O_ReadLess":"Read Less","O_ReadMore":"Read More","O_JoinNameGroupOrder":"Join {0}\u0027s Group Order!","O_ViewRemovedItems":"View Removed Items","O_UpdateMember":"Update Member","O_For_Receipt":"For Receipt","O_ExcessAmount":"Excess Amount","O_Payment_PleaseSelectArea":"Please select area","O_TypeAAdditionalRequest":"Type a additional request","O_CheckNote":"Check Note","O_OrderingMethod":"ORDERING METHOD","O_ApplicableDiscount":"Applicable Discount","O_GST-Inclusive":"GST inclusive","O_BuyerEmail":"Buyer\u0027s Email","O_TypeCustomRemark":"E.g: [email protected]","O_MobileNumber":"Mobile Number","O_Password":"Password","O_PrivacyPolicy":"Privacy Policy","O_RedeemRewards":"Redeem Rewards","O_FinalAmount":"Final Amount","O_SponsorDiscount":"Sponsor Discount","O_SelectDateAndTime":"Select Date and Time","O_RefundedAs":"Refunded as","O_RefundTime":"Refund Time","O_AvailableNow":"Available Now","O_AvailableFor":"Available for","O_NoQueuing":"no queuing","O_DifferenceBetweenPrepaidEVouchersUnpaidGSTAndBillGST":"(Difference between Prepaid E-Vouchers Unpaid GST and Bill GST)","O_Member_Voucher":"Member Voucher","O_Redeemed":"Redeemed","O_LeaveUserGroupOrder":"Leave {0}\u0027s Group Order?","O_PickupLocation":"Pickup Location","O_PayOnlineWithDebitCreditCard":"Pay online with debit/credit card","O_Register":"Register","O_DineinOutlet":"DINE-IN OUTLET","O_PleaseStayOnThisScreenTtoGetYourVoucherVerified":"Please stay on this screen to get your voucher verified.","O_ViewPromotions":"View Promotions","O_StarhubHUBID":"Starhub HUBID","O_CollectTime":"Collect Time","O_ServiceCharge":"Service Charge","O_AddtionalRequest":"Additional Request","O_OrderRequiresYourConfirmationToProceed":"Order requires your confirmation to proceed.","O_TapToAddNote":"Tap to add note","O_OrderConfirmed":"Order Confirmed","O_StartYourOrder":"Start Your Order â Choose a Service Below.","O_InviteFriendsToJoinYourOrderNow":"Invite friends to join your order now!","O_EnterNumberOfAdult":"Enter number of adult","O_TotalDiscount":"Total Discount","O_TransactionID":"Transaction ID","O_ThankYouForPlacingOrder":"Thank y
1477ou for placing order","O_PreOrderNotification":"Pre-Order notification","O_FullRefund":"Full Refund","O_EnterNumberOfChildren":"Enter number of children","O_OrderTime":"Order Time","O_OrderCode":"Order Code","O_OrderDate":"Order Date","O_Confirmation":"Confirmation","O_CurrentReceipt":"Current Receipt","O_GroupName":"Group Name","O_AdditionalCost":"Additional Cost","O_GetzPayM":"GetzPay (M)","O_PurchaseValueReceipt":"Purchase Value","O_DeliveryPromotions":"Delivery Promotions","O_Saturday":"Saturday","O_SelectAServiceToRedeemVoucher":"Select a service to redeem voucher","O_PickupPoint":"Pickup Point","O_RequiredFieldChildren":"The required field must be greater than or equal to 0","O_SelectDineInOutlet":"Select Dine-In Outlet","O_RegisterMember":"Register Member","O_DonationExcludeTax":"Donation (exclude tax)","O_BrowseMenu":"Browse menu","O_Processing":"Processing","O_MemberVoucher":"Member Voucher","O_PackingFee":"Packing Fee:","O_Time":"Time","O_Tier":"Tier","O_Save":"Save","O_Sort":"Sort","O_Size":"Size","O_Date":"Date","O_From":"from","O_Mins":"mins","O_Male":"Male","O_Menu":"MENU","O_Cart":"Cart","O_City":"City","O_Host":"(Host)","O_Home":"Home","O_Item":"Item","O_Name":"Name","O_Next":"Next","O_Open":"Open","O_PromoCodeWillBeRemovedFromThisOrder":"Promo Code will be removed from this order.","O_NewCustomers":"New Customers","O_TotalAmendLessValue":"Total Amend Less Value","O_PickupFrom":"Pickup from","O_PickupTime":"Pickup Time","O_EveryonesReady":"Everyone\u0027s Ready","O_TotalPayableAmount":"Total Payable Amount","O_AvailableOutlet":"Available Outlet","O_DeliveryAddress":"Delivery Address","O_MinimumSpend":"Minimum Spend:","O_OrderHistory":"Order History","O_DineinSelfOrder":"Dine-in Self Order","O_RemoveMemberPointsApplied":"Remove Member Points applied?","O_PartialRefund":"Partial Refund","O_ValueAt":"Value at","O_EnterYourNickname":"Enter your nickname","O_EasyQuickAndConvenient":"Easy, quick and convenient","O_DonotMissIt":"Don\u0027t miss it !","O_ReceiptAdjustment":"(Receipt Draft) Receipt Adjustment","O_CollectionTime":"Collection Time","O_WhatHaveWeOrdered":"What have we ordered?","O_Chargeable":"Chargeable","O_EnjoyYourOrder":"Enjoy your order!","O_Delivery":"Delivery","O_MemberRewards":"Member Rewards","O_OutOfStock":"Unavailable","O_LoginRequiredToPurchaseVoucher":"Login Required to Purchase Voucher","O_CRewardsPoints":"CRewards-Points","O_MemberPointsWillBeRemovedFromThisOrder":"Member Points will be removed from this order","O_ChangeOutlet":"Change Outlet","O_SelectDeliveryDate":"Select Delivery Date","O_CustomerProfile":"Customer Profile","O_FreeMembershipSignUp":"Signup Full Membership","O_PostalCode":"Postal Code","O_RiderInformation":"Rider Information","O_Birthday":"Birthday","O_GST_Difference":"GST Difference","O_ContinueShopping":"Continue Shopping","O_RecipientEmail"
1477:"Recipient\u0027s Email","O_PopularAmongCustomers":"Popular among customers","O_ContactDetail":"Contact Detail","O_YouHost":"(You - Host)","O_LatestDeliveryTime":"Latest Delivery time","O_Voucher":"Voucher","O_VOUCHERSREWARDS":"VOUCHERS \u0026 REWARDS","O_PromotionInvalid":"Promotion Invalid:","O_DeliveryTo":"Delivery To","O_ReferenceCode":"Reference Code","O_LastName":"Last name","O_EarliestDeliveryTime":"Earliest Delivery time","O_Details":"Details","O_EVouchers":"E-Voucher(s)","O_Default":"Default","O_RemoveGuestFromGroupOrder":"Remove {0} From Group Order?","O_Billing":"Billing","O_SelectOutletToPickupOrder":"Select outlet to Pickup Order","O_Discount":"Discount","O_EVoucherGSTUnpaid":"E-Voucher GST Unpaid","O_ReviewYourOrder":"Review Your Order","O_PayOnMobile":"Pay On Mobile","O_OKGotIt":"OK, Got it","O_Distance":"Distance","O_DateAndTimePopup":"Date and Time","O_fullName":"Full Name","O_RemovedItems":"Removed Items","O_TheInputtedValueMustBeGreaterOrEqual10":"The inputted value must be greater or equal 10","O_PopularAmongCustomers_uppercase":"POPULAR AMONG CUSTOMERS ","O_FestiveCharge":"Festive Charge","O_ContactNumber":"Contact Number","O_ContactUs":"Contact Us","O_NoStore":"No Store","O_NoPhone":"No Phone","O_Recommendations":"RECOMMENDATIONS","O_EstimateReadyTime":"Estimated Ready time","O_Cancelled":"Cancelled","O_PromotionsAvailable":"Promotions available","O_NoEmail":"No Email","O_DeliveryInformation":"Delivery Information","O_CheckOtherDates":"Check other dates","O_RemainingItemsPerPax":"{0} of {1} Remaining","O_PickupPromotions":"Pickup Promotions","O_Takeaway":"Takeaway","O_ClickToSelect":"Click to select","O_PleaseEnterYourIDPinCode":"Please enter your ID \u0026 Pin Code","O_DisplayOnCartDetail":"Display on Cart detail","O_ViewPaymentReceipt":"View Payment Receipt","O_CheckoutProgress":"Checkout Progress","O_PersonalInformation":"Personal Information","O_StateOptional":"State (Optional)","O_ThankYou":"Thank you","O_SelectServiceDateAndTime":"Select service, date and time","O_AfterClickingProceed":"After clicking \u003cb\u003eâProceedâ\u003c/b\u003e, kindly hold for a moment and a staff will approach you to verify your voucher","O_PaymentReceipt":"Payment Receipt","O_LessDonation":"(less donation)","O_SelectOtherBranch":"Select other branch","O_ReceiveFutureRewardsAsOurMembers":"Receive future rewards as our members","O_FromPrice":"From","O_TotalSignupMemberReward":"Member signup reward","O_results":"results","O_OrderStatus":"Order Status","O_TotalPax":"Total Pax","O_Receipt":"Receipt","O_PayOnDevice":"Pay on device","O_SelectDate":"Select Date","O_EarnPointsToOffsetSpending":"Earn Points to Offset Spending","O_Rewards":"Rewards","O_ForgotYourPassword":"FORGOT YOUR PASSWORD?","O_PleaseKeepThisPage":"Please keep this page to track you order status","O_EquivalentToRedemptionRatio":"Equivalent to {0}{1} ~ Redemption Ratio = {2}","O_DineinCartAddNote":"Additional Request","O_OrderCollect":"Order \u0026 collect","O_SpecialZoneSurcharge":"Special Zone Surcharge","O_OrderWithThisDevice":"Order with this device","O_Business_Display_Name_Membership":"{0} Membership","O_PayFirstToGetVouchersAndRewards":"Pay first to get vouchers and rewards!","O_RefundInformation":"Refund Information","O_EarnUpToVouchers":"Earn up to ({0}) Vouchers","O_Wednesday":"Wednesday","O_DineinAt":"Dine-in at","O_ThereIsNoItemAtThisMoment":"There is no item at this moment.","O_JoinForExclusiveBenefits":"Join for Exclusive Benefits","O_MakePaymentNowToReceiveOurVouchersAndRewards":"Make payment now to receive our vouchers and rewards","O_Payonmobileandenjoytheconvenience":"Pay on mobile and enjoy the convenience!","O_Easyquickconvenient":"Easy, quick, convenient","O_GroupOrderEnded":"Group Order Ended","O_YouHaveAnEVoucherItemInYourCart":"You have an e-voucher item in your cart. Please complete your purchase before logging out to ensure you don\u0027t lose your voucher or remove the e-voucher to proceed with logging out","O_ServedToYou":"Served to you!","O_SearchProduct_NoResult":"No result was found for keyword","O_Children":"Children","O_ValidityTill":"Validity: Till","O_OptionalRequest":"Optional Request","O_DateAndTime":"Date \u0026 Time","O_AppLanding":"Home (App L
1477anding)","O_CanceledByMerchant":"Canceled(by merchant)","O_MakePaymentOnTheRemaining":"Make payment on the remaining balance of your order*","O_Takeout":"Takeout","O_SelectService":"Select Service","O_ORDERSUMMARY":"ORDER SUMMARY","O_VouchersApplied":"Voucher(s) Applied","O_PhoneNumber":"Phone Number","O_Expired":"Expired","O_AccountInformation":"Account Information","O_PaymentInformation":"Payment Information","O_Checkout":"Checkout","O_WhenIsMyOrderComing":"When is my order coming?","O_OrderOnline":"Order Online","O_AlertEVouchersRemoved":"Alert: E-Voucher(s) Removed","O_LessDate":"Less Dates","O_RemoveMemberVoucherApplied":"Remove Member Voucher applied?","O_ProceedToPay":"Proceed To Pay","O_ViewReceiptAdjustment":"View Receipt Adjustment","O_FirstName":"First name","O_CashOnDelivery":"Cash On Delivery","O_ViewChange":"View Change","O_NumberHUBID":"e.g: 1.12345678S","O_MemberFull":"MEMBER (FULL)","O_MarkAsReady":"MARK AS READY","O_selectGender":"Select Gender","O_OpenPrice_Order_Requires_Confirmation":"Order requires confirmation","O_WhosOrdering":"Who\u0027s ordering","O_EditInformation":"EDIT INFORMATION","O_OrderID":"Order ID:","O_OrderNo":"Order No.","O_RefundReason":"Refund Reason","O_DineInPromotions":"Dine-in Promotions","O_SelfOrder":"Self Order","O_Payment_01OrchardRoad":"01 Orchard Road","O_Getz_Ref_ID":"Getz Ref ID","O_EstimateServingTime":"Estimated Serving Time","O_OrderDinein":"Order \u0026 dine-in","O_StreetName":"Street Name","O_SplitReceipt":"Split Receipt","O_DineinPayment":"Dine-in Payment","O_TrackYourOrderStatus":"Track your order status","O_OrderIDorQRCode":"ORDER ID / QR CODE","O_country":"Country","O_descriptEmail":"An email with a link to reset your password will be sent to your registered account.","O_WaitingForAmend":"Waiting for Amend","O_AfterVoucherVerification":"After voucher verification","O_ToStart":"To Start","O_PayWithYourPhoneNowAndEnjoyTheConvenience":"Pay with your phone now and enjoy the convenience!","O_YourVoucherIsInvalid":"Your voucher is invalid","O_VerificationRequired":"Verification Required","O_Thursday":"Thursday","O_Continue":"Continue","O_SearchItems":"Search items","O_OnlinePickup":"Online Pickup","O_ServiceChargePercent":"Service Charge ({0}%)","O_MarketingNotification":"I agree to receive additional SMS \u0026 Email marketing notification","O_Confirm":"Confirm","O_CheckYourAdditionalRequest":"Check your additional request","O_MasterMenu":"Master Menu","O_SelectYourDesiredService":"SELECT YOUR DESIRED SERVICE","O_UnitNumberApartmentName":"Unit Number, Apartment Name","O_SelectDeliveryOutlet":"Select Delivery Outlet","O_CheckAvailability":"Check Date","O_SendOrderTrackerLink":"SEND ORDER TRACKER LINK","O_SENDPAYMENTLINK":"SEND PAYMENT LINK","O_Tax":"Tax","O_Tel":"Tel","O_PAY":"PAY","O_Qty":"Qty","O_See":"See","O_You":"(You)","O_DoB":"DoB","O_All":"All","O_New":"NEW","O_Off":"OFF","O_ProceedWithPayment":"Proceed with Payment","O_AcrossDinePickupAndDelivery":"Across Dine-in, Pickup, and Delivery","O_RedeemNow":"REDEEM NOW","O_SeeWhosOrdering":"See who\u0027s ordering","O_ChargeableItems":"Chargeable Items","O_OrderWithYourDevice":"Order with your device","O_ThankYouAndSeeYouAgain":"Thank you and see you again","O_ImLookingFor":"Iâm looking for ...","O_AddANoteToMerchant":"Add a Note to Merchant","O_SearchProduct_SearchResults":"Search Results","O_DELIVERY_INFORMATION":"DELIVERY INFORMATION","O_ReservationOrder":"Reservation","O_Public_Discount":"Public Discount","O_SubTotal":"Sub Total","O_Promotions":"Promotions","O_MemberPointsInCart":"Member Points","O_BestSellingItems_lowercase":"Best-selling Items","O_Pending":"Pending","O_OfUsersAreReady":"{0} of {1} User(s) are Ready","O_Location":"Location","O_OurStaffWillAttendToYouShortly":"Our staff will attend to you shortly","O_descriptResetPass":"To reset your password, please enter the email address you use to login.","O_PromotionPeriod":"Promotion Period:","O_ReturnExchange":"Return \u0026 Exchange","O_Tuesday":"Tuesday","O_DineinSelfOrderingTable":"Dine-in Self Ordering - Table","O_Redemption":"Redemption:","O_YouPayForEveryone":"You pay for everyone","O_MemberPointsBurned":"Member Points Burned","O_DeleteGroupOrder":"Delete Group Order?","O_MerchantPortal":"Memberâs Portal","O_YesIWantToRegisterAsAMemberOfNameMerchant":"Yes, I want to register as a member of {0}","O_Period":"Period:","O_Points":"Points","O_Placed":"placed","O_EasyQuickAndSimplicity":"Easy, quick and simplicity","O_Pickup":"Pick-up","O_QRCode":"QR CODE","O_OrderTracker_AmendMore":"Amend More","O_OrderTracker_AmendLess":"Amend Less","O_YouAreReady":"YOU\u0027RE READY","O_DeliveryOutlet":"Delivery Outlet","O_PartialRefundFrom":"Partial Refund from","O_Category":"Category","O_Serving":"Serving","O_Service":"Service","O_ChangePassword":"Change Password","O_Please_Select_Items":"Please select {0} item(s)","O_MenuCategories":"Menu Categories","O_Payment":"Payment","O_TimeZone":"Time Zone","O_WaitingForIssuance":"Waiting for Issuance","O_ViewOnMap":"View on map","O_ViewMemberRewards":"View All Rewards","O_Point_s":"Point(s)","O_BuyerInformation":"Buyer\u0027s Information","O_LoadMore":"Load More","O_ConvenienceAndRewardsAtYourFingertips":"Convenience and rewards at your fingertips!","O_SelectOther_Services":"Select Other\u003cbr\u003eServices","O_YouMayScanTheQRCodeToReorderAsWell":"You may scan the QR code to reorder as well","O_Fulfilled":"fulfilled","O_OneWalletToManageThousandsOfFAndBs":"One wallet to manage thousands of F\u0026Bs","O_PointsIssuance":"Points","O_PrepaidEVoucherNonTaxable":"Prepaid E-Voucher Non-Taxable","O_Finished":"Finished","O_TotalRefund":"Total Refund","O_DisplayEstimate WaitingTimeWhenUserInputName":"Display estimate waiting time when user input Name","O_Please_Select_More_Items":"Please select {0} more item(s)","O_MEMBERREGISTRATION":"MEMBER REGISTRATION","O_SelectOtherDates":"Select other dates","O_PointUsed":"Point used:","O_Refund":"Refund","O_Reason":"Reason","O_Redeem":"Redeem","O_Click
1477ForMoreInfo":"Click for more Info","O_AddNote":"Add Note","O_Address":"Address","O_Available":"Available","O_ReservationTime":"Reservation Time","O_PendingItemsInOrder":"ð Pending Items in Order","O_YourGroupMembersWillFollowYourSelection":"Your group members will follow your selection.","O_Search":"Search","O_SeeAll":"See all","O_Recommended":"Recommended for you","O_Saving":"saving","O_SignUp":"Sign Up","O_DraftReceipt":"Draft Receipt","O_Submit":"Submit","O_Sunday":"Sunday","O_Status":"Status","O_ValidFor":"Valid For:","O_YourPaymentReceipt":"Your payment receipt","O_CheckoutSummary":"Checkout Summary","O_HOURS_LOCATIONSOPERATIONHOURS":"LOCATIONS \u0026 OPERATION HOURS","O_Recommended_Lowwer":"Recommended","O_Recommended_uppercase":"RECOMMENDED","O_DineInTakeAwayCityWideDelivery":"Dine-in, Take-away, City-wide Delivery","O_OrderDetails":"Order Details","O_UpdateOrder":"Update Order","O_AllPromotions":"All Promotions","O_AreYouAMemberOf":"Are you a member of {0}?","O_Recipient":"Recipient","O_RecipientContact":"Recipient\u0027s Contact","O_AboutUs":"About Us","O_ViewOrderDetails":"View Order Details","O_GetDiscountsAndRewardsHere":"Get discounts and rewards here!","O_EVoucherFaceValue":"E-Voucher Face Value","O_PromoCode":"Promo Code","O_OutletMenu":"My Outlet Menu","O_OrderTracker_ConfirmAmendMore":"Confirm Amend More","O_SoldOut":"Unavailable","O_EnjoyRewardsAndExclusivePrivilegesAsOurMember":"Enjoy rewards and exclusive privileges as our member!","O_ServedToYour":"Served to your","O_UserGroupOrder":"{0}âs Group Order","O_BuyMoreSaveMore":"Buy More, Save More!","O_CurrentOutletIsNoMoreAvailable":"Current outlet is no more available.","O_SelectOtherServices":"Select Other Services","O_Payment_13_37MandalayTowers":"#13-37 Mandalay Towers","O_PointsBurned":"Points Burned","O_Delete":"Delete","O_Dinein":"Dine-in","O_Discountable":"Discountable","O_EditYourGroupName":"Edit Group Name","O_DownloadDigitalReceipt":"Download digital receipt","O_Edited":"Edited","O_UnitPrice":"Unit Price","O_KindlyAssistToPrepareYourVoucherForStaffVerification":"Kindly assist to prepare your voucher for staff verification.","O_SearchProduct_ResultForKeyword":"result(s) for keyword","O_RequiredFieldAdult":"The required field must be greater than 0","O_MerchantReferenceID":"Merchant Reference ID","O_Proceed":"Proceed","O_DeliveryService":"Delivery Service","O_ProceedWithBuffet":"Proceed with","O_Payonmobileandgetrewarded":"Earn Vouchers and Rewards by Paying on Your Mobile!","O_EVoucherForSale":"E-Voucher for Sale","O_NoPaymentRequiredIfRemainingBalance":"*No payment required if remaining balance = {0}0","O_PayOnline":"Pay Online","O_EnterYourMobileNumberEmailIDToCheck":"Enter your mobile number / email / ID to check","O_SelectPreferredOrderingMethod":"Select Preferred Ordering Method","O_OrderTotal":"Order Total","O_GoToCart":"Go To Cart","O_GetOffYourBillNow":"Get {0} off your bill now!","O_ItemIsOnPromotion":"Item is on promotion.","O_Indoor_Facility":"Indoor Facility","O_Payment_PostalCodeEg":"Postal Code Eg : 3062","O_OutOfOrderAmount":"Out Of Order Amount","O_StartOrdering":"Start Ordering","O_PaymentMode":"Payment Mode","O_MemberVoucherWillBeRemovedFromThisOrder":"Member Voucher will be removed from this order","O_PaymentType":"Payment Type","O_Amount":"Amount","O_Friday":"Friday","O_DeliveryFee":"Delivery Fee","O_Station":"Station","O_YourReceipt":"Your Receipt","O_EnterYourPinCode":"Enter your Pin Code","O_BenefitsWithChopeApp":"Benefits with Chope App","O_TermsConditions":"Terms \u0026 Conditions","O_Female":"Female","O_GroupOrder":"Group Order","O_Gender":"Gender","O_Reference":"Reference","O_ClearItems":"Clear items","O_VoucherApplied":"Voucher Applied","O_CreateYourGroupName":"Create Your Group Name","O_AddAnAdditionalRequest":"Add an Additional Request","O_LogOut":"Log Out","O_PayAtCounter":"Pay at counter (after dining)","O_acceptPrivacyPolicy":"You must accept the terms of use and privacy policy to continue.","O_TotalAmount":"Total Amount","O_PlaceOrder":"Place order","O_Monday":"Monday","O_Announcement":"ANNOUNCEMENT","O_Branch":"Branch","O_UpdatePaymentMethod":"Update Payment Method","O_CUSTOM":"(CUSTOM)","O_SelectAnOption":"Select an Option","O_BuyerName":"Buyer\u0027s Name","O_EVoucherPurchaseValue":"E-Voucher Purchase Value","O_RemoveItemFromGroupOrder":"Remove Item From Group Order?","O_YouCheckoutOnceFoodArrivesTogether":"⢠You checkout once, food arrives together","O_SplitBill":"Split Bill","O_Closed":"Closed","O_EnterYourID":"Enter your ID","O_OnlineDelivery":"Online Delivery","O_PickupLocationTime":"Pickup Location \u0026 Time","O_PressConfirmToContinue":"Press âConfirmâ to continue","O_Preorder":"Pre-order","O_PaymentDetails":"Payment Details","O_StatusIssuance":"Status","O_CheckSMSAndCollect":"Check SMS \u0026 collect!","O_BillVoucher":"Bill Voucher","O_EnterYourGroupName":"Enter your group name","O_Minutes":"minutes","O_ClaimYourRewardsBySignUpOrLogInNow":"Claim your rewards by sign up or log in now","O_MoreDates":"More Dates","O_Issued":"Issued","O_ItemVoucher":"Item Voucher","O_NotExclusions":"Not Exclusions:","O_EVoucher":"E-Voucher","O_BestSellingItems_uppercase":"BEST-SELLING ITEMS","O_NoName":"No Name","O_DeliveryOrTakeaway":"Delivery or Takeaway","O_NewAdd":"New Add","O_Outlet":"Outlet","O_Online":"Online","O_CustomerInformation":"Customer Information","O_TypeStarhubHUBID":"[email protected]","O_YouHaveBeenRedirectedToBuffet":"You\u0027ve been redirected to Buffet B\u0027s Menu Page. If you don\u0027t see it, please refresh your browser.","O_EmailConfirm":"Email Confirm","O_CheckoutAsMember":"Checkout as member","O_CheckoutAsGuestProcess":"Process to checkout order without account","O_OrderTracker_CancelAmendMore":"Cancel Amend More","O_PurchaseValue":"(Purchase value {0})","O_ApplyVoucherBeforePayment":"Apply Voucher before Payment","O_G
1477ST_Reg_No":"GST Reg No","O_AddANoteForItem":"Add a note for item","O_ReOrderWithEase":"Re-order with ease","O_CheckoutAsGuest":"Checkout as guest","O_MemberVouchers":"Member Voucher(s)","O_AllMenus":"All Menus","O_AllItems":"All Items","O_AreYouAMember":"Are You A Member?","O_MenuAvailability":"Menu Availability","O_HowWouldYouLikeToCompleteTheBuyerInformation":"How would you like to complete the buyerâs information?","O_GetzPay_Ref_ID":"GetzPay Ref ID","O_PressToCheckNote":"Press to check Note","O_PressToInput":"Press to input...","O_Customer":"Customer","O_PayWithVisaMasterCard":"Pay with Visa / Master card","O_PendingAmount":"Pending Amount","O_StarhubHUB":"YOUR STARHUB ACCOUNT NUMBER","O_DineinReserve":"Dine-in / Reserve","O_DeliveryInfo":"Delivery Info","O_DeliveryTime":"Delivery Time","O_RequiredField":"Required field","O_CompleteYourProfileAndGetThis":"Complete your profile and get this {0} instant discount, applicable now for your current order!","O_RemovePromoCodeApplied":"Remove Promo Code applied?","O_BackToMenu":"Back to Menu","O_OnlyLeftInStock":"Only {0} left in stock.","O_RecipientName":"Recipient\u0027s Name","O_ViewBenefitsForUsingChopeApp":"View benefits for using Chope App","O_Doorstep":"doorstep","O_TypeTheRequestInHere":"Type the request in here","O_ClaimYourRewardsByCompleteYourMemberInfo":"Claim your rewards by complete your member info","O_EarnManageAndRedeemRewards":"Earn, Manage and Redeem Rewards across Dine-in, Pickup and Citywide Delivery","O_BuyerContact":"Buyer\u0027s Contact","O_DineinSelfOrdering":"Dine-in Self Ordering","O_Donation":"Donation","O_RoundAmount":"Round Amount","O_MaximumDiscountAmount":"Maximum Discount Amount: {0}{1}","O_ClaimYourRewardBySigningUpOrLoggingInNow":"Claim your reward by signing up or logging in now","O_Services":"Services:","O_SelectedPoints":"Selected","O_InStoreSelfOrder":"In-Store Self Order","O_MemberSignupReward":"Member Signup Reward","O_MemberPoint":"Member Point","O_HideBenefitsForUsingChopeApp":"Hide benefits for using Chope App","O_TableName":"Table name","O_Members":"Members","O_SearchForYourItemsEasilyHere":"Search for your items easily here","O_Includes":"Includes","O_EnterYourNameToStartOrdering":"Enter your name ","O_BuffetTypeHasChanged":"Buffet type has changed!","O_Change_Date_And_Time":"Change {0} Date and Time","O_Table":"Table","O_Total":"Total","O_Point":"Point","O_Phone":"Phone","O_Promo":"Promo:","O_Price":"Price","O_FinalPaid":"Final Paid","O_Ready":"Ready","O_SplitBill_Small":"(Split Bill)","O_Staff":"Staff","O_Store":"Store","O_Draft":"Draft","O_Adult":"Adult","O_signIn":"SIGN IN","O_ViewOrderTracker":"View Order Tracker","O_Close":"Close","O_Clear":"Clear","O_Hours":"Hours","O_Items":"Item(s)","O_Order":"Order","O_SingleDeliveryFee":"⢠Single delivery fee","O_email":"Email","O_CityWideDelivery":"City-wide Delivery","O_MemberSignupEarnRewards":"Member signup, earn rewards","O_EveryonePicksWhatTheyWant":"⢠Everyone picks what they want","O_To":"To","O_Me":"Me","O_Hi":"Hi","O_OR":"OR","O_InvalidVoucher":"Invalid Voucher","O_TotalAmendLess":"Total Amend Less","O_Invoice":"Invoice","O_GstIsCalculatedBasedOnPurchasedValueOfThePrePaidEVouchers":"(GST is calculated based on purchased value of the Pre-Paid E-Vouchers)","O_PromoCodeApplied":"Promo Code Applied"}; 1478 languageMessage = {"O_YourPhoneNumberPromoCodeHasChanged":"Your phone number has changed. This promo code is no longer valid and will not be applied at checkout.","O_SEO_BrowseThroughOurMenu_2":"Browse through our {0} menu. Choose from {1} dishes from our tantalising menu. Order online today for {2}!","O_SEO_BrowseThroughOurMenu_3":"Browse through our menu. Choose from {0} dishes from our tantalising menu. Order online today for {1}!","O_SEO_BrowseThroughOurMenu_1":"Browse through our {0} menu. Choose from {1} dishes from our tantalising menu.","O_SEO_BrowseThroughOurMenu_4":"Browse through our menu. Choose from {0} dishes from our tantalising menu.","O_GreatChoiceAgainNowPleaseConfirmYourOrder":"Great choice again! Now, please confirm your order.","O_YourDiscountedItem":"Your {0}{1} discounted item","O_OrderTracker_Accepted":"Accepted","O_YourOrderIsGoodToGo":"Your order is good to go!","O_TheReservationTimeInvalidPleaseTryAgain":"The reservation time is invali
1478d. Please try again.","O_Promotion_ThisPromotionIsAvailableForServiceOnly":"This promotion is available for {0} service(s) only.|Please update your service selection from the cart to redeem this promotion.","O_MoreToReachMinOrder":"${0} more to reach min order","O_SignUpAsMemberToReceiveUpToOffYourNextPurchase":"Sign up as member to receive up to {0}{1}{2} off your next purchase.","O_ThereIsCurrentlyNoValidCollectTimeInThisDay":"There is currently no valid collect time in this day.","O_OrderTracker_ServicesShowcase_CheckOutPromotionsForYourself":"Check out promotions for yourself or the bundles for your corporate and family events","O_OrderTracker_Collected":"Collected","O_AvailableForALLService":"Available for ALL service(s)","O_KeywordSEO_2":"{0}, order {1} online, food delivery, online food Singapore","O_KeywordSEO_3":"{0}, order {1} online, food takeaway, online food Singapore","O_KeywordSEO_1":"{0}, order {1} online, food delivery, food takeaway, online food Singapore","O_KeywordSEO_6":"order online, food takeaway, online food Singapore","O_KeywordSEO_4":"order online, food delivery, food takeaway, online food Singapore","O_KeywordSEO_5":"order online, food delivery, online food Singapore","O_SelectOrderingOptionForTheProduct":"Select ordering option(s) for the product","O_NoOrderWasFound":"No order was found","O_MinimumSpendAmountIsBasedOnOrderGrandTotal":"Minimum spend amount is based on order grand total.","O_ContinueYourOrderAtNewAssignedOutlet":"Continue your order at new assigned outlet.","O_MerchantReservesTheRightToWithdrawTheVoucher":"Merchant reserves the right to withdraw, amend or cancel the voucher at any time.","O_YouHaveReachedMaximumAmountOfQuantity":"You have reached maximum amount of quantity.","O_NoMenuNow":"There is no menu at this moment.","O_TrashbinPromotion":"Do you want to keep the item(s) selected from this promo bundle in your cart?","O_HavingTroubleWithInternet":"Having trouble with internet?","O_LimitedToOptions":"Limited to {0} option(s).","O_Voucher_Receive":"Receive:","O_YourRewardsAndEVoucherWillBeAddedToYourMemberAccount":"Your rewards and e-voucher will be added to your member account once payment is completed.","O_MinimumSubtotalForDeliveryIs":"Minimum subtotal for delivery is {0} {1}","O_ThisDateIsNotAvailableForDelivery":"This date is not available for delivery","O_WeApologizeForLettingYouWait":"We apologize for letting you wait.","O_SelectAnotherBranch":"Select another branch","O_BirthdayOptional":"Donât ignore it. You can get birthday voucher from time to time","O_OrderTracker_Cancel":"cancel","O_PleaseChangeTheDateAndTimeToOrderThisProduct":"Please change the date and time to order this product.","O_Refunded":"Refunded","O_YourRefundHasBeenProcessedRemoved":"Your refund has been processed, rewards have been removed from your member account.","O_DeliveryServiceIsAvailableFrom":"Delivery service is available from","LengthInvalid":"The {0} must be a string with a maximum length of {1}.","O_YouveAlreadyAddedThisVoucher":"You\u0027ve already added this voucher","O_OnlyOneReturningVoucherWillBeIssued":"Only one returning voucher will be issued or redeemed per order","O_Voucher_InStoreSelfOrderPayment":"In-Store Self Order \u0026 Payment","O_EasyQuickConvenient":"Easy, quick and convenient!","O_PromoCodeGetDisCount_PC":"to get discount","O_OnlyProductLeftInStock":"Only {0} product left in stock.","O_TheBelowItemsArePartOfTheBuffetSet":"The below item(s) are part of the {0} set.","O_months":"months","O_YourRefundHasBeenProcessed":"Your refund has been processed, \u003cb\u003e{0} voucher(s)\u003c/b\u003e have been removed from your member account.","O_ThisItemNotAvailableForOutlet":"The item is not available in this outlet.","O_ForCancelledQueueOrReservationOrders":"For cancelled queue or reservation orders, customer is entitled a refund for unfulfilled items","O_HasJoinedTheGroup":"{0} has joined the group","O_Rejected":"Rejected","O_OnlyOneDiscountCanBeUsedPerOrder":"Only one discount can be used per order.","O_ItemsWithStarAreRecommendedByOurChefAndPatrons":"Items with star {0} are recommended by our chef and patrons","O_TryAgain":"Please try again.","O_GroupNameCanBeUpTo50CharactersOnly":"Group name can be up to 50 characters only","O_FreeDelivery":"Free Delivery!","O_MinimumSubtotalSpendingOfIsRequired":"Minimum subtotal spending of ${0} is required","O_MinimumPurchaseMustBeAbove":"Minimum purchase must be above","O_ThePhoneNumberLength":"The phone number must contain {0} characters","O_LeavingGroupOrderwillAlsoRemoveAllOfTheItemsYouHaveAdded":"Leaving group order will also remove all of the items you have added. {0} will be notified that you are no longer part of the group order","O_ValueDisplayedAreInclusiveOfTax":"Value displayed are inclusive of tax","O_OnlineOrderingForDeliveryIsNowAvailable":"Online ordering for Delivery is now available.","O_YouHaveSaved":"You have saved ${0}","O_PleaseInputPostalCodeForDelivery":"Please input the postal code for delivery","O_TheWebsiteIstakingALongTimeToLoad":"This website is taking a long time to load.","O_AvailableBeforeAndAfter":"Available before {0} and after {1}.","O_Optional":"Optional","O_Delivered":"Delivered","O_UpToForOrdersTodayFrom":"Up to {0} for orders {1} today from {2}","O_rdQuantity":"rd quantity","O_PleaseSelectYourOrderingOptionHere":"Select option","O_Limit_Per_Order":"Limit {0} per order","O_OrderTracker_Ready":"Ready","O_Note":"Note:","O_week":"week","O_PostalCodeOrStreetAddress":"Postal Code or Street Address","O_days":"days","O_mins":"mins","O_hour":"hour","O_YouHaveReachedMaximumAmount":"You have reached maximum amount of quantity for {0}","O_PromoCodeMessageMinimumSpend":"Minimum spend of","O_ThankYouForDiningWithUs":"Thank y
1478ou for dining with us!","O_EmailExisted":"The email existed in the system. Please try a new one.","O_NonDiscountableItem":"Non-discountable item","O_OrderTracker_YouCanRetrieveThisPageViaTheSMSEmail":"You can retrieve this page via the SMS / Email sent to you","O_CancellationIsUnavailable":"Cancellation is unavailable at this time. A third-party delivery has been assigned to your order. Please contact the merchant or support team for assistance with cancellation requests.","O_EmailAddressIsNotAValid":"Email address is not a valid e-mail address.","O_OrderTracker_SubtextHeader_5":"Your order has been accepted","O_OrderTracker_SubtextHeader_4":"Enjoy your meal!","O_OrderTracker_SubtextHeader_1":"Please allow some time for your order to be accepted","O_OrderTracker_SubtextHeader_3":"Shipper is heading to youâ¦","O_OrderTracker_SubtextHeader_2":"Your order has been accepted","O_OrderTracker_SubtextHeader_9":"A refund has been made to you","O_OrderTracker_SubtextHeader_8":"Enjoy your meal!","O_SelectOrderingOptionForThe":"Select ordering option(s) for the","O_Payment_TheStoreHasnotSpecifiedAShippingServiceToYour":"The store hasn\u0027t specified a shipping service to your location. Please contact the store to request shipping.","O_Voucher_UpToReturningVoucherForOrdersPlaced2":"Up to {0} returning voucher for orders placed {1} from {2} {3}","O_Voucher_UpToReturningVoucherForOrdersPlaced1":"Up to {0} returning voucher for orders placed {1} {2}","O_YourRefundHasBeenProcessedAndEVoucherIssued":"Your refund has been processed, rewards and e-voucher(s) are still issued to your member account.","O_Voucher_InStorePayment":"In-Store Payment","O_ProceedToFinishYourSelection":"Proceed to finish your selection?","O_Voucher_ValidOn":"Valid on {0}","O_SomeGuestsAreStillAddingItems":"Some guests are still adding items. All items (including pending) will be included in the checkout.","O_Tomorrow":"Tomorrow","O_EnterYourPassword":"Enter your password","O_OrderTracker_PaymentSuccessful":"Payment successful!","O_Promotion_YouCanRedeemItAlongWithSuperPromotions":"You can redeem it along with Super Promotions","O_PleaseInputPostalCodeStreetAddressForDelivery":"Please input Postal Code/Street Address for delivery","O_ErrBirthdayRequired":"The BirthDay field is required.","O_EnjoyFREEDeliveryForOrderAbove":"Enjoy \u003cstrong\u003eFREE\u003c/strong\u003e delivery for order above {0} {1}","O_TheNumberOfPaxMustBeaNumber":"The number of pax must be a number","O_PleaseChooseAtLeastOneOption":"Please choose at least one option.","O_OrderTracker_DiscountWillBeAppliedDuringPayment":"Discount will be applied during payment","O_YourCashOnDeliveryOrderIsPending":"\u003cspan\u003eYour cash on delivery order is pending.\u003c/span\u003e We will be contacting you shortly to confirm your order. In the meantime, if you prefer to pay online, simply click âPay Onlineâ button below.","O_TheFollowingEVouchersIsExpired":"The following e-voucher(s) is expired and will be removed from your cart:","O_TheBelowItemsAreChargeable":"The below item(s) are chargeable","O_PageNotFound":"PAGE NOT FOUND","O_YourOrderIsCurrentlyBeingProcessing":"Your order is currently being processing. You won\u0027t be able to add new items right now.","O_WaitingForRefund":"Waiting for refund","CompareInvalid":"The password and confirmation password do not match.","O_Promotion_YouAreNotEligibleToRedeemThisPromotion":"You are not eligible to redeem this promotion.","O_RemovingThisParticipantWillAlsoRemoveAllOfTheItemsTheyHaveAdded":"Removing this participant will also remove all of the items they have added. The removed participant will be notified that they are no longer part of the group order","O_Delivering":"Delivering","O_MessageNoteCheckoutPromotion":"No: delete all selected item(s) on incomplete promotion(s)","O_Promotion_YouAreEligibleToRedeemThisPromotion":"You are eligible to redeem this promotion.","O_SelectOutletToPickupOrder":"Select Outlet To Pickup Order","O_MoreToEnjoyFREEDelivery":"${0} more to enjoy FREE delivery","O_PriceDisplayedAreInclusiveOfTaxes":"Price displayed are inclusive of taxes","O_PleaseMakeChangePriceForOpenPriceItem":"Please make change price for open price item","O_CheckYourRewards":"Check Your Rewards","O_Promotion_PromotionIsNotRedeemableForService":"Promotion {0} is not redeemable for {1} service. It will be removed from cart. Do you wish to proceed?","O_IHaveReachedOulet":"I have reached outlet, I am currently queueing and would like to order first while waiting for my seat\u003c/p\u003e","O_PleaseProceedToCounterAndShowThisScreen":"Please proceed to counter and show this screen to staff to complete payment","O_AvailableBefore":"Available before {0}.","O_Payment_TheMaximumAmountForCurrentDeliveryTimeIsReach":"The maximum amount for current delivery time is reached. Please select another delivery time.","O_OnTheSelectedDate":"on the selected date","O_PromoCodeHasBeenSuccessfully":"Promo Code Has Been Successfully Applied","O_UpToForOrdersSelectedDateFrom":"Up to {0} for orders {1} on the selected date from {2}","O_TheEmailAndConfirmationEmailDoNotMatch":"The email and confirmation email do not match.","O_OrderTracker_ReadyForCollection":"Ready For Collection","O_IUnderstandTheAboveItemsWillBeCancelled":"I understand the above item(s) will be cancelled and respective charged money will be refunded","O_All_item_successfully_added_to_cart":"All item(s) successfully added to cart!","O_DiscountNotApplied":"Discount not applied.","O_Payment_OnlineOrderingForDeliveryIsNotAvailableUntil":"Online ordering for Delivery is not available until {0}","O_OnlineOrderingForPickupIsNowAvailable":"Online ordering for Pickup is now available.","O_thQuantity":"th quantity","O_PleaseStayOnThisPage":"Please stay on this page to monitor your order status","O_Promotion_YouCanRedeemItAlongWithAnyOtherPromotions":"You can redeem it along with any other Promotions","O_EmployeeIDIsNotExistent":"Employee ID is not existent","O_AlcoholicPolicyWarningMessage":"Please confirm that you are 18 years old or older to proceed with the alcoholic item","O_OrderTracker_DisplayView_ItemCounter":"item(s) at Counter","O_PENDING_CONFIRMATION":"Pending Confirmation","O_OrderTracker_PresentYourPhoneNumberToTheCashier":"Present your phone number to the cashier during Visa or Master payment to redeem the voucher","O_ViewYourFinalPayment":"View your final payment if you choose to confirm this adjustment","O_OrderHasBeenSuccessfullyUpdated":"Order has been successfully updated. You can return to the order details to manage it further.","O_PromoCodeMessage2":"NOW applied. Limited quantity","O_InputInfomationCreditCard":"Input Infomation credit card","O_ContactUs_IfYouHaveAnyQueriesOrWouldLikeToGiveUs":"If you have any queries or would like to give us some feedback, drop us a message. We will get back to you as soon as possible.","O_Whatsapp_OrderTracker_Title":"Track Your Order in REAL-TIME on WhatsApp","O_ModifierIsSoldOut":"Modifier is sold out.","O_ThisItemNotAvailableForDelivery":"This item is not available for Delivery.","O_Whatsapp_OrderTracker_CtaDesc":"Track your order in real-time directly from WhatsApp.","O_YouCanNotSubmitTheOrder":"You can not submit the order!","O_OrderTracker_SubtextHeader_SelfCollect_13":"Service crew is heading to serve youâ¦","O_MinimumSubtotalNotEnough":"Minimum Subtotal Not Enough","LengthInvalidMinimum":"The {0} must be a string with a minimum length of {1}.","O_resetSuccess":"A reset link has been sent to your email address.","O_Voucher_DayFromIssuance":"{0} day{1} from issuance","O_Voucher_ReturningVoucherForEveryOrderDuringThePeriod":"{0} returning voucher for every {2}
1478 order during the period{1}","O_AlcoholicPolicyLabel":"I am at least 18 years of age and I understand the legal penalties for underage alcohol purchase","O_YourOrderHasExceededTheDiscountValidityPeriodThe":"Your order has exceeded the discount validity period, the {0} discount will not be applied on your current order.","O_YouCanContinueWithAPersonalOrder":"You can continue with a personal order or create new group order instead.","O_PleaseInputSizeMustBeLowerOrEqualTo":"Please input Size must be lower or equal to {0}","O_ThisProductIsAvailableOnSpecificDays":"This product is available on specific days and times at the outlets listed below. Start your order by entering your postal code, date, and time to enjoy!","O_CheckoutPromotion":"Promo bundle(s) selection incomplete. Do you want to keep the item(s) selected from that promo bundle(s) in your cart?","O_Payment_TheCollectTimeIsNotValid":"The collect time is not valid. Please re-select it.","O_Whatsapp_OrderTracker_Benefit_3":"Share the link with others","O_Whatsapp_OrderTracker_Benefit_2":"Real-time order updates","O_Whatsapp_OrderTracker_Benefit_1":"Get a link to return to your order anytime","O_DeliveryServiceIsNotAvailableForTheSelectedTime":"Delivery service is not available for the selected time.","O_OrderTracker_ExpiryDays":"Expiry: {0} days","O_PleaseInputYourMobileNumberEmailIDToCheck":"Please input your mobile number / email / ID to check.","O_YourRefundHasBeenProcessedIssued":"Your refund has been processed, rewards are still issued to your member account.","O_AlcoholicPolicyTermsAndConditions":"See our policies in \u003ca href=\"https://getz.co/TermsAndConditions.pdf\" target=\"_blank\"\u003eTerms and Conditions\u003c/a\u003e","O_FulfillmentChanged_TheAarliestFulfillmentTimeHasBeenAdjusted":"The earliest fulfillment time has been adjusted.","O_emailError":"Email address you entered was not found.","O_ToEnjoyYourPromoCode":"To enjoy your Promo Code, please pay with your {0} card via Pay on Mobile","O_MinimumSubtotalOfIsRequiredToCheckout":"Minimum subtotal of {0} {1} is required to checkout","O_Payment_ByClickingOnPayButtonYouAgreed":"By clicking on button, you agree to the terms and conditions of","O_PleaseInputDeliveryAddress":"Please input delivery address","O_ThePostalAddressIsNotAvailableForDeliveryYet":"The postal / address is not available for delivery yet. \u003cbr /\u003e Please check back again as we expand our delivery area.","O_DineInQR":"Dine-in QR","O_Confirmed":"Confirmed","O_OrderTracker_SubtextHeader_50":"Please verify your order changes","O_OrderTracker_SubtextHeader_52":"Update payment method","O_OrderTracker_SubtextHeader_47":"Please verify your order changes","O_OrderTracker_SubtextHeader_49":"Customer decides to cancel these items","O_OrderTracker_SubtextHeader_48":"Customer agrees to accept the adjustments","O_OrderTracker_SubtextHeader_14":"Enjoy your meal!","O_OrderTracker_SubtextHeader_15":"Your order has been amended.","O_OrderTracker_SubtextHeader_10":"Your order has been amended.","O_OrderTracker_SubtextHeader_11":"Please allow some time for your order to be accepted","O_OrderTracker_SubtextHeader_12":"Your order has been accepted","O_OrderTracker_SubtextHeader_13":"Please collect your food at Counter","O_OrderTracker_SubtextHeader_30":"Your order is being preparedâ¦","O_OrderTracker_SubtextHeader_31":"Your food is ready for delivery.","O_OrderTracker_SubtextHeader_21":"Please collect your food at Counter","O_OrderTracker_SubtextHeader_20":"Your order is being preparedâ¦","O_YourRefundHasBeenProcessedAndEVoucherRemoved":"Your refund has been processed, rewards and e-voucher(s) have been removed from your member account.","O_OrderTracker_UpdatePaymentMethod":"\u003cspan class=\"display-block\"\u003eUpdate\u003c/span\u003e payment method","O_PromoCodeMessageUOBCardMessage":"UOB CARDS EXCLUSIVE! ENJOY","O_MinOrderAmountMet":"Min Order amount met ({0} {1})","O_This_Products_Will_Available_From":"This product will be available from {0}.","O_ThePromoCodeIsInvalidAsYourPhoneNumberHasChangedAfterLogin":"The promo code is invalid as your phone number has changed after login. It will not be applied.","O_Business_ContentDeliveryTakeAway_Delivery_Pickup":"Online food ordering, food delivery singapore, food takeaways, online food Singapore","O_GoAheadSelectYourItems":"Go ahead, select your items","O_YouWantToDelete":"You want to delete","O_MustSelectAtLeastNOptionS":"Please select at least {0}","O_OrderTracker_Delivering":"Delivering","O_Promotion_YouCanRedeemItAlongWithOtherPromotions":"You can redeem it along with other Promotions","O_MustSelectXToYOptionS":"Please select {0} - {1}","O_PleaseRecheckYourCart":"Please recheck your CART to re-order the item following limited modifier quantity!","O_UpTo50Characters":"Up to 50 characters","O_Voucher_ValidOnTo":"Valid on {0} to {1}","O_CanceledByMerchant":"Canceled(by merchant)","O_Payment_GetzPayAgreement":"GetzPay agreement","O_OnlineOrderingForPickupAndDeliveryIsNowAvailable":"Online ordering for Pickup and Delivery is now available.","O_OrderStatusBellow":"Order status bellow","O_PhoneNotValid":"The phone number should contain numeric characters only and start by 3,6,8,9.","O_AmendedItemsWillBeRemoved":"Amended items will be removed from your order and the refund will be proceeded. Do you still want to cancel?","O_Limit_by_Sales_The_Earliest_Fulfillment_Time_Has_Been_Changed_Order":"Because we are receiving a large number of orders at the moment, the earliest fulfillment time has been changed up to the next hour to serve you better. We apologize for letting you wait.","O_AsOurMemberYouCanEarnManageAndRedeemRewards":"As our Member, you can Earn, Manage and Redeem Rewards across Dine-in, Pickup and Citywide Delivery in the future.","O_RemarkTableOrder":"Optional Request","O_BusinessNameHasClosedForTheDay":"\u003cspan\u003e\u003cb\u003e{0}\u003c/b\u003e has closed for the day. \u003cspan\u003eThe earliest {1} is available in {2} hours {3} mins\u003c/span\u003e\u003c/span\u003e","O_DiscountIsOnlyApplicableToDiscountableItems":"Discount is only applicable to discountable items.","O_OnlyProductsLeftInStock":"Only {0} products left in stock.","O_Payment_TheAddressDoesNotMatchInitialDeliveryLocation":"The address does not match initial delivery location","O_Mycart_Title_Select_Service":"Services","O_LimitOfItemQuantity":"Limit of Item quantity","O_OrderTracker_Transferred":"TRANSFERRED","O_Payment_DataProtectionPolicy":"Data Protection Policy","O_ThisDateTimeIsNotAvailableForDelivery":"This date \u0026 time is not available for delivery","O_Voucher_ForEveryOrderDuringThePeriod":"{0} for every {1}
1478 order during the period {2}","O_WrongPostalCodeOrAddress":"Wrong postal code or address","O_Payment_ByClickingOnPayButtonYouHaveReadAndAgreed":"By clicking on button, you have read and agreed to the terms and conditions of","O_ConfirmDelete":"Are you sure you want to delete?","O_ConfirmProcessPayment":"Do you want to proceed to payment","O_PleaseCheckYourInternetConnection":"Please check your internet connection and try again.","O_YourPaymentLinkHasExpired":"Your payment link has expired. For security and to ensure the most up-to-date information, payment links are active for {0} days.","O_OrderTracker_PickupTimeHasBeenChanged":"Pickup time has been changed to","O_InfoConfirmActiveFollowing":"Please verify your account by following the instructions in the email.","O_ThankYouWeLookForward":"Thank you! We look forward to your next order!","O_EnterYourFirstName":"Enter your first name","O_PromoCodeEnterCode_PC":"Enter code","O_IWantToMakeAnAdvanceReservation":"I want to make an advance reservation together with my reservation order for a later date time","O_OrderTracker_ThereIsNoRedemptionChannelForThisVoucher":"There is no redemption channel for this voucher","O_HaveNoOutlet":"No outlets are currently available for this product.","O_Voucher_WithAMinimumSpendOf":"with a minimum spend of","O_GetRewardedWhenYouPayWithYourPhone":"Get rewarded when you pay with your phone!","O_Voucher_ValidOnAllDaysExcept":"Valid on all days, except {0}","O_ShareYourMobileNumber":"Maximize the benefits of our service! Enter your mobile number to enjoy the following:","O_OrderTracker_PreAddress":"{0} Address:","O_AfterFinishingYourMeal":"After finishing your meal, please proceed to the counter and show this screen to our staff to complete your payment","O_SwitchingTo":"Switching to \u003cstrong\u003e[Pickup/Dine-in]\u003c/strong\u003e will end the group order and delete all items added by participants.","O_EnterYourEmailAddress":"Enter your email address","O_OnlineOrderingForDeliveryIsNotAvailable":"Online ordering for Delivery is not available until {0}","O_PleaseProceedToTheCounter":"Please proceed to the counter and show this screen to our staff to complete your payment","O_Whatsapp_OrderTracker_ConsentError":"Consent is required to proceed. You may unsubscribe anytime via a click or via your {0}.","O_ItemIsOnPromotionDonotMissIt":"Item is on promotion. Don\u0027t miss it !","O_ConfirmationEmailAddressIsNotAValid":"The Confirmation email field is not a valid e-mail address.","O_Whatsapp_OrderTracker_ConsentLabel":"I hereby provide my Consent to receive Marketing and Membership Updates","O_ItemIsAddedIntoCart":"Item is added into cart.","O_OrderTracker_IWillRememberToRedeemLater":"I will remember to redeem later","O_NoProductNow":"There is no product at this moment.","O_OrderTracker_Save":"SAVED ${0}","O_No_item_to_checkout":"No item to checkout. Please add item(s) into the cart.","O_Whatsapp_OrderTracker_CtaTitle":"Order Updates via WhatsApp","O_ThisItemHasOpenPrice":"This item has open price","O_FreeItem":"Free Item","O_WeCantRecognizeThisPhoneNumber":"Hmm⦠we canât recognize this phone number. Please enter a valid mobile number without country code or special characters.","O_Promotion_StepOfSelectItems":"\u003cspan\u003e\u003cstrong class=\"promotion-rules\"\u003eStep {0} of {1}: \u003c/strong\u003e Please select {2} item(s) for this step.\u003c/span\u003e","O_ProceedToExitFromDineinService":"You are leaving the {0} service. \u003cbr /\u003e All the items added will remain unchanged","O_OnlineOrderingForPickupIsNotAvailableUntil":"Online ordering for Pickup is not available until","O_Promotion_OrderPurchased":"Order purchased","O_AlcoholicPolicyMessage":"If you are under 18 years old, unselect or remove alcoholic product(s) from your cart before placing order","O_ThisNameIsTaken":"This name is taken. Please choose a different one","O_YouCanStillPlaceAPersonalOrderIfYouLike":"You can still place a personal order if you\u0027d like.","O_ThisAmendedItemWillBeRemovedOutOfYourOrder":"Amended items will be removed from your order and the refund will be proceeded.","O_YourCartIsEmpty":"Your cart is empty.Add at least 1 item to checkout!","O_HasBeenDeleted":"has been deleted.","O_InfoProductAlreadyExists":"This product already exists in wishlist.","O_Limit_Per_Item":"Limit {0} per item","O_Sep":"Sep","O_Dec":"Dec","O_Aug":"Aug","O_Apr":"Apr","O_Feb":"Feb","O_May":"May","O_Mar":"Mar","O_Nov":"Nov","O_Oct":"Oct","O_Jun":"Jun","O_Jul":"Jul","O_Jan":"Jan","O_day":"day","O_YourOrderWillBeChangedEarliestTimeSlotAt":"Your order will be changed the {0} time to the possibly earliest time slot at","O_ErrConfirmLogin":"Email address or password is incorrect. Please try again.","O_OpenInTheApp":"Open in the app","O_WeAreReceivingALargeOfNumber":"We are receiving a large of number order at the moment, to serve you better, the earliest fulfillment time has been changed up to the next hour.\u003c/br\u003eWe apologize for letting you wait.","O_YourOrderHasBeenUpdatedToHost":"Your order has been updated to host.","O_SelectTheOutlet":"Select the outlet","InfomationMessageNotificationDelivery":"You have new order!","O_NoAvailableRewards":"No available rewards for now","O_Preparing":"Preparing","O_Congratulations_YouGotRewardsFromYourOrder":"Congratulations, you got rewards from your order. Check it in Member Portal!","O_CantBeUsedWithSelectedVouchers":"Canât be used with selected voucher(s)","O_PromoCodeMessageApplicable":"applicable on sub-total amount","O_PleaseInputSizeMustBeGreaterOrEqualTo":"Please input Size must be greater or equal to {0}","O_MerchantReservesTheRightToWithdrawTheDiscount":"Merchant reserves the right to withdraw, amend or cancel the discount at any time.","O_ThisItemBelongsToGuest":"This item belongs to {0}. Removing it will update the group total.","O_TheEarliestPickupIsAvailableIn":"The earliest pick-up is available in","O_ErrZipCodeRequired":"The Postal Code field is required.","O_Mycart_Title_Select":"Select Other","O_MessageNoteButtonNo":"*No: delete all selected items on this promotion","O_DontWorry":"Don\u0027t worry, you can easily get a new one by contacting merchant","O_PrepaidNonTaxable":"Prepaid (Non-Taxable)","O_HostIsMakingPayment":"You can\u0027t submit order since host is making Payment","O_DineInCounter"
1478:"Dine-in Counter","O_WellDone":"Well Done !","O_YouHaveNotReachedTheMinimumAmountYet":"You haven\u0027t reached the minimum amount yet.","O_Business_Pickup":"Pickup","O_ItemAddedToCart":"Item is added into cart.","O_AvailableOn":"Available on","O_Promotion_PromotionIsNotRedeemableAtTheSelectedFulfillmentDate":"Promotion {0} is not redeemable at the selected fulfillment date and time. It will be removed from cart. Do you wish to proceed?","O_PromoCodeMessagePromoCode":"PROMO CODE","O_OrderTracker_Delivered":"Delivered","O_TheDateAndTimeHasAdjustedTo":"The {0} Date \u0026 Time has adjusted to {1}","O_EnterPostalCode":"Enter postal code","O_IAgreeToAcceptTheAboveAdjustment":"I agree to accept the above adjustment(s) and my total payment for this order will be","O_AlcoholicPolicyAgeRestricted":"Age-restricted items in cart","O_OrderTracker_AmendMore":"Amend More","O_OrderTracker_AmendLess":"Amend Less","O_AmendMore_PleaseCheckAgainYourOrderDetails":"Please check again your order details.","O_Step_completed":"Step {0} completed!","O_SessionTimeOut_Within5Minutes":"The earliest fulfillment time will be adjusted soon. Please complete your order within 5 minutes.","O_MakeSureYourInput":"Make sure your input is spelled correctly.","O_CongratulationNumberVouchersHaveBeenAdded":"Congratulation, \u003cb\u003e{0} paid voucher(s)\u003c/b\u003e have been added that can be used for future order. Check it now in Member Portal!","O_Welcometo":"Welcome to","O_OptionalMaxNOptionSOnly":"Optional, max. {0}","O_NicknameMustbeBetween1To30Characters":"Nickname must be between 1â30 characters.","O_OrderTracker_Rejected":"Rejected","O_YourPhoneNumberVoucherHasChanged":"Your phone number has changed. The voucher is no longer valid and will not be applied at checkout.","O_MoreToSaveOffDelivery":"${0} more to save ${1} off delivery","O_AvailableForAService":"Available for {0} service(s)","O_PromoCodeMessageOff":"OFF","O_SinceTheHostIsMakingPayment":"Since the host is making payment.","O_EnterYourLastName":"Enter your last name","O_UseTheMemberAccountInformationToAutomaticallyFill":"Use the member account information to automatically fill in the buyer\u0027s details: name, email, phone number.","O_ClearAllItemsInTheCart":"Clear all items in the cart!","O_AvailableAfter":"Available after {0}.","O_OnlineOrderingForPickupIsNotAvailable":"Online ordering for Pickup is not available until {0}","O_DueToTheBankPolicy":"Due to the bank policy, the refund amount will be refunded after 24 hours","O_PasswordNotFound":"Your password was not found.","O_InfoQuantityGreaterThan0":"Please enter quantity greater than 0.","O_YouHaveBeenRemovedFromTheGroupOrder":"You have been removed from the group order","O_AdvanceOrder":"Advance Order","O_ AnApplicableDiscountOf":"An applicable {0} discount of","O_TheQuantityOfModifiersInItems":"The quantity of modifiers in item(s) below already exceeded the limitation and will be removed from CART:","O_OrderTracker_Completed":"Completed","O_OrderTracker_ThePaymentTransactionWillBeReflected":"The payment transaction will be reflected as \"Getz(EC)\" in your debit/credit card statement.","O_ConfirmUpdatedToHost":"Your order has been updated to host","O_MustSelectAtLeast1Option":"Must select at least 1 option","O_MembershipUpdatedSuccessfully":"Membership updated successfully!","O_HasLeftTheGroupOrder":"{0} has left the group order","O_ThePhoneNumberMustBeAtLeastCharactersLong":"The phone number must be at least {0} characters long.","O_GroupOrderCreated":"Group order created - share the link with friends.","O_OrderTracker_ConfirmAmendMore":"Confirm Amend More","O_AvailableRewards":"Available Rewards","O_MustSelectNOptionS":"Please select {0}","O_TheOutletHasClosedForTheDay":"The outlet has closed for the day.","O_GroupOrderingIsOnlyAvailableForOutlets":"Group ordering is only available for:","O_YourOrderIsCurrentlyBeingPaid":"Your order has already been paid. You won\u0027t be able to add new items right now.","O_ProceedToSelectTheNextItem":"Proceed to select the next item?","O_Promotion_OrderFulfilled":"Order fulfilled","O_YourCancelRequestIsBeingProcessed":"Your cancel request is being processed.","O_Business_DescriptionSEO_4":"Skip the queue and order food online! FREE islandwide delivery {1}! Browse menu and order your favorite food today\", \"{0}","O_Business_DescriptionSEO_1":"Skip the queue and order food online for {0}! FREE islandwide delivery {1}! Browse menu and order your favorite {2} food today","O_Business_DescriptionSEO_2":"Skip the queue and order food online! FREE islandwide delivery {1}! Browse menu and order your favorite {2} food today\", \"{0}","O_Business_DescriptionSEO_3":"Skip the queue and order food online for {0}! FREE islandwide delivery {1}! Browse menu and order your favorite food today","O_PowerdBy":"©2024 {0}. Powered by ","O_YourRewardsWillBeAddedToYourMemberAccount":"Your rewards will be added to your member account once payment is completed.","O_Voucher_InStoreSelfOrder":"In-Store Self Order","O_Reservation":"Reservation","O_InfoConfirmActiveEmail"
1478:"Your account is inactive.","O_PleaseInputNumberPax":"Please input the number of pax","InfomationMessageNotification":"You have new order for {0}!","O_Business_ContentDeliveryTakeAway_Pickup":"Online food ordering, food takeaways, online food Singapore","O_TheOutletHasClosedForTheDayWeWFillOpenOn":"The outlet has closed for the day. We will open on {0}","O_Voucher_RedeemOnYourNextPurchaseWhenYouOrderFrom":"Redeem on your next purchase when you order from {2}{1}","O_Amended":"Amended","O_YourMessageHasBeenSent":"Your message has been sent. We will respond to you as soon as possible.","O_OrderTracker_Refunded":"Refunded","O_PleaseNoticeThat":"Please notice that:","O_YourSelectedFulfillmentTimeHasBeenChanged":"Your selected fulfillment time has been changed up to next earliest slot, due to out of order that moment","O_ThisProductRequiresPreorderAtLeastInAdvance":"This product requires pre-order at least {0} {1} in advance.","O_PleaseSelectRequiredModifierForThisItem":"Please select required modifier(s) for this item.","O_TheItemYouveSelectedWasNotAddedToYourCart":"The item you\u0027ve selected was not added to your cart.","O_AmendMore_YourOrderHasBeenChanged":"Your order has been changed, we will refresh the order details for your confirmation!","O_PleaseReferToTearmAndConditions":"Please refer to \u003ca href=\"/Home/TermsConditions\" target=\"_blank\"\u003eTerms and Conditions\u003c/a\u003e for details","O_JoinDeliveryGroupOrderViaThisLink":"Join {0} Delivery Group Order via this link:","O_OnlyItemLeft":"Only {0} item(s) left.","O_OrderTracker_Waiting":"waiting","O_OpenPriceMeasurementNote":"This is not the final price of the product, a notification will be sent to you for confirmation after the final price is applied","O_GuestDidNotSubmit":"There are user(s) didn\u0027t submit any item:","O_PleaseBePatient":"Please be patient.","O_OrderTracker_ThankYouForYourPurchase":"Thank you for your purchase ! Scroll down to check rewards or track your order.","O_EnterYourPhoneNumber":"Enter your phone number","O_PleaseSelectYourPaymentOptionToProceed":"Please select your payment option to proceed","O_MinimumSpendAmountIsBasedOnOrderSubtotal":"Minimum spend amount is based on order subtotal.","O_ThisItemNotAvailableForPickup":"This item is not available for Pickup.","O_YourRewards":"Your rewards","O_CancelPromotion":"Do you want to keep the item(s) selected in your cart and exit current flow?","O_PayOnlineNowAndGetRewarded":"Pay online now and get rewarded","O_SelectTheTableNumberThatYouAreSeated":"Select the table number that you are seated","O_GuestHasBeenRemovedFromTheGroupOrder":"{0} has been removed from the group order","O_ProductDetail_Swipe_RevealYourVoucher":"Swipe up to reveal your voucher section and more!","O_OrderTracker_ProvideTheseInformationToComplete":"Provide these information to complete the registration process","O_FreeDeliveryYouHaveSaved":"Free Delivery! You have saved ${0}!","O_VoucherApplied":"Voucher Applied","O_PromoCodeCannotBeAutoApplied":"Promo Code Cannot Be Auto Applied","O_ndQuantity":"nd quantity","O_HostHasDeletedYourGroupOrder":"Host has deleted your group order.","O_OrderTracker_ReadyForAtApproximately":"Ready for {0} at approximately:","O_AmendMore":"Amend More","O_AmendLess":"Amend Less","O_TheOthersDayWillWorkAsNormal":"The other days will work as normal.","O_NoInternetConnection":"No Internet Connection.","O_ProductDetail_Swipe_RevealMoreOptions":"Swipe up to reveal more options for your order!","O_PayWithYourDebitOrCreditCard":"Pay with your debit or credit card","O_Whatsapp_OrderTracker_Cta":"Track via WhatsApp","O_PleaseNote":"Please note:","O_OrderTracker_Collection":"Collection","O_Business_Delivery":"Delivery","O_DineInServiceWillBeAvailableFromTo":"Dine-in service will be available from {0} to {1}.","O_YouMayPreorderNow":"You may \u003cb\u003epreorder now.\u003c/b\u003e","O_ChooseYourPointsForRedemption":"Choose your points for redemption.","O_GroupOrderingIsOnlyAvailableFor":"Group ordering is only available for \u003cstrong\u003e[Delivery]\u003c/strong\u003e.","O_MinAmount_Err_CheckOut":"Your order has not reached the condition for pickup on this day. The required minimum of subtotal is","O_OnlineDelivery":"Delivery","O_PleasePressOkToTryAgain":"Please press ok to try again.","O_OrderTracker_OrderOnlineForPickupOrDelivery":"Order online for pickup or delivery","O_OrderTracker_Preparing":"Preparing","O_OrderTracker_OrderAndPayViaTheInstoreQRCode":"Order and pay via the in-store QR code self ordering mode to redeem the voucher","O_stQuantity":"st quantity","O_NoCollectionNow":"There is no recommended at this moment.","O_PaymentOnlineNowAndGetRewarded":"Payment online now and get rewarded","O_ThisAddressDoesNotExist":"This address doesn\u0027t exist, please try again.","O_SomeItemsAreNotAvailableRighNowAndRemove":"Some item(s) are not available right now and will be removed from your cart.","O_YouAreLeaveTheDineInService":"You are leaving the {0} service. \u003cbr /\u003e All the items added will remain unchanged","O_SelectThisOptionIfYouAreUnableToPayOnline":"Select this option if you are unable to pay online (membership rewards and promo codes \u003cstrong\u003eare not applicable\u003c/strong\u003e)","O_YesDeleteIt":"Yes, delete it!","O_UpToOff":"Up to {0}{1} off","O_RemarkProductDetail":"Additional Request","O_ThisDateIsNotAvailableForDineIn":"This date is not available for Dine-In","O_ThisProductRequiresPreorderAtLeastInAdvancePleaseChangeTheDateAndTime":"This product requires pre-order at least {0} {1} in advance.\u003cbr /\u003e\r\nPlease change the date and time accordingly to order this product.","O_OrderTracker_DisplayView_Collected":"Collected","O_PostalCodeIsIncorrect":"Postal code is incorrect","O_DontMissOutAvailableRewards":"Donât miss out! Register membership to receive these rewards.","O_Payment_OnlineOrderingForPickupIsNotAvailableUntil":"Online ordering for Pickup is not available until {0}","O_OrderTracker_ThankYouForYourRegistration":"Congratulations! Your bill has been discounted {0} off! Thank you for Sign up membership with us!","O_OrderTracker_CancelAmendMore":"Cancel Amend More","O_WrongPincode":"Wrong pincode","O_YourOrderHasBeenAdjusted":"Your order has been adjusted!","O_ScrollDownForMoreOutlets":"*Scroll down for more outlets*","O_EVouchersCannotBePurchasedViaCOD":"E-Vouchers cannot be purchased via COD. Please add more food items to proceed","O_OnlinePickupDelivery":"Online Pickup \u0026 Delivery","O_Promotion_StepOfSelectAny1Item":"\u
1478003cspan\u003e\u003cstrong class=\"promotion-rules\"\u003eStep {0} of {1}: \u003c/strong\u003e Select any 1 item (with {2} quantity) from the following and add to cart.\u003c/span\u003e","O_ThePhoneNumberInvalid":"The phone number should start with {0}","O_DoYouStillWantToCancel":"Do you still want to cancel?","O_ThisWillPermanentlyDeleteTheGroupOrderAndRemoveAllItemsAddedByParticipants":"This will permanently delete the group order and remove all items added by participants.","O_CancelCheckoutPromotion":"Promo bundle(s) selection incomplete. Do you want to keep the item(s) selected from that promo bundle(s) in your cart?","O_YourOrderIsWaitingForPayment":"Your order is waiting for payment","O_YoullContinueWithAPersonalOrderInstead":"You\u0027ll continue with a personal order instead.","O_OutletHasClosedForTheDay":"has closed for the day. The earliest pick-up is available in","O_ThisOptionAllowsMembershipRewardsAndPromoCode":"This option allows membership rewards and promo code (if applicable for this order)","O_DiscountForOrdersDuringThePeriodWith":"discount for {0} orders {1} during the period with a minimum spend of {2}{3}.","O_Business_ContentDeliveryTakeAway_Delivery":"Online food ordering, food delivery singapore, online food Singapore","O_YourOrderHasBeenPaidSuccessfully":"Your order has been paid successfully","O_WeCanNotFindAddrees":"We could not find the address : ","O_OrderTracker_OrderStatus_8":"Your order has been collected.\u003cbr /\u003eWe look forward to your next order!","O_OrderTracker_OrderStatus_3":"Your order is on delivery now.","O_OrderTracker_OrderStatus_2":"Merchant has confirmed your online delivery order.","O_OrderTracker_OrderStatus_5":"Merchant has confirmed your online pickup order.","O_OrderTracker_OrderStatus_4":"Your order has been delivered.\u003cbr /\u003eWe look forward to your next order!","O_OrderTracker_Amended":"Amended","O_YouDontHavePermission":"You don\u0027t have permission","O_PromoCodeMessageLimitedRedemption":"LIMITED REDEMPTIONS","O_ChangePassSuccess":"Your password has been changed.","O_SwitchingOutlet":"Switching outlet may end the group order and delete all items added by participants.","O_Promotion_ThisPromotionIsNotRedeemableAtTheSelectedFulfillmentDate":"This promotion is not redeemable at the selected fulfillment date and time.","O_PromoCodeHasBeenSuccessfullyAutoApplied":"Promo Code has been successfully auto applied","O_Congratulations_YouGotRewardsAndEVoucherFromYourOrder":"Congratulations, you got rewards and e-voucher from your order. Check it in Member Portal!","O_PleaseEnterQuantityGreaterThan0":"Please enter quantity greater than 0.","O_EarnManageAndRedeemRewards":"","O_PartialRefundWillBeOnProratedBasis":"Partial refund will be on pro-rated basis.","O_DeliveryLocationPostalCode":"Delivery location postal code","LengthInvalidMaxAndMin":"The {0} must be a string with a minimum length of {1} and a maximum length of {2}.","O_OrderTracker_DeliveryTimeHasBeenChanged":"Delivery time has been changed to","O_OrderTracker_OrderStatus_10":"Your order has been amended.","O_OrderTracker_OrderStatus_11":"Thank you! Your order has been submitted. Please wait for merchant to confirm your order.","O_OrderTracker_OrderStatus_12":"Merchant has confirmed your station ordering order.","O_OrderTracker_OrderStatus_13":"Serving your order.","O_OrderTracker_OrderStatus_14":"Your order has been completed.\u003cbr /\u003eWe look forward to your next order!","O_OrderTracker_OrderStatus_15":"Your order has been amended.","O_OrderTracker_OrderStatus_21":"Your order is ready for collection.","O_OrderTracker_OrderStatus_20":"Merchant is preparing your order now.","O_OrderTracker_OrderStatus_30":"Merchant is preparing your order now.","O_OrderTracker_OrderStatus_31":"Your food is ready for delivery.","O_OrderTracker_OrderStatus_49":"Customer decides to cancel these items","O_OrderTracker_OrderStatus_48":"Customer agrees to accept the adjustments","O_OrderTracker_OrderStatus_47":"Please verify your order changes","O_OrderTracker_OrderStatus_50":"Please verify your order changes","O_YourOrderIsCurrentlyBeingSplit":"Your order is currently being split. You won\u0027t be able to add new items right now.","O_PleasePresentThisQRCodeToOur":"Please present this QR code to our staff to confirm your order.","RegularInvalid":"The {0}
1478 is invalid.","O_ThisFieldIsRequired":"This field is required","O_PleaseSelectYourArea":"Please select your area","O_SelectionIncomplete":"Selection incomplete.","O_OrderTracker_Serving":"Serving","O_PleaseAddMoreItemIfNeeded":"Please add more item if needed or proceed with the remaining item(s).","O_PromoCodeUsingUOB_PC":"when using UOB card.","O_CongratulationNumberVouchersWillBeAdded":"Congratulation, \u003cb\u003e{0} paid voucher(s)\u003c/b\u003e will be added that can be used for future order once payment is completed.","O_OpenPriceMeasurementPromotionNote":"Item comes in standard unit size and price for in this promotion","O_OrderTracker_DisplayView_PleaseWait":"Please waitâ¦","O_Payment_TheMaximumAmountForCurrentPickUpTimeIsReach":"The maximum amount for current pickup time is reached. Please select another pickup time.","O_Voucher_WithoutMinimumSpend":"without minimum spend.","O_CopyLinkOrQRCodeToInviteOthers":"Copy Link or QR Code To Invite Others","O_Business_DeliveryOrPickup":"Delivery or Pickup","O_JoinedSuccessfully":"Joined successfully!","O_OrderTracker_Submitted":"Submitted","O_ConfirmCancelOrder":"Are you sure you want to cancel this order?","O_GreatChoicePleaseProceedNextStepToSelectThePromotionItem":"Great choice! Please proceed next step to select the promotion item.","O_Payment_TheDeliveryTimeIsNotValid":"The delivery time is not valid. Please re-select it.","O_Ready":"Ready","O_PleaseChooseAtLeastMultipleOptions":"Please choose at least {0} option(s).","O_Error":"Error !","O_ThisItemNotAvailableForDineIn":"This item is not available for Dine-In","O_AmendMore_Unsuccessful":"Unsuccessful! While you performed this Amend action.","O_Register_YouCanAlwaysManageYourRewards":"You can always manage your rewards, payments and notifications in the members portal.","O_weeks":"weeks","O_today":"today","O_OrderTracker_DisplayView_PleaseCollect":"Please collect","O_SessionTimeOut_LastOrderForToday":"Last order for today is","O_ThisDateIsNotAvailableForPickup":"This date is not available for pickup","O_NotEligibleToUseThisPaymentMethod":"Not eligible to use this payment method if your cart contains the open price item","O_Voucher_Redeem":"Redeem:","O_OrderTracker_PresentQRCodeDuringCollection":"Present QR code during collection","O_month":"month","O_FulfillmentTimeBlockoutStartsFrom":"Fulfillment Time Blockout starts from","O_hours":"hours","O_ThisProductIsUnavailableAtThisTime":"This product is unavailable at this time.","O_Limit_by_Sales_Your_fulfillment_time_has_been_updated":"Your fulfillment time has been updated","O_Voucher_WithTheMinimumAmountOf":"with the minimum amount of ${0}","MSG3":"This field is required.","O_PM":"PM","O_AM":"AM","O_at":"at","O_ThePasswordAndConfirmationPasswordDoNotMatch":"The password and confirmation password do not match.","O_ThePageYouAreLooking":"The page you are looking for was moved, removed, renamed or might never existed.","O_MembershipRegisteredSuccessfully":"Membership registered successfully!","O_YouCanSelectMaximumOption":"You can select maximum {0} option(s).","O_PromoCodeApplied":"Promo Code Applied"}; 1479 1480 adjustedDeliveryTime = 'False' == 'True'; 1481 isHideNotifiAdjustedDeliveryTime = 'False' == 'True'; 1482 //console.log('adjustedDeliveryTime', adjustedDeliveryTime); 1483 siteId = "sZyelz6f+SGMS+pk3WnxWHrF9idLXd4WIs24BLX4WTPeqGMv6uvD7ZGvNjkxQRCyOT2D7O9NLO1qkcFFj801Hg=="; 1484 orderUserStep = 1; 1485 isAutoRedirect = 'False' == 'True'; 1486 autoRedirectType = 2; 1487 1488 isAmendMore = 'False' == 'True'; 1489 1490 $(document).ready(function () { 1491 var listBranch = [{"docId":"713827ec-9f06-48ed-8684-211ecaca684b","index":2,"originalAddress":"154 West Coast Road #02-23 West Coast Plaza, Singapore, Singapore","originalAddress2":"Singapore, Singapore","address":"154 West Coast Road #02-23 West Coast Plaza, 127371, Singapore","address2":null,"addressCombine":"154 West Coast Road #02-23 West Coast Plaza, 127371, Singapore","businessID":"West Coz Cafe (West Coast Plaza)","description":null,"
1491Latitude":1.303843,"Longtitude":103.766292,"phone":"67791303","country":null,"city":null,"state":null,"zipCode":"127371","enablePickup":true,"enableDelivery":true,"enableStationOrdering":true,"enableReservation":false,"defaultStationId":"","earliestfulfillmentTime":35.242607105,"isToday":true,"timeZone":"Singapore Standard Time (UTC+8:00)","isBlockoutPickup":false,"endDatePickupString":"29/09/2026 06:39 PM","isBlockOut":false,"shortLink":"","sequenceNumber":0,"tableOrderingSetting":{"addressCombine":null,"status":true,"isEstimateServingTime":true,"allowAutoAcceptOrder":false,"allowSound":true,"allowPushNotification":true,"allowSendEmail":false,"allowSendSMS":false,"allowSendSMSForPickupReady":false,"arrayDayOfWeekSetting":[{"dayOfWeek":0,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:30","open_Closing":"21:30"},{"dayOfWeek":1,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:30","open_Closing":"23:00"},{"dayOfWeek":2,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:30","open_Closing":"23:30"},{"dayOfWeek":3,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:30","open_Closing":"21:30"},{"dayOfWeek":4,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"10:20","open_Closing":"21:30"},{"dayOfWeek":5,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:30","open_Closing":"21:30"},{"dayOfWeek":6,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:30","open_Closing":"21:30"}],"prepareTime":"20","freePrice":0,"limitNumberOrder":0,"allowAutoServeOrder":false,"allowAutoFullfillOrder":false,"isDropOffTime":false,"dropOffTime":0,"enableSingleDeliveryTime":false,"isSelfCollect":false,"isEnableReservation":false,"isEnableMinAmount":false,"minPickupAmount":0.0,"dateTimePickupMinAmountDate1":"\/Date(-62135596800000)\/","dateTimePickupMinAmountDate2":"\/Date(-62135596800000)\/","dateTimePickupMinAmountDate3":"\/Date(-62135596800000)\/","isPreOrderNotification":true,"isDisplayOnCart":true,"autoComplete":0,"autoCompletePayLater":24,"autoCompletePayFirst":24,"isDisableExtendBlockTime":false,"showOnlyDineIn":false,"isEnableUsingChopeApp":false,"isAutoCloseChopePopup":false,"chopeAppTime":0,"isChopeAppDesign":false,"isHighlightedPayFirstBtn":true,"phoneNumberInputOption":0,"popupEnterOrderingInfo":{"showPopupEnterOrderingInfo":true,"showEnterNumberOfPax":true,"showEnterYourName":true},"dynamicQRCodePrintSetting":{"allowPrintDynamicQRcode":false,"showNumberOfChildren":false,"printDynamicQRcodeAt":"\/Date(1778173849205)\/","allowFixQRcode":false,"multiUseDurationTime":0,"isNewVersion":true,"QRCodeGroupOrderingSetting":null,"QRCodeBuffetOrderingSetting":null,"showOutletName":true,"showOutletAddress":true,"showTableName":true,"diningDurationTimeTitle":"Dining Duration","showShortlink":true,"shortlinkContent":"Don\u0027t have QR code scanner?\r\nGet it here:","diningDurationTime":0,"showDiningDurationTime":true,"showGuidance":true,"showGuidanceStepFirst":true,"guidanceStepFirst":"Step 1: Scan the QR Code","showGuidanceStepSecond":true,"guidanceStepSecond":"Step 2: Select Your Buffet","showGuidanceStepThird":true,"guidanceStepThird":"Step 3: Confirm Your Order and Enjoy!","showGuidanceStepFourth":true,"guidanceStepFourth":"Step 4: Pay at Counter","showMemberRewards":true,"memberRewards":"Free Membership Rewards","showAvailableServices":true,"showDineInService":true,"dineInServiceTitle":"Dine-in","showPickupService":true,"pickupServiceTitle":"Pick-up","showDeliveryService":true,"deliveryServiceTitle":"Delivery","showOnlineShopUrl":true,"onlineShopUrl":"https://www.westcozcafe.com/","buffetType":0,"printTimeFormat":"hh:mm:ss yyyy-mm-dd","isShowCountdownTimer":false,"imageSettingLink":null,"imageSettingOption":0,"confirmBuffetMenuSelection":false,"enableGroupOrdering":false,"enableGroupOrderingDurationTime":false,"enableBuffetOrdering":false,"buffetOrderingDurationTime":120,"groupOrderingDurationTime":120},"enableAmountAvailableEachHour":false,"amountAvailableEachHour":0.0,"enableOrderAvailableEachHour":false,"orderAvailableEachHour":0,"isDisablePayFirst":false,"allowPayLater":false,"allowAutoAcceptPayLater":false,"allowAutoServePayLater":false,"isCustomServiceImage":false,"serviceImage":null,"allowShareOrder":false,"referenceChannels":null,"isSelectedAllOutlets":false,"outletListShouldShareOrder":null,"allowPayLaterSendEmail":false,"allowPayLaterSendSMSNewOrder":false,"allowPayLaterSendSMSAmendOrder":false,"allowPayLaterSendSMSCollectOrder":false,"allowPayLaterResendSMSCollectOrder":false,"enableGroupOrdering":false,"allowSendSMSForDineInNew":false,"allowSendSMSForDineInAmend":false,"allowSendSMSForDineInCollect":false,"allowSendSMSForDineInResendcollect":false},"isCloseToDay":false,"msgToDay":"","nextTimeOpenUTC":"\/Date(0)\/","contactMobile":"67791303","contact":"65","lat":1.303843,"lon":103.766292,"email":null,"pickUpSetting":{"addressCombine":null,"status":true,"isEstimateServingTime":false,"allowAutoAcceptOrder":false,"allowSound":true,"allowPushNotification":true,"allowSendEmail":true,"allowSendSMS":true,"allowSendSMSForPickupReady":true,"arrayDayOfWeekSetting":[{"dayOfWeek":0,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":1,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":2,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":3,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":4,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":5,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":6,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"}],"prepareTime":"30","freePrice":0,"limitNumberOrder":0,"allowAutoServeOrder":false,"allowAutoFullfillOrder":false,"isDropOffTime":false,"dropOffTime":0,"enableSingleDeliveryTime":false,"isSelfCollect":false,"isEnableReservation":false,"isEnableMinAmount":false,"minPickupAmount":0.0,"dateTimePickupMinAmountDate1":"\/Date(-62135596800000)\/","dateTimePickupMinAmountDate2":"\/Date(-62135596800000)\/","dateTimePickupMinAmountDate3":"\/Date(-62135596800000)\/","isPreOrderNotification":false,"isDisplayOnCart":false,"autoComplete":0,"autoCompletePayLater":0,"autoCompletePayFirst":0,"isDisableExtendBlockTime":false,"showOnlyDineIn":false,"isEnableUsingChopeApp":false,"isAutoCloseChopePopup":false,"chopeAppTime":5,"isChopeAppDesign":false,"isHighlightedPayFirstBtn":true,"phoneNumberInputOption":0,"popupEnterOrderingInfo":{"showPopupEnterOrderingInfo":true,"showEnterNumberOfPax":true,"showEnterYourName":true},"dynamicQRCodePrintSetting":null,"enableAmountAvailableEachHour":false,"amountAvailableEachHour":0.0,"enableOrderAvailableEachHour":false,"orderAvailableEachHour":0,"isDisablePayFirst":false,"allowPayLater":false,"allowAutoAcceptPayLater":false,"allowAutoServePayLater":false,"isCustomServiceImage":false,"serviceImage":null,"allowShareOrder":false,"referenceChannels":null,"isSelectedAllOutlets":false,"outletListShouldShareOrder":null,"allowPayLaterSendEmail":false,"allowPayLaterSendSMSNewOrder":false,"allowPayLaterSendSMSAmendOrder":false,"allowPayLaterSendSMSCollectOrder":false,"allowPayLaterResendSMSCollectOrder":false,"enableGroupOrdering":false,"allowSendSMSForDineInNew":false,"allowSendSMSForDineInAmend":false,"allowSendSMSForDineInCollect":false,"allowSendSMSForDineInResendcollect":false},"serviceChargeItem":{"_id":"e03634a5-ffeb-4707-8254-256f052b1c1d","docId":"e03634a5-ffeb-4707-8254-256f052b1c1d","valueRate":10,"name":"Service Charge","
1491isPercent":true,"isApplyStationOrdering":true,"isApplyStationDineIn":false,"isApplyPOS":true,"isApplyPickup":false,"isApplyDelivery":false,"isFix":false,"percentageDiscountType":null,"valueDiscountType":null},"arrayTax":[{"_id":"e40c3015-736b-449a-8a84-a128e646e19c","docId":"e40c3015-736b-449a-8a84-a128e646e19c","valueRate":9,"name":"GST","isPercent":true,"typeUpdateGstPercent":1,"taxInclusive":0}],"deliverySettingTime":{"addressCombine":"","status":false,"isEstimateServingTime":false,"allowAutoAcceptOrder":false,"allowSound":false,"allowPushNotification":false,"allowSendEmail":false,"allowSendSMS":false,"allowSendSMSForPickupReady":false,"arrayDayOfWeekSetting":[{"dayOfWeek":0,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null},{"dayOfWeek":1,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null},{"dayOfWeek":2,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null},{"dayOfWeek":3,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null},{"dayOfWeek":4,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null},{"dayOfWeek":5,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null},{"dayOfWeek":6,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null}],"prepareTime":"30","freePrice":0,"limitNumberOrder":0,"allowAutoServeOrder":false,"allowAutoFullfillOrder":false,"isDropOffTime":false,"dropOffTime":0,"enableSingleDeliveryTime":false,"isSelfCollect":false,"isEnableReservation":false,"isEnableMinAmount":false,"minPickupAmount":0.0,"dateTimePickupMinAmountDate1":"\/Date(-62135596800000)\/","dateTimePickupMinAmountDate2":"\/Date(-62135596800000)\/","dateTimePickupMinAmountDate3":"\/Date(-62135596800000)\/","isPreOrderNotification":false,"isDisplayOnCart":false,"autoComplete":0,"autoCompletePayLater":0,"autoCompletePayFirst":0,"isDisableExtendBlockTime":false,"showOnlyDineIn":false,"isEnableUsingChopeApp":false,"isAutoCloseChopePopup":false,"chopeAppTime":5,"isChopeAppDesign":false,"isHighlightedPayFirstBtn":true,"phoneNumberInputOption":0,"popupEnterOrderingInfo":{"showPopupEnterOrderingInfo":true,"showEnterNumberOfPax":true,"showEnterYourName":true},"dynamicQRCodePrintSetting":null,"enableAmountAvailableEachHour":false,"amountAvailableEachHour":0.0,"enableOrderAvailableEachHour":false,"orderAvailableEachHour":0,"isDisablePayFirst":false,"allowPayLater":false,"allowAutoAcceptPayLater":false,"allowAutoServePayLater":false,"isCustomServiceImage":false,"serviceImage":null,"allowShareOrder":false,"referenceChannels":null,"isSelectedAllOutlets":false,"outletListShouldShareOrder":null,"allowPayLaterSendEmail":false,"allowPayLaterSendSMSNewOrder":false,"allowPayLaterSendSMSAmendOrder":false,"allowPayLaterSendSMSCollectOrder":false,"allowPayLaterResendSMSCollectOrder":false,"enableGroupOrdering":true,"allowSendSMSForDineInNew":false,"allowSendSMSForDineInAmend":false,"allowSendSMSForDineInCollect":false,"allowSendSMSForDineInResendcollect":false},"currentActiveDeliveryZone":8,"totalDeliveryZone":15,"deliverySettingTemplate":null,"storeCode":null,"receiptPrintedName":"West Coz Cafe (West Coast Plaza)","onlineShopDisplayName":"West Coz Cafe (West Coast Plaza)","isManualInputCardNumber":false,"isManualInputCVVNumber":false,"isSetupManualInputTerminal":true,"status":true,"isEstimateServingTime":true,"prepareTime":"20","isPreOrderNotification":true,"isEnableKDS":false,"enablePayNow":false,"enablePayNowScreen":false}]; 1492 var countOutletPickup = 0; 1493 for (var i = 0; i < listBranch.length; i++) { 1494 if (listBranch[i].enablePickup === true) { 1495 countOutletPickup++; 1496 } 1497 } 1498 1499 maximumSessionTimeout = parseInt(30, 10); 1500 currentSessionTimeout = maximumSessionTimeout; 1501 1502 var scanQRCode = ""; 1503 var scanQRCodeTitle = ""; 1504 deliveryMethodSession = 'Pickup'; 1505 stepShowCalendar = 0; 1506 let windowWidth = $(window).width(); 1507 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0
1507); 1508 if (windowHeight < 1) { 1509 windowHeight = $(window).height(); 1510 } 1511 if (stepShowCalendar == 0 && 'False' == 'False' && !(deliveryMethodSession == 'StationOrdering' && scanQRCode && scanQRCode != '')) { 1512 deliveryMethodSession = ''; 1513 } 1514 var currentUrl = window.location.href.toLowerCase(); 1515 if (currentUrl.indexOf('/checkout') <= 0 && currentUrl.indexOf('/paymentsubmit') <= 0 && 'False' == 'False') { 1516 if ('False' === 'False'){ 1517 if (deliveryMethodSession == "") { 1518 if('True'==='True') 1519 { 1520 if('True'==='False') 1521 { 1522 if (countOutletPickup != 1) { 1523 $('#brachIndexModal').modal('show'); 1524 } 1525 else { 1526 for (var i = 0; i < listBranch.length; i++) { 1527 if (listBranch[i].enablePickup === true) { 1528 changeBranchIndex(listBranch[i].index, false); 1529 break; 1530 } 1531 } 1532 } 1533 } 1534 else 1535 { 1536 setTimeoutDeliveryPickupMethod(blockout,'True','True'); 1537 1538 //selectService(); 1539 //$("#deliveryModal").modal('show'); 1540 } 1541 } 1542 else if('True'==='True') 1543 { 1544 $('#postalCodeModal').modal('show'); 1545 } 1546 } 1547 else{ 1548 //ordering blockout expired 1549 var currentUrl = window.location.href.toLowerCase(); 1550 setTimeoutBlockoutExpired(currentUrl, blockout); 1551 } 1552 } 1553 else{ 1554 if (deliveryMethodSession == "") { 1555 if ('True'==='False' && 'True'==='False'){ 1556 if ('' !== '') { 1557 loadBranchModel(true); 1558 } 1559 else { 1560 loadBranchModel(true); 1561 } 1562 } 1563 else{ 1564 setTimeoutDeliveryPickupMethod(blockout,'True','True'); 1565 //selectService(); 1566 //$("#deliveryModal").modal('show'); 1567 } 1568 } 1569 else{ 1570 //ordering blockout expired 1571 var currentUrl = window.location.href.toLowerCase(); 1572 setTimeoutBlockoutExpired(currentUrl, blockout); 1573 } 1574 } 1575 1576 } 1577 1578 if (scanQRCode == "" && orderUserStep == 2 && 'True' == 'True') { 1579 showAnnouncementPopup(); 1580 showStickyAnnouncement(); 1581 } 1582 1583 if (scanQRCode && scanQRCode != '') { 1584 if ('False' == 'True' || 'False' == 'True') { 1585 isSelfCollect = 'False' == 'True'; 1586 isPayLater = 'False' == 'True'; 1587 isCustomServiceImage = 'False' == 'True'; 1588 serviceImage = ''; 1589 isCustomGroupImage = 'False' == 'True'; 1590 imageSettingLink = ''; 1591 isGroupOrdering = 'False' == 'True'; 1592 $("#modalDineInWelcome").modal('show'); 1593 } 1594 } 1595 1596 $("#search-form .stxtProductSearch").keypress(function(e) { 1597 if (e.keyCode === 13) { 1598 var search = $(".stxtProductSearch").val(); 1599 if (search === undefined || search === "") { 1600 alert("Please enter text to search."); 1601 } else { 1602 searchProduct(search); 1603 } 1604 return false; 1605 } 1606 return true; 1607 }); 1608 1609 $("#btnProductSearch").click(function(e) { 1610 var search = $(".stxtProductSearch").val(); 1611 if (search === undefined || search === "") { 1612 alert("Please enter text to search."); 1613 } else { 1614 searchProduct(search); 1615 } 1616 return false; 1617 }); 1618 1619 stationId = ""; 1620 enableLimitBySales = 'False' == 'True'; 1621 changePostalCodeType = 0; 1622 //console.log('isAutoRedirect', isAutoRedirect); 1623 siteId = "sZyelz6f+SGMS+pk3WnxWHrF9idLXd4WIs24BLX4WTPeqGMv6uvD7ZGvNjkxQRCyOT2D7O9NLO1qkcFFj801Hg=="; 1624 //console.log('stepShowCalendar', stepShowCalendar); 1625 if (stepShowCalendar == 1) { 1626 $.ajax({
1627 type: "POST", 1628 url: urlCheckShowPopUpTime, 1629 //contentType: 'application/json; charset=UTF-8', 1630 data: { authorization: siteId }, 1631 success: function (result) { 1632 if (result && result.stepShowCalendar == 1) { 1633 showTimeModal(false); 1634 } 1635 }, 1636 error: function () { 1637 showTimeModal(false); 1638 initTimePicker(new Date()); 1639 }, 1640 beforeSend: function () { 1641 1642 }, 1643 complete: function () { 1644 setTimeout(function () { 1645 initTimePicker(dateSelected); 1646 }, 500); 1647 } 1648 }); 1649 1650 } else if (stepShowCalendar == 3) { 1651 $('#dateModal').modal('show'); 1652 } else if (stepShowCalendar == 4) { 1653 showTimeModal(false); 1654 } else if (changePostalCodeType == 1) { 1655 $('#outletChanged').modal('show'); 1656 } else if (changePostalCodeType == 2) { 1657 $('#dateValueSelected').text('01 Jan, 01'); 1658 $('#dateValueSelected2').val('01 Jan, 01'); 1659 $('#hdDateSelected').val('01/01/0001'); 1660 LoadMatchOutlet(0, '', 0, ''); 1661 } 1662 1663 $("#modalDineInWelcome").on('shown.bs.modal', function (e) { 1664 if (isGroupOrdering) { 1665 if (isCustomGroupImage == true) { 1666 $('.dine-in-service-image').html(`<img src="${imageSettingLink}" alt="group ordering image" />`); 1667 $('.custom-service-image').show(); 1668 $('.default-service-type').hide(); 1669 } else { 1670 $('.dine-in-information').html(getWelcomeIconApplyThemeColor(isSelfCollect, true, isPayLater)); 1671 $('.custom-service-image').hide(); 1672 $('.default-service-type').show(); 1673 } 1674 } else { 1675 if (isCustomServiceImage == true) { 1676 $('.dine-in-service-image').html(`<img src="${serviceImage}" alt="service image" />`); 1677 $('.custom-service-image').show(); 1678 $('.default-service-type').hide(); 1679 } 1680 else { 1681 $('.dine-in-information').html(getWelcomeIconApplyThemeColor(isSelfCollect, false, isPayLater)); 1682 $('.custom-service-image').hide(); 1683 $('.default-service-type').show(); 1684 } 1685 } 1686 1687 var dineinWelcomeOffetHeight = 0; 1688 if (document.querySelector("#modalDineInWelcome .modal-dialog.modal-lg")) { 1689 dineinWelcomeOffetHeight = document.querySelector("#modalDineInWelcome .modal-dialog.modal-lg").offsetHeight; 1690 } 1691 1692 $("#modalDineInWelcome .modal-dialog.modal-lg").css({ top: (($(window).height() - dineinWelcomeOffetHeight) / 2 - 1) + 'px' }); 1693 setTimeout(function () { 1694 if (popupEnterOrderingInfo.showEnterNumberOfPax) { 1695 $('#dineinTotalPax').focus(); 1696 } 1697 else if (popupEnterOrderingInfo.showEnterYourName) { 1698 $('#dineinFirstname').focus(); 1699 } 1700 }, 500); 1701 }); 1702 1703 $("#modalDineInWelcome").on('hidden.bs.modal', function (e) { 1704 $('.dine-in-information').html(''); 1705 }); 1706 1707 }); 1708 function updateCart() { 1709 $.ajax({
1710 type: "GET", 1711 url: '/Product/GetCountProductInCart', 1712 cache: false, 1713 success: function(result) { 1714 setCountOrderInMyCart(result); 1715 }, 1716 error: function() {}, 1717 beforeSend: function() {}, 1718 complete: function() {} 1719 }); 1720 } 1721 1722 function subscribeNewsletter() { 1723 var email = $('#emailSubscribe').val().trim(); 1724 1725 if (email.length < 1) { 1726 //Display failed status 1727 $('#AlertSubscribeFailed').css('display', 'block'); 1728 } else { 1729 if (validateEmail(email)) { 1730 var formData = { email: email }; 1731 $('.footer-subscribe-loading').css("display", "block"); 1732 1733 $.ajax({ 1734 type: "POST", 1735 url: '/Customer/SubscribeNewsletter', 1736 data: formData, 1737 success: function(result) { 1738 //Hidden other alerts 1739 resetAlert(); 1740 //Display successfull status 1741 $('#AlertSubscribeSuccessfull').css('display', 'block'); 1742 //Disable section 1743 $('#emailSubscribe').attr('disabled', 'disabled'); 1744 $('#btnSubscribe').attr('disabled', 'disabled'); 1745 }, 1746 error: function(error) { 1747 console.log(error); 1748 //Hidden other alerts 1749 resetAlert(); 1750 //Display failed status 1751 $('#AlertSubscribeFailed').css('display', 'block'); 1752 }, 1753 beforeSend: function() {}, 1754 complete: function() { 1755 $('.footer-subscribe-loading').css("display", "none"); 1756 } 1757 }); 1758 } else { 1759 //Hidden other alerts 1760 resetAlert(); 1761 //ErrEmailIsInvalid 1762 $('#AlertSubscribeFailed').css('display', 'block'); 1763 } 1764 } 1765 } 1766 1767 function resetAlert() { 1768 //Hidden all alerts 1769 $('#AlertSubscribeSuccessfull').css('display', 'none'); 1770 $('#AlertSubscribeFailed').css('display', 'none'); 1771 } 1772 </script>
1772 1773 <noscript>JavaScript is off. Please enable to view full site.</noscript> 1774 <!--google map 111 ---> 1775
1775<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places&key=AIzaSyArRxeepv6A3eICyGgcHCyPbk_DE6hPONA"></script>
1775 1776 <!--google map--> 1777 1778
1778<script src="/Scripts/mobileCheck.js?v=111.20260916-129"></script>
1778 1779 1780 1781
1781<script src="/Scripts/themes/welcome-icon.js?v=111.20260916-129"></script>
1781 1782 1783 1784 1785<div class="modal fade text-center in popup-full-mobi-v2" id="deliveryModal" tabindex="-1" aria-labelledby="" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 1786 <div class="vertical-alignment-helper"> 1787 <div class="modal-dialog vertical-align-center"> 1788 <div class="modal-content "> 1789 <div class="modal-header header-title" style="min-height: 50px;"> 1790 <div class=""> 1791 <button type="button" class="close-left visible-xs hidden-sm hidden-md hidden-lg" id="btn-serviceModal-close" data-dismiss="modal" aria-label="Close"> 1792 <svg width="20" height="14" viewBox="0 0 20 14" fill="none" xmlns="http://www.w3.org/2000/svg" style="color: black;"> 1793 <path d="M7 14L8.41 12.59L3.83 8H20V6H3.83L8.42 1.41L7 0L0 7L7 14Z" fill="#F26722"></path> 1794 </svg> 1795 </button> 1796 </div> 1797 1798 <div class="col-xs-11 col-width-96 title-service-popup"> 1799 <p> 1800 <strong id="titleservicepopup">SELECT YOUR DESIRED SERVICE</strong> 1801 </p> 1802 </div> 1803 1804 <div class="hidden-xs visible-sm visible-md visible-lg"> 1805 <button type="button" class="close pull-right" id="btn-deliveryModal-close" data-dismiss="modal" aria-label="Close"> 1806 <img src="/Content/images/Closeclose.svg" /> 1807 </button> 1808 </div> 1809 </div> 1810 <div class="modal-body" style="overflow: hidden;"> 1811 <div class="form-group hidden"> 1812 <h4 class="text-center intro-headtext-modal"><strong>Select Service</strong><span class="hidden-sm hidden-xs"><strong> To Start</strong></span></h4><br /> 1813 <div class="row"> 1814 1815 1816 1817 <div class="col-md-push-2 col-md-4 col-sm-12 col-landscape service-modal-block-xs service-modal-block-xss service-modal-block-sm service-modal-block-md" id="btnPickup"> 1818 <h3 class="service-modal-text-sm service-modal-text-md service-modal-text-xs service-modal-text-xss"> 1819 <strong class="hidden-xs hidden-sm">Pick-up</strong> 1820 </h3> 1821 <div class="container-promotion"> 1822 <div class="container-promotion__image"> 1823 <div class="service-modal-image-sm service-modal-image-xs service-modal-image-xss"> 1824 <img class="service-modal-img" src="/Content/Images/custom/carrot/icon-pickup.svg" /> 1825 </div> 1826 </div> 1827 <div class="container-promotion__text"> 1828 <h3 class="service-modal-text-sm service-modal-text-md service-modal-text-xs service-modal-text-xss"> 1829 <strong class="hidden-lg hidden-md">Pick-up</strong> 1830 </h3> 1831 <br class="hidden-sm hidden-xs" /> 1832 <h5 class="service-modal-desc-sm service-modal-desc-md service-modal-desc-xs service-modal-desc-xss text-capitalize desc-text-modal">Order & collect</h5> 1833 <h5 class="service-modal-desc-sm service-modal-desc-md service-modal-desc-xs service-modal-desc-xss text-capitalize desc-text-modal">no queuing</h5><br /> 1834 <div class="promotion-block-list"> 1835 </div> 1836 </div> 1837 </div> 1838 </div> 1839 <div class="col-md-push-2 col-md-4 col-sm-12 col-landscape service-modal-block-xs service-modal-block-xss service-modal-block-sm service-modal-block-md" id="btnDelivery"> 1840 <h3 class="service-modal-text-sm service-modal-text-md service-modal-text-xs service-modal-text-xss"> 1841 <strong class="hidden-xs hidden-sm">Delivery</strong> 1842 </h3> 1843 <div class="container-promotion"> 1844 <div class="container-promotion__image"> 1845 <div class="service-modal-image-sm service-modal-image-xs service-modal-image-xss"> 1846 <img class="service-modal-img" src="/Content/Images/custom/carrot/icon-delivery.svg" /> 1847 </div> 1848 </div> 1849 <div class="container-promotion__text"> 1850 <h3 class="service-modal-text-sm service-modal-text-md service-modal-text-xs service-modal-text-xss"> 1851 <strong class="hidden-lg hidden-md ">Delivery</strong> 1852 </h3> 1853 <br class="hidden-sm hidden-xs" /> 1854 <h5 class="service-modal-desc-sm service-modal-desc-md service-modal-desc-xs service-modal-desc-xss text-capitalize desc-text-modal">Served to your</h5> 1855 <h5 class="service-modal-desc-sm service-modal-desc-md service-modal-desc-xs service-modal-desc-xss text-capitalize desc-text-modal">doorstep</h5><br /> 1856 <div class="promotion-block-list"> 1857 </div> 1858 </div> 1859 </div> 1860 </div> 1861 1862 </div> 1863 </div> 1864 1865 <div class="bodyservice"> 1866 <div class="row tabsession"> 1867 <div class="from-group"> 1868 <ul class="nav nav-tabs" id="tabservicepopup"> 1869 <li class="active left" style="width:50%"><a id="linkTabPickUp" data-toggle="tab" href="#tabPickup">Pick-up</a></li> 1870 <li class=" right" style="width:50%"><a id="linkTabDelivery" data-toggle="tab" href="#tabDelivery">Delivery</a></li> 1871 </ul> 1872 1873 </div> 1874 </div> 1875 <div class="row"> 1876 <div class="from-group"> 1877 <div class="tab-content"> 1878 <div id="tabPickup" class="tab-pane fade active"> 1879 <div class="row hidden-xs visible-sm visible-md visible-lg" style="padding-top: 12px;"> 1880 <div class="col-xs-12"> 1881 <div id="map-canvas" class=""></div> 1882 </div> 1883 </div> 1884 <div class="row"> 1885 <div class="col-xs-12 titletabsession">
1886 <span>Select outlet to Pickup Order</span> 1887 </div> 1888 </div> 1889 <div class="row outlet-cell " id="outlet-pickup-2" onclick="chooseOutletIndex(2, '#tabPickup ')"> 1890 <div class="col-xs-2 remove-padding-right pull-left"> 1891 <div class="icon-outlet "> 1892 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 1893 <path fill-rule="evenodd" clip-rule="evenodd" d="M2.77555 0.343341C2.69007 0.364068 2.54602 0.418487 2.45543 0.464272C2.1277 0.630025 1.77225 1.09299 1.77225 1.35416C1.77225 1.50063 1.88541 1.64106 2.03753 1.68326C2.19141 1.72598 13.8135 1.72598 13.9674 1.68326C14.1189 1.64121 14.2326 1.50057 14.2326 1.35534C14.2326 1.18017 14.0691 0.894928 13.8526 0.692565C13.6489 0.502025 13.4332 0.386179 13.1853 0.334076C12.9426 0.283057 2.98767 0.291901 2.77555 0.343341ZM1.83262 2.48901C1.77032 2.54563 1.51903 3.02035 1.03681 3.99237C0.265291 5.54762 0.260175 5.5617 0.325426 5.9472C0.458217 6.73177 0.941553 7.39162 1.64009 7.74202C2.38079 8.11357 3.29226 8.07756 3.99946 7.64886L4.165 7.5485L4.2252 7.62972C4.75377 8.34303 5.42795 8.69424 6.26626 8.69301C6.86589 8.69214 7.42595 8.48397 7.84735 8.10529L8.00358 7.96487L8.13758 8.08833C8.42453 8.35269 8.78425 8.53824 9.20342 8.63808C9.41714 8.68898 9.52763 8.69716 9.83839 8.68513C10.3723 8.66443 10.7159 8.55565 11.1229 8.27848C11.3171 8.14617 11.6323 7.83678 11.7517 7.66107L11.8292 7.54715L11.97 7.62996C12.4372 7.9048 12.733 7.98581 13.2695 7.98581C13.6027 7.98581 13.7187 7.97344 13.914 7.91719C14.7514 7.67614 15.3874 7.04381 15.616 6.22513C15.716 5.86673 15.7261 5.61536 15.6494 5.38957C15.6139 5.28485 15.2883 4.60668 14.926 3.88248C14.4406 2.91242 14.2422 2.54475 14.1723 2.486L14.0775 2.40629H8.0006H1.9237L1.83262 2.48901ZM3.6082 8.55959C3.20868 8.67267 2.78861 8.71193 2.43975 8.66876C1.98194 8.61212 1.93264 8.61738 1.81438 8.73558L1.71205 8.83785V11.6782C1.71205 14.8256 1.70287 14.6709 1.9103 15.0141C2.08457 15.3024 2.3562 15.5134 2.70527 15.6315C2.86136 15.6844 3.01001 15.6876 5.31 15.6876C7.62191 15.6876 7.75359 15.6847 7.8332 15.6326C8.00635 15.5192 8.00244 15.5786 8.00244 13.0704C8.00244 10.5709 7.99922 10.6212 8.16698 10.5113C8.24021 10.4634 8.38862 10.4599 10.1019 10.4658C11.761 10.4715 11.9664 10.4775 12.0412 10.5216C12.2218 10.6282 12.2161 10.5446 12.2161 13.0855C12.2161 15.6744 12.2069 15.5583 12.4199 15.6593C12.5111 15.7026 12.5808 15.7078 12.8501 15.6914C13.2076 15.6697 13.4399 15.6036 13.6643 15.4597C13.9251 15.2925 14.143 15.0037 14.238 14.6997C14.2894 14.5349 14.2928 14.3476 14.2928 11.681V8.83785L14.1863 8.73136L14.0797 8.62487L13.8326 8.64545C13.6967 8.65679 13.4884 8.67394 13.3697 8.68356C13.114 8.70429 12.7592 8.65814 12.3711 8.55364C12.0435 8.46538 11.983 8.47338 11.7947 8.62978C11.4789 8.89215 11.113 9.09256 10.7233 9.2165C9.92597 9.47015 9.10888 9.41396 8.33703 9.05246C8.19807 8.98736 8.04536 8.93412 7.99768 8.93412C7.94998 8.93412 7.79946 8.98742 7.66324 9.05261C6.78936 9.47063 5.78699 9.47683 4.91374 9.06961C4.76274 8.99919 4.55573 8.88235 4.45376 8.81C3.91266 8.42606 3.99444 8.45028 3.6082 8.55959ZM6.38704 10.4793C6.59029 10.5641 6.58785 10.5476 6.58785 11.8443C6.58785 13.1234 6.59162 13.0955 6.40694 13.1909C6.33428 13.2285 6.13507 13.2358 5.19735 13.2354C3.9904 13.2349 3.98472 13.2343 3.86691 13.0757C3.80546 12.993 3.80383 12.9614 3.80383 11.841C3.80383 10.7786 3.80801 10.6849 3.85876 10.6075C3.9644 10.4463 4.00952 10.4407 5.1968 10.4394C6.05296 10.4385 6.31002 10.4471 6.38704 10.4793Z" fill="#333333" /> 1894 </svg> 1895 </div> 1896 1897 </div> 1898 <div class="col-xs-10 remove-padding-left padding-top-10"> 1899 <strong style="">1. West Coz Cafe (West Coast Plaza)</strong> 1900 <p style="" class="text-muted padding-top-10">154 West Coast Road #02-23 West Coast Plaza, 127371, Singapore (+65 67791303)</p> 1901 </div> 1902 </div> 1903 </div> 1904 <div id="tabDelivery" class="tab-pane fade "> 1905 <div class="row"> 1906 <div class="col-xs-12 titletabsession">
1907 <span id="titlePostalCode">Postal Code</span> 1908 </div> 1909 </div> 1910 <div class="row"> 1911 <div class="col-xs-12 inputPostalCode"> 1912 <input id="postalCodeAutocompleteV2" type="number" oninput="numberOnly(this.id);" maxlength="6" name="postalCodeV2" 1913 value="" placeholder="Delivery location postal code" /> 1914 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" onclick="$('#postalCodeAutocompleteV2').val('');$('#postalCodeAutocompleteV2').keyup();"> 1915 <path d="M10.7826 5.2175C10.7129 5.1472 10.6299 5.09141 10.5386 5.05333C10.4472 5.01525 10.3491 4.99565 10.2501 4.99565C10.1511 4.99565 10.0531 5.01525 9.96169 5.05333C9.87029 5.09141 9.78734 5.1472 9.71762 5.2175L8.00012 6.9425L6.28262 5.2175C6.14139 5.07627 5.94985 4.99693 5.75012 4.99693C5.55039 4.99693 5.35885 5.07627 5.21762 5.2175C5.07639 5.35873 4.99705 5.55027 4.99705 5.75C4.99705 5.94972 5.07639 6.14127 5.21762 6.2825L6.94262 8L5.21762 9.7175C5.14732 9.78722 5.09153 9.87017 5.05345 9.96157C5.01538 10.053 4.99577 10.151 4.99577 10.25C4.99577 10.349 5.01538 10.447 5.05345 10.5384C5.09153 10.6298 5.14732 10.7128 5.21762 10.7825C5.28734 10.8528 5.37029 10.9086 5.46169 10.9467C5.55308 10.9847 5.65111 11.0043 5.75012 11.0043C5.84913 11.0043 5.94716 10.9847 6.03855 10.9467C6.12995 10.9086 6.2129 10.8528 6.28262 10.7825L8.00012 9.0575L9.71762 10.7825C9.78734 10.8528 9.87029 10.9086 9.96169 10.9467C10.0531 10.9847 10.1511 11.0043 10.2501 11.0043C10.3491 11.0043 10.4472 10.9847 10.5386 10.9467C10.6299 10.9086 10.7129 10.8528 10.7826 10.7825C10.8529 10.7128 10.9087 10.6298 10.9468 10.5384C10.9849 10.447 11.0045 10.349 11.0045 10.25C11.0045 10.151 10.9849 10.053 10.9468 9.96157C10.9087 9.87017 10.8529 9.78722 10.7826 9.7175L9.05762 8L10.7826 6.2825C10.8529 6.21278 10.9087 6.12983 10.9468 6.03843C10.9849 5.94704 11.0045 5.84901 11.0045 5.75C11.0045 5.65099 10.9849 5.55296 10.9468 5.46157C10.9087 5.37017 10.8529 5.28722 10.7826 5.2175ZM13.3026 2.6975C12.6108 1.98117 11.7832 1.40981 10.8682 1.01674C9.95312 0.623671 8.96897 0.416774 7.97313 0.40812C6.97728 0.399466 5.98969 0.589229 5.06797 0.966336C4.14624 1.34344 3.30885 1.90034 2.60466 2.60454C1.90046 3.30873 1.34356 4.14612 0.966458 5.06784C0.589351 5.98957 0.399589 6.97716 0.408242 7.97301C0.416896 8.96885 0.623793 9.953 1.01686 10.868C1.40993 11.7831 1.98129 12.6106 2.69762 13.3025C3.38947 14.0188 4.21706 14.5902 5.13209 14.9833C6.04712 15.3763 7.03127 15.5832 8.02711 15.5919C9.02296 15.6005 10.0106 15.4108 10.9323 15.0337C11.854 14.6566 12.6914 14.0997 13.3956 13.3955C14.0998 12.6913 14.6567 11.8539 15.0338 10.9322C15.4109 10.0104 15.6007 9.02283 15.592 8.02699C15.5833 7.03114 15.3764 6.04699 14.9834 5.13196C14.5903 4.21693 14.0189 3.38935 13.3026 2.6975ZM12.2451 12.245C11.2642 13.2271 9.97302 13.8386 8.59172 13.9755C7.21041 14.1123 5.82437 13.766 4.66976 12.9956C3.51515 12.2251 2.66339 11.0782 2.2596 9.75011C1.85581 8.42207 1.92497 6.9951 2.45531 5.71234C2.98564 4.42957 3.94433 3.37036 5.16804 2.71517C6.39175 2.05998 7.80478 1.84935 9.16638 2.11915C10.528 2.38896 11.7539 3.12252 12.6353 4.19484C13.5167 5.26717 13.999 6.61193 14.0001 8C14.0028 8.78846 13.8491 9.56963 13.5478 10.2983C13.2466 11.0269 12.8038 11.6886 12.2451 12.245Z" fill="#232A3E" /> 1916 </svg> 1917 1918 <p class="padding-top-10 text-level-red-color" id="postalCodeAutocompleteV2_error_text"></p> 1919 </div> 1920 </div> 1921 <div class="row"> 1922 <div class="col-xs-12 btnContinue"> 1923 <button class="btn" type="button" onclick="confirmPostalCode();" disabled="disabled"> 1924 Continue 1925 </button> 1926 </div> 1927 </div> 1928 </div> 1929 <div id="tabDinein" class="tab-pane fade "> 1930 <div class="row"> 1931 <div class="col-xs-12 titletabsession">
1932 <span>Select Dine-In Outlet</span> 1933 </div> 1934 </div> 1935 </div> 1936 </div> 1937 </div> 1938 </div> 1939 </div> 1940 1941 </div> 1942 <div class="modal-footer fix-modal-footer"> 1943 <button class="btn" type="button" onclick="confirmService()"> 1944 Confirm 1945 </button> 1946 </div> 1947 </div> 1948 </div> 1949 </div> 1950</div> 1951
1952<script> 1953 currentOutletIndex = 2; 1954 var sessionDeliveryMethodKey = 'SessionDeliveryMethodKey'; 1955 var deliveryMethod = 1; 1956 deliveryMethodSession = 'Pickup'; 1957 var isClose = false; 1958 var isServiceClose = false; 1959 var useDynamicMap = true; 1960 var useStaticMap = false; 1961 1962 var isConfirmSwitchOutlet = false; 1963 1964 $("#btnPickup").click(function (e) { 1965 isDeliveryMethod = true; 1966 deliveryMethod = 1; 1967 //changeDeliveryMethod(1);//Pickup 1968 $('#deliveryModal').modal('hide'); 1969 }); 1970 1971 $("#btnDelivery").click(function (e) { 1972 openDelivery(); 1973 }); 1974 function confirmService() { 1975 console.log(deliveryMethod); 1976 if (deliveryMethod == 0) { 1977 confirmPostalCode(); 1978 } 1979 else if (deliveryMethod == 1) { 1980 confirmOutletIndex(); 1981 } 1982 else { 1983 confirmStation(); 1984 } 1985 } 1986 function openDelivery() { 1987 isDeliveryMethod = true; 1988 deliveryMethod = 0; 1989 //changeDeliveryMethod(0);//Delivery 1990 $('#deliveryModal').modal('hide'); 1991 } 1992 $("#btnStationOrdering").click(function (e) { 1993 openStationOrdering(); 1994 }); 1995 1996 $("#linkTabPickUp").click(function (e) { 1997 if ('False' == 'True' && deliveryMethod == 0) { 1998 $('#end-group-order-switch-modal').modal('show'); 1999 } 2000 2001 deliveryMethod = 1; 2002 if (!allowChangeService) { 2003 $("#deliveryModal .modal-footer").removeClass('hidden'); 2004 //$("#deliveryModal .modal-footer .btn").text('Confirm'); 2005 } 2006 else { 2007 $("#deliveryModal .modal-footer").addClass('hidden'); 2008 } 2009 }); 2010 $("#linkTabDelivery").click(function (e) { 2011 deliveryMethod = 0; 2012 $("#deliveryModal .modal-footer").addClass('hidden'); 2013 setTimeout(function () { $("#postalCodeAutocompleteV2").focus(); }, 300); 2014 //$("#deliveryModal .modal-footer .btn").text('Continue'); 2015 }); 2016 $("#linkTabDineIn").click(function (e) { 2017 if ('False' == 'True' && deliveryMethod == 0) { 2018 $('#end-group-order-switch-modal').modal('show'); 2019 } 2020 2021 deliveryMethod = 2; 2022 }); 2023 function openStationOrdering() { 2024 isDeliveryMethod = true; 2025 deliveryMethod = 2; 2026 //changeDeliveryMethod(2);//StationOrdering 2027 $('#deliveryModal').modal('hide'); 2028 } 2029 2030 $('#btn-deliveryModal-close').click(function () { 2031 isClose = true; 2032 isServiceClose = true; 2033 }); 2034 2035 $('#btn-serviceModal-close').click(function () { 2036 isClose = true; 2037 isServiceClose = true; 2038 }); 2039 2040 function chooseOutletIndex(outletIndex, elementId) { 2041 if (elementId == '#dateModal ' && isConfirmSwitchOutlet == false && 'False' == 'True' && outletIndex != 0) { 2042 showGroupOrderSwitchOutletModal3(); 2043 } 2044 2045 //console.log('chooseOutletIndex', outletIndex); 2046 $(elementId + '.outlet-cell').removeClass("active"); 2047 $(elementId + '.outlet-cell .icon-outlet').removeClass("active"); 2048 $(elementId + '.icon-outlet > svg').find("path").css({ fill: '#333333' }); 2049 //$('#deliveryModal .tab-pane .outlet-cell .fa-spinner').addClass("hidden"); 2050 2051 outletIndexChosse = outletIndex; 2052 if (elementId == '#tabPickup ') { 2053 $('#outlet-pickup-' + outletIndex).addClass("active"); 2054 $('#outlet-pickup-' + outletIndex + ' .icon-outlet').addClass("active"); 2055 $('#outlet-pickup-' + outletIndex + ' .icon-outlet > svg').find("path").css({ fill: '#F26722' }); 2056 if (allowChangeService) { 2057 confirmOutletIndex(); 2058 } 2059 } 2060 if (elementId == '#tabDinein ') { 2061 $('#outlet-dinein-' + outletIndex).addClass("active"); 2062 $('#outlet-dinein-' + outletIndex + ' .icon-outlet').addClass("active"); 2063 $('#outlet-dinein-' + outletIndex + ' .icon-outlet > svg').find("path").css({ fill: '#F26722' }); 2064 if (allowChangeService) { 2065 confirmStation(); 2066 } 2067 } 2068 if (elementId == '#dateModal ') { 2069 $('#currentSelectedOutlet').val(outletIndex); 2070 $('#outlet-delivery-' + outletIndex).addClass("active"); 2071 $('#outlet-delivery-' + outletIndex + ' .icon-outlet').addClass("active"); 2072 $('#outlet-delivery-' + outletIndex + ' .icon-outlet > svg').find("path").css({ fill: '#F26722' }); 2073 $("#btnChooseDeliveryOutlet").prop('disabled', false); 2074 if (stepShowCalendar == 3) { 2075 var needReload = isNeedReloadPage; 2076 isNeedReloadPage = false; 2077 $('#deliveryModal').modal('hide'); 2078 isClose = true; 2079 ChooseMatchOutlet(2); 2080 } 2081 } 2082 } 2083 function confirmOutletIndex() { 2084 if (outletIndexChosse > 1) { 2085 //$('#outlet-pickup-spinner-' + outletIndexChosse).removeClass("hidden"); 2086 popupLoading = new Loading({ title: 'Loading' }); 2087 changeBranchIndex(outletIndexChosse, true); 2088 isServiceClose = true; 2089 //$('#deliveryModal').modal('hide'); 2090 } 2091 } 2092 function confirmStation() { 2093 if (outletIndexChosse > 1) { 2094 var defaultStationId = $('#default-station-id-' + outletIndexChosse).val(); 2095 var businessID = $('#title-station-' + outletIndexChosse).val(); 2096 var enableReservation = $('#enable-reservation-' + outletIndexChosse).val(); 2097 var setting = JSON.parse($('#table-ordering-setting-' + outletIndexChosse).val()); 2098 var outletIndex = outletIndexChosse; 2099 var prepareTime = $('#outlet-preparetime-' + outletIndexChosse).val(); 2100 var status = $('#outlet-status-' + outletIndexChosse).val(); 2101 var isEstimateServingTime = $('#outlet-estimateservingtime-' + outletIndexChosse).val(); 2102 var isPreOrderNotification = $('#outlet-ordernotification-' + outletIndexChosse).val(); 2103 console.log(defaultStationId, businessID, enableReservation, setting, outletIndex, prepareTime, status, isEstimateServingTime, isPreOrderNotification); 2104 goToStation(defaultStationId, businessID, enableReservation, setting, outletIndex, prepareTime, status, isEstimateServingTime, isPreOrderNotification); 2105 $('#deliveryModal').modal('hide'); 2106 } 2107 } 2108 function changeDeliveryMethod(_deliveryMethod) { 2109 deliveryMethod = _deliveryMethod; 2110 $.ajax({
2111 type: "POST", 2112 url: '/Home/ChangeDeliveryMethod', 2113 data: { deliveryMethod: deliveryMethod }, 2114 success: function (result) { 2115 if (result.isExistedItemHide) { 2116 //console.log('ChangeDeliveryMethod', result); 2117 isExistedItemHide = result.isExistedItemHide; 2118 listProductInvalid = result.listProductInvalid; 2119 } 2120 //_orderType 2121 //TODO more 2122 }, 2123 error: function () { }, 2124 beforeSend: function () { }, 2125 complete: function () { } 2126 }); 2127 } 2128 $('#deliveryModal').on('hidden.bs.modal', function () { 2129 let tabActive = $("#content-tab-main").find(".active"); 2130 //console.log('deliveryModal closed'); 2131 $(".session-service-item .fa").removeClass('fa-spinner'); 2132 $(".session-service-item .fa").removeClass('fa-spin'); 2133 $(".session-service-item .pickupservice .fa").addClass('fa-chevron-right'); 2134 $(".session-service-item .deliveryservice .fa").addClass('fa-pencil'); 2135 if (isServiceClose || (tabActive.length > 0 && isClose) || (isClose && false)) { 2136 isClose = false; 2137 isServiceClose = false; 2138 isProcessingTab = false; 2139 return; 2140 } 2141 2142 $('#li_tab_Pick_Up').removeClass('active'); 2143 $('#tab_Pick_Up').removeClass('active'); 2144 $('#li_tab_Delivery').removeClass('active'); 2145 $('#tab_Delivery').removeClass('active'); 2146 $('#li_tab_Dine_In').removeClass('active'); 2147 $('#tab_Dine_In').removeClass('active'); 2148 2149 from_deliveryMethodModal = true; 2150 if (deliveryMethod != 2) { 2151 //changeDeliveryMethod(deliveryMethod);//Pickup 2152 } 2153 2154 var listBranch = [{"docId":"713827ec-9f06-48ed-8684-211ecaca684b","index":2,"originalAddress":"154 West Coast Road #02-23 West Coast Plaza, Singapore, Singapore","originalAddress2":"Singapore, Singapore","address":"154 West Coast Road #02-23 West Coast Plaza, 127371, Singapore","address2":null,"addressCombine":"154 West Coast Road #02-23 West Coast Plaza, 127371, Singapore","businessID":"West Coz Cafe (West Coast Plaza)","description":null,"
2154Latitude":1.303843,"Longtitude":103.766292,"phone":"67791303","country":null,"city":null,"state":null,"zipCode":"127371","enablePickup":true,"enableDelivery":true,"enableStationOrdering":true,"enableReservation":false,"defaultStationId":"","earliestfulfillmentTime":35.242607105,"isToday":true,"timeZone":"Singapore Standard Time (UTC+8:00)","isBlockoutPickup":false,"endDatePickupString":"29/09/2026 06:39 PM","isBlockOut":false,"shortLink":"","sequenceNumber":0,"tableOrderingSetting":{"addressCombine":null,"status":true,"isEstimateServingTime":true,"allowAutoAcceptOrder":false,"allowSound":true,"allowPushNotification":true,"allowSendEmail":false,"allowSendSMS":false,"allowSendSMSForPickupReady":false,"arrayDayOfWeekSetting":[{"dayOfWeek":0,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:30","open_Closing":"21:30"},{"dayOfWeek":1,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:30","open_Closing":"23:00"},{"dayOfWeek":2,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:30","open_Closing":"23:30"},{"dayOfWeek":3,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:30","open_Closing":"21:30"},{"dayOfWeek":4,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"10:20","open_Closing":"21:30"},{"dayOfWeek":5,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:30","open_Closing":"21:30"},{"dayOfWeek":6,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:30","open_Closing":"21:30"}],"prepareTime":"20","freePrice":0,"limitNumberOrder":0,"allowAutoServeOrder":false,"allowAutoFullfillOrder":false,"isDropOffTime":false,"dropOffTime":0,"enableSingleDeliveryTime":false,"isSelfCollect":false,"isEnableReservation":false,"isEnableMinAmount":false,"minPickupAmount":0.0,"dateTimePickupMinAmountDate1":"\/Date(-62135596800000)\/","dateTimePickupMinAmountDate2":"\/Date(-62135596800000)\/","dateTimePickupMinAmountDate3":"\/Date(-62135596800000)\/","isPreOrderNotification":true,"isDisplayOnCart":true,"autoComplete":0,"autoCompletePayLater":24,"autoCompletePayFirst":24,"isDisableExtendBlockTime":false,"showOnlyDineIn":false,"isEnableUsingChopeApp":false,"isAutoCloseChopePopup":false,"chopeAppTime":0,"isChopeAppDesign":false,"isHighlightedPayFirstBtn":true,"phoneNumberInputOption":0,"popupEnterOrderingInfo":{"showPopupEnterOrderingInfo":true,"showEnterNumberOfPax":true,"showEnterYourName":true},"dynamicQRCodePrintSetting":{"allowPrintDynamicQRcode":false,"showNumberOfChildren":false,"printDynamicQRcodeAt":"\/Date(1778173849205)\/","allowFixQRcode":false,"multiUseDurationTime":0,"isNewVersion":true,"QRCodeGroupOrderingSetting":null,"QRCodeBuffetOrderingSetting":null,"showOutletName":true,"showOutletAddress":true,"showTableName":true,"diningDurationTimeTitle":"Dining Duration","showShortlink":true,"shortlinkContent":"Don\u0027t have QR code scanner?\r\nGet it here:","diningDurationTime":0,"showDiningDurationTime":true,"showGuidance":true,"showGuidanceStepFirst":true,"guidanceStepFirst":"Step 1: Scan the QR Code","showGuidanceStepSecond":true,"guidanceStepSecond":"Step 2: Select Your Buffet","showGuidanceStepThird":true,"guidanceStepThird":"Step 3: Confirm Your Order and Enjoy!","showGuidanceStepFourth":true,"guidanceStepFourth":"Step 4: Pay at Counter","showMemberRewards":true,"memberRewards":"Free Membership Rewards","showAvailableServices":true,"showDineInService":true,"dineInServiceTitle":"Dine-in","showPickupService":true,"pickupServiceTitle":"Pick-up","showDeliveryService":true,"deliveryServiceTitle":"Delivery","showOnlineShopUrl":true,"onlineShopUrl":"https://www.westcozcafe.com/","buffetType":0,"printTimeFormat":"hh:mm:ss yyyy-mm-dd","isShowCountdownTimer":false,"imageSettingLink":null,"imageSettingOption":0,"confirmBuffetMenuSelection":false,"enableGroupOrdering":false,"enableGroupOrderingDurationTime":false,"enableBuffetOrdering":false,"buffetOrderingDurationTime":120,"groupOrderingDurationTime":120},"enableAmountAvailableEachHour":false,"amountAvailableEachHour":0.0,"enableOrderAvailableEachHour":false,"orderAvailableEachHour":0,"isDisablePayFirst":false,"allowPayLater":false,"allowAutoAcceptPayLater":false,"allowAutoServePayLater":false,"isCustomServiceImage":false,"serviceImage":null,"allowShareOrder":false,"referenceChannels":null,"isSelectedAllOutlets":false,"outletListShouldShareOrder":null,"allowPayLaterSendEmail":false,"allowPayLaterSendSMSNewOrder":false,"allowPayLaterSendSMSAmendOrder":false,"allowPayLaterSendSMSCollectOrder":false,"allowPayLaterResendSMSCollectOrder":false,"enableGroupOrdering":false,"allowSendSMSForDineInNew":false,"allowSendSMSForDineInAmend":false,"allowSendSMSForDineInCollect":false,"allowSendSMSForDineInResendcollect":false},"isCloseToDay":false,"msgToDay":"","nextTimeOpenUTC":"\/Date(0)\/","contactMobile":"(+65 67791303)","contact":"65","lat":1.303843,"lon":103.766292,"email":null,"pickUpSetting":{"addressCombine":null,"status":true,"isEstimateServingTime":false,"allowAutoAcceptOrder":false,"allowSound":true,"allowPushNotification":true,"allowSendEmail":true,"allowSendSMS":true,"allowSendSMSForPickupReady":true,"arrayDayOfWeekSetting":[{"dayOfWeek":0,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":1,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":2,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":3,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":4,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":5,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":6,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"}],"prepareTime":"30","freePrice":0,"limitNumberOrder":0,"allowAutoServeOrder":false,"allowAutoFullfillOrder":false,"isDropOffTime":false,"dropOffTime":0,"enableSingleDeliveryTime":false,"isSelfCollect":false,"isEnableReservation":false,"isEnableMinAmount":false,"minPickupAmount":0.0,"dateTimePickupMinAmountDate1":"\/Date(-62135596800000)\/","dateTimePickupMinAmountDate2":"\/Date(-62135596800000)\/","dateTimePickupMinAmountDate3":"\/Date(-62135596800000)\/","isPreOrderNotification":false,"isDisplayOnCart":false,"autoComplete":0,"autoCompletePayLater":0,"autoCompletePayFirst":0,"isDisableExtendBlockTime":false,"showOnlyDineIn":false,"isEnableUsingChopeApp":false,"isAutoCloseChopePopup":false,"chopeAppTime":5,"isChopeAppDesign":false,"isHighlightedPayFirstBtn":true,"phoneNumberInputOption":0,"popupEnterOrderingInfo":{"showPopupEnterOrderingInfo":true,"showEnterNumberOfPax":true,"showEnterYourName":true},"dynamicQRCodePrintSetting":null,"enableAmountAvailableEachHour":false,"amountAvailableEachHour":0.0,"enableOrderAvailableEachHour":false,"orderAvailableEachHour":0,"isDisablePayFirst":false,"allowPayLater":false,"allowAutoAcceptPayLater":false,"allowAutoServePayLater":false,"isCustomServiceImage":false,"serviceImage":null,"allowShareOrder":false,"referenceChannels":null,"isSelectedAllOutlets":false,"outletListShouldShareOrder":null,"allowPayLaterSendEmail":false,"allowPayLaterSendSMSNewOrder":false,"allowPayLaterSendSMSAmendOrder":false,"allowPayLaterSendSMSCollectOrder":false,"allowPayLaterResendSMSCollectOrder":false,"enableGroupOrdering":false,"allowSendSMSForDineInNew":false,"allowSendSMSForDineInAmend":false,"allowSendSMSForDineInCollect":false,"allowSendSMSForDineInResendcollect":false},"serviceChargeItem":{"_id":"e03634a5-ffeb-4707-8254-256f052b1c1d","docId":"e03634a5-ffeb-4707-8254-256f052b1c1d","valueRate":10,"name":"Service Charge","
2154isPercent":true,"isApplyStationOrdering":true,"isApplyStationDineIn":false,"isApplyPOS":true,"isApplyPickup":false,"isApplyDelivery":false,"isFix":false,"percentageDiscountType":null,"valueDiscountType":null},"arrayTax":[{"_id":"e40c3015-736b-449a-8a84-a128e646e19c","docId":"e40c3015-736b-449a-8a84-a128e646e19c","valueRate":9,"name":"GST","isPercent":true,"typeUpdateGstPercent":1,"taxInclusive":0}],"deliverySettingTime":{"addressCombine":"","status":false,"isEstimateServingTime":false,"allowAutoAcceptOrder":false,"allowSound":false,"allowPushNotification":false,"allowSendEmail":false,"allowSendSMS":false,"allowSendSMSForPickupReady":false,"arrayDayOfWeekSetting":[{"dayOfWeek":0,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null},{"dayOfWeek":1,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null},{"dayOfWeek":2,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null},{"dayOfWeek":3,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null},{"dayOfWeek":4,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null},{"dayOfWeek":5,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null},{"dayOfWeek":6,"option":2,"split_OpeningStart":null,"split_OpeningEnd":null,"split_ClosingStart":null,"split_ClosingEnd":null,"open_Opening":null,"open_Closing":null}],"prepareTime":"30","freePrice":0,"limitNumberOrder":0,"allowAutoServeOrder":false,"allowAutoFullfillOrder":false,"isDropOffTime":false,"dropOffTime":0,"enableSingleDeliveryTime":false,"isSelfCollect":false,"isEnableReservation":false,"isEnableMinAmount":false,"minPickupAmount":0.0,"dateTimePickupMinAmountDate1":"\/Date(-62135596800000)\/","dateTimePickupMinAmountDate2":"\/Date(-62135596800000)\/","dateTimePickupMinAmountDate3":"\/Date(-62135596800000)\/","isPreOrderNotification":false,"isDisplayOnCart":false,"autoComplete":0,"autoCompletePayLater":0,"autoCompletePayFirst":0,"isDisableExtendBlockTime":false,"showOnlyDineIn":false,"isEnableUsingChopeApp":false,"isAutoCloseChopePopup":false,"chopeAppTime":5,"isChopeAppDesign":false,"isHighlightedPayFirstBtn":true,"phoneNumberInputOption":0,"popupEnterOrderingInfo":{"showPopupEnterOrderingInfo":true,"showEnterNumberOfPax":true,"showEnterYourName":true},"dynamicQRCodePrintSetting":null,"enableAmountAvailableEachHour":false,"amountAvailableEachHour":0.0,"enableOrderAvailableEachHour":false,"orderAvailableEachHour":0,"isDisablePayFirst":false,"allowPayLater":false,"allowAutoAcceptPayLater":false,"allowAutoServePayLater":false,"isCustomServiceImage":false,"serviceImage":null,"allowShareOrder":false,"referenceChannels":null,"isSelectedAllOutlets":false,"outletListShouldShareOrder":null,"allowPayLaterSendEmail":false,"allowPayLaterSendSMSNewOrder":false,"allowPayLaterSendSMSAmendOrder":false,"allowPayLaterSendSMSCollectOrder":false,"allowPayLaterResendSMSCollectOrder":false,"enableGroupOrdering":true,"allowSendSMSForDineInNew":false,"allowSendSMSForDineInAmend":false,"allowSendSMSForDineInCollect":false,"allowSendSMSForDineInResendcollect":false},"currentActiveDeliveryZone":8,"totalDeliveryZone":15,"deliverySettingTemplate":null,"storeCode":null,"receiptPrintedName":"West Coz Cafe (West Coast Plaza)","onlineShopDisplayName":"West Coz Cafe (West Coast Plaza)","isManualInputCardNumber":false,"isManualInputCVVNumber":false,"isSetupManualInputTerminal":true,"status":true,"isEstimateServingTime":true,"prepareTime":"20","isPreOrderNotification":true,"isEnableKDS":false,"enablePayNow":false,"enablePayNowScreen":false}]; 2155 var countOutletPickup = 0; 2156 for (var i = 0; i < listBranch.length; i++) { 2157 if (listBranch[i].enablePickup === true){ 2158 countOutletPickup++; 2159 } 2160 } 2161 if (isClose === false) { 2162 if (deliveryMethod == 1) { 2163 if (countOutletPickup != 1) { 2164 $('#li_tab_Pick_Up').addClass('active'); 2165 $('#tab_Pick_Up').addClass('active'); 2166 $("#brachIndexModal").modal('show'); 2167 } 2168 else{ 2169 for (var i = 0; i < listBranch.length; i++) { 2170 if (listBranch[i].enablePickup === true) { 2171 changeBranchIndex(listBranch[i].index, false); 2172 break; 2173 } 2174 } 2175 } 2176 } 2177 else if (deliveryMethod == 0) { 2178 $('#li_tab_Delivery').addClass('active'); 2179 $('#tab_Delivery').addClass('active'); 2180 $('#postalCodeModal').modal('show'); 2181 } 2182 else { 2183 if ('' !== '') { 2184 loadBranchModel(true); 2185 } 2186 else { 2187 loadBranchModel(true); 2188 } 2189 } 2190 } 2191 else { 2192 isDeliveryMethod = true; 2193 if ('True' == 'True') { 2194 if (countOutletPickup != 1) { 2195 $('#li_tab_Pick_Up').addClass('active'); 2196 $('#tab_Pick_Up').addClass('active'); 2197 $("#brachIndexModal").modal('show'); 2198 } 2199 else { 2200 for (var i = 0; i < listBranch.length; i++) { 2201 if (listBranch[i].enablePickup === true) { 2202 changeBranchIndex(listBranch[i].index, false); 2203 break; 2204 } 2205 } 2206 } 2207 } 2208 else { 2209 if ('True' == 'True') { 2210 $('#li_tab_Delivery').addClass('active'); 2211 $('#tab_Delivery').addClass('active'); 2212 $('#postalCodeModal').modal('show'); 2213 } 2214 else { 2215 loadBranchModel(true); 2216 } 2217 } 2218 2219 //$('#deliveryModal').modal('hide'); 2220 2221 2222 } 2223 });
2224 2225 $(document).ready(function () { 2226 deliveryMethodSession = 'Pickup'; 2227 if (deliveryMethodSession == "" && 'True' == 'False' && 'True' == 'False') { 2228 if ('True' == 'True') { 2229 isDeliveryMethod = true; 2230 deliveryMethod = 1; 2231 //changeDeliveryMethod(1);//Pickup 2232 } 2233 else { 2234 isDeliveryMethod = true; 2235 deliveryMethod = 0; 2236 //changeDeliveryMethod(0);//Delivery 2237 } 2238 } 2239 else if (deliveryMethodSession == "" && 'True' == 'False') { 2240 isDeliveryMethod = true; 2241 deliveryMethod = 0; 2242 //changeDeliveryMethod(0);//Delivery 2243 } 2244 2245 var deliveryModal = $('#deliveryModal'); 2246 deliveryModal.on('shown.bs.modal', function () { 2247 let windowWidth = $(window).width(); 2248 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 2249 if (windowHeight < 1) { 2250 windowHeight = $(window).height(); 2251 } 2252 //if (windowWidth < 768) { 2253 if (true) { 2254 let heightInstagram = 0; 2255 2256 if (ios && !standalone && !safari && navigator.userAgent.match(/instagram/i)) { 2257 //uiwebview 2258 $("html").addClass("padding-top-50"); 2259 heightInstagram = 113; 2260 deliveryModal.find(".modal-header").css("padding-top", "50px"); 2261 } 2262 else { 2263 $("html").removeClass("padding-top-50"); 2264 heightInstagram = 0; 2265 deliveryModal.find(".modal-header").removeAttr("style"); 2266 } 2267 2268 let maxHeightDeliveryBody = (windowHeight - $('#deliveryModal').find('.header-title').innerHeight() - heightInstagram); 2269 2270 if (windowWidth > 767) { 2271 maxHeightDeliveryBody -= 100; 2272 } 2273 2274 if (!$('#deliveryModal').find('.fix-modal-footer').hasClass('hidden')) { 2275 maxHeightDeliveryBody -= $('#deliveryModal').find('.fix-modal-footer').innerHeight(); 2276 } 2277 2278 if (typeof window.getPwaBottomNavOffset === 'function') { 2279 maxHeightDeliveryBody -= window.getPwaBottomNavOffset(); 2280 } 2281 2282 if (isFacebookApp() === true && !ios) { 2283 maxHeightDeliveryBody -= 50; 2284 } 2285 2286 deliveryModal.css('overflow-y', 'hidden').find(".modal-body").css('overflow-y', 'hidden'); 2287 $("#deliveryModal").find('.bodyservice').css({ 2288 'overflow-y': 'auto', 2289 'overflow-x': 'hidden', 2290 'max-height': maxHeightDeliveryBody, 2291 'min-height': '250px', 2292 }); 2293 if (deliveryMethodSession == 'Delivery') { 2294 $("#postalCodeAutocompleteV2").val(""); 2295 selectedPostalCode = ""; 2296 setTimeout(function () { 2297 $("#postalCodeAutocompleteV2").keyup(); 2298 $("#postalCodeAutocompleteV2").focus(); 2299 }, 300); 2300 } 2301 console.log(deliveryMethodSession); 2302 if (deliveryMethodSession == 'Pickup' && 1 == 2) { 2303 $('#tabPickup .outlet-cell').removeClass("active"); 2304 $('#tabPickup .outlet-cell .icon-outlet').removeClass("active"); 2305 $('#tabPickup .icon-outlet > svg').find("path").css({ fill: '#333333' }); 2306 2307 outletIndexChosse = 0; 2308 $('#outlet-pickup-' + outletIndexChosse).addClass("active"); 2309 $('#outlet-pickup-' + outletIndexChosse + ' .icon-outlet').addClass("active"); 2310 $('#outlet-pickup-' + outletIndexChosse + ' .icon-outlet > svg').find("path").css({ fill: '#F26722' }); 2311 } 2312 if (deliveryMethodSession == 'StationOrdering' && 1 == 2) { 2313 $('#tabDinein .outlet-cell').removeClass("active"); 2314 $('#tabDinein .outlet-cell .icon-outlet').removeClass("active"); 2315 $('#tabDinein .icon-outlet > svg').find("path").css({ fill: '#333333' }); 2316 2317 outletIndexChosse = 0; 2318 $('#outlet-dinein-' + outletIndexChosse).addClass("active"); 2319 $('#outlet-dinein-' + outletIndexChosse + ' .icon-outlet').addClass("active"); 2320 $('#outlet-dinein-' + outletIndexChosse + ' .icon-outlet > svg').find("path").css({ fill: '#F26722' }); 2321 } 2322 2323 if (!allowChangeService && isOpenDateTime) { 2324 isNeedReloadPage = false; 2325 if (isShowDateModal) { 2326 $('#dateModal').modal('hide'); 2327 } 2328 if (isShowTimeModal) {
2329 $('#timeModal').modal('hide'); 2330 } 2331 } 2332 } 2333 2334 if (useStaticMap) { 2335 GetBranchIndexListByStaticMap(); 2336 } 2337 else if (useDynamicMap) { 2338 GetBranchIndexListByMap(); 2339 } 2340 }); 2341 2342 hidePostalCodeErrorV2(); 2343 2344 if (originalPotion === false) originalPotion = $(window).width() + $(window).height(); 2345 2346 $(window).resize(function () { 2347 if (useStaticMap) { 2348 staticMapsInitialSize(false); 2349 } 2350 else if (useDynamicMap) { 2351 mapsInitialSize(); 2352 } 2353 }); 2354 }); 2355 //function onKeyboardOnOff(isOpen) { 2356 // isChangeNot = true; 2357 // // Write down your handling code 2358 // if (isOpen) { 2359 // // keyboard is open 2360 // $('#updateFocusPostalCode').val('true'); 2361 // isCurrentOpen = true; 2362 // } else { 2363 // // keyboard is closed 2364 // $('#updateFocusPostalCode').val('false'); 2365 // isCurrentOpen = false; 2366 // } 2367 // //resetHeightBody(isOpen); 2368 // $('#titlePostalCode').text($('#titlePostalCode').text() + ' isOpen ' + isOpen + ' screen h ' + screen.height); 2369 //} 2370 2371 var originalPotion = false; 2372 function getMobileOperatingSystem() { 2373 var userAgent = navigator.userAgent || navigator.vendor || window.opera; 2374
2375 // Windows Phone must come first because its UA also contains "Android" 2376 if (/windows phone/i.test(userAgent)) { 2377 return "winphone"; 2378 } 2379 2380 if (/android/i.test(userAgent)) { 2381 return "android"; 2382 } 2383 2384 // iOS detection from: http://stackoverflow.com/a/9039885/177710 2385 if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) { 2386 return "ios"; 2387 } 2388 2389 return ""; 2390 } 2391 var isCurrentOpen = false; 2392 var isChangeNot = false; 2393 //$(window).on('resize orientationchange', function () { 2394 // applyAfterResize(); 2395 //}); 2396 //$(document).on('focus blur', "input[name='postalCodeV2']", function (e) { 2397 // var $obj = $(this); 2398 // var nowWithKeyboard = (e.type == 'focusin'); 2399 // //$('body').toggleClass('view-withKeyboard', nowWithKeyboard); 2400 // onKeyboardOnOff(nowWithKeyboard); 2401 //}); 2402 //function applyAfterResize() { 2403 // isChangeNot = false; 2404 // if (getMobileOperatingSystem() != 'ios') { 2405 // console.log('originalPotion', originalPotion); 2406 // $('#titlePostalCode').text('originalPotion ' + originalPotion); 2407 // if (originalPotion !== false) { 2408 // //var wasWithKeyboard = $('body').hasClass('view-withKeyboard'); 2409 // var wasWithKeyboard = $('#updateFocusPostalCode').val() == 'true'; 2410 // var nowWithKeyboard = false; 2411 2412 // var diff = Math.abs(originalPotion - ($(window).width() + $(window).height())); 2413 // console.log('diff', diff); 2414 // if (diff > 100) nowWithKeyboard = true; 2415 2416 // $('#titlePostalCode').text('originalPotion ' + originalPotion + ' screen h ' + screen.height + ' diff ' + diff + ' nowWithKeyboard ' + nowWithKeyboard + ' wasWithKeyboard ' + wasWithKeyboard); 2417 // //$('body').toggleClass('view-withKeyboard', nowWithKeyboard); 2418 // if (wasWithKeyboard != nowWithKeyboard) { 2419 // onKeyboardOnOff(nowWithKeyboard); 2420 // } 2421 // } 2422 // //if (!isChangeNot) { 2423 // // resetHeightBody(true); 2424 // //} 2425 // } 2426 //} 2427 //function resetHeightBody(isFocusStyle) { 2428 // if (isFocusStyle) { 2429 // let windowWidth = $(window).width(); 2430 // let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 2431 // if (windowHeight < 1) { 2432 // windowHeight = $(window).height(); 2433 // } 2434 // var mobileOperating = getMobileOperatingSystem(); 2435 // if (windowWidth < 768 && mobileOperating != 'ios' && mobileOperating != '') { 2436 // $('#deliveryModal').find('.fix-modal-footer').attr('style', 'bottom: 325px;'); 2437 // } 2438 // } 2439 // else { 2440 // $('#deliveryModal').find('.fix-modal-footer').removeAttr('style'); 2441 // } 2442 //} 2443 function changeLangModel(e) { 2444 2445 changeLang($(e).val()); 2446 } 2447 function showPostalCodeErrorV2(message) { 2448 //$("#postalCodeAutocompleteV2_error").css('display', 'block'); 2449 $("#postalCodeAutocompleteV2_error_text").html(message); 2450 $('#btnCheckOut').prop('disabled', true); 2451 2452 //$("#btnAddPostalCode").removeAttr("disabled"); 2453 //var textEnter = languageButton["O_Enter"]; 2454 //if (!textEnter) { 2455 // textEnter = "Enter"; 2456 //} 2457 //$("#btnAddPostalCode").html(textEnter); 2458 isPostalCode = false; 2459 } 2460 2461 function hidePostalCodeErrorV2() { 2462 //$("#postalCodeAutocompleteV2_error").css('display', 'none'); 2463 $("#postalCodeAutocompleteV2_error_text").text(''); 2464 } 2465 2466 $("#postalCodeAutocompleteV2").keyup(function () { 2467 var _length = $("#postalCodeAutocompleteV2").val().length; 2468 if (_length == 6) { 2469 $("#tabDelivery .btnContinue .btn").removeAttr("disabled"); 2470 } 2471 else { $("#tabDelivery .btnContinue .btn").attr('disabled', 'disabled'); } 2472 2473 if (_length > 0) { 2474 $(".inputPostalCode > svg").removeAttr("style"); 2475 } 2476 else { 2477 $(".inputPostalCode > svg").attr("style", "display: none;"); 2478 } 2479 });
2480 $("#postalCodeAutocompleteV2").keypress(function (event) { 2481 if (event.keyCode == 13) { 2482 var _length = $("#postalCodeAutocompleteV2").val().length; 2483 if (_length == 6) { 2484 if ('False' == 'True') { 2485 showGroupOrderSwitchOutletModal2(); 2486 } else { 2487 $("#tabDelivery .btnContinue .btn").click(); 2488 } 2489 } 2490 } 2491 }); 2492 function confirmPostalCode() { 2493 var postalCode = $("#postalCodeAutocompleteV2").val().trim(); 2494 console.log(postalCode); 2495 if (!postalCode) { 2496 $("#postalCodeAutocompleteV2").focus(); 2497 showPostalCodeErrorV2('Please input the postal code for delivery'); 2498 //e.preventDefault(); 2499 return false; 2500 } 2501 2502 var btn = $("#btnAddPostalCode"); 2503 btn.attr('disabled', 'disabled'); 2504 btn.html('<i class=\"fa fa-spinner fa-spin\"></i>'); 2505 2506 var btnV2 = $("#tabDelivery .btnContinue .btn"); 2507 btnV2.attr('disabled', 'disabled'); 2508 btnV2.html('Continue' + '<i class=\"fa fa-spinner fa-spin\"></i>'); 2509 2510 isPostalCode = true; 2511 2512 updatePostalCode(postalCode, postalCode, true, showPostalCodeErrorV2); 2513 2514 } 2515 2516</script>
2516 2517 2518 <div id="timeModalContain"> 2519
2519<script src="https://web-content.getz.co/prod/Scripts/jquery.datetimepicker.min.js"></script>
2519 2520<link href="/Content/jquery.datetimepicker.css" rel="stylesheet" type="text/css" /> 2521 2522 2523 2524 2525 2526<div class="space-filler"> 2527</div> 2528<div class="modal fade popup-full-mobi-v2 popup-datetime-mobi-v2" id="timeModal" tabindex="-1" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 2529 <div class="modal-dialog"> 2530 <div class="modal-content"> 2531 <div class="modal-header header-title"> 2532 <div> 2533 <button type="button" class="close-left" id="btn-timeModal-close" data-dismiss="modal" aria-label="Close"> 2534 <svg width="20" height="14" viewBox="0 0 20 14" fill="none" xmlns="http://www.w3.org/2000/svg" style="color: black;"> 2535 <path d="M7 14L8.41 12.59L3.83 8H20V6H3.83L8.42 1.41L7 0L0 7L7 14Z" fill="#F26722"></path> 2536 </svg> 2537 </button> 2538 </div> 2539 <div class="col-xs-11 col-width-96"> 2540 <p> 2541 <strong id="titletimepopup">Select Services</strong> 2542 </p> 2543 </div> 2544 2545 <input type="hidden" id="settingDeliveryTime" value="" /> 2546 <input type="hidden" id="updateCurrentSelectedDate" /> 2547 2548 <div class="hidden"> 2549 <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close"> 2550 <img src="/Content/images/Closeclose.svg" /> 2551 </button> 2552 <h4 id="timeModal_header" class="modal-title text-center intro-headtext-modal">Choose Date & Time</h4> 2553 </div> 2554 </div> 2555 <div class="modal-body scrollable" style="overflow-y: hidden;"> 2556 <div class="bodyservice"> 2557 <div class="row tabsession postalcodesession tabsessionChangePostalCode hidden" onclick="changeService(0, true);"> 2558 <div class="from-group"> 2559 <div class="col-xs-10 remove-padding-left padding-top-10"> 2560 <span><strong>Postal Code:</strong> <span class="tabsession-postalcode"></span></span> 2561 <p class="text-muted padding-top-10"></p> 2562 </div> 2563 <div class="remove-padding-right-left pull-right icon-edit"> 2564 <svg xmlns="http://www.w3.org/2000/svg" width="19" height="20" viewBox="0 0 19 20" fill="none"> 2565 <path d="M17.024 7.05L12.774 2.85L14.174 1.45C14.5573 1.06667 15.0283 0.875 15.587 0.875C16.145 0.875 16.6157 1.06667 16.999 1.45L18.399 2.85C18.7823 3.23333 18.9823 3.696 18.999 4.238C19.0157 4.77933 18.8323 5.24167 18.449 5.625L17.024 7.05ZM1.724 19.125C1.44067 19.125 1.20333 19.029 1.012 18.837C0.819999 18.6457 0.723999 18.4083 0.723999 18.125V15.3C0.723999 15.1667 0.748999 15.0377 0.798999 14.913C0.848999 14.7877 0.923999 14.675 1.024 14.575L11.324 4.275L15.574 8.525L5.274 18.825C5.174 18.925 5.06167 19 4.937 19.05C4.81167 19.1 4.68233 19.125 4.549 19.125H1.724Z" fill="#F26722" /> 2566 </svg> 2567 </div> 2568 </div> 2569 </div> 2570 2571 <div class="row tabsession tabsessionChangeOutletPickup " onclick="changeService(1, true);"> 2572 <div class="from-group actionoutlet"> 2573 <div class="col-xs-11 remove-padding-left padding-top-10"> 2574 <strong class="tabsession-outlettitle"></strong> 2575 <p class="text-muted padding-top-10 tabsession-outletaddress"></p> 2576 </div> 2577 <div class="remove-padding-right-left icon-edit"> 2578 <svg xmlns="http://www.w3.org/2000/svg" width="19" height="20" viewBox="0 0 19 20" fill="none"> 2579 <path d="M17.024 7.05L12.774 2.85L14.174 1.45C14.5573 1.06667 15.0283 0.875 15.587 0.875C16.145 0.875 16.6157 1.06667 16.999 1.45L18.399 2.85C18.7823 3.23333 18.9823 3.696 18.999 4.238C19.0157 4.77933 18.8323 5.24167 18.449 5.625L17.024 7.05ZM1.724 19.125C1.44067 19.125 1.20333 19.029 1.012 18.837C0.819999 18.6457 0.723999 18.4083 0.723999 18.125V15.3C0.723999 15.1667 0.748999 15.0377 0.798999 14.913C0.848999 14.7877 0.923999 14.675 1.024 14.575L11.324 4.275L15.574 8.525L5.274 18.825C5.174 18.925 5.06167 19 4.937 19.05C4.81167 19.1 4.68233 19.125 4.549 19.125H1.724Z" fill="#F26722" /> 2580 </svg> 2581 </div> 2582 </div> 2583 </div> 2584 2585 <div class="row tabsession tabsessionChangeOutletDelivery hidden" onclick="ShowPopupChangeOutlet('',0, '');"> 2586 <div class="from-group actionoutlet"> 2587 <div class="col-xs-11 remove-padding-left padding-top-10"> 2588 <strong class="tabsession-outlettitle"></strong> 2589 <p class="text-muted padding-top-10 tabsession-outletaddress"></p> 2590 </div> 2591 <div class="remove-padding-right-left icon-edit"> 2592 <svg xmlns="http://www.w3.org/2000/svg" width="19" height="20" viewBox="0 0 19 20" fill="none"> 2593 <path d="M17.024 7.05L12.774 2.85L14.174 1.45C14.5573 1.06667 15.0283 0.875 15.587 0.875C16.145 0.875 16.6157 1.06667 16.999 1.45L18.399 2.85C18.7823 3.23333 18.9823 3.696 18.999 4.238C19.0157 4.77933 18.8323 5.24167 18.449 5.625L17.024 7.05ZM1.724 19.125C1.44067 19.125 1.20333 19.029 1.012 18.837C0.819999 18.6457 0.723999 18.4083 0.723999 18.125V15.3C0.723999 15.1667 0.748999 15.0377 0.798999 14.913C0.848999 14.7877 0.923999 14.675 1.024 14.575L11.324 4.275L15.574 8.525L5.274 18.825C5.174 18.925 5.06167 19 4.937 19.05C4.81167 19.1 4.68233 19.125 4.549 19.125H1.724Z" fill="#F26722" /> 2594 </svg> 2595 </div> 2596 </div> 2597 </div> 2598 2599 <div class="form-group titletabsession"> 2600 <div class="row"> 2601 <div class="col-xs-12">
2602 <span>Select Date</span> 2603 </div> 2604 </div> 2605 <div class="row actionmoredate"> 2606 <div class="col-xs-8"> 2607 <p class="dateSelectedTitle">September 2026</p> 2608 </div> 2609 <div class="col-xs-4"> 2610 <button class="btn btn-default pull-right btnSwitchDateMode" type="button" onclick="switchDateMode('#timeModal ')"> 2611 <i class="fa fa-calendar" aria-hidden="true"></i>More Dates 2612 </button> 2613 </div> 2614 </div> 2615 </div> 2616 <div class="form-group tabmoredate jk-calendar"> 2617 <div id="datetimepicker12"></div> 2618 </div> 2619 2620 <div class="form-group tablessdate"> 2621 <div class="contentlessdate active lessdate-0" onclick="cho
2621oseDate('0');"> 2622 <span id="lessdate-week-0">Wed</span> 2623 <span id="lessdate-day-0" class="daylessdate">30</span> 2624 <input type="hidden" id="chooseDate-0" value="09/30/2026" /> 2625 </div> 2626 <div class="contentlessdate lessdate-1" onclick="chooseDate('1');"> 2627 <span id="lessdate-week-1">Thu</span> 2628 <span id="lessdate-day-1" class="daylessdate">01</span> 2629 <input type="hidden" id="chooseDate-1" value="10/01/2026" /> 2630 </div> 2631 <div class="contentlessdate lessdate-2" onclick="chooseDate('2');"> 2632 <span id="lessdate-week-2">Fri</span> 2633 <span id="lessdate-day-2" class="daylessdate">02</span> 2634 <input type="hidden" id="chooseDate-2" value="10/02/2026" /> 2635 </div> 2636 <div class="contentlessdate lessdate-3" onclick="cho
2636oseDate('3');"> 2637 <span id="lessdate-week-3">Sat</span> 2638 <span id="lessdate-day-3" class="daylessdate">03</span> 2639 <input type="hidden" id="chooseDate-3" value="10/03/2026" /> 2640 </div> 2641 <div class="contentlessdate lessdate-4" onclick="chooseDate('4');"> 2642 <span id="lessdate-week-4">Sun</span> 2643 <span id="lessdate-day-4" class="daylessdate">04</span> 2644 <input type="hidden" id="chooseDate-4" value="10/04/2026" /> 2645 </div> 2646 <div class="contentlessdate lessdate-5" onclick="chooseDate('5');"> 2647 <span id="lessdate-week-5">Mon</span> 2648 <span id="lessdate-day-5" class="daylessdate">05</span> 2649 <input type="hidden" id="chooseDate-5" value="10/05/2026" /> 2650 </div> 2651 <div class="contentlessdate lessdate-6" onclick="cho
2651oseDate('6');"> 2652 <span id="lessdate-week-6">Tue</span> 2653 <span id="lessdate-day-6" class="daylessdate">06</span> 2654 <input type="hidden" id="chooseDate-6" value="10/06/2026" /> 2655 </div> 2656 2657 </div> 2658 2659 <div class="form-group titletabsession"> 2660 <div class="row"> 2661 <div class="col-xs-12"> 2662 <span>Select Time slot</span> 2663 </div> 2664 </div> 2665 </div> 2666 <div class="s-alert"> 2667 <div class="alert alert-danger hidden" role="alert" id="ErrDeliveryCollectTime_Modal"> 2668 This date is not available for delivery 2669 </div> 2670 <div class="alert alert-danger hidden" role="alert" id="ErrPickUpCollectTime_Modal"> 2671 This date is not available for pickup 2672 </div> 2673 <div class="alert alert-danger hidden" role="alert" id="ErrDeliveryCollectDateTime_Modal"> 2674 This date & time is not available for delivery 2675 </div> 2676 </div> 2677 <div class="form-group hidden" style="margin-bottom: 10px"> 2678 <select class="form-control valid time-selector-dropdown" name="dropdown-time-selecter" id="dropdown-time-selecter" style="width: auto !important;"></select> 2679 </div> 2680 <div class="form-group tablesstime" id="selecter-time-slot"> 2681 2682 </div> 2683 <div class="row" id="order-capacity-copy-text" style="display:none;"> 2684 <div class="col-xs-12"> 2685 <p> 2686 We are receiving a large of number order at the moment, to serve you better, the earliest fulfillment time has been changed up to the next hour.</br>We apologize for letting you wait. 2687 </p> 2688 </div> 2689 </div> 2690 2691 <div class="row" id="pre-order-notice-message" style="display:none;"> 2692 <div class="col-xs-12"> 2693 <div class="row pre-order-notice-body"> 2694 <div class="col-xs-12 form-group"> 2695 <div> 2696 <span> 2697 <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> 2698 Please notice that: 2699 </span> 2700 </div> 2701 <div class="pre-order-notice-info"> 2702 <span style="letter-spacing: 0.15px;line-height: 1.2;"> 2703 2704 Your order will be changed the Pick-up time to the possibly earliest time slot at 2705 <strong id="pre-order-notice-date-time" style="display: inline-block;"></strong> 2706 </span> 2707 </div> 2708 </div> 2709 </div> 2710 </div> 2711 </div> 2712 2713 <div class="form-group" style="display: none;"> 2714 <table id="myTable" class="table table-hover time-list"> 2715 </table> 2716 </div> 2717 <div class="row" id="discount-promotions" style="display:none;"> 2718 <div class="col-sm-4 col-xs-12"> 2719 <div class="form-group"> 2720 <span class="promotions-available-bullet text-theme-modal">Promotions available</span> 2721 </div> 2722 </div> 2723 <div class="col-sm-8 col-xs-12"> 2724 <div class="form-group" id="list-promotions"></div> 2725 <div class="form-group" id="list-vouchers"></div> 2726 </div> 2727 </div> 2728 </div> 2729 </div> 2730 <div class="modal-footer fix-modal-footer" id="footertimemodal"> 2731 <button type="button" class="btn col-xs-12 button-done hidden" onclick="DoneSelection()" id="btnSubmit1" 2732 style="background-color: #fd576b;height: 40px;color: white;border: 0;padding-right: 1px;border-top-left-radius: 0px;border-top-right-radius: 0px;"> 2733 Done 2734 </button> 2735 <button class="btn" id="btnChooseTimeModal" type="button" onclick="DoneSelection()"> 2736 Confirm 2737 </button> 2738 </div> 2739 </div> 2740 </div> 2741</div> 2742
2743<script type="text/javascript"> 2744 var currentDate = new Date('01/01/0001'); 2745 var timeselected = ''; 2746 var deliveryTime = ''; 2747 var settingTime = {"docId":"713827ec-9f06-48ed-8684-211ecaca684b","BranchId":"713827ec-9f06-48ed-8684-211ecaca684b","BranchName":"West Coz Cafe (West Coast Plaza)","AddressCombine":null,"BranchIndex":2,"status":true,"allowAutoAcceptOrder":false,"prepareTime":"0:30","arrayDayOfWeekSetting":[{"dayOfWeek":0,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":1,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":2,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":3,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":4,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":5,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":6,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"}],"allowSound":true,"allowPushNotification":true,"allowSendEmail":true,"allowSendSMS":true,"limitNumberOrder":0,"isDisableExtendBlockTime":false}; 2748 var listAvailableTimes = [{"dayOfWeek":0,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":1,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":2,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":3,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":4,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":5,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":6,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null}]; 2749 var preparationTime = '0'; 2750 var underPrepDate = new Date(); 2751 var itemSettingTime = {}; 2752 var settingBlockOut = [{"id":"0","beginDate":"2026-02-15T16:00:00Z","endDate":"2026-02-16T15:59:00Z","enablePickup":true,"enableDelivery":true,"enableOrderingTime":false,"enableFulfillmentTime":true,"beginDateString":"2026-02-16T00:00:00","endDateString":"2026-02-16T23:59:00","outlets":[2],"isContainsAll":false},{"id":"1","beginDate":"2026-02-16T16:00:00Z","endDate":"2026-02-19T15:59:00Z","enablePickup":true,"enableDelivery":true,"enableOrderingTime":false,"enableFulfillmentTime":true,"beginDateString":"2026-02-17T00:00:00","endDateString":"2026-02-19T23:59:00","outlets":[2],"isContainsAll":false}]; 2753 //console.log('settingBlockOut', settingBlockOut); 2754 var beginBlockTime, endBlockTime; 2755 var gapTime = 60; //Default gap time between From time and To time of Delivery is 60 mins 2756 var autoCollectDate = new Date(''); 2757 var autoCollectTime = ''; 2758 var updateCurrentSelectedDate = new Date(); 2759 var isChooseDate = false; 2760 var dateSelected = new Date(currentDate); 2761 var isDateMode = false; 2762 var isDateModeShow = false; 2763 var totalTimeSlot = 0;
2764 $('#timeModal').on('hide.bs.modal', function () { 2765 $('.modal-open').css('position', 'inherit'); 2766 if ($('#timeModal_header').text() != 'Choose Date & Time') { 2767 currentDate = new Date('01/01/0001'); 2768 timeselected = ''; 2769 } 2770 $('#timeModal_header').text('Choose Date & Time'); 2771 $('#pre-order-notice-message').hide(100); 2772 2773 productIdPreOrder = ""; 2774 collect_datePreOrder = ""; 2775 collect_timePreOrder = ""; 2776 totalHoursPreOrder = 0; 2777 isShowTimeModal = false; 2778 isOpenDateTime = false; 2779 let isMasterMenuRedirected = false; 2780 //Model.Cart.stepShowCalendar 2781 if (!isSelectTime) { 2782 $.ajax({ 2783 type: "POST", 2784 url: '/Home/ClosePopUpTime', 2785 //contentType: 'application/json; charset=UTF-8', 2786 data: { authorization: siteId }, 2787 success: function (result) { 2788 if (result.success) { 2789 if (isMasterMenuRedirected == true 2790 || (result.isMasterMenuRedirected != null && result.isMasterMenuRedirected == true)) { 2791 isMasterMenuRedirected = true; 2792 $('#deliveryModal').modal('show'); 2793 } 2794 else if (result.deliveryTime > 0) { 2795 deliveryTime = result.deliveryTime; 2796 gapTime = result.deliveryTime; 2797 $('#settingDeliveryTime').val(result.deliveryTime) 2798 //console.log('set deliveryTime: ', deliveryTime); 2799 } 2800 } 2801 }, 2802 error: function () { }, 2803 beforeSend: function () { 2804 2805 }, 2806 complete: function () { 2807 } 2808 }); 2809 } 2810 isSelectTime = false; 2811 let windowWidth = $(window).width(); 2812 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 2813 if (windowHeight < 1) { 2814 windowHeight = $(window).height(); 2815 } 2816 //console.log('isNeedReloadPage time', isNeedReloadPage); 2817 //if (windowWidth < 768 && isNeedReloadPage && !isMasterMenuRedirected) { 2818 if (true && isNeedReloadPage && !isMasterMenuRedirected) { 2819 location.reload(); 2820 } 2821 }); 2822 2823 function pickupInitDateSelecter(value) { 2824 var weekdays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; 2825 var date = new Date(value); 2826 for (var i = 0; i < 7; i++) { 2827 if (i > 0) { 2828 date = date.setDate(date.getDate() + 1); 2829 date = new Date(date); 2830 } 2831 2832 var wd = date.getDay(); 2833 var weekday = weekdays[wd]; 2834 var strday = date.getDate().toString(); 2835 if (strday.length == 1) { 2836 strday = '0' + strday; 2837 } 2838 2839 //fill date value to ui 2840 $('#lessdate-week-' + i).text(weekday); 2841 $('#lessdate-day-' + i).text(strday); 2842 var strDate = ((date.getMonth() > 8) ? (date.getMonth() + 1) : ('0' + (date.getMonth() + 1))) + '/' + ((date.getDate() > 9) ? date.getDate() : ('0' + date.getDate())) + '/' + date.getFullYear(); 2843 $('#chooseDate-' + i).val(strDate); 2844 } 2845 2846 $('#timeModal .bodyservice .contentlessdate').removeClass('active'); 2847 $('#timeModal .bodyservice .lessdate-0').addClass('active'); 2848 } 2849 var currentDateTime = null; 2850 var monthYearStr = ''; 2851 function pickupInitDatePicker(isReset, newvalue) { 2852 if (typeof isMerchantOS !== 'undefined' && isMerchantOS == true) { 2853 return false; 2854 } 2855 2856 dateSelected = new Date(currentDate); 2857 //console.log('pickupInitDatePicker', isReset, newvalue); 2858 if (isReset) { 2859 if (newvalue) { 2860 dateSelected = newvalue; 2861 } 2862 //$('#datetimepicker12').datetimepicker('reset'); 2863 //$('#datetimepicker12').datetimepicker('destroy'); 2864 $('#datetimepicker12').datetimepicker('setDate', new Date(dateSelected)); 2865 } 2866 else { 2867 if (dateSelected < new Date($('#updateCurrentSelectedDate').val())) { 2868 dateSelected = new Date($('#updateCurrentSelectedDate').val()); 2869 $('#datetimepicker12').datetimepicker('reset'); 2870 $('#datetimepicker12').datetimepicker('destroy'); 2871 } 2872 var lang = langSelect.toLowerCase(); 2873 2874 switch (langSelect) { 2875 case "ZH-CN": 2876 lang = "ch"; 2877 break; 2878 case "JA": 2879 lang = "ja"; 2880 break; 2881 case "KO": 2882 lang = "ko"; 2883 break; 2884 case "TH ": 2885 lang = "th"; 2886 break; 2887 default: 2888 lang = "en"; 2889 } 2890 2891 let toDay = new Date(); 2892 2893 $('#datetimepicker12').datetimepicker({ 2894 inline: true, 2895 format: "m/d/Y", 2896 timepicker: false, 2897 minDate: toDay, 2898 maxDate: getDateTwoYearsLater(toDay), 2899 defaultDate: dateSelected, 2900 yearStart: toDay.getFullYear(), 2901 yearEnd: toDay.getFullYear() + 2, 2902 //monthStart: toDay.getMonth(), 2903 onSelectDate: function (dp, $input) { 2904 currentDateTime = $input.val(); 2905 initTimePicker(new Date($input.val())); 2906 isSelected = true; 2907 }, 2908 onChangeMonth: function (dp, $input) { 2909 dateSelected = dp; 2910 initPromotions(dp, $input); 2911 initTimePicker(dp); 2912 }, 2913 onChangeYear: function (dp, $input) { 2914 if (dp.getFullYear() > toDay.getFullYear()) { 2915 this.setOptions({ 2916 monthStart: 0 2917 }); 2918 } 2919 else { 2920 this.setOptions({ 2921 monthStart: toDay.getMonth() 2922 }); 2923 } 2924 }, 2925 onGenerate: function (dp, $input) { 2926 initPromotions(dp, $input); 2927 /* 2928 var currentMonthYearStr = $('.xdsoft_mounthpicker .xdsoft_month
2928span').text() + '#' + $('.xdsoft_mounthpicker .xdsoft_year span').text(); 2929 if(currentMonthYearStr!=monthYearStr){} 2930 monthYearStr = currentMonthYearStr; 2931 */ 2932 if (isSelected == false) { 2933 initTimePicker(dp); 2934 } 2935 2936 isSelected = false; 2937 2938 $('.xdsoft_datetimepicker.xdsoft_noselect.xdsoft_.xdsoft_inline').attr("style","width:100%;") 2939 $('.xdsoft_datepicker.active').attr("style","width:100%;"); 2940 2941 showAvailableDiscounts(dp); 2942 2943 var toDate = new Date(); 2944 var dateTwoYearsLater = getDateTwoYearsLater(toDate); 2945 dateTwoYearsLater = new Date(dateTwoYearsLater); 2946 var dateChosse = new Date(dp); 2947 //console.log(dateChosse); 2948 if (dateTwoYearsLater < dateChosse) { 2949 $('#footertimemodal').addClass('hidden'); 2950 } 2951 else { 2952 $('#footertimemodal').removeClass('hidden'); 2953 } 2954 2955 }, 2956 lang: lang 2957 }); 2958 } 2959 //initTimePicker(dateSelected); 2960 } 2961 2962 var isSelected = true; 2963 $(document).ready(function () { 2964 $('#updateCurrentSelectedDate').val(underPrepDate.addHours(parseInt(preparationTime))); 2965 if (dateSelected < new Date($('#updateCurrentSelectedDate').val())) { 2966 dateSelected = new Date($('#updateCurrentSelectedDate').val()); 2967 } 2968 if (currentService == '1') { 2969 gapTime = 15; 2970 } 2971 else { 2972 if ($('#settingDeliveryTime').val() != ''){ 2973 gapTime = parseInt($('#settingDeliveryTime').val()); 2974 } 2975 if (isAutoRedirect && autoRedirectType == 2) { 2976 settingBlockOut = null; 2977 listAvailableTimes = [{"dayOfWeek":0,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":1,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":2,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":3,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":4,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":5,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":6,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null}]; 2978 } 2979 2980 } 2981 2982 //init 2983 pickupInitDatePicker(); 2984 2985 $("#dropdown-time-selecter").change(function () { 2986 selectedTimeValue = $(this).val(); 2987 timeSelectionListItem = $('button[data-time-selector-button="' + selectedTimeValue + '"]'); 2988 if (isAutoRedirect || enableLimitBySales) { 2989 CheckLimitOrderByHour(); 2990 } 2991 }); 2992 //initTimePicker(dateSelected); 2993 2994 var timeModal = $('#timeModal'); 2995 timeModal.on('shown.bs.modal', function () { 2996 isOpenDateTime = true; 2997 isShowTimeModal = true; 2998 isChooseOutlet = false; 2999 $('#timeModal').css('overflow', 'auto'); 3000 $('#brachIndexModal').modal('hide'); 3001 $('#postalCodeModal').modal('hide'); 3002 $('#sessionTimeOut').modal('hide'); 3003 $('#fulfillmentChanged').modal('hide');
3004 $(this).find('.modal-backdrop').css('position', 'absolute'); 3005 //console.log('timeModal shown'); 3006 initTimePicker(dateSelected); 3007 if (popupLoading && popupLoading.version) { 3008 popupLoading.out(); 3009 popupLoading = null; 3010 } 3011 let windowWidth = $(window).width(); 3012 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 3013 if (windowHeight < 1) { 3014 windowHeight = $(window).height(); 3015 } 3016 //if (windowWidth < 768) { 3017 if (true) { 3018 3019 if (dateSelected != currentDate) { 3020 pickupInitDatePicker(true); 3021 pickupInitDateSelecter(dateSelected); 3022 } 3023 else { 3024 pickupInitDateSelecter(dateSelected); 3025 } 3026 3027 let heightInstagram = 0; 3028 3029 if (ios && !standalone && !safari && navigator.userAgent.match(/instagram/i)) { 3030 //uiwebview 3031 $("html").addClass("padding-top-50"); 3032 heightInstagram = 113; 3033 timeModal.find(".modal-header").css("padding-top", "50px"); 3034 } 3035 else { 3036 $("html").removeClass("padding-top-50"); 3037 heightInstagram = 0; 3038 timeModal.find(".modal-header").removeAttr("style"); 3039 } 3040 3041 let maxHeightDeliveryBody = (windowHeight - $('#timeModal').find('.header-title').innerHeight() - heightInstagram); 3042 3043 if (windowWidth > 767) { 3044 maxHeightDeliveryBody -= 100; 3045 } 3046 3047 if (!$('#timeModal').find('.fix-modal-footer').hasClass('hidden')) { 3048 maxHeightDeliveryBody -= $('#timeModal').find('.fix-modal-footer').innerHeight(); 3049 } 3050 3051 if (typeof window.getPwaBottomNavOffset === 'function') { 3052 maxHeightDeliveryBody -= window.getPwaBottomNavOffset(); 3053 } 3054 3055 if (isFacebookApp() === true && !ios) { 3056 maxHeightDeliveryBody -= 50; 3057 } 3058 3059 timeModal.css('overflow-y', 'hidden').find(".modal-body").css('overflow-y', 'hidden'); 3060 $("#timeModal").find('.bodyservice').css({ 3061 'overflow-y': 'auto', 3062 'overflow-x': 'hidden', 3063 'max-height': maxHeightDeliveryBody, 3064 'min-height': '250px', 3065 }); 3066 3067 $('#timeModal .bodyservice .tabmoredate').addClass('hidden'); 3068 $('#timeModal .bodyservice .tablessdate').removeClass('hidden'); 3069 $('.btnSwitchDateMode').html(' <i class=\"fa fa-calendar\"></i>' + 'More Dates'); 3070 } 3071 else { 3072 $('#timeModal .bodyservice .tabmoredate').removeClass('hidden'); 3073 $('#timeModal .bodyservice .tablessdate').addClass('hidden'); 3074 $('.btnSwitchDateMode').html(' <i class=\"fa fa-calendar\"></i>' + 'Less Dates'); 3075 } 3076 }); 3077 }); 3078 3079 function switchDateMode(popupId){ 3080 isDateMode = !isDateMode; 3081 if (isDateMode) { 3082 $(popupId + '.bodyservice .tabmoredate').removeClass('hidden'); 3083 $(popupId + '.bodyservice .tablessdate').addClass('hidden'); 3084 $(popupId + '.btnSwitchDateMode').html(' <i class=\"fa fa-calendar\"></i>' + 'Less Dates'); 3085 } 3086 else { 3087 $(popupId + '.bodyservice .tabmoredate').addClass('hidden'); 3088 $(popupId + '.bodyservice .tablessdate').removeClass('hidden'); 3089 $(popupId + '.btnSwitchDateMode').html(' <i class=\"fa fa-calendar\"></i>' + 'More Dates'); 3090 } 3091 } 3092 3093 function isClosedDay(ds){ 3094 var date = new Date(ds); 3095 var dateOfWeek = date.getDay(); 3096 var isClosed = false; 3097 settingTime.arrayDayOfWeekSetting.forEach(function (item) { 3098 if (item.dayOfWeek === dateOfWeek && item.option === optionDayOfWeek.CLOSED) { 3099 isClosed = true; 3100 } 3101 }); 3102 // underPrepDate.addHours(parseInt(preparationTime)); 3103 if (date.setHours(0, 0, 0, 0) < underPrepDate.setHours(0, 0, 0, 0)) { 3104 isClosed = true; 3105 } 3106 return isClosed; 3107 } 3108 3109 function displayClosedDays(){ 3110 if(settingTime && settingTime.arrayDayOfWeekSetting){ 3111 $(".xdsoft_date").val(function(){ 3112 var ds = ($(this).data('month') + 1) + '/' + $(this).data('date') + '/' + $(this).data('year'); 3113 if(isClosedDay(ds)){ 3114 if($(this).hasClass('xdsoft_disabled')){ 3115 $(this).removeClass('xdsoft_disabled'); 3116 } 3117 3118 $(this).addClass('xdsoft_disabled'); 3119 } 3120 }); 3121 } 3122 } 3123 3124 3125 function showAvailableDiscounts(d) { 3126 if (typeof isMerchantOS !== 'undefined' && isMerchantOS == true) { 3127 return false; 3128 } 3129 3130 if(!listTimeBasedDiscounts){ 3131 firstLoad = true; 3132 firstLoadDate = d; 3133 return; 3134 } 3135 let windowWidth = $(window).width(); 3136 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0
3136); 3137 if (windowHeight < 1) { 3138 windowHeight = $(window).height(); 3139 } 3140 if (true) { 3141 //if (windowWidth < 768) { 3142 return; 3143 } 3144 $('#discount-promotions').hide(200); 3145 //$('ul.list-promotions li').remove(); 3146 $('#list-promotions').html(''); 3147 3148 var dateJson = { 3149 year: d.getFullYear(), 3150 month: d.getMonth() + 1, 3151 day: d.getDate() 3152 }; 3153 //console.log('stepShowCalendar', stepShowCalendar); 3154 var dpkdi = $('.xdsoft_datepicker td[data-date="' + dateJson.day + '"][data-month="' + (dateJson.month - 1 ) + '"][data-year="' + dateJson.year + '"]'); 3155 if(dpkdi && dpkdi.has('.promotionMark').length && stepShowCalendar != 3){ 3156 $.ajax({ 3157 type: "POST", 3158 url: '/Home/LoadTimeBasedDiscountAndVouchers', 3159 data: { 3160 year: d.getFullYear(), 3161 month: d.getMonth() + 1, 3162 day: d.getDate() 3163 }, 3164 success: function (result) { 3165 var m = dateSelected.getMonth()+1, d = dateSelected.getDate(), y = dateSelected.getFullYear(); 3166 if (y == result.year && m == result.month && d == result.day) { 3167 $('#list-promotions').html(''); 3168 if(result && result.listTimeBasedDiscounts && result.listTimeBasedDiscounts.length){ 3169 for(var i=0;i < result.listTimeBasedDiscounts.length;i++){ 3170 var newRow = $("<p style='color: #00D900; font-weight: bold; font-size: 14px;'>" + result.listTimeBasedDiscounts[i] +"</p>"); 3171 $('#list-promotions').append(newRow); 3172 } 3173 $('#list-promotions').show(); 3174 } 3175 else{ 3176 $('#list-promotions').hide(); 3177 } 3178 $('#list-vouchers').html(''); 3179 if(result && result.listVouchers && result.listVouchers.length){ 3180 for(var i=0;i < result.listVouchers.length;i++){ 3181 var newRow = $("<p style='color: #00D900; font-weight: bold; font-size: 14px;'>" + result.listVouchers[i] +"</p>"); 3182 $('#list-vouchers').append(newRow); 3183 } 3184 $('#list-vouchers').show(); 3185 } 3186 else{ 3187 $('#list-vouchers').hide(); 3188 } 3189 $('#discount-promotions').show('fast'); 3190 } 3191 else { 3192 } 3193 3194 //if (result.isLimitOrderByHour) { 3195 // $('#order-capacity-copy-text').css('display','block'); 3196 //} 3197 3198 //$('ul.list-promotions li').remove(); 3199 3200 //$('#discount-promotions').css('display', 'none'); 3201 //$('#discount-promotions').hide(200); 3202 3203 }, 3204 error: function () { }, 3205 beforeSend: function () {}, 3206 complete: function () {} 3207 }); 3208 } 3209 } 3210 3211 var firstLoad = false, firstLoadDate = null; 3212 3213 function initPromotions(dp, ip){ 3214 $('.xdsoft_date span.promotionMark').remove(); 3215 //console.log('stepShowCalendar', stepShowCalendar); 3216 let windowWidth = $(window).width(); 3217 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 3218 if (windowHeight < 1) { 3219 windowHeight = $(window).height(); 3220 } 3221 //if (windowWidth < 768) { 3222 if (true) { 3223 return; 3224 } 3225 if (!listTimeBasedDiscounts && stepShowCalendar != 3){ 3226 $.ajax({
3227 type: "GET", 3228 url: '/Home/GetTimebasedDiscountAndVoucherData', 3229 success: function (result) { 3230 if(result){ 3231 listTimeBasedDiscounts = result.listTimeBaseDiscounts; 3232 displayPromotions(); 3233 displayClosedDays(); 3234 if(firstLoad){ 3235 showAvailableDiscounts(firstLoadDate); 3236 firstLoad = false; 3237 } 3238 } 3239 }, 3240 error: function () { }, 3241 beforeSend: function () {}, 3242 complete: function () {} 3243 }); 3244 }else{ 3245 displayPromotions(); 3246 } 3247 displayClosedDays(); 3248 } 3249 3250 function chooseDate(index) { 3251 $('#timeModal .bodyservice .contentlessdate').removeClass('active'); 3252 $('#timeModal .bodyservice .lessdate-' + index.toString()).addClass('active'); 3253 var input = $('#chooseDate-' + index.toString()).val(); 3254 var date = new Date(input); 3255 //console.log('chooseDate', date); 3256 isChooseDate = true; 3257 pickupInitDatePicker(true, date); 3258 } 3259 3260 function chooseTime(index) { 3261 $('.contentlesstime').removeClass('active'); 3262 $('.lesstime-' + index.toString()).addClass('active'); 3263 var input = $('#chooseTime-' + index.toString()).val(); 3264 $("#dropdown-time-selecter").val(input); 3265 $('#dropdown-time-selecter').trigger('change'); 3266 $("#btnChooseTimeModal").prop('disabled', false); 3267 } 3268 3269 function initTimePicker(input) { 3270 //console.log('initTimePicker',input); 3271 input.setHours(0, 0, 0, 0); 3272 dateSelected = input; 3273 var date = input; 3274 var dateCurrent = new Date(); 3275 dateCurrent.setHours(0, 0, 0, 0); 3276 if (date >= dateCurrent && date >= new Date($('#updateCurrentSelectedDate').val())) { 3277 dateSelected = date; 3278 resetTimePicker(dateSelected); 3279 showAvailableDiscounts(dateSelected); 3280 } else { 3281 //var availableTimeText = "<span style='color: red'>This date is not available for delivery</span>"; 3282 //$("#available_time").html(availableTimeText); 3283 resetTimePicker(dateSelected); 3284 } 3285 if (!isChooseDate) { 3286 pickupInitDateSelecter(dateSelected); 3287 } 3288 var dt = new Date(input); 3289 $('.dateSelectedTitle').text(dt.MMMMYY()); 3290 isChooseDate = false; 3291 } 3292 3293 function resetTimePicker(date) { 3294 //$("#collect_time").val(""); 3295 //$("#collect_time").attr('disabled', 'disabled'); 3296 $("#ErrDeliveryCollectTime_Modal").addClass("hidden"); 3297 $("#ErrPickUpCollectTime_Modal").addClass("hidden"); 3298 3299 if (date == undefined) { 3300 return; 3301 } 3302 var dateOfWeek = date.getDay(); 3303 var availableTimeText; 3304 itemSettingTime = {}; 3305 if (settingTime != undefined && settingTime != null) { 3306 if (settingTime.arrayDayOfWeekSetting.length > 0) { 3307 settingTime.arrayDayOfWeekSetting.forEach(function (item) { 3308 if (item.dayOfWeek === dateOfWeek) { 3309 if (item.option === optionDayOfWeek.CLOSED) { 3310 ReloadList(null); 3311 } else { 3312 var prepareTime = settingTime.prepareTime; 3313 if (settingTime.isDisableExtendBlockTime) { 3314 prepareTime = "00:00"; 3315 } 3316 var arrayStandardAllowTime = []; 3317 if (currentService == '1') { 3318 itemSettingTime = item; 3319 arrayStandardAllowTime = GetStandardAllowTimes(item, prepareTime); 3320 } 3321 else { 3322 itemSettingTime = item; 3323 if (isAutoRedirect && listAvailableTimes && listAvailableTimes.length > dateOfWeek) { 3324 var itemAvailableTime = listAvailableTimes[dateOfWeek]; 3325 //console.log('dateOfWeek', dateOfWeek, 'itemAvailableTime', itemAvailableTime); 3326 if (itemAvailableTime && (!itemAvailableTime.itemAvailableTimes || itemAvailableTime.itemAvailableTimes.length == 0)) { 3327 ReloadList(null);//date close 3328 return; 3329 } 3330 var blockoutAvailableTime = {}; 3331 var isFromBlockout = false; 3332 if (autoRedirectType == 1 && 3333 itemAvailableTime.arrayAvailableTimeBlockout && itemAvailableTime.arrayAvailableTimeBlockout.length > 0) { 3334 for (var k = 0; k < itemAvailableTime.arrayAvailableTimeBlockout.length; k++) { 3335 var dtTime = new Date(itemAvailableTime.arrayAvailableTimeBlockout[k].dateTimeStr); 3336 if (date.getFullYear() == dtTime.getFullYear() && date.getMonth() == dtTime.getMonth() && date.getDate() == dtTime.getDate()) { 3337 blockoutAvailableTime = itemAvailableTime.arrayAvailableTimeBlockout[k]; 3338 isFromBlockout = true; 3339 } 3340 } 3341 } 3342 if (isFromBlockout) { 3343 itemAvailableTime = blockoutAvailableTime; 3344 console.log(itemAvailableTime); 3345 } 3346 if (itemAvailableTime && (!itemAvailableTime.itemAvailableTimes || itemAvailableTime.itemAvailableTimes.length <= 0)) { 3347 ReloadList(null); 3348 } 3349 } 3350 arrayStandardAllowTime = GetStandardAllowTimesDelivery(item, parseInt(deliveryTime), prepareTime, underPrepDate, itemAvailableTime); 3351 }
3352 //Set arrayAllowTime for drop-down-list 3353 if (arrayStandardAllowTime != null && arrayStandardAllowTime[0].length > 0) { 3354 //Get the allow-collecting time that is filtered by "order's prepare time" 3355 var arrayPrepareAllowTime = GetCollectAllowTimes(arrayStandardAllowTime[0], date, prepareTime, gapTime, true, new Date($('#updateCurrentSelectedDate').val())); 3356 //console.log('arrayPrepareAllowTime', arrayPrepareAllowTime); 3357 if (arrayPrepareAllowTime && arrayPrepareAllowTime.length > 0) { 3358 3359 } 3360 else { 3361 // && autoCollectDate.getTime() > underPrepDate.getTime() 3362 if (date.getFullYear() == autoCollectDate.getFullYear() && date.getMonth() == autoCollectDate.getMonth() && date.getDate() == autoCollectDate.getDate()) { 3363 arrayPrepareAllowTime = [timeselected]; 3364 } 3365 } 3366 //console.log(arrayPrepareAllowTime); 3367 //console.log('item'); 3368 var itemclosing = ''; 3369 if (item.option === optionDayOfWeek.OPEN) { 3370 itemclosing = item.open_Closing; 3371 } else if (item.option === optionDayOfWeek.SPLIT) { 3372 itemclosing = item.split_ClosingEnd; 3373 } 3374 3375 //Get the allow-collecting time that is filtered by "order's prepare time" 3376 if (arrayPrepareAllowTime && arrayPrepareAllowTime.length > 0 && itemclosing != '') { 3377 //b/ Last fulfillment block: 3378 //--> Delivery order = Ordering Time(=Last Order) + Delivery Time + Estimate time = 11:30 PM + 60m + 30m = 01:00 AM 3379 var timeCloseHour = parseInt(itemclosing.split(':')[0]); 3380 var timeCloseMin = parseInt(itemclosing.split(':')[1]); 3381 3382 var prepareMin = 0; 3383 3384 if (prepareTime != null && prepareTime !== "" && prepareTime.indexOf(".") > -1) { 3385 var prepareHour = prepareTime.indexOf(".") > -1 ? parseInt(prepareTime.split('.')[0]) : parseInt(prepareTime); 3386 prepareMin = prepareTime.indexOf(".") > -1 ? (prepareTime.split('.')[1] * 6 < 60 ? prepareTime.split('.')[1] * 6 : prepareTime.split('.')[1] * 0.6) : 0; 3387 prepareMin = (prepareHour * 60) + prepareMin; 3388 } 3389 if (prepareTime != null && prepareTime !== "" && prepareTime.indexOf(":") > -1) { 3390 var prepareHour = parseInt(prepareTime.split(':')[0]); 3391 prepareMin = parseInt(prepareTime.split(':')[1]); 3392 prepareMin = (prepareHour * 60) + prepareMin; 3393 } 3394 3395 timeCloseMin = timeCloseMin + prepareMin;// + gapTime; 3396 if (timeCloseMin >= 60) { 3397 var hour = parseInt(timeCloseMin / 60); 3398 timeCloseHour = timeCloseHour + hour; 3399 timeCloseMin = timeCloseMin - (hour * 60); 3400 } 3401 if (currentService == '1') { 3402 //if (timeCloseMin < gapTime) { 3403 // timeCloseMin = timeCloseMin + 60 - gapTime; 3404 // timeCloseHour--; 3405 //} 3406 //else { 3407 // timeCloseMin = timeCloseMin - gapTime; 3408 //} 3409 } 3410 //console.log('isDisableExtendBlockTime', settingTime.isDisableExtendBlockTime); 3411 if (!settingTime.isDisableExtendBlockTime) { 3412 //last time 3413 var timeEnd = (timeCloseHour < 10 ? "0" + timeCloseHour : timeCloseHour) + ":" + (timeCloseMin < 10 ? "0" + timeCloseMin : timeCloseMin); 3414 //var totalCloseMin = timeCloseHour * 60 + timeCloseMin; 3415 //if (timeCloseHour >= 24) { 3416 // timeCloseHour = timeCloseHour - 24; 3417 //} 3418 3419 var lastBlock = arrayPrepareAllowTime[arrayPrepareAllowTime.length - 1]; 3420 var timeFrom = lastBlock.split('-')[0].trim();
3421 var arrayTimeTo = GetArrayAllowTime(timeFrom, timeEnd, true); 3422 var arrayLastTheFulfillmentblock = GetCollectAllowTimes(arrayTimeTo, date, prepareTime, gapTime, true, new Date($('#updateCurrentSelectedDate').val())); 3423 if (arrayLastTheFulfillmentblock && arrayLastTheFulfillmentblock.length > 0) { 3424 var index = 0; 3425 if (lastBlock.split('-')[0].trim() == arrayLastTheFulfillmentblock[0].split('-')[0].trim()) { 3426 index = 1; 3427 } 3428 for (var i = index; i < arrayLastTheFulfillmentblock.length; i++) { 3429 arrayPrepareAllowTime.push(arrayLastTheFulfillmentblock[i]); 3430 } 3431 } 3432 //console.log(arrayPrepareAllowTime); 3433 } 3434 } 3435 ReloadList(arrayPrepareAllowTime); 3436 } 3437 } 3438 } 3439 }); 3440 } 3441 else { 3442 ReloadList(null); 3443 } 3444 3445 } 3446 else { 3447 3448 ReloadList(null); 3449 } 3450 //SetValueShipping(); 3451 } 3452 3453 function ReloadList(arrayPrepareAllowTime) { 3454 totalTimeSlot = 0; 3455 var blockOuts = GetBlockOutFromSelectedDate(settingBlockOut, dateSelected); 3456 if(!blockOuts){ 3457 blockOuts= []; 3458 } 3459 //console.log('blockOuts', blockOuts); 3460 //console.log('arrayPrepareAllowTime', arrayPrepareAllowTime); 3461 $('#dropdown-time-selecter').css('display', 'block'); 3462 $('#btnSubmit1').css('display', 'block'); 3463 $('#dropdown-time-selecter option').remove(); 3464 $('#myTable tr').remove(); 3465 $("#selecter-time-slot").html(''); 3466 $("#btnChooseTimeModal").prop('disabled', true); 3467 $("#btnSubmit1").prop('disabled', true); 3468 var isBeginRemove = false; 3469 3470 if (dateSelected < autoCollectDate && dateSelected < updateCurrentSelectedDate) { 3471 arrayPrepareAllowTime = null; 3472 } 3473 if (arrayPrepareAllowTime == null) { 3474 if (currentService == '1') { 3475 $("#ErrPickUpCollectTime_Modal").removeClass("hidden"); 3476 } 3477 else { 3478 $("#ErrDeliveryCollectTime_Modal").removeClass("hidden"); 3479 } 3480 $('#dropdown-time-selecter').css('display', 'none'); 3481 $('#btnSubmit1').css('display', 'none'); 3482 } 3483 else{ 3484 var m = currentDate.getMonth(), d = currentDate.getDate(), y = currentDate.getFullYear(); 3485 var ms = dateSelected.getMonth(), ds = dateSelected.getDate(), ys = dateSelected.getFullYear(); 3486 var isCurrentDay = false; 3487 3488 if (m==ms && d==ds && y==ys) { 3489 isCurrentDay = true; 3490 //console.log('dateSelected', dateSelected); 3491 } 3492 var ma = autoCollectDate.getMonth(), da = autoCollectDate.getDate(), ya = autoCollectDate.getFullYear(); 3493 if (ma == ms && da == ds && ya == ys) { 3494 var autoValues = autoCollectTime.split("-"); 3495 var autoFirstSlot = convertTimeToMinute(autoValues[0]); 3496 for (var i = arrayPrepareAllowTime.length - 1; i >= 0; i--) { 3497 if (isBeginRemove == true && isCurrentDay == true){ 3498 arrayPrepareAllowTime.splice(i,1); 3499 } 3500 var timeValues = arrayPrepareAllowTime[i].split("-"); 3501 var firstSlot = convertTimeToMinute(timeValues[0]); 3502 if (arrayPrepareAllowTime[i] == autoCollectTime || autoFirstSlot == firstSlot) { 3503 isBeginRemove = true; 3504 } 3505 else { 3506 if (arrayPrepareAllowTime[i].indexOf('24:') >= 0) { 3507 var nextDate = arrayPrepareAllowTime[i].replace('24:', '00:').replace('24:', '00:'); 3508 if (nextDate == autoCollectTime) { 3509 isBeginRemove = true; 3510 isCurrentDay = false; 3511 } 3512 } 3513 } 3514 } 3515 if (isCurrentDay == true && itemSettingTime && !isBeginRemove) { 3516 if (arrayPrepareAllowTime.length == 0) { 3517 arrayPrepareAllowTime.push(autoCollectTime); 3518 } 3519 else if (arrayPrepareAllowTime.length > 0) { 3520 //insert slot autoCollectTime to array slot 3521 var isInserted = false; 3522 for (var i = arrayPrepareAllowTime.length - 1; i >= 0; i--) { 3523 var timeValues = arrayPrepareAllowTime[i].split("-"); 3524 var firstSlot = convertTimeToMinute(timeValues[0]); 3525 if (firstSlot < autoFirstSlot) { 3526 arrayPrepareAllowTime.splice(i + 1, 0, autoCollectTime); 3527 isInserted = true; 3528 break; 3529 } 3530 } 3531 if (!isInserted) { 3532 var timeValues = arrayPrepareAllowTime[0].split("-"); 3533 var firstSlot = convertTimeToMinute(timeValues[0]); 3534 //console.log('firstSlot: ', firstSlot,'autoFirstSlot: ', autoFirstSlot); 3535 if (firstSlot != autoFirstSlot) { 3536 arrayPrepareAllowTime.unshift(autoCollectTime); 3537 isInserted = true; 3538 } 3539 } 3540 } 3541 } 3542 } 3543 3544 //TKPOS-5913 [Blockout][Apply] Blockout based on Fulfillment Time 3545 //Get begin time and end time of block out and arrayPrepareAllowTime 3546 for(var i=0; i< blockOuts.length; i++){
3547 arrayPrepareAllowTime = UpdateArrayPrepareAllowTime(arrayPrepareAllowTime, blockOuts[i], dateSelected); 3548 if(!arrayPrepareAllowTime){ 3549 break; 3550 } 3551 3552 } 3553 3554 //End TKPOS-5913 3555 if(!arrayPrepareAllowTime || arrayPrepareAllowTime.length == 0){ 3556 if (currentService == '1') { 3557 $("#ErrPickUpCollectTime_Modal").removeClass("hidden"); 3558 } 3559 else { 3560 $("#ErrDeliveryCollectTime_Modal").removeClass("hidden"); 3561 } 3562 $('#dropdown-time-selecter').css('display', 'none'); 3563 $('#btnSubmit1').css('display', 'none'); 3564 } 3565 else { 3566 for (var i = 0; i < arrayPrepareAllowTime.length; i++) { 3567 var newRow = $("<tr>"); 3568 var cols = ""; 3569 var timeValues = arrayPrepareAllowTime[i].split("-"); 3570 3571 //Start TKPOS-5913 [Blockout][Apply] Blockout based on Fulfillment Time 3572 // Remove slots which in block out 3573 var isRemoved= false; 3574 for(var j = 0;j<blockOuts.length;j++){ 3575 timeValues[0] = timeValues[0].replace(' ', ''); 3576 timeValues[1] = timeValues[1].replace(' ', ''); 3577 GetBeginTimeAndEndTimeOfBlockOut(arrayPrepareAllowTime,blockOuts[j],dateSelected); 3578 if(checkSlotHasInBlockOut(beginBlockTime,endBlockTime,timeValues[0], timeValues[1])){ 3579 isRemoved= true; 3580 break; 3581 } 3582 } 3583 if (isRemoved) { 3584 //console.log('remove blockout: ', arrayPrepareAllowTime[i]); 3585 arrayPrepareAllowTime.splice(i,1); 3586 i--; 3587 continue; 3588 } 3589 //End TKPOS-5913 [Blockout][Apply] Blockout based on Fulfillment Time 3590 } 3591 } 3592 3593 if (arrayPrepareAllowTime && arrayPrepareAllowTime.length <= 0) { 3594 if (currentService == '1') { 3595 $("#ErrPickUpCollectTime_Modal").removeClass("hidden"); 3596 //$('#dropdown-time-selecter').css('display', 'none'); 3597 //$('#btnSubmit1').css('display', 'none'); 3598 } 3599 else { 3600 $("#ErrDeliveryCollectTime_Modal").removeClass("hidden"); 3601 // $('#dropdown-time-selecter').css('display', 'none'); 3602 //$('#btnSubmit1').css('display', 'none'); 3603 } 3604 //$("#ErrPickUpCollectTime_Modal").removeClass("hidden"); 3605 $('#dropdown-time-selecter').css('display', 'none'); 3606 $('#btnSubmit1').css('display', 'none'); 3607 } 3608 3609 var counter = $('#myTable tr').length; 3610 if (isCurrentDay == true) { 3611 if (arrayPrepareAllowTime.length > 0) { 3612 var lastbocktime = arrayPrepareAllowTime[arrayPrepareAllowTime.length-1]; 3613 var timeValues = lastbocktime.toString().split("-"); 3614 var strLastTime = ''; 3615 if (timeValues.length == 2) { 3616 timeValues[0] = timeValues[0].trim(); 3617 timeValues[1] = timeValues[1].trim(); 3618 strLastTime = timeValues[0].toString(); 3619 var prepareTime = ''; 3620 var minutes; 3621 var hours = 0; 3622 timeValues = strLastTime.split(":"); 3623 3624 hours = parseInt(timeValues[0]); 3625 minutes = parseInt(timeValues[1]); 3626 minutes = hours * 60 + minutes; 3627 minutes = minutes - parseInt(prepareTime); 3628 3629 hours = 0; 3630 if (minutes >= 60) { 3631 hours = parseInt(minutes / 60, 10); 3632 minutes = minutes - (hours * 60); 3633 } 3634 3635 minutes = minutes < 10 ? "0" + minutes : minutes; 3636 var displayTime = strLastTime; 3637 3638 if(hours >= 12){ 3639 var tomorrow = ''; 3640 if (hours >= 24) { 3641 hours = hours - 24; 3642 tomorrow = ' ' + languageMessage["O_Tomorrow"].toLowerCase(); 3643 } 3644 else if (hours > 12) { 3645 hours = hours - 12; 3646 } 3647 3648 hours = hours < 10 ? "0" + hours : hours; 3649 displayTime = hours + ":" + minutes + " " + languageMessage["O_PM"] + tomorrow; 3650 } 3651 else{ 3652 hours = hours < 10 ? "0" + hours : hours; 3653 3654 displayTime = hours + ":" + minutes + " " + languageMessage["O_AM"]; 3655 } 3656 3657 strLastTime = displayTime; 3658 } 3659 3660 $('#collecttimeout').text(strLastTime); 3661 } 3662 } 3663 if (arrayPrepareAllowTime) { 3664 var arrayPrepareAllowTimeLength = arrayPrepareAllowTime.length - 1; 3665 var maxSlotView = 7; 3666 var indexOfRow = 0; 3667 var col_row = ""; 3668 var indexSelectedTime = -1; 3669 //console.log('isCurrentDay', isCurrentDay, 'timeselected', timeselected); 3670 var timeSelectedValues = timeselected.split("-"); 3671 var timeSelectedFirstSlot = convertTimeToMinute(timeSelectedValues[0]); 3672 totalTimeSlot = arrayPrepareAllowTime.length; 3673 for (var i = 0; i < arrayPrepareAllowTime.length; i++) { 3674 indexOfRow++; 3675 var newRow = $("<tr>"); 3676 var cols = ""; 3677 //var timeValues = arrayPrepareAllowTime[i].split("-"); 3678 3679 var strTime = convertFormatTime(arrayPrepareAllowTime[i]); 3680 3681 cols += '<td align="center" valign="middle"><h4>' + strTime + '</h4></td>'; 3682 3683 var dropdownlistItem = ''; 3684 3685 var timeValues = arrayPrepareAllowTime[i].split("-"); 3686 var firstSlot = convertTimeToMinute(timeValues[0]); 3687 if (isCurrentDay && timeselected != '' && (timeselected == arrayPrepareAllowTime[i] || timeSelectedFirstSlot == firstSlot)) { 3688 indexSelectedTime = i; 3689 cols += '<td><button type="button" data-time-selector-button="' + arrayPrepareAllowTime[i] + '" class="btn btn-danger pull-right time" onclick="SelectTime(this,\'' + arrayPrepareAllowTime[i] + '\')">Select</button></td>'; 3690 dropdownlistItem+='<option value="' + arrayPrepareAllowTime[i] + '" selected>'; 3691 } 3692 else 3693 { 3694 cols += '<td><button type="button" data-time-selector-button="' + arrayPrepareAllowTime[i] + '" class="btn btn-default pull-right time" onclick="SelectTime(this,\'' + arrayPrepareAllowTime[i] + '\')">Select</button></td>'; 3695 dropdownlistItem+='<option value="' + arrayPrepareAllowTime[i] + '">'; 3696 } 3697 3698 dropdownlistItem+= strTime + '</option>'; 3699 3700 newRow.append(cols); 3701 $("table.time-list").append(newRow); 3702 3703 $('#dropdown-time-selecter').append(dropdownlistItem); 3704 counter++; 3705 3706 var classpadding = 'padding-right-8'; 3707 if (indexOfRow == 2) { 3708 classpadding = 'padding-left-8'; 3709 } 3710 var col_6 = ' <div class="col-xs-6 ' + classpadding + '"><div class="contentlesstime lesstime-' + i.toString() + '" onclick="cho
3710oseTime(' + i.toString() + ');">'; 3711 col_6 += '<span>' + strTime + '</span>'; 3712 col_6 += '<input type="hidden" id="chooseTime-' + i.toString() + '" value="' + arrayPrepareAllowTime[i] + '" />'; 3713 col_6 += '</div></div>'; 3714 col_row += col_6; 3715 3716 if (arrayPrepareAllowTimeLength > maxSlotView && indexOfRow == 1 && i == arrayPrepareAllowTimeLength) { 3717 col_row += '<div class="col-xs-6 padding-left-8 view-less-slot" onclick="toggleTimeSlot(false)"><div class="contentlesstime view-option-slot"><span>View less</span></div></div>'; 3718 } 3719 3720 const copyIndexOfRow = indexOfRow; 3721 if (indexOfRow == 2 || i == arrayPrepareAllowTimeLength) { 3722 var hiddenSlot = ''; 3723 if (arrayPrepareAllowTimeLength > maxSlotView && i > maxSlotView) { 3724 hiddenSlot = " hidden-slot"; 3725 } 3726 3727 col_row = '<div class="row' + hiddenSlot + '">' + col_row + '</div>'; 3728 $("#selecter-time-slot").append(col_row); 3729 indexOfRow = 0; 3730 col_row = ""; 3731 } 3732 3733 if (arrayPrepareAllowTimeLength > maxSlotView) { 3734 if (i == maxSlotView) { 3735 var col_vm = '<div class="row view-more-slot"><div class="col-xs-6 padding-right-8" onclick="toggleTimeSlot(true)"><div class="contentlesstime view-option-slot"><span>View more...</span></div></div></div>'; 3736 $("#selecter-time-slot").append(col_vm); 3737 } 3738 else if (i == arrayPrepareAllowTimeLength && copyIndexOfRow == 2) { 3739 var col_vm = '<div class="row"><div class="col-xs-6 padding-right-8 view-less-slot" onclick="toggleTimeSlot(false)" style="display: none"><div class="contentlesstime view-option-slot"><span>View less</span></div></div></div>'; 3740 $("#selecter-time-slot").append(col_vm); 3741 } 3742 } 3743 } 3744 } 3745 if(arrayPrepareAllowTime && arrayPrepareAllowTime.length){ 3746 selectedTimeValue = $('#dropdown-time-selecter').val(); 3747 $("#btnSubmit1").prop('disabled', false); 3748 } 3749 if (indexSelectedTime >= 0) { 3750 chooseTime(indexSelectedTime); 3751 } 3752 } 3753 } 3754 3755 var timeSelectionListItem, selectedTimeValue; 3756 3757 function DoneSelection() { 3758 if (totalTimeSlot <= 0) { 3759 return; 3760 } 3761 if ('False' == 'True') { 3762 var m = dateSelected.getMonth() + 1, d = dateSelected.getDate(), y = dateSelected.getFullYear(); 3763 $.ajax({
3764 type: "POST", 3765 url: '/Promotion/CheckChangeSelectTime', 3766 //contentType: 'application/json; charset=UTF-8', 3767 data: { year: y, month: m, day: d, time: selectedTimeValue }, 3768 success: function (result) { 3769 if (result.success) { 3770 SelectTime(timeSelectionListItem, selectedTimeValue, dateSelected, '/Home/SelectedTime', '', true); 3771 } 3772 else { 3773 $('#confirm-type').val('2'); 3774 $('#confirm-year').val(y); 3775 $('#confirm-month').val(m); 3776 $('#confirm-day').val(d); 3777 $('#confirm-time').val(selectedTimeValue); 3778 $('#titleconfirmNextStep').text(result.message); 3779 $("#btnNextStep").html('Proceed'); 3780 $('#btnStayHere').show(0); 3781 $('#confirmNextStepPromotion').modal('show'); 3782 } 3783 }, 3784 error: function () { }, 3785 beforeSend: function () { 3786 }, 3787 complete: function () { 3788 } 3789 }); 3790 } 3791 else { 3792 if (productIdPreOrder && productIdPreOrder != '' && collect_datePreOrder && collect_timePreOrder) { 3793 var isCheckPreorder = false; 3794 var datePreOrder = new Date(collect_datePreOrder); 3795 //console.log(productIdPreOrder, collect_datePreOrder, collect_timePreOrder); 3796 //console.log(timeSelectionListItem, selectedTimeValue, dateSelected); 3797 if (dateSelected.getMonth() == datePreOrder.getMonth() && dateSelected.getDate() == datePreOrder.getDate() && dateSelected.getFullYear() == datePreOrder.getFullYear()) { 3798 var values = collect_timePreOrder.split('-'); 3799 var values1 = selectedTimeValue.split('-'); 3800 if (values && values.length > 1 && values[0] && values1 && values1.length > 1 && values1[0] && values[0].trim() == values1[0].trim()) { 3801 isCheckPreorder = true; 3802 var m = dateSelected.getMonth() + 1, d = dateSelected.getDate(), y = dateSelected.getFullYear(); 3803 $.ajax({
3804 type: "POST", 3805 url: '/Home/CheckPreOrderSelectTime', 3806 //contentType: 'application/json; charset=UTF-8', 3807 data: { id: productIdPreOrder, authorization: siteId, year: y, month: m, day: d, time: selectedTimeValue, totalHours: totalHoursPreOrder }, 3808 success: function (result) { 3809 //console.log(result); 3810 if (!result.success) { 3811 dateSelected = new Date(result.collect_date); 3812 SelectTime(timeSelectionListItem, result.collect_time, dateSelected, '/Home/SelectedTime', '', true); 3813 } 3814 else { 3815 SelectTime(timeSelectionListItem, selectedTimeValue, dateSelected, '/Home/SelectedTime', '', true); 3816 } 3817 }, 3818 error: function () { }, 3819 beforeSend: function () { 3820 }, 3821 complete: function () { 3822 } 3823 }); 3824 } 3825 } 3826 } 3827 if (!isCheckPreorder) { 3828 SelectTime(timeSelectionListItem, selectedTimeValue, dateSelected, '/Home/SelectedTime', '', true); 3829 } 3830 } 3831 } 3832 3833 function CheckLimitOrderByHour() { 3834 var m = dateSelected.getMonth()+1, d = dateSelected.getDate(), y = dateSelected.getFullYear(); 3835 $.ajax({
3836 type: "POST", 3837 url: '/Home/CheckLimitOrderByHour', 3838 //contentType: 'application/json; charset=UTF-8', 3839 data: { year: y, month: m, day: d, time:selectedTimeValue, authorization: siteId }, 3840 success: function (result) { 3841 if (result && result.time != selectedTimeValue) { 3842 //console.log('different ', result.time, ' <> ', selectedTimeValue); 3843 $('#order-capacity-copy-text').css('display', 'none'); 3844 } 3845 else { 3846 if (result.isLimitOrderByHour) { 3847 $('#order-capacity-copy-text').css('display', 'block'); 3848 } 3849 else { 3850 $('#order-capacity-copy-text').css('display', 'none'); 3851 } 3852 } 3853 3854 }, 3855 error: function () { }, 3856 beforeSend: function () { 3857 }, 3858 complete: function () { 3859 } 3860 }); 3861 } 3862 3863 function toggleTimeSlot(isViewMore = false) { 3864 const $selectTimeSlot = $('#selecter-time-slot'); 3865 if (isViewMore) { 3866 $selectTimeSlot.find('.row.hidden-slot').css('display', 'block'); 3867 $selectTimeSlot.find('.view-more-slot').css('display', 'none'); 3868 $selectTimeSlot.find('.view-less-slot').css('display', 'block'); 3869 } 3870 else { 3871 $selectTimeSlot.find('.row.hidden-slot').removeAttr('style'); 3872 $selectTimeSlot.find('.view-more-slot').css('display', 'block'); 3873 $selectTimeSlot.find('.view-less-slot').css('display', 'none'); 3874 } 3875 } 3876 3877</script>
3877 3878 </div> 3879 3880<style> 3881 html, body { 3882 margin: 0; 3883 padding: 0; 3884 height: 100%; 3885 } 3886 3887 .bodycontainer { 3888 max-height: 570px; 3889 width: 100%; 3890 margin: 0; 3891 overflow-y: auto; 3892 } 3893 3894 .table-scrollable { 3895 margin: 0; 3896 padding: 0; 3897 overflow-y: auto; 3898 max-height: 600px; 3899 } 3900 3901 #brachIndexModalStation.modal .modal-body { 3902 max-height: 600px; 3903 overflow-y: auto; 3904 } 3905 3906 #brachIndexModal { 3907 z-index: 9999; 3908 } 3909 3910 #brachIndexModalStation .modal-dialog table tbody tr:first-child td { 3911 border-top: none; 3912 } 3913</style> 3914 3915 3916<div class="modal fade in" id="brachIndexModalStation" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> 3917 <div class="modal-dialog modal-lg"> 3918 <div class="modal-content"> 3919 <div class="modal-header"> 3920 3921 <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close"> 3922 <img src="/Content/images/Closeclose.svg" /> 3923 </button> 3924 <h4 class="modal-title text-center"><strong>Select the outlet</strong></h4> 3925 </div> 3926 <div class="modal-body"> 3927 3928 3929 <div class="row"> 3930 <table class="table scrollable"> 3931 </table> 3932 </div> 3933 </div> 3934 </div> 3935 </div> 3936</div>
3937<script> 3938 $(document).ready(function () { 3939 initializeStation(); 3940 $(".btn-select").removeAttr('disabled'); 3941 }); 3942 3943 function initializeStation() { 3944 $('#brachIndexModalStation').on('shown.bs.modal', function () { 3945 $.ajax({ 3946 type: "POST", 3947 url: '/Product/GetBranchIndexListAsync?authorization=sZyelz6f%2BSGMS%2Bpk3WnxWHrF9idLXd4WIs24BLX4WTPeqGMv6uvD7ZGvNjkxQRCyOT2D7O9NLO1qkcFFj801Hg%3D%3D', 3948 async: false, 3949 success: function (result) { 3950 $.each(result, function (i, v) { 3951 var country = "Singapore"; 3952 $('#alert-outlet-' + v.index).html(''); 3953 }); 3954 }, 3955 error: function () { }, 3956 beforeSend: function () { }, 3957 complete: function () { } 3958 }); 3959 }); 3960 } 3961 $('#brachIndexModalStation').on('shown.bs.modal', function () { 3962 isSelectStation = false; 3963 }); 3964 $('#brachIndexModalStation').on('hidden.bs.modal', function () { 3965 //goToStation($('.list-default-station').first().val()); 3966 if (!isSelectStation && isDeliveryMethod && !isChoosingDateTime) { 3967 $("#deliveryModal").modal('show'); 3968 } 3969 else if (!isSelectStation && !isChoosingDateTime) { 3970 location.reload(); 3971 } 3972 }); 3973 $(".go-to-station").on('click', function () { 3974 var defaultStationId = $(this).siblings()[0].value; 3975 var businessID = $(this).siblings()[1].value; 3976 var enableReservation = $(this).siblings()[2].value; 3977 var setting = JSON.parse($(this).siblings()[3].value); 3978 var outletIndex = $(this).siblings()[4].value; 3979 var prepareTime = $(this).siblings()[5].value; 3980 var status = $(this).siblings()[6].value; 3981 var isEstimateServingTime = $(this).siblings()[7].value; 3982 var isPreOrderNotification = $(this).siblings()[8].value; 3983 goToStation(defaultStationId, businessID, enableReservation, setting, outletIndex, prepareTime, status, isEstimateServingTime, isPreOrderNotification); 3984 }); 3985</script>
3985 3986 3987 3988<style> 3989 html, body, #map-canvas { 3990 margin: 0; 3991 padding: 0; 3992 height: 100%; 3993 } 3994 3995 #map-canvas { 3996 width: 100%; 3997 height: 300px; 3998 } 3999 4000 .bodycontainer { 4001 max-height: 570px; 4002 width: 100%; 4003 margin: 0; 4004 overflow-y: auto; 4005 } 4006 4007 .table-scrollable { 4008 margin: 0; 4009 padding: 0; 4010 overflow-y: auto; 4011 max-height: 600px; 4012 } 4013 4014 .modal .modal-body { 4015 height: 100%; 4016 overflow-y: auto; 4017 } 4018 4019 .modal .modal-body div.getz-load-more { 4020 text-align: center; 4021 margin-top: 15px; 4022 } 4023 4024 .modal .modal-body div a { 4025 color: red; 4026 text-decoration: none; 4027 /*display: block;*/ 4028 } 4029 4030 .modal .modal-body div p.text-muted a { 4031 color: #777777; 4032 } 4033 4034 #brachIndexModal { 4035 z-index: 9999; 4036 } 4037 4038 #brachIndexModal .modal-content { 4039 /* Bootstrap sets the size of the modal in the modal-dialog class, we need to inherit it */ 4040 width: inherit; 4041 height: auto; 4042 /* To center horizontally */ 4043 margin: 0 auto; 4044 pointer-events: all; 4045 } 4046 4047 #brachIndexModal .modal .modal-body { 4048 max-height: unset !important; 4049 } 4050 4051 #brachIndexModal .bodycontainer .getz-table-load-more tr { 4052 display: none; 4053 } 4054 4055 .custom-model { 4056 text-align: center; 4057 padding: 0 !important; 4058 } 4059 4060 .custom-model:before { 4061 content: ''; 4062 display: inline-block; 4063 height: 100%; 4064 vertical-align: middle; 4065 margin-right: -4px; 4066 } 4067 4068 .custom-model .modal-dialog { 4069 display: inline-block; 4070 text-align: left; 4071 vertical-align: middle; 4072 } 4073</style> 4074 4075 4076<div class="modal fade" id="brachIndexModal" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-keyboard="true"> 4077 <div class="modal-dialog modal-lg"> 4078 <div class="modal-content"> 4079 <div class="modal-header"> 4080 4081 <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close"> 4082 <img src="/Content/images/Closeclose.svg" /> 4083 </button> 4084 <h4 class="modal-title text-center">Select Outlet To Pickup Order</h4> 4085 </div> 4086 <div class="modal-body"> 4087 <div id="map-canvas" class=""></div> 4088 4089 <div class="bodycontainer" style="min-height:170px;overflow:auto;"> 4090 <table class="table scrollable getz-table-load-more-del" style="overflow-y:scroll"> 4091 <tr> 4092 <td style="padding-left: 20px;"> 4093 <strong>1. West Coz Cafe (West Coast Plaza)</strong> 4094 4095 <p class="text-muted">154 West Coast Road #02-23 West Coast Plaza, 127371, Singapore</p> 4096 <p class="text-muted">(+65) 67791303</p> 4097 <p style="display: none;" id="alert-outlet-v2-2"></p> 4098 </td> 4099 <td> 4100 <button id="btn-map-2" type="button" class='btn-select btn-outlet-index btn btn-default pull-right' onclick="changeBranchIndex(2, true)">Select</button> 4101 <input type="hidden" value="1.303843" name="Latitude" /> 4102 <input type="hidden" value="103.766292" name="Longtitude" /> 4103 </td> 4104 </tr> 4105 </table> 4106 </div> 4107 <div class="getz-load-more"> 4108 </div> 4109 </div> 4110 </div> 4111 </div> 4112</div>
4113<script> 4114 var linkImageStaticMap = "https://getz-prod.s3.ap-southeast-1.amazonaws.com/Getz/google-static-map/[SITE_ID]/static-map-[VIEW_NAME].jpg"; 4115 linkImageStaticMap = linkImageStaticMap.replace("[SITE_ID]", "sZyelz6f+SGMS+pk3WnxWHrF9idLXd4WIs24BLX4WTPeqGMv6uvD7ZGvNjkxQRCyOT2D7O9NLO1qkcFFj801Hg=="); 4116 4117 var map; 4118 var markers = []; 4119 var dttrack = new Date(); 4120 var isLoadBranchIndex = false; 4121 var isHiddenBranchIndex = false; 4122 var useStaticMapMerchantIds = false; 4123 var currentWindowWidth = windowWidth; 4124 var $googleMapStatic = $("#google-map-static"); 4125 4126 var pickupLocations = []; 4127 4128 $(document).ready(function () { 4129 isSelectBranch = false; 4130 let windowWidth = $(window).width(); 4131 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 4132 if (windowHeight < 1) { 4133 windowHeight = $(window).height(); 4134 } 4135 if (windowWidth < 768) { 4136 } 4137 else { 4138 $(".btn-select").removeAttr('disabled'); 4139 $(window).resize(function () { 4140 if (useStaticMapMerchantIds) { 4141 staticMapsInitialSize(false); 4142 } 4143 else { 4144 mapsInitialSize(); 4145 } 4146 }); 4147 } 4148 }); 4149 4150 function staticMapsInitialSize(isInit) { 4151 const windowWidth = window.innerWidth; 4152 let changeStaticMap = false; 4153 let linkImageByView = ''; 4154 4155 if (windowWidth < 768 && (isInit || currentWindowWidth >= 768)) { 4156 changeStaticMap = true; 4157 linkImageByView = linkImageStaticMap.replace("[VIEW_NAME]", "mobile"); 4158 } 4159 else if (windowWidth >= 768 && windowWidth < 1024 && (isInit || currentWindowWidth < 768 || currentWindowWidth >= 1024)) { 4160 changeStaticMap = true; 4161 if (windowWidth > window.innerHeight) { 4162 linkImageByView = linkImageStaticMap.replace("[VIEW_NAME]", "desktop"); 4163 } 4164 else { 4165 linkImageByView = linkImageStaticMap.replace("[VIEW_NAME]", "tablet"); 4166 } 4167 } 4168 else if (windowWidth >= 1024 && (isInit || currentWindowWidth < 1024)) { 4169 changeStaticMap = true; 4170 linkImageByView = linkImageStaticMap.replace("[VIEW_NAME]", "desktop"); 4171 } 4172 4173 if (changeStaticMap) { 4174 console.log("changed"); 4175 currentWindowWidth = windowWidth; 4176 $googleMapStatic.attr("src", linkImageByView).show(); 4177 } 4178 } 4179 4180 function mapsInitialSize() { 4181 var heightPopupSize = $(window).height(); 4182 4183 $("#brachIndexModal .modal-content #map-canvas").css("height", heightPopupSize * 0.35); 4184 $("#brachIndexModal .modal-content .bodycontainer").css("height", heightPopupSize * 0.45); 4185 4186 if (heightPopupSize >= 768) { 4187 $("#brachIndexModal .modal-content .bodycontainer").css("height", heightPopupSize * 0.30); 4188 4189 if (heightPopupSize >= 812) { 4190 $("#brachIndexModal .modal-content .bodycontainer").css("height", heightPopupSize * 0.35); 4191 4192 if (heightPopupSize >= 1366) { 4193 $("#brachIndexModal .modal-content #map-canvas").css("height", heightPopupSize * 0.36); 4194 $("#brachIndexModal .modal-content .bodycontainer").css("height", heightPopupSize * 0.24); 4195 } 4196 } 4197 } 4198 } 4199 4200 function initializeMap() { 4201 var marker = new google.maps.Marker({ 4202 }); 4203 4204 var mapProp = { 4205 mapTypeControl: false, 4206 //panControl: false, 4207 ////zoomControl: false, 4208 zoom: 14, 4209 styles: [ 4210 { 4211 featureType: 'transit', 4212 elementType: 'geometry', 4213 stylers: [{ color: '#00000000' }] 4214 }, 4215 { 4216 featureType: 'transit.station', 4217 elementType: 'labels.text.fill', 4218 stylers: [{ color: '#00000000' }] 4219 }], 4220 scaleControl: true, 4221 mapTypeId: google.maps.MapTypeId.ROADMAP, 4222 mapTypeControlOptions: { 4223 style: google.maps.MapTypeControlStyle.DROPDOWN_MENU, 4224 mapTypeIds: [ 4225 google.maps.MapTypeId.ROADMAP, 4226 google.maps.MapTypeId.TERRAIN 4227 ] 4228 }, 4229 zoomControlOptions: { 4230 style: google.maps.ZoomControlStyle.SMALL 4231 } 4232 }; 4233 4234 map = new google.maps.Map(document.getElementById("map-canvas"), mapProp); 4235 4236 var transitLayer = new google.maps.TransitLayer();
4237 transitLayer.setMap(map); 4238 4239 google.maps.event.addListener(marker, 'click', function () { 4240 infowindow.setContent(contentString); 4241 infowindow.open(map, marker); 4242 }); 4243 4244 google.maps.event.addDomListener(window, "resize", resizingMap()); 4245 4246 } 4247 4248 async function initMap() { 4249 4250 // Request needed libraries. 4251 const { Map, InfoWindow } = await google.maps.importLibrary("maps"); 4252 const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary( 4253 "marker", 4254 ); 4255 const map = new Map(document.getElementById("map-canvas"), { 4256 center: { lat: 1.3654785515453547, lng: 103.82928773703664 }, 4257 zoom: 11, 4258 mapId: "4504f8b37365c3d0", 4259 }); 4260 4261 // Set LatLng and title text for the markers. The first marker (Boynton Pass) 4262 // receives the initial focus when tab is pressed. Use arrow keys to 4263 // move between markers; press tab again to cycle through the map controls. 4264 4265 // Create an info window to share between markers. 4266 const infoWindow = new InfoWindow(); 4267 4268 // Create the markers. 4269 pickupLocations.forEach(({ position, title }, i) => { 4270 const pin = new PinElement({ 4271 glyph: `${i + 1}`, 4272 }); 4273 const marker = new AdvancedMarkerElement({ 4274 position, 4275 map, 4276 title: `${i + 1}. ${title}`, 4277 content: pin.element, 4278 }); 4279 4280 // Add a click listener for each marker, and set up the info window. 4281 marker.addListener("click", ({ domEvent, latLng }) => { 4282 const { target } = domEvent; 4283 4284 infoWindow.close(); 4285 infoWindow.setContent(marker.title); 4286 infoWindow.open(marker.map, marker); 4287 }); 4288 }); 4289 } 4290 4291 function GetBranchIndexListByMap() { 4292 isHiddenBranchIndex = false; 4293 if (!isLoadBranchIndex) { 4294 //var bounds = new google.maps.LatLngBounds(); 4295 $.ajax({
4296 type: "POST", 4297 url: '/Product/GetBranchIndexListAsync?authorization=sZyelz6f%2BSGMS%2Bpk3WnxWHrF9idLXd4WIs24BLX4WTPeqGMv6uvD7ZGvNjkxQRCyOT2D7O9NLO1qkcFFj801Hg%3D%3D', 4298 async: true, 4299 success: function (result) { 4300 clearMarkers(); 4301 result = result.sort(function (a, b) { return a.sequenceNumber - b.sequenceNumber }); 4302 4303 $.each(result, function (i, v) { 4304 // createMarker(i + 1, v.Latitude, v.Longtitude); 4305 // createMarkerBaseOnPostalCode(i + 1, v.zipCode); 4306 4307 var country = "Singapore"; 4308 if (v.address) { 4309 var arrInfo = v.address.split(","); 4310 4311 if (arrInfo && arrInfo.length > 0) { 4312 country = arrInfo[arrInfo.length - 1].trim(); 4313 } 4314 } 4315 //if (v.zipCode && v.zipCode != "538776" && v.zipCode != "797653" && v.zipCode != "596180" && v.zipCode != "828761" && v.zipCode != "678278" && v.zipCode != "529684" && v.zipCode != "128020" && v.zipCode != "467360" && v.zipCode != "078884" && v.zipCode != "529684" && v.zipCode != "730676" && v.zipCode != "437157" && v.zipCode != "329984" && v.zipCode != "467360" && v.zipCode != "528523" && v.zipCode != "820681" && v.zipCode != "757048") { 4316 // createMarkerBaseOnPostalCode(i + 1, v.zipCode, country); 4317 4318 if (v.Latitude && v.Longtitude && (v.Latitude.toString().indexOf("1.352") > -1 && v.Longtitude.toString().indexOf("103.819") > -1)) { 4319 //createMarkerBaseOnPostalCode(i + 1, v.zipCode, country); 4320 //createMarker(i + 1, v.Latitude, v.Longtitude); 4321 } else { 4322 //createMarker(i + 1, v.Latitude, v.Longtitude); 4323 pickupLocations.push({ 4324 position: { lat: v.Latitude, lng: v.Longtitude }, 4325 title: v.businessID 4326 }); 4327 } 4328 4329 $('#alert-outlet-v2-' + v.index).html(''); 4330 4331 if (!v.isToday) { 4332 $('#alert-outlet-v2-' + v.index).html('<div class="note danger_message danger_red_message">' 4333 + v.businessID + ' has closed for the day. The earliest pick-up is available in ' 4334 + parseInt(v.earliestfulfillmentTime / 60) + ' hours ' 4335 + parseInt(v.earliestfulfillmentTime % 60) + ' mins' + '. You may <b>preorder now.</b></div>'); 4336 } else { 4337 4338 if (v.isBlockOut) { 4339 // $('#alert-outlet-' + v.index).html(''); 4340 $('#alert-outlet-v2-' + v.index).append('<div class="note danger_message danger_red_message"> The earliest pick-up is available in ' 4341 + parseInt(v.earliestfulfillmentTime / 60) + ' hours ' 4342 + parseInt(v.earliestfulfillmentTime % 60) + ' mins' + '. You may <b>preorder now.</b></div>'); 4343 } 4344 4345 } 4346 if (v.isBlockoutPickup) { 4347 $('#alert-outlet-v2-' + v.index).append('<div class="note danger_message danger_red_message">' 4348 + 'Online ordering for Pickup is not available until ' 4349 + v.endDatePickupString); 4350 $('#btn-map-' + v.index).addClass('hidden'); 4351 } 4352 }); 4353 4354 initMap(); 4355 mapsInitialSize(); 4356 4357 //for (var i = 0; i < markers.length; i++) { 4358 // bounds.extend(markers[i].getPosition()); 4359 //} 4360 4361 //map.setCenter(bounds.getCenter()); 4362 //map.fitBounds(bounds); 4363 4364 // map.setZoom(map.getZoom() - 1); 4365 //if (map.getZoom() > 15) { 4366 // map.setZoom(15); 4367 //} 4368 4369 //var dt = new Date(); 4370 }, 4371 error: function () { }, 4372 beforeSend: function () { 4373 dttrack = new Date(); 4374 isLoadBranchIndex = true; 4375 }, 4376 complete: function () { } 4377 }); 4378 4379 //Must wait until the render of the modal appear, thats why we use the resizeMap and NOT resizingMap!! ;-) 4380 resizeMap();
4381 } 4382 } 4383 4384 function GetBranchIndexListByStaticMap() { 4385 staticMapsInitialSize(true); 4386 4387 isHiddenBranchIndex = false; 4388 if (!isLoadBranchIndex) { 4389 $.ajax({ 4390 type: "POST", 4391 url: '/Product/GetBranchIndexListAsync?authorization=sZyelz6f%2BSGMS%2Bpk3WnxWHrF9idLXd4WIs24BLX4WTPeqGMv6uvD7ZGvNjkxQRCyOT2D7O9NLO1qkcFFj801Hg%3D%3D', 4392 async: true, 4393 success: function (result) { 4394 $.each(result, function (i, v) { 4395 $('#alert-outlet-v2-' + v.index).html(''); 4396 if (!v.isToday) { 4397 $('#alert-outlet-v2-' + v.index).html('<div class="note danger_message danger_red_message">' 4398 + v.businessID + ' has closed for the day. The earliest pick-up is available in ' 4399 + parseInt(v.earliestfulfillmentTime / 60) + ' hours ' 4400 + parseInt(v.earliestfulfillmentTime % 60) + ' mins' + '. You may <b>preorder now.</b></div>'); 4401 } 4402 else { 4403 if (v.isBlockOut) { 4404 $('#alert-outlet-v2-' + v.index).append('<div class="note danger_message danger_red_message"> The earliest pick-up is available in ' 4405 + parseInt(v.earliestfulfillmentTime / 60) + ' hours ' 4406 + parseInt(v.earliestfulfillmentTime % 60) + ' mins' + '. You may <b>preorder now.</b></div>'); 4407 } 4408 4409 } 4410 4411 if (v.isBlockoutPickup) { 4412 $('#alert-outlet-v2-' + v.index).append('<div class="note danger_message danger_red_message">' 4413 + 'Online ordering for Pickup is not available until ' 4414 + v.endDatePickupString); 4415 } 4416 }); 4417 }, 4418 error: function () { }, 4419 beforeSend: function () { 4420 dttrack = new Date(); 4421 isLoadBranchIndex = true; 4422 }, 4423 complete: function () { } 4424 }); 4425 } 4426 } 4427 4428 function createMarkerBaseOnPostalCode(index, postalCode, country) { 4429 var lat = "0.00"; 4430 var lng = "0.00"; 4431 $.ajax({
4432 type: "POST", 4433 url: 'https://maps.googleapis.com/maps/api/geocode/json?address=' + postalCode + '&sensor=false&key=AIzaSyArRxeepv6A3eICyGgcHCyPbk_DE6hPONA&components=country:' + country, 4434 async: false, 4435 success: function (r) { 4436 if (r.status === "ZERO_RESULTS") { 4437 return; 4438 } 4439 if (r.status === "OVER_QUERY_LIMIT") { 4440 return createMarkerBaseOnPostalCode2(index, postalCode, country); 4441 } 4442 lat = r['results'][0]['geometry']['location']['lat']; 4443 lng = r['results'][0]['geometry']['location']['lng']; 4444 var loc = new google.maps.LatLng(lat, lng); 4445 map.panTo(loc); 4446 map.setZoom(15); 4447 var marker = new google.maps.Marker({ 4448 map: map, 4449 animation: google.maps.Animation.DROP, 4450 position: loc, 4451 icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=' + (index) + '|FE7569|000000' 4452 }); 4453 markers.push(marker); 4454 }, 4455 error: function () { }, 4456 beforeSend: function () { }, 4457 complete: function () { } 4458 }); 4459 } 4460 4461 function createMarkerBaseOnPostalCode2(index, postalCode, country) { 4462 var lat = "0.00"; 4463 var lng = "0.00"; 4464 $.ajax({
4465 type: "POST", 4466 url: 'https://maps.googleapis.com/maps/api/geocode/json?address=' + postalCode + '&sensor=false&key=AIzaSyArRxeepv6A3eICyGgcHCyPbk_DE6hPONA&components=country:' + country, 4467 async: false, 4468 success: function (r) { 4469 if (r.status === "ZERO_RESULTS") { 4470 return; 4471 } 4472 lat = r['results'][0]['geometry']['location']['lat']; 4473 lng = r['results'][0]['geometry']['location']['lng']; 4474 var loc = new google.maps.LatLng(lat, lng); 4475 map.panTo(loc); 4476 map.setZoom(15); 4477 var marker = new google.maps.Marker({ 4478 map: map, 4479 animation: google.maps.Animation.DROP, 4480 position: loc, 4481 icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=' + (index) + '|FE7569|000000' 4482 }); 4483 markers.push(marker); 4484 }, 4485 error: function () { }, 4486 beforeSend: function () { }, 4487 complete: function () { } 4488 }); 4489 } 4490 4491 function createMarker(index, lat, lng) { 4492 if (!map) { 4493 map = new google.maps.Map(document.getElementById("map-canvas"), { 4494 zoom: 4, 4495 /*center: position,*/ 4496 mapId: "DEMO_MAP_ID", // Map ID is required for advanced markers. 4497 }); 4498 } 4499 4500 const position = { lat: lat, lng: lng }; 4501 // The advanced marker, positioned at Uluru 4502 var marker = new google.maps.marker.AdvancedMarkerElement({ 4503 map, 4504 position: position, 4505 title: 'Uluru', 4506 }); 4507 markers.push(marker); 4508 } 4509 4510 function createMarkerOld(index, lat, lng) { 4511 var loc = new google.maps.LatLng(lat, lng); 4512 map.panTo(loc); 4513 //map.setZoom(11); 4514 var marker = new google.maps.Marker({ 4515 map: map, 4516 animation: google.maps.Animation.DROP, 4517 position: loc, 4518 icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=' + (index) + '|FE7569|000000' 4519 }); 4520 markers.push(marker); 4521 } 4522 4523 function clearMarkers() { 4524 for (var i = 0; i < markers.length; i++) { 4525 if (markers[i]) { 4526 markers[i].setMap(null); 4527 } 4528 } 4529 markers = []; 4530 } 4531 4532 function resizeMap() { 4533 if (typeof map == "undefined") return; 4534 setTimeout(function () { resizingMap(); }, 400); 4535 } 4536 4537 function resizingMap() { 4538 if (typeof map == "undefined") return; 4539 var center = map.getCenter(); 4540 google.maps.event.trigger(map, "resize"); 4541 map.setCenter(center); 4542 } 4543 4544 $('#brachIndexModal').on('shown.bs.modal', function () { 4545 if (useStaticMapMerchantIds) { 4546 GetBranchIndexListByStaticMap(); 4547 } 4548 else { 4549 GetBranchIndexListByMap(); 4550 } 4551 }); 4552 4553 $('#brachIndexModal').on('hidden.bs.modal', function () { 4554 if (false) { 4555 $('#deliveryModal').modal('show'); 4556 } 4557 else if (!isSelectBranch && !isHiddenBranchIndex && isBranchModal == false) { 4558 isHiddenBranchIndex = true; 4559 4560 if ($('.btn-outlet-index').length > 0) { 4561 $($('.btn-outlet-index')[0]).click(); 4562 } 4563 } 4564 else { 4565 isProcessingTab = false; 4566 } 4567 }); 4568</script>
4568 4569 4570 4571<style> 4572 #postalCodeModal .modal-body { 4573 max-height: 600px; 4574 overflow-y: hidden; 4575 min-height: 100px; 4576 margin-bottom: 5px; 4577 } 4578 4579 .pac-container { 4580 background-color: #FFF; 4581 z-index: 1040 !important; 4582 position: fixed; 4583 display: inline-block; 4584 float: left; 4585 } 4586 4587 .modal { 4588 z-index: 20; 4589 } 4590 4591 .modal-backdrop { 4592 z-index: 10; 4593 } 4594 4595 #fulfillmentChangedOutOfOrder.modal { 4596 z-index: 10000; 4597 } 4598 4599 #fulfillmentChanged.modal { 4600 z-index: 10000; 4601 } 4602 4603 #postalCodeModal .tooltip { 4604 opacity: inherit; 4605 } 4606 4607 #postalCodeModal .tooltip-inner { 4608 width: 100%; 4609 margin: 0 auto; 4610 max-width: fit-content; 4611 } 4612 4613 #postalCodeModal .btn-next { 4614 width: 45px; 4615 margin-top: 0; 4616 height: 40px; 4617 } 4618 4619 #postalCodeModal .bg-pink { 4620 background-color: #D02B31; 4621 } 4622 4623 #postalCodeModal .input-3 { 4624 height: 39px; 4625 margin-right: 47px; 4626 margin-right: 47px; 4627 position: relative; 4628 border-radius: 3px; 4629 padding: 2px; 4630 } 4631 4632 #postalCodeModal .input-3 > input { 4633 height: 35px; 4634 text-align: center; 4635 font-size: 20px; 4636 width: 100%; 4637 } 4638 4639 #postalCodeModal .input-3 > input::-webkit-input-placeholder { /* Chrome/Opera/Safari */ 4640 font-size: 14px; 4641 } 4642 4643 #postalCodeModal .input-3 > input::-moz-placeholder { /* Firefox 19+ */ 4644 font-size: 14px; 4645 } 4646 4647 #postalCodeModal .input-3 > input:-ms-input-placeholder { /* IE 10+ */ 4648 font-size: 14px; 4649 } 4650 4651 #postalCodeModal .input-3 > input::-ms-input-placeholder { /* Edge */ 4652 font-size: 14px; 4653 } 4654 4655 #postalCodeModal .input-3 > input:-moz-placeholder { /* Firefox 18- */ 4656 font-size: 14px; 4657 } 4658 4659 /* Chrome, Safari, Edge, Opera */ 4660 input::-webkit-outer-spin-button, 4661 input::-webkit-inner-spin-button { 4662 -webkit-appearance: none; 4663 margin: 0; 4664 } 4665 4666 /* Firefox */ 4667 input[type=number] { 4668 -moz-appearance: textfield; 4669 } 4670 4671 .button span { 4672 cursor: pointer; 4673 display: inline-block; 4674 position: relative; 4675 transition: 0.5s; 4676 } 4677 4678 .button span:after { 4679 content: '\00bb'; 4680 position: absolute; 4681 opacity: 0; 4682 top: 0; 4683 right: -20px; 4684 transition: 0.5s; 4685 } 4686 4687 .button:hover span { 4688 padding-right: 25px; 4689 } 4690 4691 .button:hover span:after { 4692 opacity: 1; 4693 right: 0; 4694 } 4695 4696 #postalCodeModal .input-3 { 4697 width: 74%; 4698 } 4699 4700 #postalCodeModal .btn-next { 4701 width: 25%; 4702 } 4703 4704 4705 .enter-animation span { 4706 padding-right: 25px; 4707 } 4708 4709 .enter-animation span:after { 4710 opacity: 1; 4711 right: 0; 4712 } 4713 4714 .enter-animation span:after { 4715 content: '\00bb'; 4716 position: absolute; 4717 top: 0; 4718 } 4719 4720 #postalCodeModal .tooltip.bottom .tooltip-arrow { 4721 top: 40px !important; 4722 } 4723 4724 #postalCodeAutocomplete_error { 4725 position: initial !important; 4726 } 4727 4728 @media (max-width: 540px) { 4729 #postalCodeModal .cart-info-block { 4730 padding: 0 !important; 4731 } 4732 } 4733 4734 @media (min-width: 992px) { 4735 4736 #postalCodeModal .intro-headtext-modal { 4737 font-size: 24px; 4738 font-weight: bold; 4739 } 4740 4741 #postalCodeModal .input-3 > input::-webkit-input-placeholder { /* Chrome/Opera/Safari */ 4742 font-size: 18px; 4743 } 4744 4745 #postalCodeModal .input-3 > input::-moz-placeholder { /* Firefox 19+ */ 4746 font-size: 18px; 4747 } 4748 4749 #postalCodeModal .input-3 > input:-ms-input-placeholder { /* IE 10+ */ 4750 font-size: 18px; 4751 } 4752 4753 #postalCodeModal .input-3 > input:-moz-placeholder { /* Firefox 18- */ 4754 font-size: 18px; 4755 } 4756 } 4757</style> 4758 4759 4760<div class="modal fade text-center in" id="postalCodeModal" tabindex="-1" aria-labelledby="" aria-hidden="true" data-keyboard="true"> 4761 <div class="vertical-alignment-helper"> 4762 <div class="modal-dialog vertical-align-center"> 4763 <div class="modal-dialog"> 4764 <div class="modal-content"> 4765 <div class="modal-header"> 4766 4767 4768 <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close"> 4769 <img src="/Content/images/Closeclose.svg" /> 4770 </button> 4771 <h4 class="modal-title text-center intro-headtext-modal">Please input the postal code for delivery</h4> 4772 </div> 4773 <div class="modal-body"> 4774 <div class="form-group"> 4775 <div class="row"> 4776 <div class="col-md-offset-1 col-md-10"> 4777 <div class="block-4 cart-info-block"> 4778 4779 <div class="post-code-block"> 4780 <div class="content"> 4781 <button type="button" class="button btn btn-5 btn-dark-blue btn-next pull-right" disabled="disabled" id="btnAddPostalCode"><span>Enter</span></button> 4782 <div class="input-3"> 4783 4784 <input id="postalCodeAutocomplete" type="text" oninput="numberOnly(this.id);" maxlength="6" name="postalCode" 4785 value="" style="" placeholder="Delivery location postal code"> 4786 <div class="tooltip bottom" id="postalCodeAutocomplete_error"> 4787 <div class="tooltip-arrow"></div> 4788 <div class="tooltip-inner bg-pink" id="postalCodeAutocomplete_error_text"></div> 4789 </div> 4790 </div> 4791 </div> 4792 </div> 4793 </div> 4794 </div> 4795 </div> 4796 </div> 4797 </div> 4798 </div> 4799 </div> 4800 </div> 4801 </div> 4802</div> 4803
4804<script> 4805 hidePostalCodeError(); 4806 var isPostalCode = false; 4807 //$(document).keydown(function (e) { 4808 // if (e.keyCode === 27) { 4809 // location.reload(); 4810 // }; 4811 //}); 4812 4813 function numberOnly(id) { 4814 // Get element by id which passed as parameter within HTML element event 4815 var element = document.getElementById(id); 4816 // Use numbers only pattern, from 0 to 9 4817 var regex = /[^0-9]/gi; 4818 // This removes any other character but numbers as entered by user 4819 element.value = element.value.replace(regex, ""); 4820 } 4821 4822 $("#postalCodeAutocomplete").keypress(function () { 4823 4824 var keyCode = (event.keyCode ? event.keyCode : event.which); 4825 if (keyCode == 13) { 4826 return; 4827 } 4828 //if ($(this).val().length > 4) { 4829 // this.value = this.value.slice(0, 5); 4830 // // Enable submit button 4831 // //$('#btnAddPostalCode').addClass('enter-animation') 4832 //} else { 4833 // // Disable submit button 4834 // //$('#btnAddPostalCode').removeClass('enter-animation') 4835 //} 4836 }); 4837 4838 $(document).ready(function () { 4839 setTimeout(function () { 4840 initGoogleGeoApi(); 4841 }, 400); 4842 var postalCodeModal = $('#postalCodeAutocomplete').val().trim(); 4843 //$('#btnAddPostalCode').removeAttr('disabled'); 4844 if (!postalCodeModal && '1' == '0') { 4845 var postalCodeMyCart = $('#postalCodeMyCart').val(); 4846 if (postalCodeMyCart != undefined && postalCodeMyCart != null) { 4847 postalCodeMyCart = postalCodeMyCart.trim(); 4848 $('#postalCodeAutocomplete').val(postalCodeMyCart); 4849 selectedPostalCode = postalCodeMyCart; 4850 } 4851 }; 4852 4853 if (!selectedPostalCode && postalCodeModal && '1' == '0') { 4854 selectedPostalCode = postalCodeModal; 4855 } 4856 4857 $('#postalCodeModal').on('hidden.bs.modal', function () { 4858 isOpenDateTime = false; 4859 if (isPostalCode == false) 4860 { 4861 if (isBackFromDateModal) { 4862 $('#postalCodeModal').modal('hide'); 4863 $('#dateModal').modal('show'); 4864 } 4865 else { 4866 $.ajax({
4867 type: "POST", 4868 url: '/Home/SetDefaultDeliveryMethod', 4869 data: { method: 0, authorization: siteId },//delivery 4870 success: function (result) { 4871 //location.reload(); 4872 if (result.success == true) { 4873 if (result.isExistedItemHide) { 4874 $('#product-in-valid').html(result.listProductInvalid); 4875 $('#btnProductInvalidPayment').removeClass('hidden'); 4876 $('#btnProductInvalidCheckout').addClass('hidden'); 4877 $('#alertProductInvalid').modal('show'); 4878 return; 4879 } 4880 4881 if (result.oldBranchIndex != result.branchIndex || orderType != 0) { 4882 if (location.href.indexOf("&isRedeem=1") > -1) { 4883 var url = location.href.replace("&isRedeem=1", "&isRedeem=0"); 4884 window.location.href = url; 4885 } 4886 else { 4887 location.reload(); 4888 } 4889 } 4890 $('#btnCheckOut').attr('disabled', 'true'); 4891 $('#item_date_time').addClass('hidden'); 4892 $('#item_delivery').addClass('hidden'); 4893 //LoadContainDelivery(); 4894 LoadContainMyCart(); 4895 LoadContainTimeModal(); 4896 //LoadContainBodyMain(); 4897 } 4898 else { 4899 //$('#span_tab_Delivery').html('Delivery'); 4900 hideProcessingTab(); 4901 //Re-set up the height of cart 4902 ResetCartHeight(); 4903 4904 location.reload(); 4905 } 4906 }, 4907 error: function () { }, 4908 beforeSend: function () { 4909 //$('#span_tab_Delivery').html('Delivery <i class=\"fa fa-spinner fa-spin\"></i>'); 4910 showProcessingTab(countEnable, 2); 4911 }, 4912 complete: function () { } 4913 }); 4914 } 4915 } 4916 4917 isBackFromDateModal = false; 4918 }); 4919 4920 $('#postalCodeModal').on('show.bs.modal', function () { 4921 isOpenDateTime = true; 4922 $('#brachIndexModal').modal('hide'); 4923 $('#sessionTimeOut').modal('hide'); 4924 $('#fulfillmentChanged').modal('hide'); 4925 }); 4926 $("#postalCodeModal").on("click", "#postalCodeAutocomplete", function () { 4927 $(this).css("text-align", "center").removeAttr("placeholder"); 4928 }) 4929 .on("blur", "#postalCodeAutocomplete", function () { 4930 if ($(this).val() === '') { 4931 $(this).removeAttr("style").attr("placeholder", "Delivery location postal code"); 4932 } 4933 }); 4934 }); 4935 4936 ///////// GOOGLE API ////////////// 4937 var countryRestrict = { 'country': 'sg' }; 4938 var autocomplete = {}; 4939 var geocoder = new google.maps.Geocoder(); 4940 function initGoogleGeoApi() { 4941 //var map = new google.maps.Map(document.getElementById("map"), mapOptions); 4942 // Create the autocomplete object and associate it with the UI input control. 4943 // Restrict the search to the default country, and to place type "cities". 4944 //autocomplete = new google.maps.places.Autocomplete( 4945 // document.getElementById('postalCodeAutocomplete'), { 4946 // types: ['geocode'], 4947 // componentRestrictions: countryRestrict 4948 // });
4949 //autocomplete.addListener('place_changed', onPlaceChanged); 4950 }; 4951 4952 function onResult(places) { 4953 } 4954 4955 4956 $("#postalCodeAutocomplete").keyup(function () { 4957 var _length = $("#postalCodeAutocomplete").val().length; 4958 if (_length == 6) { $("#btnAddPostalCode").removeAttr("disabled"); } 4959 else { $("#btnAddPostalCode").attr('disabled', 'disabled'); } 4960 }); 4961 function showPostalCodeError(message) { 4962 $("#postalCodeAutocomplete_error").css('display', 'block'); 4963 $("#postalCodeAutocomplete_error_text").html(message); 4964 $('#btnCheckOut').prop('disabled', true); 4965 4966 //$("#btnAddPostalCode").removeAttr("disabled"); 4967 var textEnter = languageButton["O_Enter"]; 4968 if (!textEnter) { 4969 textEnter = "Enter"; 4970 } 4971 $("#btnAddPostalCode").html(textEnter); 4972 isPostalCode = false; 4973 } 4974 4975 function hidePostalCodeError() { 4976 $("#postalCodeAutocomplete_error").css('display', 'none'); 4977 $("#postalCodeAutocomplete_error_text").text(''); 4978 } 4979 4980 $("#postalCodeAutocomplete").keypress(function (event) { 4981 4982 if (event.keyCode == 13) { 4983 $("#btnAddPostalCode").click(); 4984 } 4985 }); 4986 $("#btnAddPostalCode").click(function (e) { 4987 var postalCode = $("#postalCodeAutocomplete").val().trim(); 4988 4989 if (!postalCode) { 4990 $("#postalCodeAutocomplete").focus(); 4991 showPostalCodeError('Please input the postal code for delivery'); 4992 e.preventDefault(); 4993 return false; 4994 } 4995 4996 var btn = $("#btnAddPostalCode"); 4997 btn.attr('disabled', 'disabled'); 4998 btn.html('<i class=\"fa fa-spinner fa-spin\"></i>'); 4999 5000 isPostalCode = true; 5001 5002 5003 updatePostalCode(postalCode, postalCode, true, showPostalCodeError); 5004 //} 5005 }); 5006 5007</script>
5007 5008 5009
5010<script type="text/javascript"> 5011 var localizedUrlProductDetail = { 5012 "AddToCartVersion4": "/ShoppingCart/AddToCartVersion4", 5013 "AddEVoucherToCart": "/ShoppingCart/AddEVoucherToCart", 5014 "GetProductItemOpenPrice": "/Product/GetProductItemOpenPrice", 5015 "GetNearestAvailableSlot": "/Home/GetNearestAvailableSlot/_id_?totalHours=_totalHours_" 5016 } 5017 , localizedMessage = { 5018 "O_SelectOrderingOptionForThe": "Select ordering option(s) for the", 5019 "O_stQuantity": "st quantity", 5020 "O_ndQuantity": "nd quantity", 5021 "O_rdQuantity": "rd quantity", 5022 "O_thQuantity": "th quantity", 5023 "O_SelectOrderingOptionForTheProduct": "Select ordering option(s) for the product", 5024 "O_ProceedToSelectTheNextItem": "Proceed to select the next item?", 5025 "O_ProceedToFinishYourSelection": "Proceed to finish your selection?", 5026 "O_GreatChoicePleaseProceedNextStepToSelectThePromotionItem": "Great choice! Please proceed next step to select the promotion item.", 5027 "O_GreatChoiceAgainNowPleaseConfirmYourOrder": "Great choice again! Now, please confirm your order." 5028 } 5029 , localizedButton = { 5030 "O_AddToCart": "Add to Cart", 5031 "O_Processing": "Processing", 5032 "O_YesILoveTo": "Yes, Iâd love to!" 5033 } 5034 , urlLikeIcon = '/Content/images/Like/Carrot.svg' 5035 , urlLikeMedalIcon = '/Content/images/LikeMedal/Carrot.svg' 5036 , urlDefaultIcon = '/Content/images/promotion.png' 5037 , urlAnimationProductDetail = '/Content/images/AnimationProductDetail/Carrot.gif' 5038 5039 , rootAmount = 0 5040 , data = {} 5041 , productCart = null 5042 , lengthProductCart = 1 5043 , editVariantId = '' 5044 , promotionId = '' 5045 , promotionIndex = 0 5046 , promotionType = 0 5047 , promotionQuantity = 0 5048 , promotionstep = 0 5049 , fixedPriceValue = 0 5050 , typeDiscount = '' 5051 , discountValue = 0 5052 , itemGenarateProduct = null 5053 5054 , variantItemId = '' 5055 , variantItem = {} 5056 , productBasePrice = 0 5057 , isEmptyVariantAndModifier = '' 5058 , strLastPricePromotionType2 = ''; 5059 5060 var arrayVariantsAndModifiers = [] 5061 , indexOfCurrentVariant = 0 5062 , isSubmit = false 5063 , isShowOpenPricePopup = false 5064 , oldQuantity = 1 5065 , isAllForcedModifierHaveChecked = false 5066 , productId = data.productID 5067 , isShowDiscountPrice = false; 5068 5069 var isScrollAnimationProductDetail = 'True'; 5070 5071</script>
5071 5072 5073<div class="modal fade modal-product-detail" id="productDetailModal" tabindex="-1" aria-labelledby="mymodallabel" data-keyboard="true"> 5074 <div class="modal-dialog modal-xl"> 5075 <div class="modal-content" id="productDetailModal_Body"></div> 5076 5077 <style> 5078 .animation-scroll-box { 5079 z-index: 2; 5080 } 5081 5082 .animation-scroll-box .background-scroll, 5083 .animation-scroll-box .finger-scroll { 5084 position: absolute; 5085 top: 50%; 5086 left: 50%; 5087 transform: translate(-50%, -50%); 5088 } 5089 5090 .animation-scroll-box .background-scroll { 5091 transform: translate(-50%, -50%); 5092 border-radius: 50%; 5093 display: flex; 5094 box-shadow: 0 1px 15px -5px #000000; 5095 } 5096 5097 5098 .animation-scroll-box .finger-scroll { 5099 transform: translate(-5%, -100%); 5100 animation-name: moveFingerScroll; 5101 animation-duration: 0.75s; 5102 animation-timing-function: ease-in-out; 5103 animation-iteration-count: 1; 5104 } 5105 5106 @keyframes moveFingerScroll { 5107 0% { 5108 transform: translate(-5%, 50%); 5109 } 5110 5111 50% { 5112 transform: translate(-5%, 50%); 5113 } 5114 5115 100% { 5116 transform: translate(-5%, -100%); 5117 } 5118 } 5119 </style> 5120 <div class="animation-scroll-box" style="display: none;"> 5121 <div class="background-scroll"> 5122 <svg width="150" height="150" viewBox="0 0 150 150" fill="none"> <circle cx="75" cy="75" r="73.5" fill="white" stroke="#F26722" stroke-width="3"/> <path d="M80.6154 125.352V117H74.6392H68.6444V125.352H62L74.6392 142L87.2598 125.352H80.6154Z" fill="url(#paint0_linear)"/> <path d="M68.3846 23.6481V32L74.3608 32H80.3556V23.6481H87L74.3608 7L61.7402 23.6481L68.3846 23.6481Z" fill="url(#paint1_linear)"/> <defs> <linearGradient id="paint0_linear" x1="74.6329" y1="141.976" x2="74.6329" y2="116.965" gradientUnits="userSpaceOnUse"> <stop stop-color="#F2672280"/> <stop offset="1" stop-color="#F26722"/> </linearGradient> <linearGradient id="paint1_linear" x1="74.3671" y1="7.0242" x2="74.3671" y2="32.0352" gradientUnits="userSpaceOnUse"> <stop stop-color="#F2672280"/> <stop offset="1" stop-color="#F26722"/> </linearGradient> </defs> </svg> 5123 </div> 5124 <div class="finger-scroll"> 5125 <svg width="61" height="50" viewBox="0 0 61 50" fill="none"> <path d="M32.9015 38.223L46.8742 24.2502C49.8019 21.3226 49.8019 16.5763 46.8299 13.7374L46.7855 13.693C44.8338 11.8744 41.019 8.05959 41.019 8.05959C41.019 8.05959 36.805 3.80123 34.7202 1.67205C33.3894 0.296952 31.8813 -0.412774 29.9295 0.252594C28.0665 0.873605 27.3124 2.29306 27.4011 4.11173C27.4898 5.35375 27.135 5.17632 26.1591 5.04325C22.0338 4.4666 20.8805 5.57554 20.7918 9.87826C15.9124 8.90239 14.626 9.78955 13.8719 14.7576C11.6097 12.4954 9.48051 10.2775 7.21826 8.1483C5.13344 6.1522 2.51632 6.01912 1.05251 7.8378C-0.588734 9.92262 -0.23387 11.9631 1.5848 13.7818C6.41982 18.6611 13.9607 26.202 13.9607 26.202C13.4284 27.8432 13.2953 29.3957 13.4727 30.7708C13.9163 34.8074 16.8883 38.1786 20.7031 39.5093C23.4976 40.4852 25.3163 40.5296 28.0221 40.3522C29.8852 40.2634 31.6151 39.5093 32.9015 38.223Z" fill="#FECD82"/> <path d="M17.6867 18.5281C18.3964 19.1491 19.2836 19.5926 19.9046 18.6168C20.57 17.6409 19.8602 17.0199 18.8844 16.7094C17.8641 16.3989 16.7996 16.044 15.7793 15.6891C15.6019 15.8222 15.4245 15.9553 15.2914 16.1327C16.0898 16.9312 16.8439 17.774 17.6867 18.5281Z" fill="#FECD82"/> <path d="M24.163 13.6931C24.7397 14.2697 25.405 14.669 26.2035 14.2254C26.514 14.0479 26.7358 13.5156 26.7358 13.1608C26.7358 12.3623 25.9817 12.1849 25.3607 11.9631C24.3404 11.6083 23.3202 11.2977 22.3 10.9872
5125C22.1669 11.1203 22.0338 11.2977 21.9008 11.4308C22.6105 12.1849 23.4089 12.939 24.163 13.6931Z" fill="#FECD82"/> <path d="M31.2159 9.34597C31.8369 9.83391 32.6797 10.0113 33.1676 9.12418C33.6112 8.28138 33.1676 7.66037 32.2805 7.39423C31.1272 7.03936 30.0182 6.64014 28.8649 6.28528C28.7318 6.41835 28.5988 6.55143 28.4657 6.72886C29.3972 7.57166 30.24 8.54753 31.2159 9.34597Z" fill="#FECD82"/> <path d="M15.2914 16.1327C16.0898 16.9312 16.8439 17.774 17.6867 18.5281C18.3964 19.1491 19.2836 19.5926 19.9046 18.6168C20.57 17.6409 19.8602 17.0199 18.8844 16.7094C17.8641 16.3989 16.7996 16.044 15.7793 15.6891C15.6462 15.8666 15.4688 15.9997 15.2914 16.1327Z" fill="#F2A55D"/> <path d="M18.0416 30.2385C18.7069 30.9039 19.3723 31.5693 20.0377 32.2346C20.57 32.8113 21.0579 33.4767 20.57 33.6541C20.082 33.8759 19.5497 33.2992 19.1505 32.6339C18.7513 31.9241 18.3077 31.2144 17.8641 30.4603C17.9085 30.416 17.9972 30.3272 18.0416 30.2385Z" fill="#F2A55D"/> <path d="M21.8563 11.4308C22.6104 12.1849 23.3645 12.9833 24.1629 13.7374C24.7396 14.314 25.405 14.7133 26.2034 14.2697C26.5139 14.0923 26.7357 13.56 26.7357 13.2051C26.7357 12.4066 25.9816 12.2292 25.3606 12.0074C24.3404 11.6526 23.3201 11.3421 22.2999 11.0316C22.1225 11.1203 21.9894 11.2977 21.8563 11.4308Z" fill="#F2A55D"/> <path d="M28.51 6.6845C29.3972 7.57166 30.24 8.54753 31.2158 9.34597C31.8369 9.83391 32.6797 10.0113 33.1676 9.12418C33.6112 8.28138 33.1676 7.66037 32.2804 7.39423C31.1271 7.03936 30.0182 6.64014 28.8649 6.28528C28.7762 6.41835 28.6431 6.55143 28.51 6.6845Z" fill="#F2A55D"/> <path d="M59.5606 30.5934L41.019 49.135C39.8657 50.2883 38.047 50.2883 36.8937 49.135L31.482 43.679C30.3287 42.5257 30.3287 40.707 31.482 39.5537L50.0237 21.0121C51.177 19.8588 52.9956 19.8588 54.1489 21.0121L59.5606 26.4681C60.6696 27.577 60.6696 29.4401 59.5606 30.5934Z" fill="#F26722"/> <path d="M54.3714 29.3936C55.2549 28.5102 55.2549 27.0778 54.3714 26.1944C53.488 25.3109 52.0556 25.3109 51.1721 26.1944C50.2887 27.0778 50.2887 28.5102 51.1721 29.3936C52.0556 30.2771 53.488 30.2771 54.3714 29.3936Z" fill="#F2E1C0"/> </svg> 5126 </div> 5127 </div> 5128 </div> 5129</div> 5130 5131 <div class="modal fade text-center" id="timeoutRetryModal" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-backdrop="static" data-keyboard="false"> 5132<div class="vertical-alignment-helper"> 5133 <div class="modal-dialog vertical-align-center"> 5134 <div class="modal-dialog"> 5135 <div class="modal-content"> 5136 5137 <div id="loadingModal"> 5138 <div class="modal-body text-center"> 5139 <i class="fa fa-spin fa-spinner fa-5x"></i> 5140 </div> 5141 </div> 5142 5143 <div id="retryModal"> 5144 <div class="modal-header"> 5145 <h4 class="modal-title text-center"> 5146 <span>Having trouble with internet?</span><br /> 5147 <span>Please press ok to try again.</span> 5148 </h4> 5149 </div> 5150 <div class="modal-body text-center"> 5151 <button class="btn btn-default" type="button" id="btnTimeoutRetry">OK</button> 5152 </div> 5153 </div> 5154 </div> 5155 </div> 5156 </div> 5157</div> 5158</div> 5159 5160<div class="modal fade" id="modalDiscount" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-backdrop="static" data-keyboard="false"> 5161 <div class="vertical-alignment-helper"> 5162 <div class="modal-dialog vertical-align-center"> 5163 <div class="modal-dialog"> 5164 <div class="modal-content"> 5165 <div class="modal-body text-center"> 5166 <span class="none_discount_order"> Your order has exceeded the discount validity period, the pickup discount will not be applied on your current order.</span> 5167 <p class="discount_order">Undefined <span id="discount_order_message" style="color:#fd576b;font-weight:bold"></span> has been applied to your order.</p> 5168 <div class="alert alert-danger discount_order_about1" role="alert" style="padding: 10px; margin-bottom: 0;"> Minimum purchase must be above <span id="discount_order_message_about1" style="font-weight:bold"></span></div> 5169 5170 </div> 5171 <div class="modal-footer"> 5172 <button type="button" class="btn btn-default" data-dismiss="modal" onclick="window.location.href = 'Checkout/ReOrder'">Reorder</button> 5173 <button onclick="submitPaymentS(true)" id="btnProceedPayment" data-dismiss="modal" class="btn btn-grey">Proceed Payment</button> 5174 </div> 5175 </div> 5176 </div> 5177 </div> 5178 </div> 5179</div> 5180 5181 5182 5183<style> 5184 #sessionTimeOut.modal { 5185 z-index: 10000; 5186 } 5187</style> 5188<div class="modal fade" id="sessionTimeOut" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 5189 <div class="vertical-alignment-helper"> 5190 <div class="modal-dialog vertical-align-center"> 5191 <div class="modal-dialog bg-main-custom"> 5192 <div class="modal-content"> 5193 <div class="media padding-tl" style="background-color:#FD576B"> 5194 <div> 5195 <button type="button" class="close-custom close pull-right text-light remove-opacity normal-text clear-opacity " style="padding: 5px 10px;" data-dismiss="modal" aria-label="Close"> 5196 <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> 5197 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.3419 9L17.7221 1.61977C18.0926 1.24922 18.0926 0.648453 17.7221 0.277908C17.3515 -0.0926361 16.7508 -0.0926361 16.3802 0.277908L9 7.65814L1.61977 0.277908C1.24922 -0.0926361 0.648453 -0.0926361 0.277908 0.277908C-0.0926361 0.648453 -0.0926361 1.24922 0.277908
51971.61977L7.65814 9L0.277908 16.3802C-0.0926361 16.7508 -0.0926361 17.3515 0.277908 17.7221C0.648453 18.0926 1.24922 18.0926 1.61977 17.7221L9 10.3419L16.3802 17.7221C16.7508 18.0926 17.3515 18.0926 17.7221 17.7221C18.0926 17.3515 18.0926 16.7508 17.7221 16.3802L10.3419 9Z" fill="#ffffff" /> 5198 </svg> 5199 </button> 5200 </div> 5201 <div class="media-left media-custom"> 5202 5203 <img class="media-object" src="/Content/images/SessionTimeout.png" height="72" /> 5204 </div> 5205 <div class="media-body media-custom"> 5206 <p>The earliest fulfillment time will be adjusted soon. Please complete your order within 5 minutes.</p> 5207 5208 </div> 5209 </div> 5210 </div> 5211 </div> 5212 </div> 5213 </div> 5214</div>
5215<script type="text/javascript"> 5216 5217 $(document).ready(function () { 5218 5219 $('#sessionTimeOut').on('shown.bs.modal', function () { 5220 $('#brachIndexModalStation').modal('hide'); 5221 $("#modalWelcome").modal('hide'); 5222 }); 5223 $('#sessionTimeOut').on('hidden.bs.modal', function () { 5224 setTimeout(function () { 5225 5226 if (!is_switching_tab) { 5227 CheckSessionTimeOut(); 5228 } 5229 }, 1000); 5230 }); 5231 }); 5232</script>
5232 5233 5234 5235 5236<div class="modal fade in" id="outletChanged" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 5237 <div class="vertical-alignment-helper"> 5238 <div class="modal-dialog vertical-align-center"> 5239 <div class="modal-dialog bg-main-custom"> 5240 <div class="modal-content"> 5241 <div class="media padding-tl" style="background-color:#FD576B"> 5242 <div> 5243 <button type="button" class="close-custom close pull-right text-light remove-opacity normal-text clear-opacity " style="padding: 5px 10px;" data-dismiss="modal" aria-label="Close"> 5244 <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> 5245 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.3419 9L17.7221 1.61977C18.0926 1.24922 18.0926 0.648453 17.7221 0.277908C17.3515 -0.0926361 16.7508 -0.0926361 16.3802 0.277908L9 7.65814L1.61977 0.277908C1.24922 -0.0926361 0.648453 -0.0926361 0.277908 0.277908C-0.0926361 0.648453 -0.0926361 1.24922 0.277908 1.61977L7.65814 9L0.277908
524516.3802C-0.0926361 16.7508 -0.0926361 17.3515 0.277908 17.7221C0.648453 18.0926 1.24922 18.0926 1.61977 17.7221L9 10.3419L16.3802 17.7221C16.7508 18.0926 17.3515 18.0926 17.7221 17.7221C18.0926 17.3515 18.0926 16.7508 17.7221 16.3802L10.3419 9Z" fill="#ffffff" /> 5246 </svg> 5247 </button> 5248 </div> 5249 <div class="media-left media-custom"> 5250 <img class="media-object" src="/Content/images/SessionTimeout.png" height="72" /> 5251 </div> 5252 <div class="media-body media-custom"> 5253 <p>Current outlet is no more available.</p> 5254 <p>Continue your order at new assigned outlet.</p> 5255 </div> 5256 </div> 5257 </div> 5258 </div> 5259 </div> 5260 </div> 5261</div> 5262 5263
5264<script type="text/javascript"> 5265 5266 $(document).ready(function () { 5267 5268 $('#outletChanged').on('shown.bs.modal', function () { 5269 $("#fulfillmentChanged").modal('hide'); 5270 $('#brachIndexModalStation').modal('hide'); 5271 $("#modalWelcome").modal('hide'); 5272 }); 5273 $('#outletChanged').on('hidden.bs.modal', function () { 5274 location.reload(); 5275 }); 5276 }); 5277</script>
5277 5278 5279 5280 5281<div class="modal fade in" id="fulfillmentChanged" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 5282 <div class="vertical-alignment-helper"> 5283 <div class="modal-dialog vertical-align-center"> 5284 <div class="modal-dialog bg-main-custom"> 5285 <div class="modal-content"> 5286 <div class="media padding-tl" style="background-color:#FD576B"> 5287 <div> 5288 <button type="button" class="close-custom close pull-right text-light remove-opacity normal-text clear-opacity " style="padding: 5px 10px;" data-dismiss="modal" aria-label="Close"> 5289 <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> 5290 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.3419 9L17.7221 1.61977C18.0926 1.24922 18.0926 0.648453 17.7221 0.277908C17.3515 -0.0926361 16.7508 -0.0926361 16.3802 0.277908L9 7.65814L1.61977 0.277908C1.24922 -0.0926361 0.648453 -0.0926361 0.277908 0.277908C-0.0926361 0.648453 -0.0926361 1.24922 0.277908 1.61977L7.65814 9L0.277908
529016.3802C-0.0926361 16.7508 -0.0926361 17.3515 0.277908 17.7221C0.648453 18.0926 1.24922 18.0926 1.61977 17.7221L9 10.3419L16.3802 17.7221C16.7508 18.0926 17.3515 18.0926 17.7221 17.7221C18.0926 17.3515 18.0926 16.7508 17.7221 16.3802L10.3419 9Z" fill="#ffffff" /> 5291 </svg> 5292 </button> 5293 </div> 5294 <div class="media-left media-custom"> 5295 <img class="media-object" src="/Content/images/SessionTimeout.png" height="72" /> 5296 </div> 5297 <div class="media-body media-custom"> 5298 <p>Pick-up Time:</p> 5299 <p>The earliest fulfillment time has been adjusted.</p> 5300 </div> 5301 </div> 5302 </div> 5303 </div> 5304 </div> 5305 </div> 5306</div>
5307<script type="text/javascript"> 5308 5309 $(document).ready(function () { 5310 5311 $('#fulfillmentChanged').on('shown.bs.modal', function () { 5312 if (deliveryMethodSession == "StationOrdering") { 5313 $("#fulfillmentChanged").modal('hide'); 5314 } 5315 else { 5316 $('#brachIndexModalStation').modal('hide'); 5317 $("#modalWelcome").modal('hide'); 5318 } 5319 }); 5320 $('#fulfillmentChanged').on('hidden.bs.modal', function () { 5321 //console.log('isOpenDateTime', isOpenDateTime); 5322 if (!isOpenDateTime) { 5323 saveAllFormData(); 5324 ReloadCollectTime(); 5325 } 5326 }); 5327 }); 5328</script>
5328 5329 5330 5331 5332<div class="modal fade in" id="fulfillmentChangedOutOfOrder" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 5333 <div class="vertical-alignment-helper"> 5334 <div class="modal-dialog vertical-align-center"> 5335 <div class="modal-dialog bg-main-custom"> 5336 <div class="modal-content"> 5337 <div class="media padding-tl" style="background-color:#FD576B"> 5338 <div> 5339 <button type="button" class="close-custom close pull-right remove-opacity normal-text clear-opacity" id="btn-out-of-order-close" data-dismiss="modal" aria-label="Close" style="padding: 5px 10px;"> 5340 <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> 5341 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.3419 9L17.7221 1.61977C18.0926 1.24922 18.0926 0.648453 17.7221 0.277908C17.3515 -0.0926361 16.7508 -0.0926361 16.3802 0.277908L9 7.65814L1.61977 0.277908C1.24922 -0.0926361 0.648453 -0.0926361 0.277908 0.277908C-0.0926361 0.648453 -0.0926361 1.24922 0.277908 1.61977L7.65814 9L0.277908
534116.3802C-0.0926361 16.7508 -0.0926361 17.3515 0.277908 17.7221C0.648453 18.0926 1.24922 18.0926 1.61977 17.7221L9 10.3419L16.3802 17.7221C16.7508 18.0926 17.3515 18.0926 17.7221 17.7221C18.0926 17.3515 18.0926 16.7508 17.7221 16.3802L10.3419 9Z" fill="#ffffff" /> 5342 </svg> 5343 </button> 5344 </div> 5345 <div class="media-left media-custom"> 5346 <img class="media-object" src="/Content/images/SessionTimeout.png" height="72" /> 5347 </div> 5348 <div class="media-body media-custom"> 5349 <p id="fulfillmentChanged-p1">Pick-up Time:</p> 5350 <p id="fulfillmentChanged-p2">Your selected fulfillment time has been changed up to next earliest slot, due to out of order that moment</p> 5351 </div> 5352 </div> 5353 </div> 5354 </div> 5355 </div> 5356 </div> 5357</div>
5358<script type="text/javascript"> 5359 $(document).ready(function () { 5360 $('#fulfillmentChangedOutOfOrder').on('shown.bs.modal', function () { 5361 setTimeout(function () { 5362 $('#fulfillmentChangedOutOfOrder').modal('hide'); 5363 }, 10000); 5364 }); 5365 5366 $('#fulfillmentChangedOutOfOrder').on('hide.bs.modal', function (e) { 5367 location.reload(); 5368 }); 5369 }); 5370</script>
5370 5371 5372 5373 5374<div class="modal fade" id="orderingtime" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-keyboard="true"> 5375 <div class="vertical-alignment-helper"> 5376 <div class="modal-dialog vertical-align-center"> 5377 <div class="modal-dialog modal-dialog-small"> 5378 <div class="modal-content"> 5379 <div class="modal-header"> 5380 <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close"> 5381 <img src="/Content/images/Closeclose.svg" /> 5382 </button> 5383 <h4 class="modal-title text-center">Blockout Ordering Time</h4> 5384 </div> 5385 <div class="modal-body text-center"> 5386 <p id="orderingtimetitle">Online ordering for Pickup or Delivery is now available.</p> 5387 </div> 5388 </div> 5389 </div> 5390 </div> 5391 </div> 5392</div>
5393<script type="text/javascript"> 5394 5395 $(document).ready(function () { 5396 5397 $('#orderingtime').on('hidden.bs.modal', function () { 5398 5399 var currentUrl = window.location.href.toLowerCase(); 5400 if (currentUrl.indexOf('/checkout') > 0) { 5401 $('#ErrBlockout').addClass('hidden'); 5402 5403 if (orderType == 0) { 5404 $('#check_payment').removeAttr('disabled'); 5405 } 5406 else { 5407 $('#check_paymentS').removeAttr('disabled'); 5408 } 5409 5410 updateBlockout(currentUrl); 5411 } 5412 else { 5413 location.reload(); 5414 } 5415 }); 5416 }); 5417</script>
5417 5418 5419 <style> 5420 .cssDivOR { 5421 border-bottom: 1px solid #e1e1e1; 5422 margin: 40px 0; 5423 height: 7px; 5424 } 5425 5426 .cssOR { 5427 border-radius: 15px; 5428 border: 1px solid #e1e1e1; 5429 background: #fff; 5430 padding: 6px; 5431 position: static; 5432 left: 47%; 5433 } 5434</style> 5435 5436<div class="modal fade" id="CheckOutConfirmModal" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true"> 5437 <div class="modal-dialog"> 5438 <div class="modal-content"> 5439 <div class="modal-header"> 5440 <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close"> 5441 <img src="/Content/images/Closeclose.svg" /> 5442 </button> 5443 <h4 class="modal-title text-center">Checkout</h4> 5444 </div> 5445 5446 <div class="modal-body bodycontainer text-center" style="max-height: 600px;"> 5447 <div class="form-group"> 5448 <h5 class="text-uppercase">Checkout As Member</h5> 5449 <br /> 5450 <style> 5451 .form_login { 5452 padding-left: 20%; 5453 padding-right: 20%; 5454 } 5455 5456 .form-control-feedback { 5457 top: 10px; 5458 } 5459 5460 .field-validation-error { 5461 color: #b94a48; 5462 } 5463 5464 input.input-validation-error { 5465 border: 1px solid #b94a48; 5466 } 5467 5468 .width_100_percent { 5469 width: 100%; 5470 } 5471</style> 5472 5473 5474{ 5475 5476 5477 5478 5479 5480} 5481 5482
5483<script> 5484 5485</script>
5485 5486 </div> 5487 5488 <div class="form-group cssDivOR"> 5489 <span class="cssOR">OR</span> 5490 </div> 5491 5492 <div class="form-group"> 5493 <h5 class="text-uppercase">Checkout As Guest</h5> 5494 <br /> 5495 <p style="color: gray;">Process to checkout order without account</p> 5496 <br /> 5497 <input type="button" class="btn btn-3 btn-sm btn-grey" value="SUBMIT" onclick="location.href='/Checkout' + ((typeof siteId !== 'undefined' && siteId) ? '?authorization=' + encodeURIComponent(siteId) : '');return false;" /> 5498 </div> 5499 </div> 5500 </div> 5501 </div> 5502</div> 5503 <div class="modal fade" id="timebasedDiscountModal" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 5504 <div class="vertical-alignment-helper"> 5505 <div class="modal-dialog vertical-align-center"> 5506 <div class="modal-dialog"> 5507 <div class="modal-content"> 5508 <div class="media"> 5509 <div class="modal-header"> 5510 <h4 class="modal-title text-center" style="font-weight: bold;">Member Rewards</h4> 5511 <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close" style="margin-top: -25px;"> 5512 <img src="/Content/images/Closeclose.svg" /> 5513 </button> 5514 </div> 5515 <br /> 5516 5517 <div class="media-body" id="timebasedDiscountModal_Body"></div> 5518 </div> 5519 </div> 5520 </div> 5521 </div> 5522 </div> 5523</div> 5524 5525 5526<div class="modal fade" id="modalWelcome" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-backdrop="static" data-keyboard="false"> 5527 <div class="vertical-alignment-helper"> 5528 <div class="modal-dialog vertical-align-center"> 5529 <div class="modal-dialog modal-lg"> 5530 <div class="modal-content"> 5531 <div class="modal-body"> 5532 <div> 5533 <div class="row"> 5534 <div class="col-xs-12 text-center"> 5535 <button id="btnCloseDienIn" type="button" class="close pull-right" data-dismiss="modal" aria-label="Close" style="position: absolute; right: 8px; opacity: 1; display: none"> 5536 <svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 23 23" fill="none"> 5537 <line x1="6.36035" y1="16.2599" x2="16.2598" y2="6.36036" stroke="#BCBCBC" stroke-width="2" stroke-linecap="round" /> 5538 <line x1="16.2711" y1="16.2558" x2="6.37159" y2="6.3563" stroke="#BCBCBC" stroke-width="2" stroke-linecap="round" /> 5539 </svg> 5540 </button> 5541 <h4 class="welcome-page-h4" id="title-welcome-page">Welcome to </h4> 5542 </div> 5543 <div class="col-xs-12 text-center scan-qr-code-banner custom-service-image"> 5544 <div class="dine-in-service-image"></div> 5545 </div> 5546 <div class="col-xs-12 text-center scan-qr-code-banner default-service-type"> 5547 <div class="dine-in-information"></div> 5548 </div> 5549 <div class="col-xs-12 scan-qr-code-banner-note default-service-type"> 5550 </div> 5551 </div> 5552 <div class="welcome-pax-block"> 5553 <div class="row"> 5554 <div class="col-xs-12 text-center"> 5555 <img class="pax-icon" src="/Content/images/v2/icons/pax-icon.svg" /> 5556 <input type="number" placeholder="Enter number of pax" oninput="maxLengthCheck(this)" pattern="\d*" id="totalPax" onkeypress="$('#ErrTotalPax').css('display', 'none'); $('#totalPax').removeClass('input-validation-error'); return event.charCode >= 48 && event.charCode <= 57;" name="totalPax" class="form-control" min="1" max="999" maxlength="3" />
5557 <span id="ErrTotalPax" class="error-message-hidden">Please input the number of pax</span> 5558 <span id="ErrTotalPaxIsNan" class="error-message-hidden">The number of pax must be a number</span> 5559 </div> 5560 </div> 5561 <br /> 5562 </div> 5563 5564 <div class="welcome-firstname-block"> 5565 <div class="row"> 5566 <div class="col-xs-12 text-center"> 5567 <img class="name-icon" src="/Content/images/v2/icons/name-icon.svg" /> 5568 <input type="hidden" id="hdfStationId" name="hdfStationId" /> 5569 <input type="text" placeholder="Enter your name " id="firstname" onkeypress="$('#ErrFirstname').css('display', 'none');" name="firstname" class="form-control" maxlength="52" /> 5570 <span id="ErrFirstname" class="error-message-hidden">This field is required.</span> 5571 </div> 5572 </div> 5573 <br /> 5574 </div> 5575 5576 <div id="block-station-ordering"> 5577 5578 <div class="row " id="divPrepareTime" style="padding: 10px;"> 5579 <div class="col-xs-12 text-center"> 5580 <strong>Estimated Serving Time: <span id="strongPrepareTime"></span> mins</strong> 5581 </div> 5582 </div> 5583 5584 <div class="row"> 5585 <div class="col-xs-12 text-center" id="dSignUp" style="position: relative"> 5586 <input type="button" class="btn" onclick="ProceedSignUp();" value="In-Queue Order" id="btnSignUp" /> 5587 </div> 5588 <div class="col-xs-12 text-center"> 5589 <p class="navbar-text" style="float: none">I have reached outlet, I am currently queueing and would like to order first while waiting for my seat</p></p> 5590 </div> 5591 </div> 5592 </div> 5593 5594 <div id="block-reservation"> 5595 <br /> 5596 <div class="row"> 5597 <div class="col-xs-12 text-center"> 5598 <input type="button" class="btn" onclick="GoToReservation();" value="Reservation Order" id="btnReservation" /> 5599 </div> 5600 <div class="col-xs-12 text-center"> 5601 <p class="navbar-text" style="float: none">I want to make an advance reservation together with my reservation order for a later date time</p> 5602 </div> 5603 </div> 5604 <div class="row"> 5605 <div class="col-xs-12 text-left"> 5606 <ul class="hey"> 5607 <li> 5608 <i>For cancelled queue or reservation orders, customer is entitled a refund for unfulfilled items</i> 5609 </li> 5610 <li> 5611 <i>Please refer to <a href="/Home/TermsConditions" target="_blank">Terms and Conditions</a> for details</i> 5612 </li> 5613 </ul> 5614 </div> 5615 </div> 5616 <br /> 5617 </div> 5618 </div> 5619 </div> 5620 </div> 5621 </div> 5622 </div> 5623 </div> 5624</div>
5625<script> 5626 var countService = parseInt('2'); 5627 $(document).ready(function () { 5628 $("#firstname").keyup(function (event) { 5629 $('#firstname').removeClass('input-validation-error'); 5630 if (event.keyCode == 13) { 5631 $("#btnSignUp").click(); 5632 } 5633 }); 5634 }); 5635 5636 function GoToReservation() { 5637 gapTime = 15; 5638 var isFormValid = true; 5639 var firstname = $('#firstname').val().trim(); 5640 $("#ErrTotalPax").css('display', 'none'); 5641 $('#totalPax').removeClass('input-validation-error'); 5642 if ((!firstname || firstname.length === 0) && popupEnterOrderingInfo.showEnterYourName) { 5643 isFormValid = false; 5644 $("#ErrFirstname").css('display', 'block'); 5645 $('#firstname').addClass('input-validation-error'); 5646 } else { 5647 $("#ErrFirstname").css('display', 'none'); 5648 $('#firstname').removeClass('input-validation-error'); 5649 } 5650 var totalPax = $('#totalPax').val().trim(); 5651 if ((!totalPax || totalPax == "0") && popupEnterOrderingInfo.showEnterNumberOfPax) { 5652 //totalPax = 0; 5653 $('#totalPax').addClass('input-validation-error'); 5654 $("#ErrTotalPax").css('display', 'block'); 5655 return; 5656 } 5657 var stationId = $("#hdfStationId").val(); 5658 if (isFormValid) { 5659 $(window).scrollTop(0); 5660 $('#reservation-name').val(firstname); 5661 $('#reservation-pax').val(totalPax); 5662 showTimeModal(true); 5663 //console.log('09/30/2026 19:45:00'); 5664 resetTimePicker2(new Date('09/30/2026 19:45:00')); 5665 } 5666 } 5667 5668 function maxLengthCheck(object) { 5669 if (object.value.length > object.maxLength) 5670 object.value = object.value.slice(0, object.maxLength) 5671 } 5672 5673 function ProceedSignUp() { 5674 5675 var isFormValid = true; 5676 $("#ErrTotalPax").css('display', 'none'); 5677 $('#totalPax').removeClass('input-validation-error'); 5678 5679 var firstname = $('#firstname').val().trim(); 5680 if ((!firstname || firstname.length === 0) && popupEnterOrderingInfo.showEnterYourName) { 5681 isFormValid = false; 5682 $("#ErrFirstname").css('display', 'block'); 5683 //border: 1px solid #b94a48; */ 5684 //form-control input-validation-error 5685 $('#firstname').addClass('input-validation-error'); 5686 } else { 5687 $("#ErrFirstname").css('display', 'none'); 5688 $('#firstname').removeClass('input-validation-error'); 5689 } 5690 5691 var totalPax = $('#totalPax').val().trim(); 5692 if ((!totalPax || totalPax == "0") && popupEnterOrderingInfo.showEnterNumberOfPax) { 5693 //totalPax = 0; 5694 $('#totalPax').addClass('input-validation-error'); 5695 $("#ErrTotalPax").css('display', 'block'); 5696 return; 5697 } 5698 5699 var stationId = $("#hdfStationId").val(); 5700 5701 if (isFormValid) { 5702 $(window).scrollTop(0); 5703 isSelectStation = true; 5704 SignUpDineIn(firstname, stationId, totalPax, 'welcome', true, false, null, null); 5705 } 5706 } 5707 5708 $('#modalWelcome').on('show.bs.modal', function () { 5709 if (isCustomServiceImage == true) { 5710 $('.dine-in-service-image').html(`<img src="${serviceImage}" alt="service image" />`); 5711 5712 $('.custom-service-image').show(); 5713 $('.default-service-type').hide(); 5714 } 5715 else { 5716 let welcomeIcon = getWelcomeIconApplyThemeColor(isSelfCollect); 5717 $('.dine-in-information').html(welcomeIcon); 5718 5719 $('.custom-service-image').hide(); 5720 $('.default-service-type').show(); 5721 } 5722 }); 5723 5724 $('#modalWelcome').on('shown.bs.modal', function () { 5725 if (countService > 1) { 5726 $("#btnCloseDienIn").css('display', 'block'); 5727 $("#modalWelcome").removeAttr("data-backdrop"); 5728 $("#modalWelcome").removeAttr("data-keyboard"); 5729 } 5730 isSelectStation = false; 5731 5732 setTimeout(function () { 5733 if (popupEnterOrderingInfo.showEnterNumberOfPax) { 5734 $('#totalPax').focus(); 5735 } 5736 else if (popupEnterOrderingInfo.showEnterYourName) { 5737 $('#firstname').focus(); 5738 } 5739 }, 500); 5740 });
5741 5742 $('#modalWelcome').on('hidden.bs.modal', function () { 5743 //goToStation($('.list-default-station').first().val()); 5744 //debugger; 5745 $('.dine-in-information').html(''); 5746 if (!isSelectStation && !isChoosingDateTime) { 5747 if ($('.list-default-station').length == 1) { 5748 $("#deliveryModal").modal('show'); 5749 } 5750 else { 5751 //location.reload(); 5752 let windowWidth = $(window).width(); 5753 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 5754 if (windowHeight < 1) { 5755 windowHeight = $(window).height(); 5756 } 5757 //if (windowWidth < 768) { 5758 if (true) { 5759 $("#deliveryModal").modal('show'); 5760 } 5761 else { 5762 $('#brachIndexModalStation').modal('show'); 5763 } 5764 $("#ErrFirstname").css('display', 'none'); 5765 $('#firstname').removeClass('input-validation-error'); 5766 5767 //$("#modalWelcome").modal('show'); 5768 } 5769 } 5770 }); 5771</script>
5771 5772 5773 5774 5775<div class="modal fade" id="modalDineInWelcome" tabindex="-1" aria-labelledby="mymodallabel" data-backdrop="static" data-keyboard="false"> 5776 <form id="dineInWelcomeModal"> 5777 <div class="modal-dialog modal-lg"> 5778 <div class="modal-content"> 5779 <div class="modal-header text-center"> 5780 <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close" style="position: absolute; right: 10px; top: 5px"> 5781 <img src="/Content/images/Closeclose.svg" /> 5782 </button> 5783 <!-- Single button --> 5784 </div> 5785 <div class="modal-body"> 5786 5787 <div class="row"> 5788 <div class="col-xs-12 text-center"> 5789 <h4 class="welcome-page-h4">Welcome to </h4> 5790 </div> 5791 <div class="col-xs-12 text-center scan-qr-code-banner custom-service-image"> 5792 <div class="dine-in-service-image"></div> 5793 </div> 5794 <div class="col-xs-12 text-center scan-qr-code-banner default-service-type"> 5795 <div class="dine-in-information"></div> 5796 </div> 5797 <div class="col-xs-12 scan-qr-code-banner-note default-service-type"> 5798 </div> 5799 </div> 5800 <div class="welcome-pax-block"> 5801 <div class="row"> 5802 <div class="col-xs-12 text-center"> 5803 <img class="pax-icon" src="/Content/images/v2/icons/pax-icon.svg" /> 5804 <input type="number" placeholder="Enter number of pax" oninput="maxLengthCheck(this)" pattern="\d*" id="dineinTotalPax" onkeypress="$('#ErrdineinTotalPax').css('display', 'none'); return event.charCode >= 48 && event.charCode <= 57;" name="dineinTotalPax" class="form-control" min="1" max="999" maxlength="3" /> 5805 <span id="ErrdineinTotalPax" class="error-message-hidden">Required field</span> 5806 <span id="ErrdineinTotalPaxIsNan" class="error-message-hidden">The number of pax must be a number</span> 5807 </div> 5808 </div> 5809 <br /> 5810 </div> 5811 <div class="welcome-firstname-block"> 5812 <div class="row"> 5813 <div class="col-xs-12 text-center"> 5814 <img class="name-icon" src="/Content/images/v2/icons/name-icon.svg" /> 5815 <input type="text" placeholder="Enter your name " id="dineinFirstname" onkeypress="$('#ErrdineinFirstname').css('display', 'none');" name="dineinFirstname" class="form-control" maxlength="52" /> 5816 <span id="ErrdineinFirstname" class="error-message-hidden">Required field</span> 5817 </div> 5818 </div> 5819 <br /> 5820 </div> 5821 <div class="row" style="padding: 10px;"> 5822 <div class="col-xs-12 text-center"> 5823 <strong>Estimated Serving Time: 20 mins</strong> 5824 </div> 5825 </div> 5826 <div class="row"> 5827 <div class="col-xs-12 text-center" id="dineInSignUp"> 5828 <input type="submit" class="btn" value="Start Ordering" /> 5829 </div> 5830 </div> 5831 </div> 5832 </div> 5833 </div> 5834 </form> 5835</div>
5836<script> 5837 const isBuffetMode = 'False' == 'True'; 5838 const isShowPopupEnterOrderingInfo = 'False' == 'True'; 5839 const isShowEnterNumberOfPax = 'False' == 'True'; 5840 const isShowEnterYourName = 'False' == 'True'; 5841 var isGroupOrderingMode = 'False' == 'True'; 5842 $(document).ready(function () { 5843 $("#dineinFirstname").keyup(function (event) { 5844 $('#dineinFirstname').removeClass('input-validation-error'); 5845 $('#dineinTotalAdult').removeClass('input-validation-error'); 5846 $('#dineinTotalChildren').removeClass('input-validation-error'); 5847 }); 5848 5849 $("#dineInWelcomeModal")[0].addEventListener('submit', function (e) { 5850 e.preventDefault(); 5851 DineInProceedSignUp(); 5852 }); 5853 5854 if (isBuffetMode == 'True' || isBuffetMode == true) { 5855 if (0 > 0 || 0 > 0) { 5856 $('#dineinTotalChildren').attr('type', 'text'); 5857 $('#dineinTotalAdult').attr('type', 'text'); 5858 $('#dineinTotalAdult').val('0' + ' adult'); 5859 $('#dineinTotalChildren').val('0' + ' children'); 5860 document.getElementById('dineinTotalAdult').disabled = true; 5861 document.getElementById('dineinTotalChildren').disabled = true; 5862 } else { 5863 document.getElementById('dineinTotalAdult').disabled = false; 5864 document.getElementById('dineinTotalChildren').disabled = false; 5865 } 5866 let $modalWelcome = $("#modalWelcome, #modalDineInWelcome"); 5867 $modalWelcome.find('.welcome-firstname-block').show(); 5868 } 5869 5870 if ((isGroupOrderingMode == 'True' || isGroupOrderingMode == true) && isShowPopupEnterOrderingInfo && isShowEnterNumberOfPax) { 5871 if (0 > 0) { 5872 $('#dineinTotalPax').val('0' + ' pax'); 5873 document.getElementById('dineinTotalPax').disabled = true; 5874 } else { 5875 document.getElementById('dineinTotalPax').disabled = false; 5876 } 5877 } 5878 }); 5879 5880 $('#modalDineInWelcome').on('show.bs.modal', function () { 5881 if (isGroupOrderingMode == true) { 5882 if (isCustomGroupImage == true) { 5883 $('.dine-in-service-image').html(`<img src="${imageSettingLink}" alt="group ordering image" />`); 5884 $('.custom-service-image').show(); 5885 $('.default-service-type').hide(); 5886 } else { 5887 $('.dine-in-information').html(getWelcomeIconApplyThemeColor(isSelfCollect, true, isPayLater)); 5888 $('.custom-service-image').hide(); 5889 $('.default-service-type').show(); 5890 } 5891 } else { 5892 if (isCustomServiceImage == true) { 5893 $('.dine-in-service-image').html(`<img src="${serviceImage}" alt="service image" />`); 5894 $('.custom-service-image').show(); 5895 $('.default-service-type').hide(); 5896 } else { 5897 $('.dine-in-information').html(getWelcomeIconApplyThemeColor(isSelfCollect, false, isPayLater)); 5898 $('.custom-service-image').hide(); 5899 $('.default-service-type').show(); 5900 } 5901 } 5902 }); 5903 5904 function maxLengthCheck(object) { 5905 if (object.value.length > object.maxLength) 5906 object.value = object.value.slice(0, object.maxLength) 5907 } 5908 5909 function getNumberPax(inputText) { 5910 if (inputText) { 5911 if (typeof (inputText) === 'number') { 5912 return inputText; 5913 } 5914 return parseInt(inputText.replace(/[^0-9]/g, ''), 10); 5915 } 5916 return 0; 5917 } 5918 5919 function DineInProceedSignUp() { 5920 let isFormValid = true; 5921 let dineinTotalPax = 0; 5922 let dineinTotalAdult = 0; 5923 let dineinTotalChildren = 0; 5924 let dineinFirstname = ''; 5925 let stationType = '0'; 5926 5927 if (isBuffetMode == 'True' || isBuffetMode == true) { 5928 $('#dineinTotalAdult').removeClass('input-validation-error'); 5929 $('#dineinTotalChildren').removeClass('input-validation-error'); 5930 dineinTotalAdult = $('#dineinTotalAdult').val().trim(); 5931 dineinTotalChildren = $('#dineinTotalChildren').val().trim(); 5932 5933 if (dineinTotalAdult != null && !dineinTotalAdult.toString().length 5934 && dineinTotalChildren != null && !dineinTotalChildren.length) { 5935 isFormValid = false; 5936 dineinTotalPax = 0; 5937 $('#dineinTotalAdult').focus(); 5938 $("#ErrdineinTotalAdult").css('display', 'block'); 5939 $('#dineinTotalAdult').addClass('input-validation-error'); 5940 return false; 5941 } 5942 else { 5943 isFormValid = true; 5944 dineinTotalPax = getNumberPax(dineinTotalAdult) + getNumberPax(dineinTotalChildren); 5945 $('#dineinTotalAdult').removeClass('error-message-hidden'); 5946 } 5947 5948 if (isShowPopupEnterOrderingInfo) { 5949 if (isShowEnterYourName) { 5950 dineinFirstname = $('#dineinFirstname').val().trim(); 5951 if (dineinFirstname != null && !dineinFirstname.toString().length) { 5952 isFormValid = false; 5953 $('#dineinFirstname').focus(); 5954 $("#ErrdineinFirstname").css('display', 'block'); 5955 $('#dineinFirstname').addClass('input-validation-error'); 5956 return false; 5957 } else { 5958 isFormValid = true; 5959 $("#ErrdineinFirstname").css('display', 'none'); 5960 $('#dineinFirstname').removeClass('input-validation-error'); 5961 } 5962 } 5963 } 5964 } 5965 else if (isGroupOrderingMode == 'True' || isGroupOrderingMode == true) { 5966 if (isShowPopupEnterOrderingInfo) { 5967 if (isShowEnterNumberOfPax) { 5968 dineinTotalPax = getNumberPax($('#dineinTotalPax').val().trim()); 5969 } else { 5970 dineinTotalPax = 0; 5971 } 5972 if (isShowEnterYourName) { 5973 dineinFirstname = $('#dineinFirstname').val().trim(); 5974 if (dineinFirstname != null && !dineinFirstname.toString().length) { 5975 isFormValid = false; 5976 $('#dineinFirstname').focus(); 5977 $("#ErrdineinFirstname").css('display', 'block'); 5978 $('#dineinFirstname').addClass('input-validation-error'); 5979 return false; 5980 } else { 5981 isFormValid = true; 5982 $("#ErrdineinFirstname").css('display', 'none'); 5983 $('#dineinFirstname').removeClass('input-validation-error'); 5984 } 5985 } 5986 } else { 5987 dineinTotalPax = 0; 5988 } 5989 } 5990 else { 5991 dineinFirstname = $('#dineinFirstname').val().trim(); 5992 if (!dineinFirstname?.toString()?.length && popupEnterOrderingInfo.showEnterYourName) { 5993 isFormValid = false; 5994 $('#dineinFirstname').focus(); 5995 $("#ErrdineinFirstname").css('display', 'block'); 5996 $('#dineinFirstname').addClass('input-validation-error'); 5997 return false; 5998 } else { 5999 isFormValid = true; 6000 $("#ErrdineinFirstname").css('display', 'none'); 6001 $('#dineinFirstname').removeClass('input-validation-error'); 6002 } 6003 if (stationType == '0' || stationType == '1') { 6004 dineinTotalPax = getNumberPax($('#dineinTotalPax').val().trim()); 6005 if (!dineinTotalPax?.toString()?.length && popupEnterOrderingInfo.showEnterNumberOfPax) { 6006 dineinTotalPax = 0; 6007 } else { 6008 $("#ErrdineinTotalPax").css('display', 'none'); 6009 if (isNaN(dineinTotalPax) && popupEnterOrderingInfo.showEnterNumberOfPax) { 6010 isFormValid = false; 6011 $("#ErrdineinTotalPaxIsNan").css('display', 'block'); 6012 return false; 6013 } 6014 else { 6015 isFormValid = true; 6016 $("#ErrdineinTotalPaxIsNan").css('display', 'none'); 6017 } 6018 } 6019 } 6020 else if (stationType == '2') { 6021 stationId = $("#dineinStationList option:selected").val(); 6022 if (stationId.length === 0) { 6023 isFormValid = false; 6024 $("#ErrdineinStationList").css('display', 'block'); 6025 $('#dineinStationList').addClass('input-validation-error'); 6026 return false; 6027 } else { 6028 isFormValid = true; 6029 $("#ErrdineinStationList").css('display', 'none'); 6030 $('#dineinStationList').removeClass('input-validation-error'); 6031 } 6032 dineinTotalPax = getNumberPax($('#dineinTotalPax').val().trim()); 6033 if (!dineinTotalPax?.toString()?.length && popupEnterOrderingInfo.showEnterNumberOfPax) { 6034 dineinTotalPax = 0; 6035 } else { 6036 $("#ErrdineinTotalPax").css('display', 'none'); 6037 if (isNaN(dineinTotalPax) && popupEnterOrderingInfo.showEnterNumberOfPax) { 6038 isFormValid = false; 6039 $("#ErrdineinTotalPaxIsNan").css('display', 'block'); 6040 return false; 6041 } 6042 else { 6043 isFormValid = true; 6044 $("#ErrdineinTotalPaxIsNan").css('display', 'none'); 6045 } 6046 } 6047 } 6048 } 6049 if (isFormValid) { 6050 $(window).scrollTop(0); 6051 SignUpDineIn(dineinFirstname, stationId, getNumberPax(dineinTotalPax), 'dinein', false, false, "", "", "", "", getNumberPax(dineinTotalAdult), getNumberPax(dineinTotalChildren)); 6052 } 6053 } 6054</script>
6054 6055 <div class="modal fade text-center in" id="confirmLeaveDineIn" role="dialog" tabindex="-1" data-backdrop="static" data-keyboard="true"> 6056 <div class="vertical-alignment-helper"> 6057 <div class="modal-dialog vertical-align-center"> 6058 <div class="modal-dialog"> 6059 <div class="modal-content"> 6060 <div class="modal-header"> 6061 6062 <h4 class="modal-title text-center">You are leaving the Dine-in service. <br /> All the items added will remain unchanged</h4> 6063 </div> 6064 6065 <div class="modal-footer" style="text-align: center"> 6066 <input type="hidden" id="confirm-dinein-value-1" /> 6067 <input type="hidden" id="confirm-dinein-value-2" /> 6068 6069 <button type="button" class="btn btn-default leave-dinein-btn" onclick="LeaveDineInService();">Leave</button> 6070 <button type="button" class="btn btn-primary leave-dinein-btn" onclick="location.reload()">Stay</button> 6071 </div> 6072 </div> 6073 </div> 6074 </div> 6075 </div> 6076</div> 6077
6078<script> 6079 function LeaveDineInService() { 6080 $('#confirmLeaveDineIn').hide(); 6081 6082 var orderType = $('#confirm-dinein-value-1').val(); 6083 var isBranch = $('#confirm-dinein-value-2').val(); 6084 6085 if (orderType && orderType == 1) { 6086 checkLoadBranchModel(orderType, isBranch, true); 6087 } else { 6088 showInputPostalCodeModal(true); 6089 } 6090 } 6091 6092 function KeepDineService() { 6093 $('#confirmLeaveDineIn').hide(); 6094 $('#iprocessingtab a[href="#tab_Dine_In"]').tab('show'); 6095 } 6096</script>
6096 6097 6098 6099 6100 6101 6102<div class="modal fade text-center in" id="confirmNextStepPromotion" role="dialog" tabindex="-1" data-backdrop="static" data-keyboard="true"> 6103 <div class="vertical-alignment-helper"> 6104 <div class="modal-dialog vertical-align-center"> 6105 <div class="modal-dialog bg-light-custom"> 6106 <div class="modal-content" style="border: 3px solid #FD576B;"> 6107 <div class="modal-body text-left"> 6108 <div class="row"> 6109 <input type="hidden" id="confirm-type" /> 6110 6111 <input type="hidden" id="confirm-id" /> 6112 <input type="hidden" id="confirm-productId" /> 6113 <input type="hidden" id="confirm-quantity" /> 6114 <input type="hidden" id="confirm-price" /> 6115 <input type="hidden" id="confirm-step" /> 6116 <input type="hidden" id="confirm-promotionid" /> 6117 <input type="hidden" id="confirm-promotionsindex" /> 6118 6119 <input type="hidden" id="confirm-promotionType" /> 6120 <input type="hidden" id="confirm-fixedPriceValue" /> 6121 <input type="hidden" id="confirm-typeDiscount" /> 6122 <input type="hidden" id="confirm-discountValue" /> 6123 6124 <input type="hidden" id="confirm-remark" /> 6125 6126 <input type="hidden" id="confirm-year" /> 6127 <input type="hidden" id="confirm-month" /> 6128 <input type="hidden" id="confirm-day" /> 6129 <input type="hidden" id="confirm-time" /> 6130 6131 <input type="hidden" id="confirm-orderType" /> 6132 <input type="hidden" id="confirm-isBranch" /> 6133 <input type="hidden" id="confirm-isLeave" /> 6134 6135 <input type="hidden" id="confirm-outletIndex" /> 6136 6137 <input type="hidden" id="confirm-firstname" /> 6138 <input type="hidden" id="confirm-stationId" /> 6139 <input type="hidden" id="confirm-totalPax" /> 6140 <input type="hidden" id="confirm-dinein" /> 6141 6142 <input type="hidden" id="confirm-finishstep" /> 6143 <input type="hidden" id="confirm-url" /> 6144 6145 <div class="media-left media-custom"> 6146 <img class="media-object" id="img-step-promotion" src="/Content/Images/custom/carrot/warning-icon.svg" height="72" /> 6147 </div> 6148 <div class="media-body media-custom" style="color:#FD576B;"> 6149 <p id="titleconfirmNextStep">The earliest fulfillment time has been adjusted.</p> 6150 </div> 6151 </div> 6152 <div class="row"> 6153 <div class="col-xs-12" style="text-align:right"> 6154 6155 <button type="button" class="btn btn-promotion-yes" id="btnNextStep" onclick="continueNextStep()">Yes</button> 6156 <button type="button" class="btn btn-promotion-no" id="btnStayHere" onclick="stayHere()">No</button> 6157 </div> 6158 </div> 6159 </div> 6160 6161 </div> 6162 </div> 6163 </div> 6164 </div> 6165</div> 6166
6167<script> 6168 var bk_productItem = {}; 6169 var bk_arrayInfoVariantAndModifierGroup = {}; 6170 function continueNextStep() { 6171 var titleBtn = $('#btnNextStep').text(); 6172 var id = $('#confirm-id').val(); 6173 var productId = $('#confirm-productId').val(); 6174 var quantity = $('#confirm-quantity').val(); 6175 var price = $('#confirm-price').val(); 6176 var step = $('#confirm-step').val(); 6177 var promotionId = $('#confirm-promotionid').val(); 6178 var promotionIndex = $('#confirm-promotionsindex').val(); 6179 6180 $('#btnNextStep').html(titleBtn + ' <i class=\"fa fa-spinner fa-spin\"></i>'); 6181 var type = $('#confirm-type').val(); 6182 if (type == '0') { 6183 if (id && id != '' && productId && productId != '') { 6184 AddProductToCart(id, productId, quantity, price, promotionId, step, promotionIndex) 6185 } 6186 } 6187 else if (type == '1') { 6188 if (id && id != '' && productId && productId != '') { 6189 var promotionType = $('#confirm-promotionType').val(); 6190 var fixedPriceValue = $('#confirm-fixedPriceValue').val(); 6191 var typeDiscount = $('#confirm-typeDiscount').val(); 6192 var discountValue = $('#confirm-discountValue').val(); 6193 6194 var productItemToOrder = { 6195 productItem: bk_productItem, arrayInfoVariantAndModifierGroup: bk_arrayInfoVariantAndModifierGroup, 6196 'promotionId': promotionId, 6197 'promotionIndex': promotionIndex, 6198 'promotionType': promotionType, 6199 'promotionQuantity': quantity, 6200 'step': step, 6201 'fixedPriceValue': fixedPriceValue, 6202 'typeDiscount': typeDiscount, 6203 'discountValue': discountValue 6204 } 6205 $.ajax({
6206 type: "POST", 6207 url: '/ShoppingCart/AddToCartVersion4', 6208 contentType: 'application/json; charset=UTF-8', 6209 data: JSON.stringify(productItemToOrder), 6210 success: function (result) { 6211 LoadContainMyCart(); 6212 if (result.isChangedCollectDateTime == true) { 6213 LoadContainMyCart(); 6214 //Close the pop up box once its add to cart 6215 hideProductDetailDiaLog(); 6216 $('#fulfillmentChanged').modal('show'); 6217 if (promotionId && promotionId != '' && promotionIndex && promotionIndex != '' && result.isnextstep) { 6218 return; 6219 } 6220 } 6221 if (result.success == false && result.status == -10) { 6222 location.reload(); 6223 } 6224 if (result.status === -1 || result.status === -2) { 6225 location.reload(); 6226 } else { 6227 6228 if (data.isTrackQuantity === true) { 6229 checkProductOutOfStock(data.docId, data.productID); 6230 } 6231 6232 LoadContainMyCart(); 6233 //myCartQuantity = result.quantity; 6234 6235 if (result.status === 0) { 6236 //ShowMessage(4,data.quantityInStock); 6237 $('#error-product-quantity-left').removeClass('hidden'); 6238 } else { 6239 //ShowMessage(3); 6240 setCountOrderInMyCart(result.count); 6241 data = result.productItem; 6242 6243 //Close the pop up box once its add to cart 6244 } 6245 } 6246 6247 if (result.changeAutoCollectTime == true) { 6248 LoadContainTimeModal(); 6249 } 6250 6251 hideProductDetailDiaLog(); 6252 if (promotionId && promotionId != '' && promotionIndex && promotionIndex != '' && result.isnextstep) { 6253 $('#confirm-promotionid').val(promotionId); 6254 $('#confirm-type').val('999'); 6255 $('#confirm-promotionsindex').val(promotionIndex); 6256 6257 $('#confirm-id').val(''); 6258 $('#confirm-productId').val(''); 6259 6260 $("#img-step-promotion").attr("src", urlLikeIcon); 6261 $(".confirm-promotion-icon").css("display", "none"); 6262 $(".confirm-promotion-icon.like-promotion-icon").css("display", "initial"); 6263 6264 $("#btnNextStep").html(localizedButton.O_YesILoveTo).css("width", "auto"); 6265 $('#titleconfirmNextStep').text(localizedMessage.O_GreatChoicePleaseProceedNextStepToSelectThePromotionItem); 6266 $('#confirm-finishstep').val('0'); 6267 if (result.isfinishstep) { 6268 $("#img-step-promotion").attr("src", urlLikeMedalIcon); 6269 $(".confirm-promotion-icon").css("display", "none"); 6270 $(".confirm-promotion-icon.likemedal-promotion-icon").css("display", "initial"); 6271 6272 $("#btnNextStep").html('Yes').removeAttr("style"); 6273 $('#titleconfirmNextStep').text(localizedMessage.O_GreatChoiceAgainNowPleaseConfirmYourOrder); 6274 $('#confirm-finishstep').val(result.isfinishstep.toString()); 6275 } 6276 $('#btnStayHere').show(0); 6277 $('#confirmNextStepPromotion').modal('show'); 6278 } 6279 else { 6280 $("#confirmNextStepPromotion").modal('hide'); 6281 } 6282 }, 6283 error: function (error) { 6284 //console.log(error); 6285 isSubmit = false; 6286 $("#confirmNextStepPromotion").modal('hide'); 6287 }, 6288 beforeSend: function () { 6289 $('#btn-AddToCart').text(languageButton["O_Processing"] + '...'); 6290 $('#btn-AddToCart').attr("disable", "disable"); 6291 }, 6292 complete: function () { 6293 //Reset Check-out btn 6294 $('#btn-AddToCart').text('Add to Cart'); 6295 $('#btn-AddToCart').removeAttr("disable", "disable"); 6296 } 6297 }); 6298 } 6299 } 6300 else if (type == '2') { 6301 SelectTime(timeSelectionListItem, $('#confirm-time').val(), dateSelected, '/Home/SelectedTime', 'confirmNextStepPromotion'); 6302 } 6303 else if (type == '3') { 6304 var orderType = parseInt($('#confirm-orderType').val()); 6305 var isBranch = $('#confirm-isBranch').val() == 'true'; 6306 var isLeave = $('#confirm-isLeave').val() == 'true'; 6307 switch (orderType) { 6308 case 0: 6309 showInputPostalCodeModal(); 6310 break; 6311 case 1: 6312 checkLoadBranchModel(1, isBranch); 6313 break; 6314 default: 6315 checkLoadBranchModel(2, isBranch, isLeave); 6316 } 6317 $("#confirmNextStepPromotion").modal('hide'); 6318 } 6319 else if (type == '4') { 6320 var outletIndex = parseInt($('#confirm-outletIndex').val()); 6321 changeBranchIndex(outletIndex, false) 6322 $("#confirmNextStepPromotion").modal('hide'); 6323 } 6324 else if (type == '5') { 6325 $("#confirmNextStepPromotion").modal('hide'); 6326 $('#btnNextStep').html(titleBtn); 6327 } 6328 else if (type == '6') { 6329 var firstname = $('#confirm-firstname').val(); 6330 var stationId = $('#confirm-stationId').val(); 6331 var totalPax = $('#confirm-totalPax').val(); 6332 var dinein = $('#confirm-dinein').val(); 6333 SignUpDineIn(firstname, stationId, totalPax, dinein, false); 6334 $("#confirmNextStepPromotion").modal('hide'); 6335 } 6336 else { 6337 continuePromotion(promotionId, promotionIndex, $('#confirm-finishstep').val() == 'true'); 6338 $("#confirmNextStepPromotion").modal('hide'); 6339 } 6340 } 6341 6342 function stayHere() { 6343 var type = $('#confirm-type').val(); 6344 if (type != '0') { 6345 isSubmit = false; 6346 } 6347 if (type == '3') { 6348 location.reload(); 6349 } 6350 if (type == '4') { 6351 $('#iprocessingtab').attr('style', 'display:none'); 6352 isProcessingTab = false; 6353 var outletIndex = $('#confirm-outletIndex').val(); 6354 var btn = $("#btn-map-" + outletIndex); 6355 btn.removeAttr('disabled'); 6356 btn.html('Select'); 6357 } 6358 if (type == '6') { 6359 $('#iprocessingtab').attr('style', 'display:none'); 6360 isProcessingTab = false; 6361 var dinein = $('#confirm-dinein').val(); 6362 if (dinein == 'dinein') { 6363 $('#dineInSignUp').html("<input type='button' class='btn' onclick='DineInProceedSignUp();' value='Start Ordering' id='btnSignUp'/>"); 6364 } 6365 else { 6366 $('#dSignUp').html("<input type='button' class='btn' onclick='ProceedSignUp();' value='Start Ordering' id='btnSignUp'/>"); 6367 } 6368 } 6369 if (type == '999') { 6370 var currentUrl = window.location.href.toLowerCase(); 6371 var promotionId = $('#confirm-promotionid').val().toLowerCase(); 6372 if (currentUrl.indexOf(promotionId) <= 0) { 6373 var url = $('#confirm-url').val(); 6374 location.href = url; 6375 } 6376 } 6377 $("#confirmNextStepPromotion").modal('hide'); 6378 } 6379 6380</script>
6380 6381 6382 6383 6384 6385 6386<div class="modal fade text-center in" id="confirmCompletedPromotion" role="dialog" tabindex="-1" data-backdrop="static" data-keyboard="true"> 6387 <div class="vertical-alignment-helper"> 6388 <div class="modal-dialog vertical-align-center"> 6389 <div class="modal-dialog bg-light-custom"> 6390 <div class="modal-content border-color-by-theme" style="border: 3px solid;"> 6391 <div class="modal-body text-left"> 6392 <div class="row"> 6393 <div class="media-left media-custom"> 6394 <img class="media-object hidden-xs hidden-sm" src="/Content/Images/custom/carrot/warning-icon.svg" height="72" /> 6395 <img class="media-object hidden-md hidden-lg" src="/Content/Images/custom/carrot/warning-icon.svg" height="52" /> 6396 </div> 6397 <div class="media-body media-custom color-by-theme"> 6398 <p id="titleconfirmNextStep color-by-theme">Please complete promotion <text id="promotion-name"></text> before adding one more.</p> 6399 </div> 6400 </div> 6401 <div class="row"> 6402 <div class="col-xs-12" style="text-align:right"> 6403 <button type="button" class="btn btn-promotion-yes" onclick="$('#confirmCompletedPromotion').modal('hide')">OK</button> 6404 </div> 6405 </div> 6406 </div> 6407 </div> 6408 </div> 6409 </div> 6410 </div> 6411</div> 6412 6413 <div class="modal fade text-center in" id="alertProductNotAdded" role="dialog" tabindex="-1" data-backdrop="static" data-keyboard="true"> 6414<div class="vertical-alignment-helper"> 6415 <div class="modal-dialog vertical-align-center"> 6416 <div class="modal-dialog"> 6417 <div class="modal-content"> 6418 <div class="modal-header"> 6419 <h4 class="modal-title text-center">The item you've selected was not added to your cart.</h4> 6420 <h4 class="modal-title text-center">Please try again.</h4> 6421 </div> 6422 6423 <div class="modal-footer" style="text-align: center"> 6424 <input type="hidden" id="confirm-dinein-value-1" /> 6425 <input type="hidden" id="confirm-dinein-value-2" /> 6426 6427 <button type="button" class="btn btn-default" onclick="closeMessage()">Close</button> 6428 </div> 6429 </div> 6430 </div> 6431 </div> 6432</div> 6433</div> 6434
6435<script> 6436 function closeMessage() { 6437 $('#alertProductNotAdded').hide(); 6438 } 6439 6440</script>
6440 6441 6442 6443 6444<div class="modal fade in" id="announcementpopup" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-keyboard="true"> 6445 <div class="vertical-alignment-helper"> 6446 <div class="modal-dialog vertical-align-center"> 6447 <div class="modal-dialog modal-dialog-announcement modal-lg"> 6448 <div class="modal-content text-announcement"> 6449 <div class="bell-illustration-icon"> 6450 <svg xmlns="http://www.w3.org/2000/svg" width="107" height="104" viewBox="0 0 107 104" fill="none" style="filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));"> 6451 <path d="M59.502 83.7117C59.502 83.7117 41.2886 108.105 50.0151 78.7915Z" fill="white" /> 6452 <path d="M69.8774 23.6226C69.8774 23.6226 71.4837 25.4002 78.1496 37.0254C84.816 48.6508 81.4703 53.8784 81.4703 53.8784C75.8679 72.0679 78.1129 87.3129 78.1129 87.3129C78.1129 87.3129 74.6506 88.7495 54.7716 80.164" fill="white" /> 6453 <path d="M79.1217 83.4676C76.7931 76.7692 74.7857 73.0541 79.875 58.8601C84.5356 45.8619 79.6091 38.7855 74.9941 34.5237C74.3809 33.9582 73.9485 33.0218 73.9963 32.195C74.2147 28.5805 72.5789 24.7175 69.0351 23.4018C65.4913 22.0861 61.7929 23.9706 59.6816 26.8842C59.192 27.5562 58.2727 27.9778 57.4457 28.0086C51.2102 28.2458 42.9751 30.4172 38.3098 43.4285C33.2123 57.6195 29.3254 59.1463 23.3048 62.7449C20.8104 64.2356 21.1772 68.0005 24.2025 69.1237L74.4143 87.7654C77.4233 88.8825 80.0804 86.2291 79.1217 83.4676ZM59.7041 82.3041L58.7644 84.925C57.7674 87.7055 55.7152 89.9651 53.0591 91.2068C50.403 92.4485 47.3607 92.5706 44.6014 91.5462C41.8422 90.5218 39.5919 88.4348 38.3458 85.7443C37.0996 83.0539 36.9596 79.9803 37.9566 77.1999L38.8963 74.5789" fill="white" /> 6454 <path d="M19.7893 22.2158L18.7917 25.4071" stroke="#F26722" stroke-width="4" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round" /> 6455 <path d="M2 66.8925C2 64.6116 3.74914 62.7627 5.90694 62.7627C8.06475 62.7627 9.81389 64.6116 9.81389 66.8925C9.81389 69.1733 8.06475 71.0222 5.90694 71.0222C3.74914 71.0222 2 69.1733 2 66.8925Z" stroke="#F2672280" stroke-width="4" stroke-miterlimit="10" stroke-linejoin="round" /> 6456 <path d="M97.0713 19.7647C97.0713 18.1869 98.6542 16.9077 100.607 16.9077C102.56 16.9077 104.143 18.1869 104.143 19.7647C104.143 21.3428 102.56 22.622 100.607 22.622C98.6542 22.622 97.0713 21.3428 97.0713 19.7647Z" stroke="#F2672280" stroke-width="4" stroke-miterlimit="10" stroke-linejoin="round" /> 6457 <path d="M91.5 89.5219C91.5 86.9574 94.1384 84.8789 97.3928 84.8789C100.647 84.8789 103.286 86.9574 103.286 89.5219C103.286 92.0861 100.647 94.1646 97.3928 94.1646C94.1384 94.1646 91.5 92.0861 91.5 89.5219Z" stroke="#F26722" stroke-width="4" stroke-miterlimit="10" stroke-linejoin="round" /> 6458 <path d="M59.502 84.6628C59.502 84.6628 41.2886 109.056 50.0151 79.7427Z" fill="#F2672280" /> 6459 <path d="M69.8774 24.5737C69.8774 24.5737 71.4837 26.3514 78.1496 37.9766C84.816 49.602 81.4703 54.8296 81.4703 54.8296C75.8679 73.0191 78.1129 88.2641 78.1129 88.2641C78.1129 88.2641 74.6506 89.7007 54.7716 81.1151" fill="#F2672280" /> 6460 <path d="M59.7041 83.2552L58.7644 85.8762C57.7674 88.6566 55.7152 90.9163 53.0591 92.158C50.403 93.3997 47.3607 93.5218 44.6014 92.4974C41.8422 91.4729 39.5919 89.386 38.3458 86.6955C37.0996 84.005 36.9596 80.9315 37.9566 78.151L38.8963 75.5301M79.1217 84.4188C76.7931 77.7204 74.7857 74.0053 79.875 59.8113C84.5356 46.813 79.6091 39.7367 74.9941 35.4748C74.3809 34.9093 73.9485 33.9729 73.9963 33.1461C74.2147 29.5316 72.5789 25.6687 69.0351 24.353C65.4913 23.0373 61.7929 24.9217 59.6816 27.8354C59.192 28.5074 58.2727 28.929 57.4457 28.9598C51.2102 29.197 42.9751 31.3684 38.3098 44.3797C33.2123 58.5707 29.3254 60.0974 23.3048 63.6961C20.8104 65.1867 21.1772 68.9517 24.2025 70.0748L74.4143 88.7165C77.4233 89.8337 80.0804 87.1802 79.1217 84.4188Z" stroke="#F26722" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /> 6461 <path d="M41.9836 3.87903C36.7546 2.79941 25.5172 3.84108 22.3998 16.6447" stroke="#F26722" stroke-width="4" stroke-linecap="round" /> 6462 <path d="M40.951 13.1175C38.528 12.5989 33.384 12.7859 32.1918 17.6824" stroke="#F2672280" stroke-width="4" stroke-linecap="round" /> 6463 </svg> 6464 </div> 6465 <div class="row"> 6466 <div class="col-xs-12 text-center"> 6467 <div class="section-header"> 6468 <button type="button" class="close pull-right clear-opacity" data-dismiss="modal" aria-label="Close"> 6469 <svg xmlns="http://www.w3.org/2000/svg" width="34" height="37" viewB
6469ox="0 0 34 37" fill="none"> 6470 <ellipse cx="17" cy="18.2175" rx="17" ry="18.0075" fill="white" /> 6471 <path d="M26.2145 11.1309L24.5925 9.50439L16.946 17.1721L9.29948 9.50439L7.67749 11.1309L15.324 18.7986L7.67749 26.4663L9.29948 28.0928L16.946 20.4251L24.5925 28.0928L26.2145 26.4663L18.568 18.7986L26.2145 11.1309Z" fill="black" /> 6472 </svg> 6473 </button> 6474 </div> 6475 </div> 6476 </div> 6477 <div class="modal-body media"> 6478 <div class="row media-body media-announcement"> 6479 6480 </div> 6481 </div> 6482 6483 <div class="section-footer"> 6484 <button type="button" class="btn btn-ok-got-it" data-dismiss="modal">Ok, got it</button> 6485 </div> 6486 </div> 6487 </div> 6488 </div> 6489 </div> 6490</div> 6491
6492<script type="text/javascript"> 6493 6494 $(document).ready(function () { 6495 var isImageAnnouncement = 'False'; 6496 //function announcementWindowSize() { 6497 // if ($('#announcementpopup .modal-content').height() > window.outerHeight - 140) { 6498 // $('#announcementpopup .modal-body').addClass('scroll-y'); 6499 // $('#announcementpopup .modal-body').css('height', window.outerHeight - 300); 6500 // } 6501 //} 6502 6503 $('#announcementpopup').on('hidden.bs.modal', function () { 6504 // closeAnnouncement(''); 6505 var typePopUp = 0; 6506 closePopUpAnnouncement('', typePopUp); 6507 6508 console.log(isImageAnnouncement); 6509 if (isImageAnnouncement == 'True') { 6510 $(this).removeClass('is-announcement-popup'); 6511 } 6512 }); 6513 6514 $('#announcementpopup').on('shown.bs.modal', function () { 6515 // announcementWindowSize() 6516 console.log(isImageAnnouncement); 6517 if (isImageAnnouncement == 'True') { 6518 $(this).addClass('is-announcement-popup'); 6519 } 6520 }); 6521 6522 //window.onresize = announcementWindowSize; 6523 }); 6524</script>
6524 6525 6526 <div class="modal fade text-center in" id="alertProductInvalid" role="dialog" tabindex="-1" data-backdrop="static" data-keyboard="true"> 6527 <div class="vertical-alignment-helper"> 6528 <div class="modal-dialog vertical-align-center"> 6529 <div class="modal-dialog"> 6530 <div class="modal-content"> 6531 <div class="modal-header"> 6532 <button type="button" class="close pull-right" onclick="closeMessage()" aria-label="Close"> 6533 <img src="/Content/images/Closeclose.svg" /> 6534 </button> 6535 <h4 class="modal-title">Some item(s) are not available right now and will be removed from your cart.</h4> 6536 </div> 6537 <div class="modal-body text-left"> 6538 <p id="product-in-valid"></p> 6539 </div> 6540 <div class="modal-footer" style="text-align: center"> 6541 <button type="button" class="btn btn-primary" id="btnProductInvalidPayment" onclick="closeMessage()">OK, Got it</button> 6542 <button type="button" class="btn btn-primary" id="btnProductInvalidCheckout" onclick="removeInvalidProductAndPayment()">OK, Got it</button> 6543 </div> 6544 </div> 6545 </div> 6546 </div> 6547 </div> 6548</div> 6549
6550<script> 6551 function closeMessage() { 6552 var currentUrl = window.location.href.toLowerCase(); 6553 if (currentUrl.indexOf('/checkout') > 0) { 6554 window.location.href = '/'; 6555 } 6556 else { 6557 location.reload(); 6558 } 6559 $('#alertProductInvalid').modal('hide'); 6560 } 6561</script>
6561 6562
6562<script src="https://web-content.getz.co/prod/Scripts/jquery.datetimepicker.min.js"></script>
6562 6563<link href="/Content/jquery.datetimepicker.css" rel="stylesheet" type="text/css" /> 6564 6565 6566<div class="space-filler"> 6567</div> 6568<div class="modal fade popup-full-mobi-v2 popup-datetime-mobi-v2" id="selectTimeModal" tabindex="-1" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 6569 <div class="modal-dialog"> 6570 <div class="modal-content"> 6571 <div class="modal-header header-title"> 6572 <input type="hidden" id="reservation-name" value="" /> 6573 <input type="hidden" id="reservation-pax" value="" /> 6574 <input type="hidden" id="reservation-setting" value="" /> 6575 <input type="hidden" id="reservation-outlet-index" value="" /> 6576 <div> 6577 <button type="button" class="close-left" id="btn-timeModal-close" data-dismiss="modal" aria-label="Close"> 6578 <svg width="20" height="14" viewBox="0 0 20 14" fill="none" xmlns="http://www.w3.org/2000/svg" style="color: black;"> 6579 <path d="M7 14L8.41 12.59L3.83 8H20V6H3.83L8.42 1.41L7 0L0 7L7 14Z" fill="#F26722"></path> 6580 </svg> 6581 </button> 6582 </div> 6583 <div class="col-xs-11 col-width-96"> 6584 <p> 6585 <strong>Reservation</strong> 6586 </p> 6587 </div> 6588 6589 <div class="hidden"> 6590 <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close"> 6591 <img src="/Content/images/Closeclose.svg" /> 6592 </button> 6593 <h4 id="selectTimeModal_header" class="modal-title text-center">Choose Date & Time</h4> 6594 </div> 6595 </div> 6596 <div class="modal-body scrollable"> 6597 <div class="bodyservice"> 6598 6599 <div class="form-group titletabsession"> 6600 <div class="row"> 6601 <div class="col-xs-12"> 6602 <span>Select Date</span> 6603 </div> 6604 </div> 6605 <div class="row actionmoredate"> 6606 <div class="col-xs-8"> 6607 <p>September 2026</p> 6608 </div> 6609 <div class="col-xs-4"> 6610 <button class="btn btn-default pull-right btnSwitchDateMode" type="button" onclick="switchDateMode('#selectTimeModal ')"> 6611 <i class="fa fa-calendar" aria-hidden="true"></i>More Dates 6612 </button> 6613 </div> 6614 </div> 6615 </div> 6616 <div class="form-group tabmoredate jk-calendar"> 6617 <div id="datetimepicker3"></div> 6618 </div> 6619 6620 <div class="form-group tablessdate"> 6621 <div class="contentlessdate active lessdate-0" onclick="cho
6621oseDate2('0');"> 6622 <span id="lessdate-week2-0">Wed</span> 6623 <span id="lessdate-day2-0" class="daylessdate">30</span> 6624 <input type="hidden" id="chooseDate2-0" value="09/30/2026" /> 6625 </div> 6626 <div class="contentlessdate lessdate-1" onclick="chooseDate2('1');"> 6627 <span id="lessdate-week2-1">Thu</span> 6628 <span id="lessdate-day2-1" class="daylessdate">01</span> 6629 <input type="hidden" id="chooseDate2-1" value="10/01/2026" /> 6630 </div> 6631 <div class="contentlessdate lessdate-2" onclick="chooseDate2('2');"> 6632 <span id="lessdate-week2-2">Fri</span> 6633 <span id="lessdate-day2-2" class="daylessdate">02</span> 6634 <input type="hidden" id="chooseDate2-2" value="10/02/2026" /> 6635 </div> 6636 <div class="contentlessdate lessdate-3" onclick="cho
6636oseDate2('3');"> 6637 <span id="lessdate-week2-3">Sat</span> 6638 <span id="lessdate-day2-3" class="daylessdate">03</span> 6639 <input type="hidden" id="chooseDate2-3" value="10/03/2026" /> 6640 </div> 6641 <div class="contentlessdate lessdate-4" onclick="chooseDate2('4');"> 6642 <span id="lessdate-week2-4">Sun</span> 6643 <span id="lessdate-day2-4" class="daylessdate">04</span> 6644 <input type="hidden" id="chooseDate2-4" value="10/04/2026" /> 6645 </div> 6646 <div class="contentlessdate lessdate-5" onclick="chooseDate2('5');"> 6647 <span id="lessdate-week2-5">Mon</span> 6648 <span id="lessdate-day2-5" class="daylessdate">05</span> 6649 <input type="hidden" id="chooseDate2-5" value="10/05/2026" /> 6650 </div> 6651 <div class="contentlessdate lessdate-6" onclick="cho
6651oseDate2('6');"> 6652 <span id="lessdate-week2-6">Tue</span> 6653 <span id="lessdate-day2-6" class="daylessdate">06</span> 6654 <input type="hidden" id="chooseDate2-6" value="10/06/2026" /> 6655 </div> 6656 6657 </div> 6658 6659 <div class="form-group titletabsession"> 6660 <div class="row"> 6661 <div class="col-xs-12"> 6662 <span>Select Time slot</span> 6663 </div> 6664 </div> 6665 </div> 6666 <div class="s-alert"> 6667 <div class="alert alert-danger hidden" role="alert" id="ErrDineInCollectTime_Modal"> 6668 This date is not available for Dine-In 6669 </div> 6670 </div> 6671 6672 <div class="form-group hidden" style="margin-bottom: 10px"> 6673 <select class="form-control valid time-selector-dropdown" name="dropdown-time-selecter-2" id="dropdown-time-selecter-2"></select> 6674 </div> 6675 6676 <div class="form-group tablesstime" id="selecter-time-slot2"> 6677 6678 </div> 6679 6680 <div class="form-group" style="display: none;"> 6681 <table id="myTable" class="table table-hover time-list"> 6682 </table> 6683 </div> 6684 6685 <div class="row" id="select-pre-order-notice-message" style="display:none;"> 6686 <div class="col-xs-12"> 6687 <div class="row pre-order-notice-body"> 6688 <div class="col-xs-12 form-group"> 6689 <div> 6690 <span> 6691 <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> 6692 Please notice that: 6693 </span> 6694 </div> 6695 <div class="pre-order-notice-info"> 6696 <span style="letter-spacing: 0.15px;line-height: 1.2;"> 6697 6698 Your order will be changed the Pick-up time to the possibly earliest time slot at 6699 <strong id="select-pre-order-notice-date-time" style="display: inline-block;"></strong> 6700 </span> 6701 </div> 6702 </div> 6703 </div> 6704 </div> 6705 </div> 6706 6707 <div class="row" id="discount-promotions-2" style="display:none;"> 6708 <div class="col-sm-4 col-xs-12"> 6709 <div class="form-group"> 6710 <span class="promotions-available-bullet text-theme-modal">Promotions available</span> 6711 </div> 6712 </div> 6713 <div class="col-sm-8 col-xs-12"> 6714 <div class="form-group" id="list-promotions-2"></div> 6715 <div class="form-group" id="list-vouchers-2"></div> 6716 </div> 6717 </div> 6718 </div> 6719 </div> 6720 <div class="modal-footer fix-modal-footer"> 6721 <button type="button" class="btn col-xs-12 button-done hidden" onclick="DoneSelection2()" id="btnSubmit" 6722 style="background-color: #fd576b;height: 40px;color: white;border: 0;padding-right: 1px;border-top-left-radius: 0px;border-top-right-radius: 0px;"> 6723 <span id="btn-start-reserving-text"> Start Reserving </span> <span id="btn-start-reserving-spinner"> </span> 6724 </button> 6725 <button class="btn" type="button" id="btnChooseSelectTimeModal" onclick="DoneSelection2()"> 6726 Confirm 6727 </button> 6728 </div> 6729 <input type="hidden" id="updateCurrentSelectedDate2" /> 6730 </div> 6731 </div> 6732</div> 6733
6734<script type="text/javascript"> 6735 //console.log('09/30/2026 19:45:00'); 6736 var autoCollectTimeReservation = '09/30/2026 19:45:00'; 6737 var currentDate2 = new Date('09/30/2026 19:45:00'); 6738 var availableTime2 = new Date('09/30/2026 19:45:00'); 6739 var timeselected2 = '00:00 - 00:00'; 6740 var dateSelected2 = new Date('09/30/2026'); 6741 if (dateSelected2 <= new Date('01/01/0001')) { 6742 dateSelected2 = new Date('09/30/2026 19:45:00'); 6743 } 6744 var autoCollectDate2 = dateSelected2; 6745 var updateCurrentSelectedDate2 = new Date(); 6746 var currentDateTime2 = null; 6747 6748 var settingTimeSO = null; 6749 var underPrepDate = new Date(); 6750 var itemsettingTimeSO = {}; 6751 var settingBlockOut2 = []; //No apply blockout for station ordering and reservation 6752 var beginBlockTime, endBlockTime; 6753 6754 var listTimeBasedDiscounts2 = null; 6755 var firstLoad2 = false, firstLoad2Date = null; 6756 var counter2 = 0; 6757 var timeSelectionListItem2, selectedTimeValue2; 6758 var popupEnterOrderingInfo = {}; 6759 var isSelfCollect = false; 6760 var isPayLater = false; 6761 var isCustomServiceImage = false; 6762 var serviceImage = ''; 6763 6764 var isResetDateSelected2 = false; 6765 $('#selectTimeModal').on('hide.bs.modal', function () { 6766 if ($('#selectTimeModal_header').text() != 'Choose Date & Time') { 6767 currentDate2 = new Date('09/30/2026 19:45:00'); 6768 availableTime2 = new Date('09/30/2026 19:45:00'); 6769 dateSelected2 = new Date('09/30/2026'); 6770 timeselected2 = '00:00 - 00:00'; 6771 autoCollectDate2 = dateSelected2; 6772 updateCurrentSelectedDate2 = new Date(); 6773 underPrepDate = new Date(); 6774 console.log(dateSelected2); 6775 resetTimePicker2(dateSelected2); 6776 initTimePicker2(currentDate2); 6777 6778 isResetDateSelected2 = true; 6779 } 6780 $('#selectTimeModal_header').text('Choose Date & Time'); 6781 $('#select-pre-order-notice-message').hide(100); 6782 if('09/30/2026' == '01/01/0001') { 6783 $('#modalWelcome').modal('show'); 6784 } 6785 6786 if (deliveryTime != '') { 6787 gapTime = parseInt(deliveryTime); 6788 } 6789 6790 counter2++; 6791 }); 6792 6793 var isSelected2 = true; 6794 6795 $(document).ready(function () { 6796 if ('1' == '2') { 6797 gapTime = 15; 6798 } 6799 //init 6800 pickupInitDatePicker2(); 6801 initTimePicker2(new Date('09/30/2026')); 6802 $("#dropdown-time-selecter-2").change(function () { 6803 selectedTimeValue2 = $(this).val(); 6804 timeSelectionListItem2 = $('button[data-time-selector-button2="' + selectedTimeValue2 + '"]'); 6805 }); 6806 var selectTimeModal = $('#selectTimeModal'); 6807 selectTimeModal.on('shown.bs.modal', function () { 6808 isOpenDateTime = true; 6809 $('#selectTimeModal').css('overflow', 'auto'); 6810 $('#brachIndexModal').modal('hide'); 6811 $('#postalCodeModal').modal('hide'); 6812 $('#sessionTimeOut').modal('hide'); 6813 $('#fulfillmentChanged').modal('hide'); 6814 6815 $(this).find('.modal-backdrop').css('position', 'absolute'); 6816 6817 if (counter2 > 0) { 6818 //currentDate2 = new Date(); 6819 //availableTime2 = currentDate2.addMinutes(60); 6820 resetTimePicker2(currentDate2); 6821 } else { 6822 var setting = $('#reservation-setting').val(); 6823 if (!settingTimeSO && setting) { 6824 settingTimeSO = JSON.parse(setting); 6825 } 6826 displayClosedDays2(); 6827 } 6828 initTimePicker2(new Date('09/30/2026')); 6829 if (isResetDateSelected2) { 6830 isResetDateSelected2 = false; 6831 $('#datetimepicker3').datetimepicker('reset'); 6832 } 6833 6834 let windowWidth = $(window).width(); 6835 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 6836 if (windowHeight < 1) { 6837 windowHeight = $(window).height(); 6838 } 6839 //if (windowWidth < 768) { 6840 if (true) { 6841 currentDate2 = new Date('09/30/2026 19:45:00'); 6842 if (dateSelected2 != currentDate2) { 6843 pickupInitDatePicker2(true); 6844 pickupInitDateSelecter2(dateSelected2); 6845 } 6846 else { 6847 pickupInitDateSelecter2(dateSelected2); 6848 } 6849 6850 let heightInstagram = 0; 6851 6852 if (ios && !standalone && !safari && navigator.userAgent.match(/instagram/i)) { 6853 //uiwebview 6854 $("html").addClass("padding-top-50"); 6855 heightInstagram = 113;
6856 selectTimeModal.find(".modal-header").css("padding-top", "50px"); 6857 } 6858 else { 6859 $("html").removeClass("padding-top-50"); 6860 heightInstagram = 0; 6861 selectTimeModal.find(".modal-header").removeAttr("style"); 6862 } 6863 6864 let maxHeightDeliveryBody = (windowHeight - $('#selectTimeModal').find('.header-title').innerHeight() - heightInstagram); 6865 6866 if (windowWidth > 767) { 6867 maxHeightDeliveryBody -= 100; 6868 } 6869 6870 if (!$('#selectTimeModal').find('.fix-modal-footer').hasClass('hidden')) { 6871 maxHeightDeliveryBody -= $('#selectTimeModal').find('.fix-modal-footer').innerHeight(); 6872 } 6873 6874 if (typeof window.getPwaBottomNavOffset === 'function') { 6875 maxHeightDeliveryBody -= window.getPwaBottomNavOffset(); 6876 } 6877 6878 if (isFacebookApp() === true && !ios) { 6879 maxHeightDeliveryBody -= 50; 6880 } 6881 6882 selectTimeModal.css('overflow-y', 'hidden').find(".modal-body").css('overflow-y', 'hidden'); 6883 $("#selectTimeModal").find('.bodyservice').css({ 6884 'overflow-y': 'auto', 6885 'overflow-x': 'hidden', 6886 'max-height': maxHeightDeliveryBody, 6887 'min-height': '250px', 6888 }); 6889 6890 $('#selectTimeModal .bodyservice .tabmoredate').addClass('hidden'); 6891 $('#selectTimeModal .bodyservice .tablessdate').removeClass('hidden'); 6892 $('.btnSwitchDateMode').html(' <i class=\"fa fa-calendar\"></i>' + 'More Dates'); 6893 } 6894 else { 6895 $('#selectTimeModal .bodyservice .tabmoredate').removeClass('hidden'); 6896 $('#selectTimeModal .bodyservice .tablessdate').addClass('hidden'); 6897 $('.btnSwitchDateMode').html(' <i class=\"fa fa-calendar\"></i>' + 'Less Dates'); 6898 } 6899 }); 6900 }); 6901 function backSelectOutletModal(orderType, isHiddeService) { 6902 $('#selectTimeModal').modal('hide'); 6903 changeService(orderType, isHiddeService); 6904 } 6905 function convertDateToMinute2(date) { 6906 var minutes = (date.getHours() * 60) + date.getMinutes(); 6907 return minutes; 6908 } 6909 6910 function compareSlotTimeWithAvailableTime2(slot, availableDate) { 6911 var arraySlot = slot.toString().split("-"); 6912 var totalMinuteAvailable = convertDateToMinute2(availableDate); 6913 if (arraySlot.length == 2) { 6914 var arrayFirstBlock = arraySlot[0].trim().split(":"); 6915 var minutes = (parseInt(arrayFirstBlock[0]) * 60) + parseInt(arrayFirstBlock[1]); 6916 if (totalMinuteAvailable < minutes) { 6917 return true; 6918 } 6919 } 6920 return false; 6921 } 6922 6923 function pickupInitDateSelecter2(value) { 6924 var weekdays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; 6925 var date = new Date(value); 6926 for (var i = 0; i < 7; i++) { 6927 if (i > 0) { 6928 date = date.setDate(date.getDate() + 1); 6929 date = new Date(date); 6930 } 6931 6932 var d = date.getDate(); 6933 var weekday = weekdays[d]; 6934 var strday = d.toString(); 6935 if (strday.length == 1) { 6936 strday = '0' + strday; 6937 } 6938 6939 //fill date value to ui 6940 $('#lessdate-week2-' + i).text(weekday); 6941 $('#lessdate-day2-' + i).text(strday); 6942 var strDate = ((date.getMonth() > 8) ? (date.getMonth() + 1) : ('0' + (date.getMonth() + 1))) + '/' + ((date.getDate() > 9) ? date.getDate() : ('0' + date.getDate())) + '/' + date.getFullYear(); 6943 $('#chooseDate2-' + i).val(strDate); 6944 } 6945 6946 $('#selectTimeModal .bodyservice .contentlessdate').removeClass('active'); 6947 $('#selectTimeModal .bodyservice .lessdate-0').addClass('active'); 6948 } 6949 function pickupInitDatePicker2(isReset, newvalue) { 6950 if (typeof isMerchantOS !== 'undefined' && isMerchantOS == true) { 6951 return false; 6952 } 6953 6954 dateSelected2 = new Date(currentDate2); 6955 //console.log('pickupInitDatePicker2', isReset, newvalue); 6956 if (isReset) { 6957 if (newvalue) { 6958 dateSelected2 = newvalue; 6959 } 6960 //$('#datetimepicker3').datetimepicker('reset'); 6961 //$('#datetimepicker3').datetimepicker('destroy'); 6962 $('#datetimepicker3').datetimepicker('setDate', new Date(dateSelected2)); 6963 } 6964 else { 6965 if (dateSelected2 < new Date($('#updateCurrentSelectedDate2').val())) { 6966 dateSelected2 = new Date($('#updateCurrentSelectedDate2').val()); 6967 $('#datetimepicker3').datetimepicker('reset'); 6968 $('#datetimepicker3').datetimepicker('destroy'); 6969 } 6970 var lang = langSelect.toLowerCase(); 6971 6972 switch (langSelect) { 6973 case "ZH-CN": 6974 lang = "ch"; 6975 break; 6976 case "JA": 6977 lang = "ja"; 6978 break; 6979 case "KO": 6980 lang = "ko"; 6981 break; 6982 case "TH ": 6983 lang = "th"; 6984 break; 6985 default: 6986 lang = "en"; 6987 } 6988 6989 let toDay = new Date(); 6990 6991 $('#datetimepicker3').datetimepicker({ 6992 inline: true, 6993 format: "m/d/Y", 6994 timepicker: false, 6995 minDate: toDay, 6996 defaultDate: dateSelected2, 6997 maxDate: getDateTwoYearsLater(toDay), 6998 yearStart: toDay.getFullYear(), 6999 yearEnd: toDay.getFullYear() + 2, 7000 //monthStart: toDay.getMonth(), 7001 onSelectDate: function (dp, $input) { 7002 currentDateTime2 = $input.val(); 7003 initTimePicker2(new Date($input.val())); 7004 isSelected2 = true; 7005 }, 7006 onChangeMonth: function (dp, $input) { 7007 dateSelected2 = dp; 7008 initPromotions2(dp, $input); 7009 initTimePicker2(dp); 7010 }, 7011 onChangeYear: function (dp, $input) { 7012 if (dp.getFullYear() > toDay.getFullYear()) { 7013 this.setOptions({ 7014 monthStart: 0 7015 }); 7016 } 7017 else { 7018 this.setOptions({ 7019 monthStart: toDay.getMonth() 7020 }); 7021 } 7022 }, 7023 onGenerate: function (dp, $input) { 7024 initPromotions2(dp, $input); 7025 if (isSelected2 == false) { 7026 initTimePicker2(dp); 7027 } 7028 isSelected2 = false; 7029 $('.xdsoft_datetimepicker.xdsoft_noselect.xdsoft_.xdsoft_inline').attr("style", "width:100%;") 7030 $('.xdsoft_datepicker.active').attr("style", "width:100%;"); 7031 showAvailableDiscounts2(dp); 7032 }, 7033 lang: lang 7034 }); 7035 } 7036 } 7037 7038 function isClosedDay2(ds){ 7039 var date = new Date(ds); 7040 var dateOfWeek = date.getDay(); 7041 var isClosed = false; 7042 settingTimeSO.arrayDayOfWeekSetting.forEach(function (item) { 7043 if (item.dayOfWeek === dateOfWeek && item.option === optionDayOfWeek.CLOSED) { 7044 isClosed = true; 7045 } 7046 }); 7047 // underPrepDate.addHours(parseInt(preparationTime)); 7048 if (date.setHours(0, 0, 0, 0) < underPrepDate.setHours(0, 0, 0, 0)) { 7049 isClosed = true; 7050 } 7051 return isClosed; 7052 } 7053 7054 function displayClosedDays2() { 7055 if(settingTimeSO && settingTimeSO.arrayDayOfWeekSetting){ 7056 $(".xdsoft_date").val(function(){ 7057 var ds = ($(this).data('month') + 1) + '/' + $(this).data('date') + '/' + $(this).data('year'); 7058 if(isClosedDay2(ds)){ 7059 if($(this).hasClass('xdsoft_disabled')){ 7060 $(this).removeClass('xdsoft_disabled'); 7061 } 7062 7063 $(this).addClass('xdsoft_disabled'); 7064 } 7065 }); 7066 } 7067 } 7068 7069 function showAvailableDiscounts2(d) { 7070 if (typeof isMerchantOS !== 'undefined' && isMerchantOS == true) { 7071 return false; 7072 } 7073 7074 if(!listTimeBasedDiscounts2){ 7075 firstLoad2 = true; 7076 firstLoad2Date = d; 7077 return; 7078 } 7079 let windowWidth = $(window).width(); 7080 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0
7080); 7081 if (windowHeight < 1) { 7082 windowHeight = $(window).height(); 7083 } 7084 //if (windowWidth < 768) { 7085 if (true) { 7086 return; 7087 } 7088 $('#discount-promotions-2').hide(200); 7089 //$('ul.list-promotions-2 li').remove(); 7090 $('#list-promotions-2').html(''); 7091 7092 var dateJson = { 7093 year: d.getFullYear(), 7094 month: d.getMonth() + 1, 7095 day: d.getDate() 7096 }; 7097 7098 var dpkdi = $('.xdsoft_datepicker td[data-date="' + dateJson.day + '"][data-month="' + (dateJson.month - 1 ) + '"][data-year="' + dateJson.year + '"]'); 7099 if (dpkdi && dpkdi.has('.promotionMark').length && stepShowCalendar != 3 && deliveryMethodSession == 'StationOrdering'){ 7100 $.ajax({ 7101 type: "POST", 7102 url: '/Home/LoadTimeBasedDiscountAndVouchers', 7103 data: { 7104 year: d.getFullYear(), 7105 month: d.getMonth() + 1, 7106 day: d.getDate() 7107 }, 7108 success: function (result) { 7109 var m = dateSelected2.getMonth()+1, d = dateSelected2.getDate(), y = dateSelected2.getFullYear(); 7110 if (y == result.year && m == result.month && d == result.day) { 7111 $('#list-promotions-2').html(''); 7112 if(result && result.listTimeBasedDiscounts && result.listTimeBasedDiscounts.length){ 7113 for(var i=0;i < result.listTimeBasedDiscounts.length;i++){ 7114 var newRow = $("<p style='font-weight: bold; font-size: 14px;'>" + result.listTimeBasedDiscounts[i] +"</p>"); 7115 $('#list-promotions-2').append(newRow); 7116 } 7117 $('#list-promotions-2').show(); 7118 } 7119 else{ 7120 $('#list-promotions-2').hide(); 7121 } 7122 $('#list-vouchers-2').html(''); 7123 if(result && result.listVouchers && result.listVouchers.length){ 7124 for(var i=0;i < result.listVouchers.length;i++){ 7125 var newRow = $("<p style='font-weight: bold; font-size: 14px;'>" + result.listVouchers[i] +"</p>"); 7126 $('#list-vouchers-2').append(newRow); 7127 } 7128 $('#list-vouchers-2').show(); 7129 } 7130 else{ 7131 $('#list-vouchers-2').hide(); 7132 } 7133 $('#discount-promotions-2').show('fast'); 7134 } 7135 else { 7136 } 7137 7138 }, 7139 error: function () { }, 7140 beforeSend: function () {}, 7141 complete: function () {} 7142 }); 7143 } 7144 } 7145 7146 function formatDateStringyyyyMMdd2(date){ 7147 return date.getFullYear() + '/' + (("0" + (date.getMonth() + 1)).slice(-2)) + '/' + ("0" + date.getDate()).slice(-2); 7148 } 7149 7150 function isInDiscountRange2(d, r){ 7151 var date = new Date(d); 7152 var dateString = formatDateStringyyyyMMdd2(date); 7153 var found = $.inArray(dateString, r) > -1; 7154 if(found){ 7155 return true; 7156 } 7157 7158 return false; 7159 } 7160 7161 function displayPromotions2(){ 7162 if(listTimeBasedDiscounts2){ 7163 for (var i= 0; i < listTimeBasedDiscounts2.length; i++){ 7164 listTimeBasedDiscounts2[i] = listTimeBasedDiscounts2[i].substr(0, 10); 7165 } 7166 $(".xdsoft_date").val(function(){ 7167 var ds = ($(this).data('month') + 1) + '/' + $(this).data('date') + '/' + $(this).data('year'); 7168 if(isInDiscountRange2(ds, listTimeBasedDiscounts2)){ 7169 if($(this).find('span.promotionMark')){ 7170 $(this).find('span.promotionMark').remove(); 7171 } 7172 $(this).prepend('<span class="promotionMark"></span>'); 7173 } 7174 }); 7175 } 7176 } 7177 7178 function initPromotions2(dp, ip){ 7179 $('.xdsoft_date span.promotionMark').remove(); 7180 let windowWidth = $(window).width(); 7181 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0
7181); 7182 if (windowHeight < 1) { 7183 windowHeight = $(window).height(); 7184 } 7185 //if (windowWidth < 768) { 7186 if (true) { 7187 return; 7188 } 7189 if (!listTimeBasedDiscounts2 && stepShowCalendar != 3 && deliveryMethodSession == 'StationOrdering'){ 7190 $.ajax({ 7191 type: "GET", 7192 url: '/Home/GetTimebasedDiscountAndVoucherData', 7193 success: function (result) { 7194 if(result){ 7195 listTimeBasedDiscounts2 = result.listTimeBaseDiscounts; 7196 displayPromotions2(); 7197 displayClosedDays2(); 7198 if(firstLoad2){ 7199 showAvailableDiscounts2(firstLoad2Date); 7200 firstLoad2 = false; 7201 } 7202 } 7203 }, 7204 error: function () { }, 7205 beforeSend: function () {}, 7206 complete: function () {} 7207 }); 7208 }else{ 7209 displayPromotions2(); 7210 } 7211 displayClosedDays2(); 7212 } 7213 7214 function chooseDate2(index) { 7215 $('#selectTimeModal .bodyservice .contentlessdate').removeClass('active'); 7216 $('#selectTimeModal .bodyservice .lessdate-' + index.toString()).addClass('active'); 7217 var input = $('#chooseDate2-' + index.toString()).val(); 7218 var date = new Date(input); 7219 //console.log('chooseDate', date); 7220 isChooseDate = true; 7221 pickupInitDatePicker2(true, date); 7222 } 7223 7224 function chooseTime2(index) { 7225 $('.contentlesstime').removeClass('active'); 7226 $('.lesstime-' + index.toString()).addClass('active'); 7227 var input = $('#chooseTime2-' + index.toString()).val(); 7228 $("#dropdown-time-selecter-2").val(input); 7229 $('#dropdown-time-selecter-2').trigger('change'); 7230 $("#btnChooseSelectTimeModal").prop('disabled', false); 7231 } 7232 7233 function initTimePicker2(input) { 7234 input.setHours(0, 0, 0, 0); 7235 dateSelected2 = input; 7236 var date = input; 7237 var dateCurrent = new Date(); 7238 dateCurrent.setHours(0, 0, 0, 0); 7239 if (date >= dateCurrent) { 7240 dateSelected2 = date; 7241 resetTimePicker2(dateSelected2); 7242 showAvailableDiscounts2(dateSelected2); 7243 } else { 7244 resetTimePicker2(dateSelected2); 7245 } 7246 7247 if (!isChooseDate) { 7248 pickupInitDateSelecter2(dateSelected2); 7249 } 7250 isChooseDate = false; 7251 } 7252 7253 function resetTimePicker2(date) { 7254 $("#ErrDineInCollectTime_Modal").addClass("hidden"); 7255 7256 if (date == undefined) { 7257 return; 7258 } 7259 var dateOfWeek = date.getDay(); 7260 var availableTimeText; 7261 var setting = $('#reservation-setting').val(); 7262 if (setting) { 7263 settingTimeSO = JSON.parse(setting); 7264 } 7265 if (settingTimeSO != undefined && settingTimeSO != null) { 7266 settingTimeSO.arrayDayOfWeekSetting.forEach(function (item) { 7267 if (item.dayOfWeek === dateOfWeek) { 7268 if (item.option === optionDayOfWeek.CLOSED) { 7269 ReloadList2(null); 7270 } else { 7271 var arrayStandardAllowTime = []; 7272 arrayStandardAllowTime = GetStandardAllowTimes(item, settingTimeSO.prepareTime); 7273 7274 //Set arrayAllowTime for drop-down-list 7275 if (arrayStandardAllowTime != null && arrayStandardAllowTime[0].length > 0) { 7276 //Get the allow-collecting time that is filtered by "order's prepare time" 7277 var arrayPrepareAllowTime = GetCollectAllowTimes(arrayStandardAllowTime[0], date, settingTimeSO.prepareTime, gapTime, false, new Date($('#updateCurrentSelectedDate2').val())); 7278 7279 if (arrayPrepareAllowTime && arrayPrepareAllowTime.length > 0) { 7280 var itemclosing = ''; 7281 if (item.option === optionDayOfWeek.OPEN) { 7282 itemclosing = item.open_Closing; 7283 } else if (item.option === optionDayOfWeek.SPLIT) { 7284 itemclosing = item.split_ClosingEnd; 7285 } 7286 7287 //Get the allow-collecting time that is filtered by "order's prepare time" 7288 if (arrayPrepareAllowTime && arrayPrepareAllowTime.length > 0 && itemclosing != '') { 7289 var timeCloseHour = parseInt(itemclosing.split(':')[0]); 7290 var timeCloseMin = parseInt(itemclosing.split(':')[1]); 7291 7292 var prepareMin = 0; 7293 var prepareTime = settingTimeSO.prepareTime; 7294 if (prepareTime != null && prepareTime !== "" && prepareTime.indexOf(".") > -1) { 7295 var prepareHour = prepareTime.indexOf(".") > -1 ? parseInt(prepareTime.split('.')[0]) : parseInt(prepareTime); 7296 prepareMin = prepareTime.indexOf(".") > -1 ? (prepareTime.split('.')[1] * 6 < 60 ? prepareTime.split('.')[1] * 6 : prepareTime.split('.')[1] * 0.6) : 0; 7297 prepareMin = (prepareHour * 60) + prepareMin; 7298 } 7299 if (prepareTime != null && prepareTime !== "" && prepareTime.indexOf(":") > -1) { 7300 var prepareHour = parseInt(prepareTime.split(':')[0]); 7301 prepareMin = parseInt(prepareTime.split(':')[1]); 7302 prepareMin = (prepareHour * 60) + prepareMin; 7303 } 7304 //} 7305 timeCloseMin = timeCloseMin + prepareMin;// + gapTime; 7306 if (timeCloseMin >= 60) { 7307 var hour = parseInt(timeCloseMin / 60); 7308 timeCloseHour = timeCloseHour + hour; 7309 timeCloseMin = timeCloseMin - (hour * 60); 7310 } 7311 if (timeCloseMin < gapTime) { 7312 timeCloseMin = timeCloseMin + 60 - gapTime; 7313 timeCloseHour--; 7314 }else{ 7315 timeCloseMin = timeCloseMin - gapTime; 7316 } 7317 7318 //last time 7319 var timeEnd = (timeCloseHour < 10 ? "0" + timeCloseHour : timeCloseHour) + ":" + (timeCloseMin < 10 ? "0" + timeCloseMin : timeCloseMin); 7320 var lastBlock = arrayPrepareAllowTime[arrayPrepareAllowTime.length - 1]; 7321 var timeFrom = lastBlock.split('-')[0].trim();
7322 var arrayTimeTo = GetArrayAllowTime(timeFrom, timeEnd, true); 7323 7324 var arrayLastTheFulfillmentblock = GetCollectAllowTimes(arrayTimeTo, date, settingTimeSO.prepareTime, gapTime, true, new Date($('#updateCurrentSelectedDate2').val())); 7325 if (arrayLastTheFulfillmentblock && arrayLastTheFulfillmentblock.length > 0) { 7326 var index = 0; 7327 if (lastBlock.split('-')[0].trim() == arrayLastTheFulfillmentblock[0].split('-')[0].trim()) { 7328 index = 1; 7329 } 7330 for (var i = index; i < arrayLastTheFulfillmentblock.length; i++) { 7331 arrayPrepareAllowTime.push(arrayLastTheFulfillmentblock[i]); 7332 } 7333 } 7334 } 7335 } 7336 else { 7337 if (date.getFullYear() == autoCollectDate2.getFullYear() && date.getMonth() == autoCollectDate2.getMonth() && date.getDate() == autoCollectDate2.getDate() && autoCollectDate2.getTime() > underPrepDate.getTime()) { 7338 arrayPrepareAllowTime = [timeselected2]; 7339 } 7340 } 7341 ReloadList2(arrayPrepareAllowTime); 7342 } 7343 } 7344 } 7345 }); 7346 } 7347 else { 7348 ReloadList2(null); 7349 } 7350 } 7351 7352 function GetBlockOutFromSelectedDate2(blockOuts, selectedDate){ 7353 var blockOutIsChoose =[]; 7354 if(blockOuts){ 7355 for(var i=0;i<blockOuts.length;i++){ 7356 var beginDate = blockOuts[i].beginDateString.split("T")[0]; 7357 var beginTime = blockOuts[i].beginDateString.split("T")[1]; 7358 var endDate= blockOuts[i].endDateString.split("T")[0]; 7359 var endTime= blockOuts[i].endDateString.split("T")[1]; 7360 7361 var beginDay = parseInt(beginDate.split("-")[2]); 7362 var beginMonth = parseInt(beginDate.split("-")[1])-1; 7363 var beginYear = parseInt(beginDate.split("-")[0]); 7364 7365 var endDay = parseInt(endDate.split("-")[2]); 7366 var endMonth = parseInt(endDate.split("-")[1])-1; 7367 var endYear = parseInt(endDate.split("-")[0]); 7368 7369 beginDate = new Date(beginYear, beginMonth, beginDay, 0, 0, 0, 0); 7370 endDate = new Date(endYear, endMonth, endDay, 0, 0, 0, 0); 7371 7372 if(selectedDate>=beginDate && selectedDate <=endDate){ 7373 blockOuts[i].beginDate = new Date(beginYear, beginMonth, beginDay, beginTime.split(":")[0], beginTime.split(":")[1], beginTime.split(":")[2],0); 7374 blockOuts[i].endDate = new Date(endYear, endMonth, endDay, endTime.split(":")[0], endTime.split(":")[1], endTime.split(":")[2],0);; 7375 blockOutIsChoose.push(blockOuts[i]); 7376 } 7377 } 7378 } 7379 return blockOutIsChoose; 7380 } 7381 7382 function addZero2(i) { 7383 if (i < 10) { 7384 i = "0" + i; 7385 } 7386 return i; 7387 } 7388 7389 function convertTimeToMinute2(time){ 7390 if(time){ 7391 var arrayTime = time.split(":"); 7392 return parseInt(arrayTime[0])*60 + parseInt(arrayTime[1]); 7393 } 7394 } 7395 7396 function checkSlotHasInBlockOut2(beginBlockTime, endBlockTime, firstSlot, SecondSlot ){ 7397 return (convertTimeToMinute2(firstSlot)>=convertTimeToMinute2(beginBlockTime) 7398 && convertTimeToMinute2(firstSlot)<=convertTimeToMinute2(endBlockTime)) || 7399 (convertTimeToMinute2(SecondSlot)>=convertTimeToMinute2(beginBlockTime) 7400 && convertTimeToMinute2(SecondSlot)<=convertTimeToMinute2(endBlockTime)) 7401 } 7402 7403 function UpdateArrayPrepareAllowTime2(arrayPrepareAllowTime, blockOut, selectedDate){ 7404 var typeSelectedDate = GetBlockOutFromSelectedDate2(blockOut, selectedDate); 7405 if (typeSelectedDate==1){ 7406 arrayPrepareAllowTime = null; 7407 } 7408 return arrayPrepareAllowTime; 7409 } 7410 7411 function GetBeginTimeAndEndTimeOfBlockOut2(arrayPrepareAllowTime, blockOut, selectedDate){ 7412 var typeSelectedDate = GetBlockOutFromSelectedDate2(blockOut, selectedDate); 7413 //selected date == beginDate 7414 var mb = blockOut.beginDate.getMonth(), db = blockOut.beginDate.getDate(), yb = blockOut.beginDate.getFullYear(); 7415 var me = blockOut.endDate.getMonth(), de = blockOut.endDate.getDate(), ye = blockOut.endDate.getFullYear(); 7416 if(typeSelectedDate==0){ 7417 if(mb == me && db == de && yb == ye){ 7418 // Get the first slot is begin time and last slot is end time 7419 beginBlockTime = addZero2(blockOut.beginDate.getHours()) + ":" + addZero2(blockOut.beginDate.getMinutes()); 7420 endBlockTime = addZero2(blockOut.endDate.getHours()) + ":" + addZero2(blockOut.endDate.getMinutes()); 7421 }else{ 7422 // Get the first slot is begin time and last slot is last slot 7423 beginBlockTime = addZero2(blockOut.beginDate.getHours()) + ":" + addZero2(blockOut.beginDate.getMinutes()); 7424 endBlockTime = arrayPrepareAllowTime[arrayPrepareAllowTime.length-1].split("-")[1].replace(' ', ''); 7425 } 7426 }//selected date == endDate 7427 else if(typeSelectedDate==2){ 7428 if(mb == me && db == de && yb == ye){ 7429 // Get the first slot is begin time and last slot is end time 7430 beginBlockTime = addZero2(blockOut.beginDate.getHours()) + ":" + addZero2(blockOut.beginDate.getMinutes()); 7431 endBlockTime = addZero2(blockOut.endDate.getHours()) + ":" + addZero2(blockOut.endDate.getMinutes()); 7432 }else{ 7433 // Get the first slot is the first element in array and last slot is the end time 7434 beginBlockTime = arrayPrepareAllowTime[0].split("-")[1].replace(' ', ''); 7435 endBlockTime = addZero2(blockOut.endDate.getHours()) + ":" + addZero2(blockOut.endDate.getMinutes()); 7436 } 7437 } 7438 } 7439 7440 function ReloadList2(arrayPrepareAllowTime) { 7441 var blockOuts = GetBlockOutFromSelectedDate2(settingBlockOut2, dateSelected2); 7442 if(!blockOuts){ 7443 blockOuts= []; 7444 } 7445
7446 $('#dropdown-time-selecter-2').css('display', 'block'); 7447 $('#btnSubmit').css('display', 'block'); 7448 $('#dropdown-time-selecter-2 option').remove(); 7449 $('#myTable tr').remove(); 7450 $("#selecter-time-slot2").html(''); 7451 $("#btnChooseSelectTimeModal").prop('disabled', true); 7452 var autoCollectDate2 = availableTime2; 7453 var isBeginRemove = false; 7454 //if (dateSelected2.getDate() < new Date().getDate()) { 7455 // arrayPrepareAllowTime = null; 7456 //} 7457 7458 if (arrayPrepareAllowTime == null) { 7459 $("#ErrDineInCollectTime_Modal").removeClass("hidden"); 7460 $('#dropdown-time-selecter-2').css('display', 'none'); 7461 $('#btnSubmit').css('display', 'none'); 7462 } 7463 else{ 7464 var m = currentDate2.getMonth(), d = currentDate2.getDate(), y = currentDate2.getFullYear(); 7465 var ms = dateSelected2.getMonth(), ds = dateSelected2.getDate(), ys = dateSelected2.getFullYear(); 7466 var isCurrentDay = false; 7467 7468 if (m==ms && d==ds && y==ys) { 7469 isCurrentDay = true; 7470 } 7471 var ma = autoCollectDate2.getMonth(), da = autoCollectDate2.getDate(), ya = autoCollectDate2.getFullYear(); 7472 if (ma==ms && da==ds && ya==ys) { 7473 for (var i = arrayPrepareAllowTime.length - 1; i >= 0; i--) { 7474 if (isBeginRemove == true){ 7475 arrayPrepareAllowTime.splice(i,1); 7476 } 7477 if (!compareSlotTimeWithAvailableTime2(arrayPrepareAllowTime[i], availableTime2)) { 7478 isBeginRemove = true; 7479 } 7480 } 7481 if (isCurrentDay == true && itemsettingTimeSO && itemsettingTimeSO.option === optionDayOfWeek.SPLIT && !isBeginRemove) { 7482 arrayPrepareAllowTime.unshift(''); 7483 } 7484 } 7485 7486 //TKPOS-5913 [Blockout][Apply] Blockout based on Fulfillment Time 7487 //Get begin time and end time of block out and arrayPrepareAllowTime 7488 for(var i=0; i< blockOuts.length; i++){ 7489 arrayPrepareAllowTime = UpdateArrayPrepareAllowTime2(arrayPrepareAllowTime, blockOuts[i], dateSelected2); 7490 if(!arrayPrepareAllowTime){ 7491 break; 7492 } 7493 } 7494 //End TKPOS-5913 7495 if(!arrayPrepareAllowTime || arrayPrepareAllowTime.length == 0){ 7496 $('#dropdown-time-selecter-2').css('display', 'none'); 7497 $('#btnSubmit').css('display', 'none'); 7498 } 7499 else{ 7500 for (var i = 0; i < arrayPrepareAllowTime.length; i++) { 7501 var newRow = $("<tr>"); 7502 var cols = ""; 7503 var timeValues = arrayPrepareAllowTime[i].split("-"); 7504 7505 //Start TKPOS-5913 [Blockout][Apply] Blockout based on Fulfillment Time 7506 // Remove slots which in block out 7507 var isRemoved= false; 7508 for(var j = 0;j<blockOuts.length;j++){ 7509 timeValues[0] = timeValues[0].replace(' ', ''); 7510 timeValues[1] = timeValues[1].replace(' ', ''); 7511 GetBeginTimeAndEndTimeOfBlockOut2(arrayPrepareAllowTime,blockOuts[j],dateSelected2); 7512 if(checkSlotHasInBlockOut2(beginBlockTime,endBlockTime,timeValues[0], timeValues[1])){ 7513 isRemoved= true; 7514 break; 7515 } 7516 } 7517 if(isRemoved){ 7518 arrayPrepareAllowTime.splice(i,1); 7519 i--; 7520 continue; 7521 } 7522 //End TKPOS-5913 [Blockout][Apply] Blockout based on Fulfillment Time 7523 counter2++; 7524 } 7525 } 7526 7527 if (arrayPrepareAllowTime && arrayPrepareAllowTime.length <= 0) { 7528 if ('1' == '1') {
7529 $("#ErrPickUpCollectTime_Modal").removeClass("hidden"); 7530 //$('#dropdown-time-selecter-2').css('display', 'none'); 7531 //$('#btnSubmit').css('display', 'none'); 7532 } 7533 else { 7534 $("#ErrDeliveryCollectTime_Modal").removeClass("hidden"); 7535 // $('#dropdown-time-selecter-2').css('display', 'none'); 7536 //$('#btnSubmit').css('display', 'none'); 7537 } 7538 //$("#ErrPickUpCollectTime_Modal").removeClass("hidden"); 7539 $('#dropdown-time-selecter-2').css('display', 'none'); 7540 $('#btnSubmit').css('display', 'none'); 7541 } 7542 7543 if (isCurrentDay == true) { 7544 if (arrayPrepareAllowTime.length > 0) { 7545 var lastbocktime = arrayPrepareAllowTime[arrayPrepareAllowTime.length-1]; 7546 var timeValues = lastbocktime.toString().split("-"); 7547 var strLastTime = ''; 7548 if (timeValues.length == 2) { 7549 timeValues[0] = timeValues[0].trim(); 7550 timeValues[1] = timeValues[1].trim(); 7551 strLastTime = timeValues[0].toString(); 7552 var prepareTime = ''; 7553 var minutes; 7554 var hours = 0; 7555 timeValues = strLastTime.split(":"); 7556 7557 hours = parseInt(timeValues[0]); 7558 minutes = parseInt(timeValues[1]); 7559 minutes = hours * 60 + minutes; 7560 minutes = minutes - parseInt(prepareTime); 7561 7562 hours = 0; 7563 if (minutes >= 60) { 7564 hours = parseInt(minutes / 60, 10); 7565 minutes = minutes - (hours * 60); 7566 } 7567 7568 minutes = minutes < 10 ? "0" + minutes : minutes; 7569 var displayTime = strLastTime; 7570 7571 if(hours >= 12){ 7572 var tomorrow = ''; 7573 if (hours >= 24) { 7574 hours = hours - 24; 7575 tomorrow = ' ' + languageMessage["O_Tomorrow"].toLowerCase(); 7576 } 7577 else if (hours > 12) { 7578 hours = hours - 12; 7579 } 7580 7581 hours = hours < 10 ? "0" + hours : hours; 7582 displayTime = hours + ":" + minutes + " " + languageMessage["O_PM"] + tomorrow; 7583 } 7584 else{ 7585 hours = hours < 10 ? "0" + hours : hours; 7586 7587 displayTime = hours + ":" + minutes + " " + languageMessage["O_AM"]; 7588 } 7589 7590 strLastTime = displayTime; 7591 } 7592 7593 $('#collecttimeout').text(strLastTime); 7594 } 7595 } 7596 if (arrayPrepareAllowTime) { 7597 var arrayPrepareAllowTimeLength = arrayPrepareAllowTime.length - 1; 7598 var maxSlotView = 7; 7599 var indexOfRow = 0; 7600 var col_row = ""; 7601 var indexSelectedTime = -1; 7602 for (var i = 0; i < arrayPrepareAllowTime.length; i++) { 7603 indexOfRow++; 7604 var newRow = $("<tr>"); 7605 var cols = ""; 7606 7607 var strTime = convertFormatTime(arrayPrepareAllowTime[i]); 7608 7609 cols += '<td align="center" valign="middle"><h4>' + strTime + '</h4></td>'; 7610 7611 var dropdownlistItem = ''; 7612 7613 if (isCurrentDay && timeselected2 != '' && timeselected2 == arrayPrepareAllowTime[i]) { 7614 indexSelectedTime = i; 7615 cols += '<td><button type="button" data-time-selector-button2="' + arrayPrepareAllowTime[i] + '" class="btn btn-danger pull-right time" onclick="SelectTime(this,\'' + arrayPrepareAllowTime[i] + '\')">Select</button></td>'; 7616 dropdownlistItem+='<option value="' + arrayPrepareAllowTime[i] + '" selected>'; 7617 } 7618 else 7619 { 7620 cols += '<td><button type="button" data-time-selector-button2="' + arrayPrepareAllowTime[i] + '" class="btn btn-default pull-right time" onclick="SelectTime(this,\'' + arrayPrepareAllowTime[i] + '\')">Select</button></td>'; 7621 dropdownlistItem+='<option value="' + arrayPrepareAllowTime[i] + '">'; 7622 } 7623 7624 dropdownlistItem+= strTime + '</option>'; 7625 7626 newRow.append(cols); 7627 $("table.time-list").append(newRow); 7628 7629 $('#dropdown-time-selecter-2').append(dropdownlistItem); 7630 counter2++; 7631 7632 var classpadding = 'padding-right-8'; 7633 if (indexOfRow == 2) { 7634 classpadding = 'padding-left-8'; 7635 } 7636 var col_6 = ' <div class="col-xs-6 ' + classpadding + '"><div class="contentlesstime lesstime-' + i.toString() + '" onclick="cho
7636oseTime2(' + i.toString() + ');">'; 7637 col_6 += '<span>' + strTime + '</span>'; 7638 col_6 += '<input type="hidden" id="chooseTime2-' + i.toString() + '" value="' + arrayPrepareAllowTime[i] + '" />'; 7639 col_6 += '</div></div>'; 7640 col_row += col_6; 7641 7642 if (arrayPrepareAllowTimeLength > maxSlotView && indexOfRow == 1 && i == arrayPrepareAllowTimeLength) { 7643 col_row += '<div class="col-xs-6 padding-left-8 view-less-slot" onclick="toggleTimeSlot2(false)"><div class="contentlesstime view-option-slot"><span>View less</span></div></div>'; 7644 } 7645 7646 const copyIndexOfRow = indexOfRow; 7647 if (indexOfRow == 2 || i == arrayPrepareAllowTimeLength) { 7648 var hiddenSlot = ''; 7649 if (arrayPrepareAllowTimeLength > maxSlotView && i > maxSlotView) { 7650 hiddenSlot = " hidden-slot"; 7651 } 7652 7653 col_row = '<div class="row' + hiddenSlot + '">' + col_row + '</div>'; 7654 $("#selecter-time-slot2").append(col_row); 7655 indexOfRow = 0; 7656 col_row = ""; 7657 } 7658 7659 if (arrayPrepareAllowTimeLength > maxSlotView) { 7660 if (i == maxSlotView) { 7661 var col_vm = '<div class="row view-more-slot"><div class="col-xs-6 padding-right-8" onclick="toggleTimeSlot2(true)"><div class="contentlesstime view-option-slot"><span>View more...</span></div></div></div>'; 7662 $("#selecter-time-slot2").append(col_vm); 7663 } 7664 else if (i == arrayPrepareAllowTimeLength && copyIndexOfRow == 2) { 7665 var col_vm = '<div class="row"><div class="col-xs-6 padding-right-8 view-less-slot" onclick="toggleTimeSlot2(false)" style="display: none"><div class="contentlesstime view-option-slot"><span>View less</span></div></div></div>'; 7666 $("#selecter-time-slot2").append(col_vm); 7667 } 7668 } 7669 } 7670 } 7671 if(arrayPrepareAllowTime && arrayPrepareAllowTime.length){ 7672 selectedTimeValue2 = $('#dropdown-time-selecter-2').val(); 7673 } 7674 if (indexSelectedTime >= 0) { 7675 chooseTime2(indexSelectedTime); 7676 } 7677 } 7678 } 7679 7680 function DoneSelection2() { 7681 var totalPax2 = $('#reservation-pax').val(); 7682 var name2 = $('#reservation-name').val(); 7683 var outletIndex = $('#reservation-outlet-index').val(); 7684 var stationId = "Reservation"; 7685 var m = dateSelected2.getMonth() + 1, d = dateSelected2.getDate(), y = dateSelected2.getFullYear(); 7686 var date = m + "/" + d + "/" + y; 7687 if (isSelectDateTime) { 7688 if (productIdPreOrder && productIdPreOrder != '' && collect_datePreOrder && collect_timePreOrder) { 7689 var isCheckPreorder = false; 7690 var datePreOrder = new Date(collect_datePreOrder); 7691 console.log(productIdPreOrder, collect_datePreOrder, collect_timePreOrder); 7692 console.log(timeSelectionListItem, selectedTimeValue, dateSelected2); 7693 if (dateSelected2.getMonth() == datePreOrder.getMonth() && dateSelected2.getDate() == datePreOrder.getDate() && dateSelected2.getFullYear() == datePreOrder.getFullYear()) { 7694 var values = collect_timePreOrder.split('-'); 7695 var values1 = selectedTimeValue2.split('-'); 7696 if (values && values.length > 1 && values[0] && values1 && values1.length > 1 && values1[0] && values[0].trim() == values1[0].trim()) { 7697 isCheckPreorder = true; 7698 $.ajax({
7699 type: "POST", 7700 url: '/Home/CheckPreOrderSelectTime', 7701 //contentType: 'application/json; charset=UTF-8', 7702 data: { id: productIdPreOrder, authorization: siteId, year: y, month: m, day: d, time: selectedTimeValue2, totalHours: totalHoursPreOrder }, 7703 success: function (result) { 7704 //console.log(result); 7705 if (!result.success) { 7706 dateSelected = new Date(result.collect_date); 7707 SelectTime(timeSelectionListItem2, result.collect_time, dateSelected, '/Home/SelectedTime'); 7708 } 7709 else { 7710 SelectTime(timeSelectionListItem2, selectedTimeValue2, dateSelected2, '/Home/SelectedTime'); 7711 } 7712 }, 7713 error: function () { }, 7714 beforeSend: function () { 7715 }, 7716 complete: function () { 7717 } 7718 }); 7719 } 7720 } 7721 } 7722 if (!isCheckPreorder) { 7723 SelectTime(timeSelectionListItem2, selectedTimeValue2, dateSelected2, '/Home/SelectedTime'); 7724 } 7725 } 7726 else { 7727 SignUpDineIn(name2, stationId, totalPax2, 'welcome', true, true, date, selectedTimeValue2, outletIndex); 7728 } 7729 } 7730 7731 function toggleTimeSlot2(isViewMore = false) { 7732 const $selectTimeSlot = $('#selecter-time-slot2'); 7733 if (isViewMore) { 7734 $selectTimeSlot.find('.row.hidden-slot').css('display', 'block'); 7735 $selectTimeSlot.find('.view-more-slot').css('display', 'none'); 7736 $selectTimeSlot.find('.view-less-slot').css('display', 'block'); 7737 } 7738 else { 7739 $selectTimeSlot.find('.row.hidden-slot').removeAttr('style'); 7740 $selectTimeSlot.find('.view-more-slot').css('display', 'block'); 7741 $selectTimeSlot.find('.view-less-slot').css('display', 'none'); 7742 } 7743 } 7744 7745</script>
7745 7746 <div class="modal fade text-center in" id="alertReservationTimeInvalid" role="dialog" tabindex="-1" data-backdrop="static" data-keyboard="true"> 7747 <div class="vertical-alignment-helper"> 7748 <div class="modal-dialog vertical-align-center"> 7749 <div class="modal-dialog"> 7750 <div class="modal-content"> 7751 <div class="modal-header"> 7752 <h4 class="modal-title text-center">The reservation time is invalid. Please try again.</h4> 7753 </div> 7754 7755 <div class="modal-footer" style="text-align: center"> 7756 <button type="button" class="btn btn-default" onclick="$('#alertReservationTimeInvalid').hide();showSelectDateTime();">OK</button> 7757 </div> 7758 </div> 7759 </div> 7760 </div> 7761 </div> 7762</div> 7763 7764 7765<div class="modal fade text-center in" id="confirmClearItems" role="dialog" tabindex="-1" data-backdrop="static" data-keyboard="true"> 7766 <div class="vertical-alignment-helper"> 7767 <div class="modal-dialog vertical-align-center"> 7768 <div class="modal-dialog modal-sm"> 7769 <div class="modal-content"> 7770 <div class="modal-body"> 7771 <div class="media-body color-by-theme" style="padding: 10px 0 20px;"> 7772 <h4>Clear all items in the cart!</h4> 7773 </div> 7774 <div class="col-xs-12" style="text-align:center"> 7775 <button type="button" class="btn btn-promotion-yes" onclick="confirmClearItems();">Clear</button> 7776 <button type="button" class="btn btn-default" onclick="$('#confirmClearItems').modal('hide')" style="width: 100px;">Cancel</button> 7777 </div> 7778 </div> 7779 </div> 7780 </div> 7781 </div> 7782 </div> 7783</div> 7784 7785<div class="modal fade text-center confirm-remove-discount-rewards" id="confirmRemoveDiscountRewards" role="dialog" tabindex="-1" data-keyboard="true"> 7786 <div class="vertical-alignment-helper"> 7787 <div class="modal-dialog vertical-align-center"> 7788 <div class="modal-dialog modal-sm"> 7789 <div class="modal-content"> 7790 <div class="modal-body confirm-remove-discount-rewards-body"> 7791 <div class="confirm-remove-discount-rewards-remove-icon" data-dismiss="modal"> 7792 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 7793 <path d="M13.5909 12L18.0441 7.54687C18.2554 7.3359 18.3743 7.04962 18.3745 6.75099C18.3748 6.45237 18.2564 6.16587 18.0455 5.95453C17.8345 5.74319 17.5482 5.62431 17.2496 5.62404C16.951 5.62378 16.6645 5.74215 16.4531 5.95312L12 10.4062L7.54687 5.95312C7.33553 5.74178 7.04888 5.62305 6.75 5.62305C6.45111 5.62305 6.16447 5.74178 5.95312 5.95312C5.74178 6.16447 5.62305 6.45111 5.62305 6.75C5.62305 7.04888 5.74178 7.33553 5.95312 7.54687L10.4062 12L5.95312 16.4531C5.74178 16.6645 5.62305 16.9511 5.62305 17.25C5.62305 17.5489 5.74178 17.8355 5.95312 18.0469C6.16447 18.2582 6.45111 18.3769 6.75 18.3769C7.04888 18.3769 7.33553 18.2582 7.54687 18.0469L12 13.5937L16.4531 18.0469C16.6645 18.2582 16.9511 18.3769 17.25 18.3769C17.5489 18.3769 17.8355 18.2582 18.0469 18.0469C18.2582 17.8355 18.3769 17.5489 18.3769 17.25C18.3769 16.9511 18.2582 16.6645 18.0469 16.4531L13.5909 12Z" fill="#333333" /> 7794 </svg> 7795 </div> 7796 <div> 7797 <svg xmlns="http://www.w3.org/2000/svg" width="81" height="80" viewBox="0 0 81 80" fill="none"> 7798 <path d="M74.4829 58.74L46.9926 11.24C46.3331 10.1025 45.3862 9.15827 44.2469 8.50188C43.1076 7.8455 41.8159 7.5 40.501 7.5C39.1862 7.5 37.8944 7.8455 36.7551 8.50188C35.6158 9.15827 34.669 10.1025 34.0094 11.24V11.2425L6.51882 58.74C5.85881 59.8799 5.51066 61.1735 5.5094 62.4906C5.50814 63.8078 5.85381 65.1021 6.51164 66.2432C7.16946 67.3843 8.11623 68.3321 9.25668 68.9911C10.3971 69.6501 11.691 69.9971 13.0082 69.9972H67.9941C69.3113 69.997 70.6051 69.65 71.7455 68.991C72.8859 68.3319 73.8327 67.3842 74.4905 66.243C75.1483 65.1019 75.4939 63.8077 75.4926 62.4905C75.4913 61.1734 75.1432 59.8798 74.4832 58.74H74.4829ZM37.9985 32.4997C37.9985 31.8366 38.2619 31.2008 38.7307 30.7319C39.1996 30.2631 39.8355 29.9997 40.4985 29.9997C41.1616 29.9997 41.7974 30.2631 42.2663 30.7319C42.7351 31.2008 42.9985 31.8366 42.9985 32.4997V44.9997C42.9985 45.6627 42.7351 46.2986 42.2663 46.7674C41.7974 47.2363 41.1616 47.4997 40.4985 47.4997C39.8355 47.4997 39.1996 47.2363 38.7307 46.7674C38.2619 46.2986 37.9985 45.6627 37.9985 44.9997V32.4997ZM40.5004 60.
77980006C39.7587 60.0006 39.0337 59.7807 38.417 59.3686C37.8003 58.9566 37.3197 58.3709 37.0358 57.6857C36.752 57.0005 36.6777 56.2465 36.8224 55.519C36.9671 54.7916 37.3243 54.1234 37.8487 53.599C38.3732 53.0745 39.0414 52.7174 39.7688 52.5727C40.4962 52.428 41.2502 52.5022 41.9354 52.7861C42.6207 53.0699 43.2063 53.5505 43.6184 54.1672C44.0304 54.7839 44.2504 55.5089 44.2504 56.2506C44.2504 57.2452 43.8553 58.199 43.152 58.9023C42.4488 59.6055 41.4949 60.0006 40.5004 60.0006Z" fill="#EEB711" /> 7799 </svg> 7800 </div> 7801 <div class="media-body"> 7802 <div class="confirm-remove-msg confirm-remove-voucher" style="display: none;"> 7803 <div>Remove Member Voucher applied?</div> 7804 <p>Member Voucher will be removed from this order</p> 7805 </div> 7806 <div class="confirm-remove-msg confirm-remove-promo-code" style="display: none;"> 7807 <div>Remove Promo Code applied?</div> 7808 <p>Promo Code will be removed from this order.</p> 7809 </div> 7810 <div class="confirm-remove-msg confirm-remove-member-points" style="display: none;"> 7811 <div>Remove Member Points applied?</div> 7812 <p>Member Points will be removed from this order</p> 7813 </div> 7814 </div> 7815 <div class="confirm-remove-discount-rewards-footer"> 7816 <button type="button" class="btn confirm-remove-discount-rewards-cancel-btn" data-dismiss="modal">Cancel</button> 7817 <button type="button" class="btn confirm-remove-discount-rewards-confirm-btn" id="confirm-remove-discount-rewards-confirm-btn">Confirm</button> 7818 </div> 7819 </div> 7820 </div> 7821 </div> 7822 </div> 7823 </div> 7824</div> 7825 7826<div class="modal fade text-center confirm-login-required" id="confirmLoginRequired" role="dialog" tabindex="-1" data-keyboard="true"> 7827 <div class="vertical-alignment-helper"> 7828 <div class="modal-dialog vertical-align-center modal-dialog-centered"> 7829 <div class="modal-dialog modal-sm"> 7830 <div class="modal-content"> 7831 <div class="modal-body confirm-login-required-body"> 7832 <div class="confirm-login-required-remove-icon" data-dismiss="modal" data-bs-dismiss="modal"> 7833 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 7834 <path d="M13.5909 12L18.0441 7.54687C18.2554 7.3359 18.3743 7.04962 18.3745 6.75099C18.3748 6.45237 18.2564 6.16587 18.0455 5.95453C17.8345 5.74319 17.5482 5.62431 17.2496 5.62404C16.951 5.62378 16.6645 5.74215 16.4531 5.95312L12 10.4062L7.54687 5.95312C7.33553 5.74178 7.04888 5.62305 6.75 5.62305C6.45111 5.62305 6.16447 5.74178 5.95312 5.95312C5.74178 6.16447 5.62305 6.45111 5.62305 6.75C5.62305 7.04888 5.74178 7.33553 5.95312 7.54687L10.4062 12L5.95312 16.4531C5.74178 16.6645 5.62305 16.9511 5.62305 17.25C5.62305 17.5489 5.74178 17.8355 5.95312 18.0469C6.16447 18.2582 6.45111 18.3769 6.75 18.3769C7.04888 18.3769 7.33553 18.2582 7.54687 18.0469L12 13.5937L16.4531 18.0469C16.6645 18.2582 16.9511 18.3769 17.25 18.3769C17.5489 18.3769 17.8355 18.2582 18.0469 18.0469C18.2582 17.8355 18.3769 17.5489 18.3769 17.25C18.3769 16.9511 18.2582 16.6645 18.0469 16.4531L13.5909 12Z" fill="#333333" /> 7835 </svg> 7836 </div> 7837 <div> 7838 <svg xmlns="http://www.w3.org/2000/svg" width="81" height="80" viewBox="0 0 81 80" fill="none"> 7839 <path d="M74.4829 58.74L46.9926 11.24C46.3331 10.1025 45.3862 9.15827 44.2469 8.50188C43.1076 7.8455 41.8159 7.5 40.501 7.5C39.1862 7.5 37.8944 7.8455 36.7551 8.50188C35.6158 9.15827 34.669 10.1025 34.0094 11.24V11.2425L6.51882 58.74C5.85881 59.8799 5.51066 61.1735 5.5094 62.4906C5.50814 63.8078 5.85381 65.1021 6.51164 66.2432C7.16946 67.3843 8.11623 68.3321 9.25668 68.9911C10.3971 69.6501 11.691 69.9971 13.0082 69.9972H67.9941C69.3113 69.997 70.6051 69.65 71.7455 68.991C72.8859 68.3319 73.8327 67.3842 74.4905 66.243C75.1483 65.1019 75.4939 63.8077 75.4926 62.4905C75.4913 61.1734 75.1432 59.8798 74.4832 58.74H74.4829ZM37.9985 32.4997C37.9985 31.8366 38.2619 31.2008 38.7307 30.7319C39.1996 30.2631 39.8355 29.9997 40.4985 29.9997C41.1616 29.9997 41.7974 30.2631 42.2663 30.7319C42.7351 31.2008 42.9985 31.8366 42.9985 32.4997V44.9997C42.9985 45.6627 42.7351 46.2986 42.2663 46.7674C41.7974 47.2363 41.1616 47.4997 40.4985 47.4997C39.8355 47.4997 39.1996 47.2363 38.7307 46.7674C38.2619 46.2986 37.9985 45.6627 37.9985 44.9997V32.4997ZM40.5004 60.
78390006C39.7587 60.0006 39.0337 59.7807 38.417 59.3686C37.8003 58.9566 37.3197 58.3709 37.0358 57.6857C36.752 57.0005 36.6777 56.2465 36.8224 55.519C36.9671 54.7916 37.3243 54.1234 37.8487 53.599C38.3732 53.0745 39.0414 52.7174 39.7688 52.5727C40.4962 52.428 41.2502 52.5022 41.9354 52.7861C42.6207 53.0699 43.2063 53.5505 43.6184 54.1672C44.0304 54.7839 44.2504 55.5089 44.2504 56.2506C44.2504 57.2452 43.8553 58.199 43.152 58.9023C42.4488 59.6055 41.4949 60.0006 40.5004 60.0006Z" fill="#EEB711" /> 7840 </svg> 7841 </div> 7842 <div class="media-body"> 7843 <div class="confirm-login-required-msg"> 7844 <div>Login Required to Purchase Voucher</div> 7845 <p>You have an e-voucher item in your cart. Please complete your purchase before logging out to ensure you don't lose your voucher or remove the e-voucher to proceed with logging out</p> 7846 </div> 7847 </div> 7848 <div class="confirm-login-required-footer"> 7849 <button type="button" class="btn confirm-login-required-confirm-btn" data-dismiss="modal" data-bs-dismiss="modal">OK, I Got it</button> 7850 </div> 7851 </div> 7852 </div> 7853 </div> 7854 </div> 7855 </div> 7856</div> 7857 7858 7859<div class="modal fade text-center in" id="additionalRequestModal" role="dialog" tabindex="-1" aria-hidden="true" data-keyboard="true"> 7860 <div class="vertical-alignment-helper"> 7861 <div class="modal-dialog vertical-align-center"> 7862 <div class="modal-dialog modal-sm"> 7863 <div class="modal-content" style="background: #F0F0F0;"> 7864 <div class="modal-body" style="padding-left: 8px; padding-right: 8px;padding-top: 8px;"> 7865 <div class="media-body text-left" style="padding: 0 0 20px;"> 7866 <div> 7867 <h5 class="pull-left" style="padding-top: 8px; padding-bottom: 10px;"> 7868 <strong>Additional Request</strong> 7869 </h5> 7870 </div> 7871 <textarea class="form-control" cols="20" id="remark" maxlength="1000" name="remark" placeholder="Type the request in here" rows="10" style="resize: none"> 7872</textarea> 7873 </div> 7874 <div class="text-center" style=" display: flex; justify-content: center; align-items: center; "> 7875 <button type="button" class="btn btn-proceed-to-payment" id="proceed-to-payment" 7876 onclick="openSelectPaymentOptionsPopup()"> 7877 Proceed to payment 7878 </button> 7879 7880 <button type="button" class="btn btn-default close-custom btn-close-addtional-request" data-dismiss="modal">Close</button> 7881 </div> 7882 </div> 7883 </div> 7884 </div> 7885 </div> 7886 </div> 7887</div> 7888
7889<script> 7890 $(document).ready(function () { 7891 var additionalRequestModal = $('#additionalRequestModal'); 7892 7893 additionalRequestModal.on('hidden.bs.modal', function () { 7894 CheckNoteMobile(); 7895 }); 7896 7897 additionalRequestModal.find('#remark').keyup(delay(function (e) { 7898 CheckNoteMobile(); 7899 7900 if ($('#isOrderEdited') != null && $('#isOrderEdited').length > 0) { 7901 $('#isOrderEdited').val('true'); 7902 } 7903 }, 500)); 7904 }); 7905 7906 function CheckNoteMobile() { 7907 if (window.innerWidth < 992) { 7908 setRemark('Add a Note to Merchant', 'Press to check Note'); 7909 } 7910 else { 7911 setRemark('Add Note', 'Check Note'); 7912 } 7913 } 7914 7915 function setRemark(labelAddNote, labelCheckNote) { 7916 let remark = $('#additionalRequestModal').find('#remark').val(); 7917 7918 if (remark && remark.length > 0) { 7919 $('.additional-request').find('.text-additional-request span').text(labelCheckNote); 7920 $('.additional-request').find('.press-to-input span').text(remark.trim().substring(0, 14).trim() + '...'); 7921 } else { 7922 $('.additional-request').find('.text-additional-request span').text(labelAddNote); 7923 $('.additional-request').find('.press-to-input span').text('Press to input...'); 7924 } 7925 7926 localStorage.setItem(`${window.location.hostname}.remark.9b8f318b-6db1-433d-9b28-5af37fff9b93`, remark); 7927 } 7928 7929 function delay(callback, ms) { 7930 var timer = 0; 7931 return function () { 7932 var context = this, args = arguments; 7933 clearTimeout(timer); 7934 timer = setTimeout(function () { 7935 callback.apply(context, args); 7936 }, ms || 0); 7937 }; 7938 } 7939 7940</script>
7940 7941 7942<div class="modal fade text-center in" id="addNoteForItemModal" role="dialog" tabindex="-1" aria-hidden="true" data-keyboard="true"> 7943 <div class="modal-dialog" style="width: 400px;"> 7944 <div class="modal-content"> 7945 <div class="modal-body" style="padding: 12px;"> 7946 <div class="media-body text-left" style="padding: 0 0 20px;"> 7947 <h5 class="pull-left" style="padding-bottom: 15px; font-size: 18px; font-weight: 500;"> 7948 Add a note for item 7949 </h5> 7950 <input type="hidden" id="item-remark-variant-id" /> 7951 <textarea class="form-control" cols="20" id="item-remark-value" maxlength="1000" name="item-remark-value" placeholder="Tap to add note" rows="3" style="resize: none"> 7952</textarea> 7953 </div> 7954 <div class="text-center" style=" display: flex; justify-content: end; align-items: center; gap: 15px;"> 7955 <button type="button" class="btn btn-default" style="width: 80px;" data-dismiss="modal"> 7956 Cancel 7957 </button> 7958 <button type="button" class="btn btn-danger" style="width: 80px;" id="btn-item-remark"> 7959 Add 7960 </button> 7961 </div> 7962 </div> 7963 </div> 7964 </div> 7965</div> 7966 7967 7968 7969 7970 7971<div class="modal fade" id="confirmCancelPromotion" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 7972 <div class="vertical-alignment-helper"> 7973 <div class="modal-dialog vertical-align-center"> 7974 <div class="modal-dialog bg-light-custom"> 7975 <div class="modal-content"> 7976 <div class="media"> 7977 <div> 7978 <button type="button" class="close-custom close pull-right text-light remove-opacity normal-text clear-opacity " style="padding: 5px 10px;" data-dismiss="modal" aria-label="Close"> 7979 <img src="/Content/images/promotion/close_button_red.svg" /> 7980 </button> 7981 </div> 7982 <div class="media-left media-custom media-promotion"> 7983 7984 <img class="media-object hidden-xs hidden-sm" src="/Content/Images/custom/carrot/warning-icon.svg" height="72" /> 7985 <img class="media-object hidden-md hidden-lg" src="/Content/Images/custom/carrot/warning-icon.svg" height="52" /> 7986 </div> 7987 <div class="media-body media-custom"> 7988 <br /> 7989 <p id="titleconfirmCancelPromotion">Do you want to keep the item(s) selected in your cart and exit current flow?</p> 7990 <div class="media-custom-promotion" id="listPromotionToCart"></div> 7991 </div> 7992 <div> 7993 <div class="media-body media-custom" style="color:#FD576B !important;"> 7994 <p class="media-message">*No: delete all selected items on this promotion</p> 7995 </div> 7996 </div> 7997 <div class="col-xs-" style="text-align:right; margin-bottom:10px;"> 7998 <button type="button" class="btn btn-promotion-yes" onclick="confirmPromotionButtonYes();">Yes</button> 7999 <button type="button" class="btn btn-border-promotion" onclick="confirmPromotionButtonNo();">No</button> 8000 </div> 8001 </div> 8002 </div> 8003 </div> 8004 </div> 8005 </div> 8006</div> 8007
8008<script type="text/javascript"> 8009 8010 function confirmPromotionButtonYes() { 8011 var formdata = { 8012 id: currentPromotionId, 8013 index: currentPromotionIndex 8014 } 8015 $.ajax({ 8016 type: "POST", 8017 url: '/Promotion/MovePromotionToCart', 8018 data: formdata, 8019 success: function (result) { 8020 //console.log(result); 8021 //Re-build the new content of cart 8022 /*$('#containmycart').html(result);*/ 8023 LoadContainMyCart(false); 8024 //Re-set up the height of cart 8025 ResetCartHeight(); 8026 checkAllProductOutOfStock(); 8027 //Update the count number of items in cart 8028 updateCartCount(); 8029 8030 if (currentPromotionId == "All") { 8031 if (result.navigate == 9) { 8032 ValidateCartToCheckOut(isSapVoucherRequest, isPayLaterRequest, requireMemberCheckoutRequest); 8033 } 8034 else if (result.navigate == 8) { 8035 openSelectPaymentOptionsPopup(); 8036 } 8037 else if (result.navigate == 6) { 8038 ValidateCartToCheckOut(isSapVoucherRequest, isPayLaterRequest, requireMemberCheckoutRequest); 8039 } 8040 else { 8041 if (result && result.success) { 8042 checkOut(true, false); 8043 } 8044 else { 8045 openSelectOptionPaymentModal(); 8046 } 8047 } 8048 } 8049 }, 8050 error: function(error) { 8051 console.log('error: ', error); 8052 } 8053 }); 8054 8055 $('#confirmCancelPromotion').modal('hide'); 8056 //home page 8057 if (currentPromotionId != "All") { 8058 var url = urlIndexHome; // + 'Home/Index'; 8059 window.location.href = url; 8060 } 8061 } 8062 8063 function confirmPromotionButtonNo() { 8064 isConfirmCancel = true; 8065 removePromotion(currentPromotionId, currentPromotionIndex); 8066 $('#confirmCancelPromotion').modal('hide'); 8067 //home page 8068 if (currentPromotionId == "All") { 8069 //checkOut(); 8070 } 8071 else { 8072 var url = urlIndexHome; // + 'Home/Index'; 8073 window.location.href = url; 8074 } 8075 } 8076</script>
8076 8077 8078 8079 8080 8081 8082 8083<div class="modal fade" id="confirmKeepItemPromotion" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 8084 <div class="vertical-alignment-helper"> 8085 <div class="modal-dialog vertical-align-center"> 8086 <div class="modal-dialog bg-light-custom"> 8087 <div class="modal-content"> 8088 <div class="media"> 8089 <div> 8090 <button type="button" class="close-custom close pull-right text-light remove-opacity normal-text clear-opacity " style="padding: 5px 10px;" data-dismiss="modal" aria-label="Close"> 8091 <img src="/Content/images/promotion/close_button_red.svg" /> 8092 </button> 8093 </div> 8094 <div class="media-left media-custom media-promotion"> 8095 <img class="media-object hidden-xs hidden-sm" src="/Content/Images/custom/carrot/warning-icon.svg" height="72" /> 8096 <img class="media-object hidden-md hidden-lg" src="/Content/Images/custom/carrot/warning-icon.svg" height="52" /> 8097 </div> 8098 <div class="media-body media-custom"> 8099 <input id="hdPromotionDetailId" type="hidden"> 8100 <input id="hdKeepItemPromotion_VariantId" type="hidden"> 8101 <p>Do you want to keep <text id="item-promotion-name"></text> in cart with this promotion?</p> 8102 </div> 8103 <div class="col-xs-" style="text-align:right; margin-bottom:10px; margin-right:25px;"> 8104 <button type="button" style="margin-right: 10px;" class="btn btn-promotion-yes" onclick="confirmSeePromotionButtonKeep();">Keep</button> 8105 <button type="button" class="btn btn-border-promotion" onclick="confirmSeePromotionButtonReselect();">Reselect</button> 8106 </div> 8107 </div> 8108 </div> 8109 </div> 8110 </div> 8111 </div> 8112</div> 8113
8114<script type="text/javascript"> 8115 8116 function confirmSeePromotionButtonKeep() { 8117 var ItemId = $('#hdKeepItemPromotion_VariantId').val(); 8118 ConvertItemToPromotion(ItemId, url = '', isManyPromotion = false); 8119 8120 $('#confirmKeepItemPromotion').modal('hide'); 8121 } 8122 8123 function confirmSeePromotionButtonReselect() { 8124 $('#confirmKeepItemPromotion').modal('hide'); 8125 var url = $('#hdPromotionDetailId').val(); 8126 window.location.href = url; 8127 } 8128</script>
8128 8129 8130
8130<script src="https://web-content.getz.co/prod/Scripts/jquery.datetimepicker.min.js"></script>
8130 8131<link href="/Content/jquery.datetimepicker.css" rel="stylesheet" type="text/css" /> 8132 8133 8134 8135 8136 8137<div class="space-filler"> 8138</div> 8139<div class="modal fade popup-full-mobi-v2 popup-datetime-mobi-v2" id="dateModal" tabindex="-1" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 8140 <div class="modal-dialog"> 8141 <div class="modal-content"> 8142 <div class="modal-header header-title"> 8143 <div> 8144 <button type="button" class="close-left" id="btn-dateModal-close" data-dismiss="modal" aria-label="Back" onclick="backPostalCodeModal()"> 8145 <svg width="20" height="14" viewBox="0 0 20 14" fill="none" xmlns="http://www.w3.org/2000/svg" style="color: black;"> 8146 <path d="M7 14L8.41 12.59L3.83 8H20V6H3.83L8.42 1.41L7 0L0 7L7 14Z" fill="#F26722"></path> 8147 </svg> 8148 </button> 8149 </div> 8150 <div class="col-xs-11 col-width-96"> 8151 <p> 8152 <strong id="titledatepopup">Delivery</strong> 8153 </p> 8154 </div> 8155 8156 <input type="hidden" id="settingdeliveryTime3" value="" /> 8157 <input type="hidden" id="updateCurrentSelectedDate3" /> 8158 8159 <div class="hidden"> 8160 <button type="button" class="close pull-left" data-dismiss="modal" aria-label="Back" onclick="backPostalCodeModal()"> 8161 <img src="/Content/images/icons/backbuttonicon.svg" /> 8162 </button> 8163 <input type="hidden" id="settingdeliveryTime3" value="" /> 8164 <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close"> 8165 <img src="/Content/images/Closeclose.svg" /> 8166 </button> 8167 <h4 class="modal-title text-center intro-headtext-modal">Select Delivery Date</h4> 8168 </div> 8169 </div> 8170 <div class="modal-body scrollable" style="overflow-y: hidden;"> 8171 <div class="bodyservice"> 8172 <div class="row tabsession postalcodesession tabsessionChangePostalCode hidden"> 8173 <div class="from-group"> 8174 <div class="col-xs-10 remove-padding-left padding-top-10"> 8175 <span><strong>Postal Code:</strong> <span class="tabsession-postalcode"></span></span> 8176 <p class="text-muted padding-top-10"></p> 8177 </div> 8178 <div class="remove-padding-right-left pull-right icon-edit"> 8179 <svg xmlns="http://www.w3.org/2000/svg" width="19" height="20" viewBox="0 0 19 20" fill="none" onclick="backPostalCodeModal();"> 8180 <path d="M17.024 7.05L12.774 2.85L14.174 1.45C14.5573 1.06667 15.0283 0.875 15.587 0.875C16.145 0.875 16.6157 1.06667 16.999 1.45L18.399 2.85C18.7823 3.23333 18.9823 3.696 18.999 4.238C19.0157 4.77933 18.8323 5.24167 18.449 5.625L17.024 7.05ZM1.724 19.125C1.44067 19.125 1.20333 19.029 1.012 18.837C0.819999 18.6457 0.723999 18.4083 0.723999 18.125V15.3C0.723999 15.1667 0.748999 15.0377 0.798999 14.913C0.848999 14.7877 0.923999 14.675 1.024 14.575L11.324 4.275L15.574 8.525L5.274 18.825C5.174 18.925 5.06167 19 4.937 19.05C4.81167 19.1 4.68233 19.125 4.549 19.125H1.724Z" fill="#F26722" /> 8181 </svg> 8182 </div> 8183 </div> 8184 </div> 8185 <div class=""> 8186 <div class="form-group hidden"> 8187 <span>Date</span> 8188 <label id="dateValueSelected"></label> 8189 </div> 8190 <div class="form-group titletabsession"> 8191 <div class="row"> 8192 <div class="col-xs-12">
8193 <span>Select Date</span> 8194 </div> 8195 </div> 8196 <div class="row actionmoredate"> 8197 <div class="col-xs-8"> 8198 <p id="dateValueSelected3"></p> 8199 </div> 8200 <div class="col-xs-4"> 8201 <button class="btn btn-default pull-right btnSwitchDateMode" type="button" onclick="switchDateMode('#dateModal ')"> 8202 <i class="fa fa-calendar" aria-hidden="true"></i>More Dates 8203 </button> 8204 </div> 8205 </div> 8206 </div> 8207 <div class="form-group tabmoredate jk-calendar"> 8208 <div id="datetimepicker123"></div> 8209 </div> 8210 8211 <div class="form-group tablessdate"> 8212 <div class="contentlessdate active lessdate-0" onclick="cho
8212oseDate3('0');"> 8213 <span id="lessdate-week3-0">Wed</span> 8214 <span id="lessdate-day3-0" class="daylessdate">30</span> 8215 <input type="hidden" id="chooseDate3-0" value="09/30/2026" /> 8216 </div> 8217 <div class="contentlessdate lessdate-1" onclick="chooseDate3('1');"> 8218 <span id="lessdate-week3-1">Thu</span> 8219 <span id="lessdate-day3-1" class="daylessdate">01</span> 8220 <input type="hidden" id="chooseDate3-1" value="10/01/2026" /> 8221 </div> 8222 <div class="contentlessdate lessdate-2" onclick="chooseDate3('2');"> 8223 <span id="lessdate-week3-2">Fri</span> 8224 <span id="lessdate-day3-2" class="daylessdate">02</span> 8225 <input type="hidden" id="chooseDate3-2" value="10/02/2026" /> 8226 </div> 8227 <div class="contentlessdate lessdate-3" onclick="cho
8227oseDate3('3');"> 8228 <span id="lessdate-week3-3">Sat</span> 8229 <span id="lessdate-day3-3" class="daylessdate">03</span> 8230 <input type="hidden" id="chooseDate3-3" value="10/03/2026" /> 8231 </div> 8232 <div class="contentlessdate lessdate-4" onclick="chooseDate3('4');"> 8233 <span id="lessdate-week3-4">Sun</span> 8234 <span id="lessdate-day3-4" class="daylessdate">04</span> 8235 <input type="hidden" id="chooseDate3-4" value="10/04/2026" /> 8236 </div> 8237 <div class="contentlessdate lessdate-5" onclick="chooseDate3('5');"> 8238 <span id="lessdate-week3-5">Mon</span> 8239 <span id="lessdate-day3-5" class="daylessdate">05</span> 8240 <input type="hidden" id="chooseDate3-5" value="10/05/2026" /> 8241 </div> 8242 <div class="contentlessdate lessdate-6" onclick="cho
8242oseDate3('6');"> 8243 <span id="lessdate-week3-6">Tue</span> 8244 <span id="lessdate-day3-6" class="daylessdate">06</span> 8245 <input type="hidden" id="chooseDate3-6" value="10/06/2026" /> 8246 </div> 8247 8248 </div> 8249 </div> 8250 <div class="form-group titletabsession"> 8251 <div class="row"> 8252 <div class="col-xs-12"> 8253 <span>Select Delivery Outlet</span> 8254 </div> 8255 </div> 8256 <div class="row actionmoredate padding-top-10"> 8257 <div class="col-xs-5"> 8258 <span class="title-span">Filter by:</span> 8259 </div> 8260 <div class="col-xs-7"> 8261 <select class="form-control valid time-selector-dropdown" onchange="LoadMatchOutlet(1, '', 0, '', 2)" name="dropdown-sort-selecter2" id="dropdown-sort-selecter2"> 8262 <option value="distance" selected>Distance</option> 8263 <option value="earliestdeliverytime">Earliest Delivery time</option> 8264 <option value="latestdeliverytime">Latest Delivery time</option> 8265 <option value="menuavailability">Menu Availability</option> 8266 </select> 8267 </div> 8268 </div> 8269 </div> 8270 <div class="form-group tablesstime" id="selecter-outlet"> 8271 8272 </div> 8273 <div class="s-alert"> 8274 <div class="alert alert-danger hidden" role="alert" id="ErrDeliveryCollectTime3_Modal"> 8275 This date is not available for delivery 8276 </div> 8277 <div class="alert alert-danger hidden" role="alert" id="ErrPickUpCollectTime3_Modal"> 8278 This date is not available for pickup 8279 </div> 8280 </div> 8281 </div> 8282 </div> 8283 <div class="modal-footer fix-modal-footer"> 8284 <button type="button" class="btn col-xs-12 button-done hidden" onclick="LoadMatchOutlet(0, '', 0, '')" id="btnSubmit3" 8285 style="background-color: #fd576b;height: 40px;color: white;border: 0;padding-right: 1px;border-top-left-radius: 0px;border-top-right-radius: 0px;"> 8286 Done 8287 </button> 8288 <button class="btn" id="btnChooseDeliveryOutlet" type="button" onclick="ChooseMatchOutlet(2)"> 8289 Confirm 8290 </button> 8291 </div> 8292 </div> 8293 </div> 8294</div> 8295
8296<script type="text/javascript"> 8297 var dateSelected3 = new Date(); 8298 8299 var currentDate3 = new Date('01/01/0001'); 8300 var timeselected3 = ''; 8301 var deliveryTime3 = ''; 8302 var settingTime3 = {"docId":"713827ec-9f06-48ed-8684-211ecaca684b","BranchId":"713827ec-9f06-48ed-8684-211ecaca684b","BranchName":"West Coz Cafe (West Coast Plaza)","AddressCombine":null,"BranchIndex":2,"status":true,"allowAutoAcceptOrder":false,"prepareTime":"0:30","arrayDayOfWeekSetting":[{"dayOfWeek":0,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":1,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":2,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":3,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":4,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":5,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"},{"dayOfWeek":6,"option":0,"split_OpeningStart":"","split_OpeningEnd":"","split_ClosingStart":"","split_ClosingEnd":"","open_Opening":"11:45","open_Closing":"21:00"}],"allowSound":true,"allowPushNotification":true,"allowSendEmail":true,"allowSendSMS":true,"limitNumberOrder":0,"isDisableExtendBlockTime":false}; 8303 var listAvailableTimes3 = [{"dayOfWeek":0,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":1,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":2,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":3,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":4,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":5,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null},{"dayOfWeek":6,"itemAvailableTimes":null,"begin_time":null,"beginDateTime":"\/Date(-62135596800000)\/","endDateTime":"\/Date(-62135596800000)\/","end_time":null,"arrayAvailableTimeBlockout":null}]; 8304 var preparationTime3 = '0'; 8305 var underPrepDate3 = new Date(); 8306 var itemsettingTime3 = {}; 8307 var settingBlockOut3 = [{"id":"0","beginDate":"2026-02-15T16:00:00Z","endDate":"2026-02-16T15:59:00Z","enablePickup":true,"enableDelivery":true,"enableOrderingTime":false,"enableFulfillmentTime":true,"beginDateString":"2026-02-16T00:00:00","endDateString":"2026-02-16T23:59:00","outlets":[2],"isContainsAll":false},{"id":"1","beginDate":"2026-02-16T16:00:00Z","endDate":"2026-02-19T15:59:00Z","enablePickup":true,"enableDelivery":true,"enableOrderingTime":false,"enableFulfillmentTime":true,"beginDateString":"2026-02-17T00:00:00","endDateString":"2026-02-19T23:59:00","outlets":[2],"isContainsAll":false}]; 8308 //console.log('settingBlockOut3', settingBlockOut3); 8309 var gapTime3 = 60; //Default gap time between From time and To time of Delivery is 60 mins 8310 var autoCollectDate3 = new Date('10:39'); 8311 var autoCollectTime3 = ''; 8312 var updateCurrentSelectedDate3 = new Date(); 8313 var isChooseDate = false; 8314 $('#dateModal').on('hide.bs.modal', function () { 8315 isOpenDateTime = false; 8316 isShowDateModal = false; 8317 isConfirmSwitchOutlet = false; 8318 8319 let width = $(window).width(); 8320 let height = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0
8320); 8321 if (height < 1) { 8322 height = $(window).height(); 8323 } 8324 if (width < 768) { 8325 $("#dateModal .modal-footer").addClass('hidden'); 8326 } 8327 $('.modal-open').css('position', 'inherit'); 8328 8329 let windowWidth = $(window).width(); 8330 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 8331 if (windowHeight < 1) { 8332 windowHeight = $(window).height(); 8333 } 8334 if (!isChooseDate && !isBackFromDateModal) { 8335 $.ajax({ 8336 type: "POST", 8337 url: '/Home/ClosePopUpDate', 8338 //contentType: 'application/json; charset=UTF-8', 8339 data: { authorization: siteId }, 8340 success: function (result) { 8341 if (result && result.isReload && windowWidth >= 768) { 8342 location.reload(); 8343 } 8344 }, 8345 error: function () { $('#dateModal').modal('show');}, 8346 beforeSend: function () { 8347 }, 8348 complete: function () { 8349 } 8350 }); 8351 } 8352 8353 //console.log('isNeedReloadPage date', isNeedReloadPage); 8354 if (windowWidth < 768 && isNeedReloadPage) { 8355 $('#deliveryModal').modal('show'); 8356 } 8357 }); 8358 8359 function pickupInitDateSelecter3(value) { 8360 var weekdays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; 8361 var date = new Date(value); 8362 for (var i = 0; i < 7; i++) { 8363 if (i > 0) { 8364 date = date.setDate(date.getDate() + 1); 8365 date = new Date(date); 8366 } 8367 8368 var d = date.getDay(); 8369 var weekday = weekdays[d]; 8370 var strday = date.getDate().toString(); 8371 if (strday.length == 1) { 8372 strday = '0' + strday; 8373 } 8374 8375 //fill date value to ui 8376 $('#lessdate-week3-' + i).text(weekday); 8377 $('#lessdate-day3-' + i).text(strday); 8378 var strDate = ((date.getMonth() > 8) ? (date.getMonth() + 1) : ('0' + (date.getMonth() + 1))) + '/' + ((date.getDate() > 9) ? date.getDate() : ('0' + date.getDate())) + '/' + date.getFullYear(); 8379 $('#chooseDate3-' + i).val(strDate); 8380 } 8381 8382 $('#dateModal .bodyservice .contentlessdate').removeClass('active'); 8383 $('#dateModal .bodyservice .lessdate-0').addClass('active'); 8384 } 8385 var currentDate3Time = null; 8386 var monthYearStr3 = ''; 8387 var dateSelected3 = new Date(currentDate3); 8388 function backPostalCodeModal() { 8389 isBackFromDateModal = true; 8390 $('#dateModal').modal('hide'); 8391 let windowWidth = $(window).width(); 8392 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 8393 if (windowHeight < 1) { 8394 windowHeight = $(window).height(); 8395 } 8396 //if (windowWidth < 768) { 8397 if (true) { 8398 if (previousPopup == 'UpdateDeliveryAddress') { 8399 $("#linkTabDelivery").trigger('click'); 8400 $("#titleservicepopup").text(languageLabel["O_Delivery"]); 8401 //$("#deliveryModal .modal-footer .btn").text(languageLabel['O_Continue']); 8402 $("#tabDelivery").addClass('in'); 8403 setTimeout(function () { 8404 $("#deliveryModal").modal('show'); 8405 }, 500); 8406 } 8407 } 8408 else { 8409 $('#postalCodeModal').modal('show'); 8410 } 8411 } 8412 function pickupInitDatePicker3(isReset, newvalue){ 8413 dateSelected3 = new Date(currentDate3); 8414 //console.log('pickupInitDatePicker3', isReset, newvalue); 8415 if (isReset) { 8416 if (newvalue) { 8417 dateSelected3 = newvalue; 8418 } 8419 //$('#datetimepicker123').datetimepicker('reset'); 8420 //$('#datetimepicker123').datetimepicker('destroy'); 8421 $('#datetimepicker123').datetimepicker('setDate', new Date(dateSelected3)); 8422 } 8423 else { 8424 if (dateSelected3 < new Date($('#updateCurrentSelectedDate3').val())) { 8425 dateSelected3 = new Date($('#updateCurrentSelectedDate3').val()); 8426 $('#datetimepicker123').datetimepicker('reset'); 8427 $('#datetimepicker123').datetimepicker('destroy'); 8428 } 8429 var lang = langSelect.toLowerCase(); 8430 8431 switch (langSelect) { 8432 case "ZH-CN": 8433 lang = "ch"; 8434 break; 8435 case "JA": 8436 lang = "ja"; 8437 break; 8438 case "KO": 8439 lang = "ko"; 8440 break; 8441 case "TH ": 8442 lang = "th"; 8443 break; 8444 default: 8445 lang = "en"; 8446 } 8447 8448 let toDay = new Date(); 8449 8450 $('#datetimepicker123').datetimepicker({ 8451 inline: true, 8452 format: "m/d/Y", 8453 timepicker: false, 8454 minDate: toDay, 8455 maxDate: getDateTwoYearsLater(toDay), 8456 defaultDate: dateSelected3, 8457 yearStart: toDay.getFullYear(), 8458 yearEnd: toDay.getFullYear() + 2, 8459 //monthStart: toDay.getMonth(), 8460 onSelectDate: function (dp, $input) { 8461 currentDate3Time = $input.val(); 8462 initTimePicker3(new Date($input.val())); 8463 isSelected = true; 8464 }, 8465 onChangeMonth: function (dp, $input) { 8466 dateSelected3 = dp; 8467 displayClosedDays3(); 8468 initTimePicker3(dp); 8469 }, 8470 onChangeYear: function (dp, $input) { 8471 if (dp.getFullYear() > toDay.getFullYear()) { 8472 this.setOptions({ 8473 monthStart: 0 8474 }); 8475 } 8476 else { 8477 this.setOptions({ 8478 monthStart: toDay.getMonth() 8479 }); 8480 } 8481 }, 8482 onGenerate: function (dp, $input) { 8483 displayClosedDays3(); 8484 /* 8485 var currentmonthYearStr3 = $('.xdsoft_mounthpicker .xdsoft_month
8485span').text() + '#' + $('.xdsoft_mounthpicker .xdsoft_year span').text(); 8486 if(currentmonthYearStr3!=monthYearStr3){} 8487 monthYearStr3 = currentmonthYearStr3; 8488 */ 8489 if (isSelected == false) { 8490 initTimePicker3(dp); 8491 } 8492 8493 isSelected = false; 8494 8495 $('.xdsoft_datetimepicker.xdsoft_noselect.xdsoft_.xdsoft_inline').attr("style","width:100%;") 8496 $('.xdsoft_datepicker.active').attr("style","width:100%;"); 8497 8498 }, 8499 lang: lang 8500 }); 8501 } 8502 } 8503 8504 var isSelected = true; 8505 $(document).ready(function () { 8506 $('#updateCurrentSelectedDate3').val(underPrepDate3.addHours(parseInt(preparationTime3))); 8507 if (dateSelected3 < new Date($('#updateCurrentSelectedDate3').val())) { 8508 dateSelected3 = new Date($('#updateCurrentSelectedDate3').val()); 8509 } 8510 if (currentService == '1') { 8511 gapTime3 = 15; 8512 } 8513 else { 8514 if ($('#settingdeliveryTime3').val() != ''){ 8515 gapTime3 = parseInt($('#settingdeliveryTime3').val()); 8516 if (gapTimeForMerchant != null && gapTimeForMerchant === siteID && currentService === '0') { 8517 gapTime3 = 30; 8518 } 8519 } 8520 } 8521 8522 //init 8523 pickupInitDatePicker3(); 8524 let width = $(window).width(); 8525 let height = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 8526 if (height < 1) { 8527 height = $(window).height(); 8528 } 8529 if (width < 768) { 8530 $("#dateModal .modal-footer").addClass('hidden'); 8531 } 8532 //initTimePicker3(dateSelected3); 8533 8534 var dateModal = $('#dateModal'); 8535 dateModal.on('shown.bs.modal', function () { 8536 isOpenDateTime = true; 8537 isShowDateModal = true; 8538 isChooseDate = false; 8539 isBackFromDateModal = false; 8540 $('#dateModal').css('overflow', 'auto'); 8541 $('#brachIndexModal').modal('hide'); 8542 $('#postalCodeModal').modal('hide'); 8543 $('#sessionTimeOut').modal('hide'); 8544 $('#fulfillmentChanged').modal('hide'); 8545 $(this).find('.modal-backdrop').css('position', 'absolute'); 8546 initTimePicker3(dateSelected3); 8547 if (popupLoading && popupLoading.version) { 8548 popupLoading.out(); 8549 popupLoading = null; 8550 } 8551 let windowWidth = $(window).width(); 8552 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 8553 if (windowHeight < 1) { 8554 windowHeight = $(window).height(); 8555 } 8556 //if (windowWidth < 768) { 8557 if (true) { 8558 if (dateSelected3 != currentDate3) { 8559 pickupInitDatePicker3(true); 8560 pickupInitDateSelecter3(dateSelected3); 8561 } 8562 else { 8563 pickupInitDateSelecter3(dateSelected3); 8564 } 8565 8566 let heightInstagram = 0; 8567 8568 if (ios && !standalone && !safari && navigator.userAgent.match(/instagram/i)) { 8569 //uiwebview 8570 $("html").addClass("padding-top-50"); 8571 heightInstagram = 113; 8572 dateModal.find(".modal-header").css("padding-top", "50px"); 8573 } 8574 else { 8575 $("html").removeClass("padding-top-50"); 8576 heightInstagram = 0; 8577 dateModal.find(".modal-header").removeAttr("style"); 8578 } 8579 8580 let maxHeightDeliveryBody = (windowHeight - $('#dateModal').find('.header-title').innerHeight() - heightInstagram); 8581 8582 if (windowWidth > 767) { 8583 maxHeightDeliveryBody -= 100; 8584 } 8585 8586 if (!$('#dateModal').find('.fix-modal-footer').hasClass('hidden')) { 8587 maxHeightDeliveryBody -= $('#dateModal').find('.fix-modal-footer').innerHeight(); 8588 } 8589
8590 if (typeof window.getPwaBottomNavOffset === 'function') { 8591 maxHeightDeliveryBody -= window.getPwaBottomNavOffset(); 8592 } 8593 8594 if (isFacebookApp() === true && !ios) { 8595 maxHeightDeliveryBody -= 50; 8596 } 8597 8598 dateModal.css('overflow-y', 'hidden').find(".modal-body").css('overflow-y', 'hidden'); 8599 $("#dateModal").find('.bodyservice').css({ 8600 'overflow-y': 'auto', 8601 'overflow-x': 'hidden', 8602 'max-height': maxHeightDeliveryBody, 8603 'min-height': '250px', 8604 }); 8605 8606 $('#dateModal .bodyservice .tabmoredate').addClass('hidden'); 8607 $('#dateModal .bodyservice .tablessdate').removeClass('hidden'); 8608 $('.btnSwitchDateMode').html(' <i class=\"fa fa-calendar\"></i>' + 'More Dates'); 8609 8610 if (stepShowCalendar != 3) { 8611 $("#dateModal .modal-footer").removeClass('hidden'); 8612 } 8613 } 8614 else { 8615 setTimeout(function () { 8616 $(document.body).addClass('modal-open'); 8617 }, 1000); 8618 8619 $('#dateModal .bodyservice .tabmoredate').removeClass('hidden'); 8620 $('#dateModal .bodyservice .tablessdate').addClass('hidden'); 8621 $('.btnSwitchDateMode').html(' <i class=\"fa fa-calendar\"></i>' + 'Less Dates'); 8622 $("#dateModal .modal-footer").removeClass('hidden'); 8623 } 8624 }); 8625 }); 8626 8627 function isClosedDay3(ds){ 8628 var date = new Date(ds); 8629 var dateOfWeek = date.getDay(); 8630 var isClosed = false; 8631 settingTime3.arrayDayOfWeekSetting.forEach(function (item) { 8632 if (item.dayOfWeek === dateOfWeek && item.option === optionDayOfWeek.CLOSED) { 8633 isClosed = true; 8634 } 8635 }); 8636 // underPrepDate3.addHours(parseInt(preparationTime3)); 8637 if (date.setHours(0, 0, 0, 0) < underPrepDate3.setHours(0, 0, 0, 0)) { 8638 isClosed = true; 8639 } 8640 return isClosed; 8641 } 8642 8643 function displayClosedDays3(){ 8644 if(settingTime3 && settingTime3.arrayDayOfWeekSetting){ 8645 $(".xdsoft_date").val(function(){ 8646 var ds = ($(this).data('month') + 1) + '/' + $(this).data('date') + '/' + $(this).data('year'); 8647 if(isClosedDay3(ds)){ 8648 if($(this).hasClass('xdsoft_disabled')){ 8649 $(this).removeClass('xdsoft_disabled'); 8650 } 8651 8652 $(this).addClass('xdsoft_disabled'); 8653 } 8654 }); 8655 } 8656 } 8657 8658 function chooseDate3(index) { 8659 $('#dateModal .bodyservice .contentlessdate').removeClass('active'); 8660 $('#dateModal .bodyservice .lessdate-' + index.toString()).addClass('active'); 8661 var input = $('#chooseDate3-' + index.toString()).val(); 8662 var date = new Date(input); 8663 //console.log('chooseDate', date); 8664 isChooseDate = true; 8665 pickupInitDatePicker3(true, date); 8666 } 8667 8668 function initTimePicker3(input) { 8669 input.setHours(0, 0, 0, 0); 8670 dateSelected3 = input; 8671 var date = input; 8672 var dateCurrent = new Date(); 8673 dateCurrent.setHours(0, 0, 0, 0); 8674 if (date >= dateCurrent && date >= new Date($('#updateCurrentSelectedDate3').val())) { 8675 dateSelected3 = date; 8676 resetTimePicker3(dateSelected3); 8677 } else { 8678 //var availableTimeText = "<span style='color: red'>This date is not available for delivery</span>"; 8679 //$("#available_time").html(availableTimeText); 8680 resetTimePicker3(dateSelected3); 8681 } 8682 if (!isChooseDate) { 8683 pickupInitDateSelecter3(dateSelected3); 8684 } 8685 isChooseDate = false; 8686 var dt = new Date(input); 8687 $('#dateValueSelected').text(dt.DDMMMYY()); 8688 $('#dateValueSelected2').val(dt.DDMMMYY()); 8689 $('#dateValueSelected3').text(dt.MMMMYY()); 8690 $('#hdDateSelected').val(dt.MMDDYYYY()); 8691 8692 let windowWidth = $(window).width(); 8693 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0
8693); 8694 if (windowHeight < 1) { 8695 windowHeight = $(window).height(); 8696 } 8697 //if (windowWidth < 768) { 8698 if (true) { 8699 $("#btnChooseDeliveryOutlet").prop('disabled', true); 8700 LoadMatchOutlet(1, '', 0, '', 2); 8701 } 8702 } 8703 8704 function resetTimePicker3(date) { 8705 //$("#collect_time").val(""); 8706 //$("#collect_time").attr('disabled', 'disabled'); 8707 $("#ErrDeliveryCollectTime3_Modal").addClass("hidden"); 8708 $("#ErrPickUpCollectTime3_Modal").addClass("hidden"); 8709 8710 if (date == undefined) { 8711 return; 8712 } 8713 var dateOfWeek = date.getDay(); 8714 var availableTimeText; 8715 8716 if (settingTime3 != undefined && settingTime3 != null) { 8717 if (settingTime3.arrayDayOfWeekSetting.length > 0) { 8718 settingTime3.arrayDayOfWeekSetting.forEach(function (item) { 8719 if (item.dayOfWeek === dateOfWeek) { 8720 if (item.option === optionDayOfWeek.CLOSED) { 8721 ReloadList3(null); 8722 } else { 8723 var prepareTime = settingTime3.prepareTime; 8724 if (settingTime3.isDisableExtendBlockTime) { 8725 prepareTime = "00:00"; 8726 } 8727 var arrayStandardAllowTime = []; 8728 if (currentService == '1') { 8729 arrayStandardAllowTime = GetStandardAllowTimes(item, prepareTime); 8730 } 8731 else { 8732 itemsettingTime3 = item; 8733 var itemAvailableTime = listAvailableTimes3[dateOfWeek]; 8734 var blockoutAvailableTime = {}; 8735 var isFromBlockout = false; 8736 if (itemAvailableTime.arrayAvailableTimeBlockout && itemAvailableTime.arrayAvailableTimeBlockout.length > 0) { 8737 for (var k = 0; k < itemAvailableTime.arrayAvailableTimeBlockout.length; k++) { 8738 //console.log(itemAvailableTime.arrayAvailableTimeBlockout[k]); 8739 var dtTime = new Date(itemAvailableTime.arrayAvailableTimeBlockout[k].dateTimeStr); 8740 if (date.getFullYear() == dtTime.getFullYear() && date.getMonth() == dtTime.getMonth() && date.getDate() == dtTime.getDate()) { 8741 blockoutAvailableTime = itemAvailableTime.arrayAvailableTimeBlockout[k]; 8742 isFromBlockout = true; 8743 } 8744 } 8745 } 8746 if (isFromBlockout) { 8747 itemAvailableTime = blockoutAvailableTime; 8748 } 8749 if (itemAvailableTime && (!itemAvailableTime.itemAvailableTimes || itemAvailableTime.itemAvailableTimes.length <= 0)) { 8750 ReloadList3(null); 8751 } 8752 arrayStandardAllowTime = GetStandardAllowTimesDelivery(item, parseInt(deliveryTime3), prepareTime, underPrepDate3, itemAvailableTime); 8753 } 8754 //Set arrayAllowTime for drop-down-list 8755 if (arrayStandardAllowTime != null && arrayStandardAllowTime[0].length > 0) { 8756 //Get the allow-collecting time that is filtered by "order's prepare time" 8757 var arrayPrepareAllowTime = GetCollectAllowTimes(arrayStandardAllowTime[0], date, prepareTime, gapTime3, false, new Date($('#updateCurrentSelectedDate3').val())); 8758 //console.log('arrayPrepareAllowTime', arrayPrepareAllowTime); 8759 if (arrayPrepareAllowTime && arrayPrepareAllowTime.length > 0) { 8760 8761 } 8762 else { 8763 // && autoCollectDate3.getTime() > underPrepDate3.getTime() 8764 if (date.getFullYear() == autoCollectDate3.getFullYear() && date.getMonth() == autoCollectDate3.getMonth() && date.getDate() == autoCollectDate3.getDate()) { 8765 arrayPrepareAllowTime = [timeselected3]; 8766 } 8767 } 8768 //console.log(arrayPrepareAllowTime); 8769 //console.log('item'); 8770 var itemclosing = ''; 8771 if (item.option === optionDayOfWeek.OPEN) { 8772 itemclosing = item.open_Closing; 8773 } else if (item.option === optionDayOfWeek.SPLIT) { 8774 itemclosing = item.split_ClosingEnd; 8775 } 8776 8777 //Get the allow-collecting time that is filtered by "order's prepare time" 8778 if (arrayPrepareAllowTime && arrayPrepareAllowTime.length > 0 && itemclosing != '') { 8779 //b/ Last fulfillment block: 8780 //--> Delivery order = Ordering Time(=Last Order) + Delivery Time + Estimate time = 11:30 PM + 60m + 30m = 01:00 AM 8781 var timeCloseHour = parseInt(itemclosing.split(':')[0]); 8782 var timeCloseMin = parseInt(itemclosing.split(':')[1]); 8783 8784 var prepareMin = 0; 8785 8786 if (prepareTime != null && prepareTime !== "" && prepareTime.indexOf(".") > -1) { 8787 var prepareHour = prepareTime.indexOf(".") > -1 ? parseInt(prepareTime.split('.')[0]) : parseInt(prepareTime); 8788 prepareMin = prepareTime.indexOf(".") > -1 ? (prepareTime.split('.')[1] * 6 < 60 ? prepareTime.split('.')[1] * 6 : prepareTime.split('.')[1] * 0.6) : 0; 8789 prepareMin = (prepareHour * 60) + prepareMin; 8790 } 8791 if (prepareTime != null && prepareTime !== "" && prepareTime.indexOf(":") > -1) { 8792 var prepareHour = parseInt(prepareTime.split(':')[0]); 8793 prepareMin = parseInt(prepareTime.split(':')[1]); 8794 prepareMin = (prepareHour * 60) + prepareMin; 8795 } 8796 //} 8797 timeCloseMin = timeCloseMin + prepareMin;// + gapTime3; 8798 if (timeCloseMin >= 60) { 8799 var hour = parseInt(timeCloseMin / 60); 8800 timeCloseHour = timeCloseHour + hour; 8801 timeCloseMin = timeCloseMin - (hour * 60); 8802 } 8803 if (currentService == '1') { 8804 if (timeCloseMin < gapTime3) { 8805 timeCloseMin = timeCloseMin + 60 - gapTime3; 8806 timeCloseHour--; 8807 } 8808 else { 8809 timeCloseMin = timeCloseMin - gapTime3; 8810 } 8811 } 8812 //console.log('isDisableExtendBlockTime3', settingTime3.isDisableExtendBlockTime3); 8813 if (!settingTime3.isDisableExtendBlockTime3) { 8814 //last time 8815 var timeEnd = (timeCloseHour < 10 ? "0" + timeCloseHour : timeCloseHour) + ":" + (timeCloseMin < 10 ? "0" + timeCloseMin : timeCloseMin); 8816 //var totalCloseMin = timeCloseHour * 60 + timeCloseMin; 8817 //if (timeCloseHour >= 24) { 8818 // timeCloseHour = timeCloseHour - 24; 8819 //} 8820 8821 var lastBlock = arrayPrepareAllowTime[arrayPrepareAllowTime.length - 1]; 8822 var timeFrom = lastBlock.split('-')[0].trim();
8823 var arrayTimeTo = GetArrayAllowTime(timeFrom, timeEnd, true); 8824 var arrayLastTheFulfillmentblock = GetCollectAllowTimes(arrayTimeTo, date, prepareTime, gapTime3, true, new Date($('#updateCurrentSelectedDate3').val())); 8825 if (arrayLastTheFulfillmentblock && arrayLastTheFulfillmentblock.length > 0) { 8826 var index = 0; 8827 if (lastBlock.split('-')[0].trim() == arrayLastTheFulfillmentblock[0].split('-')[0].trim()) { 8828 index = 1; 8829 } 8830 for (var i = index; i < arrayLastTheFulfillmentblock.length; i++) { 8831 arrayPrepareAllowTime.push(arrayLastTheFulfillmentblock[i]); 8832 } 8833 } 8834 //console.log(arrayPrepareAllowTime); 8835 } 8836 } 8837 ReloadList3(arrayPrepareAllowTime); 8838 } 8839 } 8840 } 8841 }); 8842 } 8843 else { 8844 ReloadList3(null); 8845 } 8846 8847 } 8848 else { 8849 8850 ReloadList3(null); 8851 } 8852 //SetValueShipping(); 8853 } 8854 8855 function ReloadList3(arrayPrepareAllowTime) { 8856 var blockOuts = GetBlockOutFromSelectedDate(settingBlockOut3, dateSelected3); 8857 if(!blockOuts){ 8858 blockOuts= []; 8859 } 8860 //console.log('blockOuts', blockOuts); 8861 $('#dropdown-time-selecter').css('display', 'block'); 8862 $('#btnSubmit3').css('display', 'block'); 8863 $('#dropdown-time-selecter option').remove(); 8864 $('#myTable tr').remove(); 8865 8866 var isBeginRemove = false; 8867 8868 if (dateSelected3 < autoCollectDate3) { 8869 arrayPrepareAllowTime = null; 8870 } 8871 if (arrayPrepareAllowTime == null) { 8872 if (currentService == '1') { 8873 $("#ErrPickUpCollectTime3_Modal").removeClass("hidden"); 8874 } 8875 else { 8876 $("#ErrDeliveryCollectTime3_Modal").removeClass("hidden"); 8877 } 8878 $('#dropdown-time-selecter').css('display', 'none'); 8879 $('#btnSubmit3').css('display', 'none'); 8880 } 8881 else{ 8882 var m = currentDate3.getMonth(), d = currentDate3.getDate(), y = currentDate3.getFullYear(); 8883 var ms = dateSelected3.getMonth(), ds = dateSelected3.getDate(), ys = dateSelected3.getFullYear(); 8884 var isCurrentDay = false; 8885 8886 if (m==ms && d==ds && y==ys) { 8887 isCurrentDay = true; 8888 } 8889 var ma = autoCollectDate3.getMonth(), da = autoCollectDate3.getDate(), ya = autoCollectDate3.getFullYear(); 8890 if (ma == ms && da == ds && ya == ys) { 8891 for (var i = arrayPrepareAllowTime.length - 1; i >= 0; i--) { 8892 if (isBeginRemove == true){ 8893 arrayPrepareAllowTime.splice(i,1); 8894 } 8895 if (arrayPrepareAllowTime[i] == autoCollectTime3) { 8896 isBeginRemove = true; 8897 } 8898 else { 8899 if (arrayPrepareAllowTime[i].indexOf('24:') >= 0) { 8900 var nextDate = arrayPrepareAllowTime[i].replace('24:', '00:').replace('24:', '00:'); 8901 if (nextDate == autoCollectTime3) { 8902 isBeginRemove = true; 8903 } 8904 } 8905 } 8906 } 8907 if (isCurrentDay == true && itemsettingTime3 && itemsettingTime3.option === optionDayOfWeek.SPLIT && !isBeginRemove) { 8908 if (arrayPrepareAllowTime.length == 0) { 8909 arrayPrepareAllowTime.push(autoCollectTime3); 8910 } 8911 else { 8912 //insert slot autoCollectTime to array slot 8913 var autoValues = autoCollectTime3.split("-"); 8914 var autoFirstSlot = convertTimeToMinute(autoValues[0]); 8915 var isInserted = false; 8916 for (var i = arrayPrepareAllowTime.length - 1; i >= 0; i--) { 8917 var timeValues = arrayPrepareAllowTime[i].split("-"); 8918 var firstSlot = convertTimeToMinute(timeValues[0]); 8919 if (firstSlot < autoFirstSlot) { 8920 arrayPrepareAllowTime.splice(i + 1, 0, autoCollectTime3); 8921 isInserted = true; 8922 break; 8923 } 8924 } 8925 if (!isInserted) { 8926 arrayPrepareAllowTime.unshift(autoCollectTime3); 8927 } 8928 } 8929 } 8930 } 8931 8932 //TKPOS-5913 [Blockout][Apply] Blockout based on Fulfillment Time 8933 //Get begin time and end time of block out and arrayPrepareAllowTime 8934 for(var i=0; i< blockOuts.length; i++){
8935 arrayPrepareAllowTime = UpdateArrayPrepareAllowTime(arrayPrepareAllowTime, blockOuts[i], dateSelected3); 8936 if(!arrayPrepareAllowTime){ 8937 break; 8938 } 8939 8940 } 8941 //console.log(blockOuts); 8942 //End TKPOS-5913 8943 if(!arrayPrepareAllowTime || arrayPrepareAllowTime.length == 0){ 8944 if (currentService == '1') { 8945 $("#ErrPickUpCollectTime3_Modal").removeClass("hidden"); 8946 } 8947 else { 8948 $("#ErrDeliveryCollectTime3_Modal").removeClass("hidden"); 8949 } 8950 $('#dropdown-time-selecter').css('display', 'none'); 8951 $('#btnSubmit3').css('display', 'none'); 8952 } 8953 else { 8954 for (var i = 0; i < arrayPrepareAllowTime.length; i++) { 8955 var newRow = $("<tr>"); 8956 var cols = ""; 8957 var timeValues = arrayPrepareAllowTime[i].split("-"); 8958 8959 //Start TKPOS-5913 [Blockout][Apply] Blockout based on Fulfillment Time 8960 // Remove slots which in block out 8961 var isRemoved= false; 8962 for(var j = 0;j<blockOuts.length;j++){ 8963 timeValues[0] = timeValues[0].replace(' ', ''); 8964 timeValues[1] = timeValues[1].replace(' ', ''); 8965 GetBeginTimeAndEndTimeOfBlockOut(arrayPrepareAllowTime,blockOuts[j],dateSelected3); 8966 if(checkSlotHasInBlockOut(beginBlockTime,endBlockTime,timeValues[0], timeValues[1])){ 8967 isRemoved= true; 8968 break; 8969 } 8970 } 8971 if (isRemoved) { 8972 //console.log('remove blockout: ', arrayPrepareAllowTime[i]); 8973 arrayPrepareAllowTime.splice(i,1); 8974 i--; 8975 continue; 8976 } 8977 //End TKPOS-5913 [Blockout][Apply] Blockout based on Fulfillment Time 8978 } 8979 } 8980 8981 if (arrayPrepareAllowTime && arrayPrepareAllowTime.length <= 0) { 8982 if (currentService == '1') { 8983 $("#ErrPickUpCollectTime3_Modal").removeClass("hidden"); 8984 //$('#dropdown-time-selecter').css('display', 'none'); 8985 //$('#btnSubmit3').css('display', 'none'); 8986 } 8987 else { 8988 $("#ErrDeliveryCollectTime3_Modal").removeClass("hidden"); 8989 // $('#dropdown-time-selecter').css('display', 'none'); 8990 //$('#btnSubmit3').css('display', 'none'); 8991 } 8992 //$("#ErrPickUpCollectTime3_Modal").removeClass("hidden"); 8993 $('#dropdown-time-selecter').css('display', 'none'); 8994 $('#btnSubmit3').css('display', 'none'); 8995 } 8996 } 8997 } 8998 8999 var timeSelectionListItem3, selectedTimeValue3; 9000 9001</script>
9001 9002 9003<div class="modal fade" id="outletsModal" tabindex="-1" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 9004 <div class="modal-dialog"> 9005 <div class="modal-content"> 9006 <div class="modal-header"> 9007 <button type="button" class="close pull-left" data-dismiss="modal" aria-label="Back" onclick="backDateModal()"> 9008 <img src="/Content/images/icons/backbuttonicon.svg" /> 9009 </button> 9010 <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close"> 9011 <img src="/Content/images/Closeclose.svg" /> 9012 </button> 9013 <h4 class="modal-title text-center intro-headtext-modal"> 9014 <img src="/Content/images/icons/storeicon.svg" />Select Delivery Outlet 9015 </h4> 9016 </div> 9017 <div class="modal-body bodycontainer scrollable"> 9018 <div class="row"> 9019 <div class="col-xs-5 col-full"> 9020 <div class="input-group"> 9021 <span class="input-group-addon" onclick="backDateModal()"><i class="fa fa-calendar" aria-hidden="true"></i></span> 9022 <input type="text" class="form-control time-selector-label" id="dateValueSelected2" readonly="readonly" onclick="backDateModal()" /> 9023 </div> 9024 </div> 9025 <div class="col-xs-7 col-full"> 9026 <div class="input-group pull-right outlets-selector-dropdown"> 9027 <span id="spanSort" class="input-group-addon"><i class="fa fa-sort-amount-desc" aria-hidden="true"></i></span> 9028 <select class="form-control valid time-selector-dropdown" onchange="LoadMatchOutlet(1, '', 0, '')" name="dropdown-sort-selecter" id="dropdown-sort-selecter"> 9029 <option value="distance" selected>Distance</option> 9030 <option value="earliestdeliverytime">Earliest Delivery time</option> 9031 <option value="latestdeliverytime">Latest Delivery time</option> 9032 <option value="menuavailability">Menu Availability</option> 9033 </select> 9034 </div> 9035 </div> 9036 </div> 9037 <div class="row margin-top-10"> 9038 <div class="col-xs-12"> 9039 <div class="form-group" id="listMatchOutlets"> 9040 </div> 9041 </div> 9042 </div> 9043 <div class="row"> 9044 <div class="form-group text-center"> 9045 <span style="display:block">Selected Outlet:</span> 9046 <label class="colorred" id="lbCurrentSelectedOutlet">No Outlet Selected</label> 9047 </div> 9048 </div> 9049 </div> 9050 <div class="modal-footer" style="height: 40px; padding: 0;"> 9051 <button type="button" class="btn col-xs-12 button-done" onclick="ChooseMatchOutlet()" id="btnMatchOutlet" 9052 style="background-color: #fd576b;height: 40px;color: white;border: 0;padding-right: 1px;border-top-left-radius: 0px;border-top-right-radius: 0px;"> 9053 Start Order 9054 </button> 9055 <input type="hidden" id="currentSelectedOutlet" /> 9056 <input type="hidden" id="hdDateSelected" /> 9057 </div> 9058 <div id="AnimationOutlet" class="animation-product-detail" style="display: none"> 9059 <img id="animation-swipe-up" src="" /> 9060 </div> 9061 </div> 9062 </div> 9063</div>
9064<script type="text/javascript"> 9065 var isChooseOutlet = false; 9066 $('#outletsModal').on('hide.bs.modal', function () { 9067 $('.modal-open').css('position', 'inherit'); 9068 if (!isChooseOutlet && !isBackFromDateModal && autoRedirectType >= 2) { 9069 $('#dateModal').modal('show'); 9070 } 9071 }); 9072 9073 $('#outletsModal').on('show.bs.modal', function () { 9074 isOpenDateTime = true; 9075 isBackFromDateModal = false; 9076 isChooseOutlet = false; 9077 $('#dateModal').css('overflow', 'auto'); 9078 $('#brachIndexModal').modal('hide'); 9079 $('#postalCodeModal').modal('hide'); 9080 $('#sessionTimeOut').modal('hide'); 9081 $('#fulfillmentChanged').modal('hide'); 9082 $(this).find('.modal-backdrop').css('position', 'absolute'); 9083 $('#lbCurrentSelectedOutlet').addClass("colorred"); 9084 $('#lbCurrentSelectedOutlet').text('No Outlet Selected'); 9085 $('#btnMatchOutlet').attr('disabled', 'disabled'); 9086 $('.matchoutletrow').removeClass('selectedoutlet'); 9087 $('#currentSelectedOutlet').val(''); 9088 setTimeout(function () { 9089 $(document.body).addClass('modal-open'); 9090 }, 1000); 9091 var urlAnimation = '/Content/images/AnimationProductDetail/Carrot.gif' 9092 if ($(window).width() <= 768) { 9093 setTimeout(function () { 9094 let bodydetail = $('#outletsModal'); 9095 let bodyPD = bodydetail.find("#listMatchOutlets").height() + 15; 9096 let boxPD = bodydetail.find(".table-match-outlet-selector").height(); 9097 if (boxPD > bodyPD) { 9098 $("#AnimationOutlet").removeAttr('style').find('img').attr("src", urlAnimation); 9099 delayTimer(function () { 9100 $("#AnimationOutlet").hide().find('img').removeAttr('src'); 9101 }, 1500); 9102 } 9103 }, 250); 9104 } 9105 $('#AnimationOutlet').hide(); 9106 }); 9107 function backDateModal() { 9108 isBackFromDateModal = true; 9109 $('#outletsModal').modal('hide'); 9110 $('#dateModal').modal('show'); 9111 } 9112 function ChooseMatchOutlet(fromtype) { 9113 var outlet = $('#currentSelectedOutlet').val(); 9114 var sort = $('#dropdown-sort-selecter :selected').val(); 9115 if (fromtype == 2) { 9116 sort = $('#dropdown-sort-selecter2 :selected').val(); 9117 } 9118 let windowWidth = $(window).width(); 9119 let windowHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); 9120 if (windowHeight < 1) { 9121 windowHeight = $(window).height(); 9122 } 9123 //if (windowWidth < 768) { 9124 if (true) { 9125 isChooseDate = true; 9126 isNeedReloadPage = false; 9127 $("#dateModal").modal('hide'); 9128 } 9129 9130 //console.log('Choose outlet', outlet, "name ", $('#lbCurrentSelectedOutlet').text()); 9131 if (!isChooseOutlet) { 9132 isChooseOutlet = true; 9133 popupLoading = new Loading({ title: 'Loading' }); 9134 $.ajax({
9135 type: "POST", 9136 url: '/Home/ChooseOutlet', 9137 //contentType: 'application/json; charset=UTF-8', 9138 data: { dateSelected: $('#hdDateSelected').val(), outletIndex: outlet, sort: sort, authorization: siteId }, 9139 success: function (result) { 9140 //console.log('ChooseMatchOutlet',result); 9141 9142 //if (windowWidth < 768 && result.success) { 9143 if (true && result.success) { 9144 result.from = "ChooseOutlet"; 9145 setTimeout(function () { 9146 reloadDateTimeCalendar(result); 9147 }, 1000); 9148 } 9149 else { 9150 location.reload(); 9151 } 9152 9153 }, 9154 error: function (err) { console.log(err); }, 9155 beforeSend: function () { 9156 //if (windowWidth < 768) { 9157 if (true) { 9158 } 9159 else { 9160 $('#outletsModal').modal('hide'); 9161 } 9162 9163 }, 9164 complete: function () { 9165 if (popupLoading && popupLoading.version) { 9166 popupLoading.out(); 9167 popupLoading = null; 9168 } 9169 } 9170 }); 9171 } 9172 } 9173 9174 function SelectedMatchOutlet(id, outletIndex) { 9175 var name = $('#outletDisplayName-' + id).text(); 9176 $('#lbCurrentSelectedOutlet').text(name); 9177 $('#lbCurrentSelectedOutlet').removeClass('colorred'); 9178 $('.matchoutletrow').removeClass('selectedoutlet'); 9179 $('.css' + id).addClass('selectedoutlet'); 9180 $('#btnMatchOutlet').removeAttr('disabled'); 9181 $('#currentSelectedOutlet').val(outletIndex); 9182 } 9183 9184 function hideAnimationOutletSwipeUp() { 9185 delayTimer(function () { 9186 $("#AnimationOutlet").hide().find('img').removeAttr('src'); 9187 }, 0); 9188 } 9189 9190 $(document).click(function (e) { 9191 if ($(e.target).is('#outletsModal')) { 9192 hideAnimationOutletSwipeUp(); 9193 } 9194 }); 9195 $(document).ready(function () { 9196 $('#AnimationOutlet, #animation-swipe-up').click(function () { 9197 hideAnimationOutletSwipeUp(); 9198 }); 9199 }); 9200</script>
9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210<div class="modal fade" id="RecheckYourCartModal" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 9211 <div class="vertical-alignment-helper"> 9212 <div class="modal-dialog vertical-align-center"> 9213 <div class="modal-dialog"> 9214 <div class="modal-content"> 9215 <div class="media"> 9216 <div class="media-left media-custom media-promotion"> 9217 <img class="media-object hidden-xs hidden-sm" src="/Content/Images/custom/carrot/warning-icon.svg" height="72" style="margin-top: 10px;" /> 9218 <img class="media-object hidden-md hidden-lg" src="/Content/Images/custom/carrot/warning-icon.svg" height="52" /> 9219 </div> 9220 <div class="media-body media-custom"> 9221 <br /> 9222 <p class="color-by-theme">The quantity of modifiers in item(s) below already exceeded the limitation and will be removed from CART:</p> 9223 <div class="media-custom-promotion color-by-theme" id="listProductHasRemoved"></div> 9224 </div> 9225 <div> 9226 <div class="media-body media-custom" style="color:#FD576B !important;"> 9227 <p class="media-message">Please recheck your CART to re-order the item following limited modifier quantity!</p> 9228 </div> 9229 </div> 9230 <div style="text-align:center; margin-bottom:10px;"> 9231 <button type="button" class="btn btn-default" onclick="closeMessage()">Close</button> 9232 </div> 9233 </div> 9234 </div> 9235 </div> 9236 </div> 9237 </div> 9238</div> 9239 9240<style> 9241 .modal-open #product-in-cart-modal.modal { 9242 overflow-y: hidden; 9243 z-index: 19; 9244 } 9245 9246 #product-in-cart-modal .sub_category_title { 9247 font-size: 16px; 9248 font-weight: bold; 9249 padding-bottom: 5px; 9250 border-bottom: 1px dotted #d7d7d7; 9251 line-height: 1.3; 9252 } 9253 9254 #product-in-cart-modal .mycart-title-product { 9255 font-weight: bold; 9256 } 9257 9258 #product-in-cart-modal .order-list .item .fa { 9259 top: 5px; 9260 } 9261 9262 #product-in-cart-modal .order-list .item { 9263 padding-bottom: 10px; 9264 } 9265 9266 #product-in-cart-modal .order-list .item .action-block { 9267 margin-top: 10px; 9268 } 9269 9270 #product-in-cart-modal #box-cart-item #quantity-item { 9271 width: auto; 9272 } 9273 9274 #product-in-cart-modal .product-in-cart-modal-waiting { 9275 position: absolute; 9276 z-index: 1; 9277 inset: 0; 9278 background-color: #00000020; 9279 display: none; 9280 color: var(--main-color); 9281 } 9282 9283 #product-in-cart-modal .product-in-cart-modal-waiting i.fa-spin { 9284 margin: auto; 9285 } 9286</style> 9287 9288<div class="modal fade" id="product-in-cart-modal" tabindex="-1" aria-labelledby="" aria-hidden="true" data-backdrop="static"> 9289 <div class="vertical-alignment-helper"> 9290 <div class="modal-dialog vertical-align-center"> 9291 <div class="modal-dialog"> 9292 <div class="modal-content"> 9293 9294 </div> 9295 </div> 9296 </div> 9297 </div> 9298</div> 9299 9300 9301
9302<script src="https://hammerjs.github.io/dist/hammer.js"></script>
9302 9303 9304<div id="popup"> 9305 9306 9307 9308 9309<div class="popup outlet-and-datetime" id="outlet-and-datetime-popup"> 9310 <div class="popup-dialog"> 9311 <div class="popup-content"> 9312 <div class="popup-header swipe-popup-down"> 9313 <div class="icon-swipe"></div> 9314 </div> 9315 <div class="popup-body"> 9316 <div class="outlet-and-datetime__service-row"> 9317 <div class="outlet-and-datetime__service-changes"> 9318 <div class="icon-service"> 9319 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"> 9320 <rect width="32" height="32" rx="16" fill="#F26722" /> 9321 <path d="M12.3496 12.7485C13.6172 12.7485 14.5968 11.7689 14.5968 10.5013C14.568 9.23364 13.6172 8.25409 12.3496 8.25409C11.0531 8.25409 10.1024 9.20483 10.1024 10.4725C10.1024 11.7689 11.0819 12.7485 12.3496 12.7485Z" fill="white" /> 9322 <path d="M21.0502 11.4232C19.408 11.7401 17.8235 12.201 16.1813 12.5756C14.4815 12.9501 12.7817 13.3246 11.0243 13.2382C10.3328 13.2094 9.61255 13.2958 8.97872 13.6127C8.22965 13.9873 7.65345 14.5635 7.59583 15.4278C7.53821 17.0988 7.56702 18.7986 7.56702 20.4696C7.56702 20.9594 7.94155 21.3627 8.43133 21.4203C8.86348 21.478 9.29563 21.2187 9.4685 20.7865C9.55493 20.5848 9.55493 20.412 9.55493 20.2103C9.55493 18.9138 9.55493 17.6462 9.55493 16.3497C9.55493 16.2345 9.52612 16.0904 9.69898 16.0616C9.90065 16.0616 9.87184 16.2057 9.87184 16.3497C9.87184 16.7819 9.87184 17.1852 9.87184 17.6174C9.87184 18.6545 9.87184 19.6917 9.87184 20.7289C9.87184 21.1322 10.1599 21.3915 10.5345 21.3915C11.6869 21.3915 12.8681 21.3915 14.0205 21.3915C14.4239 21.3915 14.6832 21.1322 14.712 20.7289C14.712 20.5848 14.712 20.4408 14.712 20.2967C14.712 18.6834 14.712 17.0988 14.712 15.4854C14.712 15.2837 14.7696 15.1973 14.9713 15.1397C15.9796 14.8804 16.988 14.5635 17.9963 14.2754C18.7166 14.0737 21.3671 13.4399 21.7705 13.123C22.1162 12.8637 22.3755 12.4027 22.1162 11.8841C21.9434 11.5384 21.4536 11.3367 21.0502 11.4232Z" fill="white" /> 9323 <path fill-rule="evenodd" clip-rule="evenodd" d="M24.479 18.0495C24.7094 19.6629 24.9111 21.3051 25.0264 22.9473C25.0552 23.3506 24.9399 23.4947 24.5366 23.437H18.1983C17.9102 23.437 17.7662 23.3506 17.6221 23.1201C17.6029 23.0913 17.5845 23.0617 17.5661 23.0321C17.4741 22.884 17.382 22.736 17.19 22.688C16.9909 22.6216 17.0126 22.4703 17.0334 22.3254C17.0397 22.2816 17.0459 22.2383 17.0459 22.1982C17.0639 21.3339 17.1945 20.4696 17.325 19.6053C17.4033 19.0867 17.4817 18.5681 17.5357 18.0495C17.5645 17.819 17.5933 17.5813 17.6221 17.3437C17.6509 17.106 17.6797 16.8683 17.7085 16.6378C17.7085 16.4938 17.7374 16.2633 17.9678 16.2633C18.2681 16.2633 18.3076 16.1329 18.3694 15.9287C18.3788 15.8978 18.3886 15.8652 18.4 15.8311C18.7457 14.8804 19.1202 13.8145 19.4948 12.7485L19.4948 12.7484C19.8019 11.8828 19.9467 11.8562 20.6635 11.7242C20.6863 11.72 20.7097 11.7157 20.7336 11.7113C20.8634 11.6913 20.982 11.6661 21.0911 11.643C21.6116 11.5325 21.9171 11.4677 22.2029 12.2298C22.4622 12.8781 22.7143 13.5191 22.9664 14.1601C23.2185 14.8012 23.4706 15.4422 23.7299 16.0904C23.7385 16.1162 23.7445 16.1446 23.7503 16.1717C23.7638 16.2354 23.7759 16.2921 23.8163 16.2921C24.2162 16.2921 24.2258 16.3571 24.3906 17.4648C24.4158 17.6342 24.4446 17.8279 24.479 18.0495ZM21.2234 16.3145C21.6459 16.3081 22.0685 16.3017 22.491 16.3209C22.7792 16.3209 22.7792 16.1768 22.7215 16.004C22.4046 14.8516 22.0877 13.6992 21.742 12.5756C21.7132 12.4891 21.6267 12.2586 21.5403 12.2586C21.2234 12.2586 20.2438 12.4315 20.1862 12.662C20.0422 13.1806 19.8837 13.764 19.7253 14.3474C19.5668 14.9308 19.4083 15.5142 19.2643 16.0328C19.2067 16.2921 19.2931 16.3785 19.5236 16.3497C19.805 16.3064 20.0701 16.3119 20.3312 16.3173C20.4176 16.3191 20.5036 16.3209 20.5896 16.3209C20.8008 16.3209 21.0121 16.3177 21.2234 16.3145ZM19.2001 19.5874C19.2001 20.6943 20.0806 21.6 21.1875 21.6C22.2944 21.6 23.2001 20.7195 23.2001 19.6126C23.2001 18.5056 22.3196 17.6 21.2127 17.6C20.1057 17.6 19.2001 18.4805 19.2001 19.5874ZM21.9423 18.2792C22.0178 18.3044 22.0178 18.3044 22.0178 18.3799C22.0429 18.556 22.0429 18.7572 22.0429 18.9333C22.0429 19.0591 22.0178 19.1346 21.9423 19.2101C21.9171 19.2101 21.892 19.2352 21.8668 19.2604C21.8165 19.2855 21.7913 19.3358 21.7913 19.4113L21.8165 20.0906C21.8417 20.2918 21.8417 20.5182 21.8417 20.7447C21.8417 20.8201 21.8417 20.8956 21.8165 20.9711C21.8165 20.9962 21.8165 21.0214 21.7913 21.0465C21.741 21.0969 21.6404 21.0969 21.6152 21.02
932314C21.5649 20.9459 21.5649 20.8704 21.5649 20.795C21.5482 20.6272 21.5538 20.4595 21.5593 20.2918L21.5593 20.2918C21.5621 20.208 21.5649 20.1241 21.5649 20.0402L21.5901 19.3862C21.5901 19.3107 21.5649 19.2604 21.5146 19.2352C21.502 19.2226 21.4832 19.2101 21.4643 19.1975L21.4643 19.1975L21.4643 19.1975C21.4454 19.1849 21.4266 19.1723 21.414 19.1597C21.3637 19.1094 21.3385 19.034 21.3385 18.9585C21.3385 18.8608 21.3444 18.7572 21.3505 18.6506C21.357 18.5375 21.3637 18.4209 21.3637 18.3044C21.3637 18.243 21.397 18.2482 21.423 18.2523C21.4289 18.2532 21.4345 18.2541 21.4391 18.2541C21.4895 18.2541 21.4895 18.2792 21.4895 18.3044V18.7824C21.5146 18.8075 21.5398 18.8327 21.5649 18.8327C21.5901 18.8327 21.6152 18.8075 21.6152 18.7824V18.2792C21.6152 18.2289 21.6153 18.2289 21.6907 18.2289C21.7159 18.2289 21.741 18.2289 21.741 18.2792V18.7572C21.741 18.7824 21.741 18.8075 21.7662 18.8327C21.7914 18.8579 21.8165 18.8579 21.8417 18.8579C21.8668 18.8579 21.892 18.8327 21.892 18.8075V18.3296C21.892 18.3044 21.892 18.2918 21.8983 18.2855C21.9046 18.2792 21.9171 18.2792 21.9423 18.2792ZM21.0617 18.8578C21.0617 18.6817 21.0114 18.5056 20.8856 18.3547C20.7849 18.2289 20.6592 18.2289 20.5082 18.3547C20.4076 18.4805 20.3321 18.6566 20.3573 18.883C20.3573 18.9585 20.3824 19.0088 20.4327 19.0591C20.4579 19.1094 20.5082 19.1597 20.5585 19.21C20.6088 19.2604 20.634 19.3107 20.634 19.3861C20.634 19.4742 20.6277 19.556 20.6214 19.6377C20.6151 19.7195 20.6088 19.8012 20.6088 19.8893C20.6088 20.0277 20.6025 20.166 20.5963 20.3044L20.5963 20.3044C20.59 20.4428 20.5837 20.5811 20.5837 20.7195C20.5837 20.8201 20.5837 20.8956 20.6088 20.9962C20.634 21.0717 20.6591 21.0968 20.7095 21.0968C20.7598 21.0968 20.8101 21.0717 20.8101 20.9962C20.8101 20.9836 20.8164 20.9711 20.8227 20.9585C20.829 20.9459 20.8353 20.9333 20.8353 20.9207C20.8604 20.795 20.8604 20.644 20.8604 20.5182C20.8478 20.3421 20.8415 20.166 20.8353 19.9899C20.829 19.8138 20.8227 19.6377 20.8101 19.4616C20.8101 19.3358 20.8353 19.2604 20.9107 19.1597C20.9862 19.1094 21.0617 18.9836 21.0617 18.8578Z" fill="white" /> 9324 </svg> 9325 9326 </div> 9327 <div class="outlet-and-datetime__title-service">Pick-up</div> 9328 </div> 9329 <button class="btn btn-change-service" onclick="changeService(1, false);">Change</button> 9330 </div> 9331 9332 <div class="outlet-and-datetime__outlet-row" onclick="changeService(1, true);"> 9333 <div class="outlet-and-datetime__title">Pick-up Outlet</div> 9334 <div class="outlet-and-datetime__outlet-changes"> 9335 <div class="icon-outlet"> 9336 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 9337 <path fill-rule="evenodd" clip-rule="evenodd" d="M2.77555 0.343341C2.69007 0.364068 2.54602 0.418487 2.45543 0.464272C2.1277 0.630025 1.77225 1.09299 1.77225 1.35416C1.77225 1.50063 1.88541 1.64106 2.03753 1.68326C2.19141 1.72598 13.8135 1.72598 13.9674 1.68326C14.1189 1.64121 14.2326 1.50057 14.2326 1.35534C14.2326 1.18017 14.0691 0.894928 13.8526 0.692565C13.6489 0.502025 13.4332 0.386179 13.1853 0.334076C12.9426 0.283057 2.98767 0.291901 2.77555 0.343341ZM1.83262 2.48901C1.77032 2.54563 1.51903 3.02035 1.03681 3.99237C0.265291 5.54762 0.260175 5.5617 0.325426 5.9472C0.458217 6.73177 0.941553 7.39162 1.64009 7.74202C2.38079 8.11357 3.29226 8.07756 3.99946 7.64886L4.165 7.5485L4.2252 7.62972C4.75377 8.34303 5.42795 8.69424 6.26626 8.69301C6.86589 8.69214 7.42595 8.48397 7.84735 8.10529L8.00358 7.96487L8.13758 8.08833C8.42453 8.35269 8.78425 8.53824 9.20342 8.63808C9.41714 8.68898 9.52763 8.69716 9.83839 8.68513C10.3723 8.66443 10.7159 8.55565 11.1229 8.27848C11.3171 8.14617 11.6323 7.83678 11.7517 7.66107L11.8292 7.54715L11.97 7.62996C12.4372 7.9048 12.733 7.98581 13.2695 7.98581C13.6027 7.98581 13.7187 7.97344 13.914 7.91719C14.7514 7.67614 15.3874 7.04381 15.616 6.22513C15.716 5.86673 15.7261 5.61536 15.6494 5.38957C15.6139 5.28485 15.2883 4.60668 14.926 3.88248C14.4406 2.91242 14.2422 2.54475 14.1723 2.486L14.0775 2.40629H8.0006H1.9237L1.83262 2.48901ZM3.6082 8.55959C3.20868 8.67267 2.78861 8.71193 2.43975 8.66876C1.98194 8.61212 1.93264 8.61738 1.81438 8.73558L1.71205 8.83785V11.6782C1.71205 14.8256 1.70287 14.6709 1.9103 15.0141C2.08457 15.3024 2.3562 15.5134 2.70527 15.6315C2.86136 15.6844 3.01001 15.6876 5.31 15.6876C7.62191 15.6876 7.75359 15.6847 7.8332 15.6326C8.00635 15.5192 8.00244 15.5786 8.00244 13.0704C8.00244 10.5709 7.99922 10.6212 8.16698 10.5113C8.24021 10.4634 8.38862 10.4599 10.1019 10.4658C11.761 10.4715 11.9664 10.4775 12.0412 10.5216C12.2218
933710.6282 12.2161 10.5446 12.2161 13.0855C12.2161 15.6744 12.2069 15.5583 12.4199 15.6593C12.5111 15.7026 12.5808 15.7078 12.8501 15.6914C13.2076 15.6697 13.4399 15.6036 13.6643 15.4597C13.9251 15.2925 14.143 15.0037 14.238 14.6997C14.2894 14.5349 14.2928 14.3476 14.2928 11.681V8.83785L14.1863 8.73136L14.0797 8.62487L13.8326 8.64545C13.6967 8.65679 13.4884 8.67394 13.3697 8.68356C13.114 8.70429 12.7592 8.65814 12.3711 8.55364C12.0435 8.46538 11.983 8.47338 11.7947 8.62978C11.4789 8.89215 11.113 9.09256 10.7233 9.2165C9.92597 9.47015 9.10888 9.41396 8.33703 9.05246C8.19807 8.98736 8.04536 8.93412 7.99768 8.93412C7.94998 8.93412 7.79946 8.98742 7.66324 9.05261C6.78936 9.47063 5.78699 9.47683 4.91374 9.06961C4.76274 8.99919 4.55573 8.88235 4.45376 8.81C3.91266 8.42606 3.99444 8.45028 3.6082 8.55959ZM6.38704 10.4793C6.59029 10.5641 6.58785 10.5476 6.58785 11.8443C6.58785 13.1234 6.59162 13.0955 6.40694 13.1909C6.33428 13.2285 6.13507 13.2358 5.19735 13.2354C3.9904 13.2349 3.98472 13.2343 3.86691 13.0757C3.80546 12.993 3.80383 12.9614 3.80383 11.841C3.80383 10.7786 3.80801 10.6849 3.85876 10.6075C3.9644 10.4463 4.00952 10.4407 5.1968 10.4394C6.05296 10.4385 6.31002 10.4471 6.38704 10.4793Z" fill="#333333" /> 9338 </svg> 9339 </div> 9340 <span class="outlet-and-datetime__outlet-name"></span> 9341 <svg xmlns="http://www.w3.org/2000/svg" width="19" height="20" viewBox="0 0 19 20" fill="none"> 9342 <path d="M17.024 7.05L12.774 2.85L14.174 1.45C14.5573 1.06667 15.0283 0.875 15.587 0.875C16.145 0.875 16.6157 1.06667 16.999 1.45L18.399 2.85C18.7823 3.23333 18.9823 3.696 18.999 4.238C19.0157 4.77933 18.8323 5.24167 18.449 5.625L17.024 7.05ZM1.724 19.125C1.44067 19.125 1.20333 19.029 1.012 18.837C0.819999 18.6457 0.723999 18.4083 0.723999 18.125V15.3C0.723999 15.1667 0.748999 15.0377 0.798999 14.913C0.848999 14.7877 0.923999 14.675 1.024 14.575L11.324 4.275L15.574 8.525L5.274 18.825C5.174 18.925 5.06167 19 4.937 19.05C4.81167 19.1 4.68233 19.125 4.549 19.125H1.724Z" fill="#F26722" /> 9343 </svg> 9344 </div> 9345 9346 </div> 9347 <div class="outlet-and-datetime__datetime-row" onclick="changeDateTime(1, true);"> 9348 <div class="outlet-and-datetime__title">Date and Time</div> 9349 <div class="outlet-and-datetime__datetime-changes"> 9350 <div class="icon-datetime"> 9351 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 9352 <path d="M8 0.125C3.65117 0.125 0.125 3.65117 0.125 8C0.125 12.3488 3.65117 15.875 8 15.875C12.3488 15.875 15.875 12.3488 15.875 8C15.875 3.65117 12.3488 0.125 8 0.125ZM11.1025 10.4205L10.5998 11.1061C10.5889 11.121 10.5751 11.1336 10.5593 11.1432C10.5434 11.1528 10.5259 11.1591 10.5076 11.1619C10.4893 11.1647 10.4706 11.1638 10.4527 11.1594C10.4347 11.1549 10.4178 11.1469 10.4029 11.1359L7.49551 9.01602C7.4774 9.00301 7.46267 8.98584 7.45258 8.96596C7.44248 8.94607 7.43731 8.92406 7.4375 8.90176V4.0625C7.4375 3.98516 7.50078 3.92188 7.57812 3.92188H8.42363C8.50098 3.92188 8.56426 3.98516 8.56426 4.0625V8.41309L11.0709 10.2254C11.1342 10.2693 11.1482 10.3572 11.1025 10.4205Z" fill="#313332" /> 9353 </svg> 9354 </div> 9355 <span class="outlet-and-datetime__datetime-selected"></span> 9356 <svg xmlns="http://www.w3.org/2000/svg" width="19" height="20" viewBox="0 0 19 20" fill="none"> 9357 <path d="M17.024 7.05L12.774 2.85L14.174 1.45C14.5573 1.06667 15.0283 0.875 15.587 0.875C16.145 0.875 16.6157 1.06667 16.999 1.45L18.399 2.85C18.7823 3.23333 18.9823 3.696 18.999 4.238C19.0157 4.77933 18.8323 5.24167 18.449 5.625L17.024 7.05ZM1.724 19.125C1.44067 19.125 1.20333 19.029 1.012 18.837C0.819999 18.6457 0.723999 18.4083 0.723999 18.125V15.3C0.723999 15.1667 0.748999 15.0377 0.798999 14.913C0.848999 14.7877 0.923999 14.675 1.024 14.575L11.324 4.275L15.574 8.525L5.274 18.825C5.174 18.925 5.06167 19 4.937 19.05C4.81167 19.1 4.68233 19.125 4.549 19.125H1.724Z" fill="#F26722" /> 9358 </svg> 9359 </div> 9360 </div> 9361 </div> 9362 9363 <div class="popup-footer"> 9364 9365 </div> 9366 </div> 9367 </div> 9368</div> 9369 9370 9371 9372<div class="popup select-payment-options" id="select-payment-options-popup"> 9373 <div class="popup-dialog"> 9374 <div class="popup-content "> 9375 <div class="popup-header"> 9376 <div class="popup-close"> 9377 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 9378 <path d="M13.5909 12L18.0441 7.54687C18.2554 7.3359 18.3743 7.04962 18.3745 6.75099C18.3748 6.45237 18.2564 6.16587 18.0455 5.95453C17.8345 5.74319 17.5482 5.62431 17.2496 5.62404C16.951 5.62378 16.6645 5.74215 16.4531 5.95312L12 10.4062L7.54687 5.95312C7.33553 5.74178 7.04888 5.62305 6.75 5.62305C6.45111 5.62305 6.16447 5.74178 5.95312 5.95312C5.74178 6.16447 5.62305 6.45111 5.62305 6.75C5.62305 7.04888 5.74178 7.33553 5.95312 7.54687L10.4062 12L5.95312 16.4531C5.74178 16.6645 5.62305 16.9511 5.62305 17.25C
93785.62305 17.5489 5.74178 17.8355 5.95312 18.0469C6.16447 18.2582 6.45111 18.3769 6.75 18.3769C7.04888 18.3769 7.33553 18.2582 7.54687 18.0469L12 13.5937L16.4531 18.0469C16.6645 18.2582 16.9511 18.3769 17.25 18.3769C17.5489 18.3769 17.8355 18.2582 18.0469 18.0469C18.2582 17.8355 18.3769 17.5489 18.3769 17.25C18.3769 16.9511 18.2582 16.6645 18.0469 16.4531L13.5909 12Z" fill="#333333" /> 9379 </svg> 9380 </div> 9381 </div> 9382 <div class="popup-body "> 9383 <div class="provide-phone-number"> 9384 <div> 9385 <strong class="provide-phone-number__title">Get More with Your Order!</strong> 9386 <div class="provide-phone-number__desc">Enter your mobile number to unlock these benefits:</div> 9387 </div> 9388 <section class="provide-phone-number__benefits-section"> 9389 <div class="provide-phone-number__benefits-box"> 9390 <div class="provide-phone-number__benefits-item"> 9391 <div class="provide-phone-number__benefits-item--icon"> 9392 <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 18 18" fill="none"> 9393 <path d="M9.16634 0.666504C7.51817 0.666504 5.907 1.15525 4.53659 2.07092C3.16618 2.9866 2.09808 4.28809 1.46735 5.81081C0.836619 7.33353 0.671591 9.00908 0.993134 10.6256C1.31468 12.2421 2.10835 13.727 3.27379 14.8924C4.43923 16.0578 5.92408 16.8515 7.54059 17.173C9.1571 17.4946 10.8327 17.3296 12.3554 16.6988C13.8781 16.0681 15.1796 15 16.0953 13.6296C17.0109 12.2592 17.4997 10.648 17.4997 8.99984C17.4997 7.90549 17.2841 6.82186 16.8653 5.81081C16.4466 4.79976 15.8327 3.8811 15.0589 3.10728C14.2851 2.33346 13.3664 1.71963 12.3554 1.30084C11.3443 0.882052 10.2607 0.666504 9.16634 0.666504V0.666504ZM9.16634 15.6665C7.8478 15.6665 6.55887 15.2755 5.46254 14.543C4.36622 13.8104 3.51173 12.7692 3.00715 11.5511C2.50256 10.3329 2.37054 8.99244 2.62778 7.69924C2.88501 6.40603 3.51995 5.21814 4.4523 4.28579C5.38465 3.35344 6.57254 2.7185 7.86574 2.46127C9.15895 2.20403 10.4994 2.33606 11.7176 2.84064C12.9357 3.34522 13.9769 4.19971 14.7095 5.29604C15.442 6.39236 15.833 7.6813 15.833 8.99984C15.833 10.7679 15.1306 12.4636 13.8804 13.7139C12.6301 14.9641 10.9345 15.6665 9.16634 15.6665V15.6665ZM11.7497 9.52484L9.99968 8.5165V4.83317C9.99968 4.61216 9.91188 4.4002 9.7556 4.24392C9.59932 4.08763 9.38736 3.99984 9.16634 3.99984C8.94533 3.99984 8.73337 4.08763 8.57709 4.24392C8.42081 4.4002 8.33301 4.61216 8.33301 4.83317V8.99984C8.33301 8.99984 8.33301 9.0665 8.33301 9.09984C8.33795 9.15726 8.35201 9.21352 8.37468 9.2665C8.39184 9.31595 8.41419 9.36343 8.44135 9.40817C8.46415 9.45554 8.49209 9.50025 8.52468 9.5415L8.65801 9.64984L8.73301 9.72484L10.8997 10.9748C11.0267 11.0468 11.1704 11.0842 11.3163 11.0832C11.5009 11.0845 11.6806 11.0245 11.8273 10.9126C11.9741 10.8008 12.0796 10.6434 12.1272 10.4651C12.1749 10.2869 12.162 10.0978 12.0907 9.92765C12.0194 9.75748 11.8935 9.61581 11.733 9.52484H11.7497Z" fill="#333333" fill-opacity="0.8" /> 9394 </svg> 9395 </div> 9396 <div class="provide-phone-number__benefits-item--label"> 9397 Track your orders in real-time 9398 </div> 9399 </div> 9400 <div class="provide-phone-number__benefits-item"> 9401 <div class="provide-phone-number__benefits-item--icon"> 9402 <svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 18 18" fill="none"> 9403 <path d="M16.4993 10.6665C16.2783 10.6665 16.0664 10.7543 15.9101 10.9106C15.7538 11.0669 15.666 11.2788 15.666 11.4998V14.8332C15.666 15.0542 15.5782 15.2661 15.4219 15.4224C15.2657 15.5787 15.0537 15.6665 14.8327 15.6665H3.16602C2.945 15.6665 2.73304 15.5787 2.57676 15.4224C2.42048 15.2661 2.33268 15.0542 2.33268 14.8332V11.4998C2.33268 11.2788 2.24488 11.0669 2.0886 10.9106C1.93232 10.7543 1.72036 10.6665 1.49935 10.6665C1.27834 10.6665 1.06637 10.7543 0.910093 10.9106C0.753813 11.0669 0.666016 11.2788 0.666016 11.4998V14.8332C0.666016 15.4962 0.929408 16.1321 1.39825 16.6009C1.86709 17.0698 2.50297 17.3332 3.16602 17.3332H14.8327C15.4957 17.3332 16.1316 17.0698 16.6004 16.6009C17.0693 16.1321 17.3327 15.4962 17.3327 14.8332V11.4998C17.3327 11.2788 17.2449 11.0669 17.0886 10.9106C16.9323 10.7543 16.7204 10.6665 16.4993 10.6665ZM8.40768 12.0915C8.48694 12.1674 8.58039 12.2268 8.68268 12.2665C8.78243 12.3106 8.89029 12.3334 8.99935 12.3334C9.10841 12.3334 9.21627 12.3106 9.31602 12.2665C9.41831 12.2268 9.51176 12.1674 9.59102 12.0915L12.9243 8.75817C13.0813 8.60125 13.1694 8.38842 13.1694 8.1665C13.1694 7.94459 13.0813 7.73176 12.9243 7.57484C12.7674 7.41792 12.5546 7.32976 12.3327 7.32976C12.1108 7.32976 11.8979 7.41792 11.741 7.57484L9.83268 9.4915V1.49984C9.83268 1.27882 9.74488 1.06686 9.5886 0.910582C9.43232 0.754301 9.22036 0.666504 8.99935 0.666504C8.77834 0.666504 8.56637 0.754301 8.41009 0.910582C8.25381 1.06686 8.16602 1.27882 8.16602 1.49984V9.4915L6.25768 7.57484C6.17998 7.49714 6.08774 7.4355 5.98622 7.39345C5.88471 7.3514 5.7759 7.32976 5.66602 7.32976C5.55613 7.32976 5.44733 7.3514 5.34581 7.39345C5.24429 7.4355 5.15205 7.49714 5.07435 7.57484C4.99665 7.65254 4.93502 7.74478 4.89297 7.8463C4.85092 7.94781 4.82927 8.05662 4.82927 8.1665C4.82927 8.27639 4.85092 8.38519 4.89297 8.48671C4.93502 8.58823 4.99665 8.68047 5.07435 8.75817L8.40768 12.0915Z" fill="#333333" fill-opacity="0.8" /> 9404 </svg> 9405 </div> 9406 <div class="provide-phone-number__benef
9406its-item--label"> 9407 Instantly download your digital receipt 9408 </div> 9409 </div> 9410 <div class="provide-phone-number__benefits-item"> 9411 <div class="provide-phone-number__benefits-item--icon"> 9412 <svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 16 16" fill="none"> 9413 <path d="M3.83411 3.83373H12.1674V5.3254C12.1674 5.7004 12.6174 5.88373 12.8758 5.61706L15.2008 3.29206C15.3674 3.1254 15.3674 2.86706 15.2008 2.7004L12.8758 0.375398C12.6174 0.117065 12.1674 0.300398 12.1674 0.675398V2.16706H3.00078C2.54245 2.16706 2.16745 2.54206 2.16745 3.0004V6.33373C2.16745 6.79206 2.54245 7.16706 3.00078 7.16706C3.45911 7.16706 3.83411 6.79206 3.83411 6.33373V3.83373ZM12.1674 12.1671H3.83411V10.6754C3.83411 10.3004 3.38411 10.1171 3.12578 10.3837L0.800781 12.7087C0.634115 12.8754 0.634115 13.1337 0.800781 13.3004L3.12578 15.6254C3.38411 15.8837 3.83411 15.7004 3.83411 15.3254V13.8337H13.0008C13.4591 13.8337 13.8341 13.4587 13.8341 13.0004V9.66706C13.8341 9.20873 13.4591 8.83373 13.0008 8.83373C12.5424 8.83373 12.1674 9.20873 12.1674 9.66706V12.1671Z" fill="#333333" fill-opacity="0.8" /> 9414 </svg> 9415 </div> 9416 <div class="provide-phone-number__benefits-item--label"> 9417 Re-order your favourites with a tap 9418 </div> 9419 </div> 9420 <div class="provide-phone-number__benefits-item"> 9421 <div class="provide-phone-number__benefits-item--icon"> 9422 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 20 20" fill="none"> 9423 <path d="M9.9987 18.125C10.9154 18.125 11.6654 17.375 11.6654 16.4583H8.33203C8.33203 17.375 9.0737 18.125 9.9987 18.125ZM14.9987 13.125V8.95833C14.9987 6.4 13.632 4.25833 11.2487 3.69167V3.125C11.2487 2.43333 10.6904 1.875 9.9987 1.875C9.30703 1.875 8.7487 2.43333 8.7487 3.125V3.69167C6.35703 4.25833 4.9987 6.39167 4.9987 8.95833V13.125L3.33203 14.7917V15.625H16.6654V14.7917L14.9987 13.125Z" fill="#5B5B5B" /> 9424 </svg> 9425 </div> 9426 <div class="provide-phone-number__benefits-item--label"> 9427 Consent to receive notifications on expiring rewards and related updates 9428 </div> 9429 </div> 9430 </div> 9431 </section> 9432 </div> 9433 9434 <div class="member-portal__card"> 9435 <div class="member-portal__reward-info" style="justify-content: center;"> 9436 <div class="member-portal__reward-title" style="font-size: 16px;"> 9437 <strong>Join for Exclusive Benefits</strong> 9438 </div> 9439 </div> 9440 <div class="member-portal__reward-info"> 9441 <svg xmlns="http://www.w3.org/2000/svg" width="23" height="22" viewBox="0 0 23 22" fill="none"> 9442 <path fill-rule="evenodd" clip-rule="evenodd" d="M14.3503 0.0560063C14.2031 0.0934595 13.9394 0.197194 13.7644 0.286585C13.5894 0.375928 10.6736 2.05105 7.28501 4.00902C3.35651 6.2789 1.03525 7.64704 0.879489 7.78433C0.0863637 8.48362 -0.206136 9.62816 0.149645 10.6404C0.251082 10.9291 0.886942 12.0511 1.13388 12.3772C1.30366 12.6014 1.73435 12.9583 2.00266 13.097C2.37105 13.2875 2.6749 13.355 3.32397 13.3904C3.89341 13.4214 4.02147 13.4436 4.26635 13.5534C4.62682 13.7152 4.98644 14.0764 5.15655 14.4474C5.26577 14.6857 5.28555 14.7914 5.28607 15.1396L5.28663 15.5505L4.99933 16.1029C4.60469 16.8617 4.54868 17.0751 4.57413 17.7223C4.59982 18.376 4.65096 18.5243 5.16443 19.433
9442C5.60674 20.2159 5.95399 20.6323 6.36246 20.8696C7.20485 21.359 8.1671 21.3883 8.99308 20.9496C9.17355 20.8538 12.0804 19.1828 15.4528 17.2364C19.7397 14.7621 21.6636 13.6271 21.8477 13.4637C22.6258 12.7731 22.919 11.6482 22.5829 10.6426C22.5082 10.419 21.9635 9.42107 21.7172 9.05648C21.4037 8.59251 20.8756 8.18601 20.3473 8.00193C20.1338 7.92758 19.8776 7.89055 19.3919 7.86388C18.7935 7.83098 18.6989 7.81358 18.4309 7.68698C18.053 7.50848 17.7631 7.21738 17.5776 6.83019C17.449 6.56169 17.4316 6.47709 17.4311 6.11779L17.4306 5.71007L17.7239 5.14602C18.0755 4.47004 18.1573 4.18152 18.1566 3.62113C18.1557 2.94004 18.047 2.64187 17.4031 1.55413C16.9326 0.759366 16.5274 0.39721 15.819 0.138131C15.4248 -0.00600927 14.7441 -0.0440718 14.3503 0.0560063ZM11.8759 7.18846C11.8372 7.20369 10.9759 7.69359 9.96171 8.27709C8.2961 9.23545 8.10691 9.35652 8.00468 9.52963C7.94243 9.63501 7.89152 9.78862 7.89152 9.87098C7.89152 10.3543 8.36777 10.7268 8.81149 10.5906C9.11294 10.4981 12.5819 8.45788 12.6857 8.31201C12.8366 8.10018 12.8489 7.73699 12.7121 7.53763C12.6518 7.44979 12.5469 7.33673 12.4789 7.28638C12.3542 7.19399 12.0056 7.13737 11.8759 7.18846ZM13.7427 10.7186C13.2625 10.976 10.1998 12.7585 10.125 12.8241C9.88952 13.0307 9.83927 13.4233 10.0095 13.7262C10.1403 13.9588 10.4464 14.1176 10.6987 14.0837C10.8931 14.0577 14.3838 12.0691 14.6053 11.8583C15.1955 11.2964 14.4652 10.3314 13.7427 10.7186Z" fill="white" /> 9443 </svg> 9444 <div class="member-portal__reward-title">Earn up to (5) Vouchers</div> 9445 </div> 9446 <div class="member-portal__reward-info"> 9447 <svg xmlns="http://www.w3.org/2000/svg" width="23" height="22" viewBox="0 0 23 22" fill="none"> 9448 <path fill-rule="evenodd" clip-rule="evenodd" d="M12.3697 0.58103C12.2897 0.407566 12.1616 0.26066 12.0007 0.157691C11.8398 0.0547218 11.6528 0 11.4617 0C11.2707 0 11.0837 0.0547218 10.9227 0.157691C10.7618 0.26066 10.6338 0.407566 10.5537 0.58103L7.68374 6.80103L0.882741 7.60803C0.692991 7.63043 0.513632 7.70673 0.36589 7.82789C0.218148 7.94905 0.108209 8.10999 0.0490834 8.29168C-0.010042 8.47337 -0.0158783 8.6682 0.0322652 8.8531C0.0804087 9.038 0.180517 9.20525 0.320741 9.33503L5.35074 13.985L4.01574 20.705C3.97866 20.8924 3.99599 21.0864 4.06569 21.2642C4.13538 21.442 4.25452 21.5961 4.40903 21.7083C4.56353 21.8205 4.74694 21.8862 4.93757 21.8975C5.12819 21.9087 5.31807 21.8652 5.48474 21.772L11.4617 18.426L17.4387 21.772C17.6055 21.8656 17.7956 21.9094 17.9866 21.8983C18.1775 21.8871 18.3612 21.8214 18.5159 21.709C18.6706 21.5966 18.7899 21.4422 18.8595 21.264C18.9291 21.0859 18.9462 20.8916 18.9087 20.704L17.5737 13.986L22.6027 9.33503C22.743 9.20525 22.8431 9.038 22.8912 8.8531C22.9394 8.6682 22.9335 8.47337 22.8744 8.29168C22.8153 8.10999 22.7053 7.94905 22.5576 7.82789C22.4099 7.70673 22.2305 7.63043 22.0407 7.60803L15.2387 6.80003L12.3697 0.58103Z" fill="white" /> 9449 </svg> 9450 <div class="member-portal__reward-title" style="padding-top: 1px;">Earn Points to Offset Spending</div> 9451 </div> 9452 <div class="member-portal__reward-info"> 9453 <svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" viewBox="0 0 19 19" fill="none"> 9454 <path fill-rule="evenodd" clip-rule="evenodd" d="M14.1405 0.0821983C13.9007 0.193742 10.226 3.89186 9.98942 4.25973C9.62981 4.81901 9.53362 5.44018 9.68453 6.22837C9.78747 6.76592 9.79253 6.92193 9.71423 7.14126L9.65804 7.29871L10.6807 8.22371L11.7034 9.14871L11.8973 9.10737C12.0511 9.07455 12.1931 9.08522 12.5829 9.15892C13.4063 9.3146 14.0658 9.22756 14.6046 8.89205C14.8315 8.7508 18.6274 5.00261 18.7608 4.78817C19.0051 4.39528 18.8338 3.82191 18.4058 3.6C18.2405 3.51432 17.8468 3.509 17.6958 3.59034C17.6326 3.62447 16.9926 4.23602 16.2738 4.94937C15.5549 5.66268 14.9157 6.26571 14.8534 6.28941C14.7747 6.31937 14.697 6.31827 14.5987 6.28579C14.3104 6.1907 14.247 5.90686 14.4521 5.62964C14.519 5.53915 15.1194 4.92406 15.7862 4.26277C16.4646 3.59005 17.0243 3.00065 17.0567 2.92467C17.2605 2.44795 16.907 1.83218 16.4016 1.78362C15.94 1.73928 15.9962 1.69798 14.5202 3.1664C13.6361 4.04601 13.1299 4.51956 13.0534 4.53859C12.8945 4.57808 12.6947 4.48805 12.6198 4.3433C12.4781 4.06917 12.4644 4.08723 13.8852 2.6618C14.7653 1.77877 15.234 1.27796 15.2774 1.17388C15.5756 0.459818 14.8424 -0.244291 14.1405 0.0821983ZM2.29298 0.322203C0.18884 0.702439 -0.61846 2.93732 0.511406 5.25417C0.816633 5.88007 1.18506 6.3894 1.71683 6.92058C2.54607 7.74893 3.42635 8.26193 4.4796 8.53075C4.74155 8.59758 4.98244 8.61973 5.55577 8.62964C6.16694 8.64019 6.33636 8.65715 6.53764 8.72785C6.79566 8.81855 7.14581 9.05236 7.28098 9.22415C7.71041 9.77014 13.4842 16.0125 14.7734 17.3246C15.1962 17.755 15.4372 17.9002 15.8571 17.9775C16.941 18.1773 17.9097 17.2136 17.7107 16.1335C17.6294 15.6921 17.4917 15.4684 17.0155 15.0036C15.6394 13.6607 11.1736 9.52098 9.30147 7.85288C8.45827 7.10161 8.37929 6.93125 8.36107 5.82371C8.35073 5.19528 8.33318 5.02581 8.24298 4.68464C7.81415 3.06211 6.59746 1.58209 5.07023 0.825162C4.4883 0.536769 4.06629 0.396664 3.54102 0.317478C3.04215 0.242258 2.72882 0.243481 2.29298 0.322203ZM6.39914 10.4108C3.46816 12.952 1.3884 14.9311 1.04179 15.5087C0.842114 15.8415 0.706228 16.2584 0.70492 16.5422C0.701756 17.2239 1.13692 17.8352 1.7891 18.0653C1.98362 18.1339 2.10656 18.1477 2.39917 18.134C2.72912 18.1185 2.80265 18.0984 3.13745 17.9327C3.47985 17.7631 3.56608 17.6916 4.22648 17.0279C5.23185 16.0177 8.84601 12.0541 8.84601 11.9617C8.84601 11.9455 8.76535 11.8431 8.66671 11.7341C8.56808 11.6252 8.15768 11.1715 7.7547 10.7259C7.35169 10.2804 7.00997 9.91615 6.99533 9.91644C6.98065 9.91674 6.71238 10.1392 6.39914 10.4108Z" fill="white" /> 9455 </svg> 9456 <div class="member-portal__reward-title">Across Dine-in, Pickup, and Delivery</div> 9457 </div> 9458 <div class="member-portal__reward-info" style="justify-content: space-between; margin-top: 12px;"> 9459 <div class="member-portal__reward-btn" onclick="showMembershipAndRewardsPopup()"> 9460 <strong style="padding-top: 1px;">See Membership Perks</strong> 9461 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="20" viewBox="0 0 16 20" fill="none"> 9462 <path d="M0 10C0 10.2652 0.105357 10.5196 0.292893 10.7071C0.48043 10.8946 0.734784 11 1 11H8.59L6.29 13.29C6.19627 13.383 6.12188 13.4936 6.07111 13.6154C6.02034 13.7373 5.9942 13.868 5.9942 14C5.9942 14.132 6.02034 14.2627 6.07111 14.3846C6.12188 14.5064 6.19627 14.617 6.29 14.71C6.38296 14.8037 6.49356 14.8781 6.61542 14.9289C6.73728 14.9797 6.86799 15.0058 7 15.0058C7.13201 15.0058 7.26272 14.9797 7.38458 14.9289C7.50644 14.8781 7.61704 14.8037 7.71 14.71L11.71 10.71C11.801 10.6149 11.8724 10.5028 11.92 10.38C12.02 10.1365 12.02 9.86346 11.92 9.62C11.8724 9.49725 11.801 9.3851 11.71 9.29L7.71 5.29C7.61676 5.19676 7.50607 5.1228 7.38425 5.07234C7.26243 5.02188 7.13186 4.99591 7 4.99591C6.86814 4.99591 6.73757 5.02188 6.61575 5.07234C6.49393 5.1228 6.38324 5.19676 6.29 5.29C6.19676 5.38324 6.1228 5.49393 6.07234 5.61575C6.02188 5.73757 5.99591 5.86814 5.99591 6C5.99591 6.13186 6.02
9462188 6.26243 6.07234 6.38425C6.1228 6.50607 6.19676 6.61676 6.29 6.71L8.59 9H1C0.734784 9 0.48043 9.10536 0.292893 9.29289C0.105357 9.48043 0 9.73478 0 10ZM13 0H3C2.20435 0 1.44129 0.316071 0.87868 0.87868C0.316071 1.44129 0 2.20435 0 3V6C0 6.26522 0.105357 6.51957 0.292893 6.70711C0.48043 6.89464 0.734784 7 1 7C1.26522 7 1.51957 6.89464 1.70711 6.70711C1.89464 6.51957 2 6.26522 2 6V3C2 2.73478 2.10536 2.48043 2.29289 2.29289C2.48043 2.10536 2.73478 2 3 2H13C13.2652 2 13.5196 2.10536 13.7071 2.29289C13.8946 2.48043 14 2.73478 14 3V17C14 17.2652 13.8946 17.5196 13.7071 17.7071C13.5196 17.8946 13.2652 18 13 18H3C2.73478 18 2.48043 17.8946 2.29289 17.7071C2.10536 17.5196 2 17.2652 2 17V14C2 13.7348 1.89464 13.4804 1.70711 13.2929C1.51957 13.1054 1.26522 13 1 13C0.734784 13 0.48043 13.1054 0.292893 13.2929C0.105357 13.4804 0 13.7348 0 14V17C0 17.7956 0.316071 18.5587 0.87868 19.1213C1.44129 19.6839 2.20435 20 3 20H13C13.7956 20 14.5587 19.6839 15.1213 19.1213C15.6839 18.5587 16 17.7956 16 17V3C16 2.20435 15.6839 1.44129 15.1213 0.87868C14.5587 0.316071 13.7956 0 13 0Z" fill="black" /> 9463 </svg> 9464 </div> 9465 </div> 9466 <div class="member-portal__card-effect"></div> 9467 </div> 9468 9469 9470<div class="provide-phone-number"> 9471 <section class="provide-phone-number__phone-section"> 9472 <div class="provide-phone-number__phone-group"> 9473 <div class="provide-phone-number__phone-group--prepend"> 9474 <div class="dropdown-customize"> 9475 <div class="dropdown-customize-selected"> 9476 <div class="dropdown-selected"> 9477 9478 <span class="dropdown-selected__label">+65</span> 9479 </div> 9480 <div> 9481 <svg xmlns="http://www.w3.org/2000/svg" width="10" height="7" viewBox="0 0 10 7" fill="none"> 9482 <path d="M9.66458 0.647949H0.335417C0.0555991 0.647949 -0.100645 0.942306 0.0726438 1.14326L4.73723 6.53226C4.87074 6.68651 5.12784 6.68651 5.26277 6.53226L9.92736 1.14326C10.1006 0.942306 9.9444 0.647949 9.66458 0.647949Z" fill="black" /> 9483 </svg> 9484 </div> 9485 </div> 9486 <input type="hidden" name="dropdown-selected" id="phoneNumberCodeInput" value="65"> 9487 <div class="customize-menu"> 9488 <div class="customize-menu__item"> 9489 9490 <span class="customize-menu__item--label" id="65">+65</span> 9491 </div> 9492 <div class="customize-menu__item"> 9493 9494 <span class="customize-menu__item--label" id="60">+60</span> 9495 </div> 9496 <div class="customize-menu__item"> 9497 9498 <span class="customize-menu__item--label" id="66">+66</span> 9499 </div> 9500 <div class="customize-menu__item"> 9501 9502 <span class="customize-menu__item--label" id="93">+93</span> 9503 </div> 9504 <div class="customize-menu__item"> 9505 9506 <span class="customize-menu__item--label" id="355">+355</span> 9507 </div> 9508 <div class="customize-menu__item"> 9509 9510 <span class="customize-menu__item--label" id="213">+213</span> 9511 </div> 9512 <div class="customize-menu__item"> 9513 9514 <span class="customize-menu__item--label" id="1684">+1684</span> 9515 </div> 9516 <div class="customize-menu__item"> 9517
9518 <span class="customize-menu__item--label" id="376">+376</span> 9519 </div> 9520 <div class="customize-menu__item"> 9521 9522 <span class="customize-menu__item--label" id="244">+244</span> 9523 </div> 9524 <div class="customize-menu__item"> 9525 9526 <span class="customize-menu__item--label" id="1264">+1264</span> 9527 </div> 9528 <div class="customize-menu__item"> 9529 9530 <span class="customize-menu__item--label" id="672">+672</span> 9531 </div> 9532 <div class="customize-menu__item"> 9533 9534 <span class="customize-menu__item--label" id="1268">+1268</span> 9535 </div> 9536 <div class="customize-menu__item"> 9537 9538 <span class="customize-menu__item--label" id="54">+54</span> 9539 </div> 9540 <div class="customize-menu__item"> 9541 9542 <span class="customize-menu__item--label" id="374">+374</span> 9543 </div> 9544 <div class="customize-menu__item"> 9545 9546 <span class="customize-menu__item--label" id="297">+297</span> 9547 </div> 9548 <div class="customize-menu__item"> 9549 9550 <span class="customize-menu__item--label" id="61">+61</span> 9551 </div> 9552 <div class="customize-menu__item"> 9553 9554 <span class="customize-menu__item--label" id="43">+43</span> 9555 </div> 9556 <div class="customize-menu__item"> 9557 9558 <span class="customize-menu__item--label" id="944">+944</span> 9559 </div> 9560 <div class="customize-menu__item"> 9561 9562 <span class="customize-menu__item--label" id="1242">+1242</span> 9563 </div> 9564 <div class="customize-menu__item"> 9565 9566 <span class="customize-menu__item--label" id="973">+973</span> 9567 </div> 9568 <div class="customize-menu__item"> 9569 9570 <span class="customize-menu__item--label" id="880">+880</span> 9571 </div> 9572 <div class="customize-menu__item"> 9573 9574 <span class="customize-menu__item--label" id="1246">+1246</span> 9575 </div> 9576 <div class="customize-menu__item"> 9577 9578 <span class="customize-menu__item--label" id="375">+375</span> 9579 </div> 9580 <div class="customize-menu__item"> 9581 9582 <span class="customize-menu__item--label" id="32">+32</span> 9583 </div> 9584 <div class="customize-menu__item"> 9585 9586 <span class="customize-menu__item--label" id="501">+501</span> 9587 </div> 9588 <div class="customize-menu__item"> 9589 9590 <span class="customize-menu__item--label" id="229">+229</span> 9591 </div> 9592 <div class="customize-menu__item"> 9593
9594 <span class="customize-menu__item--label" id="1441">+1441</span> 9595 </div> 9596 <div class="customize-menu__item"> 9597 9598 <span class="customize-menu__item--label" id="975">+975</span> 9599 </div> 9600 <div class="customize-menu__item"> 9601 9602 <span class="customize-menu__item--label" id="591">+591</span> 9603 </div> 9604 <div class="customize-menu__item"> 9605 9606 <span class="customize-menu__item--label" id="387">+387</span> 9607 </div> 9608 <div class="customize-menu__item"> 9609 9610 <span class="customize-menu__item--label" id="267">+267</span> 9611 </div> 9612 <div class="customize-menu__item"> 9613 9614 <span class="customize-menu__item--label" id="55">+55</span> 9615 </div> 9616 <div class="customize-menu__item"> 9617 9618 <span class="customize-menu__item--label" id="673">+673</span> 9619 </div> 9620 <div class="customize-menu__item"> 9621 9622 <span class="customize-menu__item--label" id="246">+246</span> 9623 </div> 9624 <div class="customize-menu__item"> 9625 9626 <span class="customize-menu__item--label" id="359">+359</span> 9627 </div> 9628 <div class="customize-menu__item"> 9629 9630 <span class="customize-menu__item--label" id="226">+226</span> 9631 </div> 9632 <div class="customize-menu__item"> 9633 9634 <span class="customize-menu__item--label" id="257">+257</span> 9635 </div> 9636 <div class="customize-menu__item"> 9637 9638 <span class="customize-menu__item--label" id="855">+855</span> 9639 </div> 9640 <div class="customize-menu__item"> 9641 9642 <span class="customize-menu__item--label" id="237">+237</span> 9643 </div> 9644 <div class="customize-menu__item"> 9645 9646 <span class="customize-menu__item--label" id="1">+1</span> 9647 </div> 9648 <div class="customize-menu__item"> 9649 9650 <span class="customize-menu__item--label" id="238">+238</span> 9651 </div> 9652 <div class="customize-menu__item"> 9653 9654 <span class="customize-menu__item--label" id="1345">+1345</span> 9655 </div> 9656 <div class="customize-menu__item"> 9657 9658 <span class="customize-menu__item--label" id="236">+236</span> 9659 </div> 9660 <div class="customize-menu__item"> 9661 9662 <span class="customize-menu__item--label" id="235">+235</span> 9663 </div> 9664 <div class="customize-menu__item"> 9665 9666 <span class="customize-menu__item--label" id="56">+56</span> 9667 </div> 9668 <div class="customize-menu__item"> 9669 9670 <span class="customize-menu__item--label" id="86">+86</span> 9671 </div> 9672 <div class="customize-menu__item"> 9673
9674 <span class="customize-menu__item--label" id="61">+61</span> 9675 </div> 9676 <div class="customize-menu__item"> 9677 9678 <span class="customize-menu__item--label" id="61">+61</span> 9679 </div> 9680 <div class="customize-menu__item"> 9681 9682 <span class="customize-menu__item--label" id="57">+57</span> 9683 </div> 9684 <div class="customize-menu__item"> 9685 9686 <span class="customize-menu__item--label" id="269">+269</span> 9687 </div> 9688 <div class="customize-menu__item"> 9689 9690 <span class="customize-menu__item--label" id="682">+682</span> 9691 </div> 9692 <div class="customize-menu__item"> 9693 9694 <span class="customize-menu__item--label" id="506">+506</span> 9695 </div> 9696 <div class="customize-menu__item"> 9697 9698 <span class="customize-menu__item--label" id="385">+385</span> 9699 </div> 9700 <div class="customize-menu__item"> 9701 9702 <span class="customize-menu__item--label" id="53">+53</span> 9703 </div> 9704 <div class="customize-menu__item"> 9705 9706 <span class="customize-menu__item--label" id="599">+599</span> 9707 </div> 9708 <div class="customize-menu__item"> 9709 9710 <span class="customize-menu__item--label" id="357">+357</span> 9711 </div> 9712 <div class="customize-menu__item"> 9713 9714 <span class="customize-menu__item--label" id="420">+420</span> 9715 </div> 9716 <div class="customize-menu__item"> 9717 9718 <span class="customize-menu__item--label" id="243">+243</span> 9719 </div> 9720 <div class="customize-menu__item"> 9721 9722 <span class="customize-menu__item--label" id="45">+45</span> 9723 </div> 9724 <div class="customize-menu__item"> 9725 9726 <span class="customize-menu__item--label" id="253">+253</span> 9727 </div> 9728 <div class="customize-menu__item"> 9729 9730 <span class="customize-menu__item--label" id="1767">+1767</span> 9731 </div> 9732 <div class="customize-menu__item"> 9733 9734 <span class="customize-menu__item--label" id="1809">+1809</span> 9735 </div> 9736 <div class="customize-menu__item"> 9737 9738 <span class="customize-menu__item--label" id="593">+593</span> 9739 </div> 9740 <div class="customize-menu__item"> 9741 9742 <span class="customize-menu__item--label" id="20">+20</span> 9743 </div> 9744 <div class="customize-menu__item"> 9745 9746 <span class="customize-menu__item--label" id="503">+503</span> 9747 </div> 9748 <div class="customize-menu__item"> 9749 9750 <span class="customize-menu__item--label" id="240">+240</span> 9751 </div> 9752 <div class="customize-menu__item"> 9753
9754 <span class="customize-menu__item--label" id="291">+291</span> 9755 </div> 9756 <div class="customize-menu__item"> 9757 9758 <span class="customize-menu__item--label" id="372">+372</span> 9759 </div> 9760 <div class="customize-menu__item"> 9761 9762 <span class="customize-menu__item--label" id="251">+251</span> 9763 </div> 9764 <div class="customize-menu__item"> 9765 9766 <span class="customize-menu__item--label" id="500">+500</span> 9767 </div> 9768 <div class="customize-menu__item"> 9769 9770 <span class="customize-menu__item--label" id="298">+298</span> 9771 </div> 9772 <div class="customize-menu__item"> 9773 9774 <span class="customize-menu__item--label" id="679">+679</span> 9775 </div> 9776 <div class="customize-menu__item"> 9777 9778 <span class="customize-menu__item--label" id="358">+358</span> 9779 </div> 9780 <div class="customize-menu__item"> 9781 9782 <span class="customize-menu__item--label" id="33">+33</span> 9783 </div> 9784 <div class="customize-menu__item"> 9785 9786 <span class="customize-menu__item--label" id="689">+689</span> 9787 </div> 9788 <div class="customize-menu__item"> 9789 9790 <span class="customize-menu__item--label" id="241">+241</span> 9791 </div> 9792 <div class="customize-menu__item"> 9793 9794 <span class="customize-menu__item--label" id="220">+220</span> 9795 </div> 9796 <div class="customize-menu__item"> 9797 9798 <span class="customize-menu__item--label" id="995">+995</span> 9799 </div> 9800 <div class="customize-menu__item"> 9801 9802 <span class="customize-menu__item--label" id="49">+49</span> 9803 </div> 9804 <div class="customize-menu__item"> 9805 9806 <span class="customize-menu__item--label" id="233">+233</span> 9807 </div> 9808 <div class="customize-menu__item"> 9809 9810 <span class="customize-menu__item--label" id="350">+350</span> 9811 </div> 9812 <div class="customize-menu__item"> 9813 9814 <span class="customize-menu__item--label" id="30">+30</span> 9815 </div> 9816 <div class="customize-menu__item"> 9817 9818 <span class="customize-menu__item--label" id="299">+299</span> 9819 </div> 9820 <div class="customize-menu__item"> 9821 9822 <span class="customize-menu__item--label" id="1473">+1473</span> 9823 </div> 9824 <div class="customize-menu__item"> 9825 9826 <span class="customize-menu__item--label" id="1671">+1671</span> 9827 </div> 9828 <div class="customize-menu__item"> 9829 9830 <span class="customize-menu__item--label" id="502">+502</span> 9831 </div> 9832 <div class="customize-menu__item"> 9833
9834 <span class="customize-menu__item--label" id="441481">+44-1481</span> 9835 </div> 9836 <div class="customize-menu__item"> 9837 9838 <span class="customize-menu__item--label" id="245">+245</span> 9839 </div> 9840 <div class="customize-menu__item"> 9841 9842 <span class="customize-menu__item--label" id="224">+224</span> 9843 </div> 9844 <div class="customize-menu__item"> 9845 9846 <span class="customize-menu__item--label" id="592">+592</span> 9847 </div> 9848 <div class="customize-menu__item"> 9849 9850 <span class="customize-menu__item--label" id="509">+509</span> 9851 </div> 9852 <div class="customize-menu__item"> 9853 9854 <span class="customize-menu__item--label" id="504">+504</span> 9855 </div> 9856 <div class="customize-menu__item"> 9857 9858 <span class="customize-menu__item--label" id="852">+852</span> 9859 </div> 9860 <div class="customize-menu__item"> 9861 9862 <span class="customize-menu__item--label" id="36">+36</span> 9863 </div> 9864 <div class="customize-menu__item"> 9865 9866 <span class="customize-menu__item--label" id="354">+354</span> 9867 </div> 9868 <div class="customize-menu__item"> 9869 9870 <span class="customize-menu__item--label" id="91">+91</span> 9871 </div> 9872 <div class="customize-menu__item"> 9873 9874 <span class="customize-menu__item--label" id="62">+62</span> 9875 </div> 9876 <div class="customize-menu__item"> 9877 9878 <span class="customize-menu__item--label" id="98">+98</span> 9879 </div> 9880 <div class="customize-menu__item"> 9881 9882 <span class="customize-menu__item--label" id="964">+964</span> 9883 </div> 9884 <div class="customize-menu__item"> 9885 9886 <span class="customize-menu__item--label" id="353">+353</span> 9887 </div> 9888 <div class="customize-menu__item"> 9889 9890 <span class="customize-menu__item--label" id="441624">+44-1624</span> 9891 </div> 9892 <div class="customize-menu__item"> 9893 9894 <span class="customize-menu__item--label" id="972">+972</span> 9895 </div> 9896 <div class="customize-menu__item"> 9897 9898 <span class="customize-menu__item--label" id="39">+39</span> 9899 </div> 9900 <div class="customize-menu__item"> 9901 9902 <span class="customize-menu__item--label" id="1876">+1-876</span> 9903 </div> 9904 <div class="customize-menu__item"> 9905 9906 <span class="customize-menu__item--label" id="81">+81</span> 9907 </div> 9908 <div class="customize-menu__item"> 9909
9910 <span class="customize-menu__item--label" id="441534">+44-1534</span> 9911 </div> 9912 <div class="customize-menu__item"> 9913 9914 <span class="customize-menu__item--label" id="962">+962</span> 9915 </div> 9916 <div class="customize-menu__item"> 9917 9918 <span class="customize-menu__item--label" id="7">+7</span> 9919 </div> 9920 <div class="customize-menu__item"> 9921 9922 <span class="customize-menu__item--label" id="254">+254</span> 9923 </div> 9924 <div class="customize-menu__item"> 9925 9926 <span class="customize-menu__item--label" id="686">+686</span> 9927 </div> 9928 <div class="customize-menu__item"> 9929 9930 <span class="customize-menu__item--label" id="965">+965</span> 9931 </div> 9932 <div class="customize-menu__item"> 9933 9934 <span class="customize-menu__item--label" id="996">+996</span> 9935 </div> 9936 <div class="customize-menu__item"> 9937 9938 <span class="customize-menu__item--label" id="856">+856</span> 9939 </div> 9940 <div class="customize-menu__item"> 9941 9942 <span class="customize-menu__item--label" id="371">+371</span> 9943 </div> 9944 <div class="customize-menu__item"> 9945 9946 <span class="customize-menu__item--label" id="961">+961</span> 9947 </div> 9948 <div class="customize-menu__item"> 9949 9950 <span class="customize-menu__item--label" id="266">+266</span> 9951 </div> 9952 <div class="customize-menu__item"> 9953 9954 <span class="customize-menu__item--label" id="231">+231</span> 9955 </div> 9956 <div class="customize-menu__item"> 9957 9958 <span class="customize-menu__item--label" id="218">+218</span> 9959 </div> 9960 <div class="customize-menu__item"> 9961 9962 <span class="customize-menu__item--label" id="423">+423</span> 9963 </div> 9964 <div class="customize-menu__item"> 9965 9966 <span class="customize-menu__item--label" id="370">+370</span> 9967 </div> 9968 <div class="customize-menu__item"> 9969 9970 <span class="customize-menu__item--label" id="352">+352</span> 9971 </div> 9972 <div class="customize-menu__item"> 9973 9974 <span class="customize-menu__item--label" id="853">+853</span> 9975 </div> 9976 <div class="customize-menu__item"> 9977 9978 <span class="customize-menu__item--label" id="261">+261</span> 9979 </div> 9980 <div class="customize-menu__item"> 9981 9982 <span class="customize-menu__item--label" id="265">+265</span> 9983 </div> 9984 <div class="customize-menu__item"> 9985
9986 <span class="customize-menu__item--label" id="960">+960</span> 9987 </div> 9988 <div class="customize-menu__item"> 9989 9990 <span class="customize-menu__item--label" id="223">+223</span> 9991 </div> 9992 <div class="customize-menu__item"> 9993 9994 <span class="customize-menu__item--label" id="356">+356</span> 9995 </div> 9996 <div class="customize-menu__item"> 9997 9998 <span class="customize-menu__item--label" id="692">+692</span> 9999 </div> 10000 <div class="customize-menu__item"> 10001 10002 <span class="customize-menu__item--label" id="222">+222</span> 10003 </div> 10004 <div class="customize-menu__item"> 10005 10006 <span class="customize-menu__item--label" id="230">+230</span> 10007 </div> 10008 <div class="customize-menu__item"> 10009 10010 <span class="customize-menu__item--label" id="262">+262</span> 10011 </div> 10012 <div class="customize-menu__item"> 10013 10014 <span class="customize-menu__item--label" id="52">
10014+52</span> 10015 </div> 10016 <div class="customize-menu__item"> 10017 10018 <span class="customize-menu__item--label" id="373">+373</span> 10019 </div> 10020 <div class="customize-menu__item"> 10021 10022 <span class="customize-menu__item--label" id="377">+377</span> 10023 </div> 10024 <div class="customize-menu__item"> 10025 10026 <span class="customize-menu__item--label" id="976">+976</span> 10027 </div> 10028 <div class="customize-menu__item"> 10029 10030 <span class="customize-menu__item--label" id="382">+382</span> 10031 </div> 10032 <div class="customize-menu__item"> 10033 10034 <span class="customize-menu__item--label" id="1664">+1-664</span> 10035 </div> 10036 <div class="customize-menu__item"> 10037 10038 <span class="customize-menu__item--label" id="212">+212</span> 10039 </div> 10040 <div class="customize-menu__item"> 10041 10042 <span class="customize-menu__item--label" id="258">+258</span> 10043 </div> 10044 <div class="customize-menu__item"> 10045 10046 <span class="customize-menu__item--label" id="95">+95</span> 10047 </div> 10048 <div class="customize-menu__item"> 10049 10050 <span class="customize-menu__item--label" id="264">+264</span> 10051 </div> 10052 <div class="customize-menu__item"> 10053 10054 <span class="customize-menu__item--label" id="674">+674</span> 10055 </div> 10056 <div class="customize-menu__item"> 10057 10058 <span class="customize-menu__item--label" id="977">+977</span> 10059 </div> 10060 <div class="customize-menu__item"> 10061 10062 <span class="customize-menu__item--label" id="31">+31</span> 10063 </div> 10064 <div class="customize-menu__item"> 10065 10066 <span class="customize-menu__item--label" id="687">+687</span> 10067 </div> 10068 <div class="customize-menu__item"> 10069 10070 <span class="customize-menu__item--label" id="64">+64</span> 10071 </div> 10072 <div class="customize-menu__item"> 10073 10074 <span class="customize-menu__item--label" id="505">+505</span> 10075 </div> 10076 <div class="customize-menu__item"> 10077 10078 <span class="customize-menu__item--label" id="227">+227</span> 10079 </div> 10080 <div class="customize-menu__item"> 10081 10082 <span class="customize-menu__item--label" id="234">+234</span> 10083 </div> 10084 <div class="customize-menu__item"> 10085 10086 <span class="customize-menu__item--label" id="683">+683</span> 10087 </div> 10088 <div class="customize-menu__item"> 10089 10090 <span class="customize-menu__item--label" id="850">+850</span> 10091 </div> 10092 <div class="customize-menu__item"> 10093
10094 <span class="customize-menu__item--label" id="1670">+1-670</span> 10095 </div> 10096 <div class="customize-menu__item"> 10097 10098 <span class="customize-menu__item--label" id="47">+47</span> 10099 </div> 10100 <div class="customize-menu__item"> 10101 10102 <span class="customize-menu__item--label" id="968">+968</span> 10103 </div> 10104 <div class="customize-menu__item"> 10105 10106 <span class="customize-menu__item--label" id="92">+92</span> 10107 </div> 10108 <div class="customize-menu__item"> 10109 10110 <span class="customize-menu__item--label" id="680">+680</span> 10111 </div> 10112 <div class="customize-menu__item"> 10113 10114 <span class="customize-menu__item--label" id="680">+680</span> 10115 </div> 10116 <div class="customize-menu__item"> 10117 10118 <span class="customize-menu__item--label" id="675">+675</span> 10119 </div> 10120 <div class="customize-menu__item"> 10121 10122 <span class="customize-menu__item--label" id="595">+595</span> 10123 </div> 10124 <div class="customize-menu__item"> 10125 10126 <span class="customize-menu__item--label" id="51">+51</span> 10127 </div> 10128 <div class="customize-menu__item"> 10129 10130 <span class="customize-menu__item--label" id="63">+63</span> 10131 </div> 10132 <div class="customize-menu__item"> 10133 10134 <span class="customize-menu__item--label" id="64">+64</span> 10135 </div> 10136 <div class="customize-menu__item"> 10137 10138 <span class="customize-menu__item--label" id="48">+48</span> 10139 </div> 10140 <div class="customize-menu__item"> 10141 10142 <span class="customize-menu__item--label" id="351">+351</span> 10143 </div> 10144 <div class="customize-menu__item"> 10145 10146 <span class="customize-menu__item--label" id="1787">+1-787</span> 10147 </div> 10148 <div class="customize-menu__item"> 10149 10150 <span class="customize-menu__item--label" id="974">+974</span> 10151 </div> 10152 <div class="customize-menu__item"> 10153 10154 <span class="customize-menu__item--label" id="242">+242</span> 10155 </div> 10156 <div class="customize-menu__item"> 10157 10158 <span class="customize-menu__item--label" id="262">+262</span> 10159 </div> 10160 <div class="customize-menu__item"> 10161 10162 <span class="customize-menu__item--label" id="40">+40</span> 10163 </div> 10164 <div class="customize-menu__item"> 10165 10166 <span class="customize-menu__item--label" id="7">+7</span> 10167 </div> 10168 <div class="customize-menu__item"> 10169 10170 <span class="customize-menu__item--label" id="250">+250</span> 10171 </div> 10172 <div class="customize-menu__item"> 10173
10174 <span class="customize-menu__item--label" id="590">+590</span> 10175 </div> 10176 <div class="customize-menu__item"> 10177 10178 <span class="customize-menu__item--label" id="290">+290</span> 10179 </div> 10180 <div class="customize-menu__item"> 10181 10182 <span class="customize-menu__item--label" id="1869">+1-869</span> 10183 </div> 10184 <div class="customize-menu__item"> 10185 10186 <span class="customize-menu__item--label" id="1758">+1-758</span> 10187 </div> 10188 <div class="customize-menu__item"> 10189 10190 <span class="customize-menu__item--label" id="590">+590</span> 10191 </div> 10192 <div class="customize-menu__item"> 10193 10194 <span class="customize-menu__item--label" id="508">+508</span> 10195 </div> 10196 <div class="customize-menu__item"> 10197 10198 <span class="customize-menu__item--label" id="1784">+1-784</span> 10199 </div> 10200 <div class="customize-menu__item"> 10201 10202 <span class="customize-menu__item--label" id="685">+685</span> 10203 </div> 10204 <div class="customize-menu__item"> 10205 10206 <span class="customize-menu__item--label" id="378">+378</span> 10207 </div> 10208 <div class="customize-menu__item"> 10209 10210 <span class="customize-menu__item--label" id="212">+212</span> 10211 </div> 10212 <div class="customize-menu__item"> 10213 10214 <span class="customize-menu__item--label" id="966">+966</span> 10215 </div> 10216 <div class="customize-menu__item"> 10217 10218 <span class="customize-menu__item--label" id="221">+221</span> 10219 </div> 10220 <div class="customize-menu__item"> 10221 10222 <span class="customize-menu__item--label" id="381">+381</span> 10223 </div> 10224 <div class="customize-menu__item"> 10225 10226 <span class="customize-menu__item--label" id="248">+248</span> 10227 </div> 10228 <div class="customize-menu__item"> 10229 10230 <span class="customize-menu__item--label" id="232">+232</span> 10231 </div> 10232 <div class="customize-menu__item"> 10233 10234 <span class="customize-menu__item--label" id="1721">+1-721</span> 10235 </div> 10236 <div class="customize-menu__item"> 10237 10238 <span class="customize-menu__item--label" id="421">+421</span> 10239 </div> 10240 <div class="customize-menu__item"> 10241 10242 <span class="customize-menu__item--label" id="386">+386</span> 10243 </div> 10244 <div class="customize-menu__item"> 10245 10246 <span class="customize-menu__item--label" id="677">+677</span> 10247 </div> 10248 <div class="customize-menu__item"> 10249
10250 <span class="customize-menu__item--label" id="252">+252</span> 10251 </div> 10252 <div class="customize-menu__item"> 10253 10254 <span class="customize-menu__item--label" id="27">+27</span> 10255 </div> 10256 <div class="customize-menu__item"> 10257 10258 <span class="customize-menu__item--label" id="82">+82</span> 10259 </div> 10260 <div class="customize-menu__item"> 10261 10262 <span class="customize-menu__item--label" id="211">+211</span> 10263 </div> 10264 <div class="customize-menu__item"> 10265 10266 <span class="customize-menu__item--label" id="34">+34</span> 10267 </div> 10268 <div class="customize-menu__item"> 10269 10270 <span class="customize-menu__item--label" id="94">+94</span> 10271 </div> 10272 <div class="customize-menu__item"> 10273 10274 <span class="customize-menu__item--label" id="249">+249</span> 10275 </div> 10276 <div class="customize-menu__item"> 10277 10278 <span class="customize-menu__item--label" id="597">+597</span> 10279 </div> 10280 <div class="customize-menu__item"> 10281 10282 <span class="customize-menu__item--label" id="47">+47</span> 10283 </div> 10284 <div class="customize-menu__item"> 10285 10286 <span class="customize-menu__item--label" id="46">+46</span> 10287 </div> 10288 <div class="customize-menu__item"> 10289 10290 <span class="customize-menu__item--label" id="41">+41</span> 10291 </div> 10292 <div class="customize-menu__item"> 10293 10294 <span class="customize-menu__item--label" id="963">+963</span> 10295 </div> 10296 <div class="customize-menu__item"> 10297 10298 <span class="customize-menu__item--label" id="886">+886</span> 10299 </div> 10300 <div class="customize-menu__item"> 10301 10302 <span class="customize-menu__item--label" id="992">+992</span> 10303 </div> 10304 <div class="customize-menu__item"> 10305 10306 <span class="customize-menu__item--label" id="255">+255</span> 10307 </div> 10308 <div class="customize-menu__item"> 10309 10310 <span class="customize-menu__item--label" id="228">+228</span> 10311 </div> 10312 <div class="customize-menu__item"> 10313 10314 <span class="customize-menu__item--label" id="690">+690</span> 10315 </div> 10316 <div class="customize-menu__item"> 10317 10318 <span class="customize-menu__item--label" id="676">+676</span> 10319 </div> 10320 <div class="customize-menu__item"> 10321 10322 <span class="customize-menu__item--label" id="1868">+1-868</span> 10323 </div> 10324 <div class="customize-menu__item"> 10325 10326 <span class="customize-menu__item--label" id="216">+216</span> 10327 </div> 10328 <div class="customize-menu__item"> 10329
10330 <span class="customize-menu__item--label" id="90">+90</span> 10331 </div> 10332 <div class="customize-menu__item"> 10333 10334 <span class="customize-menu__item--label" id="993">+993</span> 10335 </div> 10336 <div class="customize-menu__item"> 10337 10338 <span class="customize-menu__item--label" id="1649">+1-649</span> 10339 </div> 10340 <div class="customize-menu__item"> 10341 10342 <span class="customize-menu__item--label" id="688">+688</span> 10343 </div> 10344 <div class="customize-menu__item"> 10345 10346 <span class="customize-menu__item--label" id="256">+256</span> 10347 </div> 10348 <div class="customize-menu__item"> 10349 10350 <span class="customize-menu__item--label" id="380">+380</span> 10351 </div> 10352 <div class="customize-menu__item"> 10353 10354 <span class="customize-menu__item--label" id="971">+971</span> 10355 </div> 10356 <div class="customize-menu__item"> 10357 10358 <span class="customize-menu__item--label" id="44">+44</span> 10359 </div> 10360 <div class="customize-menu__item"> 10361 10362 <span class="customize-menu__item--label" id="1">+1</span> 10363 </div> 10364 <div class="customize-menu__item"> 10365 10366 <span class="customize-menu__item--label" id="598">+598</span> 10367 </div> 10368 <div class="customize-menu__item"> 10369 10370 <span class="customize-menu__item--label" id="998">+998</span> 10371 </div> 10372 <div class="customize-menu__item"> 10373 10374 <span class="customize-menu__item--label" id="678">+678</span> 10375 </div> 10376 <div class="customize-menu__item"> 10377 10378 <span class="customize-menu__item--label" id="58">+58</span> 10379 </div> 10380 <div class="customize-menu__item"> 10381 10382 <span class="customize-menu__item--label" id="84">+84</span> 10383 </div> 10384 <div class="customize-menu__item"> 10385 10386 <span class="customize-menu__item--label" id="681">+681</span> 10387 </div> 10388 <div class="customize-menu__item"> 10389 10390 <span class="customize-menu__item--label" id="212">+212</span> 10391 </div> 10392 <div class="customize-menu__item"> 10393 10394 <span class="customize-menu__item--label" id="967">+967</span> 10395 </div> 10396 <div class="customize-menu__item"> 10397 10398 <span class="customize-menu__item--label" id="260">+260</span> 10399 </div> 10400 <div class="customize-menu__item"> 10401 10402 <span class="customize-menu__item--label" id="263">+263</span> 10403 </div> 10404 </div> 10405 </div> 10406 </div> 10407 <input type="number" id="phoneNumberInput" class="form-control" pattern="\d*" aria-label="phone number"> 10408 </div> 10409 <div class="error-message"> 10410 <i id="phoneNumberRequiredError" class="error-message-hidden text-left">This field is required</i> 10411 <i id="phoneNumberStartError" class="error-message-hidden text-left">The phone number should start with 3, 6, 8 or 9</i> 10412 <i id="phoneNumberExceptThreeStartError" class="error-message-hidden text-left">The phone number should start with 6, 8 or 9</i> 10413 <i id="phoneNumberMalaysiaStartError" class="error-message-hidden text-left">The phone number should start with 1</i> 10414 <i id="phoneNumberLengthError" class="error-message-hidden text-left"></i> 10415 <i id="phoneNumberBackendError" class="error-message-hidden text-left"></i> 10416 <i id="phoneNumberSignUpRequiredError" class="error-message-hidden text-left">Enter your mobile number to register, or untick below to continue without signing up.</i> 10417 </div> 10418 </section> 10419</div> 10420 <div class="auto-sign-up" id="autoSignUpSection"> 10421 <div class="form-group"> 10422 <div class="checkbox"> 10423 <label><input type="checkbox" id="isAutoSignUp" name="isAutoSignUp" checked style="visibility: hidden"></label>
10424 <span class="checkbox-text">Yes, I want to register as a member of West Coz Cafe</span> 10425 </div> 10426 </div> 10427 <div class="form-group"> 10428 <div class="checkbox"> 10429 <label> 10430 <input type="checkbox" id="isReceiveMarketingNotification" name="isReceiveMarketingNotification" style="visibility: hidden"> 10431 </label> 10432 <span class="checkbox-text"> 10433 <span>I hereby provide my </span> 10434 <strong style="color: #E61D2B; cursor: pointer;" onclick="showMarketingMaterialsConsentPopup()">Consent to receive Marketing Materials</strong> 10435 </span> 10436 </div> 10437 </div> 10438 </div> 10439 10440 </div> 10441 <div class="popup-footer"> 10442 <button type="button" class="spo__btn-pay-first continue-btn highlighted-payfirst-btn" id="continueBtn" onclick="payFirstOnMobile()">Continue</button> 10443 <div class="promo-code-message" id="MessagePromoCodeCardBins" style="display: none"> 10444 <span>ðŸâ¡</span> 10445 <div>Promo Code canââ¬â¢t be used if you choose Pay at Counter</div> 10446 </div> 10447 <p class="terms-conditions">By clicking on button, you have read and agreed to the terms and conditions of <a target="_blank" href="/Home/PrivacyPolicy" title="Data Protection Policy">Data Protection Policy</a>.</p> 10448 10449 10450 </div> 10451 </div> 10452 <style> 10453 #select-payment-options-popup .popup-dialog { 10454 position: relative; 10455 } 10456 10457 #select-payment-options-popup .popup-dialog .animation-scroll-box { 10458 position: absolute; 10459 top: 50%; 10460 left: 50%; 10461 width: 150px; 10462 height: 150px; 10463 transform: translate(-50%, -50%); 10464 z-index: 3; 10465 pointer-events: none; 10466 } 10467 10468 #select-payment-options-popup .popup-dialog .animation-scroll-box .background-scroll, 10469 #select-payment-options-popup .popup-dialog .animation-scroll-box .finger-scroll { 10470 position: absolute; 10471 top: 50%; 10472 left: 50%; 10473 transform: translate(-50%, -50%); 10474 } 10475 10476 #select-payment-options-popup .popup-dialog .animation-scroll-box .background-scroll { 10477 transform: translate(-50%, -50%); 10478 width: 150px; 10479 height: 150px; 10480 border-radius: 50%; 10481 display: flex; 10482 box-shadow: 0 1px 15px -5px #000000; 10483 } 10484 10485 #select-payment-options-popup .popup-dialog .animation-scroll-box .background-scroll svg { 10486 width: 150px; 10487 height: 150px; 10488 display: block; 10489 } 10490 10491 #select-payment-options-popup .popup-dialog .animation-scroll-box .finger-scroll { 10492 transform: translate(-5%, -100%); 10493 animation-name: spo-moveFingerScroll; 10494 animation-duration: 1.25s; 10495 animation-timing-function: ease-in-out; 10496 animation-iteration-count: 1; 10497 animation-fill-mode: forwards; 10498 } 10499 10500 @keyframes spo-moveFingerScroll { 10501 0% { 10502 transform: translate(-5%, 50%); 10503 } 10504 10505 50% { 10506 transform: translate(-5%, 50%); 10507 } 10508 10509 100% { 10510 transform: translate(-5%, -100%); 10511 } 10512 } 10513 </style> 10514 <div class="animation-scroll-box" style="display: none;" aria-hidden="true"> 10515 <div class="background-scroll">
10516 <svg width="150" height="150" viewBox="0 0 150 150" fill="none"> <circle cx="75" cy="75" r="73.5" fill="white" stroke="#F26722" stroke-width="3"/> <path d="M80.6154 125.352V117H74.6392H68.6444V125.352H62L74.6392 142L87.2598 125.352H80.6154Z" fill="url(#spo_scroll_hint_paint0_linear)"/> <path d="M68.3846 23.6481V32L74.3608 32H80.3556V23.6481H87L74.3608 7L61.7402 23.6481L68.3846 23.6481Z" fill="url(#spo_scroll_hint_paint1_linear)"/> <defs> <linearGradient id="spo_scroll_hint_paint0_linear" x1="74.6329" y1="141.976" x2="74.6329" y2="116.965" gradientUnits="userSpaceOnUse"> <stop stop-color="#F2672280"/> <stop offset="1" stop-color="#F26722"/> </linearGradient> <linearGradient id="spo_scroll_hint_paint1_linear" x1="74.3671" y1="7.0242" x2="74.3671" y2="32.0352" gradientUnits="userSpaceOnUse"> <stop stop-color="#F2672280"/> <stop offset="1" stop-color="#F26722"/> </linearGradient> </defs> </svg> 10517 </div> 10518 <div class="finger-scroll"> 10519 <svg width="61" height="50" viewBox="0 0 61 50" fill="none"> <path d="M32.9015 38.223L46.8742 24.2502C49.8019 21.3226 49.8019 16.5763 46.8299 13.7374L46.7855 13.693C44.8338 11.8744 41.019 8.05959 41.019 8.05959C41.019 8.05959 36.805 3.80123 34.7202 1.67205C33.3894 0.296952 31.8813 -0.412774 29.9295 0.252594C28.0665 0.873605 27.3124 2.29306 27.4011 4.11173C27.4898 5.35375 27.135 5.17632 26.1591 5.04325C22.0338 4.4666 20.8805 5.57554 20.7918 9.87826C15.9124 8.90239 14.626 9.78955 13.8719 14.7576C11.6097 12.4954 9.48051 10.2775 7.21826 8.1483C5.13344 6.1522 2.51632 6.01912 1.05251 7.8378C-0.588734 9.92262 -0.23387 11.9631 1.5848 13.7818C6.41982 18.6611 13.9607 26.202 13.9607 26.202C13.4284 27.8432 13.2953 29.3957 13.4727 30.7708C13.9163 34.8074 16.8883 38.1786 20.7031 39.5093C23.4976 40.4852 25.3163 40.5296 28.0221 40.3522C29.8852 40.2634 31.6151 39.5093 32.9015 38.223Z" fill="#FECD82"/> <path d="M17.6867 18.5281C18.3964 19.1491 19.2836 19.5926 19.9046 18.6168C20.57 17.6409 19.8602 17.0199 18.8844 16.7094C17.8641 16.3989 16.7996 16.044 15.7793 15.6891C15.6019 15.8222 15.4245 15.9553 15.2914 16.1327C16.0898 16.9312 16.8439 17.774 17.6867 18.5281Z" fill="#FECD82"/> <path d="M24.163 13.6931C24.7397 14.2697 25.405 14.669 26.2035 14.2254C26.514 14.0479 26.7358 13.5156 26.7358 13.1608C26.7358 12.3623 25.9817 12.1849 25.3607 11.9631C24.3404 11.6083 23.3202 11.2977 22.3 10.9872C22.1669 11.1203 22.0338 11.2977 21.9008 11.4308C22.6105 12.1849 23.4089 12.939 24.163 13.6931Z" fill="#FECD82"/> <path d="M31.2159 9.34597C31.8369 9.83391 32.6797 10.0113 33.1676 9.12418C33.6112 8.28138 33.1676 7.66037 32.2805 7.39423C31.1272 7.03936 30.0182 6.64014 28.8649 6.28528C28.7318 6.41835 28.5988 6.55143 28.4657 6.72886C29.3972 7.57166 30.24 8.54753 31.2159 9.34597Z" fill="#FECD82"/> <path d="M15.2914 16.1327C16.0898 16.9312 16.8439 17.774 17.6867 18.5281C18.3964 19.1491 19.2836 19.5926 19.9046 18.6168C20.57 17.6409 19.8602 17.0199 18.8844 16.7094C17.8641 16.3989 16.7996 16.044 15.7793 15.6891C15.6462 15.8666 15.4688 15.9997 15.2914 16.1327Z" fill="#F2A55D"/> <path d="M18.0416 30.2385C18.7069 30.9039 19.3723 31.5693 20.0377 32.2346C20.57 32.8113 21.0579 33.4767 20.57 33.6541C20.082 33.8759 19.5497 33.2992 19.1505 32.6339C18.7513 31.9241 18.3077 31.2144 17.8641 30.4603C17.9085 30.416 17.9972 30.3272 18.0416 30.2385Z" fill="#F2A55D"/> <path d="M21.8563 11.4308C22.6104 12.1849 23.3645 12.9833 24.1629 13.7374C24.7396 14.314 25.405 14.7133 26.2034 14.2697C26.5139 14.0923 26.7357 13.56 26.7357 13.2051C26.7357 12.4066 25.9816 12.2292 25.3606 12.0074C24.3404 11.6526 23.3201 11.3421 22.2999 11.0316C22.1225 11.1203 21.9894 11.2977 21.8563 11.4308Z" fill="#F2A55D"/> <path d="M28.51 6.6845C29.3972 7.57166 30.24 8.54753 31.2158 9.34597C31.8369 9.83391 32.6797 10.0113 33.1676 9.12418C33.6112 8.28138 33.1676 7.66037 32.2804 7.39423C31.1271 7.03936 30.0182 6.64014 28.8649 6.28528C28.7762 6.41835 28.6431 6.55143 28.51 6.6845Z" fill="#F2A55D"/> <path d="M59.5606 30.5934L41.019 49.135C39.8657 50.2883 38.047 50.2883 36.8937 49.135L31.482 43.679C30.3287 42.5257 30.3287 40.707 31.482 39.5537L50.0237 21.0121C51.177 19.8588 52.9956 19.8588 54.1489 21.0121L59.5606 26.4681C60.6696 27.577 60.6696 29.4401 59.5606 30.5934Z" fill="#F26722"/> <path d="M54.3714 29.3936C55.2549 28.5102 55.2549 27.0778 54.3714 26.1944C53.488 25.3109 52.0556 25.3109 51.1721 26.1944C50.2887 27.0778 50.2887 28.5102 51.1721 29.3936C52.0556 30.2771 53.488 30.2771 54.3714 29.3936Z" fill="#F2E1C0"/> </svg> 10520 </div> 10521 </div> 10522 </div> 10523</div> 10524
10525<script> 10526 const $phoneNumberCodeEl = $('.dropdown-customize #phoneNumberCodeInput')[0]; 10527 const $phoneNumberEl = $('.provide-phone-number__phone-section #phoneNumberInput')[0]; 10528 const $savePhoneNumberAndPayFirstBtn = $('#savePhoneNumberAndPayFirstBtn'); 10529 const $savePhoneNumberAndPayLaterBtn = $('#savePhoneNumberAndPayLaterBtn'); 10530 const $backendErrorEl = $("#phoneNumberBackendError"); 10531 const $signUpRequiredErrorEl = $("#phoneNumberSignUpRequiredError"); 10532 const $continueBtn = $('.popup-footer #continueBtn'); 10533 const $checkOutBtn = $('#btnCheckOut'); 10534 10535 var phoneNumberProvide = ''; 10536 var phoneNumberCodeProvide = ''; 10537 10538 function hideAllPhoneErrors() { 10539 $backendErrorEl.css('display', 'none'); 10540 $signUpRequiredErrorEl.css('display', 'none'); 10541 } 10542 10543 let paymentOptionsScrollAnimationId = null; 10544 10545 const PHONE_POPUP_SCROLL_HINT = { 10546 MEANINGFUL_SCROLL_THRESHOLD: 24, 10547 CYCLE_DURATION_MS: 1250, 10548 CYCLE_COUNT: 1, 10549 showTimer: null, 10550 hideTimer: null, 10551 scrollHandler: null, 10552 animationEndHandler: null, 10553 dismissed: false 10554 }; 10555 10556 function clearPhonePopupScrollHintTimers() { 10557 if (PHONE_POPUP_SCROLL_HINT.showTimer) { 10558 clearTimeout(PHONE_POPUP_SCROLL_HINT.showTimer); 10559 PHONE_POPUP_SCROLL_HINT.showTimer = null; 10560 } 10561 if (PHONE_POPUP_SCROLL_HINT.hideTimer) { 10562 clearTimeout(PHONE_POPUP_SCROLL_HINT.hideTimer); 10563 PHONE_POPUP_SCROLL_HINT.hideTimer = null; 10564 } 10565 } 10566 10567 function detachPhonePopupScrollHintAnimationListener() { 10568 const hint = document.querySelector('#select-payment-options-popup .animation-scroll-box'); 10569 if (hint && PHONE_POPUP_SCROLL_HINT.animationEndHandler) { 10570 const finger = hint.querySelector('.finger-scroll'); 10571 if (finger) { 10572 finger.removeEventListener('animationend', PHONE_POPUP_SCROLL_HINT.animationEndHandler); 10573 finger.removeEventListener('webkitAnimationEnd', PHONE_POPUP_SCROLL_HINT.animationEndHandler); 10574 } 10575 } 10576 PHONE_POPUP_SCROLL_HINT.animationEndHandler = null; 10577 } 10578 10579 function detachPhonePopupScrollHintListener() { 10580 const popupBody = document.querySelector('#select-payment-options-popup .popup-body'); 10581 if (popupBody && PHONE_POPUP_SCROLL_HINT.scrollHandler) { 10582 popupBody.removeEventListener('scroll', PHONE_POPUP_SCROLL_HINT.scrollHandler); 10583 } 10584 PHONE_POPUP_SCROLL_HINT.scrollHandler = null; 10585 } 10586 10587 function hidePhonePopupScrollHint() { 10588 clearPhonePopupScrollHintTimers(); 10589 detachPhonePopupScrollHintListener(); 10590 detachPhonePopupScrollHintAnimationListener(); 10591 10592 const hint = document.querySelector('#select-payment-options-popup .animation-scroll-box'); 10593 if (hint) { 10594 hint.style.display = 'none'; 10595 hint.setAttribute('aria-hidden', 'true'); 10596 } 10597 } 10598 10599 function isPhonePopupScrollHintEligible() { 10600 const popupEl = document.getElementById('select-payment-options-popup'); 10601 if (!popupEl || !popupEl.classList.contains('popup-show') || popupEl.classList.contains('popup-hide')) { 10602 return false; 10603 } 10604 10605 if (popupEl.classList.contains('pre-popup')) { 10606 return false; 10607 } 10608 10609 if (PHONE_POPUP_SCROLL_HINT.dismissed) { 10610 return false; 10611 } 10612 10613 const popupBody = popupEl.querySelector('.popup-body'); 10614 const hint = popupEl.querySelector('.animation-scroll-box'); 10615 if (!popupBody || !hint) { 10616 return false; 10617 } 10618 10619 if (popupBody.scrollHeight <= popupBody.clientHeight + 1) { 10620 return false; 10621 } 10622 10623 if (popupBody.scrollTop >= PHONE_POPUP_SCROLL_HINT.MEANINGFUL_SCROLL_THRESHOLD) { 10624 PHONE_POPUP_SCROLL_HINT.dismissed = true; 10625 return false; 10626 } 10627 10628 return true; 10629 } 10630 10631 function showPhonePopupScrollHint() { 10632 if (!isPhonePopupScrollHintEligible()) { 10633 return; 10634 } 10635 10636 const popupEl = document.getElementById('select-payment-options-popup'); 10637 const popupBody = popupEl.querySelector('.popup-body'); 10638 const hint = popupEl.querySelector('.animation-scroll-box'); 10639 const finger = hint.querySelector('.finger-scroll'); 10640 10641 if (finger) { 10642 detachPhonePopupScrollHintAnimationListener(); 10643
10644 finger.style.animation = 'none'; 10645 void finger.offsetHeight; 10646 finger.style.animation = ''; 10647 10648 PHONE_POPUP_SCROLL_HINT.animationEndHandler = function (e) { 10649 if (e.target !== finger) { 10650 return; 10651 } 10652 10653 const animationName = e.animationName || e.webkitAnimationName || ''; 10654 if (animationName && animationName.indexOf('spo-moveFingerScroll') === -1) { 10655 return; 10656 } 10657 10658 PHONE_POPUP_SCROLL_HINT.dismissed = true; 10659 hidePhonePopupScrollHint(); 10660 }; 10661 finger.addEventListener('animationend', PHONE_POPUP_SCROLL_HINT.animationEndHandler); 10662 finger.addEventListener('webkitAnimationEnd', PHONE_POPUP_SCROLL_HINT.animationEndHandler); 10663 } 10664 10665 hint.style.display = 'block'; 10666 hint.setAttribute('aria-hidden', 'false'); 10667 10668 PHONE_POPUP_SCROLL_HINT.hideTimer = setTimeout(function () { 10669 if (!PHONE_POPUP_SCROLL_HINT.dismissed) { 10670 PHONE_POPUP_SCROLL_HINT.dismissed = true; 10671 hidePhonePopupScrollHint(); 10672 } 10673 }, PHONE_POPUP_SCROLL_HINT.CYCLE_DURATION_MS * PHONE_POPUP_SCROLL_HINT.CYCLE_COUNT + 100); 10674 10675 if (!PHONE_POPUP_SCROLL_HINT.scrollHandler) { 10676 PHONE_POPUP_SCROLL_HINT.scrollHandler = function () { 10677 if (popupBody.scrollTop >= PHONE_POPUP_SCROLL_HINT.MEANINGFUL_SCROLL_THRESHOLD) { 10678 PHONE_POPUP_SCROLL_HINT.dismissed = true; 10679 hidePhonePopupScrollHint(); 10680 } 10681 }; 10682 popupBody.addEventListener('scroll', PHONE_POPUP_SCROLL_HINT.scrollHandler, { passive: true }); 10683 } 10684 } 10685 10686 function schedulePhonePopupScrollHint() { 10687 hidePhonePopupScrollHint(); 10688 PHONE_POPUP_SCROLL_HINT.dismissed = false; 10689 10690 const delayMs = 800 + Math.floor(Math.random() * 401); 10691 PHONE_POPUP_SCROLL_HINT.showTimer = setTimeout(showPhonePopupScrollHint, delayMs); 10692 } 10693 10694 function resetSelectPaymentOptionsPopupView() { 10695 if (paymentOptionsScrollAnimationId) { 10696 cancelAnimationFrame(paymentOptionsScrollAnimationId); 10697 paymentOptionsScrollAnimationId = null; 10698 } 10699 10700 PHONE_POPUP_SCROLL_HINT.dismissed = true; 10701 hidePhonePopupScrollHint(); 10702 10703 hideAllPhoneErrors(); 10704 10705 const popupBody = document.querySelector('#select-payment-options-popup .popup-body'); 10706 if (popupBody) { 10707 popupBody.scrollTop = 0; 10708 } 10709 } 10710 10711 function showBackendError(message) { 10712 hideAllPhoneErrors(); 10713 $backendErrorEl.text(message || 'Invalid phone number'); 10714 $backendErrorEl.css('display', 'block'); 10715 scrollToPhoneNumberErrorSection($backendErrorEl[0]); 10716 } 10717 10718 function showSignUpRequiredError() { 10719 hideAllPhoneErrors(); 10720 $signUpRequiredErrorEl.css('display', 'block'); 10721 scrollToPhoneNumberErrorSection($signUpRequiredErrorEl[0]); 10722 } 10723 10724 function getScrollableParent(element) { 10725 let parent = element ? element.parentElement : null; 10726 while (parent) { 10727 const style = window.getComputedStyle(parent); 10728 const overflowY = style.overflowY; 10729 if ((overflowY === 'auto' || overflowY === 'scroll' || overflowY === 'overlay') && 10730 parent.scrollHeight > parent.clientHeight + 1) { 10731 return parent; 10732 } 10733 parent = parent.parentElement; 10734 } 10735 return null; 10736 } 10737 10738 function scrollElementIntoContainer(target, scrollContainer, duration) { 10739 const containerRect = scrollContainer.getBoundingClientRect(); 10740 const targetRect = target.getBoundingClientRect(); 10741 const nextScrollTop = Math.max(0, scrollContainer.scrollTop + (targetRect.top - containerRect.top) - 16); 10742 animateScrollTo(scrollContainer, nextScrollTop, duration || 350); 10743 } 10744 10745 function animateScrollTo(scrollContainer, targetScrollTop, duration) { 10746 if (paymentOptionsScrollAnimationId) { 10747 cancelAnimationFrame(paymentOptionsScrollAnimationId); 10748 paymentOptionsScrollAnimationId = null; 10749 } 10750
10751 const startScrollTop = scrollContainer.scrollTop; 10752 const distance = targetScrollTop - startScrollTop; 10753 10754 if (Math.abs(distance) < 2) { 10755 return; 10756 } 10757 10758 const startTime = performance.now(); 10759 const easeOutCubic = (progress) => 1 - Math.pow(1 - progress, 3); 10760 10761 const step = (currentTime) => { 10762 const elapsed = currentTime - startTime; 10763 const progress = Math.min(elapsed / duration, 1); 10764 scrollContainer.scrollTop = startScrollTop + distance * easeOutCubic(progress); 10765 10766 if (progress < 1) { 10767 paymentOptionsScrollAnimationId = requestAnimationFrame(step); 10768 } else { 10769 paymentOptionsScrollAnimationId = null; 10770 } 10771 }; 10772 10773 paymentOptionsScrollAnimationId = requestAnimationFrame(step); 10774 } 10775 10776 function scrollToPhoneNumberErrorSection(preferredTarget) { 10777 const backendErrorEl = $backendErrorEl.length && $backendErrorEl.css('display') !== 'none' 10778 ? $backendErrorEl[0] 10779 : null; 10780 const signUpErrorEl = $signUpRequiredErrorEl.length && $signUpRequiredErrorEl.css('display') !== 'none' 10781 ? $signUpRequiredErrorEl[0] 10782 : null; 10783 const autoSignUpEl = document.querySelector('#select-payment-options-popup .auto-sign-up'); 10784 const target = preferredTarget || backendErrorEl || signUpErrorEl || autoSignUpEl; 10785 10786 if (!target) { 10787 return; 10788 } 10789 10790 const doScroll = () => { 10791 const popupBody = document.querySelector('#select-payment-options-popup .popup-body'); 10792 const scrollContainer = getScrollableParent(target) || popupBody; 10793 10794 if (scrollContainer && scrollContainer.scrollHeight > scrollContainer.clientHeight + 1) { 10795 scrollElementIntoContainer(target, scrollContainer); 10796 return; 10797 } 10798 10799 // Fallback when no inner scroll container is active yet. 10800 if (typeof target.scrollIntoView === 'function') { 10801 target.scrollIntoView({ behavior: 'smooth', block: 'center' }); 10802 } 10803 }; 10804 10805 window.requestAnimationFrame(() => { 10806 setTimeout(doScroll, 100); 10807 }); 10808 } 10809 10810 function isSignUpWithoutPhone() { 10811 if ('0' == '2') { 10812 return false; 10813 } 10814 var $signUpCheckbox = $('#isAutoSignUp'); 10815 if ($signUpCheckbox.length === 0 || !$signUpCheckbox.is(':checked')) { 10816 return false; 10817 } 10818 var phoneVal = $phoneNumberEl ? ($phoneNumberEl.value || '').trim() : ''; 10819 return phoneVal.length === 0; 10820 } 10821 10822 function isEmptyPhoneNumber() { 10823 var phoneVal = $phoneNumberEl ? ($phoneNumberEl.value || '').trim() : ''; 10824 return phoneVal.length === 0; 10825 } 10826 10827 function isCompulsoryPhoneNumber() { 10828 return '0' == '1'; 10829 } 10830 10831 function showCompulsoryPhoneRequiredError() { 10832 showBackendError('Phone number is required'); 10833 } 10834 10835 function validatePhoneNumberBeforeSubmit() { 10836 if ('0' == '2') { 10837 return true; 10838 } 10839 10840 if (isCompulsoryPhoneNumber() && isEmptyPhoneNumber()) { 10841 showCompulsoryPhoneRequiredError(); 10842 return false; 10843 } 10844 10845 if (isSignUpWithoutPhone()) { 10846 showSignUpRequiredError(); 10847 return false; 10848 } 10849 10850 return true; 10851 } 10852 10853 $(function () { 10854 if ('0' != '2') { 10855 $savePhoneNumberAndPayFirstBtn.removeAttr("disabled"); 10856 $savePhoneNumberAndPayLaterBtn.removeAttr("disabled"); 10857 $continueBtn.removeAttr("disabled"); 10858 10859 $('.provide-phone-number .dropdown-customize').removeAttr("disabled"); 10860 $('.provide-phone-number__phone-section #phoneNumberInput').removeAttr("disabled"); 10861 $continueBtn.removeAttr("disabled"); 10862 if (phoneNumberProvide != '' && phoneNumberCodeProvide != '') { 10863 $phoneNumberCodeEl.value = getExtractNumbers(phoneNumberCodeProvide); 10864 $phoneNumberEl.value = phoneNumberProvide; 10865 const $phoneNumberCodes = $('.dropdown-customize .customize-menu .customize-menu__item'); 10866 $phoneNumberCodes.each((_, item) => { 10867 const selectedEl = item.querySelector('.customize-menu__item--label'); 10868 if (selectedEl.id == $phoneNumberCodeEl.value) { 10869 item.click(); 10870 $('.dropdown-customize').focusout(); 10871 } 10872 }); 10873 $('.provide-phone-number .dropdown-customize').attr("disabled", "disabled"); 10874 $('.provide-phone-number__phone-section #phoneNumberInput').attr("disabled", "disabled"); 10875 $('#select-payment-options-popup .auto-sign-up').remove(); 10876 } 10877 10878 $phoneNumberCodeEl.addEventListener("change", (event) => { 10879 hideAllPhoneErrors(); 10880 }); 10881 } 10882 });
10883 10884 function triggerProvidePhoneNumber(contactNumber, contactIdd) { 10885 if (contactIdd == null || contactIdd.length == 0) { 10886 contactIdd = '65'; 10887 } 10888 10889 //if (contactNumber == null || contactNumber.length == 0) { 10890 // $('.provide-phone-number .dropdown-customize').removeAttr("disabled"); 10891 // $('.provide-phone-number__phone-section #phoneNumberInput').removeAttr("disabled"); 10892 //} 10893 $('.provide-phone-number .dropdown-customize').removeAttr("disabled"); 10894 $('.provide-phone-number__phone-section #phoneNumberInput').removeAttr("disabled"); 10895 10896 if ('0' != '2') { 10897 $phoneNumberCodeEl.value = getExtractNumbers(contactIdd); 10898 $phoneNumberEl.value = contactNumber; 10899 10900 const $phoneNumberCodes = $('.dropdown-customize .customize-menu .customize-menu__item'); 10901 $phoneNumberCodes.each((_, item) => { 10902 const selectedEl = item.querySelector('.customize-menu__item--label'); 10903 if (selectedEl.id == $phoneNumberCodeEl.value) { 10904 item.click(); 10905 $('.dropdown-customize').focusout(); 10906 } 10907 }); 10908 10909 if (contactNumber == null || contactNumber.length == 0) { 10910 $('#select-payment-options-popup .auto-sign-up').show(); 10911 } 10912 else { 10913 $('#select-payment-options-popup .auto-sign-up').hide(); 10914 $('.provide-phone-number .dropdown-customize').attr("disabled", "disabled"); 10915 $('.provide-phone-number__phone-section #phoneNumberInput').attr("disabled", "disabled"); 10916 } 10917 } 10918 } 10919 10920 function payFirstOnMobile() { 10921 try { 10922 hideAllPhoneErrors(); 10923 10924 if ('0' == '2') { 10925 return ValidateCartToCheckOut(false, false, false, true); 10926 } 10927 10928 if (!validatePhoneNumberBeforeSubmit()) { 10929 return; 10930 } 10931 10932 const phoneNumberCode = $phoneNumberCodeEl.value; 10933 const phoneNumber = $phoneNumberEl.value; 10934 10935 let isAutoSignUp = false; 10936 $savePhoneNumberAndPayLaterBtn.css("display", "none"); 10937 if ($('#isAutoSignUp').length > 0) { 10938 isAutoSignUp = $('#isAutoSignUp').is(":checked"); 10939 } 10940 10941 let isReceiveMarketingNotification = false; 10942 if ($('#isReceiveMarketingNotification').length > 0) { 10943 isReceiveMarketingNotification = $('#isReceiveMarketingNotification').is(":checked"); 10944 } 10945 10946 $.ajax({
10947 type: "POST", 10948 dataType: 'json', 10949 url: '/Checkout/SavePhoneNumber', 10950 data: { 10951 phoneNumberCode, 10952 phoneNumber, 10953 authorization: siteId, 10954 isAutoSignUp, 10955 isReceiveMarketingNotification 10956 }, 10957 success: function (result) { 10958 if (result && result.Status === 200) { 10959 hideAllPhoneErrors(); 10960 return ValidateCartToCheckOut(false, false, false, true); 10961 } else if (result && result.Status !== 200 && result.Message) { 10962 showBackendError(result.Message); 10963 } else { 10964 $savePhoneNumberAndPayFirstBtn.removeAttr("disabled"); 10965 $savePhoneNumberAndPayLaterBtn.removeAttr("disabled"); 10966 } 10967 }, 10968 error: function (xhr, status, error) { 10969 hideAllPhoneErrors(); 10970 let errorMessage = 'An error occurred while saving phone number'; 10971 if (xhr.responseJSON && xhr.responseJSON.Message) { 10972 errorMessage = xhr.responseJSON.Message; 10973 } else if (xhr.responseText) { 10974 try { 10975 const errorObj = JSON.parse(xhr.responseText); 10976 if (errorObj.Message) { 10977 errorMessage = errorObj.Message; 10978 } 10979 } catch (e) { 10980 console.log('Error parsing response:', e); 10981 } 10982 } 10983 showBackendError(errorMessage); 10984 }, 10985 beforeSend: function () { 10986 $savePhoneNumberAndPayFirstBtn.attr("disabled", "disabled"); 10987 $savePhoneNumberAndPayLaterBtn.attr("disabled", "disabled"); 10988 $continueBtn.attr("disabled", "disabled"); 10989 $checkOutBtn.attr('disabled', 'disabled'); 10990 }, 10991 complete: function () { 10992 $savePhoneNumberAndPayFirstBtn.removeAttr("disabled"); 10993 $continueBtn.removeAttr("disabled"); 10994 $checkOutBtn.removeAttr("disabled"); 10995 } 10996 }); 10997 } catch (e) { 10998 console.log(e); 10999 showBackendError('An unexpected error occurred'); 11000 } 11001 } 11002 11003 function savePhoneNumberAndSkip() { 11004 try { 11005 hideAllPhoneErrors(); 11006 11007 if ('0' == '2') { 11008 return skipStep(); 11009 } 11010 11011 if (!validatePhoneNumberBeforeSubmit()) { 11012 return; 11013 } 11014 11015 const phoneNumberCode = $phoneNumberCodeEl.value; 11016 const phoneNumber = $phoneNumberEl.value; 11017 11018 let isAutoSignUp = false; 11019 $savePhoneNumberAndPayFirstBtn.css("display", "none"); 11020 if ($('#isAutoSignUp').length > 0) { 11021 isAutoSignUp = $('#isAutoSignUp').is(":checked"); 11022 } 11023 11024 let isReceiveMarketingNotification = false; 11025 if ($('#isReceiveMarketingNotification').length > 0) { 11026 isReceiveMarketingNotification = $('#isReceiveMarketingNotification').is(":checked"); 11027 } 11028 11029 $.ajax({
11030 type: "POST", 11031 dataType: 'json', 11032 url: '/Checkout/SavePhoneNumber', 11033 data: { 11034 phoneNumberCode, 11035 phoneNumber, 11036 authorization: siteId, 11037 isAutoSignUp, 11038 isReceiveMarketingNotification 11039 }, 11040 success: function (result) { 11041 if (result && result.Status === 200) { 11042 hideAllPhoneErrors(); 11043 return skipStep(); 11044 } else if (result && result.Status !== 200 && result.Message) { 11045 showBackendError(result.Message); 11046 } else { 11047 $savePhoneNumberAndPayFirstBtn.removeAttr("disabled"); 11048 $savePhoneNumberAndPayLaterBtn.removeAttr("disabled"); 11049 } 11050 }, 11051 error: function (xhr, status, error) { 11052 hideAllPhoneErrors(); 11053 let errorMessage = 'An error occurred while saving phone number'; 11054 if (xhr.responseJSON && xhr.responseJSON.Message) { 11055 errorMessage = xhr.responseJSON.Message; 11056 } else if (xhr.responseText) { 11057 try { 11058 const errorObj = JSON.parse(xhr.responseText); 11059 if (errorObj.Message) { 11060 errorMessage = errorObj.Message; 11061 } 11062 } catch (e) { 11063 console.log('Error parsing response:', e); 11064 } 11065 } 11066 showBackendError(errorMessage); 11067 }, 11068 beforeSend: function () { 11069 $savePhoneNumberAndPayFirstBtn.attr("disabled", "disabled"); 11070 $savePhoneNumberAndPayLaterBtn.attr("disabled", "disabled"); 11071 $continueBtn.attr("disabled", "disabled"); 11072 $checkOutBtn.attr('disabled', 'disabled'); 11073 }, 11074 complete: function () { 11075 $savePhoneNumberAndPayLaterBtn.removeAttr("disabled"); 11076 $continueBtn.removeAttr("disabled"); 11077 $checkOutBtn.removeAttr("disabled"); 11078 } 11079 }); 11080 } catch (e) { 11081 console.log(e); 11082 showBackendError('An unexpected error occurred'); 11083 } 11084 } 11085 11086 function skipStep() { 11087 ValidateCartToCheckOut(false, true, false, true); 11088 } 11089 11090 var phoneNumberInputSelector = document.querySelector("#phoneNumberInput"); 11091 11092 if (phoneNumberInputSelector) { 11093 phoneNumberInputSelector.addEventListener("keyup", function (evt) { 11094 if ((!$phoneNumberEl.value && evt.which != 8) && evt.which != 0 && evt.which < 48 || evt.which > 57) { 11095 evt.preventDefault(); 11096 } 11097 else { 11098 hideAllPhoneErrors(); 11099 } 11100 }); 11101 11102 phoneNumberInputSelector.addEventListener("blur", function (evt) { 11103 hideAllPhoneErrors(); 11104 }); 11105 } 11106 11107 function getExtractNumbers(inputString) { 11108 if (!!inputString) { 11109 inputString = inputString.replace('+', ''); 11110 const numbers = inputString.match(/\d+/g); 11111 11112 if (numbers != null) { 11113 return !!numbers.length ? numbers.join('') : ''; 11114 } 11115 } 11116 return ''; 11117 } 11118 11119 $('#isReceiveMarketingNotification').change(function () { 11120 if ($('#isReceiveMarketingNotification').is(":checked")) { 11121 $('#isAutoSignUp').prop('checked', true); 11122 11123 $('#btn-mmc-consent').hide(); 11124 } 11125 else { 11126 $('#btn-mmc-consent').show(); 11127 } 11128 }); 11129 11130 $('#isAutoSignUp').change(function () { 11131 if (!$('#isAutoSignUp').is(":checked")) { 11132 $('#isReceiveMarketingNotification').prop('checked', false); 11133 $('#btn-mmc-consent').show(); 11134 } 11135 if (!isSignUpWithoutPhone()) { 11136 $signUpRequiredErrorEl.css('display', 'none'); 11137 } 11138 if (!isCompulsoryPhoneNumber() || !isEmptyPhoneNumber()) { 11139 $backendErrorEl.css('display', 'none'); 11140 } 11141 });
11142 11143 if (phoneNumberInputSelector) { 11144 phoneNumberInputSelector.addEventListener("input", function () { 11145 if (!isSignUpWithoutPhone()) { 11146 $signUpRequiredErrorEl.css('display', 'none'); 11147 } 11148 if (!isEmptyPhoneNumber()) { 11149 $backendErrorEl.css('display', 'none'); 11150 } 11151 }); 11152 } 11153 11154 $('.dropdown-customize').click(function () { 11155 $(this).attr('tabindex', 1).focus(); 11156 $(this).toggleClass('active'); 11157 $(this).find('.customize-menu').slideToggle(200); 11158 }); 11159 11160 $('.dropdown-customize').focusout(function () { 11161 $(this).removeClass('active'); 11162 $(this).find('.customize-menu').slideUp(200); 11163 }); 11164 11165 $('.dropdown-customize .customize-menu .customize-menu__item').click(function () { 11166 const selectedEl = $(this).find('.customize-menu__item--label'); 11167 /*const flagImgNode = $(this).find('.customize-menu__item--icon').children().clone(true);*/ 11168 $(this).parents('.dropdown-customize').find('.dropdown-selected__label').text(selectedEl.text()); 11169 /*$(this).parents('.dropdown-customize').find('.dropdown-selected__icon').html(flagImgNode);*/ 11170 $(this).parents('.dropdown-customize').find('input').attr('value', selectedEl.attr('id')); 11171 $(this).parents('.dropdown-customize').find('input')[0].dispatchEvent(new Event('change')); 11172 $(this).siblings().removeClass('selected'); 11173 $(this).addClass('selected'); 11174 }); 11175 11176 function onClickIConsent() { 11177 $('#isReceiveMarketingNotification').prop('checked', true); 11178 $('#isAutoSignUp').prop('checked', true); 11179 $('#marketing-materials-consent-popup').find('.popup-close').click(); 11180 $('#btn-mmc-consent').hide(); 11181 } 11182 11183 (function initSelectPaymentOptionsPopupReset() { 11184 const popupEl = document.getElementById('select-payment-options-popup'); 11185 if (!popupEl) { 11186 return; 11187 } 11188 11189 let phonePopupScrollHintSessionActive = false; 11190 11191 const observer = new MutationObserver(function () { 11192 const isFullyClosed = !popupEl.classList.contains('popup-show') || popupEl.classList.contains('popup-hide'); 11193 const isActiveMainPopup = popupEl.classList.contains('popup-show') 11194 && !popupEl.classList.contains('popup-hide') 11195 && !popupEl.classList.contains('pre-popup'); 11196 11197 if (isFullyClosed) { 11198 phonePopupScrollHintSessionActive = false; 11199 resetSelectPaymentOptionsPopupView(); 11200 return; 11201 } 11202 11203 if (popupEl.classList.contains('pre-popup')) { 11204 hidePhonePopupScrollHint(); 11205 return; 11206 } 11207 11208 if (isActiveMainPopup && !phonePopupScrollHintSessionActive) { 11209 phonePopupScrollHintSessionActive = true; 11210 PHONE_POPUP_SCROLL_HINT.dismissed = false; 11211 hidePhonePopupScrollHint(); 11212 11213 hideAllPhoneErrors(); 11214 11215 const popupBody = popupEl.querySelector('.popup-body'); 11216 if (popupBody) { 11217 popupBody.scrollTop = 0; 11218 } 11219 11220 schedulePhonePopupScrollHint(); 11221 11222 setTimeout(function () { 11223 const body = popupEl.querySelector('.popup-body'); 11224 if (body) { 11225 body.scrollTop = 0; 11226 } 11227 }, 550); 11228 } 11229 }); 11230 11231 observer.observe(popupEl, { attributes: true, attributeFilter: ['class'] }); 11232 11233 $(popupEl).on('click', '.popup-close', function () { 11234 resetSelectPaymentOptionsPopupView(); 11235 }); 11236 })(); 11237 11238</script>
11238 11239 11240 11241 11242<div class="popup place-order" id="place-order-popup"> 11243 <div class="popup-dialog"> 11244 <div class="popup-content"> 11245 <div class="popup-header"> 11246 <img class="place-order__rewarded-icon" src="https://getz-sit.s3.ap-southeast-1.amazonaws.com/Getz/v2/place-order-icon.png" /> 11247 <div class="popup-close"> 11248 <svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none"> 11249 <path d="M13.5043 1.27741L12.3594 0.193542L6.96182 5.30322L1.56428 0.193542L0.419342 1.27741L5.81689 6.38709L0.419342 11.4968L1.56428 12.5806L6.96182 7.47096L12.3594 12.5806L13.5043 11.4968L8.10676 6.38709L13.5043 1.27741Z" fill="black" /> 11250 </svg> 11251 </div> 11252 </div> 11253 <div class="popup-body"> 11254 <div class="place-order__title"> 11255 Get rewarded when you pay with your phone! 11256 </div> 11257 <div class="place-order__message">Easy, quick and convenient!</div> 11258 <div class="member-voucher-slider" style="width: 100%;"> 11259 </div> 11260 </div> 11261 11262 <div class="popup-footer"> 11263 <div class="place-order__btn-pay-later" id="btn-pay-later" onclick="PayAtCounter();">Undefined</div> 11264 <div class="place-order__btn-pay-first" id="btn-pay-first" onclick="PayOnMobile();">Pay On Mobile</div> 11265 </div> 11266 </div> 11267 </div> 11268</div> 11269 11270<div class="popup select-payment-options" id="select-auto-fill-member-info-popup"> 11271 <div class="popup-dialog"> 11272 <div class="popup-content"> 11273 <div class="popup-header swipe-popup-down"> 11274 <div class="icon-swipe visible-xs"></div> 11275 </div> 11276 <div class="popup-body"> 11277 <div class="spo__title">How would you like to complete the buyerâs information?</div> 11278 <div class="spo__message">Use the member account information to automatically fill in the buyer's details: name, email, phone number.</div> 11279 </div> 11280 <div class="popup-footer"> 11281 <button class="spo__btn-use-my-member highlighted-payfirst-btn" id="btn-use-my-member" type="button" onclick="loadMyMemberDataForm();">USE MY MEMBER ACCOUNT INFO</button> 11282 <button class="spo__btn-use-manual-input highlighted-payfirst-btn" id="btn-use-manual-input" type="button" onclick="clearDeliveryDataForm();">USE MANUAL INPUT</button> 11283 </div> 11284 </div> 11285 </div> 11286</div> 11287 11288 11289 11290<div class="popup detail-discount" id="detail-discount-popup"> 11291 <div class="popup-dialog"> 11292 <div class="popup-content"> 11293 <div class="popup-header"> 11294 <h5 class="popup-title">Detail Promo code</h5> 11295 <div class="popup-close"> 11296 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 11297 <g clip-path="url(#clip0_2721_18030)"> 11298 <path d="M9 19L10.41 17.59L5.83 13H22V11H5.83L10.42 6.41L9 5L2 12L9 19Z" fill="#333333" /> 11299 </g> 11300 <defs> 11301 <clipPath id="clip0_2721_18030"> 11302 <rect width="24" height="24" fill="white" /> 11303 </clipPath> 11304 </defs> 11305 </svg> 11306 </div> 11307 </div> 11308 <div class="popup-body" id="detail-discount-body"> 11309 11310 </div> 11311 <div class="popup-footer"> 11312 <button type="button" class="btn detail-pcv__btn-apply" id="btn-pcv-apply">Apply</button> 11313 <button type="button" class="btn detail-pcv__btn-back" id="btn-pcv-back">Back to list</button> 11314 </div> 11315 </div> 11316 </div> 11317</div> 11318 11319 11320 11321<div class="popup popup-md aplly-promo-code" id="aplly-promo-code-popup"> 11322 <div class="popup-dialog"> 11323 <div class="popup-content"> 11324 <div class="popup-header"> 11325 <h5 class="popup-title">Promo code</h5> 11326 <div class="popup-close"> 11327 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 11328 <g clip-path="url(#clip0_2721_18030)"> 11329 <path d="M9 19L10.41 17.59L5.83 13H22V11H5.83L10.42 6.41L9 5L2 12L9 19Z" fill="#333333" /> 11330 </g> 11331 <defs> 11332 <clipPath id="clip0_2721_18030"> 11333 <rect width="24" height="24" fill="white" /> 11334 </clipPath> 11335 </defs> 11336 </svg> 11337 </div> 11338 </div> 11339 11340 <div class="popup-body" id="aplly-promo-code-body"> 11341 11342 </div> 11343 11344 <div class="popup-footer"> 11345 <div class="popup-footer-available"> 11346 <div class="promo-code-selected" style="display: none;"> 11347 <div class="promo-code-selected-text">Promo Code Selected.</div> 11348 <div class="promo-code-you-save"> You save $<span id="aplly-promo-code-save">0</span></div> 11349 </div> 11350 <button type="button" class="btn btn-apply-discount apply-pc__btn-apply" id="btn-pc-apply">Apply</button> 11351 </div> 11352 <div class="popup-footer-past-rewards" style="display: none;"> 11353 <button type="button" class="btn apply-pc__btn-return-to-cart" id="bt
11353n-pc-return-to-cart">Return To Cart</button> 11354 </div> 11355 </div> 11356 </div> 11357 </div> 11358</div> 11359 11360 11361 11362<div class="popup popup-md aplly-voucher-code" id="aplly-voucher-popup"> 11363 <div class="popup-dialog"> 11364 <div class="popup-content"> 11365 <div class="popup-header"> 11366 <h5 class="popup-title">Member Voucher</h5> 11367 <div class="popup-close"> 11368 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 11369 <g clip-path="url(#clip0_2721_18030)"> 11370 <path d="M9 19L10.41 17.59L5.83 13H22V11H5.83L10.42 6.41L9 5L2 12L9 19Z" fill="#333333" /> 11371 </g> 11372 <defs> 11373 <clipPath id="clip0_2721_18030"> 11374 <rect width="24" height="24" fill="white" /> 11375 </clipPath> 11376 </defs> 11377 </svg> 11378 </div> 11379 </div> 11380 11381 <div class="popup-navs aplly-voucher-navs"> 11382 <div class="aplly-voucher-enter"> 11383 <div class="aplly-voucher-label">Enter Phone Number or Voucher Code</div> 11384 <div class="aplly-voucher-group-input"> 11385 <input type="text" class="aplly-voucher-input" id="aplly-voucher-text" placeholder="Voucher Code / Phone Number" /> 11386 <button class="btn btn-voucher-apply-ms" id="btnApplyPhoneNumberText">Check</button> 11387 <div class="aplly-voucher-group-input-clear "> 11388 <svg xmlns="http://www.w3.org/2000/svg" width="18px" height="18px" viewBox="0 0 24 24" fill="none"> 11389 <g id="SVGRepo_bgCarrier" stroke-width="0" /> 11390 <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round" /> 11391 <g id="SVGRepo_iconCarrier"> <path d="M12 21C10.22 21 8.47991 20.4722 6.99987 19.4832C5.51983 18.4943 4.36628 17.0887 3.68509 15.4442C3.0039 13.7996 2.82567 11.99 3.17294 10.2442C3.5202 8.49836 4.37737 6.89472 5.63604 5.63604C6.89472 4.37737 8.49836 3.5202 10.2442 3.17294C11.99 2.82567 13.7996 3.0039 15.4442 3.68509C17.0887 4.36628 18.4943 5.51983 19.4832 6.99987C20.4722 8.47991 21 10.22 21 12C21 14.387 20.0518 16.6761 18.364 18.364C16.6761 20.0518 14.387 21 12 21ZM12 4.5C10.5166 4.5 9.0666 4.93987 7.83323 5.76398C6.59986 6.58809 5.63856 7.75943 5.07091 9.12988C4.50325 10.5003 4.35473 12.0083 4.64411 13.4632C4.9335 14.918 5.64781 16.2544 6.6967 17.3033C7.7456 18.3522 9.08197 19.0665 10.5368 19.3559C11.9917 19.6453 13.4997 19.4968 14.8701 18.9291C16.2406 18.3614 17.4119 17.4001 18.236 16.1668C19.0601 14.9334 19.5 13.4834 19.5 12C19.5 10.0109 18.7098 8.10323 17.3033 6.6967C15.8968 5.29018 13.9891 4.5 12 4.5Z" fill="#000000" /> <path d="M9.00001 15.75C8.90147 15.7504 8.80383 15.7312 8.71282 15.6934C8.62181 15.6557 8.53926 15.6001 8.47001 15.53C8.32956 15.3893 8.25067 15.1987 8.25067 15C8.25067 14.8012 8.32956 14.6106 8.47001 14.47L14.47 8.46997C14.6122 8.33749 14.8002 8.26537 14.9945 8.26879C15.1888 8.27222 15.3742 8.35093 15.5116 8.48835C15.649 8.62576 15.7278 8.81115 15.7312 9.00545C15.7346 9.19975 15.6625 9.38779 15.53 9.52997L9.53001 15.53C9.46077 15.6001 9.37822 15.6557 9.2872 15.6934C9.19619 15.7312 9.09855 15.7504 9.00001 15.75Z" fill="#000000" /> <path d="M15 15.75C14.9015 15.7504 14.8038 15.7312 14.7128 15.6934C14.6218 15.6557 14.5392 15.6001 14.47 15.53L8.47 9.52997C8.33752 9.38779 8.2654 9.19975 8.26882 9.00545C8.27225 8.81115 8.35097 8.62576 8.48838 8.48835C8.62579 8.35093 8.81118 8.27222 9.00548 8.26879C9.19978 8.26537 9.38782 8.33749 9.53 8.46997L15.53 14.47C15.6704 14.6106 15.7493 14.8012 15.7493 15C15.7493 15.1987 15.6704 15.3893 15.53 15.53C15.4608 15.6001 15.3782 15.6557 15.2872 15.6934C15.1962 15.7312 15.0985 15.7504 15 15.75Z" fill="#000000" /> </g> 11392 </svg> 11393 </div> 11394 </div> 11395 <div class="aplly-voucher-group-input-error" data-text="You've already added this voucher"> 11396 </div> 11397 <input type="hidden" id="voucher-code-message-empty" value="Please enter voucher co
11397de or phone number before proceeding" /> 11398 </div> 11399 11400 <ul class="nav nav-tabs aplly-voucher-nav-tabs"> 11401 <li class="nav-item active"><a data-toggle="tab" href="#voucher-available">Available</a></li> 11402 <li class="nav-item"><a data-toggle="tab" href="#voucher-past-rewards">Past Rewards</a></li> 11403 </ul> 11404 11405 </div> 11406 11407 <div class="popup-body" id="aplly-voucher-body"> 11408 11409 </div> 11410 11411 <div class="popup-footer"> 11412 <div class="popup-footer-available"> 11413 <button type="button" class="btn btn-apply-discount apply-voucher__btn-apply" id="btn-voucher-apply"> 11414 <span>Apply</span> 11415 <span class="count-voucher-selected" style="display: none;"> 11416 <span style=" font-size: 36px; padding: 0 10px;">•</span> 11417 <span id="count-voucher-selected"></span> 11418 </span> 11419 </button> 11420 </div> 11421 </div> 11422 </div> 11423 </div> 11424</div> 11425 11426 11427 11428<div class="popup popup-sm member-point-popup" id="member-point-popup"> 11429 <div class="popup-dialog"> 11430 <div class="popup-content"> 11431 <div class="popup-header"> 11432 <h5 class="popup-title"> 11433 Member Points 11434 </h5> 11435 <div class="popup-close"> 11436 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 11437 <g clip-path="url(#clip0_2721_18030)"> 11438 <path d="M9 19L10.41 17.59L5.83 13H22V11H5.83L10.42 6.41L9 5L2 12L9 19Z" fill="#333333" /> 11439 </g> 11440 <defs> 11441 <clipPath id="clip0_2721_18030"> 11442 <rect width="24" height="24" fill="white" /> 11443 </clipPath> 11444 </defs> 11445 </svg> 11446 </div> 11447 </div> 11448 <div class="popup-body" id="member-point-body"> 11449 </div> 11450 </div> 11451 </div> 11452</div> 11453 11454 11455 11456 11457<div class="popup membership-and-rewards" id="membership-and-rewards-popup"> 11458 <div class="popup-dialog"> 11459 <div class="popup-content"> 11460 <div class="popup-header"> 11461 <h5 class="popup-title">Membership & Rewards</h5> 11462 <div class="popup-close"> 11463 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 11464 <path d="M18.2987 5.70997C17.9087 5.31997 17.2787 5.31997 16.8887 5.70997L11.9988 10.59L7.10875 5.69997C6.71875 5.30997 6.08875 5.30997 5.69875 5.69997C5.30875 6.08997 5.30875 6.71997 5.69875 7.10997L10.5888 12L5.69875 16.89C5.30875 17.28 5.30875 17.91 5.69875 18.3C6.08875 18.69 6.71875 18.69 7.10875 18.3L11.9988 13.41L16.8887 18.3C17.2787 18.69 17.9087 18.69 18.2987 18.3C18.6887 17.91 18.6887 17.28 18.2987 16.89L13.4087 12L18.2987 7.10997C18.6787 6.72997 18.6787 6.08997 18.2987 5.70997Z" fill="black" /> 11465 </svg> 11466 </div> 11467 </div> 11468 <div class="popup-body" id="membership-and-rewards-body"> 11469 <iframe id="membership-and-rewards-iframe" src="https://segar.member.getz.co/account/membershiprewardsinfo/?authorization=52b2290180f6419b9062035821b3ccee" title="Membership & Rewards" style="width: 100%; height: 100%; border: unset;"></iframe> 11470 </div> 11471 </div> 11472 </div> 11473</div> 11474 11475 11476<div class="popup marketing-materials-consent" id="marketing-materials-consent-popup"> 11477 <div class="popup-dialog"> 11478 <div class="popup-content"> 11479 <div class="popup-header"> 11480 <h5 class="popup-title">Marketing Materials Consent</h5> 11481 <div class="popup-close"> 11482 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 11483 <path d="M18.2987 5.70997C17.9087 5.31997 17.2787 5.31997 16.8887 5.70997L11.9988 10.59L7.10875 5.69997C6.71875 5.30997 6.08875 5.30997 5.69875 5.69997C5.30875 6.08997 5.30875 6.71997 5.69875 7.10997L10.5888 12L5.69875 16.89C5.30875 17.28 5.30875 17.91 5.69875 18.3C6.08875 18.69 6.71875 18.69 7.10875 18.3L11.9988 13.41L16.8887 18.3C17.2787 18.69 17.9087 18.69 18.2987 18.3C18.6887 17.91 18.6887 17.28 18.2987 16.89L13.4087 12L18.2987 7.10997C18.6787 6.72997 18.6787 6.08997 18.2987 5.70997Z" fill="black" /> 11484 </svg> 11485 </div> 11486 </div> 11487 <div class="popup-body" id="marketing-materials-consent-body">
11488 <span> 11489 I agree to receive marketing, advertising and promotional information from <strong>West Coz Cafe</strong> and its third party service providers (âRepresentativesâ) and hereby authorise and consent <strong>West Coz Cafe</strong> and Representatives to send me marketing, advertising and promotional information, materials and documents relating to the products, services and activities. 11490 </span> 11491 <span> 11492 I hereby represent and warrant that I am the authorised user and/or subscriber of the email address and the telephone number provided by me above, and that I have read and understood the above provisions. 11493 </span> 11494 </div> 11495 <div class="popup-footer"> 11496 <button type="button" class="btn mmc__btn-consent" id="btn-mmc-consent" onclick="onClickIConsent()">I CONSENT</button> 11497 </div> 11498 </div> 11499 </div> 11500</div> 11501 11502 11503<div class="popup popup-sm redeem-rewards-popup" id="redeem-rewards-popup"> 11504 <div class="popup-dialog"> 11505 <div class="popup-content"> 11506 <div class="popup-header"> 11507 <h5 class="popup-title"> 11508 Redeem Rewards 11509 </h5> 11510 <div class="popup-close"> 11511 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 11512 <g clip-path="url(#clip0_2721_18030)"> 11513 <path d="M9 19L10.41 17.59L5.83 13H22V11H5.83L10.42 6.41L9 5L2 12L9 19Z" fill="#333333" /> 11514 </g> 11515 <defs> 11516 <clipPath id="clip0_2721_18030"> 11517 <rect width="24" height="24" fill="white" /> 11518 </clipPath> 11519 </defs> 11520 </svg> 11521 </div> 11522 </div> 11523 <div class="popup-body" id="containmycart"> 11524 <section id="cart-rewards" class="row cart-rewards"> 11525 <div class="col-xs-12 cart-rewards-box"> 11526 11527 </div> 11528 </section> 11529 </div> 11530 </div> 11531 </div> 11532</div> 11533 11534 11535 11536<div class="popup popup-sm member-point-popup" id="member-voucher-login-popup"> 11537 <div class="popup-dialog"> 11538 <div class="popup-content"> 11539 <div class="popup-header"> 11540 <h5 class="popup-title"> 11541 Member Voucher 11542 </h5> 11543 <div class="popup-close"> 11544 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 11545 <g clip-path="url(#clip0_2721_18030)"> 11546 <path d="M9 19L10.41 17.59L5.83 13H22V11H5.83L10.42 6.41L9 5L2 12L9 19Z" fill="#333333" /> 11547 </g> 11548 <defs> 11549 <clipPath id="clip0_2721_18030"> 11550 <rect width="24" height="24" fill="white" /> 11551 </clipPath> 11552 </defs> 11553 </svg> 11554 </div> 11555 </div> 11556 <div class="popup-body"> 11557 <div class="member-point__sign-up"> 11558 <div class="member-point__sign-up-icon"> 11559 <svg xmlns="http://www.w3.org/2000/svg" width="81" height="80" viewBox="0 0 81 80" fill="none"> 11560 <circle cx="40.5" cy="40" r="40" fill="url(#paint0_linear_3945_3200)" /> 11561 <g clip-path="url(#clip0_3945_3200)"> 11562 <path d="M39.2383 8.25379C38.9971 8.495 38.9844 8.67273 38.9844 12.037C38.9844 15.9091 39.0098 16.0233 39.7334 16.1884C40.1523 16.2772 40.8125 15.9979 40.9395 15.6805C40.9775 15.5663 41.0156 13.9159 41.0156 12.0116C41.0156 8.55847 41.0156 8.54578 40.7236 8.27918C40.3428 7.91101 39.5938 7.89832 39.2383 8.25379Z" fill="white" /> 11563 <path d="M23.5213 12.4818C23.0008 13.0404 23.1278 13.4213 24.7782 16.3031C25.6287 17.7758 26.4412 19.1088 26.5809 19.2611C26.9237 19.642 27.7108 19.6547 28.0662 19.2992C28.5741 18.7914 28.4217 18.3725 26.7205 15.4145C25.8446 13.8783 25.0321 12.5326 24.9305 12.4057C24.6258 12.0756 23.8641 12.1137 23.5213 12.4818Z" fill="white" /> 11564 <path d="M54.9422 12.5961C54.7645 12.8246 53.952 14.183 53.1268 15.6176C51.5018 18.4359 51.3621 18.8676 51.9207 19.3119C52.3016 19.6166 53.1014 19.6293 53.3553 19.3246C53.4696 19.2104 54.2694 17.8646 55.158 16.3412C56.3006 14.348 56.7577 13.4467 56.7577 13.1547C56.7577 12.5961 56.3133 12.1898 55.7039 12.1898C55.3358 12.1898 55.1834 12.266 54.9422 12.5961Z" fill="white" /> 11565 <path d="M11.9435 24.0217C11.6261 24.3771 11.6007 25.1515 11.9181 25.4308C12.1339 25.634 17.466 28.7189 17.8341 28.8586C18.1134 28.9728 18.7863 28.7062 18.9259 28.4396C19.1544 28.0207 19.0783 27.3605 18.7736 27.0812C18.6085 26.9289 17.2755 26.1164 15.8029 25.2785C12.8956 23.6154 12.464 23.4758 11.9435 24.0217Z" fill="white" /> 11566 <path d="M64.1711 25.304C62.6858 26.1546 61.3655 26.9671 61.2131 27.094C60.9211 27.3606 60.8577 28.0335 61.0735 28.4397C61.2258 28.719 61.886 28.9729 62.1907 28.8587C62.7366 28.6429 67.8909 25.6087 68.094 25.3675C68.386 25.0247 68.3733 24.4915 68.0432 24.0725C67.5481 23.4505 67.1418 23.5774 64.1711 25.304Z" fill="white" /> 11567 <path d="M7.75356 39.7383C7.38539 40.1064 7.41078 40.8809 7.79164 41.2363C8.08363 41.5029 8.1725 41.5156 11.5241 41.5156C13.4157 41.5156 15.0661 41.4775 15.1803 41.4395C15.4977 41.3125 15.777 40.6523 15.6881 40.2334C15.5231 39.5098 15.4088 39.4844 11.5368 39.4844C8.1725 39.4844 7.99477 39.4971 7.75356 39.7383Z" fill="white" /> 11568 <path d="M64.5138 39.8145C64.1583 40.2715 64.171 40.8174 64.5646 41.1982L64.8693 41.5156H68.4113C71.9406 41.5156 71.9533 41.5156 72.2199 41.2236C72.588 40.8428 72.6007 40.0938 72.2453 39.7383
11568C72.004 39.4971 71.8263 39.4844 68.3859 39.4844H64.7677L64.5138 39.8145Z" fill="white" /> 11569 <path d="M17.2753 52.4084C16.0184 53.0813 12.1337 55.3664 11.9179 55.5695C11.5751 55.8742 11.6132 56.6359 11.9813 56.9787C12.5272 57.4865 12.87 57.3723 15.8407 55.6584C17.3642 54.7824 18.7099 53.9699 18.8368 53.8684C18.9638 53.7414 19.0526 53.4748 19.0526 53.1955C19.0526 52.1672 18.329 51.8498 17.2753 52.4084Z" fill="white" /> 11570 <path d="M61.493 52.1797C61.3407 52.2432 61.1629 52.4082 61.0868 52.5479C60.8709 52.9414 60.9217 53.6396 61.1756 53.8682C61.2899 53.9697 62.6356 54.7822 64.159 55.6582C65.9998 56.7246 67.0662 57.2578 67.3075 57.2578C68.158 57.2578 68.6278 56.1533 68.0311 55.5693C67.6629 55.2139 62.4832 52.2178 62.077 52.1289C61.9119 52.0908 61.6453 52.1162 61.493 52.1797Z" fill="white" /> 11571 <path d="M26.9871 61.4349C26.5808 61.6 26.4031 61.8666 24.7781 64.6976C23.0769 67.6556 22.95 68.0619 23.572 68.5443C23.991 68.8744 24.5242 68.8871 24.8669 68.5824C25.2986 68.2269 28.3201 62.8568 28.3201 62.4632C28.3201 61.93 28.2058 61.7142 27.7996 61.5111C27.406 61.2953 27.3425 61.2953 26.9871 61.4349Z" fill="white" /> 11572 <path d="M51.9203 61.6883C51.3617 62.1454 51.4886 62.5516 53.2406 65.5731C54.142 67.1092 54.9799 68.4676 55.1322 68.5819C55.7289 69.1024 56.7572 68.6073 56.7572 67.8075C56.7572 67.5663 56.224 66.4999 55.1576 64.659C54.2816 63.1356 53.4691 61.7899 53.3676 61.6629C53.0883 61.371 52.3011 61.3836 51.9203 61.6883Z" fill="white" /> 11573 <path d="M39.3145 65.015L38.9844 65.2689V68.8871C38.9844 72.3275 38.9971 72.5052 39.2383 72.7464C39.6064 73.1146 40.3809 73.0892 40.7363 72.7084C41.0156 72.4164 41.0156 72.3275 41.0156 68.8871V65.3705L40.6982 65.0658C40.3174 64.6722 39.7715 64.6595 39.3145 65.015Z" fill="white" /> 11574 <path d="M37.0674 19.4892C30.6055 20.3778 24.8291 24.3007 21.5156 30.0898C19.7891 33.0859 18.7988 36.8945 18.7988 40.4745C18.7988 47.5204 22.3408 54.1601 28.1934 58.0829C36.7246 63.7831 48.0742 62.5771 55.1836 55.2011C56.8848 53.4364 58.0146 51.8368 59.0557 49.704C61.125 45.4384 61.6963 40.4364 60.6426 35.8027C58.1797 25.0624 47.9727 18.0038 37.0674 19.4892ZM40.6982 28.8202C40.8125 28.9472 41.79 30.4198 42.8564 32.0702L44.7988 35.0917L48.3916 36.0185C51.4512 36.8056 52.0352 36.996 52.2891 37.2753C52.6191 37.6562 52.6445 38.0497 52.3525 38.4687C52.2383 38.6464 51.1465 39.9921 49.9404 41.4775L47.7314 44.1689L47.9473 47.9902L48.1631 51.8114L47.833 52.1415C47.6299 52.3573 47.376 52.4716 47.1475 52.4589C46.957 52.4462 45.2559 51.8495 43.3896 51.1132L39.9873 49.7929L36.5977 51.1132C34.7314 51.8368 33.0176 52.4335 32.8018 52.4335C32.2051 52.4335 31.875 52.0527 31.875 51.3798C31.875 51.0878 31.9639 49.3486 32.0781 47.5077L32.2686 44.1816L29.8564 41.2489C27.2412 38.0878 27.1523 37.9101 27.7236 37.2753C27.9521 37.0087 28.5742 36.8056 31.5957 36.0312L35.1885 35.1044L37.1055 32.121C38.1592 30.4833 39.1367 29.0107 39.2764 28.8456C39.6191 28.4775 40.3682 28.4648 40.6982 28.8202Z" fill="white" /> 11575 <path d="M40.6982 28.8202C40.8125 28.9472 41.79 30.4198 42.8564 32.0702L44.7988 35.0917L48.3916 36.0185C51.4512 36.8056 52.0352 36.996 52.2891 37.2753C52.6191 37.6562 52.6445 38.0497 52.3525 38.4687C52.2383 38.6464 51.1465 39.9921 49.9404 41.4775L47.7314 44.1689L47.9473 47.9902L48.1631 51.8114L47.833 52.1415C47.6299 52.3573 47.376 52.4716 47.1475 52.4589C46.957 52.4462 45.2559 51.8495 43.3896 51.1132L39.9873 49.7929L36.5977 51.1132C34.7314 51.8368 33.0176 52.4335 32.8018 52.4335C32.2051 52.4335 31.875 52.0527 31.875 51.3798C31.875 51.0878 31.9639 49.3486 32.0781 47.5077L32.2686 44.1816L29.8564 41.2489C27.2412 38.0878 27.1523 37.9101 27.7236 37.2753C27.9521 37.0087 28.5742 36.8056 31.5957 36.0312L35.1885 35.1044L37.1055 32.121C38.1592 30.4833 39.1367 29.0107 39.2764 28.8456C39.6191 28.4775 40.3682 28.4648 40.6982 28.8202Z" fill="#EB9B45" /> 11576 </g> 11577 <defs> 11578 <linearGradient id="paint0_linear_3945_3200" x1="40.5" y1="0" x2="40.5" y2="80" gradientUnits="userSpaceOnUse"> 11579 <stop stop-color="#FFC444" /> 11580 <stop offset="1" stop-color="#FFC24B" /> 11581 </linearGradient> 11582 <clipPath id="clip0_3945_3200"> 11583 <rect width="65" height="65" fill="white" transform="translate(7.5 8)" /> 11584 </clipPath> 11585 </defs> 11586 </svg> 11587 </div> 11588 <div class="member-point__sign-up-msg"> 11589 Please log in / sign up to view and redeem voucher 11590 </div> 11591 <button type="button" class="btn member-point__btn-sign-up" onclick="redirectMemberUrl()">Log in / Sign Up</button> 11592 </div> 11593 </div> 11594 </div> 11595 </div> 11596</div> 11597 11598 11599 11600<div class="popup popup-sm member-point-popup" id="member-required-login-popup"> 11601 <div class="popup-dialog"> 11602 <div class="popup-content"> 11603 <div class="popup-body"> 11604 <div class="member-point__sign-up"> 11605 <div class="member-point__sign-up-icon"> 11606 <svg xmlns="http://www.w3.org/2000/svg" width="81" height="80" viewBox="0 0 81 80" fill="none"> 11607 <circle cx="40.5" cy="40" r="40" fill="url(#paint0_linear_3945_3201)" /> 11608 <g clip-path="url(#clip0_3945_3201)"> 11609 <path d="M39.2383 8.25379C38.9971 8.495 38.9844 8.67273 38.9844 12.037C38.9844 15.9091 39.0098 16.0233 39.7334 16.1884C40.1523 16.2772 40.8125 15.9979 40.9395 15.6805C40.9775 15.5663 41.0156 13.9159 41.0156 12.0116C41.0156 8.55847 41.0156 8.54578 40.7236 8.27918C40.3428 7.91101 39.5938 7.89832 39.2383 8.25379Z" fill="white" /> 11610 <path d="M23.5213 12.4818C23.0008 13.0404 23.1278 13.4213 24.7782 16.3031C25.6287 17.7758 26.4412 19.1088 26.5809 19.2611C26.9237 19.642 27.7108 19.6547 28.0662 19.2992C28.5741 18.7914 28.4217 18.3725 26.7205 15.4145C25.8446 13.8783 25.0321 12.5326 24.9305 12.4057C24.6258 12.0756 23.8641 12.1137 23.5213 12.4818Z" fill="white" /> 11611 <path d="M54.9422 12.5961C54.7645 12.8246 53.952 14.183 53.1268 15.6176C51.5018 18.4359 51.3621 18.8676 51.9207 19.3119C52.3016 19.6166 53.1014 19.6293 53.3553 19.3246C53.4696 19.2104 54.2694 17.8646 55.158 16.3412C56.3006 14.348 56.7577 13.4467 56.7577 13.1547C56.7577 12.5961 56.3133 12.1898 55.7039 12.1898C55.3358 12.1898 55.1834 12.266 54.9422 12.5961Z" fill="white" /> 11612 <path d="M11.9435 24.0217C11.6261 24.3771 11.6007 25.1515 11.9181 25.4308C12.1339 25.634 17.466 28.7189 17.8341 28.8586C18.1134 28.9728 18.7863 28.7062 18.9259 28.4396C19.1544 28.0207 19.0783 27.3605 18.7736 27.0812C18.6085 26.9289 17.2755 26.1164 15.8029 25.2785C12.8956 23.6154 12.464 23.4758 11.9435 24.0217Z" fill="white" /> 11613 <path d="M64.1711 25.304C62.6858 26.1546 61.3655 26.9671 61.2131 27.094C60.9211 27.3606 60.8577 28.0335 61.0735 28.4397C61.2258 28.719 61.886 28.9729 62.1907 28.8587C62.7366 28.6429 67.8909 25.6087 68.094 25.3675C68.386 25.0247 68.3733 24.4915 68.0432 24.0725C67.5481 23.4505 67.1418 23.5774 64.1711 25.304Z" fill="white" /> 11614 <path d="M7.75356 39.7383C7.38539 40.1064 7.41078 40.8809 7.79164 41.2363C8.08363 41.5029 8.1725 41.5156 11.5241 41.5156C13.4157 41.5156 15.0661 41.4775 15.1803 41.4395C15.4977 41.3125 15.777 40.6523 15.6881 40.2334C15.5231 39.5098 15.4088 39.4844 11.5368 39.4844C8.1725 39.4844 7.99477 39.4971 7.75356 39.7383Z" fill="white" /> 11615 <path d="M64.5138 39.8145C64.1583 40.2715 64.171 40.8174 64.5646 41.1982L64.8693 41.5156H68.4113C71.9406 41.5156 71.9533 41.5156 72.2199 41.2236C72.588 40.8428 72.6007 40.0938 72.2453 39.7383
11615C72.004 39.4971 71.8263 39.4844 68.3859 39.4844H64.7677L64.5138 39.8145Z" fill="white" /> 11616 <path d="M17.2753 52.4084C16.0184 53.0813 12.1337 55.3664 11.9179 55.5695C11.5751 55.8742 11.6132 56.6359 11.9813 56.9787C12.5272 57.4865 12.87 57.3723 15.8407 55.6584C17.3642 54.7824 18.7099 53.9699 18.8368 53.8684C18.9638 53.7414 19.0526 53.4748 19.0526 53.1955C19.0526 52.1672 18.329 51.8498 17.2753 52.4084Z" fill="white" /> 11617 <path d="M61.493 52.1797C61.3407 52.2432 61.1629 52.4082 61.0868 52.5479C60.8709 52.9414 60.9217 53.6396 61.1756 53.8682C61.2899 53.9697 62.6356 54.7822 64.159 55.6582C65.9998 56.7246 67.0662 57.2578 67.3075 57.2578C68.158 57.2578 68.6278 56.1533 68.0311 55.5693C67.6629 55.2139 62.4832 52.2178 62.077 52.1289C61.9119 52.0908 61.6453 52.1162 61.493 52.1797Z" fill="white" /> 11618 <path d="M26.9871 61.4349C26.5808 61.6 26.4031 61.8666 24.7781 64.6976C23.0769 67.6556 22.95 68.0619 23.572 68.5443C23.991 68.8744 24.5242 68.8871 24.8669 68.5824C25.2986 68.2269 28.3201 62.8568 28.3201 62.4632C28.3201 61.93 28.2058 61.7142 27.7996 61.5111C27.406 61.2953 27.3425 61.2953 26.9871 61.4349Z" fill="white" /> 11619 <path d="M51.9203 61.6883C51.3617 62.1454 51.4886 62.5516 53.2406 65.5731C54.142 67.1092 54.9799 68.4676 55.1322 68.5819C55.7289 69.1024 56.7572 68.6073 56.7572 67.8075C56.7572 67.5663 56.224 66.4999 55.1576 64.659C54.2816 63.1356 53.4691 61.7899 53.3676 61.6629C53.0883 61.371 52.3011 61.3836 51.9203 61.6883Z" fill="white" /> 11620 <path d="M39.3145 65.015L38.9844 65.2689V68.8871C38.9844 72.3275 38.9971 72.5052 39.2383 72.7464C39.6064 73.1146 40.3809 73.0892 40.7363 72.7084C41.0156 72.4164 41.0156 72.3275 41.0156 68.8871V65.3705L40.6982 65.0658C40.3174 64.6722 39.7715 64.6595 39.3145 65.015Z" fill="white" /> 11621 <path d="M37.0674 19.4892C30.6055 20.3778 24.8291 24.3007 21.5156 30.0898C19.7891 33.0859 18.7988 36.8945 18.7988 40.4745C18.7988 47.5204 22.3408 54.1601 28.1934 58.0829C36.7246 63.7831 48.0742 62.5771 55.1836 55.2011C56.8848 53.4364 58.0146 51.8368 59.0557 49.704C61.125 45.4384 61.6963 40.4364 60.6426 35.8027C58.1797 25.0624 47.9727 18.0038 37.0674 19.4892ZM40.6982 28.8202C40.8125 28.9472 41.79 30.4198 42.8564 32.0702L44.7988 35.0917L48.3916 36.0185C51.4512 36.8056 52.0352 36.996 52.2891 37.2753C52.6191 37.6562 52.6445 38.0497 52.3525 38.4687C52.2383 38.6464 51.1465 39.9921 49.9404 41.4775L47.7314 44.1689L47.9473 47.9902L48.1631 51.8114L47.833 52.1415C47.6299 52.3573 47.376 52.4716 47.1475 52.4589C46.957 52.4462 45.2559 51.8495 43.3896 51.1132L39.9873 49.7929L36.5977 51.1132C34.7314 51.8368 33.0176 52.4335 32.8018 52.4335C32.2051 52.4335 31.875 52.0527 31.875 51.3798C31.875 51.0878 31.9639 49.3486 32.0781 47.5077L32.2686 44.1816L29.8564 41.2489C27.2412 38.0878 27.1523 37.9101 27.7236 37.2753C27.9521 37.0087 28.5742 36.8056 31.5957 36.0312L35.1885 35.1044L37.1055 32.121C38.1592 30.4833 39.1367 29.0107 39.2764 28.8456C39.6191 28.4775 40.3682 28.4648 40.6982 28.8202Z" fill="white" /> 11622 <path d="M40.6982 28.8202C40.8125 28.9472 41.79 30.4198 42.8564 32.0702L44.7988 35.0917L48.3916 36.0185C51.4512 36.8056 52.0352 36.996 52.2891 37.2753C52.6191 37.6562 52.6445 38.0497 52.3525 38.4687C52.2383 38.6464 51.1465 39.9921 49.9404 41.4775L47.7314 44.1689L47.9473 47.9902L48.1631 51.8114L47.833 52.1415C47.6299 52.3573 47.376 52.4716 47.1475 52.4589C46.957 52.4462 45.2559 51.8495 43.3896 51.1132L39.9873 49.7929L36.5977 51.1132C34.7314 51.8368 33.0176 52.4335 32.8018 52.4335C32.2051 52.4335 31.875 52.0527 31.875 51.3798C31.875 51.0878 31.9639 49.3486 32.0781 47.5077L32.2686 44.1816L29.8564 41.2489C27.2412 38.0878 27.1523 37.9101 27.7236 37.2753C27.9521 37.0087 28.5742 36.8056 31.5957 36.0312L35.1885 35.1044L37.1055 32.121C38.1592 30.4833 39.1367 29.0107 39.2764 28.8456C39.6191 28.4775 40.3682 28.4648 40.6982 28.8202Z" fill="#EB9B45" /> 11623 </g> 11624 <defs> 11625 <linearGradient id="paint0_linear_3945_3201" x1="40.5" y1="0" x2="40.5" y2="80" gradientUnits="userSpaceOnUse"> 11626 <stop stop-color="#FFC444" /> 11627 <stop offset="1" stop-color="#FFC24B" /> 11628 </linearGradient> 11629 <clipPath id="clip0_3945_3201"> 11630 <rect width="65" height="65" fill="white" transform="translate(7.5 8)" /> 11631 </clipPath> 11632 </defs> 11633 </svg> 11634 </div> 11635 <div class="member-point__sign-up-msg"> 11636 Please log in / sign up to purchase voucher 11637 </div> 11638 <button type="button" class="btn member-point__btn-sign-up" onclick="redirectMemberUrl()" style="background-color: #F26722; color: #fff;">Log in / Sign Up</button> 11639 </div> 11640 </div> 11641 </div> 11642 </div> 11643</div> 11644 <div class="popup-backdrop"></div> 11645</div> 11646 11647
11648<script> 11649 const $popup = $('#popup'); 11650 11651 function hidePopup(popupId = null, callback = null) { 11652 $('body').removeAttr('style'); 11653 11654 let $popupShow = $popup.find('.popup.popup-show'); 11655 if (popupId != null && popupId != undefined) { 11656 $popupShow = $(`${popupId}.popup-show`); 11657 } 11658 11659 if ($popupShow.length > 0) { 11660 //$popup.find('.popup').removeClass("popup-show popup-hide"); 11661 $popupShow.addClass("popup-hide").removeClass("popup-show"); 11662 $popup.hide(); 11663 11664 setTimeout(function () { 11665 $popupShow.removeClass("popup-hide"); 11666 }, 300); 11667 11668 $popupShow.each((i, e) => { 11669 let popupIdShow = $(e).attr('id'); 11670 let preId = $(e).attr('data-pre-id'); 11671 11672 if (preId != null && preId != undefined) { 11673 if (preId == '#select-payment-options-popup') { 11674 $(preId).removeClass('pre-popup'); 11675 } 11676 11677 showPopup(preId, () => { 11678 $(e).removeAttr('data-pre-id'); 11679 11680 setTimeout(() => { 11681 $(preId).find('.popup-body').scroll(); 11682 }, 500); 11683 }); 11684 } 11685 }) 11686 } 11687 11688 if (callback != null && callback != undefined) { 11689 callback(); 11690 } 11691 //if (isPayLaterRequest) { 11692 // location.reload(); 11693 //} 11694 } 11695 11696 function showPopup(popupSelected, callback = null) { 11697 $('body').css('overflow', 'hidden'); 11698 $(popupSelected).removeClass('popup-hide').addClass('popup-show'); 11699 $popup.show(); 11700 11701 if (callback != null && callback != undefined) { 11702 callback(); 11703 } 11704 } 11705 11706 $(function () { 11707 $popup.on('click', '.popup-close, .swipe-popup-down', function () { 11708 $('body').removeAttr('style'); 11709 11710 const $currentPopup = $(this).parents('.popup'); 11711 $currentPopup.addClass("popup-hide").removeClass("popup-show"); 11712 let timeoutClosed = $(window).outerWidth() > 991 ? 0 : 300; 11713 let popupIdShow = $currentPopup.attr('id'); 11714 let preId = $currentPopup.attr('data-pre-id'); 11715 if (preId != null && preId != undefined) { 11716 setTimeout(function () { 11717 $currentPopup.removeClass("popup-hide"); 11718 }, timeoutClosed); 11719 11720 if (preId == '#select-payment-options-popup') { 11721 $(preId).removeClass('pre-popup'); 11722 } 11723 11724 showPopup(preId, () => { 11725 $currentPopup.removeAttr('data-pre-id'); 11726 11727 setTimeout(() => { 11728 $(preId).find('.popup-body').scroll(); 11729 }, 500); 11730 }); 11731 } 11732 else { 11733 setTimeout(function () { 11734 $popup.hide(); 11735 $currentPopup.removeClass("popup-hide"); 11736 }, timeoutClosed); 11737 } 11738 11739 if (popupIdShow == 'select-payment-options-popup') { 11740 changeFragment(null); 11741 } 11742 }); 11743 11744 $popup.on('click', '.popup-backdrop', function () { 11745 hidePopup(); 11746 }); 11747 11748 $popup.on('click', '.btn-view-cart', function () { 11749 hidePopup(); 11750 $("#my-cart-count").trigger("click"); 11751 }); 11752 11753 let deviceWindowWidth = $(window).outerWidth(); 11754 $(window).resize(function () { 11755 const currentDeviceWindowWidth = $(window).outerWidth(); 11756 if (currentDeviceWindowWidth != deviceWindowWidth) { 11757 if ((currentDeviceWindowWidth > 991 && deviceWindowWidth < 992) 11758 || (currentDeviceWindowWidth < 992 && deviceWindowWidth > 991)) { 11759 deviceWindowWidth = currentDeviceWindowWidth; 11760 hidePopup(); 11761 } 11762 } 11763 }); 11764 11765 $('.swipe-popup-down').each(function () { 11766 var mc = new Hammer(this); 11767 mc.get('swipe').set({ direction: Hammer.DIRECTION_VERTICAL }); 11768 11769 mc.on("swipedown", function (e) { 11770 $('.swipe-popup-down').trigger('click'); 11771 }); 11772 }); 11773 });
11774</script>
11774 11775 11776 11777 11778 11779 11780 11781<div class="modal fade" id="confirmUnavailableItems" tabindex="-1" aria-labelledby="mymodallabel" aria-hidden="true" data-backdrop="static" data-keyboard="true"> 11782 <div class="vertical-alignment-helper"> 11783 <div class="modal-dialog vertical-align-center"> 11784 <div class="modal-dialog bg-light-custom"> 11785 <div class="modal-content"> 11786 <div class="media"> 11787 <div> 11788 <button type="button" class="close-custom close pull-right text-light remove-opacity normal-text clear-opacity " style="padding: 5px 10px;" data-dismiss="modal" aria-label="Close"> 11789 <img src="/Content/images/promotion/close_button_red.svg" /> 11790 </button> 11791 </div> 11792 <div class="media-left media-custom media-promotion"> 11793 11794 <img class="media-object hidden-xs hidden-sm" src="/Content/Images/custom/carrot/warning-icon.svg" height="72" /> 11795 <img class="media-object hidden-md hidden-lg" src="/Content/Images/custom/carrot/warning-icon.svg" height="52" /> 11796 </div> 11797 <div class="media-body media-custom"> 11798 <br /> 11799 <p id="titleconfirmCancelPromotion">Some item(s) in cart unavailable</p> 11800 <div class="media-custom-promotion" id="listUnavailableItems"></div> 11801 </div> 11802 11803 <div class="col-xs-" style="text-align:center; margin-bottom:10px;"> 11804 <button type="button" data-dismiss="modal" class="btn btn-promotion-yes">OK</button> 11805 11806 </div> 11807 </div> 11808 </div> 11809 </div> 11810 </div> 11811 </div> 11812</div> 11813
11814<script type="text/javascript"> 11815 11816 $('#confirmUnavailableItems').on('hide.bs.modal', function () { 11817 location.reload(); 11818 }); 11819</script>
11819 11820 11821 11822<div class="modal fade text-center in" id="confirm-buffet-menu-selection" role="dialog" tabindex="-1" data-keyboard="true"> 11823 <div class="vertical-alignment-helper"> 11824 <div class="modal-dialog vertical-align-center"> 11825 <div class="modal-dialog modal-sm"> 11826 <div class="modal-content"> 11827 <div class="modal-body"> 11828 <div class="media-body color-by-theme" style="padding: 40px 0 15px;"> 11829 <svg xmlns="http://www.w3.org/2000/svg" width="88" height="59" viewBox="0 0 88 59" fill="none"> 11830 <path d="M67.5916 10.5231C63.9064 11.1402 60.6268 12.7976 58.0525 15.3719C53.4858 19.9563 51.8989 26.6742 53.9442 32.8102C54.2263 33.6742 54.4556 34.4676 54.4556 34.6087C54.4556 34.7498 53.909 37.1477 53.2213 39.9336C52.7316 41.9697 52.3173 43.7514 52.1435 44.57C52.0765 44.8854 52.2198 45.0335 52.537 44.9757C53.3779 44.8226 55.2323 44.4442 57.3649 43.9891L62.6193 42.8782L63.6596 43.2838C65.9518 44.2183 67.2389 44.4475 70.1483 44.4651C73.375 44.4651 74.8384 44.1654 77.5009 42.8959C81.6797 40.921 84.8535 37.4122 86.2994 33.1629C87.0223 31.047 87.2515 29.654 87.2515 27.4676C87.2515 25.2812 87.0223 23.8883 86.2994 21.7724C85.4707 19.3392 84.2893 17.4702 82.4027 15.5483C80.0223 13.1326 77.5891 11.7044 74.3976 10.8757C72.8989 10.4702 69.0903 10.2762 67.5916 10.5231Z" fill="#39B54A" /> 11831 <path d="M31.1811 4.63364C31.1811 5.46206 31.8527 6.13364 32.6811 6.13364H36.8235V13.3629H40.0502C41.8134 13.3629 43.4356 13.4158 43.6648 13.4687C44.0527 13.5745 44.0527 13.5745 44.0527 8.26714V6.13364H48.195C49.0234 6.13364 49.695 5.46206 49.695 4.63364V1.63867C49.695 0.810245 49.0234 0.138672 48.195 0.138672H32.6811C31.8527 0.138672 31.1811 0.810245 31.1811 1.63867V4.63364Z" fill="#315771" /> 11832 <path d="M35.587 13.028C22.0455 14.5972 10.0027 23.7307 4.85404 36.373C4.02533 38.3831 2.96739 41.7156 2.96739 42.2975C2.96739 42.6149 3.17898 42.6325 7.25203 42.6325H10.9382C11.2802 42.6325 11.5788 42.4012 11.6644 42.0701L11.9246 41.0632C13.1588 36.232 15.9624 31.3655 19.4888 27.9801C20.6173 26.8869 22.8918 25.0003 23.0681 25.0003C23.1387 25.0003 23.509 25.4587 23.9145 26.0229L24.2175 26.4515C24.4515 26.7825 24.3801 27.2395 24.0564 27.4834L23.4208 27.9625C21.7457 29.2496 19.2948 31.8768 18.1135 33.64C16.4032 36.1791 14.8163 39.7408 14.3402 42.0506L14.2168 42.6325H32.043C48.8465 42.6325 49.8515 42.6149 49.9397 42.3151C49.9926 42.1564 50.4334 40.3756 50.9095 38.3655L51.5554 35.6912C51.7094 35.0537 51.6811 34.3857 51.4737 33.7635C50.6979 31.5418 50.4863 30.1136 50.5039 27.3806C50.5039 24.4713 50.8037 22.8844 51.8087 20.2924C52.2671 19.0758 53.4132 16.9776 54.189 15.902C54.4712 15.5317 54.4359 15.5141 53.0077 14.9851C50.8918 14.227 47.4535 13.4159 45.0555 13.0985C42.7986 12.8164 37.8087 12.7811 35.587 13.028Z" fill="#315771" /> 11833 <path d="M0.5 50.5222C0.5 50.9364 0.835786 51.2722 1.25 51.2722H35.7645V53.9171H21.2179C13.2128 53.9171 6.67128 53.97 6.67128 54.0405C6.67128 54.111 7.25315 55.1337 7.94081 56.3327L9.01002 58.1342C9.14513 58.3619 9.39025 58.5014 9.65498 58.5014H70.7968C71.3237 58.5014 71.812 58.225 72.083 57.7732L75.9836 51.2722H79.6241C80.0383 51.2722 80.3741 50.9364 80.3741 50.5222V46.1413C80.3741 45.6641 79.9872 45.2773 79.5101 45.2773C78.9811 45.2773 78.2758 45.4536 77.6411 45.7181C73.6033 47.5166 68.3489 47.6753 63.8703 46.1589L62.2834 45.6299L55.4068 47.0934C51.6335 47.9045 48.5302 48.5569 48.495 48.5392C48.4597 48.504 48.6007 47.8516 48.7947 47.0758C49.0063 46.2999 49.165 45.577 49.165 45.4712C49.165 45.3302 42.1826 45.2773 24.8325 45.2773H1.25C0.835785 45.2773 0.5 45.6131 0.5 46.0273V50.5222Z" fill="#315771" /> 11834 <path d="M77.4386 22.2608C77.3321 22.1534 77.2053 22.0682 77.0657 22.01C76.9261 21.9518 76.7763 21.9219 76.6251 21.9219C76.4738 21.9219 76.324 21.9518 76.1844 22.01C76.0448 22.0682 75.918 22.1534 75.8115 22.2608L67.2751 30.8087L63.6886 27.2108C63.578 27.104 63.4474 27.02 63.3044 26.9636C63.1613 26.9072 63.0085 26.8796 62.8548 26.8822C62.701 26.8849 62.5493 26.9178 62.4083 26.9791C62.2673 27.0404 62.1397 27.1289 62.0329 27.2395C61.926 27.3501 61.842 27.4806 61.7856 27.6237C61.7293 27.7667 61.7016 27.9195 61.7043 28.0733C61.7069 28.227 61.7399 28.3787 61.8011 28.5197C61.8624 28.6608 61.9509 28.7884 62.0615 28.8952L66.4615 33.2952C66.568 33.4026 66.6948 33.4878 66.8344 33.546C66.974 33.6042 67.1238 33.6341 67.2751 33.6341C67.4263 33.6341 67.5761 33.6042 67.7157 33.546C67.8553 33.4878 67.9821 33.4026 68.0886 33.2952L77.4386 23.9452C77.5549 23.8379 77.6477 23.7077 77.7112 23.5627C77.7747 23.4178 77.8075 23.2612 77.8075 23.103C77.8075 22.9448 77.7747 22.7882 77.7112 22.6433C77.6477 22.4983 77.5549 22.3681 77.4386 22.2608Z" fill="white" /> 11835 </svg> 11836 <h4 class="confirm-buffet-menu-selection__title">
11837 <span>Proceed with</span> 11838 <span id="buffet-name-comfirmed"></span> 11839 </h4> 11840 <div class="confirm-buffet-menu-selection__message"> 11841 <p>Your group members will follow your selection.</p> 11842 <p>Press âConfirmâ to continue</p> 11843 </div> 11844 </div> 11845 <div class="confirm-buffet-menu-selection__footer"> 11846 <button type="button" class="btn confirm-buffet-menu-selection__cancel" onclick="$('#confirm-buffet-menu-selection').modal('hide')">Cancel</button> 11847 <button type="button" class="btn confirm-buffet-menu-selection__confirm" id="confirm-buffet-menu-selection__btn-confirm" onclick="location.href=$('#confirm-buffet-menu-selection__btn-confirm').attr('data-url')">Confirm</button> 11848 </div> 11849 </div> 11850 </div> 11851 </div> 11852 </div> 11853 </div> 11854</div> 11855 11856<div class="modal fade text-center in" id="alert-buffet-menu-changed" role="dialog" tabindex="-1" data-keyboard="true"> 11857 <div class="vertical-alignment-helper"> 11858 <div class="modal-dialog vertical-align-center"> 11859 <div class="modal-dialog modal-sm"> 11860 <div class="modal-content"> 11861 <!--<div class="modal-header">--> 11862 11863 <!--<button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close"> 11864 <img src="~/Content/images/Closeclose.svg" /> 11865 </button> 11866 </div>--> 11867 <div class="modal-body"> 11868 <div class="row"> 11869 <div class="col-xs-12 pull-right"> 11870 <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close"> 11871 <img src="/Content/images/Closeclose.svg" /> 11872 </button> 11873 </div> 11874 </div> 11875 <div class="media-body color-by-theme" style="padding: 0 0 15px;"> 11876 <svg width="101" height="100" viewBox="0 0 101 100" fill="none" xmlns="http://www.w3.org/2000/svg"> 11877 <path fill-rule="evenodd" clip-rule="evenodd" d="M76.4373 4.04149C76.4373 2.03522 74.521 0.58401 72.5899 1.12781L18 16.5L40.9395 17.1187L66.7091 9.5683C67.6781 9.28437 68.6481 10.011 68.6481 11.0207V17.8662L76.4373 18.0763L76.4373 4.04149Z" fill="#B86510" /> 11878 <rect x="15.5" y="16" width="69" height="82" rx="4" fill="#EBB92A" /> 11879 <path fill-rule="evenodd" clip-rule="evenodd" d="M66.6667 45.25V45.2473H66.8714C68.9079 45.2473 69.0137 45.2385 69.0137 45.0798C69.0137 44.7889 68.4847 43.1226 68.0704 42.1176C65.4961 35.7964 59.4746 31.2297 52.7039 30.445C52.5286 30.4256 52.319 30.4096 52.0856 30.3971V26.9979H53.6568C54.3472 26.9979 54.9068 26.4382 54.9068 25.7479V25.2504C54.9068 24.56 54.3472 24.0004 53.6568 24.0004H53.3797C53.369 24.0001 53.3582 24 53.3474 24H46.5905C45.9002 24 45.3405 24.5596 45.3405 25.25V25.7475C45.3405 26.4378 45.9002 26.9975 46.5905 26.9975H46.8676C46.8783 26.9977 46.8891 26.9979 46.8999 26.9979H48.1617V30.3967C47.9284 30.4092 47.7187 30.4252 47.5435 30.4446C40.7727 31.2293 34.7513 35.796 32.177 42.1172C31.7626 43.1222 31.2336 44.7885 31.2336 45.0794C31.2336 45.2381 31.3394 45.2469 33.376 45.2469H35.0254C35.3104 45.2469 35.5593 45.0542 35.6306 44.7783L35.7122 44.4623C36.3294 42.0467 37.7311 39.6134 39.4943 37.9207C40.0586 37.3741 41.1959 36.4308 41.284 36.4308C41.3193 36.4308 41.5044 36.66 41.7072 36.9421L41.7187 36.9584C41.9137 37.2342 41.8542 37.615 41.5845 37.8183L41.4603 37.9119C40.6228 38.5555 39.3974 39.8691 38.8067 40.7507C37.9515 42.0202 37.1581 43.8011 36.92 44.956L36.8583 45.2469H45.7714C47.4957 45.2469 48.8873 45.2465 50.0104 45.2447C51.106 45.2468 52.4698 45.2473 54.1678 45.2473L54.1667 45.25H66.6667Z" fill="white" /> 11880 <path d="M30 48.8725C30 49.2177 30.2798 49.4975 30.625 49.4975H47.6322V50.8199H40.3589C36.3564 50.8199 33.0856 50.8463 33.0856 50.8816C33.0856 50.9169 33.3766 51.4282 33.7204 52.0277L34.1824 52.8061C34.295 52.9958 34.4992 53.1121 34.7198 53.1121H64.8653C65.3044 53.1121 65.7113 52.8817 65.9372 52.5052L67.7418 49.4975H69.2205C69.5994 49.4975 69.8912 49.163 69.8397 48.7876L69.6177 47.1678C69.5952 47.0036 69.5278 46.8488 69.423 46.7204C69.1585 46.7204 68.6869 46.5 68.5705 46.7204C66.5516 47.6196 63.9244 47.699 61.6851 46.9408L60.8917 46.6763L57.4534 47.4081C55.5667 47.8136 54.0151 48.1398 53.9975 48.131C53.9798 48.1134 54.0504 47.7872 54.1474 47.3992C54.2531 47.0113 54.3325 46.6499 54.3325 46.597C54.3325 46.5265 50.8413 46.5 42.1662 46.5H30.625C30.2798 46.5 30 46.7798 30 47.125V48.8725Z" fill="white" /> 11881 <path d="M30 46.9167C30 46.6865 30.1865 46.5 30.4167 46.5H69.5833C69.8134 46.5 70 46.6865 70 46.9167V49.0833C70 49.3135 69.8134 49.5 69.5833 49.5H30.4167C30.1865 49.5 30 49.3135 30 49.0833V46.916
118817Z" fill="white" /> 11882 <rect x="27" y="72.0811" width="46" height="4" rx="2" fill="white" /> 11883 <rect x="31" y="79.0811" width="38" height="4" rx="2" fill="white" /> 11884 <rect x="36" y="86.0811" width="28" height="4" rx="2" fill="white" /> 11885 <path d="M30.9351 62.2139C30.7153 63.0049 30.4077 64.1987 30.0122 65.7954C29.9194 66.3472 29.8291 66.8965 29.7412 67.4434C29.541 68.1367 29.1724 68.4834 28.6353 68.4834C28.2983 68.4834 28.0322 68.3687 27.8369 68.1392C27.6709 67.9438 27.5879 67.7119 27.5879 67.4434C27.5879 66.6523 27.7563 65.688 28.0933 64.5503C28.5962 62.8462 28.8672 61.9014 28.9062 61.7158C29.0479 60.9639 29.1919 60.2119 29.3384 59.46C29.5581 58.4248 29.7949 57.7363 30.0488 57.3945C30.3076 57.0479 30.6323 56.8745 31.0229 56.8745C31.4673 56.8745 31.7944 57.0991 32.0044 57.5483C32.1997 57.9731 32.4097 58.8423 32.6343 60.1558C32.8491 61.4302 33.1689 62.8022 33.5938 64.272C34.1504 62.8218 34.668 61.23 35.1465 59.4966L35.5566 57.812C35.8203 57.1138 36.228 56.7646 36.7798 56.7646C37.312 56.7646 37.7075 57.1699 37.9663 57.9805C38.0737 58.3076 38.1885 58.918 38.3105 59.8115C38.5938 61.8916 38.9502 63.6738 39.3799 65.1582C39.8145 66.667 40.0317 67.4873 40.0317 67.6191C40.0317 67.9072 39.917 68.1489 39.6875 68.3442C39.4727 68.52 39.231 68.6079 38.9624 68.6079C38.4302 68.6079 38.0347 68.2271 37.7759 67.4653L37.3657 65.6929C37.1313 64.814 36.8774 63.5518 36.604 61.9062C36.3843 62.5605 36.0205 63.5884 35.5127 64.9897L35.0732 66.3374C34.8926 66.8696 34.7046 67.3066 34.5093 67.6484C34.2505 68.1025 33.8892 68.3296 33.4253 68.3296C32.9663 68.3296 32.6147 68.0586 32.3706 67.5166L31.9604 66.1543C31.5796 64.9043 31.2378 63.5908 30.9351 62.2139ZM48.4253 58.6104C48.3276 58.6104 48.2251 58.5957 48.1177 58.5664C47.3267 58.3516 46.5576 58.2441 45.8105 58.2441C45.4443 58.2441 45.0513 58.2734 44.6313 58.332C44.2114 58.3906 43.7646 58.4785 43.291 58.5957C43.291 59.2451 43.269 60.2095 43.2251 61.4888C43.4985 61.4692 44.4531 61.3789 46.0889 61.2178C47.0215 61.125 47.6123 61.0786 47.8613 61.0786C48.1494 61.0786 48.396 61.1714 48.6011 61.3569C48.8062 61.5376 48.9087 61.7793 48.9087 62.082C48.9087 62.6631 48.5986 62.9927 47.9785 63.0708C47.5879 63.1001 47.0044 63.1489 46.228 63.2173C45.5347 63.2954 44.4897 63.3906 43.0933 63.5029C43.0591 64.123 43.042 64.6235 43.042 65.0044C43.042 65.9614 43.0981 66.5059 43.2104 66.6377C43.2642 66.7012 43.5718 66.7329 44.1333 66.7329C44.436 66.7329 44.8926 66.7256 45.5029 66.7109C46.1133 66.6963 46.5698 66.689 46.8726 66.689C46.9702 66.689 47.1143 66.6743 47.3047 66.645C47.4951 66.6157 47.6367 66.6011 47.7295 66.6011C48.0127 66.6011 48.2544 66.6816 48.4546 66.8428C48.6841 67.0234 48.7988 67.2773 48.7988 67.6045C48.7988 68.1514 48.5132 68.4785 47.9419 68.5859C47.4536 68.6787 46.4404 68.7251 44.9023 68.7251C43.3105 68.7251 42.2729 68.5103 41.7896 68.0806C41.2573 67.6069 40.9912 66.5815 40.9912 65.0044C40.9912 64.3501 41.0376 63.3687 41.1304 62.0601C41.228 60.7466 41.2769 59.7651 41.2769 59.1157C41.2769 58.9448 41.2524 58.6934 41.2036 58.3613C41.1548 58.0244 41.1304 57.7705 41.1304 57.5996C41.1304 56.8574 41.4722 56.4863 42.1558 56.4863C42.3706 56.4863 42.5684 56.5474 42.749 56.6694C43.3154 56.5278 43.8525 56.4229 44.3604 56.3545C44.873 56.2812 45.3564 56.2446 45.8105 56.2446C47.041 56.2446 48.0249 56.3862 48.7622 56.6694C49.2114 56.8403 49.436 57.1504 49.436 57.5996C49.436 57.8535 49.3481 58.0781 49.1724 58.2734C48.9771 58.498 48.728 58.6104 48.4253 58.6104ZM61.2573 66.1982C61.2573 66.4424 61.2158 66.8281 61.1328 67.3555C61.0352 67.9854 60.6787 68.3003 60.0635 68.3003C59.7217 68.3003 59.3359 68.1074 58.9062 67.7217C57.0264 66.0273 54.9048 63.6519 52.5415 60.5952C52.5122 61.8647 52.4976 62.6436 52.4976 62.9316C52.4976 63.3174 52.5049 63.8984 52.5195 64.6748C52.5391 65.4512 52.5488 66.0322 52.5488 66.418C52.5488 67.8584 52.1973 68.5786 51.4941 68.5786C51.1377 68.5786 50.8521 68.4688 50.6372 68.249C50.4468 68.0537 50.3516 67.8169 50.3516 67.5386C50.3516 67.3433 50.3662 67.0479 50.3955 66.6523C50.4297 66.2568 50.4468 65.9614 50.4468 65.7661C
1188550.4468 65.478 50.4565 65.0459 50.4761 64.4697C50.4956 63.8936 50.5054 63.4614 50.5054 63.1733C50.5054 62.8657 50.498 62.4019 50.4834 61.7817C50.4688 61.1616 50.4614 60.6978 50.4614 60.3901C50.4614 60.0972 50.4321 59.6602 50.3735 59.0791C50.3149 58.498 50.2856 58.061 50.2856 57.7681C50.2856 57.4751 50.4102 57.2139 50.6592 56.9844C50.9131 56.7549 51.2012 56.6401 51.5234 56.6401C51.8848 56.6401 52.2852 56.9526 52.7246 57.5776C54.9414 60.7417 57.1289 63.3223 59.2871 65.3193C59.292 65.1631 59.2944 64.792 59.2944 64.2061C59.2944 61.7988 59.27 60.1753 59.2212 59.3354C59.2114 59.1938 59.1797 58.9302 59.126 58.5444C59.0771 58.2026 59.0527 57.9341 59.0527 57.7388C59.0527 57.0649 59.4092 56.728 60.1221 56.728C60.918 56.728 61.3159 57.9561 61.3159 60.4121C61.3159 60.4658 61.311 60.8516 61.3013 61.5693C61.272 64.0498 61.2573 65.5928 61.2573 66.1982ZM70.332 66.7329C69.9756 67.2163 69.5459 67.6191 69.043 67.9414C68.4277 68.332 67.7954 68.5273 67.146 68.5273C65.9009 68.5273 64.9756 68.2881 64.3701 67.8096C63.0908 66.7988 62.4512 65.0435 62.4512 62.5435C62.4512 62.3042 62.4634 61.9478 62.4878 61.4741C62.5122 61.0005 62.5244 60.644 62.5244 60.4048C62.5244 60.2144 62.5293 59.9312 62.5391 59.5552C62.5488 59.1743 62.5537 58.8887 62.5537 58.6982C62.5537 58.3076 62.6245 57.939 62.7661 57.5923C62.9565 57.1333 63.2227 56.9038 63.5645 56.9038C63.833 56.9038 64.0698 56.9917 64.2749 57.1675C64.4995 57.353 64.6118 57.5923 64.6118 57.8853C64.6118 58.1636 64.6069 58.5859 64.5972 59.1523C64.5923 59.7139 64.5898 60.1362 64.5898 60.4194C64.5898 60.6538 64.5776 61.0078 64.5532 61.4814C64.5288 61.9551 64.5166 62.3091 64.5166 62.5435C64.5166 63.3003 64.6045 64.0034 64.7803 64.6528C64.9854 65.4292 65.2856 65.9712 65.6812 66.2788C65.8862 66.4399 66.3745 66.5254 67.146 66.5352C68.4351 66.5547 69.3042 65.4561 69.7534 63.2393C69.9878 62.0918 70.105 60.4805 70.105 58.4053C70.105 58.1318 70.1855 57.8682 70.3467 57.6143C70.5664 57.2773 70.8789 57.1089 71.2842 57.1089C71.6162 57.1089 71.8652 57.231 72.0312 57.4751C72.1582 57.6558 72.2217 57.856 72.2217 58.0757C72.2217 60.0044 72.1313 61.5083 71.9507 62.5874C71.6772 64.2524 71.1377 65.6343 70.332 66.7329Z" fill="white" /> 11886 </svg> 11887 <h4 class="alert-buffet-menu-changed__title"> 11888 <span>Buffet type has changed!</span> 11889 </h4> 11890 <div class="alert-buffet-menu-changed__message"> 11891 <p>You've been redirected to Buffet B's Menu Page. If you don't see it, please refresh your browser.</p> 11892 </div> 11893 </div> 11894 <div class="alert-buffet-menu-changed__footer"> 11895 <button type="button" data-dismiss="modal" class="btn alert-buffet-menu-changed__confirm" id="alert-buffet-menu-changed__btn-confirm">OK</button> 11896 </div> 11897 </div> 11898 </div> 11899 </div> 11900 </div> 11901 </div> 11902</div> 11903 11904<div class="modal fade text-center alert-sale-voucher-expire" id="alertSaleVoucherExpire" role="dialog" tabindex="-1" data-keyboard="true"> 11905 <div class="vertical-alignment-helper"> 11906 <div class="modal-dialog vertical-align-center"> 11907 <div class="modal-dialog modal-sm"> 11908 <div class="modal-content"> 11909 <div class="modal-body alert-sale-voucher-expire-body"> 11910 <div class="alert-sale-voucher-expire-remove-icon" data-dismiss="modal"> 11911 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 11912 <path d="M13.5909 12L18.0441 7.54687C18.2554 7.3359 18.3743 7.04962 18.3745 6.75099C18.3748 6.45237 18.2564 6.16587 18.0455 5.95453C17.8345 5.74319 17.5482 5.62431 17.2496 5.62404C16.951 5.62378 16.6645 5.74215 16.4531 5.95312L12 10.4062L7.54687 5.95312C7.33553 5.74178 7.04888 5.62305 6.75 5.62305C6.45111 5.62305 6.16447 5.74178 5.95312 5.95312C5.74178 6.16447 5.62305 6.45111 5.62305 6.75C5.62305 7.04888 5.74178 7.33553 5.95312 7.54687L10.4062 12L5.95312 16.4531C5.74178 16.6645 5.62305 16.9511 5.62305 17.25C
119125.62305 17.5489 5.74178 17.8355 5.95312 18.0469C6.16447 18.2582 6.45111 18.3769 6.75 18.3769C7.04888 18.3769 7.33553 18.2582 7.54687 18.0469L12 13.5937L16.4531 18.0469C16.6645 18.2582 16.9511 18.3769 17.25 18.3769C17.5489 18.3769 17.8355 18.2582 18.0469 18.0469C18.2582 17.8355 18.3769 17.5489 18.3769 17.25C18.3769 16.9511 18.2582 16.6645 18.0469 16.4531L13.5909 12Z" fill="#333333" /> 11913 </svg> 11914 </div> 11915 <div> 11916 <svg xmlns="http://www.w3.org/2000/svg" width="81" height="80" viewBox="0 0 81 80" fill="none"> 11917 <path d="M74.4829 58.74L46.9926 11.24C46.3331 10.1025 45.3862 9.15827 44.2469 8.50188C43.1076 7.8455 41.8159 7.5 40.501 7.5C39.1862 7.5 37.8944 7.8455 36.7551 8.50188C35.6158 9.15827 34.669 10.1025 34.0094 11.24V11.2425L6.51882 58.74C5.85881 59.8799 5.51066 61.1735 5.5094 62.4906C5.50814 63.8078 5.85381 65.1021 6.51164 66.2432C7.16946 67.3843 8.11623 68.3321 9.25668 68.9911C10.3971 69.6501 11.691 69.9971 13.0082 69.9972H67.9941C69.3113 69.997 70.6051 69.65 71.7455 68.991C72.8859 68.3319 73.8327 67.3842 74.4905 66.243C75.1483 65.1019 75.4939 63.8077 75.4926 62.4905C75.4913 61.1734 75.1432 59.8798 74.4832 58.74H74.4829ZM37.9985 32.4997C37.9985 31.8366 38.2619 31.2008 38.7307 30.7319C39.1996 30.2631 39.8355 29.9997 40.4985 29.9997C41.1616 29.9997 41.7974 30.2631 42.2663 30.7319C42.7351 31.2008 42.9985 31.8366 42.9985 32.4997V44.9997C42.9985 45.6627 42.7351 46.2986 42.2663 46.7674C41.7974 47.2363 41.1616 47.4997 40.4985 47.4997C39.8355 47.4997 39.1996 47.2363 38.7307 46.7674C38.2619 46.2986 37.9985 45.6627 37.9985 44.9997V32.4997ZM40.5004 60.0006C39.7587 60.0006 39.0337 59.7807 38.417 59.3686C37.8003 58.9566 37.3197 58.3709 37.0358 57.6857C36.752 57.0005 36.6777 56.2465 36.8224 55.519C36.9671 54.7916 37.3243 54.1234 37.8487 53.599C38.3732 53.0745 39.0414 52.7174 39.7688 52.5727C40.4962 52.428 41.2502 52.5022 41.9354 52.7861C42.6207 53.0699 43.2063 53.5505 43.6184 54.1672C44.0304 54.7839 44.2504 55.5089 44.2504 56.2506C44.2504 57.2452 43.8553 58.199 43.152 58.9023C42.4488 59.6055 41.4949 60.0006 40.5004 60.0006Z" fill="#EEB711" /> 11918 </svg> 11919 </div> 11920 <div class="media-body"> 11921 <div class="alert-sale-voucher-expire-msg"> 11922 <div>Alert: E-Voucher(s) Removed</div> 11923 <div class="text-left" style="font-size: 12px;"> 11924 <p> 11925 The following e-voucher(s) is expired and will be removed from your cart: 11926 </p> 11927 <ul id="sale-voucher-expire-list"> 11928 </ul> 11929 <p> 11930 Please add more item if needed or proceed with the remaining item(s). 11931 </p> 11932 </div> 11933 </div> 11934 </div> 11935 <div class="alert-sale-voucher-expire-footer"> 11936 <button type="button" class="btn alert-sale-voucher-expire-add-more-item-btn" data-dismiss="modal">ADD MORE ITEM</button> 11937 <button type="button" class="btn alert-sale-voucher-expire-proceed-btn">PROCEED WITH REMAINING ITEM(S)</button> 11938 </div> 11939 </div> 11940 </div> 11941 </div> 11942 </div> 11943 </div> 11944</div> 11945 11946 11947<div class="modal fade text-center" id="confirm-merchant-os-updated" role="dialog" data-backdrop="static"> 11948 <div class="vertical-alignment-helper"> 11949 <div class="modal-dialog vertical-align-center"> 11950 <div class="modal-dialog modal-sm"> 11951 <div class="modal-content"> 11952 <div class="modal-body"> 11953 <div class="media-body color-by-theme" style="padding: 40px 0 15px;"> 11954 <svg xmlns="http://www.w3.org/2000/svg" width="88" height="59" viewBox="0 0 88 59" fill="none"> 11955 <path d="M67.5916 10.5231C63.9064 11.1402 60.6268 12.7976 58.0525 15.3719C53.4858 19.9563 51.8989 26.6742 53.9442 32.8102C54.2263 33.6742 54.4556 34.4676 54.4556 34.6087C54.4556 34.7498 53.909 37.1477 53.2213 39.9336C52.7316 41.9697 52.3173 43.7514 52.1435 44.57C52.0765 44.8854 52.2198 45.0335 52.537 44.9757C53.3779 44.8226 55.2323 44.4442 57.3649 43.9891L62.6193 42.8782L63.6596 43.2838C65.9518 44.2183 67.2389 44.4475 70.1483 44.4651C73.375 44.4651 74.8384 44.1654 77.5009 42.8959C81.6797 40.921 84.8535 37.4122 86.2994 33.1629C87.0223 31.047 87.2515 29.654 87.2515 27.4676C87.2515 25.2812 87.0223 23.8883 86.2994 21.7724C85.4707 19.3392 84.2893 17.4702 82.4027 15.5483C80.0223 13.1326 77.5891 11.7044 74.3976 10.8757C72.8989 10.4702 69.0903 10.2762 67.5916 10.5231Z" fill="#39B54A" /> 11956 <path d="M31.1811 4.63364C31.1811 5.46206 31.8527 6.13364 32.6811 6.13364H36.8235V13.3629H40.0502C41.8134 13.3629 43.4356 13.4158 43.6648 13.4687C44.0527 13.5745 44.0527 13.5745 44.0527 8.26714V6.13364H48.195C49.0234 6.13364 49.695 5.46206 49.695 4.63364V1.63867C49.695 0.810245 49.0234 0.138672 48.195 0.138672H32.6811C31.8527 0.138672 31.1811 0.810245 31.1811 1.63867V4.63364Z" fill="#315771" /> 11957 <path d="M35.587 13.028C22.0455 14.5972 10.
119570027 23.7307 4.85404 36.373C4.02533 38.3831 2.96739 41.7156 2.96739 42.2975C2.96739 42.6149 3.17898 42.6325 7.25203 42.6325H10.9382C11.2802 42.6325 11.5788 42.4012 11.6644 42.0701L11.9246 41.0632C13.1588 36.232 15.9624 31.3655 19.4888 27.9801C20.6173 26.8869 22.8918 25.0003 23.0681 25.0003C23.1387 25.0003 23.509 25.4587 23.9145 26.0229L24.2175 26.4515C24.4515 26.7825 24.3801 27.2395 24.0564 27.4834L23.4208 27.9625C21.7457 29.2496 19.2948 31.8768 18.1135 33.64C16.4032 36.1791 14.8163 39.7408 14.3402 42.0506L14.2168 42.6325H32.043C48.8465 42.6325 49.8515 42.6149 49.9397 42.3151C49.9926 42.1564 50.4334 40.3756 50.9095 38.3655L51.5554 35.6912C51.7094 35.0537 51.6811 34.3857 51.4737 33.7635C50.6979 31.5418 50.4863 30.1136 50.5039 27.3806C50.5039 24.4713 50.8037 22.8844 51.8087 20.2924C52.2671 19.0758 53.4132 16.9776 54.189 15.902C54.4712 15.5317 54.4359 15.5141 53.0077 14.9851C50.8918 14.227 47.4535 13.4159 45.0555 13.0985C42.7986 12.8164 37.8087 12.7811 35.587 13.028Z" fill="#315771" /> 11958 <path d="M0.5 50.5222C0.5 50.9364 0.835786 51.2722 1.25 51.2722H35.7645V53.9171H21.2179C13.2128 53.9171 6.67128 53.97 6.67128 54.0405C6.67128 54.111 7.25315 55.1337 7.94081 56.3327L9.01002 58.1342C9.14513 58.3619 9.39025 58.5014 9.65498 58.5014H70.7968C71.3237 58.5014 71.812 58.225 72.083 57.7732L75.9836 51.2722H79.6241C80.0383 51.2722 80.3741 50.9364 80.3741 50.5222V46.1413C80.3741 45.6641 79.9872 45.2773 79.5101 45.2773C78.9811 45.2773 78.2758 45.4536 77.6411 45.7181C73.6033 47.5166 68.3489 47.6753 63.8703 46.1589L62.2834 45.6299L55.4068 47.0934C51.6335 47.9045 48.5302 48.5569 48.495 48.5392C48.4597 48.504 48.6007 47.8516 48.7947 47.0758C49.0063 46.2999 49.165 45.577 49.165 45.4712C49.165 45.3302 42.1826 45.2773 24.8325 45.2773H1.25C0.835785 45.2773 0.5 45.6131 0.5 46.0273V50.5222Z" fill="#315771" /> 11959 <path d="M77.4386 22.2608C77.3321 22.1534 77.2053 22.0682 77.0657 22.01C76.9261 21.9518 76.7763 21.9219 76.6251 21.9219C76.4738 21.9219 76.324 21.9518 76.1844 22.01C76.0448 22.0682 75.918 22.1534 75.8115 22.2608L67.2751 30.8087L63.6886 27.2108C63.578 27.104 63.4474 27.02 63.3044 26.9636C63.1613 26.9072 63.0085 26.8796 62.8548 26.8822C62.701 26.8849 62.5493 26.9178 62.4083 26.9791C62.2673 27.0404 62.1397 27.1289 62.0329 27.2395C61.926 27.3501 61.842 27.4806 61.7856 27.6237C61.7293 27.7667 61.7016 27.9195 61.7043 28.0733C61.7069 28.227 61.7399 28.3787 61.8011 28.5197C61.8624 28.6608 61.9509 28.7884 62.0615 28.8952L66.4615 33.2952C66.568 33.4026 66.6948 33.4878 66.8344 33.546C66.974 33.6042 67.1238 33.6341 67.2751 33.6341C67.4263 33.6341 67.5761 33.6042 67.7157 33.546C67.8553 33.4878 67.9821 33.4026 68.0886 33.2952L77.4386 23.9452C77.5549 23.8379 77.6477 23.7077 77.7112 23.5627C77.7747 23.4178 77.8075 23.2612 77.8075 23.103C77.8075 22.9448 77.7747 22.7882 77.7112 22.6433C77.6477 22.4983 77.5549 22.3681 77.4386 22.2608Z" fill="white" /> 11960 </svg> 11961 <h4 class="confirm-merchant-os-updated__title"> 11962 </h4> 11963 <div class="confirm-merchant-os-updated__message"> 11964 <p>Order has been successfully updated. You can return to the order details to manage it further.</p> 11965 </div> 11966 </div> 11967 <div class="confirm-merchant-os-updated__footer"> 11968 <button type="button" class="btn confirm-merchant-os-updated__confirm" id="confirm-merchant-os-updated__btn-confirm">OK, GOT IT</button> 11969 </div> 11970 </div> 11971 </div> 11972 </div> 11973 </div> 11974 </div> 11975</div> 11976 11977 11978<div class="modal fade text-center keyboard-merchant-os" id="keyboard-merchant-os" role="dialog" data-backdrop="static"> 11979 <div class="vertical-alignment-helper"> 11980 <div class="vertical-align-center"> 11981 <div class="modal-dialog"> 11982 <div class="modal-content"> 11983 <div class="modal-header"> 11984 <div class="keyboard-merchant-os__remove-icon" data-dismiss="modal" data-bs-dismiss="modal"> 11985 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"> 11986 <path d="M20 2.01429L17.9857 0L10 7.98571L2.01429 0L0 2.01429L7.98571 10L0 17.9857L2.01429 20L10 12.0143L17.9857 20L20 17.9857L12.0143 10L20 2.01429Z" fill="black" fill-opacity="0.54" /> 11987 </svg> 11988 </div> 11989 <h4 class="modal-title keyboard-merchant-os__title">Please enter your ID & Pin Code</h4> 11990 </div> 11991 <div class="modal-body"> 11992 <div style="padding: 5px;"> 11993 <div class="form-group keyboard-merchant-os-group"> 11994 <input type="text" class="form-control keyboard-merchant-os-input keyboard-merchant-os__your-id input-focus" id="your-id" disabled="disabled" placeholder="Enter your ID"> 11995 </div> 11996 <div class="form-group keyboard-merchant-os-group"> 11997 <input type="text" class="form-control keyboard-merchant-os-input keyboard-merchant-os__your-pin-code" id="your-pin-code" disabled="disabled" placeholder="Enter your Pin Code"> 11998 <div class="keyboard-merchant-os__your-pin-code-bg"></div> 11999 </div> 12000 </div> 12001 <table class="table keyboard-merchant-os__table" style="table-layout: fixed"> 12002 <tbody> 12003 <tr> 12004 <td> 12005 <div class="key-number" data-id="1">1</div> 12006 </td> 12007 <td> 12008 <div class="key-number" data-id="2">
120082</div> 12009 </td> 12010 <td> 12011 <div class="key-number" data-id="3">3</div> 12012 </td> 12013 </tr> 12014 <tr> 12015 <td> 12016 <div class="key-number" data-id="4">4</div> 12017 </td> 12018 <td> 12019 <div class="key-number" data-id="5">5</div> 12020 </td> 12021 <td> 12022 <div class="key-number" data-id="6">6</div> 12023 </td> 12024 </tr> 12025 <tr> 12026 <td> 12027 <div class="key-number" data-id="7">7</div> 12028 </td> 12029 <td> 12030 <div class="key-number" data-id="8">8</div> 12031 </td> 12032 <td> 12033 <div class="key-number" data-id="9">9</div> 12034 </td> 12035 </tr> 12036 <tr> 12037 <td> 12038 <div class="key-number" data-id="" style="font-size: 20px;">Clear</div> 12039 </td> 12040 <td> 12041 <div class="key-number" data-id="0">0</div> 12042 </td> 12043 <td> 12044 <div class="key-number" data-id="-1"> 12045 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="25" viewBox="0 0 32 25" fill="none"> 12046 <path fill-rule="evenodd" clip-rule="evenodd" d="M26.8171 0.765636H13.4876C11.871 0.762547 10.3204 1.41494 9.1813 2.57741L0.610373 11.2556C-0.203458 12.0813 -0.203458 13.4189 0.610373 14.2446L9.17434 22.9228C10.3151 24.087 11.8686 24.7395 13.4876 24.7346H26.8171C29.6779 24.7307 31.9962 22.3815 32 19.4825V6.01765C31.9962 3.11865 29.6779 0.769519 26.8171 0.765636ZM29.9191 19.4836C29.9191 21.2162 28.5331 22.6207 26.8233 22.6207H13.4938C12.4315 22.6196 11.413 22.1911 10.6624 21.4293L2.09143 12.7512L10.6554 4.07303C11.4078 3.30954 12.4291 2.88086 13.4938 2.88163H26.8233C27.6444 2.88163 28.4318 3.21215 29.0124 3.80047C29.593 4.38879 29.9191 5.18673 29.9191 6.01874V19.4836ZM23.2112 7.71844C23.5501 7.37794 24.0966 7.37794 24.4356 7.71844C24.5991 7.88376 24.6911 8.10824 24.6911 8.34234C24.6911 8.57643 24.5991 8.80091 24.4356 8.96623L20.6997 12.7519L24.4356 16.5376C24.7218 16.8878 24.698 17.4012 24.3807 17.7227C24.0634 18.0443 23.5568 18.0683 23.2112 17.7783L19.4753 13.9927L15.7394 17.7783C15.5288 18.036 15.1924 18.1507 14.8709 18.0742C14.5495 17.9977 14.2985 17.7434 14.223 17.4177C14.1476 17.0919 14.2607 16.751 14.515 16.5376L18.2509 12.7519L14.515 8.95918C14.2607 8.74578 14.1476 8.40484 14.223 8.0791C14.2985 7.75336 14.5495 7.49902 14.8709 7.42257C15.1924 7.34611 15.5288 7.46073 15.7394 7.71844L19.4753 11.5112L23.2112 7.71844Z" fill="#333333" /> 12047 </svg> 12048 </div> 12049 </td> 12050 </tr> 12051 </tbody> 12052 </table> 12053 </div> 12054 </div> 12055 </div> 12056 </div> 12057 </div> 12058</div> 12059
12060<script> 12061 var $keyboardMerchantOS = $("#keyboard-merchant-os"); 12062 var inputFocusMerchantOS = ''; 12063 const yourID = '#your-id'; 12064 const yourPinCode = '#your-pin-code'; 12065 const titleKeyboardMerchantOS = $keyboardMerchantOS.find('.keyboard-merchant-os__title').text(); 12066 12067 $(document).ready(function () { 12068 $keyboardMerchantOS.on('show.bs.modal', function (e) { 12069 $(yourID).val(''); 12070 $(yourPinCode).val(''); 12071 $(yourPinCode).parent().find('.keyboard-merchant-os__your-pin-code-bg').removeAttr('data-value'); 12072 $keyboardMerchantOS.find('.keyboard-merchant-os__title').text(titleKeyboardMerchantOS).removeAttr("style"); 12073 12074 inputFocusMerchantOS = yourID; 12075 toggleInputFocusClass(inputFocusMerchantOS); 12076 }) 12077 12078 $keyboardMerchantOS.on("click", ".key-number", function () { 12079 var $keyNumber = $(this); 12080 $keyNumber.addClass("focus-within"); 12081 let dataNumber = $keyNumber.attr("data-id"); 12082 let currentValue = $(inputFocusMerchantOS).val(); 12083 12084 if (dataNumber == null || dataNumber == '') { 12085 $(inputFocusMerchantOS).val(''); 12086 $(inputFocusMerchantOS).parent().find('.keyboard-merchant-os__your-pin-code-bg').removeAttr('data-value'); 12087 } 12088 else if (dataNumber == -1 || dataNumber == '-1') { 12089 if (currentValue != null && currentValue.length > 0) { 12090 currentValue = currentValue.slice(0, -1); 12091 $(inputFocusMerchantOS).val(currentValue); 12092 12093 if (inputFocusMerchantOS == yourPinCode) { 12094 let currentValuePoints = ''; 12095 for (let i = 0; i < currentValue.length; i++) { 12096 currentValuePoints += "â¢"; 12097 } 12098 12099 $(inputFocusMerchantOS).parent().find('.keyboard-merchant-os__your-pin-code-bg').attr('data-value', currentValuePoints); 12100 } 12101 } 12102 } 12103 else if (currentValue == null || currentValue.length < 4) { 12104 currentValue += dataNumber; 12105 12106 if (currentValue != null) { 12107 $(inputFocusMerchantOS).val(currentValue); 12108 12109 if (inputFocusMerchantOS == yourPinCode) { 12110 let currentValuePoints = ''; 12111 for (let i = 0; i < currentValue.length; i++) { 12112 currentValuePoints += "â¢"; 12113 } 12114 12115 $(inputFocusMerchantOS).parent().find('.keyboard-merchant-os__your-pin-code-bg').attr('data-value', currentValuePoints); 12116 } 12117 12118 if (inputFocusMerchantOS == yourID && currentValue.length == 4) { 12119 $(yourPinCode).val(''); 12120 $(yourPinCode).parent().find('.keyboard-merchant-os__your-pin-code-bg').removeAttr('data-value'); 12121 if ($(yourPinCode).val() != null && $(yourPinCode).val().length == 4) { 12122 validUpdateOrder(); 12123 } 12124 else { 12125 inputFocusMerchantOS = yourPinCode; 12126 toggleInputFocusClass(inputFocusMerchantOS); 12127 } 12128 } 12129 else if (inputFocusMerchantOS == yourPinCode && currentValue.length == 4) { 12130 if ($(yourID).val() != null && $(yourID).val().length == 4) { 12131 validUpdateOrder(); 12132 } 12133 else { 12134 inputFocusMerchantOS = yourID; 12135 toggleInputFocusClass(inputFocusMerchantOS); 12136 } 12137 } 12138 } 12139 } 12140 12141 setTimeout(function () { 12142 $keyNumber.removeClass("focus-within"); 12143 }, 100); 12144 }); 12145 12146 $keyboardMerchantOS.on("click", ".keyboard-merchant-os-group", function () { 12147 let inputId = $(this).find('.keyboard-merchant-os-input').attr("id"); 12148 inputId = `#${inputId}`; 12149 12150 if (inputFocusMerchantOS == yourID && $(yourID).val().length < 4) { 12151 if (inputId != yourID) { 12152 $(yourID).css("border-color", "#ff1f1f"); 12153 12154 setTimeout(function () { 12155 $(yourID).removeAttr("style"); 12156 }, 750); 12157 } 12158 } 12159 else { 12160 inputFocusMerchantOS = inputId; 12161 12162 toggleInputFocusClass(inputFocusMerchantOS); 12163 } 12164 }); 12165 12166 function toggleInputFocusClass(inputFocus) { 12167 $keyboardMerchantOS.find('.keyboard-merchant-os-input').removeClass('input-focus'); 12168 $(inputFocus).addClass('input-focus'); 12169 } 12170 12171 function validUpdateOrder() { 12172 const model = { 12173 yourID: $(yourID).val(), 12174 yourPinCode: $(yourPinCode).val() 12175 }; 12176 12177 $.ajax({
12178 type: "POST", 12179 url: '/Home/CheckEmployeePermission', 12180 data: model, 12181 success: function(result) { 12182 if (result.status) { 12183 ValidateCartToCheckOut(false, true, false); 12184 12185 $keyboardMerchantOS.find('.keyboard-merchant-os__title').text(titleKeyboardMerchantOS).removeAttr("style"); 12186 $keyboardMerchantOS.modal('hide'); 12187 } 12188 else if (result.message) { 12189 $keyboardMerchantOS.find('.keyboard-merchant-os__title').text(result.message).css("color", "#ff1f1f"); 12190 } 12191 }, 12192 error: function(error) { 12193 console.log(error); 12194 } 12195 }); 12196 } 12197 }); 12198</script>
12198 12199 12200<div id="tooltip-number-keyboard" class="tooltip-number-keyboard"></div> 12201 12202
12203<script> 12204 var itemOpenPriceElementId = ''; 12205 const numberKeyboardValues = [ 12206 '1_2_3', 12207 '4_5_6', 12208 '7_8_9', 12209 '._0_-1', 12210 'DONE' 12211 ] 12212 const tooltipNumberKeyboardId = '#tooltip-number-keyboard'; 12213 12214 12215 $(document).ready(function () { 12216 $(tooltipNumberKeyboardId).on("click", ".key-number", function () { 12217 let $keyNumber = $(this); 12218 $keyNumber.addClass("focus-within"); 12219 12220 let dataNumber = $keyNumber.attr("data-id"); 12221 let currentValue = $(itemOpenPriceElementId).val(); 12222 if (dataNumber == -1 || dataNumber == '-1') { 12223 if (currentValue != null && currentValue.length > 0) { 12224 currentValue = currentValue.slice(0, -1); 12225 } 12226 } 12227 else { 12228 if (dataNumber == '.' && currentValue.includes('.')) { 12229 12230 } 12231 else { 12232 if ((currentValue == null || currentValue == '') && dataNumber == '.') { 12233 currentValue = '0'; 12234 } 12235 12236 currentValue += dataNumber; 12237 } 12238 } 12239 12240 $(itemOpenPriceElementId).val(currentValue); 12241 $(itemOpenPriceElementId).trigger('change'); 12242 12243 setTimeout(function () { 12244 $keyNumber.removeClass("focus-within"); 12245 }, 100); 12246 }); 12247 12248 $(tooltipNumberKeyboardId).on("click", ".tooltip-number-keyboard-done-btn", function () { 12249 $(tooltipNumberKeyboardId).removeClass('display-block'); 12250 }); 12251 12252 $('#adjust-measurement-merchant-os').on("click", ".form-adjust-measurement-item", function () { 12253 openKeyboardNumberMerchantOS(this); 12254 }); 12255 12256 $(document).on('click', function (event) { 12257 if ($(tooltipNumberKeyboardId).hasClass('display-block') 12258 && !$(event.target).closest(tooltipNumberKeyboardId).length 12259 && !$(event.target).is('.group-adjust-measurement-item') 12260 && !$(event.target).closest('.group-adjust-measurement-item').length 12261 //&& !$(event.target).is('.form-adjust-measurement-item') 12262 //&& !$(event.target).is('.change-measurement-unit-size-value') 12263 //&& !$(event.target).is('.change-measurement-unit-size-price') 12264 ) { 12265 12266 $(tooltipNumberKeyboardId).removeClass('display-block'); 12267 $(tooltipNumberKeyboardId).html(''); 12268 } 12269 }); 12270 }); 12271 12272 function initialKeyboardNumberMerchantOS() { 12273 $(tooltipNumberKeyboardId).html(''); 12274 12275 let tableDiv = $('<table></table>'); 12276 12277 for (var i = 0; i < numberKeyboardValues.length; i++) { 12278 let trDiv = $('<tr></tr>'); 12279 let rowValues = numberKeyboardValues[i].split('_'); 12280 12281 if (rowValues.length > 1) { 12282 for (var j = 0; j < rowValues.length; j++) { 12283 let newDiv = $('<div></div>'); 12284 12285 if (rowValues[j] == -1 || rowValues[j] == '-1') { 12286 newDiv.html('<svg xmlns="http://www.w3.org/2000/svg" width="25" height="20" viewBox="0 0 32 25" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M26.8171 0.765636H13.4876C11.871 0.762547 10.3204 1.41494 9.1813 2.57741L0.610373 11.2556C-0.203458 12.0813 -0.203458 13.4189 0.610373 14.2446L9.17434 22.9228C10.3151 24.087 11.8686 24.7395 13.4876 24.7346H26.8171C29.6779 24.7307 31.9962 22.3815 32 19.4825V6.01765C31.9962 3.11865 29.6779 0.769519 26.8171 0.765636ZM29.9191 19.4836C29.9191 21.2162 28.5331 22.6207 26.8233 22.6207H13.4938C12.4315 22.6196 11.413 22.1911 10.6624 21.4293L2.09143 12.7512L10.6554 4.07303C11.4078 3.30954 12.4291 2.88086 13.4938 2.88163H26.8233C27.6444 2.88163 28.4318 3.21215 29.0124 3.80047C29.593 4.38879 29.9191 5.18673 29.9191 6.01874V19.4836ZM23.2112 7.71844C23.5501 7.37794 24.0966 7.37794 24.4356 7.71844C24.5991 7.88376 24.6911 8.10824 24.6911 8.34234C24.6911 8.57643 24.5991 8.80091 24.4356 8.96623L20.6997 12.7519L24.4356 16.5376C24.7218 16.8878 24.698 17.4012 24.3807 17.7227C24.0634 18.0443 23.5568 18.0683 23.2112 17.7783L19.4753 13.9927L15.7394 17.7783C15.5288 18.036 15.1924 18.1507 14.8709 18.0742C14.5495 17.9977 14.2985 17.7434 14.223 17.4177C14.1476 17.0919 14.2607 16.751 14.515 16.5376L18.2509 12.7519L14.515 8.95918C14.2607 8.74578 14.1476 8.40484 14.223 8.0791C14.2985 7.75336 14.5495 7.49902 14.8709 7.42257C15.1924 7.34611 15.5288 7.46073 15.7394 7.71844L19.4753 11.5112L23.2112 7.71844Z" fill="#333333" /></svg>'); 12287 } 12288 else { 12289 newDiv.text(rowValues[j]); 12290 } 12291 12292 newDiv.addClass("key-number"); 12293 newDiv.attr('data-id', rowValues[j]); 12294 12295 let tdDiv = $('<td></td>'); 12296 12297 trDiv.append(tdDiv.append(newDiv)); 12298 } 12299 } 12300 else { 12301 let newDiv = $('<button></button>'); 12302 12303 newDiv.text(rowValues[0]); 12304 newDiv.attr('type', 'button'); 12305 newDiv.addClass('tooltip-number-keyboard-done-btn'); 12306 12307 let tdDiv = $('<td></td>'); 12308 tdDiv.attr('colspan', '3'); 12309 12310 trDiv.append(tdDiv.append(newDiv)); 12311 } 12312 12313 tableDiv.append(trDiv); 12314 } 12315 12316 $(tooltipNumberKeyboardId).append(tableDiv); 12317 } 12318 12319 function openKeyboardNumberMerchantOS(element) { 12320 initialKeyboardNumberMerchantOS(); 12321 12322 itemOpenPriceElementId = '#' + $(element).find('input').attr('id'); 12323 let offsetSelected = $(itemOpenPriceElementId).offset(); 12324 12325 $(tooltipNumberKeyboardId).css({ 12326 'top': offsetSelected.top + $(itemOpenPriceElementId).outerHeight() + 3, 12327 'left': offsetSelected.left + $(itemOpenPriceElementId).innerWidth() / 2 12328 }); 12329 12330 $(tooltipNumberKeyboardId).addClass('display-block'); 12331 } 12332</script>
12332 12333 12334<div class="modal fade text-left" id="adjust-measurement-merchant-os" role="dialog" tabindex="-1" data-keyboard="true"> 12335 <div class="vertical-alignment-helper"> 12336 <div class="modal-dialog vertical-align-center"> 12337 <div class="modal-dialog"> 12338 <div class="modal-content"> 12339 </div> 12340 </div> 12341 </div> 12342 </div> 12343</div> 12344 12345 12346 12347<div class="modal fade text-center in popup-full-mobi" id="groupOrderDetailModal" tabindex="-1" aria-labelledby="group order detail" data-backdrop="static" data-keyboard="true"> 12348 <div class="vertical-alignment-helper"> 12349 <div class="modal-dialog vertical-align-center modal-mobile-customize"> 12350 <div class="modal-content full-height"> 12351 <div class="modal-header"> 12352 <div class="header-title"> 12353 <div class="modal-header__item"> 12354 <div class="visible-xs"> 12355 <button type="button" class="modal-header__item--btn-close" onclick="onCloseModal()" aria-label="Back"> 12356 <svg width="20" height="14" viewBox="0 0 20 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 12357 <path d="M7 14L8.41 12.59L3.83 8H20V6H3.83L8.42 1.41L7 0L0 7L7 14Z" fill="#F26722"></path> 12358 </svg> 12359 </button> 12360 </div> 12361 </div> 12362 <div class="modal-header__item"> 12363 <div> 12364 <strong class="modal-header__item--title text-uppercase">Order Details</strong> 12365 </div> 12366 </div> 12367 <div class="modal-header__item"> 12368 <div class="visible-sm visible-md visible-lg"> 12369 <button type="button" class="modal-header__item--btn-close" onclick="onCloseModal()" aria-label="Close"> 12370 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 12371 <path d="M9.4 8L15.7 1.7C16.1 1.3 16.1 0.7 15.7 0.3C15.3 -0.1 14.7 -0.1 14.3 0.3L8 6.6L1.7 0.3C1.3 -0.1 0.7 -0.1 0.3 0.3C-0.0999998 0.7 -0.0999998 1.3 0.3 1.7L6.6 8L0.3 14.3C0.1 14.5 0 14.7 0 15C0 15.6 0.4 16 1 16C1.3 16 1.5 15.9 1.7 15.7L8 9.4L14.3 15.7C14.5 15.9 14.7 16 15 16C15.3 16 15.5 15.9 15.7 15.7C16.1 15.3 16.1 14.7 15.7 14.3L9.4 8Z" fill="#85858B" /> 12372 </svg> 12373 </button> 12374 </div> 12375 </div> 12376 </div> 12377 </div> 12378 <div id="groupOrderBodyModal" class="modal-body" style="overflow-y: hidden;"> 12379 <div id="groupOrderLoader" class="loader-content"> 12380 <i class="fa fa-spinner fa-spin"></i> 12381 </div> 12382 <div id="groupOrderContentLoaded"> 12383 </div> 12384 </div> 12385 </div> 12386 </div> 12387 </div> 12388</div> 12389
12390<script> 12391 function onCloseModal() { 12392 $('#groupOrderDetailModal').modal('hide'); 12393 } 12394</script>
12394 12395 12396 12397
12398<script> 12399 const god_url = { 12400 'apiCheckGroupOrderExist': '/Home/CheckGroupOrderExist', 12401 'apiCreateGroupOrder': '/Home/CreateGroupOrder', 12402 'apiJoinGroupOrder': '/Home/JoinGroupOrder', 12403 'apiMarkAsReadyGroupOrder': '/Home/MarkAsReadyGroupOrder', 12404 'apiLeaveGroupOrder': '/Home/LeaveGroupOrder', 12405 'apiDeleteGroupOrder': '/Home/DeleteGroupOrder', 12406 'apiRemoveGuestGroupOrder': '/Home/RemoveGuestFromGroupOrder', 12407 'apiCheckingOutGroupOrderPaymentSuccessful': '/Home/CheckingOutGroupOrderPaymentSuccessful', 12408 }; 12409 12410 $(document).ready(function (e) { 12411 $(document).on('click', '.modal-backdrop.fade.in', function () { 12412 if ($(document).find('.modal.modal-god.fade.in')) { 12413 let lenghtModalGOD = $(document).find('.modal.modal-god.fade.in').length; 12414 12415 if (lenghtModalGOD > 0) { 12416 let $modalGod = $('#' + $(document).find('.modal.modal-god.fade.in')[lenghtModalGOD - 1].id); 12417 12418 if ($modalGod.attr('data-backdrop') == 'static') { 12419 12420 } 12421 else { 12422 $modalGod.modal('hide'); 12423 } 12424 } 12425 } 12426 }); 12427 12428 12429 12430 if ('False' == 'True') { 12431 $('#join-group-order-modal').modal('show'); 12432 } 12433 }); 12434</script>
12434 12435 12436 12437 12438 12439 12440<div id="pwa-bottom-nav-spacer" class="pwa-bottom-nav-spacer" aria-hidden="true"></div> 12441<nav id="pwa-bottom-nav" class="pwa-bottom-nav" aria-label="PWA navigation" style="--pwa-nav-active: #c2ae83; display: none;" hidden> 12442 <button type="button" class="pwa-bottom-nav__item " id="pwa-bottom-nav-home" aria-label="Home"> 12443 <svg class="pwa-bottom-nav__icon" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 12444 <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"></path> 12445 </svg> 12446 <span>Home</span> 12447 </button> 12448 <button type="button" class="pwa-bottom-nav__item is-active" id="pwa-bottom-nav-menu" aria-label="Menu"> 12449 <svg class="pwa-bottom-nav__icon" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 12450 <path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path> 12451 </svg> 12452 <span>Menu</span> 12453 </button> 12454 <button type="button" class="pwa-bottom-nav__item" id="pwa-bottom-nav-account" aria-label="Account"> 12455 <svg class="pwa-bottom-nav__icon" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 12456 <path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"></path> 12457 </svg> 12458 <span>Account</span> 12459 </button> 12460</nav> 12461
12462<script> 12463 (function () { 12464 'use strict'; 12465 12466 var isMemberLogin = false; 12467 var memberPortalUrl = "https://segar.member.getz.co"; 12468 var pwaHomeUrl = '/pwa'; 12469 var menuUrl = '/'; 12470 12471 // Same detection as pwa-install.js ââ¬â hide in browser, show in installed app. 12472 // Local debug: ?pwaStandalone=1 (sticky for tab session), ?pwaStandalone=0 to clear. 12473 function isDebugStandaloneForced() { 12474 try { 12475 var params = new URLSearchParams(window.location.search); 12476 var value = params.get('pwaStandalone'); 12477 if (value === '1' || value === 'true') { 12478 sessionStorage.setItem('pwa_debug_standalone', '1'); 12479 } else if (value === '0' || value === 'false') { 12480 sessionStorage.removeItem('pwa_debug_standalone'); 12481 } 12482 return sessionStorage.getItem('pwa_debug_standalone') === '1'; 12483 } catch (e) { 12484 return false; 12485 } 12486 } 12487 12488 function isPwaStandalone() { 12489 if (isDebugStandaloneForced()) { 12490 return true; 12491 } 12492 return (window.matchMedia && window.matchMedia('(display-mode: standalone)').matches) || 12493 (window.navigator && window.navigator.standalone === true) || 12494 (document.referrer && document.referrer.indexOf('android-app://') !== -1); 12495 } 12496 12497 window.isPwaStandalone = isPwaStandalone; 12498 12499 function enablePwaBottomNav() { 12500 var nav = document.getElementById('pwa-bottom-nav'); 12501 if (!isPwaStandalone()) { 12502 document.body.classList.remove('pwa-bottom-nav-enabled'); 12503 if (nav) { 12504 nav.hidden = true; 12505 nav.style.display = 'none'; 12506 } 12507 return false; 12508 } 12509 12510 document.body.classList.add('pwa-bottom-nav-enabled'); 12511 if (nav) { 12512 nav.hidden = false; 12513 // CSS (body.pwa-bottom-nav-enabled .pwa-bottom-nav) sets display:flex on mobile. 12514 nav.style.removeProperty('display'); 12515 } 12516 return true; 12517 } 12518 12519 window.getPwaBottomNavOffset = function () { 12520 if (!document.body.classList.contains('pwa-bottom-nav-enabled')) { 12521 return 0; 12522 } 12523 var nav = document.getElementById('pwa-bottom-nav'); 12524 return nav ? nav.offsetHeight : 0; 12525 }; 12526 12527 window.getHomepageCartStackBottom = function () { 12528 var cartBar = document.querySelector('.homepage-cart-button-display'); 12529 var cartHeight = cartBar ? cartBar.offsetHeight : 0; 12530 var pwaNavOffset = (typeof window.getPwaBottomNavOffset === 'function') ? window.getPwaBottomNavOffset() : 0;
12531 return cartHeight + pwaNavOffset; 12532 }; 12533 12534 function buildMenuUrl() { 12535 try { 12536 var url = new URL(menuUrl, window.location.origin); 12537 var current = new URLSearchParams(window.location.search); 12538 ['StoreID', 'Service', 'lang', 'Lang', 'fromPwa'].forEach(function (key) { 12539 var value = current.get(key); 12540 if (value) { 12541 url.searchParams.set(key, value); 12542 } 12543 }); 12544 return url.pathname + url.search; 12545 } catch (e) { 12546 return menuUrl; 12547 } 12548 } 12549 12550 // Decide visibility before wiring clicks / layout offsets. 12551 if (!enablePwaBottomNav()) { 12552 return; 12553 } 12554 12555 // Standalone OS pages: let SSR (ViewBag.MemberLogged / header) read PWA Redis session. 12556 if (typeof ensurePwaClientCookie === 'function') { 12557 ensurePwaClientCookie(); 12558 } 12559 12560 var homeBtn = document.getElementById('pwa-bottom-nav-home'); 12561 var menuBtn = document.getElementById('pwa-bottom-nav-menu'); 12562 var accountBtn = document.getElementById('pwa-bottom-nav-account'); 12563 12564 if (homeBtn) { 12565 homeBtn.addEventListener('click', function () { 12566 window.location.href = pwaHomeUrl; 12567 }); 12568 } 12569 12570 if (menuBtn) { 12571 menuBtn.addEventListener('click', function () { 12572 window.location.href = buildMenuUrl(); 12573 }); 12574 } 12575 12576 if (accountBtn) { 12577 accountBtn.addEventListener('click', function () { 12578 if (typeof ensurePwaClientCookie === 'function') { 12579 ensurePwaClientCookie(); 12580 } 12581 12582 // Logged out: use the same entry as the Theme8 header "Member Login". 12583 // Opening the wallet dashboard directly would still show the member, 12584 // because GetzPay authenticates it from its own domain session cookie. 12585 if (!isMemberLogin && typeof redirectMemberUrl === 'function') { 12586 redirectMemberUrl(null, 0, false, 'Online Member Portal'); 12587 return; 12588 } 12589 12590 // Keep USER_MEMBER_GETZPAY_URL in sync ââ¬â redirectMemberPortal() reads this 12591 // (same as Theme8 header Member Portal link). 12592 if (memberPortalUrl) { 12593 try { 12594 if (!localStorage.getItem('USER_MEMBER_GETZPAY_URL')) { 12595 localStorage.setItem('USER_MEMBER_GETZPAY_URL', memberPortalUrl); 12596 } 12597 } catch (e) { } 12598 } 12599 12600 if (typeof redirectMemberPortal === 'function') { 12601 redirectMemberPortal(); 12602 return; 12603 } 12604 12605 if (memberPortalUrl) { 12606 window.location.href = memberPortalUrl + '/dashboard/index'; 12607 } 12608 }); 12609 } 12610 12611 if (typeof jQuery !== 'undefined') { 12612 jQuery(window).trigger('resize.setHeightRightBar'); 12613 } 12614 12615 function syncPwaBottomNavOffset() { 12616 if (!enablePwaBottomNav()) { 12617 return; 12618 } 12619 var nav = document.getElementById('pwa-bottom-nav'); 12620 if (!nav) { 12621 return; 12622 } 12623 document.documentElement.style.setProperty('--pwa-bottom-nav-offset', nav.offsetHeight + 'px'); 12624 try { 12625 window.dispatchEvent(new Event('pwa-bottom-nav-layout')); 12626 } catch (e) { } 12627 } 12628 12629 syncPwaBottomNavOffset(); 12630 window.addEventListener('resize', syncPwaBottomNavOffset); 12631 window.addEventListener('orientationchange', syncPwaBottomNavOffset); 12632 })(); 12633</script>
12633 12634 12635</body> 12636</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.