1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <title>Dough Boyz</title> 5 <meta charset="UTF-8">
5<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"594517728",accountID:"4414785",trustKey:"4414785",xpid:"UAIGVVFbDRAFXFhXBgABVF0=",licenseKey:"NRJS-3bd9f889cb1db7ee0cc",applicationID:"589511629",browserID:"594517728"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */ 6(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
6e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
6const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
6if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
6o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
6(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
6;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>
6{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
6ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
6{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
6null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
6dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
6imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
6return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
6!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
6if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
6);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
6class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
6h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
6 7 <meta name="description" content=""> 8 <meta name="keywords" content="Pizza, sides, pasta, dessert, drinks, dough boyz, zuccoli, zuccoli dough boyz, dough, zuccoli dough, dough boyz menu, order online dough boyz, order online" /> 9 <meta name="author" content="Deliverit Software"><meta name="ROBOTS" CONTENT="INDEX, FOLLOW">
9<script type='text/javascript'>var HTTP_URL = 'https://doughboyz.com.au/';</script>
9<script type='text/javascript'>var REL_URL = 'core/';</script>
9<script type='text/javascript'>var S3_ASSETS_URL = 'https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/';</script>
9<script type='text/javascript'>var PARTNER_ID = 1;</script>
9<script type='text/javascript'>var PAGE_NAME = 'browse';</script>
9 <meta property="og:title" content="Dough Boyz" /> 10 <meta property="og:type" content="website" /> 11 <meta property="og:url" content="http://doughboyz.com.au" /> 12 <meta property="og:image" content="https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/logo.png" /> 13 <meta property="og:description" content="" /> 14 <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"> 15 <meta name="apple-mobile-web-app-capable" content="yes" /> 16 <meta http-equiv="Cache-control" content="public"> 17 <meta name="google-signin-scope" content="profile email"> 18 <meta name="google-signin-client_id" content="641382643724-pkrtql7tknfr275ncqajdmvjpd8dm6mq.apps.googleusercontent.com"> 19 20 21 <link rel="canonical" href="https://doughboyz.com.au/"> 22 <link rel="shortcut icon" href="https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/favicon.png" type="image/x-icon"> 23 <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="images/startup.png"> 24 25 <style> 26 #menu-items, #main-content, .mainpage, .office-info, .footerWrap{ display: none; } 27 #main-content{ 28 min-height: 100%; 29 } 30 #wrap:before{ 31 content: ''; 32 background: #000; 33 width: 100%; 34 height: 100%; 35 } 36 37 38 /* 39 * Select2 css 40 */ 41 .selection{ 42 width: 100%; 43 } 44 45 .select2-container{ 46 height: 33px!important; 47 line-height: 33px!important; 48 } 49 50 .select2-selection__rendered { 51 padding-left: 30px!important; 52 padding-right: 12px; 53 } 54 55 .select2-container .select2-selection--single { 56 height: 35px!important; 57 } 58 59 .select2-container--default .select2-selection--single .select2-selection__rendered{ 60 line-height: 33px!important; 61 } 62 63 .has-error .select2-selection { 64 border-color: #a94442!important; 65 } 66 67 .has-success .select2-selection { 68 border-color: #3c763d!important; 69 } 70 71 .select2-selection--single { 72 height: 100% !important; 73 } 74 .select2-selection__rendered{ 75 word-wrap: break-word !important; 76 text-overflow: inherit !important; 77 white-space: normal !important; 78 } 79 80 #product_version .modal { 81 text-align: center; 82 padding: 0!important; 83 background: none !important; 84 } 85 86 #product_version .modal-content{ 87 box-shadow: none !important; 88 border-radius: 0; 89 } 90 91 #product_version .modal-header{ 92 background: #a91919; 93 color: #fff; 94 } 95 96 #product_version .modal-body{ 97 word-break: break-word; 98 } 99 100 #product_version .modal:before { 101 content: ''; 102 display: inline-block; 103 height: 100%; 104 vertical-align: middle; 105 margin-right: -4px; /* Adjusts for spacing */ 106 } 107 108 #product_version .modal-dialog { 109 display: inline-block; 110 text-align: left; 111 vertical-align: middle; 112 } 113 114 #product_version .modal-header .close{ 115 color: #fff; 116 text-align: unset; 117 } 118 119 120 121 122 123 #table-txt{ 124 width: 96%; 125 margin-left: 2%; 126 padding: 15px 0; 127 text-align: center; 128 font-size: 25px; 129 font-weight: 700; 130 background-color: #3498db; 131 color: #fff; 132 } 133 134 @media only screen and (max-width: 414px){ 135 #table-txt{ 136 width: 94%; 137 margin-left: 3%; 138 } 139 } 140 141 /* OOA-109 Remove pause button */ 142 .ui-pnotify .ui-pnotify-sticker{ 143 display: none; 144 } 145 146 /* Loke loader */ 147 .loader_wrapper { 148 background-color: #fff; 149 width: 100%; 150 height: 100%; 151 z-index: 1030; 152 position: fixed; 153 } 154 .loader_container { 155 position: fixed; 156 width: 100%; 157 height: 100%; 158 top: 20%; 159 z-index: 1031; 160 } 161 .loader_ajax_small { 162 border: 3px solid #eee !important; 163 border-radius: 50%; 164 border-top: 2px solid #333 !important; 165 width: 100px; 166 height: 100px; 167 margin: 0 auto; 168 -webkit-animation: spin_loader_ajax_small 2s linear infinite; 169 animation: spin_loader_ajax_small 2s linear infinite; 170 } 171 @-webkit-keyframes spin_loader_ajax_small { 172 0% { -webkit-transform: rotate(0deg); } 173 100% { -webkit-transform: rotate(360deg); } 174 } 175 @keyframes spin_loader_ajax_small { 176 0% { transform: rotate(0deg); } 177 100% { transform: rotate(360deg); } 178 } 179 180 181 .pac-container{ 182 background-color: #ffffff; 183 position: absolute; 184 z-index: 1000; 185 border-top: 1px solid #d9d9d9; 186 -webkit-box-shadow: 0 2px 6px rgba(0,0,0,.3); 187 box-shadow: 0 2px 6px rgba(0,0,0,.3); 188 -webkit-box-sizing: border-box; 189 box-sizing: border-box; 190 overflow: hidden; 191 } 192 </style> 193 194 <link href='https://fonts.googleapis.com/css?family=Rubik|Poppins|Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'> 195 <style> 196 @font-face { 197 font-family: 'Glyphicons Halflings'; 198 src: url("https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/fonts/glyphicons-halflings-regular.eot"); 199 src: url("https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/fonts/glyphicons-halflings-regular.woff") format("woff"), url("https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/fonts/glyphicons-halflings-regular.svg#BebasRegular") format("svg"); 200 } 201 </style> 202 <link rel="preload" as="font" href="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/fonts/fa-solid-900.woff2" type="font/woff2" crossorigin="anonymous"> 203 <link type='text/css' rel='stylesheet' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/css/all.css'>
203<link type='text/css' rel='stylesheet' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/css/style.css'><link type='text/css' rel='stylesheet' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/css/platina.css'><link type='text/css' rel='stylesheet' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/css/font-awesome.min.css'><link type='text/css' rel='stylesheet' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/css/solid.min.css'><link type='text/css' rel='stylesheet' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/css/regular.min.css'><link type='text/css' rel='stylesheet' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/css/brands.min.css'><link type='text/css' rel='stylesheet' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/css/login-v2.css'> 204 205 <link type='text/css' rel='stylesheet' href='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/themes_oo.css'"> 206 207 <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" /> 208 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@splidejs/splide@latest/dist/css/splide.min.css"> 209 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@splidejs/splide@latest/dist/css/themes/splide-sea-green.min.css"> 210
210<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
210 211 212 <!--GoogleMap--> 213 <!--
213<script src='https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places&key=AIzaSyDiFzy_CwiC1t90mE7nskFbtrBhPOTsIgo®ion=AU&callback=initMap' async defer></script>
213 --> 214
214<script src='https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places&key=AIzaSyByHLsoWqVag96TcJTq2O2tPLU3qGLbvcE®ion=AU&callback=initMap' async defer></script>
214
214<script type="text/javascript"> 215 var autocompleteService, sessionToken, service; 216 function initMap() {} 217 </script>
217 218 219
219<script type="text/javascript"> 220 // For franchise_logo on feedback widget (OOA-249) 221 var session_logo = ""; 222 session_logo = "https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/logo.png"; 223 224 $('body').ready(function(){ 225 $('#menu-items, #main-content, .mainpage, .office-info, .footerWrap').fadeIn(); 226 $('#wrap').addClass('menu-ready'); 227 }); 228 </script>
228 229
229<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
229 230
230<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
230 231
231<script src="https://cdnjs.cloudflare.com/ajax/libs/smoothscroll/1.4.10/SmoothScroll.js"></script>
231 232
232<script> 233 $(document).ready(function(){ 234 if($("#storeSelected").val() != 1){ 235 if($(window).width() > 1024){ 236 var store_list_option=""; 237 $.ajax({ 238 method: 'POST', 239 data: { 240 'account_id': '', 241 'sort_state': 0 }, 242 dataType: 'json', 243 url: 'core/ajax/get_multi_store.php', 244 }).done(function(data){ 245 var i = 0; 246 $.each(data, function(k, v){ 247 if(v.client_status === 'active'){ 248 store_list_option += "<option value='"+v.client_code+"'>"+v.store_name+"</option>"; 249 i++; 250 } 251 }); 252 253 if(i > 0){ 254 $(".feedback_me_form ul").prepend('<div id="feedback_store_list" style="margin-top:-20px;margin-bottom:10px;padding-bottom:10px;">' + 255 '<label class="fieldTitle"> Select Store</label> <span class="required_asterisk">*</span><br />' + 256 '<select style="width:340px;" required class="feedback_store form-control">' + 257 '<option value="">:::Please Select:::</option>' + 258 store_list_option + 259 '</select>' + 260 '</div>'); 261 262 } 263 }); 264 } 265 } 266 }); 267 </script>
267 268
268<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/jquery.validate-1.js'></script>
vendor: 1 bytes, line 268
268
269<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/class.js'></script>
vendor: 1 bytes, line 269
269
270<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/banner.js'></script>
vendor: 1 bytes, line 270
270
271<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/blazy.min.js'></script>
vendor: 1 bytes, line 271
271
272<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/bootstrap-modal-carousel.min.js'></script>
vendor: 1 bytes, line 272
272
273<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/bootstrap3-typeahead.js'></script>
vendor: 1 bytes, line 273
273
274<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/collapse.js'></script>
vendor: 1 bytes, line 274
274
275<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/jwt-decode.js'></script>
vendor: 1 bytes, line 275
275
276<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/offcanvas.js'></script>
vendor: 1 bytes, line 276
276
277<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/pnotify.custom.min.js'></script>
vendor: 1 bytes, line 277
277
278<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/qrcode.js'></script>
vendor: 1 bytes, line 278
278
279<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/scrollspy.js'></script>
vendor: 1 bytes, line 279
279
280<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/smart-app-banner.js'></script>
vendor: 1 bytes, line 280
280
281<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/typeahead.bundle.min.js'></script>
281 282
282<script src="https://cdn.jsdelivr.net/npm/@splidejs/splide@latest/dist/js/splide.min.js"></script>
282 283
283<script type='text/javascript'> 284 var IS_AUS = true; 285</script>
285 286
287<script> 288 $(document).ready(function(){ 289 // $('link[href="/deals.css"]').remove(); 290 $("#cancel").live("click", function(){ 291 $(".popover").toggle(); 292 }); 293 294 if(localStorage.getItem('activeTab') != null){ 295 localStorage.removeItem('activeTab'); 296 } 297 298 $(".feedback_trigger").hide(); 299 $('a[href="?page=feedback"]').each(function() { 300 const $parent = $(this).parent(); 301 if($parent.is('li')){ 302 $parent.remove(); 303 } else{ 304 $(this).remove(); 305 } 306 }); 307 }); 308</script>
308 309 310 311 312 313 314 315 <!-- Google redirect conversion tracking --> 316
316<script> 317 const rwgQuery = location.search.substring(1), 318 rwgParams = rwgQuery.split('&'); 319 let rwgToken = undefined; 320 321 for(let i = 0; i < rwgParams.length; ++i){ 322 const rwgPair = rwgParams[i].split('='); 323 if (rwgPair[0] == 'rwg_token') { 324 rwgToken = decodeURIComponent(rwgPair[1]); 325 break; 326 } 327 } 328 329 if(typeof rwgToken !== 'undefined'){ 330 const rwgDomain = window.location.hostname; // Get the current domain dynamically 331 document.cookie = `_rwg_token=${rwgToken};max-age=2592000;domain=${rwgDomain};path=/`; // store the token in the cookie for 30 days 332 } 333 </script>
333 334
335<script> 336 jQuery(document).ready(function($){ 337 338 339 340 $("#login-nav").click(function(){ 341 window.login_referer = 'navbar'; // login_referer to determine the flow of login. 342 $(".or_guest, .checkout_as_guest").show(); 343 $(".register-ling a").attr('href','?page=register'); 344 $(".checkout_as_guest a").text('Login as Guest'); 345 $('#login-wrap').fadeToggle("fast"); 346 $(this).blur(); 347 }); 348 349 $("#login-section #cancel").click(function(){ 350 $('#login-wrap').fadeToggle("fast"); 351 }); 352 353 $("#login-section .close").click(function(){ 354 if(!$(this).hasClass("disabled")){ 355 $('#login-wrap').fadeToggle("fast"); 356 } 357 }); 358 359 var txt; 360 361 $("[data-toggle=popover]").popover({ 362 placement : 'bottom', 363 html : 'true', 364 content : txt 365 }).click(function(e){ e.preventDefault(); }); 366 367 showModal = function(){ 368 $('#myModal').modal({ 369 keyboard: false, 370 show: true 371 }); 372 373 $("#myModal #processing-text").html('Processing Order'); 374 } 375 376 hideModal = function(){ 377 $('#myModal').modal('hide'); 378 } 379 380 381 $("#refer_form").submit(function(){ 382 $("#refer_form button").prop("disabled", true); 383 $("#refer-btn").html("Sending. Please wait."); 384 $.ajax({ 385 url: 'core/ajax/refer_friend_send.php', 386 type: 'POST', 387 data: $("#refer_form").serialize(), 388 success: function(){ 389 $("#refer_form input, #refer_form button").prop("disabled", true); 390 $("#refer-btn").html("E-mail sent"); 391 392 showModalAlert('success', '', "<h4><center>Message has been sent!</center></h4>", 'OK', function(){ 393 window.location = window.location.href.split("?")[0]; 394 }); 395 }, 396 error: function(){ 397 $("#refer_form button").prop("disabled", false); 398 $("#refer-btn").html("Send Referal"); 399 showModalAlert("error", "", "<h4><center>Message not sent!</center></h4>", "OK"); 400 } 401 }); 402 403 return false; 404 }); 405 }); 406</script>
406 407
408<script> 409 var $j = jQuery.noConflict(); 410 // bootstrap no conflict 411 $j(document).ready(function(){ 412 $j(function(){ 413 $j('[data-toggle="tooltip"]').tooltip(); 414 415 }); 416 417 }); 418 419 420 function checked_io(elem, themeTemplate){ 421 if(elem.is(':checkbox')){ 422 if(elem.is(':checked')){ 423 elem.siblings('.input-group-label').children('.check-img-popup').css('visibility',"visible").attr("src","https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/"+themeTemplate+"/img/icon-check.png"); 424 } else{ 425 elem.siblings('.input-group-label').children('.check-img-popup').css('visibility',"hidden").attr("src",""); 426 } 427 } else{ 428 elem.parent().parent().find('.check-img-popup').css('visibility',"hidden").attr('src',""); 429 elem.siblings('.input-group-label').children('.check-img-popup').css('visibility',"visible").attr("src","https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/"+themeTemplate+"/img/icon-check.png"); 430 } 431 432 if(elem.parent().parent().find('.check-img-popup').length > 0){ 433 elem.parent().parent().find('.check-img-popup').each(function(){ 434 if($(this).css("display") == "none"){ 435 $(this).css("display", ""); 436 } 437 }); 438 } 439 } 440 441 var countdown_timer; 442 function resend_countdown(resendTimer){ 443 resend_counter = 59; 444 countdown_timer = setInterval(function(){ 445 resend_counter -= 1; 446 $("#"+resendTimer).addClass("disabled").text("Resend code in "+resend_counter); 447 if(resend_counter < 0) { 448 clearInterval(countdown_timer); 449 $("#"+resendTimer).removeClass("disabled").text("Resend code"); 450 } 451 }, 1000) 452 } 453 454 function showMessage(elem, className, msg, timeOut){ 455 elem.addClass(className).text(msg).show(); 456 457 if(timeOut != undefined){ 458 setTimeout(function(){ 459 elem.hide(); 460 }, timeOut); 461 } 462 } 463</script>
463 464 465
466<script> 467 (function(a,b,c){if(c in b&&b[c]){var d,e=a.location,f=/^(a|html)$/i;a.addEventListener("click",function(a){d=a.target;while(!f.test(d.nodeName))d=d.parentNode;"href"in d&&(d.href.indexOf("http")||~d.href.indexOf(e.host))&&(a.preventDefault(),e.href=d.href)},!1)}})(document,window.navigator,"standalone") 468</script>
468 469 470
471<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js'></script>
vendor: 1 bytes, line 471
471
472<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/scripts/select2/dist/js/select2.min.js'></script>
vendor: 1 bytes, line 472
472
473<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/scripts/jquery.autocomplete.js'></script>
vendor: 1 bytes, line 473
473
474<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/scripts/jquery.impromtu.js'></script>
vendor: 1 bytes, line 474
474
475<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/scripts/jquery.timeout.interval.idle.js'></script>
vendor: 1 bytes, line 475
475
476<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/scripts/fancybox/jquery.fancybox-1.3.4.pack.js'></script>
476 477<link rel='stylesheet' type='text/css' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/scripts/autocomplete.css'> 478<link rel='stylesheet' type='text/css' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/scripts/fancybox/jquery.fancybox-1.3.4.css'> 479<link rel='stylesheet' type='text/css' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/scripts/select2/dist/css/select2.min.css'> 480 481
481<script>
vendor: 331 bytes, lines 481-485
481 482 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 483 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 484 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 485 })(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', '
485UA-49593232-2
vendor: 30 bytes, lines 485-486
485', {'name':'dsoftonline'}); 486
486ga('dsoftonline.send', 'pageview'); 487 </script>
487 488
488<script type="text/javascript" src="https://iplogger.deliverit.com.au/deliverit-sdk.php"></script>
488 489
489<script type="text/javascript"> 490 $(document).ready(function(){ 491 try{ 492 var deliveritSDK = new DeliveritSDK(); 493 var customerIP = deliveritSDK.getCustomerIP() +":"+ deliveritSDK.getCustomerPort(); 494 }catch(e){ 495 var customerIP = "::1"; 496 } 497 if(!customerIP){ 498 customerIP = "::1"; // handles late transition of script to prevent error 499 } 500 $.post("core/ajax/get_ip.php",{'customerIP':customerIP}); 501 }); 502 </script>
502 503
504<script> 505 var promo_last_io_checked = new Array(); 506 507 $(document).ready(function(){ 508 var refreshSession = function(){ 509 var time = 600000; // 10 mins 510 setTimeout(function(){ 511 $.ajax({ 512 url: 'core/ajax/refreshsession.php', 513 cache: false, 514 complete: function(){refreshSession();} 515 }); 516 }, time); 517 }; 518 refreshSession(); 519 520 521 const urlParams = new URLSearchParams(window.location.search); 522 const param_page = urlParams.get('page'); 523 const current_template = 'template4'; 524 525 if (param_page || current_template == 'template4' || current_template == 'localserves') { 526 $j('.storeinfo .header-info-toggle.navbar-toggle span.glyphicon').show(); 527 528 setMobileEstimatedTime(current_template); 529 530 //Observe the change of estimated time 531 var estimatedTime = $('#estimated-time'); 532 this.observer = new MutationObserver(function (mutations) { 533 setMobileEstimatedTime(current_template); 534 }.bind(this)); 535 536 if (estimatedTime.length > 0) { 537 this.observer.observe(estimatedTime.get(0), {characterData: true, childList: true}); 538 } 539 } 540 541 $j('.storeinfo #bs-navbar').on('hidden.bs.collapse', toggleChevron); 542 $j('.storeinfo #bs-navbar').on('shown.bs.collapse', toggleChevron); 543 544 function setMobileEstimatedTime(current_template) { 545 var estTime = $("#estimated-time #est-time").text(); 546 var mins = $("#estimated-time #time-mins").contents().first().text().trim(); 547 var deliveryTime = $("#estimated-time #time-mins p").text(); 548 var info = $("#estimated-time > h3").text(); 549 var alert = $("#estimated-time .alert").text(); 550 551 if (estTime !== '') { 552 var timestring = '<i class="fa-solid fa-clock-rotate-left"></i> ' + deliveryTime + ': <strong> ' + estTime + ' ' + mins + '</strong>'; 553 $(".mobile-estimated-time").html(timestring); 554 } else if (info !== '' || alert !== '') { 555 if (info !== '') { 556 $(".mobile-estimated-time").html(info); 557 } else { 558 $(".mobile-estimated-time").html(alert); 559 } 560 } 561 } 562 563 function toggleChevron(e) { 564 $j(e.target) 565 .prev('#title') 566 .find('.navbar-toggle span.glyphicon') 567 .toggleClass('glyphicon-chevron-up glyphicon-chevron-down'); 568 } 569 570 $j('input[name="email"]').on('input', function() { 571 const trimmedValue = $(this).val().trim(); 572 $(this).val(trimmedValue); 573 }); 574 575 $("#promo-modifier-modal .promo-item-option-radio-list").live("click", function(){ 576 var modal_div = $(this).closest('.modal.fade').attr('id'); 577 var multiple_io = $(this).attr('multiple-io'); 578 var mio_id = $(this).attr('mio-id'); 579 580 if(typeof multiple_io === "undefined" || multiple_io === false){ 581 $('#'+ modal_div +' .promo-item-option-radio-list').attr('checked', false); 582 $(this).attr('checked', true); 583 $('#promo-modifier-modal .modal-footer .btn').data('option-ids', $(this).attr('ref')); 584 } else{
585 var min_io = $(this).attr('min-io'); 586 var max_io = $(this).attr('max-io'); 587 588 if($("#"+modal_div+" [name='"+$(this).attr('name')+"']:checked").length >= min_io){ 589 $(this).parent().parent().css({"padding":"", "border":""}); 590 } 591 592 if(max_io == 1 && $("#"+modal_div+" [name='"+$(this).attr('name')+"']:checked").length > 1){ 593 $("#"+modal_div+" [name='"+$(this).attr('name')+"']").attr('checked', false); 594 $(this).attr('checked', true); 595 } else if($("#"+modal_div+" [name='"+$(this).attr('name')+"']:checked").length > max_io){ 596 $("#"+promo_last_io_checked[mio_id]).attr('checked', false); 597 } 598 promo_last_io_checked[mio_id] = $(this).attr('id'); 599 600 // checking of selected modifiers 601 var mio_ids = [], 602 mio_msg = [], 603 mio_req = 0 604 option_ids = []; 605 606 $("#"+ modal_div +" .promo-item-option-radio-list").each(function(){ 607 if(typeof $(this).attr('mio-id') !== "undefined" && $(this).attr('mio_id') !== false){ 608 mio_ids.push($(this).attr('mio-id')); 609 } 610 mio_ids = [... new Set(mio_ids)]; 611 612 if($(this).is(':checked')){ 613 option_ids.push($(this).attr('ref')); 614 } 615 }); 616 617 var io_div; 618 $.each(mio_ids, function(key, val){ 619 var io_selected = $("#"+modal_div+" [mio-id='"+val+"']:checked").length, 620 io_min = $("#"+modal_div+" [mio-id='"+val+"']:first").attr('min-io'), 621 io_max = $("#"+modal_div+" [mio-id='"+val+"']:first").attr('max-io'), 622 io_name = $("#"+modal_div+" [mio-id='"+val+"']:first").parent().siblings("div.promo-item-option-group-name-"+val).find("p").text(), 623 io_container = $("#"+modal_div+" [mio-id='"+val+"']:first").parent().parent(); 624 625 if(io_selected < io_min || io_selected > io_max){ 626 mio_req++; 627 } 628 }); 629 630 $('#promo-modifier-modal .modal-footer .btn').prop('disabled', (mio_req > 0 ? true : false)); 631 632 if(mio_req <= 0){ 633 $('#promo-modifier-modal .modal-footer .btn').data('option-ids', option_ids.join(",")); 634 $j('#promo-modifier-modal .modal-footer span[data-toggle=tooltip]').tooltip('disable'); 635 } else{ 636 $j('#promo-modifier-modal .modal-footer span[data-toggle=tooltip]').tooltip('enable'); 637 } 638 } 639 640 checked_io($(this), "template4"); 641 }); 642 643 $('#promo-modifier-modal .modal-footer .btn').live('click', function(){ 644 $(this).prop('disabled', true); 645 if($(this).hasClass('item-option')){ 646 var data = []; 647 data['option_id'] = $(this).data('option-ids'); 648 data['qty'] = 1; 649 650 $("#promo-modifier-modal .modal-body .modifier-wrapper div ~ input").each(function(){ 651 if($(this).attr('name') == 'plu'){ 652 data['PLU'] = $(this).val(); 653 } 654 if($(this).attr('name') == 'price'){ 655 data['price'] = $(this).val(); 656 } 657 if($(this).attr('name') == 'promocode'){ 658 data['promocode'] = $(this).val(); 659 } 660 if($(this).attr('name') == 'single_promo_code'){ 661 data['single_promo_code'] = $(this).val(); 662 } 663 if($(this).attr('name') == 'min_order'){ 664 data['min_order'] = $(this).val(); 665 } 666 if($(this).attr('name') == 'promotional_id'){ 667 data['promotional_id'] = $(this).val(); 668 } 669 if($(this).attr('name') == 'promotional_link'){ 670 data['promotional_link'] = $(this).val(); 671 } 672 if($(this).attr('name') == 'promo_pickup_plu'){ 673 data['promo_pickup_plu'] = $(this).val(); 674 } 675 if($(this).attr('name') == 'promo_delivery_plu'){ 676 data['promo_delivery_plu'] = $(this).val(); 677 } 678 }); 679 680 //Convert the object to query string 681 var serialize = function(obj) { 682 var str = []; 683 for(var p in obj) 684 if (obj.hasOwnProperty(p)) { 685 str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); 686 } 687 return str.join("&"); 688 } 689 690 var orderDate = ''; 691 $('#view-basket').load('core/mybasket.php?page=browse'+ ((orderDate) ? "&orderdate="+orderDate : "") + '&' + serialize(data), function(){ 692 $(this).prop("disabled", false); $("#promo-modifier-modal .modal-header .close").click(); }); 693 } else if($(this).hasClass('reload')){ 694 location.reload(); 695 } else{ 696 $(this).prop('disabled', false); 697 $('#promo-modifier-modal .modal-header .close').click(); 698 } 699 }); 700 }); 701</script>
701 702 703 704 705 706 707
707<script> 708 $j(document).ready(function() { 709 // Use sessionStorage to prevent the popup from showing on every page load 710 if(sessionStorage.getItem('modalShown') !== 'shown'){ 711 // Check if page is not order type selection screen - which mean param_page != null 712 const urlParams = new URLSearchParams(window.location.search); 713 const param_page = urlParams.get('page'); 714 715 if (param_page) { 716 const apple_itunes_app_id = "1555200437"; 717 const google_play_id = "store.dpos.com.doughboyz"; 718 const userAgent = navigator.userAgent || window.opera; 719 if(/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream && apple_itunes_app_id) 720 { 721 $j("#modal-app-download").modal("show"); 722 $j("#cont-popup-download-app .show-on-ios").show(); 723 } 724 else if(/android/i.test(userAgent) && google_play_id) 725 { 726 $j("#modal-app-download").modal("show"); 727 $j("#cont-popup-download-app .show-on-android").show(); 728 } 729 730 sessionStorage.setItem('modalShown','shown') 731 } 732 } 733 734 $j(".link-cancel").click(function(e){ 735 e.preventDefault(); 736 $j("#modal-app-download").modal("hide"); 737 }); 738 }); 739 </script>
739 740 741 <!-- intl-tel-input --> 742
742<script src="https://cdn.jsdelivr.net/npm/intl-tel-input@latest/build/js/intlTelInput.js"></script>
742 743 <!-- libphonenumber-js --> 744
744<script src="https://unpkg.com/libphonenumber-js/bundle/libphonenumber-max.js"></script>
744 745 746
746<script> 747 let phoneInt, 748 phoneLoginInt = null; 749 $(document).ready(function () { 750 const phoneInput = document.getElementById('mobilenumber'); 751 if (phoneInput) { 752 // Initialize intl-tel-input for UI & country dropdown 753 phoneInt = window.intlTelInput(phoneInput, { 754 loadUtils: () => import("https://cdn.jsdelivr.net/npm/intl-tel-input@latest/build/js/utils.js"), 755 onlyCountries: ['AU'], 756 initialCountry: 'AU', 757 allowDropdown: false, 758 autoPlaceholder: 'aggressive', 759 placeholderNumberType: 'MOBILE', 760 separateDialCode: true, 761 strictMode: true, 762 showFlags: true, 763 useFullscreenPopup: false, 764 }); 765 } 766 767 768 const loginPhoneInput = document.getElementById('login-mobile'); 769 if (loginPhoneInput) { 770 $j("#login-email").on("input", function () { 771 let val = $(this).val(); 772 if (/^\d/.test(val)) { // starts with number â switch to phone 773 $(this).hide(); 774 775 val = val.replace(/\D/g, ""); // remove everything that's not a digit 776 777 778 $("#login-mobile").show().val(val); 779 780 // Initialize intlTelInput only when phone field is first shown 781 if (!phoneLoginInt) { 782 phoneLoginInt = window.intlTelInput(loginPhoneInput, { 783 loadUtils: () => import("https://cdn.jsdelivr.net/npm/intl-tel-input@latest/build/js/utils.js"), 784 onlyCountries: ['AU'], 785 initialCountry: 'AU', 786 allowDropdown: false, 787 autoPlaceholder: "aggressive", 788 placeholderNumberType: "MOBILE", 789 separateDialCode: true, 790 strictMode: true, 791 showFlags: true, 792 formatAsYouType: false, 793 formatOnDisplay: false, 794 useFullscreenPopup: false, 795 }); 796 } 797 798 // Delay focus until phone is visible 799 setTimeout(() => { 800 $("#login-mobile").focus(); 801 }, 10); 802 } 803 }); 804 805 $j('#login-mobile').on("input", function () { 806 let val = $(this).val(); 807 val = val.replace(/\D/g, ""); // remove everything that's not a digit 808 809 810 $(this).val(val); 811 812 if (!val) { // if empty, switch back to email 813 $(this).val(""); // Clear phone input 814 815 // Destroy intlTelInput so flags disappear 816 if (phoneLoginInt) { 817 phoneLoginInt.destroy(); 818 phoneLoginInt = null; 819 } 820 821 // Switch back to email 822 $('#login-mobile').hide(); 823 $('#login-email').show().val("").focus(); 824 } 825 }); 826 } 827 828 const loginPhoneOtpInput = document.getElementById('login-phone'); 829 if (loginPhoneOtpInput) { 830 // Initialize intl-tel-input for UI & country dropdown 831 loginPhoneOtpInt = window.intlTelInput(loginPhoneOtpInput, { 832 loadUtils: () => import("https://cdn.jsdelivr.net/npm/intl-tel-input@latest/build/js/utils.js"), 833 onlyCountries: ['AU'], 834 initialCountry: 'AU', 835 allowDropdown: false, 836 autoPlaceholder: 'aggressive', 837 placeholderNumberType: 'MOBILE', 838 separateDialCode: true, 839 strictMode: true, 840 showFlags: true, 841 formatAsYouType: false, 842 formatOnDisplay: false, 843 useFullscreenPopup: false, 844 }); 845 } 846 847 const registerPhoneInput = document.getElementById('register-phone'); 848 if (registerPhoneInput) { 849 // Initialize intl-tel-input for UI & country dropdown 850 registerPhoneInt = window.intlTelInput(registerPhoneInput, { 851 loadUtils: () => import("https://cdn.jsdelivr.net/npm/intl-tel-input@latest/build/js/utils.js"), 852 onlyCountries: ['AU'], 853 initialCountry: 'AU', 854 allowDropdown: false, 855 autoPlaceholder: 'aggressive', 856 placeholderNumberType: 'MOBILE', 857 separateDialCode: true, 858 strictMode: true, 859 showFlags: true, 860 useFullscreenPopup: false, 861 }); 862 } 863 }); 864 </script>
864 865 866<!--WEB-1799 - Hide Menu Category When All Items Are Set to Specific Order Type--> 867
867<script> 868 //class="menu-item mi-223495" 869 function getIdFromClass(className) { 870 const match = className.match(/mi-(\d+)/); 871 return match ? match[1] : null; 872 } 873 874 function checkItemUl() { 875 $('#menu-items .menu-item').each(function() { 876 const menuItem = $(this); 877 const item_ul = menuItem.find('ul'); 878 if (item_ul.length && item_ul.children().length === 0) { 879 const className = menuItem.attr('class'); 880 const menuId = getIdFromClass(className); 881 if (menuId) { 882 $("#menu #menu-ul li.menu-" + menuId).hide(); 883 } 884 menuItem.hide(); 885 } 886 }); 887 } 888 889 $(document).ready(checkItemUl); 890 $(document).ajaxSuccess(checkItemUl); 891 </script>
891 892
892<script> 893 $(document).ready(function() { 894 // Search suburb/postcode option position bottom 895 (function($) { 896 var Defaults = $.fn.select2.amd.require('select2/defaults'); 897 $.extend(Defaults.defaults, { 898 dropdownPosition: 'auto' 899 }); 900 var AttachBody = $.fn.select2.amd.require('select2/dropdown/attachBody'); 901 var _positionDropdown = AttachBody.prototype._positionDropdown; 902 AttachBody.prototype._positionDropdown = function() { 903 var $window = $(window); 904 var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); 905 var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); 906 var newDirection = null; 907 var offset = this.$container.offset(); 908 offset.bottom = offset.top + this.$container.outerHeight(false); 909 var container = { 910 height: this.$container.outerHeight(false) 911 }; 912 container.top = offset.top; 913 container.bottom = offset.top + container.height; 914 var dropdown = { 915 height: this.$dropdown.outerHeight(false) 916 }; 917 var viewport = { 918 top: $window.scrollTop(), 919 bottom: $window.scrollTop() + $window.height() 920 }; 921 var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); 922 var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); 923 var css = { 924 left: offset.left, 925 top: container.bottom 926 }; 927 var $offsetParent = this.$dropdownParent; 928 if ($offsetParent.css('position') === 'static') { 929 $offsetParent = $offsetParent.offsetParent(); 930 } 931 var parentOffset = $offsetParent.offset(); 932 css.top -= parentOffset.top 933 css.left -= parentOffset.left; 934 var dropdownPositionOption = this.options.get('dropdownPosition'); 935 if (dropdownPositionOption === 'above' || dropdownPositionOption === 'below') { 936 newDirection = dropdownPositionOption; 937 } else { 938 if (!isCurrentlyAbove && !isCurrentlyBelow) { 939 newDirection = 'below'; 940 } 941 if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { 942 newDirection = 'above'; 943 } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { 944 newDirection = 'below'; 945 } 946 } 947 if (newDirection == 'above' || (isCurrentlyAbove && newDirection !== 'below')) { 948 css.top = container.top - parentOffset.top - dropdown.height; 949 } 950 if (newDirection != null) { 951 this.$dropdown 952 .removeClass('select2-dropdown--below select2-dropdown--above') 953 .addClass('select2-dropdown--' + newDirection); 954 this.$container 955 .removeClass('select2-container--below select2-container--above') 956 .addClass('select2-container--' + newDirection); 957 } 958 this.$dropdownContainer.css(css); 959 }; 960 })($j); 961 962 // Search Store by Suburb or Postcode 963 var chainStoresOptions = { 964 placeholder: "Suburb Search", 965 theme: "platina", 966 dropdownPosition: 'below', 967 minimumInputLength: 2, 968 minimumResultsForSearch: 5, 969 templateResult: formatRepo, 970 language: { 971 noResults: function () { 972 return "Sorry, we do not serve that area. <a href='#' data-toggle='modal' data-target='#locationsModal' class='menu-locations'>Click here</a> to see our list of locations."; 973 } 974 }, 975 escapeMarkup: function (markup) { 976 return markup; 977 }, 978 ajax: { 979 url: "core/ajax/find_chain_streets.php", 980 dataType: 'json', 981 delay: 250, 982 data: function (params) { 983 return { 984 q: params.term, page: params.page 985 }; 986 }, 987 processResults: function (data) { 988 989 $j("#getLocation").prop("disabled", false); 990 991 if (data) { 992 return { 993 results: $.map(data.streets, function (item) { 994 return { 995 text: item.store_suburb, 996 id: item.client_code, 997 item: item 998 } 999 }) 1000 }; 1001 } 1002 } 1003 } 1004 }; 1005 1006 $j("#chainStores").select2(chainStoresOptions); 1007 // OOA-40 Select Suburb - Use My Location 1008 function showLocation(position) { 1009 var lat = position.coords.latitude; 1010 var lng = position.coords.longitude; 1011 var position = "location:"+lat+","+lng; 1012 $j("#chainStores").prop("disabled", false); 1013 $j("#chainStores").select2("open"); 1014 $j("#chainStores").data("select2").dropdown.$search.val([position]).trigger("input"); 1015 $j("#chainStores").data("select2").dropdown.$search.val(null).trigger("change"); 1016 } 1017 1018 var showOptions = { 1019 enableHighAccuracy: true, 1020 timeout: 10000, 1021 maximumAge: 0 1022 }; 1023 1024 function showError(error) { 1025 switch(error.code) { 1026 case error.PERMISSION_DENIED: 1027 showModalAlert('warning', '', 'User denied the request for Geolocation.', 'OK'); 1028 $j("#chainStores").prop("disabled", false); 1029 break; 1030 case error.POSITION_UNAVAILABLE: 1031 showModalAlert('warning', '', 'Location information is unavailable.', 'OK'); 1032 $j("#chainStores").prop("disabled", false); 1033 break; 1034 case error.TIMEOUT: 1035 showModalAlert('warning', '', 'The request to get user location timed out.', 'OK'); 1036 $j("#chainStores").prop("disabled", false); 1037 break; 1038 case error.UNKNOWN_ERROR: 1039 showModalAlert('error', '', 'An unknown error occurred.', 'OK'); 1040 $j("#chainStores").prop("disabled", false); 1041 break; 1042 } 1043 } 1044 1045 $j("#getLocation").on('click', function() { 1046 if (typeof navigator !== "undefined" && navigator && navigator.geolocation) { 1047 navigator.geolocation.getCurrentPosition(showLocation, showError, showOptions); 1048 $j("#chainStores").select2("close"); 1049 1050 $j("#getLocation").prop("disabled", true); 1051 1052 $j("#chainStores").prop("disabled", true); 1053 } else { 1054 $j("#chainStores").prop("disabled", false); 1055 showModalAlert('warning', '', 'Geolocation is not supported by this browser.', 'OK'); 1056 } 1057 }); 1058 1059 // Update Selected Store Details 1060 // trigger switchStore function for suburb search 1061 $j("#chainStores").on("change", function () { 1062 var search_client_code = this.value; 1063 if(search_client_code !== '') { 1064 //check is store is in progress 1065 var search_client_status = $j("#chainStores").select2('data')[0].item.client_status; 1066 if(search_client_status != 'in progress'){ 1067 $j("#chainStores").prop("disabled", true); 1068 $j.ajax({ 1069 method: 'GET', 1070 data: {'item_count': 1}, 1071 url: 'core/ajax/checkorder.php', 1072 }).done(function (e) { 1073 1074 var search_client_id = $j("#chainStores").select2('data')[0].item.client_id; 1075 var search_client_url = $j("#chainStores").select2('data')[0].item.client_url; 1076 if (e === '0') { 1077 switchStore(search_client_id, search_client_code,search_client_url); 1078 } else { 1079 if (search_client_code === $j('#client_code').val()) { 1080 switchStore(search_client_id, search_client_code,search_client_url); 1081 return; 1082 } 1083 var switchStoreHeading = 'Switch to ' + $j("#chainStores option:selected").text() + '?';
1084 $j('#storeSwitchPopup h4.modal-title').text(switchStoreHeading); 1085 $j('#storeSwitchPopupStoreName').text($j("#chainStores option:selected").text()); 1086 $j('#storeSwitchPopup').modal('show'); 1087 } 1088 }); 1089 }else{ 1090 var comingSoonStoreSwitchPopup = $j("#chainStores option:selected").text() + ' store is coming soon!'; 1091 $j('#comingSoonStoreSwitchPopup h4.modal-title').text(comingSoonStoreSwitchPopup); 1092 $j('#comingSoonStoreSwitchPopup').modal('show'); 1093 } 1094 1095 1096 } 1097 }); 1098 1099 // New Delivery Address Search 1100 var searchFormOptions = { 1101 placeholder: "Enter your delivery location", 1102 theme: "platina delivery-address-search", 1103 dropdownPosition: 'below', 1104 minimumInputLength: 1, 1105 minimumResultsForSearch: 5, 1106 templateResult: formatRepoDelivery, 1107 language: { 1108 noResults: function () { 1109 return "Sorry, we do not serve that area. <a href='#' data-toggle='modal' data-target='#locationsModal' class='menu-locations'>Click here</a> to see our list of locations."; 1110 } 1111 }, 1112 escapeMarkup: function (markup) { 1113 return markup; 1114 }, 1115 ajax: { 1116 url: "core/ajax/find_nearest_stores.php", 1117 dataType: 'json', 1118 delay: 250, 1119 data: function (params) { 1120 return { 1121 q: params.term, page: params.page 1122 }; 1123 }, 1124 processResults: function (data) { 1125 1126 $j("#searchNearest").prop("disabled", false); 1127 1128 if (data) { 1129 return { 1130 results: $.map(data.streets, function (item) { 1131 return { 1132 text: item.store_suburb, 1133 id: item.client_code, 1134 item: item 1135 } 1136 }) 1137 }; 1138 } 1139 } 1140 } 1141 }; 1142 1143 $j("#searchForm").select2(searchFormOptions); 1144 // OOA-40 Select Suburb - Use My Location 1145 function showLocationDelivery(position) { 1146 var lat = position.coords.latitude; 1147 var lng = position.coords.longitude; 1148 var position = "location:"+lat+","+lng; 1149 $j("#searchForm").prop("disabled", false); 1150 $j("#searchForm").select2("open"); 1151 $j("#searchForm").data("select2").dropdown.$search.val([position]).trigger("input"); 1152 $j("#searchForm").data("select2").dropdown.$search.val(null).trigger("change"); 1153 } 1154 1155 function showErrorDelivery(error) { 1156 switch(error.code) { 1157 case error.PERMISSION_DENIED: 1158 showModalAlert('warning', '', 'User denied the request for Geolocation.', 'OK'); 1159 $j("#searchForm").prop("disabled", false); 1160 break; 1161 case error.POSITION_UNAVAILABLE: 1162 showModalAlert('warning', '', 'Location information is unavailable.', 'OK'); 1163 $j("#searchForm").prop("disabled", false); 1164 break; 1165 case error.TIMEOUT: 1166 showModalAlert('warning', '', 'The request to get user location timed out.', 'OK'); 1167 $j("#searchForm").prop("disabled", false); 1168 break; 1169 case error.UNKNOWN_ERROR: 1170 showModalAlert('error', '', 'An unknown error occurred.', 'OK'); 1171 $j("#searchForm").prop("disabled", false); 1172 break; 1173 } 1174 } 1175 1176 $j("#searchNearest").on('click', function() { 1177 if (typeof navigator !== "undefined" && navigator && navigator.geolocation) { 1178 navigator.geolocation.getCurrentPosition(showLocationDelivery, showErrorDelivery, showOptions); 1179 $j("#searchForm").select2("close"); 1180 1181 $j("#searchNearest").prop("disabled", true); 1182 1183 $j("#searchForm").prop("disabled", true); 1184 } else { 1185 $j("#searchForm").prop("disabled", false); 1186 showModalAlert('warning', '', 'Geolocation is not supported by this browser.', 'OK'); 1187 } 1188 }); 1189 1190 // Update Selected Store Details 1191 // trigger switchStore function for suburb search 1192 $j("#searchForm").on("change", function () { 1193 var search_client_code = this.value; 1194 if(search_client_code !== '') { 1195 //check is store is in progress 1196 var search_client_status = $j("#searchForm").select2('data')[0].item.client_status; 1197 if(search_client_status != 'in progress'){ 1198 $j("#searchForm").prop("disabled", true); 1199 $j.ajax({ 1200 method: 'GET', 1201 data: {'item_count': 1}, 1202 url: 'core/ajax/checkorder.php', 1203 }).done(function (e) { 1204 1205 var search_client_id = $j("#searchForm").select2('data')[0].item.client_id; 1206 var search_client_url = $j("#searchForm").select2('data')[0].item.client_url; 1207 if (e === '0') { 1208 switchStore(search_client_id, search_client_code,search_client_url); 1209 } else { 1210 if (search_client_code === $j('#client_code').val()) { 1211 switchStore(search_client_id, search_client_code,search_client_url); 1212 return; 1213 } 1214 var switchStoreHeading = 'Switch to ' + $j("#searchForm option:selected").text() + '?';
1215 $j('#storeSwitchPopup h4.modal-title').text(switchStoreHeading); 1216 $j('#storeSwitchPopupStoreName').text($j("#searchForm option:selected").text()); 1217 $j('#storeSwitchPopup').modal('show'); 1218 } 1219 }); 1220 }else{ 1221 var comingSoonStoreSwitchPopup = $j("#searchForm option:selected").text() + ' store is coming soon!'; 1222 $j('#comingSoonStoreSwitchPopup h4.modal-title').text(comingSoonStoreSwitchPopup); 1223 $j('#comingSoonStoreSwitchPopup').modal('show'); 1224 } 1225 } 1226 }); 1227 1228 // OOA-1394: trigger switchStore function for store list 1229 $j("#storeListsModal").on( "click", ".storeLists-orderonline-btn", function() { 1230 1231 // Get store data 1232 var storeList_clientID = $(this).attr( "client_id"); 1233 var storeList_clientCode = $(this).attr( "client_code"); 1234 var storeList_clientURL = $(this).attr( "client_url"); 1235 var storeList_clientSuburb = $(this).attr( "client_suburb"); 1236 var storeList_storeName = $(this).attr( "store_Name"); 1237 1238 $j.ajax({ 1239 method: 'GET', 1240 data: {'item_count': 1}, 1241 url: 'core/ajax/checkorder.php', 1242 }).done(function (e) { 1243 if (e === '0') { 1244 switchStore(storeList_clientID, storeList_clientCode, storeList_clientURL); 1245 } else { 1246 1247 if (storeList_clientCode === $j('#client_code').val()) { 1248 // DO not show switch option popup if client code are the same 1249 switchStore(storeList_clientID, storeList_clientCode, storeList_clientURL); 1250 return; 1251 } 1252 1253 var switchStoreHeading = 'Switch to ' + storeList_clientSuburb + '?'; 1254 $j('#storeSwitchPopup_2 h4.modal-title').text(switchStoreHeading); 1255 $j('#storeSwitchPopup_2 #storeSwitchPopupStoreName').text(storeList_storeName); 1256 1257 // Add store details needed for switching store 1258 $("#storeSwitchPopup_2 #storelist-switch-option-ok").attr( "client_id", storeList_clientID); 1259 $("#storeSwitchPopup_2 #storelist-switch-option-ok").attr( "client_code", storeList_clientCode); 1260 $("#storeSwitchPopup_2 #storelist-switch-option-ok").attr( "client_url", storeList_clientURL); 1261 1262 $j('#storeSwitchPopup_2').modal('show'); 1263 } 1264 }); 1265 }); 1266 1267 // Switch Prompt for Suburb Search 1268 $j(".switch-option").on('click', function() { 1269 var switchValue = this.value; 1270 1271 if (switchValue === 'ok') { 1272 var search_client_code = $j("#chainStores").val(); 1273 var search_client_id = $j("#chainStores").select2('data')[0].item.client_id; 1274 var search_client_url = $j("#chainStores").select2('data')[0].item.client_url; 1275 switchStore(search_client_id, search_client_code,search_client_url); 1276 } 1277 1278 if (switchValue === 'cancel') { 1279 $j("#chainStores").prop("disabled", false); 1280 $j("#chainStores").val('').trigger("change"); 1281 } 1282 1283 }); 1284 1285 // Switch Prompt for Store Lists 1286 $j(".storelist-switch-option").on('click', function() { 1287 var switchValue = this.value; 1288 // Okay button for suburb search feature 1289 if (switchValue === 'ok') { 1290 var search_client_code = $(this).attr( "client_code"); 1291 var search_client_id = $(this).attr( "client_id"); 1292 var search_client_url = $(this).attr( "client_url"); 1293 switchStore(search_client_id, search_client_code,search_client_url); 1294 } 1295 }); 1296 1297 function switchStore(search_client_id, search_client_code,search_client_url) { 1298 $j.ajax({ 1299 method: 'GET', 1300 data: { 1301 'client_id': search_client_id, 1302 'client_code': search_client_code 1303 }, 1304 dataType: 'json', 1305 url: 'core/ajax/change_store_session.php', 1306 }).done(function (e) { 1307 if (e.response_code == '02') { 1308 showModalAlert('error', '', 'Something went wrong. Please try again later.', 'OK'); 1309 } else { 1310 /*$j('html, body').animate({ 1311 scrollTop: $('#store-data').offset().top 1312 }, 'slow', function() { 1313 $("#loader-platina").fadeIn(); 1314 $("body").css("overflow", "hidden"); 1315 } 1316 var uri = window.location.toString(); 1317 if (uri.indexOf("#") > 0) { 1318 var clean_uri = uri.substring(0, uri.indexOf("#")); 1319 window.history.replaceState({}, document.title, clean_uri); 1320 } 1321 // window.location.href = search_client_url+"#store-data"; 1322 // window.location.href = search_client_url; 1323 });*/ 1324 window.location.href = search_client_url; 1325 } 1326 }); 1327 } 1328 1329 function formatRepo (data, e) { 1330 if (data.loading) { 1331 return data.text; 1332 } 1333 function camelCase(str) { 1334 str = str.toLowerCase() 1335 return str.replace(/(?:^|\s)\w/g, function(match) { 1336 return match.toUpperCase(); 1337 }); 1338 } 1339 var searchValue = $j("#chainStores").data("select2").dropdown.$search.val(); 1340 var src_str = camelCase(data.item.store_suburb_postcode); 1341 var term = searchValue; 1342 term = term.replace(/(\s+)/,"(<[^>]+>)*$1(<[^>
1342]+>)*"); 1343 var pattern = new RegExp("("+term+")", "gi"); 1344 // src_str = src_str.replace(pattern, "<span style='background: yellow;'>$1</span>"); //WD-520 : removed search word highlight 1345 src_str = src_str.replace(/(<mark>[^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/,"$1</mark>$2<mark>$4"); 1346 var suburb_postcode = (data.item.distance_in_km ? "approximately "+data.item.distance_in_km+"km away" : src_str); 1347 var state = (data.item.client_state != undefined) ? ' ('+data.item.client_state+')' : ''; 1348 var client_status = (data.item.client_status === 'in progress') ? '<br/><span style="color: #c42328; font-sie: 14px; vertical-align: middle;">Coming Soon</span>' : ''; 1349 var classStatus = (data.item.client_status === 'in progress') ? 'select2-result-store-inprogress' : ''; 1350 1351 var storeAddressHtml = ''; 1352 if (data.item.store_address) { 1353 var encodedStoreAddress = encodeURIComponent(data.item.store_address); 1354 storeAddressHtml = "<div class='select2-result-store__address'><img src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/store-address.svg'> <a href='https://www.google.com/maps/search/?api=1&query=" + encodedStoreAddress + "' class='address-link' target='_blank' rel='noopener'>" + data.item.store_address + "</a></div>"; 1355 } 1356 1357 var $container = $j( 1358 "<div class='select2-result-store "+classStatus+"'>" + 1359 "<div class='select2-result-store__meta'>
1359" + 1360 "<div class='select2-result-store__title'>"+data.item.store_suburb+state+client_status+"</div>" + 1361 storeAddressHtml + 1362 "<div class='select2-result-store__store-suburb-postcode'><img src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/deliver.svg'> "+suburb_postcode+"</div>" + 1363 "</div>" + 1364 "</div>" 1365 ); 1366 return $container; 1367 } 1368 1369 function formatRepoDelivery (data, e) { 1370 if (data.loading) { 1371 return data.text; 1372 } 1373 function camelCase(str) { 1374 str = str.toLowerCase() 1375 return str.replace(/(?:^|\s)\w/g, function(match) { 1376 return match.toUpperCase(); 1377 }); 1378 } 1379 var searchValue = $j("#searchForm").data("select2").dropdown.$search.val(); 1380 var src_str = camelCase(data.item.store_suburb_postcode); 1381 var term = searchValue; 1382 term = term.replace(/(\s+)/,"(<[^>]+>)*$1(<[^>]+>)*"); 1383 var pattern = new RegExp("("+term+")", "gi"); 1384 // src_str = src_str.replace(pattern, "<span style='background: yellow;'>$1</span>"); //WD-520 : removed search word highlight 1385 src_str = src_str.replace(/(<mark>[^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/,"$1</mark>$2<mark>$4"); 1386 var suburb_postcode = (data.item.distance_in_km ? "approximately "+data.item.distance_in_km+"km away" : src_str); 1387 var state = (data.item.client_state != undefined) ? ' ('+data.item.client_state+')' : ''; 1388 var client_status = (data.item.client_status === 'in progress') ? '<br/><span style="color: #c42328; font-sie: 14px; vertical-align: middle;">Coming Soon</span>' : ''; 1389 var classStatus = (data.item.client_status === 'in progress') ? 'select2-result-store-inprogress' : ''; 1390 1391 var full_address = data.item.original_street_number+' '+data.item.street+', '+suburb_postcode; 1392 // Lowercase then capitalize first letter of each word 1393 full_address = full_address.toLowerCase().replace(/\b[a-z]/g, function(letter) { 1394 return letter.toUpperCase(); 1395 }); 1396 1397 var store_suburb = data.item.store_suburb; 1398 // Lowercase then capitalize first letter of each word 1399 store_suburb = store_suburb.toLowerCase().replace(/\b[a-z]/g, function(letter) { 1400 return letter.toUpperCase(); 1401 }); 1402 1403 var suburbPostcodePlain = suburb_postcode.replace(/<[^>]*>/g, ''); 1404 var deliveryMapQuery = data.item.store_address ? data.item.store_address : (data.item.original_street_number + ' ' + data.item.street + ', ' + suburbPostcodePlain); 1405 var encodedDeliveryAddress = encodeURIComponent(deliveryMapQuery); 1406 var fullAddressHtml = "<a href='https://www.google.com/maps/search/?api=1&query=" + encodedDeliveryAddress + "' class='address-link' target='_blank' rel='noopener'>" + full_address + "</a>"; 1407 1408 var $container = $j( 1409 "<div class='select2-result-store "+classStatus+"'>" + 1410 "<div class='select2-result-store__meta'>
1410" + 1411 "<div class='select2-result-store__store-suburb-postcode'><img src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/deliver.svg'> " + fullAddressHtml + ' <strong>(Store: '+store_suburb+')</strong>' + client_status + "</div>" + 1412 "</div>" + 1413 "</div>" 1414 ); 1415 return $container; 1416 } 1417 1418 1419 var hash = window.location.hash.substr(1); 1420 if(hash && !hash.includes('=')){ 1421 $j('html, body').animate({ 1422 scrollTop: $('#'+hash).offset().top 1423 }, 'slow'); 1424 } 1425 1426 if($("#desktopSplide .splide__pagination").length){ 1427 if ($(window).width() >= 1024){ 1428 $("#desktopSplide .splide__pagination").css("top", $(window).height() - 80); 1429 } else{ 1430 $("#desktopSplide .splide__pagination").css("top", $(window).height() - 40); 1431 } 1432 } 1433 1434 var current_width = $(window).width(); 1435 //THIS FIX IS FOR THE ANDROID VIEW KEYBOARD ISSUE 1436 if(current_width < 480){ 1437 setTimeout(function () { 1438 let viewheight = $(window).height(); 1439 let viewwidth = $(window).width(); 1440 let viewport = document.querySelector("meta[name=viewport]"); 1441 viewport.setAttribute("content", "height=" + viewheight + "px, width=" + viewwidth + "px, initial-scale=1.0"); 1442 }, 300); 1443 } 1444 1445 var thTooltipTrigger = ($(window).width() <= 1024) ? 'click' : 'hover'; 1446 $j('.trading-hours-tooltip').tooltip({ trigger: thTooltipTrigger }); 1447 if (thTooltipTrigger === 'click') { 1448 var hideThTooltip = function(){ 1449 var $sf = $j('.trading-hours-tooltip'); 1450 $sf.tooltip('hide'); 1451 var data = $sf.data('bs.tooltip'); 1452 if (data) { 1453 if (data.inState) { 1454 data.inState.click = false; 1455 } 1456 if (data._activeTrigger) { 1457 data._activeTrigger.click = false; 1458 } 1459 } 1460 }; 1461 1462 $j(document).on('click', function(e){ 1463 if (!$(e.target).closest('.trading-hours-tooltip').length) { 1464 hideThTooltip(); 1465 } 1466 }); 1467 1468 $j(window).on('scroll', function(){ 1469 hideThTooltip(); 1470 }); 1471 1472 $j('#storeListsModal .modal-body').on('scroll touchmove', function () { 1473 $j(this).find('.trading-hours-tooltip').tooltip('hide'); 1474 }); 1475 1476 $j(document).on('click', '.trading-hours-tooltip', function (e) { 1477 e.preventDefault(); 1478 $j('.trading-hours-tooltip').not(this).tooltip('hide'); // Hide all other tooltips 1479 $j(this).tooltip('toggle'); // Toggle the current one 1480 }); 1481 } 1482 }); 1483 </script>
1483 1484
1484<script> 1485 // OOA-167 Platina - Franchise Option Contact Us 1486 $(document).ready(function(){ 1487 (function($){ 1488 $('[data-target="#storeListsModal"]').prop('disabled', false); 1489 1490 1491 1492 const buildToolTip = (tradingHours, tooltipTitle) => { 1493 let opening_hours_tooltip = ""; 1494 1495 for(var day in tradingHours) { 1496 var $day = day.charAt(0).toUpperCase() + day.slice(1); 1497 var perDayTime = timeClass = ""; 1498 if(tradingHours[day].open == 'Closed' || tradingHours[day].close == 'Closed'){ 1499 perDayTime = "Closed"; 1500 timeClass = ' hours-closed'; 1501 }else{ 1502 perDayTime = tradingHours[day].open + " - " + tradingHours[day].close; 1503 } 1504 1505 opening_hours_tooltip += `<div class='hours-day'>${$day}</div><div class='hours-time${timeClass}'>${perDayTime}</div>`; 1506 } 1507 1508 tooltipTitle = tooltipTitle || 'Store Hours'; 1509 return `<div class='hours-title'>${tooltipTitle}</div> 1510 <div class='hours-list'> 1511 ${opening_hours_tooltip} 1512 </div>`; 1513 }; 1514 1515 //google map 1516 var map = null; 1517 var marker = null; 1518 function initializeGMap(locations) { 1519 1520 markers = []; 1521 1522 var centerLat = locations[0].lat; 1523 var centerLng = locations[0].lng; 1524 1525 map = new google.maps.Map(document.getElementById('map_canvas'), { 1526 zoom: 12, 1527 center: new google.maps.LatLng(centerLat, centerLng), 1528 mapTypeId: google.maps.MapTypeId.ROADMAP 1529 }); 1530 1531 var i; 1532 for (i = 0; i < locations.length; i++) { 1533 1534 var client_status = locations[i].client_status; 1535 var coming_soon = (client_status === 'in progress') ? "<span class='locationsInfo-comingSoon'>Coming Soon</span>" : ""; 1536 var client_state = (locations[i].client_state != undefined) ? ' <span class="storeState">('+locations[i].client_state+')</span> ' : ' '; 1537 1538 var suburb = "<h3 class='locationsInfo-header'>" + locations[i].store_suburb + client_state + coming_soon + "</h3>"; 1539 1540 var url = ""; 1541 if(client_status != "in progress"){ 1542 url = "<div class='locationsInfo-btn-cont'><a href='" + locations[i].client_url + "' class='locationsInfo-btn'>Order Online</a></div>"; 1543 } 1544 1545 1546 var address = ""; 1547 if(locations[i].store_address != null){ 1548 var encodedAddress = encodeURIComponent(locations[i].store_address); 1549 address = "<p class='locationsInfo-address'><span class='glyphicon glyphicon-map-marker'></span> <a href='https://www.google.com/maps/search/?api=1&query=" + encodedAddress + "' class='address-link' target='_blank' rel='noopener'>" + locations[i].store_address + "</a></p>"; 1550 } 1551 1552 var phone = ""; 1553 if(client_status != 'in progress' && locations[i].store_phone != null){ 1554 var sanitizedPhone = locations[i].store_phone.replace(/[^0-9+]/g, ''); 1555 if (sanitizedPhone) { 1556 phone = "<p class='locationsInfo-phone'><i class='fa-solid fa-phone'></i> <a href='tel:" + sanitizedPhone + "' class='phone-link'>" + locations[i].store_phone + "</a></p>"; 1557 } else { 1558 phone = "<p class='locationsInfo-phone'><i class='fa-solid fa-phone'></i> " + locations[i].store_phone + "</p>"; 1559 } 1560 } 1561 1562 var serves_cuisine = ""; 1563 if(client_status != 'in progress' && locations[i].serves_cuisine != null){ 1564 serves_cuisine = "<p class='locationsInfo-address'><span class='glyphicon glyphicon-glass'></span> " + locations[i].serves_cuisine + "</p>"; 1565 } 1566 1567 var opening_hours = ""; 1568 if(client_status != 'in progress'){ 1569 opening_hours = (locations[i].open_time == 0 || locations[i].close_time == 0) ? "Closed" : locations[i].open_time + " - " + locations[i].close_time; 1570 opening_hours = `<h4 style="margin-top:20px;font-size:14px;font-weight:600;">Opening Hours: </h4> 1571 <div> 1572 <span class="store-hours trading-hours-tooltip" data-toggle="tooltip" data-placement="right" data-html="true" data-container="body" data-template='<div class="tooltip th-tooltip" role="tooltip"><div class="tooltip-inner"></div></div>' title="${buildToolTip(locations[i].store_hours, 'Store Hours')}" style="display:inline-block"><p><b>Pickup:</b> ${opening_hours}</p></span> 1573 </div>`; 1574 } 1575 1576 var lunch_hours = ""; 1577 if(client_status != 'in progress' && typeof locations[i].lunch_open_time !== 'undefined' && typeof locations[i].lunch_close_time !== 'undefined' && typeof locations[i].lunch_hours !== 'undefined'){ 1578 lunch_hours = (locations[i].lunch_open_time == 0 || locations[i].lunch_close_time == 0) ? "Closed" : locations[i].lunch_open_time + " - " + locations[i].lunch_close_time; 1579 lunch_hours = `<div> 1580 <span class="store-hours trading-hours-tooltip" data-toggle="tooltip" data-placement="right" data-html="true" data-container="body" data-template='<div class="tooltip th-tooltip" role="tooltip"><div class="tooltip-inner"></div></div>' title="${buildToolTip(locations[i].lunch_hours, 'Lunch Hours')}" style="display:inline-block"><p><b>Lunch:</b> ${lunch_hours}</p></span> 1581 </div>`; 1582 } 1583 1584 var delivery_hours = ""; 1585 if(client_status != 'in progress'){ 1586 if(locations[i].pickup_only!='1'){ 1587 delivery_hours = (locations[i].delivery_start_time == 0 || locations[i].delivery_end_time == 0) ? "Closed" : locations[i].delivery_start_time + " - " + locations[i].delivery_end_time; 1588 delivery_hours = `<div> 1589 <span class="store-hours trading-hours-tooltip" data-toggle="tooltip" data-placement="right" data-html="true" data-container="body" data-template='<div class="tooltip th-tooltip" role="tooltip"><div class="tooltip-inner"></div></div>' title="${buildToolTip(locations[i].delivery_hours, 'Delivery Hours')}" style="display:inline-block"><p><b>Delivery:</b> ${delivery_hours}</p></span> 1590 </div>`; 1591 }else{ 1592 delivery_hours = "<p style='font-weight: bold; margin-top: 20px; margin-bottom: 30px;'>Pickup Only</p>"; 1593 } 1594 } 1595 1596 var delivery_suburbs = ""; 1597 if(locations[i].pickup_only!='1' && locations[i].delivery_suburbs != null){ 1598 // Clean List of Suburb 1599 var listOfSuburbs= locations[i].delivery_suburbs; 1600 var suburbsArr = listOfSuburbs.split(','); 1601 suburbHTML = ''; 1602 $.each(suburbsArr, function(key, value) { 1603 if(key!=0) { 1604 suburbHTML += ", <span class='listOfSuburb'> " + value.toLowerCase() + "</span>"; 1605 }else{ 1606 suburbHTML += "<span class='listOfSuburb'>" + value.toLowerCase() + "</span>"; 1607 } 1608 1609 }); 1610 delivery_suburbs = "<h4 style='margin-top:20px;font-size:14px;font-weight:600;'>Delivery Areas: </h4><p class='locationsInfo-delivery'>" + suburbHTML + " </p> "; 1611 } 1612 1613 marker = new google.maps.Marker({ 1614 position: new google.maps.LatLng(locations[i].lat, locations[i].lng), 1615 map: map, 1616 icon: 'https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/map-marker.png', 1617 animation : google.maps.Animation.DROP 1618 }); 1619 1620 var contentString = "<div class='locationsInfo'>" + suburb + address + phone + serves_cuisine + opening_hours + lunch_hours + delivery_hours + delivery_suburbs + url + "</div>"; 1621 var infowindow = new google.maps.InfoWindow(); 1622 google.maps.event.addListener(marker, 'click', (function(marker, contentString, i) { 1623 return function() { 1624 infowindow.setContent(contentString); 1625 infowindow.open(map, marker); 1626 } 1627 })(marker, contentString, i)); 1628 1629 // add custom class to google map infowindow 1630 google.maps.event.addListener(infowindow,'domready',function(){ 1631 $('.locationsInfo').closest('.gm-style-iw').parent().addClass('custom-iw'); 1632 1633 if ($(window).width() < 1024) { 1634 $('.store-hours.trading-hours-tooltip').tooltip({ placement: 'top' }); 1635 1636 $('.gm-style-iw .gm-style-iw-d').on('scroll touchmove', function () { 1637 $(this).find('.store-hours.trading-hours-tooltip').tooltip('hide'); 1638 }); 1639 } else { 1640 $('.store-hours.trading-hours-tooltip').tooltip(); 1641 } 1642 }); 1643 1644 markers.push(marker); 1645 } 1646 } 1647 1648 const state_name = { 1649 'NSW': 'New South Wales', 1650 'VIC': 'Victoria', 1651 'QLD': 'Queensland', 1652 'SA': 'South Australia', 1653 'WA': 'Western Austalia', 1654 'TAS': 'Tasmania', 1655 'ACT': 'Australian Capital Territory', 1656 'NT': 'Northern Territory' 1657 }; 1658 1659 // trigger to open locations modal when linked is clicked 1660 $('#locationsModal').on('show.bs.modal', function(event) { 1661 $('#locationsModal .franchise-locations').hide(); 1662 $('#locationsModal #map_canvas').hide(); 1663 $('#locationsModal #loadin_bar').show().html("<span style='text-align:center;'><img src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/loader.svg' style='width:5%;margin-top:15%;'></span>"); 1664 //Display Locations 1665 $.ajax({ 1666 method: 'POST', 1667 data: { 1668 'account_id': '', 1669 'sort_state': 0 }, 1670 dataType: 'json', 1671 url: 'core/ajax/get_multi_store.php', 1672 }).done(function (data) { 1673 1674 $('#locationsModal .franchise-locations').show(); 1675 $('#locationsModal #map_canvas').show(); 1676 $('#locationsModal #loadin_bar').hide(); 1677 1678 var storeList_html = ""; 1679 var storeList_html2 = ""; 1680 var i = 0; 1681 let states = []; 1682 let tmp_state = ""; 1683 $.each(data, function(k, v) { 1684 var store_suburb = (v.store_suburb || 'Not Set'); 1685 var client_status = (v.client_status === 'in progress') ? '- <span class="sub-list-comingSoon" style="color: #a51419">Coming Soon</span>' : ''; 1686 var client_state = v.client_state; 1687 states.push(client_state); 1688 storeList_html += '<span class="sub-list-group-item list-group-item list-group-item-action'+(v.client_status !== 'in progress' ? ' list-group-item-active' : '')+'" href="#" id="' + client_state + '" menu-id="' + i + '">' + 1689 store_suburb + 1690 ' '+ '<span class="storeState"> ('+ client_state +') </span>' + client_status + 1691 '</span>'; 1692 storeList_html2 += '<option class="option-list" value="'+i+'">' + store_suburb + ' ('+ client_state +') ' + client_status + '</option>'; 1693 i++; 1694 tmp_state = client_state; 1695 }); 1696 1697 $('#locationsModal .modal-body .store-details-container .list-group').append(storeList_html); 1698 1699 if(new Set(states).size === 1){ // Check if every client states are the same 1700 storeList_html2=""; 1701 for(i = 0; i < data.length; i++){ 1702 delete data[i]['client_state']; 1703 var store_suburb = (data[i]['store_suburb'] || 'Not Set'); 1704 var client_status = (data[i]['client_status'] === 'in progress') ? ' - Coming Soon' : ''; 1705 storeList_html2 += '<option class="option-list" value="'+i+'">'+store_suburb+client_status+'</option>'; 1706 } 1707 $(".storeState").hide(); 1708 } 1709 $('#locationsModal .modal-body .store-details-container #locationsSuburbList2').append("<option disabled selected>Select a Suburb</option>" + storeList_html2); 1710 initializeGMap(data); 1711 $("#location-map").css("width", "100%"); 1712 $("#map_canvas").css("width", "100%"); 1713 }); 1714 }); 1715 1716 // open info box when li is clicked 1717 $("#locationsModal").on( "click", ".sub-list-group-item.list-group-item-active", function() { 1718 if($(window).width() <= 768){ 1719 let location_container = $('#locationsModal .franchise-locations:has(> .store-details-container.group)'); 1720 if(location_container.length){ 1721 location_container.animate({ 1722 scrollTop: location_container[0].scrollHeight 1723 }, 800); 1724 } 1725 } 1726 1727 var locId = $(this).attr('menu-id'); 1728 var clickedMarker = markers[locId]; 1729 1730 google.maps.event.trigger(clickedMarker, 'click'); 1731 map.setZoom(15); 1732 map.setCenter(clickedMarker.getPosition()); 1733 }); 1734 1735 // open info box when options is clicked 1736 $("#locationsModal").on( "change", "#locationsSuburbList2", function() { 1737 var locId= $("#locationsSuburbList2 option:selected").val(); 1738 google.maps.event.trigger(markers[locId], 'click'); 1739 map.setZoom(15); 1740 }); 1741 1742 // clear ul when modal is clicked 1743 $('#locationsModal').on('hidden.bs.modal', function(event) { 1744 $('#locationsModal .modal-body .store-details-container .list-group').empty(); 1745 $('#locationsModal .modal-body .store-details-container #locationsSuburbList2').empty(); 1746 }); 1747 1748 1749 // OOA-1394 Order Now Store list Platina Feature 1750 $('#storeListsModal').on('show.bs.modal', function(event) { 1751 1752 $('#storeListsModal #accordion').empty(); 1753 $('#storeListsModal #loadin_bar').show().html("<span style='text-align:center;'><img src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/loader.svg' style='width: 60px'></span>"); 1754 1755 // Get Store Data 1756 $.ajax({ 1757 method: 'POST', 1758 data: { 1759 'account_id': '', 1760 'sort_state': 0 }, 1761 dataType: 'json', 1762 url: 'core/ajax/get_multi_store.php', 1763 }).done(function (data) { 1764 1765 $('#storeListsModal #loadin_bar').hide(); 1766 1767 var storeListModalHTML = ""; 1768 var accordionHeaderHTML = ""; 1769 var accordionBodyHTML = ""; 1770 let states = []; 1771 let tmp_state = ""; 1772 1773 $.each(data, function(k, v) { 1774 var store_suburb = (v.store_suburb || 'Not Set'); 1775 var client_status = (v.client_status || 'Not Set'); 1776 var client_state = v.client_state; 1777 states.push(client_state); 1778 1779 var acc_id = "storeListModal_"+v.client_id; 1780 1781 //Accordion Header - Store Suburb Suburb 1782 if(client_status != 'in progress'){ 1783 accordionHeaderHTML = '<div class="panel-heading panel-heading-active"><h4 class="panel-title">' + 1784 '<a class="panel-name" href="#'+acc_id+'"> ' + 1785 store_suburb + ' <span class="storeState"> ('+ client_state +') </span>' + 1786 '</a>' + 1787 '</h4></div>'; 1788 }else{ 1789 accordionHeaderHTML = '<div class="panel-heading panel-heading-inprogress"><h4 class="panel-title">'+store_suburb+' <span class="storeState"> ('+ client_state +') </span><span class="store-list-status">Coming Soon</span></h4></div>'; 1790 } 1791 1792 //Accordion Body - Store Detail 1793 accordionBodyHTML=""; 1794 if(client_status != 'in progress'){ 1795 1796 var clientAddress = ""; 1797 if(v.store_address != null){ 1798 var encodedClientAddress = encodeURIComponent(v.store_address); 1799 clientAddress = "<p class='storeListModal-address'><span class='glyphicon glyphicon-map-marker'></span> <a href='https://www.google.com/maps/search/?api=1&query=" + encodedClientAddress + "' class='address-link' target='_blank' rel='noopener'>" + v.store_address + "</a></p>"; 1800 } 1801 1802 var clientPhone = "";
1803 if(v.store_phone != null){ 1804 var encodedClientPhone = v.store_phone.replace(/[^0-9+]/g, ''); 1805 if (encodedClientPhone) { 1806 clientPhone = "<p class='storeListModal-phone'><i class='fa-solid fa-phone'></i> <a href='tel:" + encodedClientPhone + "' class='phone-link'>" + v.store_phone + "</a></p>"; 1807 } else { 1808 clientPhone = "<p class='storeListModal-phone'><i class='fa-solid fa-phone'></i> " + v.store_phone + "</p>"; 1809 } 1810 } 1811 1812 var clientOpeningHours = ""; 1813 clientOpeningHours = (v.open_time == 0 || v.close_time == 0) ? "Closed" : v.open_time + " - " + v.close_time; 1814 clientOpeningHours = `<p>Opening Hours: </p> 1815 <p class='storeListModal-pickup'> 1816 <span class="trading-hours-tooltip" data-toggle="tooltip" data-placement="top" data-html="true" data-container="body" data-template='<div class="tooltip th-tooltip" role="tooltip"><div class="tooltip-inner"></div></div>' title="${buildToolTip(v.store_hours, 'Store Hours')}"> 1817 <b>Pickup:</b> ${clientOpeningHours} 1818 </span> 1819 </p>`; 1820 1821 var clientLunchHours = ""; 1822 if (typeof v.lunch_open_time !== 'undefined' && typeof v.lunch_close_time !== 'undefined' && typeof v.lunch_hours !== 'undefined') { 1823 clientLunchHours = (v.lunch_open_time == 0 || v.lunch_close_time == 0) ? "Closed" : v.lunch_open_time + " - " + v.lunch_close_time; 1824 clientLunchHours = `<p class='storeListModal-lunch'> 1825 <span class="trading-hours-tooltip" data-toggle="tooltip" data-placement="top" data-html="true" data-container="body" data-template='<div class="tooltip th-tooltip" role="tooltip"><div class="tooltip-inner"></div></div>' title="${buildToolTip(v.lunch_hours, 'Lunch Hours')}"> 1826 <b>Lunch:</b> ${clientLunchHours} 1827 </span> 1828 </p>`; 1829 } 1830 1831 var clientDeliveryHours = ""; 1832 if(v.pickup_only!='1'){ 1833 clientDeliveryHours = (v.delivery_start_time == 0 || v.delivery_end_time == 0) ? "Closed" : v.delivery_start_time + " - " + v.delivery_end_time; 1834 clientDeliveryHours = `<p class='storeListModal-delivery'> 1835 <span class="trading-hours-tooltip" data-toggle="tooltip" data-placement="top" data-html="true" data-container="body" data-template='<div class="tooltip th-tooltip" role="tooltip"><div class="tooltip-inner"></div></div>' title="${buildToolTip(v.delivery_hours, 'Delivery Hours')}"> 1836 <b>Delivery:</b> ${clientDeliveryHours} 1837 </span> 1838 </p>`; 1839 }else{ 1840 clientDeliveryHours = "<p class='storeListModal-pickup'>Pickup Only</p>"; 1841 } 1842 1843 var clientURL = ""; 1844 if(v.client_url != null){ 1845 clientURL = "<div class='store-list-btn'><button type='button' class='btn btn-default storeLists-orderonline-btn' data-dismiss='modal' client_id='"+v.client_id+"' client_code='"+v.client_code+"' client_url='"+v.client_url+"' client_suburb='"+v.store_suburb+"' store_name='"+v.store_name+"' >Order Online</button></div>"; 1846 } 1847 1848 accordionBodyHTML = '<div id="'+acc_id+'" class="panel-collapse" style="display:none;">'+ 1849 '<div class="panel-body"><div class="row">' + 1850 '<div class="col-md-4">' + clientAddress + clientPhone + '</div>' + 1851 '<div class="col-md-4">' + clientOpeningHours + clientLunchHours + clientDeliveryHours + '</div>' + 1852 '<div class="col-md-4">' + clientURL + '</div>' + 1853 '</div></div></div>'; 1854 } 1855 1856 1857 //Build Accordion HTML 1858 storeListModalHTML += '<div class="panel panel-default">'+accordionHeaderHTML+accordionBodyHTML+'</div>'; 1859 tmp_state = client_state; 1860 }); 1861 1862 $('#storeListsModal #accordion').append(storeListModalHTML); 1863 1864 $('#storeListsModal .modal-body').find('.trading-hours-tooltip').tooltip(); 1865 1866 if(new Set(states).size === 1){ // Check if every client states are the same 1867 $(".storeState").hide(); 1868 } 1869 }); 1870 1871 }); 1872 1873 $('#storeListsModal').on('click', "#accordion .panel-heading-active > .panel-title > .panel-name", function(e){ 1874 const header_ref = $(this).attr('href'); 1875 1876 $('#storeListsModal #accordion .panel-heading-active > .panel-title > .panel-name').not($(this)).removeClass('open'); 1877 $('#storeListsModal #accordion div.panel-collapse').not(header_ref).slideUp('fast'); 1878 1879 $(this).toggleClass('open') 1880 $('#storeListsModal #accordion div'+header_ref).slideToggle('fast'); 1881 e.preventDefault(); 1882 }); 1883 1884 })($j); 1885 1886 if($(window).width() <= 320) { 1887 $('div.item-title').each(function(){ 1888 var truncated = $(this).text().substr(0, 29); 1889 $(this).text(truncated+(truncated.length<29?'':'...')); 1890 }); 1891 } 1892 }); 1893 </script>
1893 1894 1895
1895<script> 1896 $(document).ready(function(){ 1897 // WEB-1114 Add new order type selection before store selection 1898 1899 $('.order-type-icon-group').html('<img class="order-type-icon" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/pickup.png" />'); 1900 $('.order-type-text').html('Pick up Order'); 1901 1902 if ($('#estimated-time .estimated-time-bg').html() == '') { 1903 $('#estimated-time').hide(); 1904 } 1905 1906 //check_estimated_time(); 1907 1908 $(".order-type-bt").click(function(){ 1909 var order_type = this.value; 1910 if(($(".order-type-bt.active").val() == order_type) || ($('#view-basket .promo-with-different-plu').length && typeof $(this).data('bypass') === 'undefined')){ 1911 if($(".order-type-bt.active").val() == order_type){ 1912 $("#order-type-select").hide(); 1913 $('#store-select').fadeIn("fast"); 1914 $('.order-type-store-searchbar .select2-container--platina').hide(); 1915 $('.order-type-store-searchbar #chainStores, .order-type-store-searchbar #searchForm').hide(); 1916 1917 if(order_type == 'pickup'){ 1918 $('.order-type-store-searchbar #chainStores').show(); 1919 $('.order-type-store-searchbar #select2-chainStores-container').parents('.select2-container--platina').first().show(); 1920 } else if(order_type == 'delivery'){ 1921 $('.order-type-store-searchbar #searchForm').show(); 1922 $('.order-type-store-searchbar #select2-searchForm-container').parents('.select2-container--platina').first().show(); 1923 } 1924 } 1925 1926 return true; 1927 } 1928 1929 $('.order-type-bt').removeClass('active'); 1930 $("#order-type-bt-pickup, #order-type-bt-delivery").prop('disabled', false); 1931 1932 $("#order-type-select").hide(); 1933 1934 $('#store-select').fadeIn("fast"); 1935 1936 $(".mi-loader").css("display", "block"); 1937 1938 if ($(window).width() > 1024) { 1939 $('#estimated-time').show(); 1940 } 1941 1942 setTimeout(() => { 1943 change_order_type(order_type); 1944 }, 100); 1945 }); 1946 1947 $("#float-box .order-type-bt").click(function(){ 1948 var order_type = this.value; 1949 if(($(".order-type-bt.active").val() == order_type) || ($('#view-basket .promo-with-different-plu').length && typeof $(this).data('bypass') === 'undefined')){ 1950 return true; 1951 } 1952 1953 $('#store-select').hide(); 1954 $("#store-details").fadeIn("fast"); 1955 }); 1956 1957 $(".change-order-type-btn").click(function(){ 1958 $("#store-select").hide(); 1959 $("#store-details").hide(); 1960 $('#order-type-select').fadeIn("fast"); 1961 }); 1962 1963 // Update #store-data height when the inner #store container height changes - mobile only 1964 if ($(window).width() < 768) { 1965 const store_container = document.querySelector('#store'); 1966 1967 const resizeObserver = new ResizeObserver(() => { 1968 $('#store-data').height(store_container.offsetHeight + 100); 1969 }); 1970 1971 if (store_container !== null) { 1972 resizeObserver.observe(store_container); 1973 } 1974 } 1975 1976 if(window.history.replaceState){ 1977 window.history.replaceState(null, null, window.location.href); 1978 } 1979 1980 resizeStoreComponents(); 1981 }); 1982 1983 function change_order_type(order_type) { 1984 $('.order-type-bt[value="'+order_type+'"]').addClass('active'); 1985 $("#current_order_type_holder").val(order_type); 1986 $('#order-type-bt-'+order_type).addClass('active'); 1987 1988 $('.order-type-store-searchbar .select2-container--platina').hide(); 1989 1990 if (order_type == 'pickup') { 1991 $('.order-type-icon-group').html('<img class="order-type-icon" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/pickup.png" />'); 1992 $('.order-type-text').html('Pick up Order'); 1993 1994 $('.order-type-store-searchbar #chainStores').show(); 1995 $('.order-type-store-searchbar #select2-chainStores-container').parents('.select2-container--platina').first().show(); 1996 $('#getLocation').show(); 1997 $('#searchNearest').hide(); 1998 $('.order-type-store-searchbar #searchForm').hide(); 1999 } else if (order_type == 'delivery') { 2000 $('.order-type-icon-group').html('<img class="order-type-icon" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/delivery.png" />'); 2001 $('.order-type-text').html('Delivery Order'); 2002 2003 $('.order-type-store-searchbar #chainStores').hide(); 2004 $('.order-type-store-searchbar #select2-searchForm-container').parents('.select2-container--platina').first().show(); 2005 $('#getLocation').hide(); 2006 $('#searchNearest').show(); 2007 $('.order-type-store-searchbar #searchForm').show(); 2008 } 2009 2010 $.ajax({ 2011 method: 'POST', 2012 url: 'core/ajax/set_order_type.php', 2013 dataType: 'JSON', 2014 data: {order_type: order_type} 2015 }).success(function (data) { 2016 if ($('#menu-cont').length != 0) { 2017 //loads menu from api 2018 var tempReorder = $('#menuitems-reorder').prop('outerHTML'); 2019 $('#menu-cont').load('https://doughboyz.com.au/api/getmenu.php', {client_id:1288, order_type:order_type, menu_type:'both'}, function (data, status, xhr) { 2020 if (status != "error") { 2021 menu_nav(); 2022 get_cart_total(); 2023 } 2024 2025 $("#menu-items").prepend(tempReorder); 2026 lastreorderbutton(); 2027 }); 2028 } 2029 2030 if ($('#estimated-time .estimated-time-bg').html() == '') { 2031 $('#estimated-time').hide(); 2032 } 2033 }); 2034 } 2035 </script>
2035 2036 <style> 2037.custom-modal-overlay { 2038 position: fixed; 2039 top: 0; 2040 left: 0; 2041 width: 100%; 2042 height: 100%; 2043 background-color: rgba(0, 0, 0, 0.35); 2044 opacity: 1 !important; 2045 backdrop-filter: blur(5px); 2046 -webkit-backdrop-filter: blur(5px); 2047 z-index: 9999; 2048 display: flex; 2049 align-items: center; 2050 justify-content: center; 2051} 2052 2053.custom-modal-container { 2054 display: flex; 2055 align-items: center; 2056 justify-content: center; 2057 width: 100%; 2058 height: 100%; 2059 padding: 20px; 2060} 2061 2062.custom-modal-content { 2063 background: white; 2064 border-radius: 8px; 2065 padding: 25px; 2066 max-width: 500px; 2067 width: 100%; 2068 box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06); 2069 animation: modalSlideIn 0.2s ease-out; 2070} 2071 2072@keyframes modalSlideIn { 2073 from { 2074 opacity: 0; 2075 transform: translateY(-20px); 2076 } 2077 to { 2078 opacity: 1; 2079 transform: translateY(0); 2080 } 2081} 2082 2083.custom-modal-message { 2084 font-size: 16px; 2085 line-height: 1.5; 2086 color: #333; 2087 margin-bottom: 20px; 2088 text-align: center; 2089} 2090 2091.custom-modal-buttons { 2092 display: flex; 2093 justify-content: center; 2094 gap: 10px; 2095} 2096 2097.custom-modal-btn { 2098 padding: 10px 20px; 2099 border: none; 2100 border-radius: 4px; 2101 font-size: 14px; 2102 font-weight: 500; 2103 cursor: pointer; 2104 transition: all 0.2s ease; 2105 min-width: 80px; 2106} 2107 2108.custom-modal-btn-primary { 2109 background-color: #007bff; 2110 color: white; 2111} 2112 2113.custom-modal-btn-primary:hover { 2114 background-color: #0056b3; 2115} 2116 2117.custom-modal-btn-secondary { 2118 background-color: #6c757d; 2119 color: white; 2120} 2121 2122.custom-modal-btn-secondary:hover { 2123 background-color: #545b62; 2124} 2125 2126.custom-modal-btn:active { 2127 transform: scale(0.98); 2128} 2129 2130/* MODAL CLASS */ 2131.class-modals .custom-modal-content{ 2132 border-radius: 16px; 2133 max-width: 448px; 2134 padding: 32px 24px 24px; 2135 display: flex; 2136 flex-direction: column; 2137 align-items: center; 2138} 2139.class-modals button{ 2140 border-radius: 12px; 2141 color: #fff; 2142 background-color : #388ee2; 2143 width: 100%; 2144 font-size: 14px; 2145 font-weight: 600; 2146} 2147.class-modals .custom-modal-buttons{ 2148 width: 100%; 2149} 2150.class-modals .custom-modal-heading{ 2151 font-size: 16px; 2152 font-weight: 600; 2153 margin-bottom: 4px; 2154 text-align: center; 2155} 2156.class-modals .custom-modal-message{ 2157 font-size: 14px; 2158} 2159.class-modals button:hover{ 2160 background-color : #4a97e5; 2161} 2162.class-modals .custom-modal-icon{ 2163 border-radius: 50px; 2164 display: flex; 2165 font-size: 20px; 2166 height: 56px; 2167 width: 56px; 2168 justify-content: center; 2169 align-items: center; 2170 margin-bottom: 16px; 2171} 2172.icon-gift, .icon-success{ 2173 background-color: #e2f9eb; 2174 color: #25b15f; 2175} 2176.icon-warning, .icon-cart, .icon-question{ 2177 background-color: #fdf2e2; 2178 color: #f5a83d; 2179} 2180.icon-error, .icon-suspicious{ 2181 background-color: #fbeaea; 2182 color: #df3a3a; 2183} 2184.icon-info, .icon-message{ 2185 background-color: #e4f0fb; 2186 color: #368ce2; 2187} 2188 2189/* Mobile responsive */ 2190@media (max-width: 600px) { 2191 .custom-modal-content { 2192 padding: 20px; 2193 max-width: 90%; 2194 } 2195 2196 .custom-modal-message { 2197 font-size: 14px; 2198 } 2199 2200 .custom-modal-buttons { 2201 flex-direction: column; 2202 } 2203 2204 .custom-modal-btn { 2205 width: 100%; 2206 } 2207} 2208</style>
2208<script> 2209// Global z-index counter for modals 2210if (typeof window.customModalZIndex === 'undefined') { 2211 window.customModalZIndex = 10000; 2212} 2213 2214// Helper function to show modal alerts dynamically 2215function showModalAlert(icon, heading, message, buttonText, callback) { 2216 var modalId = 'customModal' + Date.now(); 2217 var modalZIndex = window.customModalZIndex++; 2218 var iconMap = { 2219 'gift': 'fa-solid fa-gift', 2220 'info': 'fa-solid fa-info', 2221 'warning': 'fa-solid fa-triangle-exclamation', 2222 'question': 'fa-solid fa-question', 2223 'success': 'fa-solid fa-check', 2224 'error': 'fa-solid fa-x', 2225 'message': 'fa-solid fa-message', 2226 'suspicious': 'fa-solid fa-shield-halved', 2227 'cart': 'fa-solid fa-cart-shopping' 2228 }; 2229 var hasIcon = icon !== '' && icon !== null && typeof icon !== 'undefined'; 2230 var iconKey = hasIcon ? (iconMap[icon] ? icon : 'info') : ''; 2231 var iconClass = hasIcon ? iconMap[iconKey] : ''; 2232 var iconHtml = hasIcon 2233 ? '<div class="custom-modal-icon icon-' + iconKey + '"><i class="' + iconClass + '"></i></div>' 2234 : ''; 2235 2236 var modalHtml = '<div id="' + modalId + '" class="custom-modal-overlay class-modals" style="display:none; z-index:' + modalZIndex + ';">' + 2237 '<div class="custom-modal-container">' + 2238 '<div class="custom-modal-content">' + 2239 iconHtml + 2240 '<div class="custom-modal-heading">' + heading + '</div>' + 2241 '<div class="custom-modal-message">' + message + '</div>' + 2242 '<div class="custom-modal-buttons">' + 2243 '<button class="custom-modal-btn custom-modal-btn-primary" onclick="closeCustomModal(\'' + modalId + '\')">' + buttonText + '</button>' + 2244 '</div>' + 2245 '</div>' + 2246 '</div>' + 2247 '</div>'; 2248 2249 $('body').append(modalHtml); 2250 $('#' + modalId).fadeIn(200); 2251 2252 var overlayElement = document.getElementById(modalId); 2253 var buttonElement = overlayElement.querySelector('.custom-modal-btn-primary'); 2254 2255 // CRITICAL: Block events from reaching Bootstrap by intercepting at document level 2256 // BUT allow button clicks to execute their handlers first 2257 var blockBootstrapHandler = function(e) { 2258 // Check if event originated from our custom modal 2259 var modalElement = e.target.closest('#' + modalId); 2260 if (modalElement) { 2261 // If clicking on button, execute close action immediately in capture phase 2262 if (e.target.closest('.custom-modal-btn-primary')) { 2263 e.stopImmediatePropagation(); 2264 e.preventDefault(); 2265 // Close immediately 2266 setTimeout(function() { 2267 closeCustomModal(modalId); 2268 }, 0); 2269 return; 2270 } 2271 2272 // If clicking on overlay/container (not content), close modal 2273 if (e.target.classList.contains('custom-modal-overlay') || 2274 e.target.classList.contains('custom-modal-container')) { 2275 e.stopImmediatePropagation(); 2276 e.preventDefault(); 2277 setTimeout(function() { 2278 closeCustomModal(modalId); 2279 }, 0); 2280 return; 2281 } 2282 2283 // For any other click inside modal, just block it from reaching Bootstrap 2284 e.stopImmediatePropagation(); 2285 } 2286 }; 2287 2288 // Attach to document in capture phase to intercept before Bootstrap modal handlers 2289 document.addEventListener('click', blockBootstrapHandler, true); 2290 document.addEventListener('mousedown', blockBootstrapHandler, true); 2291 document.addEventListener('mouseup', blockBootstrapHandler, true); 2292 2293 window.closeCustomModal = function(id) { 2294 $('#' + id).fadeOut(200, function() { 2295 $(this).remove(); 2296 // Clean up event listeners 2297 document.removeEventListener('click', blockBootstrapHandler, true); 2298 document.removeEventListener('mousedown', blockBootstrapHandler, true); 2299 document.removeEventListener('mouseup', blockBootstrapHandler, true); 2300 if(callback && typeof callback === 'function') { 2301 callback(); 2302 } 2303 }); 2304 }; 2305 2306 var handleEsc = function(e) { 2307 if (e.keyCode === 27) { 2308 closeCustomModal(modalId); 2309 document.removeEventListener('keyup', handleEsc); 2310 } 2311 }; 2312 document.addEventListener('keyup', handleEsc); 2313} 2314 2315// Helper function to show confirmation modals dynamically 2316// options = { cancelBtnColor: '#color', confirmBtnColor: '#color', cancelBtnClass: 'class', confirmBtnClass: 'class' } 2317function showModalConfirm(icon, heading, message, confirmText, cancelText, onConfirm, onCancel, options) { 2318 var modalId = 'customModal' + Date.now(); 2319 var modalZIndex = window.customModalZIndex++; 2320 var iconMap = { 2321 'gift': 'fa-solid fa-gift', 2322 'info': 'fa-solid fa-info', 2323 'warning': 'fa-solid fa-triangle-exclamation', 2324 'question': 'fa-solid fa-question', 2325 'success': 'fa-solid fa-check', 2326 'error': 'fa-solid fa-x', 2327 'message': 'fa-solid fa-message', 2328 'suspicious': 'fa-solid fa-shield-halved', 2329 'cart': 'fa-solid fa-cart-shopping' 2330 }; 2331 2332 // Handle optional icon (allow icon to be omitted) 2333 var hasIcon = icon !== '' && icon !== null && typeof icon !== 'undefined'; 2334 var iconKey = hasIcon ? (iconMap[icon] ? icon : 'info') : ''; 2335 var iconClass = hasIcon ? iconMap[iconKey] : ''; 2336 var iconHtml = hasIcon 2337 ? '<div class="custom-modal-icon icon-' + iconKey + '"><i class="' + iconClass + '"></i></div>' 2338 : ''; 2339 2340 // Default options 2341 options = options || {}; 2342 var cancelBtnColor = options.cancelBtnColor || '#6c757d'; 2343 var confirmBtnColor = options.confirmBtnColor || '#007bff'; 2344 var cancelBtnClass = options.cancelBtnClass || 'custom-modal-btn-secondary'; 2345 var confirmBtnClass = options.confirmBtnClass || 'custom-modal-btn-primary'; 2346 2347 var modalHtml = '<div id="' + modalId + '" class="custom-modal-overlay class-modals" style="display:none; z-index:' + modalZIndex + ';">' + 2348 '<div class="custom-modal-container">' + 2349 '<div class="custom-modal-content">' + 2350 iconHtml + 2351 '<div class="custom-modal-heading">' + heading + '</div>' + 2352 '<div class="custom-modal-message">' + message + '</div>' + 2353 '<div class="custom-modal-buttons">' + 2354 '<button class="custom-modal-btn ' + cancelBtnClass + '" style="background-color: ' + cancelBtnColor + ';">' + cancelText + '</button>' + 2355 '<button class="custom-modal-btn ' + confirmBtnClass + '" style="background-color: ' + confirmBtnColor + ';">' + confirmText + '</button>' + 2356 '</div>' + 2357 '</div>' + 2358 '</div>' + 2359 '</div>'; 2360 2361 $('body').append(modalHtml); 2362 $('#' + modalId).fadeIn(200); 2363 2364 var overlayElement = document.getElementById(modalId); 2365 2366 // CRITICAL: Block events from reaching Bootstrap by intercepting at document level 2367 // BUT allow button clicks to execute their handlers first 2368 var blockBootstrapHandler = function(e) { 2369 // Check if event originated from our custom modal 2370 var modalElement = e.target.closest('#' + modalId); 2371 if (modalElement) { 2372 // If clicking on confirm button, execute action immediately in capture phase 2373 if (e.target.closest('.custom-modal-btn-primary')) { 2374 e.stopImmediatePropagation(); 2375 e.preventDefault(); 2376 // Close immediately 2377 setTimeout(function() { 2378 handleCustomModalConfirm(modalId); 2379 }, 0); 2380 return; 2381 } 2382 2383 // If clicking on cancel button, execute action immediately in capture phase 2384 if (e.target.closest('.custom-modal-btn-secondary')) { 2385 e.stopImmediatePropagation(); 2386 e.preventDefault(); 2387 // Close immediately 2388 setTimeout(function() { 2389 handleCustomModalCancel(modalId); 2390 }, 0); 2391 return; 2392 } 2393 2394 // If clicking on overlay/container (not content), close modal 2395 if (e.target.classList.contains('custom-modal-overlay') || 2396 e.target.classList.contains('custom-modal-container')) { 2397 e.stopImmediatePropagation(); 2398 e.preventDefault(); 2399 setTimeout(function() { 2400 handleCustomModalCancel(modalId); 2401 }, 0); 2402 return; 2403 } 2404 2405 // For any other click inside modal, just block it from reaching Bootstrap 2406 e.stopImmediatePropagation(); 2407 } 2408 }; 2409 2410 // Attach to document in capture phase to intercept before Bootstrap modal handlers 2411 document.addEventListener('click', blockBootstrapHandler, true); 2412 document.addEventListener('mousedown', blockBootstrapHandler, true); 2413 document.addEventListener('mouseup', blockBootstrapHandler, true); 2414 2415 window.handleCustomModalConfirm = function(id) { 2416 $('#' + id).fadeOut(200, function() { 2417 $(this).remove(); 2418 // Clean up event listeners 2419 document.removeEventListener('click', blockBootstrapHandler, true); 2420 document.removeEventListener('mousedown', blockBootstrapHandler, true); 2421 document.removeEventListener('mouseup', blockBootstrapHandler, true); 2422 if(onConfirm && typeof onConfirm === 'function') { 2423 onConfirm(); 2424 } 2425 }); 2426 }; 2427 2428 window.handleCustomModalCancel = function(id) { 2429 $('#' + id).fadeOut(200, function() { 2430 $(this).remove(); 2431 // Clean up event listeners 2432 document.removeEventListener('click', blockBootstrapHandler, true); 2433 document.removeEventListener('mousedown', blockBootstrapHandler, true); 2434 document.removeEventListener('mouseup', blockBootstrapHandler, true); 2435 if(onCancel && typeof onCancel === 'function') { 2436 onCancel(); 2437 } 2438 }); 2439 }; 2440 2441 var handleEsc = function(e) { 2442 if (e.keyCode === 27) { 2443 handleCustomModalCancel(modalId); 2444 document.removeEventListener('keyup', handleEsc); 2445 } 2446 }; 2447 document.addEventListener('keyup', handleEsc); 2448} 2449</script>
2449</head> 2450<!----------- HEADER -----------> 2451<body class="loading" data-spy="scroll" data-target=".navbar" data-offset="300" data-offset-top="300"> 2452 2453<div id="product_version"> 2454 <div class="modal fade in" show="false" id="version_update" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false"> 2455 <div class="modal-dialog modal-lg"> 2456 <div class="modal-content"> 2457 <div class="modal-header"> 2458 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 2459 <h4 class="modal-title" id="myModalLabel">We've updated our app!</h4> 2460 </div> 2461 <div class="modal-body"> 2462 Hi there! We've made some changes to our app, delete this one and download the latest version from the app store. Don't worry you will still be able to use the same login! 2463 </div> 2464 </div> 2465 </div> 2466 </div> 2467</div> 2468<!-- email confirmation code modal - start --> 2469<div class="modal fade" id="email_confirmation_container" role="dialog" data-backdrop="static" data-keyboard="false" style="background-color:unset;"> 2470 <div class="modal-dialog modal-dialog-centered" style="display:flex; align-items:center; min-height:calc(100% - (1.75rem * 2));"> 2471 <div class="modal-content" style="display:flex; flex-direction:column; width:100%;"> 2472 <div class="modal-header"> 2473 <h4 class="modal-title">EMAIL VERIFICATION</h4> 2474 </div> 2475 <div class="modal-body"> 2476 <div class="reg-alert alert" role="alert" style="display:none;"></div> 2477 <p>Please type the verification code sent to <span id="confirm_email_address"></span></p> 2478 <div class="form-group"> 2479 <input type="text" id="email_confirm_code" class="form-control" style="text-align:center; letter-spacing:10px" maxlength="6" placeholder="******" autocomplete="off"/> 2480 </div> 2481 </div> 2482 <div class="modal-footer"> 2483 <button id="email_confirm_cancel" class="btn btn-default" data-dismiss="modal">Close</button> 2484 <button id="email_confirm_continue" class="btn btn-primary disabled">Continue</button> 2485 </div> 2486 </div> 2487 </div> 2488</div> 2489<!-- email confirmation code modal - end --> 2490<div id="login-wrap"> 2491 <div id='login-section'> 2492
2492<script> 2493 function triggerBeginCheckoutTracking() { 2494 if (typeof document === 'undefined' || typeof document.dispatchEvent !== 'function') { 2495 return; 2496 } 2497 2498 try { 2499 document.dispatchEvent(new CustomEvent('ecom:begin_checkout')); 2500 } catch (err) { 2501 if (typeof document.createEvent === 'function') { 2502 var event = document.createEvent('CustomEvent'); 2503 event.initCustomEvent('ecom:begin_checkout', false, false, null); 2504 document.dispatchEvent(event); 2505 } 2506 } 2507 } 2508</script>
2508 2509
2509<script> 2510 function getEmailCallback(resp, user, source){ 2511 var responsePayload = jwt_decode(resp); 2512 2513 try{ 2514 var primaryEmail = responsePayload.email ?? ""; 2515 } catch(e){ 2516 var primaryEmail=""; 2517 } 2518 2519 var firstName, surname; 2520 if(source == "apple" && user){ 2521 primaryEmail = user.email ?? primaryEmail ?? ""; 2522 firstName = user.name.firstName ?? ""; 2523 surname = user.name.lastName ?? ""; 2524 } 2525 2526 $("#login-section .customer-details-card .password-wrapper").removeClass("cover").showElem(); 2527 2528 var data = {}; 2529 if(source == "google"){ 2530 data['google_response'] = responsePayload; 2531 data['g_auth_token'] = resp; 2532 2533 $("#login-section .customer-details-card [name='password']").val(''); 2534 } else if(source == "apple"){ 2535 data['apple_response'] = responsePayload; 2536 data['apple_auth_token'] = resp; 2537 data['apple_auth_token_exp'] = responsePayload.exp; 2538 2539 if(responsePayload.aud != "" && responsePayload.iss != "https://appleid.apple.com" && responsePayload.nonce != ""){ 2540 $("#login-section .login-card .alert").removeClass("alert-success alert-danger").hideElem().text(""); 2541 $("#login-section .login-card .alert").addClass("alert-danger").text("Invalid apple account").showElem().hideMsg(5); 2542 return false; 2543 } 2544 2545 if(typeof responsePayload.sub !== "undefined" && responsePayload.sub != ""){ 2546 $("#login-section .customer-details-card [name='password']").val(responsePayload.sub); 2547 } 2548 2549 $("#login-section .customer-details-card .password-wrapper").addClass("cover").hideElem(); 2550 } 2551 data['login_referer'] = window.login_referer; 2552 2553 $.post('https://doughboyz.com.au/core/ajax/login.php', data, function(data){ 2554 var obj = jQuery.parseJSON(data); 2555 var response_code = obj.response_code; 2556 2557 if(response_code != '00'){ 2558 if(!$("#login-wrap").is(":visible")){ 2559 $("#login-wrap").fadeToggle("fast"); 2560 } 2561 2562 $("#login-section .login-card").hideElem(); 2563 $("#login-section .customer-details-card").showElem(); 2564 $("#login-section .customer-details-card #login-label").parent().showElem(); 2565 $("#login-section .customer-details-card #register-phone").data("registerwith", "applesignin").removeAttr("readonly"); 2566 $("#login-section .customer-details-card [name='email']").val(primaryEmail).prop("readonly", true); 2567 2568 if($("#current_order_type_holder").val() == "pickup"){ 2569 $("#login-section .customer-details-card .slider li").eq(1).hideElem(); 2570 } 2571 } else{ 2572 if(obj.no_address){ 2573 update_address(obj); 2574 } else{ 2575 if(window.login_referer == 'navbar' || window.login_referer == 'checkout' || window.login_referer == 'catering'){ 2576 if(window.login_referer == 'navbar'){ 2577 window.location.href = '?page='; 2578 window.location.reload(); 2579 } 2580 2581 if(window.login_referer == 'checkout' || window.login_referer == 'catering'){ 2582 triggerBeginCheckoutTracking(); 2583 window.location.href = '?page=checkout'; 2584 } 2585 } 2586 else{ 2587 2588 var anchor = ($("#storeSelected").length > 0) ? '#store-data' : ''; 2589 window.location.href = '?page=browse' + anchor; 2590 window.location.reload(); 2591 2592 } 2593 } 2594 } 2595 }); 2596 } 2597 </script>
2597 2598
2598<script src="https://accounts.google.com/gsi/client" async defer></script>
2598 2599
2599<script> 2600 function handleCredentialResponse(googleUser){ 2601 getEmailCallback(googleUser.credential, "", "google"); 2602 } 2603 </script>
2603 2604
2604<script> 2605 function isEmail(email) { 2606 var EmailRegex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; 2607 return EmailRegex.test(email); 2608 } 2609 2610 function update_address(customer){ 2611 $("#login-section .login-card, #login-section .otp-card").hideElem(); 2612 $("#login-section .customer-details-card").showElem(); 2613 2614 $("#login-section .customer-details-card #create-account .account-second input[name='unitNumber']").val(customer.deliveryUnitNumber); 2615 $("#login-section .customer-details-card #create-account .account-second input[name='houseNumber']").val(customer.deliveryStreetNumber); 2616 2617 if(customer.deliveryStreetSuburb != ", " && customer.deliveryStreetSuburb != ","){ 2618 $("#login-section .customer-details-card #create-account .account-second select[name='deliveryStreet']").append('<option value="'+customer.deliveryStreetSuburb+'">'+customer.deliveryStreetSuburb+'</option>'); 2619 } 2620 2621 $("#login-section .customer-details-card #create-account .account-second input[name='deliveryInstructions']").val(customer.delivery_instructions); 2622 2623 $("#login-section .customer-details-card #login-label").parent().remove(); 2624 $("#login-section .customer-details-card .slider li button.active").addClass("previous").removeClass("active").parent().next("li").find("button").addClass("active"); 2625 $("#login-section .customer-details-card .slider").hideElem(); 2626 $("#login-section .customer-details-card .password-wrapper").addClass("cover").hideElem(); 2627 $("#login-section .customer-details-card .create-account .account-header h3").text("Fill your delivery details"); 2628 $("#login-section .customer-details-card .create-account .account-first").hideElem().next().showElem(); 2629 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("first second third").addClass("second").remove(); 2630 2631 $("#login-section .customer-details-card .btn-2-block").removeClass("first second third").addClass("update-address").prop("disabled", true).after('<button type="button" class="btn btn-primary"><i class="fa-solid fa-arrow-left-long"></i> Back to Menu</button>'); 2632 $("#login-section .customer-details-card #create-account div.alert").addClass("alert-danger").text(customer.address_err_msg).showElem().hideMsg(5); 2633 2634 var form = $j("#login-section .customer-details-card #create-account .account-second .form-control:visible"); 2635 var initial_form_data = form.serialize(); 2636 $j("#login-section .customer-details-card #create-account .account-second .form-control:visible").off('change'); 2637 $j("#login-section .customer-details-card #create-account .account-second .form-control:visible").on('change', function(){ 2638 var current_form_data = form.serialize(); 2639 2640 $("#login-section .customer-details-card .btn-2-block").prop("disabled", true); 2641 if(current_form_data !== initial_form_data){ 2642 $("#login-section .customer-details-card .btn-2-block").prop("disabled", false); 2643 } 2644 }); 2645 } 2646 2647 $(document).ready(function(){ 2648 var otp_input_wrap = $("#login-section .otp-card #otp-box"), 2649 otp_input = $("#login-section .otp-card #otp-box .login"), 2650 otp_final_input = "", 2651 skip_reg = false, 2652 customer_exist = false, 2653 customer_phone = "", 2654 otp_attempt = 1, 2655 password_reset_email = ""; 2656 2657 function otp_count(){ 2658 otp_final_input = ""; 2659 if(otp_input.length){ 2660 otp_input.each(function(){ 2661 if($.trim($(this).val())!=""){ 2662 otp_final_input += $(this).val(); 2663 } 2664 }); 2665 } 2666 } 2667 2668 function start_otp_input(){ 2669 if(otp_input.length){ 2670 otp_input.each(function(){ 2671 $(this).val(""); 2672 }); 2673 otp_attempt = 1; 2674 2675 update_otp_input(otp_input_wrap.children(":first"), false); 2676 } 2677 } 2678 2679 function update_otp_input(element, disabledStatus){ 2680 if(!disabledStatus){ 2681 element.focus(); 2682 } else{ 2683 element.blur(); 2684 } 2685 } 2686 2687 function check_customer(_this){ 2688 var data = {}; 2689 2690 if(_this.attr("name") == "phoneNumber"){ 2691 data['phoneNumber'] = registerPhoneInt.getNumber(); // always pass E.164 format_this.val(); 2692 data['registerwith'] = (typeof _this.data('registerwith') !== "undefined" ? _this.data('registerwith') : ""); 2693 } else{ 2694 data['email'] = _this.val(); 2695 } 2696 2697 if($("#login-section .customer-details-card .btn-2-block").data("login-type") !== undefined && $("#login-section .customer-details-card .btn-2-block").data("login-type") === "guest"){ 2698 data['guest'] = 1; 2699 data['wl'] = 1; 2700 } 2701 2702 return $.ajax({ 2703 type: "POST", 2704 url: "https://doughboyz.com.au/core/ajax/check_customer.php", 2705 data: data, 2706 success: function(data){ 2707 data = (typeof data === 'string') ? JSON.parse(data) : data; 2708 if(data.isError === true){ 2709 _this.closest(".form-group").find("label.error").text(data.errorMessage).showElem(); 2710 error_occured = true; 2711 } else{ 2712 _this.closest(".form-group").find("label.error").hideElem().text(""); 2713 } 2714 } 2715 }); 2716 } 2717 2718 function check_phone(phone, isRegister = false){
2719 let fullNumber, countryData; 2720 if (!isRegister) { 2721 fullNumber = loginPhoneOtpInt.getNumber(); 2722 countryData = loginPhoneOtpInt.getSelectedCountryData(); 2723 } else { 2724 fullNumber = registerPhoneInt.getNumber(); 2725 countryData = registerPhoneInt.getSelectedCountryData(); 2726 } 2727 2728 const { parsePhoneNumberFromString } = libphonenumber; 2729 2730 const parsed = parsePhoneNumberFromString( 2731 fullNumber, 2732 countryData.iso2.toUpperCase() 2733 ); 2734 2735 if (!parsed || !parsed.isValid()) { 2736 return true; // not valid at all 2737 } 2738 2739 // Only allow MOBILE 2740 return parsed.getType() !== "MOBILE"; 2741 } 2742 2743 // Handles post signup/login completion actions: optional signup email, address update, and redirect logic 2744 function finalizeSignupFlow(loginBtn, loginResp , signupEmail, cartTotal) { 2745 if(loginBtn.data("login-type") === undefined || loginBtn.data("login-type") !== "guest"){ 2746 sendSignupEmail(signupEmail); 2747 } 2748 2749 if((window.login_referer == "checkout" && cartTotal > 0) || window.login_referer == "catering"){ 2750 if(loginResp && loginResp.address_err_msg != undefined){ 2751 loginBtn.html("Continue").prop("disabled", false); 2752 $("#login-section .customer-details-card .create-account .account-third").hideElem(); 2753 update_address(loginResp); 2754 } else{ 2755 window.location.href = "?page=checkout"; 2756 triggerBeginCheckoutTracking(); 2757 } 2758 } else{ 2759 var url = new URL(window.location.href); 2760 var location_href = (url.searchParams.get("logout") != null && url.searchParams.get("logout") == "true") ? "?page=browse" : window.location.href; 2761 2762 window.location.href = location_href; 2763 window.location.reload(); 2764 } 2765 } 2766 2767 function sendSignupEmail(signupEmail) { 2768 $.ajax({ 2769 type: "POST", 2770 url: "core/signup_email_msg.php", 2771 async: false, 2772 data: signupEmail, 2773 success: function(msg){} 2774 }); 2775 } 2776 2777 function validate_form(element){ 2778 var error_occured = false, 2779 new_pass = '', 2780 confirm_pass = '', 2781 compare_pass = false; 2782 2783 $(".form-control.required:visible").closest(".form-group").find("label.error").hideElem().text(""); 2784 element.find(".form-control.required:visible").each(function(){ 2785 var invalid = false, 2786 _this = $(this); 2787 2788 _this.data("state", "submitted"); 2789 2790 if(_this.hasClass("required")){ 2791 if($.trim(_this.val())==""){ 2792 _this.closest(".form-group").find("label.error").text("This field is required").showElem(); 2793 error_occured = invalid = true; 2794 } 2795 } 2796 2797 if(!invalid && _this.attr("name") == "email"){ 2798 var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 2799 if(!regex.test(_this.val())){ 2800 _this.closest(".form-group").find("label.error").text("Please enter a valid email address").showElem(); 2801 error_occured = invalid = true; 2802 } 2803 } 2804 2805 if(!invalid && _this.attr("name") == "phoneNumber"){ 2806 if(check_phone(_this.val(), true)){ 2807 _this.closest(".form-group").find("label.error").text("Please enter a valid phone number").showElem(); 2808 error_occured = invalid = true; 2809 } 2810 } 2811 2812 if(!invalid && _this.attr("name") === "password"){ 2813 if(_this.val().length < 6){ 2814 _this.closest(".form-group").find("label.error").text("Please enter at least 6 characters").showElem(); 2815 error_occured = invalid = true; 2816 } else{ 2817 new_pass = _this.val(); 2818 compare_pass = true 2819 } 2820 } 2821 2822 if(!invalid && _this.attr("name") === "retypePassword"){ 2823 confirm_pass = _this.val(); 2824 compare_pass = true; 2825 } 2826 }); 2827 2828 if(compare_pass && new_pass !== confirm_pass){ 2829 $("input[name='retypePassword']").closest(".form-group").find("label.error").text("Passwords do not match").showElem(); 2830 error_occured = true; 2831 } 2832 2833 return (!error_occured) ? true : false;
2834 } 2835 2836 function hide_login_errors(){ 2837 // Destroy intlTelInput so flags disappear 2838 if (phoneLoginInt) { 2839 phoneLoginInt.destroy(); 2840 phoneLoginInt = null; 2841 } 2842 2843 $("#login-section .login-card #email-form #login-email, #login-section .login-card #email-form #login-pass").show().css("border", "").siblings('.field-message').removeClass("active").text(""); 2844 $("#login-section .login-card #email-form #login-mobile").css("border", "").hide(); 2845 } 2846 2847 function hide_customer_form(){ 2848 $("#login-section .customer-details-card .form-control.required").removeData("state"); 2849 $("#login-section .customer-details-card .form-control").closest(".form-group").find("label.error").hideElem().text(""); 2850 $("#login-section .customer-details-card").hideElem(); 2851 $("#login-section .customer-details-card .slider").showElem(); 2852 $("#login-section .customer-details-card .slider li button").removeClass("active previous"); 2853 $("#login-section .customer-details-card .slider li").eq(1).showElem(); 2854 $("#login-section .customer-details-card .slider li:last").showElem(); 2855 $("#login-section .customer-details-card .slider li:first button").addClass("active"); 2856 $("#login-section .customer-details-card .create-account .account-header h3").text("Create Account"); 2857 $("#login-section .customer-details-card .create-account .account-first").css("display", ""); 2858 $("#login-section .customer-details-card .password-wrapper").removeClass("cover"); 2859 $("#login-section .customer-details-card .customer-marketing-material-wrapper").showElem(); 2860 $("#login-section .customer-details-card [name='customer_marketing_material']").prop("checked", true); 2861 createAccountRenderSize(); 2862 $("#login-section .customer-details-card .password-wrapper").addClass("cover").hideElem(); 2863 $("#login-section .customer-details-card .create-account .account-second, #login-section .customer-details-card .create-account .account-third, #login-section .customer-details-card .create-account .btn-skip").hideElem(); 2864 $("#login-section .customer-details-card #register-phone").removeData("registerwith").prop("readonly", true).closest(".field-wrapper.form-group").css("background-color", ""); 2865 $("#login-section .customer-details-card [name='email']").removeAttr("readonly"); 2866 $("#login-section .customer-details-card .btn-2-block").prop("disabled", false).removeClass("second third update-address").addClass("first").text("Continue").removeData("loginType"); 2867 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("second third").addClass("first"); 2868 } 2869 2870 function createAccountRenderSize(){ 2871 if($("#login-section .customer-details-card .btn-2-block").data("login-type") !== undefined && $("#login-section .customer-details-card .btn-2-block").data("login-type") === "guest"){ 2872 $("#login-section .customer-details-card .create-account .account-first").css({ 2873 "display": "", 2874 "overflow-x": "", 2875 "height": "", 2876 "margin-bottom": "" 2877 }); 2878 } else{ 2879 if($(window).width() <= 420 && $(window).height() <= 740){ 2880 $("#login-section .customer-details-card .create-account .account-first:has(> .password-wrapper:not(.cover))").css({ 2881 "display": "inline-block", 2882 "overflow-x": "auto", 2883 "height": ($(window).height() - 220) + "px", 2884 "margin-bottom": "10px" 2885 }); 2886 } else{ 2887 $("#login-section .customer-details-card .create-account .account-first:has(> .password-wrapper:not(.cover))").css({ 2888 "display": "", 2889 "overflow-x": "", 2890 "height": "", 2891 "margin-bottom": "" 2892 }); 2893 } 2894 } 2895 } 2896 2897 $.fn.hideElem = function(){ 2898 $(this).css("display", "none"); 2899 return this; 2900 }; 2901 2902 $.fn.showElem = function(){ 2903 $(this).fadeIn(100); 2904 return this; 2905 }; 2906 2907 $.fn.hideMsg = function(timeOut){ 2908 if(timeOut != undefined){ 2909 var _this = $(this); 2910 setTimeout(function(){ 2911 if(_this.is(":visible")){ 2912 _this.fadeOut(500); 2913 } 2914 }, (timeOut * 1000)); 2915 } 2916 return this; 2917 } 2918 2919 $("#login-section .close").click(function(){ 2920 if(!$(this).hasClass("disabled")){ 2921 clearInterval(countdown_timer); 2922 $("#login-section .login-card, #login-section .login-card #phone-number-form").css("display", ""); 2923 $("#login-section .login-card .forgot-password, #login-section .password-reset-card, #login-section .otp-card, #login-section .customer-details-card").hideElem(); 2924 $("#login-section .login-card #email-form").hideElem(); 2925 $("#login-section .login-card .login-with, #login-section .login-card .disable-social, #login-section .otp-card #login-label, #login-section .login-card .forgot-password, #login-section .password-reset-card #login-label").removeClass("disabled"); 2926 $("#login-section .otp-card .login-modal-header").css("display", ""); 2927 $("#login-section .login-card .btn-2-block, #login-section .password-reset-card .btn-2-block").prop("disabled", false); 2928 $("#login-section .otp-card .resend-code").html("Resend code").removeClass("disabled"); 2929 $("#login-section .otp-card .btn-2-block").removeData("registerwith").prop("disabled", true); 2930 $("#login-section .login-card .login-with").text("Login with Password").removeClass("mobile").addClass("password"); 2931 $("#login-section .login-card #login-label h3").css("font-size", "").text("What's your mobile number?"); 2932 $("#login-section .login-card .btn-2-block").text("Login or Sign Up").removeClass("password").addClass("mobile"); 2933 $("#login-section .customer-details-card #login-label").parent().hideElem(); 2934 hide_customer_form(); 2935 $("#login-section .customer-details-card #register-phone").prop("readonly", true); 2936 $("#login-section .alert").removeClass("alert-success alert-danger").hideElem().text(""); 2937 $("#login-section input[type='text'], #login-section input[type='tel'], #login-section input[type='password'], #login-section .customer-details-card .password-wrapper input[type='password']").val(""); 2938 2939 $("#login-section .login-card #login-label h3").css("font-size", "1.4em").text("What's your email or mobile number?"); 2940 $("#login-section .login-card #email-form, #login-section .login-card .forgot-password").showElem(); 2941 hide_login_errors(); 2942 $("#login-section .login-card .btn-2-block").text("Login").removeClass("mobile").addClass("password"); 2943 $("#login-section .customer-details-card #login-label").parent().showElem(); 2944 2945 skip_reg = false;
2946 customer_exist = false; 2947 customer_phone = ""; 2948 } 2949 }); 2950 2951 $("#login-section .login-card .login-with").click(function(){ 2952 if(!$(this).hasClass("disabled")){ 2953 $("#login-section .login-card .alert").removeClass("alert-success alert-danger").hideElem().text(""); 2954 if($(this).hasClass("password")){ 2955 $(this).siblings().showElem(); 2956 $(this).text("Login with Mobile Number").removeClass("password").addClass("mobile"); 2957 $("#login-section .login-card #login-label h3").css("font-size", "1.4em").text("What's your email or mobile number?"); 2958 $("#login-section .login-card #phone-number-form").hideElem(); 2959 $("#login-section .login-card #email-form").showElem(); 2960 $("#login-section .login-card .btn-2-block").text("Login").removeClass("mobile").addClass("password"); 2961 } else{ 2962 $(this).siblings().hideElem(); 2963 $(this).text("Login with Password").removeClass("mobile").addClass("password"); 2964 $("#login-section .login-card #login-label h3").css("font-size", "").text("What's your mobile number?"); 2965 $("#login-section .login-card #phone-number-form").showElem(); 2966 $("#login-section .login-card #email-form").hideElem(); 2967 $("#login-section .login-card .btn-2-block").text("Login or Sign Up").removeClass("password").addClass("mobile"); 2968 } 2969 } 2970 }); 2971 2972 $("#login-section .login-card .sign-up").click(function(){ 2973 $("#login-section .login-card").hideElem(); 2974 $("#login-section .customer-details-card").showElem(); 2975 $("#login-section .customer-details-card #login-label").parent().showElem(); 2976 $("#login-section .customer-details-card #register-phone").prop("readonly", false); 2977 $("#login-section .customer-details-card .password-wrapper").removeClass("cover").showElem(); 2978 2979 if($("#current_order_type_holder").val() == "pickup"){ 2980 $("#login-section .customer-details-card .slider li").eq(1).hideElem(); 2981 } 2982 2983 createAccountRenderSize(); 2984 }); 2985 2986 $("#login-section .login-card .btn-2-block").click(function(){ 2987 var _this = $(this); 2988 2989 if($(this).hasClass("password")){ 2990 var error = false; 2991 var email = $("#login-section .login-card #email-form #login-email"); 2992 var mobile = $("#login-section .login-card #email-form #login-mobile"); 2993 var password = $("#login-section .login-card #email-form #login-pass"); 2994 var login_detail = (mobile.is(":visible")) ? mobile : email; 2995 $("#login-section .login-card .alert").removeClass("alert-success alert-danger").hideElem().text(""); 2996 2997 email.css("border", "").siblings('.field-message').removeClass("active").text(""); 2998 mobile.css("border", ""); 2999 password.css("border", "").next().removeClass("active").text(""); 3000 3001 if(!$.trim(login_detail.val()).length){ 3002 email.css("border", "1px solid #ea868f").siblings('.field-message').addClass("active").text(login_detail.attr("placeholder")); 3003 mobile.css("border", "1px solid #ea868f"); 3004 error = true; 3005 } 3006 3007 if(!$.trim(password.val()).length){ 3008 password.css("border", "1px solid #ea868f").next().addClass("active").text(password.attr("placeholder")); 3009 error = true; 3010 } 3011 3012 var username; 3013 if (mobile.is(":visible")) { 3014 const fullNumber = phoneLoginInt.getNumber(); 3015 const countryData = phoneLoginInt.getSelectedCountryData(); 3016 3017 const { parsePhoneNumberFromString } = libphonenumber; 3018 3019 const parsed = parsePhoneNumberFromString( 3020 fullNumber, 3021 countryData.iso2.toUpperCase() 3022 ); 3023 3024 if (!parsed || !parsed.isValid() || parsed.getType() !== "MOBILE") { 3025 email.css("border", "1px solid #ea868f").siblings('.field-message').addClass("active").text('Invalid mobile phone number'); 3026 mobile.css("border", "1px solid #ea868f"); 3027 error = true;
3027 // not valid at all 3028 } 3029 3030 username = fullNumber; // E.164 format 3031 } else { 3032 username = login_detail.val(); 3033 } 3034 3035 if(error){ 3036 return false; 3037 } 3038 3039 _this.text("Logging in...").prop("disabled", true); 3040 login_detail.prop("disabled", true); 3041 password.prop("disabled", true); 3042 $("#login-section .login-card .forgot-password, #login-section .login-card .login-with, #login-section .login-card .sign-up, #login-section .login-card .disable-social").addClass("disabled"); 3043 3044 $.ajax({ 3045 type: "POST", 3046 url: "https://doughboyz.com.au/core/ajax/login.php", 3047 data: { 'login_detail': username, 'pw': password.val(), 'remember_me': true, 'login_referer': window.login_referer }, 3048 success: function(msg){ 3049 var name; 3050 var obj = jQuery.parseJSON(msg); 3051 var anchor = ($("#storeSelected").length > 0) ? '#store-data' : ''; 3052 3053 if(obj.no_address){ 3054 update_address(obj); 3055 } else{ 3056 if(obj.response_code == "00"){ 3057 if(window.login_referer == 'checkout' || window.login_referer == 'catering'){ 3058 window.location.href = '?page=checkout'; 3059 triggerBeginCheckoutTracking(); 3060 } else{ 3061 if (window.login_referer !== 'catering-promo') { 3062 window.location.href = '?page=browse' + anchor; 3063 } 3064 3065 window.location.reload(); 3066 } 3067 } else{ 3068 _this.text("Login").prop("disabled", false); 3069 login_detail.prop("disabled", false); 3070 password.prop("disabled", false); 3071 $("#login-section .login-card .forgot-password, #login-section .login-card .login-with, #login-section .login-card .disable-social").removeClass("disabled"); 3072 $("#login-section .login-card .alert").addClass("alert-danger").text("The email or password entered is incorrect. Please change your password if you are having trouble logging in").showElem().hideMsg(5); 3073 } 3074 } 3075 }, 3076 error: function(){ 3077 _this.text("Login").prop("disabled", false); 3078 login_detail.prop("disabled", false); 3079 password.prop("disabled", false); 3080 $("#login-section .login-card .forgot-password, #login-section .login-card .login-with, #login-section .login-card .disable-social").removeClass("disabled"); 3081 $("#login-section .login-card .alert").addClass("alert-danger").text("Unable to Process your request. Please try again later").showElem().hideMsg(5); 3082 } 3083 }); 3084 } else{ 3085 $("#login-section .login-card .alert").removeClass("alert-success alert-danger").hideElem().text(""); 3086 3087 var phone = $("#login-section .login-card #phone-number-form #login-phone"); 3088 phone.css("border", "").next().removeClass("active").text(""); 3089 3090 if(!$.trim(phone.val()).length){ 3091 phone.css("border", "1px solid #ea868f").closest(".form-group").find(".field-message").addClass("active").text("Please enter your mobile number"); 3092 return false;
3093 } 3094 3095 var invalid_phone = check_phone(phone.val()), 3096 phone_val = loginPhoneOtpInt.getNumber(); // always pass E.164 format_this.val(); 3097 3098 registerPhoneInt.setNumber(phone_val); 3099 3100 if(invalid_phone){ 3101 phone.css("border", "1px solid #ea868f").closest(".form-group").find(".field-message").addClass("active").text("Please enter a valid mobile number"); 3102 return false; 3103 } 3104 3105 _this.text("Logging in...").prop("disabled", true); 3106 phone.prop("disabled", true); 3107 $("#login-section .login-card .login-with, #login-section .login-card .disable-social").addClass("disabled"); 3108 3109 $.ajax({ 3110 type: "POST", 3111 url: "https://doughboyz.com.au/core/ajax/login.php", 3112 data: { 'phone_number': phone_val, 'remember_me': true, 'login_referer': window.login_referer }, 3113 success: function(msg){ 3114 var name; 3115 var obj = jQuery.parseJSON(msg); 3116 var anchor = ($("#storeSelected").length > 0) ? '#store-data' : ''; 3117 3118 if(obj.response_code == "00"){ 3119 if(window.login_referer == 'navbar'){ 3120 window.location.href = '?page=browse' + anchor; 3121 window.location.reload(); 3122 } else if(window.login_referer == 'checkout' || window.login_referer == 'catering'){ 3123 window.location.href = '?page=checkout'; 3124 triggerBeginCheckoutTracking(); 3125 } else if(window.login_referer == 'beercheckout'){ 3126 if(obj.deliveryStreetSuburb == ''){ 3127 window.location.href = '?page=customer_details&err_code=1005&redirect_to_beer=1'; 3128 }else{ 3129 window.location = ''; 3130 } 3131 } else{ 3132 if (window.login_referer !== 'catering-promo') { 3133 window.location.href = '?page=browse' + anchor; 3134 } 3135 3136 window.location.reload(); 3137 } 3138 } else{ 3139 _this.text("Login or Sign Up").prop("disabled", false); 3140 phone.prop("disabled", false); 3141 $("#login-section .login-card .login-with, #login-section .login-card .disable-social").removeClass("disabled"); 3142 3143 if(typeof obj.otp_message === "undefined"){ 3144 $("#login-section .login-card").hideElem(); 3145 $("#login-section .otp-card").showElem(); 3146 $("#login-section .otp-card .resend-code").addClass("disabled"); 3147 resend_countdown("login-section .otp-card .resend-code"); 3148 $("#login-section .otp-card .otp-phone").html(phone_val); 3149 $("#login-section .customer-details-card #register-phone").val(phone.val()); 3150 3151 customer_exist = (obj.response_code == "02") ? true : false; 3152 customer_phone = phone_val; 3153 start_otp_input(); 3154 } else{ 3155 $("#login-section .login-card .alert").addClass("alert-danger").text(obj.otp_message).showElem().hideMsg(5); 3156 } 3157 } 3158 }, 3159 error: function(){ 3160 _this.text("Login or Sign Up").prop("disabled", false); 3161 phone.prop("disabled", false); 3162 $("#login-section .login-card .login-with, #login-section .login-card .disable-social").removeClass("disabled"); 3163 $("#login-section .login-card .alert").addClass("alert-danger").text("Unable to Process your request. Please try again later").showElem().hideMsg(5); 3164 customer_exist = false;
3165 customer_phone = phone_val; 3166 } 3167 }); 3168 } 3169 }); 3170 3171 $("#login-section .login-card .btn-guest-checkout").click(function(){ 3172 $("#login-section .login-card").hideElem(); 3173 $("#login-section .customer-details-card").showElem(); 3174 $("#login-section .customer-details-card #login-label").parent().showElem(); 3175 $("#login-section .customer-details-card .create-account .account-header h3").text("Guest Account"); 3176 $("#login-section .customer-details-card #register-phone").prop("readonly", false); 3177 $("#login-section .customer-details-card .password-wrapper").addClass("cover").hideElem(); 3178 $("#login-section .customer-details-card .customer-marketing-material-wrapper").hideElem(); 3179 $("#login-section .customer-details-card .btn-2-block").text("Continue as Guest").data("login-type", "guest"); 3180 3181 if($("#current_order_type_holder").val() == "pickup"){ 3182 $("#login-section .customer-details-card .slider").hideElem(); 3183 } else{ 3184 $("#login-section .customer-details-card .slider li:last").hideElem(); 3185 } 3186 3187 createAccountRenderSize(); 3188 }); 3189 3190 if(otp_input.length){ 3191 otp_input.each(function(){ 3192 var element = $(this); 3193 element.keyup(function(e){ 3194 $(this).val($(this).val().replace(/[^0-9]/g, "")); 3195 3196 if($(this).val().length == 1){ 3197 update_otp_input(element, true); 3198 update_otp_input(element.next(), false); 3199 } else if($(this).val().length == 0 && e.keyCode == 8){ 3200 element.prev().val(""); 3201 update_otp_input(element.prev(), false); 3202 } else if($(this).val().length > 1){ 3203 $(this).val()($(this).val().split("")[0]); 3204 } 3205 3206 otp_count(); 3207 }); 3208 }); 3209 3210 $(window).keyup(function(e){ 3211 if(otp_final_input.length > 5){ 3212 $("#login-section .otp-card .btn-2-block").prop("disabled", false); 3213 if(e.keyCode == 8){ 3214 update_otp_input(otp_input_wrap.children(":last"), false); 3215 otp_input_wrap.children(":last").val(""); 3216 3217 } 3218 } else{ 3219 $("#login-section .otp-card .btn-2-block").prop("disabled", true); 3220 } 3221 }); 3222 } 3223 3224 $("#login-section .otp-card .btn-2-block").click(function(){ 3225 var _this = $(this); 3226 3227 _this.prop("disabled", true); 3228 $("#login-section .otp-card .otp-box .alert").removeClass("alert-success alert-danger").hideElem().text(""); 3229 3230 if(otp_attempt > 3){ 3231 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text("You've exceeded the number of attempts. Please resend another code").showElem().hideMsg(5); 3232 start_otp_input(); 3233 return false; 3234 } 3235 3236 $.ajax({ 3237 type: "POST", 3238 dataType: 'json', 3239 url: "https://doughboyz.com.au/core/ajax/validate-otp.php", 3240 data: { 3241 'otp': otp_final_input, 3242 'phone': customer_phone, 3243 'ce': (customer_exist ? 1 : 0), 3244 'login_referer': window.login_referer 3245 }, 3246 success: function(data){ 3247 if(data.type == "success"){ 3248 if(data.customer_details.no_address){ 3249 update_address(data.customer_details); 3250 3251 } else{ 3252 _this.text("Logging in..."); 3253 clearInterval(countdown_timer); 3254 var anchor = ($("#storeSelected").length > 0) ? '#store-data' : ''; 3255 3256 if(window.login_referer == 'checkout' || window.login_referer == 'catering'){ 3257 window.location.href = '?page=checkout'; 3258 triggerBeginCheckoutTracking(); 3259 } else{ 3260 if (window.login_referer
3260!== 'catering-promo') { 3261 window.location.href = '?page=browse' + anchor; 3262 } else { 3263 window.location.reload(); 3264 } 3265 } 3266 } 3267 } else if(data.type == "register"){ 3268 if(typeof _this.data("registerwith") !== "undefined" && _this.data("registerwith") == "applesignin"){ 3269 $("#login-section .otp-card #login-label").addClass("disabled") 3270 $("#login-section .otp-card .close").hideElem(); 3271 clearInterval(countdown_timer); 3272 $("#login-section .otp-card .resend-code").addClass("disabled"); 3273 3274 $.ajax({ 3275 type: "POST", 3276 url: "https://doughboyz.com.au/core/ajax/update-email.php", 3277 data: { 3278 "applesub": ($("#login-section .customer-details-card [name='password']").val().length) ? $("#login-section .customer-details-card [name='password']").val() : $("#login-section .customer-details-card [name='email']").val(), 3279 "phonenumber": $("#login-section .customer-details-card #register-phone").val().replace(/\s/g, "") 3280 }, 3281 success: function(data){ 3282 if(window.login_referer == "checkout" || window.login_referer == 'catering'){ 3283 window.location.href = "?page=checkout"; 3284 triggerBeginCheckoutTracking(); 3285 } else{ 3286 var url = new URL(window.location.href); 3287 var location_href = (url.searchParams.get("logout") != null && url.searchParams.get("logout") == "true") ? "?page=browse" : window.location.href; 3288 3289 window.location.href = location_href; 3290 } 3291 } 3292 }); 3293 } else{ 3294 _this.prop("disabled", false); 3295 $("#login-section .otp-card").hideElem(); 3296 clearInterval(countdown_timer); 3297 $("#login-section .otp-card #otp-box input[name='otp-box[]']").val(""); 3298 $("#login-section .otp-card .resend-code").html("Resend code").removeClass("disabled"); 3299 $("#login-section .customer-details-card").showElem(); 3300 $("#login-section .customer-details-card #login-label").parent().hideElem(); 3301 $("#login-section .customer-details-card #register-phone").closest(".field-wrapper.form-group").css("background-color", "#eeeeee"); 3302 3303 if($("#current_order_type_holder").val() == "pickup"){ 3304 $("#login-section .customer-details-card .slider li").eq(1).hideElem(); 3305 } 3306 } 3307 }else{ 3308 _this.prop("disabled", false); 3309 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text(data.message).showElem().hideMsg(5); 3310 } 3311 3312 otp_attempt++; 3313 }, 3314 error: function(){ 3315 _this.prop("disabled", false); 3316 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text("Unable to Process your request. Please try again later").showElem().hideMsg(5); 3317 } 3318 }); 3319 }); 3320 3321 $("#login-section .otp-card .resend-code").click(function(){ 3322 if(!$(this).hasClass("disabled")){ 3323 var _this = $(this); 3324 _this.html("Resending...").addClass("disabled"); 3325 $("#login-section .otp-card .otp-box .alert").removeClass("alert-success alert-danger").hideElem().text(""); 3326 3327 $.ajax({ 3328 type: "POST", 3329 dataType: 'json', 3330 data: { 'phone': customer_phone }, 3331 url: "https://doughboyz.com.au/core/ajax/resend-otp.php", 3332 success: function(data){ 3333 if(data.type != "success"){ 3334 _this.html("Resend code").removeClass("disabled"); 3335 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text(data.message).showElem().hideMsg(5); 3336 } else{ 3337 $("#login-section .otp-card .otp-box .alert").addClass("alert-success").text("A new verification code has been sent").showElem().hideMsg(5); 3338 start_otp_input(); 3339 resend_countdown("login-section .otp-card .resend-code"); 3340 } 3341 }, 3342 error: function(){ 3343 _this.html("Resend code").removeClass("disabled"); 3344 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text("Unable to Process your request. Please try again later").showElem().hideMsg(5); 3345 } 3346 }); 3347 } 3348 }); 3349 3350 $("#login-section .otp-card #login-label").click(function(){ 3351 if(!$(this).hasClass("disabled")){ 3352 if(typeof $("#login-section .otp-card .btn-2-block").data("registerwith") !== "undefined" && $("#login-section .otp-card .btn-2-block").data("registerwith") == "applesignin"){ 3353 $("#login-section .customer-details-card").showElem(); 3354 } else{ 3355 $("#login-section .login-card").showElem(); 3356 } 3357 3358 $("#login-section .otp-card").hideElem(); 3359 clearInterval(countdown_timer); 3360 $("#login-section .otp-card .resend-code").html("Resend code").removeClass("disabled"); 3361 $("#login-section .otp-card .btn-2-block").prop("disabled", true); 3362 } 3363 }); 3364 3365 $("#login-section .login-card .forgot-password").click(function(){ 3366 if(!$(this).hasClass("disabled")){ 3367 $("#login-section .login-card").hideElem(); 3368 $("#login-section .password-reset-card").showElem(); 3369 } 3370 }); 3371 3372 $("#login-section .password-reset-card #login-label").click(function(){ 3373 if(!$(this).hasClass("disabled")){ 3374 $("#login-section .login-card").showElem(); 3375 $("#login-section .password-reset-card").hideElem(); 3376 } 3377 }); 3378 3379 $("#login-section .password-reset-card .btn-2-block").click(function(){ 3380 var _this = $(this); 3381 var email = $("#login-section .password-reset-card #forgot-email"); 3382 email.css("border", "").siblings(".field-message").removeClass("active").text(""); 3383 if(!$.trim(email.val()).length || !isEmail(email.val())){ 3384 email.css("border", "1px solid #ea868f").siblings(".field-message").addClass("active").text(email.attr("placeholder")); 3385 return false;
3386 } 3387 3388 _this.text("Please wait...").prop("disabled", true); 3389 email.prop("disabled", true); 3390 $("#login-section .password-reset-card #login-label").addClass("disabled"); 3391 $("#login-section .login-card .alert").removeClass("alert-success alert-danger").hideElem().text(""); 3392 3393 $.ajax({ 3394 type: "POST", 3395 dataType: 'json', 3396 url: "https://doughboyz.com.au/core/ajax/reset-password-email.php", 3397 data: {username: email.val()}, 3398 success: function(data){ 3399 _this.text("Continue").prop("disabled", false); 3400 email.prop("disabled", false); 3401 $("#login-section .password-reset-card #login-label").removeClass("disabled"); 3402 if(data.type == "success"){ 3403 if(data.provider === "cognito") { 3404 password_reset_email = email.val(); 3405 $("#login-section .password-reset-confirmation-card").showElem(); 3406 $("#login-section .password-reset-card").hideElem(); 3407 } else { 3408 $("#login-section .password-reset-card #login-label").click(); 3409 $("#login-section .login-card .alert").removeClass("alert-success alert-danger").addClass("alert-success").text("An email has been sent to you. To reset your password use the link we just e-mailed you").showElem().hideMsg(5); 3410 } 3411 3412 email.val(""); 3413 } else{ 3414 email.css("border", "1px solid #ea868f").siblings(".field-message").addClass("active").text(data.message); 3415 } 3416 }, 3417 error: function(){ 3418 _this.text("Continue").prop("disabled", false); 3419 email.prop("disabled", false); 3420 $("#login-section .password-reset-card #login-label").removeClass("disabled"); 3421 $("#login-section .password-reset-card #login-label").click(); 3422 $("#login-section .login-card .alert").addClass("alert-danger").text("Unable to Process your request. Please try again later").showElem().hideMsg(5); 3423 } 3424 }); 3425 }); 3426 3427 3428 $("#login-section .customer-details-card .slider li button").click(function(){ 3429 if($(this).hasClass("previous")){ 3430 var account_header = {"first":"Create Account", "second":"Fill your delivery details", "third":"Profile"}; 3431 $("#login-section .customer-details-card .slider li button").removeClass("active"); 3432 var position = $(this).removeClass("previous").attr("class"); 3433 $(this).addClass("active").parent().nextAll().find("button").removeClass("previous"); 3434 $("#login-section .customer-details-card .create-account [class^=account-]:not([class*='account-header'])").hideElem(); 3435 $("#login-section .customer-details-card .create-account .account-"+position).showElem(); 3436 $("#login-section .customer-details-card .create-account .account-header h3").text(account_header[position]); 3437 $("#login-section .customer-details-card .create-account .btn-skip, #login-section .customer-details-card .btn-2-block").removeClass("first second third update-address").addClass(position); 3438 3439 if(position == "first"){ 3440 createAccountRenderSize(); 3441 $("#login-section .customer-details-card .create-account .btn-skip").hideElem(); 3442 } 3443 } 3444 3445 return false; 3446 }); 3447 3448 $("#login-section .customer-details-card #login-label").click(function(){ 3449 if(!$(this).hasClass("disabled")){ 3450 $("#login-section .login-card").showElem(); 3451 hide_customer_form(); 3452 $("#login-section input[type='text'], #login-section input[type='password'], #login-section input[type='tel'], #login-section .customer-details-card .password-wrapper input[type='password']").val(""); 3453 hide_login_errors(); 3454 } 3455 }); 3456 3457 $j("#login-section .customer-details-card .create-account input[name='firstName'], #login-section .customer-details-card .create-account input[name='surname'], #login-section .customer-details-card .create-account input[name='business_name']").on("input", function(event){ 3458 if(event.target.name == "business_name"){ 3459 $(this).val($(this).val().replace(/[^a-zA-Z-'& ]/gi, '')); 3460 } else{ 3461 $(this).val($(this).val().replace(/[^a-zA-Z-' ]/gi, '')); 3462 } 3463 }); 3464 3465 $("#login-section .login-card .login-with").click().remove(); 3466 $("#login-section .login-card #phone-number-form").remove(); 3467 3468 $("#login-section .customer-details-card .btn-2-block").click(function(){ 3469 var _this = $(this), 3470 valid = false;
3471 3472 if(_this.hasClass("first")){ 3473 if(validate_form($("#login-section .customer-details-card #create-account"))){ 3474 _this.prop("disabled", true); 3475 var validate_phone = check_customer($("#login-section .customer-details-card #register-phone")); 3476 var validate_email = check_customer($("#login-section .customer-details-card [name='email']")); 3477 3478 $.when(validate_phone, validate_email).done(function(rp, re){ 3479 var phone_resp = (rp && typeof rp[0] === 'string') ? JSON.parse(rp[0]) : rp[0]; 3480 var email_resp = (re && typeof re[0] === 'string') ? JSON.parse(re[0]) : re[0]; 3481 if( 3482 typeof rp[1] !== "undefined" && rp[1] == "success" && typeof phone_resp.isError && phone_resp.isError !== true && 3483 typeof re[1] !== "undefined" && re[1] == "success" && typeof email_resp.isError && email_resp.isError !== true 3484 ){ 3485 if(typeof $("#login-section .customer-details-card #register-phone").data('registerwith') !== "undefined"){ 3486 $.ajax({ 3487 type: "POST", 3488 url: "https://doughboyz.com.au/core/ajax/save_customer_details.php", 3489 data: "registerwith=applesigninnewlogin&phoneNumber="+$("#login-section .customer-details-card #register-phone").val().replace(/\s/g, ""), 3490 success: function(data){ 3491 var json = JSON.parse(data); 3492 3493 if(typeof json.isError !== "undefined" && json.isError === true){ 3494 if(json.errorCode == "existing_phone_number"){ 3495 $("#login-section .existing-phone-card .existing-message").text("Your phone number is already registered with another account. Do you want to update your existing account?"); 3496 $("#login-section .existing-phone-card #register-apple-update").css("display", ""); 3497 $("#login-section .existing-phone-card #register-apple-cancel").addClass("btn-primary-inverted").text("No"); 3498 } else{ 3499 $("#login-section .existing-phone-card .existing-message").text(json.errorMessage); 3500 $("#login-section .existing-phone-card #register-apple-update").css("display", "none"); 3501 $("#login-section .existing-phone-card #register-apple-cancel").removeClass("btn-primary-inverted").text("OK"); 3502 } 3503 $("#login-section .customer-details-card").hideElem().next().showElem(); 3504 _this.prop("disabled", false); 3505 3506 return false; 3507 } 3508 3509 if($("#current_order_type_holder").val() == "pickup"){ 3510 $("#login-section .customer-details-card .slider li button.active").addClass("previous").removeClass("active"); 3511 $("#login-section .customer-details-card .slider li button.third").addClass("active"); 3512 $("#login-section .customer-details-card .create-account .account-header h3").text("Profile"); 3513 $("#login-section .customer-details-card .create-account .account-first").hideElem().next().hideElem(); 3514 $("#login-section .customer-details-card .create-account .account-third").showElem(); 3515 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("first").addClass("third"); 3516 } else{ 3517 $("#login-section .customer-details-card .slider li button.active").addClass("previous").removeClass("active").parent().next("li").find("button").addClass("active"); 3518 $("#login-section .customer-details-card .create-account .account-header h3").text("Fill your delivery details"); 3519 $("#login-section .customer-details-card .create-account .account-first").hideElem().next().showElem(); 3520 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("first").addClass("second"); 3521 } 3522 3523 if((typeof window.login_referer
3523!== "undefined" && window.login_referer != "checkout" && window.login_referer != 'catering') || $("#current_order_type_holder").val() == "pickup"){ 3524 $("#login-section .customer-details-card .create-account .btn-skip").showElem(); 3525 } 3526 3527 _this.removeClass("first").addClass("second"); 3528 } 3529 }); 3530 } else{ 3531 if(($("#login-section .customer-details-card .btn-2-block").data("login-type") === undefined || $("#login-section .customer-details-card .btn-2-block").data("login-type") === "guest") && $("#current_order_type_holder").val() == "pickup"){ 3532 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("first").addClass("second"); 3533 _this.removeClass("first").addClass("second"); 3534 3535 setTimeout(function(){ 3536 $("#login-section .customer-details-card .create-account .btn-skip").click(); 3537 }, 300); 3538 } else{ 3539 $("#login-section .customer-details-card .slider li button.active").addClass("previous").removeClass("active").parent().next("li").find("button").addClass("active"); 3540 $("#login-section .customer-details-card .create-account .account-header h3").text("Fill your delivery details"); 3541 $("#login-section .customer-details-card .create-account .account-first").hideElem().next().showElem(); 3542 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("first").addClass("second"); 3543 3544 if(typeof window.login_referer !== "undefined" && window.login_referer != "checkout" || $("#current_order_type_holder").val() == "pickup"){ 3545 $("#login-section .customer-details-card .create-account .btn-skip").showElem(); 3546 } 3547 3548 _this.removeClass("first").addClass("second"); 3549 } 3550 } 3551 } 3552 3553 _this.prop("disabled", false); 3554 }); 3555 } 3556 } else if(_this.hasClass("second")){ 3557 if(skip_reg){ 3558 skip_reg = false; 3559 valid = true; 3560 } else if(validate_form($("#login-section .customer-details-card #create-account"))){ 3561 valid = true; 3562 } 3563 3564 if(valid){ 3565 if($("#login-section .customer-details-card .btn-2-block").data("login-type") !== undefined && $("#login-section .customer-details-card .btn-2-block").data("login-type") === "guest"){ 3566 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("second").addClass("third"); 3567 _this.removeClass("second").addClass("third"); 3568 3569 setTimeout(function(){ 3570 if($("#current_order_type_holder").val() == "pickup"){ 3571 $("#login-section .customer-details-card .create-account .btn-skip").click(); 3572 } else{ 3573 _this.click(); 3574 } 3575 }, 300); 3576 } else{ 3577 $("#login-section .customer-details-card .create-account .account-header h3").text("Profile"); 3578 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("second").addClass("third"); 3579 if($("#current_order_type_holder").val() == "pickup"){ 3580 $("#login-section .customer-details-card .create-account .btn-skip").showElem(); 3581 $("#login-section .customer-details-card .slider li button.active").addClass("previous").removeClass("active"); 3582 $("#login-section .customer-details-card .slider li button.third").addClass("active"); 3583 $("#login-section .customer-details-card .create-account .account-first").hideElem().next().hideElem(); 3584 $("#login-section .customer-details-card .create-account .account-third").showElem(); 3585 } else{ 3586 $("#login-section .customer-details-card .slider li button.active").addClass("previous").removeClass("active").parent().next("li").find("button").addClass("active"); 3587 $("#login-section .customer-details-card .create-account .account-second").hideElem().next().showElem(); 3588 } 3589 _this.removeClass("second").addClass("third"); 3590 } 3591 } 3592 } else if(_this.hasClass("third")){ 3593 _this.html("Please wait...").prop("disabled", true); 3594 $("#login-section .customer-details-card .create-account .btn-skip, #login-section .customer-details-card #login-label, #login-section .customer-details-card .close").addClass("disabled"); 3595 3596 var data = {}, 3597 signup_email = {}; 3598 $("#login-section .customer-details-card #create-account").find("[name]").each(function(){ 3599 var name = $(this).attr("name"); 3600 var value = ($(this).val() != null) ? $(this).val() : ""; 3601 3602 if(typeof $(this).attr("type") !== "undefined" && $(this).attr("type") != "password"){ 3603 value = $('<div>').text(value).html(); 3604 } 3605 3606 if(name == "firstName" || name == "surname"){ 3607 value = $.trim(value); 3608 signup_email[(name == "firstName" ? 'customer_fname' : 'customer_lname')] = value; 3609 } else if (name === 'email') { 3610 signup_email['customer_email'] = value; 3611 } else if (name === 'customer_marketing_material') { 3612 value = $(this).is(':checked') ? 1 : 0; 3613 } 3614 else if(name == "phoneNumber"){ 3615 value = registerPhoneInt.getNumber(); // always pass E.164 format 3616 data["phone_number"] = value; 3617 } 3618 3619 if($(this).is(":disabled") == false){ 3620 data[name] = value; 3621 } 3622 3623 if($(this).is(":visible") && !$(this).is(":disabled")){ 3624 $(this).prop("disabled", true); 3625 } 3626 }); 3627 3628 if(_this.data("login-type") === undefined || _this.data("login-type") !== "guest"){ 3629 data["remember_me"] = true; 3630 data["register"] = "new"; 3631 } else{ 3632 data["guest"] = 1; 3633 data["guest_no_register"] = 1; 3634 3635 delete data.password; 3636 } 3637 data["login_referer"] = window.login_referer; 3638 3639 if(typeof $("#login-section .customer-details-card #register-phone").data("registerwith") !== "undefined" && $("#login-section .customer-details-card #register-phone").data("registerwith") == "applesignin"){ 3640 data["apple_user_id"] = data.password ?? ""; 3641 } 3642 3643 var ajaxUrl = "https://doughboyz.com.au/core/ajax/save_customer_details.php", 3644 cognitoRegister = false;
3645 3646 3647 $.ajax({ 3648 type: "POST", 3649 url: ajaxUrl, 3650 data: data, 3651 success: function(data){ 3652 var resp, cart_total = 0; 3653 try{ 3654 resp = JSON.parse(data); 3655 cart_total = (resp.cart_total != undefined) ? resp.cart_total : 0; 3656 3657 cart_total = 1; 3658 } catch(e){ 3659 cart_total = 0; 3660 3661 if(window.login_referer == "checkout" && (_this.data("login-type") !== undefined && _this.data("login-type") === "guest")){ 3662 cart_total = 1; 3663 } 3664 } 3665 3666 if (cognitoRegister) { 3667 $("#login-section .customer-details-card").hideElem(); 3668 $("#login-section .otp-card").showElem(); 3669 $("#login-section .otp-card .resend-code").addClass("disabled"); 3670 $("#login-section .otp-card .login-modal-header").remove(); 3671 resend_countdown("login-section .otp-card .resend-code"); 3672 $("#login-section .otp-card .otp-phone").html(resp.phone_number); 3673 } else{ 3674 finalizeSignupFlow(_this, resp, signup_email, cart_total); 3675 } 3676 } 3677 }); 3678 } else if(_this.hasClass("update-address")){ 3679 if(validate_form($("#login-section .customer-details-card #create-account"))){ 3680 _this.html("Please wait...").prop("disabled", true); 3681 $("#login-section .customer-details-card .btn-2-block + .btn-primary").prop("disabled", true); 3682 3683 var current_address = $("#login-section .customer-details-card #create-account #register-st-name").val().split(", "); 3684 var current_street = (typeof current_address[0] !== "undefined") ? current_address[0] : ""; 3685 var current_suburb = (typeof current_address[1] !== "undefined") ? current_address[1] : ""; 3686 var check_street = $.ajax({ 3687 url: "https://api2.dsoftonline.com.au/do/check_street/1288/"+current_street+"/"+current_suburb, 3688 success: function(data){ 3689 } 3690 }); 3691 3692 $.when(check_street).done(function(cs){ 3693 if(cs.response_code == "00"){ 3694 var data = {}; 3695 $("#login-section .customer-details-card #create-account").find(".form-control:visible").each(function(){ 3696 var name = $(this).attr("name"); 3697 var value = ($(this).val() != null) ? $(this).val() : ""; 3698 3699 if($(this).is(":disabled") == false){ 3700 data[name] = value; 3701 } 3702 }); 3703 data["update_info"] = "address_only"; 3704 3705 $.ajax({ 3706 type: "POST", 3707 url: "https://doughboyz.com.au/core/ajax/save_customer_details.php", 3708 data: data, 3709 success: function(data){ 3710 window.location.href = "?page=checkout"; 3711 triggerBeginCheckoutTracking(); 3712 } 3713 }); 3714 } else{ 3715 _this.html("Continue").prop("disabled", false); 3716 $("#login-section .customer-details-card .btn-2-block + .btn-primary").prop("disabled", false); 3717 $("#login-section .customer-details-card #create-account div.alert").removeClass("alert-success alert-danger").addClass("alert-danger").text("Sorry, delivery address is not recognised. Please re-enter address.").showElem().hideMsg(5); 3718 } 3719 }); 3720 } 3721 } 3722 3723 return false;
3724 }); 3725 3726 $("#login-section .existing-phone-card #register-apple-update").click(function(){ 3727 $("#login-section .existing-phone-card .btn-primary").prop("disabled", true); 3728 var phone = $("#login-section .customer-details-card #register-phone"); 3729 3730 $.ajax({ 3731 type: "POST", 3732 url: "https://doughboyz.com.au/core/ajax/resend-otp.php", 3733 data: { 'phone': phone.val().replace(/\s/g, "") }, 3734 success: function(data){ 3735 var resp = jQuery.parseJSON(data); 3736 3737 $("#login-section .existing-phone-card").hideElem(); 3738 $("#login-section .otp-card .btn-2-block").data("registerwith", "applesignin"); 3739 $("#login-section .otp-card").showElem(); 3740 3741 if(resp.type != "success"){ 3742 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text(data.message).showElem().hideMsg(5); 3743 } else{ 3744 $("#login-section .otp-card .otp-box .alert").addClass("alert-success").text("A new verification code has been sent").showElem().hideMsg(5); 3745 $("#login-section .otp-card .resend-code").addClass("disabled"); 3746 resend_countdown("login-section .otp-card .resend-code"); 3747 $("#login-section .otp-card .otp-phone").html(phone.val()); 3748 3749 customer_exist = false; 3750 customer_phone = phone.val().replace(/\s/g, ""); 3751 start_otp_input(); 3752 } 3753 3754 $("#login-section .existing-phone-card .btn-primary").prop("disabled", false); 3755 }, 3756 error: function(){ 3757 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text("Unable to Process your request. Please try again later").showElem().hideMsg(5); 3758 $("#login-section .existing-phone-card .btn-primary").prop("disabled", false); 3759 } 3760 }); 3761 }); 3762 3763 $("#login-section .existing-phone-card #register-apple-cancel").click(function(){ 3764 $("#login-section .existing-phone-card").hideElem().prev().showElem(); 3765 }); 3766 3767 $("#login-section .customer-details-card .btn-2-block + .btn-primary").live('click', function(){ 3768 if(!$(this).hasClass("disabled")){ 3769 $("#login-section .customer-details-card .btn-2-block").prop("disabled", true); 3770 $("#login-section .customer-details-card .btn-2-block + .btn-primary").prop("disabled", true).html("Please wait..."); 3771 location.href = location.href 3772 } 3773 }); 3774 3775 $("#login-section .customer-details-card .create-account .btn-skip").click(function(){ 3776 if(!$(this).hasClass("disabled")){ 3777 if($("#login-section .customer-details-card .btn-2-block").hasClass("second")){ 3778 skip_reg = true; 3779 $("#login-section .customer-details-card #create-account .account-second input.form-control").val(""); 3780 $("#login-section .customer-details-card #create-account .account-second select.form-control").empty(); 3781 $("#login-section .customer-details-card .btn-2-block").click(); 3782 } else if($("#login-section .customer-details-card .btn-2-block").hasClass("third")){ 3783 $("#login-section .customer-details-card #create-account .account-third input.form-control").val(""); 3784 $("#login-section .customer-details-card #create-account .account-third select.form-control").each(function(){ 3785 $(this).prop("selectedIndex", 0); 3786 }); 3787 $("#login-section .customer-details-card .btn-2-block").click(); 3788 } 3789 } 3790 }); 3791 3792 $("#login-section .customer-details-card #create-account .form-control.required").keyup(function(){ 3793 var invalid = false, 3794 _this = $(this); 3795 3796 if(_this.data("state") == "submitted"){ 3797 if($.trim(_this.val())==""){ 3798 _this.closest(".form-group").find("label.error").text("This field is required").showElem(); 3799 return true 3800 } 3801 3802 if(_this.attr("name") == "email"){ 3803 var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 3804 if(!regex.test(_this.val())){ 3805 _this.closest(".form-group").find("label.error").text("Please enter a valid email address").showElem(); 3806 return true; 3807 } 3808 } 3809 3810 if(_this.attr("name") == "phoneNumber"){ 3811 if(check_phone(_this.val(), true)){ 3812 _this.closest(".form-group").find("label.error").text("Please enter a valid phone number").showElem(); 3813 return true; 3814 } 3815 } 3816 3817 if(_this.attr("name") === "password"){ 3818 if(_this.val().length < 6){ 3819 _this.closest(".form-group").find("label.error").text("Please enter at least 6 characters").showElem(); 3820 return true; 3821 } 3822 } 3823 3824 if(_this.attr("name") === "retypePassword"){ 3825 confirm_pass = _this.val(); 3826 if($("#login-section .customer-details-card #create-account input[name='password']").val() !== confirm_pass){ 3827 _this.closest(".form-group").find("label.error").text("Passwords do not match").showElem(); 3828 return true 3829 } 3830 } 3831 3832 _this.closest(".form-group").find("label.error").hideElem().text(""); 3833 } 3834 }); 3835 3836 $j("#login-section .customer-details-card #register-st-name").select2({ 3837 placeholder: 'Select your Street', 3838 width: '100%', 3839 ajax: { 3840 url: 'https://doughboyz.com.au/core/ajax/find_streets.php', 3841 dataType: 'json', 3842 delay: 250, 3843 processResults: function(data){ 3844 var select2Data = $.map(data, function (obj){ 3845 obj.id = obj.street; 3846 obj.text = obj.street; 3847 return obj; 3848 }); 3849 3850 return { 3851 results: select2Data 3852 }; 3853 }, 3854 cache: false 3855 }, 3856 language: { 3857 noResults: function(){ 3858 return "Street not found."; 3859 } 3860 }, 3861 minimumInputLength: 2, 3862 templateResult: function(data){ 3863 return data.street; 3864 } 3865 }).on("select2:close", function(e){ 3866 $("#login-section .customer-details-card #register-st-name").closest(".form-group").find("span.glyphicon-ok").remove(); 3867 $("#login-section .customer-details-card #register-st-name").closest(".form-group").find("span.glyphicon-remove").remove(); 3868 $("#login-section .customer-details-card #register-st-name").closest(".form-group").find("span.help-block").remove(); 3869 }); 3870 3871 $j(window).on('resize', function(){ 3872 if($("#login-section .customer-details-card .create-account .account-first").is(":visible")){ 3873 createAccountRenderSize(); 3874 } 3875 }); 3876 3877 createAccountRenderSize(); 3878 3879 $j('input[name="email"]').on('input', function() { 3880 const trimmedValue = $(this).val().trim(); 3881 $(this).val(trimmedValue); 3882 }); 3883 }); 3884</script>
3884 3885<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/intl-tel-input@latest/build/css/intlTelInput.css"> 3886 <div class="login-card"> 3887 <div class="row"> 3888 <div class="login-modal-header col-lg-12 col-md-12 col-sm-12"> 3889 <div id="login-label"> 3890 <h3>What's your mobile number?</h3> 3891 </div> 3892 <div> 3893 <i class="close fa-solid fa-xmark"></i> 3894 </div> 3895 </div> 3896 <div class="col-lg-12 col-md-12 col-sm-12"> 3897 <div role="alert" class="alert" style="display:none;"></div> 3898 <div id="phone-number-form" class="form-group"> 3899 <input type="text" id="login-phone" name="login-phone" class="form-control login" autocomplete="off" placeholder="Enter your mobile number"/> 3900 <div class="field-message"></div> 3901 </div> 3902 <div id="email-form" style="display:none;"> 3903 <div class="form-group"> 3904 <input type="text" id="login-email" name="login-email" class="form-control login" value="" placeholder="Enter your email or mobile number"/> 3905 <input class="form-control login" type="text" id="login-mobile" name="login-mobile" style="display:none;"/> 3906 <div class="field-message"></div> 3907 </div> 3908 <div class="form-group"> 3909 <input type="password" id="login-pass" name="login-pass" class="form-control login" value="" placeholder="Enter your password"/> 3910 <div class="field-message"></div> 3911 </div> 3912 </div> 3913 <div> 3914 <div class="forgot-password" style="display:none;">Forgot Password?</div> 3915 <div class="login-with password">Login with Password</div> 3916 <div class="sign-up">Sign Up</div> 3917 </div> 3918 <div> 3919 <button class="btn-2-block btn btn-primary mobile">Login or Sign Up</button> 3920 3921 <button class="btn-guest-checkout btn btn-primary">Checkout as Guest</button> 3922 </div> 3923 </div> 3924 <div class="or-login-container col-lg-12 col-md-12 col-sm-12"> 3925 <div class="or-login-line"> 3926 <h4 class="or-login-with"><span>or login with</span></h4> 3927 </div> 3928 </div> 3929 <div class="col-lg-12 col-md-12 col-sm-12"> 3930 <div class="disable-social"></div> 3931 <div id='fb-login'>
3931<script> 3932 $(document).ready(function(){ 3933 callFB(); 3934 }); 3935 3936 function login_ios_fullscreen(){ 3937 var permissions = 'email,publish_actions,manage_pages,read_stream'; 3938 var m_appId = '1275419957063274'; 3939 var m_appUrl = 'https://doughboyz.com.au/'; 3940 var permissionUrl = "https://m.facebook.com/dialog/oauth?client_id=" + m_appId + "&response_type=code&redirect_uri=" +encodeURIComponent(m_appUrl)+ "&scope=" + permissions; 3941 window.location = permissionUrl; 3942 } 3943 3944 function callFB(){ 3945 window.fbAsyncInit = function() { 3946 FB.init({ 3947 appId : '1275419957063274', 3948 channelUrl : '//WWW.https://www.facebook.com/DoughBoyz.com.au//channel.php', 3949 status : true, 3950 cookie : true, 3951 xfbml : true, 3952 oauth : true, 3953 version : 'v8.0' 3954 }); 3955 }; 3956 3957 (function(d){ 3958 var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 3959 js = d.createElement('script'); js.id = id; js.async = true; 3960 d.getElementsByTagName('head')[0].appendChild(js); 3961 js.src = "//connect.facebook.net/en_US/sdk.js"; 3962 }(document)); 3963 3964 } 3965 3966 //LOGIN FUNCTION 3967 function login() { 3968 FB.login(function(response) { 3969 if (response.authResponse) { 3970 var access_token = response.authResponse.accessToken; //get access token 3971 var user_id = response.authResponse.userID; //get FB UID 3972 3973 FB.api('/me', 'get', { access_token: access_token, fields: 'id,first_name,last_name,email' }, function(response) { 3974 if(typeof response.email === "undefined"){ 3975 showModalAlert('warning', '', 'Please provide a valid Facebook email to progress or continue to signup with your Google account.', 'OK'); 3976 } else{ 3977 response.access_token = access_token; 3978 login_fb(response); 3979 $("#fb-login-new").html('<fb:facepile> </fb>'); 3980 FB.XFBML.parse(document.getElementById('fb-login-new')); 3981 } 3982 }); 3983 3984 }else{ 3985 showModalAlert('error', '', 'Login Failed!', 'OK'); 3986 } 3987 }, {scope: 'email', redirect_uri:'https://doughboyz.com.au/',display : 'touch' }); 3988 } 3989 3990 function login_fb(response){ 3991 3992 var email = response.email; 3993 var id = response.id; 3994 var firstName = response.first_name; 3995 var surname = response.last_name; 3996 var access_token = response.access_token; 3997 3998 $.post('core/ajax/login.php', { email: email, fb_user_id: id, access_token: access_token, login_referer: window.login_referer}, function(msg){ 3999 var name; 4000 4001 if($.trim(msg) != 'null'){ 4002 var obj = jQuery.parseJSON(msg); 4003 name = obj.firstName+' '+obj.surname; 4004 $("#deliveryStreet").value = obj.deliveryStreetSuburb; 4005 } 4006 if(obj.response_code == '00'){ 4007 if(obj.no_address){ 4008 update_address(obj); 4009 } else{ 4010 if(window.login_referer == 'navbar' || window.login_referer == 'checkout'){ 4011 if(window.login_referer == 'navbar'){ 4012 // login is via clicking login on navbar 4013 window.location.href = '?page='; 4014 } 4015 if(window.login_referer == 'checkout'){ 4016 //login is via clicking checkout on floatbox 4017 window.location.href = '?page=checkout'; 4018 } 4019 }else if(window.login_referer == 'beercheckout'){ 4020 //redirect to beer2u 4021 window.location = ''; 4022 }else{ 4023 // default. if login_referer is undefined 4024 // OOA-1284: Check if page is browse and template is platina. Anchor user to store details 4025 // Add condition for check if the (storeSelected) is exist (storeSelected only appears on Template4) 4026 var anchor = ( ($("#storeSelected").length > 0) ? '#store-data' : ''); 4027 window.location.href = '?page=browse' + anchor; 4028 4029 } 4030 } 4031 }else{ 4032 if(!$("#login-wrap").is(":visible")){ 4033 $("#login-wrap").fadeToggle("fast"); 4034 } 4035 4036 $("#login-section .login-card").hideElem(); 4037 $("#login-section .customer-details-card [name='password']").val(''); 4038 $("#login-section .customer-details-card .password-wrapper").removeClass("cover").showElem(); 4039 $("#login-section .customer-details-card").showElem(); 4040 $("#login-section .customer-details-card #login-label").parent().showElem(); 4041 $("#login-section .customer-details-card #register-phone").removeAttr("readonly"); 4042 $("#login-section .customer-details-card [name='email']").val(email).prop("readonly", true); 4043 $("#login-section .customer-details-card [name='firstName']").val(firstName); 4044 $("#login-section .customer-details-card [name='surname']").val(surname); 4045 $("#login-section .customer-details-card [name='fb_user_id']").val(id); 4046 4047 if($("#current_order_type_holder").val() == "pickup"){ 4048 $("#login-section .customer-details-card .slider li").eq(1).hideElem(); 4049 } 4050 } 4051 }); 4052 } 4053</script>
4053 4054 <!-- <fb:login-button show-faces="true" width="200" max-rows="1"></fb:login-button>--> 4055 <div onclick="login();" id='fb-login2'> 4056 <div> 4057 <span id="fb-login-new"></span> 4058 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/facebook-16.png"/> 4059 Continue with Facebook 4060 </div> 4061</div> 4062<div id="fb-root"></div></div><div id="g_id_onload" data-client_id="641382643724-pkrtql7tknfr275ncqajdmvjpd8dm6mq.apps.googleusercontent.com" data-context="signin" data-ux_mode="popup" data-callback="handleCredentialResponse" data-auto_prompt="false"></div> 4063 <div class="g_id_signin" style="margin-bottom:15px;" data-type="standard" data-theme="outline" data-text="continue_with" data-size="large" data-logo_alignment="center"></div> 4064
4064<script> 4065 document.getElementsByClassName("g_id_signin")[0].setAttribute("data-width", (window.innerWidth > 440 ? "400" : (window.innerWidth - 40))); 4066 </script>
4066 4067 </div> 4068 </div> 4069 </div> 4070 <div class="password-reset-card" style="display:none;"> 4071 <div class="row"> 4072 <div class="login-modal-header col-lg-12 col-md-12 col-sm-12"> 4073 <div id="login-label"> 4074 <i class="fa-solid fa-chevron-left"></i> 4075 </div> 4076 <div> 4077 <i class="close fa-solid fa-xmark"></i> 4078 </div> 4079 </div> 4080 <div class="col-lg-12 col-md-12 col-sm-12"> 4081 <div> 4082 <i class="fa-solid fa-unlock-keyhole"></i> 4083 <span>Password Reset</span> 4084 <span>Enter the registered email. We will send you a verification code to reset your password</span> 4085 </div> 4086 </div> 4087 <div class="col-lg-12 col-md-12 col-sm-12"> 4088 <div class="form-group"> 4089 <input type="text" id="forgot-email" name="forgot-email" class="form-control login" autocomplete="off" placeholder="Please enter a valid email" value="" /> 4090 <div class="field-message"></div> 4091 </div> 4092 </div> 4093 <div class="col-lg-12 col-md-12 col-sm-12"> 4094 <div> 4095 <button class="btn-2-block btn btn-primary">Continue</button> 4096 </div> 4097 </div> 4098 </div> 4099 </div> 4100 <div class="otp-card" style="display:none;"> 4101 <div class="row"> 4102 <div class="login-modal-header col-lg-12 col-md-12 col-sm-12"> 4103 <div id="login-label"> 4104 <i class="fa-solid fa-chevron-left"></i> 4105 </div> 4106 <div> 4107 <i class="close fa-solid fa-xmark"></i> 4108 </div> 4109 </div> 4110 <div class="col-lg-12 col-md-12 col-sm-12"> 4111 <div> 4112 <i class="fa-regular fa-comment"></i> 4113 <span>Enter the 6-digit verification code sent to you at <span class="otp-phone"></span></span> 4114 </div> 4115 </div> 4116 <div class="otp-box col-lg-12 col-md-12 col-sm-12"> 4117 <div class="alert" style="display:none;"></div> 4118 <div id="otp-box" class="form-group"> 4119 <input type="number" name="otp-box[]" class="form-control login" maxlength="1" value="" oninput="javascript: if(this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"/> 4120 <input type="number" name="otp-box[]" class="form-control login" maxlength="1" value="" oninput="javascript: if(this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"/> 4121 <input type="number" name="otp-box[]" class="form-control login" maxlength="1" value="" oninput="javascript: if(this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"/> 4122 <input type="number" name="otp-box[]" class="form-control login" maxlength="1" value="" oninput="javascript: if(this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"/> 4123 <input type="number" name="otp-box[]" class="form-control login" maxlength="1" value="" oninput="javascript: if(this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"/> 4124 <input type="number" name="otp-box[]" class="form-control login" maxlength="1" value="" oninput="javascript: if(this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"/> 4125 </div> 4126 </div> 4127 <div class="col-lg-12 col-md-12 col-sm-12"> 4128 <div>Did not receive a code? <span class="resend-code">Resend code</span></div> 4129 <div> 4130 <button class="btn-2-block btn btn-primary" disabled>Continue</button> 4131 </div> 4132 </div> 4133 </div> 4134 </div> 4135<div class="customer-details-card" style="display:none;"> 4136 <div class="row"> 4137 <div class="login-modal-header col-lg-12 col-md-12 col-sm-12" style="display:none;"> 4138 <div id="login-label"> 4139 <i class="fa-solid fa-chevron-left"></i> 4140 </div> 4141 <div> 4142 <i class="close fa-solid fa-xmark"></i> 4143 </div> 4144 </div> 4145 <div class="slider col-lg-12 col-md-12 col-sm-12"> 4146 <li><button class="first active"></button></li> 4147 <li><button class="second"></button></li> 4148 <li><button class="third"></button></li> 4149 </div> 4150 <div class="create-account"> 4151 <form id="create-account" name="create-account"> 4152 <input type="hidden" name="fb_user_id" value=""> 4153 <div class="alert" style="display:none; margin-bottom:0;"></div> 4154 <div class="account-header col-lg-12 col-md-12 col-sm-12"> 4155 <h3>Create Account</h3> 4156 </div> 4157 <div class="account-first"> 4158 <div class="col-lg-12 col-md-12 col-sm-12"> 4159 <div class="field-wrapper form-group"> 4160 <label class="label"> 4161 Mobile Number 4162 <i class="fa-solid fa-circle-question" data-toggle="tooltip" data-placement="bottom" title="Mobile number must be in a valid format. eg. 0412345678" aria-hidden="true"></i>
4163 <span class="required">*</span> 4164 </label> 4165 <input type="tel" id="register-phone" name="phoneNumber" readonly class="form-control required" pattern="/^[0-9\s]+$/" inputmode="numeric" value=""/> 4166 <label class="error" style="display:none;"></label> 4167 </div> 4168 </div> 4169 <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 4170 <div class="field-wrapper form-group"> 4171 <label class="label">First Name<span class="required">*</span></label> 4172 <input type="text" name="firstName" class="form-control required" value=""/> 4173 <label class="error" style="display:none;"></label> 4174 </div> 4175 </div> 4176 <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 4177 <div class="field-wrapper form-group"> 4178 <label class="label">Last Name<span class="required">*</span></label> 4179 <input type="text" name="surname" class="form-control required" value=""/> 4180 <label class="error" style="display:none;"></label> 4181 </div> 4182 </div> 4183 <div class="col-lg-12 col-md-12 col-sm-12"> 4184 <div class="field-wrapper form-group"> 4185 <label class="label">Email<span class="required">*</span></label> 4186 <input type="text" name="email" class="form-control required" maxlength="200" value=""/> 4187 <label class="error" style="display:none;"></label> 4188 </div> 4189 </div> 4190 <div class="password-wrapper" style="display:none;"> 4191 <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 4192 <div class="field-wrapper form-group"> 4193 <label class="label">Password<span class="required">*</span></label> 4194 <input type="password" name="password" class="form-control required" maxlength="64" value=""/> 4195 <label class="error" style="display:none;"></label> 4196 </div> 4197 </div> 4198 <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 4199 <div class="field-wrapper form-group"> 4200 <label class="label">Confirm Password<span class="required">*</span></label> 4201 <input type="password" name="retypePassword" class="form-control required" maxlength="64" value=""/> 4202 <label class="error" style="display:none;"></label> 4203 </div> 4204 </div> 4205 </div> 4206 <div class="col-lg-12 col-md-12 col-sm-12 customer-marketing-material-wrapper"> 4207 <div class="field-wrapper form-group"> 4208 <label for="customer_marketing_material" class="label" style="position: relative;"> 4209 <span style="position: absolute; left: 0;"><input type="checkbox" id="customer_marketing_material" name="customer_marketing_material" checked style="margin-top: 0; margin-right: 5px;"></span> 4210 <span style="margin-left: 22px; white-space: normal; line-height: 1.2em; position: relative; top: -1px; display: block;">Count me in for special offers and promo's</span> 4211 </label> 4212 </div> 4213 </div> 4214 </div> 4215 <div class="account-second" style="display:none;"> 4216 <div class="col-lg-6 col-md-6 col-sm-6"> 4217 <div class="field-wrapper form-group"> 4218 <label class="label">Unit Number</label> 4219 <input type="text" name="unitNumber" class="form-control" autocomplete="off" maxlength="5" value=""/> 4220 </div> 4221 </div> 4222 <div class="col-lg-6 col-md-6 col-sm-6"> 4223 <div class="field-wrapper form-group"> 4224 <label class="label">House Number<span class="required">*</span></label> 4225 <input type="text" name="houseNumber" class="form-control required" autocomplete="off" maxlength="5" value=""/> 4226 <label class="error" style="display:none;"></label> 4227 </div> 4228 </div> 4229 <div class="col-lg-12 col-md-12 col-sm-12"> 4230 <div class="field-wrapper form-group"> 4231 <label class="label">Street Name<span class="required">*</span></label> 4232 <select id="register-st-name" name="deliveryStreet" class="form-control required select2"></select> 4233 <label class="error" style="display:none;"></label> 4234 </div> 4235 </div> 4236 <div class="col-lg-12 col-md-12 col-sm-12"> 4237 <div class="field-wrapper form-group"> 4238 <label class="label">Delivery Instructions</label> 4239 <input type="text" name="deliveryInstructions" class="form-control" autocomplete="off" maxlength="255" value=""/> 4240 </div> 4241 </div> 4242 </div> 4243 <div class="account-third" style="display:none;"> 4244 <div class="col-lg-6 col-md-6 col-sm-6"> 4245 <div class="field-wrapper form-group"> 4246 <label class="label">Age</label> 4247 <select class="form-control" name="age"> 4248 <option value="">- Select Age -</option> 4249 <option value="18-24">18 - 24</option> 4250 <option value="25-34">25 - 34</option> 4251 <option value="35-44">35 - 44</option> 4252 <option value="45-54">45 - 54</option> 4253 <option value="55-64">55 - 64</option> 4254 <option value="65+">65+</option> 4255 </select> 4256 </div> 4257 </div> 4258 <div class="col-lg-6 col-md-6 col-sm-6"> 4259 <div class="field-wrapper form-group"> 4260 <label class="label">Gender</label> 4261 <select class="form-control" name="gender"> 4262 <option value="">- Select Gender -</option> 4263 <option>
4263Male</option> 4264 <option>Female</option> 4265 <option>Other</option> 4266 </select> 4267 </div> 4268 </div> 4269 <div class="col-lg-12 col-md-12 col-sm-12"> 4270 <div class="field-wrapper form-group"> 4271 <label class="label">Business Name</label> 4272 <input type="text" name="business_name" class="form-control" value=""/> 4273 </div> 4274 </div> 4275 <div class="col-lg-12 col-md-12 col-sm-12"> 4276 <div class="field-wrapper form-group"> 4277 <label class="label">How did you hear about us?</label> 4278 <select class="form-control" id="register-hear" name="hear_about_us"> 4279 <option value="">- Select Option -</option> 4280 <option value="google">Google</option> 4281 <option value="word of mouth">Word of Mouth</option> 4282 <option value="print">Print</option> 4283 <option value="facebook">Facebook</option> 4284 <option value="instagram">Instagram</option> 4285 <option value="other social media">Other Social Media</option> 4286 <option value="radio">Radio</option> 4287 <option value="tv">TV</option> 4288 <option value="sms">SMS</option> 4289 <option value="email">Email</option> 4290 </select> 4291 </div> 4292 </div> 4293 </div> 4294 <div class="col-lg-12 col-md-12 col-sm-12"> 4295 <div> 4296 <button type="button" class="btn-2-block btn btn-primary first">Continue</button> 4297 <p class="btn-skip first" style="display:none;">Skip for now</p> 4298 </div> 4299 </div> 4300 </form> 4301 </div> 4302 </div> 4303</div> 4304<div class="existing-phone-card" style="display:none;"> 4305 <div class="row"> 4306 <div class="existing-phone-header col-lg-12 col-md-12 col-sm-12"> 4307 <h3>Phone Number</h3> 4308 </div> 4309 <div class="col-lg-12 col-md-12 col-sm-12"> 4310 <div class="existing-message"></div> 4311 <div> 4312 <button type="button" id="register-apple-cancel" class="btn btn-primary btn-primary-inverted">No</button> 4313 <button type="button" id="register-apple-update" class="btn btn-primary">Yes</button> 4314 </div> 4315 </div> 4316 </div> 4317</div> </div> 4318</div> 4319 <div id="wrap" class="row-offcanvas row-offcanvas-right"> 4320 <nav class="navbar navbar-inverse navbar-fixed-top" id="main-nav" role="navigation"> 4321 <div class="container"> 4322 <div class="toggle-left"> 4323 <div></div> 4324 <div></div> 4325 <div></div> 4326 </div> 4327 <nav id="left-nav"> 4328 <div id="store-nav"> 4329 <span id='nav_profile_pic'> 4330 <h4><b><center>Welcome to</center></b></h4><span><b><center>Dough Boyz</center></b></span> </span> 4331 </div> 4332 <ul> 4333 <li class="move-nav"><a href="#landing"><span class="glyphicon glyphicon-home"></span><span class="nav-text"> Home</span></a></li> 4334 <li class="move-nav"><a href="#store-data"><span class="glyphicon glyphicon-cutlery"></span><span class="nav-text"> Menu</span></a></li> 4335 <li class="move-nav"><a href="#about-us"><span class="glyphicon glyphicon-glass"></span><span class="nav-text"> About</span></a></li> <li class="move-nav partner-enquiry-nav" style="display:none;"><a href="#partner-enquiry"><span class="glyphicon glyphicon-envelope"></span><span class="nav-text"> Partner Enquiry</span></a></li> 4336 4337 4338 <li class="nav-list"><a href="#" data-toggle="modal" data-target="#showmapmodal"><span class="glyphicon glyphicon-map-marker"></span> Store Location</a></li> 4339 <li class="nav-list"><a href="?page=terms"><span class="glyphicon glyphicon-info-sign"></span> Terms</a></li> 4340 <li class="nav-list"><a href="?page=privacy"><span class="glyphicon glyphicon-eye-close"></span> Privacy</a></li> 4341 <li class="nav-list"><a href="?page=feedback"><span class="glyphicon glyphicon-send"></span> Feedback</a></li> 4342 </ul> 4343 </nav> 4344 4345 <ul id="navbar-header" class="nav navbar-nav navbar-left"> 4346 <li class="move-nav"><a href="#landing"><span class="nav-text">Home</span></a></li> 4347 <li class="move-nav"><a href="#store-data" ><span class="nav-text">Menu</span></a></li> 4348 <li class="move-nav"><a href="#about-us"><span class="nav-text">About</span></a></li> <li class="move-nav partner-enquiry-nav" style="display:none;"><a href="#partner-enquiry"><span class="glyphicon glyphicon-envelope"></span><span class="nav-text"> Partner Enquiry</span></a></li> </ul> 4349 <ul id="navbar-header" class="nav navbar-nav navbar-right"> 4350 <li id="navbar-right-download-app" style="text-transform: capitalize;cursor: pointer;"> 4351 <i class="fa-solid fa-mobile-screen-button" style="margin-right: 5px;"></i><span> Download App</span> 4352 </li> 4353 <div id="app-popup" style="display:none;"> 4354 <span class="app-text">Download app from:</span> 4355 <div class="dl-app-icon"> 4356 <li class="app-icon"><a href="https://play.google.com/store/apps/details?id=store.dpos.com.doughboyz&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1" target="_blank"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/images/app_dl_play_store.png"></a></li> <li class="app-icon"><a href="https://itunes.apple.com/us/app/id1555200437" target="_blank"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/images/app_dl_app_store.png"></a></li> </div> 4357 <span class="img-phone"> 4358 <span class="phone-text">or scan this QR:</span> 4359 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/phone-half.png" style="width:200
4359px;"> 4360 <span id="qrcode"> 4361 <img/> 4362 </span> 4363 </span> 4364 </div> 4365 4366
4366<script src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/qrcode.js"></script>
4366 4367
4367<script> 4368 $(document).ready(function() { 4369 $('#navbar-right-download-app').click(function() { 4370 $('#app-popup').toggle(); 4371 }); 4372 4373 $(document).click(function(event) { 4374 if (!$(event.target).closest('#app-popup, #navbar-right-download-app').length) { 4375 $('#app-popup').hide(); 4376 } 4377 }); 4378 4379 // Settingup the position of the app-popup to align with navbar-right-download-app 4380 //for resizing the page 4381 $(window).resize(function() { 4382 $('#app-popup').css({ 4383 'left': ($('#navbar-right-download-app').offset().left - 180) + 'px', 4384 }); 4385 }); 4386 4387 //initial load 4388 $('#app-popup').css({ 4389 'left': ($('#navbar-right-download-app').offset().left - 180) + 'px', 4390 }); 4391 }); 4392 4393 var opts = { 4394 errorCorrectionLevel: 'M', 4395 type: 'image/jpeg', 4396 quality: 0.8, 4397 margin: 1, 4398 width: 150 4399 } 4400 4401 QRCode.toDataURL('https://doughboyz.com.au/?dlapp=true', opts, function (err, url) { 4402 if (err) throw err 4403 4404 $('.img-phone #qrcode img').attr({"data-src": "https://doughboyz.com.au/?dlapp=true", "src": url}); 4405 }); 4406 </script>
4406 4407 4408 <li id="navbar-right-ig-link"> 4409 <a href="https://www.instagram.com/doughboyz.com.au/" target="_blank"> 4410 <i class="fa-brands fa-instagram"></i> 4411 </a> 4412 </li> 4413 <li id="navbar-right-fb-link"> 4414 <a href="https://www.facebook.com/DoughBoyz.com.au/" target="_blank"> 4415 <i class="fa-brands fa-square-facebook"></i> 4416 </a> 4417 </li> 4418 <!-- OOA-258 Platina - Pop up letting customers know what store they are ordering from --> 4419 <li class="move-nav"> 4420 <a href="#store-data"> 4421 <i class="fa-solid fa-location-dot"></i> 4422 <span class="nav-text">Zuccoli</span> 4423 </a> 4424 </li> 4425 <li> 4426 <p tabindex="0" role="button" data-toggle="popover" id='login-nav'> 4427 <i class="fa-solid fa-user-circle"></i> 4428 <span id='signIn' class='signIn'>sign in</span> 4429 </p> 4430 </li> 4431 4432 <li id='show_cart'> 4433 <div class=view_cart> 4434 <i class="fa-solid fa-bag-shopping"></i> 4435 <span id='cartTotal' class='cartTotal'>$0.00</span> 4436 </div> 4437 </li> 4438 </ul> 4439 4440 </div> 4441 </nav> 4442 <div class="container mainpage"> 4443 </div> 4444 4445 <!-- FULL HEADER REMOVE --> 4446 4447<style> 4448 4449 #mobileSplide { 4450 display: none !important; 4451 padding: 0; 4452 } 4453 4454 #desktopSplide, 4455 #mobileSplide, 4456 #desktopSplide .splide__track, 4457 #mobileSplide .splide__track, 4458 #desktopSplide .splide__list, 4459 #mobileSplide .splide__list, 4460 #desktopSplide .splide__slide, 4461 #mobileSplide .splide__slide { 4462 width: 100%; 4463 height: 100%; 4464 } 4465 4466 #desktopSplide .splide__slide, 4467 #mobileSplide .splide__slide { 4468 background-position: center; 4469 background-repeat: no-repeat; 4470 background-size: cover; 4471 } 4472 4473 4474 </style> 4475 4476<div id="landing" class='landing-img'> 4477 4478
4479<script> 4480 document.addEventListener('DOMContentLoaded', function () { 4481 var desktopSplide = null; 4482 var mobileSplide = null; 4483 var resizeTimer = null; 4484 4485 var hasDesktopSlider = false; 4486 var hasMobileSlider = false; 4487 4488 var desktopSliderCount = 0; 4489 var mobileSliderCount = 0; 4490 4491 if (typeof Splide === 'undefined') { 4492 console.error('Splide is not loaded.'); 4493 return; 4494 } 4495 4496 function getSliderConfig(sliderCount) { 4497 return { 4498 type: sliderCount > 1 ? 'loop' : 'slide', 4499 autoplay: sliderCount > 1, 4500 interval: 5000, 4501 arrows: sliderCount > 1, 4502 perPage: 1, 4503 rewind: true, 4504 pagination: true, 4505 pauseOnHover: false, 4506 pauseOnFocus: false, 4507 speed: 2000, 4508 4509 breakpoints: { 4510 768: { 4511 speed: 1000, 4512 } 4513 } 4514 }; 4515 } 4516 4517 function destroyDesktopSlider() { 4518 if (desktopSplide) { 4519 desktopSplide.destroy(); 4520 desktopSplide = null; 4521 } 4522 } 4523 4524 function destroyMobileSlider() { 4525 if (mobileSplide) { 4526 mobileSplide.destroy(); 4527 mobileSplide = null; 4528 } 4529 } 4530 4531 function mountDesktopSlider() { 4532 if (!hasDesktopSlider) { 4533 return; 4534 } 4535 4536 if (!document.querySelector('#desktopSplide')) { 4537 return; 4538 } 4539 4540 if (!desktopSplide) { 4541 desktopSplide = new Splide('#desktopSplide', getSliderConfig(desktopSliderCount)).mount(); 4542 } 4543 } 4544 4545 function mountMobileSlider() { 4546 if (!hasMobileSlider) { 4547 return; 4548 } 4549 4550 if (!document.querySelector('#mobileSplide')) { 4551 return; 4552 } 4553 4554 if (!mobileSplide) { 4555 mobileSplide = new Splide('#mobileSplide', getSliderConfig(mobileSliderCount)).mount(); 4556 } 4557 } 4558 4559 function initializeSlider() { 4560 var screenWidth = window.innerWidth; 4561 4562 if (screenWidth <= 480 && hasMobileSlider) { 4563 destroyDesktopSlider(); 4564 4565 requestAnimationFrame(function () { 4566 mountMobileSlider(); 4567 }); 4568 4569 return; 4570 } 4571 4572 destroyMobileSlider(); 4573 4574 requestAnimationFrame(function () { 4575 mountDesktopSlider(); 4576 }); 4577 } 4578 4579 initializeSlider(); 4580 4581 window.addEventListener('resize', function () { 4582 clearTimeout(resizeTimer); 4583 4584 resizeTimer = setTimeout(function () { 4585 initializeSlider(); 4586 }, 200); 4587 }); 4588 }); 4589</script>
4589 4590 <div class="container"> 4591 <div id="landing-content"> 4592 <div id="landing-logo"> 4593 <img src="https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/logo.png" alt="Dough Boyz Logo"> 4594 </div> 4595 <div id="landing-form"> 4596 <div id="tag-line"><p class="p1">Zuccoliâs Dough-Driven Feast</p><p class="p-text">At Dough Boyz we donât cut corners â we perfect them. 4597 4598Edge-to-Edge pizza. No Boring Bits </p></div> 4599 <div id="form-text"></div> 4600 4601 <!-- OOA-1394 Order Now Store list Platina Feature --> 4602 4603 </div> 4604 </div> 4605 </div> 4606 </div> 4607 4608 <div id="store-data"> 4609 <div class="container"> 4610 <div id="store"> 4611 <!-- OOA-1394 Order Now Store list Platina Feature --> 4612 <div id="order-type-select" class="col-lg-6 col-lg-offset-3 col-sm-offset-2 col-sm-8" style="display:none;"> 4613 <p id="order-type-select-close" class="store-select2-close" style="">Ã</p> 4614 <div id="order-type-select-container"> 4615 <div id="store-select2-tag-line">Start ordering here</div> 4616 <div class="form-group"> 4617 <div class="input-group platina-input-group"> 4618 <div id="store-select2-form-text">Select your order type</div> 4619 <div class="btn-group btn-block btn-group-lg"> 4620 <button type="button" class="btn order-type-bt active header" value="pickup" id="order-type-bt-pickup">Pickup</button> 4621 <span>or</span> 4622 <button type="button" class="btn order-type-bt header" value="delivery" id="order-type-bt-delivery">Delivery</button> 4623 </div> 4624 </div> 4625 </div> 4626 </div> 4627 </div> 4628 4629 <!-- Display Suburb Search --> 4630 <!-- OOA-1026 Moved select suburb input field from the landing section to store data section --> 4631 <div id="store-select" class="col-md-6 col-md-offset-3 col-sm-12" style="display:none;"> 4632 <p id="store-select2-close" class="store-select2-close" style="">Ã</p> 4633 <div id="store-select-container"> 4634 <!-- Form Content --> 4635 <div id="store-select2-tag-line" style="text-align: center;">Start ordering here</div> 4636 <!-- Select2 --> 4637 <div class="form-group"> 4638 <div class="input-group platina-input-group"> 4639 <div class="nearest-location-btn"> 4640 <button id="getLocation" class="btn btn-default" type="button" data-select2-open="select2-button-addons-multi-input-group-lg"> 4641 <span class="glyphicon glyphicon-map-marker"></span> Click here to search for your nearest store 4642 </button> 4643 </div> 4644 <div id="store-select2-form-text" style="text-align: center;">Or use the search bar to find which stores deliver to you</div> 4645 <select class="platina-search-suburb-postcode form-control" id="chainStores" style="width:100%;"></select> 4646 </div> 4647 <div id='platina-order-type-container'></div> 4648 </div> 4649 </div> 4650 </div> 4651 4652 4653 4654 <!-- Store Details --> 4655 <div id="store-details" class="store-details-default-panel" style=""> 4656 <h2>Dough Boyz</h2> 4657 <div class="col-md-3 col-md-offset-2"> 4658 <p id="h-phone"> 4659 <i class="fa-solid fa-phone"></i> <a href="tel:0889329446" class="phone-link">08 8932 9446</a> </p> 4660 <p id="h-address"> 4661 <i class='fa-solid fa-location-dot'></i> <a id='store-location' href="https://www.google.com/maps/search/?api=1&query=Shop+1%2C+Zuccoli+Plaza%2C+Zuccoli" class="address-link" target="_blank" rel="noopener">Shop 1, Zuccoli Plaza, Zuccoli</a> 4662 </p> 4663 </div> 4664 <div class="col-md-3"> 4665 <p> 4666 <i class="fa-solid fa-truck-fast" style="margin-right: 5px"></i> 4667 <span data-toggle="tooltip" data-placement="top" data-html="true" data-container="body" data-template='<div class="tooltip th-tooltip" role="tooltip"><div class="tooltip-inner"></div></div>' title="<div class='hours-title'>Delivery Hours</div>
4668 <div class='hours-list'> 4669 <div class='hours-day'>Monday</div><div class='hours-time'>5:30pm - 8:45pm</div><div class='hours-day'>Tuesday</div><div class='hours-time'>5:30pm - 8:45pm</div><div class='hours-day'>Wednesday</div><div class='hours-time'>5:30pm - 8:45pm</div><div class='hours-day'>Thursday</div><div class='hours-time'>5:30pm - 8:45pm</div><div class='hours-day'>Friday</div><div class='hours-time'>4:30pm - 8:45pm</div><div class='hours-day'>Saturday</div><div class='hours-time'>5:30pm - 8:45pm</div><div class='hours-day'>Sunday</div><div class='hours-time'>5:30pm - 8:45pm</div> 4670 </div>" class="delivery-time trading-hours-tooltip"> 4671 Delivery: 4672 <strong>04:30pm - 08:45pm</strong> 4673 </span> 4674 </p><p> 4675 <i class="fa-solid fa-clock" style="margin-right:5px;"></i> 4676 <span data-toggle="tooltip" data-placement="top" data-html="true" data-container="body" data-template='<div class="tooltip th-tooltip" role="tooltip"><div class="tooltip-inner"></div></div>' title="<div class='hours-title'>Store Hours</div> 4677 <div class='hours-list'> 4678 <div class='hours-day'>Monday</div><div class='hours-time'>4:00pm - 9:00pm</div><div class='hours-day'>Tuesday</div><div class='hours-time'>4:00pm - 9:00pm</div><div class='hours-day'>Wednesday</div><div class='hours-time'>4:00pm - 9:00pm</div><div class='hours-day'>Thursday</div><div class='hours-time'>4:00pm - 9:00pm</div><div class='hours-day'>Friday</div><div class='hours-time'>4:00pm - 9:00pm</div><div class='hours-day'>Saturday</div><div class='hours-time'>4:00pm - 9:00pm</div><div class='hours-day'>Sunday</div><div class='hours-time'>4:00pm - 9:00pm</div> 4679 </div>" class="store-time-text trading-hours-tooltip"> 4680 Open Today: 4681 <strong>04:00pm - 09:00pm</strong> 4682 </span> 4683 </p><p class='mobile-estimated-time'></p> 4684 </div> 4685 <div class="col-md-3"> 4686 <div id="estimated-time"><div class="store_status" style="display:none;">closed</div><div class="alert alert-warning" role="alert" style="font-size: 16px">Dough Boyz is currently closed.</div></div> </div> 4687 </div> 4688 </div> 4689 </div> 4690 </div> 4691 4692<!-- END OF FULL HEADER --> 4693 4694 4695 <input type="hidden" id='client_code' value='DB001'> 4696 <input type="hidden" id='orderTotal' value=''> 4697 <input type="hidden" id='storeName' value='Dough Boyz'> 4698 <input type="hidden" id='orderType' value='pickup'> 4699 <input type="hidden" id='customerLoggedIn' value='0'> 4700 <input type="hidden" id='customerGuest' value='0'> 4701 <input type="hidden" id='storeSelected' value='1'> 4702 <div class="modal fade modal-fullscreen force-fullscreen" id="showmapmodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 4703 <div class="modal-dialog"> 4704 <div class="modal-content"> 4705 <div class="modal-header"> 4706 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 4707 <h4 class="modal-title">Store Location</h4> 4708 </div> 4709 <div class="modal-body"> 4710 <div class="mapouter"><div class="gmap_canvas"><iframe width="100%" height="400" id="gmap_canvas" src="https://google.com/maps?q=T1+Zuccoli+Parade%2C+Zuccoli%2C+NT&t=&z=14&ie=UTF8&iwloc=&output=embed" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"></iframe></div></div> 4711 <div id="modal-info"> 4712 <h3 id="modal-store"><b><span>Dough Boyz</b></span></h3> 4713 <div class="col-md-3 col-md-offset-3 map-add"> 4714 <p id="h-address"> 4715 <span class="glyphicon glyphicon-map-marker"></span> <a href="https://www.google.com/maps/search/?api=1&query=Shop+1%2C+Zuccoli+Plaza%2C+Zuccoli" target="_blank" rel="noopener">T1 Zuccoli Parade, Zuccoli, NT</a> 4716 </p> 4717 <p id="h-phone"> 4718 <i class="fa-solid fa-phone"></i> <a href="tel:0889329446" class="phone-link">08 8932 9446</a> </p> 4719 </div> 4720 <div class='col-md-3 map-time' style='text-align: right;'> 4721 <p> 4722 <i class="fa-solid fa-bell-concierge" style="margin-right:5px;"></i>
4723 <span>Delivery 04:30pm - 08:45pm</span> 4724 </p><p><i class="fa-solid fa-clock" style="margin-right:5px;"></i> <span class="store-time-text">Open today</span> <span>04:00pm - 09:00pm</span></p> </div> 4725 </div> 4726 </div> 4727 </div><!-- /.modal-content --> 4728 </div><!-- /.modal-dialog --> 4729 </div><!-- /.modal --> 4730 4731 <!-- /.modal for adding quantity on single items --> 4732 <div class="modal modal-popup fade" id="add-popup-qty" role="dialog"> 4733 <div class="modal-dialog modal-dialog-popup"> 4734 <div class="modal-content modal-content-popup"> 4735 <div class="modal-header"> 4736 <p class="close close-popup" data-dismiss="modal">Ã</p> 4737 <h4 class="modal-title" style="color: black; padding-bottom: 5px; font-weight: 600;"></h4> 4738 <div class="modal-title item-description-popup modal-title-full" style="font-size: 13px"></div> 4739 </div> 4740 <div class="modal-body" style="background: #ececec78;"> 4741 <div style="text-align:center;"><label style="font-weight: bold;">Quantity</label></div> 4742 <div style="text-align: center; margin: 10px;"> 4743 <button class="btn qty-btn-popup-single qty-btn-popup-minus" ref-group-id=""><i class="glyphicon glyphicon-minus"></i></button> 4744 <label id="" class="qty-label-popup qty" style="padding: 0 5%">1</label> 4745 <button class="btn qty-btn-popup-single qty-btn-popup-plus" ref-group-id=""><i class="glyphicon glyphicon-plus"></i></button> 4746 </div> 4747 </div> 4748 <div class="modal-footer" style="text-align: center; position: relative;"> 4749 <div class="item-add-buttons" style="width:100%"> 4750 <input style="padding: 10px 0 !important; width: 47%;" data-dismiss="modal" type="button" name="Add" value="Add" class="btn btn-primary" id="modal-addbtn"> 4751 <input style="padding: 10px 0 !important; width: 47%;" type="button" name="Customise" value="Customise" class="btn btn-primary" id="modal-customisebtn"> 4752 </div> 4753 </div> 4754 </div> 4755 </div> 4756 </div> 4757 4758 <!-- /.modal for switch store --> 4759 <div class="modal modal-popup fade" id="storeSwitchPopup" data-backdrop="static" data-keyboard="false" role="dialog"> 4760 <div class="modal-dialog modal-dialog-popup"> 4761 <div class="modal-content modal-content-popup"> 4762 <div class="modal-body" style="background: #ececec78; text-align: center;"> 4763 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/cart-notif.svg" /> 4764 <h4 class="modal-title" style="color: black; padding-bottom: 5px; font-weight: 600; font-size: 27px;">Switch store?</h4> 4765 <p style="font-size: 16px;">Your cart will be emptied. You are now ordering from <span id="storeSwitchPopupStoreName"></span>.</p> 4766 </div> 4767 <div class="modal-footer" style="text-align: center; position: relative;"> 4768 <div class="item-add-buttons" style="width:100%"> 4769 <button value="ok" style="padding: 10px 0 !important; width: 47%;" data-dismiss="modal" class="btn btn-primary switch-option">Okay</button> 4770 <button value="cancel" style="padding: 10px 0 !important; width: 47%;" data-dismiss="modal" class="btn btn-danger switch-option">Cancel</button> 4771 </div> 4772 </div> 4773 </div> 4774 </div> 4775 </div> 4776 4777 <!-- /.modal for Coming Soon --> 4778 <div class="modal modal-popup fade" id="comingSoonStoreSwitchPopup" data-backdrop="static" data-keyboard="false" role="dialog"> 4779 <div class="modal-dialog modal-dialog-popup"> 4780 <div class="modal-content modal-content-popup"> 4781 <div class="modal-body" style="background: #ececec78; text-align: center;"> 4782 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/cart-notif.svg" /> 4783 <h4 class="modal-title" style="color: black; padding-bottom: 5px; font-weight: 600; font-size: 27px;">Coming Soon!</h4> 4784 <p style="font-size: 16px;">The store you have selected is not available yet.</p> 4785 </div> 4786 <div class="modal-footer" style="text-align: center; position: relative;"> 4787 <div class="item-add-buttons" style="width:100%"> 4788 <button value="cancel" style="padding: 10px 0 !important; width: 47%;" data-dismiss="modal" class="btn btn-danger switch-option">
4788Okay</button> 4789 </div> 4790 </div> 4791 </div> 4792 </div> 4793 </div> 4794 4795 <!-- /.modal for locations --> 4796 <div class="modal fade locationsModal" id="locationsModal" tabindex="-1" role="dialog" aria-labelledby="locationsModal" aria-hidden="true"> 4797 <div class="modal-dialog modal-dialog-popup"> 4798 <div class="modal-content modal-content-popup"> 4799 <div class="modal-header" style="background: #ececec78; text-align: center;"> 4800 <p class="close close-popup" data-dismiss="modal">Ã</p> 4801 <h4 class="modal-title" style="color: black; padding-top: 5px; padding-bottom:5px; font-weight: 600; font-size: 27px;">Our Locations</h4> 4802 <p style="font-size: 16px;"></p> 4803 </div> 4804 <div class="modal-body" style="background: #fff; text-align: left;"> 4805 <div id='loadin_bar' style='text-align:center;'></div> 4806 <div class="franchise-locations"> 4807 <div class="col-md-3 col-sm-3 col-xs-12 store-details-container"> 4808 <ul id="locationsSuburbList" class="list-group list-group-flush"></ul> 4809 <select name="locationsSuburbList2" id="locationsSuburbList2" class="form-select"></select> 4810 </div> 4811 <div id="locations-map-container" class="col-md-9 col-sm-9 col-xs-12 map-container"> 4812 <div class="location-map" id="location-map" style="width: 100%; height: 100%;"> 4813 <div style="position: relative; overflow: hidden;" id="map_canvas"></div> 4814 </div> 4815 </div> 4816 </div> 4817 </div> 4818 </div> 4819 </div> 4820 </div> 4821 4822 <!-- /.modal for store list --> 4823 <div class="modal" id="storeListsModal" tabindex="-1"> 4824 <div class="modal-dialog modal-dialog-center"> 4825 <div class="modal-content"> 4826 <div class="modal-header" style="background: #ececec78; text-align: center;"> 4827 <p class="close close-popup" data-dismiss="modal">Ã</p> 4828 <h4 class="modal-title">List of Locations</h4> 4829 <p style="font-size: 16px;"></p> 4830 </div> 4831 <div class="modal-body" style="background: #fff; text-align: left;"> 4832 <div id='loadin_bar' style='text-align:center;'></div> 4833 <!-- Accordion Content --> 4834 <div> 4835 <div class="content"> 4836 <div class="panel-group store-list-accordion" id="accordion"> 4837 </div> 4838 </div> 4839 </div> 4840 </div> 4841 </div> 4842 </div> 4843 </div> 4844 4845 <!-- /.modal for store list switch store --> 4846 <div class="modal fade" id="storeSwitchPopup_2" tabindex="-1"> 4847 <div class="modal-dialog modal-dialog-center"> 4848 <div class="modal-content"> 4849 <div class="modal-body" style="background: #ececec78; text-align: center;"> 4850 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/cart-notif.svg" /> 4851 <h4 class="modal-title" style="color: black; padding-bottom: 5px; font-weight: 600; font-size: 27px;">Switch store?</h4> 4852 <p style="font-size: 16px;">Your cart will be emptied. You are now ordering from <span id="storeSwitchPopupStoreName"></span>.</p> 4853 </div> 4854 <div class="modal-footer" style="text-align: center; position: relative;"> 4855 <div class="item-add-buttons" style="width:100%"> 4856 <button id="storelist-switch-option-ok" value="ok" style="padding: 10px 0 !important; width: 47%;" data-dismiss="modal" class="btn btn-primary storelist-switch-option">Okay</button> 4857 <button id="storelist-switch-option-cancel" value="cancel" style="padding: 10px 0 !important; width: 47%;" data-dismiss="modal" class="btn btn-danger storelist-switch-option">Cancel</button> 4858 </div> 4859 </div> 4860 </div> 4861 </div> 4862 </div> 4863 4864 <!-- OOA-1472 Refer a friend Modal --> 4865 <div class="modal fade" id="refer-modal" tabindex="-1" role="dialog" aria-labelledby="refer-modalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false"> 4866 <div class="modal-dialog" role="document"> 4867 <div class="modal-content"> 4868 4869 <div class="modal-header"> 4870 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 4871 <span aria-hidden="true">×</span> 4872 </button> 4873 </div> 4874 4875 <div class="modal-body"> 4876 <form id="refer_form"> 4877 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/refer_friend.png"> 4878 <h1>Refer a friend</h1> 4879 <p>Who's hungry? Tell them about us!</p> 4880 <ul> 4881 <li><input type="text" name="referer_name" id="referer_name" class="form-control" style="margin:0 auto;" placeholder="Your Name" required></li> 4882 <li><input type="text" name="refer_friend_name" id="refer_friend_name" class="form-control" style="margin:0 auto;" placeholder="Friend's Name" required></li> 4883 <li><input type="email" name="friend_email_add" id="friend_email_add" class="form-control" style="margin:0 auto;" placeholder="Friend's Email Address" required></li> 4884 </ul> 4885 <button type="submit" class="btn btn-primary" id="refer-btn">Send Referral</button> 4886 </form>
4887 </div> 4888 4889 </div> 4890 </div> 4891 </div> 4892 4893 4894 <div class="modal modal-popup fade" id="promo-modifier-modal" tabindex="-1" role="dialog" aria-labelledby="promo-modifier-modalLabel" data-backdrop="static" data-keyboard="false"> 4895 <div class="modal-dialog" role="document"> 4896 <div class="modal-content"> 4897 <div class="modal-header"> 4898 <div class="message-container"> 4899 <div class="promo-code-wrapper"> 4900 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/promo_applied.png"/> 4901 Promo Code: <span class="promo-code-container"></span> 4902 </div> 4903 <div class="promo-code-redemption-label" style="display:none;">To complete your redemption, please select item options.</div> 4904 </div> 4905 <span class="close" data-dismiss="modal" aria-label="Close">×</span> 4906 </div> 4907 <div class="modal-body" style="display:none;"> 4908 <div class="modifier-wrapper"></div> 4909 </div> 4910 <div class="modal-footer"> 4911 <span data-toggle="tooltip" data-placement="top" data-html="true" title='<i class="fa-solid fa-circle-exclamation"></i> Select required item option first to add promo code.'> 4912 <button type="button" class="btn btn-primary" disabled></button> 4913 </span> 4914 </div> 4915 </div> 4916 </div> 4917 </div> 4918 4919 <input type='hidden' name='current_order_type' id='current_order_type_holder' value='pickup'/> 4920 4921 4922
4923<script> 4924$(document).ready(function(){ 4925 var bLazy = new Blazy(); 4926}); 4927</script>
4927 4928<style> 4929 /* For Merge - Style for responsive extra/current toppings */ 4930 .hide-menu-active-times{ 4931 /* display:none; */ 4932 letter-spacing:0.8px; 4933 background-color:#dc4f4f !important; 4934 border-left:5px solid #da2d2d !important; 4935 padding:5px 8px; 4936 font-size:14px; 4937 -webkit-transition: opacity 650ms ease-in-out; 4938 -moz-transition: opacity 650ms ease-in-out; 4939 -o-transition: opacity 650ms ease-in-out; 4940 transition: opacity 650ms ease-in-out; 4941 } 4942 4943 .b-lazy { 4944 -webkit-transition: opacity 650ms ease-in-out; 4945 -moz-transition: opacity 650ms ease-in-out; 4946 -o-transition: opacity 650ms ease-in-out; 4947 transition: opacity 650ms ease-in-out; 4948 max-width: 100%; 4949 opacity: 0; 4950 } 4951 .b-lazy.b-loaded { 4952 opacity: 1; 4953 } 4954 4955 /* FOR merge Loke at checkout page */ 4956 4957 #order-info-loke{ 4958 background: #fff; 4959 width: 70%; 4960 float:left; 4961 display:none; 4962 } 4963 #order-info-loke #loke-order-details{ 4964 padding:6px 10px 15px; 4965 } 4966 #order-info-loke h3{ 4967 background:#222; 4968 font-family: "Open Sans",sans-serif; 4969 color: #fff; 4970 margin: 0; 4971 padding: 6px; 4972 padding-left: 10px; 4973 font-weight: 300; 4974 margin-top: 0; 4975 font-size: 18px; 4976 } 4977 4978 @media only screen and (max-width: 992px){ 4979 #order-info-loke{ 4980 width:100%; 4981 display:block; 4982 } 4983 } 4984</style> 4985<div id="backgroundPopup"></div> 4986 4987 4988 4989<div id='main-content'> 4990 4991 <div class="container"> 4992 4993 <div class="location split-content group"> 4994 4995 <center><span> 4996 </span></center> 4997 4998 4999 5000 <div id="loyal_container" style='display:none;'> 5001 <div id="loyal_banner"> 5002 <div type='button' id="loyal_close"><i class="fa-solid fa-xmark"></i></div> 5003 <div id="loyal_cover"> 5004 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/loyalty-banner.png"/> 5005 <div class="fade"></div> 5006 </div> 5007 <div id="loyal_content"> 5008 <span id="banner_title">Loyalty Reward</span> 5009 <span id="banner_message"> 5010 Complete your stamps to get attractive rewards!<br> 5011 <span>*Your current stamps</span> 5012 </span> 5013 <div id='loyal_progress'> 5014 <!-- This will contain the progress like star-completed and star-incomplete --> 5015 </div> 5016 <div class="loyal_action_box"> 5017 <div id="loyal-redeem-btn">Redeem Here</div> 5018 </div> 5019 </div> 5020 </div> 5021</div> 5022<div id="promotional_container" style='display:none;'> 5023 <div id="promotional_banner"> 5024 <button type='button' id="promotional_close">Ã</button> 5025 <div id="promotional_cover"></div> 5026 <div id="promotional_content"> 5027 <div id="promo_text"></div> 5028 <div id="promo_button"></div> 5029 </div> 5030 </div> 5031</div> 5032<div class="modal modal-popup fade" id="change-order-type-modal" tabindex="-1" role="dialog" aria-labelledby="change-order-type-modalLabel" data-backdrop="static" data-keyboard="false"> 5033 <div class="modal-dialog" role="document"> 5034 <div class="modal-content"> 5035 <div class="modal-header"> 5036 Change order type? 5037 <div class="close" data-dismiss="modal" aria-label="Close"> 5038 <i class="fa-solid fa-xmark"></i> 5039 </div> 5040 </div> 5041 <div class="modal-body"> 5042 Are you sure you want to change order type? 5043 </div> 5044 <div class="modal-footer"> 5045 <button type="button" class="btn btn-primary btn-continue-order" data-dismiss="modal" aria-label="Close">Continue order</button> 5046 <button type="button" class="btn btn-primary btn-change-type" data-dismiss="modal" aria-label="Close">Change order type</button> 5047 </div> 5048 </div> 5049 </div> 5050</div> 5051<div class="modal modal-popup fade" id="menu-items-disabled-modal" tabindex="-1" role="dialog" aria-labelledby="menu-items-disabled-modalLabel"> 5052 <div class="modal-dialog modal-dialog-popup" role="document"> 5053 <div class="modal-content"> 5054 <div class="modal-body"> 5055 <div class="menu-items-disabled-message"> 5056 <div class="icon-warning"> 5057 <i class="fa-solid fa-exclamation"></i> 5058 </div> 5059 <div class="disable-message-text"></div> 5060 <div class="disabled-items-list"></div>
5061 </div> 5062 <div> 5063 <button type="button" class="btn btn-primary" data-dismiss="modal" aria-label="Close">Okay</button> 5064 </div> 5065 </div> 5066 </div> 5067 </div> 5068</div> 5069<style> 5070 #loyal_banner #loyal_content { 5071 background-color: #ffd966 !important; 5072 } 5073 5074 #loyal_banner #loyal_cover .fade { 5075 background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #ffd966 100%) !important; 5076 } 5077</style> 5078 5079 <style> 5080 .service-fee-disclaimer { 5081 display: none !important; 5082 } 5083 </style> 5084 5085<div class="store-frame"> 5086 <div class="store-details-open" style="display:none;"> 5087 <span class="store-time-clock glyphicon glyphicon-time" style="margin-right:10px;"></span> 5088 </div> 5089 <div class="store-details-after-closing" style="display:none;"></div> 5090 <div class="store-details-close" style="display:none;"> 5091 <div class="store-status-details"> 5092 <p>Store is not open for orders right now.</p> </div> 5093 </div> 5094 </div> 5095<div id='menu-cont'> 5096 <div id='menu'> 5097 <div id='menu-title'>Our menu</div> 5098 <ul id="menu-ul" class='nav'> 5099 <li class='menu-218246 first'><a href="#sides-block" class='menu-218246 first'>Sides</a></li><li class='menu-218240'><a href="#pasta-block" class='menu-218240'>Pasta</a></li><li class='menu-218242'><a href="#pizza-block" class='menu-218242'>Pizza</a></li><li class='menu-218241'><a href="#pizza-halfhalf-block" class='menu-218241'>Pizza Half/Half</a></li><li class='menu-218239'><a href="#desserts-block" class='menu-218239'>Desserts</a></li><li class='menu-218250'><a href="#drinks-block" class='menu-218250'>Drinks</a></li> </ul> 5100</div> 5101 5102 <style> 5103.custom-modal-overlay { 5104 position: fixed; 5105 top: 0; 5106 left: 0; 5107 width: 100%; 5108 height: 100%; 5109 background-color: rgba(0, 0, 0, 0.35); 5110 opacity: 1 !important; 5111 backdrop-filter: blur(5px); 5112 -webkit-backdrop-filter: blur(5px); 5113 z-index: 9999; 5114 display: flex; 5115 align-items: center; 5116 justify-content: center; 5117} 5118 5119.custom-modal-container { 5120 display: flex; 5121 align-items: center; 5122 justify-content: center; 5123 width: 100%; 5124 height: 100%; 5125 padding: 20px; 5126} 5127 5128.custom-modal-content { 5129 background: white; 5130 border-radius: 8px; 5131 padding: 25px; 5132 max-width: 500px; 5133 width: 100%; 5134 box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06); 5135 animation: modalSlideIn 0.2s ease-out; 5136} 5137 5138@keyframes modalSlideIn { 5139 from { 5140 opacity: 0; 5141 transform: translateY(-20px); 5142 } 5143 to { 5144 opacity: 1; 5145 transform: translateY(0); 5146 } 5147} 5148 5149.custom-modal-message { 5150 font-size: 16px; 5151 line-height: 1.5; 5152 color: #333; 5153 margin-bottom: 20px; 5154 text-align: center; 5155} 5156 5157.custom-modal-buttons { 5158 display: flex; 5159 justify-content: center; 5160 gap: 10px; 5161} 5162 5163.custom-modal-btn { 5164 padding: 10px 20px; 5165 border: none; 5166 border-radius: 4px; 5167 font-size: 14px; 5168 font-weight: 500; 5169 cursor: pointer; 5170 transition: all 0.2s ease; 5171 min-width: 80px; 5172} 5173 5174.custom-modal-btn-primary { 5175 background-color: #007bff; 5176 color: white; 5177} 5178 5179.custom-modal-btn-primary:hover { 5180 background-color: #0056b3; 5181} 5182 5183.custom-modal-btn-secondary { 5184 background-color: #6c757d; 5185 color: white; 5186} 5187 5188.custom-modal-btn-secondary:hover { 5189 background-color: #545b62; 5190} 5191 5192.custom-modal-btn:active { 5193 transform: scale(0.98); 5194} 5195 5196/* MODAL CLASS */ 5197.class-modals .custom-modal-content{ 5198 border-radius: 16px; 5199 max-width: 448px; 5200 padding: 32px 24px 24px; 5201 display: flex; 5202 flex-direction: column; 5203 align-items: center; 5204} 5205.class-modals button{ 5206 border-radius: 12px; 5207 color: #fff; 5208 background-color : #388ee2; 5209 width: 100%; 5210 font-size: 14px; 5211 font-weight: 600; 5212} 5213.class-modals .custom-modal-buttons{ 5214 width: 100%; 5215} 5216.class-modals .custom-modal-heading{ 5217 font-size: 16px; 5218 font-weight: 600; 5219 margin-bottom: 4px; 5220 text-align: center; 5221} 5222.class-modals .custom-modal-message{ 5223 font-size: 14px; 5224} 5225.class-modals button:hover{ 5226 background-color : #4a97e5; 5227} 5228.class-modals .custom-modal-icon{ 5229 border-radius: 50px; 5230 display: flex; 5231 font-size: 20px; 5232 height: 56px; 5233 width: 56px; 5234 justify-content: center;
5235 align-items: center; 5236 margin-bottom: 16px; 5237} 5238.icon-gift, .icon-success{ 5239 background-color: #e2f9eb; 5240 color: #25b15f; 5241} 5242.icon-warning, .icon-cart, .icon-question{ 5243 background-color: #fdf2e2; 5244 color: #f5a83d; 5245} 5246.icon-error, .icon-suspicious{ 5247 background-color: #fbeaea; 5248 color: #df3a3a; 5249} 5250.icon-info, .icon-message{ 5251 background-color: #e4f0fb; 5252 color: #368ce2; 5253} 5254 5255/* Mobile responsive */ 5256@media (max-width: 600px) { 5257 .custom-modal-content { 5258 padding: 20px; 5259 max-width: 90%; 5260 } 5261 5262 .custom-modal-message { 5263 font-size: 14px; 5264 } 5265 5266 .custom-modal-buttons { 5267 flex-direction: column; 5268 } 5269 5270 .custom-modal-btn { 5271 width: 100%; 5272 } 5273} 5274</style>
5274<script> 5275// Global z-index counter for modals 5276if (typeof window.customModalZIndex === 'undefined') { 5277 window.customModalZIndex = 10000; 5278} 5279 5280// Helper function to show modal alerts dynamically 5281function showModalAlert(icon, heading, message, buttonText, callback) { 5282 var modalId = 'customModal' + Date.now(); 5283 var modalZIndex = window.customModalZIndex++; 5284 var iconMap = { 5285 'gift': 'fa-solid fa-gift', 5286 'info': 'fa-solid fa-info', 5287 'warning': 'fa-solid fa-triangle-exclamation', 5288 'question': 'fa-solid fa-question', 5289 'success': 'fa-solid fa-check', 5290 'error': 'fa-solid fa-x', 5291 'message': 'fa-solid fa-message', 5292 'suspicious': 'fa-solid fa-shield-halved', 5293 'cart': 'fa-solid fa-cart-shopping' 5294 }; 5295 var hasIcon = icon !== '' && icon !== null && typeof icon !== 'undefined'; 5296 var iconKey = hasIcon ? (iconMap[icon] ? icon : 'info') : ''; 5297 var iconClass = hasIcon ? iconMap[iconKey] : ''; 5298 var iconHtml = hasIcon 5299 ? '<div class="custom-modal-icon icon-' + iconKey + '"><i class="' + iconClass + '"></i></div>' 5300 : ''; 5301 5302 var modalHtml = '<div id="' + modalId + '" class="custom-modal-overlay class-modals" style="display:none; z-index:' + modalZIndex + ';">' + 5303 '<div class="custom-modal-container">' + 5304 '<div class="custom-modal-content">' + 5305 iconHtml + 5306 '<div class="custom-modal-heading">' + heading + '</div>' + 5307 '<div class="custom-modal-message">' + message + '</div>' + 5308 '<div class="custom-modal-buttons">' + 5309 '<button class="custom-modal-btn custom-modal-btn-primary" onclick="closeCustomModal(\'' + modalId + '\')">' + buttonText + '</button>' + 5310 '</div>' + 5311 '</div>' + 5312 '</div>' + 5313 '</div>'; 5314 5315 $('body').append(modalHtml); 5316 $('#' + modalId).fadeIn(200); 5317 5318 var overlayElement = document.getElementById(modalId); 5319 var buttonElement = overlayElement.querySelector('.custom-modal-btn-primary'); 5320 5321 // CRITICAL: Block events from reaching Bootstrap by intercepting at document level 5322 // BUT allow button clicks to execute their handlers first 5323 var blockBootstrapHandler = function(e) { 5324 // Check if event originated from our custom modal 5325 var modalElement = e.target.closest('#' + modalId); 5326 if (modalElement) { 5327 // If clicking on button, execute close action immediately in capture phase 5328 if (e.target.closest('.custom-modal-btn-primary')) { 5329 e.stopImmediatePropagation(); 5330 e.preventDefault(); 5331 // Close immediately 5332 setTimeout(function() { 5333 closeCustomModal(modalId); 5334 }, 0); 5335 return; 5336 } 5337 5338 // If clicking on overlay/container (not content), close modal 5339 if (e.target.classList.contains('custom-modal-overlay') || 5340 e.target.classList.contains('custom-modal-container')) { 5341 e.stopImmediatePropagation(); 5342 e.preventDefault(); 5343 setTimeout(function() { 5344 closeCustomModal(modalId); 5345 }, 0); 5346 return; 5347 } 5348 5349 // For any other click inside modal, just block it from reaching Bootstrap 5350 e.stopImmediatePropagation(); 5351 } 5352 }; 5353 5354 // Attach to document in capture phase to intercept before Bootstrap modal handlers 5355 document.addEventListener('click', blockBootstrapHandler, true); 5356 document.addEventListener('mousedown', blockBootstrapHandler, true); 5357 document.addEventListener('mouseup', blockBootstrapHandler, true); 5358 5359 window.closeCustomModal = function(id) { 5360 $('#' + id).fadeOut(200, function() { 5361 $(this).remove(); 5362 // Clean up event listeners 5363 document.removeEventListener('click', blockBootstrapHandler, true); 5364 document.removeEventListener('mousedown', blockBootstrapHandler, true); 5365 document.removeEventListener('mouseup', blockBootstrapHandler, true); 5366 if(callback && typeof callback === 'function') { 5367 callback(); 5368 } 5369 }); 5370 }; 5371 5372 var handleEsc = function(e) { 5373 if (e.keyCode === 27) { 5374 closeCustomModal(modalId); 5375 document.removeEventListener('keyup', handleEsc); 5376 } 5377 }; 5378 document.addEventListener('keyup', handleEsc); 5379} 5380 5381// Helper function to show confirmation modals dynamically 5382// options = { cancelBtnColor: '#color', confirmBtnColor: '#color', cancelBtnClass: 'class', confirmBtnClass: 'class' } 5383function showModalConfirm(icon, heading, message, confirmText, cancelText, onConfirm, onCancel, options) { 5384 var modalId = 'customModal' + Date.now(); 5385 var modalZIndex = window.customModalZIndex++; 5386 var iconMap = { 5387 'gift': 'fa-solid fa-gift', 5388 'info': 'fa-solid fa-info', 5389 'warning': 'fa-solid fa-triangle-exclamation', 5390 'question': 'fa-solid fa-question', 5391 'success': 'fa-solid fa-check', 5392 'error': 'fa-solid fa-x', 5393 'message': 'fa-solid fa-message', 5394 'suspicious': 'fa-solid fa-shield-halved', 5395 'cart': 'fa-solid fa-cart-shopping' 5396 }; 5397 5398 // Handle optional icon (allow icon to be omitted) 5399 var hasIcon = icon !== '' && icon !== null && typeof icon !== 'undefined'; 5400 var iconKey = hasIcon ? (iconMap[icon] ? icon : 'info') : ''; 5401 var iconClass = hasIcon ? iconMap[iconKey] : ''; 5402 var iconHtml = hasIcon 5403 ? '<div class="custom-modal-icon icon-' + iconKey + '"><i class="' + iconClass + '"></i></div>' 5404 : ''; 5405 5406 // Default options 5407 options = options || {}; 5408 var cancelBtnColor = options.cancelBtnColor || '#6c757d'; 5409 var confirmBtnColor = options.confirmBtnColor || '#007bff'; 5410 var cancelBtnClass = options.cancelBtnClass || 'custom-modal-btn-secondary'; 5411 var confirmBtnClass = options.confirmBtnClass || 'custom-modal-btn-primary'; 5412 5413 var modalHtml = '<div id="' + modalId + '" class="custom-modal-overlay class-modals" style="display:none; z-index:' + modalZIndex + ';">' + 5414 '<div class="custom-modal-container">' + 5415 '<div class="custom-modal-content">' + 5416 iconHtml + 5417 '<div class="custom-modal-heading">' + heading + '</div>' + 5418 '<div class="custom-modal-message">' + message + '</div>' + 5419 '<div class="custom-modal-buttons">' + 5420 '<button class="custom-modal-btn ' + cancelBtnClass + '" style="background-color: ' + cancelBtnColor + ';">' + cancelText + '</button>' + 5421 '<button class="custom-modal-btn ' + confirmBtnClass + '" style="background-color: ' + confirmBtnColor + ';">' + confirmText + '</button>' + 5422 '</div>' + 5423 '</div>' + 5424 '</div>' + 5425 '</div>'; 5426 5427 $('body').append(modalHtml); 5428 $('#' + modalId).fadeIn(200); 5429 5430 var overlayElement = document.getElementById(modalId); 5431 5432 // CRITICAL: Block events from reaching Bootstrap by intercepting at document level 5433 // BUT allow button clicks to execute their handlers first 5434 var blockBootstrapHandler = function(e) { 5435 // Check if event originated from our custom modal 5436 var modalElement = e.target.closest('#' + modalId); 5437 if (modalElement) { 5438 // If clicking on confirm button, execute action immediately in capture phase 5439 if (e.target.closest('.custom-modal-btn-primary')) { 5440 e.stopImmediatePropagation(); 5441 e.preventDefault(); 5442 // Close immediately 5443 setTimeout(function() { 5444 handleCustomModalConfirm(modalId); 5445 }, 0); 5446 return; 5447 } 5448 5449 // If clicking on cancel button, execute action immediately in capture phase 5450 if (e.target.closest('.custom-modal-btn-secondary')) { 5451 e.stopImmediatePropagation(); 5452 e.preventDefault(); 5453 // Close immediately 5454 setTimeout(function() { 5455 handleCustomModalCancel(modalId); 5456 }, 0); 5457 return; 5458 } 5459 5460 // If clicking on overlay/container (not content), close modal 5461 if (e.target.classList.contains('custom-modal-overlay') || 5462 e.target.classList.contains('custom-modal-container')) { 5463 e.stopImmediatePropagation(); 5464 e.preventDefault(); 5465 setTimeout(function() { 5466 handleCustomModalCancel(modalId); 5467 }, 0); 5468 return; 5469 } 5470 5471 // For any other click inside modal, just block it from reaching Bootstrap 5472 e.stopImmediatePropagation(); 5473 } 5474 }; 5475 5476 // Attach to document in capture phase to intercept before Bootstrap modal handlers 5477 document.addEventListener('click', blockBootstrapHandler, true); 5478 document.addEventListener('mousedown', blockBootstrapHandler, true); 5479 document.addEventListener('mouseup', blockBootstrapHandler, true); 5480 5481 window.handleCustomModalConfirm = function(id) { 5482 $('#' + id).fadeOut(200, function() { 5483 $(this).remove(); 5484 // Clean up event listeners 5485 document.removeEventListener('click', blockBootstrapHandler, true); 5486 document.removeEventListener('mousedown', blockBootstrapHandler, true); 5487 document.removeEventListener('mouseup', blockBootstrapHandler, true); 5488 if(onConfirm && typeof onConfirm === 'function') { 5489 onConfirm(); 5490 } 5491 }); 5492 }; 5493 5494 window.handleCustomModalCancel = function(id) { 5495 $('#' + id).fadeOut(200, function() { 5496 $(this).remove(); 5497 // Clean up event listeners 5498 document.removeEventListener('click', blockBootstrapHandler, true); 5499 document.removeEventListener('mousedown', blockBootstrapHandler, true); 5500 document.removeEventListener('mouseup', blockBootstrapHandler, true); 5501 if(onCancel && typeof onCancel === 'function') { 5502 onCancel(); 5503 } 5504 }); 5505 }; 5506 5507 var handleEsc = function(e) { 5508 if (e.keyCode === 27) { 5509 handleCustomModalCancel(modalId); 5510 document.removeEventListener('keyup', handleEsc); 5511 } 5512 }; 5513 document.addEventListener('keyup', handleEsc); 5514} 5515</script>
5515
5515<script> 5516 var last_io_selected = new Array(); 5517 $(document).ready(function() { 5518 var load_once; 5519 5520 if (typeof code_happened === 'undefined') { 5521 window.code_happened = true; 5522 load_once = true; 5523 }else{ 5524 load_once = false; 5525 } 5526 5527 //WEB-589 Allow upto 99 items in 1 selection 5528 var qty_selections = ''; 5529 for(var i = 1; i <= 99; i++) 5530 { 5531 qty_selections += '<option>'+i+'</option>'; 5532 } 5533 $("#item-buttons .qty-select.qty").html(qty_selections); 5534 5535 var current_width = $(window).width(); 5536 var current_height = $(window).height(); 5537 5538 if(current_width < 481){ 5539 var current_height1 = current_height - 215; 5540 $("#menu-items .modal-popup .modal-body").css('max-height', current_height1 +'px'); 5541 $("#menu-items .modal-popup .modal-body").css('min-height', current_height1 +'px'); 5542 } 5543 5544 if(current_width < 321){ 5545 var current_height2 = current_height - 225; 5546 $("#menu-items .modal-popup .modal-body").css('max-height', current_height2 +'px'); 5547 $("#menu-items .modal-popup .modal-body").css('min-height', current_height2 +'px'); 5548 } 5549 5550 if(load_once){ 5551 $(".qty-btn-popup-minus").live("click", function(){ 5552 var parent_div = $(this).closest('li').attr('id'); 5553 parent_div = (typeof parent_div !== "undefined" && parent_div !== false) ? "#"+parent_div+" " : ""; 5554 var PLU = $(this).attr('ref'); 5555 var group_id=$(this).attr('ref-group-id'); 5556 var counter = $(parent_div+'#qty-'+group_id).text(); 5557 counter = (isNaN(counter)) ? 1 : counter; 5558 counter--; 5559 if (counter <= 0){ 5560 counter = 1; 5561 } 5562 5563 if (group_id <= 0){ 5564 $(parent_div+'#qty-'+PLU).text(counter); 5565 }else{ 5566 $(parent_div+'#qty-'+group_id).text(counter); 5567 } 5568 }); 5569 5570 $(".qty-btn-popup-plus").live("click", function(){ 5571 var parent_div = $(this).closest('li').attr('id'); 5572 parent_div = (typeof parent_div !== "undefined" && parent_div !== false) ? "#"+parent_div+" " : ""; 5573 var PLU = $(this).attr('ref'); 5574 var group_id=$(this).attr('ref-group-id'); 5575 var counter = $(parent_div+'#qty-'+group_id).text(); 5576 counter = (isNaN(counter)) ? 1 : counter; 5577 counter++; 5578 if (counter >= 99){ 5579 counter = 99; 5580 } 5581 if (group_id <= 0){ 5582 $(parent_div+'#qty-'+PLU).text(counter); 5583 }else{ 5584 $(parent_div+'#qty-'+group_id).text(counter); 5585 } 5586 }); 5587 } 5588 5589 var option_id; 5590 5591 function priceBaseOnOrderType(parent_div) { 5592 order_type = $("#order-type-bt .active").val(); 5593 5594 // if order_type is empty or undefined 5595 // order_type is undefined when store is offline 5596 if(order_type == null || order_type == 'undefined') 5597 order_type = $("#current_order_type_holder").val(); 5598 5599 $("#"+ parent_div +" .extra-toppings-checkbox").each(function() { 5600 var price = $(this).attr('value'); 5601 var plu = $(this).attr('plu'); 5602 5603 if(price == 0){ 5604 price = order_type == 'pickup' ? $(this).data('sell-shop') : (order_type == 'delivery' ? $(this).data('sell-delivery') : $(this).data('sell-table'));
5605 5606 $(this).attr('value', price); 5607 $("#"+ parent_div +" #condiment-price-"+plu).html(price); 5608 } 5609 5610 if(price == null || price == 'undefined' || !price){ 5611 price = 0; 5612 $("#"+ parent_div +" #condiment-price-"+plu).html(price); 5613 } 5614 }); 5615 5616 return false; 5617 } 5618 5619 function get_condiments(plu, parent_div, currentToppings, extraToppings, defaultToppings){ 5620 $("#"+parent_div+" .popup-condiments").show(); 5621 $("#"+parent_div+" .popup-toppings").css("opacity", "0.3"); 5622 $("#"+parent_div+" .lds-ring").show(); 5623 $("#"+parent_div+" .modal-footer .footer_overlay").show(); 5624 5625 $.ajax({ 5626 type: "POST", 5627 url: "core/ajax/get_popup_toppings.php", 5628 data: {"cid": "1288", "plu": plu, "currenttoppings": currentToppings, "extratoppings": extraToppings, "defaulttoppings": defaultToppings}, 5629 success: function(data) { 5630 if(data){ 5631 $(".popup-toppings").html(''); 5632 $("#"+parent_div+" .lds-ring").hide(); 5633 $("#"+parent_div+" .popup-toppings").html(data); 5634 5635 //WEB-395 UPSELL 5636 var upsell_id = parent_div.substring(parent_div.lastIndexOf("_")+1); 5637 var upsell_container = $("#menu-"+upsell_id+"-upsell-items"); 5638 if(upsell_container.length > 0) 5639 { 5640 $("#"+parent_div+" .popup-toppings").append(upsell_container.html()); 5641 5642 $("#"+parent_div+" .upsell-item-chkbox").die("change").live("change", function(){ 5643 var popup_total = parseFloat($("#"+parent_div+" .popup-item-price").text().substring(1)); 5644 var upsell_item_price = parseFloat($(this).data("price")); 5645 5646 if($(this).is(":checked")) 5647 { 5648 popup_total += upsell_item_price; 5649 } 5650 else 5651 { 5652 popup_total -= upsell_item_price; 5653 } 5654 5655 $("#"+parent_div+" .popup-item-price").text("$"+formatNumber(popup_total)); 5656 }); 5657 } 5658 5659 $("#"+parent_div+" .popup-toppings").css("opacity", "1"); 5660 } 5661 }, 5662 complete: function(data) { 5663 priceBaseOnOrderType(parent_div); 5664 $("#"+parent_div+" .modal-footer .footer_overlay").hide(); 5665 5666 // Reset Styles for WEB-573 Line separation on the item modal 5667 $('#'+ parent_div + ' .item-option-radio-menu').css("border-bottom", "none"); 5668 $('#'+ parent_div + ' .popup-current-toppings').css("border-top", "none"); 5669 $('#'+ parent_div + ' #extra-toppings').css("border-top", "none"); 5670 5671 var line_chk_01 = $('#'+ parent_div +' .menu-item-option-popup').children().length > 0; 5672 var line_chk_02 = $('#'+ parent_div +' .item-option-radio-menu').children().length > 0; 5673 var line_chk_03 = $('#'+ parent_div + ' .popup-current-toppings').children().length > 0;
5674 var line_chk_04 = $('#'+ parent_div + ' #extra-toppings').children().length > 0; 5675 5676 if(line_chk_01 == true && $('#'+ parent_div + ' .item-option-radio-menu').length > 0) 5677 { 5678 $('#'+ parent_div + ' .item-option-radio-menu')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 5679 } 5680 5681 if((line_chk_01 || line_chk_02) && $('#'+ parent_div + ' .popup-current-toppings').length > 0) 5682 { 5683 $('#'+ parent_div + ' .popup-current-toppings')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 5684 } 5685 5686 if((line_chk_01 || line_chk_02 || line_chk_03) && $('#'+ parent_div + ' #extra-toppings').length > 0) 5687 { 5688 $('#'+ parent_div + ' #extra-toppings')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 5689 } 5690 5691 if((line_chk_01 || line_chk_02 || line_chk_03 || line_chk_04) && $('#'+ parent_div + ' .upsell-header').length > 0) 5692 { 5693 $('#'+ parent_div + ' .upsell-header')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 5694 } 5695 } 5696 }); 5697 5698 } 5699 5700 function item_option_list(data, groupId, menuId, io, isMultiple, multipleItemGrpId, itemCtr){ 5701 var counter = 0, // for padding of the right and left side of the col-sm-6 5702 input_type = "radio", 5703 padding='', checked='', active='', 5704 item_option_html='', 5705 option_name = data[0].option_name, 5706 option_display_name = data[0].option_display_name, 5707 min_option = (data[0].min_permitted !== undefined) ? data[0].min_permitted : 0, 5708 max_option = (data[0].max_permitted !== undefined) ? data[0].max_permitted : 1; 5709 5710 if(!isMultiple){ 5711 item_option_html += '<p style="color:black; font-size:13.5px; width:100%">'+(option_display_name ? option_display_name : option_name)+'</p>'; 5712 } else{ 5713 var io_required=''; 5714 if(min_option <= 0){ 5715 io_required = "Choose up to "+max_option; 5716 } else if(min_option == max_option){ 5717 io_required = "Required"; 5718 io_required += (min_option > 1) ? " - Choose "+min_option : ""; 5719 } else{ 5720 io_required = "Required - Choose between "+min_option+" and "+max_option; 5721 } 5722 5723 item_option_html += '<div'+(itemCtr > 1 ? ' style="margin-top:15px;"' : '')+' class="multi-option-select">' 5724 +'<div class="multi-option-name item-option-group-name-'+multipleItemGrpId+'" style="position:relative; float:left; width:100%;">' 5725 +'<p style="color:black; font-size:15px; font-weight:600; padding-bottom:0;">'+(option_display_name ? option_display_name : option_name)+'</p>' 5726 +'<span style="font-size:15px; color:#a1a1a1;">'+io_required+'</span>' 5727 +'</div>'; 5728 } 5729 5730 $.each(data, function(key, value){ 5731 checked=''; 5732 active=''; 5733 counter++; 5734 5735 if(counter == 1){ 5736 padding = 'padding-right:15px; padding-left:0px;'; 5737 }else{ 5738 padding = 'padding-right:0px; padding-left:15px;'; 5739 counter = 0; 5740 } 5741 5742 if(!isMultiple){ 5743 if(value.default_item_option_id == value.id){ 5744 checked = 'checked'; 5745 active = 'https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/icon-check.png'; 5746 } 5747 5748 input_type = "radio"; 5749 } else{ 5750 input_type = "checkbox"; 5751 } 5752 5753 var price_txt = (value.item_price > 0) ? ' - $' + value.item_price : ''; 5754 5755 item_option_html += '<div class="input-group-radio item-option-input-group col-sm-6" style="'+padding+'">' 5756 +'<input type="'+input_type+'" style="display:none;" ref="'+value.id+'" name="item-option-radio-'+groupId+(isMultiple ? "-"+multipleItemGrpId : "")+'" class="item-option-radio-list" value="'+value.item_price+'" id="item-option-'+groupId+'-'+menuId+'-'+value.id+'"'+((!isMultiple && value.default_item_option_id != 0) ? " default-io='"+value.default_item_option_id+"'" : "")+(isMultiple ? " multiple-io='true' mio-id='"+multipleItemGrpId+"' min-io='"+value.min_permitted+"' max-io='"+value.max_permitted+"'" : "")+' '+checked+'>' 5757 +'<label for ="item-option-'+groupId+'-'+menuId+'-'+value.id+'" style="font-weight:normal
5757!important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between" class="input-group-label input-group-label-template2 input-group-label-default">'+value.item_name+price_txt+'<img src="'+active+'" class="check-img-popup" style="float:right; align-self:center"></label>' 5758 +'</div>'; 5759 }); 5760 5761 if(isMultiple){ 5762 item_option_html += '</div>'; 5763 } 5764 5765 $(item_option_html).appendTo(io); 5766 } 5767 5768 if(load_once){ 5769 $(".add-button-popup").live("click", function(){ 5770 var parent_div = $(this).closest('li').attr('id'); 5771 var parent_div_class = $(this).closest('li').attr('class'); 5772 var plu = $(this).attr('ref'); 5773 $("#"+ parent_div +" #toppings_left").hide(); 5774 $(".popup-orig-price").html('0'); 5775 $(".popup-item-price").html(''); 5776 5777 var t = 0; 5778 $("#"+ parent_div +" .input-group-label").each(function() { 5779 if($(this).hasClass('active')){ 5780 t = 1; 5781 } 5782 }); 5783 5784 if(t == 0){ 5785 $("#"+ parent_div +" .input-group-label").each(function() { 5786 $(this).addClass('active'); 5787 return false; 5788 }); 5789 } 5790 5791 if($("#"+ parent_div +" .item-option-radio-list[multiple-io]").length > 0){ 5792 $("#"+ parent_div +" .item-option-radio-list[multiple-io]").each(function(){ 5793 if($(this).siblings(".input-group-label").hasClass("active")){ 5794 $(this).siblings(".input-group-label").removeClass("active"); 5795 } 5796 }); 5797 } 5798 5799 5800 var popup_price = parseFloat($("#"+ parent_div +" .active #popup-price").html().replace('$', '')); 5801 var hide_toppings = $("#"+ parent_div +" .active").attr('hide_toppings'); 5802 var active_plu = $("#"+ parent_div +" .active").parent().find('.radio-button-popup').attr('plu'); 5803 5804 $("#"+ parent_div + " .modal-footer .qty").html('1'); 5805 $("#"+ parent_div + " .popup-item-price").html('$'+formatNumber(popup_price)); 5806 5807 if(hide_toppings == 0){ 5808 get_condiments(active_plu, parent_div, "", "", ""); 5809 } 5810 5811 get_item_option(parent_div); 5812 }); 5813 } 5814 5815 $(".qty-btn-popup").live("click", function(){ 5816 var parent_div = $(this).closest('li').attr('id'); 5817 var popup_price = $("#"+ parent_div +" .active #popup-price").html(); 5818 5819 if(popup_price){ 5820 popup_price = parseFloat(popup_price.replace('$', '')); 5821 var popup_qty = $(this).parent().find('.qty').html(); 5822 var toppings_price = $("#"+ parent_div +" .popup-orig-price").html(); 5823 toppings_price = parseFloat(toppings_price.replace('$', '')); 5824 5825 var total_price = parseFloat(popup_price) * parseInt(popup_qty); 5826 var toppings_toppings_price = parseFloat(toppings_price) * parseInt(popup_qty); 5827 5828 var upsell_total = 0; 5829 $("#"+parent_div+" .upsell-item-chkbox:checked").each(function(){ 5830 var upsell_price = parseFloat($(this).data("price")); 5831 upsell_total += upsell_price; 5832 }); 5833 5834 total_price = total_price + toppings_toppings_price + upsell_total; 5835 5836 $(this).parent().parent().parent().find('.popup-item-price').html("$"+formatNumber(total_price)); 5837 get_item_option(parent_div); 5838 } 5839 }); 5840 5841 $(".item-option-radio-list").live("click", function(){ 5842 var parent_div = $(this).closest('li').attr('id'); 5843 var multiple_io = $(this).attr('multiple-io'); 5844 var mio_id = $(this).attr('mio-id'); 5845 5846 if(typeof multiple_io === "undefined" || multiple_io === false){ 5847 $('#'+ parent_div +' .item-option-radio-list').attr('checked', false); 5848 $(this).attr('checked', true); 5849 } else{
5850 var min_io = $(this).attr('min-io'); 5851 var max_io = $(this).attr('max-io'); 5852 5853 if($("#"+parent_div+" [name='"+$(this).attr('name')+"']:checked").length >= min_io){ 5854 $(this).parent().parent().css({"padding":"", "border":""}); 5855 } 5856 5857 if(max_io == 1 && $("#"+parent_div+" [name='"+$(this).attr('name')+"']:checked").length > 1){ 5858 $("#"+parent_div+" [name='"+$(this).attr('name')+"']").attr('checked', false); 5859 $(this).attr('checked', true); 5860 } else if($("#"+parent_div+" [name='"+$(this).attr('name')+"']:checked").length > max_io){ 5861 $("#"+last_io_selected[mio_id]).attr('checked', false); 5862 } 5863 last_io_selected[mio_id] = $(this).attr('id'); 5864 } 5865 5866 checked_io($(this), "template4"); 5867 get_item_option(parent_div); 5868 }); 5869 5870 5871 $(".menu-option-radio-list").live("click", function(){ // code for the new settings called customise_popup 5872 var group_id = $(this).attr('ref'); 5873 var menu_id = $(this).attr('menu-id'); 5874 var plu = $(this).attr('plu'); 5875 var old_plu = $(this).siblings('.input-group-label').hasClass('active') 5876 var hide_toppings = $(this).siblings('.input-group-label').attr('hide_toppings'); 5877 var parent_div = $(this).closest('li').attr('id'); 5878 var qty = $("#"+ parent_div + " .qty").html(); 5879 var io = $("#"+ parent_div + " .item-option-radio"); 5880 $("#"+ parent_div +" #toppings_left").hide(); 5881 5882 var default_toppings = $("#"+parent_div+" .current-toppings-checkbox").map(function(){ 5883 return $(this).attr("plu"); 5884 }).get(); 5885 5886 var current_toppings = $("#"+parent_div+" .current-toppings-checkbox:checked").map(function(){ 5887 return $(this).attr("plu"); 5888 }).get(); 5889 5890 var extra_toppings = $("#"+parent_div+" .extra-toppings-checkbox:checked").map(function(){ 5891 return $(this).attr("plu"); 5892 }).get(); 5893 5894 if(old_plu == false){ 5895 if(plu){ 5896 if(hide_toppings == 0){ 5897 get_condiments(plu, parent_div, current_toppings, extra_toppings, default_toppings); 5898 }else{ 5899 $("#"+ parent_div + " .popup-condiments").hide(); 5900 $("#"+ parent_div + " .popup-toppings").empty(); 5901 } 5902 } 5903 5904 $(".popup-item-price").html(''); 5905 $("#"+ parent_div + " .popup-orig-price").html('0'); 5906 5907 var popup_price = $(this).siblings('.input-group-label').children('#popup-price').html(); 5908 popup_price = parseFloat(popup_price.replace('$', '')); 5909 5910 var upsell_total = 0; 5911 $("#"+parent_div+" .upsell-item-chkbox:checked").each(function(){ 5912 var upsell_price = parseFloat($(this).data("price")); 5913 upsell_total += upsell_price; 5914 }); 5915 5916 var total_price = (parseFloat(popup_price) * parseInt(qty)) + upsell_total; 5917 5918 $("#"+ parent_div + " .popup-item-price").html('$'+formatNumber(total_price)); 5919 } 5920 5921 // for the icon checked besides the label of radio button 5922 $(this).parent().parent().find('.check-img-popup').attr('src',""); 5923 $(this).parent().parent().find('.input-group-label').removeClass('active'); 5924 $(this).siblings('.input-group-label').children('.check-img-popup').attr("src","https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/icon-check.png"); 5925 $(this).siblings('.input-group-label').addClass('active'); 5926 5927 //fix for safari img shown as broken image 5928 $(this).parent().parent().find('.check-img-popup').css('visibility',"hidden"); 5929 $(this).siblings('.input-group-label').children('.check-img-popup').css('visibility',"visible"); 5930 5931 $("#"+parent_div+' input[name="menu-item-option-radio-'+group_id+'"]').attr('checked', false); 5932 $(this).attr('checked', true); 5933 $("#" + group_id).attr('ref', $(this).val()); 5934 5935 if(old_plu == false){ 5936 $('#'+ parent_div + '.item-option-radio-menu').hide(); 5937 $("#"+parent_div+" .radio-button-popup").attr('disabled','disabled'); // to prevent multiple item option when radio button is spammed 5938 if (io) { 5939 io.empty(); 5940 $.ajax({
5941 url: 'core/ajax/item_options.php', 5942 type: "POST", 5943 data: { 5944 "plu": plu 5945 }, 5946 dataType: 'json', 5947 success: function (data) { 5948 // For item-options that was hidden because of no item option on default size 5949 // We need to show it else hide if no data was returned 5950 if(Object.keys(data).length >= 1 && data){ 5951 $('#'+ parent_div + ' .item-option-radio-menu').show(); 5952 $(io).fadeIn(0); 5953 5954 if(data.hasOwnProperty('multiple_io')){ 5955 delete data['multiple_io']; 5956 5957 var io_ctr = 1; 5958 $.each(data, function(key, value){ 5959 item_option_list(value, group_id, menu_id, io, true, key.trim(), io_ctr); 5960 io_ctr++; 5961 }); 5962 } else{ 5963 item_option_list(data, group_id, menu_id, io, false, "", 0); 5964 } 5965 }else{ 5966 $('#'+ parent_div + ' .item-option-radio-menu').hide(); 5967 } 5968 5969 if (!$("#"+parent_div+" input[name=item-option-radio-"+group_id+"]:checked").val()) { // if no item option is checked, we make the first item the default 5970 //fix for safari img shown as broken image 5971 $("#"+parent_div+" input:radio[name=item-option-radio-"+group_id+"]:not(:disabled):first").attr('checked', true); 5972 $("#"+parent_div+" input:radio[name=item-option-radio-"+group_id+"]:not(:disabled):first").siblings(".input-group-label").children('.check-img-popup').attr("src","https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/icon-check.png").css('visibility',"visible"); 5973 $("#add-popup-"+group_id+"-"+menu_id).find("input:not(:checked)").siblings(".input-group-label").find(".check-img-popup").css('visibility',"hidden"); 5974 } 5975 5976 $("#"+parent_div+" .radio-button-popup").attr('disabled', false); 5977 }, 5978 complete: function (data) { 5979 get_item_option(parent_div); 5980 5981 // Reset Styles for WEB-573 Line separation on the item modal 5982 $('#'+ parent_div + ' .item-option-radio-menu').css("border-bottom", "none"); 5983 $('#'+ parent_div + ' .popup-current-toppings').css("border-top", "none"); 5984 $('#'+ parent_div + ' #extra-toppings').css("border-top", "none"); 5985 5986 var line_chk_01 = $('#'+ parent_div +' .menu-item-option-popup').children().length > 0; 5987 var line_chk_02 = $('#'+ parent_div +' .item-option-radio-menu').children().length > 0; 5988 var line_chk_03 = $('#'+ parent_div + ' .popup-current-toppings').children().length > 0; 5989 var line_chk_04 = $('#'+ parent_div + ' #extra-toppings').children().length > 0; 5990 5991 if(line_chk_01 == true && $('#'+ parent_div + ' .item-option-radio-menu').length > 0) 5992 { 5993 $('#'+ parent_div + ' .item-option-radio-menu')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 5994 } 5995 5996 if((line_chk_01 || line_chk_02) && $('#'+ parent_div + ' .popup-current-toppings').length > 0) 5997 { 5998 $('#'+ parent_div + ' .popup-current-toppings')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 5999 } 6000 6001 if((line_chk_01 || line_chk_02 || line_chk_03) && $('#'+ parent_div + ' #extra-toppings').length > 0) 6002 { 6003 $('#'+ parent_div + ' #extra-toppings')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 6004 } 6005 6006 if((line_chk_01 || line_chk_02 || line_chk_03 || line_chk_04) && $('#'+ parent_div + ' .upsell-header').length > 0) 6007 { 6008 $('#'+ parent_div + ' .upsell-header')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 6009 } 6010 } 6011 }); 6012 } 6013 } 6014 }); 6015 6016 function isNumeric(n) { 6017 return !isNaN(parseFloat(n)) && isFinite(n); 6018 } 6019 6020 var items = {}; 6021 var free_toppings_list = []; 6022 6023 function calculateItems() { 6024 var total = 0; 6025 for (var plu in items) { 6026 total += items[plu]; 6027 } 6028 6029 return total; 6030 } 6031 6032 if(load_once){ 6033 $(".extra-toppings-checkbox").live('change', function () { 6034 var parent_div = $(this).closest('.modal-popup').closest('li').attr('id'); 6035 var popup_price = $("#"+ parent_div +" .popup-item-price").html(); 6036 var toppings_price = $("#"+ parent_div +" .popup-orig-price").html(); 6037 var qty = $("#"+ parent_div + " .qty").html(); 6038 var counter_free_extras = 0; 6039 var max_toppings;
6040 var num_free_extra = 0; 6041 var price = 0; 6042 6043 if($("#"+ parent_div +" #max_toppings").length){ 6044 max_toppings = $("#"+ parent_div +" #max_toppings p").html(); 6045 }else{ 6046 max_toppings = 12; 6047 } 6048 6049 if($("#"+ parent_div +" #num-free-toppings").length){ 6050 num_free_extra = $("#"+ parent_div +" #num-free-toppings").html(); 6051 num_free_orig = $("#"+ parent_div +" #num-free-orig").html(); 6052 } 6053 6054 var plu = $(this).attr('plu'); 6055 6056 var cur_toppings = $("#"+parent_div+" .extra-toppings-checkbox::checked").length; 6057 6058 //will happen if there is no set limit 6059 var remaining_ = max_toppings - cur_toppings; 6060 6061 // the text is valid since it always being updated by priceBase function 6062 // PREVENT ADDING MORE ITEMS 6063 if (remaining_ < 0) { 6064 $("#"+ parent_div +" #toppings_left").show().delay(1000).fadeOut(); 6065 $("#"+ parent_div +" #toppings_left").html("You have reached the extras limit of "+max_toppings); 6066 $(this).prop('checked', false); 6067 return false; 6068 }else{ 6069 $("#"+ parent_div +" #toppings_left").hide(); 6070 $("#"+ parent_div +" #toppings_left").html(''); 6071 } 6072 6073 // Update the price fetching, now respects the order type 6074 // Please NOTE that overridden condiment prices will reflect on both pickup/delivery 6075 var order_type = 'pickup'; 6076 6077 price = $(this).attr('value'); 6078 if(!price || price <= 0){ 6079 price = order_type == 'pickup' ? $(this).data('sell-shop') : (order_type == 'delivery' ? $(this).data('sell-delivery') : $(this).data('sell-table')); 6080 } 6081 6082 if($("#"+ parent_div +" #num-free-toppings").length){ 6083 if (num_free_extra > 0 && this.checked) { 6084 price = 0; 6085 $("#"+parent_div+" #num-free-toppings").html(parseFloat(num_free_extra) - 1); 6086 $(this).addClass('free_item'); 6087 }else if(num_free_extra == 0 && this.checked){ 6088 $("#"+parent_div+" #num-free-toppings").html('0'); 6089 $(this).removeClass('free_item'); 6090 }else if(cur_toppings < num_free_orig){ 6091 price = 0; 6092 $("#"+parent_div+" #num-free-toppings").html(parseFloat(num_free_extra) + 1); 6093 $(this).removeClass('free_item'); 6094 } else if(!this.checked) { 6095 //Check if the checkbox is uncheck 6096 counter_free_extras += 1; 6097 $(this).removeClass('free_item'); 6098 } 6099 } 6100 6101 if(price == null || price == 'undefined' || !price){ 6102 price = 0; 6103 } 6104 6105 var popup_orig = parseFloat($("#"+ parent_div +" .active #popup-price").html().replace('$', '')); 6106 6107 if(this.checked){ 6108 price = price; 6109 }else{ 6110 if(counter_free_extras > 0){ 6111 price = (price > 0) ? '-'+price : Math.abs(price); 6112 let free_topping_checked = $("#"+parent_div+" .extra-toppings-checkbox.free_item::checked").length; 6113 if(free_topping_checked < num_free_orig){ 6114 $("#"+parent_div+" .extra-toppings-checkbox::checked").not(".free_item").each(function(){ 6115 $(this).addClass("free_item"); 6116 6117 var free_item_price = $(this).attr('value'); 6118 6119 if(!free_item_price || free_item_price <= 0){ 6120 free_item_price = order_type == 'pickup' ? $(this).data('sell-shop') : (order_type == 'delivery' ? $(this).data('sell-delivery') : $(this).data('sell-table'));
6121 } 6122 6123 if(!free_item_price || free_item_price === 'undefined'){ 6124 free_item_price = 0; 6125 } 6126 6127 toppings_price -= free_item_price; 6128 popup_price = parseFloat(popup_price.replace('$', '')) - free_item_price; 6129 price = 0; 6130 free_topping_checked++; 6131 6132 if(free_topping_checked >= num_free_orig){ 6133 return false; 6134 } 6135 }); 6136 } 6137 } else{ 6138 price = (price > 0) ? '-'+price : Math.abs(price); 6139 } 6140 } 6141 6142 popup_price = (typeof popup_price == "number") ? popup_price : parseFloat(popup_price.replace('$', '')); 6143 6144 var item_total = 0; 6145 var toppings_total = 0; 6146 6147 toppings_total = parseFloat(price) + parseFloat(toppings_price); 6148 items[plu] = parseFloat(price); 6149 $("#"+ parent_div + " .popup-orig-price").html(formatNumber(toppings_total)); 6150 6151 price = (qty) ? (price * qty) : price; 6152 item_total = parseFloat(price) + popup_price; 6153 //Check if the free extras exceed and it will start add the price of toppings 6154 6155 var upsell_total = 0; 6156 $("#"+parent_div+" .upsell-item-chkbox:checked").each(function(){ 6157 var upsell_price = parseFloat($(this).data("price")); 6158 upsell_total += upsell_price; 6159 }); 6160 6161 $("#"+ parent_div + " .popup-item-price").html('$'+formatNumber((item_total+upsell_total))); 6162 6163 if($("#"+ parent_div +" #max_toppings").length){ 6164 var counter; 6165 6166 if(this.checked){ 6167 counter = 1; 6168 }else{ 6169 counter = '-'+1; 6170 } 6171 6172 max_toppings = $("#"+ parent_div +" #max_toppings span").html(); 6173 6174 var toppings_left = max_toppings - counter; 6175 $("#"+parent_div+" #max_toppings span").html(toppings_left); 6176 } 6177 }); 6178 } 6179 6180 $(".customise-add-button").click(function () { 6181 if($("input[name='storestatus']").val()=='offline'){ 6182 showModalAlert("error", "Store Offline", $('#offline-alert-txt').html(), "OK"); 6183 return; 6184 } 6185 6186 var menu_id = $(this).closest('#menu_items').attr('data-menuid'); 6187 var parent_div = $(this).closest('.modal-popup').closest('li').attr('id'); 6188 var modal_div = $(this).closest('.modal-popup').attr('id'); 6189 var price = $("#"+ parent_div +" .popup-item-price").html(); 6190 price = parseFloat(price.replace('$', '')); 6191 6192 var PLU = $(this).attr('ref'); 6193 var qty = $("#"+ parent_div +" .qty").text(); 6194 qty = (isNaN(qty)) ? 1 : qty; 6195 6196 option_id=''; 6197 var mio_ids = [], 6198 mio_msg = [], 6199 mio_req = 0; 6200 if($("#"+ parent_div +" .item-option-radio-list").length > 0){ 6201 $("#"+ parent_div +" .item-option-radio-list").each(function(){ 6202 if($(this).is(':checked')){ 6203 option_id += (option_id.trim()!="") ? "," : ""; 6204 option_id += $(this).attr('ref'); 6205 } 6206 6207 if(typeof $(this).attr('mio-id') !== "undefined" && $(this).attr('mio_id') !== false){ 6208 mio_ids.push($(this).attr('mio-id')); 6209 } 6210 mio_ids = [... new Set(mio_ids)]; 6211 }); 6212 6213 if(typeof $("#"+ parent_div +" .item-option-radio-list:first").attr('multiple-io') !== "undefined" && $("#"+ parent_div +" .item-option-radio-list:first").attr('multiple-io') !== false){ 6214 var io_div; 6215 $.each(mio_ids, function(key, val){ 6216 var io_selected = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:checked").length, 6217 io_min = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").attr('min-io'), 6218 io_max = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").attr('max-io'), 6219 io_name = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").parent().siblings("div.item-option-group-name-"+val).find("p").text(), 6220 io_container = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").parent().parent(); 6221 6222 io_container.css({"padding":"", "border":""}); 6223 6224 if(io_selected < io_min){ 6225 io_container.css({"padding":"5px", "border":"1px solid red"}); 6226 mio_req++; 6227 6228 if(!io_div){ 6229 io_div = io_container; 6230 } 6231 } else if(io_selected > io_max){ 6232 mio_msg.push("'"+io_name+"' can't have more than "+io_max); 6233 } 6234 }); 6235 6236 if(mio_req > 0){ 6237 showModalAlert("warning", "Incomplete Order", "Please complete all sections to finish your order", "OK");
6238 $("#"+modal_div+" .modal-body").scrollTop(0).scrollTop(io_div.position().top - 25); 6239 return false; 6240 } 6241 6242 if(mio_msg.length > 0){ 6243 showModalAlert("warning", "Invalid Selection", mio_msg.join("<br/>"), "OK"); 6244 return false; 6245 } 6246 6247 $("#"+parent_div+" .item-option-radio-list").attr('checked', false); 6248 checked_io($("#"+parent_div+" .item-option-radio-list"), "template4"); 6249 } else{ 6250 var default_io; 6251 default_io = $("#"+ parent_div +" .item-option-radio-list:checked").attr('default-io'); 6252 if(typeof default_io !== "undefined" && default_io !== false){ 6253 $("#"+parent_div+" .item-option-radio-list[ref='"+default_io+"']").attr('checked', true); 6254 } else{ 6255 $("#"+parent_div+" .item-option-radio-list:not(:disabled):first").attr('checked', true); 6256 } 6257 checked_io($("#"+parent_div+" .item-option-radio-list:checked"), "template4"); 6258 } 6259 } 6260 6261 var topping_array = new Array(3); 6262 var i = 0; 6263 var f = free_toppings_list.slice(); // to prevent mutation of the original list 6264 f.sort(); 6265 $("#"+ parent_div + " .toppings-checkbox").each(function () { 6266 if ($(this).hasClass('current_item') || ($(this).hasClass('extra-toppings-checkbox') && this.checked)){ 6267 var extra_plu = $(this).attr('plu'); 6268 var extra_price = parseFloat(this.value); 6269 var unit_price = parseFloat(this.value); 6270 var extra_qty = (this.checked == true ? 1 : -1); 6271 var is_current = $(this).hasClass('current_item'); 6272 var has_chargeable = false; 6273 if (!extra_price) { 6274 extra_price = 0; 6275 } 6276 if (!is_current || extra_qty < 0 || extra_qty > 1) { 6277 6278 if (is_current && extra_qty > 1) { 6279 extra_qty--; 6280 } 6281 6282 if (is_current && extra_qty < 0) { 6283 extra_price = 0; 6284 }else if($(this).hasClass('free_item') || is_current){ 6285 extra_price = 0; 6286 }else{ 6287 extra_price = unit_price; 6288 } 6289 6290 topping_array[i] = new Array(3); 6291 topping_array[i][0] = extra_plu; 6292 topping_array[i][1] = (extra_qty * qty); 6293 topping_array[i][2] = extra_price; 6294 6295 i++; 6296 6297 // we add it after 6298 if (has_chargeable == true) { 6299 //increase the counter to prevent overwriting this index 6300 topping_array[i] = new Array(3); 6301 topping_array[i][0] = extra_plu; 6302 topping_array[i][1] = 1; 6303 topping_array[i][2] = 0; 6304 6305 i++; 6306 } 6307 } 6308 } 6309 }); 6310 6311 var payload = {"PLU": PLU, "qty": qty, "price": price, "option_id": option_id, "topping_array[]": topping_array, "menu_id" : menu_id}; 6312 6313 if($("#"+parent_div+" .upsell-item-chkbox:checked").length >= 5){ 6314 $("#loading_bar").addClass("loading_bar").css("z-index", "911").html('<div style="width:fit-content; background-color:#ffffff; padding:10px 15px; margin:0 15px; border-radius:5px;">'+ 6315 '<i class="fa-solid fa-circle-notch fa-spin" style="font-size:40px; margin-top:10px; margin-bottom:20px;"></i>'+ 6316 '<br><span style="font-size: 15px; font-weight: 600;">
6316Adding to your cart. Almost done...</span>'+ 6317 '</div>'); 6318 } 6319 6320 $.ajax({ 6321 url: 'core/mybasket.php', 6322 type: "POST", 6323 data: payload, 6324 success: function (data) { 6325 $('#view-basket').html(data); 6326 get_cart_total(); 6327 if (!$('#free_item_plu').length) { 6328 new PNotify({ 6329 text: 'Item added to order.', 6330 width: "220px", 6331 delay: 3000, 6332 type: 'success' 6333 }); 6334 } 6335 $("#"+ parent_div + " .popup-orig-price").html('0'); 6336 option_id = ''; 6337 last_io_selected = []; 6338 } 6339 }).done(function(){ 6340 var upsell_item = {}; 6341 var c = 0; 6342 $("#"+parent_div+" .upsell-item-chkbox:checked").each(function(i){ 6343 var upsell_plu = $(this).attr("data-plu"); 6344 var upsell_price = $(this).data("price"); 6345 6346 upsell_item[c.toString()] = { 6347 "PLU": upsell_plu, 6348 "price": upsell_price, 6349 "qty": 1, 6350 "menu_id": menu_id, 6351 "is_upsell": true}; 6352 c++; 6353 }); 6354 6355 if(Object.keys(upsell_item).length > 0) 6356 { 6357 $.ajax({
6358 url: 'core/mybasket.php', 6359 type: "POST", 6360 data: $.param(upsell_item), 6361 success: function (data) { 6362 $("#loading_bar").removeClass("loading_bar").css("z-index", "").html(""); 6363 $('#view-basket').html(data); 6364 get_cart_total(); 6365 if (!$('#free_item_plu').length) { 6366 new PNotify({ 6367 text: 'Item added to order.', 6368 width: "220px", 6369 delay: 3000, 6370 type: 'success' 6371 }); 6372 } 6373 } 6374 }); 6375 } 6376 }); 6377 }); 6378 6379 function get_cart_total(){ 6380 $('#cartTotal').load("core/ajax/get_cart_total.php?page="+PAGE_NAME, function(data){ 6381 $('#cartTotal, .cartTotal').html('$'+data); 6382 }); 6383 } 6384 6385 $("#promo_button").click(function(){ 6386 if($("input[name='storestatus']").val()=='offline'){ 6387 showModalAlert("error", "Store Offline", $('#offline-alert-txt').html(), "OK"); 6388 return; 6389 } 6390 6391 $('#loading_bar').html("<img src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/ajax-loader.gif'>"); 6392 $('#loading_bar').center(); 6393 6394 var PLU = $(this).find("#add-prompt").attr('ref'); 6395 var qty = $("#promo_button #"+PLU+"-qty").val(); 6396 var price = $("#promo_button #"+PLU+"-price").val(); 6397 6398 6399 // greater than 1 because do not include the 1st item, which is :: Please select :: 6400 if($("#promotional_content #"+PLU+"-item-option option").length > 1) 6401 { 6402 var option_id = $("#promotional_content #"+PLU+"-item-option").val(); 6403 } 6404 6405 var menu_id = $(this).parents("#menu_items").data('menuid'); 6406 $.ajax({
6407 url: 'core/mybasket.php', 6408 type: "POST", 6409 data: { 6410 "PLU":PLU, 6411 "qty":qty, 6412 "price":price, 6413 "option_id":option_id, 6414 "menu_id":menu_id 6415 }, 6416 success: function(data){ 6417 $('#loading_bar').html(''); 6418 get_cart_total(); 6419 $('#view-basket').html(data); 6420 last_io_selected = []; 6421 6422 if (!$('#free_item_plu').length) { 6423 new PNotify({ 6424 text: 'Item added to order.', 6425 width: "220px", 6426 delay: 3000, 6427 type: 'success' 6428 }); 6429 } 6430 6431 $("#promotional_container").removeClass('active'); 6432 } 6433 }); 6434 }); 6435 6436 $(".add-button").click(function(){ 6437 var parent_div = $(this).closest('li').attr('id'); 6438 var modal_div = $(this).closest('.modal-popup').attr('id'); 6439 6440 6441 if($("input[name='storestatus']").val()=='offline'){ 6442 showModalAlert("error", "Store Offline", $('#offline-alert-txt').html(), "OK"); 6443 return; 6444 } 6445 6446 $('#loading_bar').html("<img src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/ajax-loader.gif'>"); 6447 $('#loading_bar').center(); 6448 6449 var PLU = $(this).attr('ref'); 6450 if(!isNaN(PLU)){ 6451 var qty = $("#"+parent_div).find("#"+PLU+"-qty").val(); 6452 var price = $("#"+parent_div).find(+"#"+PLU+"-price").val(); 6453 }else{ 6454 var qty = $("#"+parent_div+" #"+PLU+"-qty").val(); 6455 var price = $("#"+parent_div+" #"+PLU+"-price").val(); 6456 } 6457 var group_id = $(this).attr('id'); 6458 6459 //check if item is from promotional prompt 6460 if(qty == null && price == null && $(this).attr('id')=="promo_button"){ 6461 var PLU = $(this).find("#add-prompt").attr('ref'); 6462 var qty = $("#promo_button #"+PLU+"-qty").val(); 6463 var price = $("#promo_button #"+PLU+"-price").val(); 6464 6465 6466 // greater than 1 because do not include the 1st item, which is :: Please select :: 6467 if($("#promotional_content #"+PLU+"-item-option option").length > 1) 6468 { 6469 var option_id = $("#promotional_content #"+PLU+"-item-option").val(); 6470 } 6471 } 6472 6473 if($("#"+parent_div+" #menu-"+group_id).length > 0){ 6474 price = $("#"+parent_div+" #menu-"+group_id+" option:selected").attr('ref'); 6475 qty = $("#"+parent_div+" #qty-"+group_id).val(); 6476 6477 if($("#"+parent_div+" .qty-label-popup").length > 0){ // if popup is enabled then we override the qty 6478 qty = $("#"+parent_div+" #qty-"+group_id).text(); 6479 var price = $("#"+parent_div+' input[name="menu-item-option-radio-'+group_id+'"]:checked').attr('price'); 6480 6481 if(qty <= 0){ // if item option only then we override the qty 6482 qty = $("#"+parent_div+" #qty-"+PLU).text(); 6483 } 6484 } 6485 } 6486 6487 var default_io, 6488 mio_ids = [], 6489 mio_msg = [], 6490 mio_req = 0; 6491 if($("#"+ parent_div +" .item-option-radio-list").length > 0){ 6492 option_id=""; 6493 $("#"+ parent_div +" .item-option-radio-list").each(function(){ 6494 if($(this).is(':checked')){ 6495 option_id += (option_id.trim()!="") ? "," : ""; 6496 option_id += $(this).attr('ref'); 6497 } 6498 6499 if(typeof $(this).attr('mio-id') !== "undefined" && $(this).attr('mio_id') !== false){ 6500 mio_ids.push($(this).attr('mio-id')); 6501 } 6502 mio_ids = [... new Set(mio_ids)]; 6503 }); 6504 6505 if(typeof $("#"+ parent_div +" .item-option-radio-list:first").attr('multiple-io') !== "undefined" && $("#"+ parent_div +" .item-option-radio-list:first").attr('multiple-io') !== false){ 6506 var io_div; 6507 $.each(mio_ids, function(key, val){ 6508 var io_selected = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:checked").length, 6509 io_min = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").attr('min-io'), 6510 io_max = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").attr('max-io'), 6511 io_name = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").parent().siblings("div.item-option-group-name-"+val).find("p").text(), 6512 io_container = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").parent().parent(); 6513 6514 io_container.css({"padding":"", "border":""}); 6515 6516 if(io_selected < io_min){ 6517 io_container.css({"padding":"5px", "border":"1px solid red"}); 6518 mio_req++; 6519 6520 if(!io_div){ 6521 io_div = io_container; 6522 } 6523 } else if(io_selected > io_max){ 6524 mio_msg.push("'"+io_name+"' can't have more than "+io_max); 6525 } 6526 }); 6527 6528 if(mio_req > 0){ 6529 showModalAlert("warning", "Incomplete Order", "Please complete all sections to finish your order", "OK");
6530 $("#"+modal_div+" .modal-body").scrollTop(0).scrollTop(io_div.position().top - 25); 6531 $('#loading_bar').html(''); 6532 return false; 6533 } 6534 6535 if(mio_msg.length > 0){ 6536 showModalAlert("warning", "Invalid Selection", mio_msg.join("<br/>"), "OK"); 6537 $('#loading_bar').html(''); 6538 return false; 6539 } 6540 6541 $("#"+parent_div+" .item-option-radio-list").attr('checked', false); 6542 checked_io($("#"+parent_div+" .item-option-radio-list"), "template4"); 6543 } else{ 6544 default_io = $("#"+ parent_div +" .item-option-radio-list:checked").attr('default-io'); 6545 if(typeof default_io !== "undefined" && default_io !== false){ 6546 $("#"+parent_div+" input[name=item-option-radio-"+group_id+"][ref='"+default_io+"']").attr('checked', true); 6547 } else{ 6548 $("#"+parent_div+" input[name=item-option-radio-"+group_id+"]:not(:disabled):first").attr('checked', true); 6549 } 6550 checked_io($("#"+parent_div+" .item-option-radio-list:checked"), "template4"); 6551 } 6552 } 6553 var menu_id = $(this).parents("#menu_items").data('menuid'); 6554 $.ajax({
6555 url: 'core/mybasket.php', 6556 type: "POST", 6557 data: { 6558 "PLU":PLU, 6559 "qty":qty, 6560 "price":price, 6561 "option_id":option_id, 6562 "menu_id":menu_id 6563 }, 6564 success: function(data){ 6565 $('#loading_bar').html(''); 6566 get_cart_total(); 6567 $('#view-basket').html(data); 6568 last_io_selected = []; 6569 6570 if (!$('#free_item_plu').length) { 6571 new PNotify({ 6572 text: 'Item added to order.', 6573 width: "220px", 6574 delay: 3000, 6575 type: 'success' 6576 }); 6577 } 6578 6579 $("#promotional_container").removeClass('active'); 6580 } 6581 }); 6582 }); 6583 6584 $(".menu-item-option.form-control").change(function () { 6585 var parent_div = $(this).closest('li').attr('id'); 6586 var group_id = $(this).attr('ref'); 6587 var plu = $(this).val(); 6588 $("#customise-" + group_id).attr('ref', $(this).val()); 6589 $("#" + group_id).attr('ref', $(this).val()); 6590 6591 // we hide the custom button when it has hide-custom attr 6592 var hide_custom = $("#"+parent_div+" #menu-" + group_id + " option:selected").attr("hide-custom"); 6593 if (hide_custom){ 6594 $("#"+parent_div+" #menu-"+ group_id).parent().siblings(".item-add-buttons").children(".customise-page").css("display", "none"); 6595 }else{ 6596 $("#"+parent_div+" #menu-"+ group_id).parent().siblings(".item-add-buttons").children(".customise-page").css("display", "inline-block"); 6597 } 6598 6599 var io = $(this).closest("li").find(".item-options"); 6600 if (io) { 6601 var item_option = io.val(); 6602 $(io).attr("id",plu+"-option-id"); 6603 io.empty(); 6604 $.ajax({
6605 url: 'core/ajax/item_options.php', 6606 type: "POST", 6607 data: { 6608 "plu": plu 6609 }, 6610 dataType: 'json', 6611 success: function (data) { 6612 // For item-options that was hidden because of no item option on default size 6613 // We need to show it else hide if no data was returned 6614 if(data.length >= 1 && data){ 6615 $(io).fadeIn(0); 6616 var io_ids = data.map(function(key, value) { return key["id"]; }); 6617 }else{ 6618 var io_ids = []; 6619 $(io).fadeOut(0); 6620 } 6621 6622 6623 var option_selected=""; 6624 $.each(data, function (key, value) { 6625 //console.log(value.option_id); 6626 var price_txt = (value.item_price > 0) ? ' - $' + value.item_price : ''; 6627 6628 if(item_option != null && io_ids.includes(item_option)){ 6629 option_selected = item_option; 6630 } else{ 6631 if(value.default_item_option_id == value.id){ 6632 option_selected = value.id; 6633 } 6634 } 6635 6636 $('<option />', { 6637 value: value.id, 6638 text: value.item_name + price_txt, 6639 ref: value.price 6640 }).appendTo(io) 6641 }); 6642 6643 if(option_selected){ 6644 io.val(option_selected); 6645 } 6646 } 6647 }); 6648 option_id = $(this).closest("li").find(".item-options").val(); 6649 } 6650 }); 6651 6652 if(check_store_stat() == 'offline') { 6653 $("#item-buttons .add-button, .item-add-buttons .customise-add-button").live("click", function(){ 6654 if (check_store_stat() == "online") { 6655 location.reload(); 6656 } 6657 }); 6658 } //if condition end 6659 //end Refresh page function 6660 6661 }); 6662 6663 //Refresh page function when closing modal OOA-1543 6664 function check_store_stat() { 6665 var client_code = $("#client_code").val(); 6666 var data_status = ""; 6667 $.ajax({
6668 type: 'POST', 6669 async: false, 6670 url: 'core/ajax/check_store_status.php', 6671 data: {client_code: client_code}, 6672 success: function(data) { 6673 data_status = data; 6674 6675 } 6676 }); //ajax end 6677 return data_status; 6678 } //function check_store_stat() end 6679 6680 function get_item_option(parent_div){ 6681 option_id = ''; 6682 if($("#"+ parent_div +" .item-option-radio-list").length){ 6683 var popup_price = $("#"+ parent_div +" .active #popup-price").html(); 6684 6685 if(popup_price){ 6686 popup_price = parseFloat(popup_price.replace('$', '')); 6687 var item_option_price = 0; 6688 var item_option_ref=""; 6689 6690 if($("#"+ parent_div +" .item-option-radio-list:checked").length){ 6691 $("#"+ parent_div +" .item-option-radio-list:checked").each(function(){ 6692 item_option_price += ($(this).val() !== undefined) ? parseFloat($(this).val()) : 0; 6693 item_option_ref += (item_option_ref.trim()!="") ? ", " : ""; 6694 item_option_ref += $(this).attr('ref'); 6695 }); 6696 } 6697 6698 var toppings_price = $("#"+ parent_div +" .popup-orig-price").html(); 6699 toppings_price = parseFloat(toppings_price.replace('$', '')); 6700 6701 var popup_qty = $("#"+ parent_div +" .qty").html(); 6702 6703 var toppings_toppings_price = parseFloat(toppings_price) * parseInt(popup_qty); 6704 6705 item_option_price = item_option_price * parseInt(popup_qty); 6706 popup_price = popup_price * parseInt(popup_qty); 6707 6708 var upsell_total = 0; 6709 $("#"+parent_div+" .upsell-item-chkbox:checked").each(function(){ 6710 var upsell_price = parseFloat($(this).data("price")); 6711 upsell_total += upsell_price; 6712 }); 6713 6714 var total_prices = popup_price + toppings_toppings_price + item_option_price + upsell_total; 6715 6716 $("#"+ parent_div + " .popup-item-price").html('$'+formatNumber(total_prices)); 6717 6718 option_id = $("#"+ parent_div +" .item-option-radio-list:checked").attr('ref'); 6719 } 6720 } 6721 } 6722 </script>
6722 6723 <div id='menu-items' style='display:block'><div class='menu-item mi-218246' id='sides-block' style=''> 6724 6725 <h1>Sides</h1> <div id='menu_items' data-menuid='218246'> 6726 <div id='menu-desc-header'><div class='alert alert-danger sides-block-active-time hide-menu-active-times' style='display:none;' data-from='0' data-till='0'>Available only during 09:30 am - 09:30 am </div></div> 6727 <ul id='sides'> 6728 6729 6730 6731 6732<li 6733 id="GarlicBread_4148998_218246" 6734 style="" 6735 class="single" 6736 data-track-items="true" 6737 data-plu="SID01" 6738 data-item-name="Garlic Bread" 6739 data-item-category="Sides" 6740 data-price="8" 6741 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 6742 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 6743 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/Garlic_Bread.webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 6744 Garlic Bread</div><div class="item-price"><span class="dollar-sign">$</span>8</div></div><div class="clear"></div><div class="item-description">9" Sliced Garlic Bread</div><div id='item-buttons'> 6745 <div class='modal modal-popup fade' id='add-popup-SID01-218246' role='dialog'> 6746 <div class='modal-dialog modal-dialog-popup' > 6747 <div class='modal-content modal-content-popup'> 6748 <div class='modal-header'> 6749 <p class='close close-popup' data-dismiss='modal'>×</p> 6750 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 6751 <span>Garlic Bread</span> 6752 </h4> 6753 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>9" Sliced Garlic Bread</div> 6754 </div> 6755 <div class='modal-body' style='background: #ececec78;'> 6756 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 6757 <input type='radio' style='display:none;' name='menu-item-option-radio-SID01' class = 'radio-button-popup menu-option-radio-list' value='SID01' price='8' ref='SID01' id='SID01' plu='SID01' checked='checked'> 6758 <label for='SID01' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$8</span><img class='check-img-popup' style='float: right; align-self:center'></label> 6759 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 6760 <div class="modal-footer" style="text-align: center; position: relative;"> 6761 <div class="footer_mobile"></div> 6762 <div class="footer_overlay"></div> 6763 <div class="item-add-buttons"> 6764 <div class="col-md-3" style="padding: 0;"> 6765 <div class="qty-selection"> 6766 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="SID01"><i class="glyphicon glyphicon-minus"></i></button> 6767 <label id="qty-SID01" class="qty-label-popup qty" style="padding: 0 5%">1</label> 6768 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="SID01"><i class="glyphicon glyphicon-plus"></i></button> 6769 </div> 6770 </div> 6771 <div class="col-md-6"> 6772 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="SID01" ref="SID01"/> 6773 </div> 6774 <div class="col-md-3" style="padding: 0;"> 6775 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 6776 <p class="popup-item-price" style="text-align: right;"></p> 6777 </div> 6778 </div> 6779 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-SID01-218246" id="SID01" menu-id="218246" ref="SID01" /></div></div></li><li 6780 id="GarlicCheeseBread_4148999_218246" 6781 style="" 6782 class="single" 6783 data-track-items="true" 6784 data-plu="SID02" 6785 data-item-name="Garlic Cheese Bread" 6786 data-item-category="Sides" 6787 data-price="22" 6788 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 6789 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 6790 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/Cheese_Bread.webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 6791 Garlic Cheese Bread</div><div class="item-price"><span class="dollar-sign">$</span>22</div></div><div class="clear"></div><div class="item-description">Our Famous fluffy & Crunchy Garlic Cheese Bread</div><div id='item-buttons'> 6792 <div class='modal modal-popup fade' id='add-popup-SID02-218246' role='dialog'> 6793 <div class='modal-dialog modal-dialog-popup' > 6794 <div class='modal-content modal-content-popup'> 6795 <div class='modal-header'> 6796 <p class='close close-popup' data-dismiss='modal'>×</p> 6797 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
6798 <span>Garlic Cheese Bread</span> 6799 </h4> 6800 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Our Famous fluffy & Crunchy Garlic Cheese Bread</div> 6801 </div> 6802 <div class='modal-body' style='background: #ececec78;'> 6803 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 6804 <input type='radio' style='display:none;' name='menu-item-option-radio-SID02' class = 'radio-button-popup menu-option-radio-list' value='SID02' price='22' ref='SID02' id='SID02' plu='SID02' checked='checked'> 6805 <label for='SID02' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$22</span><img class='check-img-popup' style='float: right; align-self:center'></label> 6806 </div><div style="border-top: none !important; border-bottom: 1px solid #00000038;" class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 6807 <div class='multi-option-name item-option-group-name-53789' style='position:relative; float:left; width:100%;'> 6808 <p style='font-weight:600; padding-bottom:0px; width:100%'>Cheesy bread opt</p> 6809 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 6810 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 6811 <input type='checkbox' style='display:none;' ref='3191758' name='item-option-radio-SID02-53789' class='item-option-radio-list' value='4' id='item-option-SID02-218246-3191758' multiple-io='true' mio-id='53789' min-io='1' max-io='1' > 6812 <label for='item-option-SID02-218246-3191758' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Add Bacon - $4<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 6813 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 6814 <input type='checkbox' style='display:none;' ref='3191757' name='item-option-radio-SID02-53789' class='item-option-radio-list' value='4' id='item-option-SID02-218246-3191757' multiple-io='true' mio-id='53789' min-io='1' max-io='1' > 6815 <label for='item-option-SID02-218246-3191757' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Add Pepperoni - $4<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 6816 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 6817 <input type='checkbox' style='display:none;' ref='2207692' name='item-option-radio-SID02-53789' class='item-option-radio-list' value='0' id='item-option-SID02-218246-2207692' multiple-io='true' mio-id='53789' min-io='1' max-io='1' > 6818 <label for='item-option-SID02-218246-2207692' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Original<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 6819 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 6820 <div class="modal-footer" style="text-align: center; position: relative;"> 6821 <div class="footer_mobile"></div> 6822 <div class="footer_overlay"></div> 6823 <div class="item-add-buttons"> 6824 <div class="col-md-3" style="padding: 0;"> 6825 <div class="qty-selection"> 6826 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="SID02"><i class="glyphicon glyphicon-minus"></i></button> 6827 <label id="qty-SID02" class="qty-label-popup qty" style="padding: 0 5%">1</label> 6828 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="SID02"><i class="glyphicon glyphicon-plus"></i></button> 6829 </div> 6830 </div> 6831 <div class="col-md-6"> 6832 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="SID02" ref="SID02"/> 6833 </div> 6834 <div class="col-md-3" style="padding: 0;"> 6835 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 6836 <p class="popup-item-price" style="text-align: right;"></p> 6837 </div> 6838 </div> 6839 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-SID02-218246" id="SID02" menu-id="218246" ref="SID02" /></div></div></li><li 6840 id="ChilliCheeseBread_6479595_218246" 6841 style="" 6842 class="single" 6843 data-track-items="true" 6844 data-plu="SID03" 6845 data-item-name="Chilli Cheese Bread" 6846 data-item-category="Sides" 6847 data-price="25" 6848 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 6849 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 6850 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/20240212_180314.webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 6851 Chilli Cheese Bread</div><div class="item-price"><span class="dollar-sign">$</span>25</div></div><div class="clear"></div><div class="item-description"> Our famous garlic cheese bread with spicy jalapeno, chilli flakes & buffalo sauce</div><div id='item-buttons'> 6852 <div class='modal modal-popup fade' id='add-popup-SID03-218246' role='dialog'> 6853 <div class='modal-dialog modal-dialog-popup' > 6854 <div class='modal-content modal-content-popup'> 6855 <div class='modal-header'> 6856 <p class='close close-popup' data-dismiss='modal'>×</p> 6857 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
6858 <span>Chilli Cheese Bread</span> 6859 </h4> 6860 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'> Our famous garlic cheese bread with spicy jalapeno, chilli flakes & buffalo sauce</div> 6861 </div> 6862 <div class='modal-body' style='background: #ececec78;'> 6863 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 6864 <input type='radio' style='display:none;' name='menu-item-option-radio-SID03' class = 'radio-button-popup menu-option-radio-list' value='SID03' price='25' ref='SID03' id='SID03' plu='SID03' checked='checked'> 6865 <label for='SID03' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$25</span><img class='check-img-popup' style='float: right; align-self:center'></label> 6866 </div><div style="border-top: none !important; border-bottom: 1px solid #00000038;" class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 6867 <div class='multi-option-name item-option-group-name-53789' style='position:relative; float:left; width:100%;'> 6868 <p style='font-weight:600; padding-bottom:0px; width:100%'>Cheesy bread opt</p> 6869 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 6870 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 6871 <input type='checkbox' style='display:none;' ref='3191758' name='item-option-radio-SID03-53789' class='item-option-radio-list' value='4' id='item-option-SID03-218246-3191758' multiple-io='true' mio-id='53789' min-io='1' max-io='1' > 6872 <label for='item-option-SID03-218246-3191758' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Add Bacon - $4<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 6873 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 6874 <input type='checkbox' style='display:none;' ref='3191757' name='item-option-radio-SID03-53789' class='item-option-radio-list' value='4' id='item-option-SID03-218246-3191757' multiple-io='true' mio-id='53789' min-io='1' max-io='1' > 6875 <label for='item-option-SID03-218246-3191757' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Add Pepperoni - $4<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 6876 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 6877 <input type='checkbox' style='display:none;' ref='2207692' name='item-option-radio-SID03-53789' class='item-option-radio-list' value='0' id='item-option-SID03-218246-2207692' multiple-io='true' mio-id='53789' min-io='1' max-io='1' > 6878 <label for='item-option-SID03-218246-2207692' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Original<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 6879 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 6880 <div class="modal-footer" style="text-align: center; position: relative;"> 6881 <div class="footer_mobile"></div> 6882 <div class="footer_overlay"></div> 6883 <div class="item-add-buttons"> 6884 <div class="col-md-3" style="padding: 0;"> 6885 <div class="qty-selection"> 6886 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="SID03"><i class="glyphicon glyphicon-minus"></i></button> 6887 <label id="qty-SID03" class="qty-label-popup qty" style="padding: 0 5%">1</label> 6888 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="SID03"><i class="glyphicon glyphicon-plus"></i></button> 6889 </div> 6890 </div> 6891 <div class="col-md-6"> 6892 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="SID03" ref="SID03"/> 6893 </div> 6894 <div class="col-md-3" style="padding: 0;"> 6895 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 6896 <p class="popup-item-price" style="text-align: right;"></p> 6897 </div> 6898 </div> 6899 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-SID03-218246" id="SID03" menu-id="218246" ref="SID03" /></div></div></li><li 6900 id="VegemiteCheeseBread_12173895_218246" 6901 style="" 6902 class="single" 6903 data-track-items="true" 6904 data-plu="SID08" 6905 data-item-name="Vegemite Cheese Bread" 6906 data-item-category="Sides" 6907 data-price="25" 6908 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 6909 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 6910 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/Vegemite_Cheese_Bread_1.webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 6911 Vegemite Cheese Bread</div><div class="item-price"><span class="dollar-sign">$</span>25</div></div><div class="clear"></div><div class="item-description">Our famous garlic cheese bread with spread of Australian vegemite</div><div id='item-buttons'> 6912 <div class='modal modal-popup fade' id='add-popup-SID08-218246' role='dialog'> 6913 <div class='modal-dialog modal-dialog-popup' > 6914 <div class='modal-content modal-content-popup'> 6915 <div class='modal-header'> 6916 <p class='close close-popup' data-dismiss='modal'>×</p> 6917 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
6918 <span>Vegemite Cheese Bread</span> 6919 </h4> 6920 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Our famous garlic cheese bread with spread of Australian vegemite</div> 6921 </div> 6922 <div class='modal-body' style='background: #ececec78;'> 6923 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 6924 <input type='radio' style='display:none;' name='menu-item-option-radio-SID08' class = 'radio-button-popup menu-option-radio-list' value='SID08' price='25' ref='SID08' id='SID08' plu='SID08' checked='checked'> 6925 <label for='SID08' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$25</span><img class='check-img-popup' style='float: right; align-self:center'></label> 6926 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 6927 <div class="modal-footer" style="text-align: center; position: relative;"> 6928 <div class="footer_mobile"></div> 6929 <div class="footer_overlay"></div> 6930 <div class="item-add-buttons"> 6931 <div class="col-md-3" style="padding: 0;"> 6932 <div class="qty-selection"> 6933 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="SID08"><i class="glyphicon glyphicon-minus"></i></button> 6934 <label id="qty-SID08" class="qty-label-popup qty" style="padding: 0 5%">1</label> 6935 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="SID08"><i class="glyphicon glyphicon-plus"></i></button> 6936 </div> 6937 </div> 6938 <div class="col-md-6"> 6939 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="SID08" ref="SID08"/> 6940 </div> 6941 <div class="col-md-3" style="padding: 0;"> 6942 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 6943 <p class="popup-item-price" style="text-align: right;"></p> 6944 </div> 6945 </div> 6946 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-SID08-218246" id="SID08" menu-id="218246" ref="SID08" /></div></div></li><li 6947 id="packwingbits_4149004_218246" 6948 style="" 6949 class="single" 6950 data-track-items="true" 6951 data-plu="M03" 6952 data-item-name="6 pack wing bits" 6953 data-item-category="Sides" 6954 data-price="14" 6955 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 6956 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 6957 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/Chicken-wing.
6957webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 6958 6 pack wing bits<div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-gf.png"/></div></div></div><div class="item-price"><span class="dollar-sign">$</span>14</div></div><div class="clear"></div><div class="item-description">6 pack of oven roasted chicken wing bits with 3 flavours to choose from</div><div id='item-buttons'> 6959 <div class='modal modal-popup fade' id='add-popup-M03-218246' role='dialog'> 6960 <div class='modal-dialog modal-dialog-popup' > 6961 <div class='modal-content modal-content-popup'> 6962 <div class='modal-header'> 6963 <p class='close close-popup' data-dismiss='modal'>×</p> 6964 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 6965 <span>6 pack wing bits</span><div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-gf.png"/></div></div> 6966 </h4> 6967 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>6 pack of oven roasted chicken wing bits with 3 flavours to choose from</div> 6968 </div> 6969 <div class='modal-body' style='background: #ececec78;'> 6970 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 6971 <input type='radio' style='display:none;' name='menu-item-option-radio-M03' class = 'radio-button-popup menu-option-radio-list' value='M03' price='14' ref='M03' id='M03' plu='M03' checked='checked'> 6972 <label for='M03' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$14</span><img class='check-img-popup' style='float: right; align-self:center'></label> 6973 </div><div style="border-top: none !important; border-bottom: 1px solid #00000038;" class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 6974 <div class='multi-option-name item-option-group-name-139129' style='position:relative; float:left; width:100%;'> 6975 <p style='font-weight:600; padding-bottom:0px; width:100%'>Flavours</p> 6976 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 6977 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 6978 <input type='checkbox' style='display:none;' ref='453200' name='item-option-radio-M03-139129' class='item-option-radio-list' value='0' id='item-option-M03-218246-453200' multiple-io='true' mio-id='139129' min-io='1' max-io='1' > 6979 <label for='item-option-M03-218246-453200' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>BBQ<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 6980 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 6981 <input type='checkbox' style='display:none;' ref='453201' name='item-option-radio-M03-139129' class='item-option-radio-list' value='0' id='item-option-M03-218246-453201' multiple-io='true' mio-id='139129' min-io='1' max-io='1' > 6982 <label for='item-option-M03-218246-453201' style='font-weight:normal
6982!important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Buffalo<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 6983 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 6984 <input type='checkbox' style='display:none;' ref='3202951' name='item-option-radio-M03-139129' class='item-option-radio-list' value='0' id='item-option-M03-218246-3202951' multiple-io='true' mio-id='139129' min-io='1' max-io='1' > 6985 <label for='item-option-M03-218246-3202951' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Szechuan<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 6986 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 6987 <div class="modal-footer" style="text-align: center; position: relative;"> 6988 <div class="footer_mobile"></div> 6989 <div class="footer_overlay"></div> 6990 <div class="item-add-buttons"> 6991 <div class="col-md-3" style="padding: 0;"> 6992 <div class="qty-selection"> 6993 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="M03"><i class="glyphicon glyphicon-minus"></i></button> 6994 <label id="qty-M03" class="qty-label-popup qty" style="padding: 0 5%">1</label> 6995 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="M03"><i class="glyphicon glyphicon-plus"></i></button> 6996 </div> 6997 </div> 6998 <div class="col-md-6"> 6999 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="M03" ref="M03"/> 7000 </div> 7001 <div class="col-md-3" style="padding: 0;"> 7002 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7003 <p class="popup-item-price" style="text-align: right;"></p> 7004 </div> 7005 </div> 7006 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-M03-218246" id="M03" menu-id="218246" ref="M03" /></div></div></li><li 7007 id="Ribs_833612_218246" 7008 style="" 7009 class="group" 7010 data-track-items="true" 7011 data-plu="" 7012 data-item-name="Ribs" 7013 data-item-category="Sides" 7014 7015 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 7016 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 7017 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/Pizza_pics_Ribs.webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7018 Ribs<div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-gf.png"/></div></div></div></div><div class="clear"></div><div class="item-description">18 hour slow cooked pork baby back ribs in house BBQ sauce </div><div id='item-buttons'> 7019 <div class='modal modal-popup fade' id='add-popup-833612-218246' role='dialog'> 7020 <div class='modal-dialog modal-dialog-popup' > 7021 <div class='modal-content modal-content-popup'> 7022 <div class='modal-header'> 7023 <p class='close close-popup' data-dismiss='modal'>×</p> 7024 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7025 <span>Ribs</span><div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-gf.png"/></div></div> 7026 </h4> 7027 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>18 hour slow cooked pork baby back ribs in house BBQ sauce </div> 7028 </div> 7029 <div class='modal-body' style='background: #ececec78;'> 7030 <p class='alert alert-danger' id='toppings_left'></p> 7031 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7032 <div class='menu-item-option'> 7033 <div class='menu-item-option menu-item-option-popup' id='menu-833612' ref='833612'><div class='input-group-radio'> 7034 <input type='radio' style='display:none;' name='menu-item-option-radio-833612' class = 'radio-button-popup menu-option-radio-list' value='M02' price='32' ref='833612' id='833612-M02' plu='M02' menu-id='218246' > 7035 <label for='833612-M02' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >6 pack <span id='popup-price'>$32</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7036 </div><div class='input-group-radio'> 7037 <input type='radio' style='display:none;' name='menu-item-option-radio-833612' class = 'radio-button-popup menu-option-radio-list' value='M01' price='58' ref='833612' id='833612-M01' plu='M01' menu-id='218246' > 7038 <label for='833612-M01' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >12 pack <span id='popup-price'>$58</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7039 </div></div></div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7040 <div class="modal-footer" style="text-align: center; position: relative;"> 7041 <div class="footer_mobile"></div> 7042 <div class="footer_overlay"></div> 7043 <div class="item-add-buttons"> 7044 <div class="col-md-3" style="padding: 0;"> 7045 <div class="qty-selection"> 7046 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833612"><i class="glyphicon glyphicon-minus"></i></button> 7047 <label id="qty-833612" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7048 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833612"><i class="glyphicon glyphicon-plus"></i></button> 7049 </div> 7050 </div> 7051 <div class="col-md-6"> 7052 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833612" ref="M02"/> 7053 </div> 7054 <div class="col-md-3" style="padding: 0;"> 7055 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7056 <p class="popup-item-price" style="text-align: right;"></p> 7057 </div> 7058 </div> 7059 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833612-218246" id="833612" menu-id="218246" ref="M02" /></div></div></li><li 7060 id="DippingSauce_10833130_218246" 7061 style="" 7062 class="single" 7063 data-track-items="true" 7064 data-plu="T73" 7065 data-item-name="Dipping Sauce" 7066 data-item-category="Sides" 7067 data-price="4" 7068 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 7069 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 7070 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/dipping_sauce.webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7071 Dipping Sauce<div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-gf.png"/></div></div></div><div class="item-price pt-0"><span class="dollar-sign">$</span>4</div></div><div class="clear"></div><div class="item-description"></div><div id='item-buttons'> 7072 <div class='modal modal-popup fade' id='add-popup-T73-218246' role='dialog'> 7073 <div class='modal-dialog modal-dialog-popup' > 7074 <div class='modal-content modal-content-popup'> 7075 <div class='modal-header'> 7076 <p class='close close-popup' data-dismiss='modal'>×</p> 7077 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7078 <span>Dipping Sauce</span><div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-gf.png"/></div></div> 7079 </h4> 7080 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'></div> 7081 </div> 7082 <div class='modal-body' style='background: #ececec78;'> 7083 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7084 <input type='radio' style='display:none;' name='menu-item-option-radio-T73' class = 'radio-button-popup menu-option-radio-list' value='T73' price='4' ref='T73' id='T73' plu='T73' checked='checked'> 7085 <label for='T73' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$4</span><img class='check-img-popup' style='float: right; align-self:center'></label> 7086 </div><div style="border-top: none !important; border-bottom: 1px solid #00000038;" class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 7087 <div class='multi-option-name item-option-group-name-151897' style='position:relative; float:left; width:100%;'> 7088 <p style='font-weight:600; padding-bottom:0px; width:100%'>Dippin Sauce</p> 7089 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7090 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7091 <input type='checkbox' style='display:none;' ref='2874658' name='item-option-radio-T73-151897' class='item-option-radio-list' value='0' id='item-option-T73-218246-2874658' multiple-io='true' mio-id='151897' min-io='1' max-io='1' > 7092 <label for='item-option-T73-218246-2874658' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Tzatziki T/A<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7093 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7094 <input type='checkbox' style='display:none;' ref='2874659' name='item-option-radio-T73-151897' class='item-option-radio-list' value='0' id='item-option-T73-218246-2874659' multiple-io='true' mio-id='151897' min-io='1' max-io='1' > 7095 <label for='item-option-T73-218246-2874659' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Buffalo Hollandaise T/A<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7096 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7097 <input type='checkbox' style='display:none;' ref='495186' name='item-option-radio-T73-151897' class='item-option-radio-list' value='0' id='item-option-T73-218246-495186' multiple-io='true' mio-id='151897' min-io='1' max-io='1' > 7098 <label for='item-option-T73-218246-495186' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Ranch Sauce T/A<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7099 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7100 <input type='checkbox' style='display:none;' ref='495187' name='item-option-radio-T73-151897' class='item-option-radio-list' value='0' id='item-option-T73-218246-495187' multiple-io='true' mio-id='151897' min-io='1' max-io='1' > 7101 <label for='item-option-T73-218246-495187' style='font-weight:normal
7101!important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Garlic Sauce T/A<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7102 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7103 <input type='checkbox' style='display:none;' ref='495188' name='item-option-radio-T73-151897' class='item-option-radio-list' value='0' id='item-option-T73-218246-495188' multiple-io='true' mio-id='151897' min-io='1' max-io='1' > 7104 <label for='item-option-T73-218246-495188' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Buffalo Sauce T/A<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7105 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7106 <input type='checkbox' style='display:none;' ref='3191760' name='item-option-radio-T73-151897' class='item-option-radio-list' value='0' id='item-option-T73-218246-3191760' multiple-io='true' mio-id='151897' min-io='1' max-io='1' > 7107 <label for='item-option-T73-218246-3191760' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>BBQ Sauce T/A<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7108 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7109 <div class="modal-footer" style="text-align: center; position: relative;"> 7110 <div class="footer_mobile"></div> 7111 <div class="footer_overlay"></div> 7112 <div class="item-add-buttons"> 7113 <div class="col-md-3" style="padding: 0;"> 7114 <div class="qty-selection"> 7115 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="T73"><i class="glyphicon glyphicon-minus"></i></button> 7116 <label id="qty-T73" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7117 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="T73"><i class="glyphicon glyphicon-plus"></i></button> 7118 </div> 7119 </div> 7120 <div class="col-md-6"> 7121 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="T73" ref="T73"/> 7122 </div> 7123 <div class="col-md-3" style="padding: 0;"> 7124 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7125 <p class="popup-item-price" style="text-align: right;"></p> 7126 </div> 7127 </div> 7128 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-T73-218246" id="T73" menu-id="218246" ref="T73" /></div></div></li> </ul> 7129 <div class="spacer"></div> 7130 </div> 7131 7132 7133</div> 7134 7135<div class='menu-item mi-218240' id='pasta-block' style=''> 7136 7137 <h1>Pasta</h1> <div id='menu_items' data-menuid='218240'> 7138 <div id='menu-desc-header'><div class='alert alert-danger pasta-block-active-time hide-menu-active-times' style='display:none;' data-from='0' data-till='0'>Available only during 09:30 am - 09:30 am </div></div> 7139 <ul id='pasta'> 7140 <li 7141 id="ChickenCarbonara_4148983_218240" 7142 style="" 7143 class="single" 7144 data-track-items="true" 7145 data-plu="PAS01" 7146 data-item-name="Chicken Carbonara" 7147 data-item-category="Pasta" 7148 data-price="29" 7149 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7150 Chicken Carbonara</div><div class="item-price"><span class="dollar-sign">$</span>29</div></div><div class="clear"></div><div class="item-description">Penne Pasta with chicken, creamy garlic sauce, bacon & parmesan</div><div id='item-buttons'> 7151 <div class='modal modal-popup fade' id='add-popup-PAS01-218240' role='dialog'> 7152 <div class='modal-dialog modal-dialog-popup' > 7153 <div class='modal-content modal-content-popup'> 7154 <div class='modal-header'> 7155 <p class='close close-popup' data-dismiss='modal'>×</p> 7156 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7157 <span>Chicken Carbonara</span> 7158 </h4> 7159 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Penne Pasta with chicken, creamy garlic sauce, bacon & parmesan</div> 7160 </div> 7161 <div class='modal-body' style='background: #ececec78;'> 7162 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7163 <input type='radio' style='display:none;' name='menu-item-option-radio-PAS01' class = 'radio-button-popup menu-option-radio-list' value='PAS01' price='29' ref='PAS01' id='PAS01' plu='PAS01' checked='checked'> 7164 <label for='PAS01' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$29</span><img class='check-img-popup' style='float: right; align-self:center'></label> 7165 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7166 <div class="modal-footer" style="text-align: center; position: relative;"> 7167 <div class="footer_mobile"></div> 7168 <div class="footer_overlay"></div> 7169 <div class="item-add-buttons"> 7170 <div class="col-md-3" style="padding: 0;"> 7171 <div class="qty-selection"> 7172 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="PAS01"><i class="glyphicon glyphicon-minus"></i></button> 7173 <label id="qty-PAS01" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7174 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="PAS01"><i class="glyphicon glyphicon-plus"></i></button> 7175 </div> 7176 </div> 7177 <div class="col-md-6"> 7178 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="PAS01" ref="PAS01"/> 7179 </div> 7180 <div class="col-md-3" style="padding: 0;"> 7181 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7182 <p class="popup-item-price" style="text-align: right;"></p> 7183 </div> 7184 </div> 7185 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-PAS01-218240" id="PAS01" menu-id="218240" ref="PAS01" /></div></div></li><li 7186 id="ChickenMushroomPasta_4148986_218240" 7187 style="" 7188 class="single" 7189 data-track-items="true" 7190 data-plu="PAS04" 7191 data-item-name="Chicken Mushroom Pasta" 7192 data-item-category="Pasta" 7193 data-price="29" 7194 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7195 Chicken Mushroom Pasta</div><div class="item-price"><span class="dollar-sign">$</span>29</div></div><div class="clear"></div><div class="item-description">Penne pasta, Garlic infused creamy mushroom sauce, sliced chicken & parmesan</div><div id='item-buttons'> 7196 <div class='modal modal-popup fade' id='add-popup-PAS04-218240' role='dialog'> 7197 <div class='modal-dialog modal-dialog-popup' > 7198 <div class='modal-content modal-content-popup'> 7199 <div class='modal-header'> 7200 <p class='close close-popup' data-dismiss='modal'>×</p> 7201 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7202 <span>Chicken Mushroom Pasta</span> 7203 </h4> 7204 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Penne pasta, Garlic infused creamy mushroom sauce, sliced chicken & parmesan</div> 7205 </div> 7206 <div class='modal-body' style='background: #ececec78;'> 7207 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7208 <input type='radio' style='display:none;' name='menu-item-option-radio-PAS04' class = 'radio-button-popup menu-option-radio-list' value='PAS04' price='29' ref='PAS04' id='PAS04' plu='PAS04' checked='checked'> 7209 <label for='PAS04' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$29</span><img class='check-img-popup' style='float: right; align-self:center'></label> 7210 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7211 <div class="modal-footer" style="text-align: center; position: relative;"> 7212 <div class="footer_mobile"></div> 7213 <div class="footer_overlay"></div> 7214 <div class="item-add-buttons"> 7215 <div class="col-md-3" style="padding: 0;"> 7216 <div class="qty-selection"> 7217 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="PAS04"><i class="glyphicon glyphicon-minus"></i></button> 7218 <label id="qty-PAS04" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7219 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="PAS04"><i class="glyphicon glyphicon-plus"></i></button> 7220 </div> 7221 </div> 7222 <div class="col-md-6"> 7223 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="PAS04" ref="PAS04"/> 7224 </div> 7225 <div class="col-md-3" style="padding: 0;"> 7226 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7227 <p class="popup-item-price" style="text-align: right;"></p> 7228 </div> 7229 </div> 7230 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-PAS04-218240" id="PAS04" menu-id="218240" ref="PAS04" /></div></div></li><li 7231 id="BeefBolognese_4148984_218240" 7232 style="" 7233 class="single" 7234 data-track-items="true" 7235 data-plu="PAS02" 7236 data-item-name="Beef Bolognese" 7237 data-item-category="Pasta" 7238 data-price="29" 7239 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7240 Beef Bolognese</div><div class="item-price"><span class="dollar-sign">$</span>29</div></div><div class="clear"></div><div class="item-description">Penne pasta with Beef Bolognese sauce & parmesan</div><div id='item-buttons'> 7241 <div class='modal modal-popup fade' id='add-popup-PAS02-218240' role='dialog'> 7242 <div class='modal-dialog modal-dialog-popup' > 7243 <div class='modal-content modal-content-popup'> 7244 <div class='modal-header'> 7245 <p class='close close-popup' data-dismiss='modal'>×</p> 7246 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7247 <span>Beef Bolognese</span> 7248 </h4> 7249 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Penne pasta with Beef Bolognese sauce & parmesan</div> 7250 </div> 7251 <div class='modal-body' style='background: #ececec78;'> 7252 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7253 <input type='radio' style='display:none;' name='menu-item-option-radio-PAS02' class = 'radio-button-popup menu-option-radio-list' value='PAS02' price='29' ref='PAS02' id='PAS02' plu='PAS02' checked='checked'> 7254 <label for='PAS02' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$29</span><img class='check-img-popup' style='float: right; align-self:center'></label> 7255 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7256 <div class="modal-footer" style="text-align: center; position: relative;"> 7257 <div class="footer_mobile"></div> 7258 <div class="footer_overlay"></div> 7259 <div class="item-add-buttons"> 7260 <div class="col-md-3" style="padding: 0;"> 7261 <div class="qty-selection"> 7262 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="PAS02"><i class="glyphicon glyphicon-minus"></i></button> 7263 <label id="qty-PAS02" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7264 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="PAS02"><i class="glyphicon glyphicon-plus"></i></button> 7265 </div> 7266 </div> 7267 <div class="col-md-6"> 7268 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="PAS02" ref="PAS02"/> 7269 </div> 7270 <div class="col-md-3" style="padding: 0;"> 7271 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7272 <p class="popup-item-price" style="text-align: right;"></p> 7273 </div> 7274 </div> 7275 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-PAS02-218240" id="PAS02" menu-id="218240" ref="PAS02" /></div></div></li><li 7276 id="PestoPasta_4148985_218240" 7277 style="" 7278 class="single" 7279 data-track-items="true" 7280 data-plu="PAS03" 7281 data-item-name="Pesto Pasta" 7282 data-item-category="Pasta" 7283 data-price="29" 7284 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7285 Pesto Pasta</div><div class="item-price"><span class="dollar-sign">$</span>29</div></div><div class="clear"></div><div class="item-description">Penne Pasta, cream, basil pesto, spinnach, cherry tomato & parmesan</div><div id='item-buttons'> 7286 <div class='modal modal-popup fade' id='add-popup-PAS03-218240' role='dialog'> 7287 <div class='modal-dialog modal-dialog-popup' > 7288 <div class='modal-content modal-content-popup'> 7289 <div class='modal-header'> 7290 <p class='close close-popup' data-dismiss='modal'>×</p> 7291 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7292 <span>Pesto Pasta</span> 7293 </h4> 7294 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Penne Pasta, cream, basil pesto, spinnach, cherry tomato & parmesan</div> 7295 </div> 7296 <div class='modal-body' style='background: #ececec78;'> 7297 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7298 <input type='radio' style='display:none;' name='menu-item-option-radio-PAS03' class = 'radio-button-popup menu-option-radio-list' value='PAS03' price='29' ref='PAS03' id='PAS03' plu='PAS03' checked='checked'> 7299 <label for='PAS03' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$29</span><img class='check-img-popup' style='float: right; align-self:center'></label> 7300 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7301 <div class="modal-footer" style="text-align: center; position: relative;"> 7302 <div class="footer_mobile"></div> 7303 <div class="footer_overlay"></div> 7304 <div class="item-add-buttons"> 7305 <div class="col-md-3" style="padding: 0;"> 7306 <div class="qty-selection"> 7307 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="PAS03"><i class="glyphicon glyphicon-minus"></i></button> 7308 <label id="qty-PAS03" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7309 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="PAS03"><i class="glyphicon glyphicon-plus"></i></button> 7310 </div> 7311 </div> 7312 <div class="col-md-6"> 7313 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="PAS03" ref="PAS03"/> 7314 </div> 7315 <div class="col-md-3" style="padding: 0;"> 7316 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7317 <p class="popup-item-price" style="text-align: right;"></p> 7318 </div> 7319 </div> 7320 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-PAS03-218240" id="PAS03" menu-id="218240" ref="PAS03" /></div></div></li><li 7321 id="GarlicPennePrawns_7125182_218240" 7322 style="" 7323 class="single" 7324 data-track-items="true" 7325 data-plu="PAS06" 7326 data-item-name="Garlic Penne Prawns" 7327 data-item-category="Pasta" 7328 data-price="36" 7329 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7330 Garlic Penne Prawns</div><div class="item-price"><span class="dollar-sign">$</span>36</div></div><div class="clear"></div><div class="item-description">Penne pasta with prawns in a garlic infused cream sauce</div><div id='item-buttons'> 7331 <div class='modal modal-popup fade' id='add-popup-PAS06-218240' role='dialog'> 7332 <div class='modal-dialog modal-dialog-popup' > 7333 <div class='modal-content modal-content-popup'> 7334 <div class='modal-header'> 7335 <p class='close close-popup' data-dismiss='modal'>×</p> 7336 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7337 <span>Garlic Penne Prawns</span> 7338 </h4> 7339 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Penne pasta with prawns in a garlic infused cream sauce</div> 7340 </div> 7341 <div class='modal-body' style='background: #ececec78;'> 7342 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7343 <input type='radio' style='display:none;' name='menu-item-option-radio-PAS06' class = 'radio-button-popup menu-option-radio-list' value='PAS06' price='36' ref='PAS06' id='PAS06' plu='PAS06' checked='checked'> 7344 <label for='PAS06' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$36</span><img class='check-img-popup' style='float: right; align-self:center'></label> 7345 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7346 <div class="modal-footer" style="text-align: center; position: relative;"> 7347 <div class="footer_mobile"></div> 7348 <div class="footer_overlay"></div> 7349 <div class="item-add-buttons"> 7350 <div class="col-md-3" style="padding: 0;"> 7351 <div class="qty-selection"> 7352 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="PAS06"><i class="glyphicon glyphicon-minus"></i></button> 7353 <label id="qty-PAS06" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7354 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="PAS06"><i class="glyphicon glyphicon-plus"></i></button> 7355 </div> 7356 </div> 7357 <div class="col-md-6"> 7358 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="PAS06" ref="PAS06"/> 7359 </div> 7360 <div class="col-md-3" style="padding: 0;"> 7361 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7362 <p class="popup-item-price" style="text-align: right;"></p> 7363 </div> 7364 </div> 7365 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-PAS06-218240" id="PAS06" menu-id="218240" ref="PAS06" /></div></div></li><li 7366 id="RastaPasta_19298000_218240" 7367 style="" 7368 class="single" 7369 data-track-items="true" 7370 data-plu="PAS10" 7371 data-item-name="Rasta Pasta" 7372 data-item-category="Pasta" 7373 data-price="29" 7374 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 7375 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 7376 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/rasta_pasta.jpg'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7377 Rasta Pasta</div><div class="item-price"><span class="dollar-sign">$</span>29</div></div><div class="clear"></div><div class="item-description">A creamy Caribbean-inspired pasta tossed with capsicum, chicken, and a hint of spiced jerk seasoning, finished with parmesan. Bold, comforting, and full of flavour</div><div id='item-buttons'> 7378 <div class='modal modal-popup fade' id='add-popup-PAS10-218240' role='dialog'> 7379 <div class='modal-dialog modal-dialog-popup' > 7380 <div class='modal-content modal-content-popup'> 7381 <div class='modal-header'> 7382 <p class='close close-popup' data-dismiss='modal'>×</p> 7383 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7384 <span>Rasta Pasta</span> 7385 </h4> 7386 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>A creamy Caribbean-inspired pasta tossed with capsicum, chicken, and a hint of spiced jerk seasoning, finished with parmesan. Bold, comforting, and full of flavour</div> 7387 </div> 7388 <div class='modal-body' style='background: #ececec78;'> 7389 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7390 <input type='radio' style='display:none;' name='menu-item-option-radio-PAS10' class = 'radio-button-popup menu-option-radio-list' value='PAS10' price='29' ref='PAS10' id='PAS10' plu='PAS10' checked='checked'> 7391 <label for='PAS10' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$29</span><img class='check-img-popup' style='float: right; align-self:center'></label> 7392 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7393 <div class="modal-footer" style="text-align: center; position: relative;"> 7394 <div class="footer_mobile"></div> 7395 <div class="footer_overlay"></div> 7396 <div class="item-add-buttons"> 7397 <div class="col-md-3" style="padding: 0;"> 7398 <div class="qty-selection"> 7399 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="PAS10"><i class="glyphicon glyphicon-minus"></i></button> 7400 <label id="qty-PAS10" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7401 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="PAS10"><i class="glyphicon glyphicon-plus"></i></button> 7402 </div> 7403 </div> 7404 <div class="col-md-6"> 7405 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="PAS10" ref="PAS10"/> 7406 </div> 7407 <div class="col-md-3" style="padding: 0;"> 7408 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7409 <p class="popup-item-price" style="text-align: right;"></p> 7410 </div> 7411 </div> 7412 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-PAS10-218240" id="PAS10" menu-id="218240" ref="PAS10" /></div></div></li> </ul> 7413 <div class="spacer"></div> 7414 </div> 7415 <div id="menu-218240-upsell-items" style="display:none"> 7416 <div class="upsell-container"><div class="upsell-header">You may also like:</div><label for="upsell-item-218240-DR01" class="upsell-item"><div class="upsell-image-container" style="background-image: url('https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/coke_1.25.webp')"></div><div class="upsell-description p-upsell"> 7417 <h5><b>1.25L COKE</b></h5><p></p><h5 class="text-muted"><b>$8</b></h5></div> <div class="upsell-chkbox-container p-upsell"> 7418 <input id="upsell-item-218240-DR01" class="upsell-item-chkbox" data-plu="DR01" data-price="8" t
7418ype="checkbox"> 7419 <span></span> 7420 </div></label><label for="upsell-item-218240-SID02" class="upsell-item"><div class="upsell-image-container" style="background-image: url('https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/Cheese_Bread.webp')"></div><div class="upsell-description p-upsell"> 7421 <h5><b>GARLIC CHEESE BREAD</b></h5><p>Our Famous fluffy & Crunchy Garlic Cheese Bread</p><h5 class="text-muted"><b>$22</b></h5></div> <div class="upsell-chkbox-container p-upsell"> 7422 <input id="upsell-item-218240-SID02" class="upsell-item-chkbox" data-plu="SID02" data-price="22" type="checkbox"> 7423 <span></span> 7424 </div></label></div> </div> 7425 7426 7427</div> 7428 7429<div class='menu-item mi-218242' id='pizza-block' style=''> 7430 7431 <h1>Pizza</h1> <div id='menu_items' data-menuid='218242'> 7432 <div id='menu-desc-header'><div class='alert alert-danger pizza-block-active-time hide-menu-active-times' style='display:none;' data-from='0' data-till='0'>Available only during 09:30 am - 09:30 am </div></div> 7433 <ul id='pizza'> 7434 <li 7435 id="Carboliciouslimitedtime_19380670_218242" 7436 style="" 7437 class="single" 7438 data-track-items="true" 7439 data-plu="STP45" 7440 data-item-name="Carbolicious (limited time)" 7441 data-item-category="Pizza" 7442 data-price="39" 7443 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="visual-tag-container"> 7444 <div class="badge"> 7445 7446 <span class="visual-tag-label">new</span> 7447 </div><div class="item-price"><span class="dollar-sign">$</span>39</div></div><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7448 Carbolicious (limited time)</div></div><div class="clear"></div><div class="item-description">Pizza carbonara - chicken, bacon, garlic & cream on a fluffy crunchy pizza base</div><div id='item-buttons'> 7449 <div class='modal modal-popup fade' id='add-popup-STP45-218242' role='dialog'> 7450 <div class='modal-dialog modal-dialog-popup' > 7451 <div class='modal-content modal-content-popup'> 7452 <div class='modal-header'> 7453 <p class='close close-popup' data-dismiss='modal'>×</p> 7454 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7455 <span>Carbolicious (limited time)</span> 7456 </h4> 7457 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Pizza carbonara - chicken, bacon, garlic & cream on a fluffy crunchy pizza base</div> 7458 </div> 7459 <div class='modal-body' style='background: #ececec78;'> 7460 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7461 <input type='radio' style='display:none;' name='menu-item-option-radio-STP45' class = 'radio-button-popup menu-option-radio-list' value='STP45' price='39' ref='STP45' id='STP45' plu='STP45' checked='checked'> 7462 <label for='STP45' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$39</span><img class='check-img-popup' style='float: right; align-self:center'></label> 7463 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7464 <div class="modal-footer" style="text-align: center; position: relative;"> 7465 <div class="footer_mobile"></div> 7466 <div class="footer_overlay"></div> 7467 <div class="item-add-buttons"> 7468 <div class="col-md-3" style="padding: 0;"> 7469 <div class="qty-selection"> 7470 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="STP45"><i class="glyphicon glyphicon-minus"></i></button> 7471 <label id="qty-STP45" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7472 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="STP45"><i class="glyphicon glyphicon-plus"></i></button> 7473 </div> 7474 </div> 7475 <div class="col-md-6"> 7476 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="STP45" ref="STP45"/> 7477 </div> 7478 <div class="col-md-3" style="padding: 0;"> 7479 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7480 <p class="popup-item-price" style="text-align: right;"></p> 7481 </div> 7482 </div> 7483 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-STP45-218242" id="STP45" menu-id="218242" ref="STP45" /></div></div></li><li 7484 id="FullStack_833115_218242" 7485 style="" 7486 class="group" 7487 data-track-items="true" 7488 data-plu="" 7489 data-item-name="Full Stack" 7490 data-item-category="Pizza" 7491 7492 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="visual-tag-container"> 7493 <div class="badge"> 7494
7495 <span class="visual-tag-label">Chef's Recommendation</span> 7496 </div></div><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7497 Full Stack</div></div><div class="clear"></div><div class="item-description">Loaded with ham, pepperoni, sliced Italian sausage, chicken, bacon, onion capsicum, mushroom, pineapple, olives, prawns & and anchovy</div><div id='item-buttons'> 7498 <div class='modal modal-popup fade' id='add-popup-833115-218242' role='dialog'> 7499 <div class='modal-dialog modal-dialog-popup' > 7500 <div class='modal-content modal-content-popup'> 7501 <div class='modal-header'> 7502 <p class='close close-popup' data-dismiss='modal'>×</p> 7503 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7504 <span>Full Stack</span> 7505 </h4> 7506 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Loaded with ham, pepperoni, sliced Italian sausage, chicken, bacon, onion capsicum, mushroom, pineapple, olives, prawns & and anchovy</div> 7507 </div> 7508 <div class='modal-body' style='background: #ececec78;'> 7509 <p class='alert alert-danger' id='toppings_left'></p> 7510 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7511 <div class='menu-item-option'> 7512 <div class='menu-item-option menu-item-option-popup' id='menu-833115' ref='833115'><div class='input-group-radio'> 7513 <input type='radio' style='display:none;' name='menu-item-option-radio-833115' class = 'radio-button-popup menu-option-radio-list' value='STP02' price='46' ref='833115' id='833115-STP02' plu='STP02' menu-id='218242' > 7514 <label for='833115-STP02' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$46</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7515 </div><div class='input-group-radio'> 7516 <input type='radio' style='display:none;' name='menu-item-option-radio-833115' class = 'radio-button-popup menu-option-radio-list' value='BTP02' price='84' ref='833115' id='833115-BTP02' plu='BTP02' menu-id='218242' > 7517 <label for='833115-BTP02' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$84</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7518 </div><div class='input-group-radio'> 7519 <input type='radio' style='display:none;' name='menu-item-option-radio-833115' class = 'radio-button-popup menu-option-radio-list' value='MTP02' price='51' ref='833115' id='833115-MTP02' plu='MTP02' menu-id='218242' > 7520 <label for='833115-MTP02' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$51</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7521 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 7522 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 7523 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p>
7524 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7525 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7526 <input type='checkbox' style='display:none;' ref='434076' name='item-option-radio-833115-124547' class='item-option-radio-list' value='3' id='item-option-833115-218242-434076' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7527 <label for='item-option-833115-218242-434076' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Ranch Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7528 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7529 <input type='checkbox' style='display:none;' ref='1692757' name='item-option-radio-833115-124547' class='item-option-radio-list' value='0' id='item-option-833115-218242-1692757' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7530 <label for='item-option-833115-218242-1692757' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Tomato Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7531 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7532 <input type='checkbox' style='display:none;' ref='1692758' name='item-option-radio-833115-124547' class='item-option-radio-list' value='0' id='item-option-833115-218242-1692758' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7533 <label for='item-option-833115-218242-1692758' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>BBQ Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7534 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7535 <input type='checkbox' style='display:none;' ref='1692759' name='item-option-radio-833115-124547' class='item-option-radio-list' value='3' id='item-option-833115-218242-1692759' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7536 <label for='item-option-833115-218242-1692759' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Garlic Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7537 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7538 <div class="modal-footer" style="text-align: center; position: relative;"> 7539 <div class="footer_mobile"></div> 7540 <div class="footer_overlay"></div> 7541 <div class="item-add-buttons"> 7542 <div class="col-md-3" style="padding: 0;"> 7543 <div class="qty-selection"> 7544 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833115"><i class="glyphicon glyphicon-minus"></i></button> 7545 <label id="qty-833115" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7546 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833115"><i class="glyphicon glyphicon-plus"></i></button> 7547 </div> 7548 </div> 7549 <div class="col-md-6"> 7550 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833115" ref="STP02"/> 7551 </div> 7552 <div class="col-md-3" style="padding: 0;"> 7553 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7554 <p class="popup-item-price" style="text-align: right;"></p> 7555 </div> 7556 </div> 7557 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833115-218242" id="833115" menu-id="218242" ref="STP02" /></div></div></li><li 7558 id="DBSupreme_833116_218242" 7559 style="" 7560 class="group" 7561 data-track-items="true" 7562 data-plu="" 7563 data-item-name="DB Supreme" 7564 data-item-category="Pizza" 7565 7566 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7567 DB Supreme</div></div><div class="clear"></div><div class="item-description">Ham, Pepperoni, Streaky Bacon, Onion, Mushroom, Capsicum, Pineapple, Olives, Pizza Sauce, Cheese </div><div id='item-buttons'> 7568 <div class='modal modal-popup fade' id='add-popup-833116-218242' role='dialog'> 7569 <div class='modal-dialog modal-dialog-popup' > 7570 <div class='modal-content modal-content-popup'> 7571 <div class='modal-header'> 7572 <p class='close close-popup' data-dismiss='modal'>×</p> 7573 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7574 <span>DB Supreme</span> 7575 </h4> 7576 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Ham, Pepperoni, Streaky Bacon, Onion, Mushroom, Capsicum, Pineapple, Olives, Pizza Sauce, Cheese </div> 7577 </div> 7578 <div class='modal-body' style='background: #ececec78;'> 7579 <p class='alert alert-danger' id='toppings_left'></p> 7580 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7581 <div class='menu-item-option'> 7582 <div class='menu-item-option menu-item-option-popup' id='menu-833116' ref='833116'><div class='input-group-radio'> 7583 <input type='radio' style='display:none;' name='menu-item-option-radio-833116' class = 'radio-button-popup menu-option-radio-list' value='STP01' price='39' ref='833116' id='833116-STP01' plu='STP01' menu-id='218242' > 7584 <label for='833116-STP01' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$39</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7585 </div><div class='input-group-radio'> 7586 <input type='radio' style='display:none;' name='menu-item-option-radio-833116' class = 'radio-button-popup menu-option-radio-list' value='BTP01' price='74' ref='833116' id='833116-BTP01' plu='BTP01' menu-id='218242' > 7587 <label for='833116-BTP01' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$74</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7588 </div><div class='input-group-radio'> 7589 <input type='radio' style='display:none;' name='menu-item-option-radio-833116' class = 'radio-button-popup menu-option-radio-list' value='MTP01' price='44' ref='833116' id='833116-MTP01' plu='MTP01' menu-id='218242' > 7590 <label for='833116-MTP01' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$44</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7591 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 7592 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 7593 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p> 7594 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7595 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7596 <input type='checkbox' style='display:none;' ref='434076' name='item-option-radio-833116-124547' class='item-option-radio-list' value='3' id='item-option-833116-218242-434076' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7597 <label for='item-option-833116-218242-434076' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Ranch Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7598 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7599 <input type='checkbox' style='display:none;' ref='1692757' name='item-option-radio-833116-124547' class='item-option-radio-list' value='0' id='item-option-833116-218242-1692757' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7600 <label for='item-option-833116-218242-1692757' style='font-weight:normal
7600!important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Tomato Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7601 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7602 <input type='checkbox' style='display:none;' ref='1692758' name='item-option-radio-833116-124547' class='item-option-radio-list' value='0' id='item-option-833116-218242-1692758' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7603 <label for='item-option-833116-218242-1692758' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>BBQ Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7604 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7605 <input type='checkbox' style='display:none;' ref='1692759' name='item-option-radio-833116-124547' class='item-option-radio-list' value='3' id='item-option-833116-218242-1692759' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7606 <label for='item-option-833116-218242-1692759' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Garlic Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7607 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7608 <div class="modal-footer" style="text-align: center; position: relative;"> 7609 <div class="footer_mobile"></div> 7610 <div class="footer_overlay"></div> 7611 <div class="item-add-buttons"> 7612 <div class="col-md-3" style="padding: 0;"> 7613 <div class="qty-selection"> 7614 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833116"><i class="glyphicon glyphicon-minus"></i></button> 7615 <label id="qty-833116" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7616 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833116"><i class="glyphicon glyphicon-plus"></i></button> 7617 </div> 7618 </div> 7619 <div class="col-md-6"> 7620 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833116" ref="STP01"/> 7621 </div> 7622 <div class="col-md-3" style="padding: 0;"> 7623 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7624 <p class="popup-item-price" style="text-align: right;"></p> 7625 </div> 7626 </div> 7627 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833116-218242" id="833116" menu-id="218242" ref="STP01" /></div></div></li><li 7628 id="MeatBeater_833117_218242" 7629 style="" 7630 class="group" 7631 data-track-items="true" 7632 data-plu="" 7633 data-item-name="Meat Beater" 7634 data-item-category="Pizza" 7635 7636 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="visual-tag-container"> 7637 <div class="badge"> 7638
7639 <span class="visual-tag-label">Best Seller</span> 7640 </div></div><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7641 Meat Beater</div></div><div class="clear"></div><div class="item-description">Ham, Pepperoni, Sliced Italian Sausage, Streaky Bacon and Cheese</div><div id='item-buttons'> 7642 <div class='modal modal-popup fade' id='add-popup-833117-218242' role='dialog'> 7643 <div class='modal-dialog modal-dialog-popup' > 7644 <div class='modal-content modal-content-popup'> 7645 <div class='modal-header'> 7646 <p class='close close-popup' data-dismiss='modal'>×</p> 7647 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7648 <span>Meat Beater</span> 7649 </h4> 7650 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Ham, Pepperoni, Sliced Italian Sausage, Streaky Bacon and Cheese</div> 7651 </div> 7652 <div class='modal-body' style='background: #ececec78;'> 7653 <p class='alert alert-danger' id='toppings_left'></p> 7654 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7655 <div class='menu-item-option'> 7656 <div class='menu-item-option menu-item-option-popup' id='menu-833117' ref='833117'><div class='input-group-radio'> 7657 <input type='radio' style='display:none;' name='menu-item-option-radio-833117' class = 'radio-button-popup menu-option-radio-list' value='STP04' price='39' ref='833117' id='833117-STP04' plu='STP04' menu-id='218242' > 7658 <label for='833117-STP04' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$39</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7659 </div><div class='input-group-radio'> 7660 <input type='radio' style='display:none;' name='menu-item-option-radio-833117' class = 'radio-button-popup menu-option-radio-list' value='BTP04' price='74' ref='833117' id='833117-BTP04' plu='BTP04' menu-id='218242' > 7661 <label for='833117-BTP04' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$74</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7662 </div><div class='input-group-radio'> 7663 <input type='radio' style='display:none;' name='menu-item-option-radio-833117' class = 'radio-button-popup menu-option-radio-list' value='MTP04' price='44' ref='833117' id='833117-MTP04' plu='MTP04' menu-id='218242' > 7664 <label for='833117-MTP04' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$44</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7665 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 7666 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 7667 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p>
7668 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7669 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7670 <input type='checkbox' style='display:none;' ref='434076' name='item-option-radio-833117-124547' class='item-option-radio-list' value='3' id='item-option-833117-218242-434076' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7671 <label for='item-option-833117-218242-434076' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Ranch Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7672 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7673 <input type='checkbox' style='display:none;' ref='1692757' name='item-option-radio-833117-124547' class='item-option-radio-list' value='0' id='item-option-833117-218242-1692757' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7674 <label for='item-option-833117-218242-1692757' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Tomato Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7675 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7676 <input type='checkbox' style='display:none;' ref='1692758' name='item-option-radio-833117-124547' class='item-option-radio-list' value='0' id='item-option-833117-218242-1692758' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7677 <label for='item-option-833117-218242-1692758' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>BBQ Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7678 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7679 <input type='checkbox' style='display:none;' ref='1692759' name='item-option-radio-833117-124547' class='item-option-radio-list' value='3' id='item-option-833117-218242-1692759' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7680 <label for='item-option-833117-218242-1692759' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Garlic Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7681 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7682 <div class="modal-footer" style="text-align: center; position: relative;"> 7683 <div class="footer_mobile"></div> 7684 <div class="footer_overlay"></div> 7685 <div class="item-add-buttons"> 7686 <div class="col-md-3" style="padding: 0;"> 7687 <div class="qty-selection"> 7688 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833117"><i class="glyphicon glyphicon-minus"></i></button> 7689 <label id="qty-833117" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7690 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833117"><i class="glyphicon glyphicon-plus"></i></button> 7691 </div> 7692 </div> 7693 <div class="col-md-6"> 7694 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833117" ref="STP04"/> 7695 </div> 7696 <div class="col-md-3" style="padding: 0;"> 7697 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7698 <p class="popup-item-price" style="text-align: right;"></p> 7699 </div> 7700 </div> 7701 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833117-218242" id="833117" menu-id="218242" ref="STP04" /></div></div></li><li 7702 id="PickleLicious_833118_218242" 7703 style="" 7704 class="group" 7705 data-track-items="true" 7706 data-plu="" 7707 data-item-name="Pickle-Licious " 7708 data-item-category="Pizza" 7709 7710 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 7711 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 7712 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/Pickle-Licious_up.webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7713 Pickle-Licious </div></div><div class="clear"></div><div class="item-description">Tomato pizza sauce, ground beef & onion, cheese, sliced dill burger pickles & special burger sauce topping</div><div id='item-buttons'> 7714 <div class='modal modal-popup fade' id='add-popup-833118-218242' role='dialog'> 7715 <div class='modal-dialog modal-dialog-popup' > 7716 <div class='modal-content modal-content-popup'> 7717 <div class='modal-header'> 7718 <p class='close close-popup' data-dismiss='modal'>×</p> 7719 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7720 <span>Pickle-Licious </span> 7721 </h4> 7722 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Tomato pizza sauce, ground beef & onion, cheese, sliced dill burger pickles & special burger sauce topping</div> 7723 </div> 7724 <div class='modal-body' style='background: #ececec78;'> 7725 <p class='alert alert-danger' id='toppings_left'></p> 7726 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7727 <div class='menu-item-option'> 7728 <div class='menu-item-option menu-item-option-popup' id='menu-833118' ref='833118'><div class='input-group-radio'> 7729 <input type='radio' style='display:none;' name='menu-item-option-radio-833118' class = 'radio-button-popup menu-option-radio-list' value='STP25' price='39' ref='833118' id='833118-STP25' plu='STP25' menu-id='218242' > 7730 <label for='833118-STP25' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$39</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7731 </div><div class='input-group-radio'> 7732 <input type='radio' style='display:none;' name='menu-item-option-radio-833118' class = 'radio-button-popup menu-option-radio-list' value='BTP25' price='74' ref='833118' id='833118-BTP25' plu='BTP25' menu-id='218242' > 7733 <label for='833118-BTP25' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$74</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7734 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 7735 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 7736 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p> 7737 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7738 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7739 <input type='checkbox' style='display:none;' ref='434076' name='item-option-radio-833118-124547' class='item-option-radio-list' value='3' id='item-option-833118-218242-434076' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7740 <label for='item-option-833118-218242-434076' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Ranch Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7741 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7742 <input type='checkbox' style='display:none;' ref='1692757' name='item-option-radio-833118-124547' class='item-option-radio-list' value='0' id='item-option-833118-218242-1692757' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7743 <label for='item-option-833118-218242-1692757' style='font-weight:normal
7743!important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Tomato Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7744 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7745 <input type='checkbox' style='display:none;' ref='1692758' name='item-option-radio-833118-124547' class='item-option-radio-list' value='0' id='item-option-833118-218242-1692758' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7746 <label for='item-option-833118-218242-1692758' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>BBQ Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7747 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7748 <input type='checkbox' style='display:none;' ref='1692759' name='item-option-radio-833118-124547' class='item-option-radio-list' value='3' id='item-option-833118-218242-1692759' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7749 <label for='item-option-833118-218242-1692759' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Garlic Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7750 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7751 <div class="modal-footer" style="text-align: center; position: relative;"> 7752 <div class="footer_mobile"></div> 7753 <div class="footer_overlay"></div> 7754 <div class="item-add-buttons"> 7755 <div class="col-md-3" style="padding: 0;"> 7756 <div class="qty-selection"> 7757 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833118"><i class="glyphicon glyphicon-minus"></i></button> 7758 <label id="qty-833118" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7759 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833118"><i class="glyphicon glyphicon-plus"></i></button> 7760 </div> 7761 </div> 7762 <div class="col-md-6"> 7763 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833118" ref="STP25"/> 7764 </div> 7765 <div class="col-md-3" style="padding: 0;"> 7766 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7767 <p class="popup-item-price" style="text-align: right;"></p> 7768 </div> 7769 </div> 7770 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833118-218242" id="833118" menu-id="218242" ref="STP25" /></div></div></li><li 7771 id="Hawaiian_833119_218242" 7772 style="" 7773 class="group" 7774 data-track-items="true" 7775 data-plu="" 7776 data-item-name="Hawaiian" 7777 data-item-category="Pizza" 7778 7779 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="visual-tag-container"> 7780 <div class="badge"> 7781
7782 <span class="visual-tag-label">Most Popular</span> 7783 </div></div><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7784 Hawaiian</div></div><div class="clear"></div><div class="item-description">Ham, Pineapple, Pizza Sauce, Cheese</div><div id='item-buttons'> 7785 <div class='modal modal-popup fade' id='add-popup-833119-218242' role='dialog'> 7786 <div class='modal-dialog modal-dialog-popup' > 7787 <div class='modal-content modal-content-popup'> 7788 <div class='modal-header'> 7789 <p class='close close-popup' data-dismiss='modal'>×</p> 7790 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7791 <span>Hawaiian</span> 7792 </h4> 7793 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Ham, Pineapple, Pizza Sauce, Cheese</div> 7794 </div> 7795 <div class='modal-body' style='background: #ececec78;'> 7796 <p class='alert alert-danger' id='toppings_left'></p> 7797 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7798 <div class='menu-item-option'> 7799 <div class='menu-item-option menu-item-option-popup' id='menu-833119' ref='833119'><div class='input-group-radio'> 7800 <input type='radio' style='display:none;' name='menu-item-option-radio-833119' class = 'radio-button-popup menu-option-radio-list' value='STP03' price='39' ref='833119' id='833119-STP03' plu='STP03' menu-id='218242' > 7801 <label for='833119-STP03' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$39</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7802 </div><div class='input-group-radio'> 7803 <input type='radio' style='display:none;' name='menu-item-option-radio-833119' class = 'radio-button-popup menu-option-radio-list' value='BTP03' price='74' ref='833119' id='833119-BTP03' plu='BTP03' menu-id='218242' > 7804 <label for='833119-BTP03' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$74</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7805 </div><div class='input-group-radio'> 7806 <input type='radio' style='display:none;' name='menu-item-option-radio-833119' class = 'radio-button-popup menu-option-radio-list' value='MTP03' price='44' ref='833119' id='833119-MTP03' plu='MTP03' menu-id='218242' > 7807 <label for='833119-MTP03' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$44</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7808 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 7809 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 7810 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p>
7811 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7812 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7813 <input type='checkbox' style='display:none;' ref='434076' name='item-option-radio-833119-124547' class='item-option-radio-list' value='3' id='item-option-833119-218242-434076' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7814 <label for='item-option-833119-218242-434076' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Ranch Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7815 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7816 <input type='checkbox' style='display:none;' ref='1692757' name='item-option-radio-833119-124547' class='item-option-radio-list' value='0' id='item-option-833119-218242-1692757' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7817 <label for='item-option-833119-218242-1692757' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Tomato Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7818 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7819 <input type='checkbox' style='display:none;' ref='1692758' name='item-option-radio-833119-124547' class='item-option-radio-list' value='0' id='item-option-833119-218242-1692758' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7820 <label for='item-option-833119-218242-1692758' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>BBQ Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7821 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7822 <input type='checkbox' style='display:none;' ref='1692759' name='item-option-radio-833119-124547' class='item-option-radio-list' value='3' id='item-option-833119-218242-1692759' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7823 <label for='item-option-833119-218242-1692759' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Garlic Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7824 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7825 <div class="modal-footer" style="text-align: center; position: relative;"> 7826 <div class="footer_mobile"></div> 7827 <div class="footer_overlay"></div> 7828 <div class="item-add-buttons"> 7829 <div class="col-md-3" style="padding: 0;"> 7830 <div class="qty-selection"> 7831 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833119"><i class="glyphicon glyphicon-minus"></i></button> 7832 <label id="qty-833119" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7833 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833119"><i class="glyphicon glyphicon-plus"></i></button> 7834 </div> 7835 </div> 7836 <div class="col-md-6"> 7837 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833119" ref="STP03"/> 7838 </div> 7839 <div class="col-md-3" style="padding: 0;"> 7840 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7841 <p class="popup-item-price" style="text-align: right;"></p> 7842 </div> 7843 </div> 7844 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833119-218242" id="833119" menu-id="218242" ref="STP03" /></div></div></li><li 7845 id="HoneyCartel_833113_218242" 7846 style="" 7847 class="group" 7848 data-track-items="true" 7849 data-plu="" 7850 data-item-name="Honey Cartel" 7851 data-item-category="Pizza" 7852 7853 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="visual-tag-container"> 7854 <div class="badge"> 7855
7856 <span class="visual-tag-label">Staff Favourite</span> 7857 </div></div><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7858 Honey Cartel<div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-extra-spicy.png"/></div></div></div></div><div class="clear"></div><div class="item-description">Spiced tomato sauce, ground beef, onion, capsicum, jalapeno, semi dried tomato. pepperoni & Hot Honey</div><div id='item-buttons'> 7859 <div class='modal modal-popup fade' id='add-popup-833113-218242' role='dialog'> 7860 <div class='modal-dialog modal-dialog-popup' > 7861 <div class='modal-content modal-content-popup'> 7862 <div class='modal-header'> 7863 <p class='close close-popup' data-dismiss='modal'>×</p> 7864 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7865 <span>Honey Cartel</span><div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-extra-spicy.png"/></div></div> 7866 </h4> 7867 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Spiced tomato sauce, ground beef, onion, capsicum, jalapeno, semi dried tomato. pepperoni & Hot Honey</div> 7868 </div> 7869 <div class='modal-body' style='background: #ececec78;'> 7870 <p class='alert alert-danger' id='toppings_left'></p> 7871 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7872 <div class='menu-item-option'> 7873 <div class='menu-item-option menu-item-option-popup' id='menu-833113' ref='833113'><div class='input-group-radio'> 7874 <input type='radio' style='display:none;' name='menu-item-option-radio-833113' class = 'radio-button-popup menu-option-radio-list' value='STP27' price='39' ref='833113' id='833113-STP27' plu='STP27' menu-id='218242' > 7875 <label for='833113-STP27' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$39</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7876 </div><div class='input-group-radio'> 7877 <input type='radio' style='display:none;' name='menu-item-option-radio-833113' class = 'radio-button-popup menu-option-radio-list' value='BTP27' price='74' ref='833113' id='833113-BTP27' plu='BTP27' menu-id='218242' > 7878 <label for='833113-BTP27' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$74</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7879 </div></div></div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7880 <div class="modal-footer" style="text-align: center; position: relative;"> 7881 <div class="footer_mobile"></div> 7882 <div class="footer_overlay"></div> 7883 <div class="item-add-buttons"> 7884 <div class="col-md-3" style="padding: 0;"> 7885 <div class="qty-selection"> 7886 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833113"><i class="glyphicon glyphicon-minus"></i></button> 7887 <label id="qty-833113" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7888 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833113"><i class="glyphicon glyphicon-plus"></i></button> 7889 </div> 7890 </div> 7891 <div class="col-md-6"> 7892 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833113" ref="STP27"/> 7893 </div> 7894 <div class="col-md-3" style="padding: 0;"> 7895 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7896 <p class="popup-item-price" style="text-align: right;"></p> 7897 </div> 7898 </div> 7899 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833113-2
789918242" id="833113" menu-id="218242" ref="STP27" /></div></div></li><li 7900 id="TheBrooklyn_833120_218242" 7901 style="" 7902 class="group" 7903 data-track-items="true" 7904 data-plu="" 7905 data-item-name="The Brooklyn " 7906 data-item-category="Pizza" 7907 7908 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7909 The Brooklyn </div></div><div class="clear"></div><div class="item-description">Loaded Pepperoni, Pizza Sauce & Cheese</div><div id='item-buttons'> 7910 <div class='modal modal-popup fade' id='add-popup-833120-218242' role='dialog'> 7911 <div class='modal-dialog modal-dialog-popup' > 7912 <div class='modal-content modal-content-popup'> 7913 <div class='modal-header'> 7914 <p class='close close-popup' data-dismiss='modal'>×</p> 7915 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7916 <span>The Brooklyn </span> 7917 </h4> 7918 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Loaded Pepperoni, Pizza Sauce & Cheese</div> 7919 </div> 7920 <div class='modal-body' style='background: #ececec78;'> 7921 <p class='alert alert-danger' id='toppings_left'></p> 7922 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7923 <div class='menu-item-option'> 7924 <div class='menu-item-option menu-item-option-popup' id='menu-833120' ref='833120'><div class='input-group-radio'> 7925 <input type='radio' style='display:none;' name='menu-item-option-radio-833120' class = 'radio-button-popup menu-option-radio-list' value='STP06' price='39' ref='833120' id='833120-STP06' plu='STP06' menu-id='218242' > 7926 <label for='833120-STP06' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$39</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7927 </div><div class='input-group-radio'> 7928 <input type='radio' style='display:none;' name='menu-item-option-radio-833120' class = 'radio-button-popup menu-option-radio-list' value='BTP06' price='74' ref='833120' id='833120-BTP06' plu='BTP06' menu-id='218242' > 7929 <label for='833120-BTP06' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$74</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7930 </div><div class='input-group-radio'> 7931 <input type='radio' style='display:none;' name='menu-item-option-radio-833120' class = 'radio-button-popup menu-option-radio-list' value='MTP06' price='44' ref='833120' id='833120-MTP06' plu='MTP06' menu-id='218242' > 7932 <label for='833120-MTP06' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$44</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7933 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 7934 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 7935 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p>
7936 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7937 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7938 <input type='checkbox' style='display:none;' ref='434076' name='item-option-radio-833120-124547' class='item-option-radio-list' value='3' id='item-option-833120-218242-434076' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7939 <label for='item-option-833120-218242-434076' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Ranch Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7940 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7941 <input type='checkbox' style='display:none;' ref='1692757' name='item-option-radio-833120-124547' class='item-option-radio-list' value='0' id='item-option-833120-218242-1692757' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7942 <label for='item-option-833120-218242-1692757' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Tomato Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7943 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7944 <input type='checkbox' style='display:none;' ref='1692758' name='item-option-radio-833120-124547' class='item-option-radio-list' value='0' id='item-option-833120-218242-1692758' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7945 <label for='item-option-833120-218242-1692758' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>BBQ Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7946 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7947 <input type='checkbox' style='display:none;' ref='1692759' name='item-option-radio-833120-124547' class='item-option-radio-list' value='3' id='item-option-833120-218242-1692759' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 7948 <label for='item-option-833120-218242-1692759' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Garlic Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 7949 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 7950 <div class="modal-footer" style="text-align: center; position: relative;"> 7951 <div class="footer_mobile"></div> 7952 <div class="footer_overlay"></div> 7953 <div class="item-add-buttons"> 7954 <div class="col-md-3" style="padding: 0;"> 7955 <div class="qty-selection"> 7956 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833120"><i class="glyphicon glyphicon-minus"></i></button> 7957 <label id="qty-833120" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7958 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833120"><i class="glyphicon glyphicon-plus"></i></button> 7959 </div> 7960 </div> 7961 <div class="col-md-6"> 7962 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833120" ref="STP06"/> 7963 </div> 7964 <div class="col-md-3" style="padding: 0;"> 7965 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7966 <p class="popup-item-price" style="text-align: right;"></p> 7967 </div> 7968 </div> 7969 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833120-218242" id="833120" menu-id="218242" ref="STP06" /></div></div></li><li 7970 id="ChickenKahuna_833123_218242" 7971 style="" 7972 class="group" 7973 data-track-items="true" 7974 data-plu="" 7975 data-item-name="Chicken Kahuna" 7976 data-item-category="Pizza" 7977 7978 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7979 Chicken Kahuna</div></div><div class="clear"></div><div class="item-description">BBQ Sauce Chicken, Streaky Bacon, Onion, Pineapple, Cheese </div><div id='item-buttons'> 7980 <div class='modal modal-popup fade' id='add-popup-833123-218242' role='dialog'> 7981 <div class='modal-dialog modal-dialog-popup' > 7982 <div class='modal-content modal-content-popup'> 7983 <div class='modal-header'> 7984 <p class='close close-popup' data-dismiss='modal'>×</p> 7985 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7986 <span>Chicken Kahuna</span> 7987 </h4> 7988 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>BBQ Sauce Chicken, Streaky Bacon, Onion, Pineapple, Cheese </div> 7989 </div> 7990 <div class='modal-body' style='background: #ececec78;'> 7991 <p class='alert alert-danger' id='toppings_left'></p> 7992 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7993 <div class='menu-item-option'> 7994 <div class='menu-item-option menu-item-option-popup' id='menu-833123' ref='833123'><div class='input-group-radio'> 7995 <input type='radio' style='display:none;' name='menu-item-option-radio-833123' class = 'radio-button-popup menu-option-radio-list' value='STP05' price='39' ref='833123' id='833123-STP05' plu='STP05' menu-id='218242' > 7996 <label for='833123-STP05' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$39</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 7997 </div><div class='input-group-radio'> 7998 <input type='radio' style='display:none;' name='menu-item-option-radio-833123' class = 'radio-button-popup menu-option-radio-list' value='BTP05' price='74' ref='833123' id='833123-BTP05' plu='BTP05' menu-id='218242' > 7999 <label for='833123-BTP05' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$74</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8000 </div><div class='input-group-radio'> 8001 <input type='radio' style='display:none;' name='menu-item-option-radio-833123' class = 'radio-button-popup menu-option-radio-list' value='MTP05' price='44' ref='833123' id='833123-MTP05' plu='MTP05' menu-id='218242' > 8002 <label for='833123-MTP05' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$44</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8003 </div></div></div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8004 <div class="modal-footer" style="text-align: center; position: relative;"> 8005 <div class="footer_mobile"></div> 8006 <div class="footer_overlay"></div> 8007 <div class="item-add-buttons"> 8008 <div class="col-md-3" style="padding: 0;"> 8009 <div class="qty-selection"> 8010 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833123"><i class="glyphicon glyphicon-minus"></i></button> 8011 <label id="qty-833123" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8012 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833123"><i class="glyphicon glyphicon-plus"></i></button> 8013 </div> 8014 </div> 8015 <div class="col-md-6"> 8016 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833123" ref="STP05"/> 8017 </div> 8018 <div class="col-md-3" style="padding: 0;"> 8019 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8020 <p class="popup-item-price" style="text-align: right;"></p> 8021 </div> 8022 </div> 8023 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833123-218242" id="833123" menu-id="218242" ref="STP05" /></div></div></li><li 8024 id="ChickenRanch_833121_218242" 8025 style="" 8026 class="group" 8027 data-track-items="true" 8028 data-plu="" 8029 data-item-name="Chicken Ranch" 8030 data-item-category="Pizza" 8031 8032 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8033 Chicken Ranch</div></div><div class="clear"></div><div class="item-description">Oven roasted chicken, onion, streaky bacon on creamy ranch dressing with buffalo sauce topper</div><div id='item-buttons'> 8034 <div class='modal modal-popup fade' id='add-popup-833121-218242' role='dialog'> 8035 <div class='modal-dialog modal-dialog-popup' > 8036 <div class='modal-content modal-content-popup'> 8037 <div class='modal-header'> 8038 <p class='close close-popup' data-dismiss='modal'>×</p> 8039 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8040 <span>Chicken Ranch</span> 8041 </h4> 8042 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Oven roasted chicken, onion, streaky bacon on creamy ranch dressing with buffalo sauce topper</div> 8043 </div> 8044 <div class='modal-body' style='background: #ececec78;'> 8045 <p class='alert alert-danger' id='toppings_left'></p> 8046 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8047 <div class='menu-item-option'> 8048 <div class='menu-item-option menu-item-option-popup' id='menu-833121' ref='833121'><div class='input-group-radio'> 8049 <input type='radio' style='display:none;' name='menu-item-option-radio-833121' class = 'radio-button-popup menu-option-radio-list' value='STP21' price='39' ref='833121' id='833121-STP21' plu='STP21' menu-id='218242' > 8050 <label for='833121-STP21' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$39</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8051 </div><div class='input-group-radio'> 8052 <input type='radio' style='display:none;' name='menu-item-option-radio-833121' class = 'radio-button-popup menu-option-radio-list' value='BTP21' price='74' ref='833121' id='833121-BTP21' plu='BTP21' menu-id='218242' > 8053 <label for='833121-BTP21' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$74</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8054 </div><div class='input-group-radio'> 8055 <input type='radio' style='display:none;' name='menu-item-option-radio-833121' class = 'radio-button-popup menu-option-radio-list' value='MTP21' price='44' ref='833121' id='833121-MTP21' plu='MTP21' menu-id='218242' > 8056 <label for='833121-MTP21' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$44</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8057 </div></div></div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8058 <div class="modal-footer" style="text-align: center; position: relative;"> 8059 <div class="footer_mobile"></div> 8060 <div class="footer_overlay"></div> 8061 <div class="item-add-buttons"> 8062 <div class="col-md-3" style="padding: 0;"> 8063 <div class="qty-selection"> 8064 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833121"><i class="glyphicon glyphicon-minus"></i></button> 8065 <label id="qty-833121" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8066 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833121"><i class="glyphicon glyphicon-plus"></i></button> 8067 </div> 8068 </div> 8069 <div class="col-md-6"> 8070 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833121" ref="STP21"/> 8071 </div> 8072 <div class="col-md-3" style="padding: 0;"> 8073 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8074 <p class="popup-item-price" style="text-align: right;"></p> 8075 </div> 8076 </div> 8077 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833121-218242" id="833121" menu-id="218242" ref="STP21" /></div></div></li><li 8078 id="BuffaloSoldier_833122_218242" 8079 style="" 8080 class="group" 8081 data-track-items="true" 8082 data-plu="" 8083 data-item-name="Buffalo Soldier" 8084 data-item-category="Pizza" 8085 8086 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="visual-tag-container"> 8087 <div class="badge"> 8088
8089 <span class="visual-tag-label">Chef's Recommendation</span> 8090 </div></div><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8091 Buffalo Soldier<div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-spicy.png"/></div></div></div></div><div class="clear"></div><div class="item-description">BBQ Sauce, Chicken, Onion, Bacon, Jalapeno, Ranch & Spicy Buffalo Sauce top</div><div id='item-buttons'> 8092 <div class='modal modal-popup fade' id='add-popup-833122-218242' role='dialog'> 8093 <div class='modal-dialog modal-dialog-popup' > 8094 <div class='modal-content modal-content-popup'> 8095 <div class='modal-header'> 8096 <p class='close close-popup' data-dismiss='modal'>×</p> 8097 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 8098 <span>Buffalo Soldier</span><div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-spicy.png"/></div></div> 8099 </h4> 8100 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>BBQ Sauce, Chicken, Onion, Bacon, Jalapeno, Ranch & Spicy Buffalo Sauce top</div> 8101 </div> 8102 <div class='modal-body' style='background: #ececec78;'> 8103 <p class='alert alert-danger' id='toppings_left'></p> 8104 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8105 <div class='menu-item-option'> 8106 <div class='menu-item-option menu-item-option-popup' id='menu-833122' ref='833122'><div class='input-group-radio'> 8107 <input type='radio' style='display:none;' name='menu-item-option-radio-833122' class = 'radio-button-popup menu-option-radio-list' value='STP18' price='39' ref='833122' id='833122-STP18' plu='STP18' menu-id='218242' > 8108 <label for='833122-STP18' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$39</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8109 </div><div class='input-group-radio'> 8110 <input type='radio' style='display:none;' name='menu-item-option-radio-833122' class = 'radio-button-popup menu-option-radio-list' value='BTP18' price='74' ref='833122' id='833122-BTP18' plu='BTP18' menu-id='218242' > 8111 <label for='833122-BTP18' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$74</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8112 </div><div class='input-group-radio'> 8113 <input type='radio' style='display:none;' name='menu-item-option-radio-833122' class = 'radio-button-popup menu-option-radio-list' value='MTP18' price='44' ref='833122' id='833122-MTP18' plu='MTP18' menu-id='218242' > 8114 <label for='833122-MTP18' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$44</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8115 </div></div></div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8116 <div class="modal-footer" style="text-align: center; position: relative;"> 8117 <div class="footer_mobile"></div> 8118 <div class="footer_overlay"></div> 8119 <div class="item-add-buttons"> 8120 <div class="col-md-3" style="padding: 0;"> 8121 <div class="qty-selection"> 8122 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833122"><i class="glyphicon glyphicon-minus"></i></button> 8123 <label id="qty-833122" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8124 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833122"><i class="glyphicon glyphicon-plus"></i></button> 8125 </div> 8126 </div> 8127 <div class="col-md-6"> 8128 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833122" ref="STP18"/> 8129 </div> 8130 <div class="col-md-3" style="padding: 0;"> 8131 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8132 <p class="popup-item-price" style="text-align: right;"></p> 8133 </div> 8134 </div> 8135 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833122-218242" id="833122" menu-id="218242" ref="STP18" /></div></div></li><li 8136 id="LambYirosPizza_833114_218242" 8137 style="" 8138 class="group" 8139 data-track-items="true" 8140 data-plu="" 8141 data-item-name="Lamb Yiros P
8141izza " 8142 data-item-category="Pizza" 8143 8144 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8145 Lamb Yiros Pizza </div></div><div class="clear"></div><div class="item-description">Lamb Yiros meat, onion, capsicum, semi dried tomato and tzatziki garlic sauce </div><div id='item-buttons'> 8146 <div class='modal modal-popup fade' id='add-popup-833114-218242' role='dialog'> 8147 <div class='modal-dialog modal-dialog-popup' > 8148 <div class='modal-content modal-content-popup'> 8149 <div class='modal-header'> 8150 <p class='close close-popup' data-dismiss='modal'>×</p> 8151 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 8152 <span>Lamb Yiros Pizza </span> 8153 </h4> 8154 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Lamb Yiros meat, onion, capsicum, semi dried tomato and tzatziki garlic sauce </div> 8155 </div> 8156 <div class='modal-body' style='background: #ececec78;'> 8157 <p class='alert alert-danger' id='toppings_left'></p> 8158 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8159 <div class='menu-item-option'> 8160 <div class='menu-item-option menu-item-option-popup' id='menu-833114' ref='833114'><div class='input-group-radio'> 8161 <input type='radio' style='display:none;' name='menu-item-option-radio-833114' class = 'radio-button-popup menu-option-radio-list' value='STP20' price='46' ref='833114' id='833114-STP20' plu='STP20' menu-id='218242' > 8162 <label for='833114-STP20' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$46</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8163 </div><div class='input-group-radio'> 8164 <input type='radio' style='display:none;' name='menu-item-option-radio-833114' class = 'radio-button-popup menu-option-radio-list' value='BTP20' price='84' ref='833114' id='833114-BTP20' plu='BTP20' menu-id='218242' > 8165 <label for='833114-BTP20' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$84</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8166 </div><div class='input-group-radio'> 8167 <input type='radio' style='display:none;' name='menu-item-option-radio-833114' class = 'radio-button-popup menu-option-radio-list' value='MTP20' price='51' ref='833114' id='833114-MTP20' plu='MTP20' menu-id='218242' > 8168 <label for='833114-MTP20' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$51</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8169 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 8170 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 8171 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p>
8172 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 8173 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8174 <input type='checkbox' style='display:none;' ref='434076' name='item-option-radio-833114-124547' class='item-option-radio-list' value='3' id='item-option-833114-218242-434076' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 8175 <label for='item-option-833114-218242-434076' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Ranch Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8176 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8177 <input type='checkbox' style='display:none;' ref='1692757' name='item-option-radio-833114-124547' class='item-option-radio-list' value='0' id='item-option-833114-218242-1692757' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 8178 <label for='item-option-833114-218242-1692757' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Tomato Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8179 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8180 <input type='checkbox' style='display:none;' ref='1692758' name='item-option-radio-833114-124547' class='item-option-radio-list' value='0' id='item-option-833114-218242-1692758' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 8181 <label for='item-option-833114-218242-1692758' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>BBQ Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8182 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8183 <input type='checkbox' style='display:none;' ref='1692759' name='item-option-radio-833114-124547' class='item-option-radio-list' value='3' id='item-option-833114-218242-1692759' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 8184 <label for='item-option-833114-218242-1692759' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Garlic Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8185 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8186 <div class="modal-footer" style="text-align: center; position: relative;"> 8187 <div class="footer_mobile"></div> 8188 <div class="footer_overlay"></div> 8189 <div class="item-add-buttons"> 8190 <div class="col-md-3" style="padding: 0;"> 8191 <div class="qty-selection"> 8192 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833114"><i class="glyphicon glyphicon-minus"></i></button> 8193 <label id="qty-833114" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8194 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833114"><i class="glyphicon glyphicon-plus"></i></button> 8195 </div> 8196 </div> 8197 <div class="col-md-6"> 8198 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833114" ref="STP20"/> 8199 </div> 8200 <div class="col-md-3" style="padding: 0;"> 8201 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8202 <p class="popup-item-price" style="text-align: right;"></p> 8203 </div> 8204 </div> 8205 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833114-218242" id="833114" menu-id="218242" ref="STP20" /></div></div></li><li 8206 id="PizzaDiavola_833124_218242" 8207 style="" 8208 class="group" 8209 data-track-items="true" 8210 data-plu="" 8211 data-item-name="Pizza Diavola" 8212 data-item-category="Pizza" 8213 8214 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8215 Pizza Diavola<div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-medium-spicy.png"/></div></div></div></div><div class="clear"></div><div class="item-description">Tomato pizza sauce, chili flakes, onion, mushroom, olives, pepperoni & anchovy</div><div id='item-buttons'> 8216 <div class='modal modal-popup fade' id='add-popup-833124-2
821618242' role='dialog'> 8217 <div class='modal-dialog modal-dialog-popup' > 8218 <div class='modal-content modal-content-popup'> 8219 <div class='modal-header'> 8220 <p class='close close-popup' data-dismiss='modal'>×</p> 8221 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 8222 <span>Pizza Diavola</span><div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-medium-spicy.png"/></div></div> 8223 </h4> 8224 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Tomato pizza sauce, chili flakes, onion, mushroom, olives, pepperoni & anchovy</div> 8225 </div> 8226 <div class='modal-body' style='background: #ececec78;'> 8227 <p class='alert alert-danger' id='toppings_left'></p> 8228 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8229 <div class='menu-item-option'> 8230 <div class='menu-item-option menu-item-option-popup' id='menu-833124' ref='833124'><div class='input-group-radio'> 8231 <input type='radio' style='display:none;' name='menu-item-option-radio-833124' class = 'radio-button-popup menu-option-radio-list' value='STP19' price='39' ref='833124' id='833124-STP19' plu='STP19' menu-id='218242' > 8232 <label for='833124-STP19' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$39</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8233 </div><div class='input-group-radio'> 8234 <input type='radio' style='display:none;' name='menu-item-option-radio-833124' class = 'radio-button-popup menu-option-radio-list' value='BTP19' price='74' ref='833124' id='833124-BTP19' plu='BTP19' menu-id='218242' > 8235 <label for='833124-BTP19' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$74</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8236 </div><div class='input-group-radio'> 8237 <input type='radio' style='display:none;' name='menu-item-option-radio-833124' class = 'radio-button-popup menu-option-radio-list' value='MTP19' price='44' ref='833124' id='833124-MTP19' plu='MTP19' menu-id='218242' > 8238 <label for='833124-MTP19' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$44</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8239 </div></div></div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8240 <div class="modal-footer" style="text-align: center; position: relative;"> 8241 <div class="footer_mobile"></div> 8242 <div class="footer_overlay"></div> 8243 <div class="item-add-buttons"> 8244 <div class="col-md-3" style="padding: 0;"> 8245 <div class="qty-selection"> 8246 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833124"><i class="glyphicon glyphicon-minus"></i></button> 8247 <label id="qty-833124" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8248 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833124"><i class="glyphicon glyphicon-plus"></i></button> 8249 </div> 8250 </div> 8251 <div class="col-md-6"> 8252 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833124" ref="STP19"/> 8253 </div> 8254 <div class="col-md-3" style="padding: 0;"> 8255 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8256 <p class="popup-item-price" style="text-align: right;"></p> 8257 </div> 8258 </div> 8259 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833124-2
825918242" id="833124" menu-id="218242" ref="STP19" /></div></div></li><li 8260 id="ThePrawnHub_833125_218242" 8261 style="" 8262 class="group" 8263 data-track-items="true" 8264 data-plu="" 8265 data-item-name="The Prawn Hub " 8266 data-item-category="Pizza" 8267 8268 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8269 The Prawn Hub </div></div><div class="clear"></div><div class="item-description">Prawns, onion and semi dried tomato on creamy garlic sauce base </div><div id='item-buttons'> 8270 <div class='modal modal-popup fade' id='add-popup-833125-218242' role='dialog'> 8271 <div class='modal-dialog modal-dialog-popup' > 8272 <div class='modal-content modal-content-popup'> 8273 <div class='modal-header'> 8274 <p class='close close-popup' data-dismiss='modal'>×</p> 8275 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 8276 <span>The Prawn Hub </span> 8277 </h4> 8278 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Prawns, onion and semi dried tomato on creamy garlic sauce base </div> 8279 </div> 8280 <div class='modal-body' style='background: #ececec78;'> 8281 <p class='alert alert-danger' id='toppings_left'></p> 8282 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8283 <div class='menu-item-option'> 8284 <div class='menu-item-option menu-item-option-popup' id='menu-833125' ref='833125'><div class='input-group-radio'> 8285 <input type='radio' style='display:none;' name='menu-item-option-radio-833125' class = 'radio-button-popup menu-option-radio-list' value='STP10' price='46' ref='833125' id='833125-STP10' plu='STP10' menu-id='218242' > 8286 <label for='833125-STP10' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$46</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8287 </div><div class='input-group-radio'> 8288 <input type='radio' style='display:none;' name='menu-item-option-radio-833125' class = 'radio-button-popup menu-option-radio-list' value='BTP10' price='84' ref='833125' id='833125-BTP10' plu='BTP10' menu-id='218242' > 8289 <label for='833125-BTP10' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$84</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8290 </div><div class='input-group-radio'> 8291 <input type='radio' style='display:none;' name='menu-item-option-radio-833125' class = 'radio-button-popup menu-option-radio-list' value='MTP10' price='51' ref='833125' id='833125-MTP10' plu='MTP10' menu-id='218242' > 8292 <label for='833125-MTP10' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$51</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8293 </div></div></div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8294 <div class="modal-footer" style="text-align: center; position: relative;"> 8295 <div class="footer_mobile"></div> 8296 <div class="footer_overlay"></div> 8297 <div class="item-add-buttons"> 8298 <div class="col-md-3" style="padding: 0;"> 8299 <div class="qty-selection"> 8300 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833125"><i class="glyphicon glyphicon-minus"></i></button> 8301 <label id="qty-833125" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8302 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833125"><i class="glyphicon glyphicon-plus"></i></button> 8303 </div> 8304 </div> 8305 <div class="col-md-6"> 8306 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833125" ref="STP10"/> 8307 </div> 8308 <div class="col-md-3" style="padding: 0;"> 8309 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8310 <p class="popup-item-price" style="text-align: right;"></p> 8311 </div> 8312 </div> 8313 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833125-218242" id="833125" menu-id="218242" ref="STP10" /></div></div></li><li 8314 id="TheStraya_833126_218242" 8315 style="" 8316 class="group" 8317 data-track-items="true" 8318 data-plu="" 8319 data-item-name="The Straya" 8320 data-item-category="Pizza" 8321 8322 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8323 The Straya</div></div><div class="clear"></div><div class="item-description">
8323Garlic Sauce, Creamy Egg, Caramelised Onion & Mushroom, Spinach, Cheese, Bacon & Buffalo Hollandaise</div><div id='item-buttons'> 8324 <div class='modal modal-popup fade' id='add-popup-833126-218242' role='dialog'> 8325 <div class='modal-dialog modal-dialog-popup' > 8326 <div class='modal-content modal-content-popup'> 8327 <div class='modal-header'> 8328 <p class='close close-popup' data-dismiss='modal'>×</p> 8329 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 8330 <span>The Straya</span> 8331 </h4> 8332 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Garlic Sauce, Creamy Egg, Caramelised Onion & Mushroom, Spinach, Cheese, Bacon & Buffalo Hollandaise</div> 8333 </div> 8334 <div class='modal-body' style='background: #ececec78;'> 8335 <p class='alert alert-danger' id='toppings_left'></p> 8336 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8337 <div class='menu-item-option'> 8338 <div class='menu-item-option menu-item-option-popup' id='menu-833126' ref='833126'><div class='input-group-radio'> 8339 <input type='radio' style='display:none;' name='menu-item-option-radio-833126' class = 'radio-button-popup menu-option-radio-list' value='STP22' price='46' ref='833126' id='833126-STP22' plu='STP22' menu-id='218242' > 8340 <label for='833126-STP22' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$46</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8341 </div><div class='input-group-radio'> 8342 <input type='radio' style='display:none;' name='menu-item-option-radio-833126' class = 'radio-button-popup menu-option-radio-list' value='BTP22' price='84' ref='833126' id='833126-BTP22' plu='BTP22' menu-id='218242' > 8343 <label for='833126-BTP22' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$84</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8344 </div><div class='input-group-radio'> 8345 <input type='radio' style='display:none;' name='menu-item-option-radio-833126' class = 'radio-button-popup menu-option-radio-list' value='MTP22' price='51' ref='833126' id='833126-MTP22' plu='MTP22' menu-id='218242' > 8346 <label for='833126-MTP22' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$51</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8347 </div></div></div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8348 <div class="modal-footer" style="text-align: center; position: relative;"> 8349 <div class="footer_mobile"></div> 8350 <div class="footer_overlay"></div> 8351 <div class="item-add-buttons"> 8352 <div class="col-md-3" style="padding: 0;"> 8353 <div class="qty-selection"> 8354 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833126"><i class="glyphicon glyphicon-minus"></i></button> 8355 <label id="qty-833126" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8356 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833126"><i class="glyphicon glyphicon-plus"></i></button> 8357 </div> 8358 </div> 8359 <div class="col-md-6"> 8360 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833126" ref="STP22"/> 8361 </div> 8362 <div class="col-md-3" style="padding: 0;"> 8363 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8364 <p class="popup-item-price" style="text-align: right;"></p> 8365 </div> 8366 </div> 8367 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833126-218242" id="833126" menu-id="218242" ref="STP22" /></div></div></li><li 8368 id="CheesyPleasy_833127_218242" 8369 style="" 8370 class="group" 8371 data-track-items="true" 8372 data-plu="" 8373 data-item-name="Cheesy Pleasy" 8374 data-item-category="Pizza" 8375 8376 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8377 Cheesy Pleasy<div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-vegetarian.png"/></div></div></div></div><div class="clear"></div><div class="item-description">Pizza sauce, double mozzarella and cheddar cheese 8378</div><div id='item-buttons'> 8379 <div class='modal modal-popup fade' id='add-popup-833127-218242' role='dialog'> 8380 <div class='modal-dialog modal-dialog-popup' > 8381 <div class='modal-content modal-content-popup'> 8382 <div class='modal-header'> 8383 <p class='close close-popup' data-dismiss='modal'>×</p> 8384 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8385 <span>Cheesy Pleasy</span><div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-vegetarian.png"/></div></div> 8386 </h4> 8387 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Pizza sauce, double mozzarella and cheddar cheese 8388</div> 8389 </div> 8390 <div class='modal-body' style='background: #ececec78;'> 8391 <p class='alert alert-danger' id='toppings_left'></p> 8392 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8393 <div class='menu-item-option'> 8394 <div class='menu-item-option menu-item-option-popup' id='menu-833127' ref='833127'><div class='input-group-radio'> 8395 <input type='radio' style='display:none;' name='menu-item-option-radio-833127' class = 'radio-button-popup menu-option-radio-list' value='STP11' price='36' ref='833127' id='833127-STP11' plu='STP11' menu-id='218242' > 8396 <label for='833127-STP11' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$36</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8397 </div><div class='input-group-radio'> 8398 <input type='radio' style='display:none;' name='menu-item-option-radio-833127' class = 'radio-button-popup menu-option-radio-list' value='BTP11' price='69' ref='833127' id='833127-BTP11' plu='BTP11' menu-id='218242' > 8399 <label for='833127-BTP11' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$69</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8400 </div><div class='input-group-radio'> 8401 <input type='radio' style='display:none;' name='menu-item-option-radio-833127' class = 'radio-button-popup menu-option-radio-list' value='MTP11' price='41' ref='833127' id='833127-MTP11' plu='MTP11' menu-id='218242' > 8402 <label for='833127-MTP11' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$41</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8403 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 8404 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 8405 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p> 8406 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 8407 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8408 <input type='checkbox' style='display:none;' ref='434076' name='item-option-radio-833127-124547' class='item-option-radio-list' value='3' id='item-option-833127-218242-434076' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 8409 <label for='item-option-833127-218242-434076' style='font-weight:normal
8409!important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Ranch Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8410 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8411 <input type='checkbox' style='display:none;' ref='1692757' name='item-option-radio-833127-124547' class='item-option-radio-list' value='0' id='item-option-833127-218242-1692757' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 8412 <label for='item-option-833127-218242-1692757' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Tomato Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8413 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8414 <input type='checkbox' style='display:none;' ref='1692758' name='item-option-radio-833127-124547' class='item-option-radio-list' value='0' id='item-option-833127-218242-1692758' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 8415 <label for='item-option-833127-218242-1692758' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>BBQ Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8416 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8417 <input type='checkbox' style='display:none;' ref='1692759' name='item-option-radio-833127-124547' class='item-option-radio-list' value='3' id='item-option-833127-218242-1692759' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 8418 <label for='item-option-833127-218242-1692759' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Garlic Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8419 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8420 <div class="modal-footer" style="text-align: center; position: relative;"> 8421 <div class="footer_mobile"></div> 8422 <div class="footer_overlay"></div> 8423 <div class="item-add-buttons"> 8424 <div class="col-md-3" style="padding: 0;"> 8425 <div class="qty-selection"> 8426 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833127"><i class="glyphicon glyphicon-minus"></i></button> 8427 <label id="qty-833127" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8428 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833127"><i class="glyphicon glyphicon-plus"></i></button> 8429 </div> 8430 </div> 8431 <div class="col-md-6"> 8432 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833127" ref="STP11"/> 8433 </div> 8434 <div class="col-md-3" style="padding: 0;"> 8435 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8436 <p class="popup-item-price" style="text-align: right;"></p> 8437 </div> 8438 </div> 8439 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833127-218242" id="833127" menu-id="218242" ref="STP11" /></div></div></li><li 8440 id="Pizzatarian_833128_218242" 8441 style="" 8442 class="group" 8443 data-track-items="true" 8444 data-plu="" 8445 data-item-name="Pizzatarian" 8446 data-item-category="Pizza" 8447 8448 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8449 Pizzatarian<div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-vegetarian.png"/></div></div></div></div><div class="clear"></div><div class="item-description">Caramelized Onion, Mushroom, Capsicum, Kalamata Olives & semi dried tomato </div><div id='item-buttons'> 8450 <div class='modal modal-popup fade' id='add-popup-833128-218242' role='dialog'> 8451 <div class='modal-dialog modal-dialog-popup' > 8452 <div class='modal-content modal-content-popup'> 8453 <div class='modal-header'> 8454 <p class='close close-popup' data-dismiss='modal'>×</p> 8455 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8456 <span>Pizzatarian</span><div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-vegetarian.png"/></div></div> 8457 </h4> 8458 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Caramelized Onion, Mushroom, Capsicum, Kalamata Olives & semi dried tomato </div> 8459 </div> 8460 <div class='modal-body' style='background: #ececec78;'> 8461 <p class='alert alert-danger' id='toppings_left'></p> 8462 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8463 <div class='menu-item-option'> 8464 <div class='menu-item-option menu-item-option-popup' id='menu-833128' ref='833128'><div class='input-group-radio'> 8465 <input type='radio' style='display:none;' name='menu-item-option-radio-833128' class = 'radio-button-popup menu-option-radio-list' value='STP17' price='39' ref='833128' id='833128-STP17' plu='STP17' menu-id='218242' > 8466 <label for='833128-STP17' class= 'active input-group-label' hide_toppings='0' style='font-weight: normal;' >12" Smallboy <span id='popup-price'>$39</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8467 </div><div class='input-group-radio'> 8468 <input type='radio' style='display:none;' name='menu-item-option-radio-833128' class = 'radio-button-popup menu-option-radio-list' value='BTP17' price='74' ref='833128' id='833128-BTP17' plu='BTP17' menu-id='218242' > 8469 <label for='833128-BTP17' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >18" Bigboy <span id='popup-price'>$74</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8470 </div><div class='input-group-radio'> 8471 <input type='radio' style='display:none;' name='menu-item-option-radio-833128' class = 'radio-button-popup menu-option-radio-list' value='MTP17' price='44' ref='833128' id='833128-MTP17' plu='MTP17' menu-id='218242' > 8472 <label for='833128-MTP17' class= ' input-group-label' hide_toppings='0' style='font-weight: normal;' >Gluten Free Pizza Base 12" <span id='popup-price'>$44</span><img src='' class='check-img-popup' style='float: right; align-self:center'></label> 8473 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 8474 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 8475 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p> 8476 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 8477 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8478 <input type='checkbox' style='display:none;' ref='434076' name='item-option-radio-833128-124547' class='item-option-radio-list' value='3' id='item-option-833128-218242-434076' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 8479 <label for='item-option-833128-218242-434076' style='font-weight:normal
8479!important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Ranch Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8480 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8481 <input type='checkbox' style='display:none;' ref='1692757' name='item-option-radio-833128-124547' class='item-option-radio-list' value='0' id='item-option-833128-218242-1692757' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 8482 <label for='item-option-833128-218242-1692757' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Tomato Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8483 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8484 <input type='checkbox' style='display:none;' ref='1692758' name='item-option-radio-833128-124547' class='item-option-radio-list' value='0' id='item-option-833128-218242-1692758' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 8485 <label for='item-option-833128-218242-1692758' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>BBQ Base<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8486 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8487 <input type='checkbox' style='display:none;' ref='1692759' name='item-option-radio-833128-124547' class='item-option-radio-list' value='3' id='item-option-833128-218242-1692759' multiple-io='true' mio-id='124547' min-io='1' max-io='1' > 8488 <label for='item-option-833128-218242-1692759' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>Garlic Base - $3<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8489 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8490 <div class="modal-footer" style="text-align: center; position: relative;"> 8491 <div class="footer_mobile"></div> 8492 <div class="footer_overlay"></div> 8493 <div class="item-add-buttons"> 8494 <div class="col-md-3" style="padding: 0;"> 8495 <div class="qty-selection"> 8496 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833128"><i class="glyphicon glyphicon-minus"></i></button> 8497 <label id="qty-833128" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8498 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833128"><i class="glyphicon glyphicon-plus"></i></button> 8499 </div> 8500 </div> 8501 <div class="col-md-6"> 8502 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="833128" ref="STP17"/> 8503 </div> 8504 <div class="col-md-3" style="padding: 0;"> 8505 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8506 <p class="popup-item-price" style="text-align: right;"></p> 8507 </div> 8508 </div> 8509 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-833128-218242" id="833128" menu-id="218242" ref="STP17" /></div></div></li> </ul> 8510 <div class="spacer"></div> 8511 </div> 8512 <div id="menu-218242-upsell-items" style="display:none"> 8513 <div class="upsell-container"><div class="upsell-header">You may also like:</div><label for="upsell-item-218242-DR01" class="upsell-item"><div class="upsell-image-container" style="background-image: url('https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/coke_1.25.webp')"></div><div class="upsell-description p-upsell"> 8514 <h5><b>1.25L COKE</b></h5><p></p><h5 class="text-muted"><b>$8</b></h5></div> <div class="upsell-chkbox-container p-upsell"> 8515 <input id="upsell-item-218242-DR01" class="upsell-item-chkbox" data-plu="DR01" data-price="8" t
8515ype="checkbox"> 8516 <span></span> 8517 </div></label><label for="upsell-item-218242-M04" class="upsell-item"><div class="upsell-image-container" style="background-image: url('https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/6_pack_BBQ_Wings.webp')"></div><div class="upsell-description p-upsell"> 8518 <h5><b>CHICKEN WINGS 6 PACK (BBQ)</b></h5><p>6 chicken wing bits with BBQ Sauce</p><h5 class="text-muted"><b>$14</b></h5></div> <div class="upsell-chkbox-container p-upsell"> 8519 <input id="upsell-item-218242-M04" class="upsell-item-chkbox" data-plu="M04" data-price="14" type="checkbox"> 8520 <span></span> 8521 </div></label><label for="upsell-item-218242-SID01" class="upsell-item"><div class="upsell-image-container" style="background-image: url('https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/Garlic_Bread.webp')"></div><div class="upsell-description p-upsell"> 8522 <h5><b>GARLIC BREAD</b></h5><p>9" Sliced Garlic Bread</p><h5 class="text-muted"><b>$8</b></h5></div> <div class="upsell-chkbox-container p-upsell"> 8523 <input id="upsell-item-218242-SID01" class="upsell-item-chkbox" data-plu="SID01" data-price="8" type="checkbox"> 8524 <span></span> 8525 </div></label></div> </div> 8526 8527 <div id='menu-desc-footer'>Please note: Dough Boyz is not a certified gluten-free kitchen. Cross-contamination may occur. Not suitable for customers with Coeliac disease or severe wheat allergies.</div> 8528</div> 8529 8530<div class='menu-item mi-218241' id='pizza-halfhalf-block' style=''> 8531 8532 <h1>Pizza Half/Half</h1> <div id='menu_items' data-menuid='218241'> 8533 <div id='menu-desc-header'><div class='alert alert-danger pizza-halfhalf-block-active-time hide-menu-active-times' style='display:none;' data-from='0' data-till='0'>Available only during 09:30 am - 09:30 am </div></div> 8534 <ul id='pizza-half/half'> 8535 <li 8536 id="HalfHalf_4148976_218241" 8537 style="" 8538 class="single" 8539 data-track-items="true" 8540 data-plu="HH" 8541 data-item-name="Half/Half" 8542 data-item-category="Pizza Half/Half" 8543 data-price="2" 8544 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 8545 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 8546 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/HALF_HALF.webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8547 Half/Half</div><div class="item-price pt-0"><span class="dollar-sign">$</span>2</div></div><div class="clear"></div><div class="item-description"></div><div id='item-buttons'><div class="modal modal-popup modal-hh fade" id="add-popup-HH" role="dialog"> 8548 <div class="modal-dialog modal-dialog-popup"> 8549 <div class="modal-content modal-content-popup"> 8550 <div class="modal-header" style="background-color:unset;"> 8551 <p class="close close-popup hh-close-popup" style="color:#000 !important;" data-dismiss="modal">×</p> 8552 <div id="modal-header-main"> 8553 <h4 class="modal-title" style="color:#000 !important;">Half/Half</h4> 8554 <div class="modal-title item-description-popup" style="color:#000 !important;"></div> 8555 </div> 8556 <div id="modal-header-hh" class="hide"> 8557 <h4 class="modal-title" style="float:left; color:#000 !important;">Choose Your First Half</h4> 8558 <div class="return-btn" style="float:right;"> 8559 <button id="back-to-main">← Back</button> 8560 </div> 8561 <div style="float:right;" class="return-btn hide"> 8562 <button id="back-to-pizza" class="change-half">← Change Pizza</button> 8563 </div> 8564 </div> 8565 </div> 8566 <div class="modal-body"> 8567 <div id="modal-body-main"><p class="hh-size">
8568 <span style="color:#000 !important;">Select Size</span><br><span style="color:#000 !important;" class="hh-surcharge" surcharge=2>*includes $2 surcharge</span></p> 8569 <div class="menu-item-option" style="padding:15px 15px 0px 15px;"> 8570 <div class="menu-item-option menu-item-option-popup" style="width:100% !important; display:inline-table; padding-bottom:0; margin-bottom:0;"><div class='input-group-radio'> 8571 <input type='radio' style='display:none;' name='menu-item-option-radio-HHS' class='menu-item-option-radio-HHS' value="18%22+Bigboy" id='HHS-18" Bigboy' > 8572 <label for='HHS-18" Bigboy' class='input-group-label'>18" BIGBOY</label> 8573 </div> </div> 8574 </div> <div id="hh-pizza-container"> 8575 <div class="lds-ring" style="display:none;"> 8576 <div></div> 8577 <div></div> 8578 <div></div> 8579 </div> 8580 <div class="hh-pizza-container"> <p class="hh-pizza"> 8581 <span style="color:#000 !important;">Select Your Pizzas</span><br> 8582 <span style="color:#000 !important;">Required</span> 8583 </p> 8584 <div style="padding:10px 15px;"> 8585 <p class="hh-first"> 8586 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/first_half.png"/> 8587 <span class="hh-first-item-label" style="color:#000 !important;">Select your first half</span> 8588 <span class="hh-first-icon glyphicon glyphicon-chevron-right"></span> 8589 </p> 8590 <p class="hh-second"> 8591 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/second_half.png"/> 8592 <span class="hh-second-item-label" style="color:#000 !important;">Select your second half</span> 8593 <span class="hh-second-icon glyphicon glyphicon-chevron-right"></span> 8594 </p> 8595 </div> </div> 8596 </div> 8597 </div> 8598 <div id="modal-body-hh" class="hide"> 8599 <div id="hh-first" class="hide"> 8600 <div class="lds-ring" style="display:none;"> 8601 <div></div> 8602 <div></div> 8603 <div></div> 8604 </div> 8605 <div id="hh-first-selected" class="hide"></div> 8606 <div id="hh-first-item-list" style="padding:30px 15px 10px 15px;"> </div> 8607 </div> 8608 <div id="hh-second" class="hide"> 8609 <div class="lds-ring" style="display:none;"> 8610 <div></div> 8611 <div></div> 8612 <div></div> 8613 </div> 8614 <div id="hh-second-selected" class="hide"></div> 8615 <div id="hh-second-item-list" style="padding:30px 15px 10px 15px;"> </div> 8616 </div> 8617 </div> 8618 </div> 8619 <div class="modal-footer" style="text-align: center; position: relative;"> 8620 <div class="footer_mobile"></div> 8621 <div class="footer_overlay"></div> 8622 <div class="item-add-buttons"> 8623 <div class="col-md-3 footer-space" style="padding:0;"></div> 8624 <div class="col-md-6 footer-buttons"> 8625 <div id="modal-footer-add"> 8626 <button class="btn" style="padding:10px 0 !important; width:100%; border-radius:0px !important;" id="add-half-half" menu-id="218241">Add</button> 8627 </div> 8628 <div id="modal-footer-next" class="hide"> 8629 <button class="btn" style="padding:10px 0 !important; width:100%; border-radius:0px !important;">Next</button> 8630 </div> 8631 <input type="hidden" name="first-half-plu" id="first-half-plu" value=""/> 8632 <input type="hidden" name="second-half-plu" id="second-half-plu" value=""/> 8633 </div> 8634 <div class="col-md-3 footer-price" style="padding:0; float:right;"> 8635 <p class="half-half-total">$0.00</p> 8636 <div class="hh-remaining-topping-orig" style="display:none;">12</div> 8637 <div class="hh-remaining-topping" style="display:none;">12</div> 8638 </div> 8639 </div> 8640 </div> 8641 </div> 8642 </div> 8643 </div> 8644 <div class="item-add-popup"> 8645 <input type="button" name="Add" value="Add" class="hh-button-popup" data-toggle="modal" data-target="#add-popup-HH" data-backdrop="static" data-keyboard="false"/> 8646 </div></div></div></li> </ul> 8647 <div class="spacer"></div> 8648 </div> 8649 8650 8651</div> 8652 8653<div class='menu-item mi-218239' id='desserts-block' style=''> 8654 8655 <h1>Desserts</h1> <div id='menu_items' data-menuid='218239'> 8656 <div id='menu-desc-header'><div class='alert alert-danger desserts-block-active-time hide-menu-active-times' style='display:none;' data-from='0' data-till='0'>Available only during 09:30 am - 09:30 am </div></div> 8657 <ul id='desserts'> 8658 <li 8659 id="ChocolateOozeCake_18945101_218239" 8660 style="" 8661 class="single" 8662 data-track-items="true" 8663 data-plu="DES16" 8664 data-item-name="Chocolate Ooze Cake" 8665 data-item-category="Desserts" 8666 data-price="10" 8667 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 8668 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 8669 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/ooze.webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8670 Chocolate Ooze Cake</div><div class="item-price"><span class="dollar-sign">$</span>10</div></div><div class="clear"></div><div class="item-description">Decadent chocolate cake topped with belgian chocolate sauce served warm</div><div id='item-buttons'> 8671 <div class='modal modal-popup fade' id='add-popup-DES16-218239' role='dialog'> 8672 <div class='modal-dialog modal-dialog-popup' > 8673 <div class='modal-content modal-content-popup'> 8674 <div class='modal-header'> 8675 <p class='close close-popup' data-dismiss='modal'>×</p> 8676 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8677 <span>Chocolate Ooze Cake</span> 8678 </h4> 8679 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Decadent chocolate cake topped with belgian chocolate sauce served warm</div> 8680 </div> 8681 <div class='modal-body' style='background: #ececec78;'> 8682 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 8683 <input type='radio' style='display:none;' name='menu-item-option-radio-DES16' class = 'radio-button-popup menu-option-radio-list' value='DES16' price='10' ref='DES16' id='DES16' plu='DES16' checked='checked'> 8684 <label for='DES16' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$10</span><img class='check-img-popup' style='float: right; align-self:center'></label> 8685 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8686 <div class="modal-footer" style="text-align: center; position: relative;"> 8687 <div class="footer_mobile"></div> 8688 <div class="footer_overlay"></div> 8689 <div class="item-add-buttons"> 8690 <div class="col-md-3" style="padding: 0;"> 8691 <div class="qty-selection"> 8692 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="DES16"><i class="glyphicon glyphicon-minus"></i></button> 8693 <label id="qty-DES16" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8694 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="DES16"><i class="glyphicon glyphicon-plus"></i></button> 8695 </div> 8696 </div> 8697 <div class="col-md-6"> 8698 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="DES16" ref="DES16"/> 8699 </div> 8700 <div class="col-md-3" style="padding: 0;"> 8701 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8702 <p class="popup-item-price" style="text-align: right;"></p> 8703 </div> 8704 </div> 8705 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-DES16-218239" id="DES16" menu-id="218239" ref="DES16" /></div></div></li><li 8706 id="CookiesCreamBrownieBites_19281070_218239" 8707 style="" 8708 class="single" 8709 data-track-items="true" 8710 data-plu="DES20" 8711 data-item-name="Cookies & Cream Brownie Bites" 8712 data-item-category="Desserts" 8713 data-price="10" 8714 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 8715 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 8716 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/Cookie_cream_brownie_jpg.jpg'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8717 Cookies & Cream Brownie Bites</div><div class="item-price"><span class="dollar-sign">$</span>10</div></div><div class="clear"></div><div class="item-description">6 rich brownie bites topped with a cookies-and-cream buttercream swirled with chocolate cookie pieces. Decorated with cookie chunks and finished with a white chocolate drizzle</div><div id='item-buttons'> 8718 <div class='modal modal-popup fade' id='add-popup-DES20-218239' role='dialog'> 8719 <div class='modal-dialog modal-dialog-popup' > 8720 <div class='modal-content modal-content-popup'> 8721 <div class='modal-header'> 8722 <p class='close close-popup' data-dismiss='modal'>×</p> 8723 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8724 <span>Cookies & Cream Brownie Bites</span> 8725 </h4> 8726 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>6 rich brownie bites topped with a cookies-and-cream buttercream swirled with chocolate cookie pieces. Decorated with cookie chunks and finished with a white chocolate drizzle</div> 8727 </div> 8728 <div class='modal-body' style='background: #ececec78;'> 8729 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 8730 <input type='radio' style='display:none;' name='menu-item-option-radio-DES20' class = 'radio-button-popup menu-option-radio-list' value='DES20' price='10' ref='DES20' id='DES20' plu='DES20' checked='checked'> 8731 <label for='DES20' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$10</span><img class='check-img-popup' style='float: right; align-self:center'></label> 8732 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8733 <div class="modal-footer" style="text-align: center; position: relative;"> 8734 <div class="footer_mobile"></div> 8735 <div class="footer_overlay"></div> 8736 <div class="item-add-buttons"> 8737 <div class="col-md-3" style="padding: 0;"> 8738 <div class="qty-selection"> 8739 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="DES20"><i class="glyphicon glyphicon-minus"></i></button> 8740 <label id="qty-DES20" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8741 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="DES20"><i class="glyphicon glyphicon-plus"></i></button> 8742 </div> 8743 </div> 8744 <div class="col-md-6"> 8745 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="DES20" ref="DES20"/> 8746 </div> 8747 <div class="col-md-3" style="padding: 0;"> 8748 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8749 <p class="popup-item-price" style="text-align: right;"></p> 8750 </div> 8751 </div> 8752 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-DES20-218239" id="DES20" menu-id="218239" ref="DES20" /></div></div></li><li 8753 id="ChocFudgeBrownieBitesGF_4149057_218239" 8754 style="" 8755 class="single" 8756 data-track-items="true" 8757 data-plu="DES02" 8758 data-item-name="Choc Fudge Brownie Bites (GF)" 8759 data-item-category="Desserts" 8760 data-price="10" 8761 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 8762 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 8763 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/Brownies2.webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8764 Choc Fudge Brownie Bites (GF)<div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-gf.png"/></div></div></div><div class="item-price"><span class="dollar-sign">$</span>10</div></div><div class="clear"></div><div class="item-description">Six delicious fudgy brownie bites laced with pecans and walnuts in the traditional American style made even better - it is gluten free. 8765 8766 </div><div id='item-buttons'> 8767 <div class='modal modal-popup fade' id='add-popup-DES02-218239' role='dialog'> 8768 <div class='modal-dialog modal-dialog-popup' > 8769 <div class='modal-content modal-content-popup'> 8770 <div class='modal-header'> 8771 <p class='close close-popup' data-dismiss='modal'>×</p> 8772 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8773 <span>Choc Fudge Brownie Bites (GF)</span><div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-gf.png"/></div></div> 8774 </h4> 8775 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Six delicious fudgy brownie bites laced with pecans and walnuts in the traditional American style made even better - it is gluten free. 8776 8777 </div> 8778 </div> 8779 <div class='modal-body' style='background: #ececec78;'> 8780 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 8781 <input type='radio' style='display:none;' name='menu-item-option-radio-DES02' class = 'radio-button-popup menu-option-radio-list' value='DES02' price='10' ref='DES02' id='DES02' plu='DES02' checked='checked'> 8782 <label for='DES02' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$10</span><img class='check-img-popup' style='float: right; align-self:center'></label> 8783 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8784 <div class="modal-footer" style="text-align: center; position: relative;"> 8785 <div class="footer_mobile"></div> 8786 <div class="footer_overlay"></div> 8787 <div class="item-add-buttons"> 8788 <div class="col-md-3" style="padding: 0;"> 8789 <div class="qty-selection"> 8790 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="DES02"><i class="glyphicon glyphicon-minus"></i></button> 8791 <label id="qty-DES02" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8792 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="DES02"><i class="glyphicon glyphicon-plus"></i></button> 8793 </div> 8794 </div> 8795 <div class="col-md-6"> 8796 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="DES02" ref="DES02"/> 8797 </div> 8798 <div class="col-md-3" style="padding: 0;"> 8799 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8800 <p class="popup-item-price" style="text-align: right;"></p> 8801 </div> 8802 </div> 8803 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-DES02-218239" id="DES02" menu-id="218239" ref="DES02" /></div></div></li><li 8804 id="BiscoffBrownieBites_18985040_218239" 8805 style="" 8806 class="single" 8807 data-track-items="true" 8808 data-plu="DES18" 8809 data-item-name="Biscoff Brownie Bites" 8810 data-item-category="Desserts" 8811 data-price="10" 8812 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 8813 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 8814 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/Screenshot_20260416_174844_Instagram.webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8815 Biscoff Brownie Bites</div><div class="item-price"><span class="dollar-sign">$</span>10</div></div><div class="clear"></div><div class="item-description">6 brownie bites layered with a creamy buttercream made with Biscoff® spread. Topped with Biscoff® biscuits and crushed biscuit pieces for added texture and caramelised flavour.</div><div id='item-buttons'> 8816 <div class='modal modal-popup fade' id='add-popup-DES18-218239' role='dialog'> 8817 <div class='modal-dialog modal-dialog-popup' > 8818 <div class='modal-content modal-content-popup'> 8819 <div class='modal-header'> 8820 <p class='close close-popup' data-dismiss='modal'>×</p> 8821 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8822 <span>Biscoff Brownie Bites</span> 8823 </h4> 8824 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>6 brownie bites layered with a creamy buttercream made with Biscoff® spread. Topped with Biscoff® biscuits and crushed biscuit pieces for added texture and caramelised flavour.</div> 8825 </div> 8826 <div class='modal-body' style='background: #ececec78;'> 8827 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 8828 <input type='radio' style='display:none;' name='menu-item-option-radio-DES18' class = 'radio-button-popup menu-option-radio-list' value='DES18' price='10' ref='DES18' id='DES18' plu='DES18' checked='checked'> 8829 <label for='DES18' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$10</span><img class='check-img-popup' style='float: right; align-self:center'></label> 8830 </div><div style="display:none;" class="item-option-radio item-option-radio-menu row"></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8831 <div class="modal-footer" style="text-align: center; position: relative;"> 8832 <div class="footer_mobile"></div> 8833 <div class="footer_overlay"></div> 8834 <div class="item-add-buttons"> 8835 <div class="col-md-3" style="padding: 0;"> 8836 <div class="qty-selection"> 8837 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="DES18"><i class="glyphicon glyphicon-minus"></i></button> 8838 <label id="qty-DES18" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8839 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="DES18"><i class="glyphicon glyphicon-plus"></i></button> 8840 </div> 8841 </div> 8842 <div class="col-md-6"> 8843 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="DES18" ref="DES18"/> 8844 </div> 8845 <div class="col-md-3" style="padding: 0;"> 8846 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8847 <p class="popup-item-price" style="text-align: right;"></p> 8848 </div> 8849 </div> 8850 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-DES18-218239" id="DES18" menu-id="218239" ref="DES18" /></div></div></li> </ul> 8851 <div class="spacer"></div> 8852 </div> 8853 8854 8855</div> 8856 8857<div class='menu-item mi-218250' id='drinks-block' style=''> 8858 8859 <h1>Drinks</h1> <div id='menu_items' data-menuid='218250'> 8860 <div id='menu-desc-header'><div class='alert alert-danger drinks-block-active-time hide-menu-active-times' style='display:none;' data-from='0' data-till='0'>Available only during 09:30 am - 09:30 am </div></div> 8861 <ul id='drinks'> 8862 <li 8863 id="SoftDrink_9100300_218250" 8864 style="" 8865 class="single" 8866 data-track-items="true" 8867 data-plu="DR07" 8868 data-item-name="1.25 Soft Drink" 8869 data-item-category="Drinks" 8870 data-price="8" 8871 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8872 1.25 Soft Drink</div><div class="item-price"><span class="dollar-sign">$</span>8</div></div><div class="clear"></div><div class="item-description">
8872Coke, Pepsi Max, Lemonade, Passito, Solo </div><div id='item-buttons'> 8873 <div class='modal modal-popup fade' id='add-popup-DR07-218250' role='dialog'> 8874 <div class='modal-dialog modal-dialog-popup' > 8875 <div class='modal-content modal-content-popup'> 8876 <div class='modal-header'> 8877 <p class='close close-popup' data-dismiss='modal'>×</p> 8878 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 8879 <span>1.25 Soft Drink</span> 8880 </h4> 8881 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Coke, Pepsi Max, Lemonade, Passito, Solo </div> 8882 </div> 8883 <div class='modal-body' style='background: #ececec78;'> 8884 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 8885 <input type='radio' style='display:none;' name='menu-item-option-radio-DR07' class = 'radio-button-popup menu-option-radio-list' value='DR07' price='8' ref='DR07' id='DR07' plu='DR07' checked='checked'> 8886 <label for='DR07' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$8</span><img class='check-img-popup' style='float: right; align-self:center'></label> 8887 </div><div style="border-top: none !important; border-bottom: 1px solid #00000038;" class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 8888 <div class='multi-option-name item-option-group-name-221234' style='position:relative; float:left; width:100%;'> 8889 <p style='font-weight:600; padding-bottom:0px; width:100%'>Soft Drink 1.25L</p> 8890 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 8891 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8892 <input type='checkbox' style='display:none;' ref='755015' name='item-option-radio-DR07-221234' class='item-option-radio-list' value='0' id='item-option-DR07-218250-755015' multiple-io='true' mio-id='221234' min-io='1' max-io='1' > 8893 <label for='item-option-DR07-218250-755015' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>1.25L Coke<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8894 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8895 <input type='checkbox' style='display:none;' ref='755016' name='item-option-radio-DR07-221234' class='item-option-radio-list' value='0' id='item-option-DR07-218250-755016' multiple-io='true' mio-id='221234' min-io='1' max-io='1' > 8896 <label for='item-option-DR07-218250-755016' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>1.25L Pepsi Max<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8897 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8898 <input type='checkbox' style='display:none;' ref='755017' name='item-option-radio-DR07-221234' class='item-option-radio-list' value='0' id='item-option-DR07-218250-755017' multiple-io='true' mio-id='221234' min-io='1' max-io='1' > 8899 <label for='item-option-DR07-218250-755017' style='font-weight:normal
8899!important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>1.25L Lemonade<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8900 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8901 <input type='checkbox' style='display:none;' ref='755018' name='item-option-radio-DR07-221234' class='item-option-radio-list' value='0' id='item-option-DR07-218250-755018' multiple-io='true' mio-id='221234' min-io='1' max-io='1' > 8902 <label for='item-option-DR07-218250-755018' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>1.25L Pasito<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8903 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8904 <input type='checkbox' style='display:none;' ref='755019' name='item-option-radio-DR07-221234' class='item-option-radio-list' value='0' id='item-option-DR07-218250-755019' multiple-io='true' mio-id='221234' min-io='1' max-io='1' > 8905 <label for='item-option-DR07-218250-755019' style='font-weight:normal !important; padding:5px 10px; border-radius:5px; user-select:none; -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; display:flex; justify-content: space-between' class='input-group-label input-group-label-template2 input-group-label-default'>1.25L Solo<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8906 </div></div></div><div class="popup-condiments"><div class="lds-ring"><div></div><div></div><div></div></div><div class="popup-toppings"></div></div></div> 8907 <div class="modal-footer" style="text-align: center; position: relative;"> 8908 <div class="footer_mobile"></div> 8909 <div class="footer_overlay"></div> 8910 <div class="item-add-buttons"> 8911 <div class="col-md-3" style="padding: 0;"> 8912 <div class="qty-selection"> 8913 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="DR07"><i class="glyphicon glyphicon-minus"></i></button> 8914 <label id="qty-DR07" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8915 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="DR07"><i class="glyphicon glyphicon-plus"></i></button> 8916 </div> 8917 </div> 8918 <div class="col-md-6"> 8919 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="DR07" ref="DR07"/> 8920 </div> 8921 <div class="col-md-3" style="padding: 0;"> 8922 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8923 <p class="popup-item-price" style="text-align: right;"></p> 8924 </div> 8925 </div> 8926 </div></div></div></div><div class="item-add-popup"><input type="button" name="Add" value="Add" class="add-button-popup" data-toggle="modal" data-target="#add-popup-DR07-218250" id="DR07" menu-id="218250" ref="DR07" /></div></div></li> </ul> 8927 <div class="spacer"></div> 8928 </div> 8929 8930 8931</div> 8932 8933<div class="item-icons-container"><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-spicy.png"/><span class="icon-description"> - Spicy</span></div><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-medium-spicy.png"/><span class="icon-description"> - Medium Spicy</span></div><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-extra-spicy.png"/><span class="icon-description"> - Extra Spicy</span></div><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-gf.png"/><span class="icon-description"> - Gluten Free</span></div><div class="item-icons"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/item-icons-vegetarian.png"/><span class="icon-description"> - Vegetarian</span></div></div><div class="service-fee-disclaimer"> 8934 <i class="fa-solid fa-circle-info"></i>
8935 <span> 8936 *Item prices shown exclude the platform fee. This fee helps cover the costs of operating and maintaining our online ordering platform. 8937 </span> 8938 </div>
8938<script>$(document).ready(function(){pullMenuActiveTime(true); var bLazy = new Blazy();});</script>
8938</div></div>
8939<script> 8940 var hh_cur_toppings = 0, 8941 hh_cur_toppings_tmp = 0, 8942 hh_max_toppings = 12, 8943 deal_max_toppings = 12, 8944 deal_num_free_extra = 0, 8945 deal_toppings_list = new Array(), 8946 deal_hh_left_plu = new Array(), 8947 deal_hh_right_plu = new Array(), 8948 deal_hh_item_option = new Array(), 8949 deal_hh_left_array = new Array(), 8950 deal_hh_right_array = new Array(), 8951 deal_toppings_ajax, 8952 deal_hh_toppings_ajax, 8953 hh_item_option_ajax, 8954 hh_toppings_ajax; 8955 8956 /** 8957 * checks if the limit is reached. returns FALSE for INVALID 8958 */ 8959 function checkMaxToppingsLimit(isDeal, dealPLU, ref, whichHalf){ 8960 var first_toppings = 0; 8961 var second_toppings = 0; 8962 8963 if(!hh_max_toppings){ 8964 var _lo_max_toppings = 12; // default 8965 // this value is set by cache 8966 }else{ 8967 var _lo_max_toppings = hh_max_toppings; 8968 } 8969 8970 if(isDeal == undefined){ 8971 first_toppings = $(".first-accordion li input:checked").length; 8972 second_toppings = $(".second-accordion li input:checked").length; 8973 } else{ 8974 first_toppings = $("."+dealPLU+"-"+ref+"-first-accordion li input:checked").length; 8975 second_toppings = $("."+dealPLU+"-"+ref+"-second-accordion li input:checked").length; 8976 } 8977 8978 var remaining = _lo_max_toppings - (first_toppings + second_toppings); 8979 if(remaining < 0){ 8980 remaining = 0; 8981 } 8982 8983 if(isDeal == undefined){ 8984 $(".hh-remaining-topping").html(remaining); 8985 } else{ 8986 $(".modal-deals .modal-body #deal-modal-body-hh-selection-"+dealPLU+"-"+ref+" .deal-hh-remaining-topping").html(remaining); 8987 $("#deal-hh-remaining-topping-"+dealPLU+"-"+ref).val(remaining); 8988 } 8989 8990 if((first_toppings + second_toppings) > _lo_max_toppings){ 8991 return false; 8992 } 8993 8994 return true; 8995 } 8996 8997 function dealCheckMaxToppings(dealPLU, itemPLU, section){ 8998 var deal_toppings = 0; 8999 9000 $("#accordion-"+dealPLU+"-"+itemPLU+"-"+section+" li input:checked").each(function(){ 9001 deal_toppings = parseFloat(deal_toppings) + 1; 9002 }); 9003 9004 return deal_toppings; 9005 } 9006 9007 function deal_hh_extra_toppings(dealPLU, whichHalf, ref){ 9008 var cssClass="", 9009 extra_price = 0, 9010 currency = $("#deal-price-"+dealPLU).text(), 9011 halfhalftotal = Number(currency.replace(/[^0-9\.]+/g,"")), 9012 item_total = 0, 9013 remaining = 0; 9014 9015 if(whichHalf == "first"){ 9016 cssClass = dealPLU+"-second-"+ref; 9017 } else if(whichHalf == "second"){ 9018 cssClass = dealPLU+"-first-"+ref; 9019 } else{ 9020 return false; 9021 } 9022 9023 if($("."+cssClass+"-accordion li input:checked").length > 0){ 9024 $("."+cssClass+"-accordion li input:checked").each(function(){ 9025 if($(this).val()){ 9026 extra_price += (parseFloat($(this).val())); 9027 } 9028 }); 9029 } 9030 9031 item_total = halfhalftotal + extra_price; 9032 remaining = hh_max_toppings - ($("."+dealPLU+"-"+ref+"-first-accordion li input:checked").length + $("."+dealPLU+"-"+ref+"-second-accordion li input:checked").length); 9033 9034 $(".modal-deals .modal-body #deal-modal-body-hh-selection-"+dealPLU+"-"+ref+" .deal-hh-remaining-topping").html(remaining); 9035 $("#deal-hh-remaining-topping-"+dealPLU+"-"+ref).val(remaining); 9036 $("#deal-price-"+dealPLU).html('$'+formatNumber(item_total)); 9037 } 9038 9039 function dealGetTotal(dealPLU, closeModal){ 9040 var surcharge = 0, 9041 item_option = 0, 9042 toppings = 0, 9043 hh_price = 0, 9044 hh_item_option = 0, 9045 hh_surcharge = 0, 9046 deal_selection_price = new Array(); 9047 9048 if($(".deal-selected-item-"+dealPLU).length > 0){ 9049 $(".deal-selected-item-"+dealPLU).each(function(){ 9050 var hh_price_selection = 0, 9051 surcharge_selection = 0; 9052 9053 if($(this).val() == "HH"){ 9054 var ref = $(this).attr("ref"); 9055 if(typeof $(this).attr("price") !== "undefined" && $(this).attr("price") !== false){ 9056 hh_price_selection = parseFloat($(this).attr("price")); 9057 hh_price += hh_price_selection; 9058 } 9059 9060 if(typeof $(this).attr("hh-item-option-price") !== "undefined" && $(this).attr("hh-item-option-price") !== false){ 9061 hh_item_option += parseFloat($(this).attr("hh-item-option-price")); 9062 } 9063 9064 if(typeof $(this).attr("hh-surcharge-price") !== "undefined" && $(this).attr("hh-surcharge-price") !== false){ 9065 hh_surcharge += parseFloat($(this).attr("hh-surcharge-price")); 9066 } 9067 } else if($(this).hasClass("hh-upgrade")){ 9068 if(typeof $(this).attr("hh-surcharge-price") !== "undefined" && $(this).attr("hh-surcharge-price") !== false){ 9069 hh_surcharge += parseFloat($(this).attr("hh-surcharge-price")); 9070 } 9071 } else{ 9072 var section = $(this).attr("ref"); 9073 var PLU = $(this).val(); 9074 9075 if(typeof $(this).attr("price") !== "undefined" && $(this).attr("price") !== false){ 9076 surcharge_selection = parseFloat($(this).attr("price")); 9077 surcharge += surcharge_selection; 9078 } 9079 9080 if($("input[name='deal-item-option-"+dealPLU+"-"+PLU+"-"+section+"']:checked").length > 0){ 9081 $("input[name='deal-item-option-"+dealPLU+"-"+PLU+"-"+section+"']:checked").each(function(){ 9082 if(typeof $(this).attr("price") !== "undefined" && $(this).attr("price") !== false){ 9083 item_option += parseFloat($(this).attr("price")); 9084 } 9085 }); 9086 } 9087 9088 $("#accordion-"+dealPLU+"-"+PLU+"-"+section+" li input:checked").each(function(){ 9089 if(!$(this).hasClass("free_item")){ 9090 toppings += parseFloat($(this).val()); 9091 } 9092 }); 9093 } 9094 9095 deal_selection_price.push(formatNumber((hh_price_selection + surcharge_selection))); 9096 }); 9097 } 9098 9099 if(typeof $("#add-popup-deals-"+dealPLU).attr("deal-bogo") !== "undefined" && $("#add-popup-deals-"+dealPLU).attr("deal-bogo") !== false && $("#add-popup-deals-"+dealPLU).attr("deal-bogo") != 0 && 9100 typeof $("#add-popup-deals-"+dealPLU).attr("deal-selection") !== "undefined" && $("#add-popup-deals-"+dealPLU).attr("deal-selection") !== false && $("#add-popup-deals-"+dealPLU).attr("deal-selection") == 2 && 9101 typeof closeModal === "undefined" && deal_selection_price.length){ 9102 $("#deal-price-"+dealPLU).html("$"+(Math.max(...deal_selection_price) + hh_item_option + hh_surcharge + item_option + toppings)); 9103 } else{ 9104 $("#deal-price-"+dealPLU).html("$"+formatNumber((parseFloat($("#deal-price-"+dealPLU).attr("orig-price")) + hh_price + hh_item_option + hh_surcharge + surcharge + item_option + toppings))); 9105 } 9106 } 9107 9108 function modal_height(elem){ 9109 var target_modal = $(elem); 9110 9111 if($(window).width() < 768){ 9112 var new_height = $(window).height() - (target_modal.find(".modal
9112-header").outerHeight() + target_modal.find(".modal-footer").outerHeight()) - 2; 9113 } else{ 9114 var new_height = $(window).height() - (target_modal.find(".modal-header").outerHeight() + target_modal.find(".modal-footer").outerHeight()) - 150; 9115 } 9116 9117 target_modal.find(".modal-body").css("min-height", new_height); 9118 target_modal.find(".modal-body").css("max-height", new_height); 9119 } 9120 9121 // Array checking length on free items 9122 function isEmpty(obj){ 9123 for(var key in obj){ 9124 if(obj.hasOwnProperty(key)) 9125 return false; 9126 } 9127 return true; 9128 } 9129 9130 function formatNumber(num){ 9131 // return num % 1 === 0 ? num.toString() : num.toFixed(2); 9132 return num.toFixed(2); 9133 } 9134 9135 function deals_popup(resp, menu_id){ 9136 var menu_id = (typeof menu_id === "undefined") ? "PROMO" : menu_id, 9137 deal_parent_id = resp.deal_parent_id; 9138 deal_id = resp.deal_id, 9139 deal_plu = resp.promotional_plu, 9140 deal_promo_code = resp.promocode, 9141 deal_modal_id = deal_plu+'-'+menu_id, 9142 promo_modal_id = '#menu-items > #add-popup-deals-'+deal_modal_id; 9143 9144 $.ajax({ 9145 type: "POST", 9146 url: "core/ajax/deals_popup.php", 9147 async: true, 9148 data: { 9149 "menu_id": menu_id, 9150 "deal_id": deal_id, 9151 "deal_plu": deal_plu, 9152 ...(menu_id === "UPSELL" ? { upsell: 1 } : {}), 9153 ...(menu_id === "FREE-ITEM" ? { is_free_deal_item: 1 } : {}) 9154 }, 9155 beforeSend: function(){ 9156 if(!$('body > #menu-items').length){ 9157 $('<div>', {id: 'menu-items'}).css({'display': 'block'}).appendTo('body'); 9158 } 9159 9160 let mheader_class = ' deal-loader-shimmer', 9161 mheader_style = '', 9162 mheader_text = ''; 9163 9164 if(['PROMO', 'UPSELL', 'FREE-ITEM'].includes(menu_id) || typeof deal_parent_id === 'undefined'){ 9165 mheader_text = 'Retrieving deal details...'; 9166 } else{ 9167 const deal_name = $('#'+deal_parent_id+' .item-title-container .item-title') 9168 .clone() // Clone the element 9169 .children('.item-icons-container') // Target the child to remove 9170 .remove() // Remove the icons container 9171 .end() // Go back to the cloned element 9172 .text() // Get the text content 9173 .trim(), 9174 deal_desc = $('#'+deal_parent_id+' .item-description').text(); 9175 9176 mheader_class = ''; 9177 mheader_style = 'background-color: unset;'; 9178 mheader_text = '<h4 class="modal-title" style="color:#000 !important;">'+deal_name+'</h4>'+ 9179 '<div class="modal-title item-description-popup" style="color:#000 !important;">'+deal_desc+'</div>' 9180 } 9181 9182 $('body > #menu-items').prepend(''+ 9183 '<div class="modal modal-popup modal-deals fade" id="add-popup-deals-'+deal_modal_id+'" role="dialog" data-backdrop="static" data-keyboard="false">'+ 9184 '<div class="modal-dialog modal-dialog-popup">'+ 9185 '<div class="modal-content modal-content-popup">'+ 9186 '<div class="modal-header'+mheader_class+'" style="'+mheader_style+'">'+ 9187 mheader_text+ 9188 '</div>'+ 9189 '<div class="modal-body" style="min-height:300px;">'+ 9190 '<div class="deal-loader-shimmer title-line"></div>'+ 9191 '<div class="deal-loader-shimmer title-line"></div>'+ 9192 '<div class="deal-loader-shimmer title-line"></div>'+ 9193 '<div class="deal-loader-shimmer title-line"></div>'+ 9194 '</div>'+ 9195 '<div class="modal-footer" style="text-align: center; position: relative;">'+ 9196 '<div>'+ 9197 '</div>'+ 9198 '</div>'+ 9199 '</div>' 9200 ); 9201 9202 $j(promo_modal_id).modal('show'); 9203 9204 setTimeout(function(){ 9205 modal_height(promo_modal_id); 9206 }, 200); 9207 }, 9208 success: function(resp){ 9209 if(['PROMO', 'UPSELL', 'FREE-ITEM'].includes(menu_id)){ 9210 $(promo_modal_id).addClass('deals-promo'); 9211 } 9212 9213 $(promo_modal_id+' > .modal-dialog > .modal-content').html(resp); 9214 $(promo_modal_id).attr('deal-selection', $(promo_modal_id+' > .modal-dialog > .modal-content > .modal-header').attr('deal-selection')); 9215 $(promo_modal_id).attr('deal-bogo', $(promo_modal_id+' > .modal-dialog > .modal-content > .modal-header').attr('deal-bogo')); 9216 $(promo_modal_id+' > .modal-dialog > .modal-content > .modal-header').removeAttr('deal-selection'); 9217 $(promo_modal_id+' > .modal-dialog > .modal-content > .modal-header').removeAttr('deal-bogo'); 9218 9219 if(menu_id === "PROMO"){
9220 $(promo_modal_id+' .modal-header .message-container .promo-code-container').text(deal_promo_code); 9221 } 9222 9223 $('modal-deals .modal-body .lds-ring').css('top', '30%'); 9224 $('.modal-deals .modal-body #deal-modal-body-main-'+deal_modal_id+', .modal-deals .modal-footer').removeClass('hide'); 9225 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).data('menu-id', 'null').removeClass('hide'); 9226 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id+' button').prop('disabled', false); 9227 $('.modal-deals .modal-footer #deal-modal-footer-next-'+deal_modal_id+' button').prop('disabled', true); 9228 9229 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).removeData('menu-id'); 9230 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).removeData('upsell'); 9231 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).removeData('free-item'); 9232 9233 if(!['PROMO', 'UPSELL', 'FREE-ITEM'].includes(menu_id)){ 9234 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).data('menu-id', menu_id); 9235 } else if(menu_id === "UPSELL"){ 9236 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).data('upsell', '1') 9237 } else if(menu_id === "FREE-ITEM"){ 9238 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).data('free-item', '1') 9239 } 9240 9241 if($(".modal-deals .modal-body #deal-modal-body-main-"+deal_modal_id+" .deal-selection-items").length){ 9242 if($(".modal-deals .modal-body #deal-modal-body-main-"+deal_modal_id+" .deal-selection-items").length == 1){ 9243 var auto_expand = $(".modal-deals .modal-body #deal-modal-body-main-"+deal_modal_id+" .deal-selection-items").attr("auto-expand"); 9244 if(typeof auto_expand !== "undefined" && auto_expand !== false){ 9245 if(auto_expand == "deal_selection"){ 9246 $(".modal-deals .modal-body #deal-modal-body-main-"+deal_modal_id+" .deal-selection-items").click(); 9247 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_modal_id+" button").text("Add to Order"); 9248 } else if(auto_expand == "auto_customized_btn"){ 9249 $(".modal-deals .modal-body #deal-modal-body-main-"+deal_modal_id+" .deal-selection-items button.deal-selection-item").
9249click(); 9250 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_modal_id+" button").text("Add to Order"); 9251 } 9252 } 9253 } 9254 9255 $(".modal-deals .modal-body #deal-modal-body-main-"+deal_modal_id+" .deal-selection-items").each(function(){ 9256 var ref = $(this).attr("ref"); 9257 deal_hh_left_array[parseInt(ref) - 1] = []; 9258 deal_hh_right_array[parseInt(ref) - 1] = []; 9259 }); 9260 9261 if(typeof $("#add-popup-deals-"+deal_modal_id).attr("deal-bogo") !== "undefined" && $("#add-popup-deals-"+deal_modal_id).attr("deal-bogo") == 1){ 9262 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_modal_id+" .deal-selected-item.auto-ds").each(function(){ 9263 $(this).attr("price", $(this).attr("auto-plu-price")); 9264 }); 9265 } 9266 } 9267 9268 modal_height(promo_modal_id); 9269 }, 9270 error: function(xhr, status, error){ 9271 $(promo_modal_id+' .modal-header').removeClass('deal-loader-shimmer').addClass('header-error').html(''+ 9272 'Oops!'+ 9273 '<p class="close close-popup deals-close-popup" data-dismiss="modal">×</p>' 9274 ); 9275 $(promo_modal_id+' .modal-body').addClass('body-error').html('<div style="display:flex; column-gap:5px; align-items:center;"><i class="fa-regular fa-circle-xmark"></i><span>Sorry, something went wrong. Please try again later.</span></div>'); 9276 } 9277 }); 9278 } 9279 9280 jQuery.fn.center = function(){ 9281 this.css("position","absolute"); 9282 this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px"); 9283 this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px"); 9284 return this; 9285 } 9286 9287 $(document).ready(function(){ 9288 function get_cart_total(){ 9289 $('#cartTotal').load("https://doughboyz.com.au/core/ajax/get_cart_total.php?page="+PAGE_NAME, function(data){ 9290 $('#cartTotal, .cartTotal').html('$'+data); 9291 }); 9292 } 9293 9294 $(".accordion div.item").die().live("click", function(){ 9295 var id = $(this).parent().parent().attr("id"); 9296 9297 /* FIRST SECTION */ 9298 // slideup or hide all the Submenu 9299 $("#"+id+" li").children("div.sub-item").slideUp("fast"); 9300 9301 if($(this).parent().hasClass("open")){ 9302 $(this).parent().removeClass("open"); 9303 } else{ 9304 // remove all the "Over" class, so that the arrow reset to default 9305 $("#"+id+" div.item").each(function(){ 9306 if($(this).attr('rel')!=""){ 9307 $(this).removeClass($(this).attr("rel")+"Over"); 9308 } 9309 }); 9310 9311 $("#"+id+" div.item").parent().removeClass("open"); 9312 $(this).parent().addClass("open"); 9313 9314 /* SECOND SECTION */ 9315 // show the selected submenu 9316 $(this).siblings("div.sub-item").slideDown("fast"); 9317 9318 // add "Over" class, so that the arrow pointing down 9319 $(this).children("a").addClass($(this).children("li a").attr("rel")+"Over"); 9320 } 9321 9322 return false; 9323 }); 9324 9325 /* Deals */ 9326 9327 //Close the deals modal when clicked outside the deals modal 9328 $(document).mouseup(function (e) { 9329 var modalId = $('.modal-deals.fade.in').attr('id'); 9330 if(!$("#" + modalId + " .modal-dialog-popup").is(e.target) && !$("#" + modalId + " .modal-dialog-popup").has(e.target).length && !$(".jqifade:visible").length) { 9331 $("#" + modalId + " .deals-close-popup").click(); 9332 } 9333 9334 if(modalId){ 9335 $j('#'+modalId).on('hidden.bs.modal', function(e){ 9336 $("body > #menu-items").remove(); 9337 9338 if($(".upsell_btn").length){ 9339 $(".upsell_btn").html("Add").prop("disabled", false); 9340 } 9341 }); 9342 } 9343 }); 9344 9345 $(".deals-close-popup").die().live("click", function(){ 9346 var deal_plu = $(this).attr("plu"); 9347 9348 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu).removeClass("hide"); 9349 $(".modal-deals .modal-body #deal-modal-message-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu).addClass("hide"); 9350 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9351 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-customize-"+deal_plu).addClass("hide"); 9352 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-hh-"+deal_plu).addClass("hide"); 9353 $(".modal-deals .modal-body .deal-modal-body-hh-selection-"+deal_plu).addClass("hide"); 9354 $(".modal-deals .modal-body .deal-hh-first-selection-"+deal_plu+", .modal-deals .modal-body .deal-hh-second-selection-"+deal_plu).addClass("hide"); 9355 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+", .modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+", .modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu).addClass("hide"); 9356 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu).addClass("hide"); 9357 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu).addClass("hide"); 9358 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).parent().addClass("hide"); 9359 $(".modal-deals .modal-header #back-to-main-deal-"+deal_plu).parent().addClass("hide"); 9360 $(".modal-deals .modal-header #back-to-selection-"+deal_plu).parent().addClass("hide"); 9361 $(".modal-deals .modal-header #back-to-selection-"+deal_plu).parent().data("item-ref", ""); 9362 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().removeClass("hide"); 9363 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).removeAttr("ref"); 9364 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).removeAttr("return-to"); 9365 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).removeAttr("hh-ref"); 9366 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).removeAttr("ref"); 9367 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).removeAttr("hh-ref"); 9368 $(".modal-deals .modal-body p.deal-selection").css("background-color", "").removeAttr("customizable"); 9369 $(".modal-deals .deal-selection .deal-selection-name .deal-item-name-selected").html(""); 9370 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+" h4.modal-title").html("Half/Half"); 9371 $(".modal-deals .deal-selection .deal-selection-icon, .modal
9371-deals .auto-deal-selection.multi .deal-selection-icon").removeClass("glyphicon-chevron-right glyphicon-ok").addClass("glyphicon-chevron-right"); 9372 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").not(".auto-ds").val(""); 9373 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").not(".auto-ds").removeAttr("selection-id"); 9374 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").removeAttr("price"); 9375 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").removeAttr("loaded"); 9376 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").removeClass("hh-upgrade"); 9377 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").removeClass("hh-surcharge-price"); 9378 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").removeClass("hh-item-option-price"); 9379 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).data("menu-id", ""); 9380 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button, .modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button, .modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 9381 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").removeAttr("ref"); 9382 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").removeAttr("ref"); 9383 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").removeAttr("hh-ref"); 9384 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").removeClass("add-deal-hh"); 9385 $(".modal-deals .modal-body .deal-modal-body-customize-"+deal_plu).empty(); 9386 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+" .deal-hh-remaing-topping-"+deal_plu).val(hh_max_toppings); 9387 $(".modal-deals .modal-body .deal-hh-first-item-list-"+deal_plu+", .modal-deals .modal-body .deal-hh-second-item-list-"+deal_plu).removeClass("hide"); 9388 $(".modal-deals .modal-body .deal-hh-first-selected-"+deal_plu+", .modal-deals .modal-body .deal-hh-second-selected-"+deal_plu).addClass("hide").empty(); 9389 $(".modal-deals .modal-body .deal-hh-first-"+deal_plu+" span.deal-hh-first-item-label").html("Select your first half"); 9390 $(".modal-deals .modal-body .deal-hh-second-"+deal_plu+" span.deal-hh-second-item-label").html("Select your second half"); 9391 $(".modal-deals .modal-body .deal-hh-first-"+deal_plu+" span.deal-hh-first-icon, .modal-deals .modal-body .deal-hh-second-"+deal_plu+" span.deal-hh-second-icon").removeClass("glyphicon-ok").addClass("glyphicon-chevron-right"); 9392 $(".modal-deals .modal-body .first-half-plu-"+deal_plu+", .modal-deals .modal-body .second-half-plu-"+deal_plu).val(""); 9393 9394 deal_hh_left_plu = []; 9395 deal_hh_right_plu = []; 9396 deal_hh_item_option = []; 9397 deal_hh_left_array = []; 9398 deal_hh_right_array = []; 9399 9400 dealGetTotal(deal_plu, true); 9401 }); 9402 9403 $(".add-deal").die().live("click", function(){ 9404 var deal_parent_id = $(this).closest('li').attr('id'); 9405 var deal_id = $(this).attr("deal-id"); 9406 var menu_id = $(this).attr("menu-id"); 9407 var deal_plu = $(this).attr("plu")+"-"+menu_id; 9408 deals_popup({deal_parent_id: deal_parent_id, deal_id: deal_id, promotional_plu: $(this).attr("plu"), promocode: ""}, menu_id); 9409 }); 9410 9411 $(".deal-selection").die().live("click", function(){ 9412 var ref = $(this).attr("ref"); 9413 var deal_plu = $(this).attr("plu"); 9414 var customizable = $(this).attr("customizable"); 9415 9416 if($("#deal-selected-item-"+deal_plu+"-"+ref).val() == "HH"){ 9417 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-header #deal-modal-header-"+deal_plu).addClass("hide"); 9418 $(".modal-deals .modal-body #deal-modal-body-main-"+deal_plu+", .modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).addClass("hide"); 9419 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9420 $(".modal-deals .modal-body .deal-modal-body-hh-"+deal_plu).addClass("hide"); 9421 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+", .modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu).removeClass("hide"); 9422 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).removeClass("hide"); 9423 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).attr({"ref": ref, "return-to": "deal-main-selection"}); 9424 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", false).attr("ref", ref).addClass("add-deal-hh"); 9425 } else{ 9426 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).addClass("hide"); 9427 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu).removeClass("hide"); 9428 $("#back-to-selection-"+deal_plu).parent().data("item-ref", ref); 9429 9430 if(!$("#deal-selected-item-"+deal_plu+"-"+ref).val() || (typeof customizable !== "undefined" && customizable !== false && customizable == "false")){ 9431 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9432 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-selection-list-"+deal_plu+"-"+ref).removeClass("hide"); 9433 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button, .modal
9433-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 9434 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+" .modal-title").html("Choose - "+$(this).find("span.deal-selection-name").attr("selection-label")); 9435 9436 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") > 1){ 9437 $("#back-to-main-deal-"+deal_plu).parent().removeClass("hide"); 9438 } 9439 9440 $("#back-to-selection-"+deal_plu).parent().data("item-selection", $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+" .modal-title").html()); 9441 } else{ 9442 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu).addClass("hide"); 9443 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9444 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+"-"+ref).removeClass("hide"); 9445 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu).removeClass("hide"); 9446 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+" .modal-title").html("Customise"); 9447 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").prop("disabled", true); 9448 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", false); 9449 9450 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") > 1){ 9451 $("#back-to-main-deal-"+deal_plu).parent().addClass("hide"); 9452 } 9453 9454 $("#back-to-selection-"+deal_plu).parent().data("item-selection", "Choose - "+$(this).find("span.deal-selection-name").attr("selection-label")); 9455 $("#back-to-selection-"+deal_plu).parent().removeClass("hide"); 9456 } 9457 } 9458 9459 modal_height("#add-popup-deals-"+deal_plu); 9460 }); 9461 9462 $(".back-to-main").die().live("click", function(){ 9463 var deal_plu = $(this).attr("plu"); 9464 9465 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu).addClass("hide"); 9466 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-customize-"+deal_plu).addClass("hide"); 9467 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu+", .modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).removeClass("hide"); 9468 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").prop("disabled", false); 9469 $("#back-to-main-deal-"+deal_plu).parent().addClass("hide"); 9470 $(".modal-deals .modal-body").scrollTop($(".modal-body").offset().top); 9471 9472 modal_height("#add-popup-deals-"+deal_plu); 9473 }); 9474 9475 $(".deal-selection-item, .deal-item-thumb").die().live("click", function(){ 9476 if($(this).hasClass("deal-item-thumb")){ 9477 var ref = $(this).prev().attr("ref"); 9478 var item_plu = $(this).prev().attr("item-plu"); 9479 var deal_plu = $(this).prev().attr("deal-plu"); 9480 var selection_id = $(this).prev().attr("selection-id"); 9481 var surcharge = $(this).prev().attr("price"); 9482 var deal_item_name = $(this).prev().find("p.deal-item-name").html(); 9483 } else{ 9484 var ref = $(this).attr("ref"); 9485 var item_plu = $(this).attr("item-plu"); 9486 var deal_plu = $(this).attr("deal-plu"); 9487 var selection_id = $(this).attr("selection-id"); 9488 var surcharge = $(this).attr("price"); 9489 var deal_item_name = $(this).find("p.deal-item-name").html(); 9490 } 9491 9492 if(surcharge == undefined){ 9493 surcharge = 0; 9494 } 9495 9496 if($(this).parent().parent().hasClass("auto-deal-selection")){ 9497 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu).addClass("hide"); 9498 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).addClass("hide"); 9499 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+", .modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu).removeClass("hide"); 9500 $("#back-to-main-deal-"+deal_plu).parent().addClass("hide"); 9501 $("#back-to-selection-"+deal_plu).parent().addClass("hide"); 9502 9503 if($(this).hasClass("multi")){ 9504 $("#deal-selection-"+deal_plu+"-"+ref+" .deal-selection-icon").removeClass("glyphicon-chevron-right glyphicon-ok").addClass("glyphicon-ok"); 9505 } 9506 } else{ 9507 $("#deal-selection-"+deal_plu+"-"+ref+" .deal-selection-icon").removeClass("glyphicon-chevron-right glyphicon-ok").addClass("glyphicon-ok"); 9508 $("#deal-selection-"+deal_plu+"-"+ref+" .deal-item-name-selected").html(" - "+deal_item_name); 9509 } 9510 9511 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9512 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+"-"+ref).removeClass("hide"); 9513 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+" .modal
9513-title").html("Customise"); 9514 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button, .modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 9515 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").attr("ref", ref); 9516 9517 if(!$(this).parent().parent().hasClass("auto-deal-selection")){ 9518 $("#back-to-main-deal-"+deal_plu).parent().addClass("hide"); 9519 $("#back-to-selection-"+deal_plu).parent().removeClass("hide"); 9520 } 9521 9522 if(typeof $("#deal-selected-item-"+deal_plu+"-"+ref).attr("loaded") === "undefined" || $("#deal-selected-item-"+deal_plu+"-"+ref).attr("loaded") === false){ 9523 $(".modal-deals .modal-body .lds-ring").show(); 9524 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("loaded", "1"); 9525 if(!$(this).parent().parent().hasClass("auto-deal-selection")){ 9526 $("#deal-selected-item-"+deal_plu+"-"+ref).attr({"selection-id": selection_id, "price": surcharge}).val(item_plu); 9527 } 9528 9529 deal_toppings_ajax = $.ajax({ 9530 type: "POST", 9531 url: "core/ajax/get_extra_toppings_popup_deals.php", 9532 data: "deal_plu="+deal_plu+"&item_plu="+item_plu+"§ion="+ref, 9533 success: function(data){ 9534 $(".modal-deals .modal-body .lds-ring").hide(); 9535 modal_height("#add-popup-deals-"+deal_plu); 9536 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+"-"+ref).html(data); 9537 $(".modal-deals .modal-footer #deal-max-toppings-"+deal_plu).html(deal_max_toppings); 9538 $(".modal-deals .modal-footer #deal-num-free-extra-"+deal_plu).html(deal_num_free_extra); 9539 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", false); 9540 9541 if($("#"+deal_plu+"-"+item_plu+"-"+ref+"-topping-ctr").length){ 9542 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").click(); 9543 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref).attr("customizable", "false"); 9544 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("loaded"); 9545 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+"-"+ref).empty(); 9546 } else{ 9547 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref).removeAttr("customizable"); 9548 if($("div.deal-item-option-container-"+ref).length == 1 && !$("div.deal-item-option-container-"+ref).hasClass("multi")){ 9549 if($("input[name='deal-item-option-"+deal_plu+"-"+item_plu+"-"+ref+"']").length > 0 && !$("input[name='deal-item-option-"+deal_plu+"-"+item_plu+"-"+ref+"']:checked").length){ // if no item option is checked, we make the first item the default 9550 $("input[name='deal-item-option-"+deal_plu+"-"+item_plu+"-"+ref+"']:first").attr("checked", true); 9551 } 9552 } 9553 } 9554 9555 dealGetTotal(deal_plu); 9556 } 9557 }); 9558 } else{ 9559 if($(this).parent().parent().hasClass("auto-deal-selection")){ 9560 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").prop("disabled", true); 9561 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", false); 9562 } 9563 } 9564 }); 9565 9566 $(".auto-deal-selection").die().live("click", function(e){ 9567 if(!$(e.target).is("button.deal-selection-item") && $(this).find("button.deal-selection-item").length){
9568 $(this).find("button.deal-selection-item").click(); 9569 } 9570 }); 9571 9572 $(".deal-item-option-radio").die().live("click", function(){ 9573 var deal_plu = $(this).attr("plu"); 9574 dealGetTotal(deal_plu); 9575 }); 9576 9577 $(".back-to-selection").die().live("click", function(){ 9578 var ref = $(this).parent().data("item-ref"); 9579 var deal_plu = $(this).attr("plu"); 9580 9581 if(deal_toppings_ajax.status !== 200){ 9582 deal_toppings_ajax.abort(); 9583 $(".modal-deals .modal-body .lds-ring").hide(); 9584 } 9585 9586 $(this).parent().addClass("hide"); 9587 9588 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") > 1){ 9589 $("#back-to-main-deal-"+deal_plu).parent().removeClass("hide"); 9590 } 9591 9592 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("selection-id").val(""); 9593 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("price"); 9594 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("loaded"); 9595 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+" .modal-title").html($(this).parent().data("item-selection")); 9596 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-customize-"+deal_plu).addClass("hide"); 9597 $(".modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9598 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-selection-list-"+deal_plu+"-"+ref).removeClass("hide"); 9599 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+"-"+ref).empty(); 9600 $("#deal-selection-"+deal_plu+"-"+ref+" .deal-selection-icon").removeClass("glyphicon-ok glyphicon-chevron-right").addClass("glyphicon-chevron-right"); 9601 $("#deal-selection-"+deal_plu+"-"+ref+" .deal-item-name-selected").html(""); 9602 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 9603 dealGetTotal(deal_plu); 9604 9605 modal_height("#add-popup-deals-"+deal_plu); 9606 }); 9607 9608 $(".deal-modal-footer-next").die().live("click", function(){ 9609 var ref = $(this).attr("ref"); 9610 var deal_plu = $(this).attr("plu"); 9611 var parent_div = $(this).closest('li').attr('id'); 9612 var modal_div = $(this).closest('.modal-popup').attr('id'); 9613 9614 if(parent_div === undefined){ 9615 parent_div = modal_div; 9616 } 9617 9618 var mio_ids = [], 9619 mio_msg = [], 9620 mio_req = 0; 9621 9622 $("#"+ parent_div +" .deal-item-option-radio[ref='"+ref+"']").each(function(){ 9623 if(typeof $(this).attr('mio-id') !== "undefined" && $(this).attr('mio_id') !== false){ 9624 mio_ids.push($(this).attr('mio-id')); 9625 } 9626 mio_ids = [... new Set(mio_ids)]; 9627 }); 9628 9629 var io_div; 9630 $.each(mio_ids, function(key, val){ 9631 var io_selected = $("#"+parent_div+" .deal-item-option-radio-"+val+"-"+ref+":checked").length, 9632 io_min = $("#"+parent_div+" .deal-item-option-radio-"+val+"-"+ref+":first").attr('min-io'), 9633 io_max = $("#"+parent_div+" .deal-item-option-radio-"+val+"-"+ref+":first").attr('max-io'), 9634 io_name = $("#"+parent_div+" .deal-item-option-radio-"+val+"-"+ref+":first").parent().siblings("div.deal-item-option-group-name-"+val+"-"+ref).find("p").text(), 9635 io_container = $("#"+parent_div+" .deal-item-option-radio-"+val+"-"+ref+":first").parent().parent(); 9636 9637 io_container.css({"padding":"", "border":""}); 9638 9639 if(io_selected < io_min){ 9640 io_container.css({"padding":"5px", "border":"1px solid #dc3545"}); 9641 mio_req++; 9642 9643 if(!io_div){ 9644 io_div = io_container; 9645 } 9646 } else if(io_selected > io_max){ 9647 mio_msg.push("'"+io_name+"' can't have more than "+io_max); 9648 } 9649 }); 9650 9651 if(mio_req > 0){ 9652 showModalAlert("warning", "Incomplete Order", "Please complete all sections to finish your order", "OK"); 9653 $("#"+modal_div+" .modal-body").scrollTop(0).scrollTop(io_div.position().top - 25); 9654 return false; 9655 } 9656 9657 if(mio_msg.length > 0){ 9658 showModalAlert("warning", "Invalid Selection", mio_msg.join("<br/>"), "OK"); 9659 return false;
9660 } 9661 9662 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu).removeClass("hide"); 9663 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9664 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-customize-"+deal_plu).addClass("hide"); 9665 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+", .modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu).addClass("hide"); 9666 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).removeClass("hide"); 9667 $("#back-to-selection-"+deal_plu).parent().addClass("hide"); 9668 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").prop("disabled", false); 9669 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 9670 $("#deal-selection-"+deal_plu+"-"+ref).css("background-color", ""); 9671 9672 modal_height("#add-popup-deals-"+deal_plu); 9673 9674 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 9675 if(!$(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").hasClass("disabled")){ 9676 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").click(); 9677 } 9678 } 9679 }); 9680 9681 $(".deal-modal-footer-add").die().live("click", function(){ 9682 if($("input[name='storestatus']").val()=='offline'){ 9683 showModalAlert("error", "Store Offline", $('#offline-alert-txt').html(), "OK"); 9684 9685 if(check_store_stat() == "online"){ 9686 location.reload(); 9687 } 9688 9689 return; 9690 } 9691 9692 var _this = $(this); 9693 var deal_plu = $(this).attr("plu"); 9694 var special_plu = $(this).attr("spec-plu"); 9695 var valid = false; 9696 9697 if($(".deal-selected-item-"+deal_plu).length > 0){ 9698 valid = true; 9699 $(".deal-selected-item-"+deal_plu).each(function(){ 9700 if(!$(this).val()){ 9701 $("#deal-selection-"+deal_plu+"-"+$(this).attr("ref")).css("background-color", "#e74c3c9c"); 9702 valid = false; 9703 } else if(typeof $(this).attr("deal-multi-item-option-required") !== "undefined" && $(this).attr("deal-multi-item-option-required") !== false){ 9704 if($("#deal-modal-body-customize-"+deal_plu+"-"+$(this).attr("ref")).is(":empty")){ 9705 $("#deal-selection-"+deal_plu+"-"+$(this).attr("ref")).css("background-color", "#e74c3c9c"); 9706 valid = false; 9707 } 9708 } 9709 }); 9710 } 9711 9712 if(!valid){ 9713 showModalAlert("warning", "Incomplete Order", "Please complete all sections to finish your order", "OK"); 9714 return false; 9715 } else{ 9716 var i = 0, 9717 item_array = new Array(), 9718 left_plus, 9719 right_plus, 9720 left_toppings, 9721 right_toppings, 9722 item_options; 9723 9724 $(".deal-selected-item-"+deal_plu).each(function(){ 9725 var option_id=""; 9726 var price = 0; 9727 var section = $(this).attr("ref"); 9728 var PLU = $(this).val(); 9729 var selection_id = $(this).attr("selection-id"); 9730 var surcharge = $(this).attr("price"); 9731 9732 if($(this).val() == "HH"){ 9733 if(surcharge == undefined){ 9734 surcharge = 0; 9735 } 9736 9737 if(selection_id === undefined){ 9738 selection_id=""; 9739 } 9740 9741 var item_details = new Array("", 1, option_id, surcharge, price, selection_id, "", "", "HH"); 9742 } else{ 9743 if($("input[name='deal-item-option-"+deal_plu+"-"+PLU+"-"+section+"']:checked").length > 0){ 9744 $("input[name='deal-item-option-"+deal_plu+"-"+PLU+"-"+section+"']:checked").each(function(){ 9745 option_id += (option_id.trim()!="") ? "," : ""; 9746 option_id += $(this).val(); 9747 }); 9748 } else if(typeof $(this).attr("deal-item-option-id") !== "undefined" && $(this).attr("deal-item-option-id") !== false){ 9749 option_id += (option_id.trim()!="") ? "," : ""; 9750 option_id += $(this).attr("deal-item-option-id"); 9751 } 9752 9753 var extra_array = new Array(); 9754 var ii = 0; 9755 if($("#current-toppings-list-ul-deals-"+deal_plu+"-"+PLU+"-"+section+" li input:not(:checked)").length > 0){ 9756 $("#current-toppings-list-ul-deals-"+deal_plu+"-"+PLU+"-"+section+" li input:not(:checked)").each(function(){ 9757 var plu = $(this).attr("plu"); 9758 var extra_price = $(this).val(); 9759 9760 var extras = new Array(plu, extra_price, -1, true); 9761 9762 if(typeof extras != 'undefined'){ 9763 extra_array[ii] = extras; 9764 } 9765 9766 ii++; 9767 }); 9768 } 9769 9770 if($("#deal-modal-body-customize-"+deal_plu+"-"+section+" li input:checked").length > 0){ 9771 $("#deal-modal-body-customize-"+deal_plu+"-"+section+" li input:checked").each(function(){ 9772 var plu = $(this).attr("plu"); 9773 var extra_price = $(this).val(); 9774 9775 if(!$(this).hasClass("current_item")){ 9776 var extras = new Array(plu, extra_price, 1, false); 9777 9778 if(typeof extras != 'undefined'){ 9779 extra_array[ii] = extras; 9780 } 9781 9782 ii++; 9783 } 9784 }); 9785 } 9786 9787 if(extra_array === undefined){ 9788 extra_array=""; 9789 } 9790 9791 if (surcharge == undefined){ 9792 surcharge = 0; 9793 } 9794 9795 if(selection_id === undefined){ 9796 selection_id=""; 9797 } 9798 9799 // mimic the format of the original free_toppings from priceBaseOnOrderType() function 9800 var f_tops = { 9801 free_toppings_list: [] 9802 }; 9803 9804 if(deal_toppings_list[deal_plu] !== undefined && !isEmpty(deal_toppings_list[deal_plu]["section_"+(i+1)])){ 9805 f_tops = deal_toppings_list[deal_plu]["section_"+(i+1)]; 9806 } 9807 9808 var item_details = new Array(PLU, 1, option_id, surcharge, price, selection_id, extra_array, f_tops.free_toppings_list); 9809 } 9810 9811 item_array[i] = item_details; 9812 i++; 9813 }); 9814 9815 left_plus = deal_hh_left_plu; 9816 right_plus = deal_hh_right_plu; 9817 left_toppings = deal_hh_left_array; 9818 right_toppings = deal_hh_right_array; 9819 item_options = deal_hh_item_option; 9820 9821 setTimeout(function(){ 9822 $(".deals-close-popup-"+deal_plu).click(); 9823 }, 50); 9824 9825 $.post("core/ajax/add_special.php", { 9826 'special_plu': special_plu, 9827 'price': 0, 9828 'item_array': item_array, 9829 'menu_id': $(this).parent().data("menu-id"), 9830 ...(typeof $(this).parent().data("free-item") !== 'undefined' && $(this).parent().data("free-item") == 1 ? { 'is_free_deal_item': 1 } : {}), 9831 'promotional_code_used': 0, 9832 'deal_minimum_order': $(this).attr("min-order"), 9833 'left_plus': left_plus, 9834 'right_plus': right_plus, 9835 'left_toppings': left_toppings, 9836 'right_toppings': right_toppings, 9837 'item_options': item_options 9838 }).done(function(data){ 9839 try{ 9840 if (data && data.response_code !== undefined && data.response_code != '00') { 9841 showModalAlert("info", "Message", data.message, "OK"); 9842 return false;
9843 } 9844 } catch(e){ 9845 9846 } 9847 9848 $("#view-basket").load("core/mybasket.php", function(){ 9849 get_cart_total(); 9850 9851 if(!$('#free_item_plu').length){ 9852 new PNotify({ 9853 text: "Item added to order.", 9854 width: "220px", 9855 delay: 3000, 9856 type: "success" 9857 }); 9858 } 9859 }); 9860 }); 9861 } 9862 }); 9863 9864 $(".deal_add_extra").die().live("click", function(){ 9865 var ref = $(this).attr("ref"); 9866 var deal_plu = $(this).attr("deal-plu"); 9867 var item_plu = $(this).attr("item-plu"); 9868 var topping_plu = $(this).attr("topping-plu"); 9869 deal_max_toppings = $(".modal-deals .modal-footer #deal-max-toppings-"+deal_plu).html(); 9870 deal_num_free_extra = $(".modal-deals .modal-footer #deal-num-free-extra-"+deal_plu).html(); 9871 9872 var deal_cur_toppings = dealCheckMaxToppings(deal_plu, item_plu, ref); 9873 9874 if(deal_cur_toppings > deal_max_toppings){ 9875 showModalAlert("warning", "Limit Reached", "You have reached the extras limit of "+deal_max_toppings, "OK"); 9876 return false; 9877 } 9878 9879 var price = $("#current_order_type_holder").val() == "pickup" ? $(this).data("sell-shop") : ($("#current_order_type_holder").val() == "delivery" ? $(this).data("sell-delivery") : $(this).data("sell-table")); 9880 if(!price){ 9881 price = $(this).attr("value"); 9882 } 9883 9884 if(deal_num_free_extra > 0 && deal_num_free_extra > deal_toppings_list[deal_plu]["section_"+ref]["free_toppings_list"].length){ 9885 price = 0; 9886 } 9887 9888 if($(this).prop("checked")){ 9889 if(deal_cur_toppings <= deal_max_toppings && deal_cur_toppings >= 0){ 9890 if(deal_num_free_extra && price == 0){ 9891 if(deal_num_free_extra > deal_toppings_list[deal_plu]["section_"+ref]["free_toppings_list"].length){ 9892 deal_toppings_list[deal_plu]["section_"+ref]["free_toppings_list"].push(topping_plu); 9893 $(this).addClass("free_item"); 9894 } 9895 } 9896 } 9897 } else{ 9898 var position = deal_toppings_list[deal_plu]["section_"+ref]["free_toppings_list"].indexOf(topping_plu); 9899 if(position >= 0){ 9900 // only remove if its found; has index of 0 or greater 9901 deal_toppings_list[deal_plu]["section_"+ref]["free_toppings_list"].splice(position, 1); // clean the array free item checker 9902 $(this).removeClass("free_item"); 9903 } 9904 } 9905 9906 dealGetTotal(deal_plu); 9907 deal_cur_toppings = dealCheckMaxToppings(deal_plu, item_plu, ref); 9908 var toppings_left = deal_max_toppings - deal_cur_toppings; 9909 var free_toppings_left = deal_num_free_extra - deal_toppings_list[deal_plu]["section_"+ref]["free_toppings_list"].length; 9910 $(".deal-remaining-topping-"+deal_plu+"-"+item_plu+"-"+ref).html(toppings_left); 9911 $(".deal-free-remaining-topping-"+deal_plu+"-"+item_plu+"-"+ref).html(free_toppings_left); 9912 }); 9913 9914 if($(".upgrade-to-hh").length > 0){ 9915 $(".upgrade-to-hh").parent().parent().css("padding", "15px 15px 10px 15px"); 9916 } 9917 9918 $(".upgrade-to-hh").die().live("click", function(){ 9919 var ref = $(this).attr("ref"); 9920 var deal_plu = $(this).attr("plu"); 9921 var total_hh_item_option = 0; 9922 var item_option_price =0; 9923 var hh_surcharge_price = 0; 9924 var original_price = $("#deal-price-"+deal_plu).attr("orig-price"); 9925 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-selection-list-"+deal_plu+"-"+ref).addClass("hide"); 9926 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu).addClass("hide"); 9927 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu).addClass("hide"); 9928 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).parent().addClass("hide"); 9929 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu).removeClass("hide"); 9930 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu).removeClass("hide"); 9931 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).removeClass("hide"); 9932 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).attr({"ref": ref, "return-to": "deal-main-selection"}); 9933 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).val("HH").addClass("hh-upgrade"); 9934 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", true).attr({"ref": ref}); 9935 $(".modal-deals .modal-body #deal-modal-body-hh-selection-"+deal_plu+"-"+ref+" .deal-hh-remaining-topping").html(hh_max_toppings); 9936 $("#deal-hh-remaining-topping-"+deal_plu+"-"+ref).val(hh_max_toppings); 9937 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("topping-first"); 9938 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("topping-second"); 9939 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("hh-surcharge"); 9940 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("hh-item-option-price") 9941 if($(".modal-deals .modal-body [name='deal-hh-item-option-"+deal_plu+"-"+ref+"']").length > 0){ 9942 $(".modal-deals .modal-body [name='deal-hh-item-option-"+deal_plu+"-"+ref+"']:first").attr("checked", true); 9943 } 9944 9945 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 9946 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Add to Order"); 9947 } 9948 9949 if ($("#deal-modal-body-hh-"+deal_plu+"-"+ref+" .deal-hh-item-option .deal-hh-item-option-radio").length>0){ 9950 $("#deal-modal-body-hh-"+deal_plu+"-"+ref+" .deal-hh-item-option .deal-hh-item-option-radio").each(function(){ 9951 if ($(this).attr("checked")!=undefined){ 9952 9953 item_option_price = $(this).attr("price")??0; 9954 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("hh-item-option-price",item_option_price).val("HH") 9955 } 9956 }) 9957 } 9958 if ($("#deal-modal-body-hh-"+deal_plu+"-"+ref +" .deal-hh-option .hh-surcharge").attr("surcharge")!=undefined){ 9959 hh_surcharge_price = $("#deal-modal-body-hh-"+deal_plu+"-"+ref +" .deal-hh-option .hh-surcharge").attr("surcharge")??0; 9960 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("hh-surcharge-price",hh_surcharge_price).val("HH") 9961 } 9962 else if ($("#deal-modal-body-hh-"+deal_plu+"-"+ref +" .deal-hh-pizza .hh-surcharge").attr("surcharge")!=undefined){ 9963 hh_surcharge_price = $("#deal-modal-body-hh-"+deal_plu+"-"+ref +" .deal-hh-pizza .hh-surcharge").attr("surcharge")??0; 9964 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("hh-surcharge-price",hh_surcharge_price).val("HH") 9965 } 9966 dealGetTotal(deal_plu) 9967 9968 }); 9969 9970 $(".deal-hh-item-option-radio").die().live("change",function(){ 9971 var deal_plu = $(this).attr("plu"); 9972 var item_option_price = $(this).attr("price")??0; 9973 var deal_plu_ref = ($(this).attr("id").replace("deal-hh-item-option-","")).replace("-"+$(this).val().toString(),"") 9974 var original_price = $("#deal-price-"+deal_plu).attr("orig-price"); 9975 var first_plu = $(".modal-deals .modal-body #first-half-plu-"+deal_plu_ref).val(); 9976 var second_plu = $(".modal-deals .modal-body #second-half-plu-"+deal_plu_ref).val(); 9977 9978 if ($("#deal-modal-body-hh-"+deal_plu_ref+" .deal-hh-item-option .deal-hh-item-option-radio").length>0){ 9979 $("#deal-modal-body-hh-"+deal_plu_ref+" .deal-hh-item-option .deal-hh-item-option-radio").each(function(){ 9980 if ($(this).is(":checked")){ 9981 9982 item_option_price = $(this).attr("price")??0; 9983 $("#deal-selected-item-"+deal_plu_ref).attr("hh-item-option-price",item_option_price).val("HH"); 9984 } 9985 }) 9986 } 9987 dealGetTotal(deal_plu) 9988 }); 9989 9990 $(".back-to-main-deal-hh").die().live("click", function(){ 9991 var ref = $(this).attr("ref"); 9992 var hh_ref = $(this).attr("hh-ref");
9993 var return_to = $(this).attr("return-to"); 9994 var deal_plu = $(this).attr("plu"); 9995 9996 if(typeof ref !== "undefined" && ref !== false && typeof return_to !== "undefined" && return_to !== false){ 9997 if(return_to == "deal-main-selection"){ 9998 $(this).removeAttr("ref"); 9999 $(this).removeAttr("return-to"); 10000 $(this).removeAttr("hh-ref"); 10001 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).addClass("hide"); 10002 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+", .modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu).addClass("hide"); 10003 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu).removeClass("hide"); 10004 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-selection-list-"+deal_plu+"-"+ref).removeClass("hide"); 10005 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).removeClass("hh-upgrade"); 10006 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu).removeClass("hide"); 10007 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").removeAttr("ref"); 10008 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").removeAttr("hh-ref"); 10009 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref+" .deal-selection-icon").removeClass("glyphicon-ok glyphicon-chevron-right").addClass("glyphicon-chevron-right"); 10010 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref+" .deal-item-name-selected").html(""); 10011 $(".modal-deals .modal-body #deal-hh-first-"+deal_plu+"-"+ref+" span.deal-hh-first-item-label").html("Select your first half"); 10012 $(".modal-deals .modal-body #deal-hh-second-"+deal_plu+"-"+ref+" span.deal-hh-second-item-label").html("Select your second half"); 10013 $(".modal-deals .modal-body #deal-hh-first-"+deal_plu+"-"+ref+" span.deal-hh-first-icon, .modal-deals .modal-body #deal-hh-second-"+deal_plu+"-"+ref+" span.deal-hh-second-icon").removeClass("glyphicon-ok").addClass("glyphicon-chevron-right"); 10014 $(".modal-deals .modal-body #deal-hh-first-selected-"+deal_plu+"-"+ref+", .modal-deals .modal-body #deal-hh-second-selected-"+deal_plu+"-"+ref).addClass("hide").empty(); 10015 $(".modal-deals .modal-body #deal-hh-first-item-list-"+deal_plu+"-"+ref+", .modal-deals .modal-body #deal-hh-second-item-list-"+deal_plu+"-"+ref).removeClass("hide"); 10016 $(".modal-deals .modal-body #first-half-plu-"+deal_plu+"-"+ref+", .modal-deals .modal-body #second-half-plu-"+deal_plu+"-"+ref).val(""); 10017 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).removeAttr("selection-id").val(""); 10018 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).removeAttr("price"); 10019 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).removeAttr("loaded"); 10020 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).removeAttr("hh-surcharge-price"); 10021 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).removeAttr("hh-item-option-price"); 10022 10023 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") > 1){ 10024 $("#back-to-main-deal-"+deal_plu).parent().removeClass("hide"); 10025 } 10026 10027 dealGetTotal(deal_plu); 10028 10029 delete deal_hh_left_plu[parseInt(ref) - 1]; 10030 delete deal_hh_right_plu[parseInt(ref) - 1]; 10031 delete deal_hh_item_option[parseInt(ref) - 1]; 10032 deal_hh_left_array[parseInt(ref) - 1] = []; 10033 deal_hh_right_array[parseInt(ref) - 1] = []; 10034 } else if(return_to == "hh-main-selection"){ 10035 $(this).attr("return-to", "deal-main-selection"); 10036 $(this).removeAttr("hh-ref"); 10037 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+" h4.modal-title").html("Half/Half"); 10038 $(".modal-deals .modal-body #deal-modal-body-hh-selection-"+deal_plu+"-"+ref).addClass("hide"); 10039 $(".modal-deals .modal-body #deal-hh-first-selection-"+deal_plu+"-"+ref+", .modal-deals .modal-body #deal-hh-second-selection-"+deal_plu+"-"+ref).addClass("hide"); 10040 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).removeClass("hide"); 10041 10042 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10043 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Add to Order"); 10044 } 10045 10046 if($(".modal-deals .modal-body #deal-hh-first-"+deal_plu+"-"+ref+" span.deal-hh-first-icon").hasClass("glyphicon-ok") || 10047 $(".modal-deals .modal-body #deal-hh-second-"+deal_plu+"-"+ref+" span.deal-hh-second-icon").hasClass("glyphicon-ok")){ 10048 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", false).addClass("add-deal-hh"); 10049 } 10050 } 10051 } else{ 10052 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+", .modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu).addClass("hide"); 10053 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).addClass("hide"); 10054 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu).removeClass("hide"); 10055 $(".modal-deals .modal-body #deal-modal-body-main-"+deal_plu+", .modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).removeClass("hide"); 10056 } 10057 10058 $(".modal-deals .modal-body #deal-modal-body-selection-list-"+deal_plu+"-"+ref).scrollTop($(".modal-body").offset().top); 10059 modal_height("#add-popup-deals-"+deal_plu); 10060 }); 10061 10062 $(".modal-deals .deal-hh-first").die().live("click", function(){ 10063 var ref = $(this).attr("ref"); 10064 var deal_plu = $(this).attr("plu"); 10065 10066 if(!$(this).hasClass("disabled")){ 10067 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).addClass("hide"); 10068 $(".modal-deals .modal-body #deal-modal-body-hh-selection-"+deal_plu+"-"+ref+", .modal-deals .modal-body #deal-hh-first-selection-"+deal_plu+"-"+ref).removeClass("hide"); 10069 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+" h4.modal-title").html("Choose Your First Half"); 10070 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).attr({"ref": ref, "return-to": "hh-main-selection", "hh-ref": "first"}); 10071 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").attr({"ref": ref, "hh-ref": "first"}).removeClass("add-deal-hh");
10072 $("#add-popup-deals-"+deal_plu+" .modal-body").scrollTop(0); 10073 10074 if($(".modal-deals .modal-body #deal-hh-first-"+deal_plu+"-"+ref+" span.deal-hh-first-icon").hasClass("glyphicon-chevron-right")){ 10075 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 10076 } else if($(".modal-deals .modal-body #deal-hh-first-"+deal_plu+"-"+ref+" span.deal-hh-first-icon").hasClass("glyphicon-ok")){ 10077 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", false); 10078 } 10079 10080 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10081 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Next"); 10082 } 10083 10084 if($(".modal-deals .modal-body #first-half-plu-"+deal_plu+"-"+ref).val()){ 10085 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).attr({"ref": ref, "hh-ref": "first"}).parent().removeClass("hide"); 10086 } 10087 10088 if($("#"+deal_plu+"-"+ref+"-first-topping-ctr").length){ 10089 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().removeClass("hide"); 10090 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).parent().addClass("hide"); 10091 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).click(); 10092 } else{ 10093 if($(".modal-deals .modal-body #first-half-plu-"+deal_plu+"-"+ref).val()){ 10094 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().addClass("hide"); 10095 $(".modal-deals .modal-body #deal-hh-first-selected-"+deal_plu+"-"+ref).removeClass("hide"); 10096 } 10097 } 10098 10099 modal_height("#add-popup-deals-"+deal_plu); 10100 } 10101 }); 10102 10103 $(".modal-deals .deal-hh-second").die().live("click", function(){ 10104 var ref = $(this).attr("ref"); 10105 var deal_plu = $(this).attr("plu"); 10106 10107 if(!$(this).hasClass("disabled")){ 10108 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).addClass("hide"); 10109 $(".modal-deals .modal-body #deal-modal-body-hh-selection-"+deal_plu+"-"+ref+", .modal-deals .modal-body #deal-hh-second-selection-"+deal_plu+"-"+ref).removeClass("hide"); 10110 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+" h4.modal-title").html("Choose Your Second Half"); 10111 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).attr({"ref": ref, "return-to": "hh-main-selection", "hh-ref": "second"}); 10112 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").attr({"ref": ref, "hh-ref": "second"}).removeClass("add-deal-hh"); 10113 $("#add-popup-deals-"+deal_plu+" .modal-body").scrollTop(0); 10114 10115 if($(".modal-deals .modal-body #deal-hh-second-"+deal_plu+"-"+ref+" span.deal-hh-second-icon").hasClass("glyphicon-chevron-right")){ 10116 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 10117 } else if($(".modal-deals .modal-body #deal-hh-second-"+deal_plu+"-"+ref+" span.deal-hh-second-icon").hasClass("glyphicon-ok")){ 10118 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", false); 10119 } 10120 10121 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10122 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Next"); 10123 } 10124 10125 if($(".modal-deals .modal-body #second-half-plu-"+deal_plu+"-"+ref).val()){ 10126 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).attr({"ref": ref, "hh-ref": "second"}).parent().removeClass("hide"); 10127 } 10128 10129 if($("#"+deal_plu+"-"+ref+"-second-topping-ctr").length){ 10130 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().removeClass("hide"); 10131 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).parent().addClass("hide"); 10132 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).click(); 10133 } else{ 10134 if($(".modal-deals .modal-body #second-half-plu-"+deal_plu+"-"+ref).val()){ 10135 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().addClass("hide"); 10136 $(".modal-deals .modal-body #deal-hh-second-selected-"+deal_plu+"-"+ref).removeClass("hide"); 10137 } 10138 } 10139 10140 modal_height("#add-popup-deals-"+deal_plu); 10141 } 10142 }); 10143 10144 $(".deal-hh-selection-item, .deal-hh-item-thumb").die().live("click", function(e){ 10145 if($(this).hasClass("deal-hh-item-thumb")){ 10146 var plu = $(this).prev().attr("item-plu"); 10147 var deal_plu = $(this).prev().attr("deal-plu"); 10148 var ref = $(this).prev().attr("ref"); 10149 var which_half = $(this).prev().attr("hh-ref"); 10150 var cgroup_id = $(this).prev().attr("cgroup_id"); 10151 var subid = $(this).prev().attr("subid"); 10152 var selection_id = $(this).prev().attr("selection-id"); 10153 var item_name = $(this).prev().find("p.deal-hh-item-name").html(); 10154 } else{ 10155 var plu = $(this).attr("item-plu"); 10156 var deal_plu = $(this).attr("deal-plu"); 10157 var ref = $(this).attr("ref"); 10158 var which_half = $(this).attr("hh-ref"); 10159 var cgroup_id = $(this).attr("cgroup_id"); 10160 var subid = $(this).attr("subid"); 10161 var selection_id = $(this).attr("selection-id"); 10162 var item_name = $(this).find("p.deal-hh-item-name").html(); 10163 } 10164 10165 //if HH has price, include the price when selection is finished 10166 var price = (typeof $(this).attr("price") !== "undefined" && $(this).attr("price") !== false) ? parseFloat($(this).attr("price")) : 0; 10167 var charge_item = (typeof $(this).attr("data-charge-item") !== "undefined" && $(this).data("chargeItem") == 1); 10168 var split_hh = (typeof $(this).attr("data-split-half-price") !== "undefined" && $(this).data("splitHalfPrice")
10168== 1); 10169 10170 hh_cur_toppings = hh_cur_toppings - hh_cur_toppings_tmp; 10171 10172 $(".modal-deals .modal-body #"+which_half+"-half-plu-"+deal_plu+"-"+ref).val(plu).attr("price", price); 10173 $(".modal-deals .modal-body #deal-hh-"+which_half+"-item-list-"+deal_plu+"-"+ref).addClass("hide"); 10174 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selected-"+deal_plu+"-"+ref).addClass("hide").html(""); 10175 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selection-"+deal_plu+"-"+ref+" .lds-ring").show(); 10176 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+" .back-to-pizza-deal-hh").attr({"ref": ref, "hh-ref": which_half}); 10177 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().addClass("hide"); 10178 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).parent().removeClass("hide"); 10179 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).attr("selection-id", selection_id).val("HH"); 10180 10181 deal_hh_toppings_ajax = $.ajax({ 10182 type: "POST", 10183 url: "core/ajax/get_extra_toppings_popup.php", 10184 data: "plu="+plu+"&condiment_group_id="+cgroup_id+"&sub_cat_id="+subid+"&which_half="+which_half+"&is_deal=true&deal_plu="+deal_plu+"&ref="+ref, 10185 success: function(data){ 10186 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selection-"+deal_plu+"-"+ref+" .lds-ring").hide(); 10187 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selected-"+deal_plu+"-"+ref).removeClass("hide").html(data); 10188 $(".modal-deals .modal-body #deal-hh-"+which_half+"-"+deal_plu+"-"+ref+" span.deal-hh-"+which_half+"-item-label").html(item_name); 10189 $(".modal-deals .modal-body #deal-hh-"+which_half+"-"+deal_plu+"-"+ref+" span.deal-hh-"+which_half+"-icon").removeClass("glyphicon-chevron-right").addClass("glyphicon-ok"); 10190 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").attr({"ref": ref, "hh-ref": which_half}).prop("disabled", false); 10191 $(".modal-deals .modal-body #deal-modal-body-hh-selection-"+deal_plu+"-"+ref+" .deal-hh-remaining-topping").html($("#deal-hh-remaining-topping-"+deal_plu+"-"+ref).val()); 10192 10193 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10194 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Next"); 10195 } 10196 10197 if($("#"+deal_plu+"-"+ref+"-"+which_half+"-topping-ctr").length){ 10198 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10199 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Add to Order"); 10200 } 10201 10202 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").click(); 10203 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selected-"+deal_plu+"-"+ref).addClass("hide"); 10204 $(".modal-deals .modal-body #deal-hh-"+which_half+"-item-list-"+deal_plu+"-"+ref).removeClass("hide"); 10205 } 10206 } 10207 }); 10208 10209 var first_half_elem = $(".modal-deals .modal-body #first-half-plu-"+deal_plu+"-"+ref); 10210 var second_half_elem = $(".modal-deals .modal-body #second-half-plu-"+deal_plu+"-"+ref); 10211 var first_plu = first_half_elem.val(); 10212 var second_plu = second_half_elem.val(); 10213 var section_id = $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref+" .deal-selection-name").attr("selection-section-id"); 10214 var has_price = ((typeof first_half_elem.attr("price") !== "undefined" || typeof second_half_elem.attr("price") !== "undefined") && (parseFloat(first_half_elem.attr("price")) > 0 || parseFloat(second_half_elem.attr("price")) > 0)); 10215 10216 if(first_plu && second_plu){ 10217 $.ajax({ 10218 type: "POST", 10219 url: "core/ajax/get_half_half_price.php", 10220 data: "first_plu="+first_plu+"&second_plu="+second_plu+"§ion_id="+section_id+"&is_special=true"+(has_price ? '' : '&remove_price=1'), 10221 success: function(data){ 10222 if(data){ 10223 var price = parseFloat(data.trim()); 10224 var extra_price = 0; 10225 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("hh-surcharge", price).val("HH"); 10226 if($("."+deal_plu+"-"+ref+"-first-accordion li input:checked").length > 0){ 10227 $("."+deal_plu+"-"+ref+"-first-accordion li input:checked").each(function(){ 10228 if($(this).val()){ 10229 extra_price += (parseFloat($(this).val())); 10230 } 10231 }); 10232 } 10233 price = price + extra_price; 10234 10235 var extra_price = 0; 10236 if($("."+deal_plu+"-"+ref+"-second-accordion li input:checked").length > 0){ 10237 $("."+deal_plu+"-"+ref+"-second-accordion li input:checked").each(function(){ 10238 if($(this).val()){ 10239 extra_price += (parseFloat($(this).val())); 10240 } 10241 }); 10242 } 10243 price = price + extra_price; 10244 10245 if(price > 0) 10246 { 10247 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).attr("price", price); 10248 } 10249 dealGetTotal(deal_plu); 10250 } 10251 } 10252 }); 10253 } 10254 }); 10255 10256 $(".add_deal_hh_extra").die().live("click",function(){ 10257 var extra_price = parseFloat($(this).val()); 10258 var price =0; 10259 var deal_plu = $(this).attr('deal-plu'); 10260 var ref = $(this).attr('ref'); 10261 var which_half =($(this).attr("id").replace("extra-"+deal_plu+"-"+ref+"-","")).replace("-"+$(this).attr("plu"),"") 10262 var topping_limit=$("#deal-hh-"+which_half+"-selected-"+deal_plu+"-"+ref).find(".deal-hh-remaining-topping").text()??0; 10263 var topping_price = 0; 10264 10265 if($("#deal-selected-item-"+deal_plu+"-"+ref).attr("topping-"+which_half)!=undefined){ 10266 topping_price = parseFloat($("#deal-selected-item-"+deal_plu+"-"+ref).attr("topping-"+which_half))??0; 10267 } 10268 10269 if($(this).is(":checked")){ 10270 if (topping_limit > 0){ 10271 if($("#deal-selected-item-"+deal_plu+"-"+ref).attr("price") != undefined ){ 10272 price = parseFloat($("#deal-selected-item-"+deal_plu+"-"+ref).attr("price")) + extra_price 10273 } else{ 10274 price = price + extra_price; 10275 } 10276 topping_price = topping_price + extra_price; 10277 10278 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("topping-"+which_half, parseFloat(topping_price)); 10279 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("price", price); 10280 } 10281 } else{ 10282 if($("#deal-selected-item-"+deal_plu+"-"+ref).attr("price") != undefined ){ 10283 price = parseFloat($("#deal-selected-item-"+deal_plu+"-"+ref).attr("price")) - extra_price 10284 } else{ 10285 price = price - extra_price; 10286 } 10287 topping_price = topping_price - extra_price; 10288 10289 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("topping-"+which_half, topping_price); 10290 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("price", price).val("HH"); 10291 } 10292 10293 var maxToppingValid = checkMaxToppingsLimit(true, deal_plu, ref); 10294 var _lo_max_toppings = hh_max_toppings; 10295 10296 if(!_lo_max_toppings){ 10297 _lo_max_toppings = 12; 10298 } 10299 10300 if(maxToppingValid == false){ 10301 showModalAlert("warning", "Limit Reached", "You have reached the extras limit of "+_lo_max_toppings, "OK"); 10302 return false;
10303 } 10304 10305 var currency = $("#deal-price-"+deal_plu).text(); 10306 var halfhalftotal = Number(currency.replace(/[^0-9\.]+/g,"")); 10307 10308 var price = $("#current_order_type_holder").val() == "pickup" ? $(this).data("sell-shop") : ($("#current_order_type_holder").val() == "delivery" ? $(this).data("sell-delivery") : $(this).data("sell-table")); 10309 if(!price){ 10310 price = $(this).attr("value"); //this is the original value of price 10311 } 10312 10313 var item_total = halfhalftotal; 10314 10315 if($(this).prop("checked")){ 10316 item_total = halfhalftotal + parseFloat(price); 10317 } else{ 10318 item_total = halfhalftotal - parseFloat(price); 10319 } 10320 10321 $("#deal-price-"+deal_plu).html("$"+formatNumber(item_total)); 10322 10323 checkMaxToppingsLimit(true, deal_plu, ref); 10324 }); 10325 10326 $(".back-to-pizza-deal-hh").die().live("click", function(){ 10327 var ref = $(this).attr('ref'); 10328 var which_half = $(this).attr('hh-ref'); 10329 var deal_plu = $(this).attr('plu'); 10330 10331 var hh_toppings =0; 10332 var first_plu = $(".modal-deals .modal-body #first-half-plu-"+deal_plu+"-"+ref).val(); 10333 var second_plu = $(".modal-deals .modal-body #second-half-plu-"+deal_plu+"-"+ref).val(); 10334 10335 if(deal_hh_toppings_ajax.status !== 200){ 10336 deal_hh_toppings_ajax.abort(); 10337 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selection-"+deal_plu+"-"+ref+" .lds-ring").hide(); 10338 } 10339 10340 $(".modal-deals .modal-body #deal-hh-"+which_half+"-item-list-"+deal_plu+"-"+ref).removeClass("hide"); 10341 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selected-"+deal_plu+"-"+ref).addClass("hide").empty(); 10342 $(".modal-deals .modal-body #"+which_half+"-half-plu-"+deal_plu+"-"+ref).val(""); 10343 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().removeClass("hide"); 10344 $(this).parent().addClass("hide"); 10345 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 10346 $(".modal-deals .modal-body #deal-hh-"+which_half+"-"+deal_plu+"-"+ref+" span.deal-hh-"+which_half+"-item-label").html("Select your "+which_half+" half"); 10347 $(".modal-deals .modal-body #deal-hh-"+which_half+"-"+deal_plu+"-"+ref+" span.deal-hh-"+which_half+"-icon").removeClass("glyphicon-ok").addClass("glyphicon-chevron-right"); 10348 10349 var extra_price=0; 10350 var hh_extra = 0; 10351 var hh_surcharge =0; 10352 if ($("#deal-selected-item-"+deal_plu+"-"+ref).attr("price")!=undefined){ 10353 hh_toppings = parseFloat($("#deal-selected-item-"+deal_plu+"-"+ref).attr("price"))??0; 10354 } 10355 if (first_plu && second_plu){ 10356 if ($("#deal-selected-item-"+deal_plu+"-"+ref).attr("hh-surcharge")!=undefined){ 10357 hh_surcharge = parseFloat($("#deal-selected-item-"+deal_plu+"-"+ref).attr("hh-surcharge"))??0; 10358 } 10359 } 10360 if ($("#deal-selected-item-"+deal_plu+"-"+ref).attr("topping-"+which_half)!=undefined){ 10361 hh_extra = parseFloat ($("#deal-selected-item-"+deal_plu+"-"+ref).attr("topping-"+which_half)) 10362 } 10363 10364 if (which_half=="first"){ 10365 deal_hh_left_array[parseInt(ref) - 1] = []; 10366 } 10367 else if(which_half =="second"){ 10368 deal_hh_right_array[parseInt(ref) - 1] = []; 10369 } 10370 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("hh-surcharge") 10371 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).attr("price", formatNumber(parseFloat(hh_toppings - (hh_surcharge + hh_extra)))); 10372 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("topping-"+which_half) 10373 dealGetTotal(deal_plu); 10374 deal_hh_extra_toppings(deal_plu, which_half, ref); 10375 }); 10376 10377 $("button.deal-hh-modal-footer-next").die().live("click", function(){ 10378 var ref = $(this).attr('ref'); 10379 var which_half = $(this).attr('hh-ref'); 10380 var deal_plu = $(this).attr('plu'); 10381 10382 if(!$(this).hasClass("add-deal-hh")){ 10383 $(this).addClass("add-deal-hh"); 10384 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).parent().addClass("hide"); 10385 $(".modal-deals .modal-body #deal-modal-body-hh-selection-"+deal_plu+"-"+ref+", .modal-deals .modal-body #deal-hh-"+which_half+"-selection-"+deal_plu+"-"+ref).addClass("hide"); 10386 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selected-"+deal_plu+"-"+ref+", .modal-deals .modal-body #deal-hh-"+which_half+"-item-list-"+deal_plu+"-"+ref).addClass("hide"); 10387 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().removeClass("hide"); 10388 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).attr({"ref": ref, "return-to": "deal-main-selection"}); 10389 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).removeClass("hide").scrollTop($(".modal-body").offset().top); 10390 10391 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10392 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Add to Order"); 10393 } 10394 } else{ 10395 var first_plu = $(".modal-deals .modal-body #first-half-plu-"+deal_plu+"-"+ref).val(); 10396 var second_plu = $(".modal-deals .modal-body #second-half-plu-"+deal_plu+"-"+ref).val(); 10397 var half = ["first", "second"]; 10398 10399 if($(".modal-deals .modal-body [name='deal-hh-item-option-"+deal_plu+"-"+ref+"']").length > 0){ 10400 if($(".modal-deals .modal-body [name='deal-hh-item-option-"+deal_plu+"-"+ref+"']:checked").length > 0){ 10401 deal_hh_item_option[parseInt(ref) - 1] = $(".modal-deals .modal-body [name='deal-hh-item-option-"+deal_plu+"-"+ref+"']:checked").val(); 10402 } else{ 10403 showModalAlert("warning", "Option Required", "You must select an 'Option'", "OK"); 10404 return false;
10405 } 10406 } else{ 10407 deal_hh_item_option[parseInt(ref) - 1] = ""; 10408 } 10409 10410 deal_hh_left_plu[parseInt(ref) - 1] = first_plu; 10411 deal_hh_right_plu[parseInt(ref) - 1] = second_plu; 10412 10413 jQuery.each(half, function(index, item){ 10414 if($("#deal-hh-"+item+"-selected-"+deal_plu+"-"+ref+" li input[type='checkbox']").length > 0){ 10415 var i = 0; 10416 10417 $("#deal-hh-"+item+"-selected-"+deal_plu+"-"+ref+" li input[type='checkbox']").each(function(){ 10418 if((!$(this).hasClass("current_item") && $(this).prop("checked")) || ($(this).hasClass("current_item") && !$(this).prop("checked"))){ 10419 var plu = $(this).attr("plu"); 10420 var extra_price = $(this).val(); 10421 var qty = 1; 10422 10423 if($(this).hasClass("current_item") && !$(this).prop("checked")){ 10424 qty = -1; 10425 } 10426 10427 var is_current = $(this).hasClass("current_item"); 10428 var extras = new Array(plu, extra_price, qty, is_current); 10429 10430 if(item == "first"){ 10431 deal_hh_left_array[parseInt(ref) - 1][i] = extras; 10432 } else{ 10433 deal_hh_right_array[parseInt(ref) - 1][i] = extras; 10434 } 10435 10436 i++; 10437 } 10438 }); 10439 } 10440 }); 10441 10442 if(!first_plu || !second_plu){ 10443 showModalAlert("warning", "Selection Required", "You must select both halves", "OK"); 10444 return false; 10445 } else{ 10446 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref+" .deal-selection-icon").removeClass("glyphicon-chevron-right glyphicon-ok").addClass("glyphicon-ok"); 10447 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref+" .deal-item-name-selected").html(" - Half/Half"); 10448 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu).addClass("hide"); 10449 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).addClass("hide"); 10450 $(this).parent().addClass("hide"); 10451 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu).removeClass("hide"); 10452 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).removeClass("hide"); 10453 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").prop("disabled", false); 10454 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).removeAttr("ref"); 10455 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).removeAttr("return-to"); 10456 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).removeAttr("hh-ref"); 10457 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).removeAttr("ref"); 10458 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).removeAttr("hh-ref"); 10459 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+" h4.modal-title").html("Half/Half"); 10460 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref).css("background-color", ""); 10461 10462 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10463 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").click(); 10464 } 10465 } 10466 } 10467 10468 modal_height("#add-popup-deals-"+deal_plu); 10469 }); 10470 /* Deals - END */ 10471 }); 10472</script>
10472<script> 10473 if (sessionStorage.customisedItem) 10474 sessionStorage.removeItem("customisedItem"); // remove data of customisedItem so when you return to customise_item page it will only display all the default toppings 10475 10476 //var monitorDebugMode = false; 10477 /** 10478 * This was based on id set in menu caching - In charge of display notif for menu active time 10479 * This is tightly coupled to the structure of menu blocks `{menu name}-block` 10480 */ 10481 function setMenuActiveTime(menuName, hide, data){ 10482 // Followed how menu-items.php sanitize title 10483 menuName = menuName.replace(/\'/,""); 10484 // For some reason the php only puts quot instead of " in the className 10485 // This will handle and htmlencoded chars ⢠which becaome • 10486 menuName = menuName.replace(/(?=[&;]).?/g,""); 10487 menuName = menuName.replace(/[^a-zA-Z0-9_ ()-]/g,""); // CRM #5090 menu active times not working when it have slash, same regex in menu-items.php 10488 menuName = menuName.replace(/[()]/g,'') // CRM #5090 menu active times not working when it have parenthesis, same regex in menu-items.php 10489 menuName = menuName.replace(/^[0-9-]+/g,""); // WD-524 Unavailable item still adding on the cart (Platina), removed number at the start of menu-title 10490 10491 var menuId = (data && data.menuId !== undefined) ? data.menuId : ""; 10492 10493 if(data && data.newMenuNotif !== undefined){ 10494 $("#"+menuName+"-block.mi-"+menuId+" #menu-desc-header ."+menuName+"-block-active-time").html(data.newMenuNotif); 10495 } 10496 10497 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons span").hide(); 10498 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .activetime_span:not(.deal_end_time)").remove(); 10499 10500 // Menu is disabled - Hide the menu and show notif 10501 if(hide){ 10502 10503 if (data.hide_when_unavailable == 1) { 10504 $("#"+menuName+"-block.mi-"+menuId).hide(); 10505 $("#menu #menu-ul li.menu-" + menuId).hide(); 10506 } 10507 10508 $("#"+menuName+"-block.mi-"+menuId+" #menu-desc-header ."+menuName+"-block-active-time").show(); 10509 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons input").hide(); 10510 10511 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .add-half-half-bt").hide(); // for half half button still showing CRM # 5095 10512 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .qty-select").hide(); 10513 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .menu-item-option select").hide(); 10514 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .item-options").hide(); 10515 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .item-options").hide(); 10516 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .item-options").hide(); 10517 $("#"+menuName+"-block.mi-"+menuId+" .menu-item-outofstock").hide(); 10518 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons").append("<span class='activetime_span' style='clear:both;display:inline-block;color:#da2d2d;font-style:italic;padding:5px 0;'>Unavailable at this moment</span>"); 10519 if($("#"+menuName+"-block.mi-"+menuId+" ul#"+menuName+" li")){ 10520 $("#"+menuName+"-block.mi-"+menuId+" ul#"+menuName+" li").each(function(){ 10521 if($(this).find(".visual-tag-container").length){ 10522 $(this).find(".item-title").after($(this).find(".visual-tag-container .item-price")); 10523 } 10524 }); 10525 $("#"+menuName+"-block.mi-"+menuId+" ul#"+menuName+" .visual-tag-container").css('display', 'none'); 10526 } 10527 }else{ 10528 10529 if (data.hide_when_unavailable == 1) { 10530 $("#"+menuName+"-block.mi-"+menuId).show(); 10531 $("#menu #menu-ul li.menu-" + menuId).show(); 10532 } 10533 10534 $("#" + menuName + "-block.mi-" + menuId + " #menu-desc-header ." + menuName + "-block-active-time").hide(); 10535 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons input").show(); 10536 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .qty-select").show(); 10537 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .menu-item-option select").show(); 10538 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .item-options").each(function(){ 10539 // Certain item option is hidden because they the item doesn't have a value 10540 // So we first check if we this option has a value before we display 10541 // As we don't wanna display blank item options 10542 if($(this).val()){ 10543 $(this).show(); 10544 } 10545 10546 }); 10547 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons span").show(); 10548 if($("#"+menuName+"-block.mi-"+menuId+" ul#"+menuName+" li")){ 10549 $("#"+menuName+"-block.mi-"+menuId+" ul#"+menuName+" li").each(function(){ 10550 if($(this).find(".visual-tag-container").length){ 10551 $(this).find(".visual-tag-container > .badge").after($(this).find(".item-price")); 10552 } 10553 }); 10554 $("#"+menuName+"-block.mi-"+menuId+" ul#"+menuName+" .visual-tag-container").css('display', 'flex'); 10555 } 10556 10557 // Additional check to hide menu items with empty ul 10558 const menuItem = $("#" + menuName + "-block.mi-" + menuId); 10559 const item_ul = menuItem.find('ul'); 10560 if (item_ul.length && item_ul.children().length === 0) { 10561 menuItem.hide(); 10562 $("#menu #menu-ul li.menu-" + menuId).hide(); 10563 } 10564 } 10565 } 10566 10567 // Checks the menu on initial load 10568 var monitorIntervalArray = []; //used for clearing interval. When changing delivery or pickup 10569 function pullMenuActiveTime(first_load){ 10570 $.ajax({ 10571 url:"core/ajax/menu-active-times.php", 10572 async: true, 10573 type:"post", 10574 data:{initial:first_load}, 10575 success: function(data){ 10576 var res = JSON.parse(data); 10577 monitorIntervalArray.forEach(function(x){ clearTimeout(x); }); //remove previous binding events. 10578 monitorIntervalArray = []; // clean the array placeholder
10579 res.forEach(function(x){ 10580 monitorIntervalArray.push(monitorActiveTime(x)); //push the return id of setInterval used for clearing previous interval 10581 var dayOnly = {}, 10582 hide = false; 10583 if(x.today == "inactive" && x.days_available.length > 0){ 10584 var newMessage = "Available day"+((x.days_available.length) == 1 ? "":"s")+" : "+x.days_available.join(","); 10585 dayOnly['newMenuNotif'] = newMessage; 10586 } 10587 10588 if(x && x.menu_id !== undefined){ 10589 dayOnly['menuId'] = x.menu_id; 10590 } 10591 10592 if(x.menu_status === "inactive" || x.today === "inactive"){ 10593 hide = true; 10594 } 10595 10596 dayOnly['hide_when_unavailable'] = x.hide_when_unavailable; 10597 dayOnly['end_remaining_time'] = x.end_remaining_time; 10598 dayOnly['start_remaining_time'] = x.start_remaining_time; 10599 10600 setMenuActiveTime(x.menu_title.replace(/\./, "\\."), hide, dayOnly); /* Activate the menu warnings*/ 10601 }); 10602 } 10603 }); 10604 } 10605 10606 /** 10607 * In charge of tracking the time base on the difference of this client and server. 10608 * 10609 * diff here is the seconds difference server time and client time 10610 * Its value represent the seconds since this function started 10611 * If diff value is higher than start_time means the menu is open. 10612 * If diff value is higher than the end_time means the menu is closed. 10613 * These checkings will only be done if the active_time detected that its active for today 10614 * 10615 */ 10616 function monitorActiveTime(data){ 10617 return setInterval(function(){ 10618 var currentDate = new Date(); 10619 var now = Math.floor(currentDate.getTime() / 1000); 10620 var diff = now - data.s_time; 10621 10622 //detect if menu only has days and no time is set 10623 var dayOnly = {}; 10624 if(data.today == "inactive" && data.days_available.length > 0){ 10625 var newMessage = "Available day"+((data.days_available.length) == 1 ? "":"s")+" : "+data.days_available.join(","); 10626 dayOnly['newMenuNotif'] = newMessage; 10627 } 10628 10629 if(data && data.menu_id !== undefined){ 10630 dayOnly['menuId'] = data.menu_id; 10631 } 10632 10633 /*if (data.today === "inactive" && data.hide_when_unavailable == 0 && data.end_remaining_time > 0 && data.start_remaining_time < 0) { 10634 data.today = "active"; 10635 }*/ 10636 10637 dayOnly['hide_when_unavailable'] = data.hide_when_unavailable; 10638 dayOnly['end_remaining_time'] = data.end_remaining_time; 10639 dayOnly['start_remaining_time'] = data.start_remaining_time; 10640 10641 if(data.today == "active"){ 10642 10643 /** 10644 * We need to compute the two factor separately 10645 * - this will enable us to switch on two states 10646 */ 10647 if(diff > data.start_remaining_time && (data.start_remaining_time != 0 && data.end_remaining_time != 0) ){ 10648 setMenuActiveTime(data.menu_title.replace(/\./, "\\."), false, dayOnly); 10649 } 10650 if(diff > data.end_remaining_time && (data.start_remaining_time != 0 && data.end_remaining_time != 0)){ 10651 setMenuActiveTime(data.menu_title.replace(/\./, "\\."), true, dayOnly); 10652 } 10653 // This will show the menu, if it store is active today but no time is set 10654 if(data.end_remaining_time == 0 && data.start_remaining_time == 0){ 10655 setMenuActiveTime(data.menu_title.replace(/\./, "\\."), false, dayOnly); 10656 } 10657 10658 }else{ 10659 setMenuActiveTime(data.menu_title.replace(/\./, "\\."), true, dayOnly); 10660 } 10661 10662 /* if(monitorDebugMode){ 10663 console.log("%c Diff %c =>%c "+diff + " " + 10664 "%c Menu %c =>%c "+data.menu_title + " " + 10665 "%c Start Remaining %c =>%c "+data.start_remaining_time + " " + 10666 "%c End Remaining %c =>%c "+data.end_remaining_time, 10667 "color:white;background: #2d6d48;","color:#d3d0d0","color:blue", 10668 "color:white;background: #2d6d48;","color:#d3d0d0","color:#f3780c", 10669 "color:white;background: #2d6d48;","color:#d3d0d0","color:blue", 10670 "color:white;background: #2d6d48;","color:#d3d0d0","color:blue", 10671 ); //For debugging 10672 } */ 10673 }, 1500); 10674 } 10675 10676 /** 10677 * Adds a specified number of seconds to a given time in HMMSS format. 10678 */ 10679 function addSeconds(time, secondsToAdd) { 10680 let hours = Math.floor(time / 10000); 10681 let minutes = Math.floor((time % 10000) / 100); 10682 let seconds = time % 100; 10683 10684 seconds += secondsToAdd; // Add seconds 10685 10686 // Handle overflow 10687 if(seconds >= 60){ 10688 seconds -= 60; 10689 minutes++; 10690 } 10691 10692 if(minutes >= 60){ 10693 minutes -= 60; 10694 hours++; 10695 } 10696 10697 if(hours >= 24){ 10698 hours -= 24; 10699 client_current_day++; 10700 } 10701 10702 if(client_current_day > 7){ 10703 client_current_day -= 7; 10704 } 10705 10706 // Format back to integer 10707 return hours * 10000 + minutes * 100 + seconds; 10708 } 10709 10710 function newItem(){ 10711 $(".visual-tag-container .visual-tag-label.new-item").each(function(){ 10712 let itemAddedTimestamp = $(this).attr("date-added"); 10713 let itemAddedDate = new Date(itemAddedTimestamp * 1000); // convert to javascript date 10714 let localDate = new Date(itemAddedDate.getFullYear(), itemAddedDate.getMonth(), itemAddedDate.getDate()); 10715 let currentDate = new Date(); 10716 currentDate.setHours(0, 0, 0, 0); // remove time part 10717 10718 let diffTime = currentDate - localDate; 10719 let diffDays = diffTime / (1000 * 60 * 60 * 24); // calculate the difference in days 10720 10721 if(diffDays > 30){ 10722 if($(this).siblings().attr('class')){ 10723 $(this).remove(); 10724 } else{ 10725 const visual_tag_container = $(this).closest('.visual-tag-container'); 10726 visual_tag_container.find('.item-price').clone().appendTo(visual_tag_container.siblings('.item-title-container')); 10727 visual_tag_container.remove(); 10728 } 10729 } 10730 }); 10731 } 10732 10733 function hideMenuCategoryIfNoVisibleItems(item){ 10734 const parent = item.parent().closest('.menu-item'); 10735 const ul_parent = parent.find('ul'); 10736 10737 if(parent.css('display') === 'none'){ 10738 return; // If the parent menu is already hidden, no need to check further 10739 } 10740 10741 var itemVisibleCount = 0; 10742 ul_parent.children().each(function(){ 10743 if($(this).hasClass('hide') === false){ 10744 itemVisibleCount++; 10745 } 10746 }); 10747 10748 if(ul_parent.length && itemVisibleCount === 0){ 10749 const className = parent.attr('class'); 10750 const menuId = getIdFromClass(className); 10751 10752 if(menuId){ 10753 $("#menu #menu-ul li.menu-" + menuId).hide(); 10754 } 10755 parent.hide(); 10756 } 10757 } 10758 10759 let deal_before_time, client_current_day, client_start_time, hasProcessedAlwaysDisplayedSpecials; 10760 function dealEndBeforeTime(){ 10761 if($("#menu-items li[special-before-time]").length){ 10762 $("#menu-items li[special-before-time]").each(function(){ 10763 let days_available_array, 10764 hide_special = false, 10765 remove_special = true, 10766 is_available_today = true, 10767 days_available = ($(this).attr('special-days-available') !== undefined ? $(this).attr('special-days-available') : undefined), 10768 start_time = ($(this).attr('special-after-time') !== undefined ? parseInt($(this).attr('special-after-time')) : undefined), 10769 end_time = parseInt($(this).attr('special-before-time')); 10770 10771 if(days_available !== undefined){ 10772 days_available_array = days_available.split(',').map(Number); 10773 10774 if(!days_available_array.includes(client_current_day)){ 10775 hide_special = true; 10776 remove_special = false;
10777 is_available_today = false; 10778 } 10779 } 10780 10781 if(!hide_special){ 10782 if(start_time !== undefined){ 10783 if(start_time <= end_time){ // Deal does NOT cross midnight 10784 if(client_start_time < start_time || client_start_time > end_time){ 10785 hide_special = true; 10786 remove_special = false; 10787 } 10788 } else{ // Deal crosses midnight 10789 if(client_start_time < start_time && client_start_time > end_time){ 10790 hide_special = true; 10791 remove_special = false; 10792 } 10793 } 10794 } else{ 10795 if(client_start_time > end_time){ 10796 hide_special = true; 10797 remove_special = true; 10798 } 10799 } 10800 } 10801 10802 if(hide_special){ 10803 if($(this).attr('display-special-always') == "0"){ 10804 if(remove_special){ 10805 $(this).remove(); 10806 } else{ 10807 $(this).addClass('hide'); 10808 } 10809 10810 hideMenuCategoryIfNoVisibleItems($(this)); 10811 } else{ 10812 start_time = $(this).attr('special-start-time'); 10813 end_time = $(this).attr('special-end-time'); 10814 10815 let unavailable_message = (start_time !== undefined) ? 'between '+start_time+' and ' : 'before '; 10816 unavailable_message += end_time; 10817 10818 if(remove_special){ 10819 $(this).find('#item-buttons').empty(); 10820 } else{ 10821 $(this).find('#item-buttons .activetime_span.deal_end_time').remove(); 10822 } 10823 10824 if(is_available_today){ 10825 $(this) 10826 .find('#item-buttons') 10827 .append('<span class="activetime_span deal_end_time" style="clear:both;display:inline-block;color:#da2d2d;font-style:italic;letter-spacing:0.8px;padding:5px;">Unavailable. Please order '+unavailable_message+'</span>'); 10828 } 10829 10830 if(remove_special){ 10831 $(this).removeAttr('display-special-always').removeAttr('special-after-time').removeAttr('special-before-time'); 10832 } 10833 } 10834 } else{ 10835 if($(this).hasClass('hide')){ 10836 $(this).removeClass('hide'); 10837 $(this).parent().closest('.menu-item').show(); 10838 10839 const className = $(this).parent().closest('.menu-item').attr('class'); 10840 const menuId = getIdFromClass(className); 10841 $("#menu #menu-ul li.menu-" + menuId).show(); 10842 } 10843 10844 if($(this).find('#item-buttons .activetime_span.deal_end_time').length){ 10845 $(this).find('#item-buttons .activetime_span.deal_end_time').remove(); 10846 } 10847 } 10848 }); 10849 10850 if($("#menu-items li[display-special-always='0']").not('[special-before-time]').length){ 10851 $("#menu-items li[display-special-always='0']").not('[special-before-time]').each(function(){ 10852 hideMenuCategoryIfNoVisibleItems($(this)); 10853 }); 10854 } 10855 } else{ 10856 if($("#menu-items li[display-special-always='0']").length && !hasProcessedAlwaysDisplayedSpecials){ 10857 hasProcessedAlwaysDisplayedSpecials = true; 10858 10859 $("#menu-items li[display-special-always='0']").each(function(){ 10860 hideMenuCategoryIfNoVisibleItems($(this)); 10861 }); 10862 } 10863 10864 clearInterval(deal_before_time); 10865 } 10866 10867 client_start_time = addSeconds(client_start_time, 2); 10868 } 10869 10870 function extra_toppings(whichHalf){ 10871 var extra_price = 0; 10872 10873 if(whichHalf == "first"){ 10874 whichHalf = "second"; 10875 } else if(whichHalf == "second"){ 10876 whichHalf = "first"; 10877 } else{ 10878 return false; 10879 } 10880 10881 if($("."+whichHalf+"-accordion li input:checked").length > 0){ 10882 $("."+whichHalf+"-accordion li input:checked").each(function(){ 10883 if($(this).val()){ 10884 extra_price += (parseFloat($(this).val())); 10885 } 10886 }); 10887 } 10888 10889 $(".hh-remaining-topping").html(hh_max_toppings - ($(".first-accordion li input:checked").length + $(".second-accordion li input:checked").length)); 10890 $(".half-half-total").html('$'+formatNumber(extra_price)); 10891 } 10892 10893 function getHHTotal(hh_price){ 10894 var price = hh_price; 10895 var hh_surcharge = 0; 10896 var extra_price = 0; 10897 var first_plu = $("#first-half-plu").val(); 10898 var second_plu = $("#second-half-plu").val(); 10899 if($(".first-accordion li input:checked").length > 0){ 10900 $(".first-accordion li input:checked").each(function(){ 10901 if($(this).val()){ 10902 extra_price += (parseFloat($(this).val())); 10903 } 10904 }); 10905 } 10906 price = price + extra_price; 10907 10908 var extra_price = 0; 10909 if($(".second-accordion li input:checked").length > 0){ 10910 $(".second-accordion li input:checked").each(function(){ 10911 if($(this).val()){ 10912 extra_price += (parseFloat($(this).val())); 10913 } 10914 }); 10915 } 10916 price = price + extra_price; 10917 10918 if($(".modal-hh .menu-item-option-radio-HHIO").length>0){ 10919 $(".modal-hh .menu-item-option-radio-HHIO").each(function(){ 10920 if($(this).attr("checked")!=undefined){ 10921 var item_option_price = parseFloat($(this).attr("price")); 10922 price = price + item_option_price; 10923 } 10924 }); 10925 } else{ 10926 if($(".modal-hh .item-option-per-hh").length>0){ 10927 $(".modal-hh .item-option-per-hh").each(function(){ 10928 if($(this).attr("checked")!=undefined){ 10929 var item_option_price = parseFloat($(this).attr("price")); 10930 price = price + item_option_price; 10931 } 10932 }); 10933 } 10934 } 10935 10936 if(!(first_plu && second_plu)){ 10937 if($(".hh-size .hh-surcharge").attr("surcharge") !=undefined){ 10938 hh_surcharge = parseFloat($(".hh-size .hh-surcharge").attr("surcharge")); 10939 price = price + hh_surcharge; 10940 } 10941 } 10942 10943 $(".half-half-total").html('$'+formatNumber(price)); 10944 } 10945 10946 function lastreorderbutton(){ 10947 $('#lastreorderbutton').click(function(){ 10948 var reOrderBtn = $(this); 10949 if($("input[name='storestatus']").val()==='offline'){ 10950 showModalAlert('warning', '', $('#offline-alert-txt').html(), 'OK'); 10951 }else{ 10952 $('button[name="reorder"]').attr('disabled','disabled'); 10953 reOrderBtn.after('<span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span>'); 10954 reOrderBtn.remove(); 10955 10956 $.ajax({ 10957 type: 'POST', 10958 url: 'core/ajax/reorder.php', 10959 data: {order_id: this.value} 10960 }).done(function(obj){ 10961 $('#view-basket').load('core/mybasket.php'); 10962 if(reOrderBtn.next().hasClass('glyphicon-refresh')){ 10963 reOrderBtn.next().remove(); 10964 } 10965 document.cookie="reorder=1;max-age=3600" 10966 window.location.href = '?page=browse'; 10967 }); 10968 } 10969 }); 10970 } 10971
10972 $(document).ready(function(){ 10973 client_current_day = 5; 10974 client_start_time = 313; 10975 10976 newItem(); 10977 dealEndBeforeTime(); 10978 deal_before_time = setInterval(dealEndBeforeTime, 2000); 10979 10980 $('#view-customer-details').load('core/view_customer_details.php'); 10981 10982 10983 $(".customise-page").live("click", function(){ 10984 var parent_div = $(this).closest('li').attr('id'); 10985 var group_id = $(this).attr('ref'); 10986 var menu_id = $(this).parents("#menu_items").data('menuid'); 10987 var plu = $("#menu-"+group_id+" :selected").val(); 10988 10989 if($("#"+parent_div+" .input-group-radio").length > 0){ // check if radio button is available 10990 var plu = $("#"+parent_div+" input[name='menu-item-option-radio-"+group_id+"']:checked").val() 10991 } 10992 10993 if(!plu){ 10994 var plu = $(this).attr('plu'); 10995 } 10996 10997 option_id = $("#"+parent_div+" #"+plu+"-option-id").val(); 10998 10999 if($("#"+parent_div+' input[name="item-option-radio-'+group_id+'"]:checked').val() && option_id == undefined){ // if item has menu-item-option 11000 var option_id = $("#"+parent_div+' input[name="item-option-radio-'+group_id+'"]:checked').val(); 11001 } else if(option_id == undefined){ // if item has no menu-item-option 11002 var option_id = $("#"+parent_div+' input[name="item-option-radio-'+plu+'"]:checked').val(); 11003 } 11004 11005 window.location = '?page=customise_item&PLU='+plu+"&group_id="+group_id+'&option_id='+option_id+'&menu_id='+menu_id; 11006 }); 11007 11008 $('#promotional_close').live("click", function(){ 11009 $("#promotional_container").removeClass('active'); 11010 }); 11011 11012 $('#promotional_banner #promotional_cover').css("background-image", "url('https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/Cheese_Bread.jpg')"); 11013 $('#promotional_content #promo_text').html('Don\'t forget the Cheese Bread!'); 11014 $('#promotional_content #promo_text').after(''); 11015 $('#promotional_content #promo_button').html('<div id=\'add-prompt\' title=\'Add to cart\' class=\'bg-primary\' ref=\'SID02\'>Add</div><input type=\'hidden\' value=\'1\' id=\'SID02-qty\'><input type=\'hidden\' value=\'22\' id=\'SID02-price\'>'); 11016 $('#promotional_container').addClass('active'); 11017 11018 11019 $('#new_customer_details').load('core/view_customer_details.php'); 11020 11021 $("#empty-button").click(function(){ 11022 $('#loading_bar').html("<img src='images/ajax-loader.gif'>"); 11023 $('#loading_bar').center(); 11024 11025 $.ajax({ 11026 type: "POST", 11027 url: "core/ajax/empty_mybasket.php", 11028 success: function(data) { 11029 $('#view-basket').load('core/mybasket.php', function(){ 11030 $('#loading_bar').html(''); 11031 get_cart_total(); 11032 }); 11033 } 11034 }); 11035 }); 11036 11037 $(".add-button-popup").live("click", function(){ 11038 var parent_div = $(this).closest('li').attr('id'); 11039 var menu_id = $(this).attr('menu-id'); 11040 var group_id = $(this).attr('id'); 11041 var PLU = $(this).attr('ref'); 11042 11043 /** 11044 *This triggers when Allow Addition is Disabled but have item-options 11045 *if no item option is checked, we make the first item the default 11046 *else if have value and the item is duplicate 11047 */ 11048 if(typeof $("#"+parent_div+" .item-option-radio-list:first").attr('multiple-io') !== "undefined" && $("#"+parent_div+" .item-option-radio-list:first").attr('multiple-io') !== false){ 11049 $("#"+parent_div+" .item-option-radio-list").attr('checked', false); 11050 $("#"+parent_div+" .item-option-radio-list").parent().parent().css({"padding":"", "border":""}); 11051 last_io_selected = []; 11052 get_item_option(parent_div); 11053 } else{ 11054 if(!$("#"+parent_div+" input[name=item-option-radio-"+PLU+"]:checked").val()){ 11055 $("#"+parent_div+" input:radio[name=item-option-radio-"+PLU+"]:not(:disabled):first").attr('checked', true); 11056 }else{ 11057 //fix for item option have default item but does not select it due to duplicate item in the menu 11058 var default_io = $("#"+ parent_div +" input[name=item-option-radio-"+PLU+"]:checked").attr('default-io'); 11059 if(typeof default_io !== "undefined" && default_io !== false){ 11060 $("#"+parent_div+" input:radio[name=item-option-radio-"+PLU+"][ref='"+default_io+"']").attr('checked', true); 11061 } else{
11062 $("#"+parent_div+" input:radio[name=item-option-radio-"+PLU+"]:not(:disabled):first").attr('checked', true); 11063 } 11064 } 11065 $("#"+parent_div+" input[name=item-option-radio-"+PLU+"]:not(:checked)").attr('checked', false); 11066 } 11067 11068 // if no menu item option is checked, we make the first item the default 11069 if(!$("#"+parent_div+" input[name=menu-item-option-radio-"+group_id+"]:checked").val()){ 11070 $("#"+parent_div+" input:radio[name=menu-item-option-radio-"+group_id+"]:not(:disabled):first").attr('checked', true); 11071 } 11072 11073 11074 if(group_id == undefined || group_id == '0'){ // if item has no menu-item-option but have item-option then we override the group_id to PLU 11075 var group_id = PLU; 11076 } 11077 11078 // if no default item-option selected then we add src on the checked item's img 11079 $("#add-popup-"+group_id+"-"+menu_id).find("input:checked").siblings(".input-group-label").find(".check-img-popup").attr("src", "https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/icon-check.png").css('visibility', "visible"); 11080 $("#add-popup-"+group_id+"-"+menu_id).find("input:not(:checked)").siblings(".input-group-label").find(".check-img-popup").css('visibility', "hidden"); 11081 11082 if(window.innerWidth > 768 && window.innerHeight < 650){ 11083 setTimeout(function(){ 11084 modal_height("#add-popup-"+group_id+"-"+menu_id); 11085 }, 200); 11086 } 11087 }); 11088 11089 // move the menuitems-reorder div inside menu-items div 11090 $("#menu-items").prepend($("#menuitems-reorder-container").html() ); 11091 $("#menuitems-reorder-container").html(''); 11092 11093 // Half-half 11094 $(".hh-button-popup").live("click", function(){ 11095 $(".half-half-total").removeAttr("price"); 11096 var hh_surcharge = 0 11097 if ($(".hh-size .hh-surcharge").attr("surcharge")!=undefined){ 11098 hh_surcharge = parseFloat($(".hh-size .hh-surcharge").attr("surcharge")); 11099 } 11100 if($(".modal-hh").hasClass("reload")){ 11101 $(".modal-hh .menu-item-option-radio-HHS:checked").click(); 11102 } else{ 11103 if(!$(".modal-hh .menu-item-option-radio-HHS:checked").val()){ 11104 $(".modal-hh .menu-item-option-radio-HHS:first").attr("checked", true).click(); 11105 } 11106 11107 if($(".modal-hh .menu-item-option-radio-HHIO").length > 0){ 11108 if(!$(".modal-hh .menu-item-option-radio-HHIO:checked").val()){ // if no item option is checked, we make the first item the default 11109 $(".modal-hh .menu-item-option-radio-HHIO:first").attr("checked", true); 11110 } 11111 } 11112 } 11113 if ($(".modal-hh .menu-item-option-radio-HHIO").length>0){ 11114 $(".modal-hh .menu-item-option-radio-HHIO").each(function(){ 11115 if ($(this).attr("checked")!=undefined){ 11116 var item_option_price = $(this).attr("price"); 11117 $(".modal-hh .half-half-total").html("$"+ formatNumber(parseFloat(parseFloat(item_option_price)+ hh_surcharge))) 11118 } 11119 }) 11120 } 11121 else{ 11122 $(".modal-hh .half-half-total").html("$"+ formatNumber(parseFloat(hh_surcharge))) 11123 } 11124 setTimeout(function(){ 11125 modal_height(".modal-hh"); 11126 }, 500); 11127 }); 11128 11129 $(".menu-item-option-radio-HHIO").live("click",function(){ 11130 var item_option_price = $(this).attr("price"); 11131 var first_plu = $("#first-half-plu").val(); 11132 var second_plu = $("#second-half-plu").val(); 11133 var hh_surcharge = 0; 11134 if ($(".hh-size .hh-surcharge").attr("surcharge")!=undefined){ 11135 hh_surcharge = parseFloat($(".hh-size .hh-surcharge").attr("surcharge")); 11136 } 11137 11138 if (first_plu && second_plu){ 11139 getHHTotal(parseFloat($(".half-half-total").attr("price"))) 11140 } 11141 else if(first_plu || second_plu){ 11142 var price = 0; 11143 var extra_price = 0; 11144 if($(".first-accordion li input:checked").length > 0){ 11145 $(".first-accordion li input:checked").each(function(){ 11146 if($(this).val()){ 11147 extra_price += (parseFloat($(this).val())); 11148 } 11149 }); 11150 } 11151 price = price + extra_price; 11152 var extra_price = 0; 11153 if($(".second-accordion li input:checked").length > 0){ 11154 $(".second-accordion li input:checked").each(function(){ 11155 if($(this).val()){ 11156 extra_price += (parseFloat($(this).val())); 11157 } 11158 }); 11159 } 11160 price = price + extra_price; 11161 price = price + parseFloat(item_option_price) + hh_surcharge; 11162 $(".modal-hh .half-half-total").html("$"+ formatNumber(parseFloat(price))) 11163 } 11164 else{ 11165 $(".modal-hh .half-half-total").html("$"+ formatNumber(parseFloat(parseFloat(item_option_price) + hh_surcharge))) 11166 } 11167 11168 }) 11169 11170 //Close the half-half modal when clicked outside the half-half modal 11171 $(document).mouseup(function (e) { 11172 var modalId = $('.modal-hh.fade.in').attr('id'); 11173 if(!$("#" + modalId + " .modal-dialog-popup").is(e.target) && !$("#" + modalId + " .modal-dialog-popup").has(e.target).length && !$(".jqifade:visible").length) { 11174 $("#" + modalId + " .hh-close-popup").click(); 11175 } 11176 }); 11177 11178 $(".hh-close-popup").live("click", function(){ 11179 $(".modal-hh").addClass("reload"); 11180 }); 11181 11182 $(".modal-hh .menu-item-option-radio-HHS").live("click", function(){ 11183 hh_cur_toppings = 0; 11184 hh_cur_toppings_tmp = 0; 11185 var hh_surcharge = 0; 11186 if ($(".hh-size .hh-surcharge").attr("surcharge")){ 11187 hh_surcharge = parseFloat($(".hh-size .hh-surcharge").attr("surcharge")); 11188 } 11189 11190 var size_group = $(this).val(); 11191 $(".modal-hh .half-half-total").html("$0.00"); 11192 $("#hh-pizza-container .lds-ring").show(); 11193 $("#hh-pizza-container .hh-pizza-container").empty();
11194 $("#modal-footer-add button, #modal-footer-next button").prop("disabled", true); 11195 $("#first-half-plu, #second-half-plu").val(""); 11196 $("#back-to-main").parent().removeClass("hide"); 11197 $("#back-to-pizza").parent().addClass("hide"); 11198 $("#modal-header-hh, #modal-body-hh, #hh-first-selected, #hh-second-selected, #modal-footer-next").addClass("hide"); 11199 $("#modal-header-main, #modal-body-main, #hh-first-item-list, #hh-second-item-list, #modal-footer-add").removeClass("hide"); 11200 $("#hh-first-selected, #hh-second-selected").empty(); 11201 $(".hh-remaining-topping").html($(".modal-hh .modal-footer .hh-remaining-topping-orig").html()); 11202 11203 hh_item_option_ajax = $.ajax({ 11204 type: "POST", 11205 url: "core/ajax/get_options_halfhalf_popup.php", 11206 data: "size_group="+size_group, 11207 beforeSend: function(){ 11208 if(hh_item_option_ajax != null){ 11209 hh_item_option_ajax.abort(); 11210 } 11211 }, 11212 success: function(data){ 11213 $("#hh-pizza-container .lds-ring").hide(); 11214 $("#hh-pizza-container .hh-pizza-container").html(data); 11215 $(".hh-pizza-container .hh-first, .hh-pizza-container .hh-second").addClass("disabled"); 11216 $("#modal-footer-add button, #modal-footer-next button").prop("disabled", false); 11217 11218 if($(".modal-hh .menu-item-option-radio-HHIO").length > 0){ 11219 if(!$(".modal-hh .menu-item-option-radio-HHIO:checked").val()){ // if no item option is checked, we make the first item the default 11220 $(".modal-hh .menu-item-option-radio-HHIO:first").attr("checked", true); 11221 } 11222 } 11223 if ($(".modal-hh .menu-item-option-radio-HHIO").length>0){ 11224 $(".modal-hh .menu-item-option-radio-HHIO").each(function(){ 11225 if ($(this).attr("checked")!=undefined){ 11226 var item_option_price = $(this).attr("price"); 11227 $(".modal-hh .half-half-total").html("$"+ formatNumber(parseFloat(parseFloat(item_option_price) + hh_surcharge))) 11228 } 11229 }) 11230 } 11231 else{ 11232 $(".modal-hh .half-half-total").html("$"+ formatNumber(parseFloat(hh_surcharge))) 11233 } 11234 11235 $("#hh-first-item-list").load("core/ajax/get_halfhalf_selections_popup.php?size_group="+size_group+"&half=first", function(){ 11236 $(".hh-pizza-container .hh-first").removeClass("disabled"); 11237 }); 11238 11239 $("#hh-second-item-list").load("core/ajax/get_halfhalf_selections_popup.php?size_group="+size_group+"&half=second", function(){ 11240 $(".hh-pizza-container .hh-second").removeClass("disabled"); 11241 }); 11242 } 11243 }); 11244 }); 11245 11246 $(".modal-hh .hh-first").live("click", function(){ 11247 if(!$(this).hasClass("disabled")){ 11248 $("#modal-header-main, #modal-body-main, #hh-second, #modal-footer-add").addClass("hide"); 11249 $("#modal-header-hh .modal-title").html("Choose Your First Half"); 11250 $("#back-to-main").parent().removeClass("hide"); 11251 $("#back-to-pizza").parent().addClass("hide"); 11252 $("#modal-header-hh, #modal-body-hh, #hh-first, #modal-footer-next").removeClass("hide"); 11253 $(".modal-hh .modal-body").scrollTop(0); 11254 11255 if($(".hh-first span.hh-first-icon").hasClass("glyphicon-chevron-right")){ 11256 $("#modal-footer-next button").prop("disabled", true); 11257 } else if($(".hh-first span.hh-first-icon").hasClass("glyphicon-ok")){ 11258 $("#modal-footer-next button").prop("disabled", false); 11259 } 11260 11261 if($("#first-half-plu").val()){ 11262 $("#back-to-pizza").attr("ref", "first").parent().removeClass("hide"); 11263 } 11264 11265 if($("#first-topping-ctr").length){ 11266 $("#back-to-main").parent().removeClass("hide"); 11267 $("#back-to-pizza").parent().addClass("hide"); 11268 $(".change-half").click(); 11269 } else{ 11270 if($("#first-half-plu").val()){ 11271 $("#back-to-main").parent().addClass("hide"); 11272 } 11273 } 11274 11275 modal_height(".modal-hh"); 11276 } 11277 }); 11278 11279 $(".modal-hh .hh-second").live("click", function(){ 11280 if(!$(this).hasClass("disabled")){ 11281 $("#modal-header-main, #modal-body-main, #hh-first, #modal-footer-add").addClass("hide"); 11282 $("#modal-header-hh .modal-title").html("Choose Your Second Half"); 11283 $("#back-to-main").parent().removeClass("hide"); 11284 $("#back-to-pizza").parent().addClass("hide");
11285 $("#modal-header-hh, #modal-body-hh, #hh-second, #modal-footer-next").removeClass("hide"); 11286 $(".modal-hh .modal-body").scrollTop(0); 11287 11288 if($(".hh-second span.hh-second-icon").hasClass("glyphicon-chevron-right")){ 11289 $("#modal-footer-next button").prop("disabled", true); 11290 } else if($(".hh-second span.hh-second-icon").hasClass("glyphicon-ok")){ 11291 $("#modal-footer-next button").prop("disabled", false); 11292 } 11293 11294 if($("#second-half-plu").val()){ 11295 $("#back-to-pizza").attr("ref", "second").parent().removeClass("hide"); 11296 } 11297 11298 if($("#second-topping-ctr").length){ 11299 $("#back-to-main").parent().removeClass("hide"); 11300 $("#back-to-pizza").parent().addClass("hide"); 11301 $(".change-half").click(); 11302 } else{ 11303 if($("#second-half-plu").val()){ 11304 $("#back-to-main").parent().addClass("hide"); 11305 } 11306 } 11307 11308 modal_height(".modal-hh"); 11309 } 11310 }); 11311 11312 $("#back-to-main").live("click", function(){ 11313 $("#modal-header-main, #modal-body-main, #modal-footer-add").removeClass("hide"); 11314 $("#modal-header-hh, #modal-body-hh, #modal-footer-next").addClass("hide"); 11315 $(".modal-hh .modal-body").scrollTop($(".modal-body").offset().top); 11316 11317 modal_height(".modal-hh"); 11318 }); 11319 11320 $(".add-half, .hh-item-thumb").live("click", function(e){ 11321 if($(this).hasClass("hh-item-thumb")){ 11322 var plu = $(this).prev().attr("plu"); 11323 var which_half = $(this).prev().attr("ref"); 11324 var cgroup_id = $(this).prev().attr("cgroup_id"); 11325 var subid = $(this).prev().attr("subid"); 11326 var item_name = $(this).prev().find("p.hh-item-name").html(); 11327 } else{ 11328 var plu = $(this).attr("plu"); 11329 var which_half = $(this).attr("ref"); 11330 var cgroup_id = $(this).attr("cgroup_id"); 11331 var subid = $(this).attr("subid"); 11332 var item_name = $(this).find("p.hh-item-name").html(); 11333 } 11334 11335 hh_cur_toppings = hh_cur_toppings - hh_cur_toppings_tmp; 11336 11337 $("#"+which_half+"-half-plu").val(plu); 11338 $("#hh-"+which_half+"-item-list").addClass("hide"); 11339 $("#hh-"+which_half+"-selected").addClass("hide").html(""); 11340 $("#hh-"+which_half+" .lds-ring").show(); 11341 $(".change-half").attr("ref", which_half); 11342 $("#back-to-main").parent().addClass("hide"); 11343 $("#back-to-pizza").parent().removeClass("hide"); 11344 11345 hh_toppings_ajax = $.ajax({ 11346 type: "POST", 11347 url: "core/ajax/get_extra_toppings_popup.php", 11348 data: "plu="+plu+"&condiment_group_id="+cgroup_id+"&sub_cat_id="+subid+"&which_half="+which_half, 11349 success: function(data){ 11350 $("#hh-"+which_half+" .lds-ring").hide(); 11351 $("#hh-"+which_half+"-selected").removeClass("hide").html(data); 11352 $(".hh-"+which_half+" span.hh-"+which_half+"-item-label").html(item_name); 11353 $(".hh-"+which_half+" span.hh-"+which_half+"-icon").removeClass("glyphicon-chevron-right").addClass("glyphicon-ok"); 11354 $("#modal-footer-next button").attr("ref", which_half).prop("disabled", false); 11355 $(".hh-remaining-topping").html($(".modal-hh .modal-footer .hh-remaining-topping").html()); 11356 11357 if($("#"+which_half+"-topping-ctr").length){ 11358 $("#modal-footer-next button").click(); 11359 $("#hh-"+which_half+"-selected").addClass("hide"); 11360 $("#hh-"+which_half+"-item-list").removeClass("hide"); 11361 } 11362 } 11363 }); 11364 11365 var first_plu = $("#first-half-plu").val(); 11366 var second_plu = $("#second-half-plu").val(); 11367 11368 if(first_plu && second_plu){ 11369 $.ajax({ 11370 type: "POST", 11371 url: "core/ajax/get_half_half_price.php", 11372 data: "first_plu="+first_plu+"&second_plu="+second_plu, 11373 success: function(data){ 11374 if(data){ 11375 var price = parseFloat(data.trim()); 11376 $(".half-half-total").attr("price", price) 11377 11378 getHHTotal(price) 11379 } 11380 } 11381 }); 11382 } 11383 }); 11384 11385 $(".change-half").live("click", function(){ 11386 var which_half = $(this).attr('ref'); 11387 hh_cur_toppings_tmp = hh_cur_toppings; 11388 11389 if(hh_toppings_ajax.status !== 200){ 11390 hh_toppings_ajax.abort(); 11391 $("#hh-"+which_half+" .lds-ring").hide(); 11392 } 11393 11394 $("#hh-"+which_half+"-item-list").removeClass("hide"); 11395 $("#hh-"+which_half+"-selected").addClass("hide").empty(); 11396 $("#"+which_half+"-half-plu").val(""); 11397 $("#back-to-main").parent().removeClass("hide"); 11398 $(this).parent().addClass("hide");
11399 $("#modal-footer-next button").prop("disabled", true); 11400 $(".hh-"+which_half+" span.hh-"+which_half+"-item-label").html("Select your "+which_half+" half"); 11401 $(".hh-"+which_half+" span.hh-"+which_half+"-icon").removeClass("glyphicon-ok").addClass("glyphicon-chevron-right"); 11402 extra_toppings(which_half); 11403 getHHTotal(0); 11404 }); 11405 11406 $("#modal-footer-next button").live("click", function(){ 11407 var which_half = $(this).attr('ref'); 11408 var parent_div = $(this).closest('.modal-popup').closest('li').attr('id'); 11409 var modal_div = $(this).closest('.modal-popup').attr('id'); 11410 11411 var mio_ids = [], 11412 mio_msg = [], 11413 mio_req = 0; 11414 11415 $("#"+ parent_div +" .item-option-per-hh[ref='"+which_half+"']").each(function(){ 11416 if(typeof $(this).attr('mio-id') !== "undefined" && $(this).attr('mio_id') !== false){ 11417 mio_ids.push($(this).attr('mio-id')); 11418 } 11419 mio_ids = [... new Set(mio_ids)]; 11420 }); 11421 11422 var io_div; 11423 $.each(mio_ids, function(key, val){ 11424 var io_selected = $("#"+parent_div+" .item-option-per-hh-"+which_half+"-"+val+":checked").length, 11425 io_min = $("#"+parent_div+" .item-option-per-hh-"+which_half+"-"+val+":first").attr('min-io'), 11426 io_max = $("#"+parent_div+" .item-option-per-hh-"+which_half+"-"+val+":first").attr('max-io'), 11427 io_name = $("#"+parent_div+" .item-option-per-hh-"+which_half+"-"+val+":first").parent().siblings("div.item-option-per-hh-group-name-"+which_half).find("p").text(), 11428 io_container = $("#"+parent_div+" .item-option-per-hh-"+which_half+"-"+val+":first").parent().parent(); 11429 11430 io_container.css({"padding":"", "border":""}); 11431 11432 if(io_selected < io_min){ 11433 io_container.css({"padding":"5px", "border":"1px solid #dc3545"}); 11434 mio_req++; 11435 11436 if(!io_div){ 11437 io_div = io_container; 11438 } 11439 } else if(io_selected > io_max){ 11440 mio_msg.push("'"+io_name+"' can't have more than "+io_max); 11441 } 11442 }); 11443 11444 if(mio_req > 0){ 11445 showModalAlert('warning', '', 'Please complete all sections to finish your order', 'OK'); 11446 $("#"+modal_div+" .modal-body").scrollTop(0).scrollTop(io_div.position().top - 25); 11447 return false; 11448 } 11449 11450 if(mio_msg.length > 0){ 11451 showModalAlert('warning', '', mio_msg.join("<br/>"), 'OK'); 11452 return false; 11453 } 11454 11455 $("#modal-header-main, #modal-body-main, #modal-footer-add").removeClass("hide"); 11456 $("#modal-header-hh, #modal-body-hh, #modal-footer-next").addClass("hide"); 11457 $(".modal-hh .modal-body").scrollTop($(".modal-body").offset().top); 11458 modal_height(".modal-hh"); 11459 }); 11460 11461 $(".add_extra").live("click", function(){ 11462 var maxToppingValid = checkMaxToppingsLimit(); 11463 var _lo_max_toppings = hh_max_toppings; 11464 11465 if(!_lo_max_toppings){ 11466 _lo_max_toppings = 12; 11467 } 11468 11469 if(maxToppingValid == false){ 11470 showModalAlert('warning', '', 'You have reached the extras limit of '+_lo_max_toppings, 'OK'); 11471 return false; 11472 } 11473 11474 var currency = $(".half-half-total").text(); 11475 var halfhalftotal = parseFloat(currency.replace('$', '')); 11476 11477 // #2520 - Change the way of getting the price to respect the orderType 11478 var price = $("#current_order_type_holder").val() == "pickup" ? $(this).data("sell-shop") : ($("#current_order_type_holder").val() == "delivery" ? $(this).data("sell-delivery") : $(this).data("sell-table")); 11479 if(!price){ 11480 // to support clients hasn't cleared their cache yet 11481 price = $(this).attr("value"); //this is the original value of price 11482 } 11483 11484 var item_total = halfhalftotal; 11485 11486 if($(this).prop("checked")){ 11487 item_total = halfhalftotal + parseFloat(price); 11488 } else{ 11489 item_total = halfhalftotal - parseFloat(price); 11490 } 11491 11492 $(".half-half-total").html("$"+formatNumber(item_total)); 11493 11494 checkMaxToppingsLimit(); 11495 }); 11496 11497 $("#add-half-half").die("click"); 11498 $("#add-half-half").live("click", function(){ 11499 if($("input[name='storestatus']").val()=='offline'){ 11500 showModalAlert('warning', '', $('#offline-alert-txt').html(), 'OK'); 11501 11502 if(check_store_stat() == "online"){ 11503 location.reload(); 11504 } 11505 11506 return; 11507 } 11508 11509 var first_plu = $("#first-half-plu").val(); 11510 var second_plu = $("#second-half-plu").val(); 11511 var price = $(".half-half-total").text(); 11512 var half = ["first", "second"]; 11513 var item_option=""; 11514 11515 if($(".menu-item-option-radio-HHIO").length > 0){ 11516 if($(".menu-item-option-radio-HHIO:checked").length > 0){ 11517 item_option = $(".menu-item-option-radio-HHIO:checked").val(); 11518 } else{ 11519 showModalAlert('warning', '', 'You must select an \'Option\'', 'OK'); 11520 return false;
11521 } 11522 } else{ 11523 if($(".modal-hh .item-option-per-hh").length > 0){ 11524 item_option = {}; 11525 $(".modal-hh .item-option-per-hh:checked").each(function(){ 11526 if(typeof $(this).attr("ref") !== "undefined"){ 11527 if(typeof item_option[$(this).attr("ref")] === "undefined"){ 11528 item_option[$(this).attr("ref")] = ""; 11529 } 11530 item_option[$(this).attr("ref")] += item_option[$(this).attr("ref")].length ? "," : ""; 11531 item_option[$(this).attr("ref")] += $(this).val(); 11532 } 11533 }); 11534 } 11535 } 11536 11537 if($("#first-current-toppings-list-ul").length > 0){ 11538 var left_array = new Array(); 11539 } 11540 11541 if($("#second-current-toppings-list-ul").length > 0){ 11542 var right_array = new Array(); 11543 } 11544 11545 jQuery.each(half, function(index, item){ 11546 if($("#hh-"+item+"-selected li input[type='checkbox']").length > 0){ 11547 var i = 0; 11548 11549 $("#hh-"+item+"-selected li input[type='checkbox']").each(function(){ 11550 if((!$(this).hasClass("current_item") && $(this).prop("checked")) || ($(this).hasClass("current_item") && !$(this).prop("checked"))){ 11551 var plu = $(this).attr("plu"); 11552 var extra_price = $(this).val(); 11553 var qty = 1; 11554 11555 if($(this).hasClass("current_item") && !$(this).prop("checked")){ 11556 qty = -1; 11557 } 11558 11559 var option_id = 0; 11560 if($(this).attr("option_id")){ 11561 option_id = $(this).attr("option_id"); 11562 } 11563 11564 var is_current = $(this).hasClass("current_item"); 11565 var extras = new Array(plu, extra_price, qty, option_id, is_current); 11566 11567 if(item == "first"){ 11568 left_array[i] = extras; 11569 } else{ 11570 right_array[i] = extras; 11571 } 11572 11573 i++; 11574 } 11575 }); 11576 } 11577 }); 11578 11579 if(!first_plu || !second_plu){ 11580 showModalAlert('warning', '', 'You must select both halves', 'OK'); 11581 return false; 11582 } else{ 11583 $(".hh-close-popup").click(); 11584 11585 $.post("core/ajax/add_half_half.php", { 11586 'plu_left': first_plu, 11587 'plu_right': second_plu, 11588 'price': price, 11589 'left_toppings[]': left_array, 11590 'right_toppings[]': right_array, 11591 'item_option': item_option, 11592 'menu_id': (typeof $(this).attr('menu-id') !== "undefined" ? $(this).attr('menu-id') : '') 11593 }).done(function(data){ 11594 $("#view-basket").load("core/mybasket.php", function(){ 11595 get_cart_total(); 11596 new PNotify({ 11597 text: "Item added to order.", 11598 width: "220px", 11599 delay: 3000, 11600 type: "success" 11601 }); 11602 }); 11603 }); 11604 } 11605 }); 11606 /* Half-half - END */ 11607 11608 11609 11610 11611 lastreorderbutton(); 11612 11613 $.ajax({ 11614 url: "core/ajax/suburb-list.php", 11615 async: true, 11616 type: 'POST', 11617 // data:{initial:first_load}, 11618 success: function(data){ 11619 $("#suburb-container").html(data); 11620 }, 11621 error: function(error) { 11622 console.log(error); 11623 } 11624 }); 11625 11626 $('.store-details-open').append("Estimated Pickup ("+$("#est-time").text() + " mins)"); 11627 11628 const urlHash = window.location.hash; 11629 if(urlHash.startsWith('#deal=')){ // Check if the URL hash starts with '#deal=' then extract the deal card ID from the URL hash 11630 const dealCardId = urlHash.split('=')[1], 11631 dealCard = $("#"+dealCardId); 11632 11633 if(dealCard && dealCard.length > 0){ // If the deal card exists in the DOM 11634 let navbarHeight = $(".navbar").height(), 11635 fixedHeight = ($(window).width() > 1024) ? 126 : 54; // Adjust this value based on your layout 11636 11637 const dealCardButton = dealCard.find('#item-buttons .add-deal'); 11638 if(dealCardButton.prop('disabled')){ 11639 dealCardButton.prop('disabled', false); // Enable the button if it is disabled 11640 } 11641 dealCardButton.click(); // Trigger the click event on the add-deal button within the deal card 11642 11643 setTimeout(() => { 11644 $('html, body').animate({ 11645 scrollTop: dealCard.offset().top - navbarHeight - fixedHeight 11646 }, 500); 11647 }, 1500); 11648 } 11649 } 11650 }); 11651</script>
11651 11652 11653 11654
11655<script> 11656 (function(){ 11657 document.addEventListener('DOMContentLoaded', function(){ 11658 var menuBlocks = document.querySelectorAll('#menu-items > div[id$="-block"]'); 11659 menuBlocks.forEach(function(block){ 11660 var items = block.querySelectorAll('ul li:not([style*="display: none"])'); 11661 if(items.length === 0){ 11662 block.style.display = 'none'; 11663 } 11664 }); 11665 }); 11666 })(); 11667 </script>
vendor: 1 bytes, line 11667
11667
11668<script> 11669function feedbackIcon(element){ 11670 $(element).closest('.form-group').find('.glyphicon-form-icon').remove(); 11671 $(element).closest('.form-group').find('.help-block').remove(); 11672 if($(element).closest('.form-group').hasClass('has-success')){ 11673 $(element).closest('.form-group').prepend('<span class="glyphicon-form-icon glyphicon glyphicon-ok form-control-feedback" aria-hidden="false"></span>'); 11674 } 11675 else{ 11676 $(element).closest('.form-group').prepend('<span class="glyphicon-form-icon glyphicon glyphicon-remove form-control-feedback" aria-hidden="false"></span>'); 11677 $(element).closest('.form-group').append('<span class="help-block">This field is required.</span>'); 11678 } 11679} 11680 11681$(function() { 11682 var isMobile = window.matchMedia("only screen and (max-width: 760px)"); 11683 11684 11685 $('a.edit-delivery').click(function (){ 11686 $('#textDeliverytoggle').hide(); 11687 $('#editDelivery').slideDown(); 11688 11689 //Remove the default value from saved address 11690 11691 return false; //to prevent from going to the href link 11692 }); 11693 11694 $('#address-ok').click(function (){ 11695 var deliveryText = $('.delivery-address'); 11696 var deliveryInput = $('#deliveryStreet').val(); 11697 var deliveryAdd = deliveryInput.length > 3 ? deliveryInput : ''; 11698 var deliveryHouseNumber = $('#deliveryHouseNumber').val(); 11699 var deliveryUnitNumber = $('#deliveryUnitNumber').val(); 11700 var deliveryInstructions = $('#deliveryInstructions').val(); 11701 var btnDeliveryAdd = deliveryInput.length > 3 ? 'Edit' : 'Enter Address'; 11702 $('.delivery-address').removeClass('w0'); 11703 11704 if(deliveryInput.trim().length!=0 && deliveryText.text()!==deliveryInput && deliveryHouseNumber.trim().length!=0){ 11705 $('a.edit-delivery').text('Edit'); 11706 updateDeliveryStreet(deliveryAdd,deliveryUnitNumber,deliveryHouseNumber,deliveryInstructions); 11707 11708 if($("#estimated-time").length){ 11709 $("#estimated-time").load("core/estimated-time.php?type=delivery", function (data) { 11710 updateStoreDetails('Delivery'); 11711 11712 store_status('delivery', data); 11713 if (!$.trim(data)) { 11714 $("#estimated-time").html('<h3>Store is Offline!</h3>'); 11715 } 11716 }); 11717 } else{ 11718 store_status('delivery', ''); 11719 } 11720 11721 if(deliveryUnitNumber.trim().length){ 11722 deliveryText.text(deliveryUnitNumber + ' / ' + deliveryHouseNumber + ' ' + deliveryAdd); 11723 }else{ 11724 deliveryText.text(deliveryHouseNumber + ' ' + deliveryAdd); 11725 } 11726 11727 $('a.edit-delivery').text(btnDeliveryAdd); 11728 $('a.edit-delivery').show(); 11729 $('#textDeliverytoggle').show(); 11730 $('#editDelivery').slideUp(); 11731 11732 }else{ 11733 $('a.edit-delivery').text('Enter Address'); 11734 $('.delivery-address').addClass('w0'); 11735 } 11736 11737 }); 11738 11739 $('#address-cancel').click(function (){ 11740 $('#editDelivery').slideUp(); 11741 $('#textDeliverytoggle').show(); 11742 }); 11743 11744 if($("#deliveryStreet").length){ 11745 if($('#deliveryStreet').val()!==''&& $('#deliveryStreet').val()!==null){ 11746 $('a.edit-delivery').text('Edit'); 11747 }else{ 11748 $('a.edit-delivery').text('Enter Address'); 11749 $('.delivery-address').addClass('w0'); 11750 } 11751 } 11752 11753 $j("[name='unitNumber'], [name='houseNumber'], [name='alternate-unitNumber'], [name='alternate-houseNumber'], #deliveryUnitNumber, #deliveryHouseNumber").on("input", function(event){ 11754 $(this).val($(this).val().substring(0, 5)); 11755 }); 11756 11757 //house number validate highlight 11758 $('#deliveryHouseNumber').focusout(function(){ 11759 if($(this).val().trim().length==0){ 11760 $(this).closest('.form-group').removeClass('has-success').addClass('has-error'); 11761 }else{ 11762 $(this).closest('.form-group').removeClass('has-error').addClass('has-success'); 11763 } 11764 feedbackIcon(this); 11765 }); 11766 11767 $('#deliveryStreet').focusout(function(){ 11768 if(!$(this).val()){ 11769 $(this).closest('.form-group').removeClass('has-success').addClass('has-error'); 11770 }else{ 11771 $(this).closest('.form-group').removeClass('has-error').addClass('has-success'); 11772 } 11773 feedbackIcon(this); 11774 }); 11775 11776 //-Order Type Options 11777 $(".order-type-bt").click(function(){ 11778 var order_type = this.value; 11779 var notice_txt; 11780 11781 if($(".order-type-bt.active").val() == order_type){ 11782 return true; 11783 } 11784 11785 if($('#view-basket .promo-with-different-plu').length && typeof $(this).data('bypass') === 'undefined'){ 11786 $('.order-type-bt').data('bypass', 1); 11787 $('#change-order-type-modal .modal-footer .btn-change-type').data('order-type', order_type); 11788 if($(this).hasClass('header')){ 11789 $('#change-order-type-modal .modal-footer .btn-change-type').addClass('header'); 11790 } 11791 $j('#change-order-type-modal').modal('show'); 11792 return true; 11793 } 11794 11795 $('.order-type-bt').removeData('bypass').removeClass('active'); 11796 $('.order-type-bt[value="'+order_type+'"]').addClass('active'); 11797 11798 setTimeout(() => { 11799 change_order_type(order_type); 11800 }, 100); 11801 11802 setTimeout(() => { 11803 if ('BroadcastChannel' in window) { 11804 const channel = new BroadcastChannel('refreshChannel'); 11805 channel.postMessage('refresh'); 11806 channel.close(); 11807 } 11808 }, 1000); 11809 }); 11810 11811 $('#change-order-type-modal .close, #change-order-type-modal .btn-continue-order').click(function(){ 11812 $('.order-type-bt').removeData('bypass'); 11813 $('#change-order-type-modal .btn-change-type').removeClass('header').removeData('orderType'); 11814 }); 11815 11816 $('#change-order-type-modal .btn-change-type').click(function(){ 11817 if(!$(this).hasClass('header')){
11818 $('#float-box .order-type-bt[value="'+$(this).data('order-type')+'"]').click(); 11819 } else{ 11820 $('#order-type-select .order-type-bt[value="'+$(this).data('order-type')+'"]').click(); 11821 } 11822 $(this).removeClass('header').removeData('orderType'); 11823 }); 11824 11825 //-Load Order Basket 11826 $('#view-basket').load('core/mybasket.php?page=', function(){ 11827 get_cart_total(); 11828 }); 11829 //-Load Customer Details 11830 $('#view-customer-details').load('core/view_customer_details.php'); 11831 11832 // Helper function for order type modal callbacks. Must stay inside this 11833 // $(function(){...}) closure - change_order_type() below is declared in 11834 // this same closure, not the global scope. 11835 function handleOrderTypeSelection(orderType) { 11836 change_order_type(orderType); 11837 var refresh = 0; 11838 //Bind modal attributes to each menu-items 11839 $(document).ajaxStop(function(){ 11840 refresh++; 11841 if(refresh == 1) { 11842 initialize_template3(); // call function to re-initialize js generated items 11843 } 11844 }); 11845 } 11846 11847 var current_width = $(window).width(); 11848 var current_template = 'template4'; 11849 if(current_width > 480 || (current_width <= 480 && current_template == 'template4')) { 11850 showModalConfirm('info', '', '<h4><center>Please Select Order Type</center></h4>', 'Delivery', 'Pickup', function(){ 11851 handleOrderTypeSelection('delivery'); 11852 }, function(){ 11853 handleOrderTypeSelection('pickup'); 11854 }); 11855 } 11856 11857 var ajaxResponse = false; 11858 11859 var xhr; 11860 11861 //-Checkout Proccess 11862 $(".checkout").click(function(){ 11863 page = $(this).attr('alt'); 11864 if( $("#promtional-code").length && $('#promtional-code').val().trim().length>0){ 11865 promo_code(xhr); 11866 }else{ 11867 checkout(); 11868 11869 } 11870 }); 11871 11872 //-Promo Code Validation 11873 $("#validate").click(function(){ 11874 var page = 'promo_validate'; 11875 if( $('#promtional-code').val().trim().length===0 ){ 11876 $('#promtional-code').focus(); 11877 }else{ 11878 promo_code(xhr); 11879 } 11880 }); 11881 11882 11883 /* 11884 * FUNCTIONS LIST: 11885 * -changeActiveType() 11886 * -change_order_type() 11887 * -store_status() 11888 * -show_stack_bottomright() 11889 * -confirmCheckout() 11890 * -checkout() 11891 * -promo_code() 11892 * -confirmCheckout() 11893 * -mycallbackfunc() 11894 * -updateDeliveryStreet() 11895 */ 11896 function changeActiveType(order_type){ 11897 var btnOrderType = $('.order-type-bt'); 11898 btnOrderType.removeClass('active'); 11899 if(order_type){ 11900 $("#current_order_type_holder").val(order_type); 11901 $('#order-type-bt-'+order_type+', .order-type-wrapper .btn-float-'+order_type).addClass('active'); 11902 $('#platina-order-type-bt-'+order_type).addClass('active'); 11903 } 11904 }; 11905 11906 function updateDeliveryStreet(street_suburb,unit_number,house_number,delivery_instructions){ 11907 if(!street_suburb && !house_number){ 11908 return false; 11909 } 11910 $.ajax({ 11911 method: 'POST', 11912 dataType: 'JSON', 11913 data: {street_suburb:street_suburb, unit_number:unit_number, house_number:house_number, delivery_instructions:delivery_instructions}, 11914 url: 'core/ajax/set_order_type.php', 11915 async: false, 11916 }).done(function (e) { 11917 if(e.location_details.zone){ 11918 new PNotify({ 11919 text: 'Your address <b>'+e.location_details.street_suburb+'</b> is subject to delivery zone surcharge.', 11920 width: "380px", 11921 delay: 10000, 11922 type: 'success' 11923 }); 11924 } 11925 if(e.location_details.zonewaittime){ 11926 new PNotify({ 11927 text: 'Estimated Delivery Time has been updated according to your zone.', 11928 width: "380px", 11929 delay: 5000, 11930 type: 'success' 11931 }); 11932 } 11933 if(e.location_details.defaulttime){ 11934 new PNotify({ 11935 text: 'Estimated Delivery Time has been updated.', 11936 width: "380px", 11937 delay: 5000, 11938 type: 'success' 11939 }); 11940 } 11941 11942 $('#view-basket').load('core/mybasket.php?page=', function() { 11943 // Update navigation bar total after address change 11944 if (typeof get_cart_total === 'function') { 11945 get_cart_total(); 11946 } 11947 }); 11948 11949 //Hide alert upon changing the address 11950 }); 11951 } 11952 11953 function change_order_type(order_type) { 11954 changeActiveType(order_type); 11955 11956 $("#bt-checkout").prop('disabled', true); 11957 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', true); 11958 11959 11960 $('.order-type-bt[value="'+order_type+'"]').addClass('active'); 11961 $("#current_order_type_holder").val(order_type); 11962 $('#order-type-bt-'+order_type).addClass('active'); 11963 11964 $('.order-type-store-searchbar .select2-container--platina').hide(); 11965 11966 if (order_type == 'pickup') { 11967 $('.order-type-icon-group').html('<img class="order-type-icon" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/pickup.png" />'); 11968 $('.order-type-text').html('Pick up Order'); 11969 11970 $('.order-type-store-searchbar #chainStores').show(); 11971 $('.order-type-store-searchbar #select2-chainStores-container').parents('.select2-container--platina').first().show(); 11972 $('#getLocation').show(); 11973 $('#searchNearest').hide(); 11974 $('.order-type-store-searchbar #searchForm').hide(); 11975 } else if (order_type == 'delivery') { 11976 $('.order-type-icon-group').html('<img class="order-type-icon" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/delivery.png" />'); 11977 $('.order-type-text').html('Delivery Order'); 11978 11979 $('.order-type-store-searchbar #chainStores').hide(); 11980 $('.order-type-store-searchbar #select2-searchForm-container').parents('.select2-container--platina').first().show(); 11981 $('#getLocation').hide(); 11982 $('#searchNearest').show(); 11983 $('.order-type-store-searchbar #searchForm').show(); 11984 } 11985 11986 //change order type 11987 $.ajax({ 11988 method: 'POST', 11989 url: 'core/ajax/set_order_type.php', 11990 dataType: 'JSON', 11991 data: {order_type: order_type} 11992 }).success(function (data) { 11993 11994 if(data.status == "preordering") { //displays start time if pre-ordering 11995 if (order_type == 'pickup') { 11996 $('#cart-alert').html('Pickup starts at ' + data.start_time).show(); 11997 $('#bt-checkout').html('PRE-ORDER'); 11998 } else if (order_type == 'delivery') { 11999 $('#cart-alert').html('Delivery starts at ' + data.start_time).show(); 12000 $('#bt-checkout').html('PRE-ORDER'); 12001 } 12002 }else if(data.status == "future_ordering") { //displays start time if pre-ordering 12003 if (order_type == 'pickup') { 12004 $('#cart-alert').html('Only accepting Future Orders').show(); 12005 $('#bt-checkout').html('PRE-ORDER'); 12006 } else if (order_type == 'delivery') { 12007 $('#cart-alert').html('Only accepting Future Orders').show(); 12008 $('#bt-checkout').html('PRE-ORDER'); 12009 } 12010 }else{ 12011 $('#cart-alert').hide(); 12012 $('#bt-checkout').html('CHECK OUT'); 12013 } 12014 12015 if(data.startLunch != null){ 12016 $('#cart-alert').show(); 12017 $('#cart-alert').html('Lunch time: <b>' + data.startLunch + ' to ' + data.endLunch + '</b>'); 12018 } 12019 12020 if(data.delivery_start_time != null){ 12021 $('#cart-alert').show(); 12022 $('#cart-alert').html('Delivery orders start at ' + data.delivery_start_time); 12023 } 12024 12025 if(data.status == 'delivery_ended'){ 12026 $('#cart-alert').show(); 12027 if(data.start_time) 12028 $('#cart-alert').html('Delivery has finished for today.'); 12029 else 12030 $('#cart-alert').html('Delivery not available today.'); 12031 } 12032 12033 if ($('#menu-cont').length != 0) { 12034 //loads menu from api 12035 var tempReorder = $('#menuitems-reorder').prop('outerHTML'); 12036 $('#menu-cont').load('https://doughboyz.com.au/api/getmenu.php', {client_id:1288, order_type:order_type, menu_type:'both'}, function (data, status, xhr) { 12037 if (status == "error") { 12038 //window.location = '?order_type='+order_type; 12039 } else { 12040 12041 /*OOA-205 Platina - Pick Up and Delivery Anchoring*/ 12042 menu_nav(); 12043 12044 //$('#menu-items').prepend('<div class="btn-group"><a href="#" id="list" class="btn btn-default btn-xs" style="color:#333;"><span class="glyphicon glyphicon-th-list"></span> List</a><a href="#" id="grid" class="btn btn-default btn-xs" style="color:#333;"><span class="glyphicon glyphicon-th"></span> Grid</a></div>'); 12045 get_cart_total(); 12046 12047 if($(window).width() < 480){ 12048 $('#menu-cont').addClass("order-type-changed"); 12049 } 12050 12051 dealEndBeforeTime(); 12052 deal_before_time = setInterval(dealEndBeforeTime, 2000); 12053 12054 $.getScript("https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/scrollspy.js"); 12055 } 12056 $("#menu-items").prepend(tempReorder); 12057 lastreorderbutton(); 12058 12059 12060 if(!$("#estimated-time").length){ 12061 store_status(order_type, ''); 12062 } 12063 }); 12064 } 12065 12066 12067 //change display info 12068 if (order_type == 'delivery') { 12069 var txt = 'Your delivery will come from:';
12070 $('#order-type-details-delivery').show(); 12071 $('#order-type-details-pickup').hide(); 12072 12073 $("#estimated-time").load("core/estimated-time.php?type=delivery", function (data) { 12074 updateStoreDetails('Delivery'); 12075 12076 store_status(order_type, data); 12077 if (!$.trim(data)) { 12078 $("#estimated-time").html('<h3>Store is Offline!</h3>'); 12079 } 12080 }); 12081 } else if (order_type == 'pickup') { 12082 var txt = 'You will be picking up from:'; 12083 $('#order-type-details-pickup').show(); 12084 $('#order-type-details-delivery').hide(); 12085 $("#estimated-time").load("core/estimated-time.php?type=pickup", function (data) { 12086 updateStoreDetails('Pickup'); 12087 12088 store_status(order_type, data); 12089 if (!$.trim(data)) { 12090 $("#estimated-time").html('<h3>Store is Offline!</h3>'); 12091 } 12092 }); 12093 } 12094 $('#view-basket').load('core/mybasket.php?page=', function() { 12095 if (typeof get_cart_total === 'function') { 12096 get_cart_total(); 12097 } 12098 }); 12099 }); 12100 12101 } 12102 12103 function store_status(order_type, notice_txt) { 12104 $.post('core/ajax/store_status.php', function (data) { 12105 if ($.trim(data) == 'taking_orders' || $.trim(data) == 'preordering' || $.trim(data) == 'future_ordering') { 12106 $("#bt-checkout").removeClass('disabled'); 12107 $("#bt-checkout").attr('disabled', false); 12108 12109 //Disable checkout button upon checking store status 12110 } else { 12111 $("#bt-checkout").addClass('disabled'); 12112 $("#bt-checkout").attr('disabled', true); 12113 12114 if(notice_txt != undefined && notice_txt != ''){ 12115 show_stack_bottomright(order_type, notice_txt); 12116 } 12117 } 12118 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12119 }); 12120 12121 } 12122 12123 function show_stack_bottomright(order_type,notice_txt) { 12124 var stack_bottomright = {"dir1": "up", "dir2": "left", "firstpos1": 25, "firstpos2": 25}; 12125 var str = order_type +" Not Available"; 12126 str = str.toLowerCase().replace(/\b[a-z]/g, function(letter) { 12127 return letter.toUpperCase(); 12128 }); 12129 var opts = { 12130 title: str, 12131 text: notice_txt, 12132 addclass: "stack-bottomright", 12133 stack: stack_bottomright 12134 }; 12135 new PNotify(opts); 12136 } 12137 12138 function checkout(e,v,m,f){ 12139 var order_time = ''; 12140 //var street_suburb = $("#deliveryStreet").val() == null ? '' : $("#deliveryStreet").val(); 12141 var checkorder = true; 12142 var type; 12143 if($('#order_time').length >0){ 12144 order_time = $('#order_time').val(); 12145 } 12146 $(".order-type-bt").each(function(){ 12147 if($(this).hasClass('active')){ 12148 if($(this).val()==='delivery'){ 12149 type='delivery'; 12150 }else{ 12151 type='pickup'; 12152 checkorder = true; 12153 } 12154 } 12155 }); 12156 12157 12158 if(checkorder){ 12159 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', true); 12160 $.ajax({ 12161 type: "POST", 12162 url: "core/ajax/checkorder.php", 12163 }).done(function(msg){ 12164 if(msg=='reload'){ 12165 location.reload(); 12166 return; 12167 } 12168 12169 if(msg=='guess_checkout'){ 12170 window.location = '?page=checkout'; 12171 return; 12172 } 12173 12174 if(msg=='verifycode'){ 12175 startSMSCodeTimer(); 12176 showSMSVerifyWindow(); 12177 return; 12178 } 12179 12180 if(msg=='prompt_login'){ 12181 window.login_referer = 'checkout'; 12182 $('.or_guest, .checkout_as_guest').show(); 12183 $('.register-ling a').attr('href','?page=register'); 12184 $('#login-wrap').fadeToggle('fast'); //display the popup modal login 12185 $('#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery').prop('disabled', false); 12186 $('.checkout_as_guest a').text('Checkout as Guest'); 12187 return; 12188 } 12189 12190 var address_err_code = ['complete_delivery_details', 'house_number_required', 'invalid_street_name', 'invalid_address']; 12191 if(address_err_code.includes(msg)){ 12192 var address_err_msg = []; 12193 address_err_msg['complete_delivery_details'] = "Please complete your address details for delivery"; 12194 address_err_msg['house_number_required'] = "Please enter your house number";
12195 address_err_msg['invalid_street_name'] = address_err_msg['invalid_address'] = "Sorry, delivery address is not recognised. Please re-enter address."; 12196 12197 var address_info = { 12198 "deliveryUnitNumber": "", 12199 "deliveryStreetNumber": "", 12200 "deliveryStreetSuburb": "", 12201 "delivery_instructions": "", 12202 "address_err_msg": address_err_msg[msg] 12203 } 12204 12205 window.login_referer = 'checkout'; 12206 $("#login-wrap").fadeToggle("fast"); 12207 update_address(address_info); 12208 return; 12209 } 12210 12211 if(e===undefined && (msg=='cart_loyalty_negative_amount' || msg=='cart_discount_negative_amount')){ 12212 12213 if(msg=='cart_loyalty_negative_amount'){ 12214 var display_msg = 'Your order value is lower than your redemption. The Remaining value will be lost. Why not add to your order?'; 12215 }else if(msg=='cart_discount_negative_amount'){ 12216 var display_msg = 'Your order value is lower than your discount. The Remaining value will be lost. Why not add to your order?'; 12217 } 12218 12219 showModalConfirm('warning', '', display_msg, 'No Thanks, I\'m Done', 'Continue Browsing', function(){ 12220 msg=1; 12221 mycallbackfunc2(true); 12222 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12223 }, function(){ 12224 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12225 }); 12226 return false; 12227 }else if(e===true && v===true){ //if customer agrees to continue 12228 msg=1; 12229 } 12230 12231 if(msg=='cart_first_order'){ 12232 showModalAlert('cart', '', 'Please add items in your cart.', 'OK'); 12233 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12234 return; 12235 } 12236 12237 if(msg=='cart_first_order_loyalty'){ 12238 showModalAlert('warning', '', 'Please add another item with your Loyalty Redemption Reward.', 'OK'); 12239 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12240 return; 12241 } 12242 12243 if(msg>0){ 12244 12245 12246 if($('#jqi_state0_buttonOk').length){ 12247 $('.free-item-popup button#jqi_state0_buttonOk').live('click', function(e){ 12248 window.location = '?page='+page+'&order_time='+order_time; 12249 sessionStorage.removeItem('payment_time'); 12250 sessionStorage.removeItem('order_date'); 12251 sessionStorage.removeItem('order_time'); 12252 }); 12253 }else{ 12254 window.location = '?page='+page+'&order_time='+order_time; 12255 sessionStorage.removeItem('payment_time'); 12256 sessionStorage.removeItem('order_date'); 12257 sessionStorage.removeItem('order_time'); 12258 } 12259 }else if(msg<0){ 12260 showModalAlert('warning', '', 'Your order is less than the minimum order!', 'OK'); 12261 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12262 }else{ 12263 showModalAlert('cart', '', 'Your order is currently empty!', 'OK'); 12264 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12265 } 12266 }); 12267 } 12268 } 12269 12270 function promo_code(xhr){ 12271 var promotional_code = '', 12272 promo_code_id = $("#promtional-code"); 12273 if(promo_code_id.length){ 12274 if(promo_code_id.hasClass('checked')){ 12275 return false;
12276 } 12277 12278 promotional_code = promo_code_id.val(); 12279 if(promotional_code.trim().length===0){ 12280 ajaxResponse = true; 12281 return false; 12282 } else{ 12283 promo_code_id.addClass('checked'); 12284 } 12285 } else{ 12286 return false; 12287 } 12288 12289 //-if has request 12290 if(xhr){ xhr.abort(); } 12291 12292 //-promo code request 12293 xhr = $.ajax({ 12294 type: "GET", 12295 url: "core/ajax/check_promotional_code.php", 12296 data: {promotional_code:promotional_code} 12297 }).done(function(msg){ 12298 if(msg){ 12299 var response_code = msg.response_code; 12300 var promptMessage; 12301 12302 /** v6 promocode lib returns this metadata for discounts */ 12303 if (msg.notification) { 12304 promptMessage = msg.notification; 12305 } else { 12306 promptMessage = msg.message; 12307 } 12308 12309 $('#promo-modifier-modal .modal-header .close').show(); 12310 $('#promo-modifier-modal .modal-header .message-container .promo-code-wrapper .promo-code-container').html(promotional_code.toUpperCase()); 12311 $('#promo-modifier-modal .modal-header .message-container .promo-code-redemption-label, #promo-modifier-modal .modal-body').css('display', 'none'); 12312 $('#promo-modifier-modal .modal-body .modifier-wrapper').removeClass('promo-added').empty(); 12313 $('#promo-modifier-modal .modal-footer').removeClass('promo-added'); 12314 $('#promo-modifier-modal .modal-footer .btn').removeClass('item-option').prop('disabled', false).removeData('optionIds').html('Ok'); 12315 $j('#promo-modifier-modal .modal-footer span[data-toggle=tooltip]').tooltip('disable'); 12316 12317 //-prompt error 12318 if(response_code !== '00'){ 12319 ajaxResponse = false; 12320 $('#promo-modifier-modal .modal-header .close').hide(); 12321 $('#promo-modifier-modal .modal-body').css('display', 'block'); 12322 $('#promo-modifier-modal .modal-body .modifier-wrapper').addClass('promo-added').html('<div style="display:flex; column-gap:5px; align-items:center;"><i class="fa-regular fa-circle-xmark"></i><span>'+promptMessage+'</span></div>'); 12323 $('#promo-modifier-modal .modal-footer').addClass('promo-added'); 12324 $j('#promo-modifier-modal').modal('show'); 12325 }else{ 12326 //-ajax has flag is_special 12327 if(msg.is_special === 1){ 12328 deals_popup(msg); 12329 }else if(msg.is_itemoption){ 12330 promo_last_io_checked = []; 12331 $('#promo-modifier-modal .modal-header .message-container').html(promptMessage); 12332 $('#promo-modifier-modal .modal-body').css('display', 'block'); 12333 $('#promo-modifier-modal .modal-body .modifier-wrapper').html(msg.item_options); 12334 $('#promo-modifier-modal .modal-footer .btn').addClass('item-option').html('Add'); 12335 12336 if(msg.is_multiple){ 12337 if(msg.is_multiple_required){ 12338 $('#promo-modifier-modal .modal-footer .btn').prop('disabled', true); 12339 $j('#promo-modifier-modal .modal-footer span[data-toggle=tooltip]').tooltip('enable'); 12340 } 12341 } else{ 12342 var promo_selected_io; 12343 if($('#promo-modifier-modal .modal-body .modifier-wrapper .promo-item-option-radio-list:checked').length > 0){ 12344 promo_selected_io = $('#promo-modifier-modal .modal-body .modifier-wrapper .promo-item-option-radio-list:checked').attr('ref'); 12345 } else{ 12346 promo_selected_io = $('#promo-modifier-modal .modal-body .modifier-wrapper .promo-item-option-radio-list:first').attr('ref'); 12347 } 12348 $('#promo-modifier-modal .modal-footer .btn').data('option-ids', promo_selected_io); 12349 } 12350 12351 $j('#promo-modifier-modal').modal('show'); 12352 }else{ 12353 $('#view-basket').load('core/mybasket.php?page=', function () { 12354 if ($('#discount_removal_notif').length === 0) { 12355 $('#promo-modifier-modal .modal-header .close').hide(); 12356 $('#promo-modifier-modal .modal-body').css('display', 'block'); 12357 $('#promo-modifier-modal .modal-body .modifier-wrapper').addClass('promo-added').html('<div style="display:flex; column-gap:5px; align-items:center;"><i class="fa-regular fa-circle-check"></i><span>'+promptMessage+'</span></div>'); 12358 $('#promo-modifier-modal .modal-footer').addClass('promo-added'); 12359 $j('#promo-modifier-modal').modal('show'); 12360 12361 get_cart_total(); 12362 } 12363 }); 12364 } 12365 } 12366 } 12367 promo_code_id.removeClass('checked').val(''); 12368 }); 12369 12370 return xhr; 12371 } 12372 12373 function confirmCheckout(ordertype){ 12374 $.ajax({ 12375 type: "POST", 12376 url: "core/ajax/get_times.php", 12377 data: "client_id=1288&ordertype="+ordertype, 12378 success: function(msg){ 12379 var storeOpenAttrValue = $('<div>').html(msg).find('h2').first().attr('store-open'); 12380 var h2TextValue = $('<div>').html(msg).find('h2').first().text(); 12381 var isStoreOpen = (storeOpenAttrValue || '').trim() === 'true'; 12382 if (isStoreOpen && !h2TextValue.includes('Store is not available right now')) { 12383 showModalConfirm('info', '', msg, 'Proceed', 'Cancel', function(){ 12384 mycallbackfunc(true); 12385 }); 12386 } else { 12387 showModalAlert('warning', '', msg, 'Cancel'); 12388 } 12389 } 12390 12391 }); 12392 return false;
12393 } 12394 12395 function confirmDisclaimerCheckout(){ 12396 showModalConfirm('warning', '', "Please check your final order as the store will not be held accountable for any customer's mistake.", 'Proceed', 'Cancel', function(){ 12397 mycallbackfunc(true); 12398 }); 12399 12400 return false; 12401 } 12402 12403 function promptWithoutBeerCheckout2(){ 12404 $(".main-mask").css('z-index','998').addClass('active'); 12405 $(".main-mask").css('display','block').addClass('active'); 12406 $(".promptWithoutBeerCheckout").addClass('active'); 12407 } 12408 12409 //function to Update the Store Information Details 12410 function updateStoreDetails(mode) { 12411 if ($("#estimated-time #est-time").length) { 12412 $('.store-details-open').empty().append('<span class="store-time-clock glyphicon glyphicon-time" style="margin-right:10px;"></span>Estimated ' + mode + ' (' + $('#est-time').text() + ' mins)'); 12413 $('.store-details-open').show(); 12414 $('.store-details-close').hide(); 12415 } else { 12416 $('.store-details-open').hide(); 12417 $('.store-details-close').show(); 12418 12419 var dataText = $("#estimated-time .store_status").text(); 12420 if (dataText === 'closed') { 12421 $('.store-status-details').html('<p>Store is not open for orders right now.</p>'); 12422 } else if (dataText === 'future_ordering') { 12423 $('.store-status-details').html('<p>Store is closed today but you can place your order for a later date.</p>'); 12424 } else if (dataText === 'preorder_waiting' || dataText === 'preordering') { 12425 if(mode == 'Delivery' && true){ 12426 $('.store-status-details').html('<p>Delivery starts later but you can pre-order now.</p>'); 12427 }else{ 12428 $('.store-status-details').html('<p style="margin-right:10px;">Store is currently closed but you can still order for later.</p>'); 12429 } 12430 } else if (dataText === 'closed_after_lunch') { 12431 $('.store-status-details').html('<p>Store is currently closed. Please come back later.</p>'); 12432 } else if (dataText === 'delivery_waiting') { 12433 $('.store-status-details').html('<p>Delivery orders start later.</p>'); 12434 } else if (dataText === 'delivery_ended') { 12435 $('.store-status-details').html('<p>Delivery has finished for today.</p>'); } 12436 } 12437 } 12438 12439 function mycallbackfunc(e,v,m,f){ 12440 if(e){ 12441 checkout(); 12442 } 12443 } 12444 12445 function mycallbackfunc2(e,v,m,f){ 12446 if(e){ 12447 checkout(e,true); 12448 } 12449 } 12450 12451 $("#submitcode").click(function () { 12452 ($("#smscode").val().length <=0) ? $("#smscode").css("border-color", "red") : $("#smscode").removeAttr('style') 12453 $.ajax({ 12454 type: "POST", 12455 url: "core/ajax/validatesmscode.php", 12456 data: $("#smscode").serialize(), 12457 success: function (result) { 12458 if (result == 'verified') { 12459 checkout(); 12460 } else if(result == 'verifiedguest'){ 12461 window.location.href = '?page=checkout'; 12462 } else if (result == 'failed') { 12463 $("#smscode").css("border-color", "red"); 12464 showModalAlert('warning', '', 'Code is invalid. Please check if the code is correct.', 'OK'); 12465 }else if (result == 'expired') { 12466 $("#smscode").css("border-color", "red"); 12467 showModalAlert('warning', '', 'Code has expired (code is valid only within 10 minutes).', 'OK'); 12468 } 12469 } 12470 }); 12471 }); 12472 $("#smscode").keypress(function (){ 12473 ($("#smscode").val().length >4)?$("#smscode").removeAttr('style'):''; 12474 }) 12475 12476}); 12477</script>
12477 12478 12479 12480<div id='float-box' class="sidebar-offcanvas"> 12481 12482 12483 <div id="menu-title" class="fbTitle"> 12484 Order Type 12485 <a class="navbar-toggle fbClose" data-toggle="offcanvas"> 12486 <span class="glyphicon glyphicon-remove"></span> 12487 </a> 12488 </div><!-- #menu-title --> 12489 12490<p id="close_show_cart" class="close close-show-cart">Ã</p><div class="alert alert-danger" role="alert" id="offline-alert-txt">Store is not open for orders right now.<p><span class="store-time-clock glyphicon glyphicon-time"></span> <span class="store-time-text">Open today</span> <span>04:00pm - 09:00pm</span></p><table class="trading-hours-table" width="100%" align="center" cellpadding="2"> 12491 <tbody> 12492 <tr > 12493 <th>Mon</th> 12494 <td> 12495 <div class='trading-time'>4:00pm to 9:00pm</div> </td> 12496 </tr> 12497 <tr > 12498 <th>Tue</th> 12499 <td> 12500 <div class='trading-time'>4:00pm to 9:00pm</div> </td> 12501 </tr> 12502 <tr > 12503 <th>Wed</th> 12504 <td> 12505 <div class='trading-time'>4:00pm to 9:00pm</div> </td> 12506 </tr> 12507 <tr > 12508 <th>Thu</th> 12509 <td> 12510 <div class='trading-time'>4:00pm to 9:00pm</div> </td> 12511 </tr> 12512 <tr > 12513 <th>Fri</th> 12514 <td> 12515 <div class='trading-time'>4:00pm to 9:00pm</div> </td> 12516 </tr> 12517 <tr > 12518 <th>Sat</th> 12519 <td> 12520 <div class='trading-time'>4:00pm to 9:00pm</div> </td> 12521 </tr> 12522 <tr > 12523 <th>Sun</th> 12524 <td> 12525 <div class='trading-time'>4:00pm to 9:00pm</div> </td> 12526 </tr> 12527 </tbody> 12528</table></div><!-- #offline-alert-txt --><input type="hidden" name="storestatus" value="offline" /> 12529</div> 12530 </div> 12531 12532 12533 12534<div style="clear:both"></div> 12535 12536 12537 12538 12539 12540 12541 12542<div id="screen"></div> 12543 12544 12545 12546<div id="loading_bar"></div> 12547 12548 12549</div> 12550 12551 12552</div> 12553 12554<!-- START OF FULL FOOTER --> 12555 <!-- FRANCHISE TEMPLATE --> 12556 12557<!-- Suburb List --> 12558 <div id="suburb-container"></div> 12559 <!-- Mobile Apps --> 12560 <div class="col-md-12" id="download-app"> 12561 <div class="container"> 12562 <div class="section-content"> 12563 <div class="column col-md-12"> 12564 <div class="section-title2">Download The App</div> 12565 <div class="download-app-content"> 12566 <div class="badges"> 12567 <a class="badge-link" href="https://itunes.apple.com/us/app/id1555200437" target="_blank"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/app-store-badge.svg" alt="google play"></a> <a class="badge-link" href="https://play.google.com/store/apps/details?id=store.dpos.com.doughboyz&hl=en" target="_blank"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/google-play-badge.svg" alt="apple store" style="margin-left: 15px"></a> </div> 12568 </div> 12569 </div> 12570 </div> 12571 </div> 12572 </div> 12573 <!-- About Us --> 12574 <div class="col-md-12" id="about-us"> 12575 <div class="container"> 12576 <div class="section-content"> 12577 12578 <div class="column "> 12579 <div class="section-title">About Us</div> 12580 <div class="about-us-content"> 12581 <p> 12582 <section class='doughboyz-section'> 12583 <div class='row'> 12584 <div class='col-md-6 col-sm-12 doughboyz-img-1'> 12585 <img src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/logo.png' class='img-fluid' 12586 alt='pizza-icon'> 12587 </div> 12588 12589 <div class='col-md-6 col-sm-12 doughboyz-para-1'> 12590 <h3 class='doughboyz-about-us'>About Us</h3> 12591 <p>At Dough Boyz, we're not just slinging pizzas we're serving up a full-blown flavour experience in the heart of Zuccoli. From our signature slow-cooked ribs and oven-baked wings to loaded garlic breads, creamy pastas, and handcrafted pizzas, every dish is built to satisfy serious cravings.</p> 12592 <p>Dough Boyz is where comfort food meets serious attitude. Come hungry. Leave happy.</p> 12593 </div> 12594 </div> 12595</section> </p> 12596 <a href="#partner-enquiry" id="partner-enquiry-link" style="display:none;"><button class="btn-franchise button-edged">Partner Enquiry</button></a> 12597 </div> 12598 </div> 12599 </div> 12600 </div> 12601 </div> 12602 12603 <!-- Partner Enquiry Section --> 12604 <div class="col-md-12" id="partner-enquiry" style="display:none;"> 12605 <div class="container"> 12606 <div class="section-content"> 12607 <div class="row partner-enquiry-flex"> 12608 <!-- Left Side - Branding and Text --> 12609 <div class="col-md-6"> 12610 <div> 12611 <div class="section-title2" id="partner-enquiry-title">Partner Enquiry</div> 12612 <p class="partner-enquiry-text"> 12613 Join our growing family of successful partners. Send us your details and let's have a chat about this exciting opportunity. 12614 </p> 12615 </div> 12616 </div> 12617 12618 <!-- Right Side - Form --> 12619 <div class="col-md-6 col-sm-12"> 12620 <div class="partner-enquiry-form-container"> 12621 <div class="alert" role="alert" style="display:none; text-align:center; margin-bottom: 20px;"></div> 12622 12623 <form role="form" value="Contact Form" id="franchiseInquiryForm"> 12624 <div class="form-group"> 12625 <label for="inquiry-name">Name *</label> 12626 <input id="inquiry-name" type="text" class="form-control" placeholder="Name"> 12627 <small id="inquiry-name-help" class="form-text text-danger" style="display:none;"></small> 12628 </div> 12629 12630 <div class="form-group"> 12631 <label for="inquiry-email">Email *</label> 12632 <input id="inquiry-email" type="email" class="form-control" placeholder="Email"> 12633 <small id="inquiry-email-help" class="form-text text-danger" style="display:none;"></small> 12634 </div> 12635 12636 <div class="form-group"> 12637 <label for="inquiry-phone">Phone *</label> 12638 <input id="inquiry-phone" name="phone" type="text" class="form-control" placeholder="Phone"> 12639 <small id="inquiry-phone-help" class="form-text text-danger" style="display:none;"></small> 12640 </div> 12641 12642 <div class="row"> 12643 <div class="col-md-6"> 12644 <div class="form-group"> 12645 <label for="inquiry-suburb">Suburb *</label> 12646 <input id="inquiry-suburb" type="text" class="form-control" placeholder="Suburb"> 12647 <small id="inquiry-suburb-help" class="form-text text-danger" style="display:none;"></small> 12648 </div> 12649 </div> 12650 12651 <div class="col-md-6"> 12652 <div class="form-group"> 12653 <label for="inquiry-state">State *</label> 12654 <select id="inquiry-state" class="form-control"> 12655 <option value="">Select state</option> 12656 <option value="NSW">NSW</option> 12657 <option value="VIC">VIC</option> 12658 <option value="QLD">QLD</option> 12659 <option value="SA">SA</option> 12660 <option value="WA">WA</option> 12661 <option value="TAS">TAS</option> 12662 <option value="ACT">ACT</option> 12663 <option value="NT">NT</option> 12664 </select> 12665 <small id="inquiry-state-help" class="form-text text-danger" style="display:none;"></small> 12666 </div> 12667 </div> 12668 </div> 12669 12670 <div class="form-group"> 12671 <label for="inquiry-message">Message *</label> 12672 <textarea id="inquiry-message" class="form-control" rows="4" placeholder="Message" maxlength="500"></textarea> 12673 <small id="inquiry-message-help" class="form-text text-danger" style="display:none;"></small> 12674 </div> 12675 12676 <div id='loadin_bar' style='display:none; text-align:center; margin: 20px 0;'></div> 12677 12678 <div class="captcha"> 12679 <div id="recaptchaContainer"> 12680 <div id="ofe_reCaptcha" class="grecaptcha"></div> 12681 </div> 12682 <small id="verify_captcha_message" class="text-danger" style="display:none;">Please verify security check.</small> 12683 </div>
vendor: 216 bytes, lines 12683-12686
12683 12684 12685 <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script> 12686
12686<button type="button" value="franchise-submit" class="btn btn-primary franchise-btn-submit franchise-inquiry-btn">Submit</button> 12687 </form> 12688 </div> 12689 </div> 12690 </div> 12691 </div> 12692 </div> 12693 </div> 12694 12695 12696<!-- Start of OOA-897: New Store Unavailable Status--> 12697 12698 <div id="footerOfflineAlert" style="display:none;"> 12699 <p id="footerOfflineAlert-close" class="footerOfflineAlert-close">Ã</p> 12700 <h3 class="footerOfflineAlert-header">Store is not open for orders right now.</h3> 12701 <div class="footerOfflineAlert-timeInfo"><span id="footerOfflineAlert-openToday" class="footerOfflineAlert-time"> 12702 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-circle-fill" viewBox="0 0 16 16"><circle cx="8" cy="8" r="8"/></svg> 12703 Open today from 04:00pm - 09:00pm</span><span id="footerOfflineAlert-delivery" class="footerOfflineAlert-time"> 12704 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-circle-fill" viewBox="0 0 16 16"><circle cx="8" cy="8" r="8"/></svg> 12705 Open for delivery from 04:30pm - 08:45pm 12706 </span></div> 12707 <div class="progress" style="height: 3px;"> 12708 <div id="progressbar" class=".progress-bar-purple progress-bar w-75" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div> 12709 </div> 12710 </div><!-- End of OOA-897: New Store Unavailable Status--> 12711 12712 12713 <!-- END OF FULL FOOTER --> 12714 <div class="footerWrap"> 12715 <button id="ftToggle" class=""><span class="glyphicon glyphicon-info-sign"></span></button> 12716 <div id="footer"> 12717 <div class="container"> 12718 <div class="col-md-12" id="footer-black"> 12719 <div class="col-md-3"> 12720 <div id="footer-images"> 12721 <div id="p-type"> 12722 <img id="p-master" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/mastercard.png"> 12723 <img id="p-visa" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/visa.png"> 12724 <img id="p-paypal" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/paypal.png"> 12725 </div> 12726 <span id="siteseal">
12726<script type="text/javascript" src="https://seal.godaddy.com/getSeal?sealID=adWUpnhKlbKz7BcrgjiUvfhL72FCKx967UWaFd0twSw0KCFBDSoMCeH"></script>
12726</span> 12727 </div> 12728 </div> 12729 <div class="col-md-3"> 12730 <div id="footer-text"> 12731 <p class="footer-h">Need a hand?</p> 12732 <p><a href='?page=terms'>Terms and Conditions</a></p> 12733 <p><a href='?page=privacy'>Privacy Policy</a></p> 12734 <p><a href='?page=feedback'>Having any Problems?</a></p> 12735 <p><a href='?page=feedback'>Feedback</a></p> 12736 </div> 12737 </div> 12738 <div class="col-md-3" style=""> 12739 <div id="footer-contact"> 12740 <p class="footer-h">Contact Us</p> 12741 <p><a href="https://www.google.com/maps/search/?api=1&query=T1+Zuccoli+Parade%2C+Zuccoli%2C+NT" class="address-link" target="_blank" rel="noopener">T1 Zuccoli Parade, Zuccoli, NT</a></p> 12742 <p><a href="tel:0889329446" class="phone-link">08 8932 9446</a></p> 12743 </div> 12744 </div> 12745 <div class="col-md-3"> 12746 <div id="footer-brand"> 12747 <a class="footer-localserves" href="https://localserves.com.au/" target="_blank"><img style="margin-bottom:10px;" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/logo-localserves.png"></a> 12748 <span>Powered by:</span> <a href="https://deliverit.com.au/" target="_blank"><img style ="width:140px !important;" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/logo-new.png"></a> 12749 </div> 12750 <div id="footer-icons"> 12751 <div id="footer-social"> 12752 <a href="https://www.facebook.com/DoughBoyz.com.au/" target="_blank"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/facebook.png"></a> <a href="https://www.instagram.com/doughboyz.com.au/" target="_blank"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/insta.png"></a> <a href="https://play.google.com/store/apps/details?id=store.dpos.com.doughboyz&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1" target="_blank"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/android.png"></a> <a href="https://itunes.apple.com/us/app/id1555200437" target="_blank"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/ios.png"></a> </div> 12753 </div> 12754 </div> 12755 </div> 12756 <div class="col-md-12"> 12757 <p id="footer-copyright"><b>Dough Boyz</b> © Copyright 2026. All right Reserved. Powered By Deliverit Software</p> 12758 </div> 12759 </div> 12760 </div> 12761 <div id="footer-new"> 12762 <div class="new_footer"> 12763 <div id="footer-new-text" class="col-md-4"> 12764 <p id="footer-new-links"> 12765 <a href="?page=terms">Terms and Conditions</a> ⢠12766 <a href="?page=feedback">Feedback</a> 12767 </p> 12768 <p id="footer-new-links"> 12769 <a href="?page=privacy">Policy</a> ⢠12770 <a href="?page=feedback">Having Any Problems?</a> 12771 </p> 12772 </div> 12773 <div id="footer-new-icons" class="col-md-4"> 12774 <a href="https://www.facebook.com/DoughBoyz.com.au/" target="_blank"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/facebook.png"></a> <a href="https://www.instagram.com/doughboyz.com.au/" target="_blank"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/insta.png"></a> <span id="footer-new-line"></span> <a href="https://play.google.com/store/apps/details?id=store.dpos.com.doughboyz&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1" target="_blank"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/android.png"></a> <a href="https://itunes.apple.com/us/app/id1555200437" target="_blank"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/ios.png"></a> </div> 12775 <div id="footer-new-brand" class="col-md-4"> 12776 <a class="footer-localserves" href="https://localserves.com.au/" target="_blank"><img style="margin-right:5px;" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/logo-localserves.png"></a> 12777 <span>Powered by:</span> <a href="https://deliverit.com.au/" target="_blank"><img style ="width:80px !important;" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/logo-new.png"></a> 12778 </div>
12779 </div> 12780 </div> 12781 </div> 12782 </div> 12783</div> 12784 12785 12786<!-- Global Banner --> 12787<div id="globalalert_container" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="globalAlertModal" aria-hidden="true" data-backdrop="true" data-keyboard="true"> 12788 <div class="modal-dialog modal-dialog-centered" role="document"> 12789 <div class="modal-content" id="globalalert_banner"> 12790 <div class="alert-header"> 12791 <div id="globalalert_close"><i class="fa-solid fa-xmark"></i></div> 12792 </div> 12793 <div id="globalalert_cover"> 12794 </div> 12795 12796 <span id="globalalert_message" style=""> 12797 </span> 12798 </div> 12799 </div> 12800</div> 12801<!-- End of Global Banner --> 12802 12803<!-- Web Only Banner --> 12804<div id="webalert_container" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="webAlertModal" aria-hidden="true" data-backdrop="true" data-keyboard="true"> 12805 <div class="modal-dialog modal-dialog-centered" role="document"> 12806 <div class="modal-content" id="webalert_banner"> 12807 <div class="alert-header"> 12808 <div id="webalert_close"><i class="fa-solid fa-xmark"></i></div> 12809 </div> 12810 <div id="webalert_cover"> 12811 </div> 12812 12813 <span id="webalert_message" style=""> 12814 </span> 12815 </div> 12816 </div> 12817</div> 12818<!-- End of Web Only Banner --> 12819
12820<script src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/scrollspy.js" type="text/javascript"></script>
vendor: 1 bytes, line 12820
12820
12821<script> 12822$(document).ready(function(){ 12823 if ($('#partner-enquiry').length) { 12824 $('#partner-enquiry').show(); 12825 $('#partner-enquiry-link').show(); 12826 $('.partner-enquiry-nav').show(); 12827 $('#partner-enquiry-title').text( 12828 'Contact ' + "Dough Boyz" ); 12829 $('.partner-enquiry-nav .nav-text').text( 12830 ' Contact Us' 12831 ); 12832 $('.partner-enquiry-text').text( 12833 'Get in touch with ' + "Dough Boyz" + '. Simply leave your details below.' 12834 ); 12835 } 12836 // WEB-723 Platina template footer overlap upon first load 12837 $(window).scroll(); 12838 12839 // $('#login-wrap').fadeToggle("fast"); 12840 }); 12841</script>
12841 12842<div class="pac-container pac-logo" style="display: none;"></div>
12843<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-3bd9f889cb1db7ee0cc","applicationID":"589511629","transactionName":"Z1cHNURYXRFVWxBaWl4dMBNfFloMUF0cHUVYQg==","queueTime":0,"applicationTime":630,"atts":"SxAEQwxCTh8=","errorBeacon":"bam.nr-data.net","agent":""}</script>
12843<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"9a0caac0c4484108a2a8eb3bd827c51f","r":1,"spa":2}' crossorigin="anonymous"></script>
12843 12844</body> 12845</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.