PageSourceSearch

https://westcozcafe.com/Recommendations

html westcozcafe.com collected 2026-09-30 10:39:49 UTC 799,173 bytes, 12,636 lines download raw bytes

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&amp;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">&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, &#39;#tabPickup &#39;)">
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>&nbsp; <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>&nbsp;  <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;">&bull;</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.